fix(gatsby,gatsby-cli): Correct behavior for reporter.error with pluginName #30331
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.
Description
Passing the Error object to e.g.
reporter.panic
(or allreporter.error
invocations really) wasn't working as intended. It always showed the "There was an error" generic error.The culprit is that
gatsby/packages/gatsby/src/utils/api-runner-node.js
Lines 178 to 189 in 9429b3b
gatsby/packages/gatsby-cli/src/reporter/reporter.ts
Lines 106 to 109 in 3db77a5
So instead of repeating the code and possibly diverge in the future,
pluginName
is now passed as an optional third param.I've also updated the default catch-all error to be more helpful and added tests to show that correct behavior.
Documentation
The API docs for now will still promote
reporter.panic('text', new Error('text'))
Related Issues
[ch27056]