@bundle-stats/utils 4.3.0-beta.1 → 4.3.0-beta.3

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.
Files changed (58) hide show
  1. package/lib/config/index.js +1 -10
  2. package/lib/config/index.js.map +1 -1
  3. package/lib/constants.js +21 -1
  4. package/lib/constants.js.map +1 -1
  5. package/lib/jobs/create-job.js +2 -2
  6. package/lib/jobs/create-job.js.map +1 -1
  7. package/lib/report/create.js +2 -2
  8. package/lib/report/create.js.map +1 -1
  9. package/lib/utils/component-links.js +15 -3
  10. package/lib/utils/component-links.js.map +1 -1
  11. package/lib/webpack/extract/assets-size-total-insight.js +2 -2
  12. package/lib/webpack/extract/assets-size-total-insight.js.map +1 -1
  13. package/lib/webpack/extract/index.js +2 -0
  14. package/lib/webpack/extract/index.js.map +1 -1
  15. package/lib/webpack/extract/modules-packages-duplicate.js +95 -9
  16. package/lib/webpack/extract/modules-packages-duplicate.js.map +1 -1
  17. package/lib/webpack/extract/modules-packages-new-insight.js +57 -0
  18. package/lib/webpack/extract/modules-packages-new-insight.js.map +1 -0
  19. package/lib-esm/config/index.js +0 -9
  20. package/lib-esm/config/index.js.map +1 -1
  21. package/lib-esm/constants.js +20 -0
  22. package/lib-esm/constants.js.map +1 -1
  23. package/lib-esm/jobs/create-job.js +2 -2
  24. package/lib-esm/jobs/create-job.js.map +1 -1
  25. package/lib-esm/report/create.js +2 -2
  26. package/lib-esm/report/create.js.map +1 -1
  27. package/lib-esm/utils/component-links.js +14 -2
  28. package/lib-esm/utils/component-links.js.map +1 -1
  29. package/lib-esm/webpack/extract/assets-size-total-insight.js +1 -1
  30. package/lib-esm/webpack/extract/assets-size-total-insight.js.map +1 -1
  31. package/lib-esm/webpack/extract/index.js +2 -0
  32. package/lib-esm/webpack/extract/index.js.map +1 -1
  33. package/lib-esm/webpack/extract/modules-packages-duplicate.js +95 -8
  34. package/lib-esm/webpack/extract/modules-packages-duplicate.js.map +1 -1
  35. package/lib-esm/webpack/extract/modules-packages-new-insight.js +54 -0
  36. package/lib-esm/webpack/extract/modules-packages-new-insight.js.map +1 -0
  37. package/package.json +10 -10
  38. package/src/config/index.js +0 -10
  39. package/src/constants.ts +63 -12
  40. package/src/jobs/create-job.ts +2 -3
  41. package/src/report/create.ts +2 -3
  42. package/src/utils/component-links.ts +15 -2
  43. package/src/webpack/extract/assets-size-total-insight.js +1 -1
  44. package/src/webpack/extract/index.js +2 -0
  45. package/src/webpack/extract/modules-packages-duplicate.ts +148 -12
  46. package/src/webpack/extract/modules-packages-new-insight.ts +80 -0
  47. package/types/config/index.d.ts +0 -5
  48. package/types/constants.d.ts +55 -12
  49. package/types/utils/component-links.d.ts +2 -1
  50. package/types/webpack/extract/assets-size-total-insight.d.ts +2 -2
  51. package/types/webpack/extract/modules-packages-duplicate.d.ts +9 -17
  52. package/types/webpack/extract/modules-packages-new-insight.d.ts +8 -0
  53. package/lib/config/insights.js +0 -10
  54. package/lib/config/insights.js.map +0 -1
  55. package/lib-esm/config/insights.js +0 -7
  56. package/lib-esm/config/insights.js.map +0 -1
  57. package/src/config/insights.ts +0 -5
  58. package/types/config/insights.d.ts +0 -5
@@ -153,7 +153,7 @@ export const getBundleModulesByChunk = (chunkIds, chunkId, fileType = '') => ({
153
153
  },
154
154
  },
155
155
  });
156
- export const BUNLDE_PACKAGES_COUNT = {
156
+ export const BUNDLE_PACKAGES_COUNT = {
157
157
  section: SECTIONS.PACKAGES,
158
158
  title: I18N.COMPONENT_LINK_PACKAGES_COUNT,
159
159
  params: {
@@ -175,6 +175,18 @@ export const BUNDLE_PACKAGES_DUPLICATE = {
175
175
  },
176
176
  },
177
177
  };
178
+ export const BUNDLE_PACKAGES_DUPLICATE_NEW = {
179
+ section: SECTIONS.PACKAGES,
180
+ title: I18N.COMPONENT_LINK_PACKAGES_DUPLICATE,
181
+ params: {
182
+ [COMPONENT.BUNDLE_PACKAGES]: {
183
+ filters: {
184
+ [PACKAGE_FILTERS.CHANGED]: true,
185
+ [PACKAGE_FILTERS.DUPLICATE]: true,
186
+ },
187
+ },
188
+ },
189
+ };
178
190
  export const getBundleAssetsFileTypeComponentLink = (fileType, label) => ({
179
191
  section: SECTIONS.ASSETS,
180
192
  title: I18N.COMPONENT_LINK_BUNDLE_ASSETS_BY_FILE_TYPE({ label }),
@@ -222,7 +234,7 @@ export const METRIC_COMPONENT_LINKS = new Map([
222
234
  ['webpack.moduleCount', { link: BUNDLE_MODULES }],
223
235
  ['webpack.duplicateModulesCount', { link: BUNDLE_MODULES_DUPLICATE }],
224
236
  ['webpack.duplicateCode', { link: BUNDLE_MODULES_DUPLICATE }],
225
- ['webpack.packageCount', { link: BUNLDE_PACKAGES_COUNT }],
237
+ ['webpack.packageCount', { link: BUNDLE_PACKAGES_COUNT }],
226
238
  ['webpack.duplicatePackagesCount', { link: BUNDLE_PACKAGES_DUPLICATE }],
227
239
  ]);
228
240
  //# sourceMappingURL=component-links.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-links.js","sourceRoot":"","sources":["../../src/utils/component-links.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component-links.js","sourceRoot":"","sources":["../../src/utils/component-links.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { InsightType } from '../../config/insights';
1
+ import { InsightType } from '../../constants';
2
2
  import { getMetricRunInfo } from '../../utils/metrics';
3
3
  import { getMetricType } from '../utils';
4
4
  import { Metric } from '../types';
@@ -1 +1 @@
1
- {"version":3,"file":"assets-size-total-insight.js","sourceRoot":"","sources":["../../../src/webpack/extract/assets-size-total-insight.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,OAAO,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,sBAAsB,EAAE,EAAE,EAAE,CACnE,GAAG,MAAM,MAAM,YAAY,KAAK,sBAAsB,IAAI,CAAC;AAE7D,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,EAAE;;IAC5F,MAAM,YAAY,GAAG,CAAA,MAAA,MAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,OAAO,0CAAG,MAAM,CAAC,WAAW,CAAC,0CAAE,KAAK,KAAI,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,CAAA,MAAA,MAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,0CAAE,OAAO,0CAAG,MAAM,CAAC,WAAW,CAAC,0CAAE,KAAK,KAAI,CAAC,CAAC;IAE9F,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IACnE,MAAM,EAAE,sBAAsB,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAEtD,OAAO;QACL,QAAQ,EAAE;YACR,eAAe,EAAE;gBACf,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC;oBAC7E,EAAE,EAAE,OAAO,CAAC;wBACV,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,GAAG;wBAC3B,YAAY,EAAE,IAAI,YAAY,GAAG;wBACjC,sBAAsB,EAAE,IAAI,sBAAsB,GAAG;qBACtD,CAAC;oBACF,IAAI;iBACL;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"assets-size-total-insight.js","sourceRoot":"","sources":["../../../src/webpack/extract/assets-size-total-insight.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,OAAO,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,sBAAsB,EAAE,EAAE,EAAE,CACnE,GAAG,MAAM,MAAM,YAAY,KAAK,sBAAsB,IAAI,CAAC;AAE7D,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,EAAE;;IAC5F,MAAM,YAAY,GAAG,CAAA,MAAA,MAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,OAAO,0CAAG,MAAM,CAAC,WAAW,CAAC,0CAAE,KAAK,KAAI,CAAC,CAAC;IACrF,MAAM,aAAa,GAAG,CAAA,MAAA,MAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,0CAAE,OAAO,0CAAG,MAAM,CAAC,WAAW,CAAC,0CAAE,KAAK,KAAI,CAAC,CAAC;IAE9F,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IACnE,MAAM,EAAE,sBAAsB,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAEtD,OAAO;QACL,QAAQ,EAAE;YACR,eAAe,EAAE;gBACf,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC;oBAC7E,EAAE,EAAE,OAAO,CAAC;wBACV,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,GAAG;wBAC3B,YAAY,EAAE,IAAI,YAAY,GAAG;wBACjC,sBAAsB,EAAE,IAAI,sBAAsB,GAAG;qBACtD,CAAC;oBACF,IAAI;iBACL;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -10,6 +10,7 @@ import { extractModules } from './modules';
10
10
  import { extractModulesPackages } from './modules-packages';
11
11
  import { extractModulesPackagesCount } from './modules-packages-count';
12
12
  import { extractModulesPackagesDuplicate } from './modules-packages-duplicate';
13
+ import { extractModulesPackagesNewInsight } from './modules-packages-new-insight';
13
14
  const extractFns = [
14
15
  extractAssets,
15
16
  extractAssetsCacheInvalidation,
@@ -22,6 +23,7 @@ const extractFns = [
22
23
  extractModulesPackages,
23
24
  extractModulesPackagesCount,
24
25
  extractModulesPackagesDuplicate,
26
+ extractModulesPackagesNewInsight,
25
27
  ];
26
28
  export const extract = (webpackStats, baseline) => extractFns.reduce((agg, extractFn) => merge({}, agg, extractFn(webpackStats, agg, baseline)), {});
27
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/webpack/extract/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAE/E,MAAM,UAAU,GAAG;IACjB,aAAa;IACb,8BAA8B;IAC9B,uBAAuB;IACvB,kBAAkB;IAClB,iBAAiB;IACjB,6BAA6B;IAC7B,WAAW;IACX,cAAc;IACd,sBAAsB;IACtB,2BAA2B;IAC3B,+BAA+B;CAChC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,CAChD,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/webpack/extract/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAElF,MAAM,UAAU,GAAG;IACjB,aAAa;IACb,8BAA8B;IAC9B,uBAAuB;IACvB,kBAAkB;IAClB,iBAAiB;IACjB,6BAA6B;IAC7B,WAAW;IACX,cAAc;IACd,sBAAsB;IACtB,2BAA2B;IAC3B,+BAA+B;IAC/B,gCAAgC;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,CAChD,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC"}
@@ -1,9 +1,86 @@
1
1
  import map from 'lodash/map';
2
2
  import orderBy from 'lodash/orderBy';
3
3
  import sum from 'lodash/sum';
4
- import { InsightType } from '../../config';
5
- export const extractModulesPackagesDuplicate = (_, currentExtractedData) => {
6
- var _a;
4
+ import { InsightType, } from '../../constants';
5
+ export const getDuplicatePackagesInsight = (duplicatePackagesMap, baselineDuplicatePackagesMap) => {
6
+ const duplicateInstances = [];
7
+ const baselineDuplicateInstances = [];
8
+ const newDuplicateInstances = [];
9
+ const removedDuplicateInstances = [];
10
+ Object.entries(duplicatePackagesMap).forEach(([id, instances]) => {
11
+ instances.forEach((duplicateInstance) => {
12
+ var _a;
13
+ if (duplicateInstance === id) {
14
+ return;
15
+ }
16
+ duplicateInstances.push(duplicateInstance);
17
+ if ((_a = baselineDuplicatePackagesMap === null || baselineDuplicatePackagesMap === void 0 ? void 0 : baselineDuplicatePackagesMap[id]) === null || _a === void 0 ? void 0 : _a.includes(duplicateInstance)) {
18
+ return;
19
+ }
20
+ newDuplicateInstances.push(duplicateInstance);
21
+ });
22
+ });
23
+ if (baselineDuplicatePackagesMap) {
24
+ Object.entries(baselineDuplicatePackagesMap).forEach(([id, instances]) => {
25
+ instances.forEach((duplicateInstance) => {
26
+ var _a;
27
+ if (duplicateInstance === id) {
28
+ return;
29
+ }
30
+ baselineDuplicateInstances.push(duplicateInstance);
31
+ if ((_a = duplicatePackagesMap === null || duplicatePackagesMap === void 0 ? void 0 : duplicatePackagesMap[id]) === null || _a === void 0 ? void 0 : _a.includes(duplicateInstance)) {
32
+ return;
33
+ }
34
+ removedDuplicateInstances.push(duplicateInstance);
35
+ });
36
+ });
37
+ }
38
+ const duplicateInstancesCount = duplicateInstances.length;
39
+ const newDuplicateInstancesCount = newDuplicateInstances.length;
40
+ const removedDuplicateInstancesCount = removedDuplicateInstances.length;
41
+ let text;
42
+ let insightType;
43
+ if (newDuplicateInstancesCount > 0 && removedDuplicateInstancesCount > 0) {
44
+ const item = newDuplicateInstancesCount > 1 || removedDuplicateInstancesCount > 1 ? 'packages' : 'package';
45
+ text = `Bundle introduced ${newDuplicateInstancesCount} and removed ${removedDuplicateInstancesCount} duplicate ${item}`;
46
+ insightType = InsightType.ERROR;
47
+ }
48
+ else if (newDuplicateInstancesCount > 0 && baselineDuplicatePackagesMap) {
49
+ const item = newDuplicateInstancesCount > 1 ? 'packages' : 'package';
50
+ text = `Bundle introduced ${newDuplicateInstancesCount} duplicate ${item}`;
51
+ insightType = InsightType.ERROR;
52
+ }
53
+ else if (newDuplicateInstancesCount > 0) {
54
+ const item = newDuplicateInstancesCount > 1 ? 'packages' : 'package';
55
+ text = `Bundle contains ${newDuplicateInstancesCount} duplicate ${item}`;
56
+ insightType = InsightType.WARNING;
57
+ }
58
+ else if (removedDuplicateInstancesCount > 0) {
59
+ const item = removedDuplicateInstancesCount > 1 ? 'packages' : 'package';
60
+ text = `Bundle removed ${removedDuplicateInstancesCount} duplicate ${item}`;
61
+ insightType = InsightType.INFO;
62
+ }
63
+ else if (newDuplicateInstancesCount === 0 &&
64
+ removedDuplicateInstancesCount === 0 &&
65
+ duplicateInstancesCount > 0) {
66
+ const item = duplicateInstancesCount > 1 ? 'packages' : 'package';
67
+ text = `Bundle contains ${duplicateInstancesCount} duplicate ${item}`;
68
+ insightType = InsightType.WARNING;
69
+ }
70
+ else {
71
+ text = 'Bundle does not contain duplicate packages';
72
+ insightType = InsightType.INFO;
73
+ }
74
+ return {
75
+ type: insightType,
76
+ data: {
77
+ text,
78
+ packages: duplicatePackagesMap,
79
+ },
80
+ };
81
+ };
82
+ export const extractModulesPackagesDuplicate = (_, currentExtractedData, baselineJob) => {
83
+ var _a, _b, _c, _d, _e, _f, _g, _h;
7
84
  const source = ((_a = currentExtractedData === null || currentExtractedData === void 0 ? void 0 : currentExtractedData.metrics) === null || _a === void 0 ? void 0 : _a.packages) || {};
8
85
  const packagesByName = {};
9
86
  Object.entries(source).forEach(([packageId, packageData]) => {
@@ -30,8 +107,14 @@ export const extractModulesPackagesDuplicate = (_, currentExtractedData) => {
30
107
  children: packageGroupData.children,
31
108
  });
32
109
  });
110
+ const baselineDuplicatePackages = ((_e = (_d = (_c = (_b = baselineJob === null || baselineJob === void 0 ? void 0 : baselineJob.insights) === null || _b === void 0 ? void 0 : _b.webpack) === null || _c === void 0 ? void 0 : _c.duplicatePackagesV3) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.packages) ||
111
+ ((_h = (_g = (_f = baselineJob === null || baselineJob === void 0 ? void 0 : baselineJob.insights) === null || _f === void 0 ? void 0 : _f.webpack) === null || _g === void 0 ? void 0 : _g.duplicatePackages) === null || _h === void 0 ? void 0 : _h.data) ||
112
+ {};
33
113
  if (!count) {
34
114
  return {
115
+ insights: {
116
+ duplicatePackagesV3: getDuplicatePackagesInsight({}, baselineDuplicatePackages),
117
+ },
35
118
  metrics: {
36
119
  duplicatePackagesCount: {
37
120
  value: count,
@@ -46,16 +129,20 @@ export const extractModulesPackagesDuplicate = (_, currentExtractedData) => {
46
129
  children: orderBy(duplicatePackageData.children, 'value', 'desc'),
47
130
  },
48
131
  }), {});
49
- const data = Object.entries(duplicatePackagesByName).reduce((agg, [packageName, duplicatePackageData]) => ({
50
- ...agg,
51
- [packageName]: duplicatePackageData.children.map(({ id }) => id),
52
- }), {});
132
+ const duplicatePackagesData = {};
133
+ Object.entries(duplicatePackagesByName).forEach(([packageName, packageData]) => {
134
+ if (!duplicatePackagesData[packageName]) {
135
+ duplicatePackagesData[packageName] = [];
136
+ }
137
+ duplicatePackagesData[packageName] = packageData.children.map(({ id }) => id);
138
+ });
53
139
  return {
54
140
  insights: {
55
141
  duplicatePackages: {
56
142
  type: InsightType.WARNING,
57
- data,
143
+ data: duplicatePackagesData,
58
144
  },
145
+ duplicatePackagesV3: getDuplicatePackagesInsight(duplicatePackagesData, baselineDuplicatePackages),
59
146
  },
60
147
  metrics: {
61
148
  duplicatePackagesCount: {
@@ -1 +1 @@
1
- {"version":3,"file":"modules-packages-duplicate.js","sourceRoot":"","sources":["../../../src/webpack/extract/modules-packages-duplicate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modules-packages-duplicate.js","sourceRoot":"","sources":["../../../src/webpack/extract/modules-packages-duplicate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { InsightType } from '../../constants';
2
+ const getPackageNames = (packages) => {
3
+ const result = new Set();
4
+ Object.values(packages).forEach((metricPackage) => {
5
+ result.add(metricPackage.name);
6
+ });
7
+ return result;
8
+ };
9
+ const getText = (newPackages) => {
10
+ if (newPackages.length === 1) {
11
+ return `Bundle introduced one new package: ${newPackages[0]}`;
12
+ }
13
+ const firstNewPackages = newPackages.slice(0, 3);
14
+ const otherPackages = newPackages.slice(3);
15
+ const text = `Bundle introduced ${newPackages.length} new packages: ${firstNewPackages.join(', ')}`;
16
+ if (otherPackages.length === 0) {
17
+ return text;
18
+ }
19
+ if (otherPackages.length === 1) {
20
+ return `${text} and one more`;
21
+ }
22
+ return `${text} and ${otherPackages.length} more`;
23
+ };
24
+ export const extractModulesPackagesNewInsight = (_, currentExtractedData, baselineJob) => {
25
+ var _a, _b, _c;
26
+ const currentMetricPackages = (_a = currentExtractedData === null || currentExtractedData === void 0 ? void 0 : currentExtractedData.metrics) === null || _a === void 0 ? void 0 : _a.packages;
27
+ const baselineMetricPackages = (_c = (_b = baselineJob === null || baselineJob === void 0 ? void 0 : baselineJob.metrics) === null || _b === void 0 ? void 0 : _b.webpack) === null || _c === void 0 ? void 0 : _c.packages;
28
+ if (!baselineMetricPackages) {
29
+ return null;
30
+ }
31
+ const currentPackages = getPackageNames(currentMetricPackages);
32
+ const baselinePackages = getPackageNames(baselineMetricPackages);
33
+ const newPackages = [];
34
+ currentPackages.forEach((packageName) => {
35
+ if (!baselinePackages.has(packageName)) {
36
+ newPackages.push(packageName);
37
+ }
38
+ });
39
+ if (newPackages.length === 0) {
40
+ return null;
41
+ }
42
+ return {
43
+ insights: {
44
+ newPackages: {
45
+ type: InsightType.WARNING,
46
+ data: {
47
+ text: getText(newPackages),
48
+ packages: newPackages,
49
+ },
50
+ },
51
+ },
52
+ };
53
+ };
54
+ //# sourceMappingURL=modules-packages-new-insight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modules-packages-new-insight.js","sourceRoot":"","sources":["../../../src/webpack/extract/modules-packages-new-insight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,MAAM,iBAAiB,CAAC;AAShE,MAAM,eAAe,GAAG,CAAC,QAAkB,EAAe,EAAE;IAC1D,MAAM,MAAM,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEtC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QAChD,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,WAA0B,EAAE,EAAE;IAC7C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,OAAO,sCAAsC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D;IAED,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3C,MAAM,IAAI,GAAG,qBAAqB,WAAW,CAAC,MAAM,kBAAkB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAEpG,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO,GAAG,IAAI,eAAe,CAAC;KAC/B;IAED,OAAO,GAAG,IAAI,QAAQ,aAAa,CAAC,MAAM,OAAO,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,CAAM,EACN,oBAAyB,EACzB,WAAiB,EACc,EAAE;;IACjC,MAAM,qBAAqB,GAAG,MAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,OAAO,0CAAE,QAAoB,CAAC;IAClF,MAAM,sBAAsB,GAAG,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,0CAAE,OAAO,0CAAE,QAAoB,CAAC;IAGnF,IAAI,CAAC,sBAAsB,EAAE;QAC3B,OAAO,IAAI,CAAC;KACb;IAED,MAAM,eAAe,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC/D,MAAM,gBAAgB,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAEjE,MAAM,WAAW,GAAkB,EAAE,CAAC;IAEtC,eAAe,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YACtC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC/B;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,OAAO,IAAI,CAAC;KACb;IAED,OAAO;QACL,QAAQ,EAAE;YACR,WAAW,EAAE;gBACX,IAAI,EAAE,WAAW,CAAC,OAAO;gBACzB,IAAI,EAAE;oBACJ,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC;oBAC1B,QAAQ,EAAE,WAAW;iBACtB;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bundle-stats/utils",
3
- "version": "4.3.0-beta.1",
3
+ "version": "4.3.0-beta.3",
4
4
  "description": "BundleStats utils",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -35,28 +35,28 @@
35
35
  },
36
36
  "homepage": "https://github.com/relative-ci/bundle-stats/blob/master/packages/utils#readme",
37
37
  "dependencies": {
38
- "@bundle-stats/plugin-webpack-filter": "^4.3.0-beta.1",
39
- "@bundle-stats/plugin-webpack-validate": "^4.3.0-beta.1",
38
+ "@bundle-stats/plugin-webpack-filter": "^4.3.0-beta.3",
39
+ "@bundle-stats/plugin-webpack-validate": "^4.3.0-beta.3",
40
40
  "query-string": "7.1.3",
41
41
  "serialize-query-params": "2.0.2",
42
- "use-query-params": "2.1.2"
42
+ "use-query-params": "2.2.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@types/jest": "29.2.6",
45
+ "@types/jest": "29.4.0",
46
46
  "@types/lodash": "4.14.191",
47
47
  "core-js": "3.27.2",
48
- "jest": "29.3.1",
49
- "jest-cli": "29.3.1",
48
+ "jest": "29.4.2",
49
+ "jest-cli": "29.4.2",
50
50
  "jest-date-mock": "1.0.8",
51
51
  "lodash": "4.17.21",
52
52
  "regenerator-runtime": "0.13.11",
53
- "rimraf": "4.1.1",
53
+ "rimraf": "4.1.2",
54
54
  "ts-jest": "29.0.5",
55
- "typescript": "4.9.4"
55
+ "typescript": "4.9.5"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "core-js": "^3.0.0",
59
59
  "lodash": "^4.0.0"
60
60
  },
61
- "gitHead": "3f34b96d46d38d7324d9460fd19bc060786eb320"
61
+ "gitHead": "b9dff5b3797a3a8bb5bc5afce1900a56080c9ba4"
62
62
  }
@@ -1,17 +1,7 @@
1
1
  export * from './component-links';
2
2
  export * from './file-types';
3
- export * from './insights';
4
3
  export * from './metrics';
5
4
  export * from './delta';
6
5
 
7
6
  export const PACKAGES_SEPARATOR = ':';
8
7
  export const PACKAGE_ID_SEPARATOR = '~';
9
-
10
- export const SOURCE_PATH_WEBPACK_STATS = 'webpack';
11
- export const SOURCE_PATH_LIGHTHOUSE = 'lighthouse';
12
- export const SOURCE_PATH_BROWSERTIME = 'browsertime';
13
- export const SOURCE_PATHS = [
14
- SOURCE_PATH_WEBPACK_STATS,
15
- SOURCE_PATH_LIGHTHOUSE,
16
- SOURCE_PATH_BROWSERTIME,
17
- ];
package/src/constants.ts CHANGED
@@ -1,11 +1,23 @@
1
+ export enum Source {
2
+ webpack = 'webpack',
3
+ lighthouse = 'lighthouse',
4
+ browsertime = 'browsertime',
5
+ }
6
+
1
7
  export type SourceData = Record<string, unknown>;
2
8
 
9
+ export enum InsightType {
10
+ ERROR = 'error',
11
+ INFO = 'info',
12
+ WARNING = 'warning',
13
+ }
14
+
3
15
  export enum MetricTypeType {
4
- 'METRIC_TYPE_NUMERIC' = 'METRIC_TYPE_NUMERIC',
5
- 'METRIC_TYPE_SCORE' = 'METRIC_TYPE_SCORE',
6
- 'METRIC_TYPE_FILE_SIZE' = 'METRIC_TYPE_FILE_SIZE',
7
- 'METRIC_TYPE_DURATION' = 'METRIC_TYPE_DURATION',
8
- 'METRIC_TYPE_PERCENTAGE' = 'METRIC_TYPE_PERCENTAGE',
16
+ METRIC_TYPE_NUMERIC = 'METRIC_TYPE_NUMERIC',
17
+ METRIC_TYPE_SCORE = 'METRIC_TYPE_SCORE',
18
+ METRIC_TYPE_FILE_SIZE = 'METRIC_TYPE_FILE_SIZE',
19
+ METRIC_TYPE_DURATION = 'METRIC_TYPE_DURATION',
20
+ METRIC_TYPE_PERCENTAGE = 'METRIC_TYPE_PERCENTAGE',
9
21
  }
10
22
 
11
23
  export interface MetricTypeConfig {
@@ -43,22 +55,61 @@ export interface MetricRunInfo {
43
55
  displayDeltaPercentage?: string;
44
56
  }
45
57
 
58
+ export type JobSection<T = object> = Record<Source, T>;
59
+
60
+ export enum JobSectionId {
61
+ meta = 'meta',
62
+ insights = 'insights',
63
+ summary = 'summary',
64
+ metrics = 'metrics',
65
+ rawData = 'rawData',
66
+ }
67
+
46
68
  export interface JobSummaryItem {
47
69
  baseline: number;
48
70
  current: number;
49
71
  }
72
+
73
+ export interface JobInsight<T = object> {
74
+ type: InsightType;
75
+ data: T & { text?: string };
76
+ }
77
+
78
+ export interface JobInsightAssetsSizeTotalData {
79
+ md: string;
80
+ info: MetricRunInfo;
81
+ }
82
+ export type JobInsightDuplicatePackagesData = Record<string, Array<string>>;
83
+
84
+ export interface JobInsightDuplicatePackagesV3Data {
85
+ packages: Record<string, Array<string>>;
86
+ }
87
+
88
+ export interface JobInsightNewPackagesData {
89
+ packages: Array<string>;
90
+ }
91
+
50
92
  export type JobSummarySource = Record<string, JobSummaryItem>;
51
- export type JobSummary = Record<string, JobSummarySource>;
93
+ export type JobSummary = JobSection<JobSummarySource>;
94
+
95
+ export interface JobInsights {
96
+ [Source.webpack]: {
97
+ assetsSizeTotal: JobInsight<JobInsightAssetsSizeTotalData>;
98
+ duplicatePackages?: JobInsight<JobInsightDuplicatePackagesData>;
99
+ duplicatePackagesV3?: JobInsight<JobInsightDuplicatePackagesV3Data>;
100
+ newPackages?: JobInsight<JobInsightNewPackagesData>;
101
+ };
102
+ }
52
103
 
53
104
  export type JobMetricsSource = Record<string, MetricRun | Record<string, MetricRun>>;
54
- export type JobMetrics = Record<string, JobMetricsSource>;
105
+ export type JobMetrics = JobSection<JobMetricsSource>;
55
106
 
56
107
  export interface JobData {
57
- meta?: any;
58
- insights?: any;
59
- summary?: JobSummary;
60
- metrics?: JobMetrics;
61
- rawData?: any;
108
+ [JobSectionId.meta]?: JobSection;
109
+ [JobSectionId.insights]?: JobInsights;
110
+ [JobSectionId.summary]?: JobSummary;
111
+ [JobSectionId.metrics]?: JobMetrics;
112
+ [JobSectionId.rawData]?: JobSection;
62
113
  }
63
114
 
64
115
  export interface Job extends JobData {
@@ -1,11 +1,10 @@
1
1
  import merge from 'lodash/merge';
2
2
 
3
- import { SOURCE_PATHS } from '../config';
4
3
  import { createSummary } from './create-summary';
5
4
  import * as webpack from '../webpack';
6
5
  import * as lighthouse from '../lighthouse';
7
6
  import * as browsertime from '../browsertime';
8
- import { JobData, JobMetricsSource, SourceData } from '../constants';
7
+ import { JobData, JobMetricsSource, Source, SourceData } from '../constants';
9
8
 
10
9
  interface SourceResult {
11
10
  meta: {};
@@ -21,7 +20,7 @@ interface SourceModule {
21
20
  const SOURCE_MODULES: Record<string, SourceModule> = { webpack, lighthouse, browsertime };
22
21
 
23
22
  export const createJob = (source: SourceData, baseline?: JobData): JobData =>
24
- SOURCE_PATHS.reduce((agg, sourcePath) => {
23
+ Object.values(Source).reduce((agg, sourcePath) => {
25
24
  const rawData = source[sourcePath];
26
25
 
27
26
  if (!rawData) {
@@ -1,7 +1,6 @@
1
1
  import isEmpty from 'lodash/isEmpty';
2
2
 
3
- import { SOURCE_PATHS } from '../config';
4
- import { MetricRunInfo, Job, JobSummarySource } from '../constants';
3
+ import { MetricRunInfo, Job, JobSummarySource, Source } from '../constants';
5
4
  import { getGlobalMetricType, getMetricRunInfo } from '../utils/metrics';
6
5
  import * as webpack from '../webpack';
7
6
  /* @ts-ignore */
@@ -30,7 +29,7 @@ export const createReport = (jobs: Array<Job>): Report => {
30
29
  // Add summary report data
31
30
  const summary: Record<string, Array<ReportMetricRunInfo>> = {};
32
31
 
33
- SOURCE_PATHS.forEach((sourceId) => {
32
+ Object.values(Source).forEach((sourceId) => {
34
33
  const sourceSummary = jobs[0]?.summary?.[sourceId] as JobSummarySource;
35
34
 
36
35
  if (!sourceSummary) {
@@ -221,7 +221,7 @@ export const getBundleModulesByChunk = (
221
221
  },
222
222
  });
223
223
 
224
- export const BUNLDE_PACKAGES_COUNT: ComponentLink = {
224
+ export const BUNDLE_PACKAGES_COUNT: ComponentLink = {
225
225
  section: SECTIONS.PACKAGES,
226
226
  title: I18N.COMPONENT_LINK_PACKAGES_COUNT,
227
227
  params: {
@@ -246,6 +246,19 @@ export const BUNDLE_PACKAGES_DUPLICATE: ComponentLink = {
246
246
  },
247
247
  };
248
248
 
249
+ export const BUNDLE_PACKAGES_DUPLICATE_NEW: ComponentLink = {
250
+ section: SECTIONS.PACKAGES,
251
+ title: I18N.COMPONENT_LINK_PACKAGES_DUPLICATE,
252
+ params: {
253
+ [COMPONENT.BUNDLE_PACKAGES]: {
254
+ filters: {
255
+ [PACKAGE_FILTERS.CHANGED]: true,
256
+ [PACKAGE_FILTERS.DUPLICATE]: true,
257
+ },
258
+ },
259
+ },
260
+ };
261
+
249
262
  export const getBundleAssetsFileTypeComponentLink = (
250
263
  fileType: string,
251
264
  label: string,
@@ -303,6 +316,6 @@ export const METRIC_COMPONENT_LINKS = new Map([
303
316
  ['webpack.moduleCount', { link: BUNDLE_MODULES }],
304
317
  ['webpack.duplicateModulesCount', { link: BUNDLE_MODULES_DUPLICATE }],
305
318
  ['webpack.duplicateCode', { link: BUNDLE_MODULES_DUPLICATE }],
306
- ['webpack.packageCount', { link: BUNLDE_PACKAGES_COUNT }],
319
+ ['webpack.packageCount', { link: BUNDLE_PACKAGES_COUNT }],
307
320
  ['webpack.duplicatePackagesCount', { link: BUNDLE_PACKAGES_DUPLICATE }],
308
321
  ]);
@@ -1,4 +1,4 @@
1
- import { InsightType } from '../../config/insights';
1
+ import { InsightType } from '../../constants';
2
2
  import { getMetricRunInfo } from '../../utils/metrics';
3
3
  import { getMetricType } from '../utils';
4
4
  import { Metric } from '../types';
@@ -11,6 +11,7 @@ import { extractModules } from './modules';
11
11
  import { extractModulesPackages } from './modules-packages';
12
12
  import { extractModulesPackagesCount } from './modules-packages-count';
13
13
  import { extractModulesPackagesDuplicate } from './modules-packages-duplicate';
14
+ import { extractModulesPackagesNewInsight } from './modules-packages-new-insight';
14
15
 
15
16
  const extractFns = [
16
17
  extractAssets,
@@ -24,6 +25,7 @@ const extractFns = [
24
25
  extractModulesPackages,
25
26
  extractModulesPackagesCount,
26
27
  extractModulesPackagesDuplicate,
28
+ extractModulesPackagesNewInsight,
27
29
  ];
28
30
 
29
31
  export const extract = (webpackStats, baseline) =>