@bundle-stats/utils 4.2.3-beta.0 → 4.2.3-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.
- package/README.md +15 -10
- package/lib/browsertime/metrics.js +22 -22
- package/lib/browsertime/metrics.js.map +1 -1
- package/lib/config/component-links.js +7 -1
- package/lib/config/component-links.js.map +1 -1
- package/lib/config/file-types.js +3 -3
- package/lib/config/file-types.js.map +1 -1
- package/lib/config/index.js +1 -2
- package/lib/config/index.js.map +1 -1
- package/lib/config/metric-types.js +28 -0
- package/lib/config/metric-types.js.map +1 -0
- package/lib/constants.js +23 -22
- package/lib/constants.js.map +1 -1
- package/lib/i18n.js +15 -10
- package/lib/i18n.js.map +1 -1
- package/lib/jobs/create-job.js +17 -7
- package/lib/jobs/create-job.js.map +1 -1
- package/lib/jobs/create-jobs.js.map +1 -1
- package/lib/lighthouse/metrics.js +13 -13
- package/lib/lighthouse/metrics.js.map +1 -1
- package/lib/report/add-row-metric-data.js +4 -4
- package/lib/report/add-row-metric-data.js.map +1 -1
- package/lib/report/compare-metrics.js +4 -1
- package/lib/report/compare-metrics.js.map +1 -1
- package/lib/report/create.js +17 -7
- package/lib/report/create.js.map +1 -1
- package/lib/report/get-metric-changed.js.map +1 -1
- package/lib/report/index.js +1 -0
- package/lib/report/index.js.map +1 -1
- package/lib/report/merge-metrics-by-key.js +1 -1
- package/lib/report/merge-metrics-by-key.js.map +1 -1
- package/lib/utils/component-links.js +191 -27
- package/lib/utils/component-links.js.map +1 -1
- package/lib/utils/date.js.map +1 -1
- package/lib/utils/delta.js +35 -30
- package/lib/utils/delta.js.map +1 -1
- package/lib/utils/format.js +5 -6
- package/lib/utils/format.js.map +1 -1
- package/lib/utils/insights.js.map +1 -1
- package/lib/utils/metrics.js +49 -32
- package/lib/utils/metrics.js.map +1 -1
- package/lib/webpack/compare.js +16 -12
- package/lib/webpack/compare.js.map +1 -1
- package/lib/webpack/extract/assets.js +7 -1
- package/lib/webpack/extract/assets.js.map +1 -1
- package/lib/webpack/extract/meta.js.map +1 -1
- package/lib/webpack/extract/modules-packages-duplicate.js.map +1 -1
- package/lib/webpack/extract/modules-packages-new-insight.js.map +1 -1
- package/lib/webpack/extract/modules-packages.js +8 -1
- package/lib/webpack/extract/modules-packages.js.map +1 -1
- package/lib/webpack/extract/modules.js +45 -20
- package/lib/webpack/extract/modules.js.map +1 -1
- package/lib/webpack/metrics.js +35 -34
- package/lib/webpack/metrics.js.map +1 -1
- package/lib/webpack/selectors.js +40 -3
- package/lib/webpack/selectors.js.map +1 -1
- package/lib/webpack/types.js +1 -1
- package/lib/webpack/types.js.map +1 -1
- package/lib/webpack/utils.js +37 -25
- package/lib/webpack/utils.js.map +1 -1
- package/lib-esm/browsertime/metrics.js +22 -22
- package/lib-esm/browsertime/metrics.js.map +1 -1
- package/lib-esm/config/component-links.js +6 -0
- package/lib-esm/config/component-links.js.map +1 -1
- package/lib-esm/config/file-types.js +3 -3
- package/lib-esm/config/file-types.js.map +1 -1
- package/lib-esm/config/index.js +1 -2
- package/lib-esm/config/index.js.map +1 -1
- package/lib-esm/config/metric-types.js +25 -0
- package/lib-esm/config/metric-types.js.map +1 -0
- package/lib-esm/constants.js +19 -18
- package/lib-esm/constants.js.map +1 -1
- package/lib-esm/i18n.js +15 -10
- package/lib-esm/i18n.js.map +1 -1
- package/lib-esm/jobs/create-job.js.map +1 -1
- package/lib-esm/jobs/create-jobs.js.map +1 -1
- package/lib-esm/lighthouse/metrics.js +13 -13
- package/lib-esm/lighthouse/metrics.js.map +1 -1
- package/lib-esm/report/add-row-metric-data.js +4 -4
- package/lib-esm/report/add-row-metric-data.js.map +1 -1
- package/lib-esm/report/compare-metrics.js +4 -1
- package/lib-esm/report/compare-metrics.js.map +1 -1
- package/lib-esm/report/create.js.map +1 -1
- package/lib-esm/report/get-metric-changed.js.map +1 -1
- package/lib-esm/report/index.js +1 -0
- package/lib-esm/report/index.js.map +1 -1
- package/lib-esm/report/merge-metrics-by-key.js +1 -1
- package/lib-esm/report/merge-metrics-by-key.js.map +1 -1
- package/lib-esm/utils/component-links.js +185 -27
- package/lib-esm/utils/component-links.js.map +1 -1
- package/lib-esm/utils/date.js.map +1 -1
- package/lib-esm/utils/delta.js +32 -26
- package/lib-esm/utils/delta.js.map +1 -1
- package/lib-esm/utils/format.js.map +1 -1
- package/lib-esm/utils/insights.js.map +1 -1
- package/lib-esm/utils/metrics.js +44 -27
- package/lib-esm/utils/metrics.js.map +1 -1
- package/lib-esm/webpack/compare.js +7 -5
- package/lib-esm/webpack/compare.js.map +1 -1
- package/lib-esm/webpack/extract/assets.js +7 -1
- package/lib-esm/webpack/extract/assets.js.map +1 -1
- package/lib-esm/webpack/extract/meta.js.map +1 -1
- package/lib-esm/webpack/extract/modules-packages-duplicate.js.map +1 -1
- package/lib-esm/webpack/extract/modules-packages-new-insight.js.map +1 -1
- package/lib-esm/webpack/extract/modules-packages.js +8 -1
- package/lib-esm/webpack/extract/modules-packages.js.map +1 -1
- package/lib-esm/webpack/extract/modules.js +45 -20
- package/lib-esm/webpack/extract/modules.js.map +1 -1
- package/lib-esm/webpack/metrics.js +35 -34
- package/lib-esm/webpack/metrics.js.map +1 -1
- package/lib-esm/webpack/selectors.js +35 -1
- package/lib-esm/webpack/selectors.js.map +1 -1
- package/lib-esm/webpack/utils.js +37 -25
- package/lib-esm/webpack/utils.js.map +1 -1
- package/package.json +20 -22
- package/src/browsertime/metrics.js +22 -22
- package/src/config/component-links.js +7 -0
- package/src/config/file-types.js +3 -3
- package/src/config/index.js +1 -2
- package/src/config/metric-types.ts +25 -0
- package/src/constants.ts +94 -34
- package/src/i18n.js +15 -10
- package/src/lighthouse/metrics.js +13 -15
- package/src/report/add-row-metric-data.ts +42 -38
- package/src/report/compare-metrics.ts +7 -4
- package/src/report/create.ts +1 -1
- package/src/report/index.js +1 -0
- package/src/report/merge-metrics-by-key.ts +7 -5
- package/src/report/types.ts +17 -0
- package/src/utils/component-links.ts +276 -35
- package/src/utils/delta.ts +98 -0
- package/src/utils/metrics.ts +88 -0
- package/src/webpack/compare.ts +62 -0
- package/src/webpack/extract/assets.ts +13 -7
- package/src/webpack/extract/modules-packages.ts +74 -61
- package/src/webpack/extract/modules.ts +66 -33
- package/src/webpack/{metrics.js → metrics.ts} +41 -39
- package/src/webpack/selectors.js +82 -9
- package/src/webpack/types.ts +13 -4
- package/src/webpack/utils.ts +173 -0
- package/types/browsertime/compare.d.ts +1 -1
- package/types/browsertime/metrics.d.ts +63 -43
- package/types/config/component-links.d.ts +26 -18
- package/types/config/file-types.d.ts +17 -17
- package/types/config/index.d.ts +1 -2
- package/types/config/metric-types.d.ts +2 -0
- package/types/constants.d.ts +52 -29
- package/types/i18n.d.ts +19 -14
- package/types/lighthouse/compare.d.ts +1 -1
- package/types/lighthouse/filter.d.ts +1 -1
- package/types/lighthouse/metrics.d.ts +36 -28
- package/types/report/add-row-metric-data.d.ts +1 -16
- package/types/report/compare-metrics.d.ts +1 -1
- package/types/report/index.d.ts +1 -0
- package/types/report/merge-metrics-by-key.d.ts +1 -1
- package/types/report/types.d.ts +12 -0
- package/types/utils/component-links.d.ts +24 -8
- package/types/utils/delta.d.ts +4 -6
- package/types/utils/metrics.d.ts +4 -3
- package/types/webpack/compare.d.ts +11 -14
- package/types/webpack/constants.d.ts +1 -1
- package/types/webpack/extract/assets-size-total-insight.d.ts +2 -2
- package/types/webpack/extract/modules.d.ts +1 -1
- package/types/webpack/metrics.d.ts +7 -153
- package/types/webpack/selectors.d.ts +21 -7
- package/types/webpack/types.d.ts +4 -4
- package/types/webpack/utils.d.ts +8 -8
- package/CHANGELOG.md +0 -333
- package/lib/config/delta.js +0 -13
- package/lib/config/delta.js.map +0 -1
- package/lib/config/metrics.js +0 -32
- package/lib/config/metrics.js.map +0 -1
- package/lib-esm/config/delta.js +0 -10
- package/lib-esm/config/delta.js.map +0 -1
- package/lib-esm/config/metrics.js +0 -29
- package/lib-esm/config/metrics.js.map +0 -1
- package/src/config/delta.js +0 -11
- package/src/config/metrics.js +0 -35
- package/src/utils/delta.js +0 -94
- package/src/utils/metrics.js +0 -92
- package/src/webpack/compare.js +0 -81
- package/src/webpack/utils.js +0 -155
- package/types/config/delta.d.ts +0 -9
- package/types/config/metrics.d.ts +0 -35
package/lib-esm/webpack/utils.js
CHANGED
|
@@ -1,43 +1,54 @@
|
|
|
1
|
-
import last from 'lodash/last';
|
|
2
|
-
import map from 'lodash/map';
|
|
3
1
|
import round from 'lodash/round';
|
|
4
2
|
import { PACKAGES_SEPARATOR, PACKAGE_ID_SEPARATOR } from '../config';
|
|
5
3
|
import { createGetMetricType } from '../utils/metrics';
|
|
6
4
|
import { metrics } from './metrics';
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
5
|
+
const HEX_HASH_PATTERN = '[a-f0-9]{5,32}';
|
|
6
|
+
const HEX_HASH_SEPARATOR_PATTERN = '[-_.~]';
|
|
7
|
+
const BASE64URL_HASH_PATTERN = '[A-Za-z0-9_-]{4,}';
|
|
8
|
+
const BASE64URL_SEPARATOR_PATTERN = '[.~]';
|
|
9
|
+
const EXTENSION_PATTERN = /(?:\.[a-z0-9]{2,}){1,}/;
|
|
10
10
|
const PATTERNS = [
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
{
|
|
12
|
+
pattern: new RegExp(`(.*)${HEX_HASH_SEPARATOR_PATTERN}${HEX_HASH_PATTERN}(${EXTENSION_PATTERN.source})$`),
|
|
13
|
+
replace: '$1$2',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
pattern: new RegExp(`(.*)${BASE64URL_SEPARATOR_PATTERN}${BASE64URL_HASH_PATTERN}(${EXTENSION_PATTERN.source})$`),
|
|
17
|
+
replace: '$1$2',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
pattern: new RegExp(`(static)/${HEX_HASH_PATTERN}(.*${EXTENSION_PATTERN.source})$`),
|
|
21
|
+
replace: '$1$2',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
pattern: new RegExp(`(static)/${BASE64URL_HASH_PATTERN}/(_.*${EXTENSION_PATTERN.source})$`),
|
|
25
|
+
replace: '$1/[hash]/$2',
|
|
26
|
+
},
|
|
27
|
+
];
|
|
14
28
|
const NO_BASENAME = /(^|.*\/)\..*$/;
|
|
15
|
-
export const getAssetName = (
|
|
16
|
-
if (!
|
|
29
|
+
export const getAssetName = (statsAssetPath) => {
|
|
30
|
+
if (!statsAssetPath) {
|
|
17
31
|
return '';
|
|
18
32
|
}
|
|
19
|
-
let
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
result = extracted;
|
|
33
|
+
for (let i = 0; i < PATTERNS.length; i += 1) {
|
|
34
|
+
const { pattern, replace } = PATTERNS[i];
|
|
35
|
+
const extracted = statsAssetPath.replace(pattern, replace);
|
|
36
|
+
if (extracted && extracted !== statsAssetPath && !NO_BASENAME.test(extracted)) {
|
|
37
|
+
return extracted;
|
|
25
38
|
}
|
|
26
39
|
}
|
|
27
|
-
|
|
28
|
-
return assetFilepath;
|
|
29
|
-
}
|
|
30
|
-
return result;
|
|
40
|
+
return statsAssetPath;
|
|
31
41
|
};
|
|
32
42
|
const NAME_WITH_LOADERS = /!/;
|
|
33
|
-
const NAME_WITH_MODULES = /\s
|
|
43
|
+
const NAME_WITH_MODULES = /\s?\+\s?\d*\s?modules$/;
|
|
34
44
|
const INVALID_CSS_PREFIX = /^css\s.*node_modules(?!\/)/;
|
|
35
45
|
export const getModuleName = (name) => {
|
|
36
46
|
if (!name) {
|
|
37
47
|
return '';
|
|
38
48
|
}
|
|
39
49
|
if (NAME_WITH_LOADERS.test(name)) {
|
|
40
|
-
const
|
|
50
|
+
const segments = name.split(NAME_WITH_LOADERS);
|
|
51
|
+
const normalizedName = segments[segments.length - 1];
|
|
41
52
|
if (normalizedName === null || normalizedName === void 0 ? void 0 : normalizedName.trim()) {
|
|
42
53
|
return normalizedName;
|
|
43
54
|
}
|
|
@@ -68,16 +79,17 @@ export const calculateCacheInvalidation = (rows) => {
|
|
|
68
79
|
return round((invalidated / cached) * 100, 2);
|
|
69
80
|
};
|
|
70
81
|
export const getMetricAdded = (runs) => {
|
|
71
|
-
const [current, baseline] =
|
|
82
|
+
const [current, baseline] = (runs === null || runs === void 0 ? void 0 : runs.map((run) => run === null || run === void 0 ? void 0 : run.value)) || [];
|
|
72
83
|
return Boolean(current !== null && !baseline);
|
|
73
84
|
};
|
|
74
85
|
export const getMetricDeleted = (runs) => {
|
|
75
|
-
const [current, baseline] =
|
|
86
|
+
const [current, baseline] = (runs === null || runs === void 0 ? void 0 : runs.map((run) => run === null || run === void 0 ? void 0 : run.value)) || [];
|
|
76
87
|
return Boolean(baseline !== null && !current);
|
|
77
88
|
};
|
|
78
89
|
export const getMetricType = createGetMetricType(metrics);
|
|
79
90
|
export const getPackagePublicName = (packageId) => {
|
|
80
|
-
const
|
|
91
|
+
const packageNames = packageId.split(PACKAGES_SEPARATOR);
|
|
92
|
+
const name = packageNames[packageNames.length - 1];
|
|
81
93
|
return name.split(PACKAGE_ID_SEPARATOR)[0];
|
|
82
94
|
};
|
|
83
95
|
export const normalizeChunkId = (chunkId) => chunkId.toString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/webpack/utils.
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/webpack/utils.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": "4.2.3-beta.
|
|
3
|
+
"version": "4.2.3-beta.1",
|
|
4
4
|
"description": "BundleStats utils",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -14,16 +14,16 @@
|
|
|
14
14
|
},
|
|
15
15
|
"scripts": {
|
|
16
16
|
"build": "npm run build-lib && npm run build-esm",
|
|
17
|
-
"build-lib": "
|
|
18
|
-
"build-esm": "
|
|
19
|
-
"lint": "
|
|
17
|
+
"build-lib": "rimraf ./lib && tsc --rootDir ./src --project tsconfig.lib.json --outDir ./lib",
|
|
18
|
+
"build-esm": "rimraf ./lib-esm ./types && tsc --rootDir ./src --project tsconfig.esm.json --outDir ./lib-esm",
|
|
19
|
+
"lint": "eslint",
|
|
20
20
|
"test": "TZ=UTC jest src --maxWorkers=4"
|
|
21
21
|
},
|
|
22
22
|
"keywords": [],
|
|
23
23
|
"author": {
|
|
24
24
|
"name": "Viorel Cojocaru",
|
|
25
|
-
"email": "vio@
|
|
26
|
-
"url": "https://
|
|
25
|
+
"email": "vio@relative-ci.com",
|
|
26
|
+
"url": "https://relative-ci.com"
|
|
27
27
|
},
|
|
28
28
|
"license": "MIT",
|
|
29
29
|
"repository": {
|
|
@@ -35,28 +35,26 @@
|
|
|
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": "
|
|
39
|
-
"@bundle-stats/plugin-webpack-validate": "
|
|
40
|
-
"query-
|
|
41
|
-
"serialize-query-params": "2.0.2",
|
|
42
|
-
"use-query-params": "2.2.0"
|
|
38
|
+
"@bundle-stats/plugin-webpack-filter": "4.2.3-beta.1",
|
|
39
|
+
"@bundle-stats/plugin-webpack-validate": "4.2.3-beta.1",
|
|
40
|
+
"serialize-query-params": "2.0.2"
|
|
43
41
|
},
|
|
44
42
|
"devDependencies": {
|
|
45
|
-
"@types/jest": "29.
|
|
46
|
-
"@types/lodash": "4.
|
|
47
|
-
"core-js": "3.
|
|
48
|
-
"jest": "29.
|
|
49
|
-
"jest-cli": "29.
|
|
50
|
-
"jest-date-mock": "1.0.
|
|
43
|
+
"@types/jest": "29.5.14",
|
|
44
|
+
"@types/lodash": "4.17.18",
|
|
45
|
+
"core-js": "3.43.0",
|
|
46
|
+
"jest": "29.7.0",
|
|
47
|
+
"jest-cli": "29.7.0",
|
|
48
|
+
"jest-date-mock": "1.0.10",
|
|
51
49
|
"lodash": "4.17.21",
|
|
52
|
-
"regenerator-runtime": "0.
|
|
53
|
-
"rimraf": "
|
|
54
|
-
"ts-jest": "29.0
|
|
55
|
-
"typescript": "
|
|
50
|
+
"regenerator-runtime": "0.14.1",
|
|
51
|
+
"rimraf": "6.0.1",
|
|
52
|
+
"ts-jest": "29.4.0",
|
|
53
|
+
"typescript": "5.8.3"
|
|
56
54
|
},
|
|
57
55
|
"peerDependencies": {
|
|
58
56
|
"core-js": "^3.0.0",
|
|
59
57
|
"lodash": "^4.0.0"
|
|
60
58
|
},
|
|
61
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "18734a4f1ce353ca150d7e0a40212f44a90c621e"
|
|
62
60
|
}
|
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MetricTypes } from '../constants';
|
|
2
2
|
|
|
3
3
|
export const metrics = {
|
|
4
4
|
firstPaint: {
|
|
5
5
|
label: 'First Paint',
|
|
6
|
-
type:
|
|
6
|
+
type: MetricTypes.Duration,
|
|
7
7
|
},
|
|
8
8
|
fullyLoaded: {
|
|
9
9
|
label: 'Fully Loaded',
|
|
10
|
-
type:
|
|
10
|
+
type: MetricTypes.Duration,
|
|
11
11
|
},
|
|
12
12
|
backEndTime: {
|
|
13
13
|
label: 'BackEnd Time',
|
|
14
|
-
type:
|
|
14
|
+
type: MetricTypes.Duration,
|
|
15
15
|
},
|
|
16
16
|
domContentLoadedTime: {
|
|
17
17
|
label: 'DOM Content Loaded Time',
|
|
18
|
-
type:
|
|
18
|
+
type: MetricTypes.Duration,
|
|
19
19
|
},
|
|
20
20
|
domInteractiveTime: {
|
|
21
21
|
label: 'DOM Interactive Time',
|
|
22
|
-
type:
|
|
22
|
+
type: MetricTypes.Duration,
|
|
23
23
|
},
|
|
24
24
|
domainLookupTime: {
|
|
25
25
|
label: 'Domain Lookup Time',
|
|
26
|
-
type:
|
|
26
|
+
type: MetricTypes.Duration,
|
|
27
27
|
},
|
|
28
28
|
frontEndTime: {
|
|
29
29
|
label: 'FrontEnd Time',
|
|
30
|
-
type:
|
|
30
|
+
type: MetricTypes.Duration,
|
|
31
31
|
},
|
|
32
32
|
pageDownloadTime: {
|
|
33
33
|
label: 'Page Download Time',
|
|
34
|
-
type:
|
|
34
|
+
type: MetricTypes.Duration,
|
|
35
35
|
},
|
|
36
36
|
pageLoadTime: {
|
|
37
37
|
label: 'Page Load Time',
|
|
38
|
-
type:
|
|
38
|
+
type: MetricTypes.Duration,
|
|
39
39
|
},
|
|
40
40
|
redirectionTime: {
|
|
41
41
|
label: 'Redirection Time',
|
|
42
|
-
type:
|
|
42
|
+
type: MetricTypes.Duration,
|
|
43
43
|
},
|
|
44
44
|
serverConnectionTime: {
|
|
45
45
|
label: 'Server Connection Time',
|
|
46
|
-
type:
|
|
46
|
+
type: MetricTypes.Duration,
|
|
47
47
|
},
|
|
48
48
|
serverResponseTime: {
|
|
49
49
|
label: 'Server Response Time',
|
|
50
|
-
type:
|
|
50
|
+
type: MetricTypes.Duration,
|
|
51
51
|
},
|
|
52
52
|
firstContentfulPaint: {
|
|
53
53
|
label: 'First Contentful Paint',
|
|
54
|
-
type:
|
|
54
|
+
type: MetricTypes.Duration,
|
|
55
55
|
},
|
|
56
56
|
rumSpeedIndex: {
|
|
57
57
|
label: 'RUM Speed Index',
|
|
58
|
-
type:
|
|
58
|
+
type: MetricTypes.Duration,
|
|
59
59
|
},
|
|
60
60
|
firstVisualChange: {
|
|
61
61
|
label: 'First Visual Change',
|
|
62
|
-
type:
|
|
62
|
+
type: MetricTypes.Duration,
|
|
63
63
|
},
|
|
64
64
|
lastVisualChange: {
|
|
65
65
|
label: 'Last Visual Change',
|
|
66
|
-
type:
|
|
66
|
+
type: MetricTypes.Duration,
|
|
67
67
|
},
|
|
68
68
|
perceptualSpeedIndex: {
|
|
69
69
|
label: 'Perceptual SpeedIndex',
|
|
70
|
-
type:
|
|
70
|
+
type: MetricTypes.Duration,
|
|
71
71
|
},
|
|
72
72
|
speedIndex: {
|
|
73
73
|
label: 'Speed Index',
|
|
74
|
-
type:
|
|
74
|
+
type: MetricTypes.Duration,
|
|
75
75
|
},
|
|
76
76
|
visualComplete85: {
|
|
77
77
|
label: 'Visual Complete 85',
|
|
78
|
-
type:
|
|
78
|
+
type: MetricTypes.Duration,
|
|
79
79
|
},
|
|
80
80
|
visualComplete95: {
|
|
81
81
|
label: 'Visual Complete 95',
|
|
82
|
-
type:
|
|
82
|
+
type: MetricTypes.Duration,
|
|
83
83
|
},
|
|
84
84
|
visualComplete99: {
|
|
85
85
|
label: 'Visual Complete 99',
|
|
86
|
-
type:
|
|
86
|
+
type: MetricTypes.Duration,
|
|
87
87
|
},
|
|
88
88
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export const ASSET_ENTRY_TYPE = 'et';
|
|
2
|
+
export const ASSET_CHUNK = 'c';
|
|
2
3
|
export const ASSET_FILE_TYPE = 'ft';
|
|
3
4
|
export const MODULE_CHUNK = 'c';
|
|
4
5
|
export const MODULE_FILE_TYPE = 'mft';
|
|
@@ -17,6 +18,7 @@ export const MODULE_FILTERS = {
|
|
|
17
18
|
DUPLICATED: 'md',
|
|
18
19
|
FIRST_PARTY: 'fp',
|
|
19
20
|
THIRD_PARTY: 'tp',
|
|
21
|
+
METRIC: 'metric',
|
|
20
22
|
};
|
|
21
23
|
|
|
22
24
|
export const PACKAGE_FILTERS = {
|
|
@@ -36,3 +38,8 @@ export const COMPONENT = {
|
|
|
36
38
|
BUNDLE_MODULES: 'bm',
|
|
37
39
|
BUNDLE_PACKAGES: 'bp',
|
|
38
40
|
};
|
|
41
|
+
|
|
42
|
+
export const MODULE_SOURCE_TYPE_LABELS = {
|
|
43
|
+
FIRST_PARTY: 'First party',
|
|
44
|
+
THIRD_PARTY: 'Third party',
|
|
45
|
+
};
|
package/src/config/file-types.js
CHANGED
|
@@ -9,7 +9,7 @@ export const FILE_TYPE_OTHER = 'OTHER';
|
|
|
9
9
|
|
|
10
10
|
export const FILE_TYPE_PATTERNS = {
|
|
11
11
|
[FILE_TYPE_CSS]: /\.css$/,
|
|
12
|
-
[FILE_TYPE_JS]: /\.js$/,
|
|
12
|
+
[FILE_TYPE_JS]: /\.(js|cjs|mjs)$/,
|
|
13
13
|
[FILE_TYPE_IMG]: /\.(a?png|jpe?g|webp|gif|svg|ico|avif)$/,
|
|
14
14
|
[FILE_TYPE_MEDIA]: /\.(mp4|mp3|m4a|aac|mov|webm|wav|ogg)$/,
|
|
15
15
|
[FILE_TYPE_FONT]: /\.(woff|woff2|ttf|otf|eot)$/,
|
|
@@ -34,14 +34,14 @@ export const FILE_TYPES = [...Object.keys(FILE_TYPE_PATTERNS), FILE_TYPE_OTHER];
|
|
|
34
34
|
*/
|
|
35
35
|
export const MODULE_SOURCE_PATTERNS = {
|
|
36
36
|
[FILE_TYPE_CSS]: /\.(css|styl|sass|scss|less)$/,
|
|
37
|
-
[FILE_TYPE_JS]: /\.(jsx?|tsx?|mjs)$/,
|
|
37
|
+
[FILE_TYPE_JS]: /\.(jsx?|tsx?|cjs|mjs)$/,
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
export const MODULE_SOURCE_FILE_TYPES = [...Object.keys(MODULE_SOURCE_PATTERNS), FILE_TYPE_OTHER];
|
|
41
41
|
|
|
42
42
|
export const MODULE_DESTINATION_PATTERNS = {
|
|
43
43
|
[FILE_TYPE_CSS]: /\.css$/,
|
|
44
|
-
[FILE_TYPE_JS]: /\.(js|mjs)$/,
|
|
44
|
+
[FILE_TYPE_JS]: /\.(js|cjs|mjs)$/,
|
|
45
45
|
};
|
|
46
46
|
|
|
47
47
|
export const MODULE_DESTINATION_FILE_TYPES = Object.keys(MODULE_DESTINATION_PATTERNS);
|
package/src/config/index.js
CHANGED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { formatNumber, formatDuration, formatFileSize, formatPercentage } from '../utils/format';
|
|
2
|
+
import { MetricTypes, MetricTypeConfig } from '../constants';
|
|
3
|
+
|
|
4
|
+
export const METRIC_TYPE_CONFIGS: Record<MetricTypes, MetricTypeConfig> = {
|
|
5
|
+
[MetricTypes.Numeric]: {
|
|
6
|
+
biggerIsBetter: false,
|
|
7
|
+
formatter: formatNumber,
|
|
8
|
+
},
|
|
9
|
+
[MetricTypes.Score]: {
|
|
10
|
+
biggerIsBetter: true,
|
|
11
|
+
formatter: formatNumber,
|
|
12
|
+
},
|
|
13
|
+
[MetricTypes.Duration]: {
|
|
14
|
+
biggerIsBetter: false,
|
|
15
|
+
formatter: formatDuration,
|
|
16
|
+
},
|
|
17
|
+
[MetricTypes.FileSize]: {
|
|
18
|
+
biggerIsBetter: false,
|
|
19
|
+
formatter: formatFileSize,
|
|
20
|
+
},
|
|
21
|
+
[MetricTypes.Percentage]: {
|
|
22
|
+
biggerIsBetter: true,
|
|
23
|
+
formatter: formatPercentage,
|
|
24
|
+
},
|
|
25
|
+
};
|
package/src/constants.ts
CHANGED
|
@@ -12,47 +12,92 @@ export enum InsightType {
|
|
|
12
12
|
WARNING = 'warning',
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Generic metric type names
|
|
17
|
+
*/
|
|
18
|
+
export enum MetricTypes {
|
|
19
|
+
Numeric = 'METRIC_TYPE_NUMERIC',
|
|
20
|
+
Score = 'METRIC_TYPE_SCORE',
|
|
21
|
+
FileSize = 'METRIC_TYPE_FILE_SIZE',
|
|
22
|
+
Duration = 'METRIC_TYPE_DURATION',
|
|
23
|
+
Percentage = 'METRIC_TYPE_PERCENTAGE',
|
|
21
24
|
}
|
|
22
25
|
|
|
26
|
+
/**
|
|
27
|
+
* Metric type base configuration
|
|
28
|
+
*/
|
|
23
29
|
export interface MetricTypeConfig {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Increased values are regressions, decreased values are improvements
|
|
32
|
+
*/
|
|
33
|
+
biggerIsBetter?: boolean | null;
|
|
34
|
+
/**
|
|
35
|
+
* Value formatter
|
|
36
|
+
*/
|
|
37
|
+
formatter: (value: number | null) => string;
|
|
27
38
|
}
|
|
28
39
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Source metric configuration
|
|
42
|
+
*/
|
|
43
|
+
export interface MetricConfig {
|
|
44
|
+
label: string;
|
|
45
|
+
type: MetricTypes;
|
|
46
|
+
description?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Documentation URL
|
|
49
|
+
*/
|
|
50
|
+
url?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Positive delta values are regressions and negative delta values are improvements
|
|
53
|
+
* overrides MetricTypeConfig['biggerIsBetter']
|
|
54
|
+
*/
|
|
55
|
+
biggerIsBetter?: MetricTypeConfig['biggerIsBetter'];
|
|
56
|
+
/**
|
|
57
|
+
* Do not show the delta
|
|
58
|
+
*/
|
|
59
|
+
skipDelta?: boolean;
|
|
32
60
|
}
|
|
33
61
|
|
|
34
|
-
export
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
62
|
+
export type Metric = MetricTypeConfig & MetricConfig;
|
|
63
|
+
|
|
64
|
+
export enum DeltaType {
|
|
65
|
+
HIGH_NEGATIVE = 'HIGH_NEGATIVE',
|
|
66
|
+
NEGATIVE = 'NEGATIVE',
|
|
67
|
+
LOW_NEGATIVE = 'LOW_NEGATIVE',
|
|
68
|
+
NO_CHANGE = 'NO_CHANGE',
|
|
69
|
+
CHANGE = 'CHANGE',
|
|
70
|
+
LOW_POSITIVE = 'LOW_POSITIVE',
|
|
71
|
+
POSITIVE = 'POSITIVE',
|
|
72
|
+
HIGH_POSITIVE = 'HIGH_POSITIVE',
|
|
42
73
|
}
|
|
43
74
|
|
|
75
|
+
export type MetricRunInfoDeltaType = `${DeltaType}`;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Metric data for a job/run
|
|
79
|
+
*/
|
|
44
80
|
export interface MetricRun {
|
|
45
81
|
value: number;
|
|
46
82
|
}
|
|
47
83
|
|
|
48
|
-
export interface
|
|
84
|
+
export interface MetricRunDelta {
|
|
85
|
+
delta: number;
|
|
86
|
+
deltaPercentage: number;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export interface MetricRunInfoBaseline {
|
|
49
90
|
value: number;
|
|
50
91
|
displayValue: string;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export interface MetricRunInfo extends MetricRunInfoBaseline {
|
|
95
|
+
delta: number;
|
|
96
|
+
deltaPercentage: number;
|
|
97
|
+
deltaType: MetricRunInfoDeltaType;
|
|
98
|
+
displayDelta: string;
|
|
99
|
+
displayDeltaPercentage: string;
|
|
100
|
+
regression?: boolean | null;
|
|
56
101
|
}
|
|
57
102
|
|
|
58
103
|
export type JobSection<T = object> = Record<Source, T>;
|
|
@@ -65,6 +110,20 @@ export enum JobSectionId {
|
|
|
65
110
|
rawData = 'rawData',
|
|
66
111
|
}
|
|
67
112
|
|
|
113
|
+
export interface WebpackChunk {
|
|
114
|
+
id: string;
|
|
115
|
+
name: string;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export interface JobMeta {
|
|
119
|
+
[Source.webpack]: {
|
|
120
|
+
/**
|
|
121
|
+
* Webpack chunks data
|
|
122
|
+
*/
|
|
123
|
+
chunks?: Array<WebpackChunk>;
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
|
|
68
127
|
export interface JobSummaryItem {
|
|
69
128
|
baseline: number;
|
|
70
129
|
current: number;
|
|
@@ -77,6 +136,7 @@ export interface JobInsight<T = object> {
|
|
|
77
136
|
|
|
78
137
|
export interface JobInsightAssetsSizeTotalData {
|
|
79
138
|
md: string;
|
|
139
|
+
text: string;
|
|
80
140
|
info: MetricRunInfo;
|
|
81
141
|
}
|
|
82
142
|
export type JobInsightDuplicatePackagesData = Record<string, Array<string>>;
|
|
@@ -110,7 +170,7 @@ export type JobMetricsSource = Record<string, MetricRun | Record<string, MetricR
|
|
|
110
170
|
export type JobMetrics = JobSection<JobMetricsSource>;
|
|
111
171
|
|
|
112
172
|
export interface JobData {
|
|
113
|
-
[JobSectionId.meta]?:
|
|
173
|
+
[JobSectionId.meta]?: JobMeta;
|
|
114
174
|
[JobSectionId.insights]?: JobInsights;
|
|
115
175
|
[JobSectionId.summary]?: JobSummary;
|
|
116
176
|
[JobSectionId.metrics]?: JobMetrics;
|
|
@@ -160,10 +220,10 @@ export interface BrowsertimeSource {
|
|
|
160
220
|
info?: {
|
|
161
221
|
browsertime: {
|
|
162
222
|
version: string;
|
|
163
|
-
}
|
|
223
|
+
};
|
|
164
224
|
timestamp: string;
|
|
165
225
|
url: string;
|
|
166
|
-
}
|
|
226
|
+
};
|
|
167
227
|
statistics?: {
|
|
168
228
|
timings: {
|
|
169
229
|
firstPaint: BrowsertimeSourceMetric;
|
|
@@ -179,12 +239,12 @@ export interface BrowsertimeSource {
|
|
|
179
239
|
redirectionTime: BrowsertimeSourceMetric;
|
|
180
240
|
serverConnectionTime: BrowsertimeSourceMetric;
|
|
181
241
|
serverResponseTime: BrowsertimeSourceMetric;
|
|
182
|
-
}
|
|
242
|
+
};
|
|
183
243
|
paintTiming: {
|
|
184
244
|
'first-contentful-paint': BrowsertimeSourceMetric;
|
|
185
|
-
}
|
|
245
|
+
};
|
|
186
246
|
rumSpeedIndex: BrowsertimeSourceMetric;
|
|
187
|
-
}
|
|
247
|
+
};
|
|
188
248
|
visualmetrics: {
|
|
189
249
|
FirstVisualChange: BrowsertimeSourceMetric;
|
|
190
250
|
LastVisualChange: BrowsertimeSourceMetric;
|
|
@@ -193,8 +253,8 @@ export interface BrowsertimeSource {
|
|
|
193
253
|
VisualComplete85: BrowsertimeSourceMetric;
|
|
194
254
|
VisualComplete95: BrowsertimeSourceMetric;
|
|
195
255
|
VisualComplete99: BrowsertimeSourceMetric;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
256
|
+
};
|
|
257
|
+
};
|
|
198
258
|
}
|
|
199
259
|
|
|
200
260
|
export interface BrowsertimeMetrics {
|
package/src/i18n.js
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
COMPONENT_LINK_TOTALS: 'View total size by type',
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
COMPONENT_LINK_BUNDLE_ASSET_DETAILS: 'View asset details',
|
|
4
|
+
COMPONENT_LINK_BUNDLE_ASSETS_INITIAL_JS: 'View initial JS assets',
|
|
5
|
+
COMPONENT_LINK_BUNDLE_ASSETS_INITIAL_CSS: 'View initial CSS assets',
|
|
6
|
+
COMPONENT_LINK_BUNDLE_ASSETS_CACHE_INVALIDATION: 'View changed assets',
|
|
7
|
+
COMPONENT_LINK_BUNDLE_ASSETS_COUNT: 'View assets',
|
|
8
|
+
COMPONENT_LINK_BUNDLE_ASSETS_CHUNK_COUNT: 'View chunks',
|
|
9
|
+
COMPONENT_LINK_BUNDLE_ASSETS_CHUNKS: 'View chunk assets',
|
|
8
10
|
COMPONENT_LINK_MODULES: 'View modules',
|
|
9
11
|
COMPONENT_LINK_MODULES_DUPLICATE: 'View duplicate modules',
|
|
12
|
+
COMPONENT_LINK_MODULES_BY_FILE_TYPE: (fileType) => `View ${fileType} modules`,
|
|
13
|
+
COMPONENT_LINK_MODULES_BY_SOURCE: (source) => `View ${source} modules`,
|
|
10
14
|
COMPONENT_LINK_CHUNK_MODULES: 'View chunk modules',
|
|
11
|
-
COMPONENT_LINK_PACKAGES_COUNT: 'View
|
|
12
|
-
COMPONENT_LINK_PACKAGES_CHANGED: 'View
|
|
13
|
-
COMPONENT_LINK_PACKAGES_DUPLICATE: 'View
|
|
14
|
-
COMPONENT_LINK_PACKAGES_DUPLICATE_CHANGED: 'View
|
|
15
|
+
COMPONENT_LINK_PACKAGES_COUNT: 'View packages',
|
|
16
|
+
COMPONENT_LINK_PACKAGES_CHANGED: 'View changed packages',
|
|
17
|
+
COMPONENT_LINK_PACKAGES_DUPLICATE: 'View duplicate packages',
|
|
18
|
+
COMPONENT_LINK_PACKAGES_DUPLICATE_CHANGED: 'View changed duplicate packages',
|
|
15
19
|
COMPONENT_LINK_VIEW_PACKAGE: 'View package',
|
|
16
|
-
COMPONENT_LINK_BUNDLE_ASSETS_BY_FILE_TYPE: ({ label }) => `View
|
|
20
|
+
COMPONENT_LINK_BUNDLE_ASSETS_BY_FILE_TYPE: ({ label }) => `View ${label} assets`,
|
|
21
|
+
COMPONENT_LINK_BUNDLE_ASSETS_BY_ENTRY_TYPE: (assetType) => `View ${assetType} assets`,
|
|
17
22
|
};
|