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,113 @@
1
+ # media-query-list-comma-newline-after
2
+
3
+ Require a newline or disallow whitespace after the commas of media query lists.
4
+
5
+ <!-- prettier-ignore -->
6
+ ```css
7
+ @media screen and (color),
8
+ projection {} /* ↑ */
9
+ /** ↑
10
+ * These commas */
11
+ ```
12
+
13
+ The [`fix` option](https://stylelint.io/user-guide/options/#fix) can automatically fix all of the problems reported by this rule.
14
+
15
+ ## Options
16
+
17
+ `string`: `"always"|"always-multi-line"|"never-multi-line"`
18
+
19
+ ### `"always"`
20
+
21
+ There _must always_ be a newline after the commas.
22
+
23
+ The following patterns are considered problems:
24
+
25
+ <!-- prettier-ignore -->
26
+ ```css
27
+ @media screen and (color), projection and (color) {}
28
+ ```
29
+
30
+ <!-- prettier-ignore -->
31
+ ```css
32
+ @media screen and (color)
33
+ , projection and (color) {}
34
+ ```
35
+
36
+ The following patterns are _not_ considered problems:
37
+
38
+ <!-- prettier-ignore -->
39
+ ```css
40
+ @media screen and (color),
41
+ projection and (color) {}
42
+ ```
43
+
44
+ <!-- prettier-ignore -->
45
+ ```css
46
+ @media screen and (color)
47
+ ,
48
+ projection and (color) {}
49
+ ```
50
+
51
+ ### `"always-multi-line"`
52
+
53
+ There _must always_ be a newline after the commas in multi-line media query lists.
54
+
55
+ The following patterns are considered problems:
56
+
57
+ <!-- prettier-ignore -->
58
+ ```css
59
+ @media screen and (color)
60
+ , projection and (color) {}
61
+ ```
62
+
63
+ The following patterns are _not_ considered problems:
64
+
65
+ <!-- prettier-ignore -->
66
+ ```css
67
+ @media screen and (color), projection and (color) {}
68
+ ```
69
+
70
+ <!-- prettier-ignore -->
71
+ ```css
72
+ @media screen and (color),
73
+ projection and (color) {}
74
+ ```
75
+
76
+ <!-- prettier-ignore -->
77
+ ```css
78
+ @media screen and (color)
79
+ ,
80
+ projection and (color) {}
81
+ ```
82
+
83
+ ### `"never-multi-line"`
84
+
85
+ There _must never_ be whitespace after the commas in multi-line media query lists.
86
+
87
+ The following patterns are considered problems:
88
+
89
+ <!-- prettier-ignore -->
90
+ ```css
91
+ @media screen and (color),
92
+ projection and (color) {}
93
+ ```
94
+
95
+ <!-- prettier-ignore -->
96
+ ```css
97
+ @media screen and (color)
98
+ ,
99
+ projection and (color) {}
100
+ ```
101
+
102
+ The following patterns are _not_ considered problems:
103
+
104
+ <!-- prettier-ignore -->
105
+ ```css
106
+ @media screen and (color), projection and (color) {}
107
+ ```
108
+
109
+ <!-- prettier-ignore -->
110
+ ```css
111
+ @media screen and (color)
112
+ ,projection and (color) {}
113
+ ```
@@ -0,0 +1,97 @@
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 atRuleParamIndex = require('stylelint/lib/utils/atRuleParamIndex.cjs');
6
+ const ruleMessages = require('stylelint/lib/utils/ruleMessages.cjs');
7
+ const validateOptions = require('stylelint/lib/utils/validateOptions.cjs');
8
+
9
+ const whitespaceChecker = require('../../utils/whitespaceChecker.cjs');
10
+ const mediaQueryListCommaWhitespaceChecker = require('../mediaQueryListCommaWhitespaceChecker.cjs');
11
+
12
+ const ruleName = 'plugin/media-query-list-comma-newline-after';
13
+
14
+ const messages = ruleMessages(ruleName, {
15
+ expectedAfter: () => 'Expected newline after ","',
16
+ expectedAfterMultiLine: () => 'Expected newline after "," in a multi-line list',
17
+ rejectedAfterMultiLine: () => 'Unexpected whitespace after "," in a multi-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/media-query-list-comma-newline-after/README.md',
22
+ fixable: true
23
+ };
24
+
25
+ /** @type {import('stylelint').Rule} */
26
+ const rule = (primary, _secondaryOptions, context) => {
27
+ const checker = whitespaceChecker('newline', primary, messages);
28
+
29
+ return (root, result) => {
30
+ const validOptions = validateOptions(result, ruleName, {
31
+ actual: primary,
32
+ possible: ['always', 'always-multi-line', 'never-multi-line']
33
+ });
34
+
35
+ if (!validOptions) {
36
+ return;
37
+ }
38
+
39
+ // Only check for the newline after the comma, while allowing
40
+ // arbitrary indentation after the newline
41
+ /** @type {Map<import('postcss').AtRule, number[]> | undefined} */
42
+ let fixData;
43
+
44
+ mediaQueryListCommaWhitespaceChecker({
45
+ root,
46
+ result,
47
+ locationChecker: checker.afterOneOnly,
48
+ checkedRuleName: ruleName,
49
+ allowTrailingComments: primary.startsWith('always'),
50
+ fix: context.fix ?
51
+ (atRule, index) => {
52
+ const parameterCommaIndex = index - atRuleParamIndex(atRule);
53
+
54
+ fixData ||= new Map();
55
+ const commaIndices = fixData.get(atRule) || [];
56
+
57
+ commaIndices.push(parameterCommaIndex);
58
+ fixData.set(atRule, commaIndices);
59
+
60
+ return true;
61
+ }
62
+ : null
63
+ });
64
+
65
+ if (fixData) {
66
+ for (const [atRule, commaIndices] of fixData.entries()) {
67
+ let parameters = atRule.raws.params ? atRule.raws.params.raw : atRule.params;
68
+
69
+ for (const index of commaIndices.sort((a, b) => b - a)) {
70
+ const beforeComma = parameters.slice(0, index + 1);
71
+ const afterComma = parameters.slice(index + 1);
72
+
73
+ if (primary.startsWith('always')) {
74
+ parameters = (/^\s*\n/).test(afterComma) ?
75
+ beforeComma + afterComma.replace(/^[^\S\n\r]*/, '')
76
+ : beforeComma + context.newline + afterComma;
77
+ }
78
+ else if (primary.startsWith('never')) {
79
+ parameters = beforeComma + afterComma.replace(/^\s*/, '');
80
+ }
81
+ }
82
+
83
+ if (atRule.raws.params) {
84
+ atRule.raws.params.raw = parameters;
85
+ }
86
+ else {
87
+ atRule.params = parameters;
88
+ }
89
+ }
90
+ }
91
+ };
92
+ };
93
+
94
+ rule.ruleName = ruleName;
95
+ rule.messages = messages;
96
+ rule.meta = meta;
97
+ module.exports = stylelint.createPlugin(ruleName, rule);
@@ -0,0 +1,111 @@
1
+ # media-query-list-comma-newline-before
2
+
3
+ Require a newline or disallow whitespace before the commas of media query lists.
4
+
5
+ <!-- prettier-ignore -->
6
+ ```css
7
+ @media screen and (color)
8
+ , projection and (color) {}
9
+ /** ↑
10
+ * This comma */
11
+ ```
12
+
13
+ ## Options
14
+
15
+ `string`: `"always"|"always-multi-line"|"never-multi-line"`
16
+
17
+ ### `"always"`
18
+
19
+ There _must always_ be a newline before the commas.
20
+
21
+ The following patterns are considered problems:
22
+
23
+ <!-- prettier-ignore -->
24
+ ```css
25
+ @media screen and (color), projection and (color) {}
26
+ ```
27
+
28
+ <!-- prettier-ignore -->
29
+ ```css
30
+ @media screen and (color),
31
+ projection and (color) {}
32
+ ```
33
+
34
+ The following patterns are _not_ considered problems:
35
+
36
+ <!-- prettier-ignore -->
37
+ ```css
38
+ @media screen and (color)
39
+ ,projection and (color) {}
40
+ ```
41
+
42
+ <!-- prettier-ignore -->
43
+ ```css
44
+ @media screen and (color)
45
+ ,
46
+ projection and (color) {}
47
+ ```
48
+
49
+ ### `"always-multi-line"`
50
+
51
+ There _must always_ be a newline before the commas in multi-line media query lists.
52
+
53
+ The following patterns are considered problems:
54
+
55
+ <!-- prettier-ignore -->
56
+ ```css
57
+ @media screen and (color),
58
+ projection and (color) {}
59
+ ```
60
+
61
+ The following patterns are _not_ considered problems:
62
+
63
+ <!-- prettier-ignore -->
64
+ ```css
65
+ @media screen and (color), projection and (color) {}
66
+ ```
67
+
68
+ <!-- prettier-ignore -->
69
+ ```css
70
+ @media screen and (color)
71
+ ,projection and (color) {}
72
+ ```
73
+
74
+ <!-- prettier-ignore -->
75
+ ```css
76
+ @media screen and (color)
77
+ ,
78
+ projection and (color) {}
79
+ ```
80
+
81
+ ### `"never-multi-line"`
82
+
83
+ There _must never_ be whitespace before the commas in multi-line media query lists.
84
+
85
+ The following patterns are considered problems:
86
+
87
+ <!-- prettier-ignore -->
88
+ ```css
89
+ @media screen and (color)
90
+ ,projection and (color) {}
91
+ ```
92
+
93
+ <!-- prettier-ignore -->
94
+ ```css
95
+ @media screen and (color)
96
+ ,
97
+ projection and (color) {}
98
+ ```
99
+
100
+ The following patterns are _not_ considered problems:
101
+
102
+ <!-- prettier-ignore -->
103
+ ```css
104
+ @media screen and (color), projection and (color) {}
105
+ ```
106
+
107
+ <!-- prettier-ignore -->
108
+ ```css
109
+ @media screen and (color),
110
+ projection and (color) {}
111
+ ```
@@ -0,0 +1,49 @@
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 mediaQueryListCommaWhitespaceChecker = require('../mediaQueryListCommaWhitespaceChecker.cjs');
10
+
11
+ const ruleName = 'plugin/media-query-list-comma-newline-before';
12
+
13
+ const messages = ruleMessages(ruleName, {
14
+ expectedBefore: () => 'Expected newline before ","',
15
+ expectedBeforeMultiLine: () => 'Expected newline before "," in a multi-line list',
16
+ rejectedBeforeMultiLine: () => 'Unexpected whitespace before "," in a multi-line list'
17
+ });
18
+
19
+ const meta = {
20
+ url: 'https://github.com/jens-duttke/linter-bundle/blob/main/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-before/README.md'
21
+ };
22
+
23
+ /** @type {import('stylelint').Rule} */
24
+ const rule = (primary) => {
25
+ const checker = whitespaceChecker('newline', primary, messages);
26
+
27
+ return (root, result) => {
28
+ const validOptions = validateOptions(result, ruleName, {
29
+ actual: primary,
30
+ possible: ['always', 'always-multi-line', 'never-multi-line']
31
+ });
32
+
33
+ if (!validOptions) {
34
+ return;
35
+ }
36
+
37
+ mediaQueryListCommaWhitespaceChecker({
38
+ root,
39
+ result,
40
+ locationChecker: checker.beforeAllowingIndentation,
41
+ checkedRuleName: ruleName
42
+ });
43
+ };
44
+ };
45
+
46
+ rule.ruleName = ruleName;
47
+ rule.messages = messages;
48
+ rule.meta = meta;
49
+ module.exports = stylelint.createPlugin(ruleName, rule);
@@ -0,0 +1,136 @@
1
+ # media-query-list-comma-space-after
2
+
3
+ Require a single space or disallow whitespace after the commas of media query lists.
4
+
5
+ <!-- prettier-ignore -->
6
+ ```css
7
+ @media screen and (color), projection and (color) {}
8
+ /** ↑
9
+ * The space after 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 after the commas.
21
+
22
+ The following patterns are considered problems:
23
+
24
+ <!-- prettier-ignore -->
25
+ ```css
26
+ @media screen and (color),projection and (color) {}
27
+ ```
28
+
29
+ <!-- prettier-ignore -->
30
+ ```css
31
+ @media screen and (color)
32
+ ,projection and (color) {}
33
+ ```
34
+
35
+ The following patterns are _not_ considered problems:
36
+
37
+ <!-- prettier-ignore -->
38
+ ```css
39
+ @media screen and (color), projection and (color) {}
40
+ ```
41
+
42
+ <!-- prettier-ignore -->
43
+ ```css
44
+ @media screen and (color)
45
+ , projection and (color) {}
46
+ ```
47
+
48
+ ### `"never"`
49
+
50
+ There _must never_ be whitespace after the commas.
51
+
52
+ The following patterns are considered problems:
53
+
54
+ <!-- prettier-ignore -->
55
+ ```css
56
+ @media screen and (color), projection and (color) {}
57
+ ```
58
+
59
+ <!-- prettier-ignore -->
60
+ ```css
61
+ @media screen and (color)
62
+ , projection and (color) {}
63
+ ```
64
+
65
+ The following patterns are _not_ considered problems:
66
+
67
+ <!-- prettier-ignore -->
68
+ ```css
69
+ @media screen and (color),projection and (color) {}
70
+ ```
71
+
72
+ <!-- prettier-ignore -->
73
+ ```css
74
+ @media screen and (color)
75
+ ,projection and (color) {}
76
+ ```
77
+
78
+ ### `"always-single-line"`
79
+
80
+ There _must always_ be a single space after the commas in single-line media query lists.
81
+
82
+ The following patterns are considered problems:
83
+
84
+ <!-- prettier-ignore -->
85
+ ```css
86
+ @media screen and (color),projection and (color) {}
87
+ ```
88
+
89
+ The following patterns are _not_ considered problems:
90
+
91
+ <!-- prettier-ignore -->
92
+ ```css
93
+ @media screen and (color), projection and (color) {}
94
+ ```
95
+
96
+ <!-- prettier-ignore -->
97
+ ```css
98
+ @media screen and (color)
99
+ , projection and (color) {}
100
+ ```
101
+
102
+ <!-- prettier-ignore -->
103
+ ```css
104
+ @media screen and (color)
105
+ ,projection and (color) {}
106
+ ```
107
+
108
+ ### `"never-single-line"`
109
+
110
+ There _must never_ be whitespace after the commas in single-line media query lists.
111
+
112
+ The following patterns are considered problems:
113
+
114
+ <!-- prettier-ignore -->
115
+ ```css
116
+ @media screen and (color), projection and (color) {}
117
+ ```
118
+
119
+ The following patterns are _not_ considered problems:
120
+
121
+ <!-- prettier-ignore -->
122
+ ```css
123
+ @media screen and (color),projection and (color) {}
124
+ ```
125
+
126
+ <!-- prettier-ignore -->
127
+ ```css
128
+ @media screen and (color)
129
+ ,projection and (color) {}
130
+ ```
131
+
132
+ <!-- prettier-ignore -->
133
+ ```css
134
+ @media screen and (color)
135
+ , projection and (color) {}
136
+ ```
@@ -0,0 +1,93 @@
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 atRuleParamIndex = require('stylelint/lib/utils/atRuleParamIndex.cjs');
6
+ const ruleMessages = require('stylelint/lib/utils/ruleMessages.cjs');
7
+ const validateOptions = require('stylelint/lib/utils/validateOptions.cjs');
8
+
9
+ const whitespaceChecker = require('../../utils/whitespaceChecker.cjs');
10
+ const mediaQueryListCommaWhitespaceChecker = require('../mediaQueryListCommaWhitespaceChecker.cjs');
11
+
12
+ const ruleName = 'plugin/media-query-list-comma-space-after';
13
+
14
+ const messages = ruleMessages(ruleName, {
15
+ expectedAfter: () => 'Expected single space after ","',
16
+ rejectedAfter: () => 'Unexpected whitespace after ","',
17
+ expectedAfterSingleLine: () => 'Expected single space after "," in a single-line list',
18
+ rejectedAfterSingleLine: () => 'Unexpected whitespace after "," in a single-line list'
19
+ });
20
+
21
+ const meta = {
22
+ url: 'https://github.com/jens-duttke/linter-bundle/blob/main/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-after/README.md',
23
+ fixable: true
24
+ };
25
+
26
+ /** @type {import('stylelint').Rule} */
27
+ const rule = (primary, _secondaryOptions, context) => {
28
+ const checker = whitespaceChecker('space', primary, messages);
29
+
30
+ return (root, result) => {
31
+ const validOptions = validateOptions(result, ruleName, {
32
+ actual: primary,
33
+ possible: ['always', 'never', 'always-single-line', 'never-single-line']
34
+ });
35
+
36
+ if (!validOptions) {
37
+ return;
38
+ }
39
+
40
+ /** @type {Map<import('postcss').AtRule, number[]> | undefined} */
41
+ let fixData;
42
+
43
+ mediaQueryListCommaWhitespaceChecker({
44
+ root,
45
+ result,
46
+ locationChecker: checker.after,
47
+ checkedRuleName: ruleName,
48
+ fix: context.fix ?
49
+ (atRule, index) => {
50
+ const parameterCommaIndex = index - atRuleParamIndex(atRule);
51
+
52
+ fixData ||= new Map();
53
+ const commaIndices = fixData.get(atRule) || [];
54
+
55
+ commaIndices.push(parameterCommaIndex);
56
+ fixData.set(atRule, commaIndices);
57
+
58
+ return true;
59
+ }
60
+ : null
61
+ });
62
+
63
+ if (fixData) {
64
+ for (const [atRule, commaIndices] of fixData.entries()) {
65
+ let parameters = atRule.raws.params ? atRule.raws.params.raw : atRule.params;
66
+
67
+ for (const index of commaIndices.sort((a, b) => b - a)) {
68
+ const beforeComma = parameters.slice(0, index + 1);
69
+ const afterComma = parameters.slice(index + 1);
70
+
71
+ if (primary.startsWith('always')) {
72
+ parameters = beforeComma + afterComma.replace(/^\s*/, ' ');
73
+ }
74
+ else if (primary.startsWith('never')) {
75
+ parameters = beforeComma + afterComma.replace(/^\s*/, '');
76
+ }
77
+ }
78
+
79
+ if (atRule.raws.params) {
80
+ atRule.raws.params.raw = parameters;
81
+ }
82
+ else {
83
+ atRule.params = parameters;
84
+ }
85
+ }
86
+ }
87
+ };
88
+ };
89
+
90
+ rule.ruleName = ruleName;
91
+ rule.messages = messages;
92
+ rule.meta = meta;
93
+ module.exports = stylelint.createPlugin(ruleName, rule);