stylelint
Advanced tools
Changelog
16.12.0
selector-pseudo-class-allowed-list
now checks @page
pseudo-classes (#8176) (@Mouvedia).selector-pseudo-class-disallowed-list
now checks @page
pseudo-classes (#8171) (@Mouvedia).at-rule-property-required-list
message to use "descriptor" for accuracy (#8186) (@ybiquitous).custom-property-no-missing-var-function
false positives for container-name
(#8157) (@Mouvedia).custom-property-no-missing-var-function
false positives for custom properties passed to running()
(#8172) (@Mouvedia).function-no-unknown
false positives for running()
(#8172) (@Mouvedia).selector-pseudo-class-no-unknown
false positives for :open
(#8184) (@lukewarlow).selector-pseudo-class-no-unknown
false positives for :recto
, :verso
and :nth()
(#8170) (@Mouvedia).selector-pseudo-class-no-unknown
false positives for some moz-*
vendor-prefixed pseudo-classes (#8188) (@Mouvedia).selector-pseudo-element-no-unknown
false positives for ::details-content
(#8174) (@lukewarlow).selector-type-no-unknown
false positives for idents in functional pseudo-classes (#8191) (@elskhn).value-keyword-case
false negatives (#8158) (@Mouvedia).value-keyword-case
false positives for vendor-prefixed system colors (#8146) (@Mouvedia).Changelog
16.11.0
--report-unscoped-disables
CLI flag and reportUnscopedDisables
option to Node.js API and configuration object (#8024) (@Mouvedia).ignoreFunctions: []
to media-query-no-invalid
(#8060) (@ryo-manba).name
configuration property under overrides
(#8095) (@ryo-manba).benchmark-rule
script to resolve TypeError
(#8090) (@ybiquitous).github
formatter deprecation warning link to https://stylelint.io/awesome-stylelint#formatters
(#8115) (@ryo-manba).function-calc-no-unspaced-operator
false negatives for calc-size
(#8026) (@azat-io).max-nesting-depth
false positives when the &
selector is being ignored (#8048) (@ryo-manba).media-feature-name-value-no-unknown
false positives for display-mode: picture-in-picture
(#8136) (@Mouvedia).no-irregular-whitespace
reported ranges (#8066) (@romainmenke).selector-attribute-name-disallowed-list
reported ranges (#8037) (@ryo-manba).selector-attribute-operator-allowed-list
reported ranges (#8038) (@ryo-manba).selector-attribute-operator-disallowed-list
reported ranges (#8039) (@ryo-manba).selector-class-pattern
reported ranges (#8042) (@ryo-manba).selector-combinator-allowed-list
reported ranges (#8046) (@ryo-manba).selector-combinator-disallowed-list
reported ranges (#8047) (@ryo-manba).selector-disallowed-list
reported ranges (#8067) (@ryo-manba).selector-id-pattern
reported ranges (#8045) (@ryo-manba).selector-max-attribute
reported ranges (#8052) (@ryo-manba).selector-max-class
reported ranges (#8053) (@ryo-manba).selector-max-combinators
reported-ranges (#8055) (@ryo-manba).selector-max-compound-selectors
reported ranges (#8056) (@ryo-manba).selector-max-id
reported ranges (#8054) (@ryo-manba).selector-max-pseudo-class
reported ranges (#8057) (@ryo-manba).selector-max-specificity
reported ranges (#8058) (@ryo-manba).selector-max-universal
reported ranges (#8059) (@ryo-manba).selector-nested-pattern
reported ranges (#8072) (@ryo-manba).selector-no-vendor-prefix
reported ranges (#8073) (@ryo-manba).selector-not-notation
reported ranges (#8074) (@ryo-manba).selector-pseudo-class-allowed-list
reported ranges (#8061) (@ryo-manba).selector-pseudo-class-disallowed-list
reported ranges (#8062) (@ryo-manba).selector-pseudo-class-no-unknown
reported ranges (#8063) (@ryo-manba).selector-pseudo-element-allowed-list
reported ranges (#8068) (@ryo-manba).selector-pseudo-element-colon-notation
reported ranges (#8069) (@ryo-manba).selector-pseudo-element-disallowed-list
reported ranges (#8070) (@ryo-manba).selector-pseudo-element-no-unknown
false positives for ::scroll-marker
and ::scroll-marker-group
(#8110) (@Mouvedia).selector-pseudo-element-no-unknown
reported ranges (#8071) (@ryo-manba).selector-type-no-unknown
reported ranges (#8076) (@ryo-manba).Changelog
16.10.0
shorthand-property-no-redundant-values
reported ranges (#8008) (@Mouvedia).formatter
configuration property (#7826) (@emmacharp).validate
option to Node.js API and --validate
CLI flag (#8009) (@Mouvedia).verbose
formatter (#7985) (@Mouvedia).string | RegExp
to ignoreValues
option of value-no-vendor-prefix
(#7969) (@Mouvedia).string
to ignoreLonghands
option of declaration-block-no-redundant-longhand-properties
(#7971) (@Mouvedia).at-rule-no-unknown
false positives for @position-try
(#7968) (@yelizsevinc).declaration-block-no-redundant-longhand-properties
autofix for grid-column
/grid-row
(#8023) (@ryo-manba).declaration-property-value-no-unknown
false negatives/positives via css-tree@3.0.0
(#7993) (@Mouvedia).declaration-property-value-no-unknown
reported ranges and message (#8003) (@romainmenke).keyframe-selector-notation
reported ranges (#7992) (@romainmenke).length-zero-no-unit
false positives for Sass variables (#8035) (@ryo-manba).no-descending-specificity
reported ranges (#7996) (@romainmenke).selector-anb-no-unmatchable
reported ranges and message (#8001) (@romainmenke).string
formatter handling of log symbols for non-Unicode terminals (#7981) (@Mouvedia)..cjs
files to address Rollup vulnerability (#8010) (@ybiquitous).config
option for Node.js API with extends
and overrides
(#8030) (@ybiquitous).declaration-property-max-values
, declaration-property-value-no-unknown
and number-max-precision
(#7975) (@Mouvedia).Changelog
16.9.0
secondaryOptions
argument type of the Rule
function (#7950) (@Mouvedia).color-function-notation
reporting functions with less than 3 arguments (#7948) (@Mouvedia).declaration-property-value-no-unknown
false positives/negatives (#7944 & #7957 & #7956) (@Mouvedia & @sidverma32).
overflow
, word-break
, width
anchor-name
, field-sizing
, text-box-edge
, text-box-trim
, text-spacing-trim
, text-wrap
, text-wrap-mode
, text-wrap-style
, view-timeline
, view-timeline-axis
, view-timeline-inset
, view-timeline-name
, view-transition-name
keyframe-block-no-duplicate-selectors
/keyframe-declaration-no-important
/keyframe-selector-notation
/no-unknown-animations
false negatives for @-o-keyframes
and @-ms-keyframes
(#7953) (@Mouvedia).no-duplicate-selectors
reported ranges (#7938) (@romainmenke).property-no-vendor-prefix
report for -webkit-background-size
(#7940) (@Mouvedia).selector-class-pattern
reported ranges (#7959) (@Mouvedia).selector-no-qualifying-type
reported ranges (#7937) (@romainmenke).--no-deprecation
flag for rule deprecation warnings (#7943) (@Mouvedia).Changelog
16.8.2
context.fix
usage in favour of recommending to pass a fix
callback to report()
(#7895) (@Mouvedia).github
formatter (#7909) (@Mouvedia).custom-property-no-missing-var-function
false positives for view-transition-name
(#7914) (@Mouvedia).keyframe-block-no-duplicate-selectors
reported ranges (#7932) (@romainmenke).no-invalid-double-slash-comments
reported ranges (#7907 & #7905) (@Mouvedia & @romainmenke).selector-max-type
reported ranges (#7916) (@romainmenke).selector-type-no-unknown
false positives for ::highlight()
and ::view-transition-*()
(#7913) (@Mouvedia).Changelog
16.8.1
no-duplicate-selectors
false positives with Less syntax (#7888) (@romainmenke).Changelog
16.8.0
github
formatter (#7865) (@marcalexiei).function-url-quotes
false positives for SCSS variables and #
/?
characters (#7874) (@vimalloc).keyframe-selector-notation
false positives for entry-crossing
and exit-crossing
(#7859) (@romainmenke).no-descending-specificity
false positives for nested rules without declarations (#7850) (@romainmenke).no-duplicate-selectors
end positions (#7867) (@romainmenke).no-duplicate-selectors
false negatives for three or more duplicates (#7867) (@romainmenke).selector-max-compound-selectors
error for @nest
(#7875) (@romainmenke).selector-pseudo-class-no-unknown
false positives for :active-view-transition
and :active-view-transition-type()
(#7868) (@Mouvedia).selector-type-*
, selector-max-type
and selector-class-pattern
false positives for <timeline-range-name>
in keyframe selectors (#7856) (@romainmenke).stylelint.utils.checkAgainstRule()
regression when reportNeedlessDisables
and quiet
are both enabled (#7879) (@ybiquitous).