diff options
Diffstat (limited to 'config/webpack/plugins')
4 files changed, 30 insertions, 4 deletions
diff --git a/config/webpack/plugins/create-injected-shared-modules-webpack-plugin.js b/config/webpack/plugins/create-injected-shared-modules-webpack-plugin.js index aaf256d..fd5a0a2 100644 --- a/config/webpack/plugins/create-injected-shared-modules-webpack-plugin.js +++ b/config/webpack/plugins/create-injected-shared-modules-webpack-plugin.js @@ -23,7 +23,10 @@ class CreateInjectedSharedModulesPlugin { .map(sharedModule => `shared/${getFileNameHash(sharedModule, "shared")}.js`); if (injectedSharedScripts.length > 0) { - const injectionCode = `${injectedSharedScripts.map(injectedScript => `$${getFileNameHash("script-injector", "shared", true)}.injectScriptHead("shared/${path.basename(injectedScript)}");`).join("")}`; + const scriptInjectorModuleName = getFileNameHash("script-injector", "shared", true); + const injectionCode = injectedSharedScripts + .map(injectedScript => `$${scriptInjectorModuleName}.injectScriptHead("shared/${path.basename(injectedScript)}");`) + .join(""); compilation.emitAsset( `shared/${getFileNameHash("injected-shared-modules", "shared")}.js`, new sources.RawSource(injectionCode) diff --git a/config/webpack/plugins/create-manifest-webpack-plugin/index.js b/config/webpack/plugins/create-manifest-webpack-plugin/index.js index da62bea..b14cd13 100644 --- a/config/webpack/plugins/create-manifest-webpack-plugin/index.js +++ b/config/webpack/plugins/create-manifest-webpack-plugin/index.js @@ -98,7 +98,15 @@ class CreateManifestPlugin { compilation.emitAsset( "manifest.json", - new sources.RawSource(JSON.stringify(manifest, undefined, process.env.NODE_ENV === "production" ? undefined : "\t")) + new sources.RawSource( + JSON.stringify( + manifest, + undefined, + process.env.NODE_ENV === "production" + ? undefined + : "\t" + ) + ) ); } ); diff --git a/config/webpack/plugins/create-rules-webpack-plugin.js b/config/webpack/plugins/create-rules-webpack-plugin.js index 0dd05d7..6e31196 100644 --- a/config/webpack/plugins/create-rules-webpack-plugin.js +++ b/config/webpack/plugins/create-rules-webpack-plugin.js @@ -31,7 +31,15 @@ class CreateRulesPlugin { compilation.emitAsset( "rules.json", - new sources.RawSource(JSON.stringify(rules, undefined, process.env.NODE_ENV === "production" ? undefined : "\t")) + new sources.RawSource( + JSON.stringify( + rules, + undefined, + process.env.NODE_ENV === "production" + ? undefined + : "\t" + ) + ) ); } ); diff --git a/config/webpack/plugins/inject-script-webpack-plugin.js b/config/webpack/plugins/inject-script-webpack-plugin.js index 599871b..665d24e 100644 --- a/config/webpack/plugins/inject-script-webpack-plugin.js +++ b/config/webpack/plugins/inject-script-webpack-plugin.js @@ -2,6 +2,7 @@ const { sources } = require("webpack"); const path = require("path"); const { getFileNameHash } = webpackRequire("utils/filename-hash"); +const { getInjectedCode } = webpackRequire("utils/injected-code"); class InjectScriptPlugin { constructor(insertedBefore = false) { @@ -19,8 +20,14 @@ class InjectScriptPlugin { async assets => { for (const assetName in assets) { if (/\.js$/.test(assetName)) { + const injectedCodeResponse = getInjectedCode(compilation.getAsset(assetName).source.source()) + const scriptInjectorModuleName = getFileNameHash("script-injector", "shared", true); + compilation.updateAsset( + assetName, + new sources.RawSource(injectedCodeResponse[0]) + ); assets["scripts/" + path.basename(assetName)] = new sources.RawSource( - `$${getFileNameHash("script-injector", "shared", true)}.injectScriptHead("scripts/injected/${path.basename(assetName)}");` + `$${scriptInjectorModuleName}.injectScriptHead("scripts/injected/${path.basename(assetName)}", ${injectedCodeResponse[1]});` ); } } |
