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
While adding the node:fs import ban to ESLint (PR #551, mirroring the Biome rule from #550), it surfaced that pnpm lint:eslint is not an enforced gate:
pnpm lint:eslint currently reports 543 errors / 54 warnings across the codebase (complexity, max-depth, jsdoc/*, @typescript-eslint/no-unnecessary-condition, etc.).
It is not wired into CI or the husky pre-commit/pre-push hooks — pnpm lint (Biome) is the sole enforced linter, used in validate and the git hooks.
As a result, the ESLint copy of the node:fs ban (and every other ESLint rule) is currently defense-in-depth only — it never actually blocks a commit, push, or merge.
Decision needed
(a) Fix & enforce — progressively drive lint:eslint to green and add it as a required CI gate, so the stricter TS-aware rules (complexity caps, jsdoc completeness, type-only import bans) are actually enforced.
Context
While adding the
node:fsimport ban to ESLint (PR #551, mirroring the Biome rule from #550), it surfaced thatpnpm lint:eslintis not an enforced gate:pnpm lint:eslintcurrently reports 543 errors / 54 warnings across the codebase (complexity,max-depth,jsdoc/*,@typescript-eslint/no-unnecessary-condition, etc.).pnpm lint(Biome) is the sole enforced linter, used invalidateand the git hooks.As a result, the ESLint copy of the
node:fsban (and every other ESLint rule) is currently defense-in-depth only — it never actually blocks a commit, push, or merge.Decision needed
lint:eslintto green and add it as a required CI gate, so the stricter TS-aware rules (complexity caps, jsdoc completeness, type-only import bans) are actually enforced.lint:eslint/lint:alland keep Biome as the single source of truth. Thenode:fsban already exists in Biome (chore(lint): ban direct node:fs imports in browser/cli modules #550), so no coverage is lost on that specific rule.Whichever direction is chosen should be documented in
CLAUDE.mdso future sessions don't re-discover the gap.References