Ruleset for css and sass (scss) code style and linting
If you have previously used
@josundt/sass-lint-config
, follow these instructions to remove:
-
Uninstall
@josundt/sass-lint-config
, ensure dependency is removed fromdevDependencies
-
Remove
sasslintConfig
property frompackage.json
-
Remove all
sass-lint-ignore*
comments from scss files -
Remove npm script
lint:sass
(or similar) frompackage.json
if exists -
Remove
glen-84.sass-lint
from recommended extensions.vscode\extensions.json
.
Uninstall exension from VSCode (optional).
-
Make sure you have installed and set up the package
@josundt/prettier-config
first. -
Install this package
-
Add a
.stylelintrc
file in the workspace root with the following content:{ "extends": ["@josundt/stylelint-config"] }
-
Add a
.stylelintignore
file in the workspace root with typically the following content:dist/**/* node_modules/**/* test.results/**/* test.coverage/**/*
-
Add npm task in package.json
{ // ... "scripts": { // ... "lint:style": "stylelint **/*.{css,scss} -f unix --allow-empty-input" // ... } // ... }
-
When using Visual Studio Code:
a) Install the
stylelint.vscode-stylelint
VSCode extension.b) Add it as a workspace recommended workspace extension through
.vscode/extensions.json
file:{ "recommendations": [ // ... "stylelint.vscode-stylelint" // ... ] // ... }
c) Configure the extension from b) by adding the following to the workspace
.vscode/settings.json
file:{ // ... "scss.validate": false, "stylelint.validate": ["scss"] // ... }
d) Add a task in
.vscode/tasks.json
to enable running stylelint as a VSCode task for the entire workspace:{ "version": "2.0.0", "runner": "terminal", "tasks": [ // ... { "label": "lint:style", "type": "shell", "command": "npx", "args": [ "stylelint", "'**/*.{css,scss}'", "-f", "unix", "--allow-empty-input" ], "group": "build", "problemMatcher": { "fileLocation": "absolute", "owner": "Stylelint", "source": "Stylelint", "pattern": { "regexp": "^(.+):(\\d+):(\\d+): (.+ \\((.*)\\)) \\[(error|warning|info)\\]$", "file": 1, "line": 2, "column": 3, "message": 4, "code": 5, "severity": 6 } } }, // ... ] }