Skip to content

Conversation

dontwanttothink
Copy link
Contributor

@dontwanttothink dontwanttothink commented May 13, 2025

See #61695, which this pull request attempts to fix

Fixes #61695

@github-project-automation github-project-automation bot moved this to Not started in PR Backlog May 13, 2025
@typescript-bot typescript-bot added the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label May 13, 2025
@typescript-bot
Copy link
Collaborator

This PR doesn't have any linked issues. Please open an issue that references this PR. From there we can discuss and prioritise.

@typescript-bot typescript-bot added For Backlog Bug PRs that fix a backlog bug and removed For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels May 13, 2025
@dontwanttothink
Copy link
Contributor Author

@microsoft-github-policy-service agree

@dontwanttothink
Copy link
Contributor Author

Chrome, the last browser to not support this feature by default, has been shipping it since M138 behind a flag. It is set to be enabled in M140, which lands in the Stable release channel by the end of next month. See this and this.

@filipesmedeiros
Copy link

Officially shipped in Chrome 140

@jakebailey
Copy link
Member

This PR needs a merge from main in order to be mergable.

@jakebailey
Copy link
Member

This all seems fine, but, double checking:

@typescript-bot test it

@typescript-bot
Copy link
Collaborator

typescript-bot commented Sep 30, 2025

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

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

@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 Here are the results of running the user tests with tsc comparing main and refs/pull/61696/merge:

There were infrastructure failures potentially unrelated to your change:

  • 1 instance of "Git clone failed"

Otherwise...

Everything looks good!

@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 34 34 ~ ~ ~ p=1.000 n=6
Symbols 62,370 62,370 ~ ~ ~ p=1.000 n=6
Types 50,386 50,386 ~ ~ ~ p=1.000 n=6
Memory used 195,835k (± 0.73%) 194,370k (± 1.02%) -1,465k (- 0.75%) 192,489k 196,277k p=0.020 n=6
Parse Time 1.60s (± 1.09%) 1.60s (± 0.94%) ~ 1.59s 1.63s p=0.802 n=6
Bind Time 0.88s (± 1.61%) 0.87s (± 1.39%) ~ 0.85s 0.88s p=0.493 n=6
Check Time 11.76s (± 0.52%) 11.76s (± 0.41%) ~ 11.69s 11.81s p=0.936 n=6
Emit Time 3.39s (± 4.17%) 3.54s (± 1.31%) ~ 3.48s 3.61s p=0.173 n=6
Total Time 17.64s (± 0.85%) 17.77s (± 0.46%) ~ 17.66s 17.85s p=0.093 n=6
angular-1 - node (v18.15.0, x64)
Errors 1 1 ~ ~ ~ p=1.000 n=6
Symbols 948,812 948,812 ~ ~ ~ p=1.000 n=6
Types 410,869 410,869 ~ ~ ~ p=1.000 n=6
Memory used 1,245,565k (± 0.01%) 1,245,668k (± 0.01%) +103k (+ 0.01%) 1,245,584k 1,245,779k p=0.031 n=6
Parse Time 8.00s (± 0.74%) 7.97s (± 1.01%) ~ 7.85s 8.07s p=0.421 n=6
Bind Time 2.27s (± 0.61%) 2.28s (± 0.62%) ~ 2.26s 2.30s p=0.623 n=6
Check Time 38.26s (± 0.35%) 38.27s (± 0.40%) ~ 38.16s 38.56s p=0.872 n=6
Emit Time 17.83s (± 0.21%) 17.93s (± 0.63%) ~ 17.77s 18.04s p=0.228 n=6
Total Time 66.36s (± 0.19%) 66.45s (± 0.30%) ~ 66.19s 66.79s p=0.810 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,545,301 2,545,301 ~ ~ ~ p=1.000 n=6
Types 903,489 903,489 ~ ~ ~ p=1.000 n=6
Memory used 2,830,481k (± 0.00%) 2,830,467k (± 0.01%) ~ 2,830,251k 2,830,668k p=0.936 n=6
Parse Time 10.56s (± 0.54%) 10.55s (± 0.41%) ~ 10.50s 10.60s p=0.871 n=6
Bind Time 2.69s (± 0.66%) 2.68s (± 0.72%) ~ 2.66s 2.71s p=0.416 n=6
Check Time 104.95s (± 1.91%) 105.57s (± 1.97%) ~ 102.69s 108.42s p=0.471 n=6
Emit Time 0.38s (± 1.46%) 0.38s (± 1.99%) ~ 0.37s 0.39s p=0.476 n=6
Total Time 118.58s (± 1.74%) 119.19s (± 1.76%) ~ 116.34s 122.09s p=0.471 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,237,200 1,237,210 +10 (+ 0.00%) ~ ~ p=0.001 n=6
Types 259,829 259,849 +20 (+ 0.01%) ~ ~ p=0.001 n=6
Memory used 3,094,586k (± 0.03%) 3,095,929k (± 0.03%) +1,344k (+ 0.04%) 3,094,609k 3,097,264k p=0.045 n=6
Parse Time 6.64s (± 0.62%) 6.61s (± 0.76%) ~ 6.55s 6.68s p=0.229 n=6
Bind Time 2.10s (± 1.33%) 2.12s (± 1.33%) ~ 2.08s 2.16s p=0.296 n=6
Check Time 42.36s (± 0.27%) 42.37s (± 0.26%) ~ 42.15s 42.46s p=0.689 n=6
Emit Time 3.53s (± 1.69%) 3.45s (± 2.49%) ~ 3.35s 3.58s p=0.149 n=6
Total Time 54.63s (± 0.27%) 54.56s (± 0.36%) ~ 54.25s 54.76s p=0.471 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,237,200 1,237,210 +10 (+ 0.00%) ~ ~ p=0.001 n=6
Types 259,829 259,849 +20 (+ 0.01%) ~ ~ p=0.001 n=6
Memory used 3,158,826k (± 0.04%) 3,159,659k (± 0.04%) ~ 3,158,641k 3,161,832k p=0.298 n=6
Parse Time 6.81s (± 0.46%) 6.88s (± 0.47%) +0.06s (+ 0.93%) 6.82s 6.91s p=0.013 n=6
Bind Time 2.17s (± 1.21%) 2.15s (± 1.38%) ~ 2.10s 2.19s p=0.335 n=6
Check Time 42.74s (± 0.34%) 42.62s (± 0.19%) ~ 42.49s 42.73s p=0.128 n=6
Emit Time 3.56s (± 3.30%) 3.51s (± 1.26%) ~ 3.45s 3.57s p=0.521 n=6
Total Time 55.28s (± 0.46%) 55.16s (± 0.24%) ~ 54.93s 55.31s p=0.298 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 262,515 262,525 +10 (+ 0.00%) ~ ~ p=0.001 n=6
Types 104,009 104,029 +20 (+ 0.02%) ~ ~ p=0.001 n=6
Memory used 440,616k (± 0.01%) 440,600k (± 0.01%) ~ 440,558k 440,631k p=1.000 n=6
Parse Time 3.49s (± 0.48%) 3.51s (± 1.27%) ~ 3.47s 3.57s p=0.732 n=6
Bind Time 1.32s (± 1.12%) 1.32s (± 1.14%) ~ 1.30s 1.34s p=0.462 n=6
Check Time 18.98s (± 0.48%) 18.99s (± 0.30%) ~ 18.89s 19.06s p=0.748 n=6
Emit Time 1.54s (± 0.54%) 1.53s (± 1.73%) ~ 1.49s 1.56s p=1.000 n=6
Total Time 25.32s (± 0.43%) 25.36s (± 0.15%) ~ 25.32s 25.41s p=0.470 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 72 72 ~ ~ ~ p=1.000 n=6
Symbols 225,367 225,367 ~ ~ ~ p=1.000 n=6
Types 94,290 94,290 ~ ~ ~ p=1.000 n=6
Memory used 370,040k (± 0.04%) 370,036k (± 0.04%) ~ 369,882k 370,326k p=1.000 n=6
Parse Time 2.83s (± 0.76%) 2.82s (± 0.93%) ~ 2.80s 2.87s p=0.373 n=6
Bind Time 1.62s (± 1.21%) 1.60s (± 1.50%) ~ 1.58s 1.64s p=0.126 n=6
Check Time 16.46s (± 0.44%) 16.52s (± 0.49%) ~ 16.43s 16.63s p=0.296 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 20.91s (± 0.36%) 20.94s (± 0.53%) ~ 20.81s 21.07s p=0.810 n=6
vscode - node (v18.15.0, x64)
Errors 1 1 ~ ~ ~ p=1.000 n=6
Symbols 3,897,347 3,897,347 ~ ~ ~ p=1.000 n=6
Types 1,226,093 1,226,093 ~ ~ ~ p=1.000 n=6
Memory used 3,709,660k (± 0.00%) 3,709,882k (± 0.00%) +223k (+ 0.01%) 3,709,743k 3,710,049k p=0.045 n=6
Parse Time 15.14s (± 0.34%) 15.29s (± 0.42%) +0.15s (+ 0.97%) 15.21s 15.37s p=0.013 n=6
Bind Time 5.00s (± 2.76%) 4.89s (± 0.48%) ~ 4.86s 4.92s p=0.064 n=6
Check Time 101.69s (± 3.76%) 104.08s (± 3.74%) ~ 99.57s 110.21s p=0.230 n=6
Emit Time 34.20s (±11.98%) 31.91s (± 9.56%) ~ 30.31s 38.09s p=0.378 n=6
Total Time 156.03s (± 4.77%) 156.17s (± 4.18%) ~ 150.02s 168.57s p=0.689 n=6
webpack - node (v18.15.0, x64)
Errors 38 38 ~ ~ ~ p=1.000 n=6
Symbols 363,098 363,098 ~ ~ ~ p=1.000 n=6
Types 159,255 159,255 ~ ~ ~ p=1.000 n=6
Memory used 518,013k (± 0.02%) 517,959k (± 0.02%) ~ 517,889k 518,150k p=0.378 n=6
Parse Time 4.45s (± 0.44%) 4.46s (± 0.48%) ~ 4.43s 4.48s p=0.195 n=6
Bind Time 1.92s (± 0.43%) 1.91s (± 0.63%) ~ 1.90s 1.93s p=0.677 n=6
Check Time 21.72s (± 0.42%) 21.72s (± 0.16%) ~ 21.68s 21.76s p=1.000 n=6
Emit Time 0.00s (±154.76%) 0.00s ~ ~ ~ p=0.174 n=6
Total Time 28.09s (± 0.38%) 28.10s (± 0.20%) ~ 28.01s 28.15s p=0.872 n=6
xstate-main - node (v18.15.0, x64)
Errors 30 30 ~ ~ ~ p=1.000 n=6
Symbols 672,790 672,825 +35 (+ 0.01%) ~ ~ p=0.001 n=6
Types 201,962 201,962 ~ ~ ~ p=1.000 n=6
Memory used 574,744k (± 0.05%) 574,666k (± 0.00%) ~ 574,655k 574,689k p=0.298 n=6
Parse Time 3.34s (± 0.35%) 3.33s (± 0.41%) ~ 3.31s 3.35s p=0.099 n=6
Bind Time 1.12s (± 0.49%) 1.12s ~ ~ ~ p=0.071 n=6
Check Time 17.54s (± 0.45%) 17.54s (± 0.10%) ~ 17.52s 17.57s p=0.467 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 21.99s (± 0.33%) 21.99s (± 0.07%) ~ 21.97s 22.01s p=0.936 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

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the top 400 repos with tsc comparing main and refs/pull/61696/merge:

Everything looks good!

@github-project-automation github-project-automation bot moved this from Not started to Needs merge in PR Backlog Oct 1, 2025
Copy link
Member

@jakebailey jakebailey left a comment

Choose a reason for hiding this comment

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

Sorry, I missed something here; the options bags need to have explicit | undefined annotation in addition to ? to indicate that passing an explicit undefined is okay (versus requiring it be "missing").

@github-project-automation github-project-automation bot moved this from Needs merge to Waiting on author in PR Backlog Oct 2, 2025
@dontwanttothink
Copy link
Contributor Author

Hopefully this is better. Thank you for taking the time to review the changes.

@jakebailey
Copy link
Member

FWIW we don't usually make tests for lib.d.ts contents, exactly for the reasons you're experiencing; it's super annoying with baselines and doesn't really catch regressions. It'd probably be okay to remove them.

@dontwanttothink
Copy link
Contributor Author

dontwanttothink commented Oct 3, 2025

I see. Should I? Out of curiosity, what is the 'cases/conformance/esnext' directory for (in that case)?

@jakebailey
Copy link
Member

It used to be for emit, but I think I missed the added test for Atomic in #61646.

Copy link
Member

@jakebailey jakebailey left a comment

Choose a reason for hiding this comment

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

LGTM but need to double check that the extra file is the right solution.

@github-project-automation github-project-automation bot moved this from Waiting on author to Needs merge in PR Backlog Oct 3, 2025
@jakebailey
Copy link
Member

Going to just take this as-is. When they are in ES2025 (or later?), these files will get deleted anyway (see also #58573).

@jakebailey jakebailey merged commit 3a68348 into microsoft:main Oct 3, 2025
33 checks passed
@github-project-automation github-project-automation bot moved this from Needs merge to Done in PR Backlog Oct 3, 2025
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: Done
Development

Successfully merging this pull request may close these issues.

base64/hex methods missing from Uint8Array
5 participants