Skip to content

Commit c5184d0

Browse files
viankakrisnagaearon
authored andcommitted
combine printFileSizes and removeFileNameHash to fileSizeReporter
1 parent 6eb9a34 commit c5184d0

File tree

3 files changed

+20
-17
lines changed

3 files changed

+20
-17
lines changed

packages/react-dev-utils/printFileSizes.js renamed to packages/react-dev-utils/fileSizeReporter.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ var filesize = require('filesize');
55
var stripAnsi = require('strip-ansi');
66
var gzipSize = require('gzip-size').sync;
77
// Print a detailed summary of build files.
8-
module.exports = function printFileSizes(appBuild, stats, previousSizeMap) {
8+
function printFileSizesAfterBuild(appBuild, stats, previousSizeMap) {
99
var assets = stats
1010
.toJson()
1111
.assets.filter(asset => /\.(js|css)$/.test(asset.name))
@@ -66,4 +66,20 @@ function getDifferenceLabel(currentSize, previousSize) {
6666
}
6767
};
6868

69+
function measureFileSizesBeforeBuild(appBuild, fileNames){
70+
return (fileNames || [])
71+
.filter(fileName => /\.(js|css)$/.test(fileName))
72+
.reduce((memo, fileName) => {
73+
var contents = fs.readFileSync(fileName);
74+
var key = removeFileNameHash(appBuild, fileName);
75+
memo[key] = gzipSize(contents);
76+
return memo;
77+
}, {});
78+
}
79+
80+
module.exports = {
81+
measureFileSizesBeforeBuild: measureFileSizesBeforeBuild,
82+
printFileSizesAfterBuild: printFileSizesAfterBuild
83+
}
84+
6985

packages/react-dev-utils/removeFileNameHash.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

packages/react-scripts/scripts/build.js

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ var webpack = require('webpack');
2828
var config = require('../config/webpack.config.prod');
2929
var paths = require('../config/paths');
3030
var checkRequiredFiles = require('react-dev-utils/checkRequiredFiles');
31-
var printFileSizes = require('react-dev-utils/printFileSizes');
32-
var removeFileNameHash = require('react-dev-utils/removeFileNameHash');
31+
var fileSizeReporter = require('react-dev-utils/fileSizeReporter');
3332
var recursive = require('recursive-readdir');
3433
var stripAnsi = require('strip-ansi');
3534

@@ -43,14 +42,7 @@ if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) {
4342
// First, read the current file sizes in build directory.
4443
// This lets us display how much they changed later.
4544
recursive(paths.appBuild, (err, fileNames) => {
46-
var previousSizeMap = (fileNames || [])
47-
.filter(fileName => /\.(js|css)$/.test(fileName))
48-
.reduce((memo, fileName) => {
49-
var contents = fs.readFileSync(fileName);
50-
var key = removeFileNameHash(paths.appBuild, fileName);
51-
memo[key] = gzipSize(contents);
52-
return memo;
53-
}, {});
45+
var previousSizeMap = fileSizeReporter.measureFileSizesBeforeBuild(paths, fileNames);
5446

5547
// Remove all content but keep the directory so that
5648
// if you're in it, you don't end up in Trash
@@ -110,7 +102,7 @@ function build(previousSizeMap) {
110102

111103
console.log('File sizes after gzip:');
112104
console.log();
113-
printFileSizes(paths.appBuild, stats, previousSizeMap);
105+
fileSizeReporter.printFileSizesAfterBuild(paths.appBuild, stats, previousSizeMap);
114106
console.log();
115107

116108
var openCommand = process.platform === 'win32' ? 'start' : 'open';

0 commit comments

Comments
 (0)