Fix: Handle multiline comments in parseWithComments #12845
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.
Summary
This problem was found while using prettier with pragmas enabled and I
backtracked it to the
parseWithComments
function from jest-docblock.In this context it is especially problematic in cases were the top level
comment is not formatted as a dock lock but a "multi-line comment" to
disable an es-lint rule.
Sample:
Gets transformed to:
Especially given the fact that the
extract
function seems to handlethis case correctly.
Therefore this solution alters the commentStartRe to keep the second * as
optional. This should ensure that all existing use cases work as expected
with proper docblocks but also ensures that an "invalid" multiline comment
works as well.
Links:
https://github.com/ullumullu/jest/blob/main/packages/jest-docblock/src/__tests__/index.test.ts#L29
Test plan