Move module resolution before config #8448
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.
↪️ Pull Request
Parcel shouldn't ignore the existing tsconfig's module resolution. This PR moves the
moduleResolution
property up before the expansion ofconfig
. That way if the user provides amoduleResolution
in their.tsconfig
, Parcel doesn't override it.💻 Examples
The issue occurs when using
NodeNext
as a module resolution. Since Parcel overrides the module resolution, packages that usepackage.json:exports
are no longer resolvable by TypeScript.🚨 Test instructions
Import a package that uses
exports
in thepackage.json
file, then make Parcel export types. Warnings will be thrown from TypeScript about missing modules. If your.tsconfig
hasNodeNext
as themoduleResolution
, then Parcel shouldn't override it. With it not overridden, the warnings do not occur.Notes
I'm using my package @kkirbatski/parcel-resolver-require-resolve to make Parcel compatible with
exports
inpackage.json
.✔️ PR Todo