fix: make fmt refuses to run without the repo's own prettier (closes #509) #538

Merged
clawbot merged 1 commits from issue-509-fmt-require-bootstrap into next 2026-10-14 09:31:48 +02:00
3 changed files with 20 additions and 2 deletions
+6 -2
View File
@@ -239,8 +239,12 @@ provide:
`make check` stays non-mutating. Linting runs only in the container, because `make check` stays non-mutating. Linting runs only in the container, because
an ESLint result that depends on whichever ESLint the host happens to have is an ESLint result that depends on whichever ESLint the host happens to have is
not a result, so docker is required to lint. not a result, so docker is required to lint.
- `script/fmt` — format all files (writes), on the host - `script/fmt` — format all files (writes), on the host, with the `prettier`
- `script/fmt-check` — check formatting (read-only), on the host that `script/bootstrap` installs in `node_modules/`; when that one is missing
it fails and says to run `script/bootstrap`, instead of using a `prettier`
from the `PATH`
- `script/fmt-check` — check formatting (read-only), on the host, with the same
`prettier` and the same refusal
- `script/check` — run `script/test`, `script/lint` and `script/fmt-check` - `script/check` — run `script/test`, `script/lint` and `script/fmt-check`
- `script/check-censored` — assert the competitor name RULES.md bars appears - `script/check-censored` — assert the competitor name RULES.md bars appears
nowhere in the working tree or under `dist/` outside its documented nowhere in the working tree or under `dist/` outside its documented
+7
View File
@@ -25,6 +25,13 @@ run_yarn() {
main() { main() {
cd "$ROOT" cd "$ROOT"
# Without the repo's own prettier, yarn runs whatever prettier is on
# the PATH, which may be a version that formats files differently.
if [ ! -x node_modules/.bin/prettier ]; then
echo "fmt: this repo's prettier is not installed in node_modules/," \
"so run script/bootstrap first." >&2
exit 1
fi
echo "Formatting..." echo "Formatting..."
run_yarn run fmt run_yarn run fmt
} }
+7
View File
@@ -26,6 +26,13 @@ run_yarn() {
main() { main() {
cd "$ROOT" cd "$ROOT"
# Without the repo's own prettier, yarn runs whatever prettier is on
# the PATH, which may be a version that formats files differently.
if [ ! -x node_modules/.bin/prettier ]; then
echo "fmt-check: this repo's prettier is not installed in" \
"node_modules/, so run script/bootstrap first." >&2
exit 1
fi
echo "Checking formatting..." echo "Checking formatting..."
run_yarn run fmt-check run_yarn run fmt-check
} }