chore(deps): update typescript-eslint to v8 (8.59.3)#62
Conversation
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.
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (2)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Summary
Major version upgrade:
typescript-eslint^7.12.0→^8.0.0(resolves to8.59.3).typescript-eslint7.18.0→8.59.3Migration 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
recommendedconfig rule set:@typescript-eslint/ban-typesremoved → replaced byno-empty-object-type,no-unsafe-function-type,no-wrapper-object-types@typescript-eslint/no-var-requiresdeprecated → replaced byno-require-imports@typescript-eslint/no-loss-of-precisiondeprecated (baseno-loss-of-precisionis used instead)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.jsuses...tseslint.configs.recommendeddirectly — it does not manually reference any of the removed or renamed rules. The spread syntax is identical in v7 and v8.Verification
Other packages updated within their existing semver ranges
Since
pnpm installwas run to update the lock file, other packages resolved to their latest compatible versions within their existing^ranges:eslint9.4.09.39.4@eslint/js9.4.09.39.4vitest4.1.54.1.6@vitest/coverage-v84.1.54.1.6typescript5.9.25.9.3vite8.0.98.0.12prettier3.6.23.8.3globals15.12.015.15.0These 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