You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Extend scripts/lint-pkg.mjs (Gate 6) with a per-manifest engines.node
presence assertion across the workspace root + all 10 packages. Closes
enforcement queue #31 (drift-prevention half — declarations themselves
landed 2026-04-22 via commit 0605d99).
Option α (fold into existing wrapper). Same domain as the publint
suggestion-strictness — both are per-manifest publish-readiness
assertions — so the failure aggregation, message shape, and CI gate
count (8) stay unchanged. Presence-only check; value alignment
(currently uniform ">=24.0.0") is a separate doctrine question.
Smoke test: temporarily stripped engines from packages/storage/package.json,
ran lint:pkg, confirmed exit 1 with named failure
"@script-development/fs-storage: engines field missing (queue #31 —
engines.node presence required)" and aggregate footer
"lint:pkg gate FAILED (1):"; reverted, re-ran, confirmed exit 0 with
"lint:pkg gate PASS — 10 packages + root clean".
-**Lint:** oxlint (explicit config at `.oxlintrc.json`)
11
11
-**Format:** oxfmt
12
-
-**Package lint:** publint + attw (Are The Types Wrong) — `lint:pkg` enforces fail-on-any-advisory via `scripts/lint-pkg.mjs` (suggestions, warnings, and errors all treat as fatal — publint CLI default and `--strict` both exit 0 on suggestions). Motivated by enforcement queue #33 + the PR #35`git+` prefix regression that silently drifted across 10 packages because the unenforced gate only printed the suggestion.
12
+
-**Package lint:** publint + attw (Are The Types Wrong) — `lint:pkg` enforces fail-on-any-advisory via `scripts/lint-pkg.mjs` (suggestions, warnings, and errors all treat as fatal — publint CLI default and `--strict` both exit 0 on suggestions). Motivated by enforcement queue #33 + the PR #35`git+` prefix regression that silently drifted across 10 packages because the unenforced gate only printed the suggestion. The same wrapper also asserts `engines.node` presence across the root manifest + all workspace packages — closes enforcement queue #31 (drift-prevention gate, deployed 2026-05-12; declarations themselves landed 2026-04-22 via commit `0605d99`). Presence-only check; the value (`>=24.0.0` today) is not validated — value alignment is a separate doctrine question tracked alongside the CI `node-version`.
13
13
-**Publish:** OIDC Trusted Publishing to public npm registry (no stored tokens)
0 commit comments