Skip to content

Commit 91ea926

Browse files
authored
Merge pull request #3316 from reduxjs/feature/attw-args
2 parents c111bba + a058d8d commit 91ea926

File tree

3 files changed

+143
-6
lines changed

3 files changed

+143
-6
lines changed

examples/publish-ci/are-the-types-wrong/main.tsx

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
} from '@arethetypeswrong/core'
1717
import React from 'react'
1818
import { render, Text, Box, Static } from 'ink'
19+
import yargs from 'yargs/yargs'
1920

2021
const allResolutionKinds: ResolutionKind[] = [
2122
'node10',
@@ -232,7 +233,18 @@ function ChecksTable(props: { checks?: Checks }) {
232233
)
233234
}
234235

235-
;(async function main() {
236+
const { argv } = yargs(process.argv).option('nonErrorProblems', {
237+
alias: 'n',
238+
type: 'array',
239+
description: 'Do not treat these problems as errors for CLI exit codes',
240+
choices: Object.keys(problemShortDescriptions) as ProblemKind[],
241+
})
242+
243+
interface CLIOptions {
244+
nonErrorProblems?: ProblemKind[]
245+
}
246+
247+
;(async function main({ nonErrorProblems = [] }: CLIOptions) {
236248
const analysis = await checkTgz(rtkPackageTgzBytes)
237249

238250
const checks: Checks = {
@@ -263,6 +275,32 @@ function ChecksTable(props: { checks?: Checks }) {
263275
</Static>
264276
)
265277

266-
const exitCode = checks.problems?.length ?? 0
278+
const { problems = [] } = checks
279+
280+
console.log('\n\nProblem results:')
281+
282+
if (nonErrorProblems.length) {
283+
console.log(
284+
'Treating these problem categories as non-errors: ',
285+
nonErrorProblems
286+
)
287+
}
288+
289+
const filteredProblems = problems.filter(
290+
(p) => !nonErrorProblems.includes(p.kind)
291+
)
292+
293+
if (filteredProblems.length) {
294+
console.error(
295+
'Remaining problems: ',
296+
filteredProblems.map((p) => p.kind)
297+
)
298+
} else {
299+
console.log('No errors found!')
300+
}
301+
302+
const exitCode = filteredProblems.length
267303
process.exit(exitCode)
268-
})()
304+
})({
305+
nonErrorProblems: argv.nonErrorProblems as ProblemKind[],
306+
})

examples/publish-ci/are-the-types-wrong/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
"@arethetypeswrong/core": "^0.0.4",
1818
"@types/react": "^18.0.28",
1919
"shelljs": "^0.8.5",
20-
"tsx": "^3.12.5"
20+
"tsx": "^3.12.5",
21+
"yargs": "^17.7.1"
2122
},
2223
"resolutions": {
2324
"@arethetypeswrong/core@^0.0.4": "patch:@arethetypeswrong/core@npm%3A0.0.4#./.yarn/patches/@arethetypeswrong-core-npm-0.0.4-edb717a66b.patch"

examples/publish-ci/are-the-types-wrong/yarn.lock

Lines changed: 100 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,15 @@ __metadata:
394394
languageName: node
395395
linkType: hard
396396

397+
"ansi-styles@npm:^4.0.0":
398+
version: 4.3.0
399+
resolution: "ansi-styles@npm:4.3.0"
400+
dependencies:
401+
color-convert: ^2.0.1
402+
checksum: 513b44c3b2105dd14cc42a19271e80f386466c4be574bccf60b627432f9198571ebf4ab1e4c3ba17347658f4ee1711c163d574248c0c1cdc2d5917a0ad582ec4
403+
languageName: node
404+
linkType: hard
405+
397406
"ansi-styles@npm:^6.0.0, ansi-styles@npm:^6.1.0":
398407
version: 6.2.1
399408
resolution: "ansi-styles@npm:6.2.1"
@@ -421,6 +430,7 @@ __metadata:
421430
react: ^18.2.0
422431
shelljs: ^0.8.5
423432
tsx: ^3.12.5
433+
yargs: ^17.7.1
424434
languageName: unknown
425435
linkType: soft
426436

@@ -554,6 +564,17 @@ __metadata:
554564
languageName: node
555565
linkType: hard
556566

567+
"cliui@npm:^8.0.1":
568+
version: 8.0.1
569+
resolution: "cliui@npm:8.0.1"
570+
dependencies:
571+
string-width: ^4.2.0
572+
strip-ansi: ^6.0.1
573+
wrap-ansi: ^7.0.0
574+
checksum: 79648b3b0045f2e285b76fb2e24e207c6db44323581e421c3acbd0e86454cba1b37aea976ab50195a49e7384b871e6dfb2247ad7dec53c02454ac6497394cb56
575+
languageName: node
576+
linkType: hard
577+
557578
"code-excerpt@npm:^4.0.0":
558579
version: 4.0.0
559580
resolution: "code-excerpt@npm:4.0.0"
@@ -563,6 +584,22 @@ __metadata:
563584
languageName: node
564585
linkType: hard
565586

587+
"color-convert@npm:^2.0.1":
588+
version: 2.0.1
589+
resolution: "color-convert@npm:2.0.1"
590+
dependencies:
591+
color-name: ~1.1.4
592+
checksum: 79e6bdb9fd479a205c71d89574fccfb22bd9053bd98c6c4d870d65c132e5e904e6034978e55b43d69fcaa7433af2016ee203ce76eeba9cfa554b373e7f7db336
593+
languageName: node
594+
linkType: hard
595+
596+
"color-name@npm:~1.1.4":
597+
version: 1.1.4
598+
resolution: "color-name@npm:1.1.4"
599+
checksum: b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610
600+
languageName: node
601+
linkType: hard
602+
566603
"color-support@npm:^1.1.3":
567604
version: 1.1.3
568605
resolution: "color-support@npm:1.1.3"
@@ -747,6 +784,13 @@ __metadata:
747784
languageName: node
748785
linkType: hard
749786

787+
"escalade@npm:^3.1.1":
788+
version: 3.1.1
789+
resolution: "escalade@npm:3.1.1"
790+
checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133
791+
languageName: node
792+
linkType: hard
793+
750794
"escape-string-regexp@npm:^2.0.0":
751795
version: 2.0.0
752796
resolution: "escape-string-regexp@npm:2.0.0"
@@ -828,6 +872,13 @@ __metadata:
828872
languageName: node
829873
linkType: hard
830874

875+
"get-caller-file@npm:^2.0.5":
876+
version: 2.0.5
877+
resolution: "get-caller-file@npm:2.0.5"
878+
checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9
879+
languageName: node
880+
linkType: hard
881+
831882
"get-tsconfig@npm:^4.4.0":
832883
version: 4.4.0
833884
resolution: "get-tsconfig@npm:4.4.0"
@@ -1476,6 +1527,13 @@ __metadata:
14761527
languageName: node
14771528
linkType: hard
14781529

1530+
"require-directory@npm:^2.1.1":
1531+
version: 2.1.1
1532+
resolution: "require-directory@npm:2.1.1"
1533+
checksum: fb47e70bf0001fdeabdc0429d431863e9475e7e43ea5f94ad86503d918423c1543361cc5166d713eaa7029dd7a3d34775af04764bebff99ef413111a5af18c80
1534+
languageName: node
1535+
linkType: hard
1536+
14791537
"reselect@npm:^4.1.7":
14801538
version: 4.1.7
14811539
resolution: "reselect@npm:4.1.7"
@@ -1671,7 +1729,7 @@ __metadata:
16711729
languageName: node
16721730
linkType: hard
16731731

1674-
"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.2.3":
1732+
"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3":
16751733
version: 4.2.3
16761734
resolution: "string-width@npm:4.2.3"
16771735
dependencies:
@@ -1702,7 +1760,7 @@ __metadata:
17021760
languageName: node
17031761
linkType: hard
17041762

1705-
"strip-ansi@npm:^6.0.1":
1763+
"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1":
17061764
version: 6.0.1
17071765
resolution: "strip-ansi@npm:6.0.1"
17081766
dependencies:
@@ -1870,6 +1928,17 @@ __metadata:
18701928
languageName: node
18711929
linkType: hard
18721930

1931+
"wrap-ansi@npm:^7.0.0":
1932+
version: 7.0.0
1933+
resolution: "wrap-ansi@npm:7.0.0"
1934+
dependencies:
1935+
ansi-styles: ^4.0.0
1936+
string-width: ^4.1.0
1937+
strip-ansi: ^6.0.0
1938+
checksum: a790b846fd4505de962ba728a21aaeda189b8ee1c7568ca5e817d85930e06ef8d1689d49dbf0e881e8ef84436af3a88bc49115c2e2788d841ff1b8b5b51a608b
1939+
languageName: node
1940+
linkType: hard
1941+
18731942
"wrap-ansi@npm:^8.1.0":
18741943
version: 8.1.0
18751944
resolution: "wrap-ansi@npm:8.1.0"
@@ -1903,13 +1972,42 @@ __metadata:
19031972
languageName: node
19041973
linkType: hard
19051974

1975+
"y18n@npm:^5.0.5":
1976+
version: 5.0.8
1977+
resolution: "y18n@npm:5.0.8"
1978+
checksum: 54f0fb95621ee60898a38c572c515659e51cc9d9f787fb109cef6fde4befbe1c4602dc999d30110feee37456ad0f1660fa2edcfde6a9a740f86a290999550d30
1979+
languageName: node
1980+
linkType: hard
1981+
19061982
"yallist@npm:^4.0.0":
19071983
version: 4.0.0
19081984
resolution: "yallist@npm:4.0.0"
19091985
checksum: 343617202af32df2a15a3be36a5a8c0c8545208f3d3dfbc6bb7c3e3b7e8c6f8e7485432e4f3b88da3031a6e20afa7c711eded32ddfb122896ac5d914e75848d5
19101986
languageName: node
19111987
linkType: hard
19121988

1989+
"yargs-parser@npm:^21.1.1":
1990+
version: 21.1.1
1991+
resolution: "yargs-parser@npm:21.1.1"
1992+
checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c
1993+
languageName: node
1994+
linkType: hard
1995+
1996+
"yargs@npm:^17.7.1":
1997+
version: 17.7.1
1998+
resolution: "yargs@npm:17.7.1"
1999+
dependencies:
2000+
cliui: ^8.0.1
2001+
escalade: ^3.1.1
2002+
get-caller-file: ^2.0.5
2003+
require-directory: ^2.1.1
2004+
string-width: ^4.2.3
2005+
y18n: ^5.0.5
2006+
yargs-parser: ^21.1.1
2007+
checksum: 3d8a43c336a4942bc68080768664aca85c7bd406f018bad362fd255c41c8f4e650277f42fd65d543fce99e084124ddafee7bbfc1a5c6a8fda4cec78609dcf8d4
2008+
languageName: node
2009+
linkType: hard
2010+
19132011
"yoga-layout-prebuilt@npm:^1.9.6":
19142012
version: 1.10.0
19152013
resolution: "yoga-layout-prebuilt@npm:1.10.0"

0 commit comments

Comments
 (0)