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
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
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.
Consider eslint-plugin-react — catches JSX issues like missing keys in lists. Less critical since TypeScript covers some of these, but commonly used.
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.
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/jsrecommended +typescript-eslintrecommendedeslint .which exits 0 on warnings, so warnings pile up (currently 2 pre-existing unused-var warnings ink8s-manifests.ts)Suggested improvements
Add
eslint-plugin-react-hooks— catches stale closures inuseEffectdependencies 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-existentreact-hooks/exhaustive-depsrule caused a CI failure.Consider
eslint-plugin-react— catches JSX issues like missing keys in lists. Less critical since TypeScript covers some of these, but commonly used.Consider
--max-warnings 0in 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.