Skip to content

Commit 6b6d7ee

Browse files
committed
Adjust colors and account for unicode when padding
1 parent cfc4325 commit 6b6d7ee

File tree

2 files changed

+16
-9
lines changed

2 files changed

+16
-9
lines changed

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
"promise": "7.1.1",
6969
"recursive-readdir": "^2.0.0",
7070
"rimraf": "2.5.4",
71+
"strip-ansi": "^3.0.1",
7172
"style-loader": "0.13.1",
7273
"url-loader": "0.5.7",
7374
"webpack": "1.13.1",

scripts/build.js

+15-9
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ var webpack = require('webpack');
1919
var config = require('../config/webpack.config.prod');
2020
var paths = require('../config/paths');
2121
var recursive = require('recursive-readdir');
22+
var stripAnsi = require('strip-ansi');
2223

2324
function removeFileNameHash(fileName) {
2425
return fileName.replace(paths.appBuild, '')
@@ -28,13 +29,17 @@ function removeFileNameHash(fileName) {
2829
}
2930

3031
function sizeDifference(currentSize, previousSize) {
31-
if (previousSize === undefined) { return ''; }
32+
var FIFTY_KILOBYTES = 1024 * 50;
3233
var difference = currentSize - previousSize;
33-
var fileSize = filesize(difference);
34-
if (difference > 0) {
34+
var fileSize = !Number.isNaN(difference) ? filesize(difference) : 0;
35+
if (difference >= FIFTY_KILOBYTES) {
3536
return chalk.red('+' + fileSize);
36-
} else if (difference <= 0){
37-
return chalk.green((difference === 0 ? '+' : '') + fileSize);
37+
} else if (difference < FIFTY_KILOBYTES && difference > 0) {
38+
return chalk.yellow('+' + fileSize);
39+
} else if (difference < 0) {
40+
return chalk.green(fileSize);
41+
} else {
42+
return '';
3843
}
3944
}
4045

@@ -86,16 +91,17 @@ function build(previousSizeMap) {
8691
assets.sort((a, b) => b.size - a.size);
8792

8893
var longestSizeLabelLength = Math.max.apply(null,
89-
assets.map(a => a.sizeLabel.length)
94+
assets.map(a => stripAnsi(a.sizeLabel).length)
9095
);
9196
assets.forEach(asset => {
9297
var sizeLabel = asset.sizeLabel;
93-
if (sizeLabel.length < longestSizeLabelLength) {
94-
var rightPadding = ' '.repeat(longestSizeLabelLength - sizeLabel.length);
98+
var sizeLength = stripAnsi(sizeLabel).length;
99+
if (sizeLength < longestSizeLabelLength) {
100+
var rightPadding = ' '.repeat(longestSizeLabelLength - sizeLength);
95101
sizeLabel += rightPadding;
96102
}
97103
console.log(
98-
' ' + chalk.yellow(sizeLabel) +
104+
' ' + sizeLabel +
99105
' ' + chalk.dim(asset.folder + path.sep) + chalk.cyan(asset.name)
100106
);
101107
});

0 commit comments

Comments
 (0)