Fix multiple prefixes in multipass #1168
Closed
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.
imagemin-svgo
enablessvgo
multipass
by default, hence many users reports this issue (#1148).This PR will add a flag to the internal
svgo
AST for each node processed by theprefixIds
plugin to prevent multiple prefixing, which currently happens inmultipass
mode.(Originally the
prefixIds
plugin should check the beginning of each name and skip if it equals the prefix, but there can be occasions where the prefix is the same as a non-prefixed name, and this can result in collisions between SVGs because of skipped prefixing.)