@spiracss/stylelint-plugin 0.2.2 → 0.3.1

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 +117 -34
  3. package/dist/cjs/helpers.d.ts.map +1 -1
  4. package/dist/cjs/helpers.js +297 -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 +123 -44
  130. package/dist/cjs/rules/spiracss-rel-comments.js.map +1 -1
  131. package/dist/cjs/rules/spiracss-rel-comments.messages.d.ts +6 -5
  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 +84 -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 +32 -16
  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 +117 -34
  197. package/dist/esm/helpers.d.ts.map +1 -1
  198. package/dist/esm/helpers.js +297 -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 +127 -48
  324. package/dist/esm/rules/spiracss-rel-comments.js.map +1 -1
  325. package/dist/esm/rules/spiracss-rel-comments.messages.d.ts +6 -5
  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 +86 -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 +32 -16
  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 +1 @@
1
- {"version":3,"file":"spiracss-class-structure.selectors.js","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.selectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spiracss-class-structure.selectors.js","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.selectors.ts"],"names":[],"mappings":"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"}
@@ -26,22 +26,42 @@ export type NormalizedSelectorPolicy = NormalizedSelectorPolicyBase & {
26
26
  valueNaming: ValueNaming;
27
27
  };
28
28
  };
29
+ export type ElementOptions = {
30
+ depth: number;
31
+ };
32
+ export type ExternalOptions = {
33
+ classes: string[];
34
+ prefixes: string[];
35
+ };
36
+ export type ChildOptions = {
37
+ combinator: boolean;
38
+ nesting: boolean;
39
+ };
40
+ export type RootOptions = {
41
+ single: boolean;
42
+ file: boolean;
43
+ case: FileNameCase;
44
+ };
45
+ export type PathsOptions = {
46
+ childDir: string;
47
+ components: string[];
48
+ };
49
+ export type CommentOptions = {
50
+ shared: RegExp;
51
+ interaction: RegExp;
52
+ };
29
53
  export type Options = {
30
- allowElementChainDepth: number;
31
- allowExternalClasses: string[];
32
- allowExternalPrefixes: string[];
33
- enforceChildCombinator: boolean;
34
- enforceSingleRootBlock: boolean;
35
- enforceRootFileName: boolean;
36
- rootFileCase: FileNameCase;
37
- childScssDir: string;
38
- componentsDirs: string[];
54
+ element: ElementOptions;
55
+ external: ExternalOptions;
56
+ child: ChildOptions;
57
+ root: RootOptions;
58
+ paths: PathsOptions;
39
59
  naming?: NamingOptions;
40
- sharedCommentPattern: RegExp;
41
- interactionCommentPattern: RegExp;
60
+ comments: CommentOptions;
42
61
  selectorPolicy: NormalizedSelectorPolicy;
43
- cacheSizes?: NormalizedCacheSizes;
62
+ cache: NormalizedCacheSizes;
44
63
  };
64
+ export type ClassifyOptions = Pick<Options, 'external' | 'naming'>;
45
65
  export type Patterns = {
46
66
  blockRe: RegExp;
47
67
  elementRe: RegExp;
@@ -1 +1 @@
1
- {"version":3,"file":"spiracss-class-structure.types.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,4BAA4B,EAC5B,kBAAkB,EAClB,QAAQ,EACT,MAAM,UAAU,CAAA;AAEjB,YAAY,EAAE,YAAY,EAAE,CAAA;AAE5B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG;IAChD,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,OAAO,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG;QAAE,WAAW,CAAC,EAAE,kBAAkB,CAAA;KAAE,CAAA;IAC9E,KAAK,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG;QAAE,WAAW,CAAC,EAAE,kBAAkB,CAAA;KAAE,CAAA;CAC3E,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,4BAA4B,GAAG;IACpE,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,EAAE,4BAA4B,CAAC,SAAS,CAAC,GAAG;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE,CAAA;IAC/E,KAAK,EAAE,4BAA4B,CAAC,OAAO,CAAC,GAAG;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE,CAAA;CAC5E,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAA;IAC/B,sBAAsB,EAAE,OAAO,CAAA;IAC/B,sBAAsB,EAAE,OAAO,CAAA;IAC/B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,YAAY,EAAE,YAAY,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,yBAAyB,EAAE,MAAM,CAAA;IACjC,cAAc,EAAE,wBAAwB,CAAA;IACxC,UAAU,CAAC,EAAE,oBAAoB,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAA"}
1
+ {"version":3,"file":"spiracss-class-structure.types.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spiracss-interaction-properties.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-interaction-properties.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAA;AAItE,OAAO,EAAE,QAAQ,EAAE,CAAA;AA0cnB,QAAA,MAAM,6BAA6B,0CAA+B,CAAA;AAElE,eAAe,6BAA6B,CAAA"}
1
+ {"version":3,"file":"spiracss-interaction-properties.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-interaction-properties.ts"],"names":[],"mappings":"AA2CA,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAA;AAItE,OAAO,EAAE,QAAQ,EAAE,CAAA;AAokBnB,QAAA,MAAM,6BAA6B,0CAA+B,CAAA;AAElE,eAAe,6BAA6B,CAAA"}
@@ -1,31 +1,33 @@
1
1
  import stylelint from 'stylelint';
2
- import { DEFAULT_CACHE_SIZES } from '../utils/cache.js';
2
+ import { PSEUDO_ELEMENTS } from '../utils/constants.js';
3
3
  import { ROOT_WRAPPER_NAMES } from '../utils/constants.js';
4
- import { CACHE_SIZES_SCHEMA, INTERACTION_COMMENT_PATTERN_SCHEMA, NAMING_SCHEMA, SHARED_COMMENT_PATTERN_SCHEMA } from '../utils/option-schema.js';
4
+ import { selectorParseFailedArgs } from '../utils/messages.js';
5
+ import { isInsideNonSameElementPseudo } from '../utils/selector.js';
6
+ import { CACHE_SCHEMA, COMMENTS_SCHEMA, EXTERNAL_SCHEMA, NAMING_SCHEMA } from '../utils/option-schema.js';
5
7
  import { findParentRule, isContainer, isInsideKeyframes, isRule } from '../utils/postcss-helpers.js';
6
8
  import { getCommentText, isRuleInRootScope, markInteractionContainers, safeTestPattern } from '../utils/section.js';
7
9
  import { createSelectorCacheWithErrorFlag } from '../utils/selector.js';
8
10
  import { createPlugin, createRule, reportInvalidOption, validateOptionsArrayFields } from '../utils/stylelint.js';
9
- import { isPlainObject, isString, isStringArray } from '../utils/validate.js';
11
+ import { getRuleDocsUrl } from '../utils/rule-docs.js';
12
+ import { isPlainObject, isStringArray } from '../utils/validate.js';
10
13
  import { buildPatterns, classify } from './spiracss-class-structure.patterns.js';
11
14
  import { collectRootBlockNames } from './spiracss-class-structure.selectors.js';
15
+ import { splitSelectors, stripGlobalSelectorForRoot } from './spiracss-property-placement.selectors.js';
12
16
  import { ruleName } from './spiracss-interaction-properties.constants.js';
13
17
  import { messages } from './spiracss-interaction-properties.messages.js';
14
18
  import { normalizeOptions } from './spiracss-interaction-properties.options.js';
15
19
  export { ruleName };
16
20
  const meta = {
17
- url: 'https://github.com/zetsubo-dev/spiracss/blob/master/docs_spira/ja/tooling/stylelint.md#spiracssinteraction-properties',
21
+ url: getRuleDocsUrl(ruleName),
18
22
  fixable: false,
19
23
  description: 'Require transition/animation declarations to live in SpiraCSS interaction sections.',
20
24
  category: 'stylistic'
21
25
  };
22
26
  const optionSchema = {
23
- allowExternalClasses: [isString],
24
- allowExternalPrefixes: [isString],
25
27
  ...NAMING_SCHEMA,
26
- ...SHARED_COMMENT_PATTERN_SCHEMA,
27
- ...INTERACTION_COMMENT_PATTERN_SCHEMA,
28
- ...CACHE_SIZES_SCHEMA
28
+ ...COMMENTS_SCHEMA,
29
+ ...EXTERNAL_SCHEMA,
30
+ ...CACHE_SCHEMA
29
31
  };
30
32
  const TRANSITION_PROPERTIES = new Set([
31
33
  'transition',
@@ -69,19 +71,6 @@ const FORBIDDEN_TRANSITION_KEYWORDS = new Set([
69
71
  'revert',
70
72
  'revert-layer'
71
73
  ]);
72
- const PSEUDO_ELEMENTS = new Set([
73
- 'before',
74
- 'after',
75
- 'first-letter',
76
- 'first-line',
77
- 'selection',
78
- 'marker',
79
- 'backdrop',
80
- 'placeholder',
81
- 'file-selector-button',
82
- 'part',
83
- 'slotted'
84
- ]);
85
74
  const splitTopLevel = (value, separator) => {
86
75
  const segments = [];
87
76
  let depth = 0;
@@ -205,6 +194,27 @@ const isPseudoElement = (value) => {
205
194
  return raw;
206
195
  return null;
207
196
  };
197
+ const isInsidePseudo = (node) => {
198
+ let current = node.parent;
199
+ while (current) {
200
+ if (current.type === 'pseudo')
201
+ return true;
202
+ current = current.parent;
203
+ }
204
+ return false;
205
+ };
206
+ const isInsideGlobalPseudo = (node) => {
207
+ let current = node;
208
+ while (current) {
209
+ if (current.type === 'pseudo') {
210
+ const value = typeof current.value === 'string' ? current.value.toLowerCase() : '';
211
+ if (value === ':global')
212
+ return true;
213
+ }
214
+ current = current.parent;
215
+ }
216
+ return false;
217
+ };
208
218
  const formatTargetLabel = (key) => {
209
219
  const [basePart, pseudo] = key.split('::');
210
220
  const [block, element] = basePart.split('>');
@@ -241,17 +251,21 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
241
251
  reportInvalidOption(result, ruleName, optionName, value, detail);
242
252
  }
243
253
  : undefined;
244
- const hasInvalid = validateOptionsArrayFields(rawOptions, ['allowExternalClasses', 'allowExternalPrefixes'], isStringArray, reportInvalid, (optionName) => `[spiracss] ${optionName} must be an array of non-empty strings.`);
254
+ const hasInvalid = validateOptionsArrayFields(rawOptions, ['external.classes', 'external.prefixes'], isStringArray, reportInvalid, (optionName) => `[spiracss] ${optionName} must be an array of non-empty strings.`);
245
255
  if (shouldValidate && hasInvalid)
246
256
  return;
247
257
  const options = normalizeOptions(rawOptions, reportInvalid);
248
- const cacheSizes = options.cacheSizes ?? DEFAULT_CACHE_SIZES;
258
+ const cacheSizes = options.cache;
249
259
  const selectorState = createSelectorCacheWithErrorFlag(cacheSizes.selector);
250
260
  const selectorCache = selectorState.cache;
251
- const patterns = buildPatterns(options, options.cacheSizes, reportInvalid);
261
+ const classifyOptions = {
262
+ external: options.external,
263
+ naming: options.naming
264
+ };
265
+ const patterns = buildPatterns(classifyOptions, options.cache, reportInvalid);
252
266
  const commentPatterns = {
253
- sharedCommentPattern: options.sharedCommentPattern,
254
- interactionCommentPattern: options.interactionCommentPattern
267
+ sharedCommentPattern: options.comments.shared,
268
+ interactionCommentPattern: options.comments.interaction
255
269
  };
256
270
  const interactionContainers = markInteractionContainers(root, commentPatterns, (_comment, parent) => isRule(parent) && isRuleInRootScope(parent, ROOT_WRAPPER_NAMES));
257
271
  const isInInteractionSection = (node) => {
@@ -263,27 +277,52 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
263
277
  }
264
278
  return false;
265
279
  };
280
+ // Cache node index lookups within containers to avoid repeated O(n) findIndex calls.
281
+ const nodeIndexCache = new WeakMap();
282
+ const getNodeIndex = (container, node) => {
283
+ let indexMap = nodeIndexCache.get(container);
284
+ if (!indexMap) {
285
+ indexMap = new Map();
286
+ const nodes = container.nodes ?? [];
287
+ nodes.forEach((item, index) => indexMap?.set(item, index));
288
+ nodeIndexCache.set(container, indexMap);
289
+ }
290
+ return indexMap.get(node) ?? -1;
291
+ };
292
+ const sectionBoundaryCache = new WeakMap();
293
+ const getNodeSection = (container, nodeIndex) => {
294
+ let sectionMap = sectionBoundaryCache.get(container);
295
+ if (!sectionMap) {
296
+ sectionMap = new Map();
297
+ const nodes = container.nodes ?? [];
298
+ let currentSection = null;
299
+ for (let i = 0; i < nodes.length; i += 1) {
300
+ const node = nodes[i];
301
+ if (node.type === 'comment') {
302
+ const text = getCommentText(node);
303
+ if (safeTestPattern(commentPatterns.interactionCommentPattern, text)) {
304
+ currentSection = 'interaction';
305
+ }
306
+ else if (safeTestPattern(commentPatterns.sharedCommentPattern, text)) {
307
+ currentSection = 'shared';
308
+ }
309
+ }
310
+ sectionMap.set(i, currentSection);
311
+ }
312
+ sectionBoundaryCache.set(container, sectionMap);
313
+ }
314
+ return sectionMap.get(nodeIndex) ?? null;
315
+ };
266
316
  const isInInteractionByComment = (node) => {
267
317
  const parent = node.parent;
268
318
  if (!isContainer(parent) || !isRule(parent))
269
319
  return false;
270
320
  if (!isRuleInRootScope(parent, ROOT_WRAPPER_NAMES))
271
321
  return false;
272
- const nodes = parent.nodes ?? [];
273
- const index = nodes.findIndex((child) => child === node);
274
- if (index === -1)
322
+ const nodeIndex = getNodeIndex(parent, node);
323
+ if (nodeIndex === -1)
275
324
  return false;
276
- for (let i = index - 1; i >= 0; i -= 1) {
277
- const sibling = nodes[i];
278
- if (!sibling || sibling.type !== 'comment')
279
- continue;
280
- const text = getCommentText(sibling);
281
- if (safeTestPattern(commentPatterns.interactionCommentPattern, text))
282
- return true;
283
- if (safeTestPattern(commentPatterns.sharedCommentPattern, text))
284
- return false;
285
- }
286
- return false;
325
+ return getNodeSection(parent, nodeIndex) === 'interaction';
287
326
  };
288
327
  let rootBlockName = null;
289
328
  root.walkRules((rule) => {
@@ -293,71 +332,107 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
293
332
  return;
294
333
  if (typeof rule.selector !== 'string')
295
334
  return;
296
- if (rule.selector.includes(':global'))
335
+ const selectorTexts = splitSelectors(rule.selector, selectorCache);
336
+ const localSelectors = selectorTexts
337
+ .map((selectorText) => stripGlobalSelectorForRoot(selectorText, selectorCache, cacheSizes.selector, { preserveCombinator: true }))
338
+ .filter((selector) => Boolean(selector));
339
+ if (localSelectors.length === 0)
297
340
  return;
298
- const selectors = selectorCache.parse(rule.selector);
299
- const rootBlocks = collectRootBlockNames(selectors, options, patterns);
341
+ const selectors = localSelectors.flatMap((selector) => selectorCache.parse(selector));
342
+ const rootBlocks = collectRootBlockNames(selectors, classifyOptions, patterns);
300
343
  if (rootBlocks.length === 0)
301
344
  return;
302
345
  rootBlockName = rootBlocks[0];
303
346
  });
347
+ const keySameElementPseudos = new Set([':is', ':where', ':not']);
304
348
  const ruleKeys = new WeakMap();
305
349
  const resolveKeys = (rule) => {
306
350
  const cached = ruleKeys.get(rule);
307
351
  if (cached)
308
352
  return cached;
309
353
  const selector = typeof rule.selector === 'string' ? rule.selector : '';
310
- const selectors = selectorCache.parse(selector);
354
+ const stripped = stripGlobalSelectorForRoot(selector, selectorCache, cacheSizes.selector, { preserveCombinator: true });
355
+ if (!stripped) {
356
+ ruleKeys.set(rule, []);
357
+ return [];
358
+ }
359
+ const selectorTexts = splitSelectors(stripped, selectorCache);
311
360
  const keys = new Set();
312
- selectors.forEach((sel) => {
313
- const classes = [];
314
- let hasNesting = false;
315
- let pseudoElement = null;
316
- sel.walk((node) => {
317
- if (node.type === 'class')
318
- classes.push(node.value);
319
- if (node.type === 'nesting')
320
- hasNesting = true;
321
- if (node.type === 'pseudo') {
322
- const name = isPseudoElement(node.value);
323
- if (name)
324
- pseudoElement = name;
325
- }
326
- });
327
- const pickBaseClass = () => {
328
- for (let i = classes.length - 1; i >= 0; i -= 1) {
329
- const name = classes[i];
330
- const kind = classify(name, options, patterns);
331
- if (kind === 'block' || kind === 'element')
332
- return { name, kind };
333
- }
334
- return null;
335
- };
336
- const base = pickBaseClass();
337
- if (!base) {
338
- if (hasNesting) {
339
- const parentRule = findParentRule(rule);
340
- if (parentRule) {
341
- const parentKeys = resolveKeys(parentRule);
342
- parentKeys.forEach((parentKey) => {
343
- const key = pseudoElement ? `${parentKey}::${pseudoElement}` : parentKey;
344
- keys.add(key);
345
- });
361
+ selectorTexts.forEach((selectorText) => {
362
+ const selectors = selectorCache.parse(selectorText);
363
+ selectors.forEach((sel) => {
364
+ const directClasses = [];
365
+ const pseudoClasses = [];
366
+ let hasNesting = false;
367
+ let hasNonSameElementClass = false;
368
+ let pseudoElement = null;
369
+ sel.walk((node) => {
370
+ if (isInsideGlobalPseudo(node))
371
+ return;
372
+ if (node.type === 'class' &&
373
+ !isInsideNonSameElementPseudo(node, keySameElementPseudos)) {
374
+ if (isInsidePseudo(node)) {
375
+ pseudoClasses.push(node.value);
376
+ }
377
+ else {
378
+ directClasses.push(node.value);
379
+ }
380
+ }
381
+ if (node.type === 'class' &&
382
+ isInsideNonSameElementPseudo(node, keySameElementPseudos)) {
383
+ hasNonSameElementClass = true;
346
384
  }
385
+ if (node.type === 'nesting')
386
+ hasNesting = true;
387
+ if (node.type === 'pseudo') {
388
+ if (isInsideNonSameElementPseudo(node, keySameElementPseudos))
389
+ return;
390
+ const name = isPseudoElement(node.value);
391
+ if (name)
392
+ pseudoElement = name;
393
+ }
394
+ });
395
+ const pickBaseClass = (classList) => {
396
+ for (let i = classList.length - 1; i >= 0; i -= 1) {
397
+ const name = classList[i];
398
+ const kind = classify(name, classifyOptions, patterns);
399
+ if (kind === 'block' || kind === 'element')
400
+ return { name, kind };
401
+ }
402
+ return null;
403
+ };
404
+ const base = pickBaseClass(directClasses) ?? pickBaseClass(pseudoClasses);
405
+ if (!base) {
406
+ if (hasNesting) {
407
+ const parentRule = findParentRule(rule);
408
+ if (parentRule) {
409
+ const parentKeys = resolveKeys(parentRule);
410
+ parentKeys.forEach((parentKey) => {
411
+ const key = pseudoElement
412
+ ? `${parentKey}::${pseudoElement}`
413
+ : parentKey;
414
+ keys.add(key);
415
+ });
416
+ }
417
+ }
418
+ if (hasNonSameElementClass) {
419
+ // Selectors that only target non-same-element pseudos are out-of-scope.
420
+ return;
421
+ }
422
+ return;
347
423
  }
348
- return;
349
- }
350
- if (base.kind === 'element') {
351
- if (!rootBlockName)
424
+ if (base.kind === 'element') {
425
+ if (!rootBlockName)
426
+ return;
427
+ const keyBase = `${rootBlockName}>${base.name}`;
428
+ const key = pseudoElement ? `${keyBase}::${pseudoElement}` : keyBase;
429
+ keys.add(key);
352
430
  return;
353
- const keyBase = `${rootBlockName}>${base.name}`;
431
+ }
432
+ const keyBase = base.name;
354
433
  const key = pseudoElement ? `${keyBase}::${pseudoElement}` : keyBase;
355
434
  keys.add(key);
356
- return;
357
- }
358
- const keyBase = base.name;
359
- const key = pseudoElement ? `${keyBase}::${pseudoElement}` : keyBase;
360
- keys.add(key);
435
+ });
361
436
  });
362
437
  const list = [...keys];
363
438
  ruleKeys.set(rule, list);
@@ -381,22 +456,44 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
381
456
  : messages.missingTransitionProperty();
382
457
  stylelint.utils.report({ ruleName, result, node: decl, message });
383
458
  };
459
+ const outsideDeclsByKey = new Map();
460
+ const addOutsideDecls = (keys, prop, decl) => {
461
+ keys.forEach((key) => {
462
+ let propMap = outsideDeclsByKey.get(key);
463
+ if (!propMap) {
464
+ propMap = new Map();
465
+ outsideDeclsByKey.set(key, propMap);
466
+ }
467
+ const list = propMap.get(prop);
468
+ if (list) {
469
+ list.push(decl);
470
+ }
471
+ else {
472
+ propMap.set(prop, [decl]);
473
+ }
474
+ });
475
+ };
384
476
  root.walkDecls((decl) => {
385
477
  if (isInsideKeyframes(decl))
386
478
  return;
387
479
  const prop = decl.prop.toLowerCase();
388
- if (!TRANSITION_PROPERTIES.has(prop) && !ANIMATION_PROPERTIES.has(prop))
389
- return;
390
480
  const parentRule = findParentRule(decl);
391
481
  if (!parentRule)
392
482
  return;
393
483
  const inInteraction = isInInteractionSection(decl) || isInInteractionByComment(decl);
484
+ if (!inInteraction) {
485
+ const keys = resolveKeys(parentRule);
486
+ if (keys.length > 0)
487
+ addOutsideDecls(keys, prop, decl);
488
+ }
489
+ if (!TRANSITION_PROPERTIES.has(prop) && !ANIMATION_PROPERTIES.has(prop))
490
+ return;
394
491
  if (!inInteraction) {
395
492
  stylelint.utils.report({
396
493
  ruleName,
397
494
  result,
398
495
  node: decl,
399
- message: messages.needInteraction(prop)
496
+ message: messages.needInteraction(prop, options.comments.interaction)
400
497
  });
401
498
  }
402
499
  if (TRANSITION_LIST_PROPERTIES.has(prop)) {
@@ -414,27 +511,21 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
414
511
  }
415
512
  }
416
513
  });
417
- root.walkDecls((decl) => {
418
- if (isInsideKeyframes(decl))
419
- return;
420
- const parentRule = findParentRule(decl);
421
- if (!parentRule)
422
- return;
423
- if (isInInteractionSection(decl) || isInInteractionByComment(decl))
514
+ outsideDeclsByKey.forEach((propMap, key) => {
515
+ const targets = transitionedProps.get(key);
516
+ if (!targets)
424
517
  return;
425
- const prop = decl.prop.toLowerCase();
426
- const keys = resolveKeys(parentRule);
427
- if (keys.length === 0)
428
- return;
429
- keys.forEach((key) => {
430
- const targets = transitionedProps.get(key);
431
- if (!targets || !targets.has(prop))
518
+ const label = formatTargetLabel(key);
519
+ propMap.forEach((decls, prop) => {
520
+ if (!targets.has(prop))
432
521
  return;
433
- stylelint.utils.report({
434
- ruleName,
435
- result,
436
- node: decl,
437
- message: messages.initialOutsideInteraction(prop, formatTargetLabel(key))
522
+ decls.forEach((decl) => {
523
+ stylelint.utils.report({
524
+ ruleName,
525
+ result,
526
+ node: decl,
527
+ message: messages.initialOutsideInteraction(prop, label, options.comments.interaction)
528
+ });
438
529
  });
439
530
  });
440
531
  });
@@ -443,7 +534,7 @@ const rule = createRule(ruleName, messages, (primaryOption, secondaryOption, _co
443
534
  ruleName,
444
535
  result,
445
536
  node: root,
446
- message: messages.selectorParseFailed(),
537
+ message: messages.selectorParseFailed(...selectorParseFailedArgs(selectorState.getErrorSelector())),
447
538
  severity: 'warning'
448
539
  });
449
540
  }