diff options
| author | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2023-02-06 19:30:21 +0530 |
|---|---|---|
| committer | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2023-02-06 19:30:21 +0530 |
| commit | c57a9e3d9e304bd360437f8f732dbc0479376cd7 (patch) | |
| tree | ad9e31238aab26fd7a8ceb54d1424daa79a237c9 /config/webpack/utils | |
| parent | 1a301791bb621fa01fa76e9403b23fe1f4a120af (diff) | |
| download | banglar-bhumi-utils-c57a9e3d9e304bd360437f8f732dbc0479376cd7.tar.gz banglar-bhumi-utils-c57a9e3d9e304bd360437f8f732dbc0479376cd7.zip | |
Fixed some bugs... Updated some code...
Diffstat (limited to 'config/webpack/utils')
| -rw-r--r-- | config/webpack/utils/generate-script-build-config.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/config/webpack/utils/generate-script-build-config.js b/config/webpack/utils/generate-script-build-config.js new file mode 100644 index 0000000..2485e85 --- /dev/null +++ b/config/webpack/utils/generate-script-build-config.js @@ -0,0 +1,51 @@ +const fs = require("fs"); +const path = require("path"); + +const InjectScriptPlugin = require("../plugins/inject-script-webpack-plugin"); + +const manifest = require(path.resolve(process.env.SOURCE_DIR, "manifest.json")); + +let count = 0; + +const generateScriptBuildConfig = (scriptName, scriptType) => { + let entry = path.resolve(process.env.SOURCE_DIR, `scripts/${scriptName}.ts`); + if (!fs.existsSync(entry)) { + entry = path.resolve(process.env.SOURCE_DIR, `scripts/${scriptName}/index.ts`); + if (!fs.existsSync(entry)) { + entry = path.resolve(process.env.SOURCE_DIR, `scripts/${scriptName}.js`); + } + } + + return { + entry, + mode: "production", + output: { + filename: `${scriptName}.js` + }, + resolve: { + extensions: ["", ".ts", ".js"], + alias: { + "@": process.env.SOURCE_DIR + } + }, + module: { + rules: [ + { + test: /\.tsx?$/, + loader: "ts-loader", + options: { + configFile: "config/tsconfig.json" + } + } + ] + }, + plugins: scriptType.startsWith("injected") + ? [new InjectScriptPlugin({ + onload: scriptType === "injected_and_loaded", + isFirst: count++ <= 0 + })] + : undefined + }; +}; + +module.exports = generateScriptBuildConfig; |
