From a38b8ca3c6146c2db03167d6ff94e445d756a202 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> Date: Mon, 3 Jun 2024 13:09:04 +0530 Subject: Added captha removal and autocomplete to GRN search. --- .../create-injected-shared-modules-webpack-plugin.js | 8 ++++---- .../plugins/create-manifest-webpack-plugin/index.js | 17 +++++++++-------- .../webpack/plugins/inject-script-webpack-plugin.js | 8 ++------ config/webpack/utils/build-file.js | 19 +++++++++++++++++++ config/webpack/utils/filename-hash.js | 19 ------------------- 5 files changed, 34 insertions(+), 37 deletions(-) create mode 100644 config/webpack/utils/build-file.js delete mode 100644 config/webpack/utils/filename-hash.js (limited to 'config/webpack') 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 fd5a0a2..aa076b8 100644 --- a/config/webpack/plugins/create-injected-shared-modules-webpack-plugin.js +++ b/config/webpack/plugins/create-injected-shared-modules-webpack-plugin.js @@ -2,7 +2,7 @@ const path = require("path"); const fs = require("fs"); const { sources } = require("webpack"); -const { getFileNameHash } = webpackRequire("utils/filename-hash"); +const { getFileName } = webpackRequire("utils/build-file"); class CreateInjectedSharedModulesPlugin { constructor({ injectedSharedModulesImportedCount, sortedSharedModules }) { @@ -20,15 +20,15 @@ class CreateInjectedSharedModulesPlugin { assets => { const injectedSharedScripts = this.sortedSharedModules .filter(sharedModule => this.injectedSharedModulesImportedCount[sharedModule] > 0) - .map(sharedModule => `shared/${getFileNameHash(sharedModule, "shared")}.js`); + .map(sharedModule => `shared/${getFileName(sharedModule, "shared")}.js`); if (injectedSharedScripts.length > 0) { - const scriptInjectorModuleName = getFileNameHash("script-injector", "shared", true); + const scriptInjectorModuleName = getFileName("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`, + `shared/${getFileName("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 b14cd13..92c3096 100644 --- a/config/webpack/plugins/create-manifest-webpack-plugin/index.js +++ b/config/webpack/plugins/create-manifest-webpack-plugin/index.js @@ -2,7 +2,7 @@ const { sources } = require("webpack"); const path = require("path"); const { getScriptRuntimeFromType } = webpackRequire("utils/script-runtime"); -const { getFileNameHash } = webpackRequire("utils/filename-hash"); +const { getFileName } = webpackRequire("utils/build-file"); const scripts = webpackRequire("utils/scripts"); const manifest = webpackRequire("plugins/create-manifest-webpack-plugin/manifest-template.json"); @@ -37,9 +37,9 @@ class CreateManifestPlugin { arrangedScripts[scriptPath][scriptRuntime] = []; } - arrangedScripts[scriptPath][scriptRuntime].push(`scripts/${getFileNameHash(scriptType, scriptPath)}.js`); + arrangedScripts[scriptPath][scriptRuntime].push(`scripts/${getFileName(scriptType, scriptPath)}.js`); if (scriptType.startsWith("injected")) { - resources.push(`scripts/injected/${getFileNameHash(scriptType, scriptPath)}.js`); + resources.push(`scripts/injected/${getFileName(scriptType, scriptPath)}.js`); } } } @@ -48,8 +48,9 @@ class CreateManifestPlugin { matches: [`*://banglarbhumi.gov.in/BanglarBhumi/*`], js: this.sortedSharedModules .filter(sharedModule => this.sharedModulesImportedCount[sharedModule] > 0) - .map(sharedModule => `shared/${getFileNameHash(sharedModule, "shared")}.js`) - .concat(arrangedScripts["*"]["document_start"]), + .map(sharedModule => `shared/${getFileName(sharedModule, "shared")}.js`) + .concat(arrangedScripts["*"]["document_start"]) + .filter(x => x != null), run_at: "document_start" }); @@ -78,14 +79,14 @@ class CreateManifestPlugin { const injectedSharedModules = this.sortedSharedModules .filter(sharedModule => this.injectedSharedModulesImportedCount[sharedModule] > 0) - .map(sharedModule => `shared/${getFileNameHash(sharedModule, "shared")}.js`); + .map(sharedModule => `shared/${getFileName(sharedModule, "shared")}.js`); if (injectedSharedModules.length > 0) { resources = resources.concat(injectedSharedModules); - manifest.content_scripts[0].js.unshift(`shared/${getFileNameHash("injected-shared-modules", "shared")}.js`); + manifest.content_scripts[0].js.unshift(`shared/${getFileName("injected-shared-modules", "shared")}.js`); } - manifest.content_scripts[0].js.unshift(`shared/${getFileNameHash("script-injector", "shared")}.js`); + manifest.content_scripts[0].js.unshift(`shared/${getFileName("script-injector", "shared")}.js`); if (resources.length > 0) { manifest.web_accessible_resources = [ diff --git a/config/webpack/plugins/inject-script-webpack-plugin.js b/config/webpack/plugins/inject-script-webpack-plugin.js index 665d24e..25b1dc6 100644 --- a/config/webpack/plugins/inject-script-webpack-plugin.js +++ b/config/webpack/plugins/inject-script-webpack-plugin.js @@ -1,14 +1,10 @@ const { sources } = require("webpack"); const path = require("path"); -const { getFileNameHash } = webpackRequire("utils/filename-hash"); +const { getFileName } = webpackRequire("utils/build-file"); const { getInjectedCode } = webpackRequire("utils/injected-code"); class InjectScriptPlugin { - constructor(insertedBefore = false) { - this.insertedBefore = insertedBefore; - } - apply(compiler) { compiler.hooks.compilation.tap("InjectScriptPlugin", compilation => { compilation.hooks.processAssets.tapPromise( @@ -21,7 +17,7 @@ class InjectScriptPlugin { for (const assetName in assets) { if (/\.js$/.test(assetName)) { const injectedCodeResponse = getInjectedCode(compilation.getAsset(assetName).source.source()) - const scriptInjectorModuleName = getFileNameHash("script-injector", "shared", true); + const scriptInjectorModuleName = getFileName("script-injector", "shared", true); compilation.updateAsset( assetName, new sources.RawSource(injectedCodeResponse[0]) diff --git a/config/webpack/utils/build-file.js b/config/webpack/utils/build-file.js new file mode 100644 index 0000000..9a0ae66 --- /dev/null +++ b/config/webpack/utils/build-file.js @@ -0,0 +1,19 @@ +const crypto = require("crypto"); + +module.exports.getFileName = (fileName, prefix, justHash = false) => { + let hash = crypto + .createHash("md5") + .update(`${prefix}-${fileName}`) + .digest("hex"); + + if (production) { + return hash; + } else { + hash = hash.substring(16); + if (justHash) { + return hash; + } else { + return `${fileName}-${hash}`; + } + } +}; diff --git a/config/webpack/utils/filename-hash.js b/config/webpack/utils/filename-hash.js deleted file mode 100644 index e0d8a6d..0000000 --- a/config/webpack/utils/filename-hash.js +++ /dev/null @@ -1,19 +0,0 @@ -const crypto = require("crypto"); - -module.exports.getFileNameHash = (fileName, prefix, justHash = false) => { - let hash = crypto - .createHash("md5") - .update(`${prefix}-${fileName}`) - .digest("hex"); - - if (production) { - return hash; - } else { - hash = hash.substring(16); - if (justHash) { - return hash; - } else { - return `${fileName}-${hash}`; - } - } -}; -- cgit v1.2.3