Format danger percents better (#12256)

Test Plan: yolo? yarn danger pr didn't give me any useful output. :\
This commit is contained in:
Sophie Alpert
2018-02-21 15:48:37 -08:00
committed by GitHub
parent 02f4e7a80b
commit 2bd1222a82
2 changed files with 25 additions and 19 deletions

View File

@@ -56,12 +56,19 @@ function generateMDTable(headers, body) {
* @param {string[]} headers
*/
function addPercent(change, includeEmoji) {
if (change > 0 && includeEmoji) {
return `:small_red_triangle:+${change}%`;
} else if (change > 0) {
return `+${change}%`;
if (!isFinite(change)) {
// When a new package is created
return 'n/a';
}
const formatted = (change * 100).toFixed(1);
if (/^-|^0(?:\.0+)$/.test(formatted)) {
return `${formatted}%`;
} else {
return `${change}%`;
if (includeEmoji) {
return `:small_red_triangle:+${formatted}%`;
} else {
return `+${formatted}%`;
}
}
}

View File

@@ -20,21 +20,20 @@ function saveResults() {
);
}
function percentChange(prev, current) {
const change = Math.floor((current - prev) / prev * 100);
// When a new package is created
if (isFinite(change)) {
return change;
} else {
return 100;
}
function fractionalChange(prev, current) {
return (current - prev) / prev;
}
function percentChangeString(change) {
if (change > 0) {
return chalk.red.bold(`+${change} %`);
} else if (change <= 0) {
return chalk.green.bold(change + ' %');
if (!isFinite(change)) {
// When a new package is created
return 'n/a';
}
const formatted = (change * 100).toFixed(1);
if (/^-|^0(?:\.0+)$/.test(formatted)) {
return `${formatted}%`;
} else {
return `+${formatted}%`;
}
}
@@ -72,10 +71,10 @@ function generateResultsArray(current, prevResults) {
packageName: result.packageName,
prevSize: filesize(prevSize),
prevFileSize: filesize(size),
prevFileSizeChange: percentChange(prevSize, size),
prevFileSizeChange: fractionalChange(prevSize, size),
prevGzip: filesize(prevGzip),
prevGzipSize: filesize(gzip),
prevGzipSizeChange: percentChange(prevGzip, gzip),
prevGzipSizeChange: fractionalChange(prevGzip, gzip),
};
// Strip any nulls
})