Skip to content

Bump eslint 8.57 → 9/10.x and @typescript-eslint 5.62 → 8.x (eslint 8 is EOL, 2-3 majors behind) #28

Description

@pinecone-groundskeeper

Problem

The lint toolchain in package.json devDependencies is far behind and partially end-of-life:

  • eslint is pinned ^8.33.0, resolving to 8.57.1 in package-lock.json. Latest is 10.8.0 (2 majors behind). Running npm ci in this repo prints: npm warn deprecated eslint@8.57.1: This version is no longer supported. Please see (eslint.org/redacted) for other options.
  • @typescript-eslint/eslint-plugin and @typescript-eslint/parser are both pinned ^5.51.0, resolving to 5.62.0. Latest for both is 8.66.0 (3 majors behind).

These two are coupled: @typescript-eslint v6+ requires ESLint ^7.0.0 || ^8.0.0 as a peer at minimum, and current @typescript-eslint majors track current ESLint majors, so they need to move together rather than independently.

Note: ESLint 9 removed support for the legacy .eslintrc.* format (this repo currently uses .eslintrc.cjs) in favor of flat config (eslint.config.js) — landing this bump requires migrating the config file, and checking whether eslint-config-airbnb-base (used here) needs a compatibility shim (e.g. @eslint/eslintrc's FlatCompat) under flat config.

Acceptance criteria

  • eslint is bumped off the unsupported 8.x line (9.x or 10.x).
  • @typescript-eslint/eslint-plugin and @typescript-eslint/parser are bumped to a major compatible with the new ESLint version (8.x).
  • The existing lint rule set (airbnb-base + prettier integration) is preserved under whatever config format the new majors require; npm run lint runs clean (or with the same pre-existing findings, not new ones) against src/.
  • package-lock.json is regenerated to match.

Scope

Bump only eslint, @typescript-eslint/eslint-plugin, and @typescript-eslint/parser (and the config migration strictly required to keep them working, e.g. converting .eslintrc.cjs to flat config). Do not touch prettier (separate, independent devDependency) or change lint rules/behavior beyond what the major bumps require.

Generated by GitHub Maintenance Audit · sonnet50 · 56.4 AIC · ⌖ 5.29 AIC · ⊞ 7.3K ·

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

    agent:maintenance-auditFiled by the maintenance audit agent; it recognizes its own backlog by this labelmaintenanceIn scope for the maintenance agent

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions