Highlight production bundles in bold in the Danger integration comment (#12054)
* update Danger integration comments * update Danger integration comments * revised codes for unconditional call * update setBoldness parameter
Claire L committed
Jan 19, 2018 at 13:07 UTC
4ca7855ca062d5d7dfca83c86acf46731e1e57ef
1 file changed
+33
-17
dangerfile.js
+33
-17
@@ -36,14 +36,24 @@ function generateMDTable(headers, body) {
36
* Generates a user-readable string from a percentage change
37
* @param {string[]} headers
38
*/
39
-function emojiPercent(change) {
40
- if (change > 0) {
39
+function addPercent(change, includeEmoji) {
40
+ if (change > 0 && includeEmoji) {
41
return `:small_red_triangle:+${change}%`;
42
- } else if (change <= 0) {
42
+ } else if (change > 0) {
43
+ return `+${change}%`;
44
+ } else {
45
return `${change}%`;
46
}
47
}
48
49
+function setBoldness(row, isBold) {
50
+ if (isBold) {
51
+ return row.map(element => `**${element}**`);
52
+ } else {
53
+ return row;
54
+ }
55
+}
56
+
57
// Grab the results.json before we ran CI via the GH API
58
// const baseMerge = danger.github.pr.base.sha
59
const parentOfOldestCommit = danger.git.commits[0].parents[0];
@@ -80,8 +90,8 @@ fetch(commitURL(parentOfOldestCommit)).then(async response => {
90
reactProd.prevFileSizeChange !== 0 ||
91
reactProd.prevGzipSizeChange !== 0
92
) {
83
- const changeSize = emojiPercent(reactProd.prevFileSizeChange);
84
- const changeGzip = emojiPercent(reactProd.prevGzipSizeChange);
93
+ const changeSize = addPercent(reactProd.prevFileSizeChange, true);
94
+ const changeGzip = addPercent(reactProd.prevGzipSizeChange, true);
95
markdown(`React: size: ${changeSize}, gzip: ${changeGzip}`);
96
}
97
}
@@ -94,8 +104,8 @@ fetch(commitURL(parentOfOldestCommit)).then(async response => {
104
reactDOMProd.prevFileSizeChange !== 0 ||
105
reactDOMProd.prevGzipSizeChange !== 0
106
) {
97
- const changeSize = emojiPercent(reactDOMProd.prevFileSizeChange);
98
- const changeGzip = emojiPercent(reactDOMProd.prevGzipSizeChange);
107
+ const changeSize = addPercent(reactDOMProd.prevFileSizeChange, true);
108
+ const changeGzip = addPercent(reactDOMProd.prevGzipSizeChange, true);
109
markdown(`ReactDOM: size: ${changeSize}, gzip: ${changeGzip}`);
110
}
111
}
@@ -120,16 +130,22 @@ fetch(commitURL(parentOfOldestCommit)).then(async response => {
130
'ENV',
131
];
132
123
- const mdRows = changedFiles.map(r => [
124
- r.filename,
125
- emojiPercent(r.prevFileSizeChange),
126
- emojiPercent(r.prevGzipSizeChange),
127
- r.prevSize,
128
- r.prevFileSize,
129
- r.prevGzip,
130
- r.prevGzipSize,
131
- r.bundleType,
132
- ]);
133
+ const mdRows = changedFiles.map(r => {
134
+ const isProd = r.bundleType.includes('PROD');
135
+ return setBoldness(
136
+ [
137
+ r.filename,
138
+ addPercent(r.prevFileSizeChange, isProd),
139
+ addPercent(r.prevGzipSizeChange, isProd),
140
+ r.prevSize,
141
+ r.prevFileSize,
142
+ r.prevGzip,
143
+ r.prevGzipSize,
144
+ r.bundleType,
145
+ ],
146
+ isProd
147
+ );
148
+ });
149
150
allTables.push(`\n## ${name}`);
151
allTables.push(generateMDTable(mdHeaders, mdRows));