What is stylelint-config-recommended-vue?
The stylelint-config-recommended-vue package provides a set of recommended rules for Stylelint to lint Vue.js single-file components (SFCs). It helps enforce consistent styling and best practices in Vue.js projects.
What are stylelint-config-recommended-vue's main functionalities?
Basic Linting for Vue SFCs
This configuration extends the recommended rules for linting Vue single-file components, ensuring that your styles adhere to best practices and common standards.
{"extends":["stylelint-config-recommended-vue"]}
Integration with Stylelint
You can integrate stylelint-config-recommended-vue with your project's Stylelint setup to lint all Vue files. This script will check all .vue files in your project for style issues.
{"scripts":{"lint:css":"stylelint '**/*.vue'"}}
Customizable Rules
You can customize the rules provided by stylelint-config-recommended-vue to fit your project's specific needs. This example shows how to enable additional rules like 'color-no-invalid-hex' and 'block-no-empty'.
{"extends":["stylelint-config-recommended-vue"],"rules":{"color-no-invalid-hex":true,"block-no-empty":true}}
Other packages similar to stylelint-config-recommended-vue
stylelint-config-standard
The stylelint-config-standard package provides a standard set of rules for Stylelint, which can be used for any CSS project, not just Vue.js. It is more general-purpose compared to stylelint-config-recommended-vue, which is specifically tailored for Vue single-file components.
stylelint-config-recommended
The stylelint-config-recommended package offers a minimal set of rules to catch common errors in CSS. While it is not specific to Vue.js, it can be used as a base configuration for any project, including those using Vue.
stylelint-config-prettier
The stylelint-config-prettier package turns off all Stylelint rules that are unnecessary or might conflict with Prettier. This package is useful if you are using Prettier for code formatting in addition to Stylelint for linting, but it does not provide Vue-specific rules like stylelint-config-recommended-vue.
stylelint-config-recommended-vue
The recommended shareable Vue config for Stylelint.
This config:
Requirements
- Stylelint v14.0.0 and above
It cannot be used with Stylelint v13 and below.
To see the rules that this config uses, please read the config itself.
:cd: Installation
npm install --save-dev postcss-html stylelint-config-recommended-vue
:book: Usage
Set your stylelint
config to:
{
"extends": "stylelint-config-recommended-vue"
}
Note: This config enables rules for only .vue
files.
If you don't want the rules to be overridden (If you want to enable only the parser.), please use stylelint-config-html.
{
"extends": "stylelint-config-html/vue"
}
Since this package configure customSyntax
option to allow parsing Vue files, be sure it is the LAST item into the extends
array, in case more than one configuration is applied.
Not complying to this rule may result in broken Vue files parsing, generating confusing errors like Unknown word (CssSyntaxError)
.
With SCSS
Install stylelint-config-recommended-scss
:
npm install --save-dev stylelint-config-recommended-scss
Set your stylelint
config to:
{
"extends": "stylelint-config-recommended-vue/scss"
}
When used with stylelint-config-standard-scss
:
{
"extends": [
"stylelint-config-standard-scss",
"stylelint-config-recommended-vue/scss"
]
}
However, some stylistic rules may not work well with Vue. We recommend that you install stylelint-config-standard-vue instead.
Extending the config
Simply add a "rules"
key to your config, then add your overrides and additions there.
For example, to add the unit-allowed-list
rule:
{
"extends": "stylelint-config-recommended-vue",
"overrides": [
{
"files": ["*.vue", "**/*.vue"],
"rules": {
"unit-allowed-list": ["em", "rem", "s"]
}
}
]
}
:computer: Editor integrations
Visual Studio Code
Use the stylelint.vscode-stylelint extension that Stylelint provides officially.
You have to configure the stylelint.validate
option of the extension to check .vue
files, because the extension does not check the *.vue
file by default.
Example .vscode/settings.json:
{
"stylelint.validate": [
...,
// ↓ Add "vue" language.
"vue"
]
:lock: License
See the LICENSE file for license rights and limitations (MIT).