A sharable stylelint config object that enforces Cloud Four's CSS Standards & SUIT naming convention
Install stylelint and stylelint-config-cloudfour-suit
:
npm install stylelint stylelint-config-cloudfour-suit --save-dev
If you've installed stylelint-config-cloudfour-suit
locally within your project, just set your stylelint
config to:
{
"extends": "stylelint-config-cloudfour-suit"
}
You'll probably also want to add a script to your package.json
file to make it easier to run Stylelint with this config:
"scripts": {
"lint:css": "stylelint '**/*.css'"
}
It's common to pair Stylelint with Prettier. If you're going to use both, you'll want to add stylelint-config-prettier
, which is a config that disables any Stylelint rules that conflict with Prettier.
npm install stylelint-config-prettier --save-dev
Then add it to your Stylelint config. It'll need to be the last item in the extends
array so it can override other configs.
{
extends: ["stylelint-config-cloudfour-suit", "stylelint-config-prettier"],
}
Then you can update your package.json
script to run Prettier as well as Stylelint:
"scripts": {
"lint:css": "prettier --list-different '**/*.css' && stylelint '**/*.css'"
}
Simply add a "rules"
key to your config, then add your overrides and additions there.
For example, to change the at-rule-no-unknown
rule to use its ignoreAtRules
option, change the indentation
to tabs, turn off the number-leading-zero
rule,and add the unit-whitelist
rule:
{
"extends": "stylelint-config-cloudfour-suit",
"rules": {
"at-rule-no-unknown": [ true, {
"ignoreAtRules": [
"extends",
"ignores"
]
}],
"indentation": "tab",
"number-leading-zero": null,
"unit-whitelist": ["em", "rem", "s"]
}
}
- stylelint-config-cloudfour: A sharable stylelint config object that enforces Cloud Four's CSS Standards
- stylelint-selector-bem-pattern: Stylelint plugin that enforces SUIT naming convention (despite the name).
What's the difference between stylelint-config-cloudfour-suit and stylelint-config-cloudfour?
stylelint-config-cloudfour only contains the CSS formatting rules. stylelint-config-cloudfour-suit extends it, and additionally enforces the SUIT naming convention. In most cases, you should use stylelint-config-cloudfour-suit, but if your project doesn't follow the SUIT naming scheme, then you can use stylelint-config-cloudfour directly.