aboutsummaryrefslogtreecommitdiffstats
path: root/config/webpack.config.js
diff options
context:
space:
mode:
Diffstat (limited to 'config/webpack.config.js')
-rw-r--r--config/webpack.config.js36
1 files changed, 33 insertions, 3 deletions
diff --git a/config/webpack.config.js b/config/webpack.config.js
index 78f4060..31bbb8d 100644
--- a/config/webpack.config.js
+++ b/config/webpack.config.js
@@ -14,13 +14,13 @@ global.webpackRequire = modulePath => require(path.resolve(CONFIG_DIR, "webpack"
const CreateManifestPlugin = webpackRequire("plugins/create-manifest-webpack-plugin");
const CreateRulesPlugin = webpackRequire("plugins/create-rules-webpack-plugin");
const InjectScriptPlugin = webpackRequire("plugins/inject-script-webpack-plugin");
+const CreateInjectedSharedModulesPlugin = webpackRequire("plugins/create-injected-shared-modules-webpack-plugin");
const { inlineJavascript } = webpackRequire("utils/inline-javascript");
const { getScriptRuntimeFromType } = webpackRequire("utils/script-runtime");
const { getFileNameHash } = webpackRequire("utils/filename-hash");
const scripts = webpackRequire("utils/scripts");
-
const sharedModules = webpackRequire("utils/shared-modules");
const sharedModulesImportedCount = {};
@@ -29,6 +29,12 @@ for (const sharedModule of sharedModules) {
sharedModulesImportedCount[sharedModule] = 0;
}
+const injectedSharedModulesImportedCount = {};
+
+for (const sharedModule of sharedModules) {
+ injectedSharedModulesImportedCount[sharedModule] = 0;
+}
+
const uninjectedScriptEntries = {};
const injectedAfterScriptEntries = {};
const injectedBeforeScriptEntries = {};
@@ -125,6 +131,23 @@ const sharedModuleOptions = {
}
};
+const injectedModulesOptions = {
+ externals: sharedModuleExternals,
+ externalsType: "var",
+ module: {
+ rules: [
+ {
+ test: /banglar-bhumi-utils\/src\/.*.(^.?|\.[^d]|[^.]d|[^.][^d])\.(t|j)s$/,
+ loader: path.resolve(CONFIG_DIR, "webpack/loader/count-imports-loader.js"),
+ options: {
+ sharedModulesImportedCount: injectedSharedModulesImportedCount
+ },
+ enforce: "post"
+ }
+ ]
+ }
+};
+
const uninjectedScriptConfiguration = merge(
commonOptions,
sharedModuleOptions,
@@ -135,6 +158,7 @@ const uninjectedScriptConfiguration = merge(
const injectedAfterScriptConfiguration = merge(
commonOptions,
+ injectedModulesOptions,
{
entry: injectedAfterScriptEntries,
plugins: [
@@ -145,6 +169,7 @@ const injectedAfterScriptConfiguration = merge(
const injectedBeforeScriptConfiguration = merge(
commonOptions,
+ injectedModulesOptions,
{
entry: injectedBeforeScriptEntries,
plugins: [
@@ -167,11 +192,16 @@ const sharedModulesConfiguration = merge(
to: "./"
}]
}),
+ new CreateInjectedSharedModulesPlugin({
+ injectedSharedModulesImportedCount,
+ sortedSharedModules
+ }),
+ new CreateRulesPlugin(),
new CreateManifestPlugin({
sharedModulesImportedCount,
+ injectedSharedModulesImportedCount,
sortedSharedModules
- }),
- new CreateRulesPlugin()
+ })
],
module: {
rules: [