Skip to content

chore: Upgrade to TypeScript 7.0#19435

Draft
logaretm wants to merge 1 commit into
awad/js-1293-drop-typescript-38-supportfrom
awad/upgrade-to-TS-6
Draft

chore: Upgrade to TypeScript 7.0#19435
logaretm wants to merge 1 commit into
awad/js-1293-drop-typescript-38-supportfrom
awad/upgrade-to-TS-6

Conversation

@logaretm

@logaretm logaretm commented Feb 19, 2026

Copy link
Copy Markdown
Member

Bumps TypeScript from ~5.8.0 to ~7.0.2, the native (Go) compiler.

The changes here are what TS 7 itself forces:

  • explicit rootDir on every emitting tsconfig (now required)
  • drop the removed downlevelIteration and baseUrl options
  • add DOM to the shared lib and node to types, since globals are no longer auto-included
  • pin cloudflare's lib back to es2020 so DOM's fetch types don't clash with @cloudflare/workers-types
  • small source fixes: as BodyInit casts on the transports, readonly on the web-vitals global augmentations, an elysia trace-handler generic, and a couple of @ts-expect-error adjustments

ember and the bundler-plugin vite-type-compat test pin a JS-based TypeScript locally (nested devDep), because glint and that test consume the classic compiler API that the native compiler dropped. imo that's fine as a stop-gap until those tools support TS 7.

closes #19226

@github-actions

github-actions Bot commented Feb 19, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size % Change Change
@sentry/browser 27.6 kB added added
@sentry/browser - with treeshaking flags 26.04 kB added added
@sentry/browser (incl. Tracing) 46.35 kB added added
@sentry/browser (incl. Tracing + Span Streaming) 48.14 kB added added
@sentry/browser (incl. Tracing, Profiling) 51.13 kB added added
@sentry/browser (incl. Tracing, Replay) 85.62 kB added added
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 75.26 kB added added
@sentry/browser (incl. Tracing, Replay with Canvas) 90.33 kB added added
@sentry/browser (incl. Tracing, Replay, Feedback) 102.99 kB added added
@sentry/browser (incl. Feedback) 44.78 kB added added
@sentry/browser (incl. sendFeedback) 32.4 kB added added
@sentry/browser (incl. FeedbackAsync) 37.53 kB added added
@sentry/browser (incl. Metrics) 28.68 kB added added
@sentry/browser (incl. Logs) 28.93 kB added added
@sentry/browser (incl. Metrics & Logs) 29.61 kB added added
@sentry/react 29.39 kB added added
@sentry/react (incl. Tracing) 48.62 kB added added
@sentry/vue 33.03 kB added added
@sentry/vue (incl. Tracing) 48.33 kB added added
@sentry/svelte 27.63 kB added added
CDN Bundle 30 kB added added
CDN Bundle (incl. Tracing) 48.33 kB added added
CDN Bundle (incl. Logs, Metrics) 31.58 kB added added
CDN Bundle (incl. Tracing, Logs, Metrics) 49.65 kB added added
CDN Bundle (incl. Replay, Logs, Metrics) 70.82 kB added added
CDN Bundle (incl. Tracing, Replay) 85.84 kB added added
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) 87.16 kB added added
CDN Bundle (incl. Tracing, Replay, Feedback) 91.64 kB added added
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) 92.92 kB added added
CDN Bundle - uncompressed 89.33 kB added added
CDN Bundle (incl. Tracing) - uncompressed 146.07 kB added added
CDN Bundle (incl. Logs, Metrics) - uncompressed 94.03 kB added added
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed 150.05 kB added added
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed 218.76 kB added added
CDN Bundle (incl. Tracing, Replay) - uncompressed 265.28 kB added added
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed 269.24 kB added added
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 278.98 kB added added
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed 282.93 kB added added
@sentry/nextjs (client) 51.17 kB added added
@sentry/sveltekit (client) 46.8 kB added added
@sentry/core/server 78.42 kB added added
@sentry/core/browser 64.77 kB added added
@sentry/node-core 62.73 kB added added
@sentry/node 125.35 kB added added
@sentry/node (incl. diagnostics channel injection) 139.63 kB added added
@sentry/node/import (ESM hook with diagnostics-channel injection) 69.96 kB added added
@sentry/node/light 50.73 kB added added
@sentry/node - without tracing 74.04 kB added added
@sentry/aws-serverless 83.26 kB added added
@sentry/cloudflare (withSentry) - minified 181.47 kB added added
@sentry/cloudflare (withSentry) 448.98 kB added added

@github-actions

github-actions Bot commented Feb 19, 2026

Copy link
Copy Markdown
Contributor

node-overhead report 🧳

Note: This is a synthetic benchmark with a minimal express app and does not necessarily reflect the real-world performance impact in an application.

Scenario Requests/s % of Baseline Prev. Requests/s Change %
GET Baseline 8,964 - 9,351 -4%
GET With Sentry 1,637 18% 1,663 -2%
GET With Sentry (error only) 6,060 68% 5,962 +2%
POST Baseline 1,184 - 1,196 -1%
POST With Sentry 560 47% 576 -3%
POST With Sentry (error only) 1,052 89% 1,044 +1%
MYSQL Baseline 3,196 - 3,299 -3%
MYSQL With Sentry 417 13% 481 -13%
MYSQL With Sentry (error only) 2,626 82% 2,685 -2%

View base workflow run

@logaretm logaretm force-pushed the awad/upgrade-to-TS-6 branch 2 times, most recently from 84d7268 to 199fbef Compare February 26, 2026 17:03
@logaretm logaretm added this to the v11 milestone Feb 26, 2026
@logaretm logaretm modified the milestones: v11, 11.0.0 Apr 27, 2026
@logaretm logaretm force-pushed the awad/upgrade-to-TS-6 branch from 199fbef to 71f88cc Compare July 10, 2026 18:38
@logaretm logaretm changed the base branch from develop to awad/nuxt-inhouse-build July 10, 2026 18:42
@logaretm logaretm changed the title chore: Upgrade to TypeScript 6.0 chore: Upgrade to TypeScript 7.0 Jul 10, 2026
@logaretm logaretm force-pushed the awad/nuxt-inhouse-build branch from 00fe4d9 to 102eb9c Compare July 10, 2026 18:49
@logaretm logaretm force-pushed the awad/upgrade-to-TS-6 branch 2 times, most recently from d7b1418 to 912d717 Compare July 10, 2026 18:56
@logaretm logaretm force-pushed the awad/nuxt-inhouse-build branch from 102eb9c to 10e5434 Compare July 10, 2026 18:56
Bump typescript to ~7.0.2 and apply the changes TS 7 requires:
- remove downlevelIteration and baseUrl (both removed in TS 7)
- set explicit rootDir on all emitting tsconfigs (now required)
- add DOM lib and node types to the shared base config
- scope DOM out of cloudflare (conflicts with workers-types)
- source fixes: BodyInit casts on transports, readonly web-vitals
  globals, WebAssembly.Exception ts-expect-error removal, elysia
  trace handler generic, replay paint entry ts-expect-error
@logaretm logaretm force-pushed the awad/nuxt-inhouse-build branch from 10e5434 to b48cbc7 Compare July 10, 2026 19:00
@logaretm logaretm force-pushed the awad/upgrade-to-TS-6 branch from 912d717 to e54841e Compare July 10, 2026 19:01
@logaretm logaretm changed the base branch from awad/nuxt-inhouse-build to awad/js-1293-drop-typescript-38-support July 10, 2026 19:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate to TypeScript 6/7

2 participants