Fix Regexp used for CSS comment detection #32
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.
Addresses #30 (comment)
Previously the
*
was not escaped in theSOURCE_MAPPING_PATTERN
Regexp, so it was being interpreted as a "zero or more" quantifier on the previous character (/
), rather than as a literal*
as intended. This meant that the Regexp matched the prefix# sourceMappingURL=
even when it did not appear inside a CSS comment (since zero leading/
characters is a valid match). This PR fixes the Regexp to properly escape the*
character, so that it'll only match/*# sourceMappingURL=
.The test added in 9dafe50 demonstrates an example where the Regexp was previously working incorrectly (it fails when the
*
is not escaped). Additionally, I changed the Regexp literals to use%r
syntax so that we don't have to escape the/
characters to make them easier to follow (1b030f6), and I made the pattern a bit stricter so that we can ignore comments that don't appear at the beginning of the line when searching for comments to replace (1dd7799).