#!/bin/sh # script/fmt-check: check formatting (read-only). set -eu ROOT="$(cd "$(dirname "$0")/.." && pwd -P)" # Must match the pin in script/bootstrap. NODE_VERSION="22.17.0" # When the installed node is not the pinned major version, # script/bootstrap installs the pinned node and yarn under nvm and # leaves neither on the PATH of the shell that called it. So yarn runs # under nvm's pinned node when nvm has it installed, and otherwise is # the yarn on PATH. nvm is a bash script, hence the subshell. run_yarn() { if [ -d "$HOME/.nvm/versions/node/v$NODE_VERSION" ]; then exec bash -c '. "$HOME/.nvm/nvm.sh" && nvm use "$1" >/dev/null && shift && exec yarn "$@"' bash "$NODE_VERSION" "$@" fi if ! command -v yarn >/dev/null 2>&1; then echo "fmt-check: no yarn; run script/bootstrap first" >&2 exit 1 fi exec yarn "$@" } main() { cd "$ROOT" run_yarn run prettier --check '**/*.md' --tab-width 4 --prose-wrap always } main "$@"