aboutsummaryrefslogtreecommitdiffstats
path: root/config/webpack/plugins/inject-script-webpack-plugin.js
diff options
context:
space:
mode:
Diffstat (limited to 'config/webpack/plugins/inject-script-webpack-plugin.js')
-rw-r--r--config/webpack/plugins/inject-script-webpack-plugin.js16
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)}");`
);
}
}