@bundle-stats/utils 3.4.0-alpha.3 → 3.4.0-beta.0

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 (88) hide show
  1. package/lib/transformers/budgets-insights.js +100 -52
  2. package/lib/transformers/budgets-insights.js.map +1 -1
  3. package/lib/types.js +3 -0
  4. package/lib/types.js.map +1 -0
  5. package/lib/webpack/extract/assets.js +11 -7
  6. package/lib/webpack/extract/assets.js.map +1 -1
  7. package/lib/webpack/metrics.js +1 -1
  8. package/lib/webpack/metrics.js.map +1 -1
  9. package/lib-esm/transformers/budgets-insights.js +98 -49
  10. package/lib-esm/transformers/budgets-insights.js.map +1 -1
  11. package/lib-esm/types.js +2 -0
  12. package/lib-esm/types.js.map +1 -0
  13. package/lib-esm/webpack/extract/assets.js +11 -7
  14. package/lib-esm/webpack/extract/assets.js.map +1 -1
  15. package/lib-esm/webpack/metrics.js +1 -1
  16. package/lib-esm/webpack/metrics.js.map +1 -1
  17. package/package.json +12 -12
  18. package/src/transformers/budgets-insights.ts +144 -75
  19. package/src/types.ts +14 -0
  20. package/src/webpack/extract/{assets.js → assets.ts} +41 -12
  21. package/src/webpack/metrics.ts +1 -1
  22. package/types/browsertime/compare.d.ts +1 -0
  23. package/types/browsertime/constants.d.ts +1 -0
  24. package/types/browsertime/extract.d.ts +6 -0
  25. package/types/browsertime/filter.d.ts +1 -0
  26. package/types/browsertime/index.d.ts +6 -0
  27. package/types/browsertime/metrics.d.ts +107 -0
  28. package/types/browsertime/selectors.d.ts +1 -0
  29. package/types/config/component-links.d.ts +35 -0
  30. package/types/config/delta.d.ts +9 -0
  31. package/types/config/file-types.d.ts +45 -0
  32. package/types/config/index.d.ts +11 -0
  33. package/types/config/insights.d.ts +4 -0
  34. package/types/config/metrics.d.ts +35 -0
  35. package/types/constants.d.ts +165 -0
  36. package/types/i18n.d.ts +16 -0
  37. package/types/index.d.ts +7 -0
  38. package/types/jobs/create-job.d.ts +1 -0
  39. package/types/jobs/create-jobs.d.ts +1 -0
  40. package/types/jobs/create-summary.d.ts +1 -0
  41. package/types/jobs/index.d.ts +2 -0
  42. package/types/lighthouse/compare.d.ts +1 -0
  43. package/types/lighthouse/constants.d.ts +1 -0
  44. package/types/lighthouse/extract/audits.d.ts +6 -0
  45. package/types/lighthouse/extract/category-scores.d.ts +6 -0
  46. package/types/lighthouse/extract/index.d.ts +1 -0
  47. package/types/lighthouse/extract/score-category-scores.d.ts +10 -0
  48. package/types/lighthouse/filter.d.ts +1 -0
  49. package/types/lighthouse/index.d.ts +6 -0
  50. package/types/lighthouse/metrics.d.ts +65 -0
  51. package/types/lighthouse/selectors.d.ts +1 -0
  52. package/types/polyfills.d.ts +1 -0
  53. package/types/report/add-row-metric-data.d.ts +8 -0
  54. package/types/report/compare-metrics.d.ts +2 -0
  55. package/types/report/create.d.ts +14 -0
  56. package/types/report/get-metric-changed.d.ts +2 -0
  57. package/types/report/index.d.ts +5 -0
  58. package/types/report/merge-metrics-by-key.d.ts +4 -0
  59. package/types/report/types.d.ts +8 -0
  60. package/types/transformers/budgets-insights.d.ts +34 -0
  61. package/types/transformers/index.d.ts +1 -0
  62. package/types/types.d.ts +9 -0
  63. package/types/utils/component-links.d.ts +193 -0
  64. package/types/utils/date.d.ts +2 -0
  65. package/types/utils/delta.d.ts +6 -0
  66. package/types/utils/file-types.d.ts +4 -0
  67. package/types/utils/format.d.ts +5 -0
  68. package/types/utils/index.d.ts +6 -0
  69. package/types/utils/metrics.d.ts +3 -0
  70. package/types/webpack/compare.d.ts +14 -0
  71. package/types/webpack/constants.d.ts +33 -0
  72. package/types/webpack/extract/assets-cache-invalidation.d.ts +7 -0
  73. package/types/webpack/extract/assets-chunk-count.d.ts +7 -0
  74. package/types/webpack/extract/assets-count.d.ts +7 -0
  75. package/types/webpack/extract/assets-size-total-insight.d.ts +12 -0
  76. package/types/webpack/extract/assets-size.d.ts +11 -0
  77. package/types/webpack/extract/assets.d.ts +11 -0
  78. package/types/webpack/extract/index.d.ts +1 -0
  79. package/types/webpack/extract/meta.d.ts +6 -0
  80. package/types/webpack/extract/modules-count.d.ts +7 -0
  81. package/types/webpack/extract/modules-packages-count.d.ts +7 -0
  82. package/types/webpack/extract/modules-packages-duplicate.d.ts +21 -0
  83. package/types/webpack/extract/modules-packages.d.ts +7 -0
  84. package/types/webpack/extract/modules.d.ts +2 -0
  85. package/types/webpack/index.d.ts +8 -0
  86. package/types/webpack/metrics.d.ts +116 -0
  87. package/types/webpack/selectors.d.ts +41 -0
  88. package/types/webpack/utils.d.ts +8 -0
@@ -3,10 +3,69 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getInfo = exports.INFO_MESSAGE_TEMPLATE = exports.getExtract = void 0;
6
+ exports.getExtract = void 0;
7
7
  const get_1 = __importDefault(require("lodash/get"));
8
+ const template_1 = __importDefault(require("lodash/template"));
8
9
  const constants_1 = require("../constants");
9
10
  const utils_1 = require("../utils");
11
+ const resolveType = (insights) => {
12
+ if (insights.find(([_, { type }]) => type === constants_1.InsightType.ERROR)) {
13
+ return constants_1.InsightType.ERROR;
14
+ }
15
+ if (insights.find(([_, { type }]) => type === constants_1.InsightType.WARNING)) {
16
+ return constants_1.InsightType.WARNING;
17
+ }
18
+ return constants_1.InsightType.SUCCESS;
19
+ };
20
+ const budgetInsightTemplate = (0, template_1.default)('<%= count %>/<%= total %> budget checks <%= status %>');
21
+ const resolveStatus = (failedCount, warningCount) => {
22
+ if (failedCount) {
23
+ return 'failed';
24
+ }
25
+ if (warningCount) {
26
+ return 'warned';
27
+ }
28
+ return 'passed';
29
+ };
30
+ const getMessage = (insights) => {
31
+ const total = insights.length;
32
+ const failedCount = insights.filter(([___, insight]) => insight.type === constants_1.InsightType.ERROR).length;
33
+ const warningCount = insights.filter(([___, insight]) => insight.type === constants_1.InsightType.WARNING).length;
34
+ const count = failedCount || warningCount || total;
35
+ const status = resolveStatus(failedCount, warningCount);
36
+ return {
37
+ text: budgetInsightTemplate({
38
+ count,
39
+ total,
40
+ status,
41
+ }),
42
+ md: budgetInsightTemplate({
43
+ count: `**${count}**`,
44
+ total: `**${total}**`,
45
+ status,
46
+ }),
47
+ };
48
+ };
49
+ const budgetInsightMetricTemplate = (0, template_1.default)('<%= metricLabel %> is <%= diffLabel %> budget \(<%= currentValue %> / <%= budgetValue %>\)');
50
+ const resolveDiffLabel = (metricBudgetInsight) => {
51
+ const { currentValue, budgetValue } = metricBudgetInsight;
52
+ if (currentValue > budgetValue) {
53
+ return 'above';
54
+ }
55
+ if (currentValue < budgetValue) {
56
+ return 'below';
57
+ }
58
+ return 'equal with';
59
+ };
60
+ const resolveBudgetInsightMetricType = (metricBudgetInsight) => {
61
+ if (metricBudgetInsight.failed) {
62
+ return constants_1.InsightType.ERROR;
63
+ }
64
+ if (metricBudgetInsight.currentValue === metricBudgetInsight.budgetValue) {
65
+ return constants_1.InsightType.WARNING;
66
+ }
67
+ return constants_1.InsightType.SUCCESS;
68
+ };
10
69
  const getExtract = (source) => (_, currentExtractedData, __, options = {}) => {
11
70
  const { budgets: budgetsOptions } = options;
12
71
  if (!budgetsOptions) {
@@ -14,72 +73,61 @@ const getExtract = (source) => (_, currentExtractedData, __, options = {}) => {
14
73
  }
15
74
  const insights = [];
16
75
  budgetsOptions.forEach((budgetOption) => {
17
- const { metric: budgetMetricId, value: budgetValue } = budgetOption;
18
- const currentValue = (0, get_1.default)(currentExtractedData, `metrics.${budgetMetricId}.value`);
19
- const metric = (0, utils_1.getGlobalMetricType)(`${source}.${budgetMetricId}`);
76
+ const { metric: sourceMetricId, value: budgetValue } = budgetOption;
77
+ const currentValue = (0, get_1.default)(currentExtractedData, `metrics.${sourceMetricId}.value`);
78
+ const metricData = (0, utils_1.getGlobalMetricType)(`${source}.${sourceMetricId}`);
20
79
  if (!currentValue) {
21
80
  return;
22
81
  }
23
82
  const isValueOverBudget = currentValue > budgetValue;
24
- const budgetInsight = {
83
+ const failed = metricData.biggerIsBetter ? !isValueOverBudget : isValueOverBudget;
84
+ const budgetInsightMetricData = {
25
85
  currentValue,
26
86
  budgetValue,
27
- failed: metric.biggerIsBetter ? !isValueOverBudget : isValueOverBudget,
87
+ failed,
28
88
  };
29
- insights.push([budgetMetricId, budgetInsight]);
89
+ const diffLabel = resolveDiffLabel(budgetInsightMetricData);
90
+ const type = resolveBudgetInsightMetricType(budgetInsightMetricData);
91
+ const currentFormattedValue = metricData.formatter(currentValue);
92
+ const budgetFormattedValue = metricData.formatter(budgetValue);
93
+ const messageText = budgetInsightMetricTemplate({
94
+ metricLabel: metricData.label,
95
+ currentValue: currentFormattedValue,
96
+ diffLabel,
97
+ budgetValue: budgetFormattedValue,
98
+ });
99
+ const messageMd = budgetInsightMetricTemplate({
100
+ metricLabel: `**${metricData.label}**`,
101
+ currentValue: `**${currentFormattedValue}**`,
102
+ diffLabel,
103
+ budgetValue: `**${budgetFormattedValue}**`,
104
+ });
105
+ insights.push([
106
+ sourceMetricId,
107
+ {
108
+ type,
109
+ message: {
110
+ text: messageText,
111
+ md: messageMd,
112
+ },
113
+ data: budgetInsightMetricData,
114
+ },
115
+ ]);
30
116
  });
31
117
  if (insights.length === 0) {
32
118
  return null;
33
119
  }
120
+ const type = resolveType(insights);
121
+ const message = getMessage(insights);
34
122
  return {
35
123
  insights: {
36
- budgets: Object.fromEntries(insights),
37
- },
38
- };
39
- };
40
- exports.getExtract = getExtract;
41
- const resolveDiffLabel = (budgetInsight) => {
42
- const { currentValue, budgetValue } = budgetInsight;
43
- if (currentValue > budgetValue) {
44
- return 'over';
45
- }
46
- if (currentValue < budgetValue) {
47
- return 'under';
48
- }
49
- return 'equal with';
50
- };
51
- const resolveType = (budgetInsight) => {
52
- if (budgetInsight.failed) {
53
- return constants_1.InsightType.ERROR;
54
- }
55
- if (budgetInsight.currentValue === budgetInsight.budgetValue) {
56
- return constants_1.InsightType.WARNING;
57
- }
58
- return constants_1.InsightType.SUCCESS;
59
- };
60
- exports.INFO_MESSAGE_TEMPLATE = '<%= metricLabel %> value \(<%= currentValue %>\) is <%= diffLabel %> <%= budgetValue %> budget';
61
- const getInfo = (globalMetricId, budgetInsight) => {
62
- const metric = (0, utils_1.getGlobalMetricType)(globalMetricId);
63
- const diffLabel = resolveDiffLabel(budgetInsight);
64
- const type = resolveType(budgetInsight);
65
- const currentValue = metric.formatter(budgetInsight.currentValue);
66
- const budgetValue = metric.formatter(budgetInsight.budgetValue);
67
- return {
68
- type,
69
- message: {
70
- template: exports.INFO_MESSAGE_TEMPLATE,
71
- data: {
72
- metricLabel: metric.label,
73
- diffLabel,
74
- currentValue,
75
- budgetValue,
124
+ budgets: {
125
+ type,
126
+ message,
127
+ data: Object.fromEntries(insights),
76
128
  },
77
129
  },
78
- source: {
79
- metricId: globalMetricId,
80
- budgetInsight,
81
- },
82
130
  };
83
131
  };
84
- exports.getInfo = getInfo;
132
+ exports.getExtract = getExtract;
85
133
  //# sourceMappingURL=budgets-insights.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"budgets-insights.js","sourceRoot":"","sources":["../../src/transformers/budgets-insights.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"budgets-insights.js","sourceRoot":"","sources":["../../src/transformers/budgets-insights.ts"],"names":[],"mappings":"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"}
package/lib/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -4,16 +4,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.extractAssets = void 0;
7
- const get_1 = __importDefault(require("lodash/get"));
8
7
  const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
9
8
  const utils_1 = require("../utils");
10
9
  const IGNORE_PATTERN = /\.(map|LICENSE\.txt)$/;
11
10
  const extractAssets = (webpackStats) => {
12
- const webpackAssets = (0, get_1.default)(webpackStats, 'assets', []);
13
- const webpackChunks = (0, get_1.default)(webpackStats, 'chunks', []);
14
- const webpackEntrypoints = (0, get_1.default)(webpackStats, 'entrypoints', {});
15
- const entryItems = Object.values(webpackEntrypoints)
16
- .map(({ assets: items }) => items)
11
+ const webpackAssets = (webpackStats === null || webpackStats === void 0 ? void 0 : webpackStats.assets) || [];
12
+ const webpackChunks = (webpackStats === null || webpackStats === void 0 ? void 0 : webpackStats.chunks) || [];
13
+ const webpackEntrypoints = (webpackStats === null || webpackStats === void 0 ? void 0 : webpackStats.entrypoints) || {};
14
+ const entrypointsAssets = Object.values(webpackEntrypoints)
15
+ .map(({ assets: items }) => items.map((item) => {
16
+ if (typeof item === 'object') {
17
+ return item.name;
18
+ }
19
+ return item;
20
+ }))
17
21
  .flat();
18
22
  const initialItems = webpackChunks
19
23
  .filter(({ initial }) => initial)
@@ -37,7 +41,7 @@ const extractAssets = (webpackStats) => {
37
41
  [normalizedName]: {
38
42
  name: baseName,
39
43
  value: size,
40
- isEntry: entryItems.includes(name),
44
+ isEntry: entrypointsAssets.includes(name),
41
45
  isInitial: initialItems.includes(name),
42
46
  isChunk: Boolean(assetChunk),
43
47
  ...(assetChunk ? { chunkId: assetChunk.id } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/webpack/extract/assets.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/webpack/extract/assets.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ exports.metrics = {
62
62
  },
63
63
  [constants_1.MetricId.DuplicateCode]: {
64
64
  label: 'Duplicate Code',
65
- description: 'The percentage of duplicate module total size',
65
+ description: 'The percentage of total duplicate module size from the total module size.',
66
66
  url: 'https://relative-ci.com/documentation/metrics-and-data#modules-1',
67
67
  type: metrics_1.METRIC_TYPE_PERCENTAGE,
68
68
  biggerIsBetter: false,
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/webpack/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/webpack/metrics.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,65 @@
1
1
  import get from 'lodash/get';
2
+ import template from 'lodash/template';
2
3
  import { InsightType } from '../constants';
3
4
  import { getGlobalMetricType } from '../utils';
5
+ const resolveType = (insights) => {
6
+ if (insights.find(([_, { type }]) => type === InsightType.ERROR)) {
7
+ return InsightType.ERROR;
8
+ }
9
+ if (insights.find(([_, { type }]) => type === InsightType.WARNING)) {
10
+ return InsightType.WARNING;
11
+ }
12
+ return InsightType.SUCCESS;
13
+ };
14
+ const budgetInsightTemplate = template('<%= count %>/<%= total %> budget checks <%= status %>');
15
+ const resolveStatus = (failedCount, warningCount) => {
16
+ if (failedCount) {
17
+ return 'failed';
18
+ }
19
+ if (warningCount) {
20
+ return 'warned';
21
+ }
22
+ return 'passed';
23
+ };
24
+ const getMessage = (insights) => {
25
+ const total = insights.length;
26
+ const failedCount = insights.filter(([___, insight]) => insight.type === InsightType.ERROR).length;
27
+ const warningCount = insights.filter(([___, insight]) => insight.type === InsightType.WARNING).length;
28
+ const count = failedCount || warningCount || total;
29
+ const status = resolveStatus(failedCount, warningCount);
30
+ return {
31
+ text: budgetInsightTemplate({
32
+ count,
33
+ total,
34
+ status,
35
+ }),
36
+ md: budgetInsightTemplate({
37
+ count: `**${count}**`,
38
+ total: `**${total}**`,
39
+ status,
40
+ }),
41
+ };
42
+ };
43
+ const budgetInsightMetricTemplate = template('<%= metricLabel %> is <%= diffLabel %> budget \(<%= currentValue %> / <%= budgetValue %>\)');
44
+ const resolveDiffLabel = (metricBudgetInsight) => {
45
+ const { currentValue, budgetValue } = metricBudgetInsight;
46
+ if (currentValue > budgetValue) {
47
+ return 'above';
48
+ }
49
+ if (currentValue < budgetValue) {
50
+ return 'below';
51
+ }
52
+ return 'equal with';
53
+ };
54
+ const resolveBudgetInsightMetricType = (metricBudgetInsight) => {
55
+ if (metricBudgetInsight.failed) {
56
+ return InsightType.ERROR;
57
+ }
58
+ if (metricBudgetInsight.currentValue === metricBudgetInsight.budgetValue) {
59
+ return InsightType.WARNING;
60
+ }
61
+ return InsightType.SUCCESS;
62
+ };
4
63
  export const getExtract = (source) => (_, currentExtractedData, __, options = {}) => {
5
64
  const { budgets: budgetsOptions } = options;
6
65
  if (!budgetsOptions) {
@@ -8,70 +67,60 @@ export const getExtract = (source) => (_, currentExtractedData, __, options = {}
8
67
  }
9
68
  const insights = [];
10
69
  budgetsOptions.forEach((budgetOption) => {
11
- const { metric: budgetMetricId, value: budgetValue } = budgetOption;
12
- const currentValue = get(currentExtractedData, `metrics.${budgetMetricId}.value`);
13
- const metric = getGlobalMetricType(`${source}.${budgetMetricId}`);
70
+ const { metric: sourceMetricId, value: budgetValue } = budgetOption;
71
+ const currentValue = get(currentExtractedData, `metrics.${sourceMetricId}.value`);
72
+ const metricData = getGlobalMetricType(`${source}.${sourceMetricId}`);
14
73
  if (!currentValue) {
15
74
  return;
16
75
  }
17
76
  const isValueOverBudget = currentValue > budgetValue;
18
- const budgetInsight = {
77
+ const failed = metricData.biggerIsBetter ? !isValueOverBudget : isValueOverBudget;
78
+ const budgetInsightMetricData = {
19
79
  currentValue,
20
80
  budgetValue,
21
- failed: metric.biggerIsBetter ? !isValueOverBudget : isValueOverBudget,
81
+ failed,
22
82
  };
23
- insights.push([budgetMetricId, budgetInsight]);
83
+ const diffLabel = resolveDiffLabel(budgetInsightMetricData);
84
+ const type = resolveBudgetInsightMetricType(budgetInsightMetricData);
85
+ const currentFormattedValue = metricData.formatter(currentValue);
86
+ const budgetFormattedValue = metricData.formatter(budgetValue);
87
+ const messageText = budgetInsightMetricTemplate({
88
+ metricLabel: metricData.label,
89
+ currentValue: currentFormattedValue,
90
+ diffLabel,
91
+ budgetValue: budgetFormattedValue,
92
+ });
93
+ const messageMd = budgetInsightMetricTemplate({
94
+ metricLabel: `**${metricData.label}**`,
95
+ currentValue: `**${currentFormattedValue}**`,
96
+ diffLabel,
97
+ budgetValue: `**${budgetFormattedValue}**`,
98
+ });
99
+ insights.push([
100
+ sourceMetricId,
101
+ {
102
+ type,
103
+ message: {
104
+ text: messageText,
105
+ md: messageMd,
106
+ },
107
+ data: budgetInsightMetricData,
108
+ },
109
+ ]);
24
110
  });
25
111
  if (insights.length === 0) {
26
112
  return null;
27
113
  }
114
+ const type = resolveType(insights);
115
+ const message = getMessage(insights);
28
116
  return {
29
117
  insights: {
30
- budgets: Object.fromEntries(insights),
31
- },
32
- };
33
- };
34
- const resolveDiffLabel = (budgetInsight) => {
35
- const { currentValue, budgetValue } = budgetInsight;
36
- if (currentValue > budgetValue) {
37
- return 'over';
38
- }
39
- if (currentValue < budgetValue) {
40
- return 'under';
41
- }
42
- return 'equal with';
43
- };
44
- const resolveType = (budgetInsight) => {
45
- if (budgetInsight.failed) {
46
- return InsightType.ERROR;
47
- }
48
- if (budgetInsight.currentValue === budgetInsight.budgetValue) {
49
- return InsightType.WARNING;
50
- }
51
- return InsightType.SUCCESS;
52
- };
53
- export const INFO_MESSAGE_TEMPLATE = '<%= metricLabel %> value \(<%= currentValue %>\) is <%= diffLabel %> <%= budgetValue %> budget';
54
- export const getInfo = (globalMetricId, budgetInsight) => {
55
- const metric = getGlobalMetricType(globalMetricId);
56
- const diffLabel = resolveDiffLabel(budgetInsight);
57
- const type = resolveType(budgetInsight);
58
- const currentValue = metric.formatter(budgetInsight.currentValue);
59
- const budgetValue = metric.formatter(budgetInsight.budgetValue);
60
- return {
61
- type,
62
- message: {
63
- template: INFO_MESSAGE_TEMPLATE,
64
- data: {
65
- metricLabel: metric.label,
66
- diffLabel,
67
- currentValue,
68
- budgetValue,
118
+ budgets: {
119
+ type,
120
+ message,
121
+ data: Object.fromEntries(insights),
69
122
  },
70
123
  },
71
- source: {
72
- metricId: globalMetricId,
73
- budgetInsight,
74
- },
75
124
  };
76
125
  };
77
126
  //# sourceMappingURL=budgets-insights.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"budgets-insights.js","sourceRoot":"","sources":["../../src/transformers/budgets-insights.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"budgets-insights.js","sourceRoot":"","sources":["../../src/transformers/budgets-insights.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -1,13 +1,17 @@
1
- import get from 'lodash/get';
2
1
  import isEmpty from 'lodash/isEmpty';
3
2
  import { getAssetName, normalizeChunkId } from '../utils';
4
3
  const IGNORE_PATTERN = /\.(map|LICENSE\.txt)$/;
5
4
  export const extractAssets = (webpackStats) => {
6
- const webpackAssets = get(webpackStats, 'assets', []);
7
- const webpackChunks = get(webpackStats, 'chunks', []);
8
- const webpackEntrypoints = get(webpackStats, 'entrypoints', {});
9
- const entryItems = Object.values(webpackEntrypoints)
10
- .map(({ assets: items }) => items)
5
+ const webpackAssets = (webpackStats === null || webpackStats === void 0 ? void 0 : webpackStats.assets) || [];
6
+ const webpackChunks = (webpackStats === null || webpackStats === void 0 ? void 0 : webpackStats.chunks) || [];
7
+ const webpackEntrypoints = (webpackStats === null || webpackStats === void 0 ? void 0 : webpackStats.entrypoints) || {};
8
+ const entrypointsAssets = Object.values(webpackEntrypoints)
9
+ .map(({ assets: items }) => items.map((item) => {
10
+ if (typeof item === 'object') {
11
+ return item.name;
12
+ }
13
+ return item;
14
+ }))
11
15
  .flat();
12
16
  const initialItems = webpackChunks
13
17
  .filter(({ initial }) => initial)
@@ -31,7 +35,7 @@ export const extractAssets = (webpackStats) => {
31
35
  [normalizedName]: {
32
36
  name: baseName,
33
37
  value: size,
34
- isEntry: entryItems.includes(name),
38
+ isEntry: entrypointsAssets.includes(name),
35
39
  isInitial: initialItems.includes(name),
36
40
  isChunk: Boolean(assetChunk),
37
41
  ...(assetChunk ? { chunkId: assetChunk.id } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/webpack/extract/assets.js"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE1D,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAE/C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,EAAE;IAC5C,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,kBAAkB,GAAG,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IAEhE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;SACjD,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC;SACjC,IAAI,EAAE,CAAC;IAEV,MAAM,YAAY,GAAG,aAAa;SAC/B,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC;SAChC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC;SACzB,IAAI,EAAE,CAAC;IAEV,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACpE,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE,EAAE;QACtC,KAAK;KACN,CAAC,CAAC,CAAC;IAEJ,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;QACxD,MAAM,QAAQ,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAE3C,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACjC,OAAO,UAAU,CAAC;SACnB;QAGD,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtF,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAE7B,OAAO;YACL,GAAG,UAAU;YACb,CAAC,cAAc,CAAC,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAClC,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACtC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;gBAC5B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD;SACF,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,OAAO,EAAE;YACP,MAAM;SACP;QACD,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC5B,CAAC,CAAC;gBACE,IAAI,EAAE;oBACJ,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC/D;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/webpack/extract/assets.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,7 @@ export const metrics = {
59
59
  },
60
60
  [MetricId.DuplicateCode]: {
61
61
  label: 'Duplicate Code',
62
- description: 'The percentage of duplicate module total size',
62
+ description: 'The percentage of total duplicate module size from the total module size.',
63
63
  url: 'https://relative-ci.com/documentation/metrics-and-data#modules-1',
64
64
  type: METRIC_TYPE_PERCENTAGE,
65
65
  biggerIsBetter: false,
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/webpack/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/webpack/metrics.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bundle-stats/utils",
3
- "version": "3.4.0-alpha.3",
3
+ "version": "3.4.0-beta.0",
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": "^3.4.0-alpha.3",
39
- "@bundle-stats/plugin-webpack-validate": "^3.4.0-alpha.3",
38
+ "@bundle-stats/plugin-webpack-filter": "^3.4.0-beta.0",
39
+ "@bundle-stats/plugin-webpack-validate": "^3.4.0-beta.0",
40
40
  "convert-units": "3.0.0-beta.2",
41
- "query-string": "7.1.1",
42
- "serialize-query-params": "1.3.6"
41
+ "query-string": "^7.1.0",
42
+ "serialize-query-params": "^1.3.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/jest": "27.4.1",
46
- "@types/lodash": "4.14.179",
47
- "core-js": "3.20.2",
46
+ "@types/lodash": "4.14.181",
47
+ "core-js": "3.21.1",
48
48
  "jest": "27.5.1",
49
49
  "jest-cli": "27.5.1",
50
50
  "jest-date-mock": "1.0.8",
51
51
  "lodash": "4.17.21",
52
52
  "regenerator-runtime": "0.13.9",
53
53
  "rimraf": "3.0.2",
54
- "ts-jest": "27.1.3",
55
- "typescript": "4.6.2"
54
+ "ts-jest": "27.1.4",
55
+ "typescript": "4.6.3"
56
56
  },
57
57
  "peerDependencies": {
58
- "core-js": "3.20.2",
59
- "lodash": "4.17.21"
58
+ "core-js": "^3.0.0",
59
+ "lodash": "^4.0.0"
60
60
  },
61
- "gitHead": "a9c2ce85afa59b900a8e13cc1a338ef74f737e86"
61
+ "gitHead": "45774cba629c670df5528d72a67d3cfaddd8fed7"
62
62
  }