Upgrade all dependencies: Python 3.14, Node 24.14.1, ESLint 10, pytest 9#408
Merged
Conversation
…t 9, ruff 0.15.8 Python: - Python 3.13 -> 3.14 (.python-version, pyproject.toml, CI, ruff/mypy target) - pytest 8.4.2 -> 9.0.2, pytest-cov 7.0.0 -> 7.1.0 - ruff 0.14.4 -> 0.15.8, mypy 1.18.2 -> 1.19.1 - pydantic 2.12.4 -> 2.12.5, anyio/certifi/coverage/jiter/packaging/pathspec updated - uv in CI: 0.9.8 -> 0.11.2 - Fix 18 type annotation modernizations (UP037/UP045) for Python 3.14 - Uncomment ruff/mypy in requirements-dev.txt (no longer "coming later") Node.js: - Node.js 24.11.0 -> 24.14.1 (.nvmrc) - ESLint 9.39.1 -> 10.1.0; add @eslint/js@10.0.1 (now explicit dep) - Replace eslint-plugin-import with eslint-plugin-import-x@4.16.2 (only actively maintained fork with ESLint 10 support) - Add eslint-import-resolver-typescript@4.4.4 (required by import-x) - Update import rule namespace: import/* -> import-x/* in eslint.config.mjs - @typescript-eslint/* 8.46.3 -> 8.57.2 (supports ESLint 10) - eslint-plugin-unicorn 62 -> 64, eslint-plugin-jsdoc 61 -> 62 - Fix 11 preserve-caught-error violations (unicorn 64 new rule) - Fix 1 no-useless-assignment (ESLint 10 core rule) - prettier 3.6.2 -> 3.8.1, jest 30.2.0 -> 30.3.0, ts-jest 29.4.5 -> 29.4.6 - zod 4.1.12 -> 4.3.6, ora/commander/lint-staged also updated Note: TypeScript stays at 5.x (@typescript-eslint 8.x peer dep caps at <6.0.0) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…compat eslint-plugin-promise@7.2.1 declares peer dep eslint: "^7||^8||^9" but works fine with ESLint 10. npm ci in CI strict mode rejects this without the flag. Remove once eslint-plugin-promise releases ESLint 10 support. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
eslint-plugin-import-x(only ESLint-10-compatible fork)Details
Python
Node.js
Notable migrations
eslint-plugin-import->eslint-plugin-import-x@4.16.2: the original package does not support ESLint 10; this is the actively maintained fork. Rule namespace updated:import/*->import-x/*ineslint.config.mjs.@eslint/js@10.0.1added as explicit dependency (was bundled in ESLint 9, now separate).eslint-import-resolver-typescript@4.4.4added (required byeslint-plugin-import-x).cli/.npmrcadded withlegacy-peer-deps=true:eslint-plugin-promise@7.2.1hasn't formally declared ESLint 10 support yet but works fine with it. Remove once it does.unicorn/preserve-caught-errorviolations fixed (new rule in unicorn 64): added{ cause: error }to re-thrown errors.no-useless-assignmentfixed (new ESLint 10 core rule).UP037forward reference quotes removed,UP045Optional[X]->X | None).requirements-dev.txt: uncommented ruff/mypy entries (was marked "coming later").Not upgraded
@typescript-eslint8.x declarestypescript: ">=4.8.4 <6.0.0"as peer dep; upgrade to TS 6 blocked until@typescript-eslint9.x releases.Test plan
uv run pytest analyzer/tests/-- 668/668 passeduv run mypy analyzer/src-- no issuesuv run ruff check analyzer/-- cleannpm run build-- clean TypeScript compilenpm test-- 1024/1024 passednpm run lint-- 0 errors (14 pre-existing warnings)npm run format:check-- cleannode dist/index.js analyze ../examples-- OKGenerated with Claude Code