Skip to content

chore(deps): update typescript-eslint to v8 (8.59.3)#62

Merged
dtoxvanilla1991 merged 1 commit into
mainfrom
chore/upgrade-typescript-eslint-v8
May 13, 2026
Merged

chore(deps): update typescript-eslint to v8 (8.59.3)#62
dtoxvanilla1991 merged 1 commit into
mainfrom
chore/upgrade-typescript-eslint-v8

Conversation

@dtoxvanilla1991
Copy link
Copy Markdown
Contributor

Summary

Major version upgrade: typescript-eslint ^7.12.0^8.0.0 (resolves to 8.59.3).

Package Change
typescript-eslint 7.18.08.59.3

Migration Analysis (v7 → v8)

This is a major version upgrade and migration was carefully reviewed.

Breaking changes relevant to this codebase

ESLint v9 support — typescript-eslint v8 ships full ESLint v9 support. This codebase already uses eslint: 9.x, which caused peer dependency warnings with v7. Those warnings are now gone.

Updated recommended config rule set:

  • @typescript-eslint/ban-types removed → replaced by no-empty-object-type, no-unsafe-function-type, no-wrapper-object-types
  • @typescript-eslint/no-var-requires deprecated → replaced by no-require-imports
  • @typescript-eslint/no-loss-of-precision deprecated (base no-loss-of-precision is used instead)
  • New rules added: no-array-delete, no-require-imports, no-unsafe-unary-minus, no-unused-expressions, only-throw-error, etc.

Why no config changes are needed

The eslint.config.js uses ...tseslint.configs.recommended directly — it does not manually reference any of the removed or renamed rules. The spread syntax is identical in v7 and v8.

// eslint.config.js — unchanged
...tseslint.configs.recommended,

Verification

✓ pnpm lint — ESLint + Prettier: clean (no errors)
✓ pnpm test — 5/5 tests pass

Other packages updated within their existing semver ranges

Since pnpm install was run to update the lock file, other packages resolved to their latest compatible versions within their existing ^ ranges:

Package Before After
eslint 9.4.0 9.39.4
@eslint/js 9.4.0 9.39.4
vitest 4.1.5 4.1.6
@vitest/coverage-v8 4.1.5 4.1.6
typescript 5.9.2 5.9.3
vite 8.0.9 8.0.12
prettier 3.6.2 3.8.3
globals 15.12.0 15.15.0

These are all non-breaking patch/minor bumps within already-declared ranges.


Context

This PR supersedes the stale Renovate PR #23, which targeted the same upgrade (^7.12.0^8.0.0) but was created when the codebase was in an older state.

Closes/supersedes: #23

Major version upgrade: typescript-eslint ^7.12.0 → ^8.0.0 (resolves to 8.59.3).

Migration analysis for v7 → v8:
- Full ESLint v9 support (fixes existing peer dependency warnings)
- Updated recommended rule set: ban-types replaced by no-empty-object-type,
  no-unsafe-function-type, no-wrapper-object-types; no-var-requires replaced
  by no-require-imports
- The eslint.config.js uses tseslint.configs.recommended spread syntax which
  works identically in v8 — no config changes required
- No rule references to removed/renamed rules in eslint.config.js

All lint checks and 5 tests pass cleanly with v8.

Also updated other packages within their existing semver ranges:
  @eslint/js 9.4.0 → 9.39.4, eslint 9.4.0 → 9.39.4,
  @vitest/coverage-v8 4.1.5 → 4.1.6, vitest 4.1.5 → 4.1.6,
  prettier 3.6.2 → 3.8.3, typescript 5.9.2 → 5.9.3,
  vite 8.0.9 → 8.0.12, globals 15.12.0 → 15.15.0

Replaces the stale Renovate PR #23 which targeted ^8.0.0 from the same source.
@dtoxvanilla1991 dtoxvanilla1991 requested a review from a team as a code owner May 11, 2026 22:16
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 11, 2026

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (2)
  • package.json is excluded by !**/*.json
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml, !**/*.yaml

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c16d2c7b-9c9c-4b44-8fa2-a4390ae8ac16

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/upgrade-typescript-eslint-v8

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 11, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@dtoxvanilla1991 dtoxvanilla1991 self-assigned this May 11, 2026
@dtoxvanilla1991 dtoxvanilla1991 merged commit b484b37 into main May 13, 2026
5 checks passed
@dtoxvanilla1991 dtoxvanilla1991 deleted the chore/upgrade-typescript-eslint-v8 branch May 13, 2026 14:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants