mirror of
https://github.com/stancl/tenancy-docs.git
synced 2025-12-12 02:04:03 +00:00
48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
let argv = require('yargs').argv;
|
|
let bin = require('./bin');
|
|
let command = require('node-cmd');
|
|
|
|
let BrowserSync = require('browser-sync');
|
|
let BrowserSyncPlugin = require('browser-sync-webpack-plugin');
|
|
let ExtraWatchWebpackPlugin = require('extra-watch-webpack-plugin');
|
|
|
|
let browserSyncInstance;
|
|
let env = argv.e || argv.env || 'local';
|
|
let port = argv.p || argv.port || 3000;
|
|
|
|
module.exports = {
|
|
jigsaw: {
|
|
apply(compiler) {
|
|
compiler.hooks.done.tap('DonePlugin', (compilation) => {
|
|
command.get(bin.path() + ' build -q ' + env, (error, stdout, stderr) => {
|
|
console.log(error ? stderr : stdout);
|
|
|
|
if (browserSyncInstance) {
|
|
browserSyncInstance.reload();
|
|
}
|
|
});
|
|
});
|
|
}
|
|
},
|
|
|
|
watch: function (paths) {
|
|
return new ExtraWatchWebpackPlugin({
|
|
files: paths,
|
|
});
|
|
},
|
|
|
|
browserSync: function (proxy) {
|
|
return new BrowserSyncPlugin({
|
|
notify: false,
|
|
port: port,
|
|
proxy: proxy,
|
|
server: proxy ? null : { baseDir: 'build_' + env + '/' },
|
|
},
|
|
{
|
|
reload: false,
|
|
callback: function() {
|
|
browserSyncInstance = BrowserSync.get('bs-webpack-plugin');
|
|
},
|
|
})
|
|
},
|
|
};
|