Skip to content

Migrate to TypeScript 7.0.2#3565

Draft
tom2drum wants to merge 1 commit into
mainfrom
chore/typescript-7
Draft

Migrate to TypeScript 7.0.2#3565
tom2drum wants to merge 1 commit into
mainfrom
chore/typescript-7

Conversation

@tom2drum

Copy link
Copy Markdown
Collaborator

Description and Related Issue(s)

Upgrade the project to TypeScript 7.0.2 (native Go compiler) for faster type-checking in CI and local development.

Proposed Changes

  • Add @typescript/native (typescript@7.0.2) as the compiler used by tsc / pnpm lint:tsc.
  • Alias typescript to @typescript/typescript6@6.0.2 so typescript-eslint and other tools that rely on the TS 6 programmatic API keep working until TypeScript 7.1 ships a new API.
  • Bump workspace sub-packages (deploy/tools/*, @blockscout/ui-toolkit) from TypeScript 6.0.3 to 7.0.2.
  • Exclude node_modules_linux from the ui-toolkit tsconfig (local Docker artifact that TS 7 was type-checking due to the broad rootDir).

Breaking or Incompatible Changes

None for application code. Type-checking behavior should match TypeScript 6.0 with stableTypeOrdering enabled (TS 7 default).

Additional Information

Side-by-side setup: node_modules/.bin/tsc → TypeScript 7.0.2; node_modules/.bin/tsc6 → TypeScript 6.0.2 (ESLint).

Release-age policy: TypeScript 7.0.2 packages were published on Jul 8, 2026 and clear the 1-week minimumReleaseAge on ~Jul 15, 2026. This PR intentionally does not add minimumReleaseAgeExclude entries — CI pnpm install may fail until then. Plan: mark ready for review on Wednesday when packages are mature enough.

Editor: For the faster language server, enable the TypeScript 7 extension in VS Code/Cursor ("Enable TypeScript 7 Language Server").

Checklist for PR author

  • I have tested these changes locally.
  • I added tests to cover any new functionality, following this guide
  • Whenever I fix a bug, I include a regression test to ensure that the bug does not reappear silently.
  • If I have added a feature or functionality that is not privacy-compliant (e.g., tracking, analytics, third-party services), I have disabled it for private mode.
  • If I have added, changed, renamed, or removed an environment variable
    • I updated the list of environment variables in the documentation
    • I made the necessary changes to the validator script according to the guide
    • I added "ENVs" label to this pull request

Made with Cursor

TypeScript 7 ships no programmatic API yet, so typescript-eslint keeps using @typescript/typescript6 while tsc runs the native 7.0.2 compiler.

Co-authored-by: Cursor <cursoragent@cursor.com>
@tom2drum tom2drum added the dependencies Pull requests that update a dependency file label Jul 13, 2026
@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on this repository. To trigger a review, include @coderabbitai review in the PR description. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: c4b11f4a-8664-4fe0-82a9-aca155afe587

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

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.

@tom2drum tom2drum added the tech Issues related to building, testing, and other project tooling label Jul 13, 2026
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 tech Issues related to building, testing, and other project tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant