Fix incorrect usage of package.json types
/main
in package subdirectories
#60696
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.
Fixes a bug I noticed randomly
The content of
moduleResolution_packageJson_yesAtPackageRoot.ts
, for easier reviewing:You can see the resolution of
"foo/bar"
incorrectly looking for/node_modules/foo/bar/types.d.ts
due to package.json content in/node_modules/foo
. (It doesn’t change the final resolution in these tests because/node_modules/foo/bar/types.d.ts
doesn’t exist.) Presumably this problem only escaped detection for ~10 years because whatever value was in package.json"types"
usually is either"index.d.ts"
, which would get looked up in subdirectories anyway, or is a path that doesn’t exist when resolved relative to the subdirectory path.