Enable TypeScript 7 RC side-by-side with TypeScript 6#3151
Conversation
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
🏷️ Automatic Labeling SummaryThis PR has been automatically labeled based on the files changed and PR metadata. Applied Labels: dependencies,size-l Label Categories
For more information, see |
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
There was a problem hiding this comment.
Pull request overview
This PR attempts to let the repo evaluate the TypeScript 7 RC alongside the existing TypeScript 6 toolchain by adding an RC dependency alias and adjusting TypeScript project configs (notably removing baseUrl and making paths entries explicitly relative).
Changes:
- Updated
devDependenciesto keep TS6 as the primarytypescriptdependency while adding atypescript-7alias for the RC compiler. - Removed
baseUrlfrom TypeScript configs and adjustedpathsmappings to use explicit./-prefixed targets. - Updated
package-lock.jsonto include the new alias dependency graph (including TS7 RC optional platform packages).
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.typedoc.json | Removes baseUrl from the typedoc TypeScript config. |
| tsconfig.scripts.json | Removes baseUrl and updates paths entries for script/test compilation. |
| tsconfig.npm-scripts.json | Removes baseUrl and updates paths entries for npm-published scripts compilation. |
| package.json | Adds alias-based TS6 + TS7 RC devDependencies. |
| package-lock.json | Locks the new dependency set, including TS7 RC platform optional dependencies. |
| "ignoreDeprecations": "6.0", | ||
| "baseUrl": ".", | ||
| "paths": { | ||
| "@scripts/*": ["scripts/*"], | ||
| "@types/*": ["scripts/types/*"] | ||
| "@scripts/*": ["./scripts/*"], | ||
| "@types/*": ["./scripts/types/*"] | ||
| }, |
| "ignoreDeprecations": "6.0", | ||
| "baseUrl": ".", | ||
| "paths": { | ||
| "@scripts/*": ["scripts/*"], | ||
| "@types/*": ["scripts/types/*"] | ||
| "@scripts/*": ["./scripts/*"], | ||
| "@types/*": ["./scripts/types/*"] | ||
| }, |
| "typescript": "npm:@typescript/typescript6@^6.0.0", | ||
| "typescript-7": "npm:typescript@rc", |
| "typedoc": "0.28.20", | ||
| "typedoc-plugin-mdn-links": "5.1.1", | ||
| "typescript": "6.0.3", | ||
| "typescript": "npm:@typescript/typescript6@^6.0.0", |
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
|
@copilot analyse and fix all issues in Knip Dead Code Check / Run Knip (pull_request) |
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Implemented the CI-side fix in commit dea53ea by switching the remaining workflow type-check steps to the explicit TS6 compiler path, matching the earlier package.json/tsconfig changes. I also validated the browser/scripts typechecks and build:lib locally with the same compiler path. |
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
|
@copilot also investigate and fix |
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Fixed in commit 89262ba by adding the intentionally installed |
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
TypeScript 7.0 RC ships a new
tscbinary, but the stable programmatic API is not yet available. To keep the project on the current toolchain while evaluating the RC, the repository now runs TypeScript 7 RC side-by-side with TypeScript 6 without conflicting binary resolution.Summary
tsc-based build flow or forcing a hard switch away from TypeScript 6 compatibility.What changed
typescriptentry remains compatible with TypeScript 6 while a separatetypescript-7alias exposes the RC compiler.tscworkflow for the current toolchain.baseUrlusage and use explicit relative path aliases, which are required for the new compiler to parse the config cleanly.{ "devDependencies": { "typescript": "npm:@typescript/typescript6@^6.0.0", "typescript-7": "npm:typescript@rc" } }