fix: prevent UnhandledPromiseRejectionWarning when module resolution/parsing fails #4228
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 PR contains:
Are tests included?
Breaking Changes?
List any relevant issue numbers:
resolves #4217
Description
This fixes an instance where rollup can cause an unhandled rejection during normal programmatic usage. There isn't a simple way to test this since as of Node 15, a test would amount to ensuring that the process doesn't exit when you force a module resolution error.
I temporarily enabled
@typescript-eslint/no-floating-promises
with parserServices to check if there were any other places that had floating promises outside ofModuleLoader.ts
and saw the following:I didn't notice anything else that seemed dangerous, all the other cases were either already handled imperatively or were innocuous
.close()
calls that would only marginally benefit from a handler which logs a warning.