@bundle-stats/ui 4.7.6 → 4.7.8-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.
- package/lib/app/app.js +9 -7
- package/lib/app/app.js.map +1 -1
- package/lib/hooks/search-params.js +35 -5
- 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 +9 -7
- package/lib-esm/app/app.js.map +1 -1
- package/lib-esm/hooks/search-params.js +35 -5
- 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 +11 -11
- package/src/app/app.jsx +19 -18
- package/src/hooks/search-params.js +53 -6
- package/src/query-state.jsx +3 -3
package/lib/app/app.js
CHANGED
|
@@ -33,24 +33,24 @@ const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
|
|
|
33
33
|
const react_router_dom_1 = require("react-router-dom");
|
|
34
34
|
const utils_1 = require("@bundle-stats/utils");
|
|
35
35
|
const constants_1 = require("../constants");
|
|
36
|
-
const box_1 = require("../layout/box");
|
|
37
|
-
const container_1 = require("../ui/container");
|
|
38
36
|
const bundle_assets_1 = require("../components/bundle-assets");
|
|
39
37
|
const bundle_assets_totals_chart_bars_1 = require("../components/bundle-assets-totals-chart-bars");
|
|
40
|
-
const tabs_1 = require("../ui/tabs");
|
|
41
|
-
const footer_1 = require("../layout/footer");
|
|
42
|
-
const stack_1 = require("../layout/stack");
|
|
43
38
|
const bundle_assets_totals_table_1 = require("../components/bundle-assets-totals-table");
|
|
44
39
|
const bundle_modules_1 = require("../components/bundle-modules");
|
|
45
40
|
const bundle_packages_1 = require("../components/bundle-packages");
|
|
46
41
|
const insights_1 = require("../components/insights");
|
|
42
|
+
const components_1 = require("../components");
|
|
47
43
|
const summary_1 = require("../components/summary");
|
|
48
44
|
const total_size_type_title_1 = require("../components/total-size-type-title");
|
|
45
|
+
const box_1 = require("../layout/box");
|
|
46
|
+
const footer_1 = require("../layout/footer");
|
|
47
|
+
const stack_1 = require("../layout/stack");
|
|
48
|
+
const container_1 = require("../ui/container");
|
|
49
|
+
const tabs_1 = require("../ui/tabs");
|
|
49
50
|
const query_state_1 = require("../query-state");
|
|
50
51
|
const i18n_1 = __importDefault(require("../i18n"));
|
|
51
52
|
const header_1 = require("./header");
|
|
52
53
|
const app_module_css_1 = __importDefault(require("./app.module.css"));
|
|
53
|
-
const components_1 = require("../components");
|
|
54
54
|
const ScrollToTop = () => {
|
|
55
55
|
const { pathname } = (0, react_router_dom_1.useLocation)();
|
|
56
56
|
(0, react_1.useEffect)(() => {
|
|
@@ -86,7 +86,9 @@ const OverviewContent = () => {
|
|
|
86
86
|
return null;
|
|
87
87
|
}
|
|
88
88
|
const res = {
|
|
89
|
-
...(webpackInsights.duplicatePackagesV3 && {
|
|
89
|
+
...(webpackInsights.duplicatePackagesV3 && {
|
|
90
|
+
duplicatePackages: webpackInsights.duplicatePackagesV3,
|
|
91
|
+
}),
|
|
90
92
|
...(webpackInsights.newPackages && { newPackages: webpackInsights.newPackages }),
|
|
91
93
|
};
|
|
92
94
|
if ((0, isEmpty_1.default)(res)) {
|
package/lib/app/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app/app.jsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8D;AAC9D,4DAAmC;AACnC,6DAAqC;AACrC,uDAAmF;AACnF,+CAAgD;AAEhD,4CAAoC;AACpC
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app/app.jsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8D;AAC9D,4DAAmC;AACnC,6DAAqC;AACrC,uDAAmF;AACnF,+CAAgD;AAEhD,4CAAoC;AACpC,+DAA2D;AAC3D,mGAA4F;AAC5F,yFAAmF;AACnF,iEAA6D;AAC7D,mEAA+D;AAC/D,qDAAkD;AAClD,8CAAkD;AAClD,mDAAgD;AAChD,+EAAyE;AACzE,uCAAoC;AACpC,6CAA0C;AAC1C,2CAAwC;AACxC,+CAA4C;AAC5C,qCAAkC;AAClC,gDAA4E;AAC5E,mDAA2B;AAC3B,qCAAkC;AAClC,sEAAmC;AAEnC,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,8BAAW,GAAE,CAAC;IAEnC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAC9C,uCAAK,SAAS,EAAE,wBAAG,CAAC,IAAI;IACtB,8BAAC,eAAM,IAAC,SAAS,EAAE,wBAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,GAAI;IAC7C,wCAAM,SAAS,EAAE,wBAAG,CAAC,IAAI,KAAM,KAAK,GAAI;IACxC,8BAAC,eAAM,IAAC,OAAO,EAAE,OAAO,GAAI,CACxB,CACP,CAAC;AAEF,MAAM,CAAC,SAAS,GAAG;IACjB,IAAI,EAAE,oBAAS,CAAC,OAAO,CAAC,oBAAS,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,oBAAS,CAAC,MAAM;CAC1B,CAAC;AAEF,MAAM,CAAC,YAAY,GAAG;IACpB,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,WAAW,GAAG,eAAK,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AACtD,MAAM,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;IAC9C,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,OAAO,8BAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,KAAM,SAAS,GAAI,CAAC;AAC/D,CAAC,CAAC;AAEF,YAAY,CAAC,SAAS,GAAG;IACvB,IAAI,EAAE,oBAAS,CAAC,OAAO,CAAC,oBAAS,CAAC,MAAM,CAAC,CAAC,UAAU;CACrD,CAAC;AAEF,MAAM,eAAe,GAAG,GAAG,EAAE;IAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;IAEzC,MAAM,cAAc,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAClC,MAAM,eAAe,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC;QAErD,IAAI,CAAC,eAAe,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;QAED,MAAM,GAAG,GAAG;YACV,GAAG,CAAC,eAAe,CAAC,mBAAmB,IAAI;gBACzC,iBAAiB,EAAE,eAAe,CAAC,mBAAmB;aACvD,CAAC;YACF,GAAG,CAAC,eAAe,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC,WAAW,EAAE,CAAC;SACjF,CAAC;QAEF,IAAI,IAAA,iBAAO,EAAC,GAAG,CAAC,EAAE;YAChB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACL,8BAAC,aAAK,IAAC,KAAK,EAAC,QAAQ;QAClB,cAAc,IAAI,CACjB,8BAAC,qBAAS;YACR,8BAAC,aAAK,IAAC,KAAK,EAAC,QAAQ;gBACnB,8BAAC,8BAAiB,IAAC,KAAK,EAAC,UAAU,GAAG;gBACtC,8BAAC,SAAG,IAAC,OAAO,EAAC,OAAO,EAAC,OAAO;oBAC1B,8BAAC,mBAAQ,IAAC,QAAQ,EAAE,cAAc,GAAI,CAClC,CACA,CACE,CACb;QACD,8BAAC,qBAAS;YACR,8BAAC,aAAK,IAAC,KAAK,EAAC,OAAO;gBAClB,8BAAC,0CAAkB,OAAG;gBACtB,8BAAC,6DAA2B,IAAC,IAAI,EAAE,IAAI,GAAI;gBAC3C,8BAAC,oDAAuB,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,SAAG,CACzC,CACE,CACN,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,oCAAsB,EAAC,iBAAS,CAAC,aAAa,CAAC,CAAC;IAChG,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;IAEzC,OAAO,CACL,8BAAC,qBAAS;QACR,8BAAC,SAAG,IAAC,OAAO;YACV,8BAAC,4BAAY,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,KAAM,gBAAgB,GAAI,CAC7E,CACI,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,GAAG,EAAE;IAC1B,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,IAAA,oCAAsB,EACxE,iBAAS,CAAC,cAAc,CACzB,CAAC;IACF,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;IAEzC,OAAO,CACL,8BAAC,qBAAS;QACR,8BAAC,SAAG,IAAC,OAAO;YACV,8BAAC,8BAAa,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,qBAAqB,KAAM,kBAAkB,GAAI,CAClF,CACI,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAG,EAAE;IAC3B,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,IAAA,oCAAsB,EAC1E,iBAAS,CAAC,eAAe,CAC1B,CAAC;IACF,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;IAEzC,OAAO,CACL,8BAAC,qBAAS;QACR,8BAAC,SAAG,IAAC,OAAO;YACV,8BAAC,gCAAc,IAAC,IAAI,EAAE,IAAI,KAAM,mBAAmB,EAAE,QAAQ,EAAE,sBAAsB,GAAI,CACrF,CACI,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;IACzC,IAAI,IAAI,EAAE,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,CACL,8BAAC,MAAM,IAAC,OAAO,EAAE,OAAO;YACtB,8BAAC,qBAAS;gBACR,uCAAK,SAAS,EAAE,wBAAG,CAAC,KAAK,IAAG,cAAI,CAAC,OAAO,CAAO,CACrC,CACL,CACV,CAAC;KACH;IAED,OAAO,CACL,8BAAC,YAAY,IAAC,IAAI,EAAE,IAAI;QACtB,8BAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO;YAClC,8BAAC,qBAAS,IAAC,SAAS,EAAE,wBAAG,CAAC,gBAAgB;gBACxC,8BAAC,iBAAO,IACN,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EACrB,oBAAoB,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,EACvC,uBAAuB,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,GAC3C,CACQ;YAEZ,8BAAC,qBAAS,IAAC,SAAS,EAAE,wBAAG,CAAC,aAAa;gBACrC,8BAAC,WAAI,IAAC,SAAS,EAAE,wBAAG,CAAC,IAAI;oBACvB,8BAAC,WAAI,CAAC,IAAI,IAAC,EAAE,EAAE,0BAAO,EAAE,KAAK,QAAC,EAAE,EAAE,gBAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,wBAAG,CAAC,SAAS,IAC5E,cAAI,CAAC,QAAQ,CACJ;oBACZ,8BAAC,WAAI,CAAC,IAAI,IAAC,EAAE,EAAE,0BAAO,EAAE,KAAK,QAAC,EAAE,EAAE,gBAAI,CAAC,MAAM,EAAE,eAAe,EAAE,wBAAG,CAAC,SAAS,IAC1E,cAAI,CAAC,MAAM,CACF;oBACZ,8BAAC,WAAI,CAAC,IAAI,IAAC,EAAE,EAAE,0BAAO,EAAE,KAAK,QAAC,EAAE,EAAE,gBAAI,CAAC,OAAO,EAAE,eAAe,EAAE,wBAAG,CAAC,SAAS,IAC3E,cAAI,CAAC,OAAO,CACH;oBACZ,8BAAC,WAAI,CAAC,IAAI,IAAC,EAAE,EAAE,0BAAO,EAAE,KAAK,QAAC,EAAE,EAAE,gBAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,wBAAG,CAAC,SAAS,IAC5E,cAAI,CAAC,QAAQ,CACJ,CACP,CACG;YAEZ,uCAAK,SAAS,EAAE,wBAAG,CAAC,WAAW;gBAC7B,8BAAC,yBAAM;oBACL,8BAAC,wBAAK,IAAC,KAAK,QAAC,IAAI,EAAE,gBAAI,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,GAAI;oBAC5D,8BAAC,wBAAK,IAAC,KAAK,QAAC,IAAI,EAAE,gBAAI,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,GAAI;oBAC9D,8BAAC,wBAAK,IAAC,KAAK,QAAC,IAAI,EAAE,gBAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,GAAI;oBAChE,8BAAC,wBAAK,IAAC,KAAK,QAAC,IAAI,EAAE,gBAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,GAAI,CACzD,CACL,CACC,CACI,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,YAAY,CAAC,YAAY,GAAG;IAC1B,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,YAAY,CAAC,SAAS,GAAG;IACvB,IAAI,EAAE,oBAAS,CAAC,OAAO,CACrB,oBAAS,CAAC,KAAK,CAAC;QACd,mBAAmB,EAAE,oBAAS,CAAC,MAAM;QACrC,QAAQ,EAAE,oBAAS,CAAC,MAAM;QAC1B,OAAO,EAAE,oBAAS,CAAC,MAAM;KAC1B,CAAC,CACH;IACD,OAAO,EAAE,oBAAS,CAAC,MAAM;CAC1B,CAAC;AAEK,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAC5B,8BAAC,6BAAU;IACT,8BAAC,WAAW,OAAG;IACf,8BAAC,gCAAkB;QACjB,8BAAC,YAAY,OAAK,KAAK,GAAI,CACR,CACV,CACd,CAAC;AAPW,QAAA,GAAG,OAOd"}
|
|
@@ -6,14 +6,38 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.useSearchParams = exports.generateState = void 0;
|
|
7
7
|
const react_1 = require("react");
|
|
8
8
|
const isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
9
|
+
const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
|
|
9
10
|
const merge_1 = __importDefault(require("lodash/merge"));
|
|
10
11
|
const ACTION_SET_FILTERS = 'SET_FILTERS';
|
|
11
12
|
const ACTION_SET_SEARCH = 'SET_SEARCH';
|
|
12
13
|
const ACTION_RESET_DEFAULT = 'RESET_DEFAULT';
|
|
13
14
|
const ACTION_RESET_ALL = 'RESET_ALL';
|
|
14
|
-
const
|
|
15
|
+
const ACTION_UPDATE_LOCAL = 'UPDATE_LOCAL';
|
|
15
16
|
const SEARCH_DEFAULT = '';
|
|
16
17
|
const SEARCH_DEFAULT_PATTERN = /.*/;
|
|
18
|
+
const filterChanges = (defaultFilters = {}, customFilters = {}) => {
|
|
19
|
+
const filters = {};
|
|
20
|
+
Object.entries(customFilters).forEach(([key, value]) => {
|
|
21
|
+
if (defaultFilters[key] !== value) {
|
|
22
|
+
filters[key] = value;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
if ((0, isEmpty_1.default)(filters)) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
return filters;
|
|
29
|
+
};
|
|
30
|
+
const hasFilterChanges = (defaultFilters = {}, customFilters = {}) => {
|
|
31
|
+
const filterEntries = Object.entries(customFilters);
|
|
32
|
+
let diff = false;
|
|
33
|
+
for (let i = 0 && !diff; i < filterEntries; i++) {
|
|
34
|
+
const [key, value] = filterEntries[i];
|
|
35
|
+
if (defaultFilters[key] !== value) {
|
|
36
|
+
diff = true;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return diff;
|
|
40
|
+
};
|
|
17
41
|
const getSearchPattern = (search) => {
|
|
18
42
|
let searchPattern = SEARCH_DEFAULT_PATTERN;
|
|
19
43
|
if (!search || !search.trim()) {
|
|
@@ -35,7 +59,11 @@ const getSearchReducer = ({ defaultFilters, allEntriesFilters, setParentState })
|
|
|
35
59
|
filters: payload,
|
|
36
60
|
search: state.search,
|
|
37
61
|
};
|
|
38
|
-
|
|
62
|
+
const newParentState = {
|
|
63
|
+
filters: filterChanges(allEntriesFilters, payload),
|
|
64
|
+
search: state.search,
|
|
65
|
+
};
|
|
66
|
+
setParentState(newParentState);
|
|
39
67
|
return newState;
|
|
40
68
|
}
|
|
41
69
|
case ACTION_SET_SEARCH: {
|
|
@@ -71,7 +99,7 @@ const getSearchReducer = ({ defaultFilters, allEntriesFilters, setParentState })
|
|
|
71
99
|
searchPattern: getSearchPattern(),
|
|
72
100
|
};
|
|
73
101
|
}
|
|
74
|
-
case
|
|
102
|
+
case ACTION_UPDATE_LOCAL: {
|
|
75
103
|
return payload;
|
|
76
104
|
}
|
|
77
105
|
default:
|
|
@@ -90,10 +118,12 @@ const useSearchParams = ({ search: parentSearch = SEARCH_DEFAULT, filters: paren
|
|
|
90
118
|
: defaultFilters;
|
|
91
119
|
const [{ search, searchPattern, filters }, dispatch] = (0, react_1.useReducer)(getSearchReducer({ defaultFilters, allEntriesFilters, setParentState }), (0, exports.generateState)(initialFilters, parentSearch));
|
|
92
120
|
(0, react_1.useLayoutEffect)(() => {
|
|
93
|
-
|
|
121
|
+
const searchChanged = parentSearch !== search;
|
|
122
|
+
const filtersChanged = hasFilterChanges(initialFilters, parentFilters);
|
|
123
|
+
if (!searchChanged && !filtersChanged) {
|
|
94
124
|
return;
|
|
95
125
|
}
|
|
96
|
-
dispatch({ type:
|
|
126
|
+
dispatch({ type: ACTION_UPDATE_LOCAL, payload: (0, exports.generateState)(initialFilters, parentSearch) });
|
|
97
127
|
}, [dispatch, search, filters, parentSearch, initialFilters]);
|
|
98
128
|
const handleUpdateSearch = (0, react_1.useCallback)((newValue) => {
|
|
99
129
|
dispatch({ type: ACTION_SET_SEARCH, payload: newValue });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-params.js","sourceRoot":"","sources":["../../src/hooks/search-params.js"],"names":[],"mappings":";;;;;;AAAA,iCAA0E;AAC1E,6DAAqC;AACrC,yDAAiC;AAEjC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AACzC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AACvC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAC7C,MAAM,gBAAgB,GAAG,WAAW,CAAC;AACrC,MAAM,
|
|
1
|
+
{"version":3,"file":"search-params.js","sourceRoot":"","sources":["../../src/hooks/search-params.js"],"names":[],"mappings":"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"}
|
package/lib/query-state.js
CHANGED
|
@@ -28,11 +28,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.useComponentQueryState = exports.QueryStateProvider = void 0;
|
|
30
30
|
const react_1 = __importStar(require("react"));
|
|
31
|
+
const isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
32
|
+
const merge_1 = __importDefault(require("lodash/merge"));
|
|
31
33
|
const use_query_params_1 = require("use-query-params");
|
|
32
34
|
const react_router_5_1 = require("use-query-params/adapters/react-router-5");
|
|
33
35
|
const query_string_1 = require("query-string");
|
|
34
|
-
const isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
35
|
-
const merge_1 = __importDefault(require("lodash/merge"));
|
|
36
36
|
const QueryStateProvider = (props) => (react_1.default.createElement(use_query_params_1.QueryParamProvider, { adapter: react_router_5_1.ReactRouter5Adapter, options: {
|
|
37
37
|
searchStringToObject: query_string_1.parse,
|
|
38
38
|
objectToSearchString: query_string_1.stringify,
|
package/lib/query-state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-state.js","sourceRoot":"","sources":["../src/query-state.jsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA2C;AAC3C,uDAAiF;AACjF,
|
|
1
|
+
{"version":3,"file":"query-state.js","sourceRoot":"","sources":["../src/query-state.jsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA2C;AAC3C,6DAAqC;AACrC,yDAAiC;AACjC,uDAAiF;AACjF,6EAA+E;AAC/E,+CAAgD;AAEzC,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAC3C,8BAAC,qCAAkB,IACjB,OAAO,EAAE,oCAAmB,EAC5B,OAAO,EAAE;QACP,oBAAoB,EAAE,oBAAK;QAC3B,oBAAoB,EAAE,wBAAS;KAChC,KACG,KAAK,GACT,CACH,CAAC;AATW,QAAA,kBAAkB,sBAS7B;AAEK,MAAM,sBAAsB,GAAG,CAAC,aAAa,EAAE,EAAE;IACtD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,iCAAc,EAAC;QACzC,CAAC,aAAa,CAAC,EAAE,4BAAS;KAC3B,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAC1B,CAAC,QAAQ,EAAE,EAAE;QACX,MAAM,iBAAiB,GAAG,IAAA,eAAK,EAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAGrD,IAAI,IAAA,iBAAO,EAAC,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;AAtBW,QAAA,sBAAsB,0BAsBjC"}
|
package/lib-esm/app/app.js
CHANGED
|
@@ -4,24 +4,24 @@ import isEmpty from 'lodash/isEmpty';
|
|
|
4
4
|
import { HashRouter, NavLink, Route, Switch, useLocation } from 'react-router-dom';
|
|
5
5
|
import { COMPONENT } from '@bundle-stats/utils';
|
|
6
6
|
import { URLS } from '../constants';
|
|
7
|
-
import { Box } from '../layout/box';
|
|
8
|
-
import { Container } from '../ui/container';
|
|
9
7
|
import { BundleAssets } from '../components/bundle-assets';
|
|
10
8
|
import { BundleAssetsTotalsChartBars } from '../components/bundle-assets-totals-chart-bars';
|
|
11
|
-
import { Tabs } from '../ui/tabs';
|
|
12
|
-
import { Footer } from '../layout/footer';
|
|
13
|
-
import { Stack } from '../layout/stack';
|
|
14
9
|
import { BundleAssetsTotalsTable } from '../components/bundle-assets-totals-table';
|
|
15
10
|
import { BundleModules } from '../components/bundle-modules';
|
|
16
11
|
import { BundlePackages } from '../components/bundle-packages';
|
|
17
12
|
import { Insights } from '../components/insights';
|
|
13
|
+
import { MetricsTableTitle } from '../components';
|
|
18
14
|
import { Summary } from '../components/summary';
|
|
19
15
|
import { TotalSizeTypeTitle } from '../components/total-size-type-title';
|
|
16
|
+
import { Box } from '../layout/box';
|
|
17
|
+
import { Footer } from '../layout/footer';
|
|
18
|
+
import { Stack } from '../layout/stack';
|
|
19
|
+
import { Container } from '../ui/container';
|
|
20
|
+
import { Tabs } from '../ui/tabs';
|
|
20
21
|
import { QueryStateProvider, useComponentQueryState } from '../query-state';
|
|
21
22
|
import I18N from '../i18n';
|
|
22
23
|
import { Header } from './header';
|
|
23
24
|
import css from './app.module.css';
|
|
24
|
-
import { MetricsTableTitle } from '../components';
|
|
25
25
|
const ScrollToTop = () => {
|
|
26
26
|
const { pathname } = useLocation();
|
|
27
27
|
useEffect(() => {
|
|
@@ -58,7 +58,9 @@ const OverviewContent = () => {
|
|
|
58
58
|
return null;
|
|
59
59
|
}
|
|
60
60
|
const res = {
|
|
61
|
-
...(webpackInsights.duplicatePackagesV3 && {
|
|
61
|
+
...(webpackInsights.duplicatePackagesV3 && {
|
|
62
|
+
duplicatePackages: webpackInsights.duplicatePackagesV3,
|
|
63
|
+
}),
|
|
62
64
|
...(webpackInsights.newPackages && { newPackages: webpackInsights.newPackages }),
|
|
63
65
|
};
|
|
64
66
|
if (isEmpty(res)) {
|
package/lib-esm/app/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app/app.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app/app.jsx"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,37 @@
|
|
|
1
1
|
import { useCallback, useLayoutEffect, useMemo, useReducer } from 'react';
|
|
2
2
|
import isEqual from 'lodash/isEqual';
|
|
3
|
+
import isEmpty from 'lodash/isEmpty';
|
|
3
4
|
import merge from 'lodash/merge';
|
|
4
5
|
const ACTION_SET_FILTERS = 'SET_FILTERS';
|
|
5
6
|
const ACTION_SET_SEARCH = 'SET_SEARCH';
|
|
6
7
|
const ACTION_RESET_DEFAULT = 'RESET_DEFAULT';
|
|
7
8
|
const ACTION_RESET_ALL = 'RESET_ALL';
|
|
8
|
-
const
|
|
9
|
+
const ACTION_UPDATE_LOCAL = 'UPDATE_LOCAL';
|
|
9
10
|
const SEARCH_DEFAULT = '';
|
|
10
11
|
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
|
+
};
|
|
11
35
|
const getSearchPattern = (search) => {
|
|
12
36
|
let searchPattern = SEARCH_DEFAULT_PATTERN;
|
|
13
37
|
if (!search || !search.trim()) {
|
|
@@ -29,7 +53,11 @@ const getSearchReducer = ({ defaultFilters, allEntriesFilters, setParentState })
|
|
|
29
53
|
filters: payload,
|
|
30
54
|
search: state.search,
|
|
31
55
|
};
|
|
32
|
-
|
|
56
|
+
const newParentState = {
|
|
57
|
+
filters: filterChanges(allEntriesFilters, payload),
|
|
58
|
+
search: state.search,
|
|
59
|
+
};
|
|
60
|
+
setParentState(newParentState);
|
|
33
61
|
return newState;
|
|
34
62
|
}
|
|
35
63
|
case ACTION_SET_SEARCH: {
|
|
@@ -65,7 +93,7 @@ const getSearchReducer = ({ defaultFilters, allEntriesFilters, setParentState })
|
|
|
65
93
|
searchPattern: getSearchPattern(),
|
|
66
94
|
};
|
|
67
95
|
}
|
|
68
|
-
case
|
|
96
|
+
case ACTION_UPDATE_LOCAL: {
|
|
69
97
|
return payload;
|
|
70
98
|
}
|
|
71
99
|
default:
|
|
@@ -83,10 +111,12 @@ export const useSearchParams = ({ search: parentSearch = SEARCH_DEFAULT, filters
|
|
|
83
111
|
: defaultFilters;
|
|
84
112
|
const [{ search, searchPattern, filters }, dispatch] = useReducer(getSearchReducer({ defaultFilters, allEntriesFilters, setParentState }), generateState(initialFilters, parentSearch));
|
|
85
113
|
useLayoutEffect(() => {
|
|
86
|
-
|
|
114
|
+
const searchChanged = parentSearch !== search;
|
|
115
|
+
const filtersChanged = hasFilterChanges(initialFilters, parentFilters);
|
|
116
|
+
if (!searchChanged && !filtersChanged) {
|
|
87
117
|
return;
|
|
88
118
|
}
|
|
89
|
-
dispatch({ type:
|
|
119
|
+
dispatch({ type: ACTION_UPDATE_LOCAL, payload: generateState(initialFilters, parentSearch) });
|
|
90
120
|
}, [dispatch, search, filters, parentSearch, initialFilters]);
|
|
91
121
|
const handleUpdateSearch = useCallback((newValue) => {
|
|
92
122
|
dispatch({ type: ACTION_SET_SEARCH, payload: newValue });
|
|
@@ -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,KAAK,MAAM,cAAc,CAAC;AAEjC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AACzC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AACvC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAC7C,MAAM,gBAAgB,GAAG,WAAW,CAAC;AACrC,MAAM,
|
|
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,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAK,MAAM,cAAc,CAAC;AAEjC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AACzC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AACvC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAC7C,MAAM,gBAAgB,GAAG,WAAW,CAAC;AACrC,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAE3C,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC,MAAM,aAAa,GAAG,CAAC,cAAc,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,EAAE;IAChE,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACrD,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SACtB;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACpB,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,cAAc,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,EAAE;IACnE,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,IAAI,IAAI,GAAG,KAAK,CAAC;IAGjB,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;QAC/C,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAEtC,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;YACjC,IAAI,GAAG,IAAI,CAAC;SACb;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,EAAE;IAClC,IAAI,aAAa,GAAG,sBAAsB,CAAC;IAE3C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;QAC7B,OAAO,aAAa,CAAC;KACtB;IAED,IAAI;QACF,aAAa,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACzC;IAAC,OAAO,GAAG,EAAE;QAEZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACpB;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GACpB,CAAC,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,EAAE,EAAE,CAC1D,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IAChB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEjC,QAAQ,IAAI,EAAE;QACZ,KAAK,kBAAkB,CAAC,CAAC;YACvB,MAAM,QAAQ,GAAG;gBACf,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC;YAEF,MAAM,cAAc,GAAG;gBACrB,OAAO,EAAE,aAAa,CAAC,iBAAiB,EAAE,OAAO,CAAC;gBAClD,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC;YAEF,cAAc,CAAC,cAAc,CAAC,CAAC;YAE/B,OAAO,QAAQ,CAAC;SACjB;QAED,KAAK,iBAAiB,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG;gBACf,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,OAAO;aAChB,CAAC;YAEF,cAAc,CAAC,QAAQ,CAAC,CAAC;YAEzB,OAAO;gBACL,GAAG,QAAQ;gBACX,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC;aACzC,CAAC;SACH;QAED,KAAK,oBAAoB,CAAC,CAAC;YACzB,MAAM,QAAQ,GAAG;gBACf,OAAO,EAAE,cAAc;gBACvB,MAAM,EAAE,cAAc;aACvB,CAAC;YAEF,cAAc,CAAC,QAAQ,CAAC,CAAC;YAEzB,OAAO;gBACL,GAAG,QAAQ;gBACX,aAAa,EAAE,gBAAgB,EAAE;aAClC,CAAC;SACH;QAED,KAAK,gBAAgB,CAAC,CAAC;YACrB,MAAM,QAAQ,GAAG;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,MAAM,EAAE,cAAc;aACvB,CAAC;YACF,cAAc,CAAC,QAAQ,CAAC,CAAC;YAEzB,OAAO;gBACL,GAAG,QAAQ;gBACX,aAAa,EAAE,gBAAgB,EAAE;aAClC,CAAC;SACH;QAKD,KAAK,mBAAmB,CAAC,CAAC;YACxB,OAAO,OAAO,CAAC;SAChB;QAED;YACE,OAAO,KAAK,CAAC;KAChB;AACH,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO;IACP,MAAM;IACN,aAAa,EAAE,gBAAgB,CAAC,MAAM,CAAC;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,MAAM,EAAE,YAAY,GAAG,cAAc,EAErC,OAAO,EAAE,aAAa,EACtB,cAAc,EACd,iBAAiB,EACjB,QAAQ,EAAE,cAAc,GACzB,EAAE,EAAE;IAEH,MAAM,cAAc,GAAG,aAAa;QAClC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,iBAAiB,EAAE,aAAa,CAAC;QAC7C,CAAC,CAAC,cAAc,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,GAAG,UAAU,CAC/D,gBAAgB,CAAC,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,EACvE,aAAa,CAAC,cAAc,EAAE,YAAY,CAAC,CAC5C,CAAC;IAGF,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,aAAa,GAAG,YAAY,KAAK,MAAM,CAAC;QAC9C,MAAM,cAAc,GAAG,gBAAgB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAGvE,IAAI,CAAC,aAAa,IAAI,CAAC,cAAc,EAAE;YACrC,OAAO;SACR;QAGD,QAAQ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,aAAa,CAAC,cAAc,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;IAG9D,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,QAAQ,EAAE,EAAE;QACX,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3D,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,UAAU,EAAE,EAAE;QACb,QAAQ,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1C,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7C,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,MAAM;QACN,aAAa;QACb,OAAO;QACP,gBAAgB,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;QACtD,YAAY,EAAE,kBAAkB;QAChC,aAAa,EAAE,mBAAmB;QAClC,YAAY,EAAE,kBAAkB;QAChC,eAAe,EAAE,qBAAqB;KACvC,CAAC,EACF;QACE,MAAM;QACN,aAAa;QACb,OAAO;QACP,iBAAiB;QACjB,kBAAkB;QAClB,mBAAmB;QACnB,kBAAkB;QAClB,qBAAqB;KACtB,CACF,CAAC;AACJ,CAAC,CAAC"}
|
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';
|
|
2
4
|
import { JsonParam, QueryParamProvider, useQueryParams } from 'use-query-params';
|
|
3
5
|
import { ReactRouter5Adapter } from 'use-query-params/adapters/react-router-5';
|
|
4
6
|
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,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,
|
|
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,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAK,MAAM,cAAc,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhD,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.
|
|
3
|
+
"version": "4.7.8-beta.0",
|
|
4
4
|
"description": "UI components for BundleStats projects.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -36,14 +36,14 @@
|
|
|
36
36
|
},
|
|
37
37
|
"homepage": "https://github.com/relative-ci/bundle-stats/blob/master/packages/ui#readme",
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@babel/preset-env": "7.
|
|
39
|
+
"@babel/preset-env": "7.23.2",
|
|
40
40
|
"@babel/preset-react": "7.22.15",
|
|
41
|
-
"@babel/preset-typescript": "7.23.
|
|
42
|
-
"@storybook/addon-essentials": "7.
|
|
41
|
+
"@babel/preset-typescript": "7.23.2",
|
|
42
|
+
"@storybook/addon-essentials": "7.5.1",
|
|
43
43
|
"@storybook/preset-scss": "^1.0.3",
|
|
44
|
-
"@storybook/react": "7.
|
|
45
|
-
"@storybook/react-webpack5": "7.
|
|
46
|
-
"@types/react": "18.2.
|
|
44
|
+
"@storybook/react": "7.5.1",
|
|
45
|
+
"@storybook/react-webpack5": "7.5.1",
|
|
46
|
+
"@types/react": "18.2.30",
|
|
47
47
|
"babel-plugin-require-context-hook": "1.0.0",
|
|
48
48
|
"classnames": "2.3.2",
|
|
49
49
|
"colormap": "2.3.2",
|
|
@@ -59,9 +59,9 @@
|
|
|
59
59
|
"react-dom": "18.2.0",
|
|
60
60
|
"react-router-dom": "5.3.4",
|
|
61
61
|
"rimraf": "5.0.5",
|
|
62
|
-
"storybook": "7.
|
|
62
|
+
"storybook": "7.5.1",
|
|
63
63
|
"typescript": "5.1.6",
|
|
64
|
-
"typescript-plugin-css-modules": "5.0.
|
|
64
|
+
"typescript-plugin-css-modules": "5.0.2"
|
|
65
65
|
},
|
|
66
66
|
"peerDependencies": {
|
|
67
67
|
"classnames": "^2.0.0",
|
|
@@ -72,11 +72,11 @@
|
|
|
72
72
|
"react-router-dom": "^5.0.0"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"@bundle-stats/utils": "
|
|
75
|
+
"@bundle-stats/utils": "4.7.8-beta.0",
|
|
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": "73fbbd84b5e326d9300b1dcc91df7bda38424e86"
|
|
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';
|
|
10
8
|
import { BundleAssets } from '../components/bundle-assets';
|
|
11
9
|
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';
|
|
15
10
|
import { BundleAssetsTotalsTable } from '../components/bundle-assets-totals-table';
|
|
16
11
|
import { BundleModules } from '../components/bundle-modules';
|
|
17
12
|
import { BundlePackages } from '../components/bundle-packages';
|
|
18
13
|
import { Insights } from '../components/insights';
|
|
14
|
+
import { MetricsTableTitle } from '../components';
|
|
19
15
|
import { Summary } from '../components/summary';
|
|
20
16
|
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';
|
|
21
22
|
import { QueryStateProvider, useComponentQueryState } from '../query-state';
|
|
22
23
|
import I18N from '../i18n';
|
|
23
24
|
import { Header } from './header';
|
|
24
25
|
import css from './app.module.css';
|
|
25
|
-
import { MetricsTableTitle } from '../components';
|
|
26
26
|
|
|
27
27
|
const ScrollToTop = () => {
|
|
28
28
|
const { pathname } = useLocation();
|
|
@@ -69,11 +69,13 @@ 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 && {
|
|
76
|
+
...(webpackInsights.duplicatePackagesV3 && {
|
|
77
|
+
duplicatePackages: webpackInsights.duplicatePackagesV3,
|
|
78
|
+
}),
|
|
77
79
|
...(webpackInsights.newPackages && { newPackages: webpackInsights.newPackages }),
|
|
78
80
|
};
|
|
79
81
|
|
|
@@ -84,7 +86,6 @@ const OverviewContent = () => {
|
|
|
84
86
|
return res;
|
|
85
87
|
}, [jobs]);
|
|
86
88
|
|
|
87
|
-
|
|
88
89
|
return (
|
|
89
90
|
<Stack space="medium">
|
|
90
91
|
{insightsByName && (
|
|
@@ -114,9 +115,9 @@ const AssetsContent = () => {
|
|
|
114
115
|
|
|
115
116
|
return (
|
|
116
117
|
<Container>
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
<Box outline>
|
|
119
|
+
<BundleAssets jobs={jobs} setState={bundleStatsSetState} {...bundleStatsState} />
|
|
120
|
+
</Box>
|
|
120
121
|
</Container>
|
|
121
122
|
);
|
|
122
123
|
};
|
|
@@ -129,9 +130,9 @@ const ModulesContent = () => {
|
|
|
129
130
|
|
|
130
131
|
return (
|
|
131
132
|
<Container>
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
133
|
+
<Box outline>
|
|
134
|
+
<BundleModules jobs={jobs} setState={bundleModulesSetState} {...bundleModulesState} />
|
|
135
|
+
</Box>
|
|
135
136
|
</Container>
|
|
136
137
|
);
|
|
137
138
|
};
|
|
@@ -144,9 +145,9 @@ const PackagesContent = () => {
|
|
|
144
145
|
|
|
145
146
|
return (
|
|
146
147
|
<Container>
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
148
|
+
<Box outline>
|
|
149
|
+
<BundlePackages jobs={jobs} {...bundlePackagesState} setState={bundlePackagesSetState} />
|
|
150
|
+
</Box>
|
|
150
151
|
</Container>
|
|
151
152
|
);
|
|
152
153
|
};
|
|
@@ -1,16 +1,49 @@
|
|
|
1
1
|
import { useCallback, useLayoutEffect, useMemo, useReducer } from 'react';
|
|
2
2
|
import isEqual from 'lodash/isEqual';
|
|
3
|
+
import isEmpty from 'lodash/isEmpty';
|
|
3
4
|
import merge from 'lodash/merge';
|
|
4
5
|
|
|
5
6
|
const ACTION_SET_FILTERS = 'SET_FILTERS';
|
|
6
7
|
const ACTION_SET_SEARCH = 'SET_SEARCH';
|
|
7
8
|
const ACTION_RESET_DEFAULT = 'RESET_DEFAULT';
|
|
8
9
|
const ACTION_RESET_ALL = 'RESET_ALL';
|
|
9
|
-
const
|
|
10
|
+
const ACTION_UPDATE_LOCAL = 'UPDATE_LOCAL';
|
|
10
11
|
|
|
11
12
|
const SEARCH_DEFAULT = '';
|
|
12
13
|
const SEARCH_DEFAULT_PATTERN = /.*/;
|
|
13
14
|
|
|
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
|
+
|
|
14
47
|
const getSearchPattern = (search) => {
|
|
15
48
|
let searchPattern = SEARCH_DEFAULT_PATTERN;
|
|
16
49
|
|
|
@@ -39,7 +72,14 @@ const getSearchReducer =
|
|
|
39
72
|
filters: payload,
|
|
40
73
|
search: state.search,
|
|
41
74
|
};
|
|
42
|
-
|
|
75
|
+
|
|
76
|
+
const newParentState = {
|
|
77
|
+
filters: filterChanges(allEntriesFilters, payload),
|
|
78
|
+
search: state.search,
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
setParentState(newParentState);
|
|
82
|
+
|
|
43
83
|
return newState;
|
|
44
84
|
}
|
|
45
85
|
|
|
@@ -84,7 +124,10 @@ const getSearchReducer =
|
|
|
84
124
|
};
|
|
85
125
|
}
|
|
86
126
|
|
|
87
|
-
|
|
127
|
+
/**
|
|
128
|
+
* Update local state and do not trigger a parent state change
|
|
129
|
+
*/
|
|
130
|
+
case ACTION_UPDATE_LOCAL: {
|
|
88
131
|
return payload;
|
|
89
132
|
}
|
|
90
133
|
|
|
@@ -119,12 +162,16 @@ export const useSearchParams = ({
|
|
|
119
162
|
|
|
120
163
|
// Update state when the custom filters/search are changing - initial load or route updates
|
|
121
164
|
useLayoutEffect(() => {
|
|
122
|
-
|
|
123
|
-
|
|
165
|
+
const searchChanged = parentSearch !== search;
|
|
166
|
+
const filtersChanged = hasFilterChanges(initialFilters, parentFilters);
|
|
167
|
+
|
|
168
|
+
// Skip when there are no changes
|
|
169
|
+
if (!searchChanged && !filtersChanged) {
|
|
124
170
|
return;
|
|
125
171
|
}
|
|
126
172
|
|
|
127
|
-
|
|
173
|
+
// Update search & filters
|
|
174
|
+
dispatch({ type: ACTION_UPDATE_LOCAL, payload: generateState(initialFilters, parentSearch) });
|
|
128
175
|
}, [dispatch, search, filters, parentSearch, initialFilters]);
|
|
129
176
|
|
|
130
177
|
/** Callbacks */
|
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'
|
|
5
2
|
import isEqual from 'lodash/isEqual';
|
|
6
3
|
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
|