Skip to content

Add React ESLint plugins and tighten CI lint checks #120

Description

@jwm4

Summary

The ESLint config covers TypeScript basics but is missing React-specific plugins that catch real bugs in hooks and JSX. The CI also allows lint warnings to accumulate without failing.

Current state

  • ESLint with @eslint/js recommended + typescript-eslint recommended
  • No React-specific lint rules
  • CI runs eslint . which exits 0 on warnings, so warnings pile up (currently 2 pre-existing unused-var warnings in k8s-manifests.ts)

Suggested improvements

  1. Add eslint-plugin-react-hooks — catches stale closures in useEffect dependencies and enforces Rules of Hooks. The React team considers this essential for any React project. We hit this gap in PR fix: filter unused provider keys from deploy configs #118 where a disable comment for the non-existent react-hooks/exhaustive-deps rule caused a CI failure.

  2. Consider eslint-plugin-react — catches JSX issues like missing keys in lists. Less critical since TypeScript covers some of these, but commonly used.

  3. Consider --max-warnings 0 in CI — fail CI on warnings so they get fixed promptly rather than accumulating. Warnings would still be non-blocking locally during development.

Context

The frontend is ~20 files (a deploy/management UI), so this is low-effort to adopt. It would have prevented the CI failure in PR #118.

This issue was filed by Claude Code under the supervision of Bill Murdock.

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