diff options
Diffstat (limited to 'config/webpack/plugins/inject-script-webpack-plugin.js')
| -rw-r--r-- | config/webpack/plugins/inject-script-webpack-plugin.js | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/config/webpack/plugins/inject-script-webpack-plugin.js b/config/webpack/plugins/inject-script-webpack-plugin.js index 0c42dfd..599871b 100644 --- a/config/webpack/plugins/inject-script-webpack-plugin.js +++ b/config/webpack/plugins/inject-script-webpack-plugin.js @@ -1,6 +1,7 @@ const { sources } = require("webpack"); +const path = require("path"); -const { getInjectionCode } = webpackRequire("utils/get-injection-code"); +const { getFileNameHash } = webpackRequire("utils/filename-hash"); class InjectScriptPlugin { constructor(insertedBefore = false) { @@ -12,19 +13,14 @@ class InjectScriptPlugin { compilation.hooks.processAssets.tapPromise( { name: "InjectScriptPlugin", - stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_ANALYSE + stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL, + additionalAssets: true }, async assets => { for (const assetName in assets) { if (/\.js$/.test(assetName)) { - compilation.updateAsset( - assetName, - new sources.RawSource( - getInjectionCode( - compilation.getAsset(assetName).source.source(), - this.insertedBefore - ) - ) + assets["scripts/" + path.basename(assetName)] = new sources.RawSource( + `$${getFileNameHash("script-injector", "shared", true)}.injectScriptHead("scripts/injected/${path.basename(assetName)}");` ); } } |
