@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,62 @@
1
+ import valueParser from 'postcss-value-parser';
2
+
3
+ import blurInterpolation from './blurInterpolation.mjs';
4
+ import isStandardSyntaxValue from './isStandardSyntaxValue.mjs';
5
+
6
+ /**
7
+ * Get Dimension from value node;
8
+ * `unit` and `number` return null if neither is found
9
+ *
10
+ * @param {import('postcss-value-parser').Node} node
11
+ *
12
+ * @returns {{unit: null, number: null} | valueParser.Dimension}
13
+ */
14
+ export default function getDimension(node) {
15
+ if (!node || !node.value) {
16
+ return {
17
+ unit: null,
18
+ number: null,
19
+ };
20
+ }
21
+
22
+ // Ignore non-word nodes
23
+ if (node.type !== 'word') {
24
+ return {
25
+ unit: null,
26
+ number: null,
27
+ };
28
+ }
29
+
30
+ // Ignore non standard syntax
31
+ if (!isStandardSyntaxValue(node.value)) {
32
+ return {
33
+ unit: null,
34
+ number: null,
35
+ };
36
+ }
37
+
38
+ // Ignore HEX
39
+ if (node.value.startsWith('#')) {
40
+ return {
41
+ unit: null,
42
+ number: null,
43
+ };
44
+ }
45
+
46
+ // Remove non standard stuff
47
+ const value = blurInterpolation(node.value, '')
48
+ // ignore hack unit
49
+ .replace('\\0', '')
50
+ .replace('\\9', '');
51
+
52
+ const parsedUnit = valueParser.unit(value);
53
+
54
+ if (!parsedUnit) {
55
+ return {
56
+ unit: null,
57
+ number: null,
58
+ };
59
+ }
60
+
61
+ return parsedUnit;
62
+ }
@@ -0,0 +1,41 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { isAbsolute, resolve } from 'node:path';
3
+ import ignore from 'ignore';
4
+
5
+ import { DEFAULT_IGNORE_FILENAME } from '../constants.mjs';
6
+
7
+ /**
8
+ * @typedef {import('stylelint').LinterOptions} LinterOptions
9
+ *
10
+ * @param {Pick<LinterOptions, 'ignorePath' | 'ignorePattern'> & { cwd: string }} options
11
+ * @returns {import('ignore').Ignore}
12
+ */
13
+ export default function getFileIgnorer({ ignorePath, ignorePattern, cwd }) {
14
+ const ignorer = ignore();
15
+ const ignorePaths = [ignorePath || []].flat();
16
+
17
+ if (ignorePaths.length === 0) {
18
+ ignorePaths.push(DEFAULT_IGNORE_FILENAME);
19
+ }
20
+
21
+ for (const ignoreFilePath of ignorePaths) {
22
+ const absoluteIgnoreFilePath = isAbsolute(ignoreFilePath)
23
+ ? ignoreFilePath
24
+ : resolve(cwd, ignoreFilePath);
25
+
26
+ if (!existsSync(absoluteIgnoreFilePath)) continue;
27
+
28
+ const ignoreText = readFileSync(absoluteIgnoreFilePath, {
29
+ // utf must remain lowercased to hit the fast path
30
+ // see nodejs/node#49888
31
+ encoding: 'utf8',
32
+ flag: 'r',
33
+ });
34
+
35
+ ignorer.add(ignoreText);
36
+ }
37
+
38
+ if (ignorePattern) ignorer.add(ignorePattern);
39
+
40
+ return ignorer;
41
+ }
@@ -0,0 +1,43 @@
1
+ import { resolve } from 'node:path';
2
+
3
+ import dynamicImport from './dynamicImport.mjs';
4
+ import formatters from '../formatters/index.mjs';
5
+ import getFormatterOptionsText from './getFormatterOptionsText.mjs';
6
+ import pathExists from './pathExists.mjs';
7
+ import resolveOptionValue from './resolveOptionValue.mjs';
8
+
9
+ /** @import {Formatter, FormatterType, InternalApi} from 'stylelint' */
10
+
11
+ /**
12
+ * @param {InternalApi} stylelint
13
+ * @returns {Promise<Formatter>}
14
+ */
15
+ export default async function getFormatter(stylelint) {
16
+ /** @type {FormatterType | undefined} */
17
+ let formatter = await resolveOptionValue({ stylelint, name: 'formatter' });
18
+
19
+ if (typeof formatter === 'string') {
20
+ let formatterFunction = formatters[formatter];
21
+
22
+ if (formatterFunction === undefined) {
23
+ if (await pathExists(formatter)) {
24
+ formatterFunction = await dynamicImport(resolve(formatter)).then((m) => m.default);
25
+ } else {
26
+ const formattersText = getFormatterOptionsText(', ', '"');
27
+
28
+ throw new Error(`You must use a valid formatter option: ${formattersText} or a function`);
29
+ }
30
+ }
31
+
32
+ return formatterFunction;
33
+ }
34
+
35
+ // Assume a function or a promise of a function.
36
+ if (typeof formatter === 'function' || formatter) {
37
+ return Promise.resolve(formatter);
38
+ }
39
+
40
+ formatter ??= stylelint._options._defaultFormatter ?? 'json';
41
+
42
+ return formatters[formatter];
43
+ }
@@ -0,0 +1,12 @@
1
+ import formatters from '../formatters/index.mjs';
2
+
3
+ /**
4
+ * @param {string} separator
5
+ * @param {string} [quote]
6
+ * @returns {string}
7
+ */
8
+ export default function getFormatterOptionsText(separator, quote = '') {
9
+ return Object.keys(formatters)
10
+ .map((name) => `${quote}${name}${quote}`)
11
+ .join(separator);
12
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Returns a position of `!important` (or `! important` including whitespaces)
3
+ * from the specified CSS source code. If not found, returns `undefined`.
4
+ *
5
+ * @param {string} source
6
+ * @returns {{ index: number, endIndex: number } | undefined}
7
+ */
8
+ export default function getImportantPosition(source) {
9
+ const pattern = /!\s*important\b/gi;
10
+ const match = pattern.exec(source);
11
+
12
+ if (!match) return;
13
+
14
+ return { index: match.index, endIndex: pattern.lastIndex };
15
+ }
@@ -0,0 +1,39 @@
1
+ import { fork } from 'css-tree';
2
+ import syntaxPatchesJson from '@csstools/css-syntax-patches-for-csstree' with { type: 'json' };
3
+
4
+ import mergeSyntaxDefinitions from './mergeSyntaxDefinitions.mjs';
5
+
6
+ /** @import { Lexer as CSSTreeLexer } from 'css-tree' */
7
+ /** @import { Config as StylelintConfig } from 'stylelint' */
8
+ /** @import { SyntaxDefinition } from './mergeSyntaxDefinitions.mjs' */
9
+
10
+ const { next: syntaxPatches } = syntaxPatchesJson;
11
+
12
+ const lexerCache = new Map();
13
+
14
+ /**
15
+ * Get CSSTree lexer based on a Stylelint configuration and an additional syntax definition.
16
+ * The return value is cached for performance.
17
+ *
18
+ * @param {StylelintConfig} config
19
+ * @param {SyntaxDefinition} [additionalSyntax]
20
+ * @returns {CSSTreeLexer}
21
+ */
22
+ export default function getLexer(config, additionalSyntax) {
23
+ const syntax = { ...config.languageOptions?.syntax, ...additionalSyntax };
24
+
25
+ if (syntax.atRules) {
26
+ syntax.atrules = syntax.atRules;
27
+ }
28
+
29
+ const cacheKey = JSON.stringify(syntax);
30
+ const lexer = lexerCache.get(cacheKey);
31
+
32
+ if (lexer) return lexer;
33
+
34
+ const { lexer: newLexer } = fork(mergeSyntaxDefinitions(syntaxPatches, syntax));
35
+
36
+ lexerCache.set(cacheKey, newLexer);
37
+
38
+ return newLexer;
39
+ }
@@ -0,0 +1,35 @@
1
+ import process from 'node:process';
2
+
3
+ import globalModules from 'global-modules';
4
+
5
+ import { ConfigurationError } from './errors.mjs';
6
+ import resolveSilent from './resolveSilent.mjs';
7
+
8
+ /**
9
+ * @param {string} basedir
10
+ * @param {string} lookup
11
+ * @param {string} [cwd]
12
+ * @returns {string}
13
+ */
14
+ export default function getModulePath(basedir, lookup, cwd = process.cwd()) {
15
+ // 1. Try to resolve from the provided directory
16
+ // 2. Try to resolve from `cwd` or `process.cwd()`
17
+ // 3. Try to resolve from global `node_modules` directory
18
+ let path = resolveSilent(basedir, lookup);
19
+
20
+ if (!path) {
21
+ path = resolveSilent(cwd, lookup);
22
+ }
23
+
24
+ if (!path) {
25
+ path = resolveSilent(globalModules, lookup);
26
+ }
27
+
28
+ if (!path) {
29
+ throw new ConfigurationError(
30
+ `Could not find "${lookup}". Do you need to install the package or use the "configBasedir" option?`,
31
+ );
32
+ }
33
+
34
+ return path;
35
+ }
@@ -0,0 +1,34 @@
1
+ /** @typedef {import('postcss').Node} Node */
2
+
3
+ /**
4
+ * @param {Node | void} node
5
+ */
6
+ function getNodeLine(node) {
7
+ return node && node.source && node.source.start && node.source.start.line;
8
+ }
9
+
10
+ /**
11
+ * @param {Node | void} node
12
+ * @returns {Node | void}
13
+ */
14
+ export default function getNextNonSharedLineCommentNode(node) {
15
+ if (node === undefined) {
16
+ return undefined;
17
+ }
18
+
19
+ /** @type {Node | void} */
20
+ const nextNode = node.next();
21
+
22
+ if (!nextNode || nextNode.type !== 'comment') {
23
+ return nextNode;
24
+ }
25
+
26
+ if (
27
+ getNodeLine(node) === getNodeLine(nextNode) ||
28
+ getNodeLine(nextNode) === getNodeLine(nextNode.next())
29
+ ) {
30
+ return getNextNonSharedLineCommentNode(nextNode);
31
+ }
32
+
33
+ return nextNode;
34
+ }
@@ -0,0 +1,36 @@
1
+ /** @typedef {import('postcss').Node} Node */
2
+
3
+ /**
4
+ * @param {Node} node
5
+ */
6
+ function getNodeLine(node) {
7
+ return node.source && node.source.start && node.source.start.line;
8
+ }
9
+
10
+ /**
11
+ * @param {Node | undefined} node
12
+ * @returns {Node | undefined}
13
+ */
14
+ export default function getPreviousNonSharedLineCommentNode(node) {
15
+ if (node === undefined) {
16
+ return undefined;
17
+ }
18
+
19
+ const previousNode = node.prev();
20
+
21
+ if (!previousNode || previousNode.type !== 'comment') {
22
+ return previousNode;
23
+ }
24
+
25
+ if (getNodeLine(node) === getNodeLine(previousNode)) {
26
+ return getPreviousNonSharedLineCommentNode(previousNode);
27
+ }
28
+
29
+ const previousNode2 = previousNode.prev();
30
+
31
+ if (previousNode2 && getNodeLine(previousNode) === getNodeLine(previousNode2)) {
32
+ return getPreviousNonSharedLineCommentNode(previousNode);
33
+ }
34
+
35
+ return previousNode;
36
+ }
@@ -0,0 +1,12 @@
1
+ import path from 'node:path';
2
+
3
+ /**
4
+ * Returns the relative path of a file to the current working directory.
5
+ * Always in POSIX format for consistency and interoperability.
6
+ * @param {string} cwd The current working directory.
7
+ * @param {string} filePath The file path.
8
+ * @returns {string} The relative file path.
9
+ */
10
+ export default function getRelativePath(cwd, filePath) {
11
+ return path.relative(cwd, filePath).split(path.sep).join(path.posix.sep);
12
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @param {import('postcss').Rule} ruleNode
3
+ * @returns {string}
4
+ */
5
+ export default function getRuleSelector(ruleNode) {
6
+ const raws = ruleNode.raws;
7
+
8
+ return (raws.selector && raws.selector.raw) || ruleNode.selector;
9
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Get unit from value node
3
+ *
4
+ * Returns `null` if the unit is not found.
5
+ *
6
+ * @param {string} urlString
7
+ * @returns {string | null}
8
+ */
9
+ export default function getSchemeFromUrl(urlString) {
10
+ let protocol;
11
+
12
+ try {
13
+ protocol = new URL(urlString).protocol;
14
+ } catch {
15
+ return null;
16
+ }
17
+
18
+ if (typeof protocol === 'undefined') {
19
+ return null;
20
+ }
21
+
22
+ const scheme = protocol.slice(0, -1); // strip trailing `:`
23
+
24
+ // The URL spec does not require a scheme to be followed by `//`, but checking
25
+ // for it allows this rule to differentiate <scheme>:<hostname> urls from
26
+ // <hostname>:<port> urls. `data:` scheme urls are an exception to this rule.
27
+ const slashIndex = protocol.length;
28
+ const expectedSlashes = urlString.slice(slashIndex, slashIndex + 2);
29
+ const isSchemeLessUrl = expectedSlashes !== '//' && scheme !== 'data';
30
+
31
+ if (isSchemeLessUrl) {
32
+ return null;
33
+ }
34
+
35
+ return scheme;
36
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Get the source index of a selector, excluding leading whitespace.
3
+ *
4
+ * @param {import('postcss-selector-parser').Selector} node
5
+ *
6
+ * @returns {number}
7
+ */
8
+ export default function getSelectorSourceIndex(node) {
9
+ // The first child node sourceIndex is the same as the parent sourceIndex without leading whitespace
10
+ // If the node doesn't have any children, use the node sourceIndex instead
11
+ return node.first?.sourceIndex ?? node.sourceIndex;
12
+ }
@@ -0,0 +1,47 @@
1
+ import selectorParser from 'postcss-selector-parser';
2
+
3
+ const { isComment } = selectorParser;
4
+
5
+ /**
6
+ * Get the source of a selector, excluding surrounding whitespace and comments.
7
+ *
8
+ * @param {import('postcss-selector-parser').Selector} node
9
+ *
10
+ * @returns {{selector: string, index: number, endIndex: number}}
11
+ */
12
+ export default function getStrippedSelectorSource(node) {
13
+ const firstIndex = node.nodes.findIndex((x) => !isComment(x));
14
+ const lastIndex = node.nodes.findLastIndex((x) => !isComment(x));
15
+
16
+ const first = node.nodes[firstIndex];
17
+ let last = node.nodes[lastIndex];
18
+
19
+ if (!first || !last) {
20
+ const selector = node.toString().trim();
21
+ const index = node.sourceIndex ?? 0;
22
+ const endIndex = index + selector.length;
23
+
24
+ return {
25
+ selector,
26
+ index,
27
+ endIndex,
28
+ };
29
+ }
30
+
31
+ last = last.rawSpaceAfter.length ? last.clone() : last;
32
+ last.rawSpaceAfter = '';
33
+
34
+ let selector = node.nodes.slice(firstIndex, lastIndex).map(String).join('');
35
+
36
+ selector += last.toString();
37
+ selector = selector.trim();
38
+
39
+ const index = first.sourceIndex ?? 0;
40
+ const endIndex = index + selector.length;
41
+
42
+ return {
43
+ selector,
44
+ index,
45
+ endIndex,
46
+ };
47
+ }
@@ -0,0 +1,22 @@
1
+ import rules from '../rules/index.mjs';
2
+
3
+ /**
4
+ * @param {string} ruleName
5
+ * @param {import('stylelint').Config | undefined} [config]
6
+ * @returns {Promise<import('stylelint').Rule | undefined>}
7
+ */
8
+ export default function getStylelintRule(ruleName, config) {
9
+ if (isBuiltInRule(ruleName)) {
10
+ return rules[ruleName];
11
+ }
12
+
13
+ return Promise.resolve(config?.pluginFunctions?.[ruleName]);
14
+ }
15
+
16
+ /**
17
+ * @param {string} ruleName
18
+ * @returns {ruleName is keyof rules}
19
+ */
20
+ function isBuiltInRule(ruleName) {
21
+ return ruleName in rules;
22
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Check if a statement has an block (empty or otherwise).
3
+ *
4
+ * @param {import('postcss').Container} statement
5
+ * @returns {boolean} True if `statement` has a block (empty or otherwise)
6
+ */
7
+ export default function hasBlock(statement) {
8
+ return statement.nodes !== undefined;
9
+ }
@@ -0,0 +1,13 @@
1
+ const HAS_EMPTY_LINE = /\n[\r\t ]*\n/;
2
+
3
+ /**
4
+ * Check if a string contains at least one empty line
5
+ *
6
+ * @param {string | undefined} string
7
+ * @returns {boolean}
8
+ */
9
+ export default function hasEmptyLine(string) {
10
+ if (string === '' || string === undefined) return false;
11
+
12
+ return HAS_EMPTY_LINE.test(string);
13
+ }
@@ -0,0 +1,24 @@
1
+ import hasLessInterpolation from './hasLessInterpolation.mjs';
2
+ import hasPsvInterpolation from './hasPsvInterpolation.mjs';
3
+ import hasScssInterpolation from './hasScssInterpolation.mjs';
4
+ import hasTplInterpolation from './hasTplInterpolation.mjs';
5
+
6
+ /**
7
+ * Check whether a string has interpolation
8
+ *
9
+ * @param {string} string
10
+ * @returns {boolean} If `true`, a string has interpolation
11
+ */
12
+ export default function hasInterpolation(string) {
13
+ // SCSS or Less interpolation
14
+ if (
15
+ hasLessInterpolation(string) ||
16
+ hasScssInterpolation(string) ||
17
+ hasTplInterpolation(string) ||
18
+ hasPsvInterpolation(string)
19
+ ) {
20
+ return true;
21
+ }
22
+
23
+ return false;
24
+ }
@@ -0,0 +1,11 @@
1
+ const HAS_LESS_INTERPOLATION = /@\{.+?\}/;
2
+
3
+ /**
4
+ * Check whether a string has less interpolation
5
+ *
6
+ * @param {string} string
7
+ * @returns {boolean} If `true`, a string has less interpolation
8
+ */
9
+ export default function hasLessInterpolation(string) {
10
+ return HAS_LESS_INTERPOLATION.test(string);
11
+ }
@@ -0,0 +1,11 @@
1
+ const HAS_PSV_INTERPOLATION = /\$\(.+?\)/;
2
+
3
+ /**
4
+ * Check whether a string has postcss-simple-vars interpolation
5
+ *
6
+ * @param {string} string
7
+ * @returns {boolean}
8
+ */
9
+ export default function hasPsvInterpolation(string) {
10
+ return HAS_PSV_INTERPOLATION.test(string);
11
+ }
@@ -0,0 +1,11 @@
1
+ const HAS_SCSS_INTERPOLATION = /#\{.+?\}/s;
2
+
3
+ /**
4
+ * Check whether a string has scss interpolation
5
+ *
6
+ * @param {string} string
7
+ * @returns {boolean}
8
+ */
9
+ export default function hasScssInterpolation(string) {
10
+ return HAS_SCSS_INTERPOLATION.test(string);
11
+ }
@@ -0,0 +1,11 @@
1
+ const HAS_TPL_INTERPOLATION = /\{.+?\}/s;
2
+
3
+ /**
4
+ * Check whether a string has JS template literal interpolation or HTML-like template
5
+ *
6
+ * @param {string} string
7
+ * @returns {boolean} If `true`, a string has template literal interpolation
8
+ */
9
+ export default function hasTplInterpolation(string) {
10
+ return HAS_TPL_INTERPOLATION.test(string);
11
+ }
@@ -0,0 +1,10 @@
1
+ import MurmurHash3 from 'imurmurhash';
2
+
3
+ /**
4
+ * hash the given string
5
+ * @param {string} str the string to hash
6
+ * @returns {string} the hash
7
+ */
8
+ export default function hash(str) {
9
+ return MurmurHash3(str).result().toString(36);
10
+ }
@@ -0,0 +1,15 @@
1
+ import { isAtRule, isRule } from './typeGuards.mjs';
2
+
3
+ /**
4
+ * @param {import('postcss').Node} node
5
+ * @returns {boolean}
6
+ */
7
+ export default function isAfterBlock(node) {
8
+ const previousNode = node.prev();
9
+
10
+ if (!previousNode) {
11
+ return false;
12
+ }
13
+
14
+ return isRule(previousNode) || isAtRule(previousNode);
15
+ }
@@ -0,0 +1,15 @@
1
+ import isSharedLineComment from './isSharedLineComment.mjs';
2
+
3
+ /**
4
+ * @param {import('postcss').Node} node
5
+ * @returns {boolean}
6
+ */
7
+ export default function isAfterComment(node) {
8
+ const previousNode = node.prev();
9
+
10
+ if (!previousNode || previousNode.type !== 'comment') {
11
+ return false;
12
+ }
13
+
14
+ return !isSharedLineComment(previousNode);
15
+ }
@@ -0,0 +1,19 @@
1
+ import isSharedLineComment from './isSharedLineComment.mjs';
2
+
3
+ /**
4
+ * @param {import('postcss').Node} node
5
+ * @returns {boolean}
6
+ */
7
+ export default function isAfterSingleLineComment(node) {
8
+ const prevNode = node.prev();
9
+
10
+ return (
11
+ prevNode !== undefined &&
12
+ prevNode.type === 'comment' &&
13
+ !isSharedLineComment(prevNode) &&
14
+ prevNode.source !== undefined &&
15
+ prevNode.source.start !== undefined &&
16
+ prevNode.source.end !== undefined &&
17
+ prevNode.source.start.line === prevNode.source.end.line
18
+ );
19
+ }
@@ -0,0 +1,19 @@
1
+ import getPreviousNonSharedLineCommentNode from './getPreviousNonSharedLineCommentNode.mjs';
2
+ import isCustomProperty from './isCustomProperty.mjs';
3
+ import { isDeclaration } from './typeGuards.mjs';
4
+ import isStandardSyntaxDeclaration from './isStandardSyntaxDeclaration.mjs';
5
+
6
+ /**
7
+ * @param {import('postcss').Node} node
8
+ * @returns {boolean}
9
+ */
10
+ export default function isAfterStandardPropertyDeclaration(node) {
11
+ const prevNode = getPreviousNonSharedLineCommentNode(node);
12
+
13
+ return (
14
+ prevNode !== undefined &&
15
+ isDeclaration(prevNode) &&
16
+ isStandardSyntaxDeclaration(prevNode) &&
17
+ !isCustomProperty(prevNode.prop || '')
18
+ );
19
+ }