All notable changes to this project are documented in this file.
css-in-js syntax option that will replace the existing styled and jsx ones (#3872).function-calc-no-invalid rule (#3833).ignore: ["next-sibling"] to selector-max-type (#3832).declaration-block-semicolon-space-after autofix (#3865).CssSyntaxError for functions in template literals (#3869).no-descending-specificity false positives for styled-components (#3875).no-duplicate-selectors false positives for styled-components (#3875).selector-pseudo-class-no-unknown false positives for focus-visible (#3887).selector-max-universal false positives for flush comments containing a comma (#3817).shorthand-property-redundant-values false positives for negative values (#3888).selector-list-comma-newline-after autofix (#3815).value-list-max-empty-lines autofix (#3814).ignoreSelectors: [] to selector-no-vendor-prefix (#3748).&:extend for Less syntax (#3824).--report-needless-disables CLI flag (#3819).font-family-no-missing-generic-family-keyword false positives for system fonts (#3794).value-keyword-case autofix (#3775).ignore: ["pseudo-classes"] to max-nesting-depth (#3724).ignoreTypes:[] to selector-type-case (#3758).ignoreFunctions:[] to unit-no-unkown (#3736).at-rule-* false positives for Less variables and mixins (#3767).max-empty-lines false positives for final newlines (#3785).at-rule-* false positives for Less variables and mixins (#3759).media-feature-parentheses-space-inside autofix (#3720).selector-descendant-combinator-no-non-space autofix (#3565).unit-case autofix (#3725).max-empty-lines false positives for empty lines before </style> (#3708).selector-max-specificity false positives for functional psuedo-classes (#3711).no-empty-first-line rule (#3650).at-rule-name-space-after autofix (#3653).block-closing-brace-empty-line-before autofix (#3598).block-closing-brace-space-before autofix (#3673).comment-whitespace-inside autofix (#3619).declaration-bang-space-after autofix (#3598).declaration-bang-space-before autofix (#3592).declaration-colon-newline-after autofix (#3588).function-comma-space-after autofix (#3555).function-comma-space-before autofix (#3596).function-name-case autofix (#3674).function-max-empty-lines autofix (#3645).function-parentheses-newline-inside autofix (#3601).function-whitespace-after autofix (#3648).media-feature-colon-space-after autofix (#3623).media-feature-colon-space-before autofix (#3637).media-feature-name-case autofix (#3685).media-feature-range-operator-space-after autofix (#3639).media-feature-range-operator-space-before autofix (#3618).media-query-list-comma-newline-after autofix (#3643).media-query-list-comma-space-after autofix (#3607).media-query-list-comma-space-before autofix (#3640).function-parentheses-space-inside autofix (#3563).selector-attribute-brackets-space-inside autofix (#3605).selector-attribute-operator-space-after autofix (#3641).selector-attribute-operator-space-before autofix (#3603).selector-pseudo-class-case autofix (#3671).selector-pseudo-class-parentheses-space-inside autofix (#3646).selector-type-case autofix (#3668).no-eol-whitespace autofix (#3615).no-extra-semicolons autofix (#3574).value-list-comma-newline-after autofix (#3616).value-list-comma-space-after autofix (#3558).value-list-comma-space-before autofix (#3597).baseIndentLevel to indentation (#3557).linebreaks TypeError (#3636).max-empty-lines incorrect line reporting (#3530).media-query-list-comma-newline-after false positives for trailing comment (#3657).no-descending-specificity false positives for CSS Modules functional pseudo-classes (#3623).--print-config CLI flag (#3532).block-closing-brace-newline-before autofix (#3442).block-opening-brace-newline-before autofix (#3518).block-opening-brace-space-after autofix (#3520).block-opening-brace-newline-after autofix (#3441).declaration-block-semicolon-newline-after autofix (#3545).declaration-block-semicolon-space-before autofix (#3554).declaration-colon-space-after autofix (#3538).selector-list-comma-newline-before autofix (#3517).selector-list-comma-space-after autofix (#3490).unix formatter (#3524).selector-descendant-combinator-no-non-space false positives for calculations with parenthesis (#3508).linebreaks rule (#3289).compact formatter (#3488).at-rule-semicolon-newline-after autofix (#3450).block-closing-brace-newline-after autofix (#3443).block-opening-brace-space-before autofix (#3438).declaration-block-trailing-semicolon autofix (#3382).declaration-colon-space-before autofix (#3445).property-case autofix (#3448).selector-combinator-space-after autofix (#3446).selector-combinator-space-before autofix (#3457).selector-list-comma-space-before autofix (#3447).block-opening-brace-newline-after false positives for nested rule-sets prefixed with comments (#3383).declaration-block-trailing-semicolon report of errors with the --fix option (#3493).font-family-name-quotes false positives for system-ui system font (#3463).keyframes-name-pattern support for raw JS RegExp (#3437).media-feature-name-no-unknown false positives for level 5 names (#3397).no-descending-specificity false positives for #{&} (#3420).no-missing-end-of-source-newline false positives for style attributes (#3485).<style> tags and style="" attributes in XML and XSLT files (#3386).globbyOptions option (#3339).keyframes-name-pattern rule (#3321).media-feature-name-value-whitelist rule (#3320).selector-pseudo-element-colon-notation autofix (#3345)..vue files throwing errors for <style lang="stylus"> and <style lang="postcss"> (#3331).declaration-block-no-* false positives for non-standard syntax (#3381).function-whitespace-after false positives for "/" (#3132).length-zero-no-unit incorrect autofix for at-includes (#3347).max-nesting-depth false positives for nested properties (#3349).no-empty-source false positives on vue external sources <style src="*"> tag (#3331).max-line-length false positives for non-CSS blocks (#3367).no-eol-whitespace false positives for non-CSS blocks (#3367).no-extra-semicolons false positives for non-CSS blocks (#3367).no-missing-end-of-source-newline false positives for non-CSS blocks (#3367).cache option hiding CssSyntaxError outputs (#3258).no-descending-specificity false positives for Sass nested properties (#3283).selector-pseudo-class-no-unknown false positives proprietary webkit pseudo classes when applied to a simple selector (#3271).selector-max-pseudo-class rule (#3195).require('stylelint') time (#3242).indentation false positives for at-root (#3225).max-empty-lines false positives for non-CSS blocks (#3229).no-empty-source false positives for non-CSS blocks (#3240).string-no-newline false positives for non-CSS blocks (#3228).signal-exit dependency (#3186).ignore: ["first-nested"] to at-rule-empty-line-before (#3179).ignore: ["first-nested"] to rule-empty-line-before (#3179).--max-warnings CLI flag (#2942).selector-combinator-*list rules (#3088).selector-pseudo-element-*list rules (#3104).ignore: ["first-nested"] to custom-property-empty-line-before (#3104).ignore: ["first-nested"] to declaration-empty-line-before (#3103).ignoreProperties: [] to property-no-vendor-prefix (#3089).font-family-name-quotes unicode range increased (#2974).selector-max-id in nested at-statements (#3113).except: ["after-closing-brace"] to block-closing-brace-empty-line-before (#3011).postcss-sass (#3040).*.pcss files (#3064).font-family-no-missing-generic-family-keyword configuration (#3039).indentation autofix for HTML (#3044).font-family-no-missing-generic-family-keyword false positives for at-font-face (#3034).<style> tags and markdown fences in .vue and .html files (#2975).font-family-no-missing-generic-family-keyword rule (#2930).no-duplicate-at-import-rules rule (#2963).number-leading-zero autofix (#2921).number-no-trailing-zeros autofix (#2947).shorthand-property-no-redundant-values autofix (#2956).string-quotes autofix (#2959).ignore: ["custom-properties"] option to length-zero-no-unit (#2967).except: ["inside-block"] option to rule-empty-line-before (#2982).ignoreValues to value-no-vendor-prefix (#3015).ignoreMediaFeatureNames to unit-blacklist (#3027).comment-empty-line-before false positives for shared-line comments (#2986).unit-* false positives for spaceless multiplication (#2948).length-zero-no-unit autofix (#2861).selector-max-specificity support for level 4 evaluation context pseudo-classes (#2857).ignoreUnits option to number-max-precision (#2941).ignoreSelectors option to selector-max-specificity (#2857).ignoreProperties option to value-keyword-case (#2937).*-empty-line-before false negatives and positives when two or more except: [*] options were triggered (#2920).*-empty-line-before false positives for CSS in HTML (#2854).rule-empty-line-before false positives for ignore: ["inside-block"] and CSS in HTML (#2894).rule-empty-line-before false positives for except: ["after-single-line-comment"] and preceding shared-line comments (#2920).selector-list-comma-newline-after false positives for shared-line comments separated by more than once space (#2915).selector-pseudo-class-no-unknown false positives when using chained pseudo-classes (#2810).string-quotes false positives for @charset and single quotes (#2902).unit-no-unknown false positives for spaceless multiplication and division in calc() functions (#2848).--ignore-pattern in CLI (#2851).codeFilename to createStylelintResult for raw code linting standalone API (#2450).ignorePattern option (--ignore-pattern in CLI), to allow patterns of files to ignored (#2834).Added: More rules now support experimental autofixing. Use --fix CLI parameter or fix: true Node.js API options property. Newly supported rules:
*-empty-line-before false positives shared-line comments and "first-nested" option (#2827).color-hex-length false positives for ID references in url functions (#2806).indentation false positives for Less parametric mixins with rule block/snippet (#2744).no-empty-source compatability with postcss-html custom syntax (#2798).no-extra-semicolons false negatives where instances were not detected when followed by multiple comments (#2678).selector-max-specificity cannot parse selector violation for Less mixins (#2677).This release is accompanied by:
~) in package.json is now recommended, e.g. "stylelint": "~8.0.0", to guarantee the results of your builds (#1865).A new VISION document, complemented by (#2704):
The restructuring of the list of rules into three groups:
stylelint-config-recommended. This config only turns on the possible error rules. stylelint-config-standard now builds on top of the recommended config by turning on over 60 additional stylistic rules.Changes:
Removed: the 21 rules deprecated in 7.8.0 & 7.12.0 (#2422 & #2693).
block-no-single-line.custom-property-no-outside-rootdeclaration-block-no-ignored-properties.declaration-block-properties-order.function-url-data-uris.media-feature-no-missing-punctuation.no-browser-hacks.no-indistinguishable-colors.no-unsupported-browser-features.root-no-standard-propertiesrule-nested-empty-line-before.rule-non-nested-empty-line-before.selector-no-attribute.selector-no-combinator.selector-no-empty.selector-no-id.selector-no-type.selector-no-universal.selector-root-no-composition.stylelint-disable-reason.time-no-imperceptible.Removed: the 4 options deprecated in 7.8.0 (#2433).
"all-nested" option for at-rule-empty-line-before."blockless-group" option for at-rule-empty-line-before."between-comments" option for comment-empty-line-before."at-rules-without-declaration-blocks" option for max-nesting-depth.postcss from @5 to @6 (#2561).report-needless-disables now exits with non-zero code (#2341).*-blacklist and *-whitelist (and ignore* [] secondary options) are now case sensitive. Use regular expressions with the i flag for case insensitivity (#2709).*-empty-line-before now correctly handle shared-line comments (#2262).*-empty-line-before now consider line as empty if it contains whitespace only (#2440).function-linear-gradient-no-nonstandard-direction now checks all linear-gradients in a value list (#2496).selector-max-compound-selectors now checks all resolved selectors, rather than just the deepest (#2350).disableDefaultIgnores option (--disable-default-ignores in CLI), to allow linting of node_modules and bower_components directories (#2464)..stylelintignore (#2464).ignore: ["child"] option to selector-max-type (#2701).declaration-block-no-redundant-longhand-properties and declaration-block-no-shorthand-property-overrides understand more shorthand properties (#2354).selector-max-type no longer produces false negatives for when child, next-sibling and following-sibling combinators are used with ignore: ["descendant"] (#2701).ignoreAttributes option to selector-max-attribute (#2722).selector-combinator-space-* false positives for CSS namespaced type selectors (#2715).selector-max-specificity now ignores nested non-standard selectors (#2685).Deprecated: 6 rules, each has been replaced by a more configurable alternative (#2679).
function-url-data-uris rule. Use either function-url-scheme-blacklist or function-url-scheme-whitelist.selector-no-attribute rule. Use selector-max-attribute with 0 as its primary option.selector-no-combinator rule. Use selector-max-combinators with 0 as its primary option.selector-no-id rule. Use selector-max-id with 0 as its primary option.selector-no-type rule. Use selector-max-type with 0 as its primary option.selector-no-universal rule. Use selector-max-universal with 0 as its primary option.function-url-scheme-blacklist rule (#2626).function-url-scheme-whitelist regex support (#2662).selector-max-attribute rule (#2628).selector-max-combinators rule (#2658).selector-max-id rule (#2654).selector-max-type rule (#2665).selector-max-universal rule (#2653).--fix no longer crashes when used with ignored files (#2652).max-* rules now use singular and plural nouns in their messages (#2663).media-feature-name-*list now accept arrays for their primary options (#2632).selector-* now ignore custom property sets (#2634).selector-pseudo-class-no-unknown now ignores Less :extend (#2625).Added: experimental autofixing (#2467, #2500, #2529 and #2577). Use --fix CLI parameter or fix: true Node.js API options property. Supported rules:
at-rule-empty-line-beforeat-rule-name-casecolor-hex-casecomment-empty-line-beforecustom-property-empty-line-beforedeclaration-empty-line-beforeindentationrule-empty-line-beforeselector-max-class rule.ignore: ["custom-elements"] option to selector-type-no-unknown (#2366).cache enabled (#2494).:extend is now ignored (#2571).function-parentheses-space-inside now ignores functions without parameters (#2587).length-zero-no-unit now correctly handles newlines and no spaces after colon (#2477).selector-descendant-combinator-no-non-space and selector-combinator-space-before/after now understand and check >>> shadow-piercing combinator (#2509).selector-descendant-combinator-no-non-space now ignores Less guards (#2557).selector-pseudo-class-no-unknown now checks @page at-rules and supports @page pseudo-classes (#2445).selector-pseudo-class-no-unknown now considers focus-ring, playing and paused to be known (#2507).selector-type-no-unknown now ignores MathML tags (#2478).selector-type-no-unknown now ignores the /deep/ shadow-piercing combinator (#2508).value-keyword-case now ignores variables with signs (#2558).schema.preceedingPlugins (#2455).cache option to store the info about processed files in order to only operate on the changed ones the next time you run stylelint (#2293).at-rule-semicolon-space-before rule (#2388).ignore: ["comments"] to max-empty-lines (#2401).ignore: ["default-namespace"] to selector-type-no-unknown (#2461).ignoreDefaultNamespaces option to selector-type-no-unknown (#2461).decl/ folder of Flow types is shipped with the package, for consumers that use Flow (#2322).function-url-scheme-whitelist was working incorrectly if more than one URL scheme were specified (#2447).no-duplicate-selector now includes the duplicate selector's first usage line in message (#2415).no-extra-semicolons false positives for comments after custom property sets (#2396).value-keyword-case false positives for attr, counter, counters functions and counter-reset property (#2407).ignoreFontFamilyName option to font-family-no-duplicate (#2314).ignorePattern option to max-line-length (#2333).lodash dependency to match feature usage, fixing a conflict with Modernizr (#2353).color-hex-case false positives for ID references in url functions (#2338).max-line-length now reports correct column for SCSS comments (#2340).selector-class-pattern false positive in SCSS when combining interpolated and nested selectors (#2344).selector-type-case false positive for placeholder selectors (#2360).Deprecated: 15 rules (#2197, #2285 & #2309).
block-no-single-line. Use block-opening-brace-newline-after and block-closing-brace-newline-before rules with the option "always" instead.declaration-block-properties-order. Use the stylelint-order plugin pack instead.rule-nested-empty-line-before and rule-non-nested-empty-line-before. Use the new rule-empty-line-before rule instead.time-no-imperceptible. Use the new time-min-milliseconds rule with 100 as its primary option.It is beyond the scope of stylelint's core package to effectively validate against the CSS spec. Please investigate csstree and css-values for this functionality, and contribute to those projects and to stylelint plugins wrapping them. csstree already has a stylelint plugin, and css-values needs one to be developed. The following rules are deprecated for this reason.
media-feature-no-missing-punctuation.selector-no-empty.A plugin is a better package for a rule that wraps a third-party library. The following rules are deprecated for this reason. We encourage users to create and help maintain plugins for these rules.
no-browser-hacksno-indistinguishable-colorsno-unsupported-browser-featuresThe following rules did not seem useful. If you liked these rules, please create plugins for them.
custom-property-no-outside-rootroot-no-standard-propertiesselector-root-no-composition.The following rules did not work well.
stylelint-disable-reason could not enforce providing a reason.declaration-block-no-ignored-properties could not reliably account for replaced elements.Deprecated: 4 options (#2213).
"all-nested" option for at-rule-empty-line-before. Use the "inside-block" option instead."blockless-group" option for at-rule-empty-line-before. Use the "blockless-after-blockless" option instead."between-comments" option for comment-empty-line-before. Use the "after-comment" option instead."at-rules-without-declaration-blocks" option for max-nesting-depth. Use the "blockless-at-rules" option instead.time-min-milliseconds rule, to replace time-no-imperceptible (#2289).except: ["after-same-name"] option to at-rule-empty-line-before (#2225).configOverrides now work with extends (#2295).max-line-length no longer reports incorrect column positions for lines with url() or import (#2287).selector-pseudo-class-no-unknown no longer warns for proprietary webkit pseudo-classes (#2264).unit-no-unknown accepts fr units (#2308).stylelint.formatters exposed in public Node.js API (#2190).stylelint.utils.checkAgainstRule for checking CSS against a standard stylelint rule within your own rule (#2173).allow-empty-input flag to CLI (#2117).except: ["after-rule"] option to rule-nested-empty-line-before (#2188).--stdin-filename in CLI and codeFilename in Node.js API to error if a non-existent filename is provided (#2128).--quiet) placed before an input glob no longer causes the input to be ignored (#2186).node_modules and bower_components directories are correctly ignored by default when stylelint is used as a PostCSS plugin (#2171).color-named now ignores SCSS maps, so map property names can be color names (#2182).comment-whitespace-inside no longer complains about /*! comments with non-space whitespace (e.g. newlines) (#2121).media-feature-name-no-vendor-prefix no longer throws syntax errors on unknown unprefixed variants (#2152).selector-max-compound-selectors ignores SCSS nested declarations (#2102).selector-pseudo-class-no-unknown no longer reports false positives for custom selectors (#2147).customSyntax (for Node.js API) and --custom-syntax (for CLI).font-family-no-duplicate-names rule.--custom-formatter option.string and verbose formatters now use dim instead of gray for greater compatibility with different terminal color schemes.media-feature-parentheses-space-inside handles comments within the parentheses.selector-no-qualifying-type now ignores SCSS %placeholders.selector-no-empty rule.process.cwd().ignoreFiles globs relative to process.cwd() if config is directly passed as a JS object and no configBasedir is provided.block-no-empty.configOverrides work with plugins, extends, and processors.stylelint-disable and stylelint-enable comments.function-calc-no-unspaced-operator false positives for SCSS interpolation.no-descending-specificity now ignores custom property sets.value-keyword-case false positives for some camel-case SVG keywords.null to turn off a rule caused errors.null for rules that take an array for their primary option would trigger a validation warning.process.cwd() if they aren't found relative to the invoking configuration./* stylelint-disable-next-line */ comments.media-feature-name-blacklist rule.media-feature-name-whitelist rule.ignore: ["after-declaration"] option to declaration-empty-line-before.except: ["empty"] option to function-url-quotes.function-linear-gradient-no-nonstandard-direction no longer warns when vendor-prefixed linear-gradient properties are used correctly.no-extra-semicolons now ignores the semicolon that comes after the closing brace of a custom property set.no-unknown-animations no longer delivers false positives when there are multiple animation names.number-* rules now ignore numbers in comments and strings.value-keyword-case now ignores system color keywords.processors can accept options objects.ignore: ["inside-function"] option to color-named.--ignore-path and --report-needless-disables no longer fails when used together.block-closing-brace-newline-after and block-closing-brace-space-after now allow a trailing semicolon after the closing brace of a block.block-no-single-line now ignores empty blocks.declaration-block-no-ignored-properties now uses the value of the last occurrence of a triggering property.indentation now correctly handles _ hacks on property names.property-no-unknown now ignores SCSS nested properties.--report-needless-disables and reportNeedlessDisables option.--ignore-disables and ignoreDisables option.--config-basedir option to CLI.declaration-block-no-redundant-longhand-properties rule.function-url-scheme-whitelist rule.media-feature-name-no-unknown rule.selector-descendant-combinator-no-non-space rule.value-list-max-empty-lines rule.ignoreProperties option to color-named.ignore: ["consecutive-duplicates-with-different-values"] option to declaration-block-no-duplicate-properties.ignore: ["comments"] option to max-line-length.ignoreAtRules option to max-nesting-depth.ignoreProperties option to unit-blacklist and unit-whitelistconfigFile and configBasedir can now be used together.max-line-length now correctly handles Windows line endings.no-descending-specificity treats selectors with pseudo-elements as distinct from their counterparts without pseudo-classes, because they actually target different elements.no-unknown-animations and unit-blacklist now handle numbers without leading zeros.root-no-standard-properties now handles custom property sets.selector-no-type ignore: ["descendant"] option now correctly handles descendants within a selector list.selector-pseudo-class-no-unknown now understands the Shadow DOM selectors of host and host-context.selector-pseudo-element-no-unknown now understands the Shadow DOM selector of slotted.block-closing-brace-empty-line-before rule.comment-no-empty rule.custom-property-empty-line-before rule.declaration-empty-line-before rule.media-feature-name-case rule.selector-nested-pattern rule.selector-pseudo-class-blacklist rule.selector-pseudo-class-whitelist rule.ignore* secondary options of the *-no-unknown rules.ignore: ["blockless-after-same-name-blockless"] option to at-rule-empty-line-before.except: ["blockless-after-same-name-blockless"] option to at-rule-empty-line-before.ignore: ["empty-lines"] option to no-eol-whitespace.ignoreTypes option to selector-no-type to whitelist allowed types for selectors.color-named now ignores declarations that accept custom idents.font-family-name-quotes correctly handles numerical font weights for the font shorthand property.indentation now correctly handles Windows line endings within parentheticals.media-feature-no-missing-punctuation now ignores media features containing complex values e.g. (min-width: ($var - 20px)) and (min-width: calc(100% - 20px)).no-descending-specificity message to correctly show which selector should come first.selector-combinator-space-after and selector-combinator-space-before now ignore operators within parenthetical non-standard constructs.selector-class-pattern now ignores fractional keyframes selectors.selector-max-specificity now ignores selectors containing the matches() pseudo-class, and warns if the underlying specificity module cannot parse the selector.selector-no-type with secondary option ignore: ["descendant"] will now resolve nested selectors.at-rule-blacklist, at-rule-whitelist, comment-word-blacklist, selector-attribute-operator-blacklist, selector-attribute-operator-whitelist now accept array as first option.unit-* rules now ignore CSS hacks.known-css-properties dependency.--extract and extractSyleTagsFromHtml options. Instead, build and use processors.your-namespace/your-rule-name rule names are supported. (If your plugin provides only a single rule or you can't think of a good namespace, you can simply use plugin/my-rule.)--verbose CLI flag. Use --formatter verbose instead.0.12.x support. 4.2.1 LTS or greater is now required.media-query-parentheses-space-inside rule. Use the new media-feature-parentheses-space-inside rule instead.no-missing-eof-newline rule. Use the new rule no-missing-end-of-source-newline instead.number-zero-length-no-unit rule. Use the length-zero-no-unit rule instead.property-unit-blacklist rule. Use the declaration-property-unit-blacklist rule instead.property-unit-whitelist rule. Use the declaration-property-unit-whitelist rule instead.property-value-blacklist rule. Use the declaration-property-value-blacklist rule instead.property-value-whitelist rule. Use the declaration-property-value-whitelist rule instead."emptyLineBefore" option for declaration-block-properties-order. If you use this option, please consider creating a plugin for the community."single-where-required", "single-where-recommended", "single-unless-keyword", "double-where-required", "double-where-recommended" and "double-unless-keyword" options for font-family-name-quotes. Instead, use the "always-unless-keyword", always-where-recommended or always-where-required options together with the string-quotes rule."single", "double" and "none" options for function-url-quotes. Instead, use the "always" or "never" options together with the string-quotes rule."hierarchicalSelectors" option for indentation. If you use this option, please consider creating a plugin for the community.stylelint.utils.cssWordIsVariable().stylelint.utils.styleSearch(). Use the external style-search module instead.stylelintError to true, which in turn causes CLI to exit with a non-zero code..scss, .less, and .sss..stylelintignore now uses .gitignore syntax, and stylelint looks for it in process.cwd().ignored: true property, which various formatters can use as needed. The standard string formatter prints nothing for ignored files; but when the verbose formatter is used, ignored files are included in the filelist.-v flag to display version number.comment-word-blacklist no longer ignores words within copyright comments.comment-word-blacklist will now identify strings within comments, rather than just at the beginning of, when the string option is used.declaration-block-no-ignored-properties now detects use of min-width and max-width with inline, table-row, table-row-group, table-column and table-column-group elements.declaration-block-no-ignored-properties now detects use of overflow, overflow-x and overflow-y with inline elements.declaration-block-no-ignored-properties now ignores the combination of float and display: inline-block | inline.font-family-name-quotes now checks the font property in addition to the font-family property.font-family-name-quotes treats -apple-* and BlinkMacSystemFont system fonts as keywords that should never be wrapped in quotes.indentation now checks inside of parentheses by default. If you use the indentInsideParens: "once" secondary option, simply remove it from your config. If you do not want to check inside of parentheses, use the new ignore: ["inside-parens"] secondary option. The indentInsideParens: "twice" and indentInsideParens: "once-at-root-twice-in-block" secondary options are unchanged.keyframe-declaration-no-important now checks vendor prefixed @keyframes at-rules.selector-attribute-quotes now checks attribute selectors with whitespace around the operator or inside the brackets.time-no-imperceptible now checks vendor prefixed properties.unit-* rules now check @media values too.ruleFunction.primaryOptionArray = true.media-feature-parentheses-space-inside rule.no-missing-end-of-source-newline rule.property-no-unknown rule.no-unknown-animations now classifies vendor prefixed @keyframes at-rules as known.defaultSeverity configuration option.stylelint) is equivalent to stylelint --help.function-url-no-scheme-relative rule.selector-attribute-quotes rule.process.exitCode with stdOut to allow the process to exit naturally and avoid truncating output.function-calc-no-unspaced-operator correctly interprets negative fractional numbers without leading zeros and those wrapped in parentheses.no-extra-semicolons now ignores semicolons after Less mixins.number-max-precision now ignores uppercase and mixed case @import at-rules.selector-max-specificity no longer crashes on selectors containing :not() pseudo-classes.time-no-imperceptible correctly handles negative time.-e and --extract CLI flags, and the extractStyleTagsFromHtml Node.js API option. If you use these flags or option, please consider creating a processor for the community.at-rule-no-unknown rule.no-empty-source rule.except: ["after-single-line-comment"] option for rule-non-nested-empty-line-before.ignoreProperties: [] option for declaration-block-no-duplicate-properties.block-*-brace-*-before CRLF (\r\n) warning positioning.no-descending-specificity now does comparison of specificity using ints, rather than strings.selector-no-type and selector-type-case now ignore non-standard keyframe selectors (e.g. within an SCSS mixin).selector-type-no-unknown no longer reports fractional keyframe selectors.ignoreFunctions: [] option for function-name-case.findFontFamily util correctly interpret <font-size>/<line-height> values with unitless line-heights.indentation better understands nested parentheticals that aren't just Sass maps and lists.no-unsupported-browser-features message now clearly states that only fully supported features are allowed.selector-max-specificity no longer reports that a selector with 11 elements or more has a higher specificity than a selector with a single classname.selector-type-no-unknown no longer warns for complex keyframe selectors.number-zero-length-no-unit. Use length-zero-no-unit instead.property-*-blacklist and property-*-whitelist. Use declaration-property-*-blacklist and declaration-property-*-whitelist instead.-v and --verbose CLI flags. Use -f verbose or --formatter verbose instead.stylelint.util.styleSearch(). Use the external module style-search instead.ignorePath (for JS) and --ignore-path (for CLI).-h alias for --help CLI flag.at-rule-blacklist rule.at-rule-name-newline-after rule.at-rule-whitelist rule.ignore: "blockless-group" option for at-rule-empty-line-before.ignoreAtRules: [] option for at-rule-empty-line-before.function-blacklist now accepts regular expressions.function-whitelist now accepts regular expressions.at-rule-name-newline-after now correctly accepts one or more newlines.declaration-block-semicolon-newline-before now correctly accepts one or more newlines.function-url-quotes ignores values containing $sass and @less variables.function-whitespace-after ignores postcss-simple-vars-style interpolation.indentation better understands nested parentheticals, like nested Sass maps.no-extra-semicolons reports errors on the correct line.selector-combinator-space-* rules now ignore escaped combinator-like characters.selector-type-no-unknown ignores non-standard usage of percentage keyframe selectors (e.g. within an SCSS mixin).value-keyword-case now ignores custom idents of properties animation, font, list-style."emptyLineBefore" option for declaration-block-properties-order. If you use this option, please consider creating a plugin for the community."single-where-required", "single-where-recommended", "single-unless-keyword", "double-where-required", "double-where-recommended" and "double-unless-keyword" options for font-family-name-quotes. Instead, use the "always-unless-keyword", always-where-recommended or always-where-required options together with the string-quotes rule."single", "double" and "none" options for function-url-quotes. Instead, use the "always" or "never" options together with the string-quotes rule."hierarchicalSelectors" option for indentation. If you use this option, please consider creating a plugin for the community.selector-list-comma-* rules now ignore Less mixins.selector-max-compound-selectors no longer errors on Less mixins.selector-type-no-unknown now ignores all An+B notation and linguistic pseudo-classes.selector-type-no-unknown now ignores obsolete HTML tags and <hgroup>.selector-max-compound-selectors rule.babel-polyfill removed so it doesn't clash with other processes using babel-polyfill.selector-type-case and selector-type-no-unknown rules now ignore SCSS placeholder selectors.selector-pseudo-class-case, selector-pseudo-class-no-unknown, selector-pseudo-element-case, selector-pseudo-element-no-unknown rules now ignore SCSS variable interpolation.selector-type-no-unknown now ignores nested selectors and keyframe selectors.shorthand-property-no-redundant-values now ignores background, font, border, border-top, border-bottom, border-left, border-right, list-style, transition properties.unit-no-unknown now ignores hex colors.keyframe-declaration-no-important rule.selector-attribute-operator-blacklist rule.selector-attribute-operator-whitelist rule.selector-pseudo-class-no-unknown rule.selector-type-no-unknown rule.message.postcss-selector-parser and register them as PostCSS warnings, providing a better UX for editor plugins.font-family-name-quotes, media-feature-no-missing-punctuation, media-query-list-comma-newline-after, media-query-list-comma-newline-before, media-query-list-comma-space-after and media-query-list-comma-space-before rules now better ignore SCSS, Less variables and nonstandard at-rules.no-unknown-animations now ignores ease value.unit-blacklist, unit-case, unit-no-unknown, unit-whitelist now better accounts interpolation.unit-no-unknown no longer breaks Node.js 0.12 (because we've included the Babel polyfill).value-keyword-case now ignores custom idents of properties animation-name, counter-increment, font-family, grid-row, grid-column, grid-area, list-style-type.always-multi-line in rule block-opening-brace-newline-before documentation.block-closing-brace-newline-before no longer delivers false positives for extra semicolon.declaration-block-no-ignored-properties now detects use of vertical-align with block-level elements.font-family-name-quotes is now case insensitive when hunting for font-family properties.number-zero-length-no-unit now ignores deg, grad, turn and rad units.selector-no-type does a better job when ignoring descendant and compound selectors.shorthand-property-no-redundant-values now handles uppercase values properly.declaration-block-no-ignored-properties now longer crashes on nested rules.your-namespace/your-rule-name rule names are supported. If your plugin provides only a single rule or you can't think of a good namespace, you can simply use plugin/my-rule).--stdin-filename option to CLI.at-rule-name-space-after rule.no-extra-semicolons rule.selector-attribute-operator-space-after rule.selector-attribute-operator-space-before rule.selector-max-empty-lines rule.selector-pseudo-element-no-unknown rule.at-rule-semicolon-newline-after, block-opening-brace-newline-after, and declaration-block-semicolon-newline-after.function-comma-newline-after now allows end-of-line comments.function-url-quotes now ignores spaces within url().no-descending-specificity now ignores trailing colons within selectors.no-indistinguishable-colors now ignores keyword color names within url().number-max-precision now ignores @import at-rules and url() functions.selector-class-pattern and selector-id-pattern rules now ignore SCSS variable interpolation.value-list-comma-* rules now ignore SCSS maps.stylelint.utils.cssWordIsVariable() as non-standard syntax utils are now defensive.declaration-colon-* rules now ignore SCSS lists.font-weight-notation now ignores SCSS interpolation.rule-nested-empty-line-before now ignores Less blockless rules (mixin and extend calls).stylelint.createRuleTester.selector-no-qualifying-type rule.number-leading-zero will not check @import at-rules.selector-class-pattern now ignores non-outputting Less mixin definitions and called Less mixins.value-keyword-case now accounts for camelCase keywords (e.g. optimizeSpeed, optimizeLegibility and geometricPrecision) when the lower option is used.testUtils and stylelint.createRuleTester module mistakes.selector-pseudo-class-parentheses-space-inside and selector-attribute-brackets-space-inside..stylelintignore file.comment-word-blacklist rule.selector-attribute-brackets-space-inside rule.selector-pseudo-class-parentheses-space-inside rule.shorthand-property-no-redundant-values rule.ignoreKeywords option for value-keyword-case.\r\n) warning positioning in string-no-newline.///-SassDoc-style comments.max-empty-lines places warning at the end of the violating newlines to avoid positioning confusions.\r\n) warning positioning in max-empty-lines and function-max-empty-lines.CssSyntaxError sets errored on output to true.function-name-case now accounts for camelCase function names (e.g. translateX, scaleX etc) when the lower option is used.CssSyntaxError is no longer thrown but reported alongside warnings.stylelint.utils.cssWordIsVariable().at-rule-name-case rule.function-name-case rule.property-case rule.selector-pseudo-class-case rule.selector-pseudo-element-case rule.unit-case rule.value-keyword-case rule.indentClosingBrace option to indentation.indentInsideParens option to indentation.consecutive-duplicates option for declaration-block-no-duplicate-properties rule.block-no-empty no longer delivers false positives for less syntax.declaration-block-trailing-semicolon better understands nested at-rules.number-zero-length-no-unit now work with q unit and ignores s, ms, kHz, Hz, dpcm, dppx, dpi unitsunit-no-unknown rule.no-descending-specificity no longer gets confused when the last part of a selector is a compound selector.indentation to complain about Sass maps.declaration-block-no-ignored-properties now ignore clear for position: absolute and position: relative and does not ignore float on display: table-*.stylelint.createRuleTester().declaration-block-no-ignored-properties rule.function-max-empty-lines rule.function-url-data-uris rule.block-closing-brace-newline-after accepts single-line comments immediately after the closing brace.block-closing-brace-newline-after use of "single space", rather than "newline", in its messages.font-weight-notation now ignores initial value.function-* rules should all now ignore all Sass maps and lists.function-calc-no-unspaced-operator accepts newlines.function-comma-space-after, function-comma-space-before, function-parentheses-newline-inside and function-parentheses-space-inside now ignore SCSS maps.max-line-length options validation.no-unknown-animations now ignores none, initial, inherit, unset values.property-value-blacklist and -whitelist no longer error on properties without a corresponding list entry.selector-class-pattern now ignores selectors with Sass interpolation.selector-id-pattern now ignores selectors with Sass interpolation.selector-no-id now ignores keyframe selectors.unit-blacklist and unit-whitelist now ignores url functions.function-calc-no-unspaced-operator now better ignores non-calc functions.no-descending-specificity no longer delivers false positives after second run in Atom linter.stylelint-disable-rule imported correctly.at-rule-semicolon-newline-after rule.no-indistinguishable-colors rule.stylelint-disable-reason rule.declaration-bang-space-* understands arbitrary bang declarations (e.g. !default).font-weight-notation now ignore inherit value.indentation treats @nest at-rules like regular rules with selectors.no-duplicate-selectors contextualizes selectors by all at-rules, not just media queries.no-duplicate-selectors no longer delivers false positives after second run in Atom linter.no-duplicate-selectors no longer delivers false positives with descendant combinators.number-no-trailing-zeros no longer delivers false positives in url() arguments.root-no-standard-properties no longer delivers false positives inside the :not() pseudo-selector.selector-list-comma-* rules no longer deliver false positives inside functional notation.selector-type-case rule.string-no-newline no longer stumbles when there are comment-starting characters inside strings.no-indistinguishable-colors because its dependencies were unusable in Atom. (To be re-evaluated and re-added later.)"warn": true secondary option. Use "severity": "warning", instead.color-no-named rule. Use the new color-named rule, with the "never" option instead.declaration-block-no-single-line rule. Use the new block-no-single-line rule instead.rule-no-duplicate-properties rule. Use the new declaration-block-no-duplicate-properties rule instead.rule-no-shorthand-property-overrides rule. Use the new declaration-block-no-shorthand-property-overrides rule instead.rule-properties-order rule. Use the new declaration-block-properties-order rule instead.rule-trailing-semicolon rule. Use the new declaration-block-trailing-semicolon rule instead.true option for emptyLineBefore when using property groups in rule-properties-order. Use the new "always" or "never" option instead."always" option for font-weight-notation. Use the new always-where-possible option instead.stylelint-disable commands.max-nesting-depth does not warn about blockless at-rules.function-comma-newline-after and related rules consider input to be multi-line (applying to "always-multi-line", etc.) when the newlines are at the beginning or end of the input.no-indistinguishable-colors no longer errors on color functions containing spaces e.g. rgb(0, 0, 0) -- but also removed the rule (see above).declaration-block-properties-order no longer fails when an unspecified property comes before or after a specified property in a group with emptyLineBefore: true.indentation no longer has false positives when there are empty lines within multi-line values.declaration-colon-*-after no longer fail to do their job when you want a space or newline after the colon and instead there is no space at all.no-unsupported-browser-features options now optional.no-duplicate-selectors now ignores keyframe selectors."warn": true secondary option. Use "severity": "warning", instead.color-no-named rule. Use the new color-named rule, with the "never" option instead.declaration-block-no-single-line rule. Use the new block-no-single-line rule instead.rule-no-duplicate-properties rule. Use the new declaration-block-no-duplicate-properties rule instead.rule-no-shorthand-property-overrides rule. Use the new declaration-block-no-shorthand-property-overrides rule instead.rule-properties-order rule. Use the new declaration-block-properties-order rule instead.rule-trailing-semicolon rule. Use the new declaration-block-trailing-semicolon rule instead.true option for emptyLineBefore when using property groups in rule-properties-order. Use the new "always" or "never" option instead."always" option for font-weight-notation. Use the new always-where-possible option instead.severity secondary option as a replacement for "warn": true to alter a rule's severity.block-no-single-line rule.color-named rule.declaration-block-no-duplicate-properties rule.declaration-block-no-shorthand-property-overrides rule.declaration-block-properties-order rule.declaration-block-trailing-semicolon rule.max-nesting-depth rule.no-browser-hacks rule.no-descending-specificity rule.no-indistinguishable-colors rule.no-unsupported-browser-features rule.selector-max-specificity rule.string-no-newline rule."always" and "never" option to rule-properties-order emptyLineBefore when using property groupsnamed-where-possible option to font-weight-notation.unspecified: "bottomAlphabetical" option to the rule-properties-order rule.ignoreAtRules: [] option to the block-opening-brace-space-before and block-closing-brace-newline-after rules.&) as a prefix in selector-no-type.stylelint-disable-line feature.withinComments, withinStrings, and checkStrings options to styleSearch, and insideString property to the styleSearch match object.resolveNestedSelectors option to the selector-class-pattern rule.stylelint-disable is misused.selector-no-vendor-prefix no longer delivers two warnings on vendor-prefixed pseudo-elements with two colons, e.g. ::-moz-placeholder.no-duplicate-selectors rule now resolves nested selectors.font-weight-notation does not throw false warnings when normal is used in certain ways.selector-no-* and selector-*-pattern rules now ignore custom property sets.no-duplicate-selectors.selector-no-id does not warn about Sass interpolation inside an :nth-child() argument.rule-nested-empty-line-before, rule-non-nested-empty-line-before, comment-empty-line-before and at-rule-empty-line-before.number-leading-zero, function-comma-space-*, and declaration-colon-* do not throw false positives in url() arguments.ignore: "relative" option for font-weight-notation.declaration-colon-space/newline-before/after rules now ignore scss maps.selector-list-comma-newline-after allows // comments after the comma.console.log()s in property-unit-whitelist.console.log()s in rule-properties-order.rule-properties-order.// comments when using SCSS parser.no-unknown-animations ignores variables.no-unknown-animations does not erroneously flag functions like steps() and cubic-bezier().time-no-imperceptible.font-family-name-quotes and font-weight-notation ignore variables.media-feature-no-missing-punctuation handles space-padded media features.--config relatives paths that don't start with ./ to be rejected.stylelint.utils.ruleTester because its dependencies broke things.tape to dependencies to support testUtils.testUtils in npm package whitelist.font-family-name-quotes rule.font-weight-notation rule.media-feature-no-missing-punctuation rule.no-duplicate-selectors rule.no-invalid-double-slash-comments rule.no-unknown-animations rule.property-value-blacklist rule.property-value-whitelist rule.time-no-imperceptible rule.ignore: "descendant" and ignore: "compounded" options for selector-no-type.property-blacklist, property-unit-blacklist, property-unit-whitelist, property-value-blacklist, and property-whitelist.property-unit-blacklist and property-unit-whitelist, e.g. if you enter animation it now also checks -webkit-animation.--config argument, not just paths.codeFilename option to Node.js API.stylelint.rules to make stylelint even more extensible.stylelint-rule-tester into this repo, and exposed it at stylelint.utils.ruleTester.rule-properties-order empty line detection when the two newlines were separated
by some other whitespace."alphabetical" primary option
with rule-properties-order.ignoreFiles handling of absolute paths.ignoreFiles uses the configBasedir option to interpret relative paths.message secondary property on any rule.node_modules and bower_components directories.--config argument.indentation to stumble over declarations with semicolons on their own lines.selector-no-id no longer warns about Sass interpolation when multiple interpolations are used in a selector..stylelintrc files (by upgrading cosmiconfig).ignore: "non-comments" option to max-line-length.function-whitespace-after does not expect space between ) and }, so it handles Sass interpolation better.selector-no-vendor-prefix now handles custom-property-sets.selector-no-type ignores nth-child pseudo-classes and @keyframes selectors.max-line-length handles url() functions better.block-opening-brace-newline-after and declaration-block-semicolon-newline-after handle end-of-line comments better.legacyNumberedSeverities config property to force the legacy severity system.selector-no-id ignores Sass-style interpolation.--config property in PostCSS and Node.js APIs. Still using it in the CLI.root node, including: max-line-length, max-empty-lines, no-eol-whitespace, no-missing-eof-newline, and string-quotes.rule-properties-order to get confused by properties with an unspecified order.null was used on rules whose primary options are arrays.stylelint-commands ignore option to comment-empty-line-before.rule-properties-order and potentially other rules that accept arrays as primary options.no-missing-eof-newline no longer complains about completely empty files.nesting-block-opening-brace-space-before and nesting-block-opening-brace-newline-before rules.4.0.rule-single-line-max-declarations to declaration-block-single-line-max-declarations and changed scope of the single-line to the declaration block.rule-no-single-line to declaration-block-no-single-line and changed scope of the single-line to the declaration block.function-space-after rule to function-whitespace-after.comment-space-inside rule to comment-whitespace-inside.no-multiple-empty-lines rule to max-empty-lines (takes an int as option).plugins is now an array instead of an object. And plugins should be created with stylelint.createPlugin().Added: cosmiconfig, which means the following:
.stylelintrcstylelint.config.jsstylelint property in package.jsonignoreFiles option to config.configFile option to Node.js API.comment-whitespace-inside now ignores copyright (/*!) and sourcemap (/*#) comments.rule-no-duplicate-properties now ignores the src property.function-calc-no-unspaced-operator ignores characters in $sass and @less variables.rule-properties-order allows comments at the top of groups that expect newlines before them.styleSearch() and the rules it powers will not trip up on single-line (//) comments.selector-combinator-space-before now better handles nested selectors starting with combinators.rule-properties-order now deals property with -moz-osx-font-smoothing.rule-properties-order now accounts for property names containing multiple hyphens.rule-properties-order grouping bug.selector-pseudo-element-colon-notation typo in rule name resulting in undefined severity.dist/ build.property-whitelist, rule-no-duplicate-properties, and rule-properties-order ignore variables ($sass, @less, and --custom-property).root-no-standard-properties ignores $sass and @less variables.comment-empty-line-before and comment-space-inside no longer complain about // comments.number-no-trailing-zeros no longer flags at-import at-rules.selector-no-type no longer flags the nesting selector (&).configFile option to PostCSS plugin.function-parentheses-newline-inside and function-parentheses-space-inside bug with nested functions.selector-class-pattern rule.selector-id-pattern rule.function-parentheses-newline-inside rule."always-single-line" and "never-single-line" options to function-parentheses-space-inside.syntax argument bug.color-no-hex rule.color-no-named rule.function-blacklist rule.function-whitelist rule.unit-blacklist rule.unit-whitelist rule.property-unit-blacklist rule.property-unit-whitelist rule.rule-single-line-max-declarations rule.max-line-length rule.first-nested exception to comment-empty-line-before.*-blacklist & -*whitelist rules e.g. { "function-blacklist": "calc"}rule-properties-order.rule-properties-order.function-calc-no-unspaced-operator.function-space-after.comment-space-inside.comment-space-inside allows any number of asterisks at the beginning and end of comments.{ unspecified: "bottom }" option not to be applied within rule-properties-order.function-comma-* whitespace rules to improperly judge whether to enforce single- or multi-line options.required or being inserted directly into the configuration object as a function.string and json formatters..stylelintrc JSON file.extends property.function-comma-newline-after rule.function-comma-newline-before rule."always-single-line" and "never-single-line" options to function-comma-space-after rule."always-single-line" and "never-single-line" options to function-comma-space-before rule.media-query-list-comma-* rules now only apply to @media statements.function-linear-gradient-no-nonstandard-direction rule.rule-properties-order now by default ignores the order of properties left out of your specified array; and the options "top", "bottom", and "ignore" are provided to change that behavior.rule-properties-order now looks for roots of hyphenated properties in custom arrays so each extension (e.g. padding-top as an extension of padding) does not need to be specified individually."always-single-line" option to declaration-colon-space-after.declaration-colon-newline-after "always-multi-line" warning message.declaration-colon-newline-after rule.indentation rule now checks indentation of multi-line at-rule params, unless there's the except option of param.selector-list-comma-newline-after.#${sass-interpolation} in rules checking for hex colors.custom-property-pattern and custom-media-pattern.color-no-invalid-hex rule no longer flags hashes in url() arguments.node.raw() instead of node.raws to avoid expected errors.postcss-selector-parser updated to improve location accuracy for selector-no-* rules.4.x.5.0.2+.after-comment ignore option to the at-rule-empty-line-before rule.indentation rule now correctly handles * hacks on property names.media-feature-colon-space-after and media-feature-colon-space-before rules now only apply to @media statements.rule-no-shorthand-property-overrides rule message is now consistent with the other messages.validateOptions().rule-properties-order and rule-no-duplicate-properties rules now correctly check inside @rules.validateOptions to stylelint.utils for use by authors of custom rules.custom-media-pattern rule.number-max-precision rule.ruleTester from stylelint.utils because of the additional dependencies it forces.jsesc devDependency.rule-no-shorthand-property-overrides rule.ruleTester to stylelint.utils for use by authors of custom rules.hierarchicalSelectors bug in indentation rule.~= is no longer mistaken for combinator in selector-combinator-space-*.report, ruleMessages, and styleSearch in stylelint.utils for use by external plugin rules.hierarchicalSelectors option to indentation rule.nesting-block-opening-brace-space-before rule.nesting-block-opening-brace-newline-before rule.color-hex-case rule message is now consistent with the color-hex-length rule.property-blacklist rule message is now consistent with the property-whitelist rule.comment-space-inside rule message.color-hex-case rule.color-hex-length rule.indentation rule.selector-list-comma-newline-* rules.selector-combinator-space-* no longer checks :nth-child() arguments.block-opening-brace-newline-before rule.block-opening-brace-space-before rule.rule-trailing-semicolon rule.rule-no-duplicate-properties rule.rule-properties-order rule.at-rule-empty-line-before rule.at-rule-no-vendor-prefix rule.block-closing-brace-newline-after rule.block-closing-brace-newline-before rule.block-closing-brace-space-after rule.block-closing-brace-space-before rule.block-no-empty rule.block-opening-brace-newline-after rule.block-opening-brace-newline-before rule.block-opening-brace-space-after rule.block-opening-brace-space-before rule.color-no-invalid-hex rule.comment-empty-line-before rule.comment-space-inside rule.custom-property-no-outside-root rule.custom-property-pattern rule.declaration-bang-space-after rule.declaration-bang-space-before rule.declaration-block-semicolon-newline-after rule.declaration-block-semicolon-newline-before rule.declaration-block-semicolon-space-after rule.declaration-block-semicolon-space-before rule.declaration-colon-space-after rule.declaration-colon-space-before rule.declaration-no-important rule.function-calc-no-unspaced-operator rule.function-comma-space-after rule.function-comma-space-before rule.function-parentheses-space-inside rule.function-space-after rule.function-url-quotes rule.indentation rule.media-feature-colon-space-after rule.media-feature-colon-space-before rule.media-feature-name-no-vendor-prefix rule.media-feature-range-operator-space-after rule.media-feature-range-operator-space-before rule.media-query-list-comma-newline-after rule.media-query-list-comma-newline-before rule.media-query-list-comma-space-after rule.media-query-list-comma-space-before rule.media-query-parentheses-space-inside rule.no-eol-whitespace rule.no-missing-eof-newline rule.no-multiple-empty-lines rule.number-leading-zero rule.number-no-trailing-zeros rule.number-zero-length-no-unit rule.property-blacklist rule.property-no-vendor-prefix rule.property-whitelist rule.root-no-standard-properties rule.rule-nested-empty-line-before rule.rule-no-duplicate-properties rule.rule-no-single-line rule.rule-non-nested-empty-line-before rule.rule-properties-order rule.rule-trailing-semicolon rule.selector-combinator-space-after rule.selector-combinator-space-before rule.selector-list-comma-newline-after rule.selector-list-comma-newline-before rule.selector-list-comma-space-after rule.selector-list-comma-space-before rule.selector-no-attribute rule.selector-no-combinator rule.selector-no-id rule.selector-no-type rule.selector-no-universal rule.selector-no-vendor-prefix rule.selector-pseudo-element-colon-notation rule.selector-root-no-composition rule.string-quotes rule.value-list-comma-newline-after rule.value-list-comma-newline-before rule.value-list-comma-space-after rule.value-list-comma-space-before rule.value-no-vendor-prefix rule.