Format the Markdown with prettier in make fmt and make fmt-check (closes #215)
make fmt and make fmt-check covered only Go, so Markdown formatting was checked by eye. prettier, pinned in package.json and yarn.lock beside ESLint and installed by the same js-deps stage, now formats every Markdown file with the settings in .prettierrc (4-space tabs, prose wrapped). It runs only in Docker: make fmt writes the formatted files back from the markdown-output stage, and make fmt-check and the image build run the markdown-check stage. The Dockerfile's lint stage now runs the gofmt check itself, since make fmt-check needs a docker daemon. Model: opus-5-5
This commit is contained in:
+5
-4
@@ -3,8 +3,8 @@
|
||||
# this repo. Idempotent: every install is guarded by a check so already
|
||||
# installed tools are skipped. Base tooling comes from nix, apt, brew,
|
||||
# or apk (detected in that order); assumes NOTHING is present (not git,
|
||||
# make, or go). golangci-lint, node and ESLint are deliberately not
|
||||
# installed: linting runs only in docker, via script/lint.
|
||||
# make, or go). golangci-lint, node, ESLint and prettier are deliberately
|
||||
# not installed: they run only in docker, via script/lint and script/fmt.
|
||||
set -eu
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
||||
@@ -60,9 +60,10 @@ main() {
|
||||
if missing go; then pkg_install go golang go go; fi
|
||||
|
||||
# Not installed here: docker is platform-specific and out of scope for a
|
||||
# package-manager bootstrap, but script/lint and script/css need it.
|
||||
# package-manager bootstrap, but script/lint, script/fmt and script/css
|
||||
# need it.
|
||||
if missing docker; then
|
||||
echo "bootstrap: docker not found; script/lint and script/css require it" >&2
|
||||
echo "bootstrap: docker not found; script/lint, script/fmt and script/css require it" >&2
|
||||
fi
|
||||
|
||||
go mod download
|
||||
|
||||
+4
-4
@@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
# script/cibuild: run the CI build. The Dockerfile runs the checks
|
||||
# (make fmt-check, lint, test), so a successful build implies a green
|
||||
# repo. Generic: needs no adaptation. The Gitea workflow runs this on
|
||||
# push.
|
||||
# script/cibuild: run the CI build. The Dockerfile runs the checks (the
|
||||
# gofmt check, golangci-lint, the stylesheet check, ESLint, the Markdown
|
||||
# check, make test), so a successful build implies a green repo. Generic:
|
||||
# needs no adaptation. The Gitea workflow runs this on push.
|
||||
set -eu
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
||||
|
||||
+4
-1
@@ -1,5 +1,7 @@
|
||||
#!/bin/sh
|
||||
# script/fmt: format all files (writes).
|
||||
# script/fmt: format all files (writes): the Go code with gofmt and
|
||||
# goimports, the Markdown with prettier. prettier is never installed
|
||||
# locally: it runs in docker, in the Dockerfile's Markdown stages.
|
||||
set -eu
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
||||
@@ -10,6 +12,7 @@ main() {
|
||||
if command -v goimports >/dev/null 2>&1; then
|
||||
goimports -w .
|
||||
fi
|
||||
docker build --target markdown-output --output type=local,dest=. .
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
@@ -12,6 +12,7 @@ main() {
|
||||
gofmt -s -l .
|
||||
exit 1
|
||||
fi
|
||||
docker build --target markdown-check --output type=cacheonly .
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
Reference in New Issue
Block a user