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,133 @@
1
+ /* eslint-disable -- We want to keep as much of the original code as possible */
2
+ // @ts-nocheck
3
+
4
+ const valueParser = require('postcss-value-parser');
5
+ const stylelint = require('stylelint');
6
+ const atRuleParamIndex = require('stylelint/lib/utils/atRuleParamIndex.cjs');
7
+ const declarationValueIndex = require('stylelint/lib/utils/declarationValueIndex.cjs');
8
+ const getDimension = require('stylelint/lib/utils/getDimension.cjs');
9
+ const report = require('stylelint/lib/utils/report.cjs');
10
+ const ruleMessages = require('stylelint/lib/utils/ruleMessages.cjs');
11
+ const validateOptions = require('stylelint/lib/utils/validateOptions.cjs');
12
+
13
+ const ruleName = 'plugin/unit-case';
14
+
15
+ const messages = ruleMessages(ruleName, {
16
+ expected: (actual, expected) => `Expected "${actual}" to be "${expected}"`
17
+ });
18
+
19
+ const meta = {
20
+ url: 'https://github.com/jens-duttke/linter-bundle/blob/main/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unit-case/README.md',
21
+ fixable: true
22
+ };
23
+
24
+ /** @type {import('stylelint').Rule} */
25
+ const rule = (primary, _secondaryOptions, context) => (root, result) => {
26
+ const validOptions = validateOptions(result, ruleName, {
27
+ actual: primary,
28
+ possible: ['lower', 'upper']
29
+ });
30
+
31
+ if (!validOptions) {
32
+ return;
33
+ }
34
+
35
+ /**
36
+ * @template {import('postcss').AtRule | import('postcss').Declaration} T
37
+ * @param {T} node
38
+ * @param {string} checkedValue
39
+ * @param {(node: T) => number} getIndex
40
+ * @returns {void}
41
+ */
42
+ function check (node, checkedValue, getIndex) {
43
+ /** @type {Array<{ index: number, endIndex: number, message: string }>} */
44
+ const problems = [];
45
+
46
+ /**
47
+ * @param {import('postcss-value-parser').Node} valueNode
48
+ * @returns {boolean}
49
+ */
50
+ function processValue (valueNode) {
51
+ const { number, unit } = getDimension(valueNode);
52
+
53
+ if (!number || !unit) { return false; }
54
+
55
+ const expectedUnit = primary === 'lower' ? unit.toLowerCase() : unit.toUpperCase();
56
+
57
+ if (unit === expectedUnit) {
58
+ return false;
59
+ }
60
+
61
+ const index = getIndex(node);
62
+
63
+ problems.push({
64
+ index: index + valueNode.sourceIndex + number.length,
65
+ endIndex: index + valueNode.sourceEndIndex,
66
+ message: messages.expected(unit, expectedUnit)
67
+ });
68
+
69
+ return true;
70
+ }
71
+
72
+ const parsedValue = valueParser(checkedValue).walk((valueNode) => {
73
+ // Ignore wrong units within `url` function
74
+ let needFix = false;
75
+ const value = valueNode.value;
76
+
77
+ if (valueNode.type === 'function' && value.toLowerCase() === 'url') {
78
+ return false;
79
+ }
80
+
81
+ if (value.includes('*')) {
82
+ value.split('*').some((value_) => processValue({
83
+ ...valueNode,
84
+ sourceIndex: value.indexOf(value_) + value_.length + 1,
85
+ value: value_
86
+ }));
87
+ }
88
+
89
+ needFix = processValue(valueNode);
90
+
91
+ if (needFix && context.fix) {
92
+ valueNode.value = primary === 'lower' ? value.toLowerCase() : value.toUpperCase();
93
+ }
94
+ });
95
+
96
+ if (problems.length > 0) {
97
+ if (context.fix) {
98
+ if ('name' in node && node.name === 'media') {
99
+ node.params = parsedValue.toString();
100
+ }
101
+ else if ('value' in node) {
102
+ node.value = parsedValue.toString();
103
+ }
104
+ }
105
+ else {
106
+ for (const error of problems) {
107
+ report({
108
+ index: error.index,
109
+ endIndex: error.endIndex,
110
+ message: error.message,
111
+ node,
112
+ result,
113
+ ruleName
114
+ });
115
+ }
116
+ }
117
+ }
118
+ }
119
+
120
+ root.walkAtRules((atRule) => {
121
+ if (!(/^media$/i).test(atRule.name) && !('variable' in atRule)) {
122
+ return;
123
+ }
124
+
125
+ check(atRule, atRule.params, atRuleParamIndex);
126
+ });
127
+ root.walkDecls((decl) => check(decl, decl.value, declarationValueIndex));
128
+ };
129
+
130
+ rule.ruleName = ruleName;
131
+ rule.messages = messages;
132
+ rule.meta = meta;
133
+ module.exports = stylelint.createPlugin(ruleName, rule);
@@ -0,0 +1,102 @@
1
+ # value-list-comma-newline-after
2
+
3
+ Require a newline or disallow whitespace after the commas of value lists.
4
+
5
+ <!-- prettier-ignore -->
6
+ ```css
7
+ a { background-size: 0,
8
+ 0; } ↑
9
+ /** ↑
10
+ * The newline after this comma */
11
+ ```
12
+
13
+ The [`fix` option](https://stylelint.io/user-guide/options/#fix) can automatically fix most 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
+ a { background-size: 0,0; }
28
+ ```
29
+
30
+ <!-- prettier-ignore -->
31
+ ```css
32
+ a { background-size: 0
33
+ , 0; }
34
+ ```
35
+
36
+ The following patterns are _not_ considered problems:
37
+
38
+ <!-- prettier-ignore -->
39
+ ```css
40
+ a { background-size: 0,
41
+ 0; }
42
+ ```
43
+
44
+ ### `"always-multi-line"`
45
+
46
+ There _must always_ be a newline after the commas in multi-line value lists.
47
+
48
+ The following patterns are considered problems:
49
+
50
+ <!-- prettier-ignore -->
51
+ ```css
52
+ a { background-size: 0
53
+ , 0; }
54
+ ```
55
+
56
+ The following patterns are _not_ considered problems:
57
+
58
+ <!-- prettier-ignore -->
59
+ ```css
60
+ a { background-size: 0, 0; }
61
+ ```
62
+
63
+ <!-- prettier-ignore -->
64
+ ```css
65
+ a { background-size: 0,0; }
66
+ ```
67
+
68
+ <!-- prettier-ignore -->
69
+ ```css
70
+ a { background-size: 0,
71
+ 0; }
72
+ ```
73
+
74
+ ### `"never-multi-line"`
75
+
76
+ There _must never_ be whitespace after the commas in multi-line value lists.
77
+
78
+ The following patterns are considered problems:
79
+
80
+ <!-- prettier-ignore -->
81
+ ```css
82
+ a { background-size: 0
83
+ , 0; }
84
+ ```
85
+
86
+ The following patterns are _not_ considered problems:
87
+
88
+ <!-- prettier-ignore -->
89
+ ```css
90
+ a { background-size: 0,0; }
91
+ ```
92
+
93
+ <!-- prettier-ignore -->
94
+ ```css
95
+ a { background-size: 0, 0; }
96
+ ```
97
+
98
+ <!-- prettier-ignore -->
99
+ ```css
100
+ a { background-size: 0
101
+ ,0; }
102
+ ```
@@ -0,0 +1,107 @@
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 declarationValueIndex = require('stylelint/lib/utils/declarationValueIndex.cjs');
6
+ const getDeclarationValue = require('stylelint/lib/utils/getDeclarationValue.cjs');
7
+ const ruleMessages = require('stylelint/lib/utils/ruleMessages.cjs');
8
+ const setDeclarationValue = require('stylelint/lib/utils/setDeclarationValue.cjs');
9
+ const validateOptions = require('stylelint/lib/utils/validateOptions.cjs');
10
+
11
+ const whitespaceChecker = require('../../utils/whitespaceChecker.cjs');
12
+ const valueListCommaWhitespaceChecker = require('../valueListCommaWhitespaceChecker.cjs');
13
+
14
+ const ruleName = 'plugin/value-list-comma-newline-after';
15
+
16
+ const messages = ruleMessages(ruleName, {
17
+ expectedAfter: () => 'Expected newline after ","',
18
+ expectedAfterMultiLine: () => 'Expected newline after "," in a multi-line list',
19
+ rejectedAfterMultiLine: () => 'Unexpected whitespace after "," in a multi-line list'
20
+ });
21
+
22
+ const meta = {
23
+ url: 'https://github.com/jens-duttke/linter-bundle/blob/main/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-after/README.md',
24
+ fixable: true
25
+ };
26
+
27
+ /** @type {import('stylelint').Rule} */
28
+ const rule = (primary, _secondaryOptions, context) => {
29
+ const checker = whitespaceChecker('newline', primary, messages);
30
+
31
+ return (root, result) => {
32
+ const validOptions = validateOptions(result, ruleName, {
33
+ actual: primary,
34
+ possible: ['always', 'always-multi-line', 'never-multi-line']
35
+ });
36
+
37
+ if (!validOptions) {
38
+ return;
39
+ }
40
+
41
+ /** @type {Map<import('postcss').Declaration, number[]> | undefined} */
42
+ let fixData;
43
+
44
+ valueListCommaWhitespaceChecker({
45
+ root,
46
+ result,
47
+ locationChecker: checker.afterOneOnly,
48
+ checkedRuleName: ruleName,
49
+ fix: context.fix ?
50
+ (declNode, index) => {
51
+ const valueIndex = declarationValueIndex(declNode);
52
+
53
+ if (index <= valueIndex) {
54
+ return false;
55
+ }
56
+
57
+ fixData ||= new Map();
58
+ const commaIndices = fixData.get(declNode) || [];
59
+
60
+ commaIndices.push(index);
61
+ fixData.set(declNode, commaIndices);
62
+
63
+ return true;
64
+ }
65
+ : null,
66
+ determineIndex: (declString, match) => {
67
+ const nextChars = declString.substring(match.endIndex, declString.length);
68
+
69
+ // If there's a // comment, that means there has to be a newline
70
+ // ending the comment so we're fine
71
+ if ((/^[\t ]*\/\//).test(nextChars)) {
72
+ return false;
73
+ }
74
+
75
+ // If there are spaces and then a comment begins, look for the newline
76
+ return (/^[\t ]*\/\*/).test(nextChars) ?
77
+ declString.indexOf('*/', match.endIndex) + 1
78
+ : match.startIndex;
79
+ }
80
+ });
81
+
82
+ if (fixData) {
83
+ for (const [decl, commaIndices] of fixData.entries()) {
84
+ for (const index of commaIndices.sort((a, b) => a - b).reverse()) {
85
+ const value = getDeclarationValue(decl);
86
+ const valueIndex = index - declarationValueIndex(decl);
87
+ const beforeValue = value.slice(0, valueIndex + 1);
88
+ let afterValue = value.slice(valueIndex + 1);
89
+
90
+ if (primary.startsWith('always')) {
91
+ afterValue = context.newline + afterValue;
92
+ }
93
+ else if (primary.startsWith('never-multi-line')) {
94
+ afterValue = afterValue.replace(/^\s*/, '');
95
+ }
96
+
97
+ setDeclarationValue(decl, beforeValue + afterValue);
98
+ }
99
+ }
100
+ }
101
+ };
102
+ };
103
+
104
+ rule.ruleName = ruleName;
105
+ rule.messages = messages;
106
+ rule.meta = meta;
107
+ module.exports = stylelint.createPlugin(ruleName, rule);
@@ -0,0 +1,100 @@
1
+ # value-list-comma-newline-before
2
+
3
+ Require a newline or disallow whitespace before the commas of value lists.
4
+
5
+ <!-- prettier-ignore -->
6
+ ```css
7
+ a { background-size: 0
8
+ , 0; }
9
+ /** ↑
10
+ * The newline before 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
+ a { background-size: 0,0; }
26
+ ```
27
+
28
+ <!-- prettier-ignore -->
29
+ ```css
30
+ a { background-size: 0,
31
+ 0; }
32
+ ```
33
+
34
+ The following patterns are _not_ considered problems:
35
+
36
+ <!-- prettier-ignore -->
37
+ ```css
38
+ a { background-size: 0
39
+ , 0; }
40
+ ```
41
+
42
+ ### `"always-multi-line"`
43
+
44
+ There _must always_ be a newline before the commas in multi-line value lists.
45
+
46
+ The following patterns are considered problems:
47
+
48
+ <!-- prettier-ignore -->
49
+ ```css
50
+ a { background-size: 0,
51
+ 0; }
52
+ ```
53
+
54
+ The following patterns are _not_ considered problems:
55
+
56
+ <!-- prettier-ignore -->
57
+ ```css
58
+ a { background-size: 0, 0; }
59
+ ```
60
+
61
+ <!-- prettier-ignore -->
62
+ ```css
63
+ a { background-size: 0,0; }
64
+ ```
65
+
66
+ <!-- prettier-ignore -->
67
+ ```css
68
+ a { background-size: 0
69
+ , 0; }
70
+ ```
71
+
72
+ ### `"never-multi-line"`
73
+
74
+ There _must never_ be whitespace before the commas in multi-line value lists.
75
+
76
+ The following patterns are considered problems:
77
+
78
+ <!-- prettier-ignore -->
79
+ ```css
80
+ a { background-size: 0
81
+ , 0; }
82
+ ```
83
+
84
+ The following patterns are _not_ considered problems:
85
+
86
+ <!-- prettier-ignore -->
87
+ ```css
88
+ a { background-size: 0,0; }
89
+ ```
90
+
91
+ <!-- prettier-ignore -->
92
+ ```css
93
+ a { background-size: 0, 0; }
94
+ ```
95
+
96
+ <!-- prettier-ignore -->
97
+ ```css
98
+ a { background-size: 0,
99
+ 0; }
100
+ ```
@@ -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 valueListCommaWhitespaceChecker = require('../valueListCommaWhitespaceChecker.cjs');
10
+
11
+ const ruleName = 'plugin/value-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/value-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
+ valueListCommaWhitespaceChecker({
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
+ # value-list-comma-space-after
2
+
3
+ Require a single space or disallow whitespace after the commas of value lists.
4
+
5
+ <!-- prettier-ignore -->
6
+ ```css
7
+ a { background-size: 0, 0; }
8
+ /** ↑
9
+ * The space after this comma */
10
+ ```
11
+
12
+ The [`fix` option](https://stylelint.io/user-guide/options/#fix) can automatically fix most 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
+ a { background-size: 0,0; }
27
+ ```
28
+
29
+ <!-- prettier-ignore -->
30
+ ```css
31
+ a { background-size: 0
32
+ , 0; }
33
+ ```
34
+
35
+ The following patterns are _not_ considered problems:
36
+
37
+ <!-- prettier-ignore -->
38
+ ```css
39
+ a { background-size: 0, 0; }
40
+ ```
41
+
42
+ <!-- prettier-ignore -->
43
+ ```css
44
+ a { background-size: 0
45
+ , 0; }
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
+ a { background-size: 0, 0; }
57
+ ```
58
+
59
+ <!-- prettier-ignore -->
60
+ ```css
61
+ a { background-size: 0 ,
62
+ 0; }
63
+ ```
64
+
65
+ The following patterns are _not_ considered problems:
66
+
67
+ <!-- prettier-ignore -->
68
+ ```css
69
+ a { background-size: 0,0; }
70
+ ```
71
+
72
+ <!-- prettier-ignore -->
73
+ ```css
74
+ a { background-size: 0
75
+ ,0; }
76
+ ```
77
+
78
+ ### `"always-single-line"`
79
+
80
+ There _must always_ be a single space after the commas in single-line value lists.
81
+
82
+ The following patterns are considered problems:
83
+
84
+ <!-- prettier-ignore -->
85
+ ```css
86
+ a { background-size: 0,0; }
87
+ ```
88
+
89
+ The following patterns are _not_ considered problems:
90
+
91
+ <!-- prettier-ignore -->
92
+ ```css
93
+ a { background-size: 0, 0; }
94
+ ```
95
+
96
+ <!-- prettier-ignore -->
97
+ ```css
98
+ a { background-size: 0
99
+ , 0; }
100
+ ```
101
+
102
+ <!-- prettier-ignore -->
103
+ ```css
104
+ a { background-size: 0
105
+ ,0; }
106
+ ```
107
+
108
+ ### `"never-single-line"`
109
+
110
+ There _must never_ be whitespace after the commas in single-line value lists.
111
+
112
+ The following patterns are considered problems:
113
+
114
+ <!-- prettier-ignore -->
115
+ ```css
116
+ a { background-size: 0, 0; }
117
+ ```
118
+
119
+ The following patterns are _not_ considered problems:
120
+
121
+ <!-- prettier-ignore -->
122
+ ```css
123
+ a { background-size: 0,0; }
124
+ ```
125
+
126
+ <!-- prettier-ignore -->
127
+ ```css
128
+ a { background-size: 0
129
+ ,0; }
130
+ ```
131
+
132
+ <!-- prettier-ignore -->
133
+ ```css
134
+ a { background-size: 0
135
+ , 0; }
136
+ ```