@bundle-stats/ui 4.7.8-beta.0 → 4.7.8
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/lib/app/app.js +7 -9
- package/lib/app/app.js.map +1 -1
- package/lib/components/bundle-modules/bundle-modules.js +41 -41
- package/lib/components/bundle-modules/bundle-modules.js.map +1 -1
- package/lib/components/bundle-modules/bundle-modules.utils.js +31 -30
- package/lib/components/bundle-modules/bundle-modules.utils.js.map +1 -1
- package/lib/hooks/search-params.js +6 -36
- package/lib/hooks/search-params.js.map +1 -1
- package/lib/query-state.js +2 -2
- package/lib/query-state.js.map +1 -1
- package/lib-esm/app/app.js +7 -9
- package/lib-esm/app/app.js.map +1 -1
- package/lib-esm/components/bundle-modules/bundle-modules.js +42 -41
- package/lib-esm/components/bundle-modules/bundle-modules.js.map +1 -1
- package/lib-esm/components/bundle-modules/bundle-modules.utils.js +32 -31
- package/lib-esm/components/bundle-modules/bundle-modules.utils.js.map +1 -1
- package/lib-esm/hooks/search-params.js +6 -36
- package/lib-esm/hooks/search-params.js.map +1 -1
- package/lib-esm/query-state.js +2 -2
- package/lib-esm/query-state.js.map +1 -1
- package/package.json +4 -4
- package/src/app/app.jsx +18 -19
- package/src/components/bundle-modules/bundle-modules.jsx +14 -16
- package/src/components/bundle-modules/bundle-modules.utils.js +42 -41
- package/src/hooks/search-params.js +7 -54
- package/src/query-state.jsx +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-modules.js","sourceRoot":"","sources":["../../../src/components/bundle-modules/bundle-modules.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,SAAS,GACV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,IAAI,MAAM,YAAY,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,GAAG,MAAM,6BAA6B,CAAC;AAE9C,MAAM,UAAU,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"bundle-modules.js","sourceRoot":"","sources":["../../../src/components/bundle-modules/bundle-modules.jsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { useMemo } from 'react';
|
|
2
1
|
import intersection from 'lodash/intersection';
|
|
3
2
|
import union from 'lodash/union';
|
|
4
|
-
import merge from 'lodash/merge';
|
|
5
|
-
import get from 'lodash/get';
|
|
6
3
|
import { MODULE_PATH_PACKAGES } from '@bundle-stats/utils/lib-esm/webpack';
|
|
7
4
|
import { MODULE_CHUNK, MODULE_FILTERS, MODULE_FILE_TYPE, MODULE_SOURCE_TYPE, getModuleSourceFileType, } from '@bundle-stats/utils';
|
|
8
5
|
export const addRowFlags = (row) => {
|
|
@@ -13,34 +10,38 @@ export const addRowFlags = (row) => {
|
|
|
13
10
|
return row;
|
|
14
11
|
};
|
|
15
12
|
export const getCustomSort = (item) => [!item.changed, item.key];
|
|
16
|
-
export const generateGetRowFilter = ({ chunkIds }) => (filters) =>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (filters[MODULE_FILTERS.DUPLICATED] && !row.duplicated) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
if (!((filters[`${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.FIRST_PARTY}`] &&
|
|
25
|
-
row.thirdParty === false) ||
|
|
26
|
-
(filters[`${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.THIRD_PARTY}`] && row.thirdParty === true))) {
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
if (!filters[`${MODULE_FILE_TYPE}.${row.fileType}`]) {
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
const checkedChunkIds = chunkIds.reduce((agg, chunkId) => {
|
|
33
|
-
if (get(filters, `${MODULE_CHUNK}.${chunkId}`)) {
|
|
34
|
-
return [...agg, chunkId];
|
|
13
|
+
export const generateGetRowFilter = ({ chunkIds }) => (filters) => {
|
|
14
|
+
const checkedChunkIds = [];
|
|
15
|
+
chunkIds.forEach((chunkId) => {
|
|
16
|
+
if (filters[`${MODULE_CHUNK}.${chunkId}`]) {
|
|
17
|
+
checkedChunkIds.push(chunkId);
|
|
35
18
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
19
|
+
});
|
|
20
|
+
const hasChunkFilters = checkedChunkIds.length !== chunkIds.length;
|
|
21
|
+
return (row) => {
|
|
22
|
+
var _a;
|
|
23
|
+
if (filters[MODULE_FILTERS.CHANGED] && !row.changed) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
if (filters[MODULE_FILTERS.DUPLICATED] && !row.duplicated) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
if (!((filters[`${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.FIRST_PARTY}`] &&
|
|
30
|
+
row.thirdParty === false) ||
|
|
31
|
+
(filters[`${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.THIRD_PARTY}`] &&
|
|
32
|
+
row.thirdParty === true))) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
if (!filters[`${MODULE_FILE_TYPE}.${row.fileType}`]) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
if (hasChunkFilters) {
|
|
39
|
+
const rowRunsChunkIds = ((_a = row === null || row === void 0 ? void 0 : row.runs) === null || _a === void 0 ? void 0 : _a.map((run) => (run === null || run === void 0 ? void 0 : run.chunkIds) || [])) || [];
|
|
40
|
+
const rowChunkIds = union(...rowRunsChunkIds);
|
|
41
|
+
const matchedChunkIds = intersection(rowChunkIds, checkedChunkIds);
|
|
42
|
+
return matchedChunkIds.length > 0;
|
|
43
|
+
}
|
|
44
|
+
return true;
|
|
45
|
+
};
|
|
45
46
|
};
|
|
46
47
|
//# sourceMappingURL=bundle-modules.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-modules.utils.js","sourceRoot":"","sources":["../../../src/components/bundle-modules/bundle-modules.utils.js"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"bundle-modules.utils.js","sourceRoot":"","sources":["../../../src/components/bundle-modules/bundle-modules.utils.js"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,13 @@
|
|
|
1
1
|
import { useCallback, useLayoutEffect, useMemo, useReducer } from 'react';
|
|
2
2
|
import isEqual from 'lodash/isEqual';
|
|
3
|
-
import isEmpty from 'lodash/isEmpty';
|
|
4
3
|
import merge from 'lodash/merge';
|
|
5
4
|
const ACTION_SET_FILTERS = 'SET_FILTERS';
|
|
6
5
|
const ACTION_SET_SEARCH = 'SET_SEARCH';
|
|
7
6
|
const ACTION_RESET_DEFAULT = 'RESET_DEFAULT';
|
|
8
7
|
const ACTION_RESET_ALL = 'RESET_ALL';
|
|
9
|
-
const
|
|
8
|
+
const ACTION_SET = 'SET';
|
|
10
9
|
const SEARCH_DEFAULT = '';
|
|
11
10
|
const SEARCH_DEFAULT_PATTERN = /.*/;
|
|
12
|
-
const filterChanges = (defaultFilters = {}, customFilters = {}) => {
|
|
13
|
-
const filters = {};
|
|
14
|
-
Object.entries(customFilters).forEach(([key, value]) => {
|
|
15
|
-
if (defaultFilters[key] !== value) {
|
|
16
|
-
filters[key] = value;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
if (isEmpty(filters)) {
|
|
20
|
-
return undefined;
|
|
21
|
-
}
|
|
22
|
-
return filters;
|
|
23
|
-
};
|
|
24
|
-
const hasFilterChanges = (defaultFilters = {}, customFilters = {}) => {
|
|
25
|
-
const filterEntries = Object.entries(customFilters);
|
|
26
|
-
let diff = false;
|
|
27
|
-
for (let i = 0 && !diff; i < filterEntries; i++) {
|
|
28
|
-
const [key, value] = filterEntries[i];
|
|
29
|
-
if (defaultFilters[key] !== value) {
|
|
30
|
-
diff = true;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return diff;
|
|
34
|
-
};
|
|
35
11
|
const getSearchPattern = (search) => {
|
|
36
12
|
let searchPattern = SEARCH_DEFAULT_PATTERN;
|
|
37
13
|
if (!search || !search.trim()) {
|
|
@@ -53,11 +29,7 @@ const getSearchReducer = ({ defaultFilters, allEntriesFilters, setParentState })
|
|
|
53
29
|
filters: payload,
|
|
54
30
|
search: state.search,
|
|
55
31
|
};
|
|
56
|
-
|
|
57
|
-
filters: filterChanges(allEntriesFilters, payload),
|
|
58
|
-
search: state.search,
|
|
59
|
-
};
|
|
60
|
-
setParentState(newParentState);
|
|
32
|
+
setParentState(newState);
|
|
61
33
|
return newState;
|
|
62
34
|
}
|
|
63
35
|
case ACTION_SET_SEARCH: {
|
|
@@ -93,7 +65,7 @@ const getSearchReducer = ({ defaultFilters, allEntriesFilters, setParentState })
|
|
|
93
65
|
searchPattern: getSearchPattern(),
|
|
94
66
|
};
|
|
95
67
|
}
|
|
96
|
-
case
|
|
68
|
+
case ACTION_SET: {
|
|
97
69
|
return payload;
|
|
98
70
|
}
|
|
99
71
|
default:
|
|
@@ -111,13 +83,11 @@ export const useSearchParams = ({ search: parentSearch = SEARCH_DEFAULT, filters
|
|
|
111
83
|
: defaultFilters;
|
|
112
84
|
const [{ search, searchPattern, filters }, dispatch] = useReducer(getSearchReducer({ defaultFilters, allEntriesFilters, setParentState }), generateState(initialFilters, parentSearch));
|
|
113
85
|
useLayoutEffect(() => {
|
|
114
|
-
|
|
115
|
-
const filtersChanged = hasFilterChanges(initialFilters, parentFilters);
|
|
116
|
-
if (!searchChanged && !filtersChanged) {
|
|
86
|
+
if (parentSearch === search && isEqual(initialFilters, filters)) {
|
|
117
87
|
return;
|
|
118
88
|
}
|
|
119
|
-
dispatch({ type:
|
|
120
|
-
}, [
|
|
89
|
+
dispatch({ type: ACTION_SET, payload: generateState(initialFilters, parentSearch) });
|
|
90
|
+
}, [parentSearch, parentFilters]);
|
|
121
91
|
const handleUpdateSearch = useCallback((newValue) => {
|
|
122
92
|
dispatch({ type: ACTION_SET_SEARCH, payload: newValue });
|
|
123
93
|
}, [dispatch]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-params.js","sourceRoot":"","sources":["../../src/hooks/search-params.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"search-params.js","sourceRoot":"","sources":["../../src/hooks/search-params.js"],"names":[],"mappings":"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"}
|
package/lib-esm/query-state.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React, { useCallback } from 'react';
|
|
2
|
-
import isEqual from 'lodash/isEqual';
|
|
3
|
-
import merge from 'lodash/merge';
|
|
4
2
|
import { JsonParam, QueryParamProvider, useQueryParams } from 'use-query-params';
|
|
5
3
|
import { ReactRouter5Adapter } from 'use-query-params/adapters/react-router-5';
|
|
6
4
|
import { parse, stringify } from 'query-string';
|
|
5
|
+
import isEqual from 'lodash/isEqual';
|
|
6
|
+
import merge from 'lodash/merge';
|
|
7
7
|
export const QueryStateProvider = (props) => (React.createElement(QueryParamProvider, { adapter: ReactRouter5Adapter, options: {
|
|
8
8
|
searchStringToObject: parse,
|
|
9
9
|
objectToSearchString: stringify,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-state.js","sourceRoot":"","sources":["../src/query-state.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"query-state.js","sourceRoot":"","sources":["../src/query-state.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAC9E,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAK,MAAM,cAAc,CAAC;AAEjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAC3C,oBAAC,kBAAkB,IACjB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE;QACP,oBAAoB,EAAE,KAAK;QAC3B,oBAAoB,EAAE,SAAS;KAChC,KACG,KAAK,GACT,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,aAAa,EAAE,EAAE;IACtD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC;QACzC,CAAC,aAAa,CAAC,EAAE,SAAS;KAC3B,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,QAAQ,EAAE,EAAE;QACX,MAAM,iBAAiB,GAAG,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAGrD,IAAI,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE;YACrC,OAAO;SACR;QAED,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACpD,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3B,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bundle-stats/ui",
|
|
3
|
-
"version": "4.7.8
|
|
3
|
+
"version": "4.7.8",
|
|
4
4
|
"description": "UI components for BundleStats projects.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@storybook/preset-scss": "^1.0.3",
|
|
44
44
|
"@storybook/react": "7.5.1",
|
|
45
45
|
"@storybook/react-webpack5": "7.5.1",
|
|
46
|
-
"@types/react": "18.2.
|
|
46
|
+
"@types/react": "18.2.32",
|
|
47
47
|
"babel-plugin-require-context-hook": "1.0.0",
|
|
48
48
|
"classnames": "2.3.2",
|
|
49
49
|
"colormap": "2.3.2",
|
|
@@ -72,11 +72,11 @@
|
|
|
72
72
|
"react-router-dom": "^5.0.0"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"@bundle-stats/utils": "4.7.8
|
|
75
|
+
"@bundle-stats/utils": "^4.7.8",
|
|
76
76
|
"ariakit": "2.0.0-next.44",
|
|
77
77
|
"modern-css-reset": "1.4.0",
|
|
78
78
|
"query-string": "7.1.3",
|
|
79
79
|
"use-query-params": "2.2.1"
|
|
80
80
|
},
|
|
81
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "4770962a87180433827b184b9916e0c6913219e9"
|
|
82
82
|
}
|
package/src/app/app.jsx
CHANGED
|
@@ -5,24 +5,24 @@ import { HashRouter, NavLink, Route, Switch, useLocation } from 'react-router-do
|
|
|
5
5
|
import { COMPONENT } from '@bundle-stats/utils';
|
|
6
6
|
|
|
7
7
|
import { URLS } from '../constants';
|
|
8
|
+
import { Box } from '../layout/box';
|
|
9
|
+
import { Container } from '../ui/container';
|
|
8
10
|
import { BundleAssets } from '../components/bundle-assets';
|
|
9
11
|
import { BundleAssetsTotalsChartBars } from '../components/bundle-assets-totals-chart-bars';
|
|
12
|
+
import { Tabs } from '../ui/tabs';
|
|
13
|
+
import { Footer } from '../layout/footer';
|
|
14
|
+
import { Stack } from '../layout/stack';
|
|
10
15
|
import { BundleAssetsTotalsTable } from '../components/bundle-assets-totals-table';
|
|
11
16
|
import { BundleModules } from '../components/bundle-modules';
|
|
12
17
|
import { BundlePackages } from '../components/bundle-packages';
|
|
13
18
|
import { Insights } from '../components/insights';
|
|
14
|
-
import { MetricsTableTitle } from '../components';
|
|
15
19
|
import { Summary } from '../components/summary';
|
|
16
20
|
import { TotalSizeTypeTitle } from '../components/total-size-type-title';
|
|
17
|
-
import { Box } from '../layout/box';
|
|
18
|
-
import { Footer } from '../layout/footer';
|
|
19
|
-
import { Stack } from '../layout/stack';
|
|
20
|
-
import { Container } from '../ui/container';
|
|
21
|
-
import { Tabs } from '../ui/tabs';
|
|
22
21
|
import { QueryStateProvider, useComponentQueryState } from '../query-state';
|
|
23
22
|
import I18N from '../i18n';
|
|
24
23
|
import { Header } from './header';
|
|
25
24
|
import css from './app.module.css';
|
|
25
|
+
import { MetricsTableTitle } from '../components';
|
|
26
26
|
|
|
27
27
|
const ScrollToTop = () => {
|
|
28
28
|
const { pathname } = useLocation();
|
|
@@ -69,13 +69,11 @@ const OverviewContent = () => {
|
|
|
69
69
|
const webpackInsights = jobs?.[0]?.insights?.webpack;
|
|
70
70
|
|
|
71
71
|
if (!webpackInsights) {
|
|
72
|
-
return null
|
|
72
|
+
return null
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
const res = {
|
|
76
|
-
...(webpackInsights.duplicatePackagesV3 && {
|
|
77
|
-
duplicatePackages: webpackInsights.duplicatePackagesV3,
|
|
78
|
-
}),
|
|
76
|
+
...(webpackInsights.duplicatePackagesV3 && { duplicatePackages: webpackInsights.duplicatePackagesV3 }),
|
|
79
77
|
...(webpackInsights.newPackages && { newPackages: webpackInsights.newPackages }),
|
|
80
78
|
};
|
|
81
79
|
|
|
@@ -86,6 +84,7 @@ const OverviewContent = () => {
|
|
|
86
84
|
return res;
|
|
87
85
|
}, [jobs]);
|
|
88
86
|
|
|
87
|
+
|
|
89
88
|
return (
|
|
90
89
|
<Stack space="medium">
|
|
91
90
|
{insightsByName && (
|
|
@@ -115,9 +114,9 @@ const AssetsContent = () => {
|
|
|
115
114
|
|
|
116
115
|
return (
|
|
117
116
|
<Container>
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
117
|
+
<Box outline>
|
|
118
|
+
<BundleAssets jobs={jobs} setState={bundleStatsSetState} {...bundleStatsState} />
|
|
119
|
+
</Box>
|
|
121
120
|
</Container>
|
|
122
121
|
);
|
|
123
122
|
};
|
|
@@ -130,9 +129,9 @@ const ModulesContent = () => {
|
|
|
130
129
|
|
|
131
130
|
return (
|
|
132
131
|
<Container>
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
132
|
+
<Box outline>
|
|
133
|
+
<BundleModules jobs={jobs} setState={bundleModulesSetState} {...bundleModulesState} />
|
|
134
|
+
</Box>
|
|
136
135
|
</Container>
|
|
137
136
|
);
|
|
138
137
|
};
|
|
@@ -145,9 +144,9 @@ const PackagesContent = () => {
|
|
|
145
144
|
|
|
146
145
|
return (
|
|
147
146
|
<Container>
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
147
|
+
<Box outline>
|
|
148
|
+
<BundlePackages jobs={jobs} {...bundlePackagesState} setState={bundlePackagesSetState} />
|
|
149
|
+
</Box>
|
|
151
150
|
</Container>
|
|
152
151
|
);
|
|
153
152
|
};
|
|
@@ -30,7 +30,16 @@ import { MetricsTableTitle } from '../metrics-table-title';
|
|
|
30
30
|
import { ModuleInfo } from '../module-info';
|
|
31
31
|
import css from './bundle-modules.module.css';
|
|
32
32
|
|
|
33
|
-
const getFilters = ({ filters, compareMode, chunks }) =>
|
|
33
|
+
const getFilters = ({ filters, compareMode, chunks }) => {
|
|
34
|
+
const chunkFilter = { label: 'Chunk' };
|
|
35
|
+
chunks?.forEach((chunk) => {
|
|
36
|
+
chunkFilter[chunk.id] = {
|
|
37
|
+
label: chunk.name,
|
|
38
|
+
defaultValue: filters[`${MODULE_CHUNK}.${chunk.id}`] ?? true,
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
return {
|
|
34
43
|
[MODULE_FILTERS.CHANGED]: {
|
|
35
44
|
label: 'Changed',
|
|
36
45
|
defaultValue: filters.changed,
|
|
@@ -41,21 +50,9 @@ const getFilters = ({ filters, compareMode, chunks }) => ({
|
|
|
41
50
|
defaultValue: filters[MODULE_FILTERS.DUPLICATED],
|
|
42
51
|
},
|
|
43
52
|
|
|
44
|
-
// When chunks data available, list available chunks as filters
|
|
53
|
+
// When chunks data is available, list available chunks as filters
|
|
45
54
|
...(!isEmpty(chunks) && {
|
|
46
|
-
[MODULE_CHUNK]:
|
|
47
|
-
label: 'Chunk',
|
|
48
|
-
...chunks.reduce(
|
|
49
|
-
(chunkFilters, { id, name }) => ({
|
|
50
|
-
...chunkFilters,
|
|
51
|
-
[id]: {
|
|
52
|
-
label: name,
|
|
53
|
-
defaultValue: get(filters, `${MODULE_CHUNK}.${id}`, true),
|
|
54
|
-
},
|
|
55
|
-
}),
|
|
56
|
-
{},
|
|
57
|
-
),
|
|
58
|
-
},
|
|
55
|
+
[MODULE_CHUNK]: chunkFilter,
|
|
59
56
|
}),
|
|
60
57
|
|
|
61
58
|
[MODULE_SOURCE_TYPE]: {
|
|
@@ -84,7 +81,8 @@ const getFilters = ({ filters, compareMode, chunks }) => ({
|
|
|
84
81
|
{},
|
|
85
82
|
),
|
|
86
83
|
},
|
|
87
|
-
}
|
|
84
|
+
};
|
|
85
|
+
};
|
|
88
86
|
|
|
89
87
|
const RowHeader = ({ row, filters, search, customComponentLink: CustomComponentLink }) => (
|
|
90
88
|
<CustomComponentLink
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { useMemo } from 'react';
|
|
2
1
|
import intersection from 'lodash/intersection';
|
|
3
2
|
import union from 'lodash/union';
|
|
4
|
-
import merge from 'lodash/merge';
|
|
5
|
-
import get from 'lodash/get';
|
|
6
3
|
import { MODULE_PATH_PACKAGES } from '@bundle-stats/utils/lib-esm/webpack';
|
|
7
4
|
import {
|
|
8
5
|
MODULE_CHUNK,
|
|
@@ -31,51 +28,55 @@ export const getCustomSort = (item) => [!item.changed, item.key];
|
|
|
31
28
|
|
|
32
29
|
export const generateGetRowFilter =
|
|
33
30
|
({ chunkIds }) =>
|
|
34
|
-
(filters) =>
|
|
35
|
-
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
31
|
+
(filters) => {
|
|
32
|
+
// eslint-disable-line prettier/prettier
|
|
33
|
+
// List of chunkIds with filter value set to `true`
|
|
34
|
+
const checkedChunkIds = [];
|
|
40
35
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
36
|
+
chunkIds.forEach((chunkId) => {
|
|
37
|
+
if (filters[`${MODULE_CHUNK}.${chunkId}`]) {
|
|
38
|
+
checkedChunkIds.push(chunkId);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
45
41
|
|
|
46
|
-
|
|
47
|
-
if (
|
|
48
|
-
!(
|
|
49
|
-
(filters[`${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.FIRST_PARTY}`] &&
|
|
50
|
-
row.thirdParty === false) ||
|
|
51
|
-
(filters[`${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.THIRD_PARTY}`] && row.thirdParty === true)
|
|
52
|
-
)
|
|
53
|
-
) {
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
42
|
+
const hasChunkFilters = checkedChunkIds.length !== chunkIds.length;
|
|
56
43
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
44
|
+
return (row) => {
|
|
45
|
+
// Skip not changed rows
|
|
46
|
+
if (filters[MODULE_FILTERS.CHANGED] && !row.changed) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
61
49
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return [...agg, chunkId];
|
|
50
|
+
// Skip not duplicated rows
|
|
51
|
+
if (filters[MODULE_FILTERS.DUPLICATED] && !row.duplicated) {
|
|
52
|
+
return false;
|
|
66
53
|
}
|
|
67
54
|
|
|
68
|
-
|
|
69
|
-
|
|
55
|
+
// Skip not matching source type
|
|
56
|
+
if (
|
|
57
|
+
!(
|
|
58
|
+
(filters[`${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.FIRST_PARTY}`] &&
|
|
59
|
+
row.thirdParty === false) ||
|
|
60
|
+
(filters[`${MODULE_SOURCE_TYPE}.${MODULE_FILTERS.THIRD_PARTY}`] &&
|
|
61
|
+
row.thirdParty === true)
|
|
62
|
+
)
|
|
63
|
+
) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
70
66
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
const matchedChunkIds = intersection(rowChunkIds, checkedChunkIds);
|
|
67
|
+
// Skip not matching source file types
|
|
68
|
+
if (!filters[`${MODULE_FILE_TYPE}.${row.fileType}`]) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
76
71
|
|
|
77
|
-
|
|
78
|
-
|
|
72
|
+
// Filter if any of the chunkIds are checked
|
|
73
|
+
if (hasChunkFilters) {
|
|
74
|
+
const rowRunsChunkIds = row?.runs?.map((run) => run?.chunkIds || []) || [];
|
|
75
|
+
const rowChunkIds = union(...rowRunsChunkIds);
|
|
76
|
+
const matchedChunkIds = intersection(rowChunkIds, checkedChunkIds);
|
|
77
|
+
return matchedChunkIds.length > 0;
|
|
78
|
+
}
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
return true;
|
|
81
|
+
};
|
|
81
82
|
};
|
|
@@ -1,49 +1,16 @@
|
|
|
1
1
|
import { useCallback, useLayoutEffect, useMemo, useReducer } from 'react';
|
|
2
2
|
import isEqual from 'lodash/isEqual';
|
|
3
|
-
import isEmpty from 'lodash/isEmpty';
|
|
4
3
|
import merge from 'lodash/merge';
|
|
5
4
|
|
|
6
5
|
const ACTION_SET_FILTERS = 'SET_FILTERS';
|
|
7
6
|
const ACTION_SET_SEARCH = 'SET_SEARCH';
|
|
8
7
|
const ACTION_RESET_DEFAULT = 'RESET_DEFAULT';
|
|
9
8
|
const ACTION_RESET_ALL = 'RESET_ALL';
|
|
10
|
-
const
|
|
9
|
+
const ACTION_SET = 'SET';
|
|
11
10
|
|
|
12
11
|
const SEARCH_DEFAULT = '';
|
|
13
12
|
const SEARCH_DEFAULT_PATTERN = /.*/;
|
|
14
13
|
|
|
15
|
-
const filterChanges = (defaultFilters = {}, customFilters = {}) => {
|
|
16
|
-
const filters = {};
|
|
17
|
-
|
|
18
|
-
Object.entries(customFilters).forEach(([key, value]) => {
|
|
19
|
-
if (defaultFilters[key] !== value) {
|
|
20
|
-
filters[key] = value;
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
if (isEmpty(filters)) {
|
|
25
|
-
return undefined;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return filters;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
const hasFilterChanges = (defaultFilters = {}, customFilters = {}) => {
|
|
32
|
-
const filterEntries = Object.entries(customFilters);
|
|
33
|
-
let diff = false;
|
|
34
|
-
|
|
35
|
-
// eslint-disable-next-line no-plusplus
|
|
36
|
-
for (let i = 0 && !diff; i < filterEntries; i++) {
|
|
37
|
-
const [key, value] = filterEntries[i];
|
|
38
|
-
|
|
39
|
-
if (defaultFilters[key] !== value) {
|
|
40
|
-
diff = true;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return diff;
|
|
45
|
-
};
|
|
46
|
-
|
|
47
14
|
const getSearchPattern = (search) => {
|
|
48
15
|
let searchPattern = SEARCH_DEFAULT_PATTERN;
|
|
49
16
|
|
|
@@ -72,14 +39,7 @@ const getSearchReducer =
|
|
|
72
39
|
filters: payload,
|
|
73
40
|
search: state.search,
|
|
74
41
|
};
|
|
75
|
-
|
|
76
|
-
const newParentState = {
|
|
77
|
-
filters: filterChanges(allEntriesFilters, payload),
|
|
78
|
-
search: state.search,
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
setParentState(newParentState);
|
|
82
|
-
|
|
42
|
+
setParentState(newState);
|
|
83
43
|
return newState;
|
|
84
44
|
}
|
|
85
45
|
|
|
@@ -124,10 +84,7 @@ const getSearchReducer =
|
|
|
124
84
|
};
|
|
125
85
|
}
|
|
126
86
|
|
|
127
|
-
|
|
128
|
-
* Update local state and do not trigger a parent state change
|
|
129
|
-
*/
|
|
130
|
-
case ACTION_UPDATE_LOCAL: {
|
|
87
|
+
case ACTION_SET: {
|
|
131
88
|
return payload;
|
|
132
89
|
}
|
|
133
90
|
|
|
@@ -162,17 +119,13 @@ export const useSearchParams = ({
|
|
|
162
119
|
|
|
163
120
|
// Update state when the custom filters/search are changing - initial load or route updates
|
|
164
121
|
useLayoutEffect(() => {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
// Skip when there are no changes
|
|
169
|
-
if (!searchChanged && !filtersChanged) {
|
|
122
|
+
// Run a deep comparison to prevent circular setState triggering
|
|
123
|
+
if (parentSearch === search && isEqual(initialFilters, filters)) {
|
|
170
124
|
return;
|
|
171
125
|
}
|
|
172
126
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
}, [dispatch, search, filters, parentSearch, initialFilters]);
|
|
127
|
+
dispatch({ type: ACTION_SET, payload: generateState(initialFilters, parentSearch) });
|
|
128
|
+
}, [parentSearch, parentFilters]);
|
|
176
129
|
|
|
177
130
|
/** Callbacks */
|
|
178
131
|
const handleUpdateSearch = useCallback(
|
package/src/query-state.jsx
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React, { useCallback } from 'react';
|
|
2
|
+
import { JsonParam, QueryParamProvider, useQueryParams } from 'use-query-params';
|
|
3
|
+
import { ReactRouter5Adapter } from 'use-query-params/adapters/react-router-5'
|
|
4
|
+
import { parse, stringify } from 'query-string'
|
|
2
5
|
import isEqual from 'lodash/isEqual';
|
|
3
6
|
import merge from 'lodash/merge';
|
|
4
|
-
import { JsonParam, QueryParamProvider, useQueryParams } from 'use-query-params';
|
|
5
|
-
import { ReactRouter5Adapter } from 'use-query-params/adapters/react-router-5';
|
|
6
|
-
import { parse, stringify } from 'query-string';
|
|
7
7
|
|
|
8
8
|
export const QueryStateProvider = (props) => (
|
|
9
9
|
<QueryParamProvider
|