Lint the frontend with eslint in its own Docker stage (closes #47)
check / check (push) Successful in 3m54s
check / check (push) Successful in 3m54s
script/lint ran prettier --check, the same check script/fmt-check runs, so the JavaScript had no linter. eslint now runs with its recommended rules, set in eslint.config.js, in a new frontend-lint stage of Dockerfile built from the pinned node image and the lockfile. The frontend stage copies a file from it, as the builder stage does from the Go lint stage, so the image cannot build unless eslint passed. script/lint builds both lint stages with --no-cache and runs no linter on the host; script/fmt-check keeps prettier on the host, and script/frontend-check drops its lint step. The viewport harness fixes the two kinds of finding eslint made. bootstrap wants node 22.13.0, as eslint 10 does. Also covers item 2 of #28. Model: opus-5-5
This commit is contained in:
@@ -1,12 +1,15 @@
|
||||
#!/bin/sh
|
||||
# script/frontend-lint: run the frontend linter (prettier in check mode).
|
||||
# script/frontend-lint: run eslint over the frontend. This runs inside
|
||||
# the frontend-lint stage of Dockerfile, the digest-pinned node image
|
||||
# with the packages from yarn.lock. From a checkout, run `make lint`,
|
||||
# which builds that stage.
|
||||
set -eu
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
||||
|
||||
main() {
|
||||
cd "$ROOT"
|
||||
yarn prettier --check .
|
||||
yarn eslint .
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
Reference in New Issue
Block a user