aboutsummaryrefslogtreecommitdiffstats
path: root/config/webpack/plugins/inject-script-webpack-plugin.js
diff options
context:
space:
mode:
authorArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2024-03-12 18:39:36 +0530
committerArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2024-03-12 18:39:36 +0530
commit7ea487be4aaf8f3b3047e2a7b3c1da80744f258b (patch)
treea4f91d979fe838aefe2ab8c4cecd9037b879e0aa /config/webpack/plugins/inject-script-webpack-plugin.js
parent95becf369822cbb74f4cefb5658f3ff97e164d6e (diff)
downloadbanglar-bhumi-utils-7ea487be4aaf8f3b3047e2a7b3c1da80744f258b.tar.gz
banglar-bhumi-utils-7ea487be4aaf8f3b3047e2a7b3c1da80744f258b.zip
Passing url of extension assets to the injected javascript code using data arguments on the script tag.
Diffstat (limited to 'config/webpack/plugins/inject-script-webpack-plugin.js')
-rw-r--r--config/webpack/plugins/inject-script-webpack-plugin.js9
1 files changed, 8 insertions, 1 deletions
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]});`
);
}
}