@bundle-stats/utils 4.2.0-beta.1 → 4.3.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.
Files changed (104) hide show
  1. package/lib/config/insights.js +7 -5
  2. package/lib/config/insights.js.map +1 -1
  3. package/lib/constants.js +12 -12
  4. package/lib/constants.js.map +1 -1
  5. package/lib/index.js +1 -0
  6. package/lib/index.js.map +1 -1
  7. package/lib/jobs/create-job.js +21 -10
  8. package/lib/jobs/create-job.js.map +1 -1
  9. package/lib/jobs/create-jobs.js +13 -17
  10. package/lib/jobs/create-jobs.js.map +1 -1
  11. package/lib/jobs/create-summary.js +10 -11
  12. package/lib/jobs/create-summary.js.map +1 -1
  13. package/lib/jobs/index.js.map +1 -1
  14. package/lib/lighthouse/filter.js.map +1 -1
  15. package/lib/report/create.js +10 -15
  16. package/lib/report/create.js.map +1 -1
  17. package/lib/utils/metrics.js.map +1 -1
  18. package/lib/webpack/constants.js +12 -11
  19. package/lib/webpack/constants.js.map +1 -1
  20. package/lib/webpack/extract/assets-size-total-insight.js +5 -5
  21. package/lib/webpack/extract/assets-size-total-insight.js.map +1 -1
  22. package/lib/webpack/extract/assets-size.js +3 -4
  23. package/lib/webpack/extract/assets-size.js.map +1 -1
  24. package/lib/webpack/extract/modules-packages-duplicate.js +26 -36
  25. package/lib/webpack/extract/modules-packages-duplicate.js.map +1 -1
  26. package/lib/webpack/extract/modules-packages.js.map +1 -1
  27. package/lib/webpack/extract/modules.js +0 -2
  28. package/lib/webpack/extract/modules.js.map +1 -1
  29. package/lib/webpack/metrics.js +27 -25
  30. package/lib/webpack/metrics.js.map +1 -1
  31. package/lib/webpack/types.js +24 -0
  32. package/lib/webpack/types.js.map +1 -1
  33. package/lib-esm/config/insights.js +6 -4
  34. package/lib-esm/config/insights.js.map +1 -1
  35. package/lib-esm/constants.js +12 -12
  36. package/lib-esm/constants.js.map +1 -1
  37. package/lib-esm/index.js +1 -0
  38. package/lib-esm/index.js.map +1 -1
  39. package/lib-esm/jobs/create-job.js +22 -10
  40. package/lib-esm/jobs/create-job.js.map +1 -1
  41. package/lib-esm/jobs/create-jobs.js +13 -14
  42. package/lib-esm/jobs/create-jobs.js.map +1 -1
  43. package/lib-esm/jobs/create-summary.js +10 -11
  44. package/lib-esm/jobs/create-summary.js.map +1 -1
  45. package/lib-esm/jobs/index.js.map +1 -1
  46. package/lib-esm/lighthouse/filter.js.map +1 -1
  47. package/lib-esm/report/create.js +10 -15
  48. package/lib-esm/report/create.js.map +1 -1
  49. package/lib-esm/utils/metrics.js.map +1 -1
  50. package/lib-esm/webpack/constants.js +12 -11
  51. package/lib-esm/webpack/constants.js.map +1 -1
  52. package/lib-esm/webpack/extract/assets-size-total-insight.js +6 -6
  53. package/lib-esm/webpack/extract/assets-size-total-insight.js.map +1 -1
  54. package/lib-esm/webpack/extract/assets-size.js +3 -4
  55. package/lib-esm/webpack/extract/assets-size.js.map +1 -1
  56. package/lib-esm/webpack/extract/modules-packages-duplicate.js +28 -37
  57. package/lib-esm/webpack/extract/modules-packages-duplicate.js.map +1 -1
  58. package/lib-esm/webpack/extract/modules-packages.js.map +1 -1
  59. package/lib-esm/webpack/extract/modules.js +0 -3
  60. package/lib-esm/webpack/extract/modules.js.map +1 -1
  61. package/lib-esm/webpack/metrics.js +27 -25
  62. package/lib-esm/webpack/metrics.js.map +1 -1
  63. package/lib-esm/webpack/types.js +23 -1
  64. package/lib-esm/webpack/types.js.map +1 -1
  65. package/package.json +11 -10
  66. package/src/config/insights.ts +5 -0
  67. package/src/constants.ts +38 -15
  68. package/src/index.js +1 -0
  69. package/src/jobs/create-job.ts +62 -0
  70. package/src/jobs/create-jobs.ts +28 -0
  71. package/src/jobs/create-summary.ts +22 -0
  72. package/src/jobs/{index.js → index.ts} +0 -0
  73. package/src/lighthouse/filter.js +8 -5
  74. package/src/report/create.ts +31 -23
  75. package/src/utils/metrics.js +8 -7
  76. package/src/webpack/constants.js +13 -11
  77. package/src/webpack/extract/assets-size-total-insight.js +6 -7
  78. package/src/webpack/extract/assets-size.js +29 -24
  79. package/src/webpack/extract/modules-packages-duplicate.ts +105 -0
  80. package/src/webpack/extract/modules-packages.ts +1 -1
  81. package/src/webpack/extract/modules.ts +1 -4
  82. package/src/webpack/metrics.js +27 -25
  83. package/src/webpack/types.ts +31 -7
  84. package/types/config/insights.d.ts +5 -4
  85. package/types/constants.d.ts +33 -15
  86. package/types/index.d.ts +1 -0
  87. package/types/jobs/create-job.d.ts +2 -1
  88. package/types/jobs/create-jobs.d.ts +2 -1
  89. package/types/jobs/create-summary.d.ts +4 -1
  90. package/types/jobs/index.d.ts +2 -2
  91. package/types/lighthouse/filter.d.ts +1 -1
  92. package/types/report/add-row-metric-data.d.ts +10 -1
  93. package/types/report/create.d.ts +14 -12
  94. package/types/utils/metrics.d.ts +1 -1
  95. package/types/webpack/constants.d.ts +2 -1
  96. package/types/webpack/extract/assets-size-total-insight.d.ts +3 -2
  97. package/types/webpack/extract/modules-packages-duplicate.d.ts +5 -4
  98. package/types/webpack/extract/modules-packages.d.ts +1 -1
  99. package/types/webpack/types.d.ts +29 -8
  100. package/src/config/insights.js +0 -5
  101. package/src/jobs/create-job.js +0 -46
  102. package/src/jobs/create-jobs.js +0 -26
  103. package/src/jobs/create-summary.js +0 -16
  104. package/src/webpack/extract/modules-packages-duplicate.js +0 -102
@@ -2,75 +2,77 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.metrics = void 0;
4
4
  const metrics_1 = require("../config/metrics");
5
+ const file_types_1 = require("../config/file-types");
6
+ const types_1 = require("./types");
5
7
  exports.metrics = {
6
- totalSizeByTypeALL: {
8
+ [types_1.Metric.BUNDLE_SIZE]: {
7
9
  label: 'Bundle Size',
8
10
  description: 'The total size of the assets produced by webpack',
9
11
  url: 'https://relative-ci.com/documentation/metrics-and-data#assets',
10
12
  type: metrics_1.METRIC_TYPE_FILE_SIZE,
11
13
  },
12
- totalInitialSizeJS: {
14
+ [types_1.Metric.INITIAL_SIZE_JS]: {
13
15
  label: 'Initial JS',
14
16
  description: 'The total size of JavaScript initial chunks',
15
17
  url: 'https://relative-ci.com/documentation/metrics-and-data#assets',
16
18
  type: metrics_1.METRIC_TYPE_FILE_SIZE,
17
19
  },
18
- totalInitialSizeCSS: {
20
+ [types_1.Metric.INITIAL_SIZE_CSS]: {
19
21
  label: 'Initial CSS',
20
22
  description: 'The total size of CSS initial chunks',
21
23
  url: 'https://relative-ci.com/documentation/metrics-and-data#assets',
22
24
  type: metrics_1.METRIC_TYPE_FILE_SIZE,
23
25
  },
24
- cacheInvalidation: {
26
+ [types_1.Metric.CACHE_INVALIDATION]: {
25
27
  label: 'Cache Invalidation',
26
28
  description: 'The ratio between the total changed assets and total assets size(Bundle Size)',
27
29
  url: 'https://relative-ci.com/documentation/metrics-and-data#assets',
28
30
  type: metrics_1.METRIC_TYPE_PERCENTAGE,
29
31
  biggerIsBetter: false,
30
32
  },
31
- chunkCount: {
33
+ [types_1.Metric.CHUNK_COUNT]: {
32
34
  label: 'Chunks',
33
35
  description: 'The total number of chunks',
34
36
  url: 'https://relative-ci.com/documentation/metrics-and-data#assets',
35
37
  type: metrics_1.METRIC_TYPE_NUMERIC,
36
38
  biggerIsBetter: false,
37
39
  },
38
- assetCount: {
40
+ [types_1.Metric.ASSET_COUNT]: {
39
41
  label: 'Assets',
40
42
  description: 'Total number of assets',
41
43
  url: 'https://relative-ci.com/documentation/metrics-and-data#assets',
42
44
  type: metrics_1.METRIC_TYPE_NUMERIC,
43
45
  biggerIsBetter: false,
44
46
  },
45
- moduleCount: {
47
+ [types_1.Metric.MODULE_COUNT]: {
46
48
  label: 'Modules',
47
49
  description: 'The total number of modules bundled by webpack',
48
50
  url: 'https://relative-ci.com/documentation/metrics-and-data#modules-1',
49
51
  type: metrics_1.METRIC_TYPE_NUMERIC,
50
52
  biggerIsBetter: false,
51
53
  },
52
- duplicateModulesCount: {
54
+ [types_1.Metric.DUPLICATE_MODULES_COUNT]: {
53
55
  label: 'Duplicate Modules',
54
56
  description: 'The total number of modules that belong to more than one chunk',
55
57
  url: 'https://relative-ci.com/documentation/metrics-and-data#modules-1',
56
58
  type: metrics_1.METRIC_TYPE_NUMERIC,
57
59
  biggerIsBetter: false,
58
60
  },
59
- duplicateCode: {
61
+ [types_1.Metric.DUPLICATE_CODE]: {
60
62
  label: 'Duplicate Code',
61
63
  description: 'The percentage of total duplicate module size from the total module size',
62
64
  url: 'https://relative-ci.com/documentation/metrics-and-data#modules-1',
63
65
  type: metrics_1.METRIC_TYPE_PERCENTAGE,
64
66
  biggerIsBetter: false,
65
67
  },
66
- packageCount: {
68
+ [types_1.Metric.PACKAGE_COUNT]: {
67
69
  label: 'Packages',
68
70
  description: 'The total number of packages bundled by webpack',
69
71
  url: 'https://relative-ci.com/documentation/metrics-and-data#packages',
70
72
  type: metrics_1.METRIC_TYPE_NUMERIC,
71
73
  biggerIsBetter: false,
72
74
  },
73
- duplicatePackagesCount: {
75
+ [types_1.Metric.DUPLICATE_PACKAGES_COUNT]: {
74
76
  label: 'Duplicate Packages',
75
77
  description: 'The total number of duplicate packages',
76
78
  url: 'https://relative-ci.com/documentation/metrics-and-data#packages',
@@ -78,32 +80,32 @@ exports.metrics = {
78
80
  biggerIsBetter: false,
79
81
  },
80
82
  sizes: {
81
- totalSizeByTypeJS: {
82
- label: 'JS',
83
+ [types_1.Metric.TOTAL_SIZE_JS]: {
84
+ label: file_types_1.FILE_TYPE_LABELS.JS,
83
85
  type: metrics_1.METRIC_TYPE_FILE_SIZE,
84
86
  },
85
- totalSizeByTypeCSS: {
86
- label: 'CSS',
87
+ [types_1.Metric.TOTAL_SIZE_CSS]: {
88
+ label: file_types_1.FILE_TYPE_LABELS.CSS,
87
89
  type: metrics_1.METRIC_TYPE_FILE_SIZE,
88
90
  },
89
- totalSizeByTypeIMG: {
90
- label: 'IMG',
91
+ [types_1.Metric.TOTAL_SIZE_IMG]: {
92
+ label: file_types_1.FILE_TYPE_LABELS.IMG,
91
93
  type: metrics_1.METRIC_TYPE_FILE_SIZE,
92
94
  },
93
- totalSizeByTypeMEDIA: {
94
- label: 'Media',
95
+ [types_1.Metric.TOTAL_SIZE_MEDIA]: {
96
+ label: file_types_1.FILE_TYPE_LABELS.MEDIA,
95
97
  type: metrics_1.METRIC_TYPE_FILE_SIZE,
96
98
  },
97
- totalSizeByTypeFONT: {
98
- label: 'Fonts',
99
+ [types_1.Metric.TOTAL_SIZE_FONT]: {
100
+ label: file_types_1.FILE_TYPE_LABELS.FONT,
99
101
  type: metrics_1.METRIC_TYPE_FILE_SIZE,
100
102
  },
101
- totalSizeByTypeHTML: {
102
- label: 'HTML',
103
+ [types_1.Metric.TOTAL_SIZE_HTML]: {
104
+ label: file_types_1.FILE_TYPE_LABELS.HTML,
103
105
  type: metrics_1.METRIC_TYPE_FILE_SIZE,
104
106
  },
105
- totalSizeByTypeOTHER: {
106
- label: 'Other',
107
+ [types_1.Metric.TOTAL_SIZE_OTHER]: {
108
+ label: file_types_1.FILE_TYPE_LABELS.OTHER,
107
109
  type: metrics_1.METRIC_TYPE_FILE_SIZE,
108
110
  },
109
111
  },
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/webpack/metrics.js"],"names":[],"mappings":";;;AAAA,+CAI2B;AAEd,QAAA,OAAO,GAAG;IACrB,kBAAkB,EAAE;QAClB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,kDAAkD;QAC/D,GAAG,EAAE,+DAA+D;QACpE,IAAI,EAAE,+BAAqB;KAC5B;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,6CAA6C;QAC1D,GAAG,EAAE,+DAA+D;QACpE,IAAI,EAAE,+BAAqB;KAC5B;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,sCAAsC;QACnD,GAAG,EAAE,+DAA+D;QACpE,IAAI,EAAE,+BAAqB;KAC5B;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,+EAA+E;QAC5F,GAAG,EAAE,+DAA+D;QACpE,IAAI,EAAE,gCAAsB;QAC5B,cAAc,EAAE,KAAK;KACtB;IACD,UAAU,EAAE;QACV,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,4BAA4B;QACzC,GAAG,EAAE,+DAA+D;QACpE,IAAI,EAAE,6BAAmB;QACzB,cAAc,EAAE,KAAK;KACtB;IACD,UAAU,EAAE;QACV,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,wBAAwB;QACrC,GAAG,EAAE,+DAA+D;QACpE,IAAI,EAAE,6BAAmB;QACzB,cAAc,EAAE,KAAK;KACtB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,gDAAgD;QAC7D,GAAG,EAAE,kEAAkE;QACvE,IAAI,EAAE,6BAAmB;QACzB,cAAc,EAAE,KAAK;KACtB;IACD,qBAAqB,EAAE;QACrB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,gEAAgE;QAC7E,GAAG,EAAE,kEAAkE;QACvE,IAAI,EAAE,6BAAmB;QACzB,cAAc,EAAE,KAAK;KACtB;IACD,aAAa,EAAE;QACb,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,0EAA0E;QACvF,GAAG,EAAE,kEAAkE;QACvE,IAAI,EAAE,gCAAsB;QAC5B,cAAc,EAAE,KAAK;KACtB;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,iDAAiD;QAC9D,GAAG,EAAE,iEAAiE;QACtE,IAAI,EAAE,6BAAmB;QACzB,cAAc,EAAE,KAAK;KACtB;IACD,sBAAsB,EAAE;QACtB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,wCAAwC;QACrD,GAAG,EAAE,iEAAiE;QACtE,IAAI,EAAE,6BAAmB;QACzB,cAAc,EAAE,KAAK;KACtB;IACD,KAAK,EAAE;QACL,iBAAiB,EAAE;YACjB,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,+BAAqB;SAC5B;QACD,kBAAkB,EAAE;YAClB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,+BAAqB;SAC5B;QACD,kBAAkB,EAAE;YAClB,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,+BAAqB;SAC5B;QACD,oBAAoB,EAAE;YACpB,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,+BAAqB;SAC5B;QACD,mBAAmB,EAAE;YACnB,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,+BAAqB;SAC5B;QACD,mBAAmB,EAAE;YACnB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,+BAAqB;SAC5B;QACD,oBAAoB,EAAE;YACpB,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,+BAAqB;SAC5B;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/webpack/metrics.js"],"names":[],"mappings":"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"}
@@ -1,3 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Metric = exports.METRIC_TOTALS_PREFIX = exports.METRIC_TOTALS_SUFIX_ALL = void 0;
4
+ exports.METRIC_TOTALS_SUFIX_ALL = 'ALL';
5
+ exports.METRIC_TOTALS_PREFIX = 'totalSizeByType';
6
+ var Metric;
7
+ (function (Metric) {
8
+ Metric["BUNDLE_SIZE"] = "totalSizeByTypeALL";
9
+ Metric["INITIAL_SIZE_JS"] = "totalInitialSizeJS";
10
+ Metric["INITIAL_SIZE_CSS"] = "totalInitialSizeCSS";
11
+ Metric["CACHE_INVALIDATION"] = "cacheInvalidation";
12
+ Metric["ASSET_COUNT"] = "assetCount";
13
+ Metric["CHUNK_COUNT"] = "chunkCount";
14
+ Metric["MODULE_COUNT"] = "moduleCount";
15
+ Metric["DUPLICATE_MODULES_COUNT"] = "duplicateModulesCount";
16
+ Metric["DUPLICATE_CODE"] = "duplicateCode";
17
+ Metric["PACKAGE_COUNT"] = "packageCount";
18
+ Metric["DUPLICATE_PACKAGES_COUNT"] = "duplicatePackagesCount";
19
+ Metric["TOTAL_SIZE_JS"] = "totalSizeByTypeJS";
20
+ Metric["TOTAL_SIZE_CSS"] = "totalSizeByTypeCSS";
21
+ Metric["TOTAL_SIZE_IMG"] = "totalSizeByTypeIMG";
22
+ Metric["TOTAL_SIZE_MEDIA"] = "totalSizeByTypeMEDIA";
23
+ Metric["TOTAL_SIZE_FONT"] = "totalSizeByTypeFONT";
24
+ Metric["TOTAL_SIZE_HTML"] = "totalSizeByTypeHTML";
25
+ Metric["TOTAL_SIZE_OTHER"] = "totalSizeByTypeOTHER";
26
+ })(Metric = exports.Metric || (exports.Metric = {}));
3
27
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/webpack/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/webpack/types.ts"],"names":[],"mappings":";;;AAEa,QAAA,uBAAuB,GAAG,KAAK,CAAC;AAChC,QAAA,oBAAoB,GAAG,iBAAiB,CAAC;AAEtD,IAAY,MAmBX;AAnBD,WAAY,MAAM;IAChB,4CAAkC,CAAA;IAClC,gDAAsC,CAAA;IACtC,kDAAwC,CAAA;IACxC,kDAAwC,CAAA;IACxC,oCAA0B,CAAA;IAC1B,oCAA0B,CAAA;IAC1B,sCAA4B,CAAA;IAC5B,2DAAiD,CAAA;IACjD,0CAAgC,CAAA;IAChC,wCAA8B,CAAA;IAC9B,6DAAmD,CAAA;IACnD,6CAAmC,CAAA;IACnC,+CAAqC,CAAA;IACrC,+CAAqC,CAAA;IACrC,mDAAyC,CAAA;IACzC,iDAAuC,CAAA;IACvC,iDAAuC,CAAA;IACvC,mDAAyC,CAAA;AAC3C,CAAC,EAnBW,MAAM,GAAN,cAAM,KAAN,cAAM,QAmBjB"}
@@ -1,5 +1,7 @@
1
- export const INSIGHT_ERROR = 'ERROR';
2
- export const INSIGHT_INFO = 'INFO';
3
- export const INSIGHT_WARNING = 'WARNING';
4
- export const INSIGHTS = [INSIGHT_ERROR, INSIGHT_INFO, INSIGHT_WARNING];
1
+ export var InsightType;
2
+ (function (InsightType) {
3
+ InsightType["ERROR"] = "ERROR";
4
+ InsightType["INFO"] = "INFO";
5
+ InsightType["WARNING"] = "WARNING";
6
+ })(InsightType || (InsightType = {}));
5
7
  //# sourceMappingURL=insights.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/config/insights.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AACrC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC;AAEzC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,aAAa,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/config/insights.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,kCAAmB,CAAA;AACrB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB"}
@@ -1,19 +1,19 @@
1
1
  export var MetricTypeType;
2
2
  (function (MetricTypeType) {
3
- MetricTypeType[MetricTypeType["METRIC_TYPE_NUMERIC"] = 0] = "METRIC_TYPE_NUMERIC";
4
- MetricTypeType[MetricTypeType["METRIC_TYPE_SCORE"] = 1] = "METRIC_TYPE_SCORE";
5
- MetricTypeType[MetricTypeType["METRIC_TYPE_FILE_SIZE"] = 2] = "METRIC_TYPE_FILE_SIZE";
6
- MetricTypeType[MetricTypeType["METRIC_TYPE_DURATION"] = 3] = "METRIC_TYPE_DURATION";
7
- MetricTypeType[MetricTypeType["METRIC_TYPE_PERCENTAGE"] = 4] = "METRIC_TYPE_PERCENTAGE";
3
+ MetricTypeType["METRIC_TYPE_NUMERIC"] = "METRIC_TYPE_NUMERIC";
4
+ MetricTypeType["METRIC_TYPE_SCORE"] = "METRIC_TYPE_SCORE";
5
+ MetricTypeType["METRIC_TYPE_FILE_SIZE"] = "METRIC_TYPE_FILE_SIZE";
6
+ MetricTypeType["METRIC_TYPE_DURATION"] = "METRIC_TYPE_DURATION";
7
+ MetricTypeType["METRIC_TYPE_PERCENTAGE"] = "METRIC_TYPE_PERCENTAGE";
8
8
  })(MetricTypeType || (MetricTypeType = {}));
9
9
  export var MetricRunInfoDeltaType;
10
10
  (function (MetricRunInfoDeltaType) {
11
- MetricRunInfoDeltaType[MetricRunInfoDeltaType["HIGH_NEGATIVE"] = 0] = "HIGH_NEGATIVE";
12
- MetricRunInfoDeltaType[MetricRunInfoDeltaType["NEGATIVE"] = 1] = "NEGATIVE";
13
- MetricRunInfoDeltaType[MetricRunInfoDeltaType["LOW_NEGATIVE"] = 2] = "LOW_NEGATIVE";
14
- MetricRunInfoDeltaType[MetricRunInfoDeltaType["NO_CHANGE"] = 3] = "NO_CHANGE";
15
- MetricRunInfoDeltaType[MetricRunInfoDeltaType["LOW_POSITIVE"] = 4] = "LOW_POSITIVE";
16
- MetricRunInfoDeltaType[MetricRunInfoDeltaType["POSITIVE"] = 5] = "POSITIVE";
17
- MetricRunInfoDeltaType[MetricRunInfoDeltaType["HIGH_POSITIVE"] = 6] = "HIGH_POSITIVE";
11
+ MetricRunInfoDeltaType["HIGH_NEGATIVE"] = "HIGH_NEGATIVE";
12
+ MetricRunInfoDeltaType["NEGATIVE"] = "NEGATIVE";
13
+ MetricRunInfoDeltaType["LOW_NEGATIVE"] = "LOW_NEGATIVE";
14
+ MetricRunInfoDeltaType["NO_CHANGE"] = "NO_CHANGE";
15
+ MetricRunInfoDeltaType["LOW_POSITIVE"] = "LOW_POSITIVE";
16
+ MetricRunInfoDeltaType["POSITIVE"] = "POSITIVE";
17
+ MetricRunInfoDeltaType["HIGH_POSITIVE"] = "HIGH_POSITIVE";
18
18
  })(MetricRunInfoDeltaType || (MetricRunInfoDeltaType = {}));
19
19
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,iFAAqB,CAAA;IACrB,6EAAmB,CAAA;IACnB,qFAAuB,CAAA;IACvB,mFAAsB,CAAA;IACtB,uFAAwB,CAAA;AAC1B,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAaD,MAAM,CAAN,IAAY,sBAQX;AARD,WAAY,sBAAsB;IAChC,qFAAe,CAAA;IACf,2EAAU,CAAA;IACV,mFAAc,CAAA;IACd,6EAAW,CAAA;IACX,mFAAc,CAAA;IACd,2EAAU,CAAA;IACV,qFAAe,CAAA;AACjB,CAAC,EARW,sBAAsB,KAAtB,sBAAsB,QAQjC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,6DAA6C,CAAA;IAC7C,yDAAyC,CAAA;IACzC,iEAAiD,CAAA;IACjD,+DAA+C,CAAA;IAC/C,mEAAmD,CAAA;AACrD,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAaD,MAAM,CAAN,IAAY,sBAQX;AARD,WAAY,sBAAsB;IAChC,yDAAiC,CAAA;IACjC,+CAAuB,CAAA;IACvB,uDAA+B,CAAA;IAC/B,iDAAyB,CAAA;IACzB,uDAA+B,CAAA;IAC/B,+CAAuB,CAAA;IACvB,yDAAiC,CAAA;AACnC,CAAC,EARW,sBAAsB,KAAtB,sBAAsB,QAQjC"}
package/lib-esm/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './browsertime';
2
2
  export * from './config';
3
+ export * from './constants';
3
4
  export * from './jobs';
4
5
  export * from './report';
5
6
  export * from './utils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AAEzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AAEzB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -1,26 +1,38 @@
1
- import get from 'lodash/get';
2
1
  import merge from 'lodash/merge';
3
- import set from 'lodash/set';
4
2
  import { SOURCE_PATHS } from '../config';
5
3
  import { createSummary } from './create-summary';
6
4
  import * as webpack from '../webpack';
7
5
  import * as lighthouse from '../lighthouse';
8
6
  import * as browsertime from '../browsertime';
9
- const SOURCE_FNS = { webpack, lighthouse, browsertime };
10
- const GENERIC_PROPS = ['meta', 'insights', 'metrics'];
7
+ const SOURCE_MODULES = { webpack, lighthouse, browsertime };
11
8
  export const createJob = (source, baseline) => SOURCE_PATHS.reduce((agg, sourcePath) => {
12
- const rawData = get(source, sourcePath);
9
+ var _a;
10
+ const rawData = source[sourcePath];
13
11
  if (!rawData) {
14
12
  return agg;
15
13
  }
16
- const sourceModule = SOURCE_FNS[sourcePath];
14
+ const sourceModule = SOURCE_MODULES[sourcePath];
17
15
  if (!sourceModule) {
18
16
  return agg;
19
17
  }
20
18
  const extractedData = sourceModule.extract(rawData, baseline);
21
- const summary = createSummary(SOURCE_FNS[sourcePath].SUMMARY_METRIC_PATHS, get(baseline, `metrics.${sourcePath}`, {}), get(extractedData, 'metrics', {}));
22
- return merge({}, agg, { rawData: set({}, sourcePath, rawData) }, { summary: set({}, sourcePath, summary) }, ...GENERIC_PROPS.map((genericPropName) => ({
23
- [genericPropName]: set({}, sourcePath, extractedData[genericPropName]),
24
- })));
19
+ const summary = createSummary(SOURCE_MODULES[sourcePath].SUMMARY_METRIC_PATHS, (_a = baseline === null || baseline === void 0 ? void 0 : baseline.metrics) === null || _a === void 0 ? void 0 : _a[sourcePath], extractedData === null || extractedData === void 0 ? void 0 : extractedData.metrics);
20
+ return merge({}, agg, {
21
+ meta: {
22
+ [sourcePath]: extractedData.meta,
23
+ },
24
+ insights: {
25
+ [sourcePath]: extractedData.insights,
26
+ },
27
+ summary: {
28
+ [sourcePath]: summary,
29
+ },
30
+ metrics: {
31
+ [sourcePath]: extractedData.metrics,
32
+ },
33
+ rawData: {
34
+ [sourcePath]: rawData,
35
+ },
36
+ });
25
37
  }, {});
26
38
  //# sourceMappingURL=create-job.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-job.js","sourceRoot":"","sources":["../../src/jobs/create-job.js"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,KAAK,MAAM,cAAc,CAAC;AACjC,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAE9C,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AACxD,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAKtD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;IACrF,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAExC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,GAAG,CAAC;KACZ;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAE5C,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,GAAG,CAAC;KACZ;IAED,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,aAAa,CAC3B,UAAU,CAAC,UAAU,CAAC,CAAC,oBAAoB,EAC3C,GAAG,CAAC,QAAQ,EAAE,WAAW,UAAU,EAAE,EAAE,EAAE,CAAC,EAC1C,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC,CAClC,CAAC;IAEF,OAAO,KAAK,CACV,EAAE,EACF,GAAG,EACH,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EACzC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EACzC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;KACvE,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC,EAAE,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"create-job.js","sourceRoot":"","sources":["../../src/jobs/create-job.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAc9C,MAAM,cAAc,GAAiC,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAE1F,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAkB,EAAE,QAAkB,EAAW,EAAE,CAC3E,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAEnC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,GAAG,CAAC;KACZ;IAED,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAEhD,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,GAAG,CAAC;KACZ;IAED,MAAM,aAAa,GAAiB,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,aAAa,CAC3B,cAAc,CAAC,UAAU,CAAC,CAAC,oBAAoB,EAC/C,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,0CAAG,UAAU,CAAC,EAC/B,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CACvB,CAAC;IAEF,OAAO,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE;QACpB,IAAI,EAAE;YACJ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,IAAI;SACjC;QACD,QAAQ,EAAE;YACR,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,QAAQ;SACrC;QACD,OAAO,EAAE;YACP,CAAC,UAAU,CAAC,EAAE,OAAO;SACtB;QACD,OAAO,EAAE;YACP,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO;SACpC;QACD,OAAO,EAAE;YACP,CAAC,UAAU,CAAC,EAAE,OAAO;SACtB;KACF,CAAC,CAAC;AACL,CAAC,EAAE,EAAE,CAAC,CAAC"}
@@ -1,20 +1,19 @@
1
- import last from 'lodash/last';
2
- import reverse from 'lodash/reverse';
3
1
  import { createJob } from './create-job';
4
2
  export const createJobs = (sources) => {
5
- const jobs = reverse([...sources]).reduce((agg, source, idx) => {
6
- const job = createJob(source, last(agg));
7
- const internalBuildNumber = job.internalBuildNumber || idx + 1;
3
+ const jobs = [];
4
+ for (let i = sources.length - 1; i >= 0; i -= 1) {
5
+ const source = sources[i];
6
+ const baseline = jobs.length > 0 ? jobs[jobs.length - 1] : undefined;
7
+ const jobData = createJob(source, baseline);
8
+ const internalBuildNumber = sources.length - i;
8
9
  const label = `Job #${internalBuildNumber}`;
9
- return [
10
- {
11
- ...job,
12
- internalBuildNumber,
13
- label,
14
- },
15
- ...agg,
16
- ];
17
- }, []);
10
+ const job = {
11
+ ...jobData,
12
+ internalBuildNumber,
13
+ label,
14
+ };
15
+ jobs.unshift(job);
16
+ }
18
17
  return jobs;
19
18
  };
20
19
  //# sourceMappingURL=create-jobs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-jobs.js","sourceRoot":"","sources":["../../src/jobs/create-jobs.js"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,EAAE;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC7D,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,mBAAmB,GAAG,GAAG,CAAC,mBAAmB,IAAI,GAAG,GAAG,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,QAAQ,mBAAmB,EAAE,CAAC;QAE5C,OAAO;YACL;gBACE,GAAG,GAAG;gBACN,mBAAmB;gBACnB,KAAK;aACN;YACD,GAAG,GAAG;SACP,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
1
+ {"version":3,"file":"create-jobs.js","sourceRoot":"","sources":["../../src/jobs/create-jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAA0B,EAAc,EAAE;IACnE,MAAM,IAAI,GAAG,EAAgB,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE5C,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,QAAQ,mBAAmB,EAAE,CAAC;QAE5C,MAAM,GAAG,GAAG;YACV,GAAG,OAAO;YACV,mBAAmB;YACnB,KAAK;SACN,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACnB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -1,13 +1,12 @@
1
1
  import get from 'lodash/get';
2
- import merge from 'lodash/merge';
3
- export const createSummary = (metricPaths, baselineSourceMetrics, currentSourceMetrics) => metricPaths.map((metric) => {
4
- const baselineValue = get(baselineSourceMetrics, `${metric}.value`, 0);
5
- const currentValue = get(currentSourceMetrics, `${metric}.value`, 0);
6
- return {
7
- [metric]: {
8
- baseline: baselineValue,
9
- current: currentValue,
10
- },
11
- };
12
- }).reduce((agg, current) => merge({}, agg, current), {});
2
+ export const createSummary = (metricPaths, baselineMetricsSource, currentMetricsSource) => {
3
+ const result = {};
4
+ metricPaths.forEach((metric) => {
5
+ result[metric] = {
6
+ baseline: get(baselineMetricsSource, `${metric}.value`, 0),
7
+ current: get(currentMetricsSource, `${metric}.value`, 0),
8
+ };
9
+ });
10
+ return result;
11
+ };
13
12
  //# sourceMappingURL=create-summary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-summary.js","sourceRoot":"","sources":["../../src/jobs/create-summary.js"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,KAAK,MAAM,cAAc,CAAC;AAEjC,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,WAAW,EAAE,qBAAqB,EAAE,oBAAoB,EACxD,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;IAC9B,MAAM,aAAa,GAAG,GAAG,CAAC,qBAAqB,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,GAAG,CAAC,oBAAoB,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC;IAErE,OAAO;QACL,CAAC,MAAM,CAAC,EAAE;YACR,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,YAAY;SACtB;KACF,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"create-summary.js","sourceRoot":"","sources":["../../src/jobs/create-summary.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAM7B,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,WAA0B,EAC1B,qBAA0D,EAC1D,oBAAsC,EAC1B,EAAE;IACd,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC7B,MAAM,CAAC,MAAM,CAAC,GAAG;YACf,QAAQ,EAAE,GAAG,CAAC,qBAAqB,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC,CAAW;YACpE,OAAO,EAAE,GAAG,CAAC,oBAAoB,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC,CAAW;SACnE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jobs/index.js"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jobs/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/lighthouse/filter.js"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAQ/B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE;IAE/B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,mBAAmB,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAG9E,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CACzD,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,GAAG,GAAG;QACN,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC;KAC5C,CAAC,EACF,EAAE,CACH,CAAC;IAGF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAClF,GAAG,GAAG;QACN,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;KACtD,CAAC,EAAE,EAAE,CAAC,CAAC;IAER,OAAO;QACL,GAAG,IAAI;QACP,UAAU;QACV,MAAM;KACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/lighthouse/filter.js"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,aAAa,CAAC;AAQ/B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE;IAE/B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,mBAAmB,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAG9E,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CACzD,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,GAAG,GAAG;QACN,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC;KAC5C,CAAC,EACF,EAAE,CACH,CAAC;IAGF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CACjD,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,GAAG,GAAG;QACN,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;KACtD,CAAC,EACF,EAAE,CACH,CAAC;IAEF,OAAO;QACL,GAAG,IAAI;QACP,UAAU;QACV,MAAM;KACP,CAAC;AACJ,CAAC,CAAC"}
@@ -6,27 +6,23 @@ import { version } from '../../package.json';
6
6
  export const createReport = (jobs) => {
7
7
  var _a;
8
8
  const insights = (_a = jobs[0]) === null || _a === void 0 ? void 0 : _a.insights;
9
- const summary = SOURCE_PATHS.reduce((agg, sourceId) => {
9
+ const summary = {};
10
+ SOURCE_PATHS.forEach((sourceId) => {
10
11
  var _a, _b;
11
12
  const sourceSummary = (_b = (_a = jobs[0]) === null || _a === void 0 ? void 0 : _a.summary) === null || _b === void 0 ? void 0 : _b[sourceId];
12
13
  if (!sourceSummary) {
13
- return agg;
14
+ return;
14
15
  }
15
- const output = Object.entries(sourceSummary).map(([metricId, summaryData]) => {
16
+ const summaryEntries = Object.entries(sourceSummary).map(([metricId, summaryData]) => {
16
17
  const metric = getGlobalMetricType(`${sourceId}.${metricId}`);
17
18
  const { current = 0, baseline = 0 } = summaryData;
18
- const info = getMetricRunInfo(metric, current, baseline);
19
- return {
20
- label: metric.label,
21
- ...info,
22
- };
19
+ const data = getMetricRunInfo(metric, current, baseline);
20
+ return Object.assign(data, { label: metric.label });
23
21
  });
24
- return {
25
- ...agg,
26
- [sourceId]: output,
27
- };
22
+ summary[sourceId] = summaryEntries;
28
23
  }, {});
29
- return {
24
+ const sectionsData = webpack.compare(jobs);
25
+ return Object.assign(sectionsData, {
30
26
  createdAt: new Date().toISOString(),
31
27
  version,
32
28
  runs: jobs.map(({ internalBuildNumber, meta }) => ({
@@ -35,7 +31,6 @@ export const createReport = (jobs) => {
35
31
  })),
36
32
  summary,
37
33
  ...(!isEmpty(insights) ? { insights } : {}),
38
- ...webpack.compare(jobs),
39
- };
34
+ });
40
35
  };
41
36
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/report/create.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAO7C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAE,EAAE;;IAC/C,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC;IAEnC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;;QACpD,MAAM,aAAa,GAAG,MAAA,MAAA,IAAI,CAAC,CAAC,CAAC,0CAAE,OAAO,0CAAG,QAAQ,CAAe,CAAC;QAEjE,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,GAAG,CAAC;SACZ;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE;YAC3E,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC;YAE9D,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC;YAClD,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEzD,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,GAAG,IAAI;aACR,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,GAAG;YACN,CAAC,QAAQ,CAAC,EAAE,MAAM;SACnB,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO;QAEP,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACjD,GAAG,IAAI;YACP,mBAAmB;SACpB,CAAC,CAAC;QAEH,OAAO;QAGP,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAG3C,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;KACzB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/report/create.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAmB7C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAU,EAAE;;IACvD,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC;IAGnC,MAAM,OAAO,GAA+C,EAAE,CAAC;IAE/D,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;;QAChC,MAAM,aAAa,GAAG,MAAA,MAAA,IAAI,CAAC,CAAC,CAAC,0CAAE,OAAO,0CAAG,QAAQ,CAAqB,CAAC;QAEvE,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO;SACR;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE;YACnF,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC;YAC9D,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC;YAClD,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEzD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC;IACrC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE;QACjC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO;QAEP,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACjD,GAAG,IAAI;YACP,mBAAmB;SACpB,CAAC,CAAC;QAEH,OAAO;QAGP,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/utils/metrics.js"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAQ1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,EAAE,CAS7C,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IAEZ,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAEjC,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;QACzB,OAAO;YACL,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;YAC5B,GAAG,MAAM;SACV,CAAC;KACH;IAED,MAAM,YAAY,GAAG,IAAI,IAAI,mBAAmB,CAAC;IAEjD,OAAO;QACL,GAAG,YAAY,CAAC,YAAY,CAAC;QAC7B,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,GAAG;KACX,CAAC;AACJ,CAAC,CAAC;AASJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;IACrD,OAAO,EAAE,kBAAkB;IAC3B,UAAU,EAAE,qBAAqB;IACjC,WAAW,EAAE,qBAAqB;CACnC,CAAC,CAAC;AAYH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE;IACtE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAE7C,MAAM,OAAO,GAAG;QACd,KAAK,EAAE,YAAY;QACnB,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC;KACtC,CAAC;IAEF,IAAI,OAAO,aAAa,KAAK,WAAW,EAAE;QACxC,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IAE/F,OAAO;QACL,GAAG,OAAO;QACV,KAAK;QACL,eAAe;QACf,YAAY,EAAE,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC;QAC3C,sBAAsB,EAAE,WAAW,CAAC,eAAe,EAAE,gBAAgB,CAAC;QACtE,SAAS,EAAE,YAAY,CAAC,eAAe,EAAE,cAAc,CAAC;KACzD,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/utils/metrics.js"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAQ1E,MAAM,CAAC,MAAM,mBAAmB,GAC9B,CAAC,OAAO,EAAE,EAAE,CASZ,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IAEZ,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAEjC,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;QACzB,OAAO;YACL,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;YAC5B,GAAG,MAAM;SACV,CAAC;KACH;IAED,MAAM,YAAY,GAAG,IAAI,IAAI,mBAAmB,CAAC;IAEjD,OAAO;QACL,GAAG,YAAY,CAAC,YAAY,CAAC;QAC7B,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,GAAG;KACX,CAAC;AACJ,CAAC,CAAC;AASJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;IACrD,OAAO,EAAE,kBAAkB;IAC3B,UAAU,EAAE,qBAAqB;IACjC,WAAW,EAAE,qBAAqB;CACnC,CAAC,CAAC;AAYH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE;IACtE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAE7C,MAAM,OAAO,GAAG;QACd,KAAK,EAAE,YAAY;QACnB,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC;KACtC,CAAC;IAEF,IAAI,OAAO,aAAa,KAAK,WAAW,EAAE;QACxC,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IAE/F,OAAO;QACL,GAAG,OAAO;QACV,KAAK;QACL,eAAe;QACf,YAAY,EAAE,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC;QAC3C,sBAAsB,EAAE,WAAW,CAAC,eAAe,EAAE,gBAAgB,CAAC;QACtE,SAAS,EAAE,YAAY,CAAC,eAAe,EAAE,cAAc,CAAC;KACzD,CAAC;AACJ,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { Metric } from './types';
1
2
  export const SECTION_WEBPACK_STATS = 'stats';
2
3
  export const SECTION_WEBPACK_SIZES = 'sizes';
3
4
  export const SECTION_WEBPACK_ASSETS = 'assets';
@@ -11,17 +12,17 @@ export const SECTIONS = [
11
12
  SECTION_WEBPACK_PACKAGES,
12
13
  ];
13
14
  export const SUMMARY_METRIC_PATHS = [
14
- 'totalSizeByTypeALL',
15
- 'totalInitialSizeJS',
16
- 'totalInitialSizeCSS',
17
- 'cacheInvalidation',
18
- 'moduleCount',
19
- 'duplicateModulesCount',
20
- 'duplicateCode',
21
- 'chunkCount',
22
- 'assetCount',
23
- 'packageCount',
24
- 'duplicatePackagesCount',
15
+ Metric.BUNDLE_SIZE,
16
+ Metric.INITIAL_SIZE_JS,
17
+ Metric.INITIAL_SIZE_CSS,
18
+ Metric.CACHE_INVALIDATION,
19
+ Metric.MODULE_COUNT,
20
+ Metric.DUPLICATE_MODULES_COUNT,
21
+ Metric.DUPLICATE_CODE,
22
+ Metric.CHUNK_COUNT,
23
+ Metric.ASSET_COUNT,
24
+ Metric.PACKAGE_COUNT,
25
+ Metric.DUPLICATE_PACKAGES_COUNT,
25
26
  ];
26
27
  const PACKAGE_PREFIX = /(?:node_modules|~)(?:\/\.pnpm)?/;
27
28
  const PACKAGE_SLUG = /[a-zA-Z0-9]+(?:[-|_|.]+[a-zA-Z0-9]+)*/;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/webpack/constants.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;AACjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,UAAU,CAAC;AAEnD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,qBAAqB;IACrB,qBAAqB;IACrB,sBAAsB;IACtB,uBAAuB;IACvB,wBAAwB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,mBAAmB;IACnB,aAAa;IACb,uBAAuB;IACvB,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,wBAAwB;CACzB,CAAC;AAEF,MAAM,cAAc,GAAG,iCAAiC,CAAC;AACzD,MAAM,YAAY,GAAG,uCAAuC,CAAC;AAC7D,MAAM,OAAO,GAAG,eAAe,CAAC;AAKhC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAC5C;IAEE,MAAM,cAAc,CAAC,MAAM,IAAI;IAE/B,KAAK;IAEL,OAAO,YAAY,CAAC,MAAM,SAAS;IAEnC,MAAM,YAAY,CAAC,MAAM,OAAO;IAEhC,MAAM,YAAY,CAAC,MAAM,GAAG;IAE5B,MAAM,OAAO,CAAC,MAAM,IAAI;IACxB,GAAG;IAGH,MAAM;IACN,OAAO,YAAY,CAAC,MAAM,SAAS;IACnC,MAAM,YAAY,CAAC,MAAM,GAAG;IAC5B,OAAO,YAAY,CAAC,MAAM,IAAI;IAC9B,IAAI;IACJ,GAAG;CACJ,CAAC,IAAI,CAAC,EAAE,CAAC,EACV,GAAG,CACJ,CAAC;AAMF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,MAAM,CACzC;IACE,MAAM,cAAc,CAAC,MAAM,IAAI;IAE/B,KAAK;IACL,GAAG;IACH,OAAO,YAAY,CAAC,MAAM,SAAS;IACnC,SAAS,YAAY,CAAC,MAAM,QAAQ;IACpC,MAAM,YAAY,CAAC,MAAM,GAAG;IAC5B,GAAG;IACH,MAAM,OAAO,CAAC,MAAM,IAAI;IACxB,GAAG;IAEH,MAAM;IACN,GAAG;IACH,OAAO,YAAY,CAAC,MAAM,SAAS;IACnC,MAAM,YAAY,CAAC,MAAM,GAAG;IAC5B,GAAG;IACH,OAAO,YAAY,CAAC,MAAM,GAAG;IAC7B,IAAI;IACJ,GAAG;CACJ,CAAC,IAAI,CAAC,EAAE,CAAC,EACV,GAAG,CACJ,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/webpack/constants.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAS,CAAC;AACjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,UAAU,CAAC;AAEnD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,qBAAqB;IACrB,qBAAqB;IACrB,sBAAsB;IACtB,uBAAuB;IACvB,wBAAwB;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,MAAM,CAAC,WAAW;IAClB,MAAM,CAAC,eAAe;IACtB,MAAM,CAAC,gBAAgB;IACvB,MAAM,CAAC,kBAAkB;IACzB,MAAM,CAAC,YAAY;IACnB,MAAM,CAAC,uBAAuB;IAC9B,MAAM,CAAC,cAAc;IACrB,MAAM,CAAC,WAAW;IAClB,MAAM,CAAC,WAAW;IAClB,MAAM,CAAC,aAAa;IACpB,MAAM,CAAC,wBAAwB;CAChC,CAAC;AAEF,MAAM,cAAc,GAAG,iCAAiC,CAAC;AACzD,MAAM,YAAY,GAAG,uCAAuC,CAAC;AAC7D,MAAM,OAAO,GAAG,eAAe,CAAC;AAKhC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAC5C;IAEE,MAAM,cAAc,CAAC,MAAM,IAAI;IAE/B,KAAK;IAEL,OAAO,YAAY,CAAC,MAAM,SAAS;IAEnC,MAAM,YAAY,CAAC,MAAM,OAAO;IAEhC,MAAM,YAAY,CAAC,MAAM,GAAG;IAE5B,MAAM,OAAO,CAAC,MAAM,IAAI;IACxB,GAAG;IAGH,MAAM;IACN,OAAO,YAAY,CAAC,MAAM,SAAS;IACnC,MAAM,YAAY,CAAC,MAAM,GAAG;IAC5B,OAAO,YAAY,CAAC,MAAM,IAAI;IAC9B,IAAI;IACJ,GAAG;CACJ,CAAC,IAAI,CAAC,EAAE,CAAC,EACV,GAAG,CACJ,CAAC;AAMF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,MAAM,CACzC;IACE,MAAM,cAAc,CAAC,MAAM,IAAI;IAE/B,KAAK;IACL,GAAG;IACH,OAAO,YAAY,CAAC,MAAM,SAAS;IACnC,SAAS,YAAY,CAAC,MAAM,QAAQ;IACpC,MAAM,YAAY,CAAC,MAAM,GAAG;IAC5B,GAAG;IACH,MAAM,OAAO,CAAC,MAAM,IAAI;IACxB,GAAG;IAEH,MAAM;IACN,GAAG;IACH,OAAO,YAAY,CAAC,MAAM,SAAS;IACnC,MAAM,YAAY,CAAC,MAAM,GAAG;IAC5B,GAAG;IACH,OAAO,YAAY,CAAC,MAAM,GAAG;IAC7B,IAAI;IACJ,GAAG;CACJ,CAAC,IAAI,CAAC,EAAE,CAAC,EACV,GAAG,CACJ,CAAC"}
@@ -1,19 +1,19 @@
1
- import { INSIGHT_INFO } from '../../config/insights';
1
+ import { InsightType } from '../../config/insights';
2
2
  import { getMetricRunInfo } from '../../utils/metrics';
3
3
  import { getMetricType } from '../utils';
4
- const METRIC_NAME = 'totalSizeByTypeALL';
4
+ import { Metric } from '../types';
5
5
  const getText = ({ metric, displayValue, displayDeltaPercentage }) => `${metric} — ${displayValue} (${displayDeltaPercentage}).`;
6
6
  export const extractAssetsSizeTotalInsight = (_, currentExtractedData, baselineBundleStats) => {
7
7
  var _a, _b, _c, _d, _e;
8
- const currentValue = ((_b = (_a = currentExtractedData === null || currentExtractedData === void 0 ? void 0 : currentExtractedData.metrics) === null || _a === void 0 ? void 0 : _a[METRIC_NAME]) === null || _b === void 0 ? void 0 : _b.value) || 0;
9
- const baselineValue = ((_e = (_d = (_c = baselineBundleStats === null || baselineBundleStats === void 0 ? void 0 : baselineBundleStats.metrics) === null || _c === void 0 ? void 0 : _c.webpack) === null || _d === void 0 ? void 0 : _d[METRIC_NAME]) === null || _e === void 0 ? void 0 : _e.value) || 0;
10
- const metric = getMetricType(METRIC_NAME);
8
+ const currentValue = ((_b = (_a = currentExtractedData === null || currentExtractedData === void 0 ? void 0 : currentExtractedData.metrics) === null || _a === void 0 ? void 0 : _a[Metric.BUNDLE_SIZE]) === null || _b === void 0 ? void 0 : _b.value) || 0;
9
+ const baselineValue = ((_e = (_d = (_c = baselineBundleStats === null || baselineBundleStats === void 0 ? void 0 : baselineBundleStats.metrics) === null || _c === void 0 ? void 0 : _c.webpack) === null || _d === void 0 ? void 0 : _d[Metric.BUNDLE_SIZE]) === null || _e === void 0 ? void 0 : _e.value) || 0;
10
+ const metric = getMetricType(Metric.BUNDLE_SIZE);
11
11
  const info = getMetricRunInfo(metric, currentValue, baselineValue);
12
12
  const { displayDeltaPercentage, displayValue } = info;
13
13
  return {
14
14
  insights: {
15
15
  assetsSizeTotal: {
16
- type: INSIGHT_INFO,
16
+ type: InsightType.INFO,
17
17
  data: {
18
18
  text: getText({ metric: metric.label, displayValue, displayDeltaPercentage }),
19
19
  md: getText({
@@ -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,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAEzC,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,WAAW,CAAC,0CAAE,KAAK,KAAI,CAAC,CAAC;IAC9E,MAAM,aAAa,GAAG,CAAA,MAAA,MAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,0CAAE,OAAO,0CAAG,WAAW,CAAC,0CAAE,KAAK,KAAI,CAAC,CAAC;IAEvF,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1C,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,YAAY;gBAClB,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,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"}
@@ -3,9 +3,8 @@ import map from 'lodash/map';
3
3
  import sum from 'lodash/sum';
4
4
  import { FILE_TYPE_CSS, FILE_TYPE_JS, FILE_TYPES } from '../../config/file-types';
5
5
  import { getFileType } from '../../utils/file-types';
6
- const METRIC_NAME_ALL = 'ALL';
7
- const METRIC_NAME_PREFIX = 'totalSizeByType';
8
- const getMetricName = (fileType) => `${METRIC_NAME_PREFIX}${fileType}`;
6
+ import { METRIC_TOTALS_PREFIX, METRIC_TOTALS_SUFIX_ALL } from '../types';
7
+ const getMetricName = (fileType) => `${METRIC_TOTALS_PREFIX}${fileType}`;
9
8
  const generateInitialSizeByType = () => FILE_TYPES.reduce((accumulator, fileType) => ({
10
9
  ...accumulator,
11
10
  [getMetricName(fileType)]: {
@@ -40,7 +39,7 @@ export const extractAssetsSize = (webpackStats, currentExtractedData) => {
40
39
  const bundleAssets = Object.values(get(currentExtractedData, 'metrics.assets', {}));
41
40
  const sizes = calculateTotalByType(bundleAssets);
42
41
  const generic = {
43
- [getMetricName(METRIC_NAME_ALL)]: {
42
+ [getMetricName(METRIC_TOTALS_SUFIX_ALL)]: {
44
43
  value: sum(map(bundleAssets, 'value')),
45
44
  },
46
45
  ...calculateInitialTotals(bundleAssets),
@@ -1 +1 @@
1
- {"version":3,"file":"assets-size.js","sourceRoot":"","sources":["../../../src/webpack/extract/assets-size.js"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,eAAe,GAAG,KAAK,CAAC;AAC9B,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAE7C,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,kBAAkB,GAAG,QAAQ,EAAE,CAAC;AAEvE,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IACpF,GAAG,WAAW;IACd,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE;QACzB,KAAK,EAAE,CAAC;KACT;CACF,CAAC,EAAE,EAAE,CAAC,CAAC;AAER,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;IAC9E,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE1D,OAAO;QACL,GAAG,WAAW;QACd,CAAC,QAAQ,CAAC,EAAE;YACV,KAAK;SACN;KACF,CAAC;AACJ,CAAC,EAAE,yBAAyB,EAAE,CAAC,CAAC;AAEhC,MAAM,4BAA4B,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CACzE,WAAW,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,SAAS,CAAC;AAE9C,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,EAAE;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC,CAAC;IAE3E,OAAO;QACL,mBAAmB,EAAE;YACnB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SACpC;QACD,kBAAkB,EAAE;YAClB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SACnC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,oBAAoB,EAAE,EAAE;IACtE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC;IAEpF,MAAM,KAAK,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG;QACd,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,EAAE;YAChC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;SACvC;QACD,GAAG,sBAAsB,CAAC,YAAY,CAAC;KACxC,CAAC;IAEF,OAAO;QACL,OAAO,EAAE;YACP,GAAG,OAAO;YACV,KAAK;SACN;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"assets-size.js","sourceRoot":"","sources":["../../../src/webpack/extract/assets-size.js"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEzE,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,oBAAoB,GAAG,QAAQ,EAAE,CAAC;AAEzE,MAAM,yBAAyB,GAAG,GAAG,EAAE,CACrC,UAAU,CAAC,MAAM,CACf,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC1B,GAAG,WAAW;IACd,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE;QACzB,KAAK,EAAE,CAAC;KACT;CACF,CAAC,EACF,EAAE,CACH,CAAC;AAEJ,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,EAAE,CACtC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;IACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE1D,OAAO;QACL,GAAG,WAAW;QACd,CAAC,QAAQ,CAAC,EAAE;YACV,KAAK;SACN;KACF,CAAC;AACJ,CAAC,EAAE,yBAAyB,EAAE,CAAC,CAAC;AAElC,MAAM,4BAA4B,GAChC,CAAC,QAAQ,EAAE,EAAE,CACb,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CACtB,WAAW,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,SAAS,CAAC;AAEhD,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,EAAE;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC,CAAC;IAE3E,OAAO;QACL,mBAAmB,EAAE;YACnB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SACpC;QACD,kBAAkB,EAAE;YAClB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SACnC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,oBAAoB,EAAE,EAAE;IACtE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC;IAEpF,MAAM,KAAK,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG;QACd,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC,EAAE;YACxC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;SACvC;QACD,GAAG,sBAAsB,CAAC,YAAY,CAAC;KACxC,CAAC;IAEF,OAAO;QACL,OAAO,EAAE;YACP,GAAG,OAAO;YACV,KAAK;SACN;KACF,CAAC;AACJ,CAAC,CAAC"}