peceful/.sass-lint.yml

339 lines
7.1 KiB
YAML
Raw Normal View History

# Note: This is not directly taken from the sass-lint from zurb foundation code:
# https://github.com/zurb/foundation-sites/blob/develop/.scss-lint.yml
# This should align as closely as possible with Drupal code standards:
# https://www.drupal.org/docs/develop/standards/css/csscomb-settings-for-drupal-css-formatting-and-sort-tool
options:
formatter: stylish
files:
include: 'scss/**/*.scss'
rules:
# Extends
extends-before-mixins: 1
extends-before-declarations: 1
placeholder-in-extend: 1
# Mixins
mixins-before-declarations: 1
# Line Spacing
one-declaration-per-line: 1
empty-line-between-blocks: 1
single-line-per-selector: 1
# Disallows
no-attribute-selectors: 0
no-color-hex: 0
no-color-keywords: 1
no-color-literals: 1
no-combinators: 0
no-css-comments: 0
no-debug: 1
no-disallowed-properties: 0
no-duplicate-properties: 0
no-empty-rulesets: 1
no-extends: 0
no-ids: 0
no-important: 1
no-invalid-hex: 1
no-mergeable-selectors: 1
no-misspelled-properties: 1
no-qualifying-elements: 1
no-trailing-whitespace: 1
no-trailing-zero: 1
no-transition-all: 1
no-universal-selectors: 0
no-url-domains: 1
no-url-protocols: 1
no-vendor-prefixes: 0
no-warn: 1
property-units: 0
# Nesting
declarations-before-nesting: 1
force-attribute-nesting: 1
force-element-nesting: 1
force-pseudo-nesting: 1
# Name Formats
class-name-format:
- 1
- convention: hyphenatedbem
function-name-format: 1
id-name-format: 0
mixin-name-format: 1
placeholder-name-format: 1
variable-name-format: 1
# Style Guide
attribute-quotes: 1
bem-depth: 0
border-zero: 1
brace-style: 1
clean-import-paths: 1
empty-args: 1
hex-length: 1
hex-notation: 1
indentation: 1
leading-zero: 1
max-line-length: 0
max-file-line-count: 0
nesting-depth: 1
property-sort-order:
- 1
-
ignore-custom-properties: true
order:
# Specific - CSS property order
# https://www.drupal.org/docs/develop/standards/css/csscomb-settings-for-drupal-css-formatting-and-sort-tool
- '$charset'
- '$import'
- '$namespace'
- '$extend'
- '$variable'
- '$include'
# Position
- 'position'
- 'z-index'
- 'top'
- 'right'
- 'bottom'
- 'left'
# Disposition
- 'display'
- 'flex'
- 'flex-basis'
- 'flex-direction'
- 'flex-flow'
- 'flex-grow'
- 'flex-shrink'
- 'flex-wrap'
- 'justify-content'
- 'order'
- 'box-align'
- 'box-flex'
- 'box-orient'
- 'box-pack'
- 'align-content'
- 'align-items'
- 'align-self'
- 'columns'
- 'column-gap'
- 'column-fill'
- 'column-rule'
- 'column-span'
- 'column-count'
- 'column-width'
- 'vertical-align'
- 'float'
- 'clear'
# Dimension
- 'box-sizing'
- 'width'
- 'min-width'
- 'max-width'
- 'height'
- 'min-height'
- 'max-height'
- 'margin'
- 'margin-top'
- 'margin-right'
- 'margin-bottom'
- 'margin-left'
- 'margin-collapse'
- 'margin-top-collapse'
- 'margin-right-collapse'
- 'margin-bottom-collapse'
- 'margin-left-collapse'
- 'padding'
- 'padding-top'
- 'padding-right'
- 'padding-bottom'
- 'padding-left'
# Global appearance
- 'appearance'
- 'opacity'
- 'filter'
- 'visibility'
- 'size'
- 'resize'
- 'zoom'
- 'transform'
- 'transform-box'
- 'transform-origin'
- 'transform-style'
# Border
- 'outline'
- 'outline-color'
- 'outline-offset'
- 'outline-style'
- 'outline-width'
- 'border'
- 'border-top'
- 'border-right'
- 'border-bottom'
- 'border-left'
- 'border-width'
- 'border-top-width'
- 'border-right-width'
- 'border-bottom-width'
- 'border-left-width'
- 'border-style'
- 'border-top-style'
- 'border-right-style'
- 'border-bottom-style'
- 'border-left-style'
- 'border-radius'
- 'border-top-left-radius'
- 'border-top-right-radius'
- 'border-bottom-right-radius'
- 'border-bottom-left-radius'
- 'border-radius-topleft'
- 'border-radius-topright'
- 'border-radius-bottomright'
- 'border-radius-bottomleft'
- 'border-color'
- 'border-top-color'
- 'border-right-color'
- 'border-bottom-color'
- 'border-left-color'
- 'border-collapse'
- 'border-spacing'
# Background
- 'background'
- 'background-image'
- 'background-color'
- 'background-attachment'
- 'background-clip'
- 'background-origin'
- 'background-position'
- 'background-repeat'
- 'background-size'
# Shadow
- 'box-shadow'
# Animation
- 'animation'
- 'animation-delay'
- 'animation-duration'
- 'animation-iteration-count'
- 'animation-name'
- 'animation-play-state'
- 'animation-timing-function'
- 'animation-fill-mode'
- 'transition'
- 'transition-delay'
- 'transition-duration'
- 'transition-property'
- 'transition-timing-function'
# Content
- 'content'
- 'list-style'
- 'list-style-image'
- 'list-style-position'
- 'list-style-type'
- 'overflow'
- 'overflow-x'
- 'overflow-y'
- 'clip'
# Text
- 'font'
- 'font-family'
- 'font-size'
- 'font-smoothing'
- 'osx-font-smoothing'
- 'font-style'
- 'font-variant'
- 'font-weight'
- 'src'
- 'word-spacing'
- 'letter-spacing'
- 'line-height'
- 'color'
- 'direction'
- 'text-align'
- 'text-decoration'
- 'text-indent'
- 'text-overflow'
- 'text-rendering'
- 'text-size-adjust'
- 'text-shadow'
- 'text-transform'
- 'white-space'
- 'word-break'
- 'word-wrap'
- 'hyphens'
- 'quotes'
# Divers
- 'pointer-events'
- 'cursor'
- 'backface-visibility'
- 'caption-side'
- 'empty-cells'
- 'table-layout'
- 'user-select'
- 'interpolation-mode'
- 'marks'
- 'page'
- 'set-link-source'
- 'unicode-bidi'
- 'speak'
pseudo-element: 0
quotes:
- 1
- style: double
shorthand-values: 1
url-quotes: 1
variable-for-property: 1
zero-unit: 1
# Inner Spacing
space-after-comma: 0
space-before-colon: 1
space-after-colon: 1
space-before-brace: 1
space-before-bang: 1
space-after-bang: 1
space-between-parens: 1
space-around-operator: 1
# Final Items
trailing-semicolon: 1
final-newline: 1