docs: document the lint command and the CI quality baseline stages (E00-S05-T01)
CI / Stage 1 — Frozen lockfile install (E00-S05-T01) (pull_request) Successful in 46s
CI / Stage 2 — Typecheck (E00-S05-T01) (pull_request) Successful in 1m15s
CI / Stage 3 — Formatting/lint policy (E00-S05-T01) (pull_request) Successful in 44s
CI / Stage 4 — Unit tests (E00-S05-T01) (pull_request) Successful in 1m44s
CI / Stage 5 — Architecture tests (E00-S05-T01) (pull_request) Failing after 56s
CI / Stage 6 — PostgreSQL integration tests (E00-S05-T01) (pull_request) Skipped
CI / Stage 7 — Build the admin and server applications (E00-S05-T01) (pull_request) Skipped
CI / Stage 1 — Frozen lockfile install (E00-S05-T01) (pull_request) Successful in 46s
CI / Stage 2 — Typecheck (E00-S05-T01) (pull_request) Successful in 1m15s
CI / Stage 3 — Formatting/lint policy (E00-S05-T01) (pull_request) Successful in 44s
CI / Stage 4 — Unit tests (E00-S05-T01) (pull_request) Successful in 1m44s
CI / Stage 5 — Architecture tests (E00-S05-T01) (pull_request) Failing after 56s
CI / Stage 6 — PostgreSQL integration tests (E00-S05-T01) (pull_request) Skipped
CI / Stage 7 — Build the admin and server applications (E00-S05-T01) (pull_request) Skipped
The non-container guide now covers pnpm lint (the formatting/lint policy) in the Test and clean-clone smoke sections and describes the ordered PR CI stages locked in by tests/ci-stages.test.mjs.
This commit is contained in:
@@ -143,11 +143,22 @@ node <package-dir>/dist/index.js # e.g. node packages/core/dist/index.js
|
||||
|
||||
```sh
|
||||
pnpm test
|
||||
pnpm lint
|
||||
```
|
||||
|
||||
`pnpm test` runs the `node:test` suites under `tests/` (currently
|
||||
`tests/architecture-import.test.mjs`, 10 tests) with zero extra dependencies.
|
||||
This is also the suite that enforces the dependency-boundary rule.
|
||||
`pnpm test` runs the `node:test` suites under `tests/` with zero extra
|
||||
dependencies (this is also the suite that enforces the dependency-boundary
|
||||
rule). `pnpm lint` runs the formatting/lint policy suite
|
||||
(`tests/formatting-policy.test.mjs`): every tracked text file must use LF
|
||||
line endings, no BOM, no trailing whitespace, no tab indentation and exactly
|
||||
one final newline; JSON files must additionally parse, carry no duplicate
|
||||
keys and use 2-space indentation.
|
||||
|
||||
Pull requests run these checks as CI stages, in order — frozen lockfile
|
||||
install → typecheck → formatting/lint → unit → architecture → PostgreSQL
|
||||
integration → build of the applications (E00-S05-T01); the stage order,
|
||||
the `needs` chain and the `tests/` coverage are locked in by
|
||||
`tests/ci-stages.test.mjs`.
|
||||
|
||||
## Smoke check from a clean clone
|
||||
|
||||
@@ -157,7 +168,8 @@ corepack enable
|
||||
pnpm install --frozen-lockfile # exit 0, lockfile untouched
|
||||
pnpm build # 5/5 packages emit dist/, exit 0
|
||||
pnpm typecheck # 5/5 packages pass --noEmit, exit 0
|
||||
pnpm test # 10/10 pass, exit 0
|
||||
pnpm lint # formatting/lint policy passes, exit 0
|
||||
pnpm test # all node:test suites pass, exit 0
|
||||
pnpm --filter @personal-blog/server start # requires EPPP_SESSION_SECRET (see [Run](#run)); serves GET /health on port 3000, stays up
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user