UNPKG

1.1 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = generateBundleReport;
7
8var _nullthrows = _interopRequireDefault(require("nullthrows"));
9
10function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
12function generateBundleReport(bundleGraph, largestAssetCount = 10) {
13 let bundles = [];
14 bundleGraph.traverseBundles(bundle => {
15 bundles.push(bundle);
16 });
17 bundles.sort((a, b) => b.stats.size - a.stats.size);
18 return {
19 bundles: bundles.map(bundle => {
20 let assets = [];
21 bundle.traverseAssets(asset => {
22 assets.push(asset);
23 });
24 assets.sort((a, b) => b.stats.size - a.stats.size);
25 return {
26 filePath: (0, _nullthrows.default)(bundle.filePath),
27 size: bundle.stats.size,
28 time: bundle.stats.time,
29 largestAssets: assets.slice(0, largestAssetCount).map(asset => ({
30 filePath: asset.filePath,
31 size: asset.stats.size,
32 time: asset.stats.time
33 })),
34 totalAssets: assets.length
35 };
36 })
37 };
38}
\No newline at end of file