UNPKG

@anansi/webpack-config

Version:
23 lines (21 loc) 2.93 kB
"use strict"; exports.__esModule = true; exports.default = void 0; class WatchMissingNodeModulesPlugin { constructor(nodeModulesPath) { this.nodeModulesPath = nodeModulesPath; } apply(compiler) { compiler.hooks.emit.tap('WatchMissingNodeModulesPlugin', compilation => { var missingDeps = Array.from(compilation.missingDependencies); var nodeModulesPath = this.nodeModulesPath; // If any missing files are expected to appear in node_modules... if (missingDeps.some(file => file.includes(nodeModulesPath))) { // ...tell webpack to watch node_modules recursively until they appear. compilation.contextDependencies.add(nodeModulesPath); } }); } } exports.default = WatchMissingNodeModulesPlugin; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJXYXRjaE1pc3NpbmdOb2RlTW9kdWxlc1BsdWdpbiIsImNvbnN0cnVjdG9yIiwibm9kZU1vZHVsZXNQYXRoIiwiYXBwbHkiLCJjb21waWxlciIsImhvb2tzIiwiZW1pdCIsInRhcCIsImNvbXBpbGF0aW9uIiwibWlzc2luZ0RlcHMiLCJBcnJheSIsImZyb20iLCJtaXNzaW5nRGVwZW5kZW5jaWVzIiwic29tZSIsImZpbGUiLCJpbmNsdWRlcyIsImNvbnRleHREZXBlbmRlbmNpZXMiLCJhZGQiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbHVnaW5zL1dhdGNoTWlzc2luZ05vZGVNb2R1bGVzUGx1Z2luLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGNsYXNzIFdhdGNoTWlzc2luZ05vZGVNb2R1bGVzUGx1Z2luIHtcbiAgY29uc3RydWN0b3Iobm9kZU1vZHVsZXNQYXRoKSB7XG4gICAgdGhpcy5ub2RlTW9kdWxlc1BhdGggPSBub2RlTW9kdWxlc1BhdGg7XG4gIH1cblxuICBhcHBseShjb21waWxlcikge1xuICAgIGNvbXBpbGVyLmhvb2tzLmVtaXQudGFwKCdXYXRjaE1pc3NpbmdOb2RlTW9kdWxlc1BsdWdpbicsIGNvbXBpbGF0aW9uID0+IHtcbiAgICAgIHZhciBtaXNzaW5nRGVwcyA9IEFycmF5LmZyb20oY29tcGlsYXRpb24ubWlzc2luZ0RlcGVuZGVuY2llcyk7XG4gICAgICB2YXIgbm9kZU1vZHVsZXNQYXRoID0gdGhpcy5ub2RlTW9kdWxlc1BhdGg7XG5cbiAgICAgIC8vIElmIGFueSBtaXNzaW5nIGZpbGVzIGFyZSBleHBlY3RlZCB0byBhcHBlYXIgaW4gbm9kZV9tb2R1bGVzLi4uXG4gICAgICBpZiAobWlzc2luZ0RlcHMuc29tZShmaWxlID0+IGZpbGUuaW5jbHVkZXMobm9kZU1vZHVsZXNQYXRoKSkpIHtcbiAgICAgICAgLy8gLi4udGVsbCB3ZWJwYWNrIHRvIHdhdGNoIG5vZGVfbW9kdWxlcyByZWN1cnNpdmVseSB1bnRpbCB0aGV5IGFwcGVhci5cbiAgICAgICAgY29tcGlsYXRpb24uY29udGV4dERlcGVuZGVuY2llcy5hZGQobm9kZU1vZHVsZXNQYXRoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQWUsTUFBTUEsNkJBQTZCLENBQUM7RUFDakRDLFdBQVdBLENBQUNDLGVBQWUsRUFBRTtJQUMzQixJQUFJLENBQUNBLGVBQWUsR0FBR0EsZUFBZTtFQUN4QztFQUVBQyxLQUFLQSxDQUFDQyxRQUFRLEVBQUU7SUFDZEEsUUFBUSxDQUFDQyxLQUFLLENBQUNDLElBQUksQ0FBQ0MsR0FBRyxDQUFDLCtCQUErQixFQUFFQyxXQUFXLElBQUk7TUFDdEUsSUFBSUMsV0FBVyxHQUFHQyxLQUFLLENBQUNDLElBQUksQ0FBQ0gsV0FBVyxDQUFDSSxtQkFBbUIsQ0FBQztNQUM3RCxJQUFJVixlQUFlLEdBQUcsSUFBSSxDQUFDQSxlQUFlOztNQUUxQztNQUNBLElBQUlPLFdBQVcsQ0FBQ0ksSUFBSSxDQUFDQyxJQUFJLElBQUlBLElBQUksQ0FBQ0MsUUFBUSxDQUFDYixlQUFlLENBQUMsQ0FBQyxFQUFFO1FBQzVEO1FBQ0FNLFdBQVcsQ0FBQ1EsbUJBQW1CLENBQUNDLEdBQUcsQ0FBQ2YsZUFBZSxDQUFDO01BQ3REO0lBQ0YsQ0FBQyxDQUFDO0VBQ0o7QUFDRjtBQUFDZ0IsT0FBQSxDQUFBQyxPQUFBLEdBQUFuQiw2QkFBQSIsImlnbm9yZUxpc3QiOltdfQ==