diff options
| author | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2023-04-04 16:05:48 +0530 |
|---|---|---|
| committer | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2023-04-04 16:05:48 +0530 |
| commit | 7455c1e81dd18a898004c398a16e9f0b6f7c19ae (patch) | |
| tree | 364f25f1f55d95131ffbe484cd5836f711d357c0 /config/webpack/loader/count-imports-loader.js | |
| parent | 5f23f07d04073c06af530332c2d75b48d6c023a0 (diff) | |
| download | banglar-bhumi-utils-7455c1e81dd18a898004c398a16e9f0b6f7c19ae.tar.gz banglar-bhumi-utils-7455c1e81dd18a898004c398a16e9f0b6f7c19ae.zip | |
Keeping track of the number of times that a shared module has been used and dertermining if it is to be included along with the other scripts.
Diffstat (limited to 'config/webpack/loader/count-imports-loader.js')
| -rw-r--r-- | config/webpack/loader/count-imports-loader.js | 18 |
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; +}; |
