diff options
Diffstat (limited to 'config/webpack/plugins/create-rules-webpack-plugin.js')
| -rw-r--r-- | config/webpack/plugins/create-rules-webpack-plugin.js | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/config/webpack/plugins/create-rules-webpack-plugin.js b/config/webpack/plugins/create-rules-webpack-plugin.js index 5573ddf..ce2fbef 100644 --- a/config/webpack/plugins/create-rules-webpack-plugin.js +++ b/config/webpack/plugins/create-rules-webpack-plugin.js @@ -1,16 +1,26 @@ -import path from "path"; import fs from "fs"; +import path from "path"; + import webpack from "webpack"; +/** + * Webpack plugin that reads all JSON rule files from `src/rules/`, + * assigns sequential IDs to each rule, and emits a single `rules.json` + * asset used by `declarativeNetRequest`. + */ class CreateRulesPlugin { + /** + * @param {import("webpack").Compiler} compiler + * @returns {void} + */ apply(compiler) { - compiler.hooks.compilation.tap("CreateRulesPlugin", compilation => { + compiler.hooks.compilation.tap("CreateRulesPlugin", (compilation) => { compilation.hooks.processAssets.tap( { name: "CreateRulesPlugin", stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL }, - assets => { + (_assets) => { const ruleFileNames = fs.readdirSync(path.resolve(SOURCE_DIR, "rules")); const rules = []; let ruleId = 1; |
