Skip to content

Conversation

@petamoriken
Copy link
Contributor

@petamoriken petamoriken commented Jan 24, 2026

Fixes #61735

This PR includes the addition of 2 type files:

  • es2025.regexp.d.ts
  • es2025.intl.d.ts

Related issues and (stalled) PRs

ES2025 RegExp.escape (es2025.regexp.d.ts)

Closes #61321
Closes #62138

ES2025 Intl.DurationFormat (es2025.intl.d.ts)

Closes #60608
Closes #60646

@github-project-automation github-project-automation bot moved this to Not started in PR Backlog Jan 24, 2026
@typescript-bot typescript-bot added the For Backlog Bug PRs that fix a backlog bug label Jan 24, 2026
@typescript-bot
Copy link
Collaborator

Thanks for the PR! It looks like you've changed the TSServer protocol in some way. Please ensure that any changes here don't break consumers of the current TSServer API. For some extra review, we'll ping @sheetalkamat, @mjbvz, and @joj for you. Feel free to loop in other consumers/maintainers if necessary.

@typescript-bot
Copy link
Collaborator

Looks like you're introducing a change to the public API surface area. If this includes breaking changes, please document them on our wiki's API Breaking Changes page.

Also, please make sure @DanielRosenwasser and @RyanCavanaugh are aware of the changes, just as a heads up.

@petamoriken petamoriken changed the title Introduce ES2025 target Introduce ES2025 target & Add missing ScriptTargetFeatures Jan 24, 2026
@pluma
Copy link

pluma commented Jan 28, 2026

Can we please get this reviewed? I know the country is burning and everyone is being replaced by AI but this would be really useful for those of us who deal with audiences across different languages.

@jakebailey
Copy link
Member

We have a lot of these lib related PRs; it's absolutely our intention to review all of them as soon as we can, we've just had a bunch of other stuff that has been a bit more pressing.

@jakebailey
Copy link
Member

I will note that an all-up PR for this may not be as useful as us reviewing the individual esnext PRs and then having a dedicated ES2025 PR; them being mixed together in this PR is making it hard to figure out what's new and what's just moving around. I would have preferred that the other PRs not be closed and this PR be a pure move + define options.

@petamoriken
Copy link
Contributor Author

Only two files were newly added: es2025.intl.d.ts and es2025.regexp.d.ts.

I created this combined PR because the individual "esnext" PRs for these features had stalled, and there had been no progress. I wanted to take over the tasks myself, and since there are only two added files, I thought the review would not be too difficult.

@jakebailey If you still prefer to have them separated, I can create two individual PRs instead. What do you think?

@petamoriken
Copy link
Contributor Author

@jakebailey For now, I can remove the additions of es2025.intl.d.ts and es2025.regexp.d.ts from this PR, but should I do so? Please let me know your thoughts.

@jakebailey
Copy link
Member

@typescript-bot test it

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 4, 2026

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
test top400 ✅ Started
user test this ✅ Started ✅ Results
run dt ✅ Started ✅ Results
perf test this faster ✅ Started 👀 Results

{
"fileInfos": {
"../../tslibs/ts/lib/lib.es2024.full.d.ts": {
"../../tslibs/ts/lib/lib.d.ts": {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure why this is changing not to 2025...

@jakebailey
Copy link
Member

This PR looks largely correct, though I am confused by some of the test baseline changes.

I think it might be fine to take this first and then fix the other lib updates depending on what's in ES2025.

Comment on lines +253 to +259
["esnext.array", "lib.esnext.array.d.ts"],
["esnext.decorators", "lib.esnext.decorators.d.ts"],
["esnext.disposable", "lib.esnext.disposable.d.ts"],
["esnext.error", "lib.esnext.error.d.ts"],
["esnext.intl", "lib.esnext.intl.d.ts"],
["esnext.sharedmemory", "lib.esnext.sharedmemory.d.ts"],
["esnext.typedarrays", "lib.esnext.typedarrays.d.ts"],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are none of these applicable to ES2025?

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the user tests with tsc comparing main and refs/pull/63046/merge:

There were infrastructure failures potentially unrelated to your change:

  • 1 instance of "Package install failed"
  • 1 instance of "Git clone failed"

Otherwise...

Everything looks good!

@typescript-bot
Copy link
Collaborator

Hey @jakebailey, the results of running the DT tests are ready.

Everything looks the same!

You can check the log here.

@typescript-bot
Copy link
Collaborator

@jakebailey
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - node (v18.15.0, x64)
Errors 3 3 ~ ~ ~ p=1.000 n=6
Symbols 82,521 82,521 ~ ~ ~ p=1.000 n=6
Types 125,280 125,280 ~ ~ ~ p=1.000 n=6
Memory used 277,740k (± 0.05%) 277,723k (± 0.05%) ~ 277,507k 277,940k p=0.936 n=6
Parse Time 1.62s (± 0.85%) 1.61s (± 0.64%) ~ 1.60s 1.62s p=0.271 n=6
Bind Time 0.92s (± 1.15%) 0.92s (± 1.32%) ~ 0.90s 0.93s p=0.868 n=6
Check Time 17.52s (± 1.54%) 17.41s (± 1.58%) ~ 17.04s 17.80s p=0.470 n=6
Emit Time 3.38s (± 8.68%) 3.31s (± 4.47%) ~ 3.23s 3.61s p=0.936 n=6
Total Time 23.43s (± 1.77%) 23.25s (± 1.12%) ~ 22.82s 23.60s p=0.378 n=6
angular-1 - node (v18.15.0, x64)
Errors 2 2 ~ ~ ~ p=1.000 n=6
Symbols 955,823 955,823 ~ ~ ~ p=1.000 n=6
Types 415,853 415,853 ~ ~ ~ p=1.000 n=6
Memory used 1,254,942k (± 0.01%) 1,255,013k (± 0.00%) +71k (+ 0.01%) 1,254,900k 1,255,065k p=0.037 n=6
Parse Time 7.95s (± 0.69%) 7.96s (± 0.78%) ~ 7.86s 8.05s p=0.807 n=6
Bind Time 2.38s (± 0.58%) 2.38s (± 0.65%) ~ 2.35s 2.39s p=0.491 n=6
Check Time 38.75s (± 0.19%) 38.78s (± 0.15%) ~ 38.73s 38.87s p=0.630 n=6
Emit Time 17.81s (± 0.93%) 17.94s (± 0.45%) ~ 17.82s 18.04s p=0.148 n=6
Total Time 66.89s (± 0.21%) 67.06s (± 0.22%) ~ 66.91s 67.29s p=0.109 n=6
mui-docs - node (v18.15.0, x64)
Errors 11,439 11,439 ~ ~ ~ p=1.000 n=6
Symbols 2,701,943 2,701,943 ~ ~ ~ p=1.000 n=6
Types 930,574 930,574 ~ ~ ~ p=1.000 n=6
Memory used 3,038,562k (± 0.00%) 3,038,517k (± 0.00%) ~ 3,038,449k 3,038,583k p=0.575 n=6
Parse Time 10.32s (± 0.36%) 10.33s (± 0.35%) ~ 10.29s 10.39s p=1.000 n=6
Bind Time 2.79s (± 0.75%) 2.80s (± 0.66%) ~ 2.79s 2.84s p=0.084 n=6
Check Time 110.79s (± 0.40%) 110.99s (± 0.42%) ~ 110.56s 111.65s p=0.230 n=6
Emit Time 0.40s (± 3.49%) 0.39s (± 1.62%) ~ 0.38s 0.40s p=0.614 n=6
Total Time 124.30s (± 0.35%) 124.52s (± 0.37%) ~ 124.09s 125.18s p=0.229 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,252,546 1,252,643 +97 (+ 0.01%) ~ ~ p=0.001 n=6
Types 259,934 260,012 +78 (+ 0.03%) ~ ~ p=0.001 n=6
Memory used 2,787,088k (±13.46%) 3,004,730k (± 9.90%) ~ 2,397,096k 3,126,896k p=0.378 n=6
Parse Time 8.12s (± 1.27%) 8.22s (± 1.46%) ~ 7.98s 8.32s p=0.230 n=6
Bind Time 2.72s (± 1.70%) 2.74s (± 1.12%) ~ 2.69s 2.77s p=0.378 n=6
Check Time 52.97s (± 0.59%) 53.02s (± 0.62%) ~ 52.46s 53.36s p=0.689 n=6
Emit Time 4.40s (± 4.30%) 4.37s (± 1.98%) ~ 4.27s 4.52s p=0.936 n=6
Total Time 68.22s (± 0.60%) 68.37s (± 0.56%) ~ 67.72s 68.77s p=0.575 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,252,546 1,252,643 +97 (+ 0.01%) ~ ~ p=0.001 n=6
Types 259,934 260,012 +78 (+ 0.03%) ~ ~ p=0.001 n=6
Memory used 3,189,422k (± 0.02%) 3,069,104k (± 9.65%) ~ 2,464,128k 3,190,451k p=0.298 n=6
Parse Time 6.79s (± 0.89%) 6.75s (± 0.96%) ~ 6.64s 6.81s p=0.336 n=6
Bind Time 2.23s (± 1.57%) 2.25s (± 1.33%) ~ 2.21s 2.29s p=0.294 n=6
Check Time 42.98s (± 0.35%) 42.88s (± 0.43%) ~ 42.55s 43.07s p=0.471 n=6
Emit Time 3.54s (± 2.06%) 3.50s (± 1.97%) ~ 3.42s 3.62s p=0.297 n=6
Total Time 55.54s (± 0.45%) 55.37s (± 0.47%) ~ 54.95s 55.74s p=0.378 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 264,633 264,712 +79 (+ 0.03%) ~ ~ p=0.001 n=6
Types 104,072 104,135 +63 (+ 0.06%) ~ ~ p=0.001 n=6
Memory used 443,584k (± 0.01%) 443,589k (± 0.02%) ~ 443,474k 443,694k p=0.810 n=6
Parse Time 3.53s (± 0.33%) 3.51s (± 1.05%) ~ 3.45s 3.55s p=0.325 n=6
Bind Time 1.38s (± 1.36%) 1.38s (± 1.76%) ~ 1.33s 1.40s p=0.802 n=6
Check Time 19.16s (± 0.39%) 19.16s (± 0.39%) ~ 19.06s 19.23s p=0.936 n=6
Emit Time 1.54s (± 1.32%) 1.53s (± 0.76%) ~ 1.52s 1.55s p=0.220 n=6
Total Time 25.61s (± 0.27%) 25.57s (± 0.31%) ~ 25.44s 25.64s p=0.574 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 271 271 ~ ~ ~ p=1.000 n=6
Symbols 225,118 225,118 ~ ~ ~ p=1.000 n=6
Types 93,554 93,554 ~ ~ ~ p=1.000 n=6
Memory used 370,348k (± 0.01%) 370,367k (± 0.02%) ~ 370,281k 370,441k p=0.575 n=6
Parse Time 2.27s (± 0.91%) 2.28s (± 0.48%) ~ 2.27s 2.30s p=0.244 n=6
Bind Time 1.40s (± 0.45%) 1.40s (± 0.54%) ~ 1.39s 1.41s p=0.718 n=6
Check Time 14.47s (± 0.36%) 14.42s (± 0.22%) ~ 14.38s 14.46s p=0.172 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 18.14s (± 0.29%) 18.11s (± 0.18%) ~ 18.06s 18.14s p=0.466 n=6
vscode - node (v18.15.0, x64)
Errors 11 11 ~ ~ ~ p=1.000 n=6
Symbols 4,204,969 4,204,969 ~ ~ ~ p=1.000 n=6
Types 1,333,293 1,333,293 ~ ~ ~ p=1.000 n=6
Memory used 3,999,025k (± 0.01%) 3,999,083k (± 0.00%) ~ 3,998,848k 3,999,353k p=0.936 n=6
Parse Time 16.25s (± 0.24%) 16.10s (± 0.36%) -0.15s (- 0.92%) 16.06s 16.21s p=0.008 n=6
Bind Time 5.50s (± 2.06%) 5.63s (± 3.45%) ~ 5.43s 5.88s p=0.198 n=6
Check Time 118.03s (± 3.81%) 118.93s (± 3.59%) ~ 114.02s 123.34s p=1.000 n=6
Emit Time 56.01s (± 8.02%) 56.79s (± 9.46%) ~ 50.69s 64.68s p=0.873 n=6
Total Time 195.80s (± 3.41%) 197.46s (± 4.23%) ~ 187.04s 208.49s p=0.810 n=6
webpack - node (v18.15.0, x64)
Errors 41 41 ~ ~ ~ p=1.000 n=6
Symbols 397,641 397,641 ~ ~ ~ p=1.000 n=6
Types 175,874 175,874 ~ ~ ~ p=1.000 n=6
Memory used 551,390k (± 0.04%) 551,383k (± 0.05%) ~ 550,960k 551,723k p=0.810 n=6
Parse Time 4.70s (± 0.91%) 4.69s (± 0.67%) ~ 4.66s 4.74s p=0.376 n=6
Bind Time 2.00s (± 1.35%) 1.99s (± 0.75%) ~ 1.98s 2.02s p=0.628 n=6
Check Time 23.98s (± 1.54%) 24.01s (± 1.95%) ~ 23.25s 24.38s p=0.575 n=6
Emit Time 0.00s (±244.70%) 0.00s (±154.76%) ~ 0.00s 0.01s p=0.595 n=6
Total Time 30.69s (± 1.31%) 30.70s (± 1.59%) ~ 29.92s 31.13s p=0.810 n=6
xstate-main - node (v18.15.0, x64)
Errors 30 30 ~ ~ ~ p=1.000 n=6
Symbols 731,941 732,039 +98 (+ 0.01%) ~ ~ p=0.001 n=6
Types 219,279 219,279 ~ ~ ~ p=1.000 n=6
Memory used 635,874k (± 0.01%) 635,992k (± 0.01%) +118k (+ 0.02%) 635,906k 636,044k p=0.013 n=6
Parse Time 3.70s (± 0.33%) 3.71s (± 0.33%) +0.02s (+ 0.50%) 3.70s 3.73s p=0.042 n=6
Bind Time 1.26s (± 0.32%) 1.26s (± 0.41%) ~ 1.26s 1.27s p=0.595 n=6
Check Time 18.49s (± 0.68%) 18.39s (± 0.34%) ~ 18.30s 18.47s p=0.199 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 23.45s (± 0.49%) 23.37s (± 0.26%) ~ 23.27s 23.44s p=0.336 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Compiler-Unions - node (v18.15.0, x64)
  • angular-1 - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-build-src-public-api - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • ts-pre-modules - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate-main - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

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

Labels

For Backlog Bug PRs that fix a backlog bug

Projects

Status: Not started

Development

Successfully merging this pull request may close these issues.

Add ES2025 target and library Add types for RegExp.escape Intl.DurationFormat missing from library definitions

4 participants