README
stylelint-config-torchbox 
Shareable stylelint config for CSS and SCSS, following Torchbox’s code style.
Usage
Install stylelint, and the config:
npm install --save-dev stylelint@10 stylelint-config-torchbox
Then configure stylelint to use this config. As a stylelint.config.js in the root of your project:
module.exports = {
// See https://github.com/torchbox/stylelint-config-torchbox for rules.
extends: 'stylelint-config-torchbox',
};
Tips
- Use Stylelint’s
--report-needless-disablesflag to ensure you do not use morestylelint-disablecomments than needed.
Related tools
To get the most out of this config, it is assumed that projects have the following tools set up:
- Prettier for automated formatting of stylesheets.
- Browserslist and autoprefixer.
What’s included
See
config.jsfor the config definition. This package depends on:
Rules
Custom rules
color-named:nevernumber-leading-zero:alwaysdeclaration-block-no-shorthand-property-overridesdeclaration-no-importantselector-max-id:0selector-max-type:2, ignore: child, compounded, next-siblingselector-class-pattern:, resolveNestedSelectors: truemax-nesting-depth:4selector-max-specificity:0,4,0value-no-vendor-prefixfunction-calc-no-invalidproperty-no-vendor-prefixselector-no-vendor-prefixmedia-feature-name-no-vendor-prefixat-rule-no-vendor-prefixscss/at-rule-no-unknownscss/declaration-nested-properties:neverscss/selector-no-redundant-nesting-selectorscss/percent-placeholder-pattern:^do-not-use-placeholders$scss/dollar-variable-no-missing-interpolationscss/at-mixin-argumentless-call-parentheses:alwaysscss/at-mixin-pattern: ``order/order:dollar-variables, custom-properties, type: at-rule, hasBlock: false, declarationsa11y/no-obsolete-attributea11y/no-obsolete-elementa11y/no-text-align-justifya11y/no-outline-nonescale-unlimited/declaration-strict-value:color, fill, stroke, /-color/, ignoreKeywords: currentColor, inherit, transparent, initial
Rules of stylelint-config-standard
at-rule-name-space-after:alwayscolor-hex-length:shortcomment-empty-line-before:always, except: first-nested, ignore: stylelint-commandscomment-whitespace-inside:alwayscustom-property-empty-line-before:always, except: after-custom-property, first-nested, ignore: after-comment, inside-single-line-blockdeclaration-bang-space-after:neverdeclaration-bang-space-before:alwaysdeclaration-block-single-line-max-declarations:1function-name-case:lowerfunction-whitespace-after:alwayslength-zero-no-unitmedia-feature-colon-space-after:alwaysmedia-feature-colon-space-before:nevermedia-feature-parentheses-space-inside:nevermedia-feature-range-operator-space-after:alwaysmedia-feature-range-operator-space-before:alwaysselector-attribute-brackets-space-inside:neverselector-attribute-operator-space-after:neverselector-attribute-operator-space-before:neverselector-pseudo-class-parentheses-space-inside:neverselector-pseudo-element-colon-notation:doubleselector-type-case:lowervalue-keyword-case:lowerblock-no-emptycolor-no-invalid-hexcomment-no-emptydeclaration-block-no-duplicate-properties:true, ignore: consecutive-duplicates-with-different-valuesfont-family-no-duplicate-namesfont-family-no-missing-generic-family-keywordfunction-calc-no-unspaced-operatorfunction-linear-gradient-no-nonstandard-directionkeyframe-declaration-no-importantmedia-feature-name-no-unknownno-duplicate-at-import-rulesno-duplicate-selectorsno-empty-sourceno-invalid-double-slash-commentsproperty-no-unknownselector-pseudo-class-no-unknownselector-pseudo-element-no-unknownselector-type-no-unknownstring-no-newlineunit-no-unknownselector-attribute-quotes:alwaysat-rule-semicolon-space-before:never
Disabled rules
Rules that are turned off on purpose.
declaration-empty-line-beforeno-descending-specificityat-rule-no-unknownat-rule-empty-line-beforeat-rule-name-caseat-rule-semicolon-newline-afterblock-closing-brace-empty-line-beforeblock-closing-brace-newline-afterblock-closing-brace-newline-beforeblock-closing-brace-space-beforeblock-opening-brace-newline-afterblock-opening-brace-space-afterblock-opening-brace-space-beforecolor-hex-casedeclaration-block-semicolon-newline-afterdeclaration-block-semicolon-space-afterdeclaration-block-semicolon-space-beforedeclaration-block-trailing-semicolondeclaration-colon-newline-afterdeclaration-colon-space-afterdeclaration-colon-space-beforefunction-comma-newline-afterfunction-comma-space-afterfunction-comma-space-beforefunction-max-empty-linesfunction-parentheses-newline-insidefunction-parentheses-space-insideindentationmax-empty-linesmedia-feature-name-casemedia-query-list-comma-newline-aftermedia-query-list-comma-space-aftermedia-query-list-comma-space-beforeno-eol-whitespaceno-missing-end-of-source-newlinenumber-no-trailing-zerosproperty-caserule-empty-line-beforeselector-combinator-space-afterselector-combinator-space-beforeselector-descendant-combinator-no-non-spaceselector-list-comma-newline-afterselector-list-comma-space-beforeselector-max-empty-linesselector-pseudo-class-caseselector-pseudo-element-caseunit-casevalue-list-comma-newline-aftervalue-list-comma-space-aftervalue-list-comma-space-beforevalue-list-max-empty-linesno-extra-semicolonslinebreaksmax-line-lengthfunction-comma-newline-beforevalue-list-comma-newline-beforedeclaration-block-semicolon-newline-beforeblock-closing-brace-space-afterblock-opening-brace-newline-beforeselector-list-comma-newline-beforeselector-list-comma-space-aftermedia-query-list-comma-newline-beforeat-rule-name-newline-afterno-empty-first-lineunicode-bomstring-quotes
Unused rules
Rules that are not configured.
comment-word-disallowed-listcustom-media-patterncustom-property-patterndeclaration-block-no-redundant-longhand-propertiesdeclaration-property-unit-disallowed-listdeclaration-property-unit-allowed-listdeclaration-property-value-disallowed-listdeclaration-property-value-allowed-listfont-family-name-quotesfont-weight-notationfunction-disallowed-listfunction-url-no-scheme-relativefunction-url-quotesfunction-url-scheme-disallowed-listfunction-url-scheme-allowed-listfunction-allowed-listkeyframes-name-patternlinebreaksmedia-feature-name-disallowed-listmedia-feature-name-value-allowed-listmedia-feature-name-allowed-listno-empty-first-lineno-unknown-animationsnumber-max-precisionproperty-disallowed-listproperty-allowed-listscss/partial-no-importscss/selector-nest-combinatorsselector-attribute-operator-disallowed-listselector-attribute-operator-allowed-listselector-combinator-disallowed-listselector-combinator-allowed-listselector-max-attributeselector-max-classselector-max-combinatorsselector-max-compound-selectorsselector-max-pseudo-classselector-max-universalselector-nested-patternselector-pseudo-class-disallowed-listselector-pseudo-class-allowed-listselector-pseudo-element-disallowed-listselector-pseudo-element-allowed-listtime-min-millisecondsunit-disallowed-listunit-allowed-listvalue-keyword-casescss/dollar-variable-patternscss/at-function-patternscss/at-import-partial-extension-blacklistscss/at-import-partial-extension-whitelistscss/dollar-variable-defaultscss/no-dollar-variablesorder/properties-alphabetical-ordera11y/content-property-no-static-valuea11y/font-size-is-readablea11y/line-height-is-vertical-rhythmeda11y/media-prefers-color-schemea11y/media-prefers-reduced-motiona11y/no-display-nonea11y/no-spread-texta11y/selector-pseudo-class-focusat-rule-disallowed-listat-rule-property-required-listat-rule-allowed-listcolor-no-hexselector-id-patternscss/at-else-closing-brace-newline-afterscss/at-else-closing-brace-space-afterscss/at-else-empty-line-beforescss/at-else-if-parentheses-space-beforescss/at-extend-no-missing-placeholderscss/at-function-parentheses-space-beforescss/at-if-closing-brace-newline-afterscss/at-if-closing-brace-space-afterscss/at-import-no-partial-leading-underscorescss/at-mixin-parentheses-space-beforescss/declaration-nested-properties-no-divided-groupsscss/dollar-variable-colon-newline-afterscss/dollar-variable-colon-space-afterscss/dollar-variable-colon-space-beforescss/dollar-variable-empty-line-beforescss/double-slash-comment-empty-line-beforescss/double-slash-comment-inlinescss/double-slash-comment-whitespace-insidescss/operator-no-newline-afterscss/operator-no-newline-beforescss/operator-no-unspacedalpha-value-notationcolor-function-notationhue-degree-notationscss/comment-no-emptyscss/dollar-variable-empty-line-afterscss/dollar-variable-first-in-blockscss/no-duplicate-mixinsscss/no-global-function-namesscss/at-each-key-value-single-linescss/at-function-named-argumentsscss/at-if-no-nullscss/at-import-partial-extensionscss/at-mixin-named-argumentsscss/at-rule-conditional-no-parenthesesscss/comment-no-loudscss/dimension-no-non-numeric-valuesscss/function-color-relativescss/function-quote-no-quoted-strings-insidescss/function-unquote-no-unquoted-strings-insidescss/map-keys-quotesscss/no-duplicate-dollar-variablesscss/selector-no-union-class-namescss/media-feature-value-dollar-variableselector-no-qualifying-typeshorthand-property-no-redundant-valuesorder/properties-order
Contributing
See the contribution guidelines for guidance and setup instructions.