Fix PostCSS crash when using toJSON() #18083
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.
When I added source maps to PostCSS I mistakenly assumed that
.source
on a node could beundefined
. The comment above the property in PostCSS says thatsource
can beundefined
but this is a commentary on the value upon access not its expected value on write:Rather, what these types mean is that if the property exists it must be defined. But otherwise the property can be missing if a node has no source location metadata. This generally wasn't a problem with the string-returning APIs but the
toJSON()
API in PostCSS expects thatsource
is defined if present. This caused a crash because our license comment doesn't have a source location.I've addressed this by deleting the
source
property from the node if source location data is not available.Fixes #18082
ref parcel-bundler/parcel#10161