aboutsummaryrefslogtreecommitdiffstats
path: root/config/webpack/loader
diff options
context:
space:
mode:
Diffstat (limited to 'config/webpack/loader')
-rw-r--r--config/webpack/loader/count-imports-loader.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/config/webpack/loader/count-imports-loader.js b/config/webpack/loader/count-imports-loader.js
new file mode 100644
index 0000000..4c3faa4
--- /dev/null
+++ b/config/webpack/loader/count-imports-loader.js
@@ -0,0 +1,18 @@
+const { ImportManager } = require("import-manager");
+
+const sharedModules = webpackRequire("utils/shared-modules.js");
+
+module.exports = function(source) {
+ const { sharedModulesImportedCount } = this.getOptions();
+ const manager = new ImportManager(source);
+
+ for (const unit of manager.imports.es6.units) {
+ const moduleIndex = sharedModules.indexOf(unit.module.name);
+
+ if (moduleIndex >= 0) {
+ sharedModulesImportedCount[sharedModules[moduleIndex]]++;
+ }
+ }
+
+ return source;
+};