Found while onboarding the v4 CI/release flow (#2) — out of scope for that change, filing separately.
lint: .configs/eslint.config.mjs exists (imports @eslint/js, globals, @eslint/json, @eslint/markdown, @eslint/css, @html-eslint/eslint-plugin, @html-eslint/parser) but eslint itself was never added as a devDependency — there's no node_modules/.bin/eslint and no lint/lint:fix npm script. The config is currently dead weight.
format/format:check: .configs/.prettierrc exists and prettier is installed, but running prettier --config .configs/.prettierrc --check . repo-wide hits two problems:
Couldn't resolve parser "jsonv" — the *.jsonv override in .prettierrc sets "parser": "jsonv" but there's no "plugins" entry registering this package's own plugin for the CLI (the test suite only works because it imports the plugin programmatically and passes it to prettier.format() directly).
tests/fixtures/unformatted.jsonv is deliberately unformatted (used by format.test.vitest.mjs to assert the plugin actually changes it) — a blanket prettier --write . would corrupt that fixture and silently break the test's premise.
To wire these up: install eslint + the plugins the config already imports (or trim the config to only the plugins actually needed), add "plugins": ["./dist/index.mjs"] (or equivalent) to .prettierrc so the CLI can format .jsonv files, and scope any format/format:check script to exclude tests/fixtures/.
Found while onboarding the v4 CI/release flow (#2) — out of scope for that change, filing separately.
lint:.configs/eslint.config.mjsexists (imports@eslint/js,globals,@eslint/json,@eslint/markdown,@eslint/css,@html-eslint/eslint-plugin,@html-eslint/parser) buteslintitself was never added as a devDependency — there's nonode_modules/.bin/eslintand nolint/lint:fixnpm script. The config is currently dead weight.format/format:check:.configs/.prettierrcexists andprettieris installed, but runningprettier --config .configs/.prettierrc --check .repo-wide hits two problems:Couldn't resolve parser "jsonv"— the*.jsonvoverride in.prettierrcsets"parser": "jsonv"but there's no"plugins"entry registering this package's own plugin for the CLI (the test suite only works because it imports the plugin programmatically and passes it toprettier.format()directly).tests/fixtures/unformatted.jsonvis deliberately unformatted (used byformat.test.vitest.mjsto assert the plugin actually changes it) — a blanketprettier --write .would corrupt that fixture and silently break the test's premise.To wire these up: install
eslint+ the plugins the config already imports (or trim the config to only the plugins actually needed), add"plugins": ["./dist/index.mjs"](or equivalent) to.prettierrcso the CLI can format.jsonvfiles, and scope anyformat/format:checkscript to excludetests/fixtures/.