fix: update duplicate checking script regex and deduplication logic#1308
Merged
SAPTARSHI-coder merged 1 commit intoJun 4, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Pull Request Description
Closes #1291. Upgrades the regular expression and logic inside
scripts/check-duplicates.mjsto correctly match::hover,:active,:focus-visible)..class1, .class2).To prevent false duplicate detections from multiple states/rules in the same file (such as
.ease-btn,.ease-btn:hover, and.ease-btn:activeall residing insidecomponents/buttons.css), the script now deduplicates class name definitions at the file level. A class name is only flagged as a duplicate if it is defined across multiple different files in thecoreandcomponentsdirectories.Type of Change
Submission Checklist
submissions/examples/your-feature-name/demo.html— self-contained, opens in browser with no serverstyle.css— raw CSS for the proposed featureREADME.md— what it does, how to use it, why it fits EaseMotion CSScore/components/Feature Description
What does this add?
It improves the duplicate detector script to recognize indented selectors, pseudo-classes, and grouped selectors, while ignoring multiple declarations of the same class in a single file.
Notes for Maintainer
All styles have been validated using
npm run lintand all unit tests pass.The baseline configuration was updated to reflect the cross-file duplicate
ease-btn-hoverwhich is defined in bothcore/animations.cssandcomponents/buttons.css(the latter overrides the transition when inside preferred reduced motion settings).