check / check (push) Failing after 4m19s
script/fmt now also runs prettier over every Markdown file, and script/fmt-check checks them without writing. prettier is pinned in package.json and yarn.lock. script/bootstrap keeps its Go and apt handling and gains the canonical pinned node (nvm from a hash-checked archive) and yarn (corepack) install, then installs the locked packages. Both fmt scripts find yarn the canonical way, sourcing nvm when yarn is not on PATH. The new files and the yarn lookup come from sneak/prompts at cc440118c876. The vendored REPO_POLICIES.md already passes prettier, so it is not ignored. The Markdown is reformatted in the next commit. Deviation: package.json drops the canonical "license": "MIT" line; this repo is WTFPL. Model: opus-5-5
35 lines
1015 B
Bash
Executable File
35 lines
1015 B
Bash
Executable File
#!/bin/sh
|
|
# script/fmt: format all files (writes): the Go code with go fmt and
|
|
# every Markdown file with prettier.
|
|
set -eu
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
|
|
|
# Must match the pin in script/bootstrap.
|
|
NODE_VERSION="22.17.0"
|
|
|
|
# script/bootstrap installs node and yarn under nvm and leaves neither
|
|
# on the PATH of the shell that called it, so resolve the pinned
|
|
# toolchain here the way bootstrap's own install step does. nvm is a
|
|
# bash script, hence the subshell.
|
|
run_yarn() {
|
|
if command -v yarn >/dev/null 2>&1; then
|
|
exec yarn "$@"
|
|
fi
|
|
if [ ! -s "$HOME/.nvm/nvm.sh" ]; then
|
|
echo "fmt: no yarn; run script/bootstrap first" >&2
|
|
exit 1
|
|
fi
|
|
exec bash -c '. "$HOME/.nvm/nvm.sh" && nvm use "$1" >/dev/null &&
|
|
shift && exec yarn "$@"' bash "$NODE_VERSION" "$@"
|
|
}
|
|
|
|
main() {
|
|
cd "$ROOT"
|
|
go fmt ./...
|
|
# run_yarn replaces this shell, so it stays the last step.
|
|
run_yarn run prettier --write '**/*.md' --tab-width 4 --prose-wrap always
|
|
}
|
|
|
|
main "$@"
|