@alloy-js/core 0.24.0-dev.2 → 0.24.0-dev.7

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 (656) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/dev/src/components/AccessExpression.test.js +30 -38
  3. package/dist/dev/src/components/AccessExpression.test.js.map +1 -1
  4. package/dist/dev/src/components/Output.js +3 -2
  5. package/dist/dev/src/components/Output.js.map +1 -1
  6. package/dist/dev/src/components/SourceFile.js.map +1 -1
  7. package/dist/dev/src/content-slot.test.js +16 -18
  8. package/dist/dev/src/content-slot.test.js.map +1 -1
  9. package/dist/dev/src/context.js +30 -3
  10. package/dist/dev/src/context.js.map +1 -1
  11. package/dist/dev/src/debug/diagnostics.test.js +1 -1
  12. package/dist/dev/src/debug/diagnostics.test.js.map +1 -1
  13. package/dist/dev/src/debug/effects.test.js +1 -1
  14. package/dist/dev/src/debug/effects.test.js.map +1 -1
  15. package/dist/dev/src/debug/file-streaming.js +103 -0
  16. package/dist/dev/src/debug/file-streaming.js.map +1 -0
  17. package/dist/dev/src/debug/files.test.js +4 -5
  18. package/dist/dev/src/debug/files.test.js.map +1 -1
  19. package/dist/dev/src/debug/index.js +4 -6
  20. package/dist/dev/src/debug/index.js.map +1 -1
  21. package/dist/dev/src/debug/message-format.test.js +50 -52
  22. package/dist/dev/src/debug/message-format.test.js.map +1 -1
  23. package/dist/dev/src/debug/render-tree-orphans.test.js +13 -23
  24. package/dist/dev/src/debug/render-tree-orphans.test.js.map +1 -1
  25. package/dist/dev/src/debug/render.js +529 -352
  26. package/dist/dev/src/debug/render.js.map +1 -1
  27. package/dist/dev/src/debug/render.test.js +171 -92
  28. package/dist/dev/src/debug/render.test.js.map +1 -1
  29. package/dist/dev/src/debug/trace-writer.js +127 -15
  30. package/dist/dev/src/debug/trace-writer.js.map +1 -1
  31. package/dist/dev/src/debug/trace.js +0 -36
  32. package/dist/dev/src/debug/trace.js.map +1 -1
  33. package/dist/dev/src/devtools/devtools-server.js +55 -32
  34. package/dist/dev/src/devtools/devtools-server.js.map +1 -1
  35. package/dist/dev/src/devtools-entry.browser.js.map +1 -1
  36. package/dist/dev/src/devtools-entry.js.map +1 -1
  37. package/dist/dev/src/diagnostics.js +19 -1
  38. package/dist/dev/src/diagnostics.js.map +1 -1
  39. package/dist/dev/src/index.js +5 -2
  40. package/dist/dev/src/index.js.map +1 -1
  41. package/dist/dev/src/jsx-runtime.js +14 -8
  42. package/dist/dev/src/jsx-runtime.js.map +1 -1
  43. package/dist/dev/src/output-types.js +2 -0
  44. package/dist/dev/src/output-types.js.map +1 -0
  45. package/dist/dev/src/reactivity.js +155 -13
  46. package/dist/dev/src/reactivity.js.map +1 -1
  47. package/dist/dev/src/render/get-string-width.js +61 -0
  48. package/dist/dev/src/render/get-string-width.js.map +1 -0
  49. package/dist/dev/src/render/index.js +2 -0
  50. package/dist/dev/src/render/index.js.map +1 -0
  51. package/dist/dev/src/render/node-context.js +7 -0
  52. package/dist/dev/src/render/node-context.js.map +1 -0
  53. package/dist/dev/src/render/node.js +386 -0
  54. package/dist/dev/src/render/node.js.map +1 -0
  55. package/dist/dev/src/render/printer-support.js +180 -0
  56. package/dist/dev/src/render/printer-support.js.map +1 -0
  57. package/dist/dev/src/render/printer.js +797 -0
  58. package/dist/dev/src/render/printer.js.map +1 -0
  59. package/dist/dev/src/render-error.js +79 -0
  60. package/dist/dev/src/render-error.js.map +1 -0
  61. package/dist/dev/src/render-output.js +209 -0
  62. package/dist/dev/src/render-output.js.map +1 -0
  63. package/dist/dev/src/runtime/create-intrinsic.js +53 -0
  64. package/dist/dev/src/runtime/create-intrinsic.js.map +1 -0
  65. package/dist/dev/src/runtime/fragment.js +21 -0
  66. package/dist/dev/src/runtime/fragment.js.map +1 -0
  67. package/dist/dev/src/runtime/index.js +13 -0
  68. package/dist/dev/src/runtime/index.js.map +1 -0
  69. package/dist/dev/src/runtime/insert.js +453 -0
  70. package/dist/dev/src/runtime/insert.js.map +1 -0
  71. package/dist/dev/src/runtime/intrinsic.js +1 -11
  72. package/dist/dev/src/runtime/intrinsic.js.map +1 -1
  73. package/dist/dev/src/scheduler.js +38 -14
  74. package/dist/dev/src/scheduler.js.map +1 -1
  75. package/dist/dev/src/stc.js +2 -0
  76. package/dist/dev/src/stc.js.map +1 -1
  77. package/dist/dev/src/sti.js +1 -1
  78. package/dist/dev/src/sti.js.map +1 -1
  79. package/dist/dev/src/symbols/symbol-slot.test.js +5 -5
  80. package/dist/dev/src/symbols/symbol-slot.test.js.map +1 -1
  81. package/dist/dev/src/test-render.js +78 -0
  82. package/dist/dev/src/test-render.js.map +1 -0
  83. package/dist/dev/src/utils.js +47 -35
  84. package/dist/dev/src/utils.js.map +1 -1
  85. package/dist/dev/test/babel-e2e.test.js +218 -0
  86. package/dist/dev/test/babel-e2e.test.js.map +1 -0
  87. package/dist/dev/test/children.test.js +9 -11
  88. package/dist/dev/test/children.test.js.map +1 -1
  89. package/dist/dev/test/components/append-file.test.js +26 -27
  90. package/dist/dev/test/components/append-file.test.js.map +1 -1
  91. package/dist/dev/test/components/block.test.js +9 -11
  92. package/dist/dev/test/components/block.test.js.map +1 -1
  93. package/dist/dev/test/components/copy-file.test.js +1 -2
  94. package/dist/dev/test/components/copy-file.test.js.map +1 -1
  95. package/dist/dev/test/components/declaration.test.js +2 -2
  96. package/dist/dev/test/components/declaration.test.js.map +1 -1
  97. package/dist/dev/test/components/list.test.js +41 -43
  98. package/dist/dev/test/components/list.test.js.map +1 -1
  99. package/dist/dev/test/components/prose.test.js +4 -5
  100. package/dist/dev/test/components/prose.test.js.map +1 -1
  101. package/dist/dev/test/components/reference-or-content.test.js +32 -33
  102. package/dist/dev/test/components/reference-or-content.test.js.map +1 -1
  103. package/dist/dev/test/components/source-file.test.js +8 -7
  104. package/dist/dev/test/components/source-file.test.js.map +1 -1
  105. package/dist/dev/test/components/template-file.test.js +16 -17
  106. package/dist/dev/test/components/template-file.test.js.map +1 -1
  107. package/dist/dev/test/components/update-file.test.js +11 -12
  108. package/dist/dev/test/components/update-file.test.js.map +1 -1
  109. package/dist/dev/test/components/wrap.test.js +6 -8
  110. package/dist/dev/test/components/wrap.test.js.map +1 -1
  111. package/dist/dev/test/control-flow/for.test.js +58 -42
  112. package/dist/dev/test/control-flow/for.test.js.map +1 -1
  113. package/dist/dev/test/control-flow/match.test.js +15 -17
  114. package/dist/dev/test/control-flow/match.test.js.map +1 -1
  115. package/dist/dev/test/control-flow/show.test.js +5 -8
  116. package/dist/dev/test/control-flow/show.test.js.map +1 -1
  117. package/dist/dev/test/lazy-isempty.test.js +29 -31
  118. package/dist/dev/test/lazy-isempty.test.js.map +1 -1
  119. package/dist/dev/test/name-policy.test.js +2 -3
  120. package/dist/dev/test/name-policy.test.js.map +1 -1
  121. package/dist/dev/test/node.test.js +80 -0
  122. package/dist/dev/test/node.test.js.map +1 -0
  123. package/dist/dev/test/output-e2e.test.js +194 -0
  124. package/dist/dev/test/output-e2e.test.js.map +1 -0
  125. package/dist/dev/test/reactivity/circular-reactives.test.js +9 -9
  126. package/dist/dev/test/reactivity/circular-reactives.test.js.map +1 -1
  127. package/dist/dev/test/reactivity/cleanup.test.js +5 -6
  128. package/dist/dev/test/reactivity/cleanup.test.js.map +1 -1
  129. package/dist/dev/test/reactivity/ref-rendering.test.js +15 -15
  130. package/dist/dev/test/reactivity/ref-rendering.test.js.map +1 -1
  131. package/dist/dev/test/reactivity/test.test.js +18 -18
  132. package/dist/dev/test/reactivity/test.test.js.map +1 -1
  133. package/dist/dev/test/rendering/basic.test.js +18 -19
  134. package/dist/dev/test/rendering/basic.test.js.map +1 -1
  135. package/dist/dev/test/rendering/code.test.js +2 -3
  136. package/dist/dev/test/rendering/code.test.js.map +1 -1
  137. package/dist/dev/test/rendering/formatting.test.js +115 -121
  138. package/dist/dev/test/rendering/formatting.test.js.map +1 -1
  139. package/dist/dev/test/rendering/indent.test.js +23 -24
  140. package/dist/dev/test/rendering/indent.test.js.map +1 -1
  141. package/dist/dev/test/rendering/memoization.test.js +9 -5
  142. package/dist/dev/test/rendering/memoization.test.js.map +1 -1
  143. package/dist/dev/test/rendering/print-render-stack.test.js +20 -21
  144. package/dist/dev/test/rendering/print-render-stack.test.js.map +1 -1
  145. package/dist/dev/test/rendering/refkeys.test.js +1 -2
  146. package/dist/dev/test/rendering/refkeys.test.js.map +1 -1
  147. package/dist/dev/test/rendering/render-output-diagnostics.test.js +102 -0
  148. package/dist/dev/test/rendering/render-output-diagnostics.test.js.map +1 -0
  149. package/dist/dev/test/runtime.test.js +385 -0
  150. package/dist/dev/test/runtime.test.js.map +1 -0
  151. package/dist/dev/test/stc.test.js +0 -1
  152. package/dist/dev/test/stc.test.js.map +1 -1
  153. package/dist/dev/test/tree-test-utils.js +16 -0
  154. package/dist/dev/test/tree-test-utils.js.map +1 -0
  155. package/dist/dev/test/utils.test.js +34 -33
  156. package/dist/dev/test/utils.test.js.map +1 -1
  157. package/dist/dev/test/vitest.setup.js +2 -0
  158. package/dist/dev/test/vitest.setup.js.map +1 -0
  159. package/dist/dev/testing/devtools-utils.js +1 -1
  160. package/dist/dev/testing/devtools-utils.js.map +1 -1
  161. package/dist/dev/testing/extend-expect.js +30 -34
  162. package/dist/dev/testing/extend-expect.js.map +1 -1
  163. package/dist/dev/testing/render.js +7 -17
  164. package/dist/dev/testing/render.js.map +1 -1
  165. package/dist/devtools/index.html +17 -17
  166. package/dist/src/components/AccessExpression.test.d.ts +1 -1
  167. package/dist/src/components/AccessExpression.test.d.ts.map +1 -1
  168. package/dist/src/components/AccessExpression.test.js +5 -13
  169. package/dist/src/components/AccessExpression.test.js.map +1 -1
  170. package/dist/src/components/Output.d.ts +1 -1
  171. package/dist/src/components/Output.d.ts.map +1 -1
  172. package/dist/src/components/Output.js +2 -1
  173. package/dist/src/components/Output.js.map +1 -1
  174. package/dist/src/components/ReferenceOrContent.d.ts +1 -1
  175. package/dist/src/components/ReferenceOrContent.d.ts.map +1 -1
  176. package/dist/src/components/SourceFile.d.ts +1 -1
  177. package/dist/src/components/SourceFile.d.ts.map +1 -1
  178. package/dist/src/components/SourceFile.js.map +1 -1
  179. package/dist/src/content-slot.test.d.ts +1 -1
  180. package/dist/src/content-slot.test.d.ts.map +1 -1
  181. package/dist/src/content-slot.test.js +8 -10
  182. package/dist/src/content-slot.test.js.map +1 -1
  183. package/dist/src/context/format-options.d.ts +1 -1
  184. package/dist/src/context/format-options.d.ts.map +1 -1
  185. package/dist/src/context.d.ts +9 -1
  186. package/dist/src/context.d.ts.map +1 -1
  187. package/dist/src/context.js +30 -3
  188. package/dist/src/context.js.map +1 -1
  189. package/dist/src/debug/diagnostics.test.js +1 -1
  190. package/dist/src/debug/diagnostics.test.js.map +1 -1
  191. package/dist/src/debug/effects.test.js +1 -1
  192. package/dist/src/debug/effects.test.js.map +1 -1
  193. package/dist/src/debug/file-streaming.d.ts +22 -0
  194. package/dist/src/debug/file-streaming.d.ts.map +1 -0
  195. package/dist/src/debug/file-streaming.js +103 -0
  196. package/dist/src/debug/file-streaming.js.map +1 -0
  197. package/dist/src/debug/files.test.js +4 -5
  198. package/dist/src/debug/files.test.js.map +1 -1
  199. package/dist/src/debug/index.d.ts +5 -7
  200. package/dist/src/debug/index.d.ts.map +1 -1
  201. package/dist/src/debug/index.js +4 -6
  202. package/dist/src/debug/index.js.map +1 -1
  203. package/dist/src/debug/message-format.test.js +16 -18
  204. package/dist/src/debug/message-format.test.js.map +1 -1
  205. package/dist/src/debug/render-tree-orphans.test.js +8 -18
  206. package/dist/src/debug/render-tree-orphans.test.js.map +1 -1
  207. package/dist/src/debug/render.d.ts +71 -21
  208. package/dist/src/debug/render.d.ts.map +1 -1
  209. package/dist/src/debug/render.js +529 -352
  210. package/dist/src/debug/render.js.map +1 -1
  211. package/dist/src/debug/render.test.js +137 -74
  212. package/dist/src/debug/render.test.js.map +1 -1
  213. package/dist/src/debug/trace-writer.d.ts +6 -1
  214. package/dist/src/debug/trace-writer.d.ts.map +1 -1
  215. package/dist/src/debug/trace-writer.js +127 -15
  216. package/dist/src/debug/trace-writer.js.map +1 -1
  217. package/dist/src/debug/trace.d.ts +0 -36
  218. package/dist/src/debug/trace.d.ts.map +1 -1
  219. package/dist/src/debug/trace.js +0 -36
  220. package/dist/src/debug/trace.js.map +1 -1
  221. package/dist/src/devtools/devtools-protocol.d.ts +34 -1
  222. package/dist/src/devtools/devtools-protocol.d.ts.map +1 -1
  223. package/dist/src/devtools/devtools-server.d.ts.map +1 -1
  224. package/dist/src/devtools/devtools-server.js +55 -32
  225. package/dist/src/devtools/devtools-server.js.map +1 -1
  226. package/dist/src/devtools-entry.browser.d.ts +1 -1
  227. package/dist/src/devtools-entry.browser.d.ts.map +1 -1
  228. package/dist/src/devtools-entry.browser.js.map +1 -1
  229. package/dist/src/devtools-entry.d.ts +1 -1
  230. package/dist/src/devtools-entry.d.ts.map +1 -1
  231. package/dist/src/devtools-entry.js.map +1 -1
  232. package/dist/src/diagnostics.d.ts +4 -0
  233. package/dist/src/diagnostics.d.ts.map +1 -1
  234. package/dist/src/diagnostics.js +19 -1
  235. package/dist/src/diagnostics.js.map +1 -1
  236. package/dist/src/index.d.ts +5 -2
  237. package/dist/src/index.d.ts.map +1 -1
  238. package/dist/src/index.js +5 -2
  239. package/dist/src/index.js.map +1 -1
  240. package/dist/src/jsx-runtime.d.ts +13 -4
  241. package/dist/src/jsx-runtime.d.ts.map +1 -1
  242. package/dist/src/jsx-runtime.js +14 -8
  243. package/dist/src/jsx-runtime.js.map +1 -1
  244. package/dist/src/output-types.d.ts +40 -0
  245. package/dist/src/output-types.d.ts.map +1 -0
  246. package/dist/src/output-types.js +2 -0
  247. package/dist/src/output-types.js.map +1 -0
  248. package/dist/src/reactivity.d.ts +49 -18
  249. package/dist/src/reactivity.d.ts.map +1 -1
  250. package/dist/src/reactivity.js +155 -13
  251. package/dist/src/reactivity.js.map +1 -1
  252. package/dist/src/render/get-string-width.d.ts +19 -0
  253. package/dist/src/render/get-string-width.d.ts.map +1 -0
  254. package/dist/src/render/get-string-width.js +61 -0
  255. package/dist/src/render/get-string-width.js.map +1 -0
  256. package/dist/src/render/index.d.ts +2 -0
  257. package/dist/src/render/index.d.ts.map +1 -0
  258. package/dist/src/render/index.js +2 -0
  259. package/dist/src/render/index.js.map +1 -0
  260. package/dist/src/render/node-context.d.ts +5 -0
  261. package/dist/src/render/node-context.d.ts.map +1 -0
  262. package/dist/src/render/node-context.js +7 -0
  263. package/dist/src/render/node-context.js.map +1 -0
  264. package/dist/src/render/node.d.ts +146 -0
  265. package/dist/src/render/node.d.ts.map +1 -0
  266. package/dist/src/render/node.js +386 -0
  267. package/dist/src/render/node.js.map +1 -0
  268. package/dist/src/render/printer-support.d.ts +50 -0
  269. package/dist/src/render/printer-support.d.ts.map +1 -0
  270. package/dist/src/render/printer-support.js +180 -0
  271. package/dist/src/render/printer-support.js.map +1 -0
  272. package/dist/src/render/printer.d.ts +35 -0
  273. package/dist/src/render/printer.d.ts.map +1 -0
  274. package/dist/src/render/printer.js +797 -0
  275. package/dist/src/render/printer.js.map +1 -0
  276. package/dist/src/render-error.d.ts +4 -0
  277. package/dist/src/render-error.d.ts.map +1 -0
  278. package/dist/src/render-error.js +79 -0
  279. package/dist/src/render-error.js.map +1 -0
  280. package/dist/src/render-output.d.ts +42 -0
  281. package/dist/src/render-output.d.ts.map +1 -0
  282. package/dist/src/render-output.js +209 -0
  283. package/dist/src/render-output.js.map +1 -0
  284. package/dist/src/runtime/component.d.ts +2 -2
  285. package/dist/src/runtime/component.d.ts.map +1 -1
  286. package/dist/src/runtime/create-intrinsic.d.ts +28 -0
  287. package/dist/src/runtime/create-intrinsic.d.ts.map +1 -0
  288. package/dist/src/runtime/create-intrinsic.js +53 -0
  289. package/dist/src/runtime/create-intrinsic.js.map +1 -0
  290. package/dist/src/runtime/fragment.d.ts +16 -0
  291. package/dist/src/runtime/fragment.d.ts.map +1 -0
  292. package/dist/src/runtime/fragment.js +21 -0
  293. package/dist/src/runtime/fragment.js.map +1 -0
  294. package/dist/src/runtime/index.d.ts +12 -0
  295. package/dist/src/runtime/index.d.ts.map +1 -0
  296. package/dist/src/runtime/index.js +13 -0
  297. package/dist/src/runtime/index.js.map +1 -0
  298. package/dist/src/runtime/insert.d.ts +29 -0
  299. package/dist/src/runtime/insert.d.ts.map +1 -0
  300. package/dist/src/runtime/insert.js +453 -0
  301. package/dist/src/runtime/insert.js.map +1 -0
  302. package/dist/src/runtime/intrinsic.d.ts +12 -29
  303. package/dist/src/runtime/intrinsic.d.ts.map +1 -1
  304. package/dist/src/runtime/intrinsic.js +1 -11
  305. package/dist/src/runtime/intrinsic.js.map +1 -1
  306. package/dist/src/scheduler.d.ts.map +1 -1
  307. package/dist/src/scheduler.js +38 -14
  308. package/dist/src/scheduler.js.map +1 -1
  309. package/dist/src/stc.d.ts.map +1 -1
  310. package/dist/src/stc.js +2 -0
  311. package/dist/src/stc.js.map +1 -1
  312. package/dist/src/sti.d.ts +7 -6
  313. package/dist/src/sti.d.ts.map +1 -1
  314. package/dist/src/sti.js +1 -1
  315. package/dist/src/sti.js.map +1 -1
  316. package/dist/src/symbols/symbol-slot.test.js +5 -5
  317. package/dist/src/symbols/symbol-slot.test.js.map +1 -1
  318. package/dist/src/test-render.d.ts +31 -0
  319. package/dist/src/test-render.d.ts.map +1 -0
  320. package/dist/src/test-render.js +78 -0
  321. package/dist/src/test-render.js.map +1 -0
  322. package/dist/src/utils.d.ts +1 -1
  323. package/dist/src/utils.d.ts.map +1 -1
  324. package/dist/src/utils.js +40 -28
  325. package/dist/src/utils.js.map +1 -1
  326. package/dist/src/write-output.d.ts +1 -1
  327. package/dist/src/write-output.d.ts.map +1 -1
  328. package/dist/test/babel-e2e.test.d.ts +13 -0
  329. package/dist/test/babel-e2e.test.d.ts.map +1 -0
  330. package/dist/test/babel-e2e.test.js +218 -0
  331. package/dist/test/babel-e2e.test.js.map +1 -0
  332. package/dist/test/children.test.js +5 -7
  333. package/dist/test/children.test.js.map +1 -1
  334. package/dist/test/components/append-file.test.d.ts +1 -1
  335. package/dist/test/components/append-file.test.d.ts.map +1 -1
  336. package/dist/test/components/append-file.test.js +0 -1
  337. package/dist/test/components/append-file.test.js.map +1 -1
  338. package/dist/test/components/block.test.d.ts +1 -1
  339. package/dist/test/components/block.test.d.ts.map +1 -1
  340. package/dist/test/components/block.test.js +4 -6
  341. package/dist/test/components/block.test.js.map +1 -1
  342. package/dist/test/components/copy-file.test.d.ts +1 -1
  343. package/dist/test/components/copy-file.test.d.ts.map +1 -1
  344. package/dist/test/components/copy-file.test.js +1 -2
  345. package/dist/test/components/copy-file.test.js.map +1 -1
  346. package/dist/test/components/declaration.test.js +2 -2
  347. package/dist/test/components/declaration.test.js.map +1 -1
  348. package/dist/test/components/list.test.d.ts +1 -1
  349. package/dist/test/components/list.test.d.ts.map +1 -1
  350. package/dist/test/components/list.test.js +20 -22
  351. package/dist/test/components/list.test.js.map +1 -1
  352. package/dist/test/components/prose.test.d.ts +1 -1
  353. package/dist/test/components/prose.test.d.ts.map +1 -1
  354. package/dist/test/components/prose.test.js +0 -1
  355. package/dist/test/components/prose.test.js.map +1 -1
  356. package/dist/test/components/reference-or-content.test.js +8 -9
  357. package/dist/test/components/reference-or-content.test.js.map +1 -1
  358. package/dist/test/components/source-file.test.d.ts +1 -1
  359. package/dist/test/components/source-file.test.d.ts.map +1 -1
  360. package/dist/test/components/source-file.test.js +5 -4
  361. package/dist/test/components/source-file.test.js.map +1 -1
  362. package/dist/test/components/template-file.test.d.ts +1 -1
  363. package/dist/test/components/template-file.test.d.ts.map +1 -1
  364. package/dist/test/components/template-file.test.js +0 -1
  365. package/dist/test/components/template-file.test.js.map +1 -1
  366. package/dist/test/components/update-file.test.d.ts +1 -1
  367. package/dist/test/components/update-file.test.d.ts.map +1 -1
  368. package/dist/test/components/update-file.test.js +1 -2
  369. package/dist/test/components/update-file.test.js.map +1 -1
  370. package/dist/test/components/wrap.test.d.ts +1 -1
  371. package/dist/test/components/wrap.test.d.ts.map +1 -1
  372. package/dist/test/components/wrap.test.js +3 -5
  373. package/dist/test/components/wrap.test.js.map +1 -1
  374. package/dist/test/control-flow/for.test.d.ts +1 -1
  375. package/dist/test/control-flow/for.test.d.ts.map +1 -1
  376. package/dist/test/control-flow/for.test.js +40 -24
  377. package/dist/test/control-flow/for.test.js.map +1 -1
  378. package/dist/test/control-flow/match.test.d.ts +1 -1
  379. package/dist/test/control-flow/match.test.d.ts.map +1 -1
  380. package/dist/test/control-flow/match.test.js +4 -6
  381. package/dist/test/control-flow/match.test.js.map +1 -1
  382. package/dist/test/control-flow/show.test.d.ts +1 -1
  383. package/dist/test/control-flow/show.test.d.ts.map +1 -1
  384. package/dist/test/control-flow/show.test.js +3 -6
  385. package/dist/test/control-flow/show.test.js.map +1 -1
  386. package/dist/test/lazy-isempty.test.d.ts +1 -1
  387. package/dist/test/lazy-isempty.test.d.ts.map +1 -1
  388. package/dist/test/lazy-isempty.test.js +16 -18
  389. package/dist/test/lazy-isempty.test.js.map +1 -1
  390. package/dist/test/name-policy.test.d.ts +1 -1
  391. package/dist/test/name-policy.test.d.ts.map +1 -1
  392. package/dist/test/name-policy.test.js +0 -1
  393. package/dist/test/name-policy.test.js.map +1 -1
  394. package/dist/test/node.test.d.ts +2 -0
  395. package/dist/test/node.test.d.ts.map +1 -0
  396. package/dist/test/node.test.js +80 -0
  397. package/dist/test/node.test.js.map +1 -0
  398. package/dist/test/output-e2e.test.d.ts +13 -0
  399. package/dist/test/output-e2e.test.d.ts.map +1 -0
  400. package/dist/test/output-e2e.test.js +194 -0
  401. package/dist/test/output-e2e.test.js.map +1 -0
  402. package/dist/test/reactivity/circular-reactives.test.js +6 -6
  403. package/dist/test/reactivity/circular-reactives.test.js.map +1 -1
  404. package/dist/test/reactivity/cleanup.test.js +2 -3
  405. package/dist/test/reactivity/cleanup.test.js.map +1 -1
  406. package/dist/test/reactivity/ref-rendering.test.js +15 -15
  407. package/dist/test/reactivity/ref-rendering.test.js.map +1 -1
  408. package/dist/test/reactivity/test.test.js +15 -15
  409. package/dist/test/reactivity/test.test.js.map +1 -1
  410. package/dist/test/rendering/basic.test.d.ts +1 -1
  411. package/dist/test/rendering/basic.test.d.ts.map +1 -1
  412. package/dist/test/rendering/basic.test.js +0 -1
  413. package/dist/test/rendering/basic.test.js.map +1 -1
  414. package/dist/test/rendering/code.test.d.ts +1 -1
  415. package/dist/test/rendering/code.test.d.ts.map +1 -1
  416. package/dist/test/rendering/code.test.js +0 -1
  417. package/dist/test/rendering/code.test.js.map +1 -1
  418. package/dist/test/rendering/formatting.test.d.ts +1 -1
  419. package/dist/test/rendering/formatting.test.d.ts.map +1 -1
  420. package/dist/test/rendering/formatting.test.js +17 -23
  421. package/dist/test/rendering/formatting.test.js.map +1 -1
  422. package/dist/test/rendering/indent.test.d.ts +1 -1
  423. package/dist/test/rendering/indent.test.d.ts.map +1 -1
  424. package/dist/test/rendering/indent.test.js +0 -1
  425. package/dist/test/rendering/indent.test.js.map +1 -1
  426. package/dist/test/rendering/memoization.test.js +7 -3
  427. package/dist/test/rendering/memoization.test.js.map +1 -1
  428. package/dist/test/rendering/print-render-stack.test.d.ts +1 -1
  429. package/dist/test/rendering/print-render-stack.test.d.ts.map +1 -1
  430. package/dist/test/rendering/print-render-stack.test.js +0 -1
  431. package/dist/test/rendering/print-render-stack.test.js.map +1 -1
  432. package/dist/test/rendering/refkeys.test.d.ts +1 -1
  433. package/dist/test/rendering/refkeys.test.d.ts.map +1 -1
  434. package/dist/test/rendering/refkeys.test.js +0 -1
  435. package/dist/test/rendering/refkeys.test.js.map +1 -1
  436. package/dist/test/rendering/render-output-diagnostics.test.d.ts +2 -0
  437. package/dist/test/rendering/render-output-diagnostics.test.d.ts.map +1 -0
  438. package/dist/test/rendering/render-output-diagnostics.test.js +82 -0
  439. package/dist/test/rendering/render-output-diagnostics.test.js.map +1 -0
  440. package/dist/test/runtime.test.d.ts +11 -0
  441. package/dist/test/runtime.test.d.ts.map +1 -0
  442. package/dist/test/runtime.test.js +385 -0
  443. package/dist/test/runtime.test.js.map +1 -0
  444. package/dist/test/stc.test.d.ts +1 -1
  445. package/dist/test/stc.test.d.ts.map +1 -1
  446. package/dist/test/stc.test.js +0 -1
  447. package/dist/test/stc.test.js.map +1 -1
  448. package/dist/test/tree-test-utils.d.ts +3 -0
  449. package/dist/test/tree-test-utils.d.ts.map +1 -0
  450. package/dist/test/tree-test-utils.js +16 -0
  451. package/dist/test/tree-test-utils.js.map +1 -0
  452. package/dist/test/utils.test.d.ts +1 -1
  453. package/dist/test/utils.test.d.ts.map +1 -1
  454. package/dist/test/utils.test.js +12 -11
  455. package/dist/test/utils.test.js.map +1 -1
  456. package/dist/test/vitest.setup.d.ts +2 -0
  457. package/dist/test/vitest.setup.d.ts.map +1 -0
  458. package/dist/test/vitest.setup.js +2 -0
  459. package/dist/test/vitest.setup.js.map +1 -0
  460. package/dist/testing/devtools-utils.d.ts.map +1 -1
  461. package/dist/testing/devtools-utils.js +1 -1
  462. package/dist/testing/devtools-utils.js.map +1 -1
  463. package/dist/testing/extend-expect.d.ts.map +1 -1
  464. package/dist/testing/extend-expect.js +30 -34
  465. package/dist/testing/extend-expect.js.map +1 -1
  466. package/dist/testing/render.d.ts +7 -9
  467. package/dist/testing/render.d.ts.map +1 -1
  468. package/dist/testing/render.js +7 -17
  469. package/dist/testing/render.js.map +1 -1
  470. package/dist/tsconfig.tsbuildinfo +1 -1
  471. package/docs/api/components/Output.md +0 -3
  472. package/docs/api/components/SourceFile.md +0 -3
  473. package/docs/api/functions/createComment.md +18 -0
  474. package/docs/api/functions/createElement.md +19 -0
  475. package/docs/api/functions/createFragment.md +17 -0
  476. package/docs/api/functions/createTextNode.md +18 -0
  477. package/docs/api/functions/emitDiagnosticForTree.md +19 -0
  478. package/docs/api/functions/ensureIsEmpty.md +1 -1
  479. package/docs/api/functions/getContextForNode.md +18 -0
  480. package/docs/api/functions/getContextForRenderNode.md +4 -4
  481. package/docs/api/functions/getDiagnosticsForTree.md +7 -5
  482. package/docs/api/functions/getRegisteredDiagnosticsForTree.md +18 -0
  483. package/docs/api/functions/index.md +17 -12
  484. package/docs/api/functions/isCustomContext.md +4 -4
  485. package/docs/api/functions/notifyContentState.md +6 -0
  486. package/docs/api/functions/printTree.md +6 -16
  487. package/docs/api/functions/registerDiagnosticsForTree.md +19 -0
  488. package/docs/api/functions/render.md +1 -2
  489. package/docs/api/functions/renderAsync.md +1 -2
  490. package/docs/api/functions/renderTree.md +8 -5
  491. package/docs/api/functions/reportDiagnosticsForTree.md +18 -0
  492. package/docs/api/functions/runInContext.md +28 -0
  493. package/docs/api/functions/sourceFilesForTree.md +6 -16
  494. package/docs/api/index.md +3 -3
  495. package/docs/api/testing/functions/index.md +1 -1
  496. package/docs/api/testing/functions/renderToString.md +1 -1
  497. package/docs/api/types/AlloyNode.md +22 -0
  498. package/docs/api/types/Child.md +1 -1
  499. package/docs/api/types/CommentNode.md +15 -0
  500. package/docs/api/types/Context.md +13 -15
  501. package/docs/api/types/ElementNode.md +18 -0
  502. package/docs/api/types/FragmentNode.md +12 -0
  503. package/docs/api/types/Insertable.md +7 -0
  504. package/docs/api/types/NodeType.md +5 -0
  505. package/docs/api/types/OutputDirectory.md +0 -50
  506. package/docs/api/types/PrintTreeOptions.md +0 -1
  507. package/docs/api/types/RenderTreeOptions.md +7 -0
  508. package/docs/api/types/StiComponentCreator.md +4 -4
  509. package/docs/api/types/StiSignature.md +1 -1
  510. package/docs/api/types/TextNode.md +16 -0
  511. package/docs/api/types/index.md +10 -28
  512. package/docs/api/variables/COMMENT_NODE.md +5 -0
  513. package/docs/api/variables/ELEMENT_NODE.md +11 -0
  514. package/docs/api/variables/FRAGMENT_NODE.md +5 -0
  515. package/docs/api/variables/TEXT_NODE.md +5 -0
  516. package/docs/api/variables/index.md +4 -2
  517. package/docs/formatting.md +1 -1
  518. package/docs/rendering.md +4 -4
  519. package/package.json +6 -6
  520. package/src/components/AccessExpression.test.tsx +5 -13
  521. package/src/components/Output.tsx +2 -1
  522. package/src/components/SourceFile.tsx +1 -1
  523. package/src/content-slot.test.tsx +8 -10
  524. package/src/context/format-options.ts +1 -1
  525. package/src/context.ts +37 -4
  526. package/src/debug/diagnostics.test.tsx +1 -1
  527. package/src/debug/effects.test.tsx +1 -1
  528. package/src/debug/file-streaming.ts +115 -0
  529. package/src/debug/files.test.tsx +15 -11
  530. package/src/debug/index.ts +11 -11
  531. package/src/debug/message-format.test.tsx +32 -19
  532. package/src/debug/render-tree-orphans.test.tsx +10 -19
  533. package/src/debug/render.test.tsx +206 -78
  534. package/src/debug/render.ts +642 -495
  535. package/src/debug/trace-writer.ts +168 -14
  536. package/src/debug/trace.ts +0 -20
  537. package/src/devtools/devtools-protocol.ts +43 -0
  538. package/src/devtools/devtools-server.ts +57 -32
  539. package/src/devtools-entry.browser.ts +5 -0
  540. package/src/devtools-entry.ts +5 -0
  541. package/src/diagnostics.ts +31 -0
  542. package/src/index.ts +66 -2
  543. package/src/jsx-runtime.ts +16 -14
  544. package/src/output-types.ts +47 -0
  545. package/src/reactivity.ts +186 -40
  546. package/src/render/get-string-width.ts +201 -0
  547. package/src/render/index.ts +1 -0
  548. package/src/render/node-context.ts +14 -0
  549. package/src/render/node.ts +442 -0
  550. package/src/render/printer-support.ts +209 -0
  551. package/src/render/printer.ts +817 -0
  552. package/src/render-error.ts +98 -0
  553. package/src/render-output.ts +243 -0
  554. package/src/runtime/component.ts +2 -2
  555. package/src/runtime/create-intrinsic.ts +56 -0
  556. package/src/runtime/fragment.ts +22 -0
  557. package/src/runtime/index.ts +12 -0
  558. package/src/runtime/insert.ts +569 -0
  559. package/src/runtime/intrinsic.ts +14 -70
  560. package/src/scheduler.ts +40 -25
  561. package/src/stc.ts +3 -0
  562. package/src/sti.ts +17 -20
  563. package/src/symbols/symbol-slot.test.tsx +5 -5
  564. package/src/test-render.ts +103 -0
  565. package/src/utils.tsx +55 -37
  566. package/src/write-output.ts +1 -1
  567. package/temp/api-testing.json +390 -14
  568. package/temp/api.json +4320 -4144
  569. package/test/babel-e2e.test.ts +224 -0
  570. package/test/children.test.tsx +4 -7
  571. package/test/components/append-file.test.tsx +0 -1
  572. package/test/components/block.test.tsx +4 -6
  573. package/test/components/copy-file.test.tsx +2 -2
  574. package/test/components/declaration.test.tsx +2 -2
  575. package/test/components/list.test.tsx +20 -29
  576. package/test/components/prose.test.tsx +0 -1
  577. package/test/components/reference-or-content.test.tsx +8 -9
  578. package/test/components/source-file.test.tsx +4 -4
  579. package/test/components/template-file.test.tsx +0 -1
  580. package/test/components/update-file.test.tsx +1 -2
  581. package/test/components/wrap.test.tsx +3 -5
  582. package/test/control-flow/for.test.tsx +39 -31
  583. package/test/control-flow/match.test.tsx +4 -6
  584. package/test/control-flow/show.test.tsx +3 -6
  585. package/test/lazy-isempty.test.tsx +17 -19
  586. package/test/name-policy.test.tsx +0 -1
  587. package/test/node.test.ts +90 -0
  588. package/test/output-e2e.test.ts +198 -0
  589. package/test/reactivity/circular-reactives.test.tsx +6 -6
  590. package/test/reactivity/cleanup.test.tsx +2 -3
  591. package/test/reactivity/ref-rendering.test.tsx +15 -15
  592. package/test/reactivity/test.test.tsx +14 -14
  593. package/test/rendering/basic.test.tsx +0 -1
  594. package/test/rendering/code.test.tsx +0 -1
  595. package/test/rendering/formatting.test.tsx +21 -29
  596. package/test/rendering/indent.test.tsx +0 -1
  597. package/test/rendering/memoization.test.tsx +7 -3
  598. package/test/rendering/print-render-stack.test.tsx +0 -1
  599. package/test/rendering/refkeys.test.tsx +0 -1
  600. package/test/rendering/render-output-diagnostics.test.tsx +120 -0
  601. package/test/runtime.test.ts +448 -0
  602. package/test/stc.test.tsx +0 -1
  603. package/test/tree-test-utils.ts +23 -0
  604. package/test/utils.test.tsx +10 -9
  605. package/test/vitest.setup.ts +1 -0
  606. package/testing/devtools-utils.ts +2 -0
  607. package/testing/extend-expect.ts +32 -47
  608. package/testing/render.ts +17 -21
  609. package/vitest.config.ts +3 -0
  610. package/dist/dev/src/print-hook.js +0 -10
  611. package/dist/dev/src/print-hook.js.map +0 -1
  612. package/dist/dev/src/render.js +0 -872
  613. package/dist/dev/src/render.js.map +0 -1
  614. package/dist/src/print-hook.d.ts +0 -14
  615. package/dist/src/print-hook.d.ts.map +0 -1
  616. package/dist/src/print-hook.js +0 -10
  617. package/dist/src/print-hook.js.map +0 -1
  618. package/dist/src/render.d.ts +0 -155
  619. package/dist/src/render.d.ts.map +0 -1
  620. package/dist/src/render.js +0 -872
  621. package/dist/src/render.js.map +0 -1
  622. package/docs/api/functions/createIntrinsic.md +0 -19
  623. package/docs/api/functions/createRenderTreeHook.md +0 -19
  624. package/docs/api/functions/getElementCache.md +0 -17
  625. package/docs/api/functions/isIntrinsicElement.md +0 -18
  626. package/docs/api/functions/isPrintHook.md +0 -18
  627. package/docs/api/types/AlignIntrinsicElement.md +0 -5
  628. package/docs/api/types/BrIntrinsicElement.md +0 -5
  629. package/docs/api/types/BreakParentIntrinsicElement.md +0 -5
  630. package/docs/api/types/DedentIntrinsicElement.md +0 -5
  631. package/docs/api/types/DedentToRootIntrinsicElement.md +0 -5
  632. package/docs/api/types/ElementCache.md +0 -5
  633. package/docs/api/types/ElementCacheKey.md +0 -5
  634. package/docs/api/types/FillIntrinsicElement.md +0 -5
  635. package/docs/api/types/GroupIntrinsicElement.md +0 -5
  636. package/docs/api/types/HardlineIntrinsicElement.md +0 -5
  637. package/docs/api/types/HbrIntrinsicElement.md +0 -5
  638. package/docs/api/types/IfBreakIntrinsicElement.md +0 -5
  639. package/docs/api/types/IndentIfBreakIntrinsicElement.md +0 -5
  640. package/docs/api/types/IndentIntrinsicElement.md +0 -5
  641. package/docs/api/types/IntrinsicElement.md +0 -5
  642. package/docs/api/types/IntrinsicElementBase.md +0 -9
  643. package/docs/api/types/LbrIntrinsicElement.md +0 -5
  644. package/docs/api/types/LineIntrinsicElement.md +0 -5
  645. package/docs/api/types/LineSuffixBoundaryIntrinsicElement.md +0 -5
  646. package/docs/api/types/LineSuffixIntrinsicElement.md +0 -5
  647. package/docs/api/types/LiterallineIntrinsicElement.md +0 -5
  648. package/docs/api/types/MarkAsRootIntrinsicElement.md +0 -5
  649. package/docs/api/types/PrintHook.md +0 -10
  650. package/docs/api/types/RenderedTextTree.md +0 -5
  651. package/docs/api/types/SbrIntrinsicElement.md +0 -5
  652. package/docs/api/types/SoftlineIntrinsicElement.md +0 -5
  653. package/docs/api/variables/intrinsicElementKey.md +0 -5
  654. package/docs/api/variables/printHookTag.md +0 -7
  655. package/src/print-hook.ts +0 -22
  656. package/src/render.ts +0 -1154
@@ -1,9 +1,8 @@
1
1
  import { createComponent as _$createComponent, memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
- import "@alloy-js/core/testing";
3
2
  import { d } from "@alloy-js/core/testing";
4
3
  import { describe, expect, it } from "vitest";
5
4
  import { For } from "../../src/components/For.js";
6
- import { onCleanup, printTree, reactive, ref, renderTree } from "../../src/index.js";
5
+ import { onCleanup, reactive, ref } from "../../src/index.js";
7
6
  import { flushJobs } from "../../src/scheduler.js";
8
7
  it("works", () => {
9
8
  const messages = ["hi", "bye"];
@@ -87,12 +86,16 @@ it("doesn't rerender mappers", () => {
87
86
  each: messages,
88
87
  children: () => ["item ", count++]
89
88
  });
90
- const tree = renderTree(template);
89
+ const tree = [template];
90
+ expect(tree).toRenderTo(`
91
+ item 0
92
+ item 1
93
+ `);
91
94
  expect(count).toBe(2);
92
95
  messages.push("maybe");
93
96
  flushJobs();
94
97
  expect(count).toBe(3);
95
- expect(printTree(tree)).toBe(d`
98
+ expect(tree).toRenderTo(`
96
99
  item 0
97
100
  item 1
98
101
  item 2
@@ -105,12 +108,16 @@ it("doesn't rerender mappers with sets", () => {
105
108
  each: messages,
106
109
  children: () => ["item ", count++]
107
110
  });
108
- const tree = renderTree(template);
111
+ const tree = [template];
112
+ expect(tree).toRenderTo(`
113
+ item 0
114
+ item 1
115
+ `);
109
116
  expect(count).toBe(2);
110
117
  messages.add("maybe");
111
118
  flushJobs();
112
119
  expect(count).toBe(3);
113
- expect(printTree(tree)).toBe(d`
120
+ expect(tree).toRenderTo(`
114
121
  item 0
115
122
  item 1
116
123
  item 2
@@ -123,12 +130,16 @@ it("doesn't rerender mappers with maps", () => {
123
130
  each: messages,
124
131
  children: () => ["item ", count++]
125
132
  });
126
- const tree = renderTree(template);
133
+ const tree = [template];
134
+ expect(tree).toRenderTo(`
135
+ item 0
136
+ item 1
137
+ `);
127
138
  expect(count).toBe(2);
128
139
  messages.set("maybe", "three");
129
140
  flushJobs();
130
141
  expect(count).toBe(3);
131
- expect(printTree(tree)).toBe(d`
142
+ expect(tree).toRenderTo(`
132
143
  item 0
133
144
  item 1
134
145
  item 2
@@ -143,14 +154,19 @@ it("doesn't rerender mappers (with splice)", () => {
143
154
  return ["item ", count++];
144
155
  }
145
156
  });
146
- const tree = renderTree(template);
157
+ const tree = [template];
158
+ expect(tree).toRenderTo(`
159
+ item 0
160
+ item 1
161
+ item 2
162
+ `);
147
163
  expect(count).toBe(3);
148
164
  messages.splice(1, 1);
149
165
  flushJobs();
150
166
  // A sufficiently smart mapJoin would be able to handle this case...
151
167
  // but for now we re-render everything after the splice point.
152
168
  expect(count).toBe(4);
153
- expect(printTree(tree)).toBe(d`
169
+ expect(tree).toRenderTo(`
154
170
  item 0
155
171
  item 3
156
172
  `);
@@ -170,22 +186,22 @@ it("cleans up things which end up removed (with push)", () => {
170
186
  letter: item
171
187
  })
172
188
  });
173
- const tree = renderTree(template);
189
+ const tree = [template];
174
190
  expect(cleanups).toEqual([]);
175
- expect(printTree(tree)).toBe(d`
191
+ expect(tree).toRenderTo(`
176
192
  Letter a
177
193
  Letter b
178
194
  `);
179
195
  items.pop();
180
196
  flushJobs();
181
197
  expect(cleanups).toEqual(["b"]);
182
- expect(printTree(tree)).toBe(d`
198
+ expect(tree).toRenderTo(`
183
199
  Letter a
184
200
  `);
185
201
  items.pop();
186
202
  flushJobs();
187
203
  expect(cleanups).toEqual(["b", "a"]);
188
- expect(printTree(tree)).toBe("");
204
+ expect(tree).toRenderTo("");
189
205
  });
190
206
  it("cleans up things which end up removed (with splice)", () => {
191
207
  const cleanups = [];
@@ -202,9 +218,9 @@ it("cleans up things which end up removed (with splice)", () => {
202
218
  letter: item
203
219
  })
204
220
  });
205
- const tree = renderTree(template);
221
+ const tree = [template];
206
222
  expect(cleanups).toEqual([]);
207
- expect(printTree(tree)).toBe(d`
223
+ expect(tree).toRenderTo(`
208
224
  Letter a
209
225
  Letter b
210
226
  Letter c
@@ -214,18 +230,18 @@ it("cleans up things which end up removed (with splice)", () => {
214
230
  // A sufficiently smart mapJoin would be able to handle this case...
215
231
  // but for now we re-render everything after the splice point.
216
232
  expect(cleanups).toEqual(["b", "c"]);
217
- expect(printTree(tree)).toBe(d`
233
+ expect(tree).toRenderTo(`
218
234
  Letter a
219
235
  Letter c
220
236
  `);
221
237
  });
222
238
  it("doesn't render empty content", () => {
223
239
  const items = [1, 2, 3];
224
- const tree = renderTree(_$createComponent(For, {
240
+ const tree = _$createComponent(For, {
225
241
  each: items,
226
242
  children: item => item > 2 ? item : null
227
- }));
228
- expect(printTree(tree)).toBe(`3`);
243
+ });
244
+ expect(tree).toRenderTo("3");
229
245
  });
230
246
  it("updates joiners appropriately when items get/lose content", () => {
231
247
  const items = [{
@@ -235,16 +251,16 @@ it("updates joiners appropriately when items get/lose content", () => {
235
251
  }, {
236
252
  content: ref("hello")
237
253
  }];
238
- const tree = renderTree(_$createComponent(For, {
254
+ const tree = _$createComponent(For, {
239
255
  each: items,
240
256
  joiner: ", ",
241
257
  children: item => {
242
258
  return item.content;
243
259
  }
244
- }));
245
- expect(printTree(tree)).toBe(`hello`);
260
+ });
261
+ expect(tree).toRenderTo("hello");
246
262
  items[1].content.value = "hi";
247
263
  flushJobs();
248
- expect(printTree(tree)).toBe(`hi, hello`);
264
+ expect(tree).toRenderTo("hi, hello");
249
265
  });
250
266
  //# sourceMappingURL=for.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["d","describe","expect","it","For","onCleanup","printTree","reactive","ref","renderTree","flushJobs","messages","template","_$createComponent","each","children","message","toRenderTo","out","x","Map","Set","map","name","entries","Array","from","key","value","_$memo","iterator","count","tree","toBe","push","add","set","msg","splice","cleanups","Letter","props","letter","items","item","toEqual","pop","content","joiner"],"sources":["../../../test/control-flow/for.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["d","describe","expect","it","For","onCleanup","reactive","ref","flushJobs","messages","template","_$createComponent","each","children","message","toRenderTo","out","x","Map","Set","map","name","entries","Array","from","key","value","_$memo","iterator","count","tree","toBe","push","add","set","msg","splice","cleanups","Letter","props","letter","items","item","toEqual","pop","content","joiner"],"sources":["../../../test/control-flow/for.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import "@alloy-js/core/testing";
1
+ export {};
2
2
  //# sourceMappingURL=match.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"match.test.d.ts","sourceRoot":"","sources":["../../../test/control-flow/match.test.tsx"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC"}
1
+ {"version":3,"file":"match.test.d.ts","sourceRoot":"","sources":["../../../test/control-flow/match.test.tsx"],"names":[],"mappings":""}
@@ -1,9 +1,7 @@
1
1
  import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
- import "@alloy-js/core/testing";
3
2
  import { ref } from "@vue/reactivity";
4
3
  import { expect, it } from "vitest";
5
4
  import { Match, Switch } from "../../src/components/Switch.js";
6
- import { printTree, renderTree } from "../../src/render.js";
7
5
  it("selects the true branch", () => {
8
6
  const template = _$createComponent(Switch, {
9
7
  get children() {
@@ -58,11 +56,11 @@ it("works with reactivity", () => {
58
56
  })];
59
57
  }
60
58
  });
61
- const tree = renderTree(template);
62
- expect(printTree(tree)).toBe(`even`);
59
+ const tree = template;
60
+ expect(tree).toRenderTo("even");
63
61
  count.value++;
64
- expect(printTree(tree)).toBe(`odd`);
62
+ expect(tree).toRenderTo("odd");
65
63
  count.value++;
66
- expect(printTree(tree)).toBe(`even`);
64
+ expect(tree).toRenderTo("even");
67
65
  });
68
66
  //# sourceMappingURL=match.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ref","expect","it","Match","Switch","printTree","renderTree","template","_$createComponent","children","when","toRenderTo","count","value","tree","toBe"],"sources":["../../../test/control-flow/match.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,OAAO,wBAAwB;AAC/B,SAASA,GAAG,QAAQ,iBAAiB;AACrC,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,KAAK,EAAEC,MAAM;AACtB,SAASC,SAAS,EAAEC,UAAU,QAAQ,qBAAqB;AAE3DJ,EAAE,CAAC,yBAAyB,EAAE,MAAM;EAClC,MAAMK,QAAQ,GAAAC,iBAAA,CACXJ,MAAM;IAAA,IAAAK,SAAA;MAAA,QAAAD,iBAAA,CACJL,KAAK;QAACO,IAAI,EAAE,IAAI;QAAAD,QAAA;MAAA,IAAAD,iBAAA,CAChBL,KAAK;QAAA;QAAAM,QAAA;MAAA;IAAA;EAAA,EAET;EACDR,MAAM,CAACM,QAAQ,CAAC,CAACI,UAAU,CAAC,MAAM,CAAC;AACrC,CAAC,CAAC;AACFT,EAAE,CAAC,yBAAyB,EAAE,MAAM;EAClC,MAAMK,QAAQ,GAAAC,iBAAA,CACXJ,MAAM;IAAA,IAAAK,SAAA;MAAA,QAAAD,iBAAA,CACJL,KAAK;QAACO,IAAI,EAAE,KAAK;QAAAD,QAAA;MAAA,IAAAD,iBAAA,CACjBL,KAAK;QAAA;QAAAM,QAAA;MAAA;IAAA;EAAA,EAET;EACDR,MAAM,CAACM,QAAQ,CAAC,CAACI,UAAU,CAAC,OAAO,CAAC;AACtC,CAAC,CAAC;AAEFT,EAAE,CAAC,2CAA2C,EAAE,MAAM;EACpD,MAAMK,QAAQ,GAAAC,iBAAA,CACXJ,MAAM;IAAA,IAAAK,SAAA;MAAA,OAAAD,iBAAA,CACJL,KAAK;QAACO,IAAI,EAAE,KAAK;QAAAD,QAAA;MAAA;IAAA;EAAA,EAErB;EACDR,MAAM,CAACM,QAAQ,CAAC,CAACI,UAAU,CAAC,EAAE,CAAC;AACjC,CAAC,CAAC;AAEFT,EAAE,CAAC,uBAAuB,EAAE,MAAM;EAChC,MAAMU,KAAK,GAAGZ,GAAG,CAAC,CAAC,CAAC;EACpB,MAAMO,QAAQ,GAAAC,iBAAA,CACXJ,MAAM;IAAA,IAAAK,SAAA;MAAA,QAAAD,iBAAA,CACJL,KAAK;QAAA,IAACO,IAAIA,CAAA;UAAA,OAAEE,KAAK,CAACC,KAAK,GAAG,CAAC,KAAK,CAAC;QAAA;QAAAJ,QAAA;MAAA,IAAAD,iBAAA,CACjCL,KAAK;QAAA;QAAAM,QAAA;MAAA;IAAA;EAAA,EAET;EACD,MAAMK,IAAI,GAAGR,UAAU,CAACC,QAAQ,CAAC;EACjCN,MAAM,CAACI,SAAS,CAACS,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,MAAM,CAAC;EACpCH,KAAK,CAACC,KAAK,EAAE;EACbZ,MAAM,CAACI,SAAS,CAACS,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,KAAK,CAAC;EACnCH,KAAK,CAACC,KAAK,EAAE;EACbZ,MAAM,CAACI,SAAS,CAACS,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,MAAM,CAAC;AACtC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ref","expect","it","Match","Switch","template","_$createComponent","children","when","toRenderTo","count","value","tree"],"sources":["../../../test/control-flow/match.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,GAAG,QAAQ,iBAAiB;AACrC,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,KAAK,EAAEC,MAAM;AAEtBF,EAAE,CAAC,yBAAyB,EAAE,MAAM;EAClC,MAAMG,QAAQ,GAAAC,iBAAA,CACXF,MAAM;IAAA,IAAAG,SAAA;MAAA,QAAAD,iBAAA,CACJH,KAAK;QAACK,IAAI,EAAE,IAAI;QAAAD,QAAA;MAAA,IAAAD,iBAAA,CAChBH,KAAK;QAAA;QAAAI,QAAA;MAAA;IAAA;EAAA,EAET;EACDN,MAAM,CAACI,QAAQ,CAAC,CAACI,UAAU,CAAC,MAAM,CAAC;AACrC,CAAC,CAAC;AACFP,EAAE,CAAC,yBAAyB,EAAE,MAAM;EAClC,MAAMG,QAAQ,GAAAC,iBAAA,CACXF,MAAM;IAAA,IAAAG,SAAA;MAAA,QAAAD,iBAAA,CACJH,KAAK;QAACK,IAAI,EAAE,KAAK;QAAAD,QAAA;MAAA,IAAAD,iBAAA,CACjBH,KAAK;QAAA;QAAAI,QAAA;MAAA;IAAA;EAAA,EAET;EACDN,MAAM,CAACI,QAAQ,CAAC,CAACI,UAAU,CAAC,OAAO,CAAC;AACtC,CAAC,CAAC;AAEFP,EAAE,CAAC,2CAA2C,EAAE,MAAM;EACpD,MAAMG,QAAQ,GAAAC,iBAAA,CACXF,MAAM;IAAA,IAAAG,SAAA;MAAA,OAAAD,iBAAA,CACJH,KAAK;QAACK,IAAI,EAAE,KAAK;QAAAD,QAAA;MAAA;IAAA;EAAA,EAErB;EACDN,MAAM,CAACI,QAAQ,CAAC,CAACI,UAAU,CAAC,EAAE,CAAC;AACjC,CAAC,CAAC;AAEFP,EAAE,CAAC,uBAAuB,EAAE,MAAM;EAChC,MAAMQ,KAAK,GAAGV,GAAG,CAAC,CAAC,CAAC;EACpB,MAAMK,QAAQ,GAAAC,iBAAA,CACXF,MAAM;IAAA,IAAAG,SAAA;MAAA,QAAAD,iBAAA,CACJH,KAAK;QAAA,IAACK,IAAIA,CAAA;UAAA,OAAEE,KAAK,CAACC,KAAK,GAAG,CAAC,KAAK,CAAC;QAAA;QAAAJ,QAAA;MAAA,IAAAD,iBAAA,CACjCH,KAAK;QAAA;QAAAI,QAAA;MAAA;IAAA;EAAA,EAET;EACD,MAAMK,IAAI,GAAGP,QAAQ;EACrBJ,MAAM,CAACW,IAAI,CAAC,CAACH,UAAU,CAAC,MAAM,CAAC;EAC/BC,KAAK,CAACC,KAAK,EAAE;EACbV,MAAM,CAACW,IAAI,CAAC,CAACH,UAAU,CAAC,KAAK,CAAC;EAC9BC,KAAK,CAACC,KAAK,EAAE;EACbV,MAAM,CAACW,IAAI,CAAC,CAACH,UAAU,CAAC,MAAM,CAAC;AACjC,CAAC,CAAC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import "@alloy-js/core/testing";
1
+ export {};
2
2
  //# sourceMappingURL=show.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"show.test.d.ts","sourceRoot":"","sources":["../../../test/control-flow/show.test.tsx"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC"}
1
+ {"version":3,"file":"show.test.d.ts","sourceRoot":"","sources":["../../../test/control-flow/show.test.tsx"],"names":[],"mappings":""}
@@ -1,9 +1,7 @@
1
1
  import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
- import "@alloy-js/core/testing";
3
2
  import { ref } from "@vue/reactivity";
4
3
  import { expect, it } from "vitest";
5
4
  import { Show } from "../../src/components/Show.js";
6
- import { printTree, renderTree } from "../../src/render.js";
7
5
  it("selects the true branch", () => {
8
6
  const template = _$createComponent(Show, {
9
7
  when: true,
@@ -20,11 +18,10 @@ it("works with reactivity", () => {
20
18
  fallback: "odd",
21
19
  children: "even"
22
20
  });
23
- const tree = renderTree(template);
24
- expect(printTree(tree)).toBe(`even`);
21
+ expect(template).toRenderTo("even");
25
22
  count.value++;
26
- expect(printTree(tree)).toBe(`odd`);
23
+ expect(template).toRenderTo("odd");
27
24
  count.value++;
28
- expect(printTree(tree)).toBe(`even`);
25
+ expect(template).toRenderTo("even");
29
26
  });
30
27
  //# sourceMappingURL=show.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ref","expect","it","Show","printTree","renderTree","template","_$createComponent","when","children","toRenderTo","count","value","fallback","tree","toBe"],"sources":["../../../test/control-flow/show.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,OAAO,wBAAwB;AAC/B,SAASA,GAAG,QAAQ,iBAAiB;AACrC,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,IAAI;AACb,SAASC,SAAS,EAAEC,UAAU,QAAQ,qBAAqB;AAE3DH,EAAE,CAAC,yBAAyB,EAAE,MAAM;EAClC,MAAMI,QAAQ,GAAAC,iBAAA,CAAIJ,IAAI;IAACK,IAAI,EAAE,IAAI;IAAAC,QAAA;EAAA,EAAa;EAC9CR,MAAM,CAACK,QAAQ,CAAC,CAACI,UAAU,CAAC,MAAM,CAAC;AACrC,CAAC,CAAC;AAEFR,EAAE,CAAC,uBAAuB,EAAE,MAAM;EAChC,MAAMS,KAAK,GAAGX,GAAG,CAAC,CAAC,CAAC;EACpB,MAAMM,QAAQ,GAAAC,iBAAA,CACXJ,IAAI;IAAA,IAACK,IAAIA,CAAA;MAAA,OAAEG,KAAK,CAACC,KAAK,GAAG,CAAC,KAAK,CAAC;IAAA;IAAEC,QAAQ,EAAE,KAAK;IAAAJ,QAAA;EAAA,EAGnD;EACD,MAAMK,IAAI,GAAGT,UAAU,CAACC,QAAQ,CAAC;EACjCL,MAAM,CAACG,SAAS,CAACU,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,MAAM,CAAC;EACpCJ,KAAK,CAACC,KAAK,EAAE;EACbX,MAAM,CAACG,SAAS,CAACU,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,KAAK,CAAC;EACnCJ,KAAK,CAACC,KAAK,EAAE;EACbX,MAAM,CAACG,SAAS,CAACU,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,MAAM,CAAC;AACtC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ref","expect","it","Show","template","_$createComponent","when","children","toRenderTo","count","value","fallback"],"sources":["../../../test/control-flow/show.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,GAAG,QAAQ,iBAAiB;AACrC,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,IAAI;AAEbD,EAAE,CAAC,yBAAyB,EAAE,MAAM;EAClC,MAAME,QAAQ,GAAAC,iBAAA,CAAIF,IAAI;IAACG,IAAI,EAAE,IAAI;IAAAC,QAAA;EAAA,EAAa;EAC9CN,MAAM,CAACG,QAAQ,CAAC,CAACI,UAAU,CAAC,MAAM,CAAC;AACrC,CAAC,CAAC;AAEFN,EAAE,CAAC,uBAAuB,EAAE,MAAM;EAChC,MAAMO,KAAK,GAAGT,GAAG,CAAC,CAAC,CAAC;EACpB,MAAMI,QAAQ,GAAAC,iBAAA,CACXF,IAAI;IAAA,IAACG,IAAIA,CAAA;MAAA,OAAEG,KAAK,CAACC,KAAK,GAAG,CAAC,KAAK,CAAC;IAAA;IAAEC,QAAQ,EAAE,KAAK;IAAAJ,QAAA;EAAA,EAGnD;EACDN,MAAM,CAACG,QAAQ,CAAC,CAACI,UAAU,CAAC,MAAM,CAAC;EACnCC,KAAK,CAACC,KAAK,EAAE;EACbT,MAAM,CAACG,QAAQ,CAAC,CAACI,UAAU,CAAC,KAAK,CAAC;EAClCC,KAAK,CAACC,KAAK,EAAE;EACbT,MAAM,CAACG,QAAQ,CAAC,CAACI,UAAU,CAAC,MAAM,CAAC;AACrC,CAAC,CAAC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import "../testing/extend-expect.js";
1
+ export {};
2
2
  //# sourceMappingURL=lazy-isempty.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-isempty.test.d.ts","sourceRoot":"","sources":["../../test/lazy-isempty.test.tsx"],"names":[],"mappings":"AAMA,OAAO,6BAA6B,CAAC"}
1
+ {"version":3,"file":"lazy-isempty.test.d.ts","sourceRoot":"","sources":["../../test/lazy-isempty.test.tsx"],"names":[],"mappings":""}
@@ -4,21 +4,19 @@ import { describe, expect, it } from "vitest";
4
4
  import { Show } from "../src/components/Show.js";
5
5
  import { createContentSlot } from "../src/content-slot.js";
6
6
  import { ensureIsEmpty, getContext } from "../src/reactivity.js";
7
- import { printTree, renderTree } from "../src/render.js";
8
- import "../testing/extend-expect.js";
9
- describe("lazy isEmpty / _lastEmpty", () => {
7
+ describe("lazy isEmpty", () => {
10
8
  it("context starts without isEmpty ref allocated", () => {
11
9
  let ctx = null;
12
10
  function Capture() {
13
11
  ctx = getContext();
14
12
  return "content";
15
13
  }
16
- renderTree(_$createComponent(Capture, {}));
14
+ expect(_$createComponent(Capture, {})).toRenderTo("content");
17
15
 
18
16
  // The isEmpty ref should NOT be allocated unless someone observes it.
19
17
  expect(ctx).not.toBeNull();
20
18
  expect(ctx.isEmpty).toBeUndefined();
21
- expect(ctx._lastEmpty).toBe(false);
19
+ expect(ctx.childrenWithContent).toBe(1);
22
20
  });
23
21
  it("ensureIsEmpty lazily allocates the isEmpty ref", () => {
24
22
  let ctx = null;
@@ -26,13 +24,13 @@ describe("lazy isEmpty / _lastEmpty", () => {
26
24
  ctx = getContext();
27
25
  return "content";
28
26
  }
29
- renderTree(_$createComponent(Capture, {}));
27
+ expect(_$createComponent(Capture, {})).toRenderTo("content");
30
28
  expect(ctx.isEmpty).toBeUndefined();
31
29
  const isEmptyRef = ensureIsEmpty(ctx);
32
30
  expect(ctx.isEmpty).toBeDefined();
33
31
  expect(isEmptyRef).toBe(ctx.isEmpty);
34
32
  });
35
- it("_lastEmpty is true for empty component, false for non-empty", () => {
33
+ it("tracks content count for empty and non-empty components", () => {
36
34
  let emptyCtx = null;
37
35
  let fullCtx = null;
38
36
  function EmptyCapture() {
@@ -43,14 +41,14 @@ describe("lazy isEmpty / _lastEmpty", () => {
43
41
  fullCtx = getContext();
44
42
  return "has content";
45
43
  }
46
- renderTree([_$createComponent(EmptyCapture, {}), _$createComponent(FullCapture, {})]);
47
- expect(emptyCtx._lastEmpty).toBe(true);
48
- expect(fullCtx._lastEmpty).toBe(false);
44
+ expect([_$createComponent(EmptyCapture, {}), _$createComponent(FullCapture, {})]).toRenderTo("has content");
45
+ expect(emptyCtx.childrenWithContent).toBe(0);
46
+ expect(fullCtx.childrenWithContent).toBe(1);
49
47
  });
50
48
  it("ContentSlot triggers ensureIsEmpty and tracks reactively", () => {
51
49
  const ContentSlot = createContentSlot();
52
50
  const showContent = ref(false);
53
- const tree = renderTree([_$memo(() => ContentSlot.isEmpty && "empty"), _$createComponent(ContentSlot, {
51
+ const tree = [_$memo(() => ContentSlot.isEmpty && "empty"), _$createComponent(ContentSlot, {
54
52
  get children() {
55
53
  return _$createComponent(Show, {
56
54
  get when() {
@@ -59,15 +57,15 @@ describe("lazy isEmpty / _lastEmpty", () => {
59
57
  children: "content"
60
58
  });
61
59
  }
62
- })]);
63
- expect(printTree(tree)).toBe("empty");
60
+ })];
61
+ expect(tree).toRenderTo("empty");
64
62
  showContent.value = true;
65
- expect(printTree(tree)).toBe("content");
63
+ expect(tree).toRenderTo("content");
66
64
  });
67
65
  it("propagates empty state up through parent contexts", () => {
68
66
  const OuterSlot = createContentSlot();
69
67
  const showContent = ref(false);
70
- const tree = renderTree([_$memo(() => OuterSlot.isEmpty && "outer-empty"), _$createComponent(OuterSlot, {
68
+ const tree = [_$memo(() => OuterSlot.isEmpty && "outer-empty"), _$createComponent(OuterSlot, {
71
69
  get children() {
72
70
  return _$createComponent(Show, {
73
71
  get when() {
@@ -76,14 +74,14 @@ describe("lazy isEmpty / _lastEmpty", () => {
76
74
  children: "content"
77
75
  });
78
76
  }
79
- })]);
77
+ })];
80
78
 
81
79
  // Outer should be empty initially.
82
- expect(printTree(tree)).toBe("outer-empty");
80
+ expect(tree).toRenderTo("outer-empty");
83
81
 
84
82
  // Show content — outer should become non-empty.
85
83
  showContent.value = true;
86
- expect(printTree(tree)).toBe("content");
84
+ expect(tree).toRenderTo("content");
87
85
  });
88
86
  });
89
87
  //# sourceMappingURL=lazy-isempty.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ref","describe","expect","it","Show","createContentSlot","ensureIsEmpty","getContext","printTree","renderTree","ctx","Capture","_$createComponent","not","toBeNull","isEmpty","toBeUndefined","_lastEmpty","toBe","isEmptyRef","toBeDefined","emptyCtx","fullCtx","EmptyCapture","FullCapture","ContentSlot","showContent","tree","_$memo","children","when","value","OuterSlot"],"sources":["../../test/lazy-isempty.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ref","describe","expect","it","Show","createContentSlot","ensureIsEmpty","getContext","ctx","Capture","_$createComponent","toRenderTo","not","toBeNull","isEmpty","toBeUndefined","childrenWithContent","toBe","isEmptyRef","toBeDefined","emptyCtx","fullCtx","EmptyCapture","FullCapture","ContentSlot","showContent","tree","_$memo","children","when","value","OuterSlot"],"sources":["../../test/lazy-isempty.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import "../testing/extend-expect.js";
1
+ export {};
2
2
  //# sourceMappingURL=name-policy.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"name-policy.test.d.ts","sourceRoot":"","sources":["../../test/name-policy.test.tsx"],"names":[],"mappings":"AAEA,OAAO,6BAA6B,CAAC"}
1
+ {"version":3,"file":"name-policy.test.d.ts","sourceRoot":"","sources":["../../test/name-policy.test.tsx"],"names":[],"mappings":""}
@@ -1,7 +1,6 @@
1
1
  import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
2
  import { createNamePolicy, Output, useNamePolicy } from "@alloy-js/core";
3
3
  import { expect, it } from "vitest";
4
- import "../testing/extend-expect.js";
5
4
  it("is applied by output", () => {
6
5
  const policy = createNamePolicy(name => {
7
6
  return "name" + name;
@@ -1 +1 @@
1
- {"version":3,"names":["createNamePolicy","Output","useNamePolicy","expect","it","policy","name","Foo","namer","getName","_$createComponent","namePolicy","children","toRenderTo"],"sources":["../../test/name-policy.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,gBAAgB,EAAEC,MAAM,EAAEC,aAAa,QAAQ,gBAAgB;AACxE,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,OAAO,6BAA6B;AAEpCA,EAAE,CAAC,sBAAsB,EAAE,MAAM;EAC/B,MAAMC,MAAM,GAAGL,gBAAgB,CAAEM,IAAI,IAAK;IACxC,OAAO,MAAM,GAAGA,IAAI;EACtB,CAAC,CAAC;EAEF,SAASC,GAAGA,CAAA,EAAG;IACb,MAAMC,KAAK,GAAGN,aAAa,CAAC,CAAC;IAC7B,OAAOM,KAAK,CAAEC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;EACrC;EACAN,MAAM,CAAAO,iBAAA,CACHT,MAAM;IAACU,UAAU,EAAEN,MAAM;IAAA,IAAAO,SAAA;MAAA,OAAAF,iBAAA,CACvBH,GAAG;IAAA;EAAA,EAER,CAAC,CAACM,UAAU,CAAC,QAAQ,CAAC;AACxB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createNamePolicy","Output","useNamePolicy","expect","it","policy","name","Foo","namer","getName","_$createComponent","namePolicy","children","toRenderTo"],"sources":["../../test/name-policy.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,gBAAgB,EAAEC,MAAM,EAAEC,aAAa,QAAQ,gBAAgB;AACxE,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AAEnCA,EAAE,CAAC,sBAAsB,EAAE,MAAM;EAC/B,MAAMC,MAAM,GAAGL,gBAAgB,CAAEM,IAAI,IAAK;IACxC,OAAO,MAAM,GAAGA,IAAI;EACtB,CAAC,CAAC;EAEF,SAASC,GAAGA,CAAA,EAAG;IACb,MAAMC,KAAK,GAAGN,aAAa,CAAC,CAAC;IAC7B,OAAOM,KAAK,CAAEC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;EACrC;EACAN,MAAM,CAAAO,iBAAA,CACHT,MAAM;IAACU,UAAU,EAAEN,MAAM;IAAA,IAAAO,SAAA;MAAA,OAAAF,iBAAA,CACvBH,GAAG;IAAA;EAAA,EAER,CAAC,CAACM,UAAU,CAAC,QAAQ,CAAC;AACxB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=node.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.test.d.ts","sourceRoot":"","sources":["../../test/node.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,80 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { createElement, createFragment, createTextNode } from "../src/render/index.js";
3
+ import { textContent } from "./tree-test-utils.js";
4
+ describe("Node tree", () => {
5
+ it("append/prepend/before/after build linked list correctly", () => {
6
+ const root = createElement("group");
7
+ const b = createTextNode("B");
8
+ const c = createTextNode("C");
9
+ root.append(b, c);
10
+ const a = createTextNode("A");
11
+ root.prepend(a);
12
+ const d = createTextNode("D");
13
+ c.after(d);
14
+ const between = createTextNode("X");
15
+ c.before(between);
16
+ expect(textContent(root)).toBe("ABXCD");
17
+ expect(root.firstChild).toBe(a);
18
+ expect(root.lastChild).toBe(d);
19
+ expect(a.nextSibling).toBe(b);
20
+ expect(d.previousSibling).toBe(c);
21
+ });
22
+ it("replaceWith / remove maintain links", () => {
23
+ const root = createElement("group");
24
+ const a = createTextNode("A");
25
+ const b = createTextNode("B");
26
+ const c = createTextNode("C");
27
+ root.append(a, b, c);
28
+ const x = createTextNode("X");
29
+ const y = createTextNode("Y");
30
+ b.replaceWith(x, y);
31
+ expect(textContent(root)).toBe("AXYC");
32
+ expect(b.parentNode).toBeNull();
33
+ a.remove();
34
+ expect(textContent(root)).toBe("XYC");
35
+ expect(root.firstChild).toBe(x);
36
+ });
37
+ it("Fragment splices children on insert and self-empties", () => {
38
+ const root = createElement("group");
39
+ const f = createFragment();
40
+ f.append("hello", " ", "world");
41
+ expect(f.firstChild).not.toBeNull();
42
+ root.append(f);
43
+ expect(f.firstChild).toBeNull();
44
+ expect(f.parentNode).toBeNull();
45
+ expect(textContent(root)).toBe("hello world");
46
+ });
47
+ it("indent element preserves nested text in tree order", () => {
48
+ const root = createElement("group");
49
+ const indent = createElement("indent");
50
+ indent.append("first\nsecond\nthird");
51
+ root.append("top\n", indent);
52
+ expect(textContent(root)).toBe("top\nfirst\nsecond\nthird");
53
+ expect(root.lastChild).toBe(indent);
54
+ });
55
+ it("moveBefore atomically relocates without disconnecting subtree", () => {
56
+ const root = createElement("group");
57
+ const a = createElement("group");
58
+ const b = createElement("group");
59
+ a.append("A-content");
60
+ b.append("B-content");
61
+ root.append(a, b);
62
+ expect(textContent(root)).toBe("A-contentB-content");
63
+ // Move a after b.
64
+ root.moveBefore(a, null);
65
+ expect(textContent(root)).toBe("B-contentA-content");
66
+ // Subtree of `a` is untouched.
67
+ expect(a.firstChild).not.toBeNull();
68
+ });
69
+ it("moveBefore is a no-op when already at target position", () => {
70
+ const root = createElement("group");
71
+ const a = createTextNode("A");
72
+ const b = createTextNode("B");
73
+ root.append(a, b);
74
+ const aPrev = a.previousSibling;
75
+ root.moveBefore(a, b);
76
+ expect(a.previousSibling).toBe(aPrev);
77
+ expect(textContent(root)).toBe("AB");
78
+ });
79
+ });
80
+ //# sourceMappingURL=node.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describe","expect","it","createElement","createFragment","createTextNode","textContent","root","b","c","append","a","prepend","d","after","between","before","toBe","firstChild","lastChild","nextSibling","previousSibling","x","y","replaceWith","parentNode","toBeNull","remove","f","not","indent","moveBefore","aPrev"],"sources":["../../test/node.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * End-to-end test of the entry point: compile JSX through the babel
3
+ * preset (alloy preset), evaluate against the runtime, and run through
4
+ * `renderAsync` to produce an `OutputDirectory`.
5
+ *
6
+ * Validates:
7
+ * - Output → SourceDirectory → SourceFile composition.
8
+ * - File contents are produced via Alloy's direct printer.
9
+ * - Nested directories accumulate paths correctly.
10
+ * - `For` works under the runtime emitting multiple files.
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=output-e2e.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-e2e.test.d.ts","sourceRoot":"","sources":["../../test/output-e2e.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}