stylelint-config-valantic
Version:
Default valantic configuration for stylelint.
113 lines (79 loc) • 2.86 kB
Markdown
# valantic stylelint configuration
To ensure a high an consistent code quality for SCSS/CSS we use stylelint.
[https://stylelint.io/](https://stylelint.io/)
## Version
Our config is currently optimized for Stylelint 13.0.0 To check for updates, see [https://github.com/stylelint/stylelint/releases](https://github.com/stylelint/stylelint/releases)
**Note that Stylelint is not backwards compatible and linting will fail if the configuration contains settings, which are not known to the current version!**
## Installing stylelint-config-valantic package
```shell
npm install stylelint-config-valantic stylelint --save-dev
```
### Create config
In the root of your project add a `.stylelintrc.js` file and add the following content to enable the valantic config for your project.
```js
module.exports = {
"extends": "stylelint-config-valantic",
"rules": {
// Project related rules
}
}
```
### Create --fix config
It is recommended to have a separate `--fix` config, that uses some additional rules (e.g. for property order) to hide non-blocking issues from the user but auto apply them on git hooks.
1. Create an additional `.stylelintrc.fix.js` file
```js
module.exports = {
extends: [
'stylelint-config-valantic/fix',
'./.stylelintrc.js'
],
};
```
**NOTE: using `--config` in the fix command will disable the auto-merging of nested stylelint configurations.** It therefore is recommended to move folder specific conigurations to the `overrides` section of the base configuration.
```js
module.exports = {
overrides: [
{
files: ['src/styleguide/routes/**/*.*'],
rules: {
'selector-class-pattern': null,
}
}
]
};
```
2. Add a `package.json` script, if you want to test manually.
```json
{
"stylelint": "stylelint --cache 'src/**/*.?(vue|scss)'",
"stylelint:fix": "npm run stylelint -- --cache=false --config .stylelintrc.fix.js --fix"
}
```
3. Assign the `--fix` config for `lint-staged`.
```json
{
"lint-staged": {
"*.{css,vue,scss}": [
"stylelint --config .stylelintrc.fix.js --fix"
]
}
}
```
## Use
Now you're ready to enable Stylelint in your editor or use it on the command line!
### PhpStorm
Go to `PhpStorm > Preferences` and search for Stylelint or navigate to `Languages & Frameworks > Stylesheets > Stylelint` and enable it.
### Console
You can also lint your code from the console. To do this, add a script to your `package.json`.
```
"scripts": {
"stylelint": "stylelint 'app/**/*.scss' --config .stylelintrc; exit 0"
}
```
Now you can execute the linter with the following command.
```
$ npm run stylelint
```
## Know issues
### Undefined rule
In case you get errors like "Undefined rule ..." you may have a version conflict between Stylelint and this configuration. Make sure you're using the above mentioned Stylelint version.