@samitouri / QOS-React / commits / 2bd1222a82

Format danger percents better (#12256)

Test Plan: yolo? yarn danger pr didn't give me any useful output. :\

Sophie Alpert committed Feb 21, 2018 at 15:48 UTC 2bd1222a8216f578332fcbbbe31a4ab313c204a3
2 files changed +25 -19
dangerfile.js
+12 -5
@@ -56,12 +56,19 @@ function generateMDTable(headers, body) {
56 * @param {string[]} headers
57 */
58 function addPercent(change, includeEmoji) {
59 - if (change > 0 && includeEmoji) {
60 - return `:small_red_triangle:+${change}%`;
61 - } else if (change > 0) {
62 - return `+${change}%`;
59 + if (!isFinite(change)) {
60 + // When a new package is created
61 + return 'n/a';
62 + }
63 + const formatted = (change * 100).toFixed(1);
64 + if (/^-|^0(?:\.0+)$/.test(formatted)) {
65 + return `${formatted}%`;
66 } else {
64 - return `${change}%`;
67 + if (includeEmoji) {
68 + return `:small_red_triangle:+${formatted}%`;
69 + } else {
70 + return `+${formatted}%`;
71 + }
72 }
73 }
74
scripts/rollup/stats.js
+13 -14
@@ -20,21 +20,20 @@ function saveResults() {
20 );
21 }
22
23 -function percentChange(prev, current) {
24 - const change = Math.floor((current - prev) / prev * 100);
25 - // When a new package is created
26 - if (isFinite(change)) {
27 - return change;
28 - } else {
29 - return 100;
30 - }
23 +function fractionalChange(prev, current) {
24 + return (current - prev) / prev;
25 }
26
27 function percentChangeString(change) {
34 - if (change > 0) {
35 - return chalk.red.bold(`+${change} %`);
36 - } else if (change <= 0) {
37 - return chalk.green.bold(change + ' %');
28 + if (!isFinite(change)) {
29 + // When a new package is created
30 + return 'n/a';
31 + }
32 + const formatted = (change * 100).toFixed(1);
33 + if (/^-|^0(?:\.0+)$/.test(formatted)) {
34 + return `${formatted}%`;
35 + } else {
36 + return `+${formatted}%`;
37 }
38 }
39
@@ -72,10 +71,10 @@ function generateResultsArray(current, prevResults) {
71 packageName: result.packageName,
72 prevSize: filesize(prevSize),
73 prevFileSize: filesize(size),
75 - prevFileSizeChange: percentChange(prevSize, size),
74 + prevFileSizeChange: fractionalChange(prevSize, size),
75 prevGzip: filesize(prevGzip),
76 prevGzipSize: filesize(gzip),
78 - prevGzipSizeChange: percentChange(prevGzip, gzip),
77 + prevGzipSizeChange: fractionalChange(prevGzip, gzip),
78 };
79 // Strip any nulls
80 })