@alexlit/lint-kit 183.4.0 → 183.6.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 (410) hide show
  1. package/package.json +1 -1
  2. package/packages/config-eslint/package.json +4 -4
  3. package/packages/config-stylelint/node_modules/ansi-regex/index.d.ts +33 -0
  4. package/packages/config-stylelint/node_modules/ansi-regex/index.js +14 -0
  5. package/packages/config-stylelint/node_modules/ansi-regex/license +9 -0
  6. package/packages/config-stylelint/node_modules/ansi-regex/package.json +61 -0
  7. package/packages/config-stylelint/node_modules/ansi-regex/readme.md +66 -0
  8. package/packages/config-stylelint/node_modules/file-entry-cache/LICENSE +19 -0
  9. package/packages/config-stylelint/node_modules/file-entry-cache/README.md +630 -0
  10. package/packages/config-stylelint/node_modules/file-entry-cache/dist/index.cjs +559 -0
  11. package/packages/config-stylelint/node_modules/file-entry-cache/dist/index.d.cts +304 -0
  12. package/packages/config-stylelint/node_modules/file-entry-cache/dist/index.d.ts +304 -0
  13. package/packages/config-stylelint/node_modules/file-entry-cache/dist/index.js +525 -0
  14. package/packages/config-stylelint/node_modules/file-entry-cache/package.json +62 -0
  15. package/packages/config-stylelint/node_modules/flat-cache/LICENSE +19 -0
  16. package/packages/config-stylelint/node_modules/flat-cache/README.md +235 -0
  17. package/packages/config-stylelint/node_modules/flat-cache/dist/index.cjs +495 -0
  18. package/packages/config-stylelint/node_modules/flat-cache/dist/index.d.cts +255 -0
  19. package/packages/config-stylelint/node_modules/flat-cache/dist/index.d.ts +255 -0
  20. package/packages/config-stylelint/node_modules/flat-cache/dist/index.js +455 -0
  21. package/packages/config-stylelint/node_modules/flat-cache/package.json +81 -0
  22. package/packages/config-stylelint/node_modules/globby/ignore.js +337 -0
  23. package/packages/config-stylelint/node_modules/globby/index.d.ts +394 -0
  24. package/packages/config-stylelint/node_modules/globby/index.js +488 -0
  25. package/packages/config-stylelint/node_modules/globby/license +9 -0
  26. package/packages/config-stylelint/node_modules/globby/package.json +94 -0
  27. package/packages/config-stylelint/node_modules/globby/readme.md +388 -0
  28. package/packages/config-stylelint/node_modules/globby/utilities.js +382 -0
  29. package/packages/config-stylelint/node_modules/meow/build/dependencies.js +7347 -0
  30. package/packages/config-stylelint/node_modules/meow/build/index.d.ts +2684 -0
  31. package/packages/config-stylelint/node_modules/meow/build/index.js +185 -0
  32. package/packages/config-stylelint/node_modules/meow/build/licenses.md +1254 -0
  33. package/packages/config-stylelint/node_modules/meow/build/options.js +147 -0
  34. package/packages/config-stylelint/node_modules/meow/build/parser.js +113 -0
  35. package/packages/config-stylelint/node_modules/meow/build/utils.js +7 -0
  36. package/packages/config-stylelint/node_modules/meow/build/validate.js +145 -0
  37. package/packages/config-stylelint/node_modules/meow/license +9 -0
  38. package/packages/config-stylelint/node_modules/meow/package.json +103 -0
  39. package/packages/config-stylelint/node_modules/meow/readme.md +387 -0
  40. package/packages/config-stylelint/node_modules/postcss-safe-parser/LICENSE +20 -0
  41. package/packages/config-stylelint/node_modules/postcss-safe-parser/README.md +25 -0
  42. package/packages/config-stylelint/node_modules/postcss-safe-parser/lib/safe-parse.js +12 -0
  43. package/packages/config-stylelint/node_modules/postcss-safe-parser/lib/safe-parser.js +100 -0
  44. package/packages/config-stylelint/node_modules/postcss-safe-parser/package.json +36 -0
  45. package/packages/config-stylelint/node_modules/slash/index.d.ts +23 -0
  46. package/packages/config-stylelint/node_modules/slash/index.js +9 -0
  47. package/packages/config-stylelint/node_modules/slash/license +9 -0
  48. package/packages/config-stylelint/node_modules/slash/package.json +39 -0
  49. package/packages/config-stylelint/node_modules/slash/readme.md +36 -0
  50. package/packages/config-stylelint/node_modules/string-width/index.d.ts +39 -0
  51. package/packages/config-stylelint/node_modules/string-width/index.js +119 -0
  52. package/packages/config-stylelint/node_modules/string-width/license +9 -0
  53. package/packages/config-stylelint/node_modules/string-width/package.json +65 -0
  54. package/packages/config-stylelint/node_modules/string-width/readme.md +66 -0
  55. package/packages/config-stylelint/node_modules/strip-ansi/index.d.ts +15 -0
  56. package/packages/config-stylelint/node_modules/strip-ansi/index.js +19 -0
  57. package/packages/config-stylelint/node_modules/strip-ansi/license +9 -0
  58. package/packages/config-stylelint/node_modules/strip-ansi/package.json +59 -0
  59. package/packages/config-stylelint/node_modules/strip-ansi/readme.md +37 -0
  60. package/packages/config-stylelint/node_modules/stylelint/LICENSE +20 -0
  61. package/packages/config-stylelint/node_modules/stylelint/README.md +113 -0
  62. package/packages/config-stylelint/node_modules/stylelint/bin/stylelint.mjs +7 -0
  63. package/packages/config-stylelint/node_modules/stylelint/lib/assignDisabledRanges.mjs +483 -0
  64. package/packages/config-stylelint/node_modules/stylelint/lib/augmentConfig.mjs +586 -0
  65. package/packages/config-stylelint/node_modules/stylelint/lib/cli.mjs +746 -0
  66. package/packages/config-stylelint/node_modules/stylelint/lib/constants.mjs +25 -0
  67. package/packages/config-stylelint/node_modules/stylelint/lib/createPartialStylelintResult.mjs +114 -0
  68. package/packages/config-stylelint/node_modules/stylelint/lib/createPlugin.mjs +9 -0
  69. package/packages/config-stylelint/node_modules/stylelint/lib/createStylelint.mjs +37 -0
  70. package/packages/config-stylelint/node_modules/stylelint/lib/descriptionlessDisables.mjs +51 -0
  71. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/calcSeverityCounts.mjs +21 -0
  72. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/compactFormatter.mjs +23 -0
  73. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/index.mjs +23 -0
  74. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/jsonFormatter.mjs +10 -0
  75. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/preprocessWarnings.mjs +74 -0
  76. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/stringFormatter.mjs +308 -0
  77. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/tapFormatter.mjs +85 -0
  78. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/terminalLink.mjs +21 -0
  79. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/unixFormatter.mjs +32 -0
  80. package/packages/config-stylelint/node_modules/stylelint/lib/formatters/verboseFormatter.mjs +175 -0
  81. package/packages/config-stylelint/node_modules/stylelint/lib/getConfigForFile.mjs +110 -0
  82. package/packages/config-stylelint/node_modules/stylelint/lib/getPostcssResult.mjs +131 -0
  83. package/packages/config-stylelint/node_modules/stylelint/lib/index.mjs +38 -0
  84. package/packages/config-stylelint/node_modules/stylelint/lib/invalidScopeDisables.mjs +41 -0
  85. package/packages/config-stylelint/node_modules/stylelint/lib/isPathIgnored.mjs +48 -0
  86. package/packages/config-stylelint/node_modules/stylelint/lib/lintPostcssResult.mjs +172 -0
  87. package/packages/config-stylelint/node_modules/stylelint/lib/lintSource.mjs +135 -0
  88. package/packages/config-stylelint/node_modules/stylelint/lib/needlessDisables.mjs +91 -0
  89. package/packages/config-stylelint/node_modules/stylelint/lib/normalizeAllRuleSettings.mjs +29 -0
  90. package/packages/config-stylelint/node_modules/stylelint/lib/normalizeRuleSettings.mjs +56 -0
  91. package/packages/config-stylelint/node_modules/stylelint/lib/postcssPlugin.mjs +50 -0
  92. package/packages/config-stylelint/node_modules/stylelint/lib/prepareReturnValue.mjs +63 -0
  93. package/packages/config-stylelint/node_modules/stylelint/lib/printConfig.mjs +44 -0
  94. package/packages/config-stylelint/node_modules/stylelint/lib/reference/atKeywords.mjs +91 -0
  95. package/packages/config-stylelint/node_modules/stylelint/lib/reference/functions.mjs +100 -0
  96. package/packages/config-stylelint/node_modules/stylelint/lib/reference/keywords.mjs +663 -0
  97. package/packages/config-stylelint/node_modules/stylelint/lib/reference/mediaFeatures.mjs +115 -0
  98. package/packages/config-stylelint/node_modules/stylelint/lib/reference/mediaTypes.mjs +14 -0
  99. package/packages/config-stylelint/node_modules/stylelint/lib/reference/prefixes.mjs +17 -0
  100. package/packages/config-stylelint/node_modules/stylelint/lib/reference/properties.mjs +1111 -0
  101. package/packages/config-stylelint/node_modules/stylelint/lib/reference/selectors.mjs +472 -0
  102. package/packages/config-stylelint/node_modules/stylelint/lib/reference/units.mjs +82 -0
  103. package/packages/config-stylelint/node_modules/stylelint/lib/reportDisables.mjs +48 -0
  104. package/packages/config-stylelint/node_modules/stylelint/lib/reportUnknownRuleNames.mjs +76 -0
  105. package/packages/config-stylelint/node_modules/stylelint/lib/resolveConfig.mjs +43 -0
  106. package/packages/config-stylelint/node_modules/stylelint/lib/rules/alpha-value-notation/index.mjs +207 -0
  107. package/packages/config-stylelint/node_modules/stylelint/lib/rules/annotation-no-unknown/index.mjs +88 -0
  108. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-allowed-list/index.mjs +62 -0
  109. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-descriptor-no-unknown/index.mjs +108 -0
  110. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-descriptor-value-no-unknown/index.mjs +64 -0
  111. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-disallowed-list/index.mjs +62 -0
  112. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-empty-line-before/index.mjs +178 -0
  113. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-no-deprecated/index.mjs +86 -0
  114. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-no-unknown/index.mjs +80 -0
  115. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-no-vendor-prefix/index.mjs +82 -0
  116. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-prelude-no-invalid/index.mjs +76 -0
  117. package/packages/config-stylelint/node_modules/stylelint/lib/rules/at-rule-property-required-list/index.mjs +92 -0
  118. package/packages/config-stylelint/node_modules/stylelint/lib/rules/block-no-empty/index.mjs +116 -0
  119. package/packages/config-stylelint/node_modules/stylelint/lib/rules/block-no-redundant-nested-style-rules/index.mjs +52 -0
  120. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-function-alias-notation/index.mjs +87 -0
  121. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-function-notation/index.mjs +168 -0
  122. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-hex-alpha/index.mjs +75 -0
  123. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-hex-length/index.mjs +128 -0
  124. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-named/colordUtils.mjs +109 -0
  125. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-named/index.mjs +183 -0
  126. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-no-hex/index.mjs +69 -0
  127. package/packages/config-stylelint/node_modules/stylelint/lib/rules/color-no-invalid-hex/index.mjs +68 -0
  128. package/packages/config-stylelint/node_modules/stylelint/lib/rules/comment-empty-line-before/index.mjs +131 -0
  129. package/packages/config-stylelint/node_modules/stylelint/lib/rules/comment-no-empty/index.mjs +50 -0
  130. package/packages/config-stylelint/node_modules/stylelint/lib/rules/comment-pattern/index.mjs +51 -0
  131. package/packages/config-stylelint/node_modules/stylelint/lib/rules/comment-whitespace-inside/index.mjs +149 -0
  132. package/packages/config-stylelint/node_modules/stylelint/lib/rules/comment-word-disallowed-list/index.mjs +63 -0
  133. package/packages/config-stylelint/node_modules/stylelint/lib/rules/container-name-pattern/index.mjs +107 -0
  134. package/packages/config-stylelint/node_modules/stylelint/lib/rules/custom-media-pattern/index.mjs +61 -0
  135. package/packages/config-stylelint/node_modules/stylelint/lib/rules/custom-property-empty-line-before/index.mjs +156 -0
  136. package/packages/config-stylelint/node_modules/stylelint/lib/rules/custom-property-no-missing-var-function/index.mjs +148 -0
  137. package/packages/config-stylelint/node_modules/stylelint/lib/rules/custom-property-pattern/index.mjs +100 -0
  138. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-block-no-duplicate-custom-properties/index.mjs +82 -0
  139. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-block-no-duplicate-properties/index.mjs +301 -0
  140. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-block-no-redundant-longhand-properties/index.mjs +411 -0
  141. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-block-no-shorthand-property-overrides/index.mjs +74 -0
  142. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-block-single-line-max-declarations/index.mjs +62 -0
  143. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-empty-line-before/index.mjs +160 -0
  144. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-no-important/index.mjs +51 -0
  145. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-max-values/index.mjs +79 -0
  146. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-unit-allowed-list/index.mjs +108 -0
  147. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-unit-disallowed-list/index.mjs +94 -0
  148. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-value-allowed-list/index.mjs +66 -0
  149. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-value-disallowed-list/index.mjs +66 -0
  150. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-value-keyword-no-deprecated/index.mjs +207 -0
  151. package/packages/config-stylelint/node_modules/stylelint/lib/rules/declaration-property-value-no-unknown/index.mjs +466 -0
  152. package/packages/config-stylelint/node_modules/stylelint/lib/rules/display-notation/index.mjs +225 -0
  153. package/packages/config-stylelint/node_modules/stylelint/lib/rules/font-family-name-quotes/index.mjs +243 -0
  154. package/packages/config-stylelint/node_modules/stylelint/lib/rules/font-family-no-duplicate-names/index.mjs +122 -0
  155. package/packages/config-stylelint/node_modules/stylelint/lib/rules/font-family-no-missing-generic-family-keyword/index.mjs +122 -0
  156. package/packages/config-stylelint/node_modules/stylelint/lib/rules/font-weight-notation/index.mjs +221 -0
  157. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-allowed-list/index.mjs +114 -0
  158. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-calc-no-unspaced-operator/index.mjs +589 -0
  159. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-disallowed-list/index.mjs +73 -0
  160. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-linear-gradient-no-nonstandard-direction/index.mjs +145 -0
  161. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-name-case/index.mjs +120 -0
  162. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-no-unknown/index.mjs +83 -0
  163. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-url-no-scheme-relative/index.mjs +67 -0
  164. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-url-quotes/index.mjs +230 -0
  165. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-url-scheme-allowed-list/index.mjs +70 -0
  166. package/packages/config-stylelint/node_modules/stylelint/lib/rules/function-url-scheme-disallowed-list/index.mjs +70 -0
  167. package/packages/config-stylelint/node_modules/stylelint/lib/rules/hue-degree-notation/index.mjs +123 -0
  168. package/packages/config-stylelint/node_modules/stylelint/lib/rules/import-notation/index.mjs +104 -0
  169. package/packages/config-stylelint/node_modules/stylelint/lib/rules/index.mjs +180 -0
  170. package/packages/config-stylelint/node_modules/stylelint/lib/rules/keyframe-block-no-duplicate-selectors/index.mjs +68 -0
  171. package/packages/config-stylelint/node_modules/stylelint/lib/rules/keyframe-declaration-no-important/index.mjs +54 -0
  172. package/packages/config-stylelint/node_modules/stylelint/lib/rules/keyframe-selector-notation/index.mjs +202 -0
  173. package/packages/config-stylelint/node_modules/stylelint/lib/rules/keyframes-name-pattern/index.mjs +63 -0
  174. package/packages/config-stylelint/node_modules/stylelint/lib/rules/layer-name-pattern/index.mjs +91 -0
  175. package/packages/config-stylelint/node_modules/stylelint/lib/rules/length-zero-no-unit/index.mjs +221 -0
  176. package/packages/config-stylelint/node_modules/stylelint/lib/rules/lightness-notation/index.mjs +165 -0
  177. package/packages/config-stylelint/node_modules/stylelint/lib/rules/max-nesting-depth/index.mjs +195 -0
  178. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-allowed-list/index.mjs +67 -0
  179. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-disallowed-list/index.mjs +67 -0
  180. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-no-unknown/index.mjs +79 -0
  181. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-no-vendor-prefix/index.mjs +94 -0
  182. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-unit-allowed-list/index.mjs +110 -0
  183. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-value-allowed-list/index.mjs +100 -0
  184. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-name-value-no-unknown/index.mjs +296 -0
  185. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-feature-range-notation/index.mjs +187 -0
  186. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-query-no-invalid/index.mjs +193 -0
  187. package/packages/config-stylelint/node_modules/stylelint/lib/rules/media-type-no-deprecated/index.mjs +82 -0
  188. package/packages/config-stylelint/node_modules/stylelint/lib/rules/named-grid-areas-no-invalid/index.mjs +117 -0
  189. package/packages/config-stylelint/node_modules/stylelint/lib/rules/named-grid-areas-no-invalid/utils/findNotContiguousOrRectangular.mjs +57 -0
  190. package/packages/config-stylelint/node_modules/stylelint/lib/rules/nesting-selector-no-missing-scoping-root/index.mjs +165 -0
  191. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-descending-specificity/index.mjs +200 -0
  192. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-duplicate-at-import-rules/index.mjs +156 -0
  193. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-duplicate-selectors/index.mjs +218 -0
  194. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-empty-source/index.mjs +61 -0
  195. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-invalid-double-slash-comments/index.mjs +77 -0
  196. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-invalid-position-at-import-rule/index.mjs +76 -0
  197. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-invalid-position-declaration/index.mjs +92 -0
  198. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-irregular-whitespace/index.mjs +236 -0
  199. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-unknown-animations/index.mjs +71 -0
  200. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-unknown-custom-media/index.mjs +77 -0
  201. package/packages/config-stylelint/node_modules/stylelint/lib/rules/no-unknown-custom-properties/index.mjs +72 -0
  202. package/packages/config-stylelint/node_modules/stylelint/lib/rules/number-max-precision/index.mjs +209 -0
  203. package/packages/config-stylelint/node_modules/stylelint/lib/rules/property-allowed-list/index.mjs +58 -0
  204. package/packages/config-stylelint/node_modules/stylelint/lib/rules/property-disallowed-list/index.mjs +58 -0
  205. package/packages/config-stylelint/node_modules/stylelint/lib/rules/property-no-deprecated/index.mjs +143 -0
  206. package/packages/config-stylelint/node_modules/stylelint/lib/rules/property-no-unknown/index.mjs +126 -0
  207. package/packages/config-stylelint/node_modules/stylelint/lib/rules/property-no-vendor-prefix/index.mjs +100 -0
  208. package/packages/config-stylelint/node_modules/stylelint/lib/rules/rule-empty-line-before/index.mjs +156 -0
  209. package/packages/config-stylelint/node_modules/stylelint/lib/rules/rule-nesting-at-rule-required-list/index.mjs +85 -0
  210. package/packages/config-stylelint/node_modules/stylelint/lib/rules/rule-selector-property-disallowed-list/index.mjs +119 -0
  211. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-anb-no-unmatchable/index.mjs +121 -0
  212. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-attribute-name-disallowed-list/index.mjs +69 -0
  213. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-attribute-operator-allowed-list/index.mjs +70 -0
  214. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-attribute-operator-disallowed-list/index.mjs +70 -0
  215. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-attribute-quotes/index.mjs +107 -0
  216. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-class-pattern/index.mjs +71 -0
  217. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-combinator-allowed-list/index.mjs +81 -0
  218. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-combinator-disallowed-list/index.mjs +81 -0
  219. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-disallowed-list/index.mjs +115 -0
  220. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-id-pattern/index.mjs +66 -0
  221. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-attribute/index.mjs +92 -0
  222. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-class/index.mjs +75 -0
  223. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-combinators/index.mjs +77 -0
  224. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-compound-selectors/index.mjs +123 -0
  225. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-id/index.mjs +107 -0
  226. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-pseudo-class/index.mjs +85 -0
  227. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-specificity/index.mjs +146 -0
  228. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-type/index.mjs +219 -0
  229. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-max-universal/index.mjs +95 -0
  230. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-nested-pattern/index.mjs +95 -0
  231. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-no-qualifying-type/index.mjs +323 -0
  232. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-no-vendor-prefix/index.mjs +92 -0
  233. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-not-notation/index.mjs +217 -0
  234. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-class-allowed-list/index.mjs +84 -0
  235. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-class-disallowed-list/index.mjs +84 -0
  236. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-class-no-unknown/index.mjs +179 -0
  237. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-element-allowed-list/index.mjs +75 -0
  238. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-element-colon-notation/index.mjs +93 -0
  239. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-element-disallowed-list/index.mjs +74 -0
  240. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-pseudo-element-no-unknown/index.mjs +91 -0
  241. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-type-case/index.mjs +118 -0
  242. package/packages/config-stylelint/node_modules/stylelint/lib/rules/selector-type-no-unknown/index.mjs +148 -0
  243. package/packages/config-stylelint/node_modules/stylelint/lib/rules/shorthand-property-no-redundant-values/index.mjs +359 -0
  244. package/packages/config-stylelint/node_modules/stylelint/lib/rules/string-no-newline/index.mjs +120 -0
  245. package/packages/config-stylelint/node_modules/stylelint/lib/rules/syntax-string-no-invalid/index.mjs +80 -0
  246. package/packages/config-stylelint/node_modules/stylelint/lib/rules/time-min-milliseconds/index.mjs +167 -0
  247. package/packages/config-stylelint/node_modules/stylelint/lib/rules/unit-allowed-list/index.mjs +116 -0
  248. package/packages/config-stylelint/node_modules/stylelint/lib/rules/unit-disallowed-list/index.mjs +211 -0
  249. package/packages/config-stylelint/node_modules/stylelint/lib/rules/unit-no-unknown/index.mjs +207 -0
  250. package/packages/config-stylelint/node_modules/stylelint/lib/rules/value-keyword-case/index.mjs +253 -0
  251. package/packages/config-stylelint/node_modules/stylelint/lib/rules/value-no-vendor-prefix/index.mjs +92 -0
  252. package/packages/config-stylelint/node_modules/stylelint/lib/standalone.mjs +383 -0
  253. package/packages/config-stylelint/node_modules/stylelint/lib/timing.mjs +134 -0
  254. package/packages/config-stylelint/node_modules/stylelint/lib/unscopedDisables.mjs +66 -0
  255. package/packages/config-stylelint/node_modules/stylelint/lib/utils/FileCache.mjs +115 -0
  256. package/packages/config-stylelint/node_modules/stylelint/lib/utils/addEmptyLineBefore.mjs +21 -0
  257. package/packages/config-stylelint/node_modules/stylelint/lib/utils/addSemicolonForEditInfo.mjs +35 -0
  258. package/packages/config-stylelint/node_modules/stylelint/lib/utils/appendRuleName.mjs +13 -0
  259. package/packages/config-stylelint/node_modules/stylelint/lib/utils/arrayEqual.mjs +14 -0
  260. package/packages/config-stylelint/node_modules/stylelint/lib/utils/beforeBlockString.mjs +28 -0
  261. package/packages/config-stylelint/node_modules/stylelint/lib/utils/blockString.mjs +19 -0
  262. package/packages/config-stylelint/node_modules/stylelint/lib/utils/blurInterpolation.mjs +8 -0
  263. package/packages/config-stylelint/node_modules/stylelint/lib/utils/cachedImport.mjs +68 -0
  264. package/packages/config-stylelint/node_modules/stylelint/lib/utils/checkAgainstRule.mjs +71 -0
  265. package/packages/config-stylelint/node_modules/stylelint/lib/utils/checkInvalidCLIOptions.mjs +105 -0
  266. package/packages/config-stylelint/node_modules/stylelint/lib/utils/configurationComment.mjs +74 -0
  267. package/packages/config-stylelint/node_modules/stylelint/lib/utils/containsString.mjs +52 -0
  268. package/packages/config-stylelint/node_modules/stylelint/lib/utils/createMapWithSet.mjs +19 -0
  269. package/packages/config-stylelint/node_modules/stylelint/lib/utils/dynamicImport.mjs +13 -0
  270. package/packages/config-stylelint/node_modules/stylelint/lib/utils/eachDeclarationBlock.mjs +59 -0
  271. package/packages/config-stylelint/node_modules/stylelint/lib/utils/eachNodeUpToRoot.mjs +22 -0
  272. package/packages/config-stylelint/node_modules/stylelint/lib/utils/emitWarning.mjs +84 -0
  273. package/packages/config-stylelint/node_modules/stylelint/lib/utils/errors.mjs +55 -0
  274. package/packages/config-stylelint/node_modules/stylelint/lib/utils/filterFilePaths.mjs +17 -0
  275. package/packages/config-stylelint/node_modules/stylelint/lib/utils/findAnimationName.mjs +74 -0
  276. package/packages/config-stylelint/node_modules/stylelint/lib/utils/findAtRuleContext.mjs +27 -0
  277. package/packages/config-stylelint/node_modules/stylelint/lib/utils/findFontFamily.mjs +148 -0
  278. package/packages/config-stylelint/node_modules/stylelint/lib/utils/findMediaFeatureNames.mjs +151 -0
  279. package/packages/config-stylelint/node_modules/stylelint/lib/utils/findNodeUpToRoot.mjs +25 -0
  280. package/packages/config-stylelint/node_modules/stylelint/lib/utils/fixEmptyLinesBefore.mjs +26 -0
  281. package/packages/config-stylelint/node_modules/stylelint/lib/utils/functionArgumentsSearch.mjs +65 -0
  282. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getAtRuleParams.mjs +7 -0
  283. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getDeclarationValue.mjs +9 -0
  284. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getDimension.mjs +62 -0
  285. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getFileIgnorer.mjs +41 -0
  286. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getFormatter.mjs +43 -0
  287. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getFormatterOptionsText.mjs +12 -0
  288. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getImportantPosition.mjs +15 -0
  289. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getLexer.mjs +39 -0
  290. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getModulePath.mjs +35 -0
  291. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getNextNonSharedLineCommentNode.mjs +34 -0
  292. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getPreviousNonSharedLineCommentNode.mjs +36 -0
  293. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getRelativePath.mjs +12 -0
  294. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getRuleSelector.mjs +9 -0
  295. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getSchemeFromUrl.mjs +36 -0
  296. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getSelectorSourceIndex.mjs +12 -0
  297. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getStrippedSelectorSource.mjs +47 -0
  298. package/packages/config-stylelint/node_modules/stylelint/lib/utils/getStylelintRule.mjs +22 -0
  299. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasBlock.mjs +9 -0
  300. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasEmptyLine.mjs +13 -0
  301. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasInterpolation.mjs +24 -0
  302. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasLessInterpolation.mjs +11 -0
  303. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasPsvInterpolation.mjs +11 -0
  304. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasScssInterpolation.mjs +11 -0
  305. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hasTplInterpolation.mjs +11 -0
  306. package/packages/config-stylelint/node_modules/stylelint/lib/utils/hash.mjs +10 -0
  307. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isAfterBlock.mjs +15 -0
  308. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isAfterComment.mjs +15 -0
  309. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isAfterSingleLineComment.mjs +19 -0
  310. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isAfterStandardPropertyDeclaration.mjs +19 -0
  311. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isAutoprefixable.mjs +364 -0
  312. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isBlocklessAtRuleAfterBlocklessAtRule.mjs +21 -0
  313. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isBlocklessAtRuleAfterSameNameBlocklessAtRule.mjs +21 -0
  314. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isContextFunctionalPseudoClass.mjs +24 -0
  315. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCounterIncrementCustomIdentValue.mjs +19 -0
  316. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCounterResetCustomIdentValue.mjs +19 -0
  317. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCustomElement.mjs +34 -0
  318. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCustomFunction.mjs +9 -0
  319. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCustomMediaQuery.mjs +8 -0
  320. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCustomProperty.mjs +8 -0
  321. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isCustomSelector.mjs +9 -0
  322. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isDescriptorDeclaration.mjs +22 -0
  323. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isFirstNested.mjs +83 -0
  324. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isFirstNodeOfRoot.mjs +17 -0
  325. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isHexColor.mjs +9 -0
  326. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isInDocument.mjs +32 -0
  327. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isKeyframeRule.mjs +17 -0
  328. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isKeyframeSelector.mjs +29 -0
  329. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isMathFunction.mjs +11 -0
  330. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isNonNegativeInteger.mjs +6 -0
  331. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isNumbery.mjs +9 -0
  332. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isOnlyWhitespace.mjs +17 -0
  333. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isPathNotFoundError.mjs +9 -0
  334. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isScssVariable.mjs +19 -0
  335. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isSharedLineComment.mjs +53 -0
  336. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isSingleLineString.mjs +10 -0
  337. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxAtRule.mjs +32 -0
  338. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxColorFunction.mjs +24 -0
  339. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxCombinator.mjs +32 -0
  340. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxComment.mjs +13 -0
  341. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxDeclaration.mjs +57 -0
  342. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxFunction.mjs +28 -0
  343. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxHexColor.mjs +14 -0
  344. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxKeyframesName.mjs +15 -0
  345. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxProperty.mjs +32 -0
  346. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxRule.mjs +24 -0
  347. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxSelector.mjs +56 -0
  348. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxTypeSelector.mjs +56 -0
  349. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxUrl.mjs +49 -0
  350. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isStandardSyntaxValue.mjs +51 -0
  351. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isUnicodeRangeDescriptor.mjs +24 -0
  352. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isUnicodeSupported.mjs +26 -0
  353. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isUrlFunction.mjs +9 -0
  354. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isValidFontSize.mjs +38 -0
  355. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isValidHex.mjs +11 -0
  356. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isValidIdentifier.mjs +39 -0
  357. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isVarFunction.mjs +9 -0
  358. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isVariable.mjs +9 -0
  359. package/packages/config-stylelint/node_modules/stylelint/lib/utils/isWhitespace.mjs +9 -0
  360. package/packages/config-stylelint/node_modules/stylelint/lib/utils/matchesStringOrRegExp.mjs +97 -0
  361. package/packages/config-stylelint/node_modules/stylelint/lib/utils/mergeSyntaxDefinitions.mjs +137 -0
  362. package/packages/config-stylelint/node_modules/stylelint/lib/utils/narrowFixRange.mjs +68 -0
  363. package/packages/config-stylelint/node_modules/stylelint/lib/utils/nodeContextLookup.mjs +41 -0
  364. package/packages/config-stylelint/node_modules/stylelint/lib/utils/nodeFieldIndices.mjs +119 -0
  365. package/packages/config-stylelint/node_modules/stylelint/lib/utils/normalizeFilePath.mjs +26 -0
  366. package/packages/config-stylelint/node_modules/stylelint/lib/utils/normalizeFixMode.mjs +22 -0
  367. package/packages/config-stylelint/node_modules/stylelint/lib/utils/normalizeSelector.mjs +231 -0
  368. package/packages/config-stylelint/node_modules/stylelint/lib/utils/optionsMatches.mjs +20 -0
  369. package/packages/config-stylelint/node_modules/stylelint/lib/utils/optionsMatchesEntry.mjs +29 -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 +211 -0
  401. package/packages/config-stylelint/node_modules/stylelint/types/stylelint/index.d.ts +1594 -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 +3 -3
  410. package/packages/config-stylelint/plugins/color-format.js +2 -2
@@ -0,0 +1,321 @@
1
+ import {
2
+ isFunction as isFn,
3
+ isNumber,
4
+ isPlainObject,
5
+ isRange,
6
+ isString,
7
+ } from '../utils/validateTypes.mjs';
8
+
9
+ import {
10
+ DEFAULT_SEVERITY,
11
+ RULE_NAME_ALL,
12
+ SEVERITY_ERROR,
13
+ SEVERITY_WARNING,
14
+ } from '../constants.mjs';
15
+ import addSemicolonForEditInfo from './addSemicolonForEditInfo.mjs';
16
+ import appendRuleName from './appendRuleName.mjs';
17
+ import narrowFixRange from './narrowFixRange.mjs';
18
+ import rangesOverlap from './rangesOverlap.mjs';
19
+
20
+ /** @import { Config, DisabledRangeObject, FixObject, Problem, Range, RuleMessage, StylelintPostcssResult, Utils, WarningOptions } from 'stylelint' */
21
+
22
+ /**
23
+ * Report a problem.
24
+ *
25
+ * This function accounts for `disabledRanges` attached to the result.
26
+ * That is, if the reported problem is within a disabledRange,
27
+ * it is ignored. Otherwise, it is attached to the result as a
28
+ * postcss warning.
29
+ *
30
+ * It also accounts for the rule's severity.
31
+ *
32
+ * You *must* pass *either* a node or a line number.
33
+ *
34
+ * @type {Utils['report']}
35
+ */
36
+ export default function report(problem) {
37
+ const { node, result, ruleName, fix, ...rest } = problem;
38
+ const problemRange = getProblemRange(problem);
39
+ const {
40
+ disabledRanges,
41
+ quiet,
42
+ ruleSeverities,
43
+ config: { defaultSeverity, ignoreDisables } = {},
44
+ customMessages: { [ruleName]: message = rest.message },
45
+ customUrls: { [ruleName]: customUrl },
46
+ ruleMetadata: { [ruleName]: metadata },
47
+ } = result.stylelint;
48
+ const { messageArgs = [], severity = ruleSeverities[ruleName] } = rest;
49
+ const ruleSeverity =
50
+ (isFn(severity) ? severity(...messageArgs) : severity) ?? defaultSeverity ?? DEFAULT_SEVERITY;
51
+
52
+ // In quiet mode, mere warnings are ignored
53
+ if (quiet && ruleSeverity === SEVERITY_WARNING) return;
54
+
55
+ if ((isFn(fix) || isFixObject(fix)) && metadata && !metadata.fixable) {
56
+ throw new Error(
57
+ `The "${ruleName}" rule requires "meta.fixable" to be truthy if the "fix" callback is being passed`,
58
+ );
59
+ }
60
+
61
+ if (isFixApplied(problem, problemRange.start.line)) return;
62
+
63
+ if (isDisabledOnLine(ruleName, problemRange.start.line, disabledRanges)) {
64
+ // Collect disabled warnings
65
+ // Used to report `needlessDisables` in subsequent processing.
66
+ const disabledWarnings = (result.stylelint.disabledWarnings ||= []);
67
+
68
+ disabledWarnings.push({
69
+ rule: ruleName,
70
+ line: problemRange.start.line,
71
+ });
72
+
73
+ if (!ignoreDisables) return;
74
+ }
75
+
76
+ if (!result.stylelint.stylelintError && ruleSeverity === SEVERITY_ERROR) {
77
+ result.stylelint.stylelintError = true;
78
+ }
79
+
80
+ if (!result.stylelint.stylelintWarning && ruleSeverity === SEVERITY_WARNING) {
81
+ result.stylelint.stylelintWarning = true;
82
+ }
83
+
84
+ /** @type {WarningOptions} */
85
+ const warningProperties = {
86
+ severity: ruleSeverity,
87
+ rule: ruleName,
88
+ };
89
+
90
+ if (node) {
91
+ warningProperties.node = node;
92
+ }
93
+
94
+ warningProperties.start = problemRange.start;
95
+ warningProperties.end = problemRange.end;
96
+
97
+ if (customUrl) {
98
+ warningProperties.url = customUrl;
99
+ }
100
+
101
+ warningProperties.fix = computeEditInfo({ ...problem, line: problemRange.start.line });
102
+
103
+ const warningMessage = buildWarningMessage(message, messageArgs, ruleName);
104
+
105
+ result.warn(warningMessage, warningProperties);
106
+ }
107
+
108
+ /**
109
+ * @param {Problem} problem
110
+ * @returns {Range}
111
+ */
112
+ function getProblemRange(problem) {
113
+ if (!problem.node) {
114
+ throw new Error(
115
+ `The "${problem.ruleName}" rule provided incorrect position arguments to \`utils.report()\`. To fix, pass a PostCSS \`node\` to the function.`,
116
+ );
117
+ }
118
+
119
+ // `start/end` based range
120
+ if (isRange(problem)) {
121
+ return {
122
+ start: problem.start,
123
+ end: problem.end,
124
+ };
125
+ }
126
+
127
+ if ('start' in problem || 'end' in problem) {
128
+ throw new Error(
129
+ `The "${problem.ruleName}" rule provided incomplete position arguments to \`utils.report()\`. To fix, provide both \`start\` and \`end\` as valid positions to the function.`,
130
+ );
131
+ }
132
+
133
+ // `index/endIndex` based range
134
+ if (hasIndices(problem)) {
135
+ return problem.node.rangeBy({ index: problem.index, endIndex: problem.endIndex });
136
+ }
137
+
138
+ if ('index' in problem || 'endIndex' in problem) {
139
+ throw new Error(
140
+ `The "${problem.ruleName}" rule provided incomplete position arguments to \`utils.report()\`. To fix, provide both \`index\` and \`endIndex\` as numbers to the function.`,
141
+ );
142
+ }
143
+
144
+ // `word` based range
145
+ if ('word' in problem && isString(problem.word)) {
146
+ return problem.node.rangeBy({ word: problem.word });
147
+ }
148
+
149
+ return problem.node.rangeBy({});
150
+ }
151
+
152
+ /**
153
+ * @param {RuleMessage} message
154
+ * @param {NonNullable<Problem['messageArgs']>} messageArgs
155
+ * @param {string} ruleName
156
+ * @returns {string}
157
+ */
158
+ function buildWarningMessage(message, messageArgs, ruleName) {
159
+ return appendRuleName(
160
+ isString(message) ? printfLike(message, ...messageArgs) : message(...messageArgs),
161
+ ruleName,
162
+ );
163
+ }
164
+
165
+ /**
166
+ * @param {string} format
167
+ * @param {Array<unknown>} args
168
+ * @returns {string}
169
+ */
170
+ function printfLike(format, ...args) {
171
+ return args.reduce((/** @type {string} */ result, arg) => {
172
+ return result.replace(/%[ds]/, String(arg));
173
+ }, format);
174
+ }
175
+
176
+ /**
177
+ * Check whether a rule is disabled for a given line
178
+ * @param {string} ruleName
179
+ * @param {number} startLine
180
+ * @param {DisabledRangeObject} disabledRanges
181
+ */
182
+ function isDisabledOnLine(ruleName, startLine, disabledRanges) {
183
+ const ranges = disabledRanges[ruleName] ?? disabledRanges[RULE_NAME_ALL] ?? [];
184
+
185
+ for (const range of ranges) {
186
+ if (
187
+ // If the problem is within a disabledRange,
188
+ // and that disabledRange's rules include this one
189
+ range.start <= startLine &&
190
+ (range.end === undefined || range.end >= startLine) &&
191
+ /** @todo populate rules in assignDisabledRanges util */
192
+ (!range.rules || range.rules.includes(ruleName))
193
+ ) {
194
+ return true;
195
+ }
196
+ }
197
+
198
+ return false;
199
+ }
200
+
201
+ /**
202
+ * @param {Problem} problem
203
+ * @param {number} line
204
+ * @returns {boolean}
205
+ */
206
+ function isFixApplied({ fix, result: { stylelint }, ruleName }, line) {
207
+ if (!fix) return false;
208
+
209
+ const { disabledRanges, config = {}, fixersData } = stylelint;
210
+
211
+ if (!config.fix) return false;
212
+
213
+ if (isFixDisabled(line, ruleName, config, disabledRanges)) return false;
214
+
215
+ const apply = isFixObject(fix) ? fix.apply : fix;
216
+
217
+ if (!isFn(apply)) return false;
218
+
219
+ apply();
220
+
221
+ incrementFixCounter({ fixersData, ruleName });
222
+
223
+ return true;
224
+ }
225
+
226
+ /**
227
+ * @param {Problem & { line: number }} problem
228
+ * @returns {{range: [number, number], text: string} | undefined}
229
+ */
230
+ function computeEditInfo({ fix, line, result, ruleName }) {
231
+ if (!fix) return;
232
+
233
+ const { disabledRanges, config = {}, rangesOfComputedEditInfos } = result.stylelint;
234
+
235
+ if (!config.computeEditInfo || config.fix) return;
236
+
237
+ if (isFixDisabled(line, ruleName, config, disabledRanges)) return;
238
+
239
+ if (!isFixObject(fix) || !fix.apply || !fix.node) return;
240
+
241
+ const { apply, node } = fix;
242
+
243
+ if (!isNumber(node.source?.start?.offset) || !isNumber(node.source?.end?.offset)) return;
244
+
245
+ /** @type [number, number] */
246
+ const fixedNodeRange = [node.source.start.offset, node.source.end.offset];
247
+
248
+ // When recording edit info we want to ensure that there is no overlap with any other fix.
249
+ // We only record the first fix for each node.
250
+ if (rangesOfComputedEditInfos.some((range) => rangesOverlap(range, fixedNodeRange))) {
251
+ return;
252
+ }
253
+
254
+ // Apply the fix
255
+ apply();
256
+
257
+ let fixData = { range: fixedNodeRange, text: node.toString(result.opts?.syntax) };
258
+
259
+ fixData = addSemicolonForEditInfo(node, fixData);
260
+
261
+ // Compute the smallest range and text of the fix
262
+ fixData = narrowFixRange(node, fixData);
263
+
264
+ // Mark the fixed range as mutated
265
+ rangesOfComputedEditInfos.push(fixData.range);
266
+
267
+ return fixData;
268
+ }
269
+
270
+ /**
271
+ * @param {number} line
272
+ * @param {string} ruleName
273
+ * @param {Config} config
274
+ * @param {DisabledRangeObject} disabledRanges
275
+ * @returns {boolean}
276
+ */
277
+ function isFixDisabled(line, ruleName, config, disabledRanges) {
278
+ if (config.rules?.[ruleName][1]?.disableFix) return true;
279
+
280
+ if (!config.ignoreDisables && isDisabledOnLine(ruleName, line, disabledRanges)) return true;
281
+
282
+ return false;
283
+ }
284
+
285
+ /**
286
+ * @param {object} o
287
+ * @param {StylelintPostcssResult['fixersData']} o.fixersData
288
+ * @param {string} o.ruleName
289
+ */
290
+ function incrementFixCounter({ fixersData, ruleName }) {
291
+ fixersData[ruleName] ??= 0;
292
+ fixersData[ruleName]++;
293
+ }
294
+
295
+ /**
296
+ * @param {unknown} value
297
+ * @returns {value is { index: number, endIndex: number }}
298
+ */
299
+ function hasIndices(value) {
300
+ if (!isPlainObject(value)) return false;
301
+
302
+ if (!isNumber(value.index)) return false;
303
+
304
+ if (!isNumber(value.endIndex)) return false;
305
+
306
+ return true;
307
+ }
308
+
309
+ /**
310
+ * @param {unknown} value
311
+ * @returns {value is FixObject}
312
+ */
313
+ function isFixObject(value) {
314
+ if (!isPlainObject(value)) return false;
315
+
316
+ if (!value.node) return false;
317
+
318
+ if (!isFn(value.apply)) return false;
319
+
320
+ return true;
321
+ }
@@ -0,0 +1,39 @@
1
+ import { SEVERITY_ERROR, SEVERITY_WARNING } from '../constants.mjs';
2
+
3
+ /**
4
+ * @param {{
5
+ * rule: string;
6
+ * message: string;
7
+ * severity: import('stylelint').Severity;
8
+ * node: import('postcss').Node;
9
+ * postcssResult: import('stylelint').PostcssResult;
10
+ * }} args
11
+ * @returns {void}
12
+ */
13
+ export default function reportCommentProblem({ rule, message, severity, node, postcssResult }) {
14
+ const { source } = node;
15
+
16
+ // If the comment doesn't have a location, we can't report a useful error.
17
+ // In practice we expect all comments to have locations, though.
18
+ if (!source?.start) return;
19
+
20
+ postcssResult.warn(message, {
21
+ rule,
22
+ severity,
23
+ node,
24
+ start: source.start,
25
+ end: source.end,
26
+ });
27
+
28
+ switch (severity) {
29
+ case SEVERITY_ERROR:
30
+ postcssResult.stylelint.stylelintError = true;
31
+ break;
32
+ case SEVERITY_WARNING:
33
+ postcssResult.stylelint.stylelintWarning = true;
34
+ break;
35
+ default:
36
+ // no-op
37
+ break;
38
+ }
39
+ }
@@ -0,0 +1,38 @@
1
+ import { join, normalize, resolve, sep } from 'node:path';
2
+ import { lstatSync } from 'node:fs';
3
+
4
+ /**
5
+ * Return the resolved file path, based on whether the provided parameter is
6
+ * a directory or looks like a directory (ends in `path.sep`), in which case the file
7
+ * name will be `location/defaultFileName`.
8
+ *
9
+ * If location points to a file or looks like a file, then it will just use that file.
10
+ *
11
+ * @param {string} location - The name of file or directory to be used
12
+ * @param {string} cwd - Current working directory. Used for tests
13
+ * @param {string} defaultFileName - Default filename to use when location is a directory
14
+ * @returns {string} Resolved path to the file
15
+ */
16
+ export default function resolveFilePath(location, cwd, defaultFileName) {
17
+ /*
18
+ * Make sure path separators are normalized for environment/os.
19
+ * Also, keep trailing path separator if present.
20
+ */
21
+ const normalizedLocation = normalize(location);
22
+
23
+ const resolvedLocation = resolve(cwd, normalizedLocation);
24
+
25
+ // If the location path ends with a separator, we assume is a directory.
26
+ const looksLikeADirectory = location.endsWith(sep);
27
+
28
+ if (
29
+ looksLikeADirectory ||
30
+ lstatSync(resolvedLocation, { throwIfNoEntry: false })?.isDirectory()
31
+ ) {
32
+ // Return path to provided directory with the specified file name.
33
+ return join(resolvedLocation, defaultFileName);
34
+ }
35
+
36
+ // Return normalized path to file.
37
+ return resolvedLocation;
38
+ }
@@ -0,0 +1,108 @@
1
+ import { resolveNestedSelector } from '@csstools/selector-resolve-nested';
2
+
3
+ import { isAtRule, isRule } from './typeGuards.mjs';
4
+ import getRuleSelector from './getRuleSelector.mjs';
5
+ import isStandardSyntaxRule from './isStandardSyntaxRule.mjs';
6
+ import parseSelector from './parseSelector.mjs';
7
+ import selectorParser from 'postcss-selector-parser';
8
+
9
+ /** @import { Selector, Root as SelectorRoot } from 'postcss-selector-parser' */
10
+ /** @import { Rule, Node } from 'postcss' */
11
+ /** @import { PostcssResult } from 'stylelint' */
12
+
13
+ /** @type {WeakMap<Rule, Map<PostcssResult, Array<ResolvedSelector>>>} */
14
+ const cache = new WeakMap();
15
+
16
+ /**
17
+ * Resolve nested selectors following the CSS nesting specification
18
+ *
19
+ * @typedef {{selector: Selector, resolvedSelectors: SelectorRoot, nested: boolean}} ResolvedSelector
20
+ *
21
+ * @param {Rule} rule
22
+ * @param {PostcssResult} result
23
+ * @returns {Array<ResolvedSelector>}
24
+ */
25
+ export default function resolveNestedSelectorsForRule(rule, result) {
26
+ let ruleCache = cache.get(rule);
27
+
28
+ if (ruleCache) {
29
+ const cachedResolved = ruleCache.get(result);
30
+
31
+ if (cachedResolved) return cachedResolved;
32
+ } else {
33
+ ruleCache = new Map();
34
+ cache.set(rule, ruleCache);
35
+ }
36
+
37
+ const ownAST = parseSelector(getRuleSelector(rule), result, rule);
38
+
39
+ if (!ownAST) return [];
40
+
41
+ /** @type {SelectorRoot | undefined} */
42
+ let ast = undefined;
43
+
44
+ /** @type {Array<Node>} */
45
+ const ancestors = [];
46
+
47
+ {
48
+ /** @type {Node['parent']} */
49
+ let parent = rule.parent;
50
+
51
+ while (parent) {
52
+ ancestors.push(parent);
53
+ parent = parent.parent;
54
+ }
55
+ }
56
+
57
+ ancestors.reverse();
58
+
59
+ for (const child of ancestors) {
60
+ if (isAtRule(child) && child.name === 'scope') {
61
+ ast = parseSelector(':where(:scope)', result, child);
62
+ continue;
63
+ }
64
+
65
+ if (!isRule(child)) continue;
66
+
67
+ if (!isStandardSyntaxRule(child)) return [];
68
+
69
+ const childAST = parseSelector(getRuleSelector(child), result, child);
70
+
71
+ if (!childAST) return [];
72
+
73
+ if (ast) {
74
+ ast = resolveNestedSelector(childAST, ast);
75
+ } else {
76
+ ast = childAST;
77
+ }
78
+ }
79
+
80
+ const resolved = ownAST.map((selector) => {
81
+ if (!ast) {
82
+ return {
83
+ selector,
84
+ resolvedSelectors: selectorParser.root({
85
+ value: '',
86
+ nodes: [selector],
87
+ }),
88
+ nested: false,
89
+ };
90
+ }
91
+
92
+ return {
93
+ selector,
94
+ resolvedSelectors: resolveNestedSelector(
95
+ selectorParser.root({
96
+ nodes: [selector],
97
+ value: '',
98
+ }),
99
+ ast,
100
+ ),
101
+ nested: true,
102
+ };
103
+ });
104
+
105
+ ruleCache.set(result, resolved);
106
+
107
+ return resolved;
108
+ }
@@ -0,0 +1,30 @@
1
+ import getConfigForFile from '../getConfigForFile.mjs';
2
+
3
+ /** @import {InternalApi, LinterOptions, Config} from 'stylelint' */
4
+
5
+ /**
6
+ * Get a value of the specified lint option or configuration.
7
+ *
8
+ * @template T
9
+ * @param {Object} options
10
+ * @param {InternalApi} options.stylelint
11
+ * @param {keyof LinterOptions & keyof Config} options.name
12
+ * @param {T} [options.default]
13
+ * @returns {Promise<T>}
14
+ */
15
+ export default async function resolveOptionValue({
16
+ stylelint,
17
+ name,
18
+ default: defaultValue = undefined,
19
+ }) {
20
+ const options = stylelint._options;
21
+ const value = options[name] ?? options.config?.[name];
22
+
23
+ if (value != null) {
24
+ return /** @type {T} */ (value);
25
+ }
26
+
27
+ const configForFile = await getConfigForFile({ stylelint, failIfNoConfig: false });
28
+
29
+ return configForFile?.config?.[name] ?? defaultValue;
30
+ }
@@ -0,0 +1,144 @@
1
+ import fs from 'node:fs';
2
+ import module from 'node:module';
3
+ import path from 'node:path';
4
+ import process from 'node:process';
5
+
6
+ import { fileURLToPath, pathToFileURL } from 'node:url';
7
+
8
+ // TODO: refactor to use `import.meta.resolve()` when the `parent` argument
9
+ // is available without the --experimental-import-meta-resolve flag
10
+ // @see https://github.com/stylelint/stylelint/pull/8886
11
+ import { resolve } from 'import-meta-resolve';
12
+
13
+ /**
14
+ * @typedef {object} PnpApi
15
+ * @property {(specifier: string, issuer: string | null) => string | null} resolveRequest
16
+ * @property {(specifier: string, issuer: string | null) => string | null} resolveToUnqualified
17
+ */
18
+
19
+ /**
20
+ * @typedef {typeof module & { findPnpApi?: (issuer: string) => PnpApi | null }} ModuleWithPnp
21
+ */
22
+
23
+ /**
24
+ * Attempts to resolve a module specifier using Yarn PnP's API.
25
+ *
26
+ * When running under Yarn PnP, the import-meta-resolve polyfill doesn't work
27
+ * because it bypasses PnP's virtual filesystem. This function uses
28
+ * Module.findPnpApi() to get the PnP API for the target directory and
29
+ * resolves packages through it.
30
+ *
31
+ * @see https://yarnpkg.com/advanced/pnpapi
32
+ * @see https://github.com/stylelint/stylelint/issues/8971
33
+ * @param {string} specifier The module specifier to resolve.
34
+ * @param {string} issuer The directory to resolve from. Must end with /.
35
+ * @returns {string | undefined} The resolved path, or undefined if resolution fails.
36
+ */
37
+ function resolvePnP(specifier, issuer) {
38
+ // Module.findPnpApi is added by Yarn PnP at runtime.
39
+ const mod = /** @type {ModuleWithPnp} */ (module);
40
+
41
+ if (typeof mod.findPnpApi !== 'function') {
42
+ return undefined;
43
+ }
44
+
45
+ const pnpapi = mod.findPnpApi(issuer);
46
+
47
+ if (!pnpapi) {
48
+ return undefined;
49
+ }
50
+
51
+ try {
52
+ // First try resolveRequest.
53
+ return pnpapi.resolveRequest(specifier, issuer) ?? undefined;
54
+ } catch {
55
+ // resolveRequest can fail for packages with only exports field. Fall
56
+ // back to resolveToUnqualified to locate the package, then use import-
57
+ // meta-resolve to handle the exports field resolution correctly.
58
+ try {
59
+ const packagePath = pnpapi.resolveToUnqualified(specifier, issuer);
60
+
61
+ if (!packagePath) {
62
+ return undefined;
63
+ }
64
+
65
+ // Use import-meta-resolve from the package's location to resolve
66
+ // its entry point.
67
+ const packageBase = pathToFileURL(path.join(packagePath, 'noop.js')).toString();
68
+ const resolved = resolve(specifier, packageBase);
69
+
70
+ return fileURLToPath(resolved);
71
+ } catch {
72
+ return undefined;
73
+ }
74
+ }
75
+ }
76
+
77
+ // TODO: Remove support for CommonJS-style filename-less and extension-less paths in the
78
+ // next major release to align with ESM import behavior.
79
+ const pathSuffixes = ['', '.js', '.json', `${path.sep}index.js`, `${path.sep}index.json`];
80
+
81
+ const specifierSuffixes = ['', '.js', '.json', '/index.js', '/index.json'];
82
+
83
+ /**
84
+ * Checks whether the given file exists as a file.
85
+ * @param {string} filename The file to check.
86
+ * @returns {boolean} `true` if the file exists and is a file, otherwise `false`.
87
+ */
88
+ function existsFile(filename) {
89
+ return fs.statSync(filename, { throwIfNoEntry: false })?.isFile() ?? false;
90
+ }
91
+
92
+ /**
93
+ * @param {string} parent
94
+ * @param {string} lookup
95
+ * @returns {string | undefined}
96
+ */
97
+ export default function resolveSilent(parent, lookup) {
98
+ if (path.isAbsolute(lookup)) {
99
+ for (const suffix of pathSuffixes) {
100
+ const filename = lookup + suffix;
101
+
102
+ if (existsFile(filename)) {
103
+ return filename;
104
+ }
105
+ }
106
+
107
+ return;
108
+ }
109
+
110
+ const base = pathToFileURL(path.resolve(parent, 'noop.js')).toString();
111
+
112
+ // In Yarn PnP environments, try PnP resolution first for bare specifiers.
113
+ // The import-meta-resolve polyfill doesn't work with PnP because it
114
+ // bypasses the virtual filesystem.
115
+ const isBareSpecifier = !lookup.startsWith('./') && !lookup.startsWith('../');
116
+
117
+ if (isBareSpecifier && process.versions.pnp) {
118
+ const issuer = path.resolve(parent) + path.sep;
119
+
120
+ // Try with suffixes for CommonJS compatibility.
121
+ for (const suffix of specifierSuffixes) {
122
+ const resolved = resolvePnP(lookup + suffix, issuer);
123
+
124
+ if (resolved && existsFile(resolved)) {
125
+ return resolved;
126
+ }
127
+ }
128
+ }
129
+
130
+ // Try ESM resolution with suffixes for CommonJS compatibility.
131
+ for (const suffix of specifierSuffixes) {
132
+ try {
133
+ const resolved = fileURLToPath(resolve(lookup + suffix, base));
134
+
135
+ if (existsFile(resolved)) {
136
+ return resolved;
137
+ }
138
+ } catch {
139
+ //
140
+ }
141
+ }
142
+
143
+ return undefined;
144
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @type {import('stylelint').Utils['ruleMessages']}
3
+ */
4
+ export default function ruleMessages(ruleName, messages) {
5
+ /** @type {import('stylelint').RuleMessages} */
6
+ const newMessages = {};
7
+
8
+ for (const [messageId, messageText] of Object.entries(messages)) {
9
+ if (typeof messageText === 'string') {
10
+ newMessages[messageId] = `${messageText} (${ruleName})`;
11
+ } else {
12
+ newMessages[messageId] = (...args) => `${messageText(...args)} (${ruleName})`;
13
+ }
14
+ }
15
+
16
+ // @ts-expect-error -- TS2322: Type 'RuleMessages' is not assignable to type 'R'.
17
+ return newMessages;
18
+ }