@jesscss/core 2.0.0-alpha.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 (423) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/lib/context.d.ts +352 -0
  4. package/lib/context.d.ts.map +1 -0
  5. package/lib/context.js +636 -0
  6. package/lib/context.js.map +1 -0
  7. package/lib/conversions.d.ts +73 -0
  8. package/lib/conversions.d.ts.map +1 -0
  9. package/lib/conversions.js +253 -0
  10. package/lib/conversions.js.map +1 -0
  11. package/lib/debug-log.d.ts +2 -0
  12. package/lib/debug-log.d.ts.map +1 -0
  13. package/lib/debug-log.js +27 -0
  14. package/lib/debug-log.js.map +1 -0
  15. package/lib/define-function.d.ts +587 -0
  16. package/lib/define-function.d.ts.map +1 -0
  17. package/lib/define-function.js +726 -0
  18. package/lib/define-function.js.map +1 -0
  19. package/lib/deprecation.d.ts +34 -0
  20. package/lib/deprecation.d.ts.map +1 -0
  21. package/lib/deprecation.js +57 -0
  22. package/lib/deprecation.js.map +1 -0
  23. package/lib/index.d.ts +22 -0
  24. package/lib/index.d.ts.map +1 -0
  25. package/lib/index.js +23 -0
  26. package/lib/index.js.map +1 -0
  27. package/lib/jess-error.d.ts +343 -0
  28. package/lib/jess-error.d.ts.map +1 -0
  29. package/lib/jess-error.js +508 -0
  30. package/lib/jess-error.js.map +1 -0
  31. package/lib/logger/deprecation-processing.d.ts +41 -0
  32. package/lib/logger/deprecation-processing.d.ts.map +1 -0
  33. package/lib/logger/deprecation-processing.js +81 -0
  34. package/lib/logger/deprecation-processing.js.map +1 -0
  35. package/lib/logger.d.ts +10 -0
  36. package/lib/logger.d.ts.map +1 -0
  37. package/lib/logger.js +20 -0
  38. package/lib/logger.js.map +1 -0
  39. package/lib/plugin.d.ts +94 -0
  40. package/lib/plugin.d.ts.map +1 -0
  41. package/lib/plugin.js +174 -0
  42. package/lib/plugin.js.map +1 -0
  43. package/lib/tree/ampersand.d.ts +94 -0
  44. package/lib/tree/ampersand.d.ts.map +1 -0
  45. package/lib/tree/ampersand.js +269 -0
  46. package/lib/tree/ampersand.js.map +1 -0
  47. package/lib/tree/any.d.ts +58 -0
  48. package/lib/tree/any.d.ts.map +1 -0
  49. package/lib/tree/any.js +101 -0
  50. package/lib/tree/any.js.map +1 -0
  51. package/lib/tree/at-rule.d.ts +53 -0
  52. package/lib/tree/at-rule.d.ts.map +1 -0
  53. package/lib/tree/at-rule.js +503 -0
  54. package/lib/tree/at-rule.js.map +1 -0
  55. package/lib/tree/block.d.ts +22 -0
  56. package/lib/tree/block.d.ts.map +1 -0
  57. package/lib/tree/block.js +24 -0
  58. package/lib/tree/block.js.map +1 -0
  59. package/lib/tree/bool.d.ts +17 -0
  60. package/lib/tree/bool.d.ts.map +1 -0
  61. package/lib/tree/bool.js +24 -0
  62. package/lib/tree/bool.js.map +1 -0
  63. package/lib/tree/call.d.ts +66 -0
  64. package/lib/tree/call.d.ts.map +1 -0
  65. package/lib/tree/call.js +306 -0
  66. package/lib/tree/call.js.map +1 -0
  67. package/lib/tree/collection.d.ts +30 -0
  68. package/lib/tree/collection.d.ts.map +1 -0
  69. package/lib/tree/collection.js +37 -0
  70. package/lib/tree/collection.js.map +1 -0
  71. package/lib/tree/color.d.ts +101 -0
  72. package/lib/tree/color.d.ts.map +1 -0
  73. package/lib/tree/color.js +513 -0
  74. package/lib/tree/color.js.map +1 -0
  75. package/lib/tree/combinator.d.ts +12 -0
  76. package/lib/tree/combinator.d.ts.map +1 -0
  77. package/lib/tree/combinator.js +8 -0
  78. package/lib/tree/combinator.js.map +1 -0
  79. package/lib/tree/comment.d.ts +20 -0
  80. package/lib/tree/comment.d.ts.map +1 -0
  81. package/lib/tree/comment.js +18 -0
  82. package/lib/tree/comment.js.map +1 -0
  83. package/lib/tree/condition.d.ts +31 -0
  84. package/lib/tree/condition.d.ts.map +1 -0
  85. package/lib/tree/condition.js +103 -0
  86. package/lib/tree/condition.js.map +1 -0
  87. package/lib/tree/control.d.ts +104 -0
  88. package/lib/tree/control.d.ts.map +1 -0
  89. package/lib/tree/control.js +430 -0
  90. package/lib/tree/control.js.map +1 -0
  91. package/lib/tree/declaration-custom.d.ts +18 -0
  92. package/lib/tree/declaration-custom.d.ts.map +1 -0
  93. package/lib/tree/declaration-custom.js +24 -0
  94. package/lib/tree/declaration-custom.js.map +1 -0
  95. package/lib/tree/declaration-var.d.ts +36 -0
  96. package/lib/tree/declaration-var.d.ts.map +1 -0
  97. package/lib/tree/declaration-var.js +63 -0
  98. package/lib/tree/declaration-var.js.map +1 -0
  99. package/lib/tree/declaration.d.ts +78 -0
  100. package/lib/tree/declaration.d.ts.map +1 -0
  101. package/lib/tree/declaration.js +289 -0
  102. package/lib/tree/declaration.js.map +1 -0
  103. package/lib/tree/default-guard.d.ts +15 -0
  104. package/lib/tree/default-guard.d.ts.map +1 -0
  105. package/lib/tree/default-guard.js +19 -0
  106. package/lib/tree/default-guard.js.map +1 -0
  107. package/lib/tree/dimension.d.ts +33 -0
  108. package/lib/tree/dimension.d.ts.map +1 -0
  109. package/lib/tree/dimension.js +291 -0
  110. package/lib/tree/dimension.js.map +1 -0
  111. package/lib/tree/expression.d.ts +24 -0
  112. package/lib/tree/expression.d.ts.map +1 -0
  113. package/lib/tree/expression.js +28 -0
  114. package/lib/tree/expression.js.map +1 -0
  115. package/lib/tree/extend-list.d.ts +23 -0
  116. package/lib/tree/extend-list.d.ts.map +1 -0
  117. package/lib/tree/extend-list.js +20 -0
  118. package/lib/tree/extend-list.js.map +1 -0
  119. package/lib/tree/extend.d.ts +47 -0
  120. package/lib/tree/extend.d.ts.map +1 -0
  121. package/lib/tree/extend.js +292 -0
  122. package/lib/tree/extend.js.map +1 -0
  123. package/lib/tree/function.d.ts +48 -0
  124. package/lib/tree/function.d.ts.map +1 -0
  125. package/lib/tree/function.js +74 -0
  126. package/lib/tree/function.js.map +1 -0
  127. package/lib/tree/import-js.d.ts +35 -0
  128. package/lib/tree/import-js.d.ts.map +1 -0
  129. package/lib/tree/import-js.js +45 -0
  130. package/lib/tree/import-js.js.map +1 -0
  131. package/lib/tree/import-style.d.ts +156 -0
  132. package/lib/tree/import-style.d.ts.map +1 -0
  133. package/lib/tree/import-style.js +556 -0
  134. package/lib/tree/import-style.js.map +1 -0
  135. package/lib/tree/index.d.ts +71 -0
  136. package/lib/tree/index.d.ts.map +1 -0
  137. package/lib/tree/index.js +95 -0
  138. package/lib/tree/index.js.map +1 -0
  139. package/lib/tree/interpolated-reference.d.ts +24 -0
  140. package/lib/tree/interpolated-reference.d.ts.map +1 -0
  141. package/lib/tree/interpolated-reference.js +37 -0
  142. package/lib/tree/interpolated-reference.js.map +1 -0
  143. package/lib/tree/interpolated.d.ts +62 -0
  144. package/lib/tree/interpolated.d.ts.map +1 -0
  145. package/lib/tree/interpolated.js +204 -0
  146. package/lib/tree/interpolated.js.map +1 -0
  147. package/lib/tree/js-array.d.ts +10 -0
  148. package/lib/tree/js-array.d.ts.map +1 -0
  149. package/lib/tree/js-array.js +10 -0
  150. package/lib/tree/js-array.js.map +1 -0
  151. package/lib/tree/js-expr.d.ts +23 -0
  152. package/lib/tree/js-expr.d.ts.map +1 -0
  153. package/lib/tree/js-expr.js +28 -0
  154. package/lib/tree/js-expr.js.map +1 -0
  155. package/lib/tree/js-function.d.ts +20 -0
  156. package/lib/tree/js-function.d.ts.map +1 -0
  157. package/lib/tree/js-function.js +16 -0
  158. package/lib/tree/js-function.js.map +1 -0
  159. package/lib/tree/js-object.d.ts +10 -0
  160. package/lib/tree/js-object.d.ts.map +1 -0
  161. package/lib/tree/js-object.js +10 -0
  162. package/lib/tree/js-object.js.map +1 -0
  163. package/lib/tree/list.d.ts +38 -0
  164. package/lib/tree/list.d.ts.map +1 -0
  165. package/lib/tree/list.js +83 -0
  166. package/lib/tree/list.js.map +1 -0
  167. package/lib/tree/log.d.ts +29 -0
  168. package/lib/tree/log.d.ts.map +1 -0
  169. package/lib/tree/log.js +56 -0
  170. package/lib/tree/log.js.map +1 -0
  171. package/lib/tree/mixin.d.ts +87 -0
  172. package/lib/tree/mixin.d.ts.map +1 -0
  173. package/lib/tree/mixin.js +112 -0
  174. package/lib/tree/mixin.js.map +1 -0
  175. package/lib/tree/negative.d.ts +17 -0
  176. package/lib/tree/negative.d.ts.map +1 -0
  177. package/lib/tree/negative.js +22 -0
  178. package/lib/tree/negative.js.map +1 -0
  179. package/lib/tree/nil.d.ts +31 -0
  180. package/lib/tree/nil.d.ts.map +1 -0
  181. package/lib/tree/nil.js +36 -0
  182. package/lib/tree/nil.js.map +1 -0
  183. package/lib/tree/node-base.d.ts +359 -0
  184. package/lib/tree/node-base.d.ts.map +1 -0
  185. package/lib/tree/node-base.js +884 -0
  186. package/lib/tree/node-base.js.map +1 -0
  187. package/lib/tree/node.d.ts +10 -0
  188. package/lib/tree/node.d.ts.map +1 -0
  189. package/lib/tree/node.js +45 -0
  190. package/lib/tree/node.js.map +1 -0
  191. package/lib/tree/number.d.ts +21 -0
  192. package/lib/tree/number.d.ts.map +1 -0
  193. package/lib/tree/number.js +27 -0
  194. package/lib/tree/number.js.map +1 -0
  195. package/lib/tree/operation.d.ts +26 -0
  196. package/lib/tree/operation.d.ts.map +1 -0
  197. package/lib/tree/operation.js +103 -0
  198. package/lib/tree/operation.js.map +1 -0
  199. package/lib/tree/paren.d.ts +18 -0
  200. package/lib/tree/paren.d.ts.map +1 -0
  201. package/lib/tree/paren.js +86 -0
  202. package/lib/tree/paren.js.map +1 -0
  203. package/lib/tree/query-condition.d.ts +17 -0
  204. package/lib/tree/query-condition.d.ts.map +1 -0
  205. package/lib/tree/query-condition.js +39 -0
  206. package/lib/tree/query-condition.js.map +1 -0
  207. package/lib/tree/quoted.d.ts +27 -0
  208. package/lib/tree/quoted.d.ts.map +1 -0
  209. package/lib/tree/quoted.js +66 -0
  210. package/lib/tree/quoted.js.map +1 -0
  211. package/lib/tree/range.d.ts +33 -0
  212. package/lib/tree/range.d.ts.map +1 -0
  213. package/lib/tree/range.js +47 -0
  214. package/lib/tree/range.js.map +1 -0
  215. package/lib/tree/reference.d.ts +76 -0
  216. package/lib/tree/reference.d.ts.map +1 -0
  217. package/lib/tree/reference.js +521 -0
  218. package/lib/tree/reference.js.map +1 -0
  219. package/lib/tree/rest.d.ts +15 -0
  220. package/lib/tree/rest.d.ts.map +1 -0
  221. package/lib/tree/rest.js +32 -0
  222. package/lib/tree/rest.js.map +1 -0
  223. package/lib/tree/rules-raw.d.ts +17 -0
  224. package/lib/tree/rules-raw.d.ts.map +1 -0
  225. package/lib/tree/rules-raw.js +37 -0
  226. package/lib/tree/rules-raw.js.map +1 -0
  227. package/lib/tree/rules.d.ts +255 -0
  228. package/lib/tree/rules.d.ts.map +1 -0
  229. package/lib/tree/rules.js +2293 -0
  230. package/lib/tree/rules.js.map +1 -0
  231. package/lib/tree/ruleset.d.ts +91 -0
  232. package/lib/tree/ruleset.d.ts.map +1 -0
  233. package/lib/tree/ruleset.js +506 -0
  234. package/lib/tree/ruleset.js.map +1 -0
  235. package/lib/tree/selector-attr.d.ts +31 -0
  236. package/lib/tree/selector-attr.d.ts.map +1 -0
  237. package/lib/tree/selector-attr.js +99 -0
  238. package/lib/tree/selector-attr.js.map +1 -0
  239. package/lib/tree/selector-basic.d.ts +23 -0
  240. package/lib/tree/selector-basic.d.ts.map +1 -0
  241. package/lib/tree/selector-basic.js +34 -0
  242. package/lib/tree/selector-basic.js.map +1 -0
  243. package/lib/tree/selector-capture.d.ts +23 -0
  244. package/lib/tree/selector-capture.d.ts.map +1 -0
  245. package/lib/tree/selector-capture.js +34 -0
  246. package/lib/tree/selector-capture.js.map +1 -0
  247. package/lib/tree/selector-complex.d.ts +40 -0
  248. package/lib/tree/selector-complex.d.ts.map +1 -0
  249. package/lib/tree/selector-complex.js +143 -0
  250. package/lib/tree/selector-complex.js.map +1 -0
  251. package/lib/tree/selector-compound.d.ts +16 -0
  252. package/lib/tree/selector-compound.d.ts.map +1 -0
  253. package/lib/tree/selector-compound.js +114 -0
  254. package/lib/tree/selector-compound.js.map +1 -0
  255. package/lib/tree/selector-interpolated.d.ts +23 -0
  256. package/lib/tree/selector-interpolated.d.ts.map +1 -0
  257. package/lib/tree/selector-interpolated.js +27 -0
  258. package/lib/tree/selector-interpolated.js.map +1 -0
  259. package/lib/tree/selector-list.d.ts +17 -0
  260. package/lib/tree/selector-list.d.ts.map +1 -0
  261. package/lib/tree/selector-list.js +184 -0
  262. package/lib/tree/selector-list.js.map +1 -0
  263. package/lib/tree/selector-pseudo.d.ts +42 -0
  264. package/lib/tree/selector-pseudo.d.ts.map +1 -0
  265. package/lib/tree/selector-pseudo.js +191 -0
  266. package/lib/tree/selector-pseudo.js.map +1 -0
  267. package/lib/tree/selector-simple.d.ts +5 -0
  268. package/lib/tree/selector-simple.d.ts.map +1 -0
  269. package/lib/tree/selector-simple.js +6 -0
  270. package/lib/tree/selector-simple.js.map +1 -0
  271. package/lib/tree/selector.d.ts +43 -0
  272. package/lib/tree/selector.d.ts.map +1 -0
  273. package/lib/tree/selector.js +56 -0
  274. package/lib/tree/selector.js.map +1 -0
  275. package/lib/tree/sequence.d.ts +43 -0
  276. package/lib/tree/sequence.d.ts.map +1 -0
  277. package/lib/tree/sequence.js +148 -0
  278. package/lib/tree/sequence.js.map +1 -0
  279. package/lib/tree/tree.d.ts +87 -0
  280. package/lib/tree/tree.d.ts.map +1 -0
  281. package/lib/tree/tree.js +2 -0
  282. package/lib/tree/tree.js.map +1 -0
  283. package/lib/tree/url.d.ts +18 -0
  284. package/lib/tree/url.d.ts.map +1 -0
  285. package/lib/tree/url.js +35 -0
  286. package/lib/tree/url.js.map +1 -0
  287. package/lib/tree/util/__tests__/debug-log.d.ts +1 -0
  288. package/lib/tree/util/__tests__/debug-log.d.ts.map +1 -0
  289. package/lib/tree/util/__tests__/debug-log.js +36 -0
  290. package/lib/tree/util/__tests__/debug-log.js.map +1 -0
  291. package/lib/tree/util/calculate.d.ts +3 -0
  292. package/lib/tree/util/calculate.d.ts.map +1 -0
  293. package/lib/tree/util/calculate.js +10 -0
  294. package/lib/tree/util/calculate.js.map +1 -0
  295. package/lib/tree/util/cast.d.ts +10 -0
  296. package/lib/tree/util/cast.d.ts.map +1 -0
  297. package/lib/tree/util/cast.js +87 -0
  298. package/lib/tree/util/cast.js.map +1 -0
  299. package/lib/tree/util/cloning.d.ts +4 -0
  300. package/lib/tree/util/cloning.d.ts.map +1 -0
  301. package/lib/tree/util/cloning.js +8 -0
  302. package/lib/tree/util/cloning.js.map +1 -0
  303. package/lib/tree/util/collections.d.ts +57 -0
  304. package/lib/tree/util/collections.d.ts.map +1 -0
  305. package/lib/tree/util/collections.js +136 -0
  306. package/lib/tree/util/collections.js.map +1 -0
  307. package/lib/tree/util/compare.d.ts +11 -0
  308. package/lib/tree/util/compare.d.ts.map +1 -0
  309. package/lib/tree/util/compare.js +89 -0
  310. package/lib/tree/util/compare.js.map +1 -0
  311. package/lib/tree/util/extend-helpers.d.ts +2 -0
  312. package/lib/tree/util/extend-helpers.d.ts.map +1 -0
  313. package/lib/tree/util/extend-helpers.js +2 -0
  314. package/lib/tree/util/extend-helpers.js.map +1 -0
  315. package/lib/tree/util/extend-roots.d.ts +37 -0
  316. package/lib/tree/util/extend-roots.d.ts.map +1 -0
  317. package/lib/tree/util/extend-roots.js +682 -0
  318. package/lib/tree/util/extend-roots.js.map +1 -0
  319. package/lib/tree/util/extend-roots.old.d.ts +132 -0
  320. package/lib/tree/util/extend-roots.old.d.ts.map +1 -0
  321. package/lib/tree/util/extend-roots.old.js +2272 -0
  322. package/lib/tree/util/extend-roots.old.js.map +1 -0
  323. package/lib/tree/util/extend-trace-debug.d.ts +13 -0
  324. package/lib/tree/util/extend-trace-debug.d.ts.map +1 -0
  325. package/lib/tree/util/extend-trace-debug.js +34 -0
  326. package/lib/tree/util/extend-trace-debug.js.map +1 -0
  327. package/lib/tree/util/extend.d.ts +218 -0
  328. package/lib/tree/util/extend.d.ts.map +1 -0
  329. package/lib/tree/util/extend.js +3033 -0
  330. package/lib/tree/util/extend.js.map +1 -0
  331. package/lib/tree/util/find-extendable-locations.d.ts +2 -0
  332. package/lib/tree/util/find-extendable-locations.d.ts.map +1 -0
  333. package/lib/tree/util/find-extendable-locations.js +2 -0
  334. package/lib/tree/util/find-extendable-locations.js.map +1 -0
  335. package/lib/tree/util/format.d.ts +20 -0
  336. package/lib/tree/util/format.d.ts.map +1 -0
  337. package/lib/tree/util/format.js +67 -0
  338. package/lib/tree/util/format.js.map +1 -0
  339. package/lib/tree/util/is-node.d.ts +13 -0
  340. package/lib/tree/util/is-node.d.ts.map +1 -0
  341. package/lib/tree/util/is-node.js +43 -0
  342. package/lib/tree/util/is-node.js.map +1 -0
  343. package/lib/tree/util/print.d.ts +80 -0
  344. package/lib/tree/util/print.d.ts.map +1 -0
  345. package/lib/tree/util/print.js +205 -0
  346. package/lib/tree/util/print.js.map +1 -0
  347. package/lib/tree/util/process-leading-is.d.ts +25 -0
  348. package/lib/tree/util/process-leading-is.d.ts.map +1 -0
  349. package/lib/tree/util/process-leading-is.js +364 -0
  350. package/lib/tree/util/process-leading-is.js.map +1 -0
  351. package/lib/tree/util/recursion-helper.d.ts +15 -0
  352. package/lib/tree/util/recursion-helper.d.ts.map +1 -0
  353. package/lib/tree/util/recursion-helper.js +43 -0
  354. package/lib/tree/util/recursion-helper.js.map +1 -0
  355. package/lib/tree/util/regex.d.ts +4 -0
  356. package/lib/tree/util/regex.d.ts.map +1 -0
  357. package/lib/tree/util/regex.js +4 -0
  358. package/lib/tree/util/regex.js.map +1 -0
  359. package/lib/tree/util/registry-utils.d.ts +192 -0
  360. package/lib/tree/util/registry-utils.d.ts.map +1 -0
  361. package/lib/tree/util/registry-utils.js +1242 -0
  362. package/lib/tree/util/registry-utils.js.map +1 -0
  363. package/lib/tree/util/ruleset-trace.d.ts +4 -0
  364. package/lib/tree/util/ruleset-trace.d.ts.map +1 -0
  365. package/lib/tree/util/ruleset-trace.js +14 -0
  366. package/lib/tree/util/ruleset-trace.js.map +1 -0
  367. package/lib/tree/util/selector-compare.d.ts +2 -0
  368. package/lib/tree/util/selector-compare.d.ts.map +1 -0
  369. package/lib/tree/util/selector-compare.js +2 -0
  370. package/lib/tree/util/selector-compare.js.map +1 -0
  371. package/lib/tree/util/selector-match-core.d.ts +171 -0
  372. package/lib/tree/util/selector-match-core.d.ts.map +1 -0
  373. package/lib/tree/util/selector-match-core.js +1578 -0
  374. package/lib/tree/util/selector-match-core.js.map +1 -0
  375. package/lib/tree/util/selector-utils.d.ts +30 -0
  376. package/lib/tree/util/selector-utils.d.ts.map +1 -0
  377. package/lib/tree/util/selector-utils.js +100 -0
  378. package/lib/tree/util/selector-utils.js.map +1 -0
  379. package/lib/tree/util/serialize-helper.d.ts +13 -0
  380. package/lib/tree/util/serialize-helper.d.ts.map +1 -0
  381. package/lib/tree/util/serialize-helper.js +387 -0
  382. package/lib/tree/util/serialize-helper.js.map +1 -0
  383. package/lib/tree/util/serialize-types.d.ts +9 -0
  384. package/lib/tree/util/serialize-types.d.ts.map +1 -0
  385. package/lib/tree/util/serialize-types.js +216 -0
  386. package/lib/tree/util/serialize-types.js.map +1 -0
  387. package/lib/tree/util/should-operate.d.ts +23 -0
  388. package/lib/tree/util/should-operate.d.ts.map +1 -0
  389. package/lib/tree/util/should-operate.js +46 -0
  390. package/lib/tree/util/should-operate.js.map +1 -0
  391. package/lib/tree/util/sourcemap.d.ts +7 -0
  392. package/lib/tree/util/sourcemap.d.ts.map +1 -0
  393. package/lib/tree/util/sourcemap.js +25 -0
  394. package/lib/tree/util/sourcemap.js.map +1 -0
  395. package/lib/types/config.d.ts +205 -0
  396. package/lib/types/config.d.ts.map +1 -0
  397. package/lib/types/config.js +2 -0
  398. package/lib/types/config.js.map +1 -0
  399. package/lib/types/index.d.ts +15 -0
  400. package/lib/types/index.d.ts.map +1 -0
  401. package/lib/types/index.js +3 -0
  402. package/lib/types/index.js.map +1 -0
  403. package/lib/types/modes.d.ts +24 -0
  404. package/lib/types/modes.d.ts.map +1 -0
  405. package/lib/types/modes.js +2 -0
  406. package/lib/types/modes.js.map +1 -0
  407. package/lib/types.d.ts +61 -0
  408. package/lib/types.d.ts.map +1 -0
  409. package/lib/types.js +2 -0
  410. package/lib/types.js.map +1 -0
  411. package/lib/use-webpack-resolver.d.ts +9 -0
  412. package/lib/use-webpack-resolver.d.ts.map +1 -0
  413. package/lib/use-webpack-resolver.js +41 -0
  414. package/lib/use-webpack-resolver.js.map +1 -0
  415. package/lib/visitor/index.d.ts +136 -0
  416. package/lib/visitor/index.d.ts.map +1 -0
  417. package/lib/visitor/index.js +135 -0
  418. package/lib/visitor/index.js.map +1 -0
  419. package/lib/visitor/less-visitor.d.ts +7 -0
  420. package/lib/visitor/less-visitor.d.ts.map +1 -0
  421. package/lib/visitor/less-visitor.js +7 -0
  422. package/lib/visitor/less-visitor.js.map +1 -0
  423. package/package.json +66 -0
@@ -0,0 +1,37 @@
1
+ import { defineType } from './node.js';
2
+ import { Rules } from './rules.js';
3
+ import { getPrintOptions } from './util/print.js';
4
+ /**
5
+ * A rules container that emits its content verbatim inside braces,
6
+ * without parent-managed newlines or indentation.
7
+ */
8
+ export class RawRules extends Rules {
9
+ type = 'RawRules';
10
+ shortType = 'rules-raw';
11
+ allowRuleRoot = true;
12
+ // Do not add newlines/indent; emit children exactly as-is
13
+ toBraced(options) {
14
+ options = getPrintOptions(options);
15
+ const w = options.writer;
16
+ const mark = w.mark();
17
+ w.add('{');
18
+ // Emit children using toString to preserve exact whitespace/comments
19
+ for (const child of this.value) {
20
+ child.toString(options);
21
+ }
22
+ w.add('}');
23
+ return w.getSince(mark);
24
+ }
25
+ // Keep trimmed output minimal – emit children verbatim without extras
26
+ toTrimmedString(options) {
27
+ options = getPrintOptions(options);
28
+ const w = options.writer;
29
+ const mark = w.mark();
30
+ for (const child of this.value) {
31
+ child.toString(options);
32
+ }
33
+ return w.getSince(mark);
34
+ }
35
+ }
36
+ export const rawrules = defineType(RawRules, 'RawRules', 'rules-raw');
37
+ //# sourceMappingURL=rules-raw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules-raw.js","sourceRoot":"","sources":["../../src/tree/rules-raw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAqB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAErE;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,IAAI,GAAG,UAAmB,CAAC;IAC3B,SAAS,GAAG,WAAoB,CAAC;IACjC,aAAa,GAAG,IAAI,CAAC;IAE9B,0DAA0D;IACjD,QAAQ,CAAC,OAAsB;QACtC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAO,CAAC;QAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACX,qEAAqE;QACrE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QACD,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACX,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,sEAAsE;IAC7D,eAAe,CAAC,OAAsB;QAC7C,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAO,CAAC;QAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC"}
@@ -0,0 +1,255 @@
1
+ import { Node, type NodeOptions, type LocationInfo, type TreeContext } from './node.js';
2
+ import { Context } from '../context.js';
3
+ import { type Ruleset } from './ruleset.js';
4
+ import { type Mixin } from './mixin.js';
5
+ import type { Selector } from './selector.js';
6
+ import { type PrintOptions } from './util/print.js';
7
+ import * as Registries from './util/registry-utils.js';
8
+ import { type MaybePromise } from '@jesscss/awaitable-pipe';
9
+ export declare const enum Priority {
10
+ None = 0,
11
+ Low = 1,
12
+ Medium = 2,
13
+ High = 3,
14
+ Highest = 4
15
+ }
16
+ export type RulesVisibility = 'public' | 'optional' | 'private';
17
+ export type RulesOptions = {
18
+ /**
19
+ * - public = all members are considered in lookup algorithms
20
+ * - optional = members are only considered if not found in the lookup tree
21
+ * - private = can't be looked up
22
+ * - local = only visible in the current scope
23
+ *
24
+ * Different types may have different defaults
25
+ *
26
+ * For Less:
27
+ * - When mixins are parsed, their rules body is set to:
28
+ * visibility: {
29
+ * Ruleset: 'public',
30
+ * Declaration: 'public',
31
+ * VarDeclaration: 'optional',
32
+ * Mixin: 'public'
33
+ * }
34
+ * - When detached rulesets are parsed, their rules body is set to:
35
+ * visibility: {
36
+ * Ruleset: 'public',
37
+ * Declaration: 'public',
38
+ * VarDeclaration: 'private', <-- the one notable difference
39
+ * Mixin: 'public'
40
+ * }
41
+ * @note - The reason Less has "optionality" is likely because it tries
42
+ * to eagerly resolve variables, so even though its in a
43
+ * child scope, it will still be considered if nothing else in the
44
+ * scope is found. I'm guessing this is because "overwriting" a local
45
+ * variable from something like a mixin call would be counter-intuitive,
46
+ * but at the same time, I guess Alexis thought that eagerly resolving
47
+ * the variable might be useful.
48
+ *
49
+ * Note that right now, only Declarations being set to "optional"
50
+ * are supported. Everything else must be public or private.
51
+ *
52
+ * For Imports, the rules body is set to:
53
+ * visibility: {
54
+ * Ruleset: 'public',
55
+ * Declaration: 'public',
56
+ * VarDeclaration: 'public',
57
+ * Mixin: 'public'
58
+ * }
59
+ */
60
+ rulesVisibility?: Record<string, RulesVisibility>;
61
+ /**
62
+ * If true, this Rules node is output from a mixin call.
63
+ * References with a target (e.g., #ns[@foo]) have public access to all nodes in these Rules.
64
+ * References without a target (e.g., @foo) cannot access these Rules.
65
+ */
66
+ isMixinOutput?: boolean;
67
+ readonly?: boolean;
68
+ /**
69
+ * all imports other than classic `@import` set returned rules to local.
70
+ * The reason is that variables are not transitive, and you need to re-use
71
+ * modules to get the same variables.
72
+ */
73
+ local?: boolean;
74
+ /**
75
+ * Sass `@forward` semantics: this Rules node exists as an export surface for downstream
76
+ * consumers, but should not be visible to lookups within the current stylesheet scope.
77
+ */
78
+ forward?: boolean;
79
+ /** Render gating marker for referenced imports/usages (serializer-time only). */
80
+ referenceMode?: boolean;
81
+ };
82
+ export interface Rules extends Node<Node[], RulesOptions & NodeOptions> {
83
+ get options(): RulesOptions & NodeOptions & {
84
+ rulesVisibility: Record<string, RulesVisibility>;
85
+ };
86
+ set options(options: RulesOptions & NodeOptions & {
87
+ rulesVisibility: Record<string, RulesVisibility>;
88
+ });
89
+ eval(context: Context): MaybePromise<this>;
90
+ }
91
+ /**
92
+ * The class representing a "declaration list".
93
+ * CSS calls it this even though CSS Nesting
94
+ * adds a bunch more things that aren't declarations.
95
+ *
96
+ * Used by Ruleset and Mixin. Additionally, imports / use statements
97
+ * return rules.
98
+ *
99
+ * @example
100
+ * [
101
+ * (Declaration color: black;)
102
+ * (Declaration background-color: white;)
103
+ * ]
104
+ */
105
+ export declare class Rules extends Node<Node[], RulesOptions & NodeOptions> {
106
+ type: string;
107
+ shortType: string;
108
+ allowRuleRoot: boolean;
109
+ allowRoot: boolean;
110
+ rulesetRegistry: Registries.RulesetRegistry | undefined;
111
+ mixinRegistry: Registries.MixinRegistry | undefined;
112
+ declarationRegistry: Registries.DeclarationRegistry | undefined;
113
+ functionRegistry: Registries.FunctionRegistry | undefined;
114
+ rulesIndexed: number;
115
+ _indexing: boolean;
116
+ _indexRules(): void;
117
+ /**
118
+ * Rules are often cloned during `preEval()` when `context.preserveOriginalNodes`
119
+ * is enabled. If callers register functions/mixins/declarations on the parsed tree
120
+ * before evaluation (e.g. via visitors), those registries must survive cloning so
121
+ * lookups during evaluation work as expected.
122
+ */
123
+ clone(deep?: boolean, cloneFn?: (n: Node) => Node): this;
124
+ /**
125
+ * Lazily create registries for types as needed.
126
+ */
127
+ register(type: 'ruleset' | 'declaration' | 'mixin' | 'function', node: Node): any;
128
+ getRegistry(type: 'ruleset'): Registries.RulesetRegistry;
129
+ getRegistry(type: 'declaration'): Registries.DeclarationRegistry;
130
+ getRegistry(type: 'mixin'): Registries.MixinRegistry;
131
+ getRegistry(type: 'function'): Registries.FunctionRegistry;
132
+ getRegistry(type: 'ruleset' | 'declaration' | 'mixin' | 'function'): Registries.RulesetRegistry | Registries.DeclarationRegistry | Registries.MixinRegistry | Registries.FunctionRegistry;
133
+ /**
134
+ * This wrapper is used so we don't prematurely create a registry
135
+ * just to search it.
136
+ */
137
+ find(type: 'ruleset', keys: string | string[] | Set<string>, filterType?: string, options?: Registries.FindOptions): ReturnType<Registries.RulesetRegistry['find']> | undefined;
138
+ find(type: 'declaration', keys: string, filterType?: string, options?: Registries.DeclarationFindOptions): ReturnType<Registries.DeclarationRegistry['find']> | undefined;
139
+ find(type: 'mixin', keys: string | string[], filterType?: string, options?: Registries.FindOptions): ReturnType<Registries.MixinRegistry['find']> | undefined;
140
+ find(type: 'function', keys: string, filterType?: string, options?: Registries.FindOptions): ReturnType<Registries.FunctionRegistry['find']> | undefined;
141
+ find(type: 'ruleset' | 'declaration' | 'mixin' | 'function', key: string, filterType: string, options?: Registries.FindOptions): ReturnType<Registries.RulesetRegistry['find']> | ReturnType<Registries.DeclarationRegistry['find']> | ReturnType<Registries.MixinRegistry['find']> | ReturnType<Registries.FunctionRegistry['find']> | undefined;
142
+ toString(options?: PrintOptions): string;
143
+ pendingExtends: Set<[find: Selector<any, NodeOptions>, extendWith: Selector<any, NodeOptions>, partial: boolean]>;
144
+ constructor(value: Node[], options?: RulesOptions & NodeOptions, location?: LocationInfo, treeContext?: TreeContext);
145
+ [Symbol.iterator](): Generator<[number, Node<unknown, NodeOptions>], void, unknown>;
146
+ /**
147
+ * Used by Ruleset, Mixins, and AtRules etc to render
148
+ * rules with braces.
149
+ */
150
+ toBraced(options?: PrintOptions): string;
151
+ private _emitRulesBody;
152
+ toTrimmedString(options?: PrintOptions): string;
153
+ /** All rules, with nested rules flattened */
154
+ flatRules(visibleOnly?: boolean): Node<unknown, NodeOptions>[];
155
+ visibleRules(): Node<unknown, NodeOptions>[];
156
+ /**
157
+ * Return an object representation of a ruleset
158
+ */
159
+ toObject(convertToPrimitives: true): Record<string, string | number | boolean>;
160
+ toObject(convertToPrimitives: false): Record<string, Node>;
161
+ toObject(convertToPrimitives?: boolean): Record<string, string | number | boolean | Node>;
162
+ /** @todo - Refactor? */
163
+ _rulesSet: RulesEntry[] | undefined;
164
+ get rulesSet(): RulesEntry[];
165
+ registerNode(node: Node, options?: Record<string, any>, _context?: Context): void;
166
+ push(...nodes: Node[]): void;
167
+ at(index: number): Node<unknown, NodeOptions> | undefined;
168
+ /**
169
+ * This traverses deeply to visit all nodes, but indexes locally.
170
+ */
171
+ preEval(context: Context): this | Promise<this>;
172
+ /**
173
+ * Multi-pass preEval system to handle interpolated names and dependencies
174
+ */
175
+ private _multiPassPreEval;
176
+ /**
177
+ * Helper to check if a value is static (either a Node with F_STATIC flag or a primitive value)
178
+ */
179
+ private _isStatic;
180
+ /**
181
+ * Check if a node has a static name that can be registered immediately
182
+ */
183
+ private _hasStaticName;
184
+ /**
185
+ * Register a node if it's eligible for registration
186
+ */
187
+ private _registerNodeIfEligible;
188
+ /**
189
+ * Multi-pass resolution of dynamic nodes with interpolated names
190
+ */
191
+ private _resolveDynamicNodes;
192
+ /**
193
+ * Helper method to continue preEval'ing remaining children after an async preEval.
194
+ */
195
+ private _preEvalRemainingChildren;
196
+ /** Save current context roots to restore later */
197
+ private _snapshotContext;
198
+ /** Setup context for evaluating these rules */
199
+ private _setupContextForRules;
200
+ /** Assign depth-first document order to every Ruleset under the given Rules (single walk, source order). */
201
+ private _assignDocumentOrderDepthFirst;
202
+ /** Build the evaluation queue partitioned by priority */
203
+ private _buildEvalQueue;
204
+ /** Evaluate the built queues in priority order */
205
+ private _evaluateQueue;
206
+ /**
207
+ * Coalesce assignment-normalized declaration chains in one stage after evaluation.
208
+ * This handles both in-scope merges and merges that span call-produced Rules blocks.
209
+ */
210
+ private _coalesceMergedDeclarations;
211
+ /**
212
+ * Normalize call-produced declaration-only Rules ordering so declarations
213
+ * emitted from late-evaluated calls (e.g. each/$for) appear before nested
214
+ * rulesets/at-rules in the same parent Rules container.
215
+ *
216
+ * This runs after queue evaluation to avoid mutating rule indices mid-eval.
217
+ */
218
+ private _normalizeCallDeclarationRulesOrder;
219
+ /**
220
+ * After preEval: ensure root on extend stack, build eval queue, run evaluation.
221
+ * Used by evalNode so that when eval() is called without preEval (e.g. jess compile()),
222
+ * we still have all rulesets registered and root set for extend lookups.
223
+ */
224
+ private _afterPreEvalStep;
225
+ evalNode(context: Context): MaybePromise<this>;
226
+ }
227
+ export declare const rules: (value?: Node<unknown, NodeOptions>[] | undefined, options?: (RulesOptions & Record<string, any> & {
228
+ semi?: boolean;
229
+ }) | undefined, location?: LocationInfo | undefined) => Rules;
230
+ interface RulesEntry {
231
+ node: Rules;
232
+ rulesVisibility?: RulesOptions['rulesVisibility'];
233
+ /**
234
+ * These are from use, from, and import statements. Can't be assigned with $$
235
+ * (verify that this is not possible with SCSS).
236
+ */
237
+ readonly?: boolean;
238
+ }
239
+ /**
240
+ * Right now, the only nodes that can be registered to the scope for lookups
241
+ */
242
+ export type MixinEntry = Mixin | Ruleset;
243
+ /**
244
+ * Returns a plain JS function for calling a set of mixins
245
+ *
246
+ * This is in the same file as Rules to avoid circular dependencies.
247
+ *
248
+ * @note this will be called as a result after a mixin find is executed.
249
+ */
250
+ export declare function getFunctionFromMixins(mixins: MixinEntry | MixinEntry[]): {
251
+ (this: unknown, ...args: any[]): Promise<Rules | Record<string, string>>;
252
+ (this: Context, ...args: any[]): Promise<Rules>;
253
+ };
254
+ export {};
255
+ //# sourceMappingURL=rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/tree/rules.ts"],"names":[],"mappings":"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"}