You can use Stylelint on the command line. For example:
npx stylelint "**/*.css"
You should include quotation marks around file globs.
If you are using npm scripts, you'll need to escape the quotes:
{
"scripts": {
"lint": "stylelint \"**/*.css\""
}
}
Use npx stylelint --help
to print the CLI documentation.
The CLI accepts:
The process exits without throwing an error when glob pattern matches no files. More info.
Path to a file or directory for the cache location. More info.
Strategy for the cache to use for detecting changed files. Can be either "metadata" or "content". More info.
Store the results of processed files so that Stylelint only operates on the changed ones. By default, the cache is stored in ./.stylelintcache
in process.cwd()
. More info.
Force enabling/disabling of color.
Absolute path to the directory that relative paths defining "extends", "plugins", and "customSyntax" are relative to. Only necessary if these values are relative paths. More info.
Path to a JSON, YAML, or JS file that contains your configuration object. More info.
Specify a custom syntax to use on your code. More info.
Disable the default ignores. Stylelint will not automatically ignore the contents of node_modules
. More info.
Automatically fix, where possible, problems reported by rules. More info.
Specify the formatter to format your results. More info.
Options in JSON format passed to globby. More info.
Ignore stylelint-disable
(e.g. /* stylelint-disable block-no-empty */
) comments. More info.
Path to a file containing patterns that describe files to ignore. The path can be absolute or relative to process.cwd()
. You can repeat the option to provide multiple paths. By default, Stylelint looks for .stylelintignore
in process.cwd()
. More info.
Pattern of files to ignore (in addition to those in .stylelintignore
).
Set a limit to the number of warnings accepted. More info.
Path of file to write a report. Stylelint outputs the report to the specified filename
in addition to the standard output.
Print the configuration for the given input path. Globs are unsupported.
Only register problems for rules with an "error"-level severity (ignore "warning"-level). More info.
Ignore deprecation warnings. More info.
Produce a report of the stylelint-disable
comments without a description. More info.
Produce a report of the stylelint-disable
comments that used for rules that don't exist within the configuration object. More info.
Produce a report to clean up your codebase, keeping only the stylelint-disable
comments that serve a purpose. More info.
A filename to assign the input. More info.
Accept stdin input even if it is empty.
Show the currently installed version of Stylelint.
The CLI expects input as either a file glob or process.stdin
. It outputs formatted results into process.stdout
.
You should include quotation marks around file globs.
Recursively linting all .css
files in the foo
directory:
stylelint "foo/**/*.css"
Linting all .css
, .scss
, and .sass
files:
stylelint "**/*.{css,scss,sass}"
Linting stdin
:
echo "a { color: pink; }" | stylelint
Linting all .css
files except those within docker
subfolders, using negation in the input glob:
stylelint "**/*.css" "!**/docker/**"
Caching processed .scss
files foo
directory:
stylelint "foo/**/*.scss" --cache --cache-location "/Users/user/.stylelintcache/"
Linting all .css
files in the foo
directory, then writing the output to myTestReport.txt
:
stylelint "foo/*.css" --output-file myTestReport.txt
Using bar/mySpecialConfig.json
as config to lint all .css
files in the foo
directory and any of its subdirectories:
stylelint "foo/**/*.css" --config bar/mySpecialConfig.json
Recursively linting all .css
files in the foo
directory using a custom syntax:
stylelint "foo/**/*.css" --customSyntax path/to/my-custom-syntax.js
Ensure output on successful runs:
stylelint -f verbose "foo/**/*.css"
Print a configuration used for the given input file:
stylelint test.css --print-config
The CLI can exit the process with the following exit codes:
1
- something unknown went wrong2
- there was at least one rule problem or CLI flag error78
- there was some problem with the configuration file