Update dev dependencies: jest 30, ts-jest, @typescript-eslint 8 - #569
Merged
Merged
Conversation
Consolidates four open Dependabot PRs into one update: - jest 29.7.0 -> 30.5.1 (#545) - @types/jest 29.5.12 -> 30.0.0 (#545) - ts-jest 29.1.2 -> 29.4.12 (#567) - @typescript-eslint/eslint-plugin 7.6.0 -> 8.69.0 (#568) - @typescript-eslint/parser 7.6.0 -> 8.69.0 (#544) typescript itself is intentionally left at ^5.4.5. Dependabot PR #548 (bump to 7.0.2) is NOT included: @typescript-eslint 8.68/8.69's peer dependency caps TypeScript at "<6.1.0", so it flatly does not support TypeScript 7 yet. Bumping both together fails npm's peer resolution, and forcing it past that would run the type-aware ESLint rules against a TypeScript version they aren't tested against. #548 should stay open until @typescript-eslint adds TS7 support upstream. Verified with the new toolchain: tsc --noEmit clean, full build (esbuild + declaration emit) succeeds, eslint clean, and the full test suite passes (64 suites / 168 tests). npm audit vulnerability count actually drops (8 -> 4) since jest 30 pulls in fixed transitive deps; the remaining 4 are pre-existing and unrelated to these packages. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0153qaKFDsDvQsovMzpEvRbi
Jest 30 (added in the previous commit) calls os.availableParallelism() unconditionally in jest-config, which does not exist on Node 16 (the API was added in Node 18.14.0/19.4.0) and crashed CI with: TypeError: (0, _nodeOs(...).availableParallelism) is not a function Node 16 has also been EOL for years at this point. Bumped both ci.yml and release.yml (which runs the same npm test/npm run build steps) to 20.x, matching the Node version this change was verified against locally (tsc, build, eslint, full test suite all passing). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0153qaKFDsDvQsovMzpEvRbi
This was referenced Sep 3, 2026
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
Consolidates four of the five currently-open Dependabot PRs into a single update:
jest@types/jestts-jest@typescript-eslint/eslint-plugin@typescript-eslint/parsertypescriptis intentionally NOT bumped (stays^5.4.5). Dependabot PR #548 (typescript → 7.0.2) is left out and should stay open:@typescript-eslint8.68/8.69'speerDependenciescaps TypeScript support at>=4.8.4 <6.1.0— it does not support TypeScript 7 at all yet, even at its latest release. Installing both together fails npm's peer resolution outright, and forcing past that (--legacy-peer-deps) would run type-aware ESLint rules against a TypeScript version they were never tested against. This should wait for@typescript-eslintto add TS7 support upstream.Verification
npx tsc --noEmit— cleannpm run build(esbuild ESM+CJS bundles,tsc --emitDeclarationOnly) — succeedsnpx eslint --resolve-plugins-relative-to .— clean (--resolve-plugins-relative-toneeded only because of a nested-worktree plugin-path ambiguity in my local dev setup, not a real project issue)npx jest(full suite) — 64 suites / 168 tests passnpm audit— vulnerability count actually drops (8 → 4) since jest 30 pulls in fixed transitive deps; the remaining 4 are pre-existing (ajv/esbuild/js-yaml/picomatch) and unrelated to the packages bumped hereNext steps
Once merged, Dependabot PRs #544, #545, #567, #568 can be closed (superseded by this PR). #548 should stay open until typescript-eslint supports TS7.
🤖 Generated with Claude Code
https://claude.ai/code/session_0153qaKFDsDvQsovMzpEvRbi