.. | ||
node_modules | ||
rules | ||
utils | ||
CHANGELOG.md | ||
index.js | ||
LICENSE.md | ||
package.json | ||
README.md |
stylelint-order
A plugin pack of order-related linting rules for stylelint. Every rule supports autofixing (stylelint --fix
).
Installation
- If you haven't, install stylelint:
npm install stylelint --save-dev
- Install
stylelint-order
:
npm install stylelint-order --save-dev
Usage
Add stylelint-order
to your stylelint config plugins
array, then add rules you need to the rules list. All rules from stylelint-order need to be namespaced with order
.
{
"plugins": [
"stylelint-order"
],
"rules": {
"order/order": [
"custom-properties",
"declarations"
],
"order/properties-order": [
"width",
"height"
]
}
}
Rules
order
: Specify the order of content within declaration blocks.properties-order
: Specify the order of properties within declaration blocks.properties-alphabetical-order
: Specify the alphabetical order of properties within declaration blocks.
Autofixing
Every rule supports autofixing with stylelint --fix
. postcss-sorting is used internally for order autofixing.
Automatic sorting has some limitations that are described for every rule, if any. Please, take a look at how comments are handled by postcss-sorting
.
CSS-in-JS styles with template interpolation could be ignored by autofixing to avoid style corruption.
Autofixing is enabled by default if it's enabled in stylelint's configuration file. It can be disabled on a per rule basis using the secondary option disableFix: true
. Here's an example:
"rules": {
"order/order": [
[
"custom-properties",
"declarations"
],
{
"disableFix": true
}
]
}
Less may work but isn't officially supported.
Example configs
All these configs have properties-order
configured with logical properties groups:
stylelint-config-idiomatic-order
stylelint-config-hudochenkov/order
stylelint-config-recess-order
stylelint-config-property-sort-order-smacss
Thanks
properties-order
and properties-alphabetical-order
code and README were based on the declaration-block-properties-order
rule which was a core rule prior to stylelint 8.0.0.