#!/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. * A skip that decides at run time (skipIf, runIf, Playwright's * test.skip(condition, 'why')) is not counted. 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') }))