There are separate installations based on whether you use stylelint v13 or stylelint v14
For linting styles with stylelint 13, use @linaria/stylelint.
Install stylelint and optionally your favorite config (such as stylelint-config-recommended) in your project:
yarn add --dev stylelint stylelint-config-recommended @linaria/stylelintAll you need to do is to set your config to extend from @linaria/stylelint.
Here's the example .stylelintrc configuration file:
{
"extends": [
"stylelint-config-recommended",
"@linaria/stylelint"
]
}Please refer to the official stylelint documentation for more info about configuration.
The preprocessor will use the options from the configuration file for processing your files.
For linting styles with stylelint 14, use @linaria/stylelint-config-standard-linaria.
Install stylelint and @linaria/stylelint-config-standard-linaria
yarn add --dev stylelint @linaria/stylelint-config-standard-linariaFor the standard configuration you can extend from @linaria/stylelint-config-standard-linaria.
Here's an example .stylelintrc configuration file:
{
"extends": [
"@linaria/stylelint-config-standard-linaria"
]
}@linaria/stylelint-config-standard-linaria extends stylelint-config-standard which extends stylelint-config-recommended so you do NOT need to add those separately. It also sets the customSyntax as @linaria/postcss-linaria and adds a few rules.
Alternatively, to just use the custom syntax you can add @linaria/postcss-linaria
Here's an example .stylelintrc configuration file:
{
"customSyntax": "@linaria/postcss-linaria"
}Please refer to the official stylelint documentation for more info about configuration.
Stylelint 14 encourages the use of a custom syntax instead of a processor. @linaria/stylelint-config-standard-linaria sets the custom syntax to @linaria/postcss-linaria, a custom syntax for linaria, whereas @linaria/stylelint uses a processor. The custom syntax has the benefit of being able to support stylelint --fix whereas the processor cannot.
Add the following to your package.json scripts:
"lint:css": "stylelint src/**/*.js"Now, you can run yarn lint:css to lint the CSS in your JS files with stylelint.
For more information refer to stylelint documentation.
In order to make the vscode-stylelint extension work with this syntax correctly, you must configure it to validate the files you use linaria in by specifying an array of language identifiers.
You can do this by following these instructions.
For example:
{
"stylelint.validate": ["typescriptreact"]
}