@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,44 +1,45 @@
1
1
  import path from 'path';
2
2
  import stylelint from 'stylelint';
3
- import { DEFAULT_CACHE_SIZES } from '../utils/cache.js';
4
- import { NON_SELECTOR_AT_RULE_NAMES } from '../utils/constants.js';
3
+ import { NON_SELECTOR_AT_RULE_NAMES, ROOT_WRAPPER_NAMES } from '../utils/constants.js';
5
4
  import { formatFileBase } from '../utils/formatting.js';
6
- import { CACHE_SIZES_SCHEMA, INTERACTION_COMMENT_PATTERN_SCHEMA, NAMING_SCHEMA, SELECTOR_POLICY_SCHEMA, SHARED_COMMENT_PATTERN_SCHEMA } from '../utils/option-schema.js';
7
- import { isRule } from '../utils/postcss-helpers.js';
5
+ import { selectorParseFailedArgs } from '../utils/messages.js';
6
+ import { CACHE_SCHEMA, COMMENTS_SCHEMA, EXTERNAL_SCHEMA, NAMING_SCHEMA, POLICY_SCHEMA } from '../utils/option-schema.js';
7
+ import { findParentRule, isRule } from '../utils/postcss-helpers.js';
8
8
  import { getCommentText, isRuleInsideAtRule, safeTestPattern } from '../utils/section.js';
9
9
  import { createSelectorCacheWithErrorFlag } from '../utils/selector.js';
10
10
  import { createPlugin, createRule, reportInvalidOption, validateOptionsArrayFields } from '../utils/stylelint.js';
11
+ import { getRuleDocsUrl } from '../utils/rule-docs.js';
11
12
  import { isBoolean, isNumber, isPlainObject, isString, isStringArray } from '../utils/validate.js';
12
13
  import { ruleName } from './spiracss-class-structure.constants.js';
13
14
  import { messages } from './spiracss-class-structure.messages.js';
14
15
  import { normalizeOptions } from './spiracss-class-structure.options.js';
15
16
  import { buildPatterns, buildSelectorPolicyData, formatNamingHint } from './spiracss-class-structure.patterns.js';
16
- import { isRootBlockRule, markInteractionRules, markSharedRules } from './spiracss-class-structure.sections.js';
17
- import { analyzeRootSelector, collectRootBlockNames, findNearestParentRule, hasSegmentSequence, hasValidSpiraClass, mergeRuleKinds, processSelector } from './spiracss-class-structure.selectors.js';
17
+ import { markInteractionRules, markSharedRules } from './spiracss-class-structure.sections.js';
18
+ import { analyzeRootSelector, collectRootBlockNames, hasSegmentSequence, hasValidSpiraClass, mergeRuleKinds, processSelector } from './spiracss-class-structure.selectors.js';
19
+ import { splitSelectors, isGlobalOnlySelector, stripGlobalSelectorForRoot } from './spiracss-property-placement.selectors.js';
18
20
  export { ruleName };
19
21
  // SpiraCSS "core structure" rule.
20
22
  // Validates class naming, Block/Element/Modifier structure, child selectors, and shared sections.
21
23
  const meta = {
22
- url: 'https://github.com/zetsubo-dev/spiracss/blob/master/docs_spira/ja/tooling/stylelint.md#spiracssclass-structure',
24
+ url: getRuleDocsUrl(ruleName),
23
25
  fixable: false,
24
26
  description: 'Enforce SpiraCSS class structure and naming rules.',
25
27
  category: 'stylistic'
26
28
  };
27
29
  const optionSchema = {
28
- allowElementChainDepth: [isNumber],
29
- allowExternalClasses: [isString],
30
- allowExternalPrefixes: [isString],
31
- enforceChildCombinator: [isBoolean],
32
- enforceSingleRootBlock: [isBoolean],
33
- enforceRootFileName: [isBoolean],
34
- rootFileCase: ['preserve', 'kebab', 'snake', 'camel', 'pascal'],
35
- childScssDir: [isString],
30
+ elementDepth: [isNumber],
31
+ childCombinator: [isBoolean],
32
+ childNesting: [isBoolean],
33
+ rootSingle: [isBoolean],
34
+ rootFile: [isBoolean],
35
+ rootCase: [isString],
36
+ childDir: [isString],
36
37
  componentsDirs: [isString],
37
38
  ...NAMING_SCHEMA,
38
- ...SHARED_COMMENT_PATTERN_SCHEMA,
39
- ...INTERACTION_COMMENT_PATTERN_SCHEMA,
40
- ...SELECTOR_POLICY_SCHEMA,
41
- ...CACHE_SIZES_SCHEMA
39
+ ...COMMENTS_SCHEMA,
40
+ ...POLICY_SCHEMA,
41
+ ...EXTERNAL_SCHEMA,
42
+ ...CACHE_SCHEMA
42
43
  };
43
44
  const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _context) => {
44
45
  if (primaryOption === false) {
@@ -61,12 +62,12 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
61
62
  }
62
63
  : undefined;
63
64
  const options = normalizeOptions(rawOptions, handleInvalid);
64
- const cacheSizes = options.cacheSizes ?? DEFAULT_CACHE_SIZES;
65
+ const cacheSizes = options.cache;
65
66
  cache = {
66
67
  options,
67
68
  commentPatterns: {
68
- sharedCommentPattern: options.sharedCommentPattern,
69
- interactionCommentPattern: options.interactionCommentPattern
69
+ sharedCommentPattern: options.comments.shared,
70
+ interactionCommentPattern: options.comments.interaction
70
71
  },
71
72
  patterns: buildPatterns(options, cacheSizes, handleInvalid),
72
73
  policyData: buildSelectorPolicyData(options.selectorPolicy),
@@ -98,13 +99,13 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
98
99
  reportInvalidOption(result, ruleName, optionName, value, detail);
99
100
  }
100
101
  : undefined;
101
- const hasInvalid = validateOptionsArrayFields(rawOptions, ['allowExternalClasses', 'allowExternalPrefixes', 'componentsDirs'], isStringArray, reportInvalid, (optionName) => `[spiracss] ${optionName} must be an array of non-empty strings.`);
102
+ const hasInvalid = validateOptionsArrayFields(rawOptions, ['external.classes', 'external.prefixes', 'componentsDirs'], isStringArray, reportInvalid, (optionName) => `[spiracss] ${optionName} must be an array of non-empty strings.`);
102
103
  if (shouldValidate && hasInvalid)
103
104
  return;
104
105
  const { options, commentPatterns, patterns, policyData, namingHint, hasInvalidOptions } = getCache(reportInvalid);
105
106
  if (shouldValidate && hasInvalidOptions)
106
107
  return;
107
- const cacheSizes = options.cacheSizes ?? DEFAULT_CACHE_SIZES;
108
+ const cacheSizes = options.cache;
108
109
  const selectorState = createSelectorCacheWithErrorFlag(cacheSizes.selector);
109
110
  const selectorCache = selectorState.cache;
110
111
  const ruleKinds = new WeakMap();
@@ -120,6 +121,51 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
120
121
  const pathSegments = normalizedPath ? normalizedPath.split(path.sep).filter(Boolean) : [];
121
122
  const fileName = filePath ? path.basename(filePath) : '';
122
123
  const fileBase = fileName && fileName.endsWith('.scss') ? path.basename(fileName, '.scss') : '';
124
+ const parseStrippedSelectors = (selectorText) => {
125
+ const selectorTexts = splitSelectors(selectorText, selectorCache);
126
+ const localSelectors = selectorTexts
127
+ .map((selector) => stripGlobalSelectorForRoot(selector, selectorCache, cacheSizes.selector, { preserveCombinator: true }))
128
+ .filter((selector) => Boolean(selector));
129
+ // Preserve leading combinators so relative selectors (e.g. :global(...) > .block)
130
+ // do not count as root Block definitions.
131
+ return localSelectors.flatMap((selector) => selectorCache.parse(selector));
132
+ };
133
+ const isGlobalWrapperRule = (rule) => {
134
+ if (typeof rule.selector !== 'string')
135
+ return false;
136
+ return isGlobalOnlySelector(rule.selector, selectorCache, cacheSizes.selector);
137
+ };
138
+ const findParentRuleSkippingGlobal = (rule) => {
139
+ let current = findParentRule(rule);
140
+ while (current && isGlobalWrapperRule(current)) {
141
+ current = findParentRule(current);
142
+ }
143
+ return current;
144
+ };
145
+ const isRuleInRootScopeWithGlobal = (rule) => {
146
+ let current = rule.parent;
147
+ while (current) {
148
+ if (current.type === 'root')
149
+ return true;
150
+ if (current.type === 'atrule') {
151
+ const name = current.name ? current.name.toLowerCase() : '';
152
+ if (!ROOT_WRAPPER_NAMES.has(name))
153
+ return false;
154
+ current = current.parent;
155
+ continue;
156
+ }
157
+ if (current.type === 'rule') {
158
+ const parentRule = current;
159
+ if (isGlobalWrapperRule(parentRule)) {
160
+ current = parentRule.parent;
161
+ continue;
162
+ }
163
+ return false;
164
+ }
165
+ return false;
166
+ }
167
+ return false;
168
+ };
123
169
  const allRules = [];
124
170
  root.walkRules((rule) => {
125
171
  allRules.push(rule);
@@ -127,23 +173,23 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
127
173
  return;
128
174
  if (!firstRule)
129
175
  firstRule = rule;
130
- if (findNearestParentRule(rule))
176
+ if (findParentRuleSkippingGlobal(rule))
131
177
  return;
132
178
  topLevelRules.push(rule);
133
179
  if (typeof rule.selector !== 'string')
134
180
  return;
135
- if (rule.selector.includes(':global'))
181
+ const selectors = parseStrippedSelectors(rule.selector);
182
+ if (selectors.length === 0)
136
183
  return;
137
- const selectors = selectorCache.parse(rule.selector);
138
184
  const rootBlocks = collectRootBlockNames(selectors, options, patterns);
139
185
  if (rootBlocks.length === 0)
140
186
  return;
141
- if (isRootBlockRule(rule))
187
+ if (isRuleInRootScopeWithGlobal(rule))
142
188
  rootBlockRules.add(rule);
143
189
  const rootName = rootBlockName || rootBlocks[0];
144
190
  if (!rootBlockName)
145
191
  rootBlockName = rootName;
146
- if (options.enforceSingleRootBlock) {
192
+ if (options.root.single) {
147
193
  const extras = rootBlocks.filter((name) => name !== rootName);
148
194
  if (extras.length > 0) {
149
195
  stylelint.utils.report({
@@ -160,18 +206,27 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
160
206
  allRules.forEach((rule) => {
161
207
  if (isRuleInsideAtRule(rule, NON_SELECTOR_AT_RULE_NAMES))
162
208
  return;
163
- const parentRule = findNearestParentRule(rule);
209
+ const parentRule = findParentRuleSkippingGlobal(rule);
164
210
  const parentKind = parentRule ? ruleKinds.get(parentRule) : undefined;
211
+ const hasBlockAncestor = (() => {
212
+ let current = parentRule;
213
+ while (current) {
214
+ if (ruleKinds.get(current) === 'block')
215
+ return true;
216
+ current = findParentRuleSkippingGlobal(current);
217
+ }
218
+ return false;
219
+ })();
165
220
  const parentSelector = parentRule && typeof parentRule.selector === 'string' ? parentRule.selector : undefined;
166
221
  const parentDepth = parentRule ? elementDepths.get(parentRule) || 0 : 0;
167
222
  const parentBlockDepth = parentRule ? blockDepths.get(parentRule) || 0 : 0;
168
223
  if (typeof rule.selector !== 'string')
169
224
  return;
170
- if (rule.selector.includes(':global'))
171
- return;
172
225
  const isShared = sharedRules.has(rule);
173
226
  const isInteraction = interactionRules.has(rule);
174
- const selectors = selectorCache.parse(rule.selector);
227
+ const selectors = parseStrippedSelectors(rule.selector);
228
+ if (selectors.length === 0)
229
+ return;
175
230
  if (!hasSpiraClassForRootCheck && hasValidSpiraClass(selectors, options, patterns)) {
176
231
  hasSpiraClassForRootCheck = true;
177
232
  }
@@ -200,7 +255,8 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
200
255
  policyData,
201
256
  namingHint,
202
257
  isShared,
203
- isInteraction
258
+ isInteraction,
259
+ hasBlockAncestor
204
260
  });
205
261
  if (structuralKind)
206
262
  structuralKinds.push(structuralKind);
@@ -220,7 +276,7 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
220
276
  }
221
277
  }
222
278
  });
223
- if (options.enforceSingleRootBlock && !rootBlockName && hasSpiraClassForRootCheck) {
279
+ if (options.root.single && !rootBlockName && hasSpiraClassForRootCheck) {
224
280
  const targetNode = firstRule || root;
225
281
  stylelint.utils.report({
226
282
  ruleName,
@@ -231,7 +287,7 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
231
287
  }
232
288
  root.walkComments((comment) => {
233
289
  const text = getCommentText(comment);
234
- if (!safeTestPattern(options.sharedCommentPattern, text))
290
+ if (!safeTestPattern(options.comments.shared, text))
235
291
  return;
236
292
  const parent = comment.parent;
237
293
  const isRootShared = Boolean(parent && isRule(parent) && rootBlockRules.has(parent));
@@ -241,17 +297,17 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
241
297
  ruleName,
242
298
  result,
243
299
  node: comment,
244
- message: messages.sharedNeedRootBlock()
300
+ message: messages.sharedNeedRootBlock(options.comments.shared)
245
301
  });
246
302
  });
247
- if (options.enforceSingleRootBlock && rootBlockName) {
303
+ if (options.root.single && rootBlockName) {
248
304
  const resolvedRootBlockName = rootBlockName;
249
305
  topLevelRules.forEach((rule) => {
250
306
  if (typeof rule.selector !== 'string')
251
307
  return;
252
- if (rule.selector.includes(':global'))
308
+ const selectors = parseStrippedSelectors(rule.selector);
309
+ if (selectors.length === 0)
253
310
  return;
254
- const selectors = selectorCache.parse(rule.selector);
255
311
  selectors.forEach((sel) => {
256
312
  const { hasSpiraClass, hasRootBlock, hasOtherBlock } = analyzeRootSelector(sel, resolvedRootBlockName, options, patterns);
257
313
  if (!hasSpiraClass || hasRootBlock || hasOtherBlock)
@@ -265,8 +321,8 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
265
321
  });
266
322
  });
267
323
  }
268
- if (options.enforceRootFileName && rootBlockName && fileBase) {
269
- const isComponentsLayer = options.componentsDirs.some((dir) => {
324
+ if (options.root.file && rootBlockName && fileBase) {
325
+ const isComponentsLayer = options.paths.components.some((dir) => {
270
326
  const normalizedDir = path.normalize(dir);
271
327
  const dirSegments = normalizedDir.split(path.sep).filter(Boolean);
272
328
  if (dirSegments.length === 0)
@@ -278,11 +334,11 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
278
334
  const assetsIndex = pathSegments.indexOf('assets');
279
335
  const isAssetsCss = assetsIndex >= 0 && pathSegments[assetsIndex + 1] === 'css';
280
336
  const isExcludedFile = fileName === 'index.scss' || fileName.startsWith('_');
281
- const isChildScss = pathSegments.includes(options.childScssDir);
337
+ const isChildScss = pathSegments.includes(options.paths.childDir);
282
338
  if (isComponentsLayer && !isAssetsCss && !isExcludedFile) {
283
339
  const expectedBase = isChildScss
284
340
  ? rootBlockName
285
- : formatFileBase(rootBlockName, options.rootFileCase);
341
+ : formatFileBase(rootBlockName, options.root.case);
286
342
  if (expectedBase && expectedBase !== fileBase) {
287
343
  const targetNode = firstRule || root;
288
344
  stylelint.utils.report({
@@ -300,7 +356,7 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
300
356
  ruleName,
301
357
  result,
302
358
  node: targetNode,
303
- message: messages.selectorParseFailed(),
359
+ message: messages.selectorParseFailed(...selectorParseFailedArgs(selectorState.getErrorSelector())),
304
360
  severity: 'warning'
305
361
  });
306
362
  }
@@ -1 +1 @@
1
- {"version":3,"file":"spiracss-class-structure.js","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spiracss-class-structure.js","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type RuleMessageArgs } from '../utils/messages';
1
2
  export declare const messages: {
2
3
  invalidName: (cls: string, namingHint: string) => string;
3
4
  elementChainTooDeep: (parent: string, child: string, depth: number, limit: number) => string;
@@ -6,17 +7,18 @@ export declare const messages: {
6
7
  blockTargetsGrandchildElement: (parent: string, child: string) => string;
7
8
  tooDeepBlockNesting: (cls: string) => string;
8
9
  multipleRootBlocks: (root: string, extras: string[]) => string;
9
- needChild: (child: string) => string;
10
- sharedNeedRootBlock: () => string;
10
+ needChild: (child: string, sharedPattern: RegExp, interactionPattern: RegExp) => string;
11
+ needChildNesting: (selector: string) => string;
12
+ sharedNeedRootBlock: (sharedPattern: RegExp) => string;
11
13
  needAmpForMod: (example: string) => string;
12
14
  needModifierPrefix: (cls: string, example: string) => string;
13
- disallowedModifier: () => string;
14
- invalidVariantAttribute: (attr: string, example: string) => string;
15
- invalidStateAttribute: (attr: string, example: string) => string;
16
- invalidDataValue: (attr: string, value: string) => string;
15
+ disallowedModifier: (variantKeys: string[], stateKeys: string[]) => string;
16
+ invalidVariantAttribute: (attr: string, example: string, customModifierPattern?: RuleMessageArgs[number]) => string;
17
+ invalidStateAttribute: (attr: string, example: string, customModifierPattern?: RuleMessageArgs[number]) => string;
18
+ invalidDataValue: (attr: string, value: string, caseName: string, maxWords: number) => string;
17
19
  rootSelectorMissingBlock: (block: string, selector: string) => string;
18
- missingRootBlock: () => string;
19
- selectorParseFailed: () => string;
20
+ missingRootBlock: () => "No root Block found. Define a top-level Block selector that matches the naming rules.";
21
+ selectorParseFailed: (...args: RuleMessageArgs) => string;
20
22
  fileNameMismatch: (block: string, expected: string, actual: string) => string;
21
23
  };
22
24
  //# sourceMappingURL=spiracss-class-structure.messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spiracss-class-structure.messages.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.messages.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ;uBACA,MAAM,cAAc,MAAM;kCAGf,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM;oCAEjD,MAAM,SAAS,MAAM;sCAEnB,MAAM,SAAS,MAAM;4CAEf,MAAM,SAAS,MAAM;+BAElC,MAAM;+BAEN,MAAM,UAAU,MAAM,EAAE;uBAIhC,MAAM;;6BAIA,MAAM;8BAEL,MAAM,WAAW,MAAM;;oCAIjB,MAAM,WAAW,MAAM;kCAEzB,MAAM,WAAW,MAAM;6BAE5B,MAAM,SAAS,MAAM;sCAEZ,MAAM,YAAY,MAAM;;;8BAMhC,MAAM,YAAY,MAAM,UAAU,MAAM;CAElE,CAAA"}
1
+ {"version":3,"file":"spiracss-class-structure.messages.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.messages.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAA;AAE1B,eAAO,MAAM,QAAQ;uBACA,MAAM,cAAc,MAAM;kCAKf,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM;oCAIjD,MAAM,SAAS,MAAM;sCAInB,MAAM,SAAS,MAAM;4CAQf,MAAM,SAAS,MAAM;+BAMlC,MAAM;+BAMN,MAAM,UAAU,MAAM,EAAE;uBAO1C,MAAM,iBACE,MAAM,sBACD,MAAM;iCAeC,MAAM;yCAME,MAAM;6BAWlB,MAAM;8BAaL,MAAM,WAAW,MAAM;sCAQf,MAAM,EAAE,aAAa,MAAM,EAAE;oCAYvD,MAAM,WACH,MAAM,0BACS,eAAe,CAAC,MAAM,CAAC;kCAoBzC,MAAM,WACH,MAAM,0BACS,eAAe,CAAC,MAAM,CAAC;6BAmBxB,MAAM,SAAS,MAAM,YAAY,MAAM,YAAY,MAAM;sCAQhD,MAAM,YAAY,MAAM;;mCAQ3B,eAAe;8BACpB,MAAM,YAAY,MAAM,UAAU,MAAM;CAMlE,CAAA"}
@@ -1,28 +1,64 @@
1
- import stylelint from 'stylelint';
2
1
  import { ruleName } from './spiracss-class-structure.constants.js';
3
- export const messages = stylelint.utils.ruleMessages(ruleName, {
2
+ import { createRuleMessages, formatConfigList, formatList, formatPattern, formatCode, formatSelectorParseFailed } from '../utils/messages.js';
3
+ export const messages = createRuleMessages(ruleName, {
4
4
  invalidName: (cls, namingHint) =>
5
5
  // Naming style is configurable, so only state that it violates SpiraCSS Block/Element/Modifier rules.
6
- `Class "${cls}" is not a valid SpiraCSS Block/Element/Modifier. Rename it to match the configured naming rules. ${namingHint}`,
7
- elementChainTooDeep: (parent, child, depth, limit) => `Element chain is too deep: "${parent}" -> "${child}" (depth ${depth}, max ${limit}). Promote a segment to a Block or simplify the structure.`,
8
- elementCannotOwnBlock: (parent, child) => `Element "${parent}" cannot contain a Block "${child}". Move the Block to the parent Block level or refactor.`,
9
- blockDescendantSelector: (parent, child) => `Avoid chained selectors under "${parent}". Only target direct children ("> .child"). Move "${child}" styles into the child Block/Element file.`,
10
- blockTargetsGrandchildElement: (parent, child) => `Do not style grandchild Elements from "${parent}". Move ".${child}" styles into the child Block file.`,
11
- tooDeepBlockNesting: (cls) => `Block "${cls}" is nested too deeply (Block > Block > Block...). Move grandchild Block styles to its own file and link via @rel.`,
12
- multipleRootBlocks: (root, extras) => `Only one root Block is allowed per file. Found ${extras
13
- .map((name) => `"${name}"`)
14
- .join(', ')} in addition to "${root}". Split into separate SCSS files or move extra Blocks under the root.`,
15
- needChild: (child) => `Use a direct-child combinator under the Block: "> .${child}". Example: ".block { > .${child} { ... } }". Shared/interaction sections are exempt.`,
16
- sharedNeedRootBlock: () => 'Place "// --shared" directly under the root Block (root wrappers like @layer/@supports/@media/@container/@scope are allowed). Do not nest inside child rules.',
17
- needAmpForMod: (example) => `Write modifier classes inside the Block using "&.<modifier>". Example: ".block { &.${example} { ... } }". Do not use ".block.${example}" or ".${example}" at top level.`,
18
- needModifierPrefix: (cls, example) => `Only modifier classes may be appended to "&". Found "${cls}". Use "&.<modifier>". Example: "&.${example}". If not a modifier, move it to its own selector.`,
19
- disallowedModifier: () => 'Modifier classes are disabled because selectorPolicy uses data mode. Use configured data attributes or enable class mode in selectorPolicy.',
20
- invalidVariantAttribute: (attr, example) => `Attribute "${attr}" is disabled because selectorPolicy.variant.mode is "class". Use modifier classes instead (e.g., "&.${example}").`,
21
- invalidStateAttribute: (attr, example) => `Attribute "${attr}" is disabled because selectorPolicy.state.mode is "class". Use modifier classes instead (e.g., "&.${example}").`,
22
- invalidDataValue: (attr, value) => `Attribute "${attr}" value "${value}" does not match selectorPolicy valueNaming. Rename it to match the configured case/word rules.`,
23
- rootSelectorMissingBlock: (block, selector) => `Root selector "${selector}" must include the root Block ".${block}". Include it in the selector or move this rule under the root Block.`,
24
- missingRootBlock: () => 'No root Block found. Define a top-level Block selector that matches the naming rules (e.g., ".hero-banner { ... }").',
25
- selectorParseFailed: () => 'Failed to parse one or more selectors, so some checks were skipped. Ensure selectors are valid CSS/SCSS or avoid interpolation in selectors.',
26
- fileNameMismatch: (block, expected, actual) => `Root Block ".${block}" must be defined in "${expected}.scss" (found "${actual}.scss"). Rename the file or the Block.`
6
+ `Class ${formatCode(cls)} is not a valid SpiraCSS Block/Element/Modifier. Rename it to match the configured naming rules. ${namingHint}`,
7
+ elementChainTooDeep: (parent, child, depth, limit) => `Element chain is too deep: ${formatCode(parent)} -> ${formatCode(child)} (depth ${depth}, max ${limit}). Promote a segment to a Block or simplify the structure.`,
8
+ elementCannotOwnBlock: (parent, child) => `Element ${formatCode(parent)} cannot contain a Block ${formatCode(child)}. Move the Block to the parent Block level or refactor.`,
9
+ blockDescendantSelector: (parent, child) => `Avoid chained selectors under ${formatCode(parent)}. Only target direct children (${formatCode('> .child')}). Move ${formatCode(`.${child}`)} styles into the child Block/Element file.`,
10
+ blockTargetsGrandchildElement: (parent, child) => `Do not style grandchild Elements from ${formatCode(parent)}. Move ${formatCode(`.${child}`)} styles into the child Block file.`,
11
+ tooDeepBlockNesting: (cls) => `Block ${formatCode(cls)} is nested too deeply (Block > Block > Block...). Move grandchild Block styles to its own file and link via ${formatCode('@rel')}.`,
12
+ multipleRootBlocks: (root, extras) => `Only one root Block is allowed per file. Found ${formatList(extras, {
13
+ maxItems: extras.length
14
+ })} in addition to ${formatCode(root)}. Split into separate SCSS files or move extra Blocks under the root.`,
15
+ needChild: (child, sharedPattern, interactionPattern) => `Use a direct-child combinator under the Block: ${formatCode(`> .${child}`)}. ` +
16
+ `Sections marked by ${formatCode('comments.shared')} (current: ${formatPattern(sharedPattern)}) ` +
17
+ `or ${formatCode('comments.interaction')} (current: ${formatPattern(interactionPattern)}) are exempt.`,
18
+ needChildNesting: (selector) => `Do not write child selectors at the top level. Selector: ${formatCode(selector)}. Nest it inside the Block (e.g., ${formatCode('.block { > .child { ... } }')}).`,
19
+ sharedNeedRootBlock: (sharedPattern) => `Place the shared section comment matching ${formatCode('comments.shared')} (current: ${formatPattern(sharedPattern)}) directly under the root Block ` +
20
+ `(root wrappers like ${formatCode('@layer')}/${formatCode('@supports')}/${formatCode('@media')}/${formatCode('@container')}/${formatCode('@scope')} are allowed). Do not nest inside child rules.`,
21
+ needAmpForMod: (example) => {
22
+ const exampleHint = example
23
+ ? ` Example: ${formatCode(`.block { &.${example} { ... } }`)}.`
24
+ : '';
25
+ const invalidExample = example
26
+ ? ` Do not use ${formatCode(`.block.${example}`)} or ${formatCode(`.${example}`)} at top level.`
27
+ : ' Do not use modifier classes at the top level.';
28
+ return `Write modifier classes inside the Block using ${formatCode('&.<modifier>')}.${exampleHint}${invalidExample}`;
29
+ },
30
+ needModifierPrefix: (cls, example) => {
31
+ const exampleHint = example ? ` Example: ${formatCode(`&.${example}`)}.` : '';
32
+ return `Only modifier classes may be appended to ${formatCode('&')}. Found ${formatCode(cls)}. Use ${formatCode('&.<modifier>')}.${exampleHint} If not a modifier, move it to its own selector.`;
33
+ },
34
+ disallowedModifier: (variantKeys, stateKeys) => `Modifier classes are disabled because ${formatCode('selectorPolicy.variant.mode')} and ${formatCode('selectorPolicy.state.mode')} are both ${formatCode('data')}. ` +
35
+ `Use variant attributes (current: ${formatConfigList(variantKeys)}) or state attributes (current: ${formatConfigList(stateKeys)}) instead, or enable class mode in ${formatCode('selectorPolicy')}.`,
36
+ invalidVariantAttribute: (attr, example, customModifierPattern) => {
37
+ const pattern = customModifierPattern instanceof RegExp || typeof customModifierPattern === 'string'
38
+ ? customModifierPattern
39
+ : undefined;
40
+ const hint = pattern
41
+ ? `Use modifier classes matching ${formatCode('naming.customPatterns.modifier')} (current: ${formatPattern(pattern)}).`
42
+ : example
43
+ ? `Use modifier classes instead (e.g., ${formatCode(`&.${example}`)}).`
44
+ : 'Use modifier classes that match the configured naming rules.';
45
+ return (`Attribute ${formatCode(attr)} is disabled because ${formatCode('selectorPolicy.variant.mode')} is ${formatCode('class')}. ` + hint);
46
+ },
47
+ invalidStateAttribute: (attr, example, customModifierPattern) => {
48
+ const pattern = customModifierPattern instanceof RegExp || typeof customModifierPattern === 'string'
49
+ ? customModifierPattern
50
+ : undefined;
51
+ const hint = pattern
52
+ ? `Use modifier classes matching ${formatCode('naming.customPatterns.modifier')} (current: ${formatPattern(pattern)}).`
53
+ : example
54
+ ? `Use modifier classes instead (e.g., ${formatCode(`&.${example}`)}).`
55
+ : 'Use modifier classes that match the configured naming rules.';
56
+ return (`Attribute ${formatCode(attr)} is disabled because ${formatCode('selectorPolicy.state.mode')} is ${formatCode('class')}. ` + hint);
57
+ },
58
+ invalidDataValue: (attr, value, caseName, maxWords) => `Attribute ${formatCode(attr)} value ${formatCode(value)} does not match ${formatCode('selectorPolicy')} valueNaming (case: ${formatCode(caseName)}, maxWords: ${formatCode(String(maxWords))}). Rename it to match the configured rules.`,
59
+ rootSelectorMissingBlock: (block, selector) => `Root selector ${formatCode(selector)} must include the root Block ${formatCode(`.${block}`)}. Include it in the selector or move this rule under the root Block.`,
60
+ missingRootBlock: () => 'No root Block found. Define a top-level Block selector that matches the naming rules.',
61
+ selectorParseFailed: (...args) => formatSelectorParseFailed(args[0]),
62
+ fileNameMismatch: (block, expected, actual) => `Root Block ${formatCode(`.${block}`)} must be defined in ${formatCode(`${expected}.scss`)} (found ${formatCode(`${actual}.scss`)}). Rename the file or the Block.`
27
63
  });
28
64
  //# sourceMappingURL=spiracss-class-structure.messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spiracss-class-structure.messages.js","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.messages.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AAE/D,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;IAC7D,WAAW,EAAE,CAAC,GAAW,EAAE,UAAkB,EAAE,EAAE;IAC/C,sGAAsG;IACtG,UAAU,GAAG,qGAAqG,UAAU,EAAE;IAChI,mBAAmB,EAAE,CAAC,MAAc,EAAE,KAAa,EAAE,KAAa,EAAE,KAAa,EAAE,EAAE,CACnF,+BAA+B,MAAM,SAAS,KAAK,YAAY,KAAK,SAAS,KAAK,4DAA4D;IAChJ,qBAAqB,EAAE,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE,CACvD,YAAY,MAAM,6BAA6B,KAAK,0DAA0D;IAChH,uBAAuB,EAAE,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE,CACzD,kCAAkC,MAAM,sDAAsD,KAAK,6CAA6C;IAClJ,6BAA6B,EAAE,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE,CAC/D,0CAA0C,MAAM,aAAa,KAAK,qCAAqC;IACzG,mBAAmB,EAAE,CAAC,GAAW,EAAE,EAAE,CACnC,UAAU,GAAG,oHAAoH;IACnI,kBAAkB,EAAE,CAAC,IAAY,EAAE,MAAgB,EAAE,EAAE,CACrD,kDAAkD,MAAM;SACrD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC;SAC1B,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,wEAAwE;IAC/G,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,CAC3B,sDAAsD,KAAK,4BAA4B,KAAK,sDAAsD;IACpJ,mBAAmB,EAAE,GAAG,EAAE,CACxB,+JAA+J;IACjK,aAAa,EAAE,CAAC,OAAe,EAAE,EAAE,CACjC,sFAAsF,OAAO,mCAAmC,OAAO,UAAU,OAAO,iBAAiB;IAC3K,kBAAkB,EAAE,CAAC,GAAW,EAAE,OAAe,EAAE,EAAE,CACnD,wDAAwD,GAAG,sCAAsC,OAAO,oDAAoD;IAC9J,kBAAkB,EAAE,GAAG,EAAE,CACvB,6IAA6I;IAC/I,uBAAuB,EAAE,CAAC,IAAY,EAAE,OAAe,EAAE,EAAE,CACzD,cAAc,IAAI,wGAAwG,OAAO,KAAK;IACxI,qBAAqB,EAAE,CAAC,IAAY,EAAE,OAAe,EAAE,EAAE,CACvD,cAAc,IAAI,sGAAsG,OAAO,KAAK;IACtI,gBAAgB,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAChD,cAAc,IAAI,YAAY,KAAK,iGAAiG;IACtI,wBAAwB,EAAE,CAAC,KAAa,EAAE,QAAgB,EAAE,EAAE,CAC5D,kBAAkB,QAAQ,mCAAmC,KAAK,uEAAuE;IAC3I,gBAAgB,EAAE,GAAG,EAAE,CACrB,sHAAsH;IACxH,mBAAmB,EAAE,GAAG,EAAE,CACxB,8IAA8I;IAChJ,gBAAgB,EAAE,CAAC,KAAa,EAAE,QAAgB,EAAE,MAAc,EAAE,EAAE,CACpE,gBAAgB,KAAK,yBAAyB,QAAQ,kBAAkB,MAAM,wCAAwC;CACzH,CAAC,CAAA"}
1
+ {"version":3,"file":"spiracss-class-structure.messages.js","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.messages.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spiracss-class-structure.options.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.options.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,qBAAqB,EAO3B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAGV,OAAO,EAIR,MAAM,kCAAkC,CAAA;AAkIzC,eAAO,MAAM,gBAAgB,GAC3B,KAAK,OAAO,EACZ,gBAAgB,qBAAqB,KACpC,OAuEF,CAAA"}
1
+ {"version":3,"file":"spiracss-class-structure.options.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.options.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,qBAAqB,EAK3B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EAGV,OAAO,EAIR,MAAM,kCAAkC,CAAA;AA4JzC,eAAO,MAAM,gBAAgB,GAC3B,KAAK,OAAO,EACZ,gBAAgB,qBAAqB,KACpC,OAuEF,CAAA"}