aboutsummaryrefslogtreecommitdiffstats
path: root/config/webpack/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'config/webpack/plugins')
-rw-r--r--config/webpack/plugins/create-injected-shared-modules-webpack-plugin.js5
-rw-r--r--config/webpack/plugins/create-manifest-webpack-plugin/index.js10
-rw-r--r--config/webpack/plugins/create-rules-webpack-plugin.js10
-rw-r--r--config/webpack/plugins/inject-script-webpack-plugin.js9
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]});`
);
}
}