aboutsummaryrefslogtreecommitdiffstats
path: root/config/webpack
diff options
context:
space:
mode:
Diffstat (limited to 'config/webpack')
-rw-r--r--config/webpack/plugins/create-manifest-webpack-plugin/index.js2
-rw-r--r--config/webpack/utils/get-injection-code.js21
2 files changed, 22 insertions, 1 deletions
diff --git a/config/webpack/plugins/create-manifest-webpack-plugin/index.js b/config/webpack/plugins/create-manifest-webpack-plugin/index.js
index 667f1de..2187a05 100644
--- a/config/webpack/plugins/create-manifest-webpack-plugin/index.js
+++ b/config/webpack/plugins/create-manifest-webpack-plugin/index.js
@@ -17,7 +17,7 @@ class CreateManifestPlugin {
compilation.hooks.processAssets.tap(
{
name: "CreateManifestPlugin",
- stage: compiler.webpack.Compilation.PROCESS_ASSETS_ADDITIONAL,
+ stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_ANALYSE,
additionalAssets: true
},
assets => {
diff --git a/config/webpack/utils/get-injection-code.js b/config/webpack/utils/get-injection-code.js
index ec969c1..0a57ef9 100644
--- a/config/webpack/utils/get-injection-code.js
+++ b/config/webpack/utils/get-injection-code.js
@@ -1,9 +1,30 @@
+const insertAtIndex = (str, substring, index) => str.slice(0, index) + substring + str.slice(index);
+
module.exports.getInjectionCode = (code, front) => {
let finalCode = code
.replaceAll("\\", "\\\\")
.replaceAll("`","\\`")
.replaceAll("${", "\\${");
+ let i = 0;
+
+ while (true) {
+ i = finalCode.indexOf("chrome.runtime", i);
+
+ if (i < 0) {
+ break;
+ }
+
+ finalCode = insertAtIndex(finalCode, "\"${", i);
+ i = finalCode.indexOf(")", i) + 1;
+
+ if (i <= 0) {
+ break;
+ }
+
+ finalCode = insertAtIndex(finalCode, "}\"", i);
+ }
+
const concatenationCode = front
? "t.innerHTML=i+t.innerHTML"
: "t.innerHTML+=i";