eslint / eslint/css

New Rule: `no-shorthand-property-overrides`

Open
#495 1 comment 0 reactions 1 assignee Claimed by @przemyslaw-zan View on GitHub
feature
Dominant language
JavaScript
Stars
308
Forks
44
Avg merge
2d 6h
Merged PRs (30d)
18

Description

### Rule details

Disallow shorthand properties that override related longhand properties.

### What type of rule is this?

Warns about a potential problem

### Example code

```css
a {
padding-left: 10px;
padding: 20px;
}

a {
background-repeat: no-repeat;
background: url(image.png); /* silently resets background-repeat to its initial value */
}
```

### Prior Art

- https://stylelint.io/user-guide/rules/declaration-block-no-shorthand-property-overrides/

### Participation

- [x] I am willing to submit a pull request to implement this rule.

### AI acknowledgment

- [x] I did not use AI to generate this issue report.
- [ ] (If the above is not checked) I have reviewed the AI-generated content before submitting.

### Additional comments

- Detection would be purely name-based, a shorthand always resets all its longhands regardless of their value, so the rule needs no value parsing, just a map which is available in `@webref/css`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.