linter-bundle 5.1.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/.linter-bundle.js +2 -0
  2. package/CHANGELOG.md +83 -9
  3. package/README.md +5 -3
  4. package/TODO.md +5 -0
  5. package/eslint/index.cjs +10 -4
  6. package/eslint/overrides-javascript.cjs +7 -1
  7. package/eslint/overrides-jest.cjs +1 -0
  8. package/eslint/overrides-jsdoc.cjs +1 -0
  9. package/eslint/rules/no-global-undefined-check.js +5 -3
  10. package/eslint/rules/no-unnecessary-typeof.js +26 -24
  11. package/eslint/rules/restricted-filenames.js +3 -1
  12. package/helper/ensure-type.cjs +2 -2
  13. package/helper/get-git-files.js +1 -1
  14. package/helper/get-outdated-dependencies.js +1 -1
  15. package/helper/get-outdated-overrides.js +1 -1
  16. package/helper/get-stylelint-path.js +1 -1
  17. package/helper/is-npm-or-yarn.js +1 -1
  18. package/helper/linter-bundle-config.js +22 -7
  19. package/helper/run-process.js +3 -3
  20. package/lint.js +31 -35
  21. package/package.json +27 -26
  22. package/stylelint/index.cjs +90 -5
  23. package/stylelint/plugins/stylelint-15.11.0-stylistic/LICENSE +20 -0
  24. package/stylelint/plugins/stylelint-15.11.0-stylistic/html-tags/LICENSE +9 -0
  25. package/stylelint/plugins/stylelint-15.11.0-stylistic/html-tags/index.cjs +122 -0
  26. package/stylelint/plugins/stylelint-15.11.0-stylistic/reference/selectors.cjs +327 -0
  27. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-case/README.md +110 -0
  28. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-case/index.cjs +66 -0
  29. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-space-after/README.md +117 -0
  30. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-space-after/index.cjs +55 -0
  31. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-newline-after/README.md +63 -0
  32. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-newline-after/index.cjs +87 -0
  33. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-space-before/README.md +50 -0
  34. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-space-before/index.cjs +70 -0
  35. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/atRuleNameSpaceChecker.cjs +56 -0
  36. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-empty-line-before/README.md +238 -0
  37. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-empty-line-before/index.cjs +130 -0
  38. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-after/README.md +196 -0
  39. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-after/index.cjs +154 -0
  40. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-before/README.md +93 -0
  41. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-before/index.cjs +133 -0
  42. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-space-before/README.md +174 -0
  43. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-space-before/index.cjs +111 -0
  44. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-newline-after/README.md +138 -0
  45. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-newline-after/index.cjs +184 -0
  46. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-after/README.md +191 -0
  47. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-after/index.cjs +118 -0
  48. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-before/README.md +218 -0
  49. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-before/index.cjs +141 -0
  50. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/color-hex-case/README.md +58 -0
  51. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/color-hex-case/index.cjs +95 -0
  52. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-after/README.md +72 -0
  53. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-after/index.cjs +95 -0
  54. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-before/README.md +67 -0
  55. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-before/index.cjs +96 -0
  56. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-after/README.md +141 -0
  57. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-after/index.cjs +109 -0
  58. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-before/README.md +120 -0
  59. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-before/index.cjs +75 -0
  60. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-after/README.md +147 -0
  61. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-after/index.cjs +97 -0
  62. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-before/README.md +130 -0
  63. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-before/index.cjs +106 -0
  64. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-trailing-semicolon/README.md +108 -0
  65. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-trailing-semicolon/index.cjs +147 -0
  66. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-newline-after/README.md +78 -0
  67. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-newline-after/index.cjs +99 -0
  68. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-after/README.md +111 -0
  69. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-after/index.cjs +75 -0
  70. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-before/README.md +72 -0
  71. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-before/index.cjs +74 -0
  72. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declarationBangSpaceChecker.cjs +63 -0
  73. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declarationColonSpaceChecker.cjs +58 -0
  74. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/findMediaOperator.cjs +32 -0
  75. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-after/README.md +113 -0
  76. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-after/index.cjs +61 -0
  77. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-before/README.md +129 -0
  78. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-before/index.cjs +61 -0
  79. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-after/README.md +144 -0
  80. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-after/index.cjs +62 -0
  81. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-before/README.md +144 -0
  82. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-before/index.cjs +62 -0
  83. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-max-empty-lines/README.md +78 -0
  84. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-max-empty-lines/index.cjs +115 -0
  85. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-newline-inside/README.md +144 -0
  86. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-newline-inside/index.cjs +282 -0
  87. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-space-inside/README.md +140 -0
  88. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-space-inside/index.cjs +182 -0
  89. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-whitespace-after/README.md +80 -0
  90. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-whitespace-after/index.cjs +198 -0
  91. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/functionCommaSpaceChecker.cjs +125 -0
  92. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/functionCommaSpaceFix.cjs +51 -0
  93. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/indentation/README.md +339 -0
  94. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/indentation/index.cjs +743 -0
  95. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/linebreaks/README.md +21 -0
  96. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/linebreaks/index.cjs +132 -0
  97. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-empty-lines/README.md +116 -0
  98. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-empty-lines/index.cjs +225 -0
  99. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-line-length/README.md +151 -0
  100. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-line-length/index.cjs +200 -0
  101. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-after/README.md +72 -0
  102. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-after/index.cjs +91 -0
  103. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-before/README.md +72 -0
  104. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-before/index.cjs +91 -0
  105. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-name-case/README.md +108 -0
  106. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-name-case/index.cjs +93 -0
  107. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-parentheses-space-inside/README.md +62 -0
  108. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-parentheses-space-inside/index.cjs +112 -0
  109. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-after/README.md +72 -0
  110. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-after/index.cjs +109 -0
  111. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-before/README.md +72 -0
  112. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-before/index.cjs +109 -0
  113. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-after/README.md +113 -0
  114. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-after/index.cjs +97 -0
  115. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-before/README.md +111 -0
  116. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-before/index.cjs +49 -0
  117. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-after/README.md +136 -0
  118. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-after/index.cjs +93 -0
  119. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-before/README.md +136 -0
  120. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-before/index.cjs +93 -0
  121. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/mediaFeatureColonSpaceChecker.cjs +54 -0
  122. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/mediaQueryListCommaWhitespaceChecker.cjs +73 -0
  123. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-empty-first-line/README.md +34 -0
  124. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-empty-first-line/index.cjs +63 -0
  125. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-eol-whitespace/README.md +79 -0
  126. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-eol-whitespace/index.cjs +302 -0
  127. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-extra-semicolons/README.md +78 -0
  128. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-extra-semicolons/index.cjs +246 -0
  129. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-missing-end-of-source-newline/README.md +34 -0
  130. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-missing-end-of-source-newline/index.cjs +62 -0
  131. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-leading-zero/README.md +74 -0
  132. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-leading-zero/index.cjs +197 -0
  133. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-no-trailing-zeros/README.md +40 -0
  134. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-no-trailing-zeros/index.cjs +139 -0
  135. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/property-case/README.md +192 -0
  136. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/property-case/index.cjs +95 -0
  137. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-brackets-space-inside/README.md +112 -0
  138. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-brackets-space-inside/index.cjs +214 -0
  139. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-after/README.md +162 -0
  140. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-after/index.cjs +109 -0
  141. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-before/README.md +162 -0
  142. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-before/index.cjs +88 -0
  143. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-after/README.md +78 -0
  144. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-after/index.cjs +67 -0
  145. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-before/README.md +78 -0
  146. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-before/index.cjs +67 -0
  147. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-descendant-combinator-no-non-space/README.md +40 -0
  148. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-descendant-combinator-no-non-space/index.cjs +95 -0
  149. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-after/README.md +120 -0
  150. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-after/index.cjs +126 -0
  151. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-before/README.md +112 -0
  152. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-before/index.cjs +101 -0
  153. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-after/README.md +110 -0
  154. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-after/index.cjs +92 -0
  155. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-before/README.md +110 -0
  156. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-before/index.cjs +92 -0
  157. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-max-empty-lines/README.md +103 -0
  158. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-max-empty-lines/index.cjs +74 -0
  159. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-case/README.md +108 -0
  160. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-case/index.cjs +104 -0
  161. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-parentheses-space-inside/README.md +62 -0
  162. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-parentheses-space-inside/index.cjs +162 -0
  163. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-element-case/README.md +128 -0
  164. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-element-case/index.cjs +90 -0
  165. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selectorAttributeOperatorSpaceChecker.cjs +95 -0
  166. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selectorCombinatorSpaceChecker.cjs +113 -0
  167. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selectorListCommaWhitespaceChecker.cjs +64 -0
  168. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/string-quotes/README.md +130 -0
  169. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/string-quotes/index.cjs +256 -0
  170. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unicode-bom/README.md +41 -0
  171. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unicode-bom/index.cjs +67 -0
  172. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unit-case/README.md +126 -0
  173. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unit-case/index.cjs +133 -0
  174. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-after/README.md +102 -0
  175. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-after/index.cjs +107 -0
  176. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-before/README.md +100 -0
  177. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-before/index.cjs +49 -0
  178. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-after/README.md +136 -0
  179. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-after/index.cjs +94 -0
  180. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-before/README.md +136 -0
  181. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-before/index.cjs +94 -0
  182. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-max-empty-lines/README.md +121 -0
  183. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-max-empty-lines/index.cjs +68 -0
  184. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/valueListCommaWhitespaceChecker.cjs +74 -0
  185. package/stylelint/plugins/stylelint-15.11.0-stylistic/style-search/LICENSE +13 -0
  186. package/stylelint/plugins/stylelint-15.11.0-stylistic/style-search/index.cjs +216 -0
  187. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/addEmptyLineAfter.cjs +30 -0
  188. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/hasEmptyBlock.cjs +14 -0
  189. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/nextNonCommentNode.cjs +21 -0
  190. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/removeEmptyLinesAfter.cjs +16 -0
  191. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/whitespaceChecker.cjs +361 -0
  192. package/stylelint/plugins/stylelint-selector-no-empty.js +8 -8
  193. package/stylelint/plugins/stylelint-selector-tag-no-without-class.js +4 -4
  194. package/stylelint/plugins/stylelint-high-performance-animation.js +0 -276
  195. package/stylelint/plugins/stylelint-stylistic.js +0 -188
@@ -0,0 +1,110 @@
1
+ # selector-list-comma-space-before
2
+
3
+ Require a single space or disallow whitespace before the commas of selector lists.
4
+
5
+ <!-- prettier-ignore -->
6
+ ```css
7
+ a ,b { color: pink; }
8
+ /** ↑
9
+ * The space before this comma */
10
+ ```
11
+
12
+ The [`fix` option](https://stylelint.io/user-guide/options/#fix) can automatically fix all of the problems reported by this rule.
13
+
14
+ ## Options
15
+
16
+ `string`: `"always"|"never"|"always-single-line"|"never-single-line"`
17
+
18
+ ### `"always"`
19
+
20
+ There _must always_ be a single space before the commas.
21
+
22
+ The following patterns are considered problems:
23
+
24
+ <!-- prettier-ignore -->
25
+ ```css
26
+ a,b { color: pink; }
27
+ ```
28
+
29
+ <!-- prettier-ignore -->
30
+ ```css
31
+ a, b { color: pink; }
32
+ ```
33
+
34
+ The following patterns are _not_ considered problems:
35
+
36
+ <!-- prettier-ignore -->
37
+ ```css
38
+ a ,b { color: pink; }
39
+ ```
40
+
41
+ <!-- prettier-ignore -->
42
+ ```css
43
+ a , b { color: pink; }
44
+ ```
45
+
46
+ ### `"never"`
47
+
48
+ There _must never_ be whitespace before the commas.
49
+
50
+ The following patterns are considered problems:
51
+
52
+ <!-- prettier-ignore -->
53
+ ```css
54
+ a ,b { color: pink; }
55
+ ```
56
+
57
+ <!-- prettier-ignore -->
58
+ ```css
59
+ a , b { color: pink; }
60
+ ```
61
+
62
+ The following patterns are _not_ considered problems:
63
+
64
+ <!-- prettier-ignore -->
65
+ ```css
66
+ a,b { color: pink; }
67
+ ```
68
+
69
+ <!-- prettier-ignore -->
70
+ ```css
71
+ a, b { color: pink; }
72
+ ```
73
+
74
+ ### `"always-single-line"`
75
+
76
+ There _must always_ be a single space before the commas in single-line selector lists.
77
+
78
+ The following patterns are considered problems:
79
+
80
+ <!-- prettier-ignore -->
81
+ ```css
82
+ a,b { color: pink; }
83
+ ```
84
+
85
+ The following patterns are _not_ considered problems:
86
+
87
+ <!-- prettier-ignore -->
88
+ ```css
89
+ a,
90
+ b { color: pink; }
91
+ ```
92
+
93
+ ### `"never-single-line"`
94
+
95
+ There _must never_ be a single space before the commas in single-line selector lists.
96
+
97
+ The following patterns are considered problems:
98
+
99
+ <!-- prettier-ignore -->
100
+ ```css
101
+ a ,b { color: pink; }
102
+ ```
103
+
104
+ The following patterns are _not_ considered problems:
105
+
106
+ <!-- prettier-ignore -->
107
+ ```css
108
+ a ,
109
+ b { color: pink; }
110
+ ```
@@ -0,0 +1,92 @@
1
+ /* eslint-disable -- We want to keep as much of the original code as possible */
2
+ // @ts-nocheck
3
+
4
+ const stylelint = require('stylelint');
5
+ const ruleMessages = require('stylelint/lib/utils/ruleMessages.cjs');
6
+ const validateOptions = require('stylelint/lib/utils/validateOptions.cjs');
7
+
8
+ const whitespaceChecker = require('../../utils/whitespaceChecker.cjs');
9
+ const selectorListCommaWhitespaceChecker = require('../selectorListCommaWhitespaceChecker.cjs');
10
+
11
+ const ruleName = 'plugin/selector-list-comma-space-before';
12
+
13
+ const messages = ruleMessages(ruleName, {
14
+ expectedBefore: () => 'Expected single space before ","',
15
+ rejectedBefore: () => 'Unexpected whitespace before ","',
16
+ expectedBeforeSingleLine: () => 'Expected single space before "," in a single-line list',
17
+ rejectedBeforeSingleLine: () => 'Unexpected whitespace before "," in a single-line list'
18
+ });
19
+
20
+ const meta = {
21
+ url: 'https://github.com/jens-duttke/linter-bundle/blob/main/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-before/README.md',
22
+ fixable: true
23
+ };
24
+
25
+ /** @type {import('stylelint').Rule} */
26
+ const rule = (primary, _secondaryOptions, context) => {
27
+ const checker = whitespaceChecker('space', primary, messages);
28
+
29
+ return (root, result) => {
30
+ const validOptions = validateOptions(result, ruleName, {
31
+ actual: primary,
32
+ possible: ['always', 'never', 'always-single-line', 'never-single-line']
33
+ });
34
+
35
+ if (!validOptions) {
36
+ return;
37
+ }
38
+
39
+ /** @type {Map<import('postcss').Rule, number[]> | undefined} */
40
+ let fixData;
41
+
42
+ selectorListCommaWhitespaceChecker({
43
+ root,
44
+ result,
45
+ locationChecker: checker.before,
46
+ checkedRuleName: ruleName,
47
+ fix: context.fix ?
48
+ (ruleNode, index) => {
49
+ fixData ||= new Map();
50
+ const commaIndices = fixData.get(ruleNode) || [];
51
+
52
+ commaIndices.push(index);
53
+ fixData.set(ruleNode, commaIndices);
54
+
55
+ return true;
56
+ }
57
+ : null
58
+ });
59
+
60
+ if (fixData) {
61
+ for (const [ruleNode, commaIndices] of fixData.entries()) {
62
+ let selector = ruleNode.raws.selector ? ruleNode.raws.selector.raw : ruleNode.selector;
63
+
64
+ for (const index of commaIndices.sort((a, b) => b - a)) {
65
+ let beforeSelector = selector.slice(0, index);
66
+ const afterSelector = selector.slice(index);
67
+
68
+ if (primary.includes('always')) {
69
+ beforeSelector = beforeSelector.replace(/\s*$/, ' ');
70
+ }
71
+ else if (primary.includes('never')) {
72
+ beforeSelector = beforeSelector.replace(/\s*$/, '');
73
+ }
74
+
75
+ selector = beforeSelector + afterSelector;
76
+ }
77
+
78
+ if (ruleNode.raws.selector) {
79
+ ruleNode.raws.selector.raw = selector;
80
+ }
81
+ else {
82
+ ruleNode.selector = selector;
83
+ }
84
+ }
85
+ }
86
+ };
87
+ };
88
+
89
+ rule.ruleName = ruleName;
90
+ rule.messages = messages;
91
+ rule.meta = meta;
92
+ module.exports = stylelint.createPlugin(ruleName, rule);
@@ -0,0 +1,103 @@
1
+ # selector-max-empty-lines
2
+
3
+ Limit the number of adjacent empty lines within selectors.
4
+
5
+ <!-- prettier-ignore -->
6
+ ```css
7
+ a,
8
+ /* ← */
9
+ b { /* ↑ */
10
+ color: red; /* ↑ */
11
+ } /* ↑ */
12
+ /** ↑
13
+ * This empty line */
14
+ ```
15
+
16
+ The [`fix` option](https://stylelint.io/user-guide/options/#fix) can automatically fix all of the problems reported by this rule.
17
+
18
+ ## Options
19
+
20
+ `int`: Maximum number of adjacent empty lines allowed.
21
+
22
+ For example, with `0`:
23
+
24
+ The following patterns are considered problems:
25
+
26
+ <!-- prettier-ignore -->
27
+ ```css
28
+ a
29
+
30
+ b {
31
+ color: red;
32
+ }
33
+ ```
34
+
35
+ <!-- prettier-ignore -->
36
+ ```css
37
+ a,
38
+
39
+ b {
40
+ color: red;
41
+ }
42
+ ```
43
+
44
+ <!-- prettier-ignore -->
45
+ ```css
46
+ a
47
+
48
+ >
49
+ b {
50
+ color: red;
51
+ }
52
+ ```
53
+
54
+ <!-- prettier-ignore -->
55
+ ```css
56
+ a
57
+ >
58
+
59
+ b {
60
+ color: red;
61
+ }
62
+ ```
63
+
64
+ The following patterns are _not_ considered problems:
65
+
66
+ <!-- prettier-ignore -->
67
+ ```css
68
+ a b {
69
+ color: red;
70
+ }
71
+ ```
72
+
73
+ <!-- prettier-ignore -->
74
+ ```css
75
+ a
76
+ b {
77
+ color: red;
78
+ }
79
+ ```
80
+
81
+ <!-- prettier-ignore -->
82
+ ```css
83
+ a,
84
+ b {
85
+ color: red;
86
+ }
87
+ ```
88
+
89
+ <!-- prettier-ignore -->
90
+ ```css
91
+ a > b {
92
+ color: red;
93
+ }
94
+ ```
95
+
96
+ <!-- prettier-ignore -->
97
+ ```css
98
+ a
99
+ >
100
+ b {
101
+ color: red;
102
+ }
103
+ ```
@@ -0,0 +1,74 @@
1
+ /* eslint-disable -- We want to keep as much of the original code as possible */
2
+ // @ts-nocheck
3
+
4
+ const stylelint = require('stylelint');
5
+ const report = require('stylelint/lib/utils/report.cjs');
6
+ const ruleMessages = require('stylelint/lib/utils/ruleMessages.cjs');
7
+ const validateOptions = require('stylelint/lib/utils/validateOptions.cjs');
8
+ const { isNumber } = require('stylelint/lib/utils/validateTypes.cjs');
9
+
10
+ const ruleName = 'plugin/selector-max-empty-lines';
11
+
12
+ const messages = ruleMessages(ruleName, {
13
+ expected: (max) => `Expected no more than ${max} empty ${max === 1 ? 'line' : 'lines'}`
14
+ });
15
+
16
+ const meta = {
17
+ url: 'https://github.com/jens-duttke/linter-bundle/blob/main/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-max-empty-lines/README.md',
18
+ fixable: true
19
+ };
20
+
21
+ /** @type {import('stylelint').Rule} */
22
+ const rule = (primary, _secondaryOptions, context) => {
23
+ const maxAdjacentNewlines = primary + 1;
24
+
25
+ return (root, result) => {
26
+ const validOptions = validateOptions(result, ruleName, {
27
+ actual: primary,
28
+ possible: isNumber
29
+ });
30
+
31
+ if (!validOptions) {
32
+ return;
33
+ }
34
+
35
+ const violatedCRLFNewLinesRegex = new RegExp(`(?:\r\n){${maxAdjacentNewlines + 1},}`);
36
+ const violatedLFNewLinesRegex = new RegExp(`\n{${maxAdjacentNewlines + 1},}`);
37
+ const allowedLFNewLinesString = context.fix ? '\n'.repeat(maxAdjacentNewlines) : '';
38
+ const allowedCRLFNewLinesString = context.fix ? '\r\n'.repeat(maxAdjacentNewlines) : '';
39
+
40
+ root.walkRules((ruleNode) => {
41
+ const selector = ruleNode.raws.selector ? ruleNode.raws.selector.raw : ruleNode.selector;
42
+
43
+ if (context.fix) {
44
+ const newSelectorString = selector
45
+ .replace(new RegExp(violatedLFNewLinesRegex, 'gm'), allowedLFNewLinesString)
46
+ .replace(new RegExp(violatedCRLFNewLinesRegex, 'gm'), allowedCRLFNewLinesString);
47
+
48
+ if (ruleNode.raws.selector) {
49
+ ruleNode.raws.selector.raw = newSelectorString;
50
+ }
51
+ else {
52
+ ruleNode.selector = newSelectorString;
53
+ }
54
+ }
55
+ else if (
56
+ violatedLFNewLinesRegex.test(selector) ||
57
+ violatedCRLFNewLinesRegex.test(selector)
58
+ ) {
59
+ report({
60
+ message: messages.expected(primary),
61
+ node: ruleNode,
62
+ index: 0,
63
+ result,
64
+ ruleName
65
+ });
66
+ }
67
+ });
68
+ };
69
+ };
70
+
71
+ rule.ruleName = ruleName;
72
+ rule.messages = messages;
73
+ rule.meta = meta;
74
+ module.exports = stylelint.createPlugin(ruleName, rule);
@@ -0,0 +1,108 @@
1
+ # selector-pseudo-class-case
2
+
3
+ Specify lowercase or uppercase for pseudo-class selectors.
4
+
5
+ <!-- prettier-ignore -->
6
+ ```css
7
+ a:hover {}
8
+ /** ↑
9
+ * This pseudo-class selector */
10
+ ```
11
+
12
+ The [`fix` option](https://stylelint.io/user-guide/options/#fix) can automatically fix all of the problems reported by this rule.
13
+
14
+ ## Options
15
+
16
+ `string`: `"lower"|"upper"`
17
+
18
+ ### `"lower"`
19
+
20
+ The following patterns are considered problems:
21
+
22
+ <!-- prettier-ignore -->
23
+ ```css
24
+ a:Hover {}
25
+ ```
26
+
27
+ <!-- prettier-ignore -->
28
+ ```css
29
+ a:hOvEr {}
30
+ ```
31
+
32
+ <!-- prettier-ignore -->
33
+ ```css
34
+ a:HOVER {}
35
+ ```
36
+
37
+ <!-- prettier-ignore -->
38
+ ```css
39
+ :ROOT {}
40
+ ```
41
+
42
+ <!-- prettier-ignore -->
43
+ ```css
44
+ :-MS-INPUT-PLACEHOLDER {}
45
+ ```
46
+
47
+ The following patterns are _not_ considered problems:
48
+
49
+ <!-- prettier-ignore -->
50
+ ```css
51
+ a:hover {}
52
+ ```
53
+
54
+ <!-- prettier-ignore -->
55
+ ```css
56
+ :root {}
57
+ ```
58
+
59
+ <!-- prettier-ignore -->
60
+ ```css
61
+ :-ms-input-placeholder {}
62
+ ```
63
+
64
+ ### `"upper"`
65
+
66
+ The following patterns are considered problems:
67
+
68
+ <!-- prettier-ignore -->
69
+ ```css
70
+ a:Hover {}
71
+ ```
72
+
73
+ <!-- prettier-ignore -->
74
+ ```css
75
+ a:hOvEr {}
76
+ ```
77
+
78
+ <!-- prettier-ignore -->
79
+ ```css
80
+ a:hover {}
81
+ ```
82
+
83
+ <!-- prettier-ignore -->
84
+ ```css
85
+ :root {}
86
+ ```
87
+
88
+ <!-- prettier-ignore -->
89
+ ```css
90
+ :-ms-input-placeholder {}
91
+ ```
92
+
93
+ The following patterns are _not_ considered problems:
94
+
95
+ <!-- prettier-ignore -->
96
+ ```css
97
+ a:HOVER {}
98
+ ```
99
+
100
+ <!-- prettier-ignore -->
101
+ ```css
102
+ :ROOT {}
103
+ ```
104
+
105
+ <!-- prettier-ignore -->
106
+ ```css
107
+ :-MS-INPUT-PLACEHOLDER {}
108
+ ```
@@ -0,0 +1,104 @@
1
+ /* eslint-disable -- We want to keep as much of the original code as possible */
2
+ // @ts-nocheck
3
+
4
+ const stylelint = require('stylelint');
5
+ const isStandardSyntaxRule = require('stylelint/lib/utils/isStandardSyntaxRule.cjs');
6
+ const isStandardSyntaxSelector = require('stylelint/lib/utils/isStandardSyntaxSelector.cjs');
7
+ const parseSelector = require('stylelint/lib/utils/parseSelector.cjs');
8
+ const report = require('stylelint/lib/utils/report.cjs');
9
+ const ruleMessages = require('stylelint/lib/utils/ruleMessages.cjs');
10
+ const validateOptions = require('stylelint/lib/utils/validateOptions.cjs');
11
+
12
+ const { levelOneAndTwoPseudoElements } = require('../../reference/selectors.cjs');
13
+
14
+ const ruleName = 'plugin/selector-pseudo-class-case';
15
+
16
+ const messages = ruleMessages(ruleName, {
17
+ expected: (actual, expected) => `Expected "${actual}" to be "${expected}"`
18
+ });
19
+
20
+ const meta = {
21
+ url: 'https://github.com/jens-duttke/linter-bundle/blob/main/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-case/README.md',
22
+ fixable: true
23
+ };
24
+
25
+ /** @type {import('stylelint').Rule} */
26
+ const rule = (primary, _secondaryOptions, context) => (root, result) => {
27
+ const validOptions = validateOptions(result, ruleName, {
28
+ actual: primary,
29
+ possible: ['lower', 'upper']
30
+ });
31
+
32
+ if (!validOptions) {
33
+ return;
34
+ }
35
+
36
+ root.walkRules((ruleNode) => {
37
+ if (!isStandardSyntaxRule(ruleNode)) {
38
+ return;
39
+ }
40
+
41
+ const selector = ruleNode.selector;
42
+
43
+ if (!selector.includes(':')) {
44
+ return;
45
+ }
46
+
47
+ const fixedSelector = parseSelector(
48
+ ruleNode.raws.selector ? ruleNode.raws.selector.raw : ruleNode.selector,
49
+ result,
50
+ ruleNode,
51
+ (selectorTree) => {
52
+ selectorTree.walkPseudos((pseudoNode) => {
53
+ const pseudo = pseudoNode.value;
54
+
55
+ if (!isStandardSyntaxSelector(pseudo)) {
56
+ return;
57
+ }
58
+
59
+ if (
60
+ pseudo.includes('::') ||
61
+ levelOneAndTwoPseudoElements.has(pseudo.toLowerCase().slice(1))
62
+ ) {
63
+ return;
64
+ }
65
+
66
+ const expectedPseudo =
67
+ primary === 'lower' ? pseudo.toLowerCase() : pseudo.toUpperCase();
68
+
69
+ if (pseudo === expectedPseudo) {
70
+ return;
71
+ }
72
+
73
+ if (context.fix) {
74
+ pseudoNode.value = expectedPseudo;
75
+
76
+ return;
77
+ }
78
+
79
+ report({
80
+ message: messages.expected(pseudo, expectedPseudo),
81
+ node: ruleNode,
82
+ index: pseudoNode.sourceIndex,
83
+ ruleName,
84
+ result
85
+ });
86
+ });
87
+ }
88
+ );
89
+
90
+ if (context.fix && fixedSelector) {
91
+ if (ruleNode.raws.selector) {
92
+ ruleNode.raws.selector.raw = fixedSelector;
93
+ }
94
+ else {
95
+ ruleNode.selector = fixedSelector;
96
+ }
97
+ }
98
+ });
99
+ };
100
+
101
+ rule.ruleName = ruleName;
102
+ rule.messages = messages;
103
+ rule.meta = meta;
104
+ module.exports = stylelint.createPlugin(ruleName, rule);
@@ -0,0 +1,62 @@
1
+ # selector-pseudo-class-parentheses-space-inside
2
+
3
+ Require a single space or disallow whitespace on the inside of the parentheses within pseudo-class selectors.
4
+
5
+ <!-- prettier-ignore -->
6
+ ```css
7
+ input:not( [type="submit"] ) {}
8
+ /** ↑ ↑
9
+ * The space inside these two parentheses */
10
+ ```
11
+
12
+ The [`fix` option](https://stylelint.io/user-guide/options/#fix) can automatically fix most of the problems reported by this rule. It won't fix pseudo elements containing comments.
13
+
14
+ ## Options
15
+
16
+ `string`: `"always"|"never"`
17
+
18
+ ### `"always"`
19
+
20
+ There _must always_ be a single space inside the parentheses.
21
+
22
+ The following patterns are considered problems:
23
+
24
+ <!-- prettier-ignore -->
25
+ ```css
26
+ input:not([type="submit"]) {}
27
+ ```
28
+
29
+ <!-- prettier-ignore -->
30
+ ```css
31
+ input:not([type="submit"] ) {}
32
+ ```
33
+
34
+ The following patterns are _not_ considered problems:
35
+
36
+ <!-- prettier-ignore -->
37
+ ```css
38
+ input:not( [type="submit"] ) {}
39
+ ```
40
+
41
+ ### `"never"`
42
+
43
+ There _must never_ be whitespace on the inside the parentheses.
44
+
45
+ The following patterns are considered problems:
46
+
47
+ <!-- prettier-ignore -->
48
+ ```css
49
+ input:not( [type="submit"] ) {}
50
+ ```
51
+
52
+ <!-- prettier-ignore -->
53
+ ```css
54
+ input:not( [type="submit"]) {}
55
+ ```
56
+
57
+ The following patterns are _not_ considered problems:
58
+
59
+ <!-- prettier-ignore -->
60
+ ```css
61
+ input:not([type="submit"]) {}
62
+ ```