linter-bundle 5.0.1 → 6.0.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 (197) hide show
  1. package/.linter-bundle.js +4 -0
  2. package/.linter-bundle.schema.json +125 -0
  3. package/CHANGELOG.md +79 -3
  4. package/README.md +5 -3
  5. package/TODO.md +10 -0
  6. package/eslint/index.cjs +6 -3
  7. package/eslint/overrides-javascript.cjs +1 -1
  8. package/eslint/overrides-jest.cjs +1 -0
  9. package/eslint/overrides-jsdoc.cjs +1 -0
  10. package/eslint/rules/no-global-undefined-check.js +5 -3
  11. package/eslint/rules/no-unnecessary-typeof.js +26 -24
  12. package/eslint/rules/restricted-filenames.js +3 -1
  13. package/helper/ensure-type.cjs +2 -2
  14. package/helper/get-git-files.js +1 -1
  15. package/helper/get-outdated-dependencies.js +1 -1
  16. package/helper/get-outdated-overrides.js +1 -1
  17. package/helper/get-stylelint-path.js +1 -1
  18. package/helper/is-npm-or-yarn.js +1 -1
  19. package/helper/linter-bundle-config.d.ts +7 -7
  20. package/helper/linter-bundle-config.js +28 -6
  21. package/helper/run-process.js +3 -3
  22. package/lint.js +31 -35
  23. package/package.json +27 -26
  24. package/stylelint/index.cjs +89 -5
  25. package/stylelint/plugins/stylelint-15.11.0-stylistic/LICENSE +20 -0
  26. package/stylelint/plugins/stylelint-15.11.0-stylistic/html-tags/LICENSE +9 -0
  27. package/stylelint/plugins/stylelint-15.11.0-stylistic/html-tags/index.cjs +122 -0
  28. package/stylelint/plugins/stylelint-15.11.0-stylistic/reference/selectors.cjs +327 -0
  29. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-case/README.md +110 -0
  30. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-case/index.cjs +66 -0
  31. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-space-after/README.md +117 -0
  32. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-name-space-after/index.cjs +55 -0
  33. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-newline-after/README.md +63 -0
  34. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-newline-after/index.cjs +87 -0
  35. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-space-before/README.md +50 -0
  36. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/at-rule-semicolon-space-before/index.cjs +70 -0
  37. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/atRuleNameSpaceChecker.cjs +56 -0
  38. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-empty-line-before/README.md +238 -0
  39. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-empty-line-before/index.cjs +130 -0
  40. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-after/README.md +196 -0
  41. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-after/index.cjs +154 -0
  42. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-before/README.md +93 -0
  43. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-newline-before/index.cjs +133 -0
  44. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-space-before/README.md +174 -0
  45. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-closing-brace-space-before/index.cjs +111 -0
  46. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-newline-after/README.md +138 -0
  47. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-newline-after/index.cjs +184 -0
  48. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-after/README.md +191 -0
  49. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-after/index.cjs +118 -0
  50. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-before/README.md +218 -0
  51. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-before/index.cjs +141 -0
  52. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/color-hex-case/README.md +58 -0
  53. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/color-hex-case/index.cjs +95 -0
  54. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-after/README.md +72 -0
  55. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-after/index.cjs +95 -0
  56. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-before/README.md +67 -0
  57. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-before/index.cjs +96 -0
  58. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-after/README.md +141 -0
  59. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-after/index.cjs +109 -0
  60. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-before/README.md +120 -0
  61. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-newline-before/index.cjs +75 -0
  62. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-after/README.md +147 -0
  63. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-after/index.cjs +97 -0
  64. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-before/README.md +130 -0
  65. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-semicolon-space-before/index.cjs +106 -0
  66. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-trailing-semicolon/README.md +108 -0
  67. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-block-trailing-semicolon/index.cjs +147 -0
  68. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-newline-after/README.md +78 -0
  69. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-newline-after/index.cjs +99 -0
  70. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-after/README.md +111 -0
  71. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-after/index.cjs +75 -0
  72. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-before/README.md +72 -0
  73. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-colon-space-before/index.cjs +74 -0
  74. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declarationBangSpaceChecker.cjs +63 -0
  75. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declarationColonSpaceChecker.cjs +58 -0
  76. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/findMediaOperator.cjs +32 -0
  77. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-after/README.md +113 -0
  78. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-after/index.cjs +61 -0
  79. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-before/README.md +129 -0
  80. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-newline-before/index.cjs +61 -0
  81. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-after/README.md +144 -0
  82. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-after/index.cjs +62 -0
  83. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-before/README.md +144 -0
  84. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-comma-space-before/index.cjs +62 -0
  85. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-max-empty-lines/README.md +78 -0
  86. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-max-empty-lines/index.cjs +115 -0
  87. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-newline-inside/README.md +144 -0
  88. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-newline-inside/index.cjs +282 -0
  89. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-space-inside/README.md +140 -0
  90. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-parentheses-space-inside/index.cjs +182 -0
  91. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-whitespace-after/README.md +80 -0
  92. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/function-whitespace-after/index.cjs +198 -0
  93. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/functionCommaSpaceChecker.cjs +125 -0
  94. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/functionCommaSpaceFix.cjs +51 -0
  95. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/indentation/README.md +339 -0
  96. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/indentation/index.cjs +743 -0
  97. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/linebreaks/README.md +21 -0
  98. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/linebreaks/index.cjs +132 -0
  99. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-empty-lines/README.md +116 -0
  100. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-empty-lines/index.cjs +225 -0
  101. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-line-length/README.md +151 -0
  102. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/max-line-length/index.cjs +200 -0
  103. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-after/README.md +72 -0
  104. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-after/index.cjs +91 -0
  105. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-before/README.md +72 -0
  106. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-colon-space-before/index.cjs +91 -0
  107. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-name-case/README.md +108 -0
  108. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-name-case/index.cjs +93 -0
  109. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-parentheses-space-inside/README.md +62 -0
  110. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-parentheses-space-inside/index.cjs +112 -0
  111. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-after/README.md +72 -0
  112. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-after/index.cjs +109 -0
  113. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-before/README.md +72 -0
  114. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-feature-range-operator-space-before/index.cjs +109 -0
  115. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-after/README.md +113 -0
  116. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-after/index.cjs +97 -0
  117. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-before/README.md +111 -0
  118. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-newline-before/index.cjs +49 -0
  119. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-after/README.md +136 -0
  120. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-after/index.cjs +93 -0
  121. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-before/README.md +136 -0
  122. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/media-query-list-comma-space-before/index.cjs +93 -0
  123. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/mediaFeatureColonSpaceChecker.cjs +54 -0
  124. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/mediaQueryListCommaWhitespaceChecker.cjs +73 -0
  125. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-empty-first-line/README.md +34 -0
  126. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-empty-first-line/index.cjs +63 -0
  127. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-eol-whitespace/README.md +79 -0
  128. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-eol-whitespace/index.cjs +302 -0
  129. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-extra-semicolons/README.md +78 -0
  130. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-extra-semicolons/index.cjs +246 -0
  131. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-missing-end-of-source-newline/README.md +34 -0
  132. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/no-missing-end-of-source-newline/index.cjs +62 -0
  133. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-leading-zero/README.md +74 -0
  134. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-leading-zero/index.cjs +197 -0
  135. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-no-trailing-zeros/README.md +40 -0
  136. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/number-no-trailing-zeros/index.cjs +139 -0
  137. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/property-case/README.md +192 -0
  138. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/property-case/index.cjs +95 -0
  139. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-brackets-space-inside/README.md +112 -0
  140. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-brackets-space-inside/index.cjs +214 -0
  141. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-after/README.md +162 -0
  142. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-after/index.cjs +109 -0
  143. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-before/README.md +162 -0
  144. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-attribute-operator-space-before/index.cjs +88 -0
  145. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-after/README.md +78 -0
  146. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-after/index.cjs +67 -0
  147. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-before/README.md +78 -0
  148. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-combinator-space-before/index.cjs +67 -0
  149. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-descendant-combinator-no-non-space/README.md +40 -0
  150. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-descendant-combinator-no-non-space/index.cjs +95 -0
  151. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-after/README.md +120 -0
  152. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-after/index.cjs +126 -0
  153. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-before/README.md +112 -0
  154. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-newline-before/index.cjs +101 -0
  155. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-after/README.md +110 -0
  156. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-after/index.cjs +92 -0
  157. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-before/README.md +110 -0
  158. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-list-comma-space-before/index.cjs +92 -0
  159. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-max-empty-lines/README.md +103 -0
  160. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-max-empty-lines/index.cjs +74 -0
  161. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-case/README.md +108 -0
  162. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-case/index.cjs +104 -0
  163. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-parentheses-space-inside/README.md +62 -0
  164. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-class-parentheses-space-inside/index.cjs +162 -0
  165. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-element-case/README.md +128 -0
  166. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selector-pseudo-element-case/index.cjs +90 -0
  167. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selectorAttributeOperatorSpaceChecker.cjs +95 -0
  168. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selectorCombinatorSpaceChecker.cjs +113 -0
  169. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/selectorListCommaWhitespaceChecker.cjs +64 -0
  170. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/string-quotes/README.md +130 -0
  171. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/string-quotes/index.cjs +256 -0
  172. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unicode-bom/README.md +41 -0
  173. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unicode-bom/index.cjs +67 -0
  174. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unit-case/README.md +126 -0
  175. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/unit-case/index.cjs +133 -0
  176. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-after/README.md +102 -0
  177. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-after/index.cjs +107 -0
  178. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-before/README.md +100 -0
  179. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-newline-before/index.cjs +49 -0
  180. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-after/README.md +136 -0
  181. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-after/index.cjs +94 -0
  182. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-before/README.md +136 -0
  183. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-comma-space-before/index.cjs +94 -0
  184. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-max-empty-lines/README.md +121 -0
  185. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/value-list-max-empty-lines/index.cjs +68 -0
  186. package/stylelint/plugins/stylelint-15.11.0-stylistic/rules/valueListCommaWhitespaceChecker.cjs +74 -0
  187. package/stylelint/plugins/stylelint-15.11.0-stylistic/style-search/LICENSE +13 -0
  188. package/stylelint/plugins/stylelint-15.11.0-stylistic/style-search/index.cjs +216 -0
  189. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/addEmptyLineAfter.cjs +30 -0
  190. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/hasEmptyBlock.cjs +14 -0
  191. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/nextNonCommentNode.cjs +21 -0
  192. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/removeEmptyLinesAfter.cjs +16 -0
  193. package/stylelint/plugins/stylelint-15.11.0-stylistic/utils/whitespaceChecker.cjs +361 -0
  194. package/stylelint/plugins/stylelint-selector-no-empty.js +8 -8
  195. package/stylelint/plugins/stylelint-selector-tag-no-without-class.js +4 -4
  196. package/stylelint/plugins/stylelint-high-performance-animation.js +0 -276
  197. package/stylelint/plugins/stylelint-stylistic.js +0 -188
@@ -0,0 +1,141 @@
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 beforeBlockString = require('stylelint/lib/utils/beforeBlockString.cjs');
6
+ const blockString = require('stylelint/lib/utils/blockString.cjs');
7
+ const hasBlock = require('stylelint/lib/utils/hasBlock.cjs');
8
+ const optionsMatches = require('stylelint/lib/utils/optionsMatches.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
+ const { isRegExp, isString } = require('stylelint/lib/utils/validateTypes.cjs');
13
+
14
+ const hasEmptyBlock = require('../../utils/hasEmptyBlock.cjs');
15
+ const whitespaceChecker = require('../../utils/whitespaceChecker.cjs');
16
+
17
+ const ruleName = 'plugin/block-opening-brace-space-before';
18
+
19
+ const messages = ruleMessages(ruleName, {
20
+ expectedBefore: () => 'Expected single space before "{"',
21
+ rejectedBefore: () => 'Unexpected whitespace before "{"',
22
+ expectedBeforeSingleLine: () => 'Expected single space before "{" of a single-line block',
23
+ rejectedBeforeSingleLine: () => 'Unexpected whitespace before "{" of a single-line block',
24
+ expectedBeforeMultiLine: () => 'Expected single space before "{" of a multi-line block',
25
+ rejectedBeforeMultiLine: () => 'Unexpected whitespace before "{" of a multi-line block'
26
+ });
27
+
28
+ const meta = {
29
+ url: 'https://github.com/jens-duttke/linter-bundle/blob/main/stylelint/plugins/stylelint-15.11.0-stylistic/rules/block-opening-brace-space-before/README.md',
30
+ fixable: true
31
+ };
32
+
33
+ /** @type {import('stylelint').Rule} */
34
+ const rule = (primary, secondaryOptions, context) => {
35
+ const checker = whitespaceChecker('space', primary, messages);
36
+
37
+ return (root, result) => {
38
+ const validOptions = validateOptions(
39
+ result,
40
+ ruleName,
41
+ {
42
+ actual: primary,
43
+ possible: [
44
+ 'always',
45
+ 'never',
46
+ 'always-single-line',
47
+ 'never-single-line',
48
+ 'always-multi-line',
49
+ 'never-multi-line'
50
+ ]
51
+ },
52
+ {
53
+ actual: secondaryOptions,
54
+ possible: {
55
+ ignoreAtRules: [isString, isRegExp],
56
+ ignoreSelectors: [isString, isRegExp]
57
+ },
58
+ optional: true
59
+ }
60
+ );
61
+
62
+ if (!validOptions) {
63
+ return;
64
+ }
65
+
66
+ // Check both kinds of statements: rules and at-rules
67
+ root.walkRules(check);
68
+ root.walkAtRules(check);
69
+
70
+ /**
71
+ * @param {import('postcss').Rule | import('postcss').AtRule} statement
72
+ */
73
+ function check (statement) {
74
+ // Return early if blockless or has an empty block
75
+ if (!hasBlock(statement) || hasEmptyBlock(statement)) {
76
+ return;
77
+ }
78
+
79
+ // Return early if at-rule is to be ignored
80
+ if (
81
+ statement.type === 'atrule' &&
82
+ optionsMatches(secondaryOptions, 'ignoreAtRules', statement.name)
83
+ ) {
84
+ return;
85
+ }
86
+
87
+ // Return early if selector is to be ignored
88
+ if (
89
+ statement.type === 'rule' &&
90
+ optionsMatches(secondaryOptions, 'ignoreSelectors', statement.selector)
91
+ ) {
92
+ return;
93
+ }
94
+
95
+ const source = beforeBlockString(statement);
96
+ const beforeBraceNoRaw = beforeBlockString(statement, {
97
+ noRawBefore: true
98
+ });
99
+
100
+ let index = beforeBraceNoRaw.length - 1;
101
+
102
+ if (beforeBraceNoRaw[index - 1] === '\r') {
103
+ index -= 1;
104
+ }
105
+
106
+ checker.before({
107
+ source,
108
+ index: source.length,
109
+ lineCheckStr: blockString(statement),
110
+ err: (m) => {
111
+ if (context.fix) {
112
+ if (primary.startsWith('always')) {
113
+ statement.raws.between = ' ';
114
+
115
+ return;
116
+ }
117
+
118
+ if (primary.startsWith('never')) {
119
+ statement.raws.between = '';
120
+
121
+ return;
122
+ }
123
+ }
124
+
125
+ report({
126
+ message: m,
127
+ node: statement,
128
+ index,
129
+ result,
130
+ ruleName
131
+ });
132
+ }
133
+ });
134
+ }
135
+ };
136
+ };
137
+
138
+ rule.ruleName = ruleName;
139
+ rule.messages = messages;
140
+ rule.meta = meta;
141
+ module.exports = stylelint.createPlugin(ruleName, rule);
@@ -0,0 +1,58 @@
1
+ # color-hex-case
2
+
3
+ Specify lowercase or uppercase for hex colors.
4
+
5
+ <!-- prettier-ignore -->
6
+ ```css
7
+ a { color: #fff }
8
+ /** ↑
9
+ * This hex color */
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 { color: #FFF; }
25
+ ```
26
+
27
+ The following patterns are _not_ considered problems:
28
+
29
+ <!-- prettier-ignore -->
30
+ ```css
31
+ a { color: #000; }
32
+ ```
33
+
34
+ <!-- prettier-ignore -->
35
+ ```css
36
+ a { color: #fff; }
37
+ ```
38
+
39
+ ### `"upper"`
40
+
41
+ The following patterns are considered problems:
42
+
43
+ <!-- prettier-ignore -->
44
+ ```css
45
+ a { color: #fff; }
46
+ ```
47
+
48
+ The following patterns are _not_ considered problems:
49
+
50
+ <!-- prettier-ignore -->
51
+ ```css
52
+ a { color: #000; }
53
+ ```
54
+
55
+ <!-- prettier-ignore -->
56
+ ```css
57
+ a { color: #FFF; }
58
+ ```
@@ -0,0 +1,95 @@
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 declarationValueIndex = require('stylelint/lib/utils/declarationValueIndex.cjs');
7
+ const getDeclarationValue = require('stylelint/lib/utils/getDeclarationValue.cjs');
8
+ const report = require('stylelint/lib/utils/report.cjs');
9
+ const ruleMessages = require('stylelint/lib/utils/ruleMessages.cjs');
10
+ const setDeclarationValue = require('stylelint/lib/utils/setDeclarationValue.cjs');
11
+ const validateOptions = require('stylelint/lib/utils/validateOptions.cjs');
12
+
13
+ const ruleName = 'plugin/color-hex-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/color-hex-case/README.md',
21
+ fixable: true
22
+ };
23
+
24
+ const HEX = /^#[\da-z]+/i;
25
+ const CONTAINS_HEX = /#[\da-z]+/i;
26
+ const IGNORED_FUNCTIONS = new Set(['url']);
27
+
28
+ /** @type {import('stylelint').Rule} */
29
+ const rule = (primary, _secondaryOptions, context) => (root, result) => {
30
+ const validOptions = validateOptions(result, ruleName, {
31
+ actual: primary,
32
+ possible: ['lower', 'upper']
33
+ });
34
+
35
+ if (!validOptions) {
36
+ return;
37
+ }
38
+
39
+ root.walkDecls((decl) => {
40
+ if (!CONTAINS_HEX.test(decl.value)) { return; }
41
+
42
+ const parsedValue = valueParser(getDeclarationValue(decl));
43
+ let needsFix = false;
44
+
45
+ parsedValue.walk((node) => {
46
+ const { value } = node;
47
+
48
+ if (isIgnoredFunction(node)) { return false; }
49
+
50
+ if (!isHexColor(node)) { return; }
51
+
52
+ const expected = primary === 'lower' ? value.toLowerCase() : value.toUpperCase();
53
+
54
+ if (value === expected) { return; }
55
+
56
+ if (context.fix) {
57
+ node.value = expected;
58
+ needsFix = true;
59
+
60
+ return;
61
+ }
62
+
63
+ report({
64
+ message: messages.expected(value, expected),
65
+ node: decl,
66
+ index: declarationValueIndex(decl) + node.sourceIndex,
67
+ result,
68
+ ruleName
69
+ });
70
+ });
71
+
72
+ if (needsFix) {
73
+ setDeclarationValue(decl, parsedValue.toString());
74
+ }
75
+ });
76
+ };
77
+
78
+ /**
79
+ * @param {import('postcss-value-parser').Node} node
80
+ */
81
+ function isIgnoredFunction ({ type, value }) {
82
+ return type === 'function' && IGNORED_FUNCTIONS.has(value.toLowerCase());
83
+ }
84
+
85
+ /**
86
+ * @param {import('postcss-value-parser').Node} node
87
+ */
88
+ function isHexColor ({ type, value }) {
89
+ return type === 'word' && HEX.test(value);
90
+ }
91
+
92
+ rule.ruleName = ruleName;
93
+ rule.messages = messages;
94
+ rule.meta = meta;
95
+ module.exports = stylelint.createPlugin(ruleName, rule);
@@ -0,0 +1,72 @@
1
+ # declaration-bang-space-after
2
+
3
+ Require a single space or disallow whitespace after the bang of declarations.
4
+
5
+ <!-- prettier-ignore -->
6
+ ```css
7
+ a { color: pink !important; }
8
+ /** ↑
9
+ * The space after this exclamation mark */
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"`
17
+
18
+ ### `"always"`
19
+
20
+ There _must always_ be a single space after the bang.
21
+
22
+ The following patterns are considered problems:
23
+
24
+ <!-- prettier-ignore -->
25
+ ```css
26
+ a { color: pink !important; }
27
+ ```
28
+
29
+ <!-- prettier-ignore -->
30
+ ```css
31
+ a { color: pink !important; }
32
+ ```
33
+
34
+ The following patterns are _not_ considered problems:
35
+
36
+ <!-- prettier-ignore -->
37
+ ```css
38
+ a { color: pink ! important; }
39
+ ```
40
+
41
+ <!-- prettier-ignore -->
42
+ ```css
43
+ a { color: pink! important; }
44
+ ```
45
+
46
+ ### `"never"`
47
+
48
+ There _must never_ be whitespace after the bang.
49
+
50
+ The following patterns are considered problems:
51
+
52
+ <!-- prettier-ignore -->
53
+ ```css
54
+ a { color: pink ! important; }
55
+ ```
56
+
57
+ <!-- prettier-ignore -->
58
+ ```css
59
+ a { color: pink! important; }
60
+ ```
61
+
62
+ The following patterns are _not_ considered problems:
63
+
64
+ <!-- prettier-ignore -->
65
+ ```css
66
+ a { color: pink !important; }
67
+ ```
68
+
69
+ <!-- prettier-ignore -->
70
+ ```css
71
+ a { color:pink!important; }
72
+ ```
@@ -0,0 +1,95 @@
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 declarationBangSpaceChecker = require('../declarationBangSpaceChecker.cjs');
13
+
14
+ const ruleName = 'plugin/declaration-bang-space-after';
15
+
16
+ const messages = ruleMessages(ruleName, {
17
+ expectedAfter: () => 'Expected single space after "!"',
18
+ rejectedAfter: () => 'Unexpected whitespace after "!"'
19
+ });
20
+
21
+ const meta = {
22
+ url: 'https://github.com/jens-duttke/linter-bundle/blob/main/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-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']
34
+ });
35
+
36
+ if (!validOptions) {
37
+ return;
38
+ }
39
+
40
+ declarationBangSpaceChecker({
41
+ root,
42
+ result,
43
+ locationChecker: checker.after,
44
+ checkedRuleName: ruleName,
45
+ fix: context.fix ?
46
+ (decl, index) => {
47
+ let bangIndex = index - declarationValueIndex(decl);
48
+ const declValue = getDeclarationValue(decl);
49
+ let target;
50
+ /** @type {(value: string) => void} */
51
+ let setFixed;
52
+
53
+ if (bangIndex < declValue.length) {
54
+ target = declValue;
55
+ setFixed = (value) => {
56
+ setDeclarationValue(decl, value);
57
+ };
58
+ }
59
+ else if (decl.important) {
60
+ target = (decl.raws.important ? decl.raws.important : ' !important');
61
+ bangIndex -= declValue.length;
62
+ setFixed = (value) => {
63
+ decl.raws.important = value;
64
+ };
65
+ }
66
+ else {
67
+ return false; // not standard
68
+ }
69
+
70
+ const targetBefore = target.slice(0, bangIndex + 1);
71
+ const targetAfter = target.slice(bangIndex + 1);
72
+
73
+ if (primary === 'always') {
74
+ setFixed(targetBefore + targetAfter.replace(/^\s*/, ' '));
75
+
76
+ return true;
77
+ }
78
+
79
+ if (primary === 'never') {
80
+ setFixed(targetBefore + targetAfter.replace(/^\s*/, ''));
81
+
82
+ return true;
83
+ }
84
+
85
+ return false;
86
+ }
87
+ : null
88
+ });
89
+ };
90
+ };
91
+
92
+ rule.ruleName = ruleName;
93
+ rule.messages = messages;
94
+ rule.meta = meta;
95
+ module.exports = stylelint.createPlugin(ruleName, rule);
@@ -0,0 +1,67 @@
1
+ # declaration-bang-space-before
2
+
3
+ Require a single space or disallow whitespace before the bang of declarations.
4
+
5
+ <!-- prettier-ignore -->
6
+ ```css
7
+ a { color: pink !important; }
8
+ /** ↑
9
+ * The space before this exclamation mark */
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"`
17
+
18
+ ### `"always"`
19
+
20
+ There _must always_ be a single space before the bang.
21
+
22
+ The following patterns are considered problems:
23
+
24
+ <!-- prettier-ignore -->
25
+ ```css
26
+ a { color: pink!important; }
27
+ ```
28
+
29
+ <!-- prettier-ignore -->
30
+ ```css
31
+ a { color: pink ! important; }
32
+ ```
33
+
34
+ The following patterns are _not_ considered problems:
35
+
36
+ <!-- prettier-ignore -->
37
+ ```css
38
+ a { color: pink !important; }
39
+ ```
40
+
41
+ <!-- prettier-ignore -->
42
+ ```css
43
+ a { color:pink ! important; }
44
+ ```
45
+
46
+ ### `"never"`
47
+
48
+ There _must never_ be whitespace before the bang.
49
+
50
+ The following patterns are considered problems:
51
+
52
+ <!-- prettier-ignore -->
53
+ ```css
54
+ a { color : pink !important; }
55
+ ```
56
+
57
+ The following patterns are _not_ considered problems:
58
+
59
+ <!-- prettier-ignore -->
60
+ ```css
61
+ a { color: pink!important; }
62
+ ```
63
+
64
+ <!-- prettier-ignore -->
65
+ ```css
66
+ a { color: pink! important; }
67
+ ```
@@ -0,0 +1,96 @@
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 declarationBangSpaceChecker = require('../declarationBangSpaceChecker.cjs');
13
+
14
+ const ruleName = 'plugin/declaration-bang-space-before';
15
+
16
+ const messages = ruleMessages(ruleName, {
17
+ expectedBefore: () => 'Expected single space before "!"',
18
+ rejectedBefore: () => 'Unexpected whitespace before "!"'
19
+ });
20
+
21
+ const meta = {
22
+ url: 'https://github.com/jens-duttke/linter-bundle/blob/main/stylelint/plugins/stylelint-15.11.0-stylistic/rules/declaration-bang-space-before/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']
34
+ });
35
+
36
+ if (!validOptions) {
37
+ return;
38
+ }
39
+
40
+ declarationBangSpaceChecker({
41
+ root,
42
+ result,
43
+ locationChecker: checker.before,
44
+ checkedRuleName: ruleName,
45
+ fix: context.fix ?
46
+ (decl, index) => {
47
+ let bangIndex = index - declarationValueIndex(decl);
48
+ const value = getDeclarationValue(decl);
49
+ let target;
50
+ /** @type {(val: string) => void} */
51
+ let setFixed;
52
+
53
+ if (bangIndex < value.length) {
54
+ target = value;
55
+ setFixed = (value_) => {
56
+ setDeclarationValue(decl, value_);
57
+ };
58
+ }
59
+ else if (decl.important) {
60
+ target = (decl.raws.important ? decl.raws.important : ' !important');
61
+ bangIndex -= value.length;
62
+ setFixed = (value_) => {
63
+ decl.raws.important = value_;
64
+ };
65
+ }
66
+ else {
67
+ return false; // not standard
68
+ }
69
+
70
+ const targetBefore = target.slice(0, bangIndex);
71
+ const targetAfter = target.slice(bangIndex);
72
+
73
+ if (primary === 'always') {
74
+
75
+ setFixed(targetBefore.replace(/\s*$/, '') + ' ' + targetAfter);
76
+
77
+ return true;
78
+ }
79
+
80
+ if (primary === 'never') {
81
+ setFixed(targetBefore.replace(/\s*$/, '') + targetAfter);
82
+
83
+ return true;
84
+ }
85
+
86
+ return false;
87
+ }
88
+ : null
89
+ });
90
+ };
91
+ };
92
+
93
+ rule.ruleName = ruleName;
94
+ rule.messages = messages;
95
+ rule.meta = meta;
96
+ module.exports = stylelint.createPlugin(ruleName, rule);