UNPKG

webpack-ext-reloader

Version:

Watch for file changes and reload WebExtensions on browsers.

32 lines (27 loc) 858 B
import { log } from 'util'; import * as webpack from 'webpack'; import ExtensionReloaderImpl from '../src/ExtensionReloader'; import { info } from '../src/utils/logger'; import { IPluginOptions } from '../typings/webpack-ext-reloader'; export default class ExtensionCompiler { private static treatErrors(err) { log(err.stack || err); if (err.details) { log(err.details); } } private compiler; constructor(config: webpack.Configuration, pluginOptions: IPluginOptions) { this.compiler = webpack(config); new ExtensionReloaderImpl(pluginOptions).apply(this.compiler); } public watch() { // eslint-disable-next-line consistent-return this.compiler.watch({}, (err, stats) => { if (err) { return ExtensionCompiler.treatErrors(err); } info(stats.toString({ colors: true })); }); } }