eslint

  • TypeScript on a JavaScript codebase, one file at a time

    3.7 shipped optional chaining in November and the objection got smaller. allowJs, checkJs and a per-file opt-in — and strictNullChecks, which is the flag that pays.

  • ESLint on staged files only, or the hook gets skipped

    Lint failures arriving from CI ten minutes after a push are a context switch for something a machine could have fixed before the commit existed — and a…

  • The rules of hooks are enforceable, so enforce them

    Hooks are matched to their state by call order, so calling one conditionally shifts every subsequent hook onto the wrong slot — and the failure is data appearing…

  • The react-hooks ESLint plugin is not optional

    Hooks are matched to their state by call order and closures capture by value, and both failure modes are silent — which is exactly the shape of problem…

  • ESLint as a pre-commit hook, not a CI surprise

    Lint failures arriving from CI ten minutes after a push are a context switch for something a machine could have fixed automatically before the commit existed. Running only…