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,9 +1,10 @@
|
||||
#!/bin/sh
|
||||
# script/frontend-check: run the frontend half of the checks only (test,
|
||||
# lint, fmt-check). This exists for the frontend stage of Dockerfile, a
|
||||
# node image with neither Go nor Docker; the Dockerfile's lint and
|
||||
# backend build stages gate the backend half. Everywhere else, use
|
||||
# script/check, which covers the whole repo. Must not modify any files.
|
||||
# script/frontend-check: run the frontend tests and format check only.
|
||||
# This exists for the frontend stage of Dockerfile, a node image with
|
||||
# neither Go nor Docker; the Dockerfile's frontend-lint stage runs the
|
||||
# frontend linter, and its lint and builder stages gate the backend.
|
||||
# Everywhere else, use script/check, which covers the whole repo. Must
|
||||
# not modify any files.
|
||||
set -eu
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
||||
@@ -11,7 +12,6 @@ ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
||||
main() {
|
||||
cd "$ROOT"
|
||||
"$ROOT/script/frontend-test"
|
||||
"$ROOT/script/frontend-lint"
|
||||
"$ROOT/script/frontend-fmt-check"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user