@alexlit/lint-kit 182.1.0 → 182.2.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 (409) hide show
  1. package/package.json +1 -1
  2. package/packages/config-eslint/package.json +3 -3
  3. package/packages/config-eslint/plugins/unocss.js +4 -6
  4. package/packages/config-stylelint/node_modules/ansi-regex/index.d.ts +33 -0
  5. package/packages/config-stylelint/node_modules/ansi-regex/index.js +14 -0
  6. package/packages/config-stylelint/node_modules/ansi-regex/license +9 -0
  7. package/packages/config-stylelint/node_modules/ansi-regex/package.json +61 -0
  8. package/packages/config-stylelint/node_modules/ansi-regex/readme.md +66 -0
  9. package/packages/config-stylelint/node_modules/file-entry-cache/LICENSE +19 -0
  10. package/packages/config-stylelint/node_modules/file-entry-cache/README.md +630 -0
  11. package/packages/config-stylelint/node_modules/file-entry-cache/dist/index.cjs +559 -0
  12. package/packages/config-stylelint/node_modules/file-entry-cache/dist/index.d.cts +304 -0
  13. package/packages/config-stylelint/node_modules/file-entry-cache/dist/index.d.ts +304 -0
  14. package/packages/config-stylelint/node_modules/file-entry-cache/dist/index.js +525 -0
  15. package/packages/config-stylelint/node_modules/file-entry-cache/package.json +62 -0
  16. package/packages/config-stylelint/node_modules/flat-cache/LICENSE +19 -0
  17. package/packages/config-stylelint/node_modules/flat-cache/README.md +235 -0
  18. package/packages/config-stylelint/node_modules/flat-cache/dist/index.cjs +495 -0
  19. package/packages/config-stylelint/node_modules/flat-cache/dist/index.d.cts +255 -0
  20. package/packages/config-stylelint/node_modules/flat-cache/dist/index.d.ts +255 -0
  21. package/packages/config-stylelint/node_modules/flat-cache/dist/index.js +455 -0
  22. package/packages/config-stylelint/node_modules/flat-cache/package.json +87 -0
  23. package/packages/config-stylelint/node_modules/globby/ignore.js +337 -0
  24. package/packages/config-stylelint/node_modules/globby/index.d.ts +394 -0
  25. package/packages/config-stylelint/node_modules/globby/index.js +488 -0
  26. package/packages/config-stylelint/node_modules/globby/license +9 -0
  27. package/packages/config-stylelint/node_modules/globby/package.json +94 -0
  28. package/packages/config-stylelint/node_modules/globby/readme.md +388 -0
  29. package/packages/config-stylelint/node_modules/globby/utilities.js +382 -0
  30. package/packages/config-stylelint/node_modules/meow/build/dependencies.js +7347 -0
  31. package/packages/config-stylelint/node_modules/meow/build/index.d.ts +2684 -0
  32. package/packages/config-stylelint/node_modules/meow/build/index.js +185 -0
  33. package/packages/config-stylelint/node_modules/meow/build/licenses.md +1254 -0
  34. package/packages/config-stylelint/node_modules/meow/build/options.js +147 -0
  35. package/packages/config-stylelint/node_modules/meow/build/parser.js +113 -0
  36. package/packages/config-stylelint/node_modules/meow/build/utils.js +7 -0
  37. package/packages/config-stylelint/node_modules/meow/build/validate.js +145 -0
  38. package/packages/config-stylelint/node_modules/meow/license +9 -0
  39. package/packages/config-stylelint/node_modules/meow/package.json +103 -0
  40. package/packages/config-stylelint/node_modules/meow/readme.md +387 -0
  41. package/packages/config-stylelint/node_modules/postcss-safe-parser/LICENSE +20 -0
  42. package/packages/config-stylelint/node_modules/postcss-safe-parser/README.md +25 -0
  43. package/packages/config-stylelint/node_modules/postcss-safe-parser/lib/safe-parse.js +12 -0
  44. package/packages/config-stylelint/node_modules/postcss-safe-parser/lib/safe-parser.js +100 -0
  45. package/packages/config-stylelint/node_modules/postcss-safe-parser/package.json +36 -0
  46. package/packages/config-stylelint/node_modules/slash/index.d.ts +23 -0
  47. package/packages/config-stylelint/node_modules/slash/index.js +9 -0
  48. package/packages/config-stylelint/node_modules/slash/license +9 -0
  49. package/packages/config-stylelint/node_modules/slash/package.json +39 -0
  50. package/packages/config-stylelint/node_modules/slash/readme.md +36 -0
  51. package/packages/config-stylelint/node_modules/string-width/index.d.ts +39 -0
  52. package/packages/config-stylelint/node_modules/string-width/index.js +119 -0
  53. package/packages/config-stylelint/node_modules/string-width/license +9 -0
  54. package/packages/config-stylelint/node_modules/string-width/package.json +65 -0
  55. package/packages/config-stylelint/node_modules/string-width/readme.md +66 -0
  56. package/packages/config-stylelint/node_modules/strip-ansi/index.d.ts +15 -0
  57. package/packages/config-stylelint/node_modules/strip-ansi/index.js +19 -0
  58. package/packages/config-stylelint/node_modules/strip-ansi/license +9 -0
  59. package/packages/config-stylelint/node_modules/strip-ansi/package.json +59 -0
  60. package/packages/config-stylelint/node_modules/strip-ansi/readme.md +37 -0
  61. package/packages/config-stylelint/node_modules/stylelint/LICENSE +20 -0
  62. package/packages/config-stylelint/node_modules/stylelint/README.md +113 -0
  63. package/packages/config-stylelint/node_modules/stylelint/bin/stylelint.mjs +7 -0
  64. package/packages/config-stylelint/node_modules/stylelint/lib/assignDisabledRanges.mjs +483 -0
  65. package/packages/config-stylelint/node_modules/stylelint/lib/augmentConfig.mjs +586 -0
  66. package/packages/config-stylelint/node_modules/stylelint/lib/cli.mjs +746 -0
  67. package/packages/config-stylelint/node_modules/stylelint/lib/constants.mjs +25 -0
  68. package/packages/config-stylelint/node_modules/stylelint/lib/createPartialStylelintResult.mjs +114 -0
  69. package/packages/config-stylelint/node_modules/stylelint/lib/createPlugin.mjs +9 -0
  70. package/packages/config-stylelint/node_modules/stylelint/lib/createStylelint.mjs +37 -0
  71. package/packages/config-stylelint/node_modules/stylelint/lib/descriptionlessDisables.mjs +51 -0
  72. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/calcSeverityCounts.mjs +21 -0
  73. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/compactFormatter.mjs +23 -0
  74. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/index.mjs +23 -0
  75. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/jsonFormatter.mjs +10 -0
  76. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/preprocessWarnings.mjs +74 -0
  77. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/stringFormatter.mjs +308 -0
  78. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/tapFormatter.mjs +85 -0
  79. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/terminalLink.mjs +21 -0
  80. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/unixFormatter.mjs +32 -0
  81. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/verboseFormatter.mjs +175 -0
  82. package/packages/config-stylelint/node_modules/stylelint/lib/getConfigForFile.mjs +110 -0
  83. package/packages/config-stylelint/node_modules/stylelint/lib/getPostcssResult.mjs +130 -0
  84. package/packages/config-stylelint/node_modules/stylelint/lib/index.mjs +38 -0
  85. package/packages/config-stylelint/node_modules/stylelint/lib/invalidScopeDisables.mjs +41 -0
  86. package/packages/config-stylelint/node_modules/stylelint/lib/isPathIgnored.mjs +48 -0
  87. package/packages/config-stylelint/node_modules/stylelint/lib/lintPostcssResult.mjs +172 -0
  88. package/packages/config-stylelint/node_modules/stylelint/lib/lintSource.mjs +135 -0
  89. package/packages/config-stylelint/node_modules/stylelint/lib/needlessDisables.mjs +91 -0
  90. package/packages/config-stylelint/node_modules/stylelint/lib/normalizeAllRuleSettings.mjs +29 -0
  91. package/packages/config-stylelint/node_modules/stylelint/lib/normalizeRuleSettings.mjs +56 -0
  92. package/packages/config-stylelint/node_modules/stylelint/lib/postcssPlugin.mjs +50 -0
  93. package/packages/config-stylelint/node_modules/stylelint/lib/prepareReturnValue.mjs +63 -0
  94. package/packages/config-stylelint/node_modules/stylelint/lib/printConfig.mjs +44 -0
  95. package/packages/config-stylelint/node_modules/stylelint/lib/reference/atKeywords.mjs +83 -0
  96. package/packages/config-stylelint/node_modules/stylelint/lib/reference/functions.mjs +96 -0
  97. package/packages/config-stylelint/node_modules/stylelint/lib/reference/keywords.mjs +663 -0
  98. package/packages/config-stylelint/node_modules/stylelint/lib/reference/mediaFeatures.mjs +115 -0
  99. package/packages/config-stylelint/node_modules/stylelint/lib/reference/mediaTypes.mjs +14 -0
  100. package/packages/config-stylelint/node_modules/stylelint/lib/reference/prefixes.mjs +17 -0
  101. package/packages/config-stylelint/node_modules/stylelint/lib/reference/properties.mjs +1112 -0
  102. package/packages/config-stylelint/node_modules/stylelint/lib/reference/selectors.mjs +472 -0
  103. package/packages/config-stylelint/node_modules/stylelint/lib/reference/units.mjs +82 -0
  104. package/packages/config-stylelint/node_modules/stylelint/lib/reportDisables.mjs +48 -0
  105. package/packages/config-stylelint/node_modules/stylelint/lib/reportUnknownRuleNames.mjs +76 -0
  106. package/packages/config-stylelint/node_modules/stylelint/lib/resolveConfig.mjs +43 -0
  107. package/packages/config-stylelint/node_modules/stylelint/lib/rules/alpha-value-notation/index.mjs +207 -0
  108. package/packages/config-stylelint/node_modules/stylelint/lib/rules/annotation-no-unknown/index.mjs +88 -0
  109. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-allowed-list/index.mjs +62 -0
  110. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-descriptor-no-unknown/index.mjs +108 -0
  111. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-descriptor-value-no-unknown/index.mjs +64 -0
  112. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-disallowed-list/index.mjs +62 -0
  113. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-empty-line-before/index.mjs +178 -0
  114. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-no-deprecated/index.mjs +86 -0
  115. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-no-unknown/index.mjs +80 -0
  116. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-no-vendor-prefix/index.mjs +82 -0
  117. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-prelude-no-invalid/index.mjs +76 -0
  118. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-property-required-list/index.mjs +92 -0
  119. package/packages/config-stylelint/node_modules/stylelint/lib/rules/block-no-empty/index.mjs +116 -0
  120. package/packages/config-stylelint/node_modules/stylelint/lib/rules/block-no-redundant-nested-style-rules/index.mjs +52 -0
  121. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-function-alias-notation/index.mjs +87 -0
  122. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-function-notation/index.mjs +168 -0
  123. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-hex-alpha/index.mjs +75 -0
  124. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-hex-length/index.mjs +128 -0
  125. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-named/colordUtils.mjs +109 -0
  126. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-named/index.mjs +183 -0
  127. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-no-hex/index.mjs +69 -0
  128. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-no-invalid-hex/index.mjs +68 -0
  129. package/packages/config-stylelint/node_modules/stylelint/lib/rules/comment-empty-line-before/index.mjs +131 -0
  130. package/packages/config-stylelint/node_modules/stylelint/lib/rules/comment-no-empty/index.mjs +50 -0
  131. package/packages/config-stylelint/node_modules/stylelint/lib/rules/comment-pattern/index.mjs +51 -0
  132. package/packages/config-stylelint/node_modules/stylelint/lib/rules/comment-whitespace-inside/index.mjs +149 -0
  133. package/packages/config-stylelint/node_modules/stylelint/lib/rules/comment-word-disallowed-list/index.mjs +63 -0
  134. package/packages/config-stylelint/node_modules/stylelint/lib/rules/container-name-pattern/index.mjs +107 -0
  135. package/packages/config-stylelint/node_modules/stylelint/lib/rules/custom-media-pattern/index.mjs +61 -0
  136. package/packages/config-stylelint/node_modules/stylelint/lib/rules/custom-property-empty-line-before/index.mjs +156 -0
  137. package/packages/config-stylelint/node_modules/stylelint/lib/rules/custom-property-no-missing-var-function/index.mjs +148 -0
  138. package/packages/config-stylelint/node_modules/stylelint/lib/rules/custom-property-pattern/index.mjs +100 -0
  139. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-block-no-duplicate-custom-properties/index.mjs +82 -0
  140. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-block-no-duplicate-properties/index.mjs +301 -0
  141. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-block-no-redundant-longhand-properties/index.mjs +411 -0
  142. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-block-no-shorthand-property-overrides/index.mjs +74 -0
  143. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-block-single-line-max-declarations/index.mjs +62 -0
  144. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-empty-line-before/index.mjs +160 -0
  145. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-no-important/index.mjs +51 -0
  146. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-max-values/index.mjs +79 -0
  147. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-unit-allowed-list/index.mjs +108 -0
  148. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-unit-disallowed-list/index.mjs +94 -0
  149. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-value-allowed-list/index.mjs +66 -0
  150. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-value-disallowed-list/index.mjs +66 -0
  151. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-value-keyword-no-deprecated/index.mjs +203 -0
  152. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-value-no-unknown/index.mjs +424 -0
  153. package/packages/config-stylelint/node_modules/stylelint/lib/rules/display-notation/index.mjs +225 -0
  154. package/packages/config-stylelint/node_modules/stylelint/lib/rules/font-family-name-quotes/index.mjs +243 -0
  155. package/packages/config-stylelint/node_modules/stylelint/lib/rules/font-family-no-duplicate-names/index.mjs +122 -0
  156. package/packages/config-stylelint/node_modules/stylelint/lib/rules/font-family-no-missing-generic-family-keyword/index.mjs +122 -0
  157. package/packages/config-stylelint/node_modules/stylelint/lib/rules/font-weight-notation/index.mjs +221 -0
  158. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-allowed-list/index.mjs +114 -0
  159. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-calc-no-unspaced-operator/index.mjs +589 -0
  160. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-disallowed-list/index.mjs +73 -0
  161. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-linear-gradient-no-nonstandard-direction/index.mjs +145 -0
  162. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-name-case/index.mjs +120 -0
  163. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-no-unknown/index.mjs +83 -0
  164. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-url-no-scheme-relative/index.mjs +67 -0
  165. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-url-quotes/index.mjs +230 -0
  166. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-url-scheme-allowed-list/index.mjs +70 -0
  167. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-url-scheme-disallowed-list/index.mjs +70 -0
  168. package/packages/config-stylelint/node_modules/stylelint/lib/rules/hue-degree-notation/index.mjs +123 -0
  169. package/packages/config-stylelint/node_modules/stylelint/lib/rules/import-notation/index.mjs +104 -0
  170. package/packages/config-stylelint/node_modules/stylelint/lib/rules/index.mjs +180 -0
  171. package/packages/config-stylelint/node_modules/stylelint/lib/rules/keyframe-block-no-duplicate-selectors/index.mjs +68 -0
  172. package/packages/config-stylelint/node_modules/stylelint/lib/rules/keyframe-declaration-no-important/index.mjs +54 -0
  173. package/packages/config-stylelint/node_modules/stylelint/lib/rules/keyframe-selector-notation/index.mjs +202 -0
  174. package/packages/config-stylelint/node_modules/stylelint/lib/rules/keyframes-name-pattern/index.mjs +63 -0
  175. package/packages/config-stylelint/node_modules/stylelint/lib/rules/layer-name-pattern/index.mjs +91 -0
  176. package/packages/config-stylelint/node_modules/stylelint/lib/rules/length-zero-no-unit/index.mjs +221 -0
  177. package/packages/config-stylelint/node_modules/stylelint/lib/rules/lightness-notation/index.mjs +165 -0
  178. package/packages/config-stylelint/node_modules/stylelint/lib/rules/max-nesting-depth/index.mjs +195 -0
  179. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-allowed-list/index.mjs +67 -0
  180. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-disallowed-list/index.mjs +67 -0
  181. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-no-unknown/index.mjs +79 -0
  182. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-no-vendor-prefix/index.mjs +94 -0
  183. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-unit-allowed-list/index.mjs +110 -0
  184. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-value-allowed-list/index.mjs +100 -0
  185. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-value-no-unknown/index.mjs +277 -0
  186. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-range-notation/index.mjs +187 -0
  187. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-query-no-invalid/index.mjs +193 -0
  188. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-type-no-deprecated/index.mjs +82 -0
  189. package/packages/config-stylelint/node_modules/stylelint/lib/rules/named-grid-areas-no-invalid/index.mjs +117 -0
  190. package/packages/config-stylelint/node_modules/stylelint/lib/rules/named-grid-areas-no-invalid/utils/findNotContiguousOrRectangular.mjs +57 -0
  191. package/packages/config-stylelint/node_modules/stylelint/lib/rules/nesting-selector-no-missing-scoping-root/index.mjs +165 -0
  192. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-descending-specificity/index.mjs +200 -0
  193. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-duplicate-at-import-rules/index.mjs +156 -0
  194. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-duplicate-selectors/index.mjs +218 -0
  195. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-empty-source/index.mjs +61 -0
  196. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-invalid-double-slash-comments/index.mjs +77 -0
  197. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-invalid-position-at-import-rule/index.mjs +76 -0
  198. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-invalid-position-declaration/index.mjs +86 -0
  199. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-irregular-whitespace/index.mjs +236 -0
  200. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-unknown-animations/index.mjs +71 -0
  201. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-unknown-custom-media/index.mjs +77 -0
  202. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-unknown-custom-properties/index.mjs +72 -0
  203. package/packages/config-stylelint/node_modules/stylelint/lib/rules/number-max-precision/index.mjs +209 -0
  204. package/packages/config-stylelint/node_modules/stylelint/lib/rules/property-allowed-list/index.mjs +58 -0
  205. package/packages/config-stylelint/node_modules/stylelint/lib/rules/property-disallowed-list/index.mjs +58 -0
  206. package/packages/config-stylelint/node_modules/stylelint/lib/rules/property-no-deprecated/index.mjs +143 -0
  207. package/packages/config-stylelint/node_modules/stylelint/lib/rules/property-no-unknown/index.mjs +126 -0
  208. package/packages/config-stylelint/node_modules/stylelint/lib/rules/property-no-vendor-prefix/index.mjs +100 -0
  209. package/packages/config-stylelint/node_modules/stylelint/lib/rules/rule-empty-line-before/index.mjs +156 -0
  210. package/packages/config-stylelint/node_modules/stylelint/lib/rules/rule-nesting-at-rule-required-list/index.mjs +85 -0
  211. package/packages/config-stylelint/node_modules/stylelint/lib/rules/rule-selector-property-disallowed-list/index.mjs +119 -0
  212. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-anb-no-unmatchable/index.mjs +121 -0
  213. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-attribute-name-disallowed-list/index.mjs +69 -0
  214. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-attribute-operator-allowed-list/index.mjs +70 -0
  215. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-attribute-operator-disallowed-list/index.mjs +70 -0
  216. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-attribute-quotes/index.mjs +107 -0
  217. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-class-pattern/index.mjs +71 -0
  218. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-combinator-allowed-list/index.mjs +81 -0
  219. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-combinator-disallowed-list/index.mjs +81 -0
  220. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-disallowed-list/index.mjs +115 -0
  221. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-id-pattern/index.mjs +66 -0
  222. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-attribute/index.mjs +92 -0
  223. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-class/index.mjs +75 -0
  224. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-combinators/index.mjs +77 -0
  225. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-compound-selectors/index.mjs +123 -0
  226. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-id/index.mjs +107 -0
  227. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-pseudo-class/index.mjs +85 -0
  228. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-specificity/index.mjs +146 -0
  229. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-type/index.mjs +219 -0
  230. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-universal/index.mjs +95 -0
  231. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-nested-pattern/index.mjs +95 -0
  232. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-no-qualifying-type/index.mjs +323 -0
  233. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-no-vendor-prefix/index.mjs +92 -0
  234. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-not-notation/index.mjs +217 -0
  235. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-class-allowed-list/index.mjs +84 -0
  236. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-class-disallowed-list/index.mjs +84 -0
  237. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-class-no-unknown/index.mjs +179 -0
  238. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-element-allowed-list/index.mjs +75 -0
  239. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-element-colon-notation/index.mjs +93 -0
  240. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-element-disallowed-list/index.mjs +74 -0
  241. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-element-no-unknown/index.mjs +91 -0
  242. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-type-case/index.mjs +118 -0
  243. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-type-no-unknown/index.mjs +148 -0
  244. package/packages/config-stylelint/node_modules/stylelint/lib/rules/shorthand-property-no-redundant-values/index.mjs +359 -0
  245. package/packages/config-stylelint/node_modules/stylelint/lib/rules/string-no-newline/index.mjs +120 -0
  246. package/packages/config-stylelint/node_modules/stylelint/lib/rules/syntax-string-no-invalid/index.mjs +80 -0
  247. package/packages/config-stylelint/node_modules/stylelint/lib/rules/time-min-milliseconds/index.mjs +167 -0
  248. package/packages/config-stylelint/node_modules/stylelint/lib/rules/unit-allowed-list/index.mjs +116 -0
  249. package/packages/config-stylelint/node_modules/stylelint/lib/rules/unit-disallowed-list/index.mjs +211 -0
  250. package/packages/config-stylelint/node_modules/stylelint/lib/rules/unit-no-unknown/index.mjs +207 -0
  251. package/packages/config-stylelint/node_modules/stylelint/lib/rules/value-keyword-case/index.mjs +253 -0
  252. package/packages/config-stylelint/node_modules/stylelint/lib/rules/value-no-vendor-prefix/index.mjs +92 -0
  253. package/packages/config-stylelint/node_modules/stylelint/lib/standalone.mjs +381 -0
  254. package/packages/config-stylelint/node_modules/stylelint/lib/timing.mjs +134 -0
  255. package/packages/config-stylelint/node_modules/stylelint/lib/unscopedDisables.mjs +66 -0
  256. package/packages/config-stylelint/node_modules/stylelint/lib/utils/FileCache.mjs +115 -0
  257. package/packages/config-stylelint/node_modules/stylelint/lib/utils/addEmptyLineBefore.mjs +21 -0
  258. package/packages/config-stylelint/node_modules/stylelint/lib/utils/addSemicolonForEditInfo.mjs +35 -0
  259. package/packages/config-stylelint/node_modules/stylelint/lib/utils/appendRuleName.mjs +13 -0
  260. package/packages/config-stylelint/node_modules/stylelint/lib/utils/arrayEqual.mjs +14 -0
  261. package/packages/config-stylelint/node_modules/stylelint/lib/utils/beforeBlockString.mjs +28 -0
  262. package/packages/config-stylelint/node_modules/stylelint/lib/utils/blockString.mjs +19 -0
  263. package/packages/config-stylelint/node_modules/stylelint/lib/utils/blurInterpolation.mjs +8 -0
  264. package/packages/config-stylelint/node_modules/stylelint/lib/utils/cachedImport.mjs +68 -0
  265. package/packages/config-stylelint/node_modules/stylelint/lib/utils/checkAgainstRule.mjs +71 -0
  266. package/packages/config-stylelint/node_modules/stylelint/lib/utils/checkInvalidCLIOptions.mjs +105 -0
  267. package/packages/config-stylelint/node_modules/stylelint/lib/utils/configurationComment.mjs +74 -0
  268. package/packages/config-stylelint/node_modules/stylelint/lib/utils/containsString.mjs +52 -0
  269. package/packages/config-stylelint/node_modules/stylelint/lib/utils/createMapWithSet.mjs +19 -0
  270. package/packages/config-stylelint/node_modules/stylelint/lib/utils/dynamicImport.mjs +13 -0
  271. package/packages/config-stylelint/node_modules/stylelint/lib/utils/eachDeclarationBlock.mjs +59 -0
  272. package/packages/config-stylelint/node_modules/stylelint/lib/utils/eachNodeUpToRoot.mjs +22 -0
  273. package/packages/config-stylelint/node_modules/stylelint/lib/utils/emitWarning.mjs +83 -0
  274. package/packages/config-stylelint/node_modules/stylelint/lib/utils/errors.mjs +55 -0
  275. package/packages/config-stylelint/node_modules/stylelint/lib/utils/filterFilePaths.mjs +17 -0
  276. package/packages/config-stylelint/node_modules/stylelint/lib/utils/findAnimationName.mjs +74 -0
  277. package/packages/config-stylelint/node_modules/stylelint/lib/utils/findAtRuleContext.mjs +27 -0
  278. package/packages/config-stylelint/node_modules/stylelint/lib/utils/findFontFamily.mjs +148 -0
  279. package/packages/config-stylelint/node_modules/stylelint/lib/utils/findMediaFeatureNames.mjs +151 -0
  280. package/packages/config-stylelint/node_modules/stylelint/lib/utils/findNodeUpToRoot.mjs +25 -0
  281. package/packages/config-stylelint/node_modules/stylelint/lib/utils/fixEmptyLinesBefore.mjs +26 -0
  282. package/packages/config-stylelint/node_modules/stylelint/lib/utils/functionArgumentsSearch.mjs +64 -0
  283. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getAtRuleParams.mjs +7 -0
  284. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getDeclarationValue.mjs +9 -0
  285. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getDimension.mjs +62 -0
  286. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getFileIgnorer.mjs +41 -0
  287. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getFormatter.mjs +43 -0
  288. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getFormatterOptionsText.mjs +12 -0
  289. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getImportantPosition.mjs +15 -0
  290. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getLexer.mjs +39 -0
  291. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getModulePath.mjs +35 -0
  292. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getNextNonSharedLineCommentNode.mjs +34 -0
  293. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getPreviousNonSharedLineCommentNode.mjs +36 -0
  294. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getRelativePath.mjs +12 -0
  295. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getRuleSelector.mjs +9 -0
  296. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getSchemeFromUrl.mjs +36 -0
  297. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getSelectorSourceIndex.mjs +12 -0
  298. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getStrippedSelectorSource.mjs +47 -0
  299. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getStylelintRule.mjs +22 -0
  300. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasBlock.mjs +9 -0
  301. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasEmptyLine.mjs +13 -0
  302. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasInterpolation.mjs +24 -0
  303. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasLessInterpolation.mjs +11 -0
  304. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasPsvInterpolation.mjs +11 -0
  305. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasScssInterpolation.mjs +11 -0
  306. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasTplInterpolation.mjs +11 -0
  307. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hash.mjs +10 -0
  308. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isAfterBlock.mjs +15 -0
  309. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isAfterComment.mjs +15 -0
  310. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isAfterSingleLineComment.mjs +19 -0
  311. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isAfterStandardPropertyDeclaration.mjs +19 -0
  312. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isAutoprefixable.mjs +364 -0
  313. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isBlocklessAtRuleAfterBlocklessAtRule.mjs +21 -0
  314. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isBlocklessAtRuleAfterSameNameBlocklessAtRule.mjs +21 -0
  315. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isContextFunctionalPseudoClass.mjs +24 -0
  316. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCounterIncrementCustomIdentValue.mjs +19 -0
  317. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCounterResetCustomIdentValue.mjs +19 -0
  318. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCustomElement.mjs +34 -0
  319. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCustomFunction.mjs +9 -0
  320. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCustomMediaQuery.mjs +8 -0
  321. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCustomProperty.mjs +8 -0
  322. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCustomSelector.mjs +9 -0
  323. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isDescriptorDeclaration.mjs +22 -0
  324. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isFirstNested.mjs +83 -0
  325. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isFirstNodeOfRoot.mjs +17 -0
  326. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isHexColor.mjs +9 -0
  327. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isInDocument.mjs +32 -0
  328. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isKeyframeRule.mjs +17 -0
  329. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isKeyframeSelector.mjs +29 -0
  330. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isMathFunction.mjs +11 -0
  331. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isNonNegativeInteger.mjs +6 -0
  332. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isNumbery.mjs +9 -0
  333. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isOnlyWhitespace.mjs +17 -0
  334. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isPathNotFoundError.mjs +9 -0
  335. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isScssVariable.mjs +19 -0
  336. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isSharedLineComment.mjs +53 -0
  337. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isSingleLineString.mjs +10 -0
  338. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxAtRule.mjs +32 -0
  339. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxColorFunction.mjs +24 -0
  340. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxCombinator.mjs +32 -0
  341. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxComment.mjs +13 -0
  342. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxDeclaration.mjs +57 -0
  343. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxFunction.mjs +28 -0
  344. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxHexColor.mjs +14 -0
  345. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxKeyframesName.mjs +15 -0
  346. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxProperty.mjs +32 -0
  347. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxRule.mjs +24 -0
  348. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxSelector.mjs +56 -0
  349. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxTypeSelector.mjs +56 -0
  350. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxUrl.mjs +49 -0
  351. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxValue.mjs +51 -0
  352. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isUnicodeRangeDescriptor.mjs +24 -0
  353. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isUnicodeSupported.mjs +26 -0
  354. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isUrlFunction.mjs +9 -0
  355. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isValidFontSize.mjs +38 -0
  356. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isValidHex.mjs +11 -0
  357. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isValidIdentifier.mjs +39 -0
  358. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isVarFunction.mjs +9 -0
  359. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isVariable.mjs +9 -0
  360. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isWhitespace.mjs +9 -0
  361. package/packages/config-stylelint/node_modules/stylelint/lib/utils/matchesStringOrRegExp.mjs +97 -0
  362. package/packages/config-stylelint/node_modules/stylelint/lib/utils/mergeSyntaxDefinitions.mjs +137 -0
  363. package/packages/config-stylelint/node_modules/stylelint/lib/utils/narrowFixRange.mjs +68 -0
  364. package/packages/config-stylelint/node_modules/stylelint/lib/utils/nodeContextLookup.mjs +41 -0
  365. package/packages/config-stylelint/node_modules/stylelint/lib/utils/nodeFieldIndices.mjs +119 -0
  366. package/packages/config-stylelint/node_modules/stylelint/lib/utils/normalizeFilePath.mjs +26 -0
  367. package/packages/config-stylelint/node_modules/stylelint/lib/utils/normalizeFixMode.mjs +22 -0
  368. package/packages/config-stylelint/node_modules/stylelint/lib/utils/normalizeSelector.mjs +166 -0
  369. package/packages/config-stylelint/node_modules/stylelint/lib/utils/optionsMatches.mjs +20 -0
  370. package/packages/config-stylelint/node_modules/stylelint/lib/utils/parseCustomMediaQuery.mjs +15 -0
  371. package/packages/config-stylelint/node_modules/stylelint/lib/utils/parseMediaQuery.mjs +15 -0
  372. package/packages/config-stylelint/node_modules/stylelint/lib/utils/parseSelector.mjs +19 -0
  373. package/packages/config-stylelint/node_modules/stylelint/lib/utils/pathExists.mjs +16 -0
  374. package/packages/config-stylelint/node_modules/stylelint/lib/utils/pluralize.mjs +10 -0
  375. package/packages/config-stylelint/node_modules/stylelint/lib/utils/putIfAbsent.mjs +20 -0
  376. package/packages/config-stylelint/node_modules/stylelint/lib/utils/rangesOverlap.mjs +19 -0
  377. package/packages/config-stylelint/node_modules/stylelint/lib/utils/rawNodeString.mjs +29 -0
  378. package/packages/config-stylelint/node_modules/stylelint/lib/utils/regexes.mjs +135 -0
  379. package/packages/config-stylelint/node_modules/stylelint/lib/utils/removeEmptyLinesBefore.mjs +13 -0
  380. package/packages/config-stylelint/node_modules/stylelint/lib/utils/report.mjs +321 -0
  381. package/packages/config-stylelint/node_modules/stylelint/lib/utils/reportCommentProblem.mjs +39 -0
  382. package/packages/config-stylelint/node_modules/stylelint/lib/utils/resolveFilePath.mjs +38 -0
  383. package/packages/config-stylelint/node_modules/stylelint/lib/utils/resolveNestedSelectorsForRule.mjs +108 -0
  384. package/packages/config-stylelint/node_modules/stylelint/lib/utils/resolveOptionValue.mjs +30 -0
  385. package/packages/config-stylelint/node_modules/stylelint/lib/utils/resolveSilent.mjs +144 -0
  386. package/packages/config-stylelint/node_modules/stylelint/lib/utils/ruleMessages.mjs +18 -0
  387. package/packages/config-stylelint/node_modules/stylelint/lib/utils/setAtRuleParams.mjs +18 -0
  388. package/packages/config-stylelint/node_modules/stylelint/lib/utils/setDeclarationValue.mjs +18 -0
  389. package/packages/config-stylelint/node_modules/stylelint/lib/utils/suppressionsService.mjs +317 -0
  390. package/packages/config-stylelint/node_modules/stylelint/lib/utils/toPath.mjs +23 -0
  391. package/packages/config-stylelint/node_modules/stylelint/lib/utils/typeGuards.mjs +90 -0
  392. package/packages/config-stylelint/node_modules/stylelint/lib/utils/uniteSets.mjs +9 -0
  393. package/packages/config-stylelint/node_modules/stylelint/lib/utils/validateObjectWithArrayProps.mjs +29 -0
  394. package/packages/config-stylelint/node_modules/stylelint/lib/utils/validateObjectWithProps.mjs +28 -0
  395. package/packages/config-stylelint/node_modules/stylelint/lib/utils/validateOptions.mjs +176 -0
  396. package/packages/config-stylelint/node_modules/stylelint/lib/utils/validateTypes.mjs +148 -0
  397. package/packages/config-stylelint/node_modules/stylelint/lib/utils/vendor.mjs +43 -0
  398. package/packages/config-stylelint/node_modules/stylelint/lib/validateDisableSettings.mjs +67 -0
  399. package/packages/config-stylelint/node_modules/stylelint/lib/writeOutputFile.mjs +15 -0
  400. package/packages/config-stylelint/node_modules/stylelint/package.json +212 -0
  401. package/packages/config-stylelint/node_modules/stylelint/types/stylelint/index.d.ts +1590 -0
  402. package/packages/config-stylelint/node_modules/unicorn-magic/default.d.ts +13 -0
  403. package/packages/config-stylelint/node_modules/unicorn-magic/default.js +14 -0
  404. package/packages/config-stylelint/node_modules/unicorn-magic/license +9 -0
  405. package/packages/config-stylelint/node_modules/unicorn-magic/node.d.ts +125 -0
  406. package/packages/config-stylelint/node_modules/unicorn-magic/node.js +49 -0
  407. package/packages/config-stylelint/node_modules/unicorn-magic/package.json +68 -0
  408. package/packages/config-stylelint/node_modules/unicorn-magic/readme.md +31 -0
  409. package/packages/config-stylelint/package.json +2 -2
@@ -0,0 +1,35 @@
1
+ /** @import { Node as PostcssNode } from 'postcss' */
2
+ import { isAtRule } from './typeGuards.mjs';
3
+
4
+ /**
5
+ * Adjust the text in EditInfo to include a semicolon when needed.
6
+ *
7
+ * @param {PostcssNode} node
8
+ * @param {{range: [number, number], text: string}} fixData
9
+ * @returns {{range: [number, number], text: string}}
10
+ */
11
+ export default function addSemicolonForEditInfo(node, fixData) {
12
+ const { parent } = node;
13
+
14
+ if (!parent) return fixData;
15
+
16
+ if (node.type === 'decl') {
17
+ if (parent.raws.semicolon || parent.last !== node) {
18
+ return {
19
+ ...fixData,
20
+ text: `${fixData.text};`,
21
+ };
22
+ }
23
+ }
24
+
25
+ if (isAtRule(node)) {
26
+ if (!node.nodes && (parent.raws.semicolon || parent.last !== node)) {
27
+ return {
28
+ ...fixData,
29
+ text: `${fixData.text};`,
30
+ };
31
+ }
32
+ }
33
+
34
+ return fixData;
35
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Ensures the given rule name is appended to the provided string.
3
+ *
4
+ * If the string does not already end with the rule name in parentheses, the rule name is appended in parentheses.
5
+ *
6
+ * @param {string} string - The message to which the rule name may be appended
7
+ * @param {string} ruleName - The rule name to append
8
+ *
9
+ * @returns {string} The provided string with the given rule name appended
10
+ */
11
+ export default function appendRuleName(string, ruleName) {
12
+ return !string.endsWith(`(${ruleName})`) ? `${string} (${ruleName})` : string;
13
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Tests if two arrays are equal.
3
+ *
4
+ * @param {unknown} a
5
+ * @param {unknown} b
6
+ * @returns {boolean}
7
+ */
8
+ export default function arrayEqual(a, b) {
9
+ if (!Array.isArray(a) || !Array.isArray(b)) return false;
10
+
11
+ if (a.length !== b.length) return false;
12
+
13
+ return a.every((elem, index) => elem === b[index]);
14
+ }
@@ -0,0 +1,28 @@
1
+ import { isAtRule, isRule } from './typeGuards.mjs';
2
+
3
+ /**
4
+ * @param {import('postcss').Container} statement
5
+ * @param {{ noRawBefore: boolean }} options
6
+ * @returns {string}
7
+ */
8
+ export default function beforeBlockString(statement, { noRawBefore } = { noRawBefore: false }) {
9
+ let result = '';
10
+
11
+ const before = statement.raws.before || '';
12
+
13
+ if (!noRawBefore) {
14
+ result += before;
15
+ }
16
+
17
+ if (isRule(statement)) {
18
+ result += statement.selector;
19
+ } else if (isAtRule(statement)) {
20
+ result += `@${statement.name}${statement.raws.afterName || ''}${statement.params}`;
21
+ } else {
22
+ return '';
23
+ }
24
+
25
+ result += statement.raws.between || '';
26
+
27
+ return result;
28
+ }
@@ -0,0 +1,19 @@
1
+ import beforeBlockString from './beforeBlockString.mjs';
2
+ import hasBlock from './hasBlock.mjs';
3
+ import rawNodeString from './rawNodeString.mjs';
4
+
5
+ /**
6
+ * Return a CSS statement's block -- the string that starts and `{` and ends with `}`.
7
+ *
8
+ * If the statement has no block (e.g. `@import url(foo.css);`), returns an empty string.
9
+ *
10
+ * @param {import('postcss').Container} statement
11
+ * @returns {string}
12
+ */
13
+ export default function blockString(statement) {
14
+ if (!hasBlock(statement)) {
15
+ return '';
16
+ }
17
+
18
+ return rawNodeString(statement).slice(beforeBlockString(statement).length);
19
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @param {string} source
3
+ * @param {string} [blurChar]
4
+ * @returns {string}
5
+ */
6
+ export default function blurInterpolation(source, blurChar = ' ') {
7
+ return source.replace(/[#@{}]+/g, blurChar);
8
+ }
@@ -0,0 +1,68 @@
1
+ import dynamicImport from './dynamicImport.mjs';
2
+
3
+ /** Maximum number of modules to cache to prevent unbounded memory growth. */
4
+ const MAX_CACHE_SIZE = 1000;
5
+
6
+ /** Time-to-live in milliseconds. Exported for tests. */
7
+ export const TTL_MS = 30 * 60 * 1000;
8
+
9
+ /**
10
+ * @typedef {Object} CacheEntry
11
+ * @property {Promise<any>} promise
12
+ * @property {number} timestamp
13
+ */
14
+
15
+ /** @type {Map<string, CacheEntry>} */
16
+ const moduleCache = new Map();
17
+
18
+ /**
19
+ * Cached dynamic import - stores the Promise to avoid repeated resolution.
20
+ *
21
+ * While Node.js caches ES modules, we can avoid repeated async overhead by
22
+ * caching the Promise itself.
23
+ *
24
+ * @param {string} modulePath
25
+ * @returns {Promise<any>}
26
+ */
27
+ export default function cachedImport(modulePath) {
28
+ const cached = moduleCache.get(modulePath);
29
+
30
+ if (cached) {
31
+ // Check if entry has expired.
32
+ if (Date.now() - cached.timestamp > TTL_MS) {
33
+ moduleCache.delete(modulePath);
34
+ } else {
35
+ return cached.promise;
36
+ }
37
+ }
38
+
39
+ const importPromise = dynamicImport(modulePath).catch((error) => {
40
+ // Remove failed imports from cache so they can be retried.
41
+ moduleCache.delete(modulePath);
42
+ throw error;
43
+ });
44
+
45
+ // Evict oldest entry if cache is full.
46
+ if (moduleCache.size >= MAX_CACHE_SIZE) {
47
+ const oldestKey = moduleCache.keys().next().value;
48
+
49
+ if (oldestKey) {
50
+ moduleCache.delete(oldestKey);
51
+ }
52
+ }
53
+
54
+ moduleCache.set(modulePath, {
55
+ promise: importPromise,
56
+ timestamp: Date.now(),
57
+ });
58
+
59
+ return importPromise;
60
+ }
61
+
62
+ /**
63
+ * Clear the module cache. Useful for testing or when modules need to be
64
+ * reloaded.
65
+ */
66
+ export function clearModuleCache() {
67
+ moduleCache.clear();
68
+ }
@@ -0,0 +1,71 @@
1
+ import Result from 'postcss/lib/result';
2
+
3
+ import getLexer from './getLexer.mjs';
4
+ import getStylelintRule from './getStylelintRule.mjs';
5
+ import { isPlainObject } from './validateTypes.mjs';
6
+ import normalizeRuleSettings from '../normalizeRuleSettings.mjs';
7
+
8
+ /**
9
+ * @type {import('stylelint').Utils['checkAgainstRule']}
10
+ */
11
+ export default async function checkAgainstRule(options, callback) {
12
+ if (!isPlainObject(options)) throw new Error('Expected an options object');
13
+
14
+ if (!callback) throw new Error('Expected a callback function');
15
+
16
+ const { ruleName, ruleSettings, root, result, context = {} } = options;
17
+
18
+ if (!ruleName) throw new Error('Expected a "ruleName" option');
19
+
20
+ const rule = await getStylelintRule(ruleName, result?.stylelint?.config);
21
+
22
+ if (!rule) throw new Error(`Rule "${ruleName}" does not exist`);
23
+
24
+ if (!ruleSettings) throw new Error('Expected a "ruleSettings" option');
25
+
26
+ if (!root) throw new Error('Expected a "root" option');
27
+
28
+ const settings = normalizeRuleSettings(ruleSettings, rule);
29
+
30
+ if (!settings) {
31
+ return;
32
+ }
33
+
34
+ const tmpPostcssResult = new Result(
35
+ // NOTE: The first argument is unused, so passing `undefined` raises no problems.
36
+ // But this PostCSS's behavior may change in the future.
37
+ // @ts-expect-error -- TS2345: Argument of type 'undefined' is not assignable to parameter of type 'Processor'.
38
+ undefined,
39
+ undefined,
40
+ undefined,
41
+ );
42
+
43
+ /** @type {import('stylelint').StylelintPostcssResult} */
44
+ const stylelint = result?.stylelint ?? {
45
+ ruleSeverities: {},
46
+ customMessages: {},
47
+ customUrls: {},
48
+ ruleMetadata: {},
49
+ fixersData: {},
50
+ rangesOfComputedEditInfos: [],
51
+ disabledRanges: {},
52
+ lexer: getLexer({}),
53
+ };
54
+
55
+ // @ts-expect-error -- TS2339: Property 'stylelint' does not exist on type 'Result<undefined>'.
56
+ tmpPostcssResult.stylelint = stylelint;
57
+
58
+ const [primary, secondary] = settings;
59
+ const ruleFunc = rule(primary, secondary || {}, context);
60
+
61
+ await ruleFunc(
62
+ root,
63
+
64
+ // NOTE: This temporary PostCSS result doesn't have a property for Stylelint use.
65
+ // Problems may occur if some rules use the property.
66
+ // @ts-expect-error -- TS2345: Argument of type 'Result' is not assignable to parameter of type 'PostcssResult'.
67
+ tmpPostcssResult,
68
+ );
69
+
70
+ for (const warning of tmpPostcssResult.warnings()) callback(warning);
71
+ }
@@ -0,0 +1,105 @@
1
+ import { EOL } from 'node:os';
2
+
3
+ import { distance } from 'fastest-levenshtein';
4
+ import picocolors from 'picocolors';
5
+
6
+ const { cyan, red } = picocolors;
7
+
8
+ /**
9
+ * @param {{ [key: string]: { alias?: string } }} allowedOptions
10
+ * @returns {string[]}
11
+ */
12
+ const buildAllowedOptions = (allowedOptions) => {
13
+ const options = Object.keys(allowedOptions);
14
+
15
+ for (const { alias } of Object.values(allowedOptions)) {
16
+ if (alias) {
17
+ options.push(alias);
18
+ }
19
+ }
20
+
21
+ options.sort();
22
+
23
+ return options;
24
+ };
25
+
26
+ /**
27
+ * @param {string[]} all
28
+ * @param {string} invalid
29
+ * @returns {null|string}
30
+ */
31
+ const suggest = (all, invalid) => {
32
+ const maxThreshold = 10;
33
+
34
+ for (let threshold = 1; threshold <= maxThreshold; threshold++) {
35
+ const suggestion = all.find((option) => distance(option, invalid) <= threshold);
36
+
37
+ if (suggestion) {
38
+ return suggestion;
39
+ }
40
+ }
41
+
42
+ return null;
43
+ };
44
+
45
+ /**
46
+ * Converts a string to kebab case.
47
+ * For example, `kebabCase('oneTwoThree') === 'one-two-three'`.
48
+ * @param {string} opt
49
+ * @returns {string}
50
+ */
51
+ const kebabCase = (opt) => {
52
+ const matches = opt.match(/[A-Z]?[a-z]+|[A-Z]|[0-9]+/g);
53
+
54
+ if (matches) {
55
+ return matches.map((s) => s.toLowerCase()).join('-');
56
+ }
57
+
58
+ return '';
59
+ };
60
+
61
+ /**
62
+ * @param {string} opt
63
+ * @returns {string}
64
+ */
65
+ const cliOption = (opt) => {
66
+ if (opt.length === 1) {
67
+ return `"-${opt}"`;
68
+ }
69
+
70
+ return `"--${kebabCase(opt)}"`;
71
+ };
72
+
73
+ /**
74
+ * @param {string} invalid
75
+ * @param {string|null} suggestion
76
+ * @returns {string}
77
+ */
78
+ const buildMessageLine = (invalid, suggestion) => {
79
+ let line = `Invalid option ${red(cliOption(invalid))}.`;
80
+
81
+ if (suggestion) {
82
+ line += ` Did you mean ${cyan(cliOption(suggestion))}?`;
83
+ }
84
+
85
+ return line + EOL;
86
+ };
87
+
88
+ /**
89
+ * @param {{ [key: string]: any }} allowedOptions
90
+ * @param {{ [key: string]: any }} inputOptions
91
+ * @returns {string}
92
+ */
93
+ export default function checkInvalidCLIOptions(allowedOptions, inputOptions) {
94
+ const allOptions = buildAllowedOptions(allowedOptions);
95
+
96
+ return Object.keys(inputOptions)
97
+ .filter((opt) => !allOptions.includes(opt))
98
+ .map((opt) => kebabCase(opt))
99
+ .reduce((msg, invalid) => {
100
+ // NOTE: No suggestion for shortcut options because it's too difficult
101
+ const suggestion = invalid.length >= 2 ? suggest(allOptions, invalid) : null;
102
+
103
+ return msg + buildMessageLine(invalid, suggestion);
104
+ }, '');
105
+ }
@@ -0,0 +1,74 @@
1
+ import { assertString, isString } from './validateTypes.mjs';
2
+ import { isComment } from './typeGuards.mjs';
3
+
4
+ export const DISABLE_COMMAND = '-disable';
5
+ export const DISABLE_LINE_COMMAND = '-disable-line';
6
+ export const DISABLE_NEXT_LINE_COMMAND = '-disable-next-line';
7
+ export const ENABLE_COMMAND = '-enable';
8
+
9
+ const ALL_COMMANDS = new Set([
10
+ DISABLE_COMMAND,
11
+ DISABLE_LINE_COMMAND,
12
+ DISABLE_NEXT_LINE_COMMAND,
13
+ ENABLE_COMMAND,
14
+ ]);
15
+
16
+ export const DEFAULT_CONFIGURATION_COMMENT = 'stylelint';
17
+
18
+ /**
19
+ * Extract a command from a given comment.
20
+ *
21
+ * @param {string} commentText
22
+ * @param {string} [configurationComment]
23
+ * @returns {string}
24
+ */
25
+ export function extractConfigurationComment(
26
+ commentText,
27
+ configurationComment = DEFAULT_CONFIGURATION_COMMENT,
28
+ ) {
29
+ if (!commentText) return commentText;
30
+
31
+ const [command] = commentText.split(/\s/, 1);
32
+
33
+ assertString(command);
34
+
35
+ return command.replace(configurationComment, '');
36
+ }
37
+
38
+ /**
39
+ * Tests if the given comment is a Stylelint command.
40
+ *
41
+ * @param {string | import('postcss').Node} textOrNode
42
+ * @param {string} [configurationComment]
43
+ * @returns {boolean}
44
+ */
45
+ export function isConfigurationComment(
46
+ textOrNode,
47
+ configurationComment = DEFAULT_CONFIGURATION_COMMENT,
48
+ ) {
49
+ const commentText = isString(textOrNode)
50
+ ? textOrNode
51
+ : isComment(textOrNode)
52
+ ? textOrNode.text
53
+ : undefined;
54
+
55
+ if (!commentText) return false;
56
+
57
+ const command = extractConfigurationComment(commentText, configurationComment);
58
+
59
+ return command !== undefined && ALL_COMMANDS.has(command);
60
+ }
61
+
62
+ /**
63
+ * Get full stylelint command
64
+ *
65
+ * @param {string} command
66
+ * @param {string} [configurationComment]
67
+ * @returns {string}
68
+ */
69
+ export function getConfigurationComment(
70
+ command,
71
+ configurationComment = DEFAULT_CONFIGURATION_COMMENT,
72
+ ) {
73
+ return `${configurationComment}${command}`;
74
+ }
@@ -0,0 +1,52 @@
1
+ import { isString } from './validateTypes.mjs';
2
+
3
+ /** @typedef {false | { match: string, pattern: string, substring: string }} ReturnValue */
4
+
5
+ /**
6
+ * Checks if a string contains a value. The comparison value can be a string or
7
+ * an array of strings.
8
+ *
9
+ * Any strings starting and ending with `/` are ignored. Use the
10
+ * matchesStringOrRegExp() util to match regexes.
11
+ *
12
+ * @template {unknown} T
13
+ * @param {string} input
14
+ * @param {T | T[]} comparison
15
+ * @returns {ReturnValue}
16
+ */
17
+ export default function containsString(input, comparison) {
18
+ if (!Array.isArray(comparison)) {
19
+ return testAgainstString(input, comparison);
20
+ }
21
+
22
+ for (const comparisonItem of comparison) {
23
+ const testResult = testAgainstString(input, comparisonItem);
24
+
25
+ if (testResult) {
26
+ return testResult;
27
+ }
28
+ }
29
+
30
+ return false;
31
+ }
32
+
33
+ /**
34
+ * @param {string} value
35
+ * @param {unknown} comparison
36
+ * @returns {ReturnValue}
37
+ */
38
+ function testAgainstString(value, comparison) {
39
+ if (!comparison) return false;
40
+
41
+ if (!isString(comparison)) return false;
42
+
43
+ if (comparison.startsWith('/') && comparison.endsWith('/')) {
44
+ return false;
45
+ }
46
+
47
+ if (value.includes(comparison)) {
48
+ return { match: value, pattern: comparison, substring: comparison };
49
+ }
50
+
51
+ return false;
52
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Create a map with unique sets of values from a record.
3
+ *
4
+ * @template T
5
+ * @param {Record<string, T | T[]>} record
6
+ * @returns {Map<string, Set<T>>}
7
+ */
8
+ export default function createMapWithSet(record) {
9
+ /** @type {Map<string, Set<T>>} */
10
+ const map = new Map();
11
+
12
+ for (const [key, value] of Object.entries(record)) {
13
+ const list = Array.isArray(value) ? value : [value];
14
+
15
+ map.set(key, new Set(list));
16
+ }
17
+
18
+ return map;
19
+ }
@@ -0,0 +1,13 @@
1
+ import { isAbsolute } from 'node:path';
2
+ import { pathToFileURL } from 'node:url';
3
+
4
+ /**
5
+ * Dynamic import wrapper for compatibility with absolute paths on Windows
6
+ *
7
+ * @see https://github.com/stylelint/stylelint/issues/7382
8
+ *
9
+ * @param {string} path
10
+ */
11
+ export default function dynamicImport(path) {
12
+ return import(isAbsolute(path) ? pathToFileURL(path).toString() : path);
13
+ }
@@ -0,0 +1,59 @@
1
+ import { isAtRule, isRoot, isRule } from './typeGuards.mjs';
2
+
3
+ /** @typedef {import('postcss').Root} Root */
4
+ /** @typedef {import('postcss').Root} Document */
5
+ /** @typedef {import('postcss').Node} PostcssNode */
6
+ /** @typedef {import('postcss').Container} PostcssContainerNode */
7
+ /** @typedef {import('postcss').Declaration} Declaration */
8
+ /** @typedef {(callbackFn: (decl: Declaration, index: number, decls: Declaration[]) => void) => void} EachDeclaration */
9
+
10
+ /**
11
+ * @param {PostcssNode} node
12
+ * @returns {node is PostcssContainerNode}
13
+ */
14
+ function isContainerNode(node) {
15
+ return isRule(node) || isAtRule(node) || isRoot(node);
16
+ }
17
+
18
+ /**
19
+ * In order to accommodate nested blocks (postcss-nested),
20
+ * we need to run a shallow loop (instead of eachDecl() or eachRule(),
21
+ * which loop recursively) and allow each nested block to accumulate
22
+ * its own list of properties -- so that a property in a nested rule
23
+ * does not conflict with the same property in the parent rule
24
+ * executes a provided function once for each declaration block.
25
+ *
26
+ * @param {Root | Document} root - root element of file.
27
+ * @param {(eachDecl: EachDeclaration) => void} callback - Function to execute for each declaration block
28
+ *
29
+ * @returns {void}
30
+ */
31
+ export default function eachDeclarationBlock(root, callback) {
32
+ /**
33
+ * @param {PostcssNode} statement
34
+ *
35
+ * @returns {void}
36
+ */
37
+ function each(statement) {
38
+ if (!isContainerNode(statement)) return;
39
+
40
+ if (statement.nodes && statement.nodes.length) {
41
+ /** @type {Declaration[]} */
42
+ const decls = [];
43
+
44
+ for (const node of statement.nodes) {
45
+ if (node.type === 'decl') {
46
+ decls.push(node);
47
+ }
48
+
49
+ each(node);
50
+ }
51
+
52
+ if (decls.length) {
53
+ callback(decls.forEach.bind(decls));
54
+ }
55
+ }
56
+ }
57
+
58
+ each(root);
59
+ }
@@ -0,0 +1,22 @@
1
+ import { isRoot } from './typeGuards.mjs';
2
+
3
+ /** @import { Node } from 'postcss' */
4
+
5
+ export const STOP = 'STOP';
6
+
7
+ /**
8
+ * Iterates over each node up to the root node.
9
+ *
10
+ * @param {Node} node
11
+ * @param {(node: Node) => void | STOP} callback
12
+ * @returns {void}
13
+ */
14
+ export default function eachNodeUpToRoot(node, callback) {
15
+ let currentNode = node.parent;
16
+
17
+ while (currentNode && !isRoot(currentNode)) {
18
+ if (callback(currentNode) === STOP) break;
19
+
20
+ currentNode = currentNode.parent;
21
+ }
22
+ }
@@ -0,0 +1,83 @@
1
+ import process from 'node:process';
2
+
3
+ // Each code must be unique across all warning types.
4
+ const DEPRECATION_CODES = {
5
+ // COMMONJS_PLUGINS: '001', // Can be used in Node.js 20.19+
6
+ // COMMONJS_NODEJS_API: '002', // Can be used in Node.js 20.19+
7
+ // RESULT_OUTPUT_PROPERTY: '003', // Removed in 17.0.0
8
+ // GITHUB_FORMATTER: '004', // Removed in 17.0.0
9
+ CONTEXT_FIX: '005',
10
+ RULE: '006', // either removal or renaming
11
+ // REPORT_AMBIGUOUS_POSITION: '007', // Removed in 17.0.0
12
+ };
13
+
14
+ const EXPERIMENTAL_CODES = {
15
+ SUPPRESSIONS: '101',
16
+ };
17
+
18
+ const emittedWarnings = new Set();
19
+
20
+ /**
21
+ * @typedef {DEPRECATION_CODES[keyof DEPRECATION_CODES] |
22
+ * EXPERIMENTAL_CODES[keyof EXPERIMENTAL_CODES]} WarningCode
23
+ */
24
+
25
+ /**
26
+ * Emit a warning with the specified type.
27
+ *
28
+ * @param {string} message
29
+ * @param {'DeprecationWarning' | 'ExperimentalWarning'} type - See https://nodejs.org/api/process.html#nodejs-warning-names
30
+ * @param {WarningCode} code
31
+ * @param {string} detail
32
+ * @returns {void}
33
+ */
34
+ function emitWarning(message, type, code, detail) {
35
+ const key = JSON.stringify({
36
+ message,
37
+ options: { type, code: `stylelint:${code}`, detail },
38
+ });
39
+
40
+ if (emittedWarnings.has(key)) return;
41
+
42
+ emittedWarnings.add(key);
43
+
44
+ process.emitWarning(message, { type, code: `stylelint:${code}`, detail });
45
+ }
46
+
47
+ /**
48
+ * Use this function for deprecation warnings, instead of `process.emitWarning()`.
49
+ *
50
+ * @param {string} message
51
+ * @param {keyof DEPRECATION_CODES} codeKey
52
+ * @param {string} detail
53
+ * @returns {void}
54
+ */
55
+ export function emitDeprecationWarning(message, codeKey, detail) {
56
+ emitWarning(message, 'DeprecationWarning', DEPRECATION_CODES[codeKey], detail);
57
+ }
58
+
59
+ /**
60
+ * Use this function for experimental warnings, instead of `process.emitWarning()`.
61
+ *
62
+ * @param {string} message
63
+ * @param {keyof EXPERIMENTAL_CODES} codeKey
64
+ * @param {string} detail
65
+ * @returns {void}
66
+ */
67
+ export function emitExperimentalWarning(message, codeKey, detail) {
68
+ emitWarning(message, 'ExperimentalWarning', EXPERIMENTAL_CODES[codeKey], detail);
69
+ }
70
+
71
+ /**
72
+ * Clear the already emitted warnings.
73
+ * Only useful in tests.
74
+ *
75
+ * @private
76
+ */
77
+ export function clearEmittedWarnings() {
78
+ if (process.env.NODE_ENV !== 'test') {
79
+ throw new Error('This function can only be called in test environments!');
80
+ }
81
+
82
+ emittedWarnings.clear();
83
+ }