Skip to content

Always build project irrespective of errors in dependency with tsc -b - #58854

Merged
Sheetal Nandi (sheetalkamat) merged 2 commits into
mainfrom
alwaysBuildDependency
Jun 14, 2024
Merged

Always build project irrespective of errors in dependency with tsc -b#58854
Sheetal Nandi (sheetalkamat) merged 2 commits into
mainfrom
alwaysBuildDependency

Conversation

@sheetalkamat

Copy link
Copy Markdown
Member

No description provided.

@sheetalkamat

Copy link
Copy Markdown
MemberAuthor

TypeScript Bot (@typescript-bot) test it

@typescript-bot

TypeScript Bot (typescript-bot) commented Jun 13, 2024

Copy link
Copy Markdown
Contributor

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

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

@typescript-bot

Copy link
Copy Markdown
Contributor

Hey Sheetal Nandi (@sheetalkamat), the results of running the DT tests are ready.

Everything looks the same!

You can check the log here.

@typescript-bot

Copy link
Copy Markdown
Contributor

Sheetal Nandi (@sheetalkamat) Here are the results of running the user tests with tsc comparing main and refs/pull/58854/merge:

Something interesting changed - please have a look.

Details

effect

tsconfig.json

@typescript-bot

Copy link
Copy Markdown
Contributor

Sheetal Nandi (@sheetalkamat)
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Compiler-Unions - node (v18.15.0, x64)
Errors3030~~~p=1.000 n=6
Symbols62,15362,153~~~p=1.000 n=6
Types50,24250,242~~~p=1.000 n=6
Memory used193,462k (± 0.97%)193,456k (± 0.92%)~192,193k195,753kp=0.810 n=6
Parse Time1.58s (± 0.65%)1.57s (± 0.74%)~1.55s1.58sp=0.491 n=6
Bind Time0.87s (± 0.94%)0.87s (± 0.87%)~0.86s0.88sp=0.729 n=6
Check Time11.39s (± 0.31%)11.40s (± 0.40%)~11.33s11.46sp=0.872 n=6
Emit Time3.26s (± 0.36%)3.26s (± 0.86%)~3.21s3.29sp=0.869 n=6
Total Time17.09s (± 0.20%)17.09s (± 0.47%)~16.95s17.19sp=0.686 n=6
angular-1 - node (v18.15.0, x64)
Errors55~~~p=1.000 n=6
Symbols944,104944,104~~~p=1.000 n=6
Types407,044407,044~~~p=1.000 n=6
Memory used1,218,572k (± 0.00%)1,218,505k (± 0.00%)-67k (- 0.01%)1,218,482k1,218,528kp=0.010 n=6
Parse Time7.97s (± 0.86%)7.96s (± 0.31%)~7.92s7.99sp=0.688 n=6
Bind Time2.24s (± 0.77%)2.23s (± 0.67%)~2.22s2.25sp=0.323 n=6
Check Time36.28s (± 0.23%)36.22s (± 0.16%)~36.14s36.28sp=0.149 n=6
Emit Time17.81s (± 0.34%)17.82s (± 0.37%)~17.71s17.89sp=0.810 n=6
Total Time64.30s (± 0.24%)64.24s (± 0.21%)~63.99s64.39sp=0.423 n=6
mui-docs - node (v18.15.0, x64)
Errors55~~~p=1.000 n=6
Symbols2,132,3012,132,301~~~p=1.000 n=6
Types926,081926,081~~~p=1.000 n=6
Memory used2,114,966k (± 0.00%)2,114,934k (± 0.00%)~2,114,808k2,115,053kp=0.575 n=6
Parse Time7.86s (± 0.24%)7.87s (± 0.25%)~7.83s7.89sp=0.738 n=6
Bind Time2.75s (± 0.96%)2.74s (± 0.55%)~2.73s2.77sp=0.517 n=6
Check Time83.52s (± 1.08%)83.95s (± 0.59%)~83.40s84.61sp=0.471 n=6
Emit Time0.16s (± 5.21%)0.16s (± 3.95%)~0.15s0.17sp=0.432 n=6
Total Time94.29s (± 0.94%)94.72s (± 0.53%)~94.14s95.37sp=0.378 n=6
self-build-src - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,229,5421,229,411-131 (- 0.01%)~~p=0.001 n=6
Types260,916260,872-44 (- 0.02%)~~p=0.001 n=6
Memory used2,344,302k (± 0.05%)2,344,034k (± 0.04%)~2,342,196k2,344,923kp=1.000 n=6
Parse Time4.97s (± 0.82%)4.98s (± 0.62%)~4.93s5.01sp=1.000 n=6
Bind Time1.88s (± 0.52%)1.88s (± 1.48%)~1.84s1.91sp=0.745 n=6
Check Time34.10s (± 0.44%)34.21s (± 0.23%)~34.11s34.32sp=0.199 n=6
Emit Time2.72s (± 2.15%)2.72s (± 1.95%)~2.65s2.79sp=1.000 n=6
Total Time43.69s (± 0.40%)43.83s (± 0.18%)~43.75s43.96sp=0.471 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,229,5421,229,411-131 (- 0.01%)~~p=0.001 n=6
Types260,916260,872-44 (- 0.02%)~~p=0.001 n=6
Memory used2,421,018k (± 0.04%)2,422,071k (± 0.01%)+1,053k (+ 0.04%)2,421,583k2,422,497kp=0.045 n=6
Parse Time6.28s (± 0.70%)6.26s (± 0.19%)~6.25s6.28sp=0.228 n=6
Bind Time2.00s (± 0.80%)2.00s (± 1.57%)~1.97s2.06sp=0.934 n=6
Check Time40.60s (± 0.27%)40.54s (± 0.44%)~40.35s40.84sp=0.471 n=6
Emit Time3.20s (± 3.18%)3.13s (± 1.44%)~3.06s3.19sp=0.423 n=6
Total Time52.08s (± 0.42%)51.94s (± 0.29%)~51.75s52.17sp=0.230 n=6
self-compiler - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols258,665258,633-32 (- 0.01%)~~p=0.001 n=6
Types104,931104,889-42 (- 0.04%)~~p=0.001 n=6
Memory used428,319k (± 0.03%)428,167k (± 0.01%)-153k (- 0.04%)428,116k428,219kp=0.008 n=6
Parse Time3.31s (± 0.75%)3.30s (± 0.47%)~3.28s3.32sp=0.462 n=6
Bind Time1.30s (± 1.05%)1.30s (± 0.76%)~1.29s1.31sp=0.801 n=6
Check Time18.04s (± 0.29%)18.07s (± 0.11%)~18.04s18.10sp=0.227 n=6
Emit Time1.40s (± 1.23%)1.38s (± 1.48%)~1.36s1.41sp=0.222 n=6
Total Time24.04s (± 0.37%)24.05s (± 0.13%)~24.00s24.09sp=0.936 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors3535~~~p=1.000 n=6
Symbols224,565224,565~~~p=1.000 n=6
Types93,73493,734~~~p=1.000 n=6
Memory used369,662k (± 0.03%)369,639k (± 0.04%)~369,408k369,873kp=0.810 n=6
Parse Time3.45s (± 0.70%)3.44s (± 0.80%)~3.41s3.48sp=0.806 n=6
Bind Time1.94s (± 1.40%)1.95s (± 0.70%)~1.93s1.96sp=0.560 n=6
Check Time19.38s (± 0.30%)19.33s (± 0.28%)~19.26s19.40sp=0.125 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time24.78s (± 0.27%)24.72s (± 0.22%)~24.63s24.78sp=0.199 n=6
vscode - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols2,853,8422,853,842~~~p=1.000 n=6
Types968,167968,167~~~p=1.000 n=6
Memory used3,020,740k (± 0.00%)3,020,693k (± 0.00%)~3,020,621k3,020,731kp=0.066 n=6
Parse Time13.65s (± 0.36%)13.67s (± 0.12%)~13.64s13.68sp=0.677 n=6
Bind Time4.21s (± 2.12%)4.17s (± 0.25%)~4.16s4.19sp=0.459 n=6
Check Time73.81s (± 0.29%)74.00s (± 0.58%)~73.58s74.83sp=0.872 n=6
Emit Time23.65s (± 1.08%)23.71s (± 1.39%)~23.20s24.21sp=0.689 n=6
Total Time115.31s (± 0.26%)115.55s (± 0.28%)~115.03s115.94sp=0.128 n=6
webpack - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols266,914266,914~~~p=1.000 n=6
Types108,685108,685~~~p=1.000 n=6
Memory used411,414k (± 0.02%)411,384k (± 0.02%)~411,332k411,506kp=0.336 n=6
Parse Time3.81s (± 0.68%)3.80s (± 0.40%)~3.79s3.83sp=0.565 n=6
Bind Time1.69s (± 0.48%)1.69s (± 0.61%)~1.68s1.71sp=0.270 n=6
Check Time16.96s (± 0.35%)16.93s (± 0.40%)~16.82s17.00sp=0.470 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time22.46s (± 0.29%)22.42s (± 0.31%)~22.33s22.51sp=0.422 n=6
xstate-main - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols523,429523,429~~~p=1.000 n=6
Types177,955177,955~~~p=1.000 n=6
Memory used461,398k (± 0.05%)461,637k (± 0.07%)~461,183k461,966kp=0.128 n=6
Parse Time3.15s (± 0.65%)3.17s (± 0.44%)~3.15s3.18sp=0.162 n=6
Bind Time1.18s1.18s (± 0.44%)~1.18s1.19sp=0.174 n=6
Check Time18.18s (± 0.25%)18.24s (± 0.46%)~18.15s18.39sp=0.127 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time22.51s (± 0.21%)22.58s (± 0.36%)~22.51s22.74sp=0.051 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)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

Developer Information:

Download Benchmarks

@jakebailey

Copy link
Copy Markdown
Member

This is going to be awesome for benchmarking and extended testing, since we'll actually be able to build build-mode projects without them short circuiting, right?

@typescript-bot

Copy link
Copy Markdown
Contributor

Sheetal Nandi (@sheetalkamat) Here are the results of running the top 400 repos with tsc comparing main and refs/pull/58854/merge:

Everything looks good!

@sheetalkamat

Copy link
Copy Markdown
MemberAuthor

This is going to be awesome for benchmarking and extended testing, since we'll actually be able to build build-mode projects without them short circuiting, right?

Yes. While debugging you could just build without having to block on errors

@sheetalkamat

Copy link
Copy Markdown
MemberAuthor

#58854 (comment) shows how more packages are being built and errors are reported

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Since we don't do project concatenation anymore, there's not even a reason to block when noEmitOnError is set, neat.

@jakebaileyJake Bailey (jakebailey) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

So excited for this one.

Are there any issues that this closes? I assume that docs will have to be updated too (surely we document the short circuiting somewhere...).

I also assume that nobody's hard depending on this behavior and we don't need some sort of flag to ask build mode to bail early on failures?

@sheetalkamat

Copy link
Copy Markdown
MemberAuthor

I am hoping we dont need a flag. If the need arises we should evaluate adding the flag at that point.

@DanielRosenwasser

Copy link
Copy Markdown
Member

Could that flag be --noEmitOnError?

@sheetalkamat

Copy link
Copy Markdown
MemberAuthor

Daniel Rosenwasser (@DanielRosenwasser) when i was working on this, i tried that option already and it has no effect, because "d.ts" files from referenced projects will not have errors and blocking project build just because its dependency had error means nothing really. its really whether d.ts file from referenced project has changed or not.

@stavalfi

Copy link
Copy Markdown

Sheetal Nandi (@sheetalkamat) Does this PR means that if project1 depends on project2, if project 2 has an error, I would eventually see compilation errors in both projects?
if yes, this is such an awasome PR!!!!!

@sheetalkamat

Copy link
Copy Markdown
MemberAuthor

Sheetal Nandi (@sheetalkamat) Does this PR means that if project1 depends on project2, if project 2 has an error, I would eventually see compilation errors in both projects? if yes, this is such an awasome PR!!!!!

Yes

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Author: TeamFor Uncommitted BugPR for untriaged, rejected, closed or missing bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@sheetalkamat@typescript-bot@jakebailey@DanielRosenwasser@stavalfi@weswigham