mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-18 21:16:47 +00:00
1ea435d730
shared's lint ran eslint --fix with prettier/prettier as an error, so in lint-prettier.yml the format:check after it only ever saw files it had just rewritten, and the server's format scripts pointed at a test/ directory that does not exist. Now lint is check-only in both (lint:fix applies fixes), the server scripts cover src/ and tests/, and a lint:format ratchet on the shared library holds every file outside scripts/format-baseline.json to Prettier in both workspaces: in the server job of test.yml and in lint-prettier.yml, which keeps providing the lint check. Formatting leaves ESLint in shared, and the unused eslint-plugin-prettier goes. Once the tree is reformatted in one commit, --update empties the baselines and the check is a full prettier --check.
39 lines
1.6 KiB
JavaScript
39 lines
1.6 KiB
JavaScript
#!/usr/bin/env node
|
|
/*
|
|
* lint:format: new server code is formatted with Prettier.
|
|
*
|
|
* `npm run format:check` was never part of CI, and most files differ from what
|
|
* .prettierrc asks for. Formatting all of them belongs in one mechanical
|
|
* commit of its own; until it lands, the files that were unformatted when
|
|
* this check came in are listed in scripts/format-baseline.json and the list
|
|
* only shrinks: every file outside it, a new one in particular, must be
|
|
* formatted, and a listed file leaves the list once it has been. After the
|
|
* mass reformat, --update empties the list and the check is a plain
|
|
* prettier --check over src/ and tests/.
|
|
*
|
|
* npm run lint:format check against the baseline (CI)
|
|
* npm run lint:format -- --list print every unformatted file
|
|
* npm run lint:format -- --update take formatted and deleted files off the list;
|
|
* it never adds one
|
|
*
|
|
* To format a file: npx prettier --write <file>. The comparison lives in
|
|
* scripts/lib/format.mjs at the repository root; Prettier and its config come
|
|
* from this workspace.
|
|
*/
|
|
import { fileURLToPath } from 'node:url';
|
|
import * as prettier from 'prettier';
|
|
import { check } from '../../scripts/lib/format.mjs';
|
|
import { runCli } from '../../scripts/lib/ratchet.mjs';
|
|
|
|
const root = fileURLToPath(new URL('..', import.meta.url));
|
|
await runCli('lint:format', (args) =>
|
|
check({
|
|
prettier,
|
|
root,
|
|
dirs: ['src', 'tests'],
|
|
accepts: (key) => key.endsWith('.ts'),
|
|
update: args.includes('--update'),
|
|
list: args.includes('--list'),
|
|
}),
|
|
);
|