Skip to content

Commit 2ed4b03

Browse files
committed
Add sorting by name
1 parent d0d4b95 commit 2ed4b03

File tree

1 file changed

+23
-20
lines changed

1 file changed

+23
-20
lines changed

scripts/flags/flags.js

+23-20
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,10 @@ const argv = yargs
4747
alias: 's',
4848
describe: 'sort diff by one or more flags.',
4949
requiresArg: false,
50-
type: 'array',
51-
default: 'next',
50+
type: 'string',
51+
default: 'flag',
5252
choices: [
53+
'flag',
5354
'www',
5455
'www-modern',
5556
'rn',
@@ -121,12 +122,14 @@ const ReactFeatureFlagsNativeFB = require('../../packages/shared/forks/ReactFeat
121122
const ReactFeatureFlagsNativeOSS = require('../../packages/shared/forks/ReactFeatureFlags.native-oss.js');
122123
const ReactFeatureFlagsMajor = getReactNativeFeatureFlagsMajor();
123124

124-
const allFlagsUniqueFlags = new Set([
125-
...Object.keys(ReactFeatureFlags),
126-
...Object.keys(ReactFeatureFlagsWWW),
127-
...Object.keys(ReactFeatureFlagsNativeFB),
128-
...Object.keys(ReactFeatureFlagsNativeOSS),
129-
]);
125+
const allFlagsUniqueFlags = Array.from(
126+
new Set([
127+
...Object.keys(ReactFeatureFlags),
128+
...Object.keys(ReactFeatureFlagsWWW),
129+
...Object.keys(ReactFeatureFlagsNativeFB),
130+
...Object.keys(ReactFeatureFlagsNativeOSS),
131+
])
132+
).sort();
130133

131134
// These functions are the rules for what each value means in each channel.
132135
function getNextMajorFlagValue(flag) {
@@ -136,7 +139,7 @@ function getNextMajorFlagValue(flag) {
136139
} else if (value === false || value === 'experimental') {
137140
return '❌';
138141
} else if (value === 'profile') {
139-
return '⏱️';
142+
return '📊';
140143
} else if (value === 'dev') {
141144
return '💻';
142145
} else if (typeof value === 'number') {
@@ -153,7 +156,7 @@ function getOSSCanaryFlagValue(flag) {
153156
} else if (value === false || value === 'experimental' || value === 'next') {
154157
return '❌';
155158
} else if (value === 'profile') {
156-
return '⏱️';
159+
return '📊';
157160
} else if (value === 'dev') {
158161
return '💻';
159162
} else if (typeof value === 'number') {
@@ -170,7 +173,7 @@ function getOSSExperimentalFlagValue(flag) {
170173
} else if (value === false || value === 'next') {
171174
return '❌';
172175
} else if (value === 'profile') {
173-
return '⏱️';
176+
return '📊';
174177
} else if (value === 'dev') {
175178
return '💻';
176179
} else if (typeof value === 'number') {
@@ -189,7 +192,7 @@ function getWWWModernFlagValue(flag) {
189192
} else if (value === false || value === 'next') {
190193
return '❌';
191194
} else if (value === 'profile') {
192-
return '⏱️';
195+
return '📊';
193196
} else if (value === 'dev') {
194197
return '💻';
195198
} else if (value === 'gk') {
@@ -208,7 +211,7 @@ function getWWWClassicFlagValue(flag) {
208211
} else if (value === false || value === 'experimental' || value === 'next') {
209212
return '❌';
210213
} else if (value === 'profile') {
211-
return '⏱️';
214+
return '📊';
212215
} else if (value === 'dev') {
213216
return '💻';
214217
} else if (value === 'gk') {
@@ -227,7 +230,7 @@ function getRNOSSFlagValue(flag) {
227230
} else if (value === false || value === 'experimental' || value === 'next') {
228231
return '❌';
229232
} else if (value === 'profile') {
230-
return '⏱️';
233+
return '📊';
231234
} else if (value === 'dev') {
232235
return '💻';
233236
} else if (value === 'gk') {
@@ -246,7 +249,7 @@ function getRNFBFlagValue(flag) {
246249
} else if (value === false || value === 'experimental' || value === 'next') {
247250
return '❌';
248251
} else if (value === 'profile') {
249-
return '⏱️';
252+
return '📊';
250253
} else if (value === 'dev') {
251254
return '💻';
252255
} else if (value === 'gk') {
@@ -312,15 +315,15 @@ for (const flag of allFlagsUniqueFlags) {
312315
}
313316

314317
// Sort the table
315-
const sortBy = isDiff ? argv.diff.map(argToHeader) : argv.sort.map(argToHeader);
316-
let sorted;
317-
sortBy.forEach(sort => {
318+
let sorted = table;
319+
if (isDiff || argv.sort) {
320+
const sortChannel = argToHeader(isDiff ? argv.diff[0] : argv.sort);
318321
sorted = Object.fromEntries(
319322
Object.entries(table).sort(([, rowA], [, rowB]) =>
320-
rowB[sort].toString().localeCompare(rowA[sort])
323+
rowB[sortChannel].toString().localeCompare(rowA[sortChannel])
321324
)
322325
);
323-
});
326+
}
324327

325328
if (argv.csv) {
326329
const csvHeader =

0 commit comments

Comments
 (0)