zyzz 0.0.28 → 0.0.30

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 (302) hide show
  1. package/binding/wasi/wasi-worker.mjs +186 -0
  2. package/binding/wasi/zyzz.wasi.cjs +2302 -0
  3. package/binding/wasi/zyzz.wasm32-wasi.wasm +0 -0
  4. package/binding/zyzz.linux-x64-gnu.node +0 -0
  5. package/dist/babel/index.d.ts.map +1 -1
  6. package/dist/babel/index.js +2 -4
  7. package/dist/babel/index.js.map +1 -1
  8. package/dist/babel/internal/Compilation.d.ts +0 -1
  9. package/dist/babel/internal/Compilation.d.ts.map +1 -1
  10. package/dist/compiler/Graph.d.ts +14 -11
  11. package/dist/compiler/Graph.d.ts.map +1 -1
  12. package/dist/compiler/Graph.js +57 -1442
  13. package/dist/compiler/Graph.js.map +1 -1
  14. package/dist/compiler/Native.d.ts +7 -9
  15. package/dist/compiler/Native.d.ts.map +1 -1
  16. package/dist/compiler/Native.js +12 -716
  17. package/dist/compiler/Native.js.map +1 -1
  18. package/dist/compiler/Source.d.ts +122 -24
  19. package/dist/compiler/Source.d.ts.map +1 -1
  20. package/dist/compiler/Source.js +10 -1267
  21. package/dist/compiler/Source.js.map +1 -1
  22. package/dist/compiler/Transform.d.ts +4 -3
  23. package/dist/compiler/Transform.d.ts.map +1 -1
  24. package/dist/compiler/Transform.js +13 -961
  25. package/dist/compiler/Transform.js.map +1 -1
  26. package/dist/compiler/internal/AtRules.d.ts +5 -1
  27. package/dist/compiler/internal/AtRules.d.ts.map +1 -1
  28. package/dist/compiler/internal/AtRules.js +12 -106
  29. package/dist/compiler/internal/AtRules.js.map +1 -1
  30. package/dist/compiler/internal/Context.d.ts +11 -0
  31. package/dist/compiler/internal/Context.d.ts.map +1 -0
  32. package/dist/compiler/internal/Context.js +11 -0
  33. package/dist/compiler/internal/Context.js.map +1 -0
  34. package/dist/compiler/internal/Results.d.ts +148 -0
  35. package/dist/compiler/internal/Results.d.ts.map +1 -0
  36. package/dist/compiler/internal/Results.js +259 -0
  37. package/dist/compiler/internal/Results.js.map +1 -0
  38. package/dist/compiler/internal/Syntax.d.ts +0 -2
  39. package/dist/compiler/internal/Syntax.d.ts.map +1 -1
  40. package/dist/compiler/internal/Syntax.js +0 -2
  41. package/dist/compiler/internal/Syntax.js.map +1 -1
  42. package/dist/compiler/internal/Wire.d.ts +17 -0
  43. package/dist/compiler/internal/Wire.d.ts.map +1 -0
  44. package/dist/compiler/internal/Wire.js +795 -0
  45. package/dist/compiler/internal/Wire.js.map +1 -0
  46. package/dist/internal/Addon.d.ts +28 -0
  47. package/dist/internal/Addon.d.ts.map +1 -0
  48. package/dist/internal/Addon.js +87 -0
  49. package/dist/internal/Addon.js.map +1 -0
  50. package/dist/internal/Literal.d.ts +4 -1
  51. package/dist/internal/Literal.d.ts.map +1 -1
  52. package/dist/internal/Literal.js +4 -2
  53. package/dist/internal/Literal.js.map +1 -1
  54. package/dist/internal/Token.d.ts +2 -1
  55. package/dist/internal/Token.d.ts.map +1 -1
  56. package/dist/internal/Token.js +2 -2
  57. package/dist/internal/Token.js.map +1 -1
  58. package/dist/internal/Vlq.d.ts +14 -0
  59. package/dist/internal/Vlq.d.ts.map +1 -0
  60. package/dist/internal/Vlq.js +47 -0
  61. package/dist/internal/Vlq.js.map +1 -0
  62. package/dist/internal/Wasm.d.ts +22 -0
  63. package/dist/internal/Wasm.d.ts.map +1 -0
  64. package/dist/internal/Wasm.js +83 -0
  65. package/dist/internal/Wasm.js.map +1 -0
  66. package/dist/metro/Graph.d.ts +0 -1
  67. package/dist/metro/Graph.d.ts.map +1 -1
  68. package/dist/metro/transformer.d.ts.map +1 -1
  69. package/dist/metro/transformer.js +0 -1
  70. package/dist/metro/transformer.js.map +1 -1
  71. package/dist/next/internal/Project.d.ts.map +1 -1
  72. package/dist/next/internal/Project.js +2 -5
  73. package/dist/next/internal/Project.js.map +1 -1
  74. package/dist/node/Host.d.ts.map +1 -1
  75. package/dist/node/Host.js +0 -2
  76. package/dist/node/Host.js.map +1 -1
  77. package/dist/node/internal/Contracts.d.ts.map +1 -1
  78. package/dist/node/internal/Contracts.js +3 -7
  79. package/dist/node/internal/Contracts.js.map +1 -1
  80. package/dist/node/internal/Snapshot.d.ts +0 -1
  81. package/dist/node/internal/Snapshot.d.ts.map +1 -1
  82. package/dist/node/internal/Snapshot.js +0 -6
  83. package/dist/node/internal/Snapshot.js.map +1 -1
  84. package/dist/runtime/Composition.d.ts +2 -3
  85. package/dist/runtime/Composition.d.ts.map +1 -1
  86. package/dist/runtime/Composition.js +51 -30
  87. package/dist/runtime/Composition.js.map +1 -1
  88. package/dist/runtime/Recipe.d.ts.map +1 -1
  89. package/dist/runtime/Recipe.js +16 -12
  90. package/dist/runtime/Recipe.js.map +1 -1
  91. package/dist/unplugin/index.d.ts.map +1 -1
  92. package/dist/unplugin/index.js +3 -6
  93. package/dist/unplugin/index.js.map +1 -1
  94. package/dist/vite/index.d.ts.map +1 -1
  95. package/dist/vite/index.js +696 -201
  96. package/dist/vite/index.js.map +1 -1
  97. package/dist/web/Css.d.ts +8 -3
  98. package/dist/web/Css.d.ts.map +1 -1
  99. package/dist/web/Css.js +5 -721
  100. package/dist/web/Css.js.map +1 -1
  101. package/dist/web/internal/Block.d.ts +0 -2
  102. package/dist/web/internal/Block.d.ts.map +1 -1
  103. package/dist/web/internal/Block.js +1 -12
  104. package/dist/web/internal/Block.js.map +1 -1
  105. package/dist/web/internal/ClassName.d.ts +23 -18
  106. package/dist/web/internal/ClassName.d.ts.map +1 -1
  107. package/dist/web/internal/ClassName.js +26 -55
  108. package/dist/web/internal/ClassName.js.map +1 -1
  109. package/dist/web/internal/Contributions.d.ts +3 -5
  110. package/dist/web/internal/Contributions.d.ts.map +1 -1
  111. package/dist/web/internal/Contributions.js +0 -45
  112. package/dist/web/internal/Contributions.js.map +1 -1
  113. package/dist/web/internal/Engine.browser.d.ts +8 -0
  114. package/dist/web/internal/Engine.browser.d.ts.map +1 -0
  115. package/dist/web/internal/Engine.browser.js +42 -0
  116. package/dist/web/internal/Engine.browser.js.map +1 -0
  117. package/dist/web/internal/Engine.d.ts +9 -0
  118. package/dist/web/internal/Engine.d.ts.map +1 -0
  119. package/dist/web/internal/Engine.js +14 -0
  120. package/dist/web/internal/Engine.js.map +1 -0
  121. package/dist/web/internal/Themes.d.ts +1 -9
  122. package/dist/web/internal/Themes.d.ts.map +1 -1
  123. package/dist/web/internal/Themes.js +3 -221
  124. package/dist/web/internal/Themes.js.map +1 -1
  125. package/dist/web/internal/Wasm.generated.d.ts +4 -0
  126. package/dist/web/internal/Wasm.generated.d.ts.map +1 -0
  127. package/dist/web/internal/Wasm.generated.js +4 -0
  128. package/dist/web/internal/Wasm.generated.js.map +1 -0
  129. package/dist/web/internal/Wire.d.ts +19 -0
  130. package/dist/web/internal/Wire.d.ts.map +1 -0
  131. package/dist/web/internal/Wire.js +387 -0
  132. package/dist/web/internal/Wire.js.map +1 -0
  133. package/package.json +20 -1
  134. package/src/babel/index.ts +2 -5
  135. package/src/babel/internal/Compilation.ts +0 -1
  136. package/src/compiler/Graph.ts +89 -1930
  137. package/src/compiler/Native.ts +18 -871
  138. package/src/compiler/Source.ts +144 -1803
  139. package/src/compiler/Transform.ts +16 -1315
  140. package/src/compiler/internal/AtRules.ts +27 -115
  141. package/src/compiler/internal/Context.ts +11 -0
  142. package/src/compiler/internal/Results.ts +406 -0
  143. package/src/compiler/internal/Syntax.ts +0 -3
  144. package/src/compiler/internal/Wire.ts +1045 -0
  145. package/src/internal/Addon.ts +118 -0
  146. package/src/internal/Literal.ts +4 -2
  147. package/src/internal/Token.ts +2 -2
  148. package/src/internal/Vlq.ts +59 -0
  149. package/src/internal/Wasm.ts +111 -0
  150. package/src/metro/transformer.ts +0 -1
  151. package/src/next/internal/Project.ts +2 -9
  152. package/src/node/Host.ts +0 -2
  153. package/src/node/internal/Contracts.ts +3 -7
  154. package/src/node/internal/Snapshot.ts +0 -8
  155. package/src/runtime/Composition.ts +48 -25
  156. package/src/runtime/Recipe.ts +21 -14
  157. package/src/unplugin/index.ts +6 -6
  158. package/src/vite/index.ts +922 -221
  159. package/src/web/Css.ts +12 -908
  160. package/src/web/internal/Block.ts +0 -14
  161. package/src/web/internal/ClassName.ts +52 -85
  162. package/src/web/internal/Contributions.ts +3 -59
  163. package/src/web/internal/Engine.browser.ts +51 -0
  164. package/src/web/internal/Engine.ts +17 -0
  165. package/src/web/internal/Themes.ts +3 -279
  166. package/src/web/internal/Wasm.generated.ts +3 -0
  167. package/src/web/internal/Wire.ts +466 -0
  168. package/src/web/internal/wasm.d.ts +9 -0
  169. package/dist/compiler/internal/Applications.d.ts +0 -55
  170. package/dist/compiler/internal/Applications.d.ts.map +0 -1
  171. package/dist/compiler/internal/Applications.js +0 -393
  172. package/dist/compiler/internal/Applications.js.map +0 -1
  173. package/dist/compiler/internal/ColorProfiles.d.ts +0 -3
  174. package/dist/compiler/internal/ColorProfiles.d.ts.map +0 -1
  175. package/dist/compiler/internal/ColorProfiles.js +0 -84
  176. package/dist/compiler/internal/ColorProfiles.js.map +0 -1
  177. package/dist/compiler/internal/CompositionBindings.d.ts +0 -16
  178. package/dist/compiler/internal/CompositionBindings.d.ts.map +0 -1
  179. package/dist/compiler/internal/CompositionBindings.js +0 -89
  180. package/dist/compiler/internal/CompositionBindings.js.map +0 -1
  181. package/dist/compiler/internal/Compositions.d.ts +0 -37
  182. package/dist/compiler/internal/Compositions.d.ts.map +0 -1
  183. package/dist/compiler/internal/Compositions.js +0 -494
  184. package/dist/compiler/internal/Compositions.js.map +0 -1
  185. package/dist/compiler/internal/Configurations.d.ts +0 -26
  186. package/dist/compiler/internal/Configurations.d.ts.map +0 -1
  187. package/dist/compiler/internal/Configurations.js +0 -259
  188. package/dist/compiler/internal/Configurations.js.map +0 -1
  189. package/dist/compiler/internal/Contract.d.ts +0 -30
  190. package/dist/compiler/internal/Contract.d.ts.map +0 -1
  191. package/dist/compiler/internal/Contract.js +0 -753
  192. package/dist/compiler/internal/Contract.js.map +0 -1
  193. package/dist/compiler/internal/Contributions.d.ts +0 -54
  194. package/dist/compiler/internal/Contributions.d.ts.map +0 -1
  195. package/dist/compiler/internal/Contributions.js +0 -1151
  196. package/dist/compiler/internal/Contributions.js.map +0 -1
  197. package/dist/compiler/internal/Descriptors.d.ts +0 -15
  198. package/dist/compiler/internal/Descriptors.d.ts.map +0 -1
  199. package/dist/compiler/internal/Descriptors.js +0 -192
  200. package/dist/compiler/internal/Descriptors.js.map +0 -1
  201. package/dist/compiler/internal/Dynamic.d.ts +0 -14
  202. package/dist/compiler/internal/Dynamic.d.ts.map +0 -1
  203. package/dist/compiler/internal/Dynamic.js +0 -175
  204. package/dist/compiler/internal/Dynamic.js.map +0 -1
  205. package/dist/compiler/internal/Expression.d.ts +0 -19
  206. package/dist/compiler/internal/Expression.d.ts.map +0 -1
  207. package/dist/compiler/internal/Expression.js +0 -164
  208. package/dist/compiler/internal/Expression.js.map +0 -1
  209. package/dist/compiler/internal/Functions.d.ts +0 -5
  210. package/dist/compiler/internal/Functions.d.ts.map +0 -1
  211. package/dist/compiler/internal/Functions.js +0 -191
  212. package/dist/compiler/internal/Functions.js.map +0 -1
  213. package/dist/compiler/internal/Keyframes.d.ts +0 -5
  214. package/dist/compiler/internal/Keyframes.d.ts.map +0 -1
  215. package/dist/compiler/internal/Keyframes.js +0 -51
  216. package/dist/compiler/internal/Keyframes.js.map +0 -1
  217. package/dist/compiler/internal/Names.d.ts +0 -5
  218. package/dist/compiler/internal/Names.d.ts.map +0 -1
  219. package/dist/compiler/internal/Names.js +0 -37
  220. package/dist/compiler/internal/Names.js.map +0 -1
  221. package/dist/compiler/internal/NativeBindings.d.ts +0 -72
  222. package/dist/compiler/internal/NativeBindings.d.ts.map +0 -1
  223. package/dist/compiler/internal/NativeBindings.js +0 -171
  224. package/dist/compiler/internal/NativeBindings.js.map +0 -1
  225. package/dist/compiler/internal/NativeMedia.d.ts +0 -14
  226. package/dist/compiler/internal/NativeMedia.d.ts.map +0 -1
  227. package/dist/compiler/internal/NativeMedia.js +0 -287
  228. package/dist/compiler/internal/NativeMedia.js.map +0 -1
  229. package/dist/compiler/internal/NativeVars.d.ts +0 -28
  230. package/dist/compiler/internal/NativeVars.d.ts.map +0 -1
  231. package/dist/compiler/internal/NativeVars.js +0 -160
  232. package/dist/compiler/internal/NativeVars.js.map +0 -1
  233. package/dist/compiler/internal/PackedStyles.d.ts +0 -37
  234. package/dist/compiler/internal/PackedStyles.d.ts.map +0 -1
  235. package/dist/compiler/internal/PackedStyles.js +0 -344
  236. package/dist/compiler/internal/PackedStyles.js.map +0 -1
  237. package/dist/compiler/internal/Properties.d.ts +0 -5
  238. package/dist/compiler/internal/Properties.d.ts.map +0 -1
  239. package/dist/compiler/internal/Properties.js +0 -82
  240. package/dist/compiler/internal/Properties.js.map +0 -1
  241. package/dist/compiler/internal/RecipeConditions.d.ts +0 -41
  242. package/dist/compiler/internal/RecipeConditions.d.ts.map +0 -1
  243. package/dist/compiler/internal/RecipeConditions.js +0 -82
  244. package/dist/compiler/internal/RecipeConditions.js.map +0 -1
  245. package/dist/compiler/internal/RecipePayloads.d.ts +0 -31
  246. package/dist/compiler/internal/RecipePayloads.d.ts.map +0 -1
  247. package/dist/compiler/internal/RecipePayloads.js +0 -99
  248. package/dist/compiler/internal/RecipePayloads.js.map +0 -1
  249. package/dist/compiler/internal/Recipes.d.ts +0 -32
  250. package/dist/compiler/internal/Recipes.d.ts.map +0 -1
  251. package/dist/compiler/internal/Recipes.js +0 -339
  252. package/dist/compiler/internal/Recipes.js.map +0 -1
  253. package/dist/compiler/internal/Selectors.d.ts +0 -13
  254. package/dist/compiler/internal/Selectors.d.ts.map +0 -1
  255. package/dist/compiler/internal/Selectors.js +0 -280
  256. package/dist/compiler/internal/Selectors.js.map +0 -1
  257. package/dist/compiler/internal/Static.d.ts +0 -39
  258. package/dist/compiler/internal/Static.d.ts.map +0 -1
  259. package/dist/compiler/internal/Static.js +0 -534
  260. package/dist/compiler/internal/Static.js.map +0 -1
  261. package/dist/compiler/internal/Themes.d.ts +0 -190
  262. package/dist/compiler/internal/Themes.d.ts.map +0 -1
  263. package/dist/compiler/internal/Themes.js +0 -1577
  264. package/dist/compiler/internal/Themes.js.map +0 -1
  265. package/dist/compiler/internal/Vars.d.ts +0 -33
  266. package/dist/compiler/internal/Vars.d.ts.map +0 -1
  267. package/dist/compiler/internal/Vars.js +0 -387
  268. package/dist/compiler/internal/Vars.js.map +0 -1
  269. package/dist/compiler/internal/ViewTransitions.d.ts +0 -3
  270. package/dist/compiler/internal/ViewTransitions.d.ts.map +0 -1
  271. package/dist/compiler/internal/ViewTransitions.js +0 -68
  272. package/dist/compiler/internal/ViewTransitions.js.map +0 -1
  273. package/dist/internal/Cascade.d.ts +0 -74
  274. package/dist/internal/Cascade.d.ts.map +0 -1
  275. package/dist/internal/Cascade.js +0 -210
  276. package/dist/internal/Cascade.js.map +0 -1
  277. package/src/compiler/internal/Applications.ts +0 -610
  278. package/src/compiler/internal/ColorProfiles.ts +0 -93
  279. package/src/compiler/internal/CompositionBindings.ts +0 -120
  280. package/src/compiler/internal/Compositions.ts +0 -678
  281. package/src/compiler/internal/Configurations.ts +0 -349
  282. package/src/compiler/internal/Contract.ts +0 -1028
  283. package/src/compiler/internal/Contributions.ts +0 -1561
  284. package/src/compiler/internal/Descriptors.ts +0 -242
  285. package/src/compiler/internal/Dynamic.ts +0 -275
  286. package/src/compiler/internal/Expression.ts +0 -218
  287. package/src/compiler/internal/Functions.ts +0 -206
  288. package/src/compiler/internal/Keyframes.ts +0 -62
  289. package/src/compiler/internal/Names.ts +0 -48
  290. package/src/compiler/internal/NativeBindings.ts +0 -235
  291. package/src/compiler/internal/NativeMedia.ts +0 -342
  292. package/src/compiler/internal/NativeVars.ts +0 -231
  293. package/src/compiler/internal/PackedStyles.ts +0 -473
  294. package/src/compiler/internal/Properties.ts +0 -121
  295. package/src/compiler/internal/RecipeConditions.ts +0 -139
  296. package/src/compiler/internal/RecipePayloads.ts +0 -132
  297. package/src/compiler/internal/Recipes.ts +0 -531
  298. package/src/compiler/internal/Selectors.ts +0 -353
  299. package/src/compiler/internal/Static.ts +0 -784
  300. package/src/compiler/internal/Themes.ts +0 -2398
  301. package/src/compiler/internal/Vars.ts +0 -516
  302. package/src/compiler/internal/ViewTransitions.ts +0 -82
@@ -1,37 +0,0 @@
1
- import type * as Ast from '@oxc-project/types';
2
- import type * as Style from '../../Style.js';
3
- import type * as Source from '../Source.js';
4
- import * as Themes from './Themes.js';
5
- /** Collects ordered compositions without evaluating expressions or changing binding reads. */
6
- export declare function collect(options: collect.Options): {
7
- call: Source.Call;
8
- style: Style.NamedStyle;
9
- cases?: readonly {
10
- call: Source.Call;
11
- style: Style.NamedStyle;
12
- }[] | undefined;
13
- }[];
14
- /** Static composition extraction inputs. */
15
- export declare namespace collect {
16
- /** Parsed source and previously validated style applications. */
17
- type Options = {
18
- /** Extracted authoring calls. */
19
- readonly calls: readonly Source.Call[];
20
- /** Stable module identity. */
21
- readonly identity: string;
22
- /** Immutable imported style definitions supplied by the source or package graph. */
23
- readonly links?: Readonly<Record<string, Themes.Link>> | undefined;
24
- /** Parsed module with lexical binding scopes. */
25
- readonly program: Ast.Program;
26
- /** Validated variable scope applications preserved as runtime props. */
27
- readonly scopes?: ReadonlyMap<number, {
28
- readonly end: number;
29
- readonly output: 'html' | undefined;
30
- }> | undefined;
31
- /** Source used to preserve initialization-sensitive binding reads. */
32
- readonly source: string;
33
- /** Validated ordered style bodies. */
34
- readonly styles: readonly Style.NamedStyle[];
35
- };
36
- }
37
- //# sourceMappingURL=Compositions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Compositions.d.ts","sourceRoot":"","sources":["../../../src/compiler/internal/Compositions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,oBAAoB,CAAA;AAI9C,OAAO,KAAK,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAA;AAK3C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,8FAA8F;AAC9F,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO;UAmKtC,MAAM,CAAC,IAAI;WACV,KAAK,CAAC,UAAU;YAEnB,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAA;KAAE,EAAE,GACzD,SAAS;IAochB;AAED,4CAA4C;AAC5C,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,iEAAiE;IACjE,KAAK,OAAO,GAAG;QACb,iCAAiC;QACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,CAAC,IAAI,EAAE,CAAA;QACtC,8BAA8B;QAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,oFAAoF;QACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;QAClE,iDAAiD;QACjD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAA;QAC7B,wEAAwE;QACxE,QAAQ,CAAC,MAAM,CAAC,EACZ,WAAW,CACT,MAAM,EACN;YAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,CAC9D,GACD,SAAS,CAAA;QACb,sEAAsE;QACtE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,sCAAsC;QACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,CAAC,UAAU,EAAE,CAAA;KAC7C,CAAA;CACF"}
@@ -1,494 +0,0 @@
1
- /** Resolves known applications into ordered compiler-owned composition groups. @module */
2
- import * as Identity from '../../internal/Identity.js';
3
- import * as Walker from 'oxc-walker';
4
- import * as ConditionalRecipe from '../../runtime/ConditionalRecipe.js';
5
- import * as Applications from './Applications.js';
6
- import * as CompositionBindings from './CompositionBindings.js';
7
- import * as Expression from './Expression.js';
8
- import * as Scope from './Scope.js';
9
- import * as Themes from './Themes.js';
10
- /** Collects ordered compositions without evaluating expressions or changing binding reads. */
11
- export function collect(options) {
12
- if (!options.program.body.some((node) => node.type === 'ImportDeclaration' &&
13
- node.source.value === 'zyzz' &&
14
- node.importKind !== 'type' &&
15
- node.specifiers.some((specifier) => specifier.type === 'ImportSpecifier' &&
16
- (specifier.imported.type === 'Identifier'
17
- ? specifier.imported.name
18
- : specifier.imported.value) === 'cx')))
19
- return [];
20
- const bodies = new Map();
21
- const undefinedReads = new Set();
22
- const applications = Applications.create(options.program, options.calls, {
23
- dynamic: true,
24
- });
25
- const scope = new Scope.Tracker();
26
- const bindings = CompositionBindings.create({
27
- declaration: (name) => scope.getDeclaration(name)?.node,
28
- });
29
- const nodes = [];
30
- const aliases = new Map();
31
- const externalCalls = new Map();
32
- const externalStyles = new Map();
33
- const externalApplications = new Map();
34
- function external(node) {
35
- if (node.type === 'Identifier') {
36
- const binding = scope.getDeclaration(node.name);
37
- const alias = binding?.node && aliases.get(binding.node);
38
- if (alias)
39
- return alias;
40
- if (binding?.type === 'Import' &&
41
- binding.importNode.importKind !== 'type')
42
- return options.links?.[node.name];
43
- }
44
- if (node.type === 'MemberExpression' &&
45
- !node.computed &&
46
- !node.optional &&
47
- node.property.type === 'Identifier')
48
- return external(node.object)?.members?.[node.property.name];
49
- return undefined;
50
- }
51
- Walker.walk(options.program, {
52
- scopeTracker: scope,
53
- enter(node, parent) {
54
- applications?.enter(node, parent);
55
- bindings.enter(node, parent);
56
- if (node.type === 'VariableDeclarator' &&
57
- node.init &&
58
- parent?.type === 'VariableDeclaration' &&
59
- parent.kind === 'const') {
60
- const link = external(node.init);
61
- if (link && node.id.type === 'Identifier')
62
- aliases.set(node.id, link);
63
- if (link && node.id.type === 'ObjectPattern')
64
- for (const property of node.id.properties)
65
- if (property.type === 'Property' &&
66
- !property.computed &&
67
- property.key.type === 'Identifier' &&
68
- property.value.type === 'Identifier') {
69
- const member = link.members?.[property.key.name];
70
- if (member)
71
- aliases.set(property.value, member);
72
- }
73
- }
74
- if (node.type === 'CallExpression') {
75
- const link = external(node.callee);
76
- if (link?.style && !node.optional) {
77
- const name = link.binding;
78
- externalCalls.set(name, {
79
- end: -1,
80
- identity: name,
81
- portable: link.style.className,
82
- name,
83
- ...(link.style.output ? { output: link.style.output } : {}),
84
- ownership: {
85
- attributes: link.style.attributes,
86
- identity: name,
87
- slots: link.style.slots,
88
- },
89
- start: node.start,
90
- });
91
- externalStyles.set(name, { ...link.style.style, name });
92
- externalApplications.set(node.start, {
93
- calleeEnd: node.callee.end,
94
- end: node.end,
95
- name,
96
- start: node.start,
97
- });
98
- }
99
- const call = options.calls.find((call) => call.start === node.start);
100
- const argument = node.arguments[0];
101
- const body = call?.body ??
102
- (argument?.type === 'ArrowFunctionExpression'
103
- ? Expression.unwrap(argument.body)
104
- : argument);
105
- if (call && body?.type === 'ObjectExpression')
106
- bodies.set(call.start, body);
107
- }
108
- if (node.type === 'Identifier' &&
109
- node.name === 'undefined' &&
110
- !scope.getDeclaration(node.name))
111
- undefinedReads.add(node.start);
112
- if (node.type !== 'CallExpression' || node.callee.type !== 'Identifier')
113
- return;
114
- const binding = scope.getDeclaration(node.callee.name);
115
- if (binding?.type !== 'Import' ||
116
- binding.importNode.source.value !== 'zyzz' ||
117
- binding.node.type !== 'ImportSpecifier' ||
118
- binding.importNode.importKind === 'type' ||
119
- binding.node.importKind === 'type')
120
- return;
121
- const imported = binding.node.imported;
122
- if ((imported.type === 'Identifier' ? imported.name : imported.value) ===
123
- 'cx')
124
- nodes.push(node);
125
- },
126
- });
127
- const applied = new Map([...(applications?.find() ?? []), ...externalApplications.values()].map((application) => [application.start, application]));
128
- const calls = new Map(options.calls.map((call) => [call.start, call]));
129
- const byName = new Map([...options.calls, ...externalCalls.values()].map((call) => [
130
- call.name,
131
- call,
132
- ]));
133
- const styles = new Map([...options.styles, ...externalStyles.values()].map((style) => [
134
- style.name,
135
- style,
136
- ]));
137
- const result = [];
138
- for (const node of nodes.sort((a, b) => a.start < b.start && a.end >= b.end
139
- ? 1
140
- : b.start < a.start && b.end >= a.end
141
- ? -1
142
- : a.start - b.start)) {
143
- const selected = [];
144
- const inputs = [];
145
- const outputs = new Set();
146
- let runtime = false;
147
- let conditions = 0;
148
- const attributes = new Map();
149
- function owners(call) {
150
- if (call.ownership)
151
- return [call.ownership];
152
- if (call.runtimeComposition)
153
- return call.runtimeComposition.flatMap((input) => input.owners);
154
- return [
155
- {
156
- identity: call.name,
157
- attributes: Object.keys(call.recipe?.axes ?? {}).flatMap((axis) => [
158
- `data-${axis}`,
159
- ...(call.recipe?.conditions ?? []).map((_, condition) => ConditionalRecipe.attribute({ axis, condition })),
160
- ]),
161
- slots: [
162
- ...Object.values(call.slots ?? {}).map((slot) => slot.name),
163
- ...(call.recipe?.payloads ?? []).flatMap((payload) => payload.slots.flatMap((slots) => Object.values(slots))),
164
- ],
165
- },
166
- ];
167
- }
168
- function input(call, value, condition, applicationStart = value.start) {
169
- const owned = owners(call);
170
- for (const owner of owned)
171
- for (const attribute of owner.attributes) {
172
- const previous = attributes.get(attribute);
173
- if (previous && previous !== owner.identity)
174
- throw new Themes.InvalidError(`Recipe attribute ${attribute} has conflicting owners.`, value);
175
- attributes.set(attribute, owner.identity);
176
- }
177
- inputs.push({
178
- applicationStart,
179
- end: value.end,
180
- name: call.name,
181
- owners: owned,
182
- start: value.start,
183
- ...(condition !== undefined ? { condition } : {}),
184
- });
185
- }
186
- const guards = [];
187
- if (node.optional)
188
- throw new Themes.InvalidError('Composition does not support optional calls.', node);
189
- for (const argument of node.arguments) {
190
- const expression = Expression.unwrap(argument);
191
- const resolved = bindings.resolve(expression, nodes);
192
- const conditional = resolved.type === 'LogicalExpression' && resolved.operator === '&&';
193
- const value = conditional
194
- ? bindings.resolve(resolved.right, nodes)
195
- : resolved;
196
- runtime ||= conditional || resolved !== expression;
197
- if (conditional &&
198
- (undefinedReads.has(value.start) ||
199
- (value.type === 'Literal' &&
200
- (value.value === false || value.value === null)) ||
201
- (value.type === 'UnaryExpression' &&
202
- value.operator === 'void' &&
203
- value.argument.type === 'Literal')))
204
- throw new Themes.InvalidError('Conditional omissions must be evaluated outside composition.', expression);
205
- const omitted = undefinedReads.has(value.start) ||
206
- (value.type === 'Literal' &&
207
- (value.value === false || value.value === null)) ||
208
- (value.type === 'UnaryExpression' &&
209
- value.operator === 'void' &&
210
- value.argument.type === 'Literal');
211
- if (omitted && resolved !== expression)
212
- inputs.push({
213
- end: expression.end,
214
- name: '',
215
- owners: [],
216
- start: expression.start,
217
- });
218
- if (undefinedReads.has(value.start))
219
- continue;
220
- if (value.type === 'Literal' &&
221
- (value.value === false || value.value === null))
222
- continue;
223
- if (value.type === 'UnaryExpression' &&
224
- value.operator === 'void' &&
225
- value.argument.type === 'Literal')
226
- continue;
227
- if (value.type !== 'CallExpression' || value.optional)
228
- throw new Themes.InvalidError('Composition requires statically known local style applications.', value);
229
- const scope = options.scopes?.get(value.start);
230
- if (scope?.end === value.end) {
231
- outputs.add(scope.output);
232
- inputs.push({
233
- start: expression.start,
234
- end: expression.end,
235
- name: '',
236
- owners: [],
237
- });
238
- runtime = true;
239
- continue;
240
- }
241
- const condition = conditional ? conditions++ : undefined;
242
- const nested = calls.get(value.start);
243
- if (nested?.compositionCases && resolved !== expression)
244
- throw new Themes.InvalidError('Conditional composition results must remain direct arguments.', expression);
245
- if (nested?.compositionCases && nested.end === value.end) {
246
- if (conditional)
247
- throw new Themes.InvalidError('Conditional nested compositions require flattening into one cx call.', expression);
248
- for (const child of nested.runtimeComposition) {
249
- if (child.name === '') {
250
- inputs.push(child);
251
- continue;
252
- }
253
- const call = byName.get(child.name) ??
254
- [...calls.values()].find((call) => call.name === child.name);
255
- if (!call)
256
- throw new Themes.InvalidError('Nested composition has an unresolved definition.', expression);
257
- selected.push(call);
258
- input(call, { ...node, start: child.start, end: child.end }, child.condition === undefined ? undefined : conditions++, child.applicationStart);
259
- }
260
- runtime = true;
261
- continue;
262
- }
263
- if (nested?.end === value.end &&
264
- (nested.composition || nested.runtimeComposition)) {
265
- selected.push(nested);
266
- guards.push(...(nested.composition ?? []));
267
- input(nested, expression, condition, value.start);
268
- runtime ||= !!nested.runtimeComposition;
269
- continue;
270
- }
271
- const found = applied.get(value.start);
272
- const application = found?.end === value.end ? found : undefined;
273
- const call = application
274
- ? byName.get(application.name)
275
- : value.callee.type === 'CallExpression'
276
- ? (() => {
277
- const call = calls.get(value.callee.start);
278
- return call?.end === value.callee.end ? call : undefined;
279
- })()
280
- : undefined;
281
- if (!call || call.composition || call.runtimeComposition)
282
- throw new Themes.InvalidError('Composition requires statically known local style applications.', value);
283
- selected.push(call.ownership ? { ...call, start: value.start } : call);
284
- input(call, expression, condition, value.start);
285
- runtime ||= !!(call.ownership ||
286
- call.recipe ||
287
- call.slots ||
288
- value.arguments.length);
289
- if (application)
290
- guards.push(options.source.slice(application.start, application.calleeEnd));
291
- }
292
- for (const call of selected)
293
- outputs.add(call.output);
294
- if (outputs.size > 1)
295
- throw new Themes.InvalidError('Composition cannot mix HTML and React props.', node);
296
- if (conditions > 8)
297
- throw new Themes.InvalidError('Composition supports at most eight conditional arguments.', node);
298
- const name = `composition-${options.identity}-${node.start}`;
299
- // A composition of independent styles keeps their sharing contract.
300
- const independent = (calls) => calls.every((call) => styles.get(call.name).composition === 'independent')
301
- ? { composition: 'independent' }
302
- : {};
303
- const style = {
304
- ...independent(selected),
305
- cssOutput: 'atomic',
306
- name,
307
- declarations: [],
308
- rules: selected.flatMap((call) => {
309
- const style = styles.get(call.name);
310
- return (style.rules?.map((rule) => ({
311
- ...rule,
312
- style: {
313
- ...rule.style,
314
- cssOutput: rule.style.cssOutput ?? style.cssOutput,
315
- },
316
- })) ?? [{ style }]);
317
- }),
318
- };
319
- const identities = selected.flatMap((call) => call.identity ? [call.identity] : []);
320
- function properties(call, body = call.body ?? bodies.get(call.start)) {
321
- // Imported declarations map to the application; publisher maps retain authored locations.
322
- if (call.ownership) {
323
- function declarations(style) {
324
- return style.rules
325
- ? style.rules.flatMap((rule) => declarations(rule.style))
326
- : style.declarations;
327
- }
328
- return declarations(styles.get(call.name)).map((declaration) => ({
329
- type: 'Property',
330
- computed: false,
331
- kind: 'init',
332
- method: false,
333
- shorthand: false,
334
- start: call.start,
335
- end: call.start,
336
- key: {
337
- type: 'Literal',
338
- value: declaration.property,
339
- raw: JSON.stringify(declaration.property),
340
- start: call.start,
341
- end: call.start,
342
- },
343
- value: {
344
- type: 'Literal',
345
- value: '',
346
- raw: '""',
347
- start: call.start,
348
- end: call.start,
349
- },
350
- }));
351
- }
352
- return (body?.properties.flatMap((property) => {
353
- if (property.type !== 'Property')
354
- return [property];
355
- const value = Expression.unwrap(property.value);
356
- if (value.type === 'ObjectExpression')
357
- return [
358
- {
359
- ...property,
360
- value: { ...value, properties: properties(call, value) },
361
- },
362
- ];
363
- const key = property.key.type === 'Identifier'
364
- ? property.key.name
365
- : property.key.type === 'Literal'
366
- ? String(property.key.value)
367
- : '';
368
- return (call.shorthands?.[key] ?? [key]).map((key) => ({
369
- ...property,
370
- key: {
371
- type: 'Literal',
372
- raw: JSON.stringify(key),
373
- value: key,
374
- start: property.key.start,
375
- end: property.key.end,
376
- },
377
- }));
378
- }) ?? []);
379
- }
380
- const portable = (calls) => calls.every((call) => call.portable)
381
- ? Identity.composition(calls.flatMap((call) => call.portableInputs ?? [call.portable]))
382
- : undefined;
383
- const call = {
384
- cssName: selected
385
- .map((call) => [call.cssNamespace, call.cssName ?? call.identity ?? 'style']
386
- .filter(Boolean)
387
- .join('-'))
388
- .join('-'),
389
- ...(portable(selected)
390
- ? {
391
- portable: portable(selected),
392
- portableInputs: selected.flatMap((call) => call.portableInputs ?? [call.portable]),
393
- }
394
- : {}),
395
- typography: new Map(selected.flatMap((call) => [...(call.typography ?? [])])),
396
- typographyQueries: new Map(selected.flatMap((call) => [...(call.typographyQueries ?? [])])),
397
- name,
398
- start: node.start,
399
- end: node.end,
400
- ...(runtime ? { runtimeComposition: inputs } : { composition: guards }),
401
- body: {
402
- type: 'ObjectExpression',
403
- start: node.start,
404
- end: node.end,
405
- properties: selected.flatMap((call) => properties(call)),
406
- },
407
- ...(outputs.has('html') ? { output: 'html' } : {}),
408
- ...(identities.length ? { identity: identities.join(' ') } : {}),
409
- };
410
- calls.set(node.start, call);
411
- styles.set(name, style);
412
- const cases = [];
413
- const names = [];
414
- // Omitted bindings retain evaluation but own no selected style.
415
- const selectedInputs = inputs.filter((input) => input.name !== '');
416
- for (let mask = 0; mask < 2 ** conditions - 1; mask++) {
417
- const included = selected.filter((_, index) => selectedInputs[index].condition === undefined ||
418
- mask & (1 << selectedInputs[index].condition));
419
- const name = `${call.name}-${mask}`;
420
- names.push(name);
421
- cases.push({
422
- call: {
423
- ...(portable(included)
424
- ? {
425
- portable: portable(included),
426
- portableInputs: included.flatMap((call) => call.portableInputs ?? [call.portable]),
427
- }
428
- : {}),
429
- name,
430
- start: call.start,
431
- end: call.end,
432
- compositionCase: true,
433
- typography: new Map(included.flatMap((call) => [...(call.typography ?? [])])),
434
- typographyQueries: new Map(included.flatMap((call) => [...(call.typographyQueries ?? [])])),
435
- body: {
436
- ...call.body,
437
- properties: included.flatMap((call) => properties(call)),
438
- },
439
- identity: included
440
- .flatMap((call) => (call.identity ? [call.identity] : []))
441
- .join(' '),
442
- },
443
- style: {
444
- ...independent(included),
445
- cssOutput: 'atomic',
446
- name,
447
- declarations: [],
448
- rules: included.flatMap((call) => {
449
- const style = styles.get(call.name);
450
- return (style.rules?.map((rule) => ({
451
- ...rule,
452
- style: {
453
- ...rule.style,
454
- cssOutput: rule.style.cssOutput ?? style.cssOutput,
455
- },
456
- })) ?? [{ style }]);
457
- }),
458
- },
459
- });
460
- }
461
- names.push(call.name);
462
- const composed = conditions ? { ...call, compositionCases: names } : call;
463
- calls.set(node.start, composed);
464
- result.push({
465
- call: composed,
466
- style: immutable(style),
467
- ...(cases.length
468
- ? {
469
- cases: cases.map((entry) => ({
470
- ...entry,
471
- style: immutable(entry.style),
472
- })),
473
- }
474
- : {}),
475
- });
476
- }
477
- return result.filter(({ call }) => !result.some(({ call: other }) => !!other.composition &&
478
- other.start < call.start &&
479
- other.end >= call.end));
480
- }
481
- function immutable(style) {
482
- if (Object.isFrozen(style))
483
- return style;
484
- return Object.freeze({
485
- ...style,
486
- declarations: Object.freeze([...style.declarations]),
487
- ...(style.rules
488
- ? {
489
- rules: Object.freeze(style.rules.map((rule) => Object.freeze({ ...rule, style: immutable(rule.style) }))),
490
- }
491
- : {}),
492
- });
493
- }
494
- //# sourceMappingURL=Compositions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Compositions.js","sourceRoot":"","sources":["../../../src/compiler/internal/Compositions.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import type * as Ast from '@oxc-project/types';
2
- import * as Theme from '../../internal/Theme.js';
3
- import type * as Themes from './Themes.js';
4
- /** Reads a direct configuration factory without executing authored expressions. */
5
- export declare function collect(options: collect.Options): Themes.Link;
6
- /** Inputs supplied by the lexical theme collector. */
7
- export declare namespace collect {
8
- /** Literal reader, source span, identity, and preceding immutable bindings. */
9
- type Options = {
10
- /** Existing literal theme reader for scalar input. */
11
- readonly data: (node: Ast.Node) => unknown;
12
- /** Direct module-level configuration factory span. */
13
- readonly expression: Ast.CallExpression;
14
- /** Stable module/binding identity. */
15
- readonly name: string;
16
- /** Native factory supplies an ordinary React Provider export. */
17
- readonly nativeProvider?: boolean | undefined;
18
- /** Looks up preceding immutable theme definitions. */
19
- readonly resolve: (node: Ast.Node) => Themes.Link | undefined;
20
- };
21
- }
22
- /** Encodes validated literal options as a declaration type, never executable text. */
23
- export declare function type(value: unknown): string;
24
- /** Reads the authored leaf values of a reference tree. */
25
- export declare function values(tree: Theme.References<Theme.Tokens>): Record<string, unknown>;
26
- //# sourceMappingURL=Configurations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Configurations.d.ts","sourceRoot":"","sources":["../../../src/compiler/internal/Configurations.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,GAAG,MAAM,oBAAoB,CAAA;AAK9C,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAA;AAGhD,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAE1C,mFAAmF;AACnF,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CA+R7D;AAED,sDAAsD;AACtD,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,+EAA+E;IAC/E,KAAK,OAAO,GAAG;QACb,sDAAsD;QACtD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,OAAO,CAAA;QAC1C,sDAAsD;QACtD,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,cAAc,CAAA;QACvC,sCAAsC;QACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,iEAAiE;QACjE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC7C,sDAAsD;QACtD,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,GAAG,SAAS,CAAA;KAC9D,CAAA;CACF;AAED,sFAAsF;AACtF,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAW3C;AAED,0DAA0D;AAC1D,wBAAgB,MAAM,CACpB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB"}