@rsdoctor/graph 1.0.0-alpha.4 → 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -85,6 +85,7 @@ class PackageGraph {
85
85
  }
86
86
  if (meta.packageData) {
87
87
  const pkg2 = getPackageByData(meta.packageData);
88
+ this.setDuplicates(module2, pkg2);
88
89
  pkgsMap.set(file, pkg2);
89
90
  return pkg2;
90
91
  }
@@ -101,6 +102,7 @@ class PackageGraph {
101
102
  data.root = (0, import_path.resolve)(this._root, data.root);
102
103
  }
103
104
  const pkg = getPackageByData(data);
105
+ this.setDuplicates(module2, pkg);
104
106
  this.addPackage(pkg);
105
107
  pkgsMap.set(file, pkg);
106
108
  return pkg;
@@ -130,6 +132,21 @@ class PackageGraph {
130
132
  }
131
133
  }
132
134
  }
135
+ setDuplicates(module2, pkg) {
136
+ const assetsList = [];
137
+ const chunksList = module2.getChunks();
138
+ chunksList.forEach(
139
+ (chunk) => assetsList.push(
140
+ ...chunk.getAssets().filter((asset) => asset.path.endsWith(".js"))
141
+ )
142
+ );
143
+ if (chunksList.length > 1) {
144
+ pkg.setDuplicates({
145
+ module: { id: module2.id, path: module2.path },
146
+ chunks: assetsList.map((asset) => ({ name: asset.path }))
147
+ });
148
+ }
149
+ }
133
150
  getDependenciesFromPackage(pkg) {
134
151
  return this._dependencies.filter((dep) => dep.dependency === pkg);
135
152
  }
@@ -33,6 +33,13 @@ class Package {
33
33
  this.name = name;
34
34
  this.root = root;
35
35
  this.version = version;
36
+ this.duplicates = [];
37
+ }
38
+ setDuplicates(data) {
39
+ this.duplicates.push({
40
+ module: data.module,
41
+ chunks: data.chunks
42
+ });
36
43
  }
37
44
  getModules() {
38
45
  return this._modules.slice();
@@ -112,7 +119,8 @@ class Package {
112
119
  root: this.root,
113
120
  version: this.version,
114
121
  modules: this.getModules().map((e) => e.id),
115
- size: this.getSize()
122
+ size: this.getSize(),
123
+ duplicates: this.duplicates
116
124
  };
117
125
  }
118
126
  }
@@ -51,6 +51,7 @@ class PackageGraph {
51
51
  }
52
52
  if (meta.packageData) {
53
53
  const pkg2 = getPackageByData(meta.packageData);
54
+ this.setDuplicates(module, pkg2);
54
55
  pkgsMap.set(file, pkg2);
55
56
  return pkg2;
56
57
  }
@@ -67,6 +68,7 @@ class PackageGraph {
67
68
  data.root = resolve(this._root, data.root);
68
69
  }
69
70
  const pkg = getPackageByData(data);
71
+ this.setDuplicates(module, pkg);
70
72
  this.addPackage(pkg);
71
73
  pkgsMap.set(file, pkg);
72
74
  return pkg;
@@ -96,6 +98,21 @@ class PackageGraph {
96
98
  }
97
99
  }
98
100
  }
101
+ setDuplicates(module, pkg) {
102
+ const assetsList = [];
103
+ const chunksList = module.getChunks();
104
+ chunksList.forEach(
105
+ (chunk) => assetsList.push(
106
+ ...chunk.getAssets().filter((asset) => asset.path.endsWith(".js"))
107
+ )
108
+ );
109
+ if (chunksList.length > 1) {
110
+ pkg.setDuplicates({
111
+ module: { id: module.id, path: module.path },
112
+ chunks: assetsList.map((asset) => ({ name: asset.path }))
113
+ });
114
+ }
115
+ }
99
116
  getDependenciesFromPackage(pkg) {
100
117
  return this._dependencies.filter((dep) => dep.dependency === pkg);
101
118
  }
@@ -10,6 +10,13 @@ class Package {
10
10
  this.name = name;
11
11
  this.root = root;
12
12
  this.version = version;
13
+ this.duplicates = [];
14
+ }
15
+ setDuplicates(data) {
16
+ this.duplicates.push({
17
+ module: data.module,
18
+ chunks: data.chunks
19
+ });
13
20
  }
14
21
  getModules() {
15
22
  return this._modules.slice();
@@ -89,7 +96,8 @@ class Package {
89
96
  root: this.root,
90
97
  version: this.version,
91
98
  modules: this.getModules().map((e) => e.id),
92
- size: this.getSize()
99
+ size: this.getSize(),
100
+ duplicates: this.duplicates
93
101
  };
94
102
  }
95
103
  }
@@ -16,6 +16,7 @@ export declare class PackageGraph implements SDK.PackageGraphInstance {
16
16
  getPackagesByName(name: string): SDK.PackageInstance[];
17
17
  getPackageByData(data: SDK.PackageBasicData): SDK.PackageInstance | undefined;
18
18
  addPackage(pkg: SDK.PackageInstance): void;
19
+ setDuplicates(module: SDK.ModuleInstance, pkg: SDK.PackageInstance): void;
19
20
  getDependenciesFromPackage(pkg: SDK.PackageInstance): SDK.PackageDependencyInstance[];
20
21
  addDependency(dep: SDK.PackageDependencyInstance): void;
21
22
  getDependenciesFromOrigin(): SDK.PackageDependencyInstance[];
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../src/graph/package-graph/graph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,YAAa,YAAW,GAAG,CAAC,oBAAoB;IAC3D,MAAM,CAAC,eAAe,CACpB,KAAK,EAAE,GAAG,CAAC,mBAAmB,EAC9B,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,GAAG,CAAC,cAAc,GAClC,YAAY;IAmCf,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,aAAa,CAAuC;IAE5D,OAAO,CAAC,SAAS,CAA6B;IAE9C,OAAO,CAAC,WAAW,CAA4C;IAE/D,OAAO,CAAC,WAAW,CAA0C;gBAEjD,IAAI,EAAE,MAAM;IAIxB,WAAW;IAIX,kBAAkB,CAChB,MAAM,EAAE,GAAG,CAAC,cAAc,EAC1B,QAAQ,CAAC,EAAE,GAAG,CAAC,cAAc;IA4C/B,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAI7B,qBAAqB,CAAC,IAAI,EAAE,MAAM;IAIlC,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAI9B,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB;IAQ3C,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe;IAcnC,0BAA0B,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe;IAInD,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,yBAAyB;IAMhD,yBAAyB;IAIzB,oBAAoB,IAAI,GAAG,CAAC,eAAe,EAAE,EAAE;IAW/C,MAAM,IAAI,GAAG,CAAC,gBAAgB;CAM/B"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../src/graph/package-graph/graph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,qBAAa,YAAa,YAAW,GAAG,CAAC,oBAAoB;IAC3D,MAAM,CAAC,eAAe,CACpB,KAAK,EAAE,GAAG,CAAC,mBAAmB,EAC9B,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,GAAG,CAAC,cAAc,GAClC,YAAY;IAmCf,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,aAAa,CAAuC;IAE5D,OAAO,CAAC,SAAS,CAA6B;IAE9C,OAAO,CAAC,WAAW,CAA4C;IAE/D,OAAO,CAAC,WAAW,CAA0C;gBAEjD,IAAI,EAAE,MAAM;IAIxB,WAAW;IAIX,kBAAkB,CAChB,MAAM,EAAE,GAAG,CAAC,cAAc,EAC1B,QAAQ,CAAC,EAAE,GAAG,CAAC,cAAc;IA+C/B,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAI7B,qBAAqB,CAAC,IAAI,EAAE,MAAM;IAIlC,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAI9B,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB;IAQ3C,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe;IAcnC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,CAAC,eAAe;IAgBlE,0BAA0B,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe;IAInD,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,yBAAyB;IAMhD,yBAAyB;IAIzB,oBAAoB,IAAI,GAAG,CAAC,eAAe,EAAE,EAAE;IAW/C,MAAM,IAAI,GAAG,CAAC,gBAAgB;CAM/B"}
@@ -4,10 +4,12 @@ export declare class Package implements SDK.PackageInstance {
4
4
  root: string;
5
5
  name: string;
6
6
  version: string;
7
+ duplicates: SDK.CrossChunksPackageType[];
7
8
  private _modules;
8
9
  private _dependencies;
9
10
  private _imported;
10
11
  constructor(name: string, root: string, version: string);
12
+ setDuplicates(data: SDK.CrossChunksPackageType): void;
11
13
  getModules(): SDK.ModuleInstance[];
12
14
  getDependencies(): SDK.PackageDependencyInstance[];
13
15
  getImported(): SDK.PackageInstance[];
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../../src/graph/package-graph/package.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAM3C,qBAAa,OAAQ,YAAW,GAAG,CAAC,eAAe;IACjD,EAAE,SAAQ;IAEV,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,QAAQ,CAA4B;IAE5C,OAAO,CAAC,aAAa,CAAuC;IAE5D,OAAO,CAAC,SAAS,CAA6B;gBAElC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAMvD,UAAU,IAAI,GAAG,CAAC,cAAc,EAAE;IAIlC,eAAe,IAAI,GAAG,CAAC,yBAAyB,EAAE;IAIlD,WAAW,IAAI,GAAG,CAAC,eAAe,EAAE;IAIpC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc;IAMpC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,yBAAyB;IAOhD,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,oBAAoB;IA+BpD,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe;IAMpC,OAAO,CAAC,IAAI,EAAE,MAAM;IAcpB,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe;IAQ/B,OAAO,IAAI,GAAG,CAAC,UAAU;IAiBzB,MAAM,IAAI,GAAG,CAAC,WAAW;CAU1B"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../../src/graph/package-graph/package.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAM3C,qBAAa,OAAQ,YAAW,GAAG,CAAC,eAAe;IACjD,EAAE,SAAQ;IAEV,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,MAAM,CAAC;IAEhB,UAAU,EAAE,GAAG,CAAC,sBAAsB,EAAE,CAAC;IAEzC,OAAO,CAAC,QAAQ,CAA4B;IAE5C,OAAO,CAAC,aAAa,CAAuC;IAE5D,OAAO,CAAC,SAAS,CAA6B;gBAElC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAOvD,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,sBAAsB;IAO9C,UAAU,IAAI,GAAG,CAAC,cAAc,EAAE;IAIlC,eAAe,IAAI,GAAG,CAAC,yBAAyB,EAAE;IAIlD,WAAW,IAAI,GAAG,CAAC,eAAe,EAAE;IAIpC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc;IAMpC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,yBAAyB;IAOhD,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,oBAAoB;IA+BpD,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe;IAMpC,OAAO,CAAC,IAAI,EAAE,MAAM;IAcpB,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe;IAQ/B,OAAO,IAAI,GAAG,CAAC,UAAU;IAiBzB,MAAM,IAAI,GAAG,CAAC,WAAW;CAW1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdoctor/graph",
3
- "version": "1.0.0-alpha.4",
3
+ "version": "1.0.0-beta.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/web-infra-dev/rsdoctor",
@@ -17,8 +17,8 @@
17
17
  "lodash.unionby": "^4.8.0",
18
18
  "socket.io": "4.8.1",
19
19
  "source-map": "^0.7.4",
20
- "@rsdoctor/types": "1.0.0-alpha.4",
21
- "@rsdoctor/utils": "1.0.0-alpha.4"
20
+ "@rsdoctor/types": "1.0.0-beta.1",
21
+ "@rsdoctor/utils": "1.0.0-beta.1"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/body-parser": "1.19.5",