Skip to content

Migrate to TypeScript 7 (tsgo)#1049

Open
zi-gae wants to merge 1 commit into
ether:mainfrom
zi-gae:typescript-7
Open

Migrate to TypeScript 7 (tsgo)#1049
zi-gae wants to merge 1 commit into
ether:mainfrom
zi-gae:typescript-7

Conversation

@zi-gae

@zi-gae zi-gae commented Jul 9, 2026

Copy link
Copy Markdown

TypeScript 7 (the native Go compiler) went GA this week. This PR moves ueberDB to it.

What changed

  • typescript devDependency: ^6.0.3^7.0.0 (+ lockfile)
  • pnpm-workspace.yaml: minimum-release-age exclusions for the freshly released typescript@7.0.2 platform packages, so installs pass the supply-chain policy (same pattern as the existing testcontainers entry)

Verification

  • pnpm exec tsc --noEmit on TS 7.0.2: clean, zero errors — no source changes needed
  • Compared error output against TS 6.0.3 baseline: identical (no new diagnostics)

The config side was generated with ts6to7 (I'm its author) and verified manually. Happy to adjust if you'd rather wait out the release-age window instead of excluding it.

Bump the typescript devDependency to ^7.0.0. tsc --noEmit is clean on
TS 7.0.2 with no code changes needed. pnpm-workspace.yaml gains
minimum-release-age exclusions for the freshly released typescript 7
packages so CI can install them.
@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Migrate toolchain to TypeScript 7 (tsgo) and unblock pnpm policy

✨ Enhancement ⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

AI Description

• Bump TypeScript dev dependency to ^7.0.0 (tsgo GA release).
• Update pnpm lockfile to resolve TypeScript 7.0.2 and its platform binaries.
• Exclude new @typescript/* packages from minimum-release-age supply-chain policy.
Diagram

graph TD
  A["package.json"] --> B["pnpm-lock.yaml"] --> C["pnpm install"] --> D["pnpm-workspace.yaml"] --> E["TypeScript 7"] --> F["@typescript/* binaries"] --> G["tsc --noEmit"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Wait out the minimum-release-age window
  • ➕ Avoids adding permanent allowlist-style exclusions for new packages
  • ➕ Keeps supply-chain policy strict during the initial release period
  • ➖ Delays adoption of TS7/tsgo and any performance/tooling improvements
  • ➖ Blocks CI installs if the project needs TS7 immediately
2. Temporarily pin exact TypeScript 7.0.2 (no caret) until stable
  • ➕ Reduces variance from patch updates during early TS7 adoption
  • ➕ Easier rollback if issues appear
  • ➖ Still requires the same policy exclusions for platform packages
  • ➖ Requires manual bumps to pick up fixes
3. Policy exception via CI-only configuration (instead of workspace file)
  • ➕ Keeps repository-wide policy strict for developers by default
  • ➕ Limits the exception scope to CI environments
  • ➖ More moving parts and potential drift between local and CI installs
  • ➖ Harder to reason about reproducibility across environments

Recommendation: Proceed with the current approach: upgrading to TS7 while explicitly excluding the new @typescript/* platform packages keeps installs passing under the existing supply-chain policy, and the PR notes clean tsc --noEmit results with no source changes. Consider revisiting/removing the exclusions once the minimum-release-age window has elapsed.

Files changed (3) +271 / -13

Other (3) +271 / -13
package.jsonBump TypeScript devDependency to ^7.0.0 +1/-1

Bump TypeScript devDependency to ^7.0.0

• Updates the TypeScript dev dependency from ^6.0.3 to ^7.0.0 to move the project onto the TS7 (tsgo) toolchain.

package.json

pnpm-lock.yamlLockfile refresh for TypeScript 7.0.2 and platform packages +249/-12

Lockfile refresh for TypeScript 7.0.2 and platform packages

• Resolves TypeScript to 7.0.2 and records the new optional platform-specific @typescript/typescript-* packages. Also includes associated metadata churn (e.g., libc qualifiers) from re-resolution.

pnpm-lock.yaml

pnpm-workspace.yamlAllowlist TS7 platform packages for minimum-release-age policy +21/-0

Allowlist TS7 platform packages for minimum-release-age policy

• Adds minimumReleaseAgeExclude entries for TypeScript 7.0.2 and its platform package variants so pnpm installs succeed under the repository's supply-chain policy.

pnpm-workspace.yaml

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Qodo Logo

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant