Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle noEmit and noEmitOnError with SemanticDiagnosticsBuilder #40880

Merged
merged 8 commits into from Oct 10, 2020

Conversation

sheetalkamat
Copy link
Member

This ensures that diagnostics are checked through cache/or cached in builder instead of getting it from Program when emit is called and its going to fail in these two scenarios. We already do this for EmitAndSemanticDiagnosticsBuilder
Note that actual emit when succeeds on SemanticDiagnosticsBuilder is going to be redirected to program as intended as the emit is not tracked by the builder and would need to typecheck file before emitting as always but this ensures that cases where it fails to emit are handled.
Fixes #40808

@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Oct 1, 2020
@sandersn sandersn added this to Not started in PR Backlog Oct 8, 2020
@sandersn sandersn moved this from Not started to Needs review in PR Backlog Oct 9, 2020
Copy link
Member

@sandersn sandersn left a comment

Choose a reason for hiding this comment

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

Looks reasonable although I'm not familiar with this area of the code.

src/compiler/builder.ts Outdated Show resolved Hide resolved
PR Backlog automation moved this from Needs review to Needs merge Oct 9, 2020
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
src/compiler/builder.ts Outdated Show resolved Hide resolved
@sheetalkamat sheetalkamat merged commit a4b9bba into master Oct 10, 2020
PR Backlog automation moved this from Needs merge to Done Oct 10, 2020
@sheetalkamat sheetalkamat deleted the semanticBuilderWithNoEmit branch October 10, 2020 00:25
@DanielRosenwasser
Copy link
Member

@typescript-bot cherry-pick this to release-4.0

@typescript-bot
Copy link
Collaborator

typescript-bot commented Oct 14, 2020

Heya @DanielRosenwasser, I've started to run the task to cherry-pick this into release-4.0 on this PR at 174b00a. You can monitor the build here.

@DanielRosenwasser DanielRosenwasser restored the semanticBuilderWithNoEmit branch October 14, 2020 23:51
typescript-bot pushed a commit to typescript-bot/TypeScript that referenced this pull request Oct 14, 2020
Component commits:
ca35546 Add test that fails

c7b5005 Handle noEmit on semantic builder's emit as well

6a05abd Add test for tsbuildinfo text verification

8bae521 Fix noEmit handling for tsbuildinfo emit with SemanticDiagnosticBuilder

0fd4a08 Add test for noEmitOnError with SemanticDiagnosticsBuilder

4fa1d78 Fix tsbuildinfo emit with SemanticDiagnosticsBuilder on noEmitOnError

a3968e7 Update src/compiler/builder.ts
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
174b00a Update src/compiler/builder.ts
@typescript-bot
Copy link
Collaborator

Hey @DanielRosenwasser, I've opened #41107 for you.

@sheetalkamat sheetalkamat deleted the semanticBuilderWithNoEmit branch October 15, 2020 01:55
sheetalkamat added a commit that referenced this pull request Oct 15, 2020
Component commits:
ca35546 Add test that fails

c7b5005 Handle noEmit on semantic builder's emit as well

6a05abd Add test for tsbuildinfo text verification

8bae521 Fix noEmit handling for tsbuildinfo emit with SemanticDiagnosticBuilder

0fd4a08 Add test for noEmitOnError with SemanticDiagnosticsBuilder

4fa1d78 Fix tsbuildinfo emit with SemanticDiagnosticsBuilder on noEmitOnError

a3968e7 Update src/compiler/builder.ts
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
174b00a Update src/compiler/builder.ts

Co-authored-by: Sheetal Nandi <shkamat@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug
Projects
PR Backlog
  
Done
Development

Successfully merging this pull request may close these issues.

Performance regression in 4.0 with semantics-only createWatchProgram?
4 participants