Add 'types' field to 'exports' for modern TypeScript/Node resolution. #61
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.
TL;DR I ran the native port of TypeScript on Element. This PR helps make sure that Element can build cleanly with
--moduleResolution bundler
, and therefore, will build more cleanly with future versions of TypeScript.If you run https://arethetypeswrong.github.io/ on this package, you'll get something like the following:
While this package works:
--moduleResolution node
(a.k.a.node10
)unfortunately, it will not correctly find the
.d.ts
file for projects that use modern Node.js resolution (e.g.--moduleResolution NodeNext
or--moduleResolution Bundler
). This matters because in upcoming versions of TypeScript,--module node10
will be deprecated. So projects like Element will have a build error.This fix should fix the last two rows, though I believe things will still be off if consuming files from CJS (due to this issue). To fix that, you'll probably need slightly more involved change with a
.d.cts
file or something.Note
You can run AreTheTypesWrong locally with the CLI.