feat(lint): Add --max-warnings -1 option to package lint
Signed-off-by: Tommi Pääkkö <tommi.paakko@op.fi>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/cli': patch
|
||||
---
|
||||
|
||||
Add `--max-warnings -1` support to `backstage-cli package lint`
|
||||
@@ -92,9 +92,11 @@ Usage: backstage-cli repo lint [options]
|
||||
Lint all packages in the project
|
||||
|
||||
Options:
|
||||
--format <format> Lint report output format (default: "eslint-formatter-friendly")
|
||||
--since <ref> Only lint packages that changed since the specified ref
|
||||
--fix Attempt to automatically fix violations
|
||||
--format <format> Lint report output format (default: "eslint-formatter-friendly")
|
||||
--since <ref> Only lint packages that changed since the specified ref
|
||||
--successCache Enable success caching, which skips running tests for unchanged packages that were successful in the previous run
|
||||
--successCacheDir <path> Set the success cache location, (default: node_modules/.cache/backstage-cli)
|
||||
--fix Attempt to automatically fix violations
|
||||
```
|
||||
|
||||
## repo test
|
||||
@@ -185,8 +187,9 @@ Usage: backstage-cli package lint [options]
|
||||
Lint a package
|
||||
|
||||
Options:
|
||||
--format <format> Lint report output format (default: "eslint-formatter-friendly")
|
||||
--fix Attempt to automatically fix violations
|
||||
--format <format> Lint report output format (default: "eslint-formatter-friendly")
|
||||
--fix Attempt to automatically fix violations
|
||||
--max-warnings <number> Fail if more than this number of warnings. -1 allows warnings. (default: 0)
|
||||
```
|
||||
|
||||
## package test
|
||||
|
||||
@@ -175,7 +175,7 @@ export function registerScriptCommand(program: Command) {
|
||||
.option('--fix', 'Attempt to automatically fix violations')
|
||||
.option(
|
||||
'--max-warnings <number>',
|
||||
'Fail if more than this number of warnings (default: 0)',
|
||||
'Fail if more than this number of warnings. -1 allows warnings. (default: 0)',
|
||||
)
|
||||
.description('Lint a package')
|
||||
.action(lazy(() => import('./lint').then(m => m.default)));
|
||||
|
||||
@@ -30,11 +30,13 @@ export default async (directories: string[], opts: OptionValues) => {
|
||||
);
|
||||
|
||||
const maxWarnings = opts.maxWarnings ?? 0;
|
||||
const ignoreWarnings = +maxWarnings === -1;
|
||||
|
||||
const failed =
|
||||
results.some(r => r.errorCount > 0) ||
|
||||
results.reduce((current, next) => current + next.warningCount, 0) >
|
||||
maxWarnings;
|
||||
(!ignoreWarnings &&
|
||||
results.reduce((current, next) => current + next.warningCount, 0) >
|
||||
maxWarnings);
|
||||
|
||||
if (opts.fix) {
|
||||
await ESLint.outputFixes(results);
|
||||
|
||||
@@ -199,11 +199,14 @@ export async function command(opts: OptionValues, cmd: Command): Promise<void> {
|
||||
}
|
||||
|
||||
const maxWarnings = lintOptions?.maxWarnings ?? 0;
|
||||
const ignoreWarnings = +maxWarnings === -1;
|
||||
|
||||
const resultText = formatter.format(results) as string;
|
||||
const failed =
|
||||
results.some(r => r.errorCount > 0) ||
|
||||
results.reduce((current, next) => current + next.warningCount, 0) >
|
||||
maxWarnings;
|
||||
(!ignoreWarnings &&
|
||||
results.reduce((current, next) => current + next.warningCount, 0) >
|
||||
maxWarnings);
|
||||
|
||||
return {
|
||||
relativeDir,
|
||||
|
||||
Reference in New Issue
Block a user