@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,43 @@
1
+ import { isNode } from './is-node.js';
2
+ /**
3
+ * This memoizes arguments for a call and returns true
4
+ * if the call has called itself with the same arguments.
5
+ *
6
+ * It lazily indexes the arguments when there's a subsequent
7
+ * call.
8
+ */
9
+ export class CallMap {
10
+ _callMap = new Map();
11
+ add(call, args) {
12
+ let set = this._callMap.get(call);
13
+ if (!set) {
14
+ this._callMap.set(call, [isNode(args) ? args.sourceNode : undefined]);
15
+ }
16
+ else {
17
+ if (args === undefined && set.includes(undefined)) {
18
+ return true;
19
+ }
20
+ let argsValue = args.valueOf();
21
+ for (let i = 0; i < set.length; i++) {
22
+ let item = set[i];
23
+ let itemValue = item.valueOf();
24
+ if (itemValue === argsValue) {
25
+ return true;
26
+ }
27
+ }
28
+ }
29
+ return false;
30
+ }
31
+ delete(call) {
32
+ let set = this._callMap.get(call);
33
+ if (set) {
34
+ set.pop();
35
+ if (set.length === 0) {
36
+ this._callMap.delete(call);
37
+ }
38
+ return true;
39
+ }
40
+ return false;
41
+ }
42
+ }
43
+ //# sourceMappingURL=recursion-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recursion-helper.js","sourceRoot":"","sources":["../../../src/tree/util/recursion-helper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC;;;;;;GAMG;AACH,MAAM,OAAO,OAAO;IACV,QAAQ,GAAG,IAAI,GAAG,EAAmC,CAAC;IAE9D,GAAG,CAAC,IAAU,EAAE,IAAsB;QACpC,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,UAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,SAAS,GAAI,IAAa,CAAC,OAAO,EAAE,CAAC;YAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;gBACnB,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,IAAU;QACf,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ /** Regex constants to re-use */
2
+ export declare const MULTI_LINE_TRIM: RegExp;
3
+ export declare const LIST_ITEM_TRIM: RegExp;
4
+ //# sourceMappingURL=regex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regex.d.ts","sourceRoot":"","sources":["../../../src/tree/util/regex.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,eAAO,MAAM,eAAe,QAAgD,CAAC;AAC7E,eAAO,MAAM,cAAc,QAAwC,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Regex constants to re-use */
2
+ export const MULTI_LINE_TRIM = /^[ \t\r\f]*\n?|[ \t\r\f]*(\n[ \t\r\f]*)?$/gm;
3
+ export const LIST_ITEM_TRIM = /^[ \t\r\f]*|([ \t\r\f]*)((?=\n)|$)/g;
4
+ //# sourceMappingURL=regex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regex.js","sourceRoot":"","sources":["../../../src/tree/util/regex.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,MAAM,CAAC,MAAM,eAAe,GAAG,6CAA6C,CAAC;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAG,qCAAqC,CAAC"}
@@ -0,0 +1,192 @@
1
+ import type { Ruleset } from '../ruleset.js';
2
+ import type { Rules } from '../rules.js';
3
+ import type { Mixin } from '../mixin.js';
4
+ import { Node } from '../node.js';
5
+ import { JsFunction } from '../js-function.js';
6
+ import type { Func } from '../function.js';
7
+ import type { Declaration } from '../declaration.js';
8
+ import type { Context } from '../../context.js';
9
+ export type DeclarationFindOptions = {
10
+ filter?: (n: Node) => boolean;
11
+ candidates?: Set<Node>;
12
+ optionalCandidates?: Set<Node>;
13
+ findAll?: boolean;
14
+ /** This gets set if any parent is set to readonly */
15
+ readonly?: boolean;
16
+ searchParents?: boolean;
17
+ start?: number;
18
+ local?: boolean;
19
+ };
20
+ export type FindOptions = DeclarationFindOptions & {
21
+ childFilterType?: 'Mixin' | 'Ruleset' | undefined;
22
+ context?: Context;
23
+ searchedRules?: Set<Rules>;
24
+ /**
25
+ * Whether this lookup has an explicit target (e.g., #ns[@foo]).
26
+ * When true, Rules with isMixinOutput=true will be searchable.
27
+ * When false or undefined, mixin output Rules will be excluded.
28
+ */
29
+ hasTarget?: boolean;
30
+ };
31
+ export declare abstract class Registry<Type extends Node, IndexType extends Type | Set<Type> | Array<{
32
+ value: Type;
33
+ [key: string]: any;
34
+ }> = Set<Type>> {
35
+ rules: Rules;
36
+ abstract index: Map<string, IndexType>;
37
+ protected pendingItems: Set<Type>;
38
+ constructor(rules: Rules);
39
+ add(item: Type): void;
40
+ indexPendingItems(): void;
41
+ _searchRulesChildren(key: string, filterType: 'VarDeclaration' | 'Declaration' | 'Mixin', options?: FindOptions): void;
42
+ /**
43
+ * Find the closest declaration from start, in reverse order,
44
+ * using a binary search
45
+ */
46
+ _findClosestByStart(list: Type[], start?: number): Type | undefined;
47
+ private _findByKey;
48
+ find(keys: string | string[] | Set<string>, _filterType?: string, _options?: FindOptions): Type[] | Type | Array<{
49
+ value: Type;
50
+ [key: string]: any;
51
+ }> | undefined;
52
+ }
53
+ /**
54
+ * Registry for fast selector-based ruleset lookups
55
+ */
56
+ export declare class RulesetRegistry extends Registry<Ruleset> {
57
+ index: Map<string, Set<Ruleset<import("../ruleset.js").RulesetValue>>>;
58
+ /**
59
+ * Add a ruleset to be indexed later
60
+ */
61
+ add(ruleset: Ruleset): void;
62
+ /**
63
+ * Index any pending rulesets
64
+ * Override the base class method to use keySet-based indexing
65
+ */
66
+ indexPendingItems(): void;
67
+ /**
68
+ * Find candidate rulesets that might match the target selector.
69
+ * Searches only the local index - all rulesets should be registered
70
+ * to the extend root's registry during evaluation.
71
+ */
72
+ find(keys: string[] | Set<string>): Ruleset[] | undefined;
73
+ }
74
+ /**
75
+ * The mixin registry works a little differently than the selector registry
76
+ * in these ways:
77
+ *
78
+ * 1. The mixin registry can only be indexed by basic element, class, and
79
+ * id selectors.
80
+ * 2. The index is the start key, not any key found in the selector.
81
+ * 3. '>' and ' ' combinators are ignored.
82
+ * 4. Initial ampersands (implicit or explicit) are ignored.
83
+ * 5. The mixin registry is local to the rules, whereas the selector registry
84
+ * is global to the file tree.
85
+ * 6. Rulesets and mixins without params will have their children searched
86
+ * if the first part matches.
87
+ */
88
+ export declare class MixinRegistry extends Registry<Mixin | Ruleset, Array<{
89
+ value: Mixin | Ruleset;
90
+ match: string[];
91
+ }>> {
92
+ index: Map<any, any>;
93
+ private _indexSelectorStart;
94
+ indexPendingItems(): void;
95
+ /**
96
+ * Check if an entry matches the search criteria.
97
+ * Handles exact matches, partial matches (compound selector completion), and recursive searches.
98
+ * This consolidates the matching logic to avoid duplication.
99
+ */
100
+ /**
101
+ * Check if a Ruleset/Mixin matches a given array of keys using the same logic as the registry
102
+ * This uses the indexed match arrays (same as _checkEntryMatch) rather than direct selector comparison
103
+ * @param value The Ruleset or Mixin to check
104
+ * @param keys The array of keys to match against (e.g., [".jo", ".ki"])
105
+ * @returns true if the Ruleset/Mixin matches the keys using registry matching logic
106
+ */
107
+ checkRulesetMatchesKeys(value: Mixin | Ruleset, keys: string[]): boolean;
108
+ /**
109
+ * Internal helper that checks if the provided keys appear in sequence within the selector's keys
110
+ *
111
+ * For compound selectors like `#header .milk .chips .jo.ki`, when we search for `.jo`, we get:
112
+ * - The full selector's indexable keys: `["#header", ".milk", ".chips", ".jo", ".ki"]`
113
+ * - When checking if accumulated keys `[".jo", ".ki"]` match, we check if they appear in sequence
114
+ */
115
+ private _checkKeysSubsequence;
116
+ /**
117
+ * Find candidate mixins (or rulesets, or both) that might match the target selector
118
+ *
119
+ * ...also...
120
+ *
121
+ * @todo - Not sure how recursion works here with the match overflow and returning
122
+ * proper arrays.
123
+ */
124
+ find(keys: string | string[], filterType?: 'Mixin' | 'Ruleset' | undefined, options?: FindOptions): (Mixin | Ruleset)[] | undefined;
125
+ }
126
+ /**
127
+ * For either Sass, Jess, or JS functions.
128
+ *
129
+ * Less and Sass can register global functions that can be called from the language
130
+ * without a `@-use` directive.
131
+ *
132
+ * @todo Should the presence of `@-use` directives anywhere in the
133
+ * stylesheet tree cause these global functions to be disabled?
134
+ */
135
+ export declare class FunctionRegistry extends Registry<JsFunction | Func, JsFunction | Func> {
136
+ index: Map<string, Func | JsFunction>;
137
+ cloneForRules(rules: Rules): FunctionRegistry;
138
+ indexPendingItems(): void;
139
+ find(name: string, filterType?: string, options?: FindOptions): JsFunction | Func | undefined;
140
+ /**
141
+ * Override add() to support both Jess API (add(item)) and Less.js API (add(name, func))
142
+ */
143
+ add(item: JsFunction | Func): void;
144
+ add(name: string, func: JsFunction | ((...args: any[]) => any)): void;
145
+ /**
146
+ * Less.js-compatible API: Add multiple functions at once
147
+ * @param functions Object mapping function names to functions
148
+ */
149
+ addMultiple(functions: Record<string, JsFunction | ((...args: any[]) => any)>): void;
150
+ /**
151
+ * Less.js-compatible API: Get a function by name
152
+ * Uses case-insensitive lookup and searches parent chain
153
+ * @param name Function name (case-insensitive)
154
+ * @returns The function if found, undefined otherwise
155
+ */
156
+ get(name: string): JsFunction | Func | undefined;
157
+ /**
158
+ * Less.js-compatible API: Get all local functions (without parent chain)
159
+ * @returns Object mapping function names to functions
160
+ */
161
+ getLocalFunctions(): Record<string, JsFunction | Func>;
162
+ /**
163
+ * Less.js-compatible API: Create a child registry that inherits from this one
164
+ * In Less.js, this creates a new registry with prototype inheritance.
165
+ * In Jess, we create a new registry that searches this one as a parent.
166
+ *
167
+ * @returns A new FunctionRegistry that will search this registry when functions aren't found locally
168
+ */
169
+ inherit(): FunctionRegistry;
170
+ }
171
+ /**
172
+ *
173
+ * @note - Keys of different types may overlap, but then are filtered when searching.
174
+ * As in, a variable named `$foo` and a property named `foo` will be in the
175
+ * same map.
176
+ */
177
+ export declare class DeclarationRegistry extends Registry<Declaration> {
178
+ index: Map<string, Set<Declaration<import("../declaration.js").DeclarationOptions>>>;
179
+ indexPendingItems(): void;
180
+ /**
181
+ * Get declarations from map and nested rulesets.
182
+ * This will return a list of all matching nodes.
183
+ *
184
+ * @todo - The pattern for mixins will be similar, no? Can this be
185
+ * re-used / abstracted?
186
+ *
187
+ * @todo - Register declarations and index them only when searching.
188
+ * This would be similar to how we index rulesets for extending.
189
+ */
190
+ find(key: string, filterType?: 'VarDeclaration' | 'Declaration', options?: FindOptions): Declaration | undefined;
191
+ }
192
+ //# sourceMappingURL=registry-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-utils.d.ts","sourceRoot":"","sources":["../../../src/tree/util/registry-utils.ts"],"names":[],"mappings":"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"}