diff --git a/packages/reporters/bundle-analyzer/src/BundleAnalyzerReporter.js b/packages/reporters/bundle-analyzer/src/BundleAnalyzerReporter.js index d55ed61ea14..8c367814e78 100644 --- a/packages/reporters/bundle-analyzer/src/BundleAnalyzerReporter.js +++ b/packages/reporters/bundle-analyzer/src/BundleAnalyzerReporter.js @@ -30,7 +30,11 @@ export default new Reporter({ await Promise.all( [...bundlesByTarget.entries()].map(async ([targetName, bundles]) => { - return options.outputFS.writeFile( + await options.outputFS.writeFile( + path.join(reportsDir, `${targetName}-stats.json`), + JSON.stringify(getBundleStats(bundles), null, 2), + ); + await options.outputFS.writeFile( path.join(reportsDir, `${targetName}.html`), ` @@ -106,6 +110,15 @@ function getBundleData( }; } +function getBundleStats(bundles: Array) { + return { + assets: bundles.map(({displayName, stats: {size}}) => ({ + name: displayName, + size, + })), + }; +} + type File = {| basename: string, stats: Stats,