UNPKG

984 BJavaScriptView Raw
1// Retain all traced module ids in bundler
2const {nodejsIds} = require('dumber-module-loader/dist/id-utils');
3
4module.exports = class ModulesDone {
5 constructor() {
6 this.userIds = new Set();
7 this.packageIds = new Set();
8 }
9
10 addUnit(unit) {
11 this.add(unit.moduleId, !!unit.packageName);
12 this.add(unit.defined, !!unit.packageName);
13 }
14
15 add(id, inPackageSpace) {
16 if (typeof id === 'string') {
17 if (inPackageSpace) {
18 this.packageIds.add(id);
19 } else {
20 this.userIds.add(id);
21 }
22 } else if (Array.isArray(id)) {
23 id.forEach(d => this.add(d, inPackageSpace));
24 }
25 }
26
27 // incoming id is a parsed bareId
28 has(id, checkUserSpace, checkPackageSpace) {
29 const possibleIds = nodejsIds(id);
30
31 return possibleIds.some(id => {
32 let inUserSpace = checkUserSpace && this.userIds.has(id);
33 let inPackageSpace = checkPackageSpace && this.packageIds.has(id);
34 return inUserSpace || inPackageSpace;
35 });
36 }
37};