From e674c14b08faae4fb2cb0ebf3c17029667af3c42 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> Date: Fri, 10 Feb 2023 11:00:43 +0530 Subject: Simplifying require statements for custom made modules in webpack config. --- config/webpack.config.js | 21 +++++++++------------ .../plugins/create-manifest-webpack-plugin/index.js | 4 ++-- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/config/webpack.config.js b/config/webpack.config.js index fb618db..2ff2059 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -5,18 +5,17 @@ process.env.ROOT_DIR = path.resolve(__dirname, ".."); process.env.CONFIG_DIR = path.resolve(process.env.ROOT_DIR, "config"); process.env.SOURCE_DIR = path.resolve(process.env.ROOT_DIR, "src"); -const CreateManifestPlugin = require(path.resolve(process.env.CONFIG_DIR, "webpack/plugins/create-manifest-webpack-plugin")); -const SanitizeScriptsImportPlugin = require(path.resolve(process.env.CONFIG_DIR, "webpack/plugins/sanitize-scripts-import-webpack-plugin")); -const InjectScriptPlugin = require(path.resolve(process.env.CONFIG_DIR, "webpack/plugins/inject-script-webpack-plugin")); -const { inlineJavascript } = require(path.resolve(process.env.CONFIG_DIR, "webpack/utils/inline-javascript")); -const { getScriptRuntimeFromType } = require(path.resolve(process.env.CONFIG_DIR, "webpack/utils/script-runtime")); -const { getFileNameHash } = require(path.resolve(process.env.CONFIG_DIR, "webpack/utils/file-name-hash")); +global.webpackRequire = modulePath => require(path.resolve(process.env.CONFIG_DIR, "webpack", modulePath)); -const scripts = require(path.resolve(process.env.SOURCE_DIR, "scripts.json")); +const CreateManifestPlugin = webpackRequire("plugins/create-manifest-webpack-plugin"); +const SanitizeScriptsImportPlugin = webpackRequire("plugins/sanitize-scripts-import-webpack-plugin"); +const InjectScriptPlugin = webpackRequire("plugins/inject-script-webpack-plugin"); -let scriptBuildConfigs = []; +const { inlineJavascript } = webpackRequire("utils/inline-javascript"); +const { getScriptRuntimeFromType } = webpackRequire("utils/script-runtime"); +const { getFileNameHash } = webpackRequire("utils/file-name-hash"); -let injectedScriptsCount = 0; +const scripts = require(path.resolve(process.env.SOURCE_DIR, "scripts.json")); const entries = {}; @@ -34,9 +33,7 @@ for (const scriptRuntime in _scripts) { for (const script in scripts) { const scriptPath = scripts[script]; entries[`${scriptRuntime} - "${scriptPath}"`] = { - import: inlineJavascript(Object.keys(scripts).map(script => - `import "${path.resolve(process.env.SOURCE_DIR, "scripts", script)}";` - ).join("\n")), + import: inlineJavascript(Object.keys(scripts).map(script => `import "${path.resolve(process.env.SOURCE_DIR, "scripts", script)}";`).join("\n")), filename: `scripts/${getFileNameHash(scriptPath)}/${scriptRuntime}.js` }; } diff --git a/config/webpack/plugins/create-manifest-webpack-plugin/index.js b/config/webpack/plugins/create-manifest-webpack-plugin/index.js index 7044be2..2e121da 100644 --- a/config/webpack/plugins/create-manifest-webpack-plugin/index.js +++ b/config/webpack/plugins/create-manifest-webpack-plugin/index.js @@ -4,8 +4,8 @@ const path = require("path"); const scripts = require(path.resolve(process.env.SOURCE_DIR, "scripts.json")); const { version } = require(path.resolve(process.env.ROOT_DIR, "package.json")); -const { getScriptRuntimeFromType } = require(path.resolve(process.env.CONFIG_DIR, "webpack/utils/script-runtime")); -const { getFileNameHash } = require(path.resolve(process.env.CONFIG_DIR, "webpack/utils/file-name-hash")); +const { getScriptRuntimeFromType } = webpackRequire("utils/script-runtime"); +const { getFileNameHash } = webpackRequire("utils/file-name-hash"); class CreateManifestPlugin { constructor() { -- cgit v1.2.3