Do not register ambient classes to the TS scope#10352
Merged
existentialism merged 2 commits intobabel:masterfrom Aug 20, 2019
Merged
Do not register ambient classes to the TS scope#10352existentialism merged 2 commits intobabel:masterfrom
existentialism merged 2 commits intobabel:masterfrom
Conversation
This is what we already did for ambient functions, since they follow complex rules regarding declaration merging. This changes effectively disables duplicate declaration errors about ambitent classes. While it's not exactly the TypeScript compiler's behavior, is a close enough approximation which makes it easy for us to allow ambient classes to merge with function declarations.
Collaborator
|
Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/11344/ |
Jessidhia
approved these changes
Aug 19, 2019
Member
Jessidhia
left a comment
There was a problem hiding this comment.
Sounds good to me.
This will unintentionally accept declare class C {}; declare class C {} as well but that shouldn't be a big deal.
Member
Author
Yeah, I think that even if we don't throw for all the invalid TS programs it's ok, since people will also use |
JLHwung
approved these changes
Aug 20, 2019
This was referenced Sep 17, 2019
This was referenced Oct 3, 2019
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is what we already did for ambient functions, since they
follow complex rules regarding declaration merging.
This changes effectively disables duplicate declaration errors
about ambitent classes. While it's not exactly the TypeScript
compiler's behavior, is a close enough approximation which
makes it easy for us to allow ambient classes to merge with
function declarations.