Avoid CssMinifier stripping spaces that are followed by colons #214
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.
Fixes #139
The CSS Minifier strips spaces if they're followed by a colon. This is not safe for certain selectors, where maintaining the space is vital to separate the parts of the selector. e.g.:
.classname :where([class~=otherclassname])
This PR includes a new test (which was failing), and removes the clause that allows a space to be removed if it's followed by a colon.
This will reduce minification to some (probably small) extent, but improves correctness. All existing tests still pass unmodified.
I have not tried, but I think that working out where exactly it is safe to remove
<space>:
might require a much more sophisticated minifier, with a much more detailed understanding of the CSS structure - my guess is that's not worth it.