Skip to content

Drive lint:eslint to green and enforce in CI (decision: keep ESLint) #552

Description

@mherod

Context

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 hookspnpm 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.
  • (b) Retire — formally remove lint:eslint / lint:all and keep Biome as the single source of truth. The node:fs ban 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.md so future sessions don't re-discover the gap.

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions