mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-18 21:16:47 +00:00
bd267c67f8
lint:size, lint:layers, lint:rtl (both baselines), lint:skips and lint:warnings only failed a count that passed its entry. A count that fell below its entry was logged and nothing more, so a file that shrank could grow back to its old entry unseen, and the entry of a deleted file stayed behind for the next file at that path. lint:format and lint:offline already fail on such a stale entry, and the docs said these counts may only shrink. Each of them now fails on an entry that lowerCounts would lower or drop, naming its count or saying the file is gone, and tells to run --update, which still only lowers. staleCounts and reportStale in lib/ratchet.mjs hold the shared part. Every baseline matches the tree today, so none needed lowering. The client CLAUDE.md says so, and that CI lints through lint:warnings rather than lint:check.
29 lines
1.4 KiB
JavaScript
29 lines
1.4 KiB
JavaScript
#!/usr/bin/env node
|
|
/*
|
|
* lint:skips: no test is focused, and skipped tests may only go away.
|
|
*
|
|
* A stray .only passes CI while the rest of its file never runs, so it fails
|
|
* this check wherever it appears. A skipped or todo test is coverage that was
|
|
* switched off and then forgotten (JourneyDetailPage.test.tsx has carried 35
|
|
* skipped blocks since April); the files that hold some are listed in
|
|
* scripts/skip-baseline.json with their count, and a file may hold no more.
|
|
* An entry above what its file holds now, or for a file that is gone, fails
|
|
* as well until --update lowers it.
|
|
* Playwright's test.fixme counts as a skip. Only a skip that decides at run
|
|
* time is left out: skipIf and runIf, and in a Playwright spec
|
|
* test.skip(condition, 'why'), unless the condition is a literal that always
|
|
* skips (skipIf(true), runIf(false), test.skip(true, 'why')).
|
|
* Covers the vitest tests under src/ and tests/ and the Playwright specs
|
|
* under e2e/.
|
|
*
|
|
* npm run lint:skips check against the baseline (CI)
|
|
* npm run lint:skips -- --update lower the baseline to what the files hold now;
|
|
* it never raises an entry
|
|
*/
|
|
import { fileURLToPath } from 'node:url';
|
|
import { runCli } from './lib/ratchet.mjs';
|
|
import { check } from './lib/skips.mjs';
|
|
|
|
const root = fileURLToPath(new URL('..', import.meta.url));
|
|
await runCli('lint:skips', (args) => check({ root, update: args.includes('--update') }));
|