Skip to content

Conversation

@Andarist
Copy link
Contributor

fixes #52494

@typescript-bot typescript-bot added the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label Jan 30, 2023
@jakebailey
Copy link
Member

@typescript-bot test this
@typescript-bot test top100
@typescript-bot user test this
@typescript-bot user test tsserver
@typescript-bot test tsserver top100
@typescript-bot run dt
@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 1, 2023

Heya @jakebailey, I've started to run the diff-based user code test suite (tsserver) on this PR at f40beb0. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 1, 2023

Heya @jakebailey, I've started to run the diff-based user code test suite on this PR at f40beb0. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 1, 2023

Heya @jakebailey, I've started to run the parallelized Definitely Typed test suite on this PR at f40beb0. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 1, 2023

Heya @jakebailey, I've started to run the extended test suite on this PR at f40beb0. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 1, 2023

Heya @jakebailey, I've started to run the diff-based top-repos suite on this PR at f40beb0. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 1, 2023

Heya @jakebailey, I've started to run the perf test suite on this PR at f40beb0. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 1, 2023

Heya @jakebailey, I've started to run the diff-based top-repos suite (tsserver) on this PR at f40beb0. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the user test suite comparing main and refs/pull/52519/merge:

Everything looks good!

1 similar comment
@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the user test suite comparing main and refs/pull/52519/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

Heya @jakebailey, I've run the RWC suite on this PR - assuming you're on the TS core team, you can view the resulting diff here.

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..52519
Metric main 52519 Delta Best Worst
Angular - node (v18.10.0, x64)
Memory used 359,874k (± 0.02%) 359,845k (± 0.01%) -29k (- 0.01%) 359,771k 359,911k
Parse Time 3.96s (± 0.26%) 3.93s (± 0.50%) -0.03s (- 0.80%) 3.92s 3.97s
Bind Time 1.17s (± 0.70%) 1.17s (± 0.94%) -0.00s (- 0.28%) 1.16s 1.19s
Check Time 8.67s (± 0.42%) 8.66s (± 0.41%) -0.01s (- 0.10%) 8.60s 8.71s
Emit Time 7.62s (± 0.63%) 7.64s (± 0.55%) +0.02s (+ 0.28%) 7.57s 7.70s
Total Time 21.43s (± 0.33%) 21.41s (± 0.19%) -0.02s (- 0.11%) 21.35s 21.47s
Compiler-Unions - node (v18.10.0, x64)
Memory used 194,494k (± 1.51%) 194,431k (± 1.51%) -63k (- 0.03%) 192,493k 198,214k
Parse Time 1.64s (± 1.32%) 1.63s (± 1.96%) -0.01s (- 0.51%) 1.60s 1.67s
Bind Time 0.79s (± 0.65%) 0.80s (± 1.23%) +0.01s (+ 0.63%) 0.79s 0.81s
Check Time 9.63s (± 0.20%) 9.67s (± 0.61%) +0.04s (+ 0.40%) 9.61s 9.74s
Emit Time 2.79s (± 0.37%) 2.86s (± 4.19%) +0.06s (+ 2.27%) 2.79s 3.10s
Total Time 14.85s (± 0.21%) 14.95s (± 1.10%) +0.10s (+ 0.66%) 14.82s 15.25s
Monaco - node (v18.10.0, x64)
Memory used 343,989k (± 0.02%) 343,978k (± 0.01%) -11k (- 0.00%) 343,926k 344,014k
Parse Time 2.95s (± 0.50%) 2.95s (± 0.96%) +0.00s (+ 0.06%) 2.91s 2.98s
Bind Time 1.03s (± 1.06%) 1.03s (± 1.01%) +0.00s (+ 0.49%) 1.02s 1.05s
Check Time 7.06s (± 0.36%) 7.03s (± 0.28%) -0.02s (- 0.35%) 7.01s 7.06s
Emit Time 4.33s (± 0.50%) 4.30s (± 0.35%) -0.02s (- 0.46%) 4.29s 4.33s
Total Time 15.36s (± 0.16%) 15.33s (± 0.30%) -0.03s (- 0.22%) 15.28s 15.40s
TFS - node (v18.10.0, x64)
Memory used 300,411k (± 0.00%) 300,414k (± 0.01%) +4k (+ 0.00%) 300,387k 300,444k
Parse Time 2.26s (± 1.34%) 2.26s (± 1.11%) -0.00s (- 0.15%) 2.23s 2.30s
Bind Time 1.17s (± 0.76%) 1.17s (± 0.54%) 0.00s ( 0.00%) 1.16s 1.18s
Check Time 6.53s (± 0.23%) 6.52s (± 0.50%) -0.01s (- 0.13%) 6.49s 6.58s
Emit Time 3.90s (± 0.78%) 3.93s (± 0.50%) +0.03s (+ 0.68%) 3.90s 3.96s
Total Time 13.86s (± 0.32%) 13.87s (± 0.26%) +0.01s (+ 0.10%) 13.83s 13.93s
material-ui - node (v18.10.0, x64)
Memory used 476,753k (± 0.01%) 476,733k (± 0.01%) -20k (- 0.00%) 476,669k 476,761k
Parse Time 3.56s (± 0.73%) 3.55s (± 1.03%) -0.01s (- 0.14%) 3.50s 3.59s
Bind Time 0.97s (± 0.84%) 0.96s (± 0.87%) -0.00s (- 0.17%) 0.95s 0.97s
Check Time 17.07s (± 0.55%) 17.12s (± 0.57%) +0.05s (+ 0.27%) 17.01s 17.23s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 21.60s (± 0.43%) 21.64s (± 0.54%) +0.04s (+ 0.18%) 21.50s 21.79s
xstate - node (v18.10.0, x64)
Memory used 548,716k (± 0.01%) 548,660k (± 0.02%) -56k (- 0.01%) 548,550k 548,722k
Parse Time 4.54s (± 0.61%) 4.58s (± 0.53%) +0.04s (+ 0.84%) 4.55s 4.62s
Bind Time 1.71s (± 1.02%) 1.71s (± 0.52%) -0.00s (- 0.19%) 1.70s 1.72s
Check Time 2.73s (± 0.75%) 2.73s (± 0.76%) -0.00s (- 0.12%) 2.70s 2.76s
Emit Time 0.09s (± 4.62%) 0.08s (± 4.99%) 🟩-0.01s (- 7.55%) 0.08s 0.09s
Total Time 9.07s (± 0.43%) 9.10s (± 0.23%) +0.03s (+ 0.37%) 9.08s 9.13s
Angular - node (v16.17.1, x64)
Memory used 359,202k (± 0.00%) 359,194k (± 0.00%) -8k (- 0.00%) 359,176k 359,219k
Parse Time 4.18s (± 0.23%) 4.18s (± 0.21%) -0.00s (- 0.04%) 4.17s 4.19s
Bind Time 1.22s (± 0.42%) 1.22s (± 0.42%) -0.01s (- 0.54%) 1.21s 1.22s
Check Time 9.42s (± 0.42%) 9.38s (± 0.31%) -0.04s (- 0.42%) 9.35s 9.43s
Emit Time 8.08s (± 0.47%) 8.06s (± 0.26%) -0.02s (- 0.25%) 8.03s 8.09s
Total Time 22.91s (± 0.16%) 22.84s (± 0.20%) -0.07s (- 0.30%) 22.80s 22.91s
Compiler-Unions - node (v16.17.1, x64)
Memory used 194,221k (± 0.04%) 194,816k (± 0.73%) +595k (+ 0.31%) 194,201k 197,702k
Parse Time 1.81s (± 0.57%) 1.80s (± 0.45%) -0.01s (- 0.55%) 1.78s 1.80s
Bind Time 0.84s (± 0.61%) 0.84s (± 0.75%) -0.00s (- 0.40%) 0.83s 0.85s
Check Time 10.31s (± 0.43%) 10.40s (± 0.45%) +0.09s (+ 0.84%) 10.32s 10.46s
Emit Time 3.06s (± 0.55%) 3.07s (± 1.04%) +0.01s (+ 0.22%) 3.05s 3.13s
Total Time 16.02s (± 0.30%) 16.10s (± 0.32%) +0.08s (+ 0.50%) 16.00s 16.15s
Monaco - node (v16.17.1, x64)
Memory used 343,263k (± 0.01%) 343,256k (± 0.01%) -7k (- 0.00%) 343,212k 343,318k
Parse Time 3.18s (± 1.58%) 3.19s (± 1.07%) +0.01s (+ 0.42%) 3.14s 3.22s
Bind Time 1.11s (± 0.68%) 1.11s (± 0.57%) +0.00s (+ 0.15%) 1.10s 1.12s
Check Time 7.71s (± 0.58%) 7.74s (± 0.28%) +0.02s (+ 0.28%) 7.70s 7.76s
Emit Time 4.52s (± 0.65%) 4.54s (± 0.56%) +0.02s (+ 0.41%) 4.51s 4.57s
Total Time 16.52s (± 0.17%) 16.58s (± 0.32%) +0.06s (+ 0.34%) 16.50s 16.64s
TFS - node (v16.17.1, x64)
Memory used 299,771k (± 0.01%) 299,766k (± 0.01%) -6k (- 0.00%) 299,744k 299,794k
Parse Time 2.49s (± 1.35%) 2.48s (± 1.50%) -0.01s (- 0.20%) 2.44s 2.54s
Bind Time 1.26s (± 0.60%) 1.26s (± 0.96%) -0.00s (- 0.13%) 1.25s 1.28s
Check Time 7.17s (± 0.27%) 7.20s (± 0.50%) +0.03s (+ 0.40%) 7.15s 7.25s
Emit Time 4.22s (± 0.36%) 4.21s (± 0.41%) -0.01s (- 0.28%) 4.19s 4.24s
Total Time 15.14s (± 0.23%) 15.15s (± 0.33%) +0.01s (+ 0.09%) 15.06s 15.19s
material-ui - node (v16.17.1, x64)
Memory used 476,066k (± 0.02%) 476,085k (± 0.01%) +19k (+ 0.00%) 475,990k 476,150k
Parse Time 3.71s (± 0.28%) 3.73s (± 0.37%) +0.01s (+ 0.27%) 3.71s 3.75s
Bind Time 1.02s (± 0.40%) 1.02s (± 0.40%) 0.00s ( 0.00%) 1.01s 1.02s
Check Time 18.10s (± 0.48%) 18.05s (± 0.34%) -0.05s (- 0.25%) 17.95s 18.13s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 22.83s (± 0.39%) 22.79s (± 0.27%) -0.04s (- 0.18%) 22.70s 22.87s
xstate - node (v16.17.1, x64)
Memory used 546,321k (± 0.01%) 546,245k (± 0.02%) -76k (- 0.01%) 546,157k 546,437k
Parse Time 4.76s (± 0.37%) 4.77s (± 0.34%) +0.00s (+ 0.03%) 4.75s 4.79s
Bind Time 1.81s (± 4.06%) 1.82s (± 4.27%) +0.01s (+ 0.55%) 1.66s 1.86s
Check Time 3.01s (± 2.47%) 3.00s (± 2.62%) -0.01s (- 0.33%) 2.96s 3.16s
Emit Time 0.09s (± 5.53%) 0.09s (± 4.45%) -0.00s (- 1.79%) 0.09s 0.10s
Total Time 9.67s (± 0.20%) 9.68s (± 0.20%) +0.00s (+ 0.03%) 9.65s 9.71s
Angular - node (v14.15.1, x64)
Memory used 352,838k (± 0.01%) 352,840k (± 0.01%) +2k (+ 0.00%) 352,793k 352,864k
Parse Time 4.25s (± 0.50%) 4.22s (± 0.39%) -0.02s (- 0.55%) 4.20s 4.25s
Bind Time 1.28s (± 0.49%) 1.29s (± 0.32%) +0.01s (+ 0.65%) 1.28s 1.29s
Check Time 9.68s (± 0.27%) 9.76s (± 0.51%) +0.08s (+ 0.77%) 9.72s 9.85s
Emit Time 8.38s (± 0.68%) 8.37s (± 0.58%) -0.02s (- 0.22%) 8.29s 8.41s
Total Time 23.60s (± 0.23%) 23.64s (± 0.32%) +0.04s (+ 0.16%) 23.52s 23.73s
Compiler-Unions - node (v14.15.1, x64)
Memory used 189,130k (± 0.02%) 189,226k (± 0.09%) +96k (+ 0.05%) 189,074k 189,392k
Parse Time 1.85s (± 0.63%) 1.85s (± 0.56%) -0.00s (- 0.09%) 1.83s 1.86s
Bind Time 0.86s (± 0.47%) 0.86s (± 0.88%) -0.00s (- 0.39%) 0.85s 0.87s
Check Time 10.43s (± 0.37%) 10.36s (± 0.28%) -0.06s (- 0.61%) 10.33s 10.40s
Emit Time 3.50s (± 0.69%) 3.31s (± 5.05%) 🟩-0.20s (- 5.61%) 3.13s 3.50s
Total Time 16.64s (± 0.28%) 16.38s (± 0.95%) -0.26s (- 1.58%) 16.21s 16.55s
Monaco - node (v14.15.1, x64)
Memory used 338,037k (± 0.00%) 338,039k (± 0.01%) +2k (+ 0.00%) 338,013k 338,078k
Parse Time 3.24s (± 1.45%) 3.22s (± 0.82%) -0.02s (- 0.51%) 3.20s 3.27s
Bind Time 1.11s (± 0.68%) 1.12s (± 1.10%) +0.00s (+ 0.30%) 1.10s 1.13s
Check Time 8.06s (± 0.68%) 8.05s (± 0.35%) -0.01s (- 0.17%) 8.02s 8.09s
Emit Time 4.77s (± 0.91%) 4.74s (± 0.54%) -0.03s (- 0.59%) 4.71s 4.77s
Total Time 17.18s (± 0.36%) 17.13s (± 0.31%) -0.05s (- 0.32%) 17.04s 17.20s
TFS - node (v14.15.1, x64)
Memory used 294,544k (± 0.01%) 294,543k (± 0.00%) -1k (- 0.00%) 294,519k 294,563k
Parse Time 2.74s (± 1.07%) 2.75s (± 0.46%) +0.01s (+ 0.43%) 2.73s 2.77s
Bind Time 1.11s (± 0.89%) 1.11s (± 0.68%) -0.00s (- 0.00%) 1.10s 1.12s
Check Time 7.47s (± 0.57%) 7.46s (± 0.36%) -0.00s (- 0.04%) 7.43s 7.51s
Emit Time 4.62s (± 0.74%) 4.61s (± 0.99%) -0.01s (- 0.29%) 4.54s 4.68s
Total Time 15.93s (± 0.23%) 15.93s (± 0.33%) -0.00s (- 0.01%) 15.83s 15.97s
material-ui - node (v14.15.1, x64)
Memory used 471,572k (± 0.00%) 471,569k (± 0.00%) -3k (- 0.00%) 471,553k 471,595k
Parse Time 3.94s (± 0.67%) 3.93s (± 0.55%) -0.00s (- 0.13%) 3.91s 3.97s
Bind Time 1.05s (± 0.77%) 1.04s (± 0.99%) -0.01s (- 0.95%) 1.03s 1.05s
Check Time 19.08s (± 0.85%) 19.00s (± 0.46%) -0.08s (- 0.40%) 18.89s 19.12s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 24.07s (± 0.62%) 23.98s (± 0.29%) -0.09s (- 0.37%) 23.89s 24.09s
xstate - node (v14.15.1, x64)
Memory used 534,461k (± 0.01%) 534,465k (± 0.01%) +3k (+ 0.00%) 534,398k 534,518k
Parse Time 5.19s (± 0.22%) 5.17s (± 0.57%) -0.02s (- 0.35%) 5.13s 5.21s
Bind Time 1.71s (± 0.86%) 1.72s (± 0.71%) +0.01s (+ 0.39%) 1.70s 1.73s
Check Time 3.10s (± 0.67%) 3.08s (± 0.72%) -0.02s (- 0.48%) 3.05s 3.12s
Emit Time 0.10s (± 0.00%) 0.10s (± 0.00%) 0.00s ( 0.00%) 0.10s 0.10s
Total Time 10.10s (± 0.41%) 10.07s (± 0.42%) -0.03s (- 0.28%) 10.04s 10.15s
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 52519 6
Baseline main 6

TSServer

Comparison Report - main..52519
Metric main 52519 Delta Best Worst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,505ms (± 1.61%) 2,513ms (± 1.19%) +8ms (+ 0.33%) 2,475ms 2,547ms
Req 2 - geterr 5,481ms (± 0.57%) 5,491ms (± 0.40%) +10ms (+ 0.19%) 5,454ms 5,524ms
Req 3 - references 369ms (± 0.87%) 365ms (± 1.05%) -3ms (- 0.90%) 360ms 371ms
Req 4 - navto 286ms (± 0.53%) 285ms (± 0.26%) -0ms (- 0.12%) 284ms 286ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 68ms (± 4.31%) 67ms (± 2.97%) -1ms (- 1.97%) 65ms 70ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,718ms (± 0.97%) 2,745ms (± 1.66%) +27ms (+ 0.99%) 2,700ms 2,814ms
Req 2 - geterr 4,071ms (± 0.21%) 4,057ms (± 0.54%) -14ms (- 0.35%) 4,037ms 4,089ms
Req 3 - references 368ms (± 0.41%) 368ms (± 0.33%) -1ms (- 0.23%) 366ms 369ms
Req 4 - navto 300ms (± 0.54%) 298ms (± 1.03%) -2ms (- 0.67%) 292ms 301ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 82ms (± 0.77%) 80ms (± 5.14%) -2ms (- 2.03%) 72ms 83ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,499ms (± 0.44%) 3,508ms (± 0.48%) +9ms (+ 0.26%) 3,489ms 3,528ms
Req 2 - geterr 1,426ms (± 1.78%) 1,429ms (± 1.79%) +3ms (+ 0.20%) 1,402ms 1,472ms
Req 3 - references 104ms (± 2.00%) 106ms (± 1.44%) +2ms (+ 1.93%) 103ms 107ms
Req 4 - navto 356ms (± 0.60%) 356ms (± 0.81%) +1ms (+ 0.14%) 354ms 362ms
Req 5 - completionInfo count 3,175 (± 0.00%) 3,175 (± 0.00%) 0 ( 0.00%) 3,175 3,175
Req 5 - completionInfo 473ms (± 0.75%) 469ms (± 1.61%) -4ms (- 0.92%) 456ms 478ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,774ms (± 0.56%) 2,784ms (± 0.84%) +9ms (+ 0.33%) 2,739ms 2,801ms
Req 2 - geterr 5,880ms (± 0.39%) 5,853ms (± 0.43%) -27ms (- 0.46%) 5,819ms 5,882ms
Req 3 - references 378ms (± 1.54%) 377ms (± 1.34%) -1ms (- 0.26%) 371ms 384ms
Req 4 - navto 279ms (± 0.19%) 277ms (± 0.80%) -2ms (- 0.54%) 274ms 280ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 75ms (± 5.00%) 74ms (± 5.66%) -1ms (- 0.67%) 69ms 79ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,938ms (± 0.74%) 2,920ms (± 0.79%) -18ms (- 0.62%) 2,882ms 2,953ms
Req 2 - geterr 4,396ms (± 0.40%) 4,408ms (± 0.45%) +12ms (+ 0.28%) 4,383ms 4,437ms
Req 3 - references 380ms (± 1.50%) 378ms (± 0.76%) -3ms (- 0.70%) 375ms 383ms
Req 4 - navto 287ms (± 0.97%) 289ms (± 0.66%) +2ms (+ 0.64%) 286ms 291ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 72ms (± 0.72%) 72ms (± 0.72%) 0ms ( 0.00%) 71ms 72ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,632ms (± 0.35%) 3,630ms (± 0.57%) -2ms (- 0.06%) 3,597ms 3,659ms
Req 2 - geterr 1,558ms (± 0.32%) 1,572ms (± 0.83%) +14ms (+ 0.88%) 1,556ms 1,587ms
Req 3 - references 110ms (± 1.94%) 112ms (± 2.24%) +2ms (+ 1.36%) 108ms 114ms
Req 4 - navto 343ms (± 1.29%) 342ms (± 1.41%) -1ms (- 0.15%) 337ms 348ms
Req 5 - completionInfo count 3,175 (± 0.00%) 3,175 (± 0.00%) 0 ( 0.00%) 3,175 3,175
Req 5 - completionInfo 481ms (± 1.13%) 479ms (± 1.08%) -2ms (- 0.42%) 471ms 485ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,903ms (± 0.50%) 2,907ms (± 0.17%) +4ms (+ 0.13%) 2,902ms 2,913ms
Req 2 - geterr 6,273ms (± 0.67%) 6,291ms (± 0.86%) +18ms (+ 0.28%) 6,237ms 6,367ms
Req 3 - references 391ms (± 0.46%) 392ms (± 1.02%) +1ms (+ 0.17%) 388ms 399ms
Req 4 - navto 282ms (± 1.59%) 285ms (± 1.55%) +2ms (+ 0.83%) 280ms 289ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 87ms (± 8.77%) 83ms (± 9.85%) 🟩-4ms (- 4.21%) 73ms 92ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,076ms (± 0.66%) 3,082ms (± 0.59%) +6ms (+ 0.20%) 3,066ms 3,115ms
Req 2 - geterr 4,698ms (± 0.33%) 4,687ms (± 0.09%) -11ms (- 0.24%) 4,681ms 4,693ms
Req 3 - references 403ms (± 0.57%) 403ms (± 0.53%) +0ms (+ 0.08%) 400ms 406ms
Req 4 - navto 292ms (± 0.72%) 291ms (± 0.55%) -1ms (- 0.29%) 289ms 293ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 83ms (± 4.47%) 81ms (± 0.93%) -2ms (- 2.41%) 80ms 82ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,977ms (± 0.60%) 3,966ms (± 0.39%) -11ms (- 0.28%) 3,950ms 3,990ms
Req 2 - geterr 1,528ms (± 1.51%) 1,526ms (± 1.13%) -2ms (- 0.10%) 1,513ms 1,558ms
Req 3 - references 133ms (± 2.06%) 135ms (± 1.53%) +2ms (+ 1.64%) 131ms 137ms
Req 4 - navto 374ms (± 0.31%) 372ms (± 0.62%) -2ms (- 0.62%) 369ms 375ms
Req 5 - completionInfo count 3,175 (± 0.00%) 3,175 (± 0.00%) 0 ( 0.00%) 3,175 3,175
Req 5 - completionInfo 503ms (± 2.85%) 508ms (± 2.15%) +5ms (+ 0.89%) 489ms 520ms
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 52519 6
Baseline main 6

Startup

Comparison Report - main..52519
Metric main 52519 Delta Best Worst
tsc-startup - node (v16.17.1, x64)
Execution time 142.54ms (± 0.21%) 142.55ms (± 0.21%) +0.01ms (+ 0.01%) 141.92ms 147.88ms
tsserver-startup - node (v16.17.1, x64)
Execution time 227.14ms (± 0.15%) 227.27ms (± 0.20%) +0.12ms (+ 0.05%) 226.21ms 234.96ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 229.42ms (± 0.21%) 229.49ms (± 0.17%) +0.06ms (+ 0.03%) 228.41ms 234.19ms
typescript-startup - node (v16.17.1, x64)
Execution time 210.03ms (± 0.16%) 210.03ms (± 0.17%) -0.01ms (- 0.00%) 209.11ms 214.64ms
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • tsc-startup - node (v16.17.1, x64)
  • tsserver-startup - node (v16.17.1, x64)
  • tsserverlibrary-startup - node (v16.17.1, x64)
  • typescript-startup - node (v16.17.1, x64)
Benchmark Name Iterations
Current 52519 6
Baseline main 6

Developer Information:

Download Benchmark

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the top-repos suite comparing main and refs/pull/52519/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the top-repos suite comparing main and refs/pull/52519/merge:

Something interesting changed - please have a look.

Details

palantir/blueprint

⚠️ Note that built also had errors ⚠️
Req #18999 - references
    at resolveNameHelper (/typescript-main/built/local/tsserver.js:48227:29)
    at resolveName (/typescript-main/built/local/tsserver.js:48225:12)
    at getResolvedSymbol (/typescript-main/built/local/tsserver.js:67483:54)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69598:20)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77765:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72279:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77799:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68276:22)
    at getTypeAtFlowCall (/typescript-main/built/local/tsserver.js:68615:25)
    at getTypeAtFlowNode (/typescript-main/built/local/tsserver.js:68501:18)
    at getFlowTypeOfReference (/typescript-main/built/local/tsserver.js:68458:45)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69707:22)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77765:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72279:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77799:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68276:22)
    at getTypeAtFlowCall (/typescript-main/built/local/tsserver.js:68615:25)
    at getTypeAtFlowNode (/typescript-main/built/local/tsserver.js:68501:18)
    at getFlowTypeOfReference (/typescript-main/built/local/tsserver.js:68458:45)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69707:22)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77765:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72279:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77799:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68276:22)
    at getTypeAtFlowCall (/typescript-main/built/local/tsserver.js:68615:25)
    at getTypeAtFlowNode (/typescript-main/built/local/tsserver.js:68501:18)
    at getFlowTypeOfReference (/typescript-main/built/local/tsserver.js:68458:45)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69707:22)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77765:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72279:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77799:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68276:22)
    at getTypeAtFlowCall (/typescript-main/built/local/tsserver.js:68615:25)
    at getTypeAtFlowNode (/typescript-main/built/local/tsserver.js:68501:18)
    at getFlowTypeOfReference (/typescript-main/built/local/tsserver.js:68458:45)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69707:22)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77765:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72279:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77799:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68276:22)
    at getTypeAtFlowCall (/typescript-main/built/local/tsserver.js:68615:25)
    at getTypeAtFlowNode (/typescript-main/built/local/tsserver.js:68501:18)
    at getFlowTypeOfReference (/typescript-main/built/local/tsserver.js:68458:45)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69707:22)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77765:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72279:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77799:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68276:22)
    at getTypeAtFlowCall (/typescript-main/built/local/tsserver.js:68615:25)
    at getTypeAtFlowNode (/typescript-main/built/local/tsserver.js:68501:18)
    at getFlowTypeOfReference (/typescript-main/built/local/tsserver.js:68458:45)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69707:22)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77765:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72279:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77799:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68276:22)
    at getTypeAtFlowCall (/typescript-main/built/local/tsserver.js:68615:25)
    at getTypeAtFlowNode (/typescript-main/built/local/tsserver.js:68501:18)
    at getFlowTypeOfReference (/typescript-main/built/local/tsserver.js:68458:45)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69707:22)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77765:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72279:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77799:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77719:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72200:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68276:22)
    at getTypeAtFlowCall (/typescript-main/built/local/tsserver.js:68615:25)
    at getTypeAtFlowNode (/typescript-main/built/local/tsserver.js:68501:18)
    at getFlowTypeOfReference (/typescript-main/built/local/tsserver.js:68458:45)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69707:22)
Req #18999 - references
    at getContextualTypeForArgument (/typescript-52519/built/local/tsserver.js:70381:40)
    at getContextualType2 (/typescript-52519/built/local/tsserver.js:70825:16)
    at getApparentTypeOfContextualType (/typescript-52519/built/local/tsserver.js:70761:120)
    at getContextualType2 (/typescript-52519/built/local/tsserver.js:70840:22)
    at getApparentTypeOfContextualType (/typescript-52519/built/local/tsserver.js:70761:120)
    at getContextualSignature (/typescript-52519/built/local/tsserver.js:71128:18)
    at getNarrowedTypeOfSymbol (/typescript-52519/built/local/tsserver.js:69577:39)
    at checkIdentifier (/typescript-52519/built/local/tsserver.js:69669:16)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77769:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at checkPropertyAccessExpression (/typescript-52519/built/local/tsserver.js:72283:162)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77803:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at getEffectsSignature (/typescript-52519/built/local/tsserver.js:68280:22)
    at getTypeAtFlowCall (/typescript-52519/built/local/tsserver.js:68619:25)
    at getTypeAtFlowNode (/typescript-52519/built/local/tsserver.js:68505:18)
    at getFlowTypeOfReference (/typescript-52519/built/local/tsserver.js:68462:45)
    at checkIdentifier (/typescript-52519/built/local/tsserver.js:69711:22)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77769:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at checkPropertyAccessExpression (/typescript-52519/built/local/tsserver.js:72283:162)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77803:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at getEffectsSignature (/typescript-52519/built/local/tsserver.js:68280:22)
    at getTypeAtFlowCall (/typescript-52519/built/local/tsserver.js:68619:25)
    at getTypeAtFlowNode (/typescript-52519/built/local/tsserver.js:68505:18)
    at getFlowTypeOfReference (/typescript-52519/built/local/tsserver.js:68462:45)
    at checkIdentifier (/typescript-52519/built/local/tsserver.js:69711:22)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77769:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at checkPropertyAccessExpression (/typescript-52519/built/local/tsserver.js:72283:162)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77803:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at getEffectsSignature (/typescript-52519/built/local/tsserver.js:68280:22)
    at getTypeAtFlowCall (/typescript-52519/built/local/tsserver.js:68619:25)
    at getTypeAtFlowNode (/typescript-52519/built/local/tsserver.js:68505:18)
    at getFlowTypeOfReference (/typescript-52519/built/local/tsserver.js:68462:45)
    at checkIdentifier (/typescript-52519/built/local/tsserver.js:69711:22)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77769:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at checkPropertyAccessExpression (/typescript-52519/built/local/tsserver.js:72283:162)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77803:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at getEffectsSignature (/typescript-52519/built/local/tsserver.js:68280:22)
    at getTypeAtFlowCall (/typescript-52519/built/local/tsserver.js:68619:25)
    at getTypeAtFlowNode (/typescript-52519/built/local/tsserver.js:68505:18)
    at getFlowTypeOfReference (/typescript-52519/built/local/tsserver.js:68462:45)
    at checkIdentifier (/typescript-52519/built/local/tsserver.js:69711:22)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77769:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at checkPropertyAccessExpression (/typescript-52519/built/local/tsserver.js:72283:162)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77803:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at getEffectsSignature (/typescript-52519/built/local/tsserver.js:68280:22)
    at getTypeAtFlowCall (/typescript-52519/built/local/tsserver.js:68619:25)
    at getTypeAtFlowNode (/typescript-52519/built/local/tsserver.js:68505:18)
    at getFlowTypeOfReference (/typescript-52519/built/local/tsserver.js:68462:45)
    at checkIdentifier (/typescript-52519/built/local/tsserver.js:69711:22)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77769:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at checkPropertyAccessExpression (/typescript-52519/built/local/tsserver.js:72283:162)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77803:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at getEffectsSignature (/typescript-52519/built/local/tsserver.js:68280:22)
    at getTypeAtFlowCall (/typescript-52519/built/local/tsserver.js:68619:25)
    at getTypeAtFlowNode (/typescript-52519/built/local/tsserver.js:68505:18)
    at getFlowTypeOfReference (/typescript-52519/built/local/tsserver.js:68462:45)
    at checkIdentifier (/typescript-52519/built/local/tsserver.js:69711:22)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77769:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at checkPropertyAccessExpression (/typescript-52519/built/local/tsserver.js:72283:162)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77803:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at getEffectsSignature (/typescript-52519/built/local/tsserver.js:68280:22)
    at getTypeAtFlowCall (/typescript-52519/built/local/tsserver.js:68619:25)
    at getTypeAtFlowNode (/typescript-52519/built/local/tsserver.js:68505:18)
    at getFlowTypeOfReference (/typescript-52519/built/local/tsserver.js:68462:45)
    at checkIdentifier (/typescript-52519/built/local/tsserver.js:69711:22)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77769:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at checkPropertyAccessExpression (/typescript-52519/built/local/tsserver.js:72283:162)
    at checkExpressionWorker (/typescript-52519/built/local/tsserver.js:77803:16)
    at checkExpression (/typescript-52519/built/local/tsserver.js:77723:32)
    at checkNonNullExpression (/typescript-52519/built/local/tsserver.js:72204:29)
    at getEffectsSignature (/typescript-52519/built/local/tsserver.js:68280:22)

That is a filtered view of the text. To see the raw error text, go to RepoResults4/palantir.blueprint.rawError.txt in the artifact folder

Last few requests

{"seq":18996,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/2/docs-app.js","line":1,"offset":126189}}
{"seq":18997,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/2/docs-app.js","line":1,"offset":126222,"includeExternalModuleExports":false,"includeInsertTextCompletions":true,"triggerKind":2,"triggerCharacter":" "}}
{"seq":18998,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/2/docs-app.js","line":1,"offset":126363}}
{"seq":18999,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/2/docs-app.js","line":1,"offset":126654}}

Repro Steps

  1. git clone https://github.com/palantir/blueprint --recurse-submodules
  2. In dir blueprint, run git reset --hard e38a38fd9a9f16dcbe2f56b9b534a201c77ecc0a
  3. Back in the initial folder, download RepoResults4/palantir.blueprint.replay.txt from the artifact folder
  4. npm install --no-save @typescript/server-replay
  5. npx tsreplay ./blueprint ./palantir.blueprint.replay.txt path/to/tsserver.js
  6. npx tsreplay --help to learn about helpful switches for debugging, logging, etc

}
else {
return strictNullChecks && symbol.flags & SymbolFlags.Optional ? getOptionalType(type) : type;
return strictNullChecks && symbol.flags & SymbolFlags.Optional ? getOptionalType(type, /*isProperty*/ true) : type;
Copy link
Member

@jakebailey jakebailey Feb 1, 2023

Choose a reason for hiding this comment

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

I'm honestly really suspicious of every other call to this function now; I went and made isProperty required and about half of the callers are actually working with things that are explicitly property types (and so likely need to also pass true).

No tests change when I make everyone pass in this parameter, though, which makes me think that we don't have enough coverage of this particular option.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This option has a default though - did you try passing true to all calls of this function?

Copy link
Member

Choose a reason for hiding this comment

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

No, I mean I changed it from isProperty = false to isProperty: boolean and then examined all of the places where it error'd.

Not that this is directly required for this PR, just something I noticed.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The missingType thing is only relevant here for with exactOptionalPropertyTypes - and that's not the most popular compiler option. So I definitely wouldn't be surprised if the test suite wouldn't be that comprehensive in this regard.

Copy link
Member

@weswigham weswigham left a comment

Choose a reason for hiding this comment

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

As jake says, we might need to audit our other usages of getOptionalType to be more intentional about passing the second parameter; but this does look like the correct fix for this case.

@jakebailey
Copy link
Member

I'm going to merge this because it's correct, but, I do think we need to audit the rest and come up with some test cases.

@jakebailey jakebailey merged commit fc756eb into microsoft:main Mar 1, 2023
@microsoft microsoft locked as resolved and limited conversation to collaborators Oct 22, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

For Uncommitted Bug PR for untriaged, rejected, closed or missing bug

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Required<...> doesn't work anymore when using --exactOptionalPropertyTypes

4 participants