@bundle-stats/ui 4.3.0-beta.1 → 4.3.0-beta.2
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 +4 -5
- package/lib/app/app.js.map +1 -1
- package/lib/components/duplicate-packages-insight/duplicate-packages-insight.js +31 -0
- package/lib/components/duplicate-packages-insight/duplicate-packages-insight.js.map +1 -0
- package/lib/components/duplicate-packages-insight/duplicate-packages-insight.module.css +18 -0
- package/lib/components/{duplicate-packages-warning → duplicate-packages-insight}/index.js +1 -1
- package/lib/components/duplicate-packages-insight/index.js.map +1 -0
- package/lib/components/index.js +3 -3
- package/lib/components/job-header/job-header.js +1 -1
- package/lib/components/job-header/job-header.js.map +1 -1
- package/lib-esm/app/app.js +5 -5
- package/lib-esm/app/app.js.map +1 -1
- package/lib-esm/components/duplicate-packages-insight/duplicate-packages-insight.js +24 -0
- package/lib-esm/components/duplicate-packages-insight/duplicate-packages-insight.js.map +1 -0
- package/lib-esm/components/duplicate-packages-insight/duplicate-packages-insight.module.css +18 -0
- package/lib-esm/components/duplicate-packages-insight/index.js +2 -0
- package/lib-esm/components/duplicate-packages-insight/index.js.map +1 -0
- package/lib-esm/components/index.js +1 -1
- package/lib-esm/components/job-header/job-header.js +2 -2
- package/lib-esm/components/job-header/job-header.js.map +1 -1
- package/package.json +7 -7
- package/src/app/app.jsx +7 -8
- package/src/components/duplicate-packages-insight/duplicate-packages-insight.module.css +18 -0
- package/src/components/duplicate-packages-insight/duplicate-packages-insight.stories.tsx +66 -0
- package/src/components/duplicate-packages-insight/duplicate-packages-insight.tsx +81 -0
- package/src/components/duplicate-packages-insight/index.ts +1 -0
- package/src/components/index.js +1 -1
- package/src/components/job-header/job-header.jsx +2 -2
- package/tsconfig.esm.json +1 -1
- package/tsconfig.lib.json +1 -1
- package/types/components/duplicate-packages-insight/duplicate-packages-insight.d.ts +11 -0
- package/types/components/duplicate-packages-insight/index.d.ts +1 -0
- package/types/components/index.d.ts +1 -1
- package/lib/components/duplicate-packages-warning/duplicate-packages-warning.js +0 -41
- package/lib/components/duplicate-packages-warning/duplicate-packages-warning.js.map +0 -1
- package/lib/components/duplicate-packages-warning/duplicate-packages-warning.module.css +0 -22
- package/lib/components/duplicate-packages-warning/index.js.map +0 -1
- package/lib-esm/components/duplicate-packages-warning/duplicate-packages-warning.js +0 -34
- package/lib-esm/components/duplicate-packages-warning/duplicate-packages-warning.js.map +0 -1
- package/lib-esm/components/duplicate-packages-warning/duplicate-packages-warning.module.css +0 -22
- package/lib-esm/components/duplicate-packages-warning/index.js +0 -2
- package/lib-esm/components/duplicate-packages-warning/index.js.map +0 -1
- package/src/components/duplicate-packages-warning/duplicate-packages-warning.jsx +0 -60
- package/src/components/duplicate-packages-warning/duplicate-packages-warning.module.css +0 -22
- package/src/components/duplicate-packages-warning/index.js +0 -1
- package/types/components/duplicate-packages-warning/duplicate-packages-warning.d.ts +0 -21
- package/types/components/duplicate-packages-warning/index.d.ts +0 -1
package/lib/app/app.js
CHANGED
|
@@ -34,7 +34,7 @@ const utils_1 = require("@bundle-stats/utils");
|
|
|
34
34
|
const constants_1 = require("../constants");
|
|
35
35
|
const box_1 = require("../layout/box");
|
|
36
36
|
const container_1 = require("../ui/container");
|
|
37
|
-
const
|
|
37
|
+
const duplicate_packages_insight_1 = require("../components/duplicate-packages-insight");
|
|
38
38
|
const summary_1 = require("../components/summary");
|
|
39
39
|
const bundle_assets_1 = require("../components/bundle-assets");
|
|
40
40
|
const bundle_assets_totals_chart_bars_1 = require("../components/bundle-assets-totals-chart-bars");
|
|
@@ -78,11 +78,10 @@ JobsProvider.propTypes = {
|
|
|
78
78
|
};
|
|
79
79
|
const OverviewContent = () => {
|
|
80
80
|
const { jobs } = (0, react_1.useContext)(JobsContext);
|
|
81
|
-
const
|
|
82
|
-
const duplicatePackagesInsights = Boolean(duplicatePackagesCount.current || duplicatePackagesCount.baseline);
|
|
81
|
+
const duplicatePackagesInsight = jobs[0].insights?.webpack?.duplicatePackagesV3;
|
|
83
82
|
return (react_1.default.createElement(stack_1.Stack, { space: "medium" },
|
|
84
|
-
|
|
85
|
-
react_1.default.createElement(
|
|
83
|
+
duplicatePackagesInsight && (react_1.default.createElement(container_1.Container, null,
|
|
84
|
+
react_1.default.createElement(duplicate_packages_insight_1.DuplicatePackagesInsight, { type: duplicatePackagesInsight.type, data: duplicatePackagesInsight.data, summary: jobs[0].summary.webpack?.duplicatePackagesCount, showDelta: jobs.length > 1 }))),
|
|
86
85
|
react_1.default.createElement(container_1.Container, null,
|
|
87
86
|
react_1.default.createElement(stack_1.Stack, { space: "small" },
|
|
88
87
|
react_1.default.createElement(total_size_type_title_1.TotalSizeTypeTitle, null),
|
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,uDAAmF;AACnF,+CAAgD;AAEhD,4CAMsB;AACtB,uCAAoC;AACpC,+CAA4C;AAC5C,yFAAoF;AACpF,mDAAgD;AAChD,+DAA2D;AAC3D,mGAA4F;AAC5F,qCAAkC;AAClC,6CAA0C;AAC1C,2CAAwC;AACxC,yFAAmF;AACnF,iEAA6D;AAC7D,mEAA+D;AAC/D,+EAAyE;AACzE,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;IACzC,MAAM,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app/app.jsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DuplicatePackagesInsight = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const utils_1 = require("@bundle-stats/utils");
|
|
9
|
+
const alert_1 = require("../../ui/alert");
|
|
10
|
+
const component_link_1 = require("../component-link");
|
|
11
|
+
const delta_1 = require("../delta");
|
|
12
|
+
const duplicate_packages_insight_module_css_1 = __importDefault(require("./duplicate-packages-insight.module.css"));
|
|
13
|
+
const AlertKindMap = new Map([
|
|
14
|
+
[utils_1.InsightType.INFO, 'info'],
|
|
15
|
+
[utils_1.InsightType.ERROR, 'danger'],
|
|
16
|
+
[utils_1.InsightType.WARNING, 'warning'],
|
|
17
|
+
]);
|
|
18
|
+
const DuplicatePackagesInsight = (props) => {
|
|
19
|
+
const { type, data, summary, showDelta = true, customComponentLink: CustomComponentLink = component_link_1.ComponentLink, ...restProps } = props;
|
|
20
|
+
const metric = (0, utils_1.getGlobalMetricType)('webpack.duplicatePackageCount');
|
|
21
|
+
const metricRunInfo = (0, utils_1.getMetricRunInfo)(metric, summary.current, summary.baseline);
|
|
22
|
+
const hasDuplicatePackages = metricRunInfo.value > 0 || (metricRunInfo && (metricRunInfo.delta !== 0));
|
|
23
|
+
return (react_1.default.createElement(alert_1.Alert, { kind: AlertKindMap.get(type), ...restProps },
|
|
24
|
+
react_1.default.createElement("span", { className: duplicate_packages_insight_module_css_1.default.message }, data.text),
|
|
25
|
+
hasDuplicatePackages && (react_1.default.createElement("span", { className: duplicate_packages_insight_module_css_1.default.metric },
|
|
26
|
+
metricRunInfo.value,
|
|
27
|
+
showDelta && typeof metricRunInfo.delta !== 'undefined' && (react_1.default.createElement(delta_1.Delta, { className: duplicate_packages_insight_module_css_1.default.delta, inverted: true, displayValue: metricRunInfo.displayDelta, deltaType: metricRunInfo.deltaType })))),
|
|
28
|
+
react_1.default.createElement("span", { className: duplicate_packages_insight_module_css_1.default.link }, hasDuplicatePackages ? (react_1.default.createElement(CustomComponentLink, { ...utils_1.BUNDLE_PACKAGES_DUPLICATE }, "View duplicate packages")) : (react_1.default.createElement(CustomComponentLink, { ...utils_1.BUNDLE_PACKAGES_COUNT }, "View packages")))));
|
|
29
|
+
};
|
|
30
|
+
exports.DuplicatePackagesInsight = DuplicatePackagesInsight;
|
|
31
|
+
//# sourceMappingURL=duplicate-packages-insight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duplicate-packages-insight.js","sourceRoot":"","sources":["../../../src/components/duplicate-packages-insight/duplicate-packages-insight.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,+CAQ6B;AAE7B,0CAAuC;AACvC,sDAAkD;AAClD,oCAAiC;AAEjC,oHAA0D;AAU1D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,CAAC,mBAAW,CAAC,IAAI,EAAE,MAAM,CAAC;IAC1B,CAAC,mBAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;IAC7B,CAAC,mBAAW,CAAC,OAAO,EAAE,SAAS,CAAC;CACjC,CAAC,CAAC;AAEI,MAAM,wBAAwB,GAAG,CAAC,KAAoC,EAAE,EAAE;IAC/E,MAAM,EACJ,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,SAAS,GAAG,IAAI,EAChB,mBAAmB,EAAE,mBAAmB,GAAG,8BAAa,EACxD,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAEV,MAAM,MAAM,GAAG,IAAA,2BAAmB,EAAC,+BAA+B,CAAC,CAAC;IAEpE,MAAM,aAAa,GAAG,IAAA,wBAAgB,EACpC,MAAM,EACN,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,QAAQ,CACjB,CAAC;IAEF,MAAM,oBAAoB,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;IAEvG,OAAO,CACL,8BAAC,aAAK,IAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAM,SAAS;QAChD,wCAAM,SAAS,EAAE,+CAAG,CAAC,OAAO,IAAG,IAAI,CAAC,IAAI,CAAQ;QAC/C,oBAAoB,IAAI,CACvB,wCAAM,SAAS,EAAE,+CAAG,CAAC,MAAM;YACxB,aAAa,CAAC,KAAK;YACnB,SAAS,IAAI,OAAO,aAAa,CAAC,KAAK,KAAK,WAAW,IAAI,CAC1D,8BAAC,aAAK,IACJ,SAAS,EAAE,+CAAG,CAAC,KAAK,EACpB,QAAQ,QACR,YAAY,EAAE,aAAa,CAAC,YAAsB,EAClD,SAAS,EAAE,aAAa,CAAC,SAAmB,GAC5C,CACH,CACI,CACR;QACD,wCAAM,SAAS,EAAE,+CAAG,CAAC,IAAI,IACtB,oBAAoB,CAAC,CAAC,CAAC,CACtB,8BAAC,mBAAmB,OAAK,iCAAgC,8BAEnC,CACvB,CAAC,CAAC,CAAC,CACF,8BAAC,mBAAmB,OAAK,6BAA4B,oBAE/B,CACvB,CACI,CACD,CACT,CAAC;AACJ,CAAC,CAAC;AAjDW,QAAA,wBAAwB,4BAiDnC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
.metric {
|
|
2
|
+
font-weight: bold;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.metric::before,
|
|
6
|
+
.link::before {
|
|
7
|
+
content: '\00A0\2014\00A0';
|
|
8
|
+
font-weight: normal;
|
|
9
|
+
color: var(--color-text-ultra-light);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.delta {
|
|
13
|
+
margin-left: var(--space-xxxsmall);
|
|
14
|
+
padding: 1px 2px;
|
|
15
|
+
vertical-align: super;
|
|
16
|
+
font-size: 9px;
|
|
17
|
+
line-height: 1;
|
|
18
|
+
}
|
|
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./duplicate-packages-
|
|
17
|
+
__exportStar(require("./duplicate-packages-insight"), exports);
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/duplicate-packages-insight/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C"}
|
package/lib/components/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TotalSizeTypeTitle = exports.Summary = exports.SummaryItem = exports.ModuleInfo = exports.MetricsTableTitle = exports.MetricsTableSearch = exports.MetricsTableOptions = exports.MetricsTable = exports.Metric = exports.LighthouseTable = exports.JobsHeader = exports.JobHeader = exports.JobName = exports.Delta = exports.
|
|
3
|
+
exports.TotalSizeTypeTitle = exports.Summary = exports.SummaryItem = exports.ModuleInfo = exports.MetricsTableTitle = exports.MetricsTableSearch = exports.MetricsTableOptions = exports.MetricsTable = exports.Metric = exports.LighthouseTable = exports.JobsHeader = exports.JobHeader = exports.JobName = exports.Delta = exports.DuplicatePackagesInsight = exports.ComponentLink = exports.BundleModules = exports.BundlePackages = exports.BundleAssetsTotalsChartBars = exports.BundleAssetsTotalsTable = exports.BundleAssets = exports.BrowsertimeTable = void 0;
|
|
4
4
|
var browsertime_table_1 = require("./browsertime-table");
|
|
5
5
|
Object.defineProperty(exports, "BrowsertimeTable", { enumerable: true, get: function () { return browsertime_table_1.BrowsertimeTable; } });
|
|
6
6
|
var bundle_assets_1 = require("./bundle-assets");
|
|
@@ -15,8 +15,8 @@ var bundle_modules_1 = require("./bundle-modules");
|
|
|
15
15
|
Object.defineProperty(exports, "BundleModules", { enumerable: true, get: function () { return bundle_modules_1.BundleModules; } });
|
|
16
16
|
var component_link_1 = require("./component-link");
|
|
17
17
|
Object.defineProperty(exports, "ComponentLink", { enumerable: true, get: function () { return component_link_1.ComponentLink; } });
|
|
18
|
-
var
|
|
19
|
-
Object.defineProperty(exports, "
|
|
18
|
+
var duplicate_packages_insight_1 = require("./duplicate-packages-insight");
|
|
19
|
+
Object.defineProperty(exports, "DuplicatePackagesInsight", { enumerable: true, get: function () { return duplicate_packages_insight_1.DuplicatePackagesInsight; } });
|
|
20
20
|
var delta_1 = require("./delta");
|
|
21
21
|
Object.defineProperty(exports, "Delta", { enumerable: true, get: function () { return delta_1.Delta; } });
|
|
22
22
|
var job_name_1 = require("./job-name");
|
|
@@ -16,7 +16,7 @@ const tag_1 = require("../../ui/tag");
|
|
|
16
16
|
const job_header_module_css_1 = __importDefault(require("./job-header.module.css"));
|
|
17
17
|
const JobHeader = (props) => {
|
|
18
18
|
const { className, tag, job, children } = props;
|
|
19
|
-
const { builtAt, hash } = (0, get_1.default)(job, `meta.${utils_1.
|
|
19
|
+
const { builtAt, hash } = (0, get_1.default)(job, `meta.${utils_1.Source.webpack}`, {});
|
|
20
20
|
const rootClassName = (0, classnames_1.default)(job_header_module_css_1.default.root, className);
|
|
21
21
|
return (react_1.default.createElement(stack_1.Stack, { className: rootClassName, space: "xxsmall" },
|
|
22
22
|
react_1.default.createElement("h1", { className: job_header_module_css_1.default.title },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-header.js","sourceRoot":"","sources":["../../../src/components/job-header/job-header.jsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4DAAmC;AACnC,4DAA4B;AAC5B,qDAA6B;AAC7B,+
|
|
1
|
+
{"version":3,"file":"job-header.js","sourceRoot":"","sources":["../../../src/components/job-header/job-header.jsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4DAAmC;AACnC,4DAA4B;AAC5B,qDAA6B;AAC7B,+CAA6D;AAE7D,wDAAoD;AACpD,8CAA2C;AAC3C,wCAAqC;AACrC,sCAAmC;AACnC,oFAA0C;AAEnC,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;IACjC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEhD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAA,aAAG,EAAC,GAAG,EAAE,QAAQ,cAAM,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,IAAA,oBAAE,EAAC,+BAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE9C,OAAO,CACL,8BAAC,aAAK,IAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAC,SAAS;QAC9C,sCAAI,SAAS,EAAE,+BAAG,CAAC,KAAK;YACtB,4CAAO,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAQ;YAC3C,GAAG,IAAI,8BAAC,SAAG,IAAC,SAAS,EAAE,+BAAG,CAAC,GAAG,IAAG,GAAG,CAAO,CACzC;QACL,8BAAC,sBAAS,IAAC,KAAK,EAAC,SAAS,EAAC,SAAS,EAAE,+BAAG,CAAC,IAAI;YAC3C,OAAO,IAAI,CACV,8BAAC,sBAAS,IAAC,KAAK,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,MAAM,QAAC,EAAE,EAAC,MAAM,EAAC,KAAK,EAAE,OAAO;gBAC7E,8BAAC,WAAI,IAAC,KAAK,EAAC,OAAO,GAAG;gBACtB,4CACG,IAAA,sBAAc,EAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CACjE,CACG,CACb;YAEA,IAAI,IAAI,CACP,8BAAC,sBAAS,IAAC,KAAK,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,MAAM,QAAC,KAAK,EAAC,qBAAqB;gBAChF,8BAAC,WAAI,IAAC,KAAK,EAAC,QAAQ,GAAG;gBACvB,4CAAO,IAAI,CAAQ,CACT,CACb;YAED,uCAAK,SAAS,EAAE,+BAAG,CAAC,OAAO,IAAG,QAAQ,CAAO,CACnC,CACN,CACT,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,SAAS,aAiCpB;AAEF,iBAAS,CAAC,SAAS,GAAG;IACpB,SAAS,EAAE,oBAAS,CAAC,MAAM;IAC3B,GAAG,EAAE,oBAAS,CAAC,MAAM;IACrB,GAAG,EAAE,oBAAS,CAAC,KAAK,CAAC;QACnB,mBAAmB,EAAE,oBAAS,CAAC,MAAM;QACrC,IAAI,EAAE,oBAAS,CAAC,KAAK,CAAC;YACpB,OAAO,EAAE,oBAAS,CAAC,MAAM;SAC1B,CAAC;QACF,OAAO,EAAE,oBAAS,CAAC,MAAM;KAC1B,CAAC;IACF,QAAQ,EAAE,oBAAS,CAAC,OAAO;CAC5B,CAAC;AAEF,iBAAS,CAAC,YAAY,GAAG;IACvB,SAAS,EAAE,EAAE;IACb,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,IAAI;IACT,QAAQ,EAAE,IAAI;CACf,CAAC"}
|
package/lib-esm/app/app.js
CHANGED
|
@@ -5,7 +5,7 @@ import { COMPONENT } from '@bundle-stats/utils';
|
|
|
5
5
|
import { METRICS_WEBPACK_ASSETS, METRICS_WEBPACK_GENERAL, METRICS_WEBPACK_MODULES, METRICS_WEBPACK_PACKAGES, URLS, } from '../constants';
|
|
6
6
|
import { Box } from '../layout/box';
|
|
7
7
|
import { Container } from '../ui/container';
|
|
8
|
-
import {
|
|
8
|
+
import { DuplicatePackagesInsight } from '../components/duplicate-packages-insight';
|
|
9
9
|
import { Summary } from '../components/summary';
|
|
10
10
|
import { BundleAssets } from '../components/bundle-assets';
|
|
11
11
|
import { BundleAssetsTotalsChartBars } from '../components/bundle-assets-totals-chart-bars';
|
|
@@ -48,12 +48,12 @@ JobsProvider.propTypes = {
|
|
|
48
48
|
jobs: PropTypes.arrayOf(PropTypes.object).isRequired,
|
|
49
49
|
};
|
|
50
50
|
const OverviewContent = () => {
|
|
51
|
+
var _a, _b, _c;
|
|
51
52
|
const { jobs } = useContext(JobsContext);
|
|
52
|
-
const
|
|
53
|
-
const duplicatePackagesInsights = Boolean(duplicatePackagesCount.current || duplicatePackagesCount.baseline);
|
|
53
|
+
const duplicatePackagesInsight = (_b = (_a = jobs[0].insights) === null || _a === void 0 ? void 0 : _a.webpack) === null || _b === void 0 ? void 0 : _b.duplicatePackagesV3;
|
|
54
54
|
return (React.createElement(Stack, { space: "medium" },
|
|
55
|
-
|
|
56
|
-
React.createElement(
|
|
55
|
+
duplicatePackagesInsight && (React.createElement(Container, null,
|
|
56
|
+
React.createElement(DuplicatePackagesInsight, { type: duplicatePackagesInsight.type, data: duplicatePackagesInsight.data, summary: (_c = jobs[0].summary.webpack) === null || _c === void 0 ? void 0 : _c.duplicatePackagesCount, showDelta: jobs.length > 1 }))),
|
|
57
57
|
React.createElement(Container, null,
|
|
58
58
|
React.createElement(Stack, { space: "small" },
|
|
59
59
|
React.createElement(TotalSizeTypeTitle, null),
|
package/lib-esm/app/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app/app.jsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app/app.jsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BUNDLE_PACKAGES_DUPLICATE, BUNDLE_PACKAGES_COUNT, InsightType, getMetricRunInfo, getGlobalMetricType, } from '@bundle-stats/utils';
|
|
3
|
+
import { Alert } from '../../ui/alert';
|
|
4
|
+
import { ComponentLink } from '../component-link';
|
|
5
|
+
import { Delta } from '../delta';
|
|
6
|
+
import css from './duplicate-packages-insight.module.css';
|
|
7
|
+
const AlertKindMap = new Map([
|
|
8
|
+
[InsightType.INFO, 'info'],
|
|
9
|
+
[InsightType.ERROR, 'danger'],
|
|
10
|
+
[InsightType.WARNING, 'warning'],
|
|
11
|
+
]);
|
|
12
|
+
export const DuplicatePackagesInsight = (props) => {
|
|
13
|
+
const { type, data, summary, showDelta = true, customComponentLink: CustomComponentLink = ComponentLink, ...restProps } = props;
|
|
14
|
+
const metric = getGlobalMetricType('webpack.duplicatePackageCount');
|
|
15
|
+
const metricRunInfo = getMetricRunInfo(metric, summary.current, summary.baseline);
|
|
16
|
+
const hasDuplicatePackages = metricRunInfo.value > 0 || (metricRunInfo && (metricRunInfo.delta !== 0));
|
|
17
|
+
return (React.createElement(Alert, { kind: AlertKindMap.get(type), ...restProps },
|
|
18
|
+
React.createElement("span", { className: css.message }, data.text),
|
|
19
|
+
hasDuplicatePackages && (React.createElement("span", { className: css.metric },
|
|
20
|
+
metricRunInfo.value,
|
|
21
|
+
showDelta && typeof metricRunInfo.delta !== 'undefined' && (React.createElement(Delta, { className: css.delta, inverted: true, displayValue: metricRunInfo.displayDelta, deltaType: metricRunInfo.deltaType })))),
|
|
22
|
+
React.createElement("span", { className: css.link }, hasDuplicatePackages ? (React.createElement(CustomComponentLink, { ...BUNDLE_PACKAGES_DUPLICATE }, "View duplicate packages")) : (React.createElement(CustomComponentLink, { ...BUNDLE_PACKAGES_COUNT }, "View packages")))));
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=duplicate-packages-insight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duplicate-packages-insight.js","sourceRoot":"","sources":["../../../src/components/duplicate-packages-insight/duplicate-packages-insight.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,WAAW,EAEX,gBAAgB,EAEhB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,GAAG,MAAM,yCAAyC,CAAC;AAU1D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC;IAC1B,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;IAC7B,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAAoC,EAAE,EAAE;IAC/E,MAAM,EACJ,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,SAAS,GAAG,IAAI,EAChB,mBAAmB,EAAE,mBAAmB,GAAG,aAAa,EACxD,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAEV,MAAM,MAAM,GAAG,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;IAEpE,MAAM,aAAa,GAAG,gBAAgB,CACpC,MAAM,EACN,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,QAAQ,CACjB,CAAC;IAEF,MAAM,oBAAoB,GAAG,aAAa,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;IAEvG,OAAO,CACL,oBAAC,KAAK,IAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAM,SAAS;QAChD,8BAAM,SAAS,EAAE,GAAG,CAAC,OAAO,IAAG,IAAI,CAAC,IAAI,CAAQ;QAC/C,oBAAoB,IAAI,CACvB,8BAAM,SAAS,EAAE,GAAG,CAAC,MAAM;YACxB,aAAa,CAAC,KAAK;YACnB,SAAS,IAAI,OAAO,aAAa,CAAC,KAAK,KAAK,WAAW,IAAI,CAC1D,oBAAC,KAAK,IACJ,SAAS,EAAE,GAAG,CAAC,KAAK,EACpB,QAAQ,QACR,YAAY,EAAE,aAAa,CAAC,YAAsB,EAClD,SAAS,EAAE,aAAa,CAAC,SAAmB,GAC5C,CACH,CACI,CACR;QACD,8BAAM,SAAS,EAAE,GAAG,CAAC,IAAI,IACtB,oBAAoB,CAAC,CAAC,CAAC,CACtB,oBAAC,mBAAmB,OAAK,yBAAgC,8BAEnC,CACvB,CAAC,CAAC,CAAC,CACF,oBAAC,mBAAmB,OAAK,qBAA4B,oBAE/B,CACvB,CACI,CACD,CACT,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
.metric {
|
|
2
|
+
font-weight: bold;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.metric::before,
|
|
6
|
+
.link::before {
|
|
7
|
+
content: '\00A0\2014\00A0';
|
|
8
|
+
font-weight: normal;
|
|
9
|
+
color: var(--color-text-ultra-light);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.delta {
|
|
13
|
+
margin-left: var(--space-xxxsmall);
|
|
14
|
+
padding: 1px 2px;
|
|
15
|
+
vertical-align: super;
|
|
16
|
+
font-size: 9px;
|
|
17
|
+
line-height: 1;
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/duplicate-packages-insight/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC"}
|
|
@@ -5,7 +5,7 @@ export { BundleAssetsTotalsChartBars } from './bundle-assets-totals-chart-bars';
|
|
|
5
5
|
export { BundlePackages } from './bundle-packages';
|
|
6
6
|
export { BundleModules } from './bundle-modules';
|
|
7
7
|
export { ComponentLink } from './component-link';
|
|
8
|
-
export {
|
|
8
|
+
export { DuplicatePackagesInsight } from './duplicate-packages-insight';
|
|
9
9
|
export { Delta } from './delta';
|
|
10
10
|
export { JobName } from './job-name';
|
|
11
11
|
export { JobHeader } from './job-header';
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import cx from 'classnames';
|
|
4
4
|
import get from 'lodash/get';
|
|
5
|
-
import {
|
|
5
|
+
import { Source, formatDateTime } from '@bundle-stats/utils';
|
|
6
6
|
import { FlexStack } from '../../layout/flex-stack';
|
|
7
7
|
import { Stack } from '../../layout/stack';
|
|
8
8
|
import { Icon } from '../../ui/icon';
|
|
@@ -10,7 +10,7 @@ import { Tag } from '../../ui/tag';
|
|
|
10
10
|
import css from './job-header.module.css';
|
|
11
11
|
export const JobHeader = (props) => {
|
|
12
12
|
const { className, tag, job, children } = props;
|
|
13
|
-
const { builtAt, hash } = get(job, `meta.${
|
|
13
|
+
const { builtAt, hash } = get(job, `meta.${Source.webpack}`, {});
|
|
14
14
|
const rootClassName = cx(css.root, className);
|
|
15
15
|
return (React.createElement(Stack, { className: rootClassName, space: "xxsmall" },
|
|
16
16
|
React.createElement("h1", { className: css.title },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-header.js","sourceRoot":"","sources":["../../../src/components/job-header/job-header.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"job-header.js","sourceRoot":"","sources":["../../../src/components/job-header/job-header.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,GAAG,MAAM,yBAAyB,CAAC;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;IACjC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEhD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,QAAQ,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE9C,OAAO,CACL,oBAAC,KAAK,IAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAC,SAAS;QAC9C,4BAAI,SAAS,EAAE,GAAG,CAAC,KAAK;YACtB,kCAAO,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAQ;YAC3C,GAAG,IAAI,oBAAC,GAAG,IAAC,SAAS,EAAE,GAAG,CAAC,GAAG,IAAG,GAAG,CAAO,CACzC;QACL,oBAAC,SAAS,IAAC,KAAK,EAAC,SAAS,EAAC,SAAS,EAAE,GAAG,CAAC,IAAI;YAC3C,OAAO,IAAI,CACV,oBAAC,SAAS,IAAC,KAAK,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,MAAM,QAAC,EAAE,EAAC,MAAM,EAAC,KAAK,EAAE,OAAO;gBAC7E,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,GAAG;gBACtB,kCACG,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CACjE,CACG,CACb;YAEA,IAAI,IAAI,CACP,oBAAC,SAAS,IAAC,KAAK,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,MAAM,QAAC,KAAK,EAAC,qBAAqB;gBAChF,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,GAAG;gBACvB,kCAAO,IAAI,CAAQ,CACT,CACb;YAED,6BAAK,SAAS,EAAE,GAAG,CAAC,OAAO,IAAG,QAAQ,CAAO,CACnC,CACN,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,CAAC,SAAS,GAAG;IACpB,SAAS,EAAE,SAAS,CAAC,MAAM;IAC3B,GAAG,EAAE,SAAS,CAAC,MAAM;IACrB,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC;QACnB,mBAAmB,EAAE,SAAS,CAAC,MAAM;QACrC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC;YACpB,OAAO,EAAE,SAAS,CAAC,MAAM;SAC1B,CAAC;QACF,OAAO,EAAE,SAAS,CAAC,MAAM;KAC1B,CAAC;IACF,QAAQ,EAAE,SAAS,CAAC,OAAO;CAC5B,CAAC;AAEF,SAAS,CAAC,YAAY,GAAG;IACvB,SAAS,EAAE,EAAE;IACb,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,IAAI;IACT,QAAQ,EAAE,IAAI;CACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bundle-stats/ui",
|
|
3
|
-
"version": "4.3.0-beta.
|
|
3
|
+
"version": "4.3.0-beta.2",
|
|
4
4
|
"description": "UI components for BundleStats projects.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"@storybook/react": "6.5.15",
|
|
52
52
|
"@types/react": "18.0.26",
|
|
53
53
|
"babel-plugin-require-context-hook": "1.0.0",
|
|
54
|
-
"chromatic": "6.
|
|
54
|
+
"chromatic": "6.15.0",
|
|
55
55
|
"classnames": "2.3.2",
|
|
56
56
|
"colormap": "2.3.2",
|
|
57
57
|
"cross-env": "7.0.3",
|
|
@@ -60,9 +60,9 @@
|
|
|
60
60
|
"enzyme-to-json": "3.6.2",
|
|
61
61
|
"hex-rgb": "5.0.0",
|
|
62
62
|
"identity-obj-proxy": "3.0.0",
|
|
63
|
-
"jest": "29.
|
|
63
|
+
"jest": "29.4.0",
|
|
64
64
|
"jest-date-mock": "1.0.8",
|
|
65
|
-
"jest-environment-jsdom": "29.
|
|
65
|
+
"jest-environment-jsdom": "29.4.0",
|
|
66
66
|
"lodash": "4.17.21",
|
|
67
67
|
"postcss": "8.4.21",
|
|
68
68
|
"prop-types": "15.8.1",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"react-dom": "17.0.2",
|
|
71
71
|
"react-router-dom": "5.3.4",
|
|
72
72
|
"react-test-renderer": "18.2.0",
|
|
73
|
-
"rimraf": "4.1.
|
|
73
|
+
"rimraf": "4.1.2",
|
|
74
74
|
"typescript": "4.9.4"
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
@@ -82,11 +82,11 @@
|
|
|
82
82
|
"react-router-dom": "^5.0.0"
|
|
83
83
|
},
|
|
84
84
|
"dependencies": {
|
|
85
|
-
"@bundle-stats/utils": "^4.3.0-beta.
|
|
85
|
+
"@bundle-stats/utils": "^4.3.0-beta.2",
|
|
86
86
|
"ariakit": "2.0.0-next.43",
|
|
87
87
|
"modern-css-reset": "1.4.0",
|
|
88
88
|
"query-string": "7.1.3",
|
|
89
89
|
"use-query-params": "2.1.2"
|
|
90
90
|
},
|
|
91
|
-
"gitHead": "
|
|
91
|
+
"gitHead": "a4732cf9ed55fb8d8c31bee857ba3ac16c04de1d"
|
|
92
92
|
}
|
package/src/app/app.jsx
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from '../constants';
|
|
13
13
|
import { Box } from '../layout/box';
|
|
14
14
|
import { Container } from '../ui/container';
|
|
15
|
-
import {
|
|
15
|
+
import { DuplicatePackagesInsight } from '../components/duplicate-packages-insight';
|
|
16
16
|
import { Summary } from '../components/summary';
|
|
17
17
|
import { BundleAssets } from '../components/bundle-assets';
|
|
18
18
|
import { BundleAssetsTotalsChartBars } from '../components/bundle-assets-totals-chart-bars';
|
|
@@ -68,17 +68,16 @@ JobsProvider.propTypes = {
|
|
|
68
68
|
|
|
69
69
|
const OverviewContent = () => {
|
|
70
70
|
const { jobs } = useContext(JobsContext);
|
|
71
|
-
const
|
|
72
|
-
const duplicatePackagesInsights = Boolean(
|
|
73
|
-
duplicatePackagesCount.current || duplicatePackagesCount.baseline,
|
|
74
|
-
);
|
|
71
|
+
const duplicatePackagesInsight = jobs[0].insights?.webpack?.duplicatePackagesV3;
|
|
75
72
|
|
|
76
73
|
return (
|
|
77
74
|
<Stack space="medium">
|
|
78
|
-
{
|
|
75
|
+
{duplicatePackagesInsight && (
|
|
79
76
|
<Container>
|
|
80
|
-
<
|
|
81
|
-
|
|
77
|
+
<DuplicatePackagesInsight
|
|
78
|
+
type={duplicatePackagesInsight.type}
|
|
79
|
+
data={duplicatePackagesInsight.data}
|
|
80
|
+
summary={jobs[0].summary.webpack?.duplicatePackagesCount}
|
|
82
81
|
showDelta={jobs.length > 1}
|
|
83
82
|
/>
|
|
84
83
|
</Container>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
.metric {
|
|
2
|
+
font-weight: bold;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.metric::before,
|
|
6
|
+
.link::before {
|
|
7
|
+
content: '\00A0\2014\00A0';
|
|
8
|
+
font-weight: normal;
|
|
9
|
+
color: var(--color-text-ultra-light);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.delta {
|
|
13
|
+
margin-left: var(--space-xxxsmall);
|
|
14
|
+
padding: 1px 2px;
|
|
15
|
+
vertical-align: super;
|
|
16
|
+
font-size: 9px;
|
|
17
|
+
line-height: 1;
|
|
18
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { MemoryRouter } from 'react-router-dom';
|
|
3
|
+
import { DuplicatePackagesInsight } from '.';
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Components/DuplicatePackagesInsight',
|
|
7
|
+
component: DuplicatePackagesInsight,
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const Template = (props: any) => <MemoryRouter><DuplicatePackagesInsight {...props} /></MemoryRouter>;
|
|
11
|
+
|
|
12
|
+
export const Default = Template.bind({});
|
|
13
|
+
|
|
14
|
+
Default.args = {
|
|
15
|
+
type: 'INFO',
|
|
16
|
+
data: {
|
|
17
|
+
packages: {},
|
|
18
|
+
text: 'Bundle does not contain duplicate packages',
|
|
19
|
+
},
|
|
20
|
+
summary: {
|
|
21
|
+
current: 0,
|
|
22
|
+
baseline: 0,
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export const NewDuplicates = Template.bind({});
|
|
27
|
+
|
|
28
|
+
NewDuplicates.args = {
|
|
29
|
+
type: 'ERROR',
|
|
30
|
+
data: {
|
|
31
|
+
packages: {},
|
|
32
|
+
text: 'Bundle introduced 2 duplicate packages',
|
|
33
|
+
},
|
|
34
|
+
summary: {
|
|
35
|
+
current: 4,
|
|
36
|
+
baseline: 2,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export const NewDuplicatesAndRemovals = Template.bind({});
|
|
41
|
+
|
|
42
|
+
NewDuplicatesAndRemovals.args = {
|
|
43
|
+
type: 'ERROR',
|
|
44
|
+
data: {
|
|
45
|
+
packages: {},
|
|
46
|
+
text: 'Bundle introduced 2 and removed 1 duplicate packages',
|
|
47
|
+
},
|
|
48
|
+
summary: {
|
|
49
|
+
current: 4,
|
|
50
|
+
baseline: 3,
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export const NoChangeDuplicates = Template.bind({});
|
|
55
|
+
|
|
56
|
+
NoChangeDuplicates.args = {
|
|
57
|
+
type: 'WARNING',
|
|
58
|
+
data: {
|
|
59
|
+
packages: {},
|
|
60
|
+
text: 'Bundle contains 4 duplicate packages',
|
|
61
|
+
},
|
|
62
|
+
summary: {
|
|
63
|
+
current: 4,
|
|
64
|
+
baseline: 4,
|
|
65
|
+
},
|
|
66
|
+
};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
BUNDLE_PACKAGES_DUPLICATE,
|
|
4
|
+
BUNDLE_PACKAGES_COUNT,
|
|
5
|
+
InsightType,
|
|
6
|
+
JobSummaryItem,
|
|
7
|
+
getMetricRunInfo,
|
|
8
|
+
JobInsightDuplicatePackagesV3Data,
|
|
9
|
+
getGlobalMetricType,
|
|
10
|
+
} from '@bundle-stats/utils';
|
|
11
|
+
|
|
12
|
+
import { Alert } from '../../ui/alert';
|
|
13
|
+
import { ComponentLink } from '../component-link';
|
|
14
|
+
import { Delta } from '../delta';
|
|
15
|
+
// @ts-ignore
|
|
16
|
+
import css from './duplicate-packages-insight.module.css';
|
|
17
|
+
|
|
18
|
+
interface DuplicatePackagesInsightProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
19
|
+
type: InsightType;
|
|
20
|
+
data: JobInsightDuplicatePackagesV3Data;
|
|
21
|
+
summary: JobSummaryItem;
|
|
22
|
+
showDelta?: boolean;
|
|
23
|
+
customComponentLink?: React.FunctionComponent<React.HTMLAttributes<HTMLLinkElement>>;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const AlertKindMap = new Map([
|
|
27
|
+
[InsightType.INFO, 'info'],
|
|
28
|
+
[InsightType.ERROR, 'danger'],
|
|
29
|
+
[InsightType.WARNING, 'warning'],
|
|
30
|
+
]);
|
|
31
|
+
|
|
32
|
+
export const DuplicatePackagesInsight = (props: DuplicatePackagesInsightProps) => {
|
|
33
|
+
const {
|
|
34
|
+
type,
|
|
35
|
+
data,
|
|
36
|
+
summary,
|
|
37
|
+
showDelta = true,
|
|
38
|
+
customComponentLink: CustomComponentLink = ComponentLink,
|
|
39
|
+
...restProps
|
|
40
|
+
} = props;
|
|
41
|
+
|
|
42
|
+
const metric = getGlobalMetricType('webpack.duplicatePackageCount');
|
|
43
|
+
|
|
44
|
+
const metricRunInfo = getMetricRunInfo(
|
|
45
|
+
metric,
|
|
46
|
+
summary.current,
|
|
47
|
+
summary.baseline,
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
const hasDuplicatePackages = metricRunInfo.value > 0 || (metricRunInfo && (metricRunInfo.delta !== 0));
|
|
51
|
+
|
|
52
|
+
return (
|
|
53
|
+
<Alert kind={AlertKindMap.get(type)} {...restProps}>
|
|
54
|
+
<span className={css.message}>{data.text}</span>
|
|
55
|
+
{hasDuplicatePackages && (
|
|
56
|
+
<span className={css.metric}>
|
|
57
|
+
{metricRunInfo.value}
|
|
58
|
+
{showDelta && typeof metricRunInfo.delta !== 'undefined' && (
|
|
59
|
+
<Delta
|
|
60
|
+
className={css.delta}
|
|
61
|
+
inverted
|
|
62
|
+
displayValue={metricRunInfo.displayDelta as string}
|
|
63
|
+
deltaType={metricRunInfo.deltaType as string}
|
|
64
|
+
/>
|
|
65
|
+
)}
|
|
66
|
+
</span>
|
|
67
|
+
)}
|
|
68
|
+
<span className={css.link}>
|
|
69
|
+
{hasDuplicatePackages ? (
|
|
70
|
+
<CustomComponentLink {...BUNDLE_PACKAGES_DUPLICATE as any}>
|
|
71
|
+
View duplicate packages
|
|
72
|
+
</CustomComponentLink>
|
|
73
|
+
) : (
|
|
74
|
+
<CustomComponentLink {...BUNDLE_PACKAGES_COUNT as any}>
|
|
75
|
+
View packages
|
|
76
|
+
</CustomComponentLink>
|
|
77
|
+
)}
|
|
78
|
+
</span>
|
|
79
|
+
</Alert>
|
|
80
|
+
);
|
|
81
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './duplicate-packages-insight';
|
package/src/components/index.js
CHANGED
|
@@ -5,7 +5,7 @@ export { BundleAssetsTotalsChartBars } from './bundle-assets-totals-chart-bars';
|
|
|
5
5
|
export { BundlePackages } from './bundle-packages';
|
|
6
6
|
export { BundleModules } from './bundle-modules';
|
|
7
7
|
export { ComponentLink } from './component-link';
|
|
8
|
-
export {
|
|
8
|
+
export { DuplicatePackagesInsight } from './duplicate-packages-insight';
|
|
9
9
|
export { Delta } from './delta';
|
|
10
10
|
export { JobName } from './job-name';
|
|
11
11
|
export { JobHeader } from './job-header';
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import cx from 'classnames';
|
|
4
4
|
import get from 'lodash/get';
|
|
5
|
-
import {
|
|
5
|
+
import { Source, formatDateTime } from '@bundle-stats/utils';
|
|
6
6
|
|
|
7
7
|
import { FlexStack } from '../../layout/flex-stack';
|
|
8
8
|
import { Stack } from '../../layout/stack';
|
|
@@ -13,7 +13,7 @@ import css from './job-header.module.css';
|
|
|
13
13
|
export const JobHeader = (props) => {
|
|
14
14
|
const { className, tag, job, children } = props;
|
|
15
15
|
|
|
16
|
-
const { builtAt, hash } = get(job, `meta.${
|
|
16
|
+
const { builtAt, hash } = get(job, `meta.${Source.webpack}`, {});
|
|
17
17
|
const rootClassName = cx(css.root, className);
|
|
18
18
|
|
|
19
19
|
return (
|
package/tsconfig.esm.json
CHANGED
package/tsconfig.lib.json
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { InsightType, JobSummaryItem, JobInsightDuplicatePackagesV3Data } from '@bundle-stats/utils';
|
|
3
|
+
interface DuplicatePackagesInsightProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
type: InsightType;
|
|
5
|
+
data: JobInsightDuplicatePackagesV3Data;
|
|
6
|
+
summary: JobSummaryItem;
|
|
7
|
+
showDelta?: boolean;
|
|
8
|
+
customComponentLink?: React.FunctionComponent<React.HTMLAttributes<HTMLLinkElement>>;
|
|
9
|
+
}
|
|
10
|
+
export declare const DuplicatePackagesInsight: (props: DuplicatePackagesInsightProps) => JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './duplicate-packages-insight';
|
|
@@ -5,7 +5,7 @@ export { BundleAssetsTotalsChartBars } from "./bundle-assets-totals-chart-bars";
|
|
|
5
5
|
export { BundlePackages } from "./bundle-packages";
|
|
6
6
|
export { BundleModules } from "./bundle-modules";
|
|
7
7
|
export { ComponentLink } from "./component-link";
|
|
8
|
-
export {
|
|
8
|
+
export { DuplicatePackagesInsight } from "./duplicate-packages-insight";
|
|
9
9
|
export { Delta } from "./delta";
|
|
10
10
|
export { JobName } from "./job-name";
|
|
11
11
|
export { JobHeader } from "./job-header";
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DuplicatePackagesWarning = void 0;
|
|
7
|
-
const react_1 = __importDefault(require("react"));
|
|
8
|
-
const prop_types_1 = __importDefault(require("prop-types"));
|
|
9
|
-
const classnames_1 = __importDefault(require("classnames"));
|
|
10
|
-
const utils_1 = require("@bundle-stats/utils");
|
|
11
|
-
const alert_1 = require("../../ui/alert");
|
|
12
|
-
const component_link_1 = require("../component-link");
|
|
13
|
-
const delta_1 = require("../delta");
|
|
14
|
-
const duplicate_packages_warning_module_css_1 = __importDefault(require("./duplicate-packages-warning.module.css"));
|
|
15
|
-
const numberMetric = utils_1.METRIC_TYPES[utils_1.METRIC_TYPE_NUMERIC];
|
|
16
|
-
const DuplicatePackagesWarning = (props) => {
|
|
17
|
-
const { className, duplicatePackagesCount, customComponentLink: CustomComponentLink, showDelta, } = props;
|
|
18
|
-
const metricRunInfo = (0, utils_1.getMetricRunInfo)(numberMetric, duplicatePackagesCount.current, duplicatePackagesCount.baseline);
|
|
19
|
-
return (react_1.default.createElement(alert_1.Alert, { kind: "warning", className: (0, classnames_1.default)(duplicate_packages_warning_module_css_1.default.root, className) },
|
|
20
|
-
`Bundle contains `,
|
|
21
|
-
react_1.default.createElement(CustomComponentLink, { ...utils_1.BUNDLE_PACKAGES_DUPLICATE },
|
|
22
|
-
metricRunInfo.value,
|
|
23
|
-
showDelta && metricRunInfo.delta !== 0 && (react_1.default.createElement(delta_1.Delta, { className: duplicate_packages_warning_module_css_1.default.titleDelta, inverted: true, displayValue: metricRunInfo.displayDelta, deltaType: metricRunInfo.deltaType })),
|
|
24
|
-
` duplicate ${metricRunInfo.value === 1 ? 'package' : 'packages'}.`)));
|
|
25
|
-
};
|
|
26
|
-
exports.DuplicatePackagesWarning = DuplicatePackagesWarning;
|
|
27
|
-
exports.DuplicatePackagesWarning.propTypes = {
|
|
28
|
-
className: prop_types_1.default.string,
|
|
29
|
-
customComponentLink: prop_types_1.default.elementType,
|
|
30
|
-
duplicatePackagesCount: prop_types_1.default.shape({
|
|
31
|
-
current: prop_types_1.default.number,
|
|
32
|
-
baseline: prop_types_1.default.number,
|
|
33
|
-
}).isRequired,
|
|
34
|
-
showDelta: prop_types_1.default.bool,
|
|
35
|
-
};
|
|
36
|
-
exports.DuplicatePackagesWarning.defaultProps = {
|
|
37
|
-
className: '',
|
|
38
|
-
customComponentLink: component_link_1.ComponentLink,
|
|
39
|
-
showDelta: true,
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=duplicate-packages-warning.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"duplicate-packages-warning.js","sourceRoot":"","sources":["../../../src/components/duplicate-packages-warning/duplicate-packages-warning.jsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4DAAmC;AACnC,4DAA4B;AAC5B,+CAAqH;AAErH,0CAAuC;AACvC,sDAAkD;AAClD,oCAAiC;AACjC,oHAA0D;AAE1D,MAAM,YAAY,GAAG,oBAAY,CAAC,2BAAmB,CAAC,CAAC;AAEhD,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,EAAE;IAChD,MAAM,EACJ,SAAS,EACT,sBAAsB,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,IAAA,wBAAgB,EACpC,YAAY,EACZ,sBAAsB,CAAC,OAAO,EAC9B,sBAAsB,CAAC,QAAQ,CAChC,CAAC;IAEF,OAAO,CACL,8BAAC,aAAK,IAAC,IAAI,EAAC,SAAS,EAAC,SAAS,EAAE,IAAA,oBAAE,EAAC,+CAAG,CAAC,IAAI,EAAE,SAAS,CAAC;QACrD,kBAAkB;QACnB,8BAAC,mBAAmB,OAAK,iCAAyB;YAC/C,aAAa,CAAC,KAAK;YACnB,SAAS,IAAI,aAAa,CAAC,KAAK,KAAK,CAAC,IAAI,CACzC,8BAAC,aAAK,IACJ,SAAS,EAAE,+CAAG,CAAC,UAAU,EACzB,QAAQ,QACR,YAAY,EAAE,aAAa,CAAC,YAAY,EACxC,SAAS,EAAE,aAAa,CAAC,SAAS,GAClC,CACH;YACA,cAAc,aAAa,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG,CAChD,CAChB,CACT,CAAC;AACJ,CAAC,CAAC;AA/BW,QAAA,wBAAwB,4BA+BnC;AAEF,gCAAwB,CAAC,SAAS,GAAG;IACnC,SAAS,EAAE,oBAAS,CAAC,MAAM;IAC3B,mBAAmB,EAAE,oBAAS,CAAC,WAAW;IAC1C,sBAAsB,EAAE,oBAAS,CAAC,KAAK,CAAC;QACtC,OAAO,EAAE,oBAAS,CAAC,MAAM;QACzB,QAAQ,EAAE,oBAAS,CAAC,MAAM;KAC3B,CAAC,CAAC,UAAU;IACb,SAAS,EAAE,oBAAS,CAAC,IAAI;CAC1B,CAAC;AAEF,gCAAwB,CAAC,YAAY,GAAG;IACtC,SAAS,EAAE,EAAE;IACb,mBAAmB,EAAE,8BAAa;IAClC,SAAS,EAAE,IAAI;CAChB,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
.root a {
|
|
2
|
-
text-decoration: none;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.root a:hover,
|
|
6
|
-
.root a:active,
|
|
7
|
-
.root a:focus {
|
|
8
|
-
text-decoration: none;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.title {
|
|
12
|
-
margin-bottom: var(--space-xxsmall);
|
|
13
|
-
font-size: var(--size-medium);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.titleDelta {
|
|
17
|
-
margin-left: var(--space-xxxsmall);
|
|
18
|
-
padding: 1px 2px;
|
|
19
|
-
vertical-align: super;
|
|
20
|
-
font-size: 9px;
|
|
21
|
-
line-height: 1;
|
|
22
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/duplicate-packages-warning/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import cx from 'classnames';
|
|
4
|
-
import { BUNDLE_PACKAGES_DUPLICATE, METRIC_TYPE_NUMERIC, METRIC_TYPES, getMetricRunInfo } from '@bundle-stats/utils';
|
|
5
|
-
import { Alert } from '../../ui/alert';
|
|
6
|
-
import { ComponentLink } from '../component-link';
|
|
7
|
-
import { Delta } from '../delta';
|
|
8
|
-
import css from './duplicate-packages-warning.module.css';
|
|
9
|
-
const numberMetric = METRIC_TYPES[METRIC_TYPE_NUMERIC];
|
|
10
|
-
export const DuplicatePackagesWarning = (props) => {
|
|
11
|
-
const { className, duplicatePackagesCount, customComponentLink: CustomComponentLink, showDelta, } = props;
|
|
12
|
-
const metricRunInfo = getMetricRunInfo(numberMetric, duplicatePackagesCount.current, duplicatePackagesCount.baseline);
|
|
13
|
-
return (React.createElement(Alert, { kind: "warning", className: cx(css.root, className) },
|
|
14
|
-
`Bundle contains `,
|
|
15
|
-
React.createElement(CustomComponentLink, { ...BUNDLE_PACKAGES_DUPLICATE },
|
|
16
|
-
metricRunInfo.value,
|
|
17
|
-
showDelta && metricRunInfo.delta !== 0 && (React.createElement(Delta, { className: css.titleDelta, inverted: true, displayValue: metricRunInfo.displayDelta, deltaType: metricRunInfo.deltaType })),
|
|
18
|
-
` duplicate ${metricRunInfo.value === 1 ? 'package' : 'packages'}.`)));
|
|
19
|
-
};
|
|
20
|
-
DuplicatePackagesWarning.propTypes = {
|
|
21
|
-
className: PropTypes.string,
|
|
22
|
-
customComponentLink: PropTypes.elementType,
|
|
23
|
-
duplicatePackagesCount: PropTypes.shape({
|
|
24
|
-
current: PropTypes.number,
|
|
25
|
-
baseline: PropTypes.number,
|
|
26
|
-
}).isRequired,
|
|
27
|
-
showDelta: PropTypes.bool,
|
|
28
|
-
};
|
|
29
|
-
DuplicatePackagesWarning.defaultProps = {
|
|
30
|
-
className: '',
|
|
31
|
-
customComponentLink: ComponentLink,
|
|
32
|
-
showDelta: true,
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=duplicate-packages-warning.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"duplicate-packages-warning.js","sourceRoot":"","sources":["../../../src/components/duplicate-packages-warning/duplicate-packages-warning.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAErH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,GAAG,MAAM,yCAAyC,CAAC;AAE1D,MAAM,YAAY,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;AAEvD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,EAAE;IAChD,MAAM,EACJ,SAAS,EACT,sBAAsB,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,gBAAgB,CACpC,YAAY,EACZ,sBAAsB,CAAC,OAAO,EAC9B,sBAAsB,CAAC,QAAQ,CAChC,CAAC;IAEF,OAAO,CACL,oBAAC,KAAK,IAAC,IAAI,EAAC,SAAS,EAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC;QACrD,kBAAkB;QACnB,oBAAC,mBAAmB,OAAK,yBAAyB;YAC/C,aAAa,CAAC,KAAK;YACnB,SAAS,IAAI,aAAa,CAAC,KAAK,KAAK,CAAC,IAAI,CACzC,oBAAC,KAAK,IACJ,SAAS,EAAE,GAAG,CAAC,UAAU,EACzB,QAAQ,QACR,YAAY,EAAE,aAAa,CAAC,YAAY,EACxC,SAAS,EAAE,aAAa,CAAC,SAAS,GAClC,CACH;YACA,cAAc,aAAa,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG,CAChD,CAChB,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,wBAAwB,CAAC,SAAS,GAAG;IACnC,SAAS,EAAE,SAAS,CAAC,MAAM;IAC3B,mBAAmB,EAAE,SAAS,CAAC,WAAW;IAC1C,sBAAsB,EAAE,SAAS,CAAC,KAAK,CAAC;QACtC,OAAO,EAAE,SAAS,CAAC,MAAM;QACzB,QAAQ,EAAE,SAAS,CAAC,MAAM;KAC3B,CAAC,CAAC,UAAU;IACb,SAAS,EAAE,SAAS,CAAC,IAAI;CAC1B,CAAC;AAEF,wBAAwB,CAAC,YAAY,GAAG;IACtC,SAAS,EAAE,EAAE;IACb,mBAAmB,EAAE,aAAa;IAClC,SAAS,EAAE,IAAI;CAChB,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
.root a {
|
|
2
|
-
text-decoration: none;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.root a:hover,
|
|
6
|
-
.root a:active,
|
|
7
|
-
.root a:focus {
|
|
8
|
-
text-decoration: none;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.title {
|
|
12
|
-
margin-bottom: var(--space-xxsmall);
|
|
13
|
-
font-size: var(--size-medium);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.titleDelta {
|
|
17
|
-
margin-left: var(--space-xxxsmall);
|
|
18
|
-
padding: 1px 2px;
|
|
19
|
-
vertical-align: super;
|
|
20
|
-
font-size: 9px;
|
|
21
|
-
line-height: 1;
|
|
22
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/duplicate-packages-warning/index.js"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import cx from 'classnames';
|
|
4
|
-
import { BUNDLE_PACKAGES_DUPLICATE, METRIC_TYPE_NUMERIC, METRIC_TYPES, getMetricRunInfo } from '@bundle-stats/utils';
|
|
5
|
-
|
|
6
|
-
import { Alert } from '../../ui/alert';
|
|
7
|
-
import { ComponentLink } from '../component-link';
|
|
8
|
-
import { Delta } from '../delta';
|
|
9
|
-
import css from './duplicate-packages-warning.module.css';
|
|
10
|
-
|
|
11
|
-
const numberMetric = METRIC_TYPES[METRIC_TYPE_NUMERIC];
|
|
12
|
-
|
|
13
|
-
export const DuplicatePackagesWarning = (props) => {
|
|
14
|
-
const {
|
|
15
|
-
className,
|
|
16
|
-
duplicatePackagesCount,
|
|
17
|
-
customComponentLink: CustomComponentLink,
|
|
18
|
-
showDelta,
|
|
19
|
-
} = props;
|
|
20
|
-
|
|
21
|
-
const metricRunInfo = getMetricRunInfo(
|
|
22
|
-
numberMetric,
|
|
23
|
-
duplicatePackagesCount.current,
|
|
24
|
-
duplicatePackagesCount.baseline,
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
return (
|
|
28
|
-
<Alert kind="warning" className={cx(css.root, className)}>
|
|
29
|
-
{`Bundle contains `}
|
|
30
|
-
<CustomComponentLink {...BUNDLE_PACKAGES_DUPLICATE}>
|
|
31
|
-
{metricRunInfo.value}
|
|
32
|
-
{showDelta && metricRunInfo.delta !== 0 && (
|
|
33
|
-
<Delta
|
|
34
|
-
className={css.titleDelta}
|
|
35
|
-
inverted
|
|
36
|
-
displayValue={metricRunInfo.displayDelta}
|
|
37
|
-
deltaType={metricRunInfo.deltaType}
|
|
38
|
-
/>
|
|
39
|
-
)}
|
|
40
|
-
{` duplicate ${metricRunInfo.value === 1 ? 'package' : 'packages'}.`}
|
|
41
|
-
</CustomComponentLink>
|
|
42
|
-
</Alert>
|
|
43
|
-
);
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
DuplicatePackagesWarning.propTypes = {
|
|
47
|
-
className: PropTypes.string,
|
|
48
|
-
customComponentLink: PropTypes.elementType,
|
|
49
|
-
duplicatePackagesCount: PropTypes.shape({
|
|
50
|
-
current: PropTypes.number,
|
|
51
|
-
baseline: PropTypes.number,
|
|
52
|
-
}).isRequired,
|
|
53
|
-
showDelta: PropTypes.bool,
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
DuplicatePackagesWarning.defaultProps = {
|
|
57
|
-
className: '',
|
|
58
|
-
customComponentLink: ComponentLink,
|
|
59
|
-
showDelta: true,
|
|
60
|
-
};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
.root a {
|
|
2
|
-
text-decoration: none;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.root a:hover,
|
|
6
|
-
.root a:active,
|
|
7
|
-
.root a:focus {
|
|
8
|
-
text-decoration: none;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.title {
|
|
12
|
-
margin-bottom: var(--space-xxsmall);
|
|
13
|
-
font-size: var(--size-medium);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.titleDelta {
|
|
17
|
-
margin-left: var(--space-xxxsmall);
|
|
18
|
-
padding: 1px 2px;
|
|
19
|
-
vertical-align: super;
|
|
20
|
-
font-size: 9px;
|
|
21
|
-
line-height: 1;
|
|
22
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './duplicate-packages-warning';
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export function DuplicatePackagesWarning(props: any): JSX.Element;
|
|
2
|
-
export namespace DuplicatePackagesWarning {
|
|
3
|
-
namespace propTypes {
|
|
4
|
-
const className: PropTypes.Requireable<string>;
|
|
5
|
-
const customComponentLink: PropTypes.Requireable<PropTypes.ReactComponentLike>;
|
|
6
|
-
const duplicatePackagesCount: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
|
|
7
|
-
current: PropTypes.Requireable<number>;
|
|
8
|
-
baseline: PropTypes.Requireable<number>;
|
|
9
|
-
}>>>;
|
|
10
|
-
const showDelta: PropTypes.Requireable<boolean>;
|
|
11
|
-
}
|
|
12
|
-
namespace defaultProps {
|
|
13
|
-
const className_1: string;
|
|
14
|
-
export { className_1 as className };
|
|
15
|
-
export { ComponentLink as customComponentLink };
|
|
16
|
-
const showDelta_1: boolean;
|
|
17
|
-
export { showDelta_1 as showDelta };
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
import PropTypes from "prop-types";
|
|
21
|
-
import { ComponentLink } from "../component-link";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./duplicate-packages-warning";
|