UNPKG

webpack-ext-reloader-mv3

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 })); }); } }