stylelint
  • Docs
  • Demo
  • GitHub
  • Twitter

›Intro

Intro

  • Home

User guide

  • Getting started
  • Configuration
  • Rules

    • About rules
    • Combining rules
    • Using regex in rules
    • List of rules

    Usage

    • Command Line Interface (CLI)
    • Node.js API
    • PostCSS plugin
    • Options

    Integrations

    • Editor integrations
    • Task runner integrations
    • Other integrations
  • Ignoring code
  • Errors & warnings

Developer guide

  • Working on rules
  • Working on syntaxes
  • Writing plugins
  • Writing formatters
  • Writing system tests
  • Writing processors

Maintainer guide

  • Managing issues
  • Managing pull requests
  • Performing releases

About

  • Linting
  • Syntaxes
  • Semantic versioning
  • Vision
  • Contributing
  • Changelog

Rules

  • alpha-value-notation
  • at-rule-allowed-list
  • at-rule-blacklist
  • at-rule-disallowed-list
  • at-rule-empty-line-before
  • at-rule-name-case
  • at-rule-name-newline-after
  • at-rule-name-space-after
  • at-rule-no-unknown
  • at-rule-no-vendor-prefix
  • at-rule-property-required-list
  • at-rule-property-requirelist
  • at-rule-semicolon-newline-after
  • at-rule-semicolon-space-before
  • at-rule-whitelist
  • block-closing-brace-empty-line-before
  • block-closing-brace-newline-after
  • block-closing-brace-newline-before
  • block-closing-brace-space-after
  • block-closing-brace-space-before
  • block-no-empty
  • block-opening-brace-newline-after
  • block-opening-brace-newline-before
  • block-opening-brace-space-after
  • block-opening-brace-space-before
  • color-function-notation
  • color-hex-case
  • color-hex-length
  • color-named
  • color-no-hex
  • color-no-invalid-hex
  • comment-empty-line-before
  • comment-no-empty
  • comment-pattern
  • comment-whitespace-inside
  • comment-word-blacklist
  • comment-word-disallowed-list
  • custom-media-pattern
  • custom-property-empty-line-before
  • custom-property-pattern
  • declaration-bang-space-after
  • declaration-bang-space-before
  • declaration-block-no-duplicate-custom-properties
  • declaration-block-no-duplicate-properties
  • declaration-block-no-redundant-longhand-properties
  • declaration-block-no-shorthand-property-overrides
  • declaration-block-semicolon-newline-after
  • declaration-block-semicolon-newline-before
  • declaration-block-semicolon-space-after
  • declaration-block-semicolon-space-before
  • declaration-block-single-line-max-declarations
  • declaration-block-trailing-semicolon
  • declaration-colon-newline-after
  • declaration-colon-space-after
  • declaration-colon-space-before
  • declaration-empty-line-before
  • declaration-no-important
  • declaration-property-unit-allowed-list
  • declaration-property-unit-blacklist
  • declaration-property-unit-disallowed-list
  • declaration-property-unit-whitelist
  • declaration-property-value-allowed-list
  • declaration-property-value-blacklist
  • declaration-property-value-disallowed-list
  • declaration-property-value-whitelist
  • font-family-name-quotes
  • font-family-no-duplicate-names
  • font-family-no-missing-generic-family-keyword
  • font-weight-notation
  • function-allowed-list
  • function-blacklist
  • function-calc-no-invalid
  • function-calc-no-unspaced-operator
  • function-comma-newline-after
  • function-comma-newline-before
  • function-comma-space-after
  • function-comma-space-before
  • function-disallowed-list
  • function-linear-gradient-no-nonstandard-direction
  • function-max-empty-lines
  • function-name-case
  • function-parentheses-newline-inside
  • function-parentheses-space-inside
  • function-url-no-scheme-relative
  • function-url-quotes
  • function-url-scheme-allowed-list
  • function-url-scheme-blacklist
  • function-url-scheme-disallowed-list
  • function-url-scheme-whitelist
  • function-whitelist
  • function-whitespace-after
  • hue-degree-notation
  • indentation
  • keyframe-declaration-no-important
  • keyframes-name-pattern
  • length-zero-no-unit
  • linebreaks
  • max-empty-lines
  • max-line-length
  • max-nesting-depth
  • media-feature-colon-space-after
  • media-feature-colon-space-before
  • media-feature-name-allowed-list
  • media-feature-name-blacklist
  • media-feature-name-case
  • media-feature-name-disallowed-list
  • media-feature-name-no-unknown
  • media-feature-name-no-vendor-prefix
  • media-feature-name-value-allowed-list
  • media-feature-name-value-whitelist
  • media-feature-name-whitelist
  • media-feature-parentheses-space-inside
  • media-feature-range-operator-space-after
  • media-feature-range-operator-space-before
  • media-query-list-comma-newline-after
  • media-query-list-comma-newline-before
  • media-query-list-comma-space-after
  • media-query-list-comma-space-before
  • named-grid-areas-no-invalid
  • no-descending-specificity
  • no-duplicate-at-import-rules
  • no-duplicate-selectors
  • no-empty-first-line
  • no-empty-source
  • no-eol-whitespace
  • no-extra-semicolons
  • no-invalid-double-slash-comments
  • no-missing-end-of-source-newline
  • no-unknown-animations
  • number-leading-zero
  • number-max-precision
  • number-no-trailing-zeros
  • property-allowed-list
  • property-blacklist
  • property-case
  • property-disallowed-list
  • property-no-unknown
  • property-no-vendor-prefix
  • property-whitelist
  • rule-empty-line-before
  • selector-attribute-brackets-space-inside
  • selector-attribute-name-disallowed-list
  • selector-attribute-operator-allowed-list
  • selector-attribute-operator-blacklist
  • selector-attribute-operator-disallowed-list
  • selector-attribute-operator-space-after
  • selector-attribute-operator-space-before
  • selector-attribute-operator-whitelist
  • selector-attribute-quotes
  • selector-class-pattern
  • selector-combinator-allowed-list
  • selector-combinator-blacklist
  • selector-combinator-disallowed-list
  • selector-combinator-space-after
  • selector-combinator-space-before
  • selector-combinator-whitelist
  • selector-descendant-combinator-no-non-space
  • selector-id-pattern
  • selector-list-comma-newline-after
  • selector-list-comma-newline-before
  • selector-list-comma-space-after
  • selector-list-comma-space-before
  • selector-max-attribute
  • selector-max-class
  • selector-max-combinators
  • selector-max-compound-selectors
  • selector-max-empty-lines
  • selector-max-id
  • selector-max-pseudo-class
  • selector-max-specificity
  • selector-max-type
  • selector-max-universal
  • selector-nested-pattern
  • selector-no-qualifying-type
  • selector-no-vendor-prefix
  • selector-pseudo-class-allowed-list
  • selector-pseudo-class-blacklist
  • selector-pseudo-class-case
  • selector-pseudo-class-disallowed-list
  • selector-pseudo-class-no-unknown
  • selector-pseudo-class-parentheses-space-inside
  • selector-pseudo-class-whitelist
  • selector-pseudo-element-allowed-list
  • selector-pseudo-element-blacklist
  • selector-pseudo-element-case
  • selector-pseudo-element-colon-notation
  • selector-pseudo-element-disallowed-list
  • selector-pseudo-element-no-unknown
  • selector-pseudo-element-whitelist
  • selector-type-case
  • selector-type-no-unknown
  • shorthand-property-no-redundant-values
  • string-no-newline
  • string-quotes
  • time-min-milliseconds
  • unicode-bom
  • unit-allowed-list
  • unit-blacklist
  • unit-case
  • unit-disallowed-list
  • unit-no-unknown
  • unit-whitelist
  • value-keyword-case
  • value-list-comma-newline-after
  • value-list-comma-newline-before
  • value-list-comma-space-after
  • value-list-comma-space-before
  • value-list-max-empty-lines
  • value-no-vendor-prefix
Edit

stylelint

NPM version Build Status NPM Downloads

A mighty, modern linter that helps you avoid errors and enforce conventions in your styles.

Features

It's mighty as it:

  • understands the latest CSS syntax including custom properties and level 4 selectors
  • extracts embedded styles from HTML, markdown and CSS-in-JS object & template literals
  • parses CSS-like syntaxes like SCSS, Sass, Less and SugarSS
  • has over 170 built-in rules to catch errors, apply limits and enforce stylistic conventions
  • supports plugins so you can create your own rules or make use of plugins written by the community
  • automatically fixes the majority of stylistic violations
  • is well tested with over 15000 unit tests
  • supports shareable configs that you can extend or create
  • is unopinionated so that you can customize it to your exact needs
  • has a growing community and is used by Facebook, GitHub and WordPress

Example output

Example

Getting started

You'll find steps to get started in our User guide.

Contributors

Without the contributions from all these fantastic people, stylelint would not exist. Become a contributor.

Backers

Thank you to all our backers! Become a backer.

Sponsors

Support this project to show your logo here with a link to your website. Become a sponsor.

License

The MIT License.

Hosting

Deploys by Netlify

Getting started →
  • Features
  • Example output
  • Getting started
  • Contributors
  • Backers
  • Sponsors
  • License
  • Hosting