fix(lib/node): change ERR_INVALID_PACKAGE_TARGET to ERR_PACKAGE_PATH_NOT_EXPORTED when no package.json#exports condition matches #29841
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.
related: #29374
The error message changed from ERR_INVALID_PACKAGE_TARGET to ERR_PACKAGE_PATH_NOT_EXPORTED when no package.json#exports condition matched.
Node.js uses the same error message in this situation.
There might be a more appropriate error message, but for now, I've matched the default behavior of Node.js.
Supplements
Why just removing InvalidPackageTargetError at resolve_package_target_inner leads to PackagePathNotExportedError is that Ok(None) from resolve_package_target_inner will be passed to resolve_package_target -> package_exports_resolve_internal then package_exports_resolve_internal considers None as a PackagePathNotExportError
package_exports_resolve_internal
Screenshots
Before
After
reference: node.js