Sorts related CSS property declarations by grouping them together.
If you have set your code editor to format (run prettier) on safe, it will order your styles automatically. Isn't that convenient?
- Vanilla CSS
- SCSS/SASS
- Maybe other formats. But I did not test everything.
npm --save install prettier-plugin-rational-order
or (if you use Yarn)
yarn add --dev prettier-plugin-rational-order
That's it. Prettier should pick up this plugin only in fact that the name of this module starts with prettier-plugin-
.
You can define where this plugin is placed so both your code editor and your CLI knows about the placement:
// .prettierrc
{
...
"plugins": ["../../node_modules/prettier-plugin-rational-order"]
}
You may guessed it, you need prettier installed as well.
It will sort your styles in these groups:
- Positioning
- Box Model
- Typography
- Visual
- Animation
- Misc
.declaration-order {
/* Positioning */
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 10;
display: block;
float: right;
/* Box Model */
width: 16rem;
height: 16rem;
margin: 2rem;
padding: 1rem;
color: #111;
/* Typography */
font: normal 1rem Helvetica, sans-serif;
line-height: 1.5rem;
text-align: left;
/* Visual */
background-color: #eee;
border: 1px solid #888;
border-radius: 0.25rem;
opacity: 1;
/* Animation */
transition: all 1s;
/* Misc */
user-select: none;
}
Thanks to stylelint-config-rational-order for inspiration.