@rsdoctor/graph 1.3.11 → 1.3.12

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.
@@ -20,7 +20,7 @@ export declare class ModuleGraph implements SDK.ModuleGraphInstance {
20
20
  getModuleById(id: number): SDK.ModuleInstance | undefined;
21
21
  getDependencyById(id: number): SDK.DependencyInstance | undefined;
22
22
  getModuleByWebpackId(id: string): SDK.ModuleInstance | undefined;
23
- getModuleByFile(file: string): SDK.ModuleInstance[];
23
+ getModuleByFile(file: string, layer?: string): SDK.ModuleInstance[];
24
24
  addModule(...modules: SDK.ModuleInstance[]): void;
25
25
  addDependency(...deps: SDK.DependencyInstance[]): void;
26
26
  removeModule(module: SDK.ModuleInstance): void;
package/dist/index.cjs CHANGED
@@ -926,8 +926,8 @@ class ModuleGraph {
926
926
  getModuleByWebpackId(id) {
927
927
  return this._moduleWebpackIdMap.get(id);
928
928
  }
929
- getModuleByFile(file) {
930
- return this.getModules().filter((item)=>item.path === file) || [];
929
+ getModuleByFile(file, layer) {
930
+ return this.getModules().filter((item)=>item.path === file && (void 0 === layer || item.layer === layer));
931
931
  }
932
932
  addModule(...modules) {
933
933
  for (let module of modules)!this._moduleIdMap.has(module.id) && (this._moduleWebpackIdMap.set(module.webpackId, module), this._moduleIdMap.set(module.id, module), module.layer && this.addLayer(module.layer));
@@ -1347,6 +1347,9 @@ function getGetModuleName(root, data) {
1347
1347
  let name = data.name.replace(/ ?\+ ?\d+ ?modules$/, '');
1348
1348
  return external_path_browserify_default().isAbsolute(name) ? name : external_path_browserify_default().join(root, name);
1349
1349
  }
1350
+ function isJsonFile(filePath) {
1351
+ return '.json' === external_path_browserify_default().extname(filePath).toLowerCase();
1352
+ }
1350
1353
  function getModuleFromChildren(module, collectedModules) {
1351
1354
  'module' === module.type || void 0 === module.type ? collectedModules.push(module) : 'children' in module && module.children && getModulesFromArray(module.children, collectedModules);
1352
1355
  }
@@ -1371,20 +1374,28 @@ function getModuleGraphByStats({ modules, chunks }, root, chunkGraph) {
1371
1374
  if (getCanSkip(data) || moduleGraph.getModuleByWebpackId(data.identifier)) continue;
1372
1375
  allModules.push(data);
1373
1376
  let isConcatenated = !!(data.modules && data.modules.length > 0), concatenatedModule = new Module(data.identifier ?? data.moduleIdentifier, getGetModuleName(root, data), 0 === data.depth, isConcatenated ? types_namespaceObject.SDK.ModuleKind.Concatenation : types_namespaceObject.SDK.ModuleKind.Normal, data.id ? String(data.id) : void 0, data.layer);
1374
- for (let normal of (data.optimizationBailout && data.optimizationBailout.forEach((reason)=>concatenatedModule.addBailoutReason(reason)), data.issuerPath && concatenatedModule.addIssuerPath(data.issuerPath), data.chunks?.forEach((_chunkId)=>{
1377
+ if (data.optimizationBailout && data.optimizationBailout.forEach((reason)=>concatenatedModule.addBailoutReason(reason)), data.issuerPath && concatenatedModule.addIssuerPath(data.issuerPath), data.chunks?.forEach((_chunkId)=>{
1375
1378
  let chunk = chunkGraph.getChunkById(String(_chunkId));
1376
1379
  chunk && concatenatedModule.addChunk(chunk);
1377
1380
  }), moduleGraph.addModule(concatenatedModule), data.source && concatenatedModule.setSource({
1378
1381
  transformed: Buffer.isBuffer(data.source) ? data.source.toString() : data.source
1379
- }), 'number' == typeof data.size && concatenatedModule.setSize({
1380
- sourceSize: data.size,
1381
- transformedSize: data.size
1382
- }), data.modules ?? [])){
1382
+ }), 'number' == typeof data.size) {
1383
+ concatenatedModule.setSize({
1384
+ sourceSize: data.size,
1385
+ transformedSize: data.size
1386
+ });
1387
+ let sizeData = {
1388
+ sourceSize: data.size,
1389
+ transformedSize: data.size
1390
+ };
1391
+ isJsonFile(concatenatedModule.path) && (sizeData.parsedSize = data.size), concatenatedModule.setSize(sizeData);
1392
+ }
1393
+ for (let normal of data.modules ?? []){
1383
1394
  let normalModule;
1384
1395
  if (getCanSkip(normal)) continue;
1385
1396
  allModules.push(normal);
1386
1397
  let webpackId = normal.identifier, registeredModule = moduleGraph.getModuleByWebpackId(webpackId);
1387
- normalModule = registeredModule || (moduleGraph.getModuleByWebpackId(webpackId) ?? new Module(webpackId, getGetModuleName(root, normal), 0 === normal.depth, types_namespaceObject.SDK.ModuleKind.Normal, normal.id ? String(normal.id) : void 0, normal.layer)), normal.optimizationBailout && normal.optimizationBailout.forEach((reason)=>normalModule.addBailoutReason(reason)), normal.issuerPath && normalModule.addIssuerPath(normal.issuerPath), normal.chunks?.length ? normal.chunks?.forEach((_chunkId)=>{
1398
+ if (normalModule = registeredModule || (moduleGraph.getModuleByWebpackId(webpackId) ?? new Module(webpackId, getGetModuleName(root, normal), 0 === normal.depth, types_namespaceObject.SDK.ModuleKind.Normal, normal.id ? String(normal.id) : void 0, normal.layer)), normal.optimizationBailout && normal.optimizationBailout.forEach((reason)=>normalModule.addBailoutReason(reason)), normal.issuerPath && normalModule.addIssuerPath(normal.issuerPath), normal.chunks?.length ? normal.chunks?.forEach((_chunkId)=>{
1388
1399
  let chunk = chunkGraph.getChunkById(String(_chunkId));
1389
1400
  chunk && normalModule.addChunk(chunk);
1390
1401
  }) : data.chunks?.forEach((_chunkId)=>{
@@ -1392,10 +1403,18 @@ function getModuleGraphByStats({ modules, chunks }, root, chunkGraph) {
1392
1403
  chunk && normalModule.addChunk(chunk);
1393
1404
  }), normal.source && normalModule.setSource({
1394
1405
  transformed: Buffer.isBuffer(normal.source) ? normal.source.toString() : normal.source
1395
- }), 'number' == typeof normal.size && normalModule.setSize({
1396
- sourceSize: normal.size,
1397
- transformedSize: normal.size
1398
- }), moduleGraph.addModule(normalModule), concatenatedModule.addNormalModule(normalModule);
1406
+ }), 'number' == typeof normal.size) {
1407
+ normalModule.setSize({
1408
+ sourceSize: normal.size,
1409
+ transformedSize: normal.size
1410
+ });
1411
+ let sizeData = {
1412
+ sourceSize: normal.size,
1413
+ transformedSize: normal.size
1414
+ };
1415
+ isJsonFile(normalModule.path) && (sizeData.parsedSize = normal.size), normalModule.setSize(sizeData);
1416
+ }
1417
+ moduleGraph.addModule(normalModule), concatenatedModule.addNormalModule(normalModule);
1399
1418
  }
1400
1419
  }
1401
1420
  for (let module of allModules){
package/dist/index.js CHANGED
@@ -896,8 +896,8 @@ class ModuleGraph {
896
896
  getModuleByWebpackId(id) {
897
897
  return this._moduleWebpackIdMap.get(id);
898
898
  }
899
- getModuleByFile(file) {
900
- return this.getModules().filter((item)=>item.path === file) || [];
899
+ getModuleByFile(file, layer) {
900
+ return this.getModules().filter((item)=>item.path === file && (void 0 === layer || item.layer === layer));
901
901
  }
902
902
  addModule(...modules) {
903
903
  for (let module of modules)!this._moduleIdMap.has(module.id) && (this._moduleWebpackIdMap.set(module.webpackId, module), this._moduleIdMap.set(module.id, module), module.layer && this.addLayer(module.layer));
@@ -1310,6 +1310,9 @@ function getGetModuleName(root, data) {
1310
1310
  let name = data.name.replace(/ ?\+ ?\d+ ?modules$/, '');
1311
1311
  return path_browserify.isAbsolute(name) ? name : path_browserify.join(root, name);
1312
1312
  }
1313
+ function isJsonFile(filePath) {
1314
+ return '.json' === path_browserify.extname(filePath).toLowerCase();
1315
+ }
1313
1316
  function getModulesFromArray(modules, collectedModules) {
1314
1317
  modules.forEach((module)=>{
1315
1318
  'module' === module.type || void 0 === module.type ? collectedModules.push(module) : 'children' in module && module.children && getModulesFromArray(module.children, collectedModules);
@@ -1329,20 +1332,28 @@ function getModuleGraphByStats({ modules, chunks }, root, chunkGraph) {
1329
1332
  if (getCanSkip(data) || moduleGraph.getModuleByWebpackId(data.identifier)) continue;
1330
1333
  allModules.push(data);
1331
1334
  let isConcatenated = !!(data.modules && data.modules.length > 0), concatenatedModule = new Module(data.identifier ?? data.moduleIdentifier, getGetModuleName(root, data), 0 === data.depth, isConcatenated ? SDK.ModuleKind.Concatenation : SDK.ModuleKind.Normal, data.id ? String(data.id) : void 0, data.layer);
1332
- for (let normal of (data.optimizationBailout && data.optimizationBailout.forEach((reason)=>concatenatedModule.addBailoutReason(reason)), data.issuerPath && concatenatedModule.addIssuerPath(data.issuerPath), data.chunks?.forEach((_chunkId)=>{
1335
+ if (data.optimizationBailout && data.optimizationBailout.forEach((reason)=>concatenatedModule.addBailoutReason(reason)), data.issuerPath && concatenatedModule.addIssuerPath(data.issuerPath), data.chunks?.forEach((_chunkId)=>{
1333
1336
  let chunk = chunkGraph.getChunkById(String(_chunkId));
1334
1337
  chunk && concatenatedModule.addChunk(chunk);
1335
1338
  }), moduleGraph.addModule(concatenatedModule), data.source && concatenatedModule.setSource({
1336
1339
  transformed: Buffer.isBuffer(data.source) ? data.source.toString() : data.source
1337
- }), 'number' == typeof data.size && concatenatedModule.setSize({
1338
- sourceSize: data.size,
1339
- transformedSize: data.size
1340
- }), data.modules ?? [])){
1340
+ }), 'number' == typeof data.size) {
1341
+ concatenatedModule.setSize({
1342
+ sourceSize: data.size,
1343
+ transformedSize: data.size
1344
+ });
1345
+ let sizeData = {
1346
+ sourceSize: data.size,
1347
+ transformedSize: data.size
1348
+ };
1349
+ isJsonFile(concatenatedModule.path) && (sizeData.parsedSize = data.size), concatenatedModule.setSize(sizeData);
1350
+ }
1351
+ for (let normal of data.modules ?? []){
1341
1352
  let normalModule;
1342
1353
  if (getCanSkip(normal)) continue;
1343
1354
  allModules.push(normal);
1344
1355
  let webpackId = normal.identifier, registeredModule = moduleGraph.getModuleByWebpackId(webpackId);
1345
- normalModule = registeredModule || (moduleGraph.getModuleByWebpackId(webpackId) ?? new Module(webpackId, getGetModuleName(root, normal), 0 === normal.depth, SDK.ModuleKind.Normal, normal.id ? String(normal.id) : void 0, normal.layer)), normal.optimizationBailout && normal.optimizationBailout.forEach((reason)=>normalModule.addBailoutReason(reason)), normal.issuerPath && normalModule.addIssuerPath(normal.issuerPath), normal.chunks?.length ? normal.chunks?.forEach((_chunkId)=>{
1356
+ if (normalModule = registeredModule || (moduleGraph.getModuleByWebpackId(webpackId) ?? new Module(webpackId, getGetModuleName(root, normal), 0 === normal.depth, SDK.ModuleKind.Normal, normal.id ? String(normal.id) : void 0, normal.layer)), normal.optimizationBailout && normal.optimizationBailout.forEach((reason)=>normalModule.addBailoutReason(reason)), normal.issuerPath && normalModule.addIssuerPath(normal.issuerPath), normal.chunks?.length ? normal.chunks?.forEach((_chunkId)=>{
1346
1357
  let chunk = chunkGraph.getChunkById(String(_chunkId));
1347
1358
  chunk && normalModule.addChunk(chunk);
1348
1359
  }) : data.chunks?.forEach((_chunkId)=>{
@@ -1350,10 +1361,18 @@ function getModuleGraphByStats({ modules, chunks }, root, chunkGraph) {
1350
1361
  chunk && normalModule.addChunk(chunk);
1351
1362
  }), normal.source && normalModule.setSource({
1352
1363
  transformed: Buffer.isBuffer(normal.source) ? normal.source.toString() : normal.source
1353
- }), 'number' == typeof normal.size && normalModule.setSize({
1354
- sourceSize: normal.size,
1355
- transformedSize: normal.size
1356
- }), moduleGraph.addModule(normalModule), concatenatedModule.addNormalModule(normalModule);
1364
+ }), 'number' == typeof normal.size) {
1365
+ normalModule.setSize({
1366
+ sourceSize: normal.size,
1367
+ transformedSize: normal.size
1368
+ });
1369
+ let sizeData = {
1370
+ sourceSize: normal.size,
1371
+ transformedSize: normal.size
1372
+ };
1373
+ isJsonFile(normalModule.path) && (sizeData.parsedSize = normal.size), normalModule.setSize(sizeData);
1374
+ }
1375
+ moduleGraph.addModule(normalModule), concatenatedModule.addNormalModule(normalModule);
1357
1376
  }
1358
1377
  }
1359
1378
  for (let module of allModules){
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdoctor/graph",
3
- "version": "1.3.11",
3
+ "version": "1.3.12",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/web-infra-dev/rsdoctor",
@@ -25,8 +25,8 @@
25
25
  "es-toolkit": "^1.41.0",
26
26
  "path-browserify": "1.0.1",
27
27
  "source-map": "^0.7.6",
28
- "@rsdoctor/types": "1.3.11",
29
- "@rsdoctor/utils": "1.3.11"
28
+ "@rsdoctor/types": "1.3.12",
29
+ "@rsdoctor/utils": "1.3.12"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/body-parser": "1.19.6",