aboutsummaryrefslogtreecommitdiffstats
path: root/config/webpack/utils/get-injection-code.js
diff options
context:
space:
mode:
Diffstat (limited to 'config/webpack/utils/get-injection-code.js')
-rw-r--r--config/webpack/utils/get-injection-code.js21
1 files changed, 21 insertions, 0 deletions
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";