aboutsummaryrefslogtreecommitdiffstats
path: root/config/webpack/plugins
diff options
context:
space:
mode:
authorArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2023-03-24 09:24:15 +0530
committerArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2023-03-24 09:24:15 +0530
commita9f2d88e1e5b1c7ddf524db8b5b185b8485f8d48 (patch)
tree7f39667b6fc56bbf06adbbb3fc2aa6c54cfe27d1 /config/webpack/plugins
parent3b29d138bee5e98c9536d3606de3e4b5378338f0 (diff)
downloadbanglar-bhumi-utils-a9f2d88e1e5b1c7ddf524db8b5b185b8485f8d48.tar.gz
banglar-bhumi-utils-a9f2d88e1e5b1c7ddf524db8b5b185b8485f8d48.zip
Improved some functionality.
Diffstat (limited to 'config/webpack/plugins')
-rw-r--r--config/webpack/plugins/create-manifest-webpack-plugin/index.js2
-rw-r--r--config/webpack/plugins/inject-script-webpack-plugin/get-injection-code.js19
-rw-r--r--config/webpack/plugins/inject-script-webpack-plugin/index.js2
3 files changed, 20 insertions, 3 deletions
diff --git a/config/webpack/plugins/create-manifest-webpack-plugin/index.js b/config/webpack/plugins/create-manifest-webpack-plugin/index.js
index f571986..f0d9084 100644
--- a/config/webpack/plugins/create-manifest-webpack-plugin/index.js
+++ b/config/webpack/plugins/create-manifest-webpack-plugin/index.js
@@ -18,7 +18,7 @@ class CreateManifestPlugin {
const scripts = formatScripts(require(path.resolve(SOURCE_DIR, "scripts.json")));
const manifest = webpackRequire("plugins/create-manifest-webpack-plugin/manifest-template.json");
manifest.version = require(path.resolve(ROOT_DIR, "package.json")).version;
- manifest.content_scripts = []
+ manifest.content_scripts = [];
for (const scriptPath in scripts) {
for (const scriptType in scripts[scriptPath]) {
diff --git a/config/webpack/plugins/inject-script-webpack-plugin/get-injection-code.js b/config/webpack/plugins/inject-script-webpack-plugin/get-injection-code.js
index 6f3c9b3..2993c44 100644
--- a/config/webpack/plugins/inject-script-webpack-plugin/get-injection-code.js
+++ b/config/webpack/plugins/inject-script-webpack-plugin/get-injection-code.js
@@ -1 +1,18 @@
-module.exports = code => `(()=>{const o=new MutationObserver(()=>{let t=document.querySelector("head > script:nth-child(54)");if(t){let e=\`(()=>{${code.replaceAll("`","\\`")}})();\`;null==t.getAttribute("data-replaced")?(t.innerHTML=e,t.setAttribute("data-replaced","")):t.innerHTML+=e,o.disconnect()}});o.observe(document,{childList:!0,subtree:!0});})();`;
+module.exports.getInjectionCode = code => {
+ const escapeSequences = [["\b", "\\b"],
+ ["\f", "\\f"],
+ ["\n", "\\n"],
+ ["\r", "\\r"],
+ ["\t", "\\t"],
+ ["\v", "\\v"]
+ ];
+ let finalCode = code.replaceAll("`","\\`");
+
+ for (const escapeSequence of escapeSequences) {
+ finalCode = finalCode
+ .replaceAll(escapeSequence[1], "\\" + escapeSequence[1])
+ .replaceAll(escapeSequence[0], escapeSequence[1]);
+ }
+
+ return `(()=>{const o=new MutationObserver(()=>{let t=document.querySelector("head > script:nth-child(54)");if(t){let e=\`(()=>{${finalCode}})();\`;null==t.getAttribute("data-replaced")?(t.innerHTML=e,t.setAttribute("data-replaced","")):t.innerHTML+=e,o.disconnect()}});o.observe(document,{childList:!0,subtree:!0});})();`;
+};
diff --git a/config/webpack/plugins/inject-script-webpack-plugin/index.js b/config/webpack/plugins/inject-script-webpack-plugin/index.js
index b7b5940..a0ee1f7 100644
--- a/config/webpack/plugins/inject-script-webpack-plugin/index.js
+++ b/config/webpack/plugins/inject-script-webpack-plugin/index.js
@@ -1,7 +1,7 @@
const { sources } = require("webpack");
const terser = require("terser");
-const getInjectionCode = webpackRequire("plugins/inject-script-webpack-plugin/get-injection-code");
+const { getInjectionCode } = webpackRequire("plugins/inject-script-webpack-plugin/get-injection-code");
class InjectScriptPlugin {
apply(compiler) {