Simplify typescript definition files #1854
Merged
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 removes the build step which converts an "ambient" type definition file into a "non-ambient" one. Since our local tests all run against the source file, this ensures the tested file is exactly the same as the exported one, and updates the exports to support all "UMD" use cases, both ambient (sourced file with a
/// <reference>
and non-ambient module exports.As a result, we no longer need to explicity mark each type within the exported module
I'm ~90% sure this is the correct way to set up the module and UMD exports, but would be very happy to have a second set of eyes on this.
This also changes the upper-case source files to lower-case so they can be directly copied during build.
Tested by creating a new vanilla typescript project and importing the built npm directory and tested a bunch of imports of Immutable to ensure the types were being correctly referenced.