@spiracss/stylelint-plugin 0.2.2 → 0.3.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 (390) hide show
  1. package/README.md +14 -18
  2. package/dist/cjs/helpers.d.ts +109 -35
  3. package/dist/cjs/helpers.d.ts.map +1 -1
  4. package/dist/cjs/helpers.js +257 -171
  5. package/dist/cjs/helpers.js.map +1 -1
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +4 -0
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/rules/spiracss-class-structure.d.ts.map +1 -1
  10. package/dist/cjs/rules/spiracss-class-structure.js +96 -40
  11. package/dist/cjs/rules/spiracss-class-structure.js.map +1 -1
  12. package/dist/cjs/rules/spiracss-class-structure.messages.d.ts +10 -8
  13. package/dist/cjs/rules/spiracss-class-structure.messages.d.ts.map +1 -1
  14. package/dist/cjs/rules/spiracss-class-structure.messages.js +59 -26
  15. package/dist/cjs/rules/spiracss-class-structure.messages.js.map +1 -1
  16. package/dist/cjs/rules/spiracss-class-structure.options.d.ts.map +1 -1
  17. package/dist/cjs/rules/spiracss-class-structure.options.js +71 -56
  18. package/dist/cjs/rules/spiracss-class-structure.options.js.map +1 -1
  19. package/dist/cjs/rules/spiracss-class-structure.patterns.d.ts +4 -4
  20. package/dist/cjs/rules/spiracss-class-structure.patterns.d.ts.map +1 -1
  21. package/dist/cjs/rules/spiracss-class-structure.patterns.js +24 -27
  22. package/dist/cjs/rules/spiracss-class-structure.patterns.js.map +1 -1
  23. package/dist/cjs/rules/spiracss-class-structure.selectors.d.ts +3 -4
  24. package/dist/cjs/rules/spiracss-class-structure.selectors.d.ts.map +1 -1
  25. package/dist/cjs/rules/spiracss-class-structure.selectors.js +34 -60
  26. package/dist/cjs/rules/spiracss-class-structure.selectors.js.map +1 -1
  27. package/dist/cjs/rules/spiracss-class-structure.types.d.ts +32 -12
  28. package/dist/cjs/rules/spiracss-class-structure.types.d.ts.map +1 -1
  29. package/dist/cjs/rules/spiracss-interaction-properties.d.ts.map +1 -1
  30. package/dist/cjs/rules/spiracss-interaction-properties.js +207 -116
  31. package/dist/cjs/rules/spiracss-interaction-properties.js.map +1 -1
  32. package/dist/cjs/rules/spiracss-interaction-properties.messages.d.ts +4 -3
  33. package/dist/cjs/rules/spiracss-interaction-properties.messages.d.ts.map +1 -1
  34. package/dist/cjs/rules/spiracss-interaction-properties.messages.js +11 -12
  35. package/dist/cjs/rules/spiracss-interaction-properties.messages.js.map +1 -1
  36. package/dist/cjs/rules/spiracss-interaction-properties.options.d.ts.map +1 -1
  37. package/dist/cjs/rules/spiracss-interaction-properties.options.js +12 -14
  38. package/dist/cjs/rules/spiracss-interaction-properties.options.js.map +1 -1
  39. package/dist/cjs/rules/spiracss-interaction-properties.types.d.ts +9 -5
  40. package/dist/cjs/rules/spiracss-interaction-properties.types.d.ts.map +1 -1
  41. package/dist/cjs/rules/spiracss-interaction-scope.d.ts.map +1 -1
  42. package/dist/cjs/rules/spiracss-interaction-scope.js +21 -21
  43. package/dist/cjs/rules/spiracss-interaction-scope.js.map +1 -1
  44. package/dist/cjs/rules/spiracss-interaction-scope.messages.d.ts +4 -3
  45. package/dist/cjs/rules/spiracss-interaction-scope.messages.d.ts.map +1 -1
  46. package/dist/cjs/rules/spiracss-interaction-scope.messages.js +9 -11
  47. package/dist/cjs/rules/spiracss-interaction-scope.messages.js.map +1 -1
  48. package/dist/cjs/rules/spiracss-interaction-scope.options.d.ts.map +1 -1
  49. package/dist/cjs/rules/spiracss-interaction-scope.options.js +35 -41
  50. package/dist/cjs/rules/spiracss-interaction-scope.options.js.map +1 -1
  51. package/dist/cjs/rules/spiracss-interaction-scope.types.d.ts +14 -14
  52. package/dist/cjs/rules/spiracss-interaction-scope.types.d.ts.map +1 -1
  53. package/dist/cjs/rules/spiracss-interaction-scope.utils.d.ts.map +1 -1
  54. package/dist/cjs/rules/spiracss-interaction-scope.utils.js +31 -11
  55. package/dist/cjs/rules/spiracss-interaction-scope.utils.js.map +1 -1
  56. package/dist/cjs/rules/spiracss-keyframes-naming.d.ts.map +1 -1
  57. package/dist/cjs/rules/spiracss-keyframes-naming.js +31 -28
  58. package/dist/cjs/rules/spiracss-keyframes-naming.js.map +1 -1
  59. package/dist/cjs/rules/spiracss-keyframes-naming.messages.d.ts +6 -4
  60. package/dist/cjs/rules/spiracss-keyframes-naming.messages.d.ts.map +1 -1
  61. package/dist/cjs/rules/spiracss-keyframes-naming.messages.js +12 -25
  62. package/dist/cjs/rules/spiracss-keyframes-naming.messages.js.map +1 -1
  63. package/dist/cjs/rules/spiracss-keyframes-naming.options.d.ts.map +1 -1
  64. package/dist/cjs/rules/spiracss-keyframes-naming.options.js +46 -24
  65. package/dist/cjs/rules/spiracss-keyframes-naming.options.js.map +1 -1
  66. package/dist/cjs/rules/spiracss-keyframes-naming.types.d.ts +21 -11
  67. package/dist/cjs/rules/spiracss-keyframes-naming.types.d.ts.map +1 -1
  68. package/dist/cjs/rules/spiracss-page-layer.constants.d.ts +2 -0
  69. package/dist/cjs/rules/spiracss-page-layer.constants.d.ts.map +1 -0
  70. package/dist/cjs/rules/spiracss-page-layer.constants.js +5 -0
  71. package/dist/cjs/rules/spiracss-page-layer.constants.js.map +1 -0
  72. package/dist/cjs/rules/spiracss-page-layer.d.ts +5 -0
  73. package/dist/cjs/rules/spiracss-page-layer.d.ts.map +1 -0
  74. package/dist/cjs/rules/spiracss-page-layer.js +243 -0
  75. package/dist/cjs/rules/spiracss-page-layer.js.map +1 -0
  76. package/dist/cjs/rules/spiracss-page-layer.messages.d.ts +7 -0
  77. package/dist/cjs/rules/spiracss-page-layer.messages.d.ts.map +1 -0
  78. package/dist/cjs/rules/spiracss-page-layer.messages.js +15 -0
  79. package/dist/cjs/rules/spiracss-page-layer.messages.js.map +1 -0
  80. package/dist/cjs/rules/spiracss-page-layer.options.d.ts +4 -0
  81. package/dist/cjs/rules/spiracss-page-layer.options.d.ts.map +1 -0
  82. package/dist/cjs/rules/spiracss-page-layer.options.js +59 -0
  83. package/dist/cjs/rules/spiracss-page-layer.options.js.map +1 -0
  84. package/dist/cjs/rules/spiracss-page-layer.types.d.ts +19 -0
  85. package/dist/cjs/rules/spiracss-page-layer.types.d.ts.map +1 -0
  86. package/dist/cjs/rules/spiracss-page-layer.types.js +3 -0
  87. package/dist/cjs/rules/spiracss-page-layer.types.js.map +1 -0
  88. package/dist/cjs/rules/spiracss-property-placement.constants.d.ts +2 -0
  89. package/dist/cjs/rules/spiracss-property-placement.constants.d.ts.map +1 -0
  90. package/dist/cjs/rules/spiracss-property-placement.constants.js +5 -0
  91. package/dist/cjs/rules/spiracss-property-placement.constants.js.map +1 -0
  92. package/dist/cjs/rules/spiracss-property-placement.d.ts +5 -0
  93. package/dist/cjs/rules/spiracss-property-placement.d.ts.map +1 -0
  94. package/dist/cjs/rules/spiracss-property-placement.js +646 -0
  95. package/dist/cjs/rules/spiracss-property-placement.js.map +1 -0
  96. package/dist/cjs/rules/spiracss-property-placement.messages.d.ts +19 -0
  97. package/dist/cjs/rules/spiracss-property-placement.messages.d.ts.map +1 -0
  98. package/dist/cjs/rules/spiracss-property-placement.messages.js +110 -0
  99. package/dist/cjs/rules/spiracss-property-placement.messages.js.map +1 -0
  100. package/dist/cjs/rules/spiracss-property-placement.options.d.ts +4 -0
  101. package/dist/cjs/rules/spiracss-property-placement.options.d.ts.map +1 -0
  102. package/dist/cjs/rules/spiracss-property-placement.options.js +74 -0
  103. package/dist/cjs/rules/spiracss-property-placement.options.js.map +1 -0
  104. package/dist/cjs/rules/spiracss-property-placement.selectors.d.ts +41 -0
  105. package/dist/cjs/rules/spiracss-property-placement.selectors.d.ts.map +1 -0
  106. package/dist/cjs/rules/spiracss-property-placement.selectors.js +983 -0
  107. package/dist/cjs/rules/spiracss-property-placement.selectors.js.map +1 -0
  108. package/dist/cjs/rules/spiracss-property-placement.types.d.ts +28 -0
  109. package/dist/cjs/rules/spiracss-property-placement.types.d.ts.map +1 -0
  110. package/dist/cjs/rules/spiracss-property-placement.types.js +3 -0
  111. package/dist/cjs/rules/spiracss-property-placement.types.js.map +1 -0
  112. package/dist/cjs/rules/spiracss-property-placement.values.d.ts +19 -0
  113. package/dist/cjs/rules/spiracss-property-placement.values.d.ts.map +1 -0
  114. package/dist/cjs/rules/spiracss-property-placement.values.js +176 -0
  115. package/dist/cjs/rules/spiracss-property-placement.values.js.map +1 -0
  116. package/dist/cjs/rules/spiracss-pseudo-nesting.d.ts.map +1 -1
  117. package/dist/cjs/rules/spiracss-pseudo-nesting.js +18 -18
  118. package/dist/cjs/rules/spiracss-pseudo-nesting.js.map +1 -1
  119. package/dist/cjs/rules/spiracss-pseudo-nesting.messages.d.ts +6 -0
  120. package/dist/cjs/rules/spiracss-pseudo-nesting.messages.d.ts.map +1 -0
  121. package/dist/cjs/rules/spiracss-pseudo-nesting.messages.js +10 -0
  122. package/dist/cjs/rules/spiracss-pseudo-nesting.messages.js.map +1 -0
  123. package/dist/cjs/rules/spiracss-pseudo-nesting.types.d.ts +1 -1
  124. package/dist/cjs/rules/spiracss-pseudo-nesting.types.d.ts.map +1 -1
  125. package/dist/cjs/rules/spiracss-rel-comments.alias.d.ts.map +1 -1
  126. package/dist/cjs/rules/spiracss-rel-comments.alias.js +59 -11
  127. package/dist/cjs/rules/spiracss-rel-comments.alias.js.map +1 -1
  128. package/dist/cjs/rules/spiracss-rel-comments.d.ts.map +1 -1
  129. package/dist/cjs/rules/spiracss-rel-comments.js +68 -38
  130. package/dist/cjs/rules/spiracss-rel-comments.js.map +1 -1
  131. package/dist/cjs/rules/spiracss-rel-comments.messages.d.ts +5 -4
  132. package/dist/cjs/rules/spiracss-rel-comments.messages.d.ts.map +1 -1
  133. package/dist/cjs/rules/spiracss-rel-comments.messages.js +16 -12
  134. package/dist/cjs/rules/spiracss-rel-comments.messages.js.map +1 -1
  135. package/dist/cjs/rules/spiracss-rel-comments.options.d.ts.map +1 -1
  136. package/dist/cjs/rules/spiracss-rel-comments.options.js +62 -34
  137. package/dist/cjs/rules/spiracss-rel-comments.options.js.map +1 -1
  138. package/dist/cjs/rules/spiracss-rel-comments.selectors.d.ts.map +1 -1
  139. package/dist/cjs/rules/spiracss-rel-comments.selectors.js +4 -5
  140. package/dist/cjs/rules/spiracss-rel-comments.selectors.js.map +1 -1
  141. package/dist/cjs/rules/spiracss-rel-comments.types.d.ts +29 -15
  142. package/dist/cjs/rules/spiracss-rel-comments.types.d.ts.map +1 -1
  143. package/dist/cjs/types.d.ts +2 -0
  144. package/dist/cjs/types.d.ts.map +1 -1
  145. package/dist/cjs/utils/cache.d.ts +3 -0
  146. package/dist/cjs/utils/cache.d.ts.map +1 -1
  147. package/dist/cjs/utils/cache.js +30 -6
  148. package/dist/cjs/utils/cache.js.map +1 -1
  149. package/dist/cjs/utils/constants.d.ts +1 -0
  150. package/dist/cjs/utils/constants.d.ts.map +1 -1
  151. package/dist/cjs/utils/constants.js +14 -1
  152. package/dist/cjs/utils/constants.js.map +1 -1
  153. package/dist/cjs/utils/formatting.d.ts +5 -1
  154. package/dist/cjs/utils/formatting.d.ts.map +1 -1
  155. package/dist/cjs/utils/formatting.js +16 -7
  156. package/dist/cjs/utils/formatting.js.map +1 -1
  157. package/dist/cjs/utils/messages.d.ts +25 -0
  158. package/dist/cjs/utils/messages.d.ts.map +1 -0
  159. package/dist/cjs/utils/messages.js +174 -0
  160. package/dist/cjs/utils/messages.js.map +1 -0
  161. package/dist/cjs/utils/naming.d.ts +1 -2
  162. package/dist/cjs/utils/naming.d.ts.map +1 -1
  163. package/dist/cjs/utils/naming.js +1 -9
  164. package/dist/cjs/utils/naming.js.map +1 -1
  165. package/dist/cjs/utils/normalize.d.ts +1 -0
  166. package/dist/cjs/utils/normalize.d.ts.map +1 -1
  167. package/dist/cjs/utils/normalize.js +53 -8
  168. package/dist/cjs/utils/normalize.js.map +1 -1
  169. package/dist/cjs/utils/option-schema.d.ts +11 -8
  170. package/dist/cjs/utils/option-schema.d.ts.map +1 -1
  171. package/dist/cjs/utils/option-schema.js +12 -9
  172. package/dist/cjs/utils/option-schema.js.map +1 -1
  173. package/dist/cjs/utils/options.d.ts +34 -0
  174. package/dist/cjs/utils/options.d.ts.map +1 -0
  175. package/dist/cjs/utils/options.js +41 -0
  176. package/dist/cjs/utils/options.js.map +1 -0
  177. package/dist/cjs/utils/rule-docs.d.ts +2 -0
  178. package/dist/cjs/utils/rule-docs.d.ts.map +1 -0
  179. package/dist/cjs/utils/rule-docs.js +22 -0
  180. package/dist/cjs/utils/rule-docs.js.map +1 -0
  181. package/dist/cjs/utils/section.d.ts.map +1 -1
  182. package/dist/cjs/utils/section.js +32 -39
  183. package/dist/cjs/utils/section.js.map +1 -1
  184. package/dist/cjs/utils/selector-policy.d.ts +16 -0
  185. package/dist/cjs/utils/selector-policy.d.ts.map +1 -0
  186. package/dist/cjs/utils/selector-policy.js +57 -0
  187. package/dist/cjs/utils/selector-policy.js.map +1 -0
  188. package/dist/cjs/utils/selector.d.ts +4 -1
  189. package/dist/cjs/utils/selector.d.ts.map +1 -1
  190. package/dist/cjs/utils/selector.js +62 -37
  191. package/dist/cjs/utils/selector.js.map +1 -1
  192. package/dist/cjs/utils/stylelint.d.ts +0 -1
  193. package/dist/cjs/utils/stylelint.d.ts.map +1 -1
  194. package/dist/cjs/utils/stylelint.js +18 -4
  195. package/dist/cjs/utils/stylelint.js.map +1 -1
  196. package/dist/esm/helpers.d.ts +109 -35
  197. package/dist/esm/helpers.d.ts.map +1 -1
  198. package/dist/esm/helpers.js +257 -171
  199. package/dist/esm/helpers.js.map +1 -1
  200. package/dist/esm/index.d.ts.map +1 -1
  201. package/dist/esm/index.js +4 -0
  202. package/dist/esm/index.js.map +1 -1
  203. package/dist/esm/rules/spiracss-class-structure.d.ts.map +1 -1
  204. package/dist/esm/rules/spiracss-class-structure.js +101 -45
  205. package/dist/esm/rules/spiracss-class-structure.js.map +1 -1
  206. package/dist/esm/rules/spiracss-class-structure.messages.d.ts +10 -8
  207. package/dist/esm/rules/spiracss-class-structure.messages.d.ts.map +1 -1
  208. package/dist/esm/rules/spiracss-class-structure.messages.js +59 -23
  209. package/dist/esm/rules/spiracss-class-structure.messages.js.map +1 -1
  210. package/dist/esm/rules/spiracss-class-structure.options.d.ts.map +1 -1
  211. package/dist/esm/rules/spiracss-class-structure.options.js +73 -58
  212. package/dist/esm/rules/spiracss-class-structure.options.js.map +1 -1
  213. package/dist/esm/rules/spiracss-class-structure.patterns.d.ts +4 -4
  214. package/dist/esm/rules/spiracss-class-structure.patterns.d.ts.map +1 -1
  215. package/dist/esm/rules/spiracss-class-structure.patterns.js +25 -28
  216. package/dist/esm/rules/spiracss-class-structure.patterns.js.map +1 -1
  217. package/dist/esm/rules/spiracss-class-structure.selectors.d.ts +3 -4
  218. package/dist/esm/rules/spiracss-class-structure.selectors.d.ts.map +1 -1
  219. package/dist/esm/rules/spiracss-class-structure.selectors.js +34 -59
  220. package/dist/esm/rules/spiracss-class-structure.selectors.js.map +1 -1
  221. package/dist/esm/rules/spiracss-class-structure.types.d.ts +32 -12
  222. package/dist/esm/rules/spiracss-class-structure.types.d.ts.map +1 -1
  223. package/dist/esm/rules/spiracss-interaction-properties.d.ts.map +1 -1
  224. package/dist/esm/rules/spiracss-interaction-properties.js +203 -112
  225. package/dist/esm/rules/spiracss-interaction-properties.js.map +1 -1
  226. package/dist/esm/rules/spiracss-interaction-properties.messages.d.ts +4 -3
  227. package/dist/esm/rules/spiracss-interaction-properties.messages.d.ts.map +1 -1
  228. package/dist/esm/rules/spiracss-interaction-properties.messages.js +11 -9
  229. package/dist/esm/rules/spiracss-interaction-properties.messages.js.map +1 -1
  230. package/dist/esm/rules/spiracss-interaction-properties.options.d.ts.map +1 -1
  231. package/dist/esm/rules/spiracss-interaction-properties.options.js +13 -15
  232. package/dist/esm/rules/spiracss-interaction-properties.options.js.map +1 -1
  233. package/dist/esm/rules/spiracss-interaction-properties.types.d.ts +9 -5
  234. package/dist/esm/rules/spiracss-interaction-properties.types.d.ts.map +1 -1
  235. package/dist/esm/rules/spiracss-interaction-scope.d.ts.map +1 -1
  236. package/dist/esm/rules/spiracss-interaction-scope.js +22 -22
  237. package/dist/esm/rules/spiracss-interaction-scope.js.map +1 -1
  238. package/dist/esm/rules/spiracss-interaction-scope.messages.d.ts +4 -3
  239. package/dist/esm/rules/spiracss-interaction-scope.messages.d.ts.map +1 -1
  240. package/dist/esm/rules/spiracss-interaction-scope.messages.js +9 -8
  241. package/dist/esm/rules/spiracss-interaction-scope.messages.js.map +1 -1
  242. package/dist/esm/rules/spiracss-interaction-scope.options.d.ts.map +1 -1
  243. package/dist/esm/rules/spiracss-interaction-scope.options.js +37 -43
  244. package/dist/esm/rules/spiracss-interaction-scope.options.js.map +1 -1
  245. package/dist/esm/rules/spiracss-interaction-scope.types.d.ts +14 -14
  246. package/dist/esm/rules/spiracss-interaction-scope.types.d.ts.map +1 -1
  247. package/dist/esm/rules/spiracss-interaction-scope.utils.d.ts.map +1 -1
  248. package/dist/esm/rules/spiracss-interaction-scope.utils.js +31 -11
  249. package/dist/esm/rules/spiracss-interaction-scope.utils.js.map +1 -1
  250. package/dist/esm/rules/spiracss-keyframes-naming.d.ts.map +1 -1
  251. package/dist/esm/rules/spiracss-keyframes-naming.js +32 -29
  252. package/dist/esm/rules/spiracss-keyframes-naming.js.map +1 -1
  253. package/dist/esm/rules/spiracss-keyframes-naming.messages.d.ts +6 -4
  254. package/dist/esm/rules/spiracss-keyframes-naming.messages.d.ts.map +1 -1
  255. package/dist/esm/rules/spiracss-keyframes-naming.messages.js +12 -22
  256. package/dist/esm/rules/spiracss-keyframes-naming.messages.js.map +1 -1
  257. package/dist/esm/rules/spiracss-keyframes-naming.options.d.ts.map +1 -1
  258. package/dist/esm/rules/spiracss-keyframes-naming.options.js +47 -25
  259. package/dist/esm/rules/spiracss-keyframes-naming.options.js.map +1 -1
  260. package/dist/esm/rules/spiracss-keyframes-naming.types.d.ts +21 -11
  261. package/dist/esm/rules/spiracss-keyframes-naming.types.d.ts.map +1 -1
  262. package/dist/esm/rules/spiracss-page-layer.constants.d.ts +2 -0
  263. package/dist/esm/rules/spiracss-page-layer.constants.d.ts.map +1 -0
  264. package/dist/esm/rules/spiracss-page-layer.constants.js +2 -0
  265. package/dist/esm/rules/spiracss-page-layer.constants.js.map +1 -0
  266. package/dist/esm/rules/spiracss-page-layer.d.ts +5 -0
  267. package/dist/esm/rules/spiracss-page-layer.d.ts.map +1 -0
  268. package/dist/esm/rules/spiracss-page-layer.js +237 -0
  269. package/dist/esm/rules/spiracss-page-layer.js.map +1 -0
  270. package/dist/esm/rules/spiracss-page-layer.messages.d.ts +7 -0
  271. package/dist/esm/rules/spiracss-page-layer.messages.d.ts.map +1 -0
  272. package/dist/esm/rules/spiracss-page-layer.messages.js +12 -0
  273. package/dist/esm/rules/spiracss-page-layer.messages.js.map +1 -0
  274. package/dist/esm/rules/spiracss-page-layer.options.d.ts +4 -0
  275. package/dist/esm/rules/spiracss-page-layer.options.d.ts.map +1 -0
  276. package/dist/esm/rules/spiracss-page-layer.options.js +55 -0
  277. package/dist/esm/rules/spiracss-page-layer.options.js.map +1 -0
  278. package/dist/esm/rules/spiracss-page-layer.types.d.ts +19 -0
  279. package/dist/esm/rules/spiracss-page-layer.types.d.ts.map +1 -0
  280. package/dist/esm/rules/spiracss-page-layer.types.js +2 -0
  281. package/dist/esm/rules/spiracss-page-layer.types.js.map +1 -0
  282. package/dist/esm/rules/spiracss-property-placement.constants.d.ts +2 -0
  283. package/dist/esm/rules/spiracss-property-placement.constants.d.ts.map +1 -0
  284. package/dist/esm/rules/spiracss-property-placement.constants.js +2 -0
  285. package/dist/esm/rules/spiracss-property-placement.constants.js.map +1 -0
  286. package/dist/esm/rules/spiracss-property-placement.d.ts +5 -0
  287. package/dist/esm/rules/spiracss-property-placement.d.ts.map +1 -0
  288. package/dist/esm/rules/spiracss-property-placement.js +640 -0
  289. package/dist/esm/rules/spiracss-property-placement.js.map +1 -0
  290. package/dist/esm/rules/spiracss-property-placement.messages.d.ts +19 -0
  291. package/dist/esm/rules/spiracss-property-placement.messages.d.ts.map +1 -0
  292. package/dist/esm/rules/spiracss-property-placement.messages.js +107 -0
  293. package/dist/esm/rules/spiracss-property-placement.messages.js.map +1 -0
  294. package/dist/esm/rules/spiracss-property-placement.options.d.ts +4 -0
  295. package/dist/esm/rules/spiracss-property-placement.options.d.ts.map +1 -0
  296. package/dist/esm/rules/spiracss-property-placement.options.js +70 -0
  297. package/dist/esm/rules/spiracss-property-placement.options.js.map +1 -0
  298. package/dist/esm/rules/spiracss-property-placement.selectors.d.ts +41 -0
  299. package/dist/esm/rules/spiracss-property-placement.selectors.d.ts.map +1 -0
  300. package/dist/esm/rules/spiracss-property-placement.selectors.js +970 -0
  301. package/dist/esm/rules/spiracss-property-placement.selectors.js.map +1 -0
  302. package/dist/esm/rules/spiracss-property-placement.types.d.ts +28 -0
  303. package/dist/esm/rules/spiracss-property-placement.types.d.ts.map +1 -0
  304. package/dist/esm/rules/spiracss-property-placement.types.js +2 -0
  305. package/dist/esm/rules/spiracss-property-placement.types.js.map +1 -0
  306. package/dist/esm/rules/spiracss-property-placement.values.d.ts +19 -0
  307. package/dist/esm/rules/spiracss-property-placement.values.d.ts.map +1 -0
  308. package/dist/esm/rules/spiracss-property-placement.values.js +169 -0
  309. package/dist/esm/rules/spiracss-property-placement.values.js.map +1 -0
  310. package/dist/esm/rules/spiracss-pseudo-nesting.d.ts.map +1 -1
  311. package/dist/esm/rules/spiracss-pseudo-nesting.js +18 -18
  312. package/dist/esm/rules/spiracss-pseudo-nesting.js.map +1 -1
  313. package/dist/esm/rules/spiracss-pseudo-nesting.messages.d.ts +6 -0
  314. package/dist/esm/rules/spiracss-pseudo-nesting.messages.d.ts.map +1 -0
  315. package/dist/esm/rules/spiracss-pseudo-nesting.messages.js +7 -0
  316. package/dist/esm/rules/spiracss-pseudo-nesting.messages.js.map +1 -0
  317. package/dist/esm/rules/spiracss-pseudo-nesting.types.d.ts +1 -1
  318. package/dist/esm/rules/spiracss-pseudo-nesting.types.d.ts.map +1 -1
  319. package/dist/esm/rules/spiracss-rel-comments.alias.d.ts.map +1 -1
  320. package/dist/esm/rules/spiracss-rel-comments.alias.js +59 -11
  321. package/dist/esm/rules/spiracss-rel-comments.alias.js.map +1 -1
  322. package/dist/esm/rules/spiracss-rel-comments.d.ts.map +1 -1
  323. package/dist/esm/rules/spiracss-rel-comments.js +72 -42
  324. package/dist/esm/rules/spiracss-rel-comments.js.map +1 -1
  325. package/dist/esm/rules/spiracss-rel-comments.messages.d.ts +5 -4
  326. package/dist/esm/rules/spiracss-rel-comments.messages.d.ts.map +1 -1
  327. package/dist/esm/rules/spiracss-rel-comments.messages.js +16 -9
  328. package/dist/esm/rules/spiracss-rel-comments.messages.js.map +1 -1
  329. package/dist/esm/rules/spiracss-rel-comments.options.d.ts.map +1 -1
  330. package/dist/esm/rules/spiracss-rel-comments.options.js +64 -36
  331. package/dist/esm/rules/spiracss-rel-comments.options.js.map +1 -1
  332. package/dist/esm/rules/spiracss-rel-comments.selectors.d.ts.map +1 -1
  333. package/dist/esm/rules/spiracss-rel-comments.selectors.js +4 -5
  334. package/dist/esm/rules/spiracss-rel-comments.selectors.js.map +1 -1
  335. package/dist/esm/rules/spiracss-rel-comments.types.d.ts +29 -15
  336. package/dist/esm/rules/spiracss-rel-comments.types.d.ts.map +1 -1
  337. package/dist/esm/types.d.ts +2 -0
  338. package/dist/esm/types.d.ts.map +1 -1
  339. package/dist/esm/utils/cache.d.ts +3 -0
  340. package/dist/esm/utils/cache.d.ts.map +1 -1
  341. package/dist/esm/utils/cache.js +27 -5
  342. package/dist/esm/utils/cache.js.map +1 -1
  343. package/dist/esm/utils/constants.d.ts +1 -0
  344. package/dist/esm/utils/constants.d.ts.map +1 -1
  345. package/dist/esm/utils/constants.js +13 -0
  346. package/dist/esm/utils/constants.js.map +1 -1
  347. package/dist/esm/utils/formatting.d.ts +5 -1
  348. package/dist/esm/utils/formatting.d.ts.map +1 -1
  349. package/dist/esm/utils/formatting.js +14 -6
  350. package/dist/esm/utils/formatting.js.map +1 -1
  351. package/dist/esm/utils/messages.d.ts +25 -0
  352. package/dist/esm/utils/messages.d.ts.map +1 -0
  353. package/dist/esm/utils/messages.js +160 -0
  354. package/dist/esm/utils/messages.js.map +1 -0
  355. package/dist/esm/utils/naming.d.ts +1 -2
  356. package/dist/esm/utils/naming.d.ts.map +1 -1
  357. package/dist/esm/utils/naming.js +2 -10
  358. package/dist/esm/utils/naming.js.map +1 -1
  359. package/dist/esm/utils/normalize.d.ts +1 -0
  360. package/dist/esm/utils/normalize.d.ts.map +1 -1
  361. package/dist/esm/utils/normalize.js +51 -7
  362. package/dist/esm/utils/normalize.js.map +1 -1
  363. package/dist/esm/utils/option-schema.d.ts +11 -8
  364. package/dist/esm/utils/option-schema.d.ts.map +1 -1
  365. package/dist/esm/utils/option-schema.js +12 -9
  366. package/dist/esm/utils/option-schema.js.map +1 -1
  367. package/dist/esm/utils/options.d.ts +34 -0
  368. package/dist/esm/utils/options.d.ts.map +1 -0
  369. package/dist/esm/utils/options.js +36 -0
  370. package/dist/esm/utils/options.js.map +1 -0
  371. package/dist/esm/utils/rule-docs.d.ts +2 -0
  372. package/dist/esm/utils/rule-docs.d.ts.map +1 -0
  373. package/dist/esm/utils/rule-docs.js +18 -0
  374. package/dist/esm/utils/rule-docs.js.map +1 -0
  375. package/dist/esm/utils/section.d.ts.map +1 -1
  376. package/dist/esm/utils/section.js +31 -38
  377. package/dist/esm/utils/section.js.map +1 -1
  378. package/dist/esm/utils/selector-policy.d.ts +16 -0
  379. package/dist/esm/utils/selector-policy.d.ts.map +1 -0
  380. package/dist/esm/utils/selector-policy.js +51 -0
  381. package/dist/esm/utils/selector-policy.js.map +1 -0
  382. package/dist/esm/utils/selector.d.ts +4 -1
  383. package/dist/esm/utils/selector.d.ts.map +1 -1
  384. package/dist/esm/utils/selector.js +59 -36
  385. package/dist/esm/utils/selector.js.map +1 -1
  386. package/dist/esm/utils/stylelint.d.ts +0 -1
  387. package/dist/esm/utils/stylelint.d.ts.map +1 -1
  388. package/dist/esm/utils/stylelint.js +17 -2
  389. package/dist/esm/utils/stylelint.js.map +1 -1
  390. package/package.json +6 -5
@@ -1,18 +1,21 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
3
  import stylelint from 'stylelint';
4
- import { createLruCache, DEFAULT_CACHE_SIZES } from '../utils/cache.js';
4
+ import { createLruCache } from '../utils/cache.js';
5
5
  import { NON_SELECTOR_AT_RULE_NAMES, ROOT_WRAPPER_NAMES } from '../utils/constants.js';
6
6
  import { normalizeCustomPattern } from '../utils/naming.js';
7
- import { CACHE_SIZES_SCHEMA, INTERACTION_COMMENT_PATTERN_SCHEMA, NAMING_SCHEMA, SHARED_COMMENT_PATTERN_SCHEMA } from '../utils/option-schema.js';
7
+ import { selectorParseFailedArgs } from '../utils/messages.js';
8
+ import { CACHE_SCHEMA, COMMENTS_SCHEMA, EXTERNAL_SCHEMA, NAMING_SCHEMA } from '../utils/option-schema.js';
8
9
  import { getCommentText, isRuleInRootScope, isRuleInsideAtRule, markInteractionRules, markSharedRules } from '../utils/section.js';
9
10
  import { createSelectorCacheWithErrorFlag } from '../utils/selector.js';
10
11
  import { createPlugin, createRule, reportInvalidOption, validateOptionsArrayFields } from '../utils/stylelint.js';
11
- import { isAliasRoots, isBoolean, isPlainObject, isString, isStringArray } from '../utils/validate.js';
12
- import { extractLinkTargets, normalizeRelPath, resolvePathCandidates } from './spiracss-rel-comments.alias.js';
12
+ import { getRuleDocsUrl } from '../utils/rule-docs.js';
13
+ import { isBoolean, isPlainObject, isString, isStringArray } from '../utils/validate.js';
14
+ import { extractLinkTargets, normalizeRelPath, resolveAliasCandidates, resolvePathCandidates } from './spiracss-rel-comments.alias.js';
13
15
  import { ruleName } from './spiracss-rel-comments.constants.js';
14
16
  import { messages } from './spiracss-rel-comments.messages.js';
15
17
  import { normalizeOptions } from './spiracss-rel-comments.options.js';
18
+ import { splitSelectors, stripGlobalSelectorForRoot } from './spiracss-property-placement.selectors.js';
16
19
  import { findFirstBodyNode, findTopRelComment, getFirstRuleNode, getFirstRuleNodeInScope, getRootScopeContainer, hasMetaLoadCss, hasRuleNodes } from './spiracss-rel-comments.root.js';
17
20
  import { collectDirectChildBlocks, collectRootBlockNames } from './spiracss-rel-comments.selectors.js';
18
21
  // SpiraCSS: @rel and alias link comment rule.
@@ -22,28 +25,27 @@ import { collectDirectChildBlocks, collectRootBlockNames } from './spiracss-rel-
22
25
  // - Comment paths (@rel / @assets / @components) must resolve to existing files.
23
26
  export { ruleName };
24
27
  const meta = {
25
- url: 'https://github.com/zetsubo-dev/spiracss/blob/master/docs_spira/ja/tooling/stylelint.md#spiracssrel-comments',
28
+ url: getRuleDocsUrl(ruleName),
26
29
  fixable: false,
27
30
  description: 'Validate @rel and alias link comments in SpiraCSS files.',
28
31
  category: 'stylistic'
29
32
  };
33
+ const ALIAS_KEY_PATTERN = /^[a-z][a-z0-9-]*$/;
30
34
  const optionSchema = {
31
- requireInScssDirectories: [isBoolean],
32
- requireWhenMetaLoadCss: [isBoolean],
35
+ requireScss: [isBoolean],
36
+ requireMeta: [isBoolean],
37
+ requireParent: [isBoolean],
38
+ requireChild: [isBoolean],
39
+ requireChildShared: [isBoolean],
40
+ requireChildInteraction: [isBoolean],
33
41
  validatePath: [isBoolean],
34
- skipFilesWithoutRules: [isBoolean],
35
- requireChildRelComments: [isBoolean],
36
- requireChildRelCommentsInShared: [isBoolean],
37
- requireChildRelCommentsInInteraction: [isBoolean],
38
- requireParentRelComment: [isBoolean],
39
- childScssDir: [isString],
40
- aliasRoots: [isAliasRoots],
41
- ...SHARED_COMMENT_PATTERN_SCHEMA,
42
- ...INTERACTION_COMMENT_PATTERN_SCHEMA,
42
+ skipNoRules: [isBoolean],
43
+ childDir: [isString],
44
+ aliasRoots: [isPlainObject],
45
+ ...COMMENTS_SCHEMA,
43
46
  ...NAMING_SCHEMA,
44
- ...CACHE_SIZES_SCHEMA,
45
- allowExternalClasses: [isString],
46
- allowExternalPrefixes: [isString]
47
+ ...EXTERNAL_SCHEMA,
48
+ ...CACHE_SCHEMA
47
49
  };
48
50
  const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _context) => {
49
51
  if (primaryOption === false) {
@@ -72,11 +74,11 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
72
74
  }
73
75
  cache = {
74
76
  options,
75
- aliasRoots: options.aliasRoots || {},
76
- childScssDir: options.childScssDir || 'scss',
77
+ aliasRoots: options.paths.aliases || {},
78
+ childScssDir: options.paths.childDir || 'scss',
77
79
  commentPatterns: {
78
- sharedCommentPattern: options.sharedCommentPattern,
79
- interactionCommentPattern: options.interactionCommentPattern
80
+ sharedCommentPattern: options.comments.shared,
81
+ interactionCommentPattern: options.comments.interaction
80
82
  },
81
83
  hasInvalidOptions
82
84
  };
@@ -105,23 +107,47 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
105
107
  reportInvalidOption(result, ruleName, optionName, value, detail);
106
108
  }
107
109
  : undefined;
108
- const hasInvalid = validateOptionsArrayFields(rawOptions, ['allowExternalClasses', 'allowExternalPrefixes'], isStringArray, reportInvalid, (optionName) => `[spiracss] ${optionName} must be an array of non-empty strings.`);
110
+ const hasInvalid = validateOptionsArrayFields(rawOptions, ['external.classes', 'external.prefixes'], isStringArray, reportInvalid, (optionName) => `[spiracss] ${optionName} must be an array of non-empty strings.`);
109
111
  if (shouldValidate && hasInvalid)
110
112
  return;
111
113
  const { options, aliasRoots, childScssDir, commentPatterns, hasInvalidOptions } = getCache(reportInvalid);
112
114
  if (shouldValidate && hasInvalidOptions)
113
115
  return;
114
- const cacheSizes = options.cacheSizes ?? DEFAULT_CACHE_SIZES;
116
+ const cacheSizes = options.cache;
115
117
  const selectorState = createSelectorCacheWithErrorFlag(cacheSizes.selector);
116
118
  const selectorCache = selectorState.cache;
117
119
  const pathExistsCache = createLruCache(cacheSizes.path);
118
120
  const targetExistsCache = createLruCache(cacheSizes.path);
121
+ const checkPathExists = (candidate) => {
122
+ const cached = pathExistsCache.get(candidate);
123
+ if (cached !== undefined)
124
+ return cached;
125
+ const exists = fs.existsSync(candidate);
126
+ pathExistsCache.set(candidate, exists);
127
+ return exists;
128
+ };
119
129
  const filePath = result?.opts?.from || '';
120
130
  const inScssDir = filePath.split(path.sep).includes(childScssDir);
121
131
  const containsRules = hasRuleNodes(root);
122
- const needsRulesCheck = !options.skipFilesWithoutRules || containsRules;
132
+ const needsRulesCheck = !options.skip.noRules || containsRules;
123
133
  const firstRule = getFirstRuleNode(root);
124
134
  const projectRoot = result.opts?.cwd ?? process.cwd();
135
+ const aliasKeys = Object.keys(aliasRoots).filter((key) => {
136
+ if (!ALIAS_KEY_PATTERN.test(key) || key === 'rel')
137
+ return false;
138
+ const bases = Array.isArray(aliasRoots[key]) ? aliasRoots[key] : [];
139
+ if (bases.length === 0)
140
+ return false;
141
+ const hasExistingBase = bases.some((base) => {
142
+ const resolvedBase = path.isAbsolute(base)
143
+ ? base
144
+ : path.resolve(projectRoot, base);
145
+ return checkPathExists(resolvedBase);
146
+ });
147
+ if (!hasExistingBase)
148
+ return false;
149
+ return resolveAliasCandidates(`@${key}`, projectRoot, aliasRoots).length > 0;
150
+ });
125
151
  const hasMetaLoad = hasMetaLoadCss(root, childScssDir);
126
152
  const sharedRules = markSharedRules(root, commentPatterns);
127
153
  const interactionRules = markInteractionRules(root, commentPatterns);
@@ -137,9 +163,13 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
137
163
  return;
138
164
  if (typeof rule.selector !== 'string')
139
165
  return;
140
- if (rule.selector.includes(':global'))
166
+ const selectorTexts = splitSelectors(rule.selector, selectorCache);
167
+ const localSelectors = selectorTexts
168
+ .map((selectorText) => stripGlobalSelectorForRoot(selectorText, selectorCache, cacheSizes.selector, { preserveCombinator: true }))
169
+ .filter((selector) => Boolean(selector));
170
+ if (localSelectors.length === 0)
141
171
  return;
142
- const selectors = selectorCache.parse(rule.selector);
172
+ const selectors = localSelectors.flatMap((selector) => selectorCache.parse(selector));
143
173
  const rootBlocks = collectRootBlockNames(selectors, options);
144
174
  if (rootBlocks.length === 0)
145
175
  return;
@@ -147,8 +177,8 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
147
177
  if (!firstRootBlockRule)
148
178
  firstRootBlockRule = rule;
149
179
  });
150
- const requiresMetaRel = options.requireWhenMetaLoadCss && hasMetaLoad;
151
- const requiresScssRel = options.requireInScssDirectories && inScssDir;
180
+ const requiresMetaRel = options.require.meta && hasMetaLoad;
181
+ const requiresScssRel = options.require.scss && inScssDir;
152
182
  const relComments = [];
153
183
  root.walkComments((comment) => {
154
184
  const text = getCommentText(comment);
@@ -168,7 +198,7 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
168
198
  ruleName,
169
199
  result,
170
200
  node: comment,
171
- message: messages.misplacedParentRel()
201
+ message: messages.misplacedParentRel(aliasKeys)
172
202
  });
173
203
  hasMisplacedParentRel = true;
174
204
  }
@@ -180,7 +210,7 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
180
210
  ruleName,
181
211
  result,
182
212
  node: comment,
183
- message: messages.misplacedParentRel()
213
+ message: messages.misplacedParentRel(aliasKeys)
184
214
  });
185
215
  hasMisplacedParentRel = true;
186
216
  return;
@@ -193,14 +223,14 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
193
223
  ruleName,
194
224
  result,
195
225
  node: comment,
196
- message: messages.misplacedParentRel()
226
+ message: messages.misplacedParentRel(aliasKeys)
197
227
  });
198
228
  }
199
229
  }
200
230
  }
201
231
  });
202
232
  const requiresParentRel = needsRulesCheck &&
203
- options.requireParentRelComment &&
233
+ options.require.parent &&
204
234
  (requiresMetaRel || requiresScssRel);
205
235
  if (requiresParentRel) {
206
236
  if (firstRootBlockRule) {
@@ -222,19 +252,19 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
222
252
  ruleName,
223
253
  result,
224
254
  node: targetNode,
225
- message: messages.missingParentRel()
255
+ message: messages.missingParentRel(aliasKeys)
226
256
  });
227
257
  }
228
258
  }
229
- if (options.requireChildRelComments && needsRulesCheck) {
259
+ if (options.require.child.enabled && needsRulesCheck) {
230
260
  allRules.forEach((rule) => {
231
261
  if (isRuleInsideAtRule(rule, NON_SELECTOR_AT_RULE_NAMES))
232
262
  return;
233
263
  const isShared = sharedRules.has(rule);
234
264
  const isInteraction = interactionRules.has(rule);
235
- if (isShared && !options.requireChildRelCommentsInShared)
265
+ if (isShared && !options.require.child.shared)
236
266
  return;
237
- if (isInteraction && !options.requireChildRelCommentsInInteraction)
267
+ if (isInteraction && !options.require.child.interaction)
238
268
  return;
239
269
  const childBlocks = collectDirectChildBlocks(rule.selector || '', options, selectorCache);
240
270
  if (childBlocks.length === 0)
@@ -245,7 +275,7 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
245
275
  ruleName,
246
276
  result,
247
277
  node: rule,
248
- message: messages.missingChildRel()
278
+ message: messages.missingChildRel(aliasKeys)
249
279
  });
250
280
  return;
251
281
  }
@@ -257,7 +287,7 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
257
287
  ruleName,
258
288
  result,
259
289
  node: rule,
260
- message: messages.missingChildRel()
290
+ message: messages.missingChildRel(aliasKeys)
261
291
  });
262
292
  return;
263
293
  }
@@ -276,7 +306,7 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
276
306
  });
277
307
  });
278
308
  }
279
- if (options.validatePath) {
309
+ if (options.validate.path) {
280
310
  const baseDir = filePath ? path.dirname(filePath) : process.cwd();
281
311
  const pathExists = (candidate) => {
282
312
  if (pathExistsCache.has(candidate)) {
@@ -333,7 +363,7 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
333
363
  ruleName,
334
364
  result,
335
365
  node: targetNode,
336
- message: messages.selectorParseFailed(),
366
+ message: messages.selectorParseFailed(...selectorParseFailedArgs(selectorState.getErrorSelector())),
337
367
  severity: 'warning'
338
368
  });
339
369
  }
@@ -1 +1 @@
1
- {"version":3,"file":"spiracss-rel-comments.js","sourceRoot":"","sources":["../../../src/rules/spiracss-rel-comments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spiracss-rel-comments.js","sourceRoot":"","sources":["../../../src/rules/spiracss-rel-comments.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
+ import { type RuleMessageArgs } from '../utils/messages';
1
2
  export declare const messages: {
2
- missingParentRel: () => string;
3
- misplacedParentRel: () => string;
3
+ missingParentRel: (aliases: string[]) => string;
4
+ misplacedParentRel: (aliases: string[]) => string;
4
5
  rootBlockNotFirst: () => string;
5
- missingChildRel: () => string;
6
+ missingChildRel: (aliases: string[]) => string;
6
7
  notFound: (target: string) => string;
7
8
  childMismatch: (child: string) => string;
8
- selectorParseFailed: () => string;
9
+ selectorParseFailed: (...args: RuleMessageArgs) => string;
9
10
  };
10
11
  //# sourceMappingURL=spiracss-rel-comments.messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spiracss-rel-comments.messages.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-rel-comments.messages.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ;;;;;uBAUA,MAAM;2BACF,MAAM;;CAI7B,CAAA"}
1
+ {"version":3,"file":"spiracss-rel-comments.messages.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-rel-comments.messages.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAA;AAQ1B,eAAO,MAAM,QAAQ;gCAES,MAAM,EAAE;kCAKN,MAAM,EAAE;;+BAcX,MAAM,EAAE;uBAUhB,MAAM;2BAIF,MAAM;mCAME,eAAe;CAC9C,CAAA"}
@@ -1,13 +1,20 @@
1
- import stylelint from 'stylelint';
2
1
  import { ruleName } from './spiracss-rel-comments.constants.js';
3
- export const messages = stylelint.utils.ruleMessages(ruleName, {
2
+ import { createRuleMessages, formatCode, formatConfigList, formatSelectorParseFailed } from '../utils/messages.js';
3
+ const formatAliasList = (aliases) => formatConfigList(aliases.map((alias) => `@${alias}/`));
4
+ const formatAliasHint = (aliases) => ` (current: ${formatAliasList(aliases)})`;
5
+ export const messages = createRuleMessages(ruleName, {
4
6
  // Summarizes missing/incorrect link comment placement (top-of-file, child Block, or inside root Block).
5
- missingParentRel: () => 'Missing top-of-file link comment to the parent. Add it as the first line before the root Block. Example: "// @rel/../parent-block.scss" or "// @assets/...".',
6
- misplacedParentRel: () => 'Parent link comment must be at the top of the file (before the root Block). Move it above the root Block as the first line (e.g., @rel or @assets).',
7
- rootBlockNotFirst: () => 'Root Block must be the first rule in its root scope (after @use/@forward/@import). Move it above other rules so the parent link comment can stay at the top.',
8
- missingChildRel: () => 'Missing child @rel comment. Add "// @rel/<child>.scss" as the first line inside each direct child rule ("> .child"). Example: "> .child { // @rel/child.scss }".',
9
- notFound: (target) => `Link target not found: ${target}. Fix the path or aliasRoots.`,
10
- childMismatch: (child) => `Link comment must include "${child}.scss" for direct child ".${child}". Update the @rel path to match.`,
11
- selectorParseFailed: () => 'Failed to parse one or more selectors, so some checks were skipped. Ensure selectors are valid CSS/SCSS or avoid interpolation in selectors.'
7
+ missingParentRel: (aliases) => 'Missing top-of-file link comment to the parent. Add it as the first line before the root Block. ' +
8
+ `Use ${formatCode('// @rel/...')} or a configured alias from ${formatCode('aliasRoots')}${formatAliasHint(aliases)}.`,
9
+ misplacedParentRel: (aliases) => 'Parent link comment must be at the top of the file (before the root Block). ' +
10
+ `Move it above the root Block as the first line (e.g., ${formatCode('// @rel/...')}). ` +
11
+ `Use a configured alias from ${formatCode('aliasRoots')}${formatAliasHint(aliases)}.`,
12
+ rootBlockNotFirst: () => `Root Block must be the first rule in its root scope (after ${formatCode('@use')}/${formatCode('@forward')}/${formatCode('@import')}). Move it above other rules so the parent link comment can stay at the top.`,
13
+ missingChildRel: (aliases) => `Missing child link comment. Add ${formatCode('// @rel/<child>.scss')} or ${formatCode('// @<alias>/<child>.scss')} ` +
14
+ `using ${formatCode('aliasRoots')}${formatAliasHint(aliases)} as the first line inside each direct child rule (${formatCode('> .child')}). ` +
15
+ `Example: ${formatCode('> .child { // @rel/child.scss }')}.`,
16
+ notFound: (target) => `Link target not found: ${formatCode(target)}. Fix the path or ${formatCode('aliasRoots')}.`,
17
+ childMismatch: (child) => `Link comment must include ${formatCode(`${child}.scss`)} for direct child ${formatCode(`.${child}`)}. Update the ${formatCode('@rel')} path to match.`,
18
+ selectorParseFailed: (...args) => formatSelectorParseFailed(args[0])
12
19
  });
13
20
  //# sourceMappingURL=spiracss-rel-comments.messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spiracss-rel-comments.messages.js","sourceRoot":"","sources":["../../../src/rules/spiracss-rel-comments.messages.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAE5D,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;IAC7D,wGAAwG;IACxG,gBAAgB,EAAE,GAAG,EAAE,CACrB,8JAA8J;IAChK,kBAAkB,EAAE,GAAG,EAAE,CACvB,qJAAqJ;IACvJ,iBAAiB,EAAE,GAAG,EAAE,CACtB,8JAA8J;IAChK,eAAe,EAAE,GAAG,EAAE,CACpB,kKAAkK;IACpK,QAAQ,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,0BAA0B,MAAM,+BAA+B;IAC7F,aAAa,EAAE,CAAC,KAAa,EAAE,EAAE,CAC/B,8BAA8B,KAAK,6BAA6B,KAAK,mCAAmC;IAC1G,mBAAmB,EAAE,GAAG,EAAE,CACxB,8IAA8I;CACjJ,CAAC,CAAA"}
1
+ {"version":3,"file":"spiracss-rel-comments.messages.js","sourceRoot":"","sources":["../../../src/rules/spiracss-rel-comments.messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAC5D,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EAE1B,MAAM,mBAAmB,CAAA;AAE1B,MAAM,eAAe,GAAG,CAAC,OAAiB,EAAU,EAAE,CACpD,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAA;AAExD,MAAM,eAAe,GAAG,CAAC,OAAiB,EAAU,EAAE,CACpD,cAAc,eAAe,CAAC,OAAO,CAAC,GAAG,CAAA;AAE3C,MAAM,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE;IACnD,wGAAwG;IACxG,gBAAgB,EAAE,CAAC,OAAiB,EAAE,EAAE,CACtC,kGAAkG;QAClG,OAAO,UAAU,CAAC,aAAa,CAAC,+BAA+B,UAAU,CACvE,YAAY,CACb,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG;IACjC,kBAAkB,EAAE,CAAC,OAAiB,EAAE,EAAE,CACxC,8EAA8E;QAC9E,yDAAyD,UAAU,CACjE,aAAa,CACd,KAAK;QACN,+BAA+B,UAAU,CACvC,YAAY,CACb,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG;IACjC,iBAAiB,EAAE,GAAG,EAAE,CACtB,8DAA8D,UAAU,CACtE,MAAM,CACP,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CACvC,SAAS,CACV,8EAA8E;IACjF,eAAe,EAAE,CAAC,OAAiB,EAAE,EAAE,CACrC,mCAAmC,UAAU,CAC3C,sBAAsB,CACvB,OAAO,UAAU,CAAC,0BAA0B,CAAC,GAAG;QACjD,SAAS,UAAU,CACjB,YAAY,CACb,GAAG,eAAe,CAAC,OAAO,CAAC,qDAAqD,UAAU,CACzF,UAAU,CACX,KAAK;QACN,YAAY,UAAU,CAAC,iCAAiC,CAAC,GAAG;IAC9D,QAAQ,EAAE,CAAC,MAAc,EAAE,EAAE,CAC3B,0BAA0B,UAAU,CAClC,MAAM,CACP,qBAAqB,UAAU,CAAC,YAAY,CAAC,GAAG;IACnD,aAAa,EAAE,CAAC,KAAa,EAAE,EAAE,CAC/B,6BAA6B,UAAU,CACrC,GAAG,KAAK,OAAO,CAChB,qBAAqB,UAAU,CAC9B,IAAI,KAAK,EAAE,CACZ,gBAAgB,UAAU,CAAC,MAAM,CAAC,iBAAiB;IACtD,mBAAmB,EAAE,CAAC,GAAG,IAAqB,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACtF,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"spiracss-rel-comments.options.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-rel-comments.options.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,qBAAqB,EAK3B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAqB5D,eAAO,MAAM,gBAAgB,GAC3B,KAAK,OAAO,EACZ,gBAAgB,qBAAqB,KACpC,OAwEF,CAAA"}
1
+ {"version":3,"file":"spiracss-rel-comments.options.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-rel-comments.options.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAmC5D,eAAO,MAAM,gBAAgB,GAC3B,KAAK,OAAO,EACZ,gBAAgB,qBAAqB,KACpC,OAyFF,CAAA"}
@@ -1,47 +1,75 @@
1
- import { DEFAULT_CACHE_SIZES, normalizeCacheSizes } from '../utils/cache.js';
2
- import { normalizeBoolean, normalizeCommentPattern, normalizeString, normalizeStringArray } from '../utils/normalize.js';
1
+ import { DEFAULT_CACHE_SIZES } from '../utils/cache.js';
2
+ import { normalizeBoolean, normalizeString } from '../utils/normalize.js';
3
+ import { normalizeCommonOptions, pickCommonDefaults } from '../utils/options.js';
4
+ import { isAliasRoots } from '../utils/validate.js';
3
5
  const defaultOptions = {
4
- requireInScssDirectories: true,
5
- requireWhenMetaLoadCss: true,
6
- validatePath: true,
7
- skipFilesWithoutRules: true,
8
- requireChildRelComments: true,
9
- requireChildRelCommentsInShared: true,
10
- requireChildRelCommentsInInteraction: false,
11
- requireParentRelComment: true,
12
- childScssDir: 'scss',
13
- aliasRoots: undefined,
14
- sharedCommentPattern: /--shared/i,
15
- interactionCommentPattern: /--interaction/i,
6
+ require: {
7
+ scss: true,
8
+ meta: true,
9
+ parent: true,
10
+ child: {
11
+ enabled: true,
12
+ shared: true,
13
+ interaction: false
14
+ }
15
+ },
16
+ validate: {
17
+ path: true
18
+ },
19
+ skip: {
20
+ noRules: true
21
+ },
22
+ paths: {
23
+ childDir: 'scss',
24
+ aliases: undefined
25
+ },
26
+ comments: {
27
+ shared: /--shared/i,
28
+ interaction: /--interaction/i
29
+ },
16
30
  naming: undefined,
17
- allowExternalClasses: [],
18
- allowExternalPrefixes: [],
19
- cacheSizes: DEFAULT_CACHE_SIZES
31
+ external: {
32
+ classes: [],
33
+ prefixes: []
34
+ },
35
+ cache: DEFAULT_CACHE_SIZES
20
36
  };
21
37
  export const normalizeOptions = (opt, reportInvalid) => {
22
38
  if (!opt || typeof opt !== 'object')
23
39
  return { ...defaultOptions };
24
40
  const raw = opt;
25
- const fallbackChildScssDir = defaultOptions.childScssDir ?? 'scss';
41
+ const common = normalizeCommonOptions(raw, pickCommonDefaults(defaultOptions), reportInvalid);
42
+ const fallbackChildDir = defaultOptions.paths.childDir ?? 'scss';
43
+ const normalizeAliases = (value) => {
44
+ if (value === undefined)
45
+ return defaultOptions.paths.aliases;
46
+ if (isAliasRoots(value))
47
+ return value;
48
+ reportInvalid?.('aliasRoots', value, '[spiracss] aliasRoots must be an object whose values are string arrays.');
49
+ return defaultOptions.paths.aliases;
50
+ };
26
51
  return {
27
- requireInScssDirectories: normalizeBoolean(raw.requireInScssDirectories, defaultOptions.requireInScssDirectories, { coerce: true }),
28
- requireWhenMetaLoadCss: normalizeBoolean(raw.requireWhenMetaLoadCss, defaultOptions.requireWhenMetaLoadCss, { coerce: true }),
29
- validatePath: normalizeBoolean(raw.validatePath, defaultOptions.validatePath, {
30
- coerce: true
31
- }),
32
- skipFilesWithoutRules: normalizeBoolean(raw.skipFilesWithoutRules, defaultOptions.skipFilesWithoutRules, { coerce: true }),
33
- requireChildRelComments: normalizeBoolean(raw.requireChildRelComments, defaultOptions.requireChildRelComments, { coerce: true }),
34
- requireChildRelCommentsInShared: normalizeBoolean(raw.requireChildRelCommentsInShared, defaultOptions.requireChildRelCommentsInShared, { coerce: true }),
35
- requireChildRelCommentsInInteraction: normalizeBoolean(raw.requireChildRelCommentsInInteraction, defaultOptions.requireChildRelCommentsInInteraction, { coerce: true }),
36
- requireParentRelComment: normalizeBoolean(raw.requireParentRelComment, defaultOptions.requireParentRelComment, { coerce: true }),
37
- childScssDir: normalizeString(raw.childScssDir, fallbackChildScssDir),
38
- aliasRoots: raw.aliasRoots || defaultOptions.aliasRoots,
39
- sharedCommentPattern: normalizeCommentPattern(raw.sharedCommentPattern, defaultOptions.sharedCommentPattern, 'sharedCommentPattern', reportInvalid),
40
- interactionCommentPattern: normalizeCommentPattern(raw.interactionCommentPattern, defaultOptions.interactionCommentPattern, 'interactionCommentPattern', reportInvalid),
41
- naming: raw.naming || defaultOptions.naming,
42
- allowExternalClasses: normalizeStringArray(raw.allowExternalClasses, defaultOptions.allowExternalClasses),
43
- allowExternalPrefixes: normalizeStringArray(raw.allowExternalPrefixes, defaultOptions.allowExternalPrefixes),
44
- cacheSizes: normalizeCacheSizes(raw.cacheSizes, reportInvalid)
52
+ require: {
53
+ scss: normalizeBoolean(raw.requireScss, defaultOptions.require.scss, { coerce: true }),
54
+ meta: normalizeBoolean(raw.requireMeta, defaultOptions.require.meta, { coerce: true }),
55
+ parent: normalizeBoolean(raw.requireParent, defaultOptions.require.parent, { coerce: true }),
56
+ child: {
57
+ enabled: normalizeBoolean(raw.requireChild, defaultOptions.require.child.enabled, { coerce: true }),
58
+ shared: normalizeBoolean(raw.requireChildShared, defaultOptions.require.child.shared, { coerce: true }),
59
+ interaction: normalizeBoolean(raw.requireChildInteraction, defaultOptions.require.child.interaction, { coerce: true })
60
+ }
61
+ },
62
+ validate: {
63
+ path: normalizeBoolean(raw.validatePath, defaultOptions.validate.path, { coerce: true })
64
+ },
65
+ skip: {
66
+ noRules: normalizeBoolean(raw.skipNoRules, defaultOptions.skip.noRules, { coerce: true })
67
+ },
68
+ paths: {
69
+ childDir: normalizeString(raw.childDir, fallbackChildDir),
70
+ aliases: normalizeAliases(raw.aliasRoots)
71
+ },
72
+ ...common
45
73
  };
46
74
  };
47
75
  //# sourceMappingURL=spiracss-rel-comments.options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spiracss-rel-comments.options.js","sourceRoot":"","sources":["../../../src/rules/spiracss-rel-comments.options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACzE,OAAO,EAEL,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;AAG3B,MAAM,cAAc,GAAY;IAC9B,wBAAwB,EAAE,IAAI;IAC9B,sBAAsB,EAAE,IAAI;IAC5B,YAAY,EAAE,IAAI;IAClB,qBAAqB,EAAE,IAAI;IAC3B,uBAAuB,EAAE,IAAI;IAC7B,+BAA+B,EAAE,IAAI;IACrC,oCAAoC,EAAE,KAAK;IAC3C,uBAAuB,EAAE,IAAI;IAC7B,YAAY,EAAE,MAAM;IACpB,UAAU,EAAE,SAAS;IACrB,oBAAoB,EAAE,WAAW;IACjC,yBAAyB,EAAE,gBAAgB;IAC3C,MAAM,EAAE,SAAS;IACjB,oBAAoB,EAAE,EAAE;IACxB,qBAAqB,EAAE,EAAE;IACzB,UAAU,EAAE,mBAAmB;CAChC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,GAAY,EACZ,aAAqC,EAC5B,EAAE;IACX,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAA;IACjE,MAAM,GAAG,GAAG,GAGX,CAAA;IACD,MAAM,oBAAoB,GAAG,cAAc,CAAC,YAAY,IAAI,MAAM,CAAA;IAElE,OAAO;QACL,wBAAwB,EAAE,gBAAgB,CACxC,GAAG,CAAC,wBAAwB,EAC5B,cAAc,CAAC,wBAAwB,EACvC,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB;QACD,sBAAsB,EAAE,gBAAgB,CACtC,GAAG,CAAC,sBAAsB,EAC1B,cAAc,CAAC,sBAAsB,EACrC,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB;QACD,YAAY,EAAE,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,YAAY,EAAE;YAC5E,MAAM,EAAE,IAAI;SACb,CAAC;QACF,qBAAqB,EAAE,gBAAgB,CACrC,GAAG,CAAC,qBAAqB,EACzB,cAAc,CAAC,qBAAqB,EACpC,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB;QACD,uBAAuB,EAAE,gBAAgB,CACvC,GAAG,CAAC,uBAAuB,EAC3B,cAAc,CAAC,uBAAuB,EACtC,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB;QACD,+BAA+B,EAAE,gBAAgB,CAC/C,GAAG,CAAC,+BAA+B,EACnC,cAAc,CAAC,+BAA+B,EAC9C,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB;QACD,oCAAoC,EAAE,gBAAgB,CACpD,GAAG,CAAC,oCAAoC,EACxC,cAAc,CAAC,oCAAoC,EACnD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB;QACD,uBAAuB,EAAE,gBAAgB,CACvC,GAAG,CAAC,uBAAuB,EAC3B,cAAc,CAAC,uBAAuB,EACtC,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB;QACD,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,oBAAoB,CAAC;QACrE,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,cAAc,CAAC,UAAU;QACvD,oBAAoB,EAAE,uBAAuB,CAC3C,GAAG,CAAC,oBAAoB,EACxB,cAAc,CAAC,oBAAoB,EACnC,sBAAsB,EACtB,aAAa,CACd;QACD,yBAAyB,EAAE,uBAAuB,CAChD,GAAG,CAAC,yBAAyB,EAC7B,cAAc,CAAC,yBAAyB,EACxC,2BAA2B,EAC3B,aAAa,CACd;QACD,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM;QAC3C,oBAAoB,EAAE,oBAAoB,CACxC,GAAG,CAAC,oBAAoB,EACxB,cAAc,CAAC,oBAAoB,CACpC;QACD,qBAAqB,EAAE,oBAAoB,CACzC,GAAG,CAAC,qBAAqB,EACzB,cAAc,CAAC,qBAAqB,CACrC;QACD,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC;KAC/D,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"spiracss-rel-comments.options.js","sourceRoot":"","sources":["../../../src/rules/spiracss-rel-comments.options.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spiracss-rel-comments.selectors.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-rel-comments.selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAIvD,OAAO,EAAwB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAClF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAM5D,eAAO,MAAM,qBAAqB,GAChC,WAAW,QAAQ,EAAE,EACrB,SAAS,OAAO,KACf,MAAM,EAiBR,CAAA;AAmCD,eAAO,MAAM,wBAAwB,GACnC,UAAU,MAAM,EAChB,SAAS,OAAO,EAChB,eAAe,mBAAmB,KACjC,MAAM,EAcR,CAAA"}
1
+ {"version":3,"file":"spiracss-rel-comments.selectors.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-rel-comments.selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGvD,OAAO,EAAwB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAClF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAM5D,eAAO,MAAM,qBAAqB,GAChC,WAAW,QAAQ,EAAE,EACrB,SAAS,OAAO,KACf,MAAM,EAiBR,CAAA;AAmCD,eAAO,MAAM,wBAAwB,GACnC,UAAU,MAAM,EAChB,SAAS,OAAO,EAChB,eAAe,mBAAmB,KACjC,MAAM,EAcR,CAAA"}
@@ -1,11 +1,10 @@
1
- import { DEFAULT_CACHE_SIZES } from '../utils/cache.js';
2
1
  import { buildBlockPattern } from '../utils/naming.js';
3
2
  import { collectCompoundNodes } from '../utils/selector.js';
4
- const isExternalClass = (name, options) => options.allowExternalClasses.includes(name) ||
5
- options.allowExternalPrefixes.some((prefix) => name.startsWith(prefix));
3
+ const isExternalClass = (name, options) => options.external.classes.includes(name) ||
4
+ options.external.prefixes.some((prefix) => name.startsWith(prefix));
6
5
  export const collectRootBlockNames = (selectors, options) => {
7
6
  const names = new Set();
8
- const cacheSize = options.cacheSizes?.naming ?? DEFAULT_CACHE_SIZES.naming;
7
+ const cacheSize = options.cache.naming;
9
8
  const blockRe = buildBlockPattern(options.naming, cacheSize);
10
9
  const rootPseudos = new Set([':is', ':where']);
11
10
  selectors.forEach((sel) => {
@@ -57,7 +56,7 @@ const findDirectChildClass = (sel) => {
57
56
  };
58
57
  export const collectDirectChildBlocks = (selector, options, selectorCache) => {
59
58
  const names = new Set();
60
- const cacheSize = options.cacheSizes?.naming ?? DEFAULT_CACHE_SIZES.naming;
59
+ const cacheSize = options.cache.naming;
61
60
  const blockRe = buildBlockPattern(options.naming, cacheSize);
62
61
  const selectors = selectorCache.parse(selector);
63
62
  selectors.forEach((sel) => {
@@ -1 +1 @@
1
- {"version":3,"file":"spiracss-rel-comments.selectors.js","sourceRoot":"","sources":["../../../src/rules/spiracss-rel-comments.selectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spiracss-rel-comments.selectors.js","sourceRoot":"","sources":["../../../src/rules/spiracss-rel-comments.selectors.ts"],"names":[],"mappings":"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"}