Skip to content

chore(deps): bump typescript from 6.0.3 to 7.0.2#276

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/typescript-7.0.2
Open

chore(deps): bump typescript from 6.0.3 to 7.0.2#276
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/typescript-7.0.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 11, 2026

Copy link
Copy Markdown
Contributor

Bumps typescript from 6.0.3 to 7.0.2.

Commits
Maintainer changes

This version was pushed to npm by microsoft1es, a new releaser for typescript since your current version.


@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jul 11, 2026
@zjshen14

Copy link
Copy Markdown
Owner

CI is failing on Typecheck, Lint, Test. TypeScript 6 → 7 is a major version bump that may introduce breaking changes to type checking, strict-mode behavior, or ES target defaults. Please check the TypeScript 7 release notes and changelog, resolve any new type errors surfaced in the project, and get CI green before merging.


Generated by Claude Code

@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/typescript-7.0.2 branch from 3be9693 to 7638b7f Compare July 13, 2026 16:16
@zjshen14

Copy link
Copy Markdown
Owner

Re-reviewing at new HEAD 7638b7f17abb4920f2b541def1a5bf0c07fb9929. CI is still failing on Typecheck, Lint, Test; CodeQL and Analyze are green. The lockfile in this commit reveals why the CI failure persists even after the rebase — and why fixing it requires more than just the TypeScript bump itself.


Root cause: typescript-eslint peer dependency ceiling

typescript-eslint@8.63.0 declares:

peerDependencies: { typescript: ">=4.8.4 <6.1.0" }

TypeScript 7.0.2 falls outside that ceiling. npm's resolution in the new lockfile works around this by nesting a second copy of the entire @typescript-eslint/* subtree under node_modules/typescript-eslint/node_modules/ (the eslint-plugin, parser, typescript-estree, type-utils, utils, project-service, tsconfig-utils packages all appear there). This satisfies the install but it means:

  • @typescript-eslint/eslint-plugin and @typescript-eslint/parser now internally use TypeScript 6 (their nested copy resolves the peer dep) while the project's tsc is TypeScript 7. Type information visible to eslint rules may diverge from what tsc sees.
  • The typecheck step (tsc --noEmit) runs under TypeScript 7, which has its own breaking changes (see below).
  • The net effect is two separate TypeScript versions active at once, which is why Typecheck, Lint, Test continues to fail even though the package installs cleanly.

To properly land TypeScript 7, typescript-eslint itself needs to be updated to a version that declares support for TypeScript 7 — most likely typescript-eslint@9+ or whichever version extends the upper bound past <6.1.0. That bump should accompany this PR or replace it with a combined upgrade.


Other TypeScript 7 changes visible in the diff

tsserver removed from bin: TypeScript 7's bin field only declares tsctsserver is gone. If any local tooling, scripts, or npm lifecycle hooks invoke tsserver by path via node_modules/.bin/tsserver, they will silently break. Worth a quick grep before landing.

Native binary distribution: TypeScript 7 ships platform-specific native binaries (@typescript/typescript-linux-x64, @typescript/typescript-darwin-arm64, etc.) via optional dependencies — the same pattern as esbuild or rollup. The CI environment's architecture will auto-select the right one. No action needed here, but it's a structural change worth being aware of for contributors on unusual platforms.


Recommendation: Blocked until typescript-eslint is updated to a version that supports TypeScript 7. Consider opening a combined dependabot-style PR that bumps typescript to 7 and typescript-eslint to a compatible version in the same commit, so the peer dep tree resolves correctly and CI can go green in one pass.


Generated by Claude Code

Bumps [typescript](https://github.com/microsoft/TypeScript) from 6.0.3 to 7.0.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](https://github.com/microsoft/TypeScript/commits)

---
updated-dependencies:
- dependency-name: typescript
  dependency-version: 7.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/typescript-7.0.2 branch from 7638b7f to 71f48f3 Compare July 20, 2026 16:17
@zjshen14

Copy link
Copy Markdown
Owner

Re-reviewing at new HEAD 71f48f36c5fd7b1d76f106db64d6a256493522c5. CI is still failing on Typecheck, Lint, Test (completed 2026-07-20T16:17:35Z); CodeQL and Analyze are green.

What changed vs the prior HEAD (7638b7f)

The lockfile was reorganised. The previous snapshot had a messy dual presence: top-level @typescript-eslint/* packages and a second copy nested under node_modules/typescript-eslint/node_modules/. This commit removes the top-level copies of the heavy packages (eslint-plugin, parser, typescript-estree, project-service, tsconfig-utils, type-utils, utils) and keeps only the three packages that have no TypeScript peer dep ceiling at the top level (scope-manager, types, visitor-keys). The full TypeScript-version-aware subtree now lives exclusively under node_modules/typescript-eslint/node_modules/.

That's a cleaner lockfile, but it doesn't change the runtime situation.

Why CI is still failing

The nested subtree under node_modules/typescript-eslint/node_modules/ still carries peerDependencies: { typescript: ">=4.8.4 <6.1.0" }. Those packages resolve against a TypeScript copy that satisfies that ceiling, which is an older copy, not TypeScript 7. So when tsc --noEmit runs it uses TypeScript 7 and may surface new type errors, while the ESLint pass sees a different effective TypeScript version. The two tools are not in sync.

What the fix still requires

Upgrading typescript-eslint itself to a release that extends the peer dep upper bound past TypeScript 7 (expected in typescript-eslint@9+). Until that's available and bumped in this project, TypeScript 7 and typescript-eslint@8.x cannot coexist on the same tsc path without CI failures.

Recommendation: Blocked on typescript-eslint compatibility. Consider opening a combined PR that bumps both typescript to 7 and typescript-eslint to a version that explicitly supports it, so CI can go green in one shot.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant