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

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 (506) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/dev/src/components/AccessExpression.test.js +1 -1
  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 +1 -1
  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 +1 -1
  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/components/block.test.js +1 -1
  88. package/dist/dev/test/components/block.test.js.map +1 -1
  89. package/dist/dev/test/components/copy-file.test.js +7 -7
  90. package/dist/dev/test/components/copy-file.test.js.map +1 -1
  91. package/dist/dev/test/components/update-file.test.js +1 -1
  92. package/dist/dev/test/components/update-file.test.js.map +1 -1
  93. package/dist/dev/test/components/wrap.test.js +1 -1
  94. package/dist/dev/test/components/wrap.test.js.map +1 -1
  95. package/dist/dev/test/control-flow/match.test.js +1 -1
  96. package/dist/dev/test/control-flow/match.test.js.map +1 -1
  97. package/dist/dev/test/control-flow/show.test.js +1 -1
  98. package/dist/dev/test/control-flow/show.test.js.map +1 -1
  99. package/dist/dev/test/lazy-isempty.test.js +6 -6
  100. package/dist/dev/test/lazy-isempty.test.js.map +1 -1
  101. package/dist/dev/test/node.test.js +80 -0
  102. package/dist/dev/test/node.test.js.map +1 -0
  103. package/dist/dev/test/output-e2e.test.js +194 -0
  104. package/dist/dev/test/output-e2e.test.js.map +1 -0
  105. package/dist/dev/test/reactivity/circular-reactives.test.js +1 -1
  106. package/dist/dev/test/reactivity/circular-reactives.test.js.map +1 -1
  107. package/dist/dev/test/reactivity/cleanup.test.js +1 -1
  108. package/dist/dev/test/reactivity/cleanup.test.js.map +1 -1
  109. package/dist/dev/test/rendering/memoization.test.js +6 -1
  110. package/dist/dev/test/rendering/memoization.test.js.map +1 -1
  111. package/dist/dev/test/rendering/render-output-diagnostics.test.js +102 -0
  112. package/dist/dev/test/rendering/render-output-diagnostics.test.js.map +1 -0
  113. package/dist/dev/test/runtime.test.js +385 -0
  114. package/dist/dev/test/runtime.test.js.map +1 -0
  115. package/dist/dev/test/tree-test-utils.js +16 -0
  116. package/dist/dev/test/tree-test-utils.js.map +1 -0
  117. package/dist/dev/test/utils.test.js +1 -1
  118. package/dist/dev/test/utils.test.js.map +1 -1
  119. package/dist/dev/testing/devtools-utils.js +1 -1
  120. package/dist/dev/testing/devtools-utils.js.map +1 -1
  121. package/dist/dev/testing/extend-expect.js +7 -33
  122. package/dist/dev/testing/extend-expect.js.map +1 -1
  123. package/dist/dev/testing/render.js +7 -17
  124. package/dist/dev/testing/render.js.map +1 -1
  125. package/dist/devtools/index.html +17 -17
  126. package/dist/src/components/AccessExpression.test.js +1 -1
  127. package/dist/src/components/AccessExpression.test.js.map +1 -1
  128. package/dist/src/components/Output.d.ts +1 -1
  129. package/dist/src/components/Output.d.ts.map +1 -1
  130. package/dist/src/components/Output.js +2 -1
  131. package/dist/src/components/Output.js.map +1 -1
  132. package/dist/src/components/ReferenceOrContent.d.ts +1 -1
  133. package/dist/src/components/ReferenceOrContent.d.ts.map +1 -1
  134. package/dist/src/components/SourceFile.d.ts +1 -1
  135. package/dist/src/components/SourceFile.d.ts.map +1 -1
  136. package/dist/src/components/SourceFile.js.map +1 -1
  137. package/dist/src/content-slot.test.js +1 -1
  138. package/dist/src/content-slot.test.js.map +1 -1
  139. package/dist/src/context/format-options.d.ts +1 -1
  140. package/dist/src/context/format-options.d.ts.map +1 -1
  141. package/dist/src/context.d.ts +9 -1
  142. package/dist/src/context.d.ts.map +1 -1
  143. package/dist/src/context.js +30 -3
  144. package/dist/src/context.js.map +1 -1
  145. package/dist/src/debug/diagnostics.test.js +1 -1
  146. package/dist/src/debug/diagnostics.test.js.map +1 -1
  147. package/dist/src/debug/effects.test.js +1 -1
  148. package/dist/src/debug/effects.test.js.map +1 -1
  149. package/dist/src/debug/file-streaming.d.ts +22 -0
  150. package/dist/src/debug/file-streaming.d.ts.map +1 -0
  151. package/dist/src/debug/file-streaming.js +103 -0
  152. package/dist/src/debug/file-streaming.js.map +1 -0
  153. package/dist/src/debug/files.test.js +4 -5
  154. package/dist/src/debug/files.test.js.map +1 -1
  155. package/dist/src/debug/index.d.ts +5 -7
  156. package/dist/src/debug/index.d.ts.map +1 -1
  157. package/dist/src/debug/index.js +4 -6
  158. package/dist/src/debug/index.js.map +1 -1
  159. package/dist/src/debug/message-format.test.js +16 -18
  160. package/dist/src/debug/message-format.test.js.map +1 -1
  161. package/dist/src/debug/render-tree-orphans.test.js +8 -18
  162. package/dist/src/debug/render-tree-orphans.test.js.map +1 -1
  163. package/dist/src/debug/render.d.ts +71 -21
  164. package/dist/src/debug/render.d.ts.map +1 -1
  165. package/dist/src/debug/render.js +529 -352
  166. package/dist/src/debug/render.js.map +1 -1
  167. package/dist/src/debug/render.test.js +137 -74
  168. package/dist/src/debug/render.test.js.map +1 -1
  169. package/dist/src/debug/trace-writer.d.ts +6 -1
  170. package/dist/src/debug/trace-writer.d.ts.map +1 -1
  171. package/dist/src/debug/trace-writer.js +127 -15
  172. package/dist/src/debug/trace-writer.js.map +1 -1
  173. package/dist/src/debug/trace.d.ts +0 -36
  174. package/dist/src/debug/trace.d.ts.map +1 -1
  175. package/dist/src/debug/trace.js +0 -36
  176. package/dist/src/debug/trace.js.map +1 -1
  177. package/dist/src/devtools/devtools-protocol.d.ts +34 -1
  178. package/dist/src/devtools/devtools-protocol.d.ts.map +1 -1
  179. package/dist/src/devtools/devtools-server.d.ts.map +1 -1
  180. package/dist/src/devtools/devtools-server.js +55 -32
  181. package/dist/src/devtools/devtools-server.js.map +1 -1
  182. package/dist/src/devtools-entry.browser.d.ts +1 -1
  183. package/dist/src/devtools-entry.browser.d.ts.map +1 -1
  184. package/dist/src/devtools-entry.browser.js.map +1 -1
  185. package/dist/src/devtools-entry.d.ts +1 -1
  186. package/dist/src/devtools-entry.d.ts.map +1 -1
  187. package/dist/src/devtools-entry.js.map +1 -1
  188. package/dist/src/diagnostics.d.ts +4 -0
  189. package/dist/src/diagnostics.d.ts.map +1 -1
  190. package/dist/src/diagnostics.js +19 -1
  191. package/dist/src/diagnostics.js.map +1 -1
  192. package/dist/src/index.d.ts +5 -2
  193. package/dist/src/index.d.ts.map +1 -1
  194. package/dist/src/index.js +5 -2
  195. package/dist/src/index.js.map +1 -1
  196. package/dist/src/jsx-runtime.d.ts +13 -4
  197. package/dist/src/jsx-runtime.d.ts.map +1 -1
  198. package/dist/src/jsx-runtime.js +14 -8
  199. package/dist/src/jsx-runtime.js.map +1 -1
  200. package/dist/src/output-types.d.ts +40 -0
  201. package/dist/src/output-types.d.ts.map +1 -0
  202. package/dist/src/output-types.js +2 -0
  203. package/dist/src/output-types.js.map +1 -0
  204. package/dist/src/reactivity.d.ts +49 -18
  205. package/dist/src/reactivity.d.ts.map +1 -1
  206. package/dist/src/reactivity.js +155 -13
  207. package/dist/src/reactivity.js.map +1 -1
  208. package/dist/src/render/get-string-width.d.ts +19 -0
  209. package/dist/src/render/get-string-width.d.ts.map +1 -0
  210. package/dist/src/render/get-string-width.js +61 -0
  211. package/dist/src/render/get-string-width.js.map +1 -0
  212. package/dist/src/render/index.d.ts +2 -0
  213. package/dist/src/render/index.d.ts.map +1 -0
  214. package/dist/src/render/index.js +2 -0
  215. package/dist/src/render/index.js.map +1 -0
  216. package/dist/src/render/node-context.d.ts +5 -0
  217. package/dist/src/render/node-context.d.ts.map +1 -0
  218. package/dist/src/render/node-context.js +7 -0
  219. package/dist/src/render/node-context.js.map +1 -0
  220. package/dist/src/render/node.d.ts +146 -0
  221. package/dist/src/render/node.d.ts.map +1 -0
  222. package/dist/src/render/node.js +386 -0
  223. package/dist/src/render/node.js.map +1 -0
  224. package/dist/src/render/printer-support.d.ts +50 -0
  225. package/dist/src/render/printer-support.d.ts.map +1 -0
  226. package/dist/src/render/printer-support.js +180 -0
  227. package/dist/src/render/printer-support.js.map +1 -0
  228. package/dist/src/render/printer.d.ts +35 -0
  229. package/dist/src/render/printer.d.ts.map +1 -0
  230. package/dist/src/render/printer.js +797 -0
  231. package/dist/src/render/printer.js.map +1 -0
  232. package/dist/src/render-error.d.ts +4 -0
  233. package/dist/src/render-error.d.ts.map +1 -0
  234. package/dist/src/render-error.js +79 -0
  235. package/dist/src/render-error.js.map +1 -0
  236. package/dist/src/render-output.d.ts +42 -0
  237. package/dist/src/render-output.d.ts.map +1 -0
  238. package/dist/src/render-output.js +209 -0
  239. package/dist/src/render-output.js.map +1 -0
  240. package/dist/src/runtime/component.d.ts +2 -2
  241. package/dist/src/runtime/component.d.ts.map +1 -1
  242. package/dist/src/runtime/create-intrinsic.d.ts +28 -0
  243. package/dist/src/runtime/create-intrinsic.d.ts.map +1 -0
  244. package/dist/src/runtime/create-intrinsic.js +53 -0
  245. package/dist/src/runtime/create-intrinsic.js.map +1 -0
  246. package/dist/src/runtime/fragment.d.ts +16 -0
  247. package/dist/src/runtime/fragment.d.ts.map +1 -0
  248. package/dist/src/runtime/fragment.js +21 -0
  249. package/dist/src/runtime/fragment.js.map +1 -0
  250. package/dist/src/runtime/index.d.ts +12 -0
  251. package/dist/src/runtime/index.d.ts.map +1 -0
  252. package/dist/src/runtime/index.js +13 -0
  253. package/dist/src/runtime/index.js.map +1 -0
  254. package/dist/src/runtime/insert.d.ts +29 -0
  255. package/dist/src/runtime/insert.d.ts.map +1 -0
  256. package/dist/src/runtime/insert.js +453 -0
  257. package/dist/src/runtime/insert.js.map +1 -0
  258. package/dist/src/runtime/intrinsic.d.ts +12 -29
  259. package/dist/src/runtime/intrinsic.d.ts.map +1 -1
  260. package/dist/src/runtime/intrinsic.js +1 -11
  261. package/dist/src/runtime/intrinsic.js.map +1 -1
  262. package/dist/src/scheduler.d.ts.map +1 -1
  263. package/dist/src/scheduler.js +38 -14
  264. package/dist/src/scheduler.js.map +1 -1
  265. package/dist/src/stc.d.ts.map +1 -1
  266. package/dist/src/stc.js +2 -0
  267. package/dist/src/stc.js.map +1 -1
  268. package/dist/src/sti.d.ts +7 -6
  269. package/dist/src/sti.d.ts.map +1 -1
  270. package/dist/src/sti.js +1 -1
  271. package/dist/src/sti.js.map +1 -1
  272. package/dist/src/symbols/symbol-slot.test.js +1 -1
  273. package/dist/src/symbols/symbol-slot.test.js.map +1 -1
  274. package/dist/src/test-render.d.ts +31 -0
  275. package/dist/src/test-render.d.ts.map +1 -0
  276. package/dist/src/test-render.js +78 -0
  277. package/dist/src/test-render.js.map +1 -0
  278. package/dist/src/utils.d.ts +1 -1
  279. package/dist/src/utils.d.ts.map +1 -1
  280. package/dist/src/utils.js +40 -28
  281. package/dist/src/utils.js.map +1 -1
  282. package/dist/src/write-output.d.ts +1 -1
  283. package/dist/src/write-output.d.ts.map +1 -1
  284. package/dist/test/babel-e2e.test.d.ts +13 -0
  285. package/dist/test/babel-e2e.test.d.ts.map +1 -0
  286. package/dist/test/babel-e2e.test.js +218 -0
  287. package/dist/test/babel-e2e.test.js.map +1 -0
  288. package/dist/test/components/block.test.js +1 -1
  289. package/dist/test/components/block.test.js.map +1 -1
  290. package/dist/test/components/copy-file.test.d.ts.map +1 -1
  291. package/dist/test/components/copy-file.test.js +1 -1
  292. package/dist/test/components/copy-file.test.js.map +1 -1
  293. package/dist/test/components/update-file.test.js +1 -1
  294. package/dist/test/components/update-file.test.js.map +1 -1
  295. package/dist/test/components/wrap.test.js +1 -1
  296. package/dist/test/components/wrap.test.js.map +1 -1
  297. package/dist/test/control-flow/match.test.js +1 -1
  298. package/dist/test/control-flow/match.test.js.map +1 -1
  299. package/dist/test/control-flow/show.test.js +1 -1
  300. package/dist/test/control-flow/show.test.js.map +1 -1
  301. package/dist/test/lazy-isempty.test.js +6 -6
  302. package/dist/test/lazy-isempty.test.js.map +1 -1
  303. package/dist/test/node.test.d.ts +2 -0
  304. package/dist/test/node.test.d.ts.map +1 -0
  305. package/dist/test/node.test.js +80 -0
  306. package/dist/test/node.test.js.map +1 -0
  307. package/dist/test/output-e2e.test.d.ts +13 -0
  308. package/dist/test/output-e2e.test.d.ts.map +1 -0
  309. package/dist/test/output-e2e.test.js +194 -0
  310. package/dist/test/output-e2e.test.js.map +1 -0
  311. package/dist/test/reactivity/circular-reactives.test.js +1 -1
  312. package/dist/test/reactivity/circular-reactives.test.js.map +1 -1
  313. package/dist/test/reactivity/cleanup.test.js +1 -1
  314. package/dist/test/reactivity/cleanup.test.js.map +1 -1
  315. package/dist/test/rendering/memoization.test.js +6 -1
  316. package/dist/test/rendering/memoization.test.js.map +1 -1
  317. package/dist/test/rendering/render-output-diagnostics.test.d.ts +2 -0
  318. package/dist/test/rendering/render-output-diagnostics.test.d.ts.map +1 -0
  319. package/dist/test/rendering/render-output-diagnostics.test.js +82 -0
  320. package/dist/test/rendering/render-output-diagnostics.test.js.map +1 -0
  321. package/dist/test/runtime.test.d.ts +11 -0
  322. package/dist/test/runtime.test.d.ts.map +1 -0
  323. package/dist/test/runtime.test.js +385 -0
  324. package/dist/test/runtime.test.js.map +1 -0
  325. package/dist/test/tree-test-utils.d.ts +3 -0
  326. package/dist/test/tree-test-utils.d.ts.map +1 -0
  327. package/dist/test/tree-test-utils.js +16 -0
  328. package/dist/test/tree-test-utils.js.map +1 -0
  329. package/dist/test/utils.test.js +1 -1
  330. package/dist/test/utils.test.js.map +1 -1
  331. package/dist/testing/devtools-utils.d.ts.map +1 -1
  332. package/dist/testing/devtools-utils.js +1 -1
  333. package/dist/testing/devtools-utils.js.map +1 -1
  334. package/dist/testing/extend-expect.d.ts.map +1 -1
  335. package/dist/testing/extend-expect.js +7 -33
  336. package/dist/testing/extend-expect.js.map +1 -1
  337. package/dist/testing/render.d.ts +7 -9
  338. package/dist/testing/render.d.ts.map +1 -1
  339. package/dist/testing/render.js +7 -17
  340. package/dist/testing/render.js.map +1 -1
  341. package/dist/tsconfig.tsbuildinfo +1 -1
  342. package/docs/api/components/Output.md +0 -3
  343. package/docs/api/components/SourceFile.md +0 -3
  344. package/docs/api/functions/createComment.md +18 -0
  345. package/docs/api/functions/createElement.md +19 -0
  346. package/docs/api/functions/createFragment.md +17 -0
  347. package/docs/api/functions/createTextNode.md +18 -0
  348. package/docs/api/functions/emitDiagnosticForTree.md +19 -0
  349. package/docs/api/functions/ensureIsEmpty.md +1 -1
  350. package/docs/api/functions/getContextForNode.md +18 -0
  351. package/docs/api/functions/getContextForRenderNode.md +4 -4
  352. package/docs/api/functions/getDiagnosticsForTree.md +7 -5
  353. package/docs/api/functions/getRegisteredDiagnosticsForTree.md +18 -0
  354. package/docs/api/functions/index.md +17 -12
  355. package/docs/api/functions/isCustomContext.md +4 -4
  356. package/docs/api/functions/notifyContentState.md +6 -0
  357. package/docs/api/functions/printTree.md +6 -16
  358. package/docs/api/functions/registerDiagnosticsForTree.md +19 -0
  359. package/docs/api/functions/render.md +1 -2
  360. package/docs/api/functions/renderAsync.md +1 -2
  361. package/docs/api/functions/renderTree.md +8 -5
  362. package/docs/api/functions/reportDiagnosticsForTree.md +18 -0
  363. package/docs/api/functions/runInContext.md +28 -0
  364. package/docs/api/functions/sourceFilesForTree.md +6 -16
  365. package/docs/api/index.md +3 -3
  366. package/docs/api/testing/functions/index.md +1 -1
  367. package/docs/api/testing/functions/renderToString.md +1 -1
  368. package/docs/api/types/AlloyNode.md +22 -0
  369. package/docs/api/types/Child.md +1 -1
  370. package/docs/api/types/CommentNode.md +15 -0
  371. package/docs/api/types/Context.md +13 -15
  372. package/docs/api/types/ElementNode.md +18 -0
  373. package/docs/api/types/FragmentNode.md +12 -0
  374. package/docs/api/types/Insertable.md +7 -0
  375. package/docs/api/types/NodeType.md +5 -0
  376. package/docs/api/types/OutputDirectory.md +0 -50
  377. package/docs/api/types/PrintTreeOptions.md +0 -1
  378. package/docs/api/types/RenderTreeOptions.md +7 -0
  379. package/docs/api/types/StiComponentCreator.md +4 -4
  380. package/docs/api/types/StiSignature.md +1 -1
  381. package/docs/api/types/TextNode.md +16 -0
  382. package/docs/api/types/index.md +10 -28
  383. package/docs/api/variables/COMMENT_NODE.md +5 -0
  384. package/docs/api/variables/ELEMENT_NODE.md +11 -0
  385. package/docs/api/variables/FRAGMENT_NODE.md +5 -0
  386. package/docs/api/variables/TEXT_NODE.md +5 -0
  387. package/docs/api/variables/index.md +4 -2
  388. package/docs/formatting.md +1 -1
  389. package/docs/rendering.md +4 -4
  390. package/package.json +6 -6
  391. package/src/components/AccessExpression.test.tsx +1 -1
  392. package/src/components/Output.tsx +2 -1
  393. package/src/components/SourceFile.tsx +1 -1
  394. package/src/content-slot.test.tsx +1 -1
  395. package/src/context/format-options.ts +1 -1
  396. package/src/context.ts +37 -4
  397. package/src/debug/diagnostics.test.tsx +1 -1
  398. package/src/debug/effects.test.tsx +1 -1
  399. package/src/debug/file-streaming.ts +115 -0
  400. package/src/debug/files.test.tsx +15 -11
  401. package/src/debug/index.ts +11 -11
  402. package/src/debug/message-format.test.tsx +32 -19
  403. package/src/debug/render-tree-orphans.test.tsx +10 -19
  404. package/src/debug/render.test.tsx +206 -78
  405. package/src/debug/render.ts +642 -495
  406. package/src/debug/trace-writer.ts +168 -14
  407. package/src/debug/trace.ts +0 -20
  408. package/src/devtools/devtools-protocol.ts +43 -0
  409. package/src/devtools/devtools-server.ts +57 -32
  410. package/src/devtools-entry.browser.ts +5 -0
  411. package/src/devtools-entry.ts +5 -0
  412. package/src/diagnostics.ts +31 -0
  413. package/src/index.ts +66 -2
  414. package/src/jsx-runtime.ts +16 -14
  415. package/src/output-types.ts +47 -0
  416. package/src/reactivity.ts +186 -40
  417. package/src/render/get-string-width.ts +201 -0
  418. package/src/render/index.ts +1 -0
  419. package/src/render/node-context.ts +14 -0
  420. package/src/render/node.ts +442 -0
  421. package/src/render/printer-support.ts +209 -0
  422. package/src/render/printer.ts +817 -0
  423. package/src/render-error.ts +98 -0
  424. package/src/render-output.ts +243 -0
  425. package/src/runtime/component.ts +2 -2
  426. package/src/runtime/create-intrinsic.ts +56 -0
  427. package/src/runtime/fragment.ts +22 -0
  428. package/src/runtime/index.ts +12 -0
  429. package/src/runtime/insert.ts +569 -0
  430. package/src/runtime/intrinsic.ts +14 -70
  431. package/src/scheduler.ts +40 -25
  432. package/src/stc.ts +3 -0
  433. package/src/sti.ts +17 -20
  434. package/src/symbols/symbol-slot.test.tsx +1 -1
  435. package/src/test-render.ts +103 -0
  436. package/src/utils.tsx +55 -37
  437. package/src/write-output.ts +1 -1
  438. package/temp/api-testing.json +390 -14
  439. package/temp/api.json +4320 -4144
  440. package/test/babel-e2e.test.ts +224 -0
  441. package/test/components/block.test.tsx +1 -1
  442. package/test/components/copy-file.test.tsx +2 -1
  443. package/test/components/update-file.test.tsx +1 -1
  444. package/test/components/wrap.test.tsx +1 -1
  445. package/test/control-flow/match.test.tsx +1 -1
  446. package/test/control-flow/show.test.tsx +1 -1
  447. package/test/lazy-isempty.test.tsx +6 -6
  448. package/test/node.test.ts +90 -0
  449. package/test/output-e2e.test.ts +198 -0
  450. package/test/reactivity/circular-reactives.test.tsx +1 -1
  451. package/test/reactivity/cleanup.test.tsx +1 -1
  452. package/test/rendering/memoization.test.tsx +6 -1
  453. package/test/rendering/render-output-diagnostics.test.tsx +120 -0
  454. package/test/runtime.test.ts +448 -0
  455. package/test/tree-test-utils.ts +23 -0
  456. package/test/utils.test.tsx +1 -1
  457. package/testing/devtools-utils.ts +2 -0
  458. package/testing/extend-expect.ts +8 -46
  459. package/testing/render.ts +17 -21
  460. package/dist/dev/src/print-hook.js +0 -10
  461. package/dist/dev/src/print-hook.js.map +0 -1
  462. package/dist/dev/src/render.js +0 -872
  463. package/dist/dev/src/render.js.map +0 -1
  464. package/dist/src/print-hook.d.ts +0 -14
  465. package/dist/src/print-hook.d.ts.map +0 -1
  466. package/dist/src/print-hook.js +0 -10
  467. package/dist/src/print-hook.js.map +0 -1
  468. package/dist/src/render.d.ts +0 -155
  469. package/dist/src/render.d.ts.map +0 -1
  470. package/dist/src/render.js +0 -872
  471. package/dist/src/render.js.map +0 -1
  472. package/docs/api/functions/createIntrinsic.md +0 -19
  473. package/docs/api/functions/createRenderTreeHook.md +0 -19
  474. package/docs/api/functions/getElementCache.md +0 -17
  475. package/docs/api/functions/isIntrinsicElement.md +0 -18
  476. package/docs/api/functions/isPrintHook.md +0 -18
  477. package/docs/api/types/AlignIntrinsicElement.md +0 -5
  478. package/docs/api/types/BrIntrinsicElement.md +0 -5
  479. package/docs/api/types/BreakParentIntrinsicElement.md +0 -5
  480. package/docs/api/types/DedentIntrinsicElement.md +0 -5
  481. package/docs/api/types/DedentToRootIntrinsicElement.md +0 -5
  482. package/docs/api/types/ElementCache.md +0 -5
  483. package/docs/api/types/ElementCacheKey.md +0 -5
  484. package/docs/api/types/FillIntrinsicElement.md +0 -5
  485. package/docs/api/types/GroupIntrinsicElement.md +0 -5
  486. package/docs/api/types/HardlineIntrinsicElement.md +0 -5
  487. package/docs/api/types/HbrIntrinsicElement.md +0 -5
  488. package/docs/api/types/IfBreakIntrinsicElement.md +0 -5
  489. package/docs/api/types/IndentIfBreakIntrinsicElement.md +0 -5
  490. package/docs/api/types/IndentIntrinsicElement.md +0 -5
  491. package/docs/api/types/IntrinsicElement.md +0 -5
  492. package/docs/api/types/IntrinsicElementBase.md +0 -9
  493. package/docs/api/types/LbrIntrinsicElement.md +0 -5
  494. package/docs/api/types/LineIntrinsicElement.md +0 -5
  495. package/docs/api/types/LineSuffixBoundaryIntrinsicElement.md +0 -5
  496. package/docs/api/types/LineSuffixIntrinsicElement.md +0 -5
  497. package/docs/api/types/LiterallineIntrinsicElement.md +0 -5
  498. package/docs/api/types/MarkAsRootIntrinsicElement.md +0 -5
  499. package/docs/api/types/PrintHook.md +0 -10
  500. package/docs/api/types/RenderedTextTree.md +0 -5
  501. package/docs/api/types/SbrIntrinsicElement.md +0 -5
  502. package/docs/api/types/SoftlineIntrinsicElement.md +0 -5
  503. package/docs/api/variables/intrinsicElementKey.md +0 -5
  504. package/docs/api/variables/printHookTag.md +0 -7
  505. package/src/print-hook.ts +0 -22
  506. package/src/render.ts +0 -1154
@@ -2,8 +2,20 @@ import { debug } from "./debug/index.js";
2
2
  import { beginTransaction, commitTransaction, insertEffectLifecycle, insertSchedulerFlush, insertSchedulerJob } from "./debug/trace-writer.js";
3
3
  import { isTraceEnabled } from "./debug/trace.js";
4
4
  import { getEffectDebugId } from "./reactivity.js";
5
- const immediateQueue = new Set();
6
- const queue = new Set();
5
+ // Dedup membership set + ordered drain array with a moving head pointer.
6
+ // Using `Set.values().next().value` per takeJob (the prior impl) allocated
7
+ // a fresh iterator + result object on every pop, which dominated CPU and
8
+ // GC for scenarios with many queued effects (~31% of CPU on render-imports).
9
+ // The hybrid below keeps O(1) dedup via the Set while making takeJob
10
+ // allocation-free in the steady state.
11
+ const inQueueSet = new Set();
12
+ const immediateArr = [];
13
+ let immediateHead = 0;
14
+ const queueArr = [];
15
+ let queueHead = 0;
16
+ function queueSize() {
17
+ return immediateArr.length - immediateHead + (queueArr.length - queueHead);
18
+ }
7
19
  function isJobActive(job) {
8
20
  // ReactiveEffect uses bit 0 (flags & 1) as the ACTIVE flag.
9
21
  // Skip effects that were stopped after being queued.
@@ -51,15 +63,17 @@ export function queueJob(job, immediate = false) {
51
63
  run: job
52
64
  };
53
65
  }
66
+ if (inQueueSet.has(job)) return;
67
+ inQueueSet.add(job);
54
68
  if (immediate) {
55
- immediateQueue.add(job);
69
+ immediateArr.push(job);
56
70
  } else {
57
- queue.add(job);
71
+ queueArr.push(job);
58
72
  }
59
73
  if (isTraceEnabled()) {
60
74
  const effectId = getEffectDebugId(job);
61
75
  if (effectId !== undefined) {
62
- insertSchedulerJob("queue", effectId, immediate, immediateQueue.size + queue.size);
76
+ insertSchedulerJob("queue", effectId, immediate, queueSize());
63
77
  }
64
78
  }
65
79
  if (resolveJobSignal) {
@@ -88,7 +102,7 @@ export function flushJobs() {
88
102
  if (isTraceEnabled()) {
89
103
  const effectId = getEffectDebugId(job);
90
104
  if (effectId !== undefined) {
91
- insertSchedulerJob("run", effectId, false, immediateQueue.size + queue.size);
105
+ insertSchedulerJob("run", effectId, false, queueSize());
92
106
  }
93
107
  }
94
108
  if (!isJobActive(job)) {
@@ -200,16 +214,26 @@ export async function flushJobsAsync() {
200
214
  debug.render.flushJobsComplete();
201
215
  }
202
216
  function takeJob() {
203
- if (immediateQueue.size > 0) {
204
- // return first item in immediateQueue
205
- const job = immediateQueue.values().next().value;
206
- immediateQueue.delete(job);
217
+ if (immediateHead < immediateArr.length) {
218
+ const job = immediateArr[immediateHead];
219
+ immediateArr[immediateHead] = undefined; // release ref for GC
220
+ immediateHead++;
221
+ inQueueSet.delete(job);
222
+ if (immediateHead === immediateArr.length) {
223
+ immediateArr.length = 0;
224
+ immediateHead = 0;
225
+ }
207
226
  return job;
208
227
  }
209
- if (queue.size > 0) {
210
- // return first item in queue
211
- const job = queue.values().next().value;
212
- queue.delete(job);
228
+ if (queueHead < queueArr.length) {
229
+ const job = queueArr[queueHead];
230
+ queueArr[queueHead] = undefined;
231
+ queueHead++;
232
+ inQueueSet.delete(job);
233
+ if (queueHead === queueArr.length) {
234
+ queueArr.length = 0;
235
+ queueHead = 0;
236
+ }
213
237
  return job;
214
238
  }
215
239
  return null;
@@ -1 +1 @@
1
- {"version":3,"names":["debug","beginTransaction","commitTransaction","insertEffectLifecycle","insertSchedulerFlush","insertSchedulerJob","isTraceEnabled","getEffectDebugId","immediateQueue","Set","queue","isJobActive","job","flags","undefined","pendingPromises","waitForSignalPromise","resolveWaitForSignal","jobSignalPromise","resolveJobSignal","lastTriggerRef","Map","setLastTriggerRef","effectDebugId","refId","set","scheduler","immediate","defaultScheduler","queueJob","run","add","effectId","size","trackPromise","promise","finally","delete","flushJobs","jobCount","takeJob","triggerRefId","get","Error","render","flushJobsComplete","waitForSignal","Promise","resolve","signalSchedulerWait","isWaitingForSignal","flushJobsAsync","race","allSettled","Array","from","values","next","value"],"sources":["../../src/scheduler.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["debug","beginTransaction","commitTransaction","insertEffectLifecycle","insertSchedulerFlush","insertSchedulerJob","isTraceEnabled","getEffectDebugId","inQueueSet","Set","immediateArr","immediateHead","queueArr","queueHead","queueSize","length","isJobActive","job","flags","undefined","pendingPromises","waitForSignalPromise","resolveWaitForSignal","jobSignalPromise","resolveJobSignal","lastTriggerRef","Map","setLastTriggerRef","effectDebugId","refId","set","scheduler","immediate","defaultScheduler","queueJob","run","has","add","push","effectId","trackPromise","promise","finally","delete","flushJobs","jobCount","takeJob","triggerRefId","get","size","Error","render","flushJobsComplete","waitForSignal","Promise","resolve","signalSchedulerWait","isWaitingForSignal","flushJobsAsync","race","allSettled","Array","from"],"sources":["../../src/scheduler.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"stc.d.ts","sourceRoot":"","sources":["../../src/stc.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,IAC/C,CAAC,SAAS;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAC1B,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAClD,CAAC,CAAC;AAEN,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,IAAI,CACvC,GAAG,IAAI,EAAE,OAAO,SAAS,CAAC,GAAG,EAAE,GAC7B,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,GAClE,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAC/B,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE5B,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG;IACzD,IAAI,CACF,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,aAAa,EAAE,QAAQ,EAAE,GAC3B,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CACF,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,aAAa,EAAE,QAAQ,EAAE,GAC3B,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACvB,QAAQ,CAAC,GAAG,QAAQ,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;CACxD,CAAC;AAEF,wBAAgB,GAAG,CAAC,CAAC,SAAS,EAAE,EAC9B,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAChC,YAAY,CAAC,CAAC,CAAC,CAyCjB"}
1
+ {"version":3,"file":"stc.d.ts","sourceRoot":"","sources":["../../src/stc.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,IAC/C,CAAC,SAAS;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAC1B,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAClD,CAAC,CAAC;AAEN,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,EAAE,IAAI,CACvC,GAAG,IAAI,EAAE,OAAO,SAAS,CAAC,GAAG,EAAE,GAC7B,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,GAClE,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAC/B,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE5B,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG;IACzD,IAAI,CACF,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,aAAa,EAAE,QAAQ,EAAE,GAC3B,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CACF,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,aAAa,EAAE,QAAQ,EAAE,GAC3B,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACvB,QAAQ,CAAC,GAAG,QAAQ,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;CACxD,CAAC;AAEF,wBAAgB,GAAG,CAAC,CAAC,SAAS,EAAE,EAC9B,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAChC,YAAY,CAAC,CAAC,CAAC,CAyCjB"}
package/dist/src/stc.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { code, text } from "./code.js";
2
+ import { _registerStcImpl } from "./context.js";
2
3
  export function stc(Component) {
3
4
  return (...args) => {
4
5
  const fn = () => Component(args[0]);
@@ -37,4 +38,5 @@ export function stc(Component) {
37
38
  return fn;
38
39
  };
39
40
  }
41
+ _registerStcImpl(stc);
40
42
  //# sourceMappingURL=stc.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["code","text","stc","Component","args","fn","component","props","template","substitutions","propsWithChildren","children"],"sources":["../../src/stc.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAI,EAAEC,IAAI,QAAQ,WAAW;AA8BtC,OAAO,SAASC,GAAGA,CACjBC,SAAiC,EAChB;EACjB,OAAO,CAAC,GAAGC,IAAI,KAAK;IAClB,MAAMC,EAA0B,GAAIA,CAAA,KAAMF,SAAS,CAACC,IAAI,CAAC,CAAC,CAAM,CAAS;IACzEC,EAAE,CAACC,SAAS,GAAGH,SAAS;IACxBE,EAAE,CAACE,KAAK,GAAGH,IAAI,CAAC,CAAC,CAAO;IACxBC,EAAE,CAACL,IAAI,GAAG,CAACQ,QAAQ,EAAE,GAAGC,aAAa,KAA0B;MAC7D,MAAMC,iBAAiB,GAAG;QACxB,IAAIN,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClBO,QAAQ,EAAEX,IAAI,CAACQ,QAAQ,EAAE,GAAGC,aAAa;MAC3C,CAAC;MAED,MAAMJ,EAAE,GAAGA,CAAA,KAAMF,SAAS,CAACO,iBAAwB,CAAC;MACpDL,EAAE,CAACC,SAAS,GAAGH,SAAS;MACxBE,EAAE,CAACE,KAAK,GAAGH,IAAI,CAAC,CAAC,CAAO;MACxB,OAAOC,EAAE;IACX,CAAC;IACDA,EAAE,CAACJ,IAAI,GAAG,CAACO,QAAQ,EAAE,GAAGC,aAAa,KAAK;MACxC,MAAMC,iBAAiB,GAAG;QACxB,IAAIN,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClBO,QAAQ,EAAEV,IAAI,CAACO,QAAQ,EAAE,GAAGC,aAAa;MAC3C,CAAC;MAED,MAAMJ,EAAE,GAAGA,CAAA,KAAMF,SAAS,CAACO,iBAAwB,CAAC;MACpDL,EAAE,CAACC,SAAS,GAAGH,SAAS;MACxBE,EAAE,CAACE,KAAK,GAAGH,IAAI,CAAC,CAAC,CAAO;MACxB,OAAOC,EAAE;IACX,CAAC;IACDA,EAAE,CAACM,QAAQ,GAAG,CAAC,GAAGA,QAAoB,KAA0B;MAC9D,MAAMD,iBAAiB,GAAG;QACxB,IAAIN,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClBO;MACF,CAAC;MAED,MAAMN,EAAE,GAAGA,CAAA,KAAMF,SAAS,CAACO,iBAAwB,CAAC;MACpDL,EAAE,CAACC,SAAS,GAAGH,SAAS;MACxBE,EAAE,CAACE,KAAK,GAAGH,IAAI,CAAC,CAAC,CAAO;MACxB,OAAOC,EAAE;IACX,CAAC;IAED,OAAOA,EAAE;EACX,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["code","text","_registerStcImpl","stc","Component","args","fn","component","props","template","substitutions","propsWithChildren","children"],"sources":["../../src/stc.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAI,EAAEC,IAAI,QAAQ,WAAW;AACtC,SAASC,gBAAgB,QAAQ,cAAc;AA8B/C,OAAO,SAASC,GAAGA,CACjBC,SAAiC,EAChB;EACjB,OAAO,CAAC,GAAGC,IAAI,KAAK;IAClB,MAAMC,EAA0B,GAAIA,CAAA,KAAMF,SAAS,CAACC,IAAI,CAAC,CAAC,CAAM,CAAS;IACzEC,EAAE,CAACC,SAAS,GAAGH,SAAS;IACxBE,EAAE,CAACE,KAAK,GAAGH,IAAI,CAAC,CAAC,CAAO;IACxBC,EAAE,CAACN,IAAI,GAAG,CAACS,QAAQ,EAAE,GAAGC,aAAa,KAA0B;MAC7D,MAAMC,iBAAiB,GAAG;QACxB,IAAIN,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClBO,QAAQ,EAAEZ,IAAI,CAACS,QAAQ,EAAE,GAAGC,aAAa;MAC3C,CAAC;MAED,MAAMJ,EAAE,GAAGA,CAAA,KAAMF,SAAS,CAACO,iBAAwB,CAAC;MACpDL,EAAE,CAACC,SAAS,GAAGH,SAAS;MACxBE,EAAE,CAACE,KAAK,GAAGH,IAAI,CAAC,CAAC,CAAO;MACxB,OAAOC,EAAE;IACX,CAAC;IACDA,EAAE,CAACL,IAAI,GAAG,CAACQ,QAAQ,EAAE,GAAGC,aAAa,KAAK;MACxC,MAAMC,iBAAiB,GAAG;QACxB,IAAIN,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClBO,QAAQ,EAAEX,IAAI,CAACQ,QAAQ,EAAE,GAAGC,aAAa;MAC3C,CAAC;MAED,MAAMJ,EAAE,GAAGA,CAAA,KAAMF,SAAS,CAACO,iBAAwB,CAAC;MACpDL,EAAE,CAACC,SAAS,GAAGH,SAAS;MACxBE,EAAE,CAACE,KAAK,GAAGH,IAAI,CAAC,CAAC,CAAO;MACxB,OAAOC,EAAE;IACX,CAAC;IACDA,EAAE,CAACM,QAAQ,GAAG,CAAC,GAAGA,QAAoB,KAA0B;MAC9D,MAAMD,iBAAiB,GAAG;QACxB,IAAIN,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClBO;MACF,CAAC;MAED,MAAMN,EAAE,GAAGA,CAAA,KAAMF,SAAS,CAACO,iBAAwB,CAAC;MACpDL,EAAE,CAACC,SAAS,GAAGH,SAAS;MACxBE,EAAE,CAACE,KAAK,GAAGH,IAAI,CAAC,CAAC,CAAO;MACxB,OAAOC,EAAE;IACX,CAAC;IAED,OAAOA,EAAE;EACX,CAAC;AACH;AAEAJ,gBAAgB,CAACC,GAAG,CAAC","ignoreList":[]}
package/dist/src/sti.d.ts CHANGED
@@ -1,12 +1,13 @@
1
+ import type { ElementNode } from "./render/node.js";
1
2
  import { Children } from "./runtime/component.js";
2
- import { IntrinsicElementBase, IntrinsicElements } from "./runtime/intrinsic.js";
3
+ import { IntrinsicElements } from "./runtime/intrinsic.js";
3
4
  export type StiSignature<T extends keyof IntrinsicElements> = (...args: unknown extends T ? [] : {} extends Omit<IntrinsicElements[T], "children"> ? [
4
5
  props?: IntrinsicElements[T]
5
- ] : [props: IntrinsicElements[T]]) => StiComponentCreator<T>;
6
- export type StiComponentCreator<T extends keyof IntrinsicElements> = (() => IntrinsicElementBase<T>) & {
7
- code(template: TemplateStringsArray, ...substitutions: Children[]): () => IntrinsicElementBase<T>;
8
- text(template: TemplateStringsArray, ...substitutions: Children[]): () => IntrinsicElementBase<T>;
9
- children(...children: Children[]): () => IntrinsicElementBase<T>;
6
+ ] : [props: IntrinsicElements[T]]) => StiComponentCreator;
7
+ export type StiComponentCreator = (() => ElementNode) & {
8
+ code(template: TemplateStringsArray, ...substitutions: Children[]): () => ElementNode;
9
+ text(template: TemplateStringsArray, ...substitutions: Children[]): () => ElementNode;
10
+ children(...children: Children[]): () => ElementNode;
10
11
  };
11
12
  export declare function sti<T extends keyof IntrinsicElements>(name: T): StiSignature<T>;
12
13
  //# sourceMappingURL=sti.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sti.d.ts","sourceRoot":"","sources":["../../src/sti.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAEL,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,iBAAiB,IAAI,CAC5D,GAAG,IAAI,EAAE,OAAO,SAAS,CAAC,GAAG,EAAE,GAC7B,EAAE,SAAS,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GACjD;IAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;CAAC,GAC9B,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAC5B,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE5B,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,iBAAiB,IAC/D,CAAC,MAAM,oBAAoB,CAAC,CAAC,CAAC,CAAC,GAAG;IAChC,IAAI,CACF,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,aAAa,EAAE,QAAQ,EAAE,GAC3B,MAAM,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CACF,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,aAAa,EAAE,QAAQ,EAAE,GAC3B,MAAM,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACjC,QAAQ,CAAC,GAAG,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAClE,CAAC;AAEJ,wBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,iBAAiB,EACnD,IAAI,EAAE,CAAC,GACN,YAAY,CAAC,CAAC,CAAC,CAgCjB"}
1
+ {"version":3,"file":"sti.d.ts","sourceRoot":"","sources":["../../src/sti.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,iBAAiB,IAAI,CAC5D,GAAG,IAAI,EAAE,OAAO,SAAS,CAAC,GAAG,EAAE,GAC7B,EAAE,SAAS,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GACjD;IAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;CAAC,GAC9B,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAC5B,mBAAmB,CAAC;AAEzB,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,WAAW,CAAC,GAAG;IACtD,IAAI,CACF,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,aAAa,EAAE,QAAQ,EAAE,GAC3B,MAAM,WAAW,CAAC;IACrB,IAAI,CACF,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,aAAa,EAAE,QAAQ,EAAE,GAC3B,MAAM,WAAW,CAAC;IACrB,QAAQ,CAAC,GAAG,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC;CACtD,CAAC;AAEF,wBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,iBAAiB,EACnD,IAAI,EAAE,CAAC,GACN,YAAY,CAAC,CAAC,CAAC,CAgCjB"}
package/dist/src/sti.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { code, text } from "./code.js";
2
- import { createIntrinsic } from "./runtime/intrinsic.js";
2
+ import { createIntrinsic } from "./runtime/create-intrinsic.js";
3
3
  export function sti(name) {
4
4
  return (...args) => {
5
5
  const props = args[0];
@@ -1 +1 @@
1
- {"version":3,"names":["code","text","createIntrinsic","sti","name","args","props","fn","children","propsWithChildren","template","substitutions"],"sources":["../../src/sti.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAI,EAAEC,IAAI,QAAQ,WAAW;AAEtC,SACEC,eAAe,QAGV,wBAAwB;AAsB/B,OAAO,SAASC,GAAGA,CACjBC,IAAO,EACU;EACjB,OAAO,CAAC,GAAGC,IAAI,KAAK;IAClB,MAAMC,KAAuC,GAAGD,IAAI,CAAC,CAAC,CAAC;IACvD,MAAME,EAA0B,GAAGA,CAAA,KAAML,eAAe,CAACE,IAAI,EAAEE,KAAM,CAAC;IACtEC,EAAE,CAACC,QAAQ,GAAG,CAAC,GAAGA,QAAoB,KAAK;MACzC,MAAMC,iBAAiB,GAAG;QACxB,IAAIH,KAAK,IAAI,CAAC,CAAC,CAAC;QAChBE;MACF,CAAC;MAED,OAAO,MAAMN,eAAe,CAACE,IAAI,EAAEK,iBAAwB,CAAC;IAC9D,CAAC;IAEDF,EAAE,CAACP,IAAI,GAAG,CAACU,QAAQ,EAAE,GAAGC,aAAa,KAAK;MACxC,MAAMF,iBAAiB,GAAG;QACxB,IAAIJ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClBG,QAAQ,EAAER,IAAI,CAACU,QAAQ,EAAE,GAAGC,aAAa;MAC3C,CAAC;MAED,OAAO,MAAMT,eAAe,CAACE,IAAI,EAAEK,iBAAwB,CAAC;IAC9D,CAAC;IAEDF,EAAE,CAACN,IAAI,GAAG,CAACS,QAAQ,EAAE,GAAGC,aAAa,KAAK;MACxC,MAAMF,iBAAiB,GAAG;QACxB,IAAIJ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClBG,QAAQ,EAAEP,IAAI,CAACS,QAAQ,EAAE,GAAGC,aAAa;MAC3C,CAAC;MAED,OAAO,MAAMT,eAAe,CAACE,IAAI,EAAEK,iBAAwB,CAAC;IAC9D,CAAC;IACD,OAAOF,EAAE;EACX,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["code","text","createIntrinsic","sti","name","args","props","fn","children","propsWithChildren","template","substitutions"],"sources":["../../src/sti.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAI,EAAEC,IAAI,QAAQ,WAAW;AAGtC,SAASC,eAAe,QAAQ,+BAA+B;AAsB/D,OAAO,SAASC,GAAGA,CACjBC,IAAO,EACU;EACjB,OAAO,CAAC,GAAGC,IAAI,KAAK;IAClB,MAAMC,KAAuC,GAAGD,IAAI,CAAC,CAAC,CAAC;IACvD,MAAME,EAAuB,GAAGA,CAAA,KAAML,eAAe,CAACE,IAAI,EAAEE,KAAK,CAAC;IAClEC,EAAE,CAACC,QAAQ,GAAG,CAAC,GAAGA,QAAoB,KAAK;MACzC,MAAMC,iBAAiB,GAAG;QACxB,IAAIH,KAAK,IAAI,CAAC,CAAC,CAAC;QAChBE;MACF,CAAC;MAED,OAAO,MAAMN,eAAe,CAACE,IAAI,EAAEK,iBAAwB,CAAC;IAC9D,CAAC;IAEDF,EAAE,CAACP,IAAI,GAAG,CAACU,QAAQ,EAAE,GAAGC,aAAa,KAAK;MACxC,MAAMF,iBAAiB,GAAG;QACxB,IAAIJ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClBG,QAAQ,EAAER,IAAI,CAACU,QAAQ,EAAE,GAAGC,aAAa;MAC3C,CAAC;MAED,OAAO,MAAMT,eAAe,CAACE,IAAI,EAAEK,iBAAwB,CAAC;IAC9D,CAAC;IAEDF,EAAE,CAACN,IAAI,GAAG,CAACS,QAAQ,EAAE,GAAGC,aAAa,KAAK;MACxC,MAAMF,iBAAiB,GAAG;QACxB,IAAIJ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClBG,QAAQ,EAAEP,IAAI,CAACS,QAAQ,EAAE,GAAGC,aAAa;MAC3C,CAAC;MAED,OAAO,MAAMT,eAAe,CAACE,IAAI,EAAEK,iBAAwB,CAAC;IAC9D,CAAC;IACD,OAAOF,EAAE;EACX,CAAC;AACH","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
2
  import { shallowRef } from "@vue/reactivity";
3
3
  import { expect, it } from "vitest";
4
- import { getDiagnosticsForTree, renderTree } from "../render.js";
5
4
  import { flushJobs } from "../scheduler.js";
5
+ import { getDiagnosticsForTree, renderTree } from "../test-render.js";
6
6
  import { BasicSymbol } from "./basic-symbol.js";
7
7
  import { emitSymbol } from "./symbol-flow.js";
8
8
  import { createSymbolSlot } from "./symbol-slot.js";
@@ -1 +1 @@
1
- {"version":3,"names":["shallowRef","expect","it","getDiagnosticsForTree","renderTree","flushJobs","BasicSymbol","emitSymbol","createSymbolSlot","Slot","_$createComponent","children","undefined","firstSymbol","value","toBeDefined","name","toBe","tree","diagnostics","length","severity","message","toContain","symref","toBeUndefined"],"sources":["../../../src/symbols/symbol-slot.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,UAAU,QAAQ,iBAAiB;AAC5C,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,qBAAqB,EAAEC,UAAU,QAAQ,cAAc;AAChE,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,gBAAgB;AAEzBN,EAAE,CAAC,sBAAsB,EAAE,YAAY;EACrC,MAAMO,IAAI,GAAGD,gBAAgB,CAAC,CAAC;EAE/BJ,UAAU,CAAAM,iBAAA,CACPD,IAAI;IAAAE,QAAA,EACFA,CAAA,KAAM;MACLJ,UAAU,CAAC,IAAID,WAAW,CAAC,GAAG,EAAEM,SAAS,CAAC,CAAC;IAC7C;EAAC,EAEL,CAAC;EACD,MAAMP,SAAS,CAAC,CAAC;EACjBJ,MAAM,CAACQ,IAAI,CAACI,WAAW,CAACC,KAAK,CAAC,CAACC,WAAW,CAAC,CAAC;EAC5Cd,MAAM,CAACQ,IAAI,CAACI,WAAW,CAACC,KAAK,CAAEE,IAAI,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AAChD,CAAC,CAAC;AAEFf,EAAE,CAAC,qDAAqD,EAAE,YAAY;EACpE,MAAMO,IAAI,GAAGD,gBAAgB,CAAC,CAAC;EAE/B,MAAMU,IAAI,GAAGd,UAAU,EAAAM,iBAAA,CAElBD,IAAI;IAAAE,QAAA,EACFA,CAAA,KAAM;MACLJ,UAAU,CAAC,IAAID,WAAW,CAAC,GAAG,EAAEM,SAAS,CAAC,CAAC;IAC7C;EAAC,IAAAF,iBAAA,CAEFD,IAAI;IAAAE,QAAA,EACFA,CAAA,KAAM;MACLJ,UAAU,CAAC,IAAID,WAAW,CAAC,GAAG,EAAEM,SAAS,CAAC,CAAC;IAC7C;EAAC,GAGP,CAAC;EACD,MAAMP,SAAS,CAAC,CAAC;EAEjB,MAAMc,WAAW,GAAGhB,qBAAqB,CAACe,IAAI,CAAC;EAC/CjB,MAAM,CAACkB,WAAW,CAACC,MAAM,CAAC,CAACH,IAAI,CAAC,CAAC,CAAC;EAClChB,MAAM,CAACkB,WAAW,CAAC,CAAC,CAAC,CAACE,QAAQ,CAAC,CAACJ,IAAI,CAAC,OAAO,CAAC;EAC7ChB,MAAM,CAACkB,WAAW,CAAC,CAAC,CAAC,CAACG,OAAO,CAAC,CAACC,SAAS,CACtC,oCACF,CAAC;AACH,CAAC,CAAC;AAEFrB,EAAE,CAAC,sDAAsD,EAAE,YAAY;EACrE,MAAMO,IAAI,GAAGD,gBAAgB,CAAC,CAAC;EAC/B,MAAMgB,MAAM,GAAGxB,UAAU,CAA0B,CAAC;EAEpDI,UAAU,CAAAM,iBAAA,CACPD,IAAI;IAAAE,QAAA,EACFA,CAAA,KAAM;MACLJ,UAAU,CAACiB,MAAM,CAAC;IACpB;EAAC,EAEL,CAAC;EACD,MAAMnB,SAAS,CAAC,CAAC;EACjBJ,MAAM,CAACQ,IAAI,CAACI,WAAW,CAACC,KAAK,CAAC,CAACW,aAAa,CAAC,CAAC;EAC9CD,MAAM,CAACV,KAAK,GAAG,IAAIR,WAAW,CAAC,GAAG,EAAEM,SAAS,CAAC;EAC9C,MAAMP,SAAS,CAAC,CAAC;EACjBJ,MAAM,CAACQ,IAAI,CAACI,WAAW,CAACC,KAAK,CAAC,CAACC,WAAW,CAAC,CAAC;EAC5Cd,MAAM,CAACQ,IAAI,CAACI,WAAW,CAACC,KAAK,CAAEE,IAAI,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AAChD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["shallowRef","expect","it","flushJobs","getDiagnosticsForTree","renderTree","BasicSymbol","emitSymbol","createSymbolSlot","Slot","_$createComponent","children","undefined","firstSymbol","value","toBeDefined","name","toBe","tree","diagnostics","length","severity","message","toContain","symref","toBeUndefined"],"sources":["../../../src/symbols/symbol-slot.test.tsx"],"sourcesContent":[null],"mappings":";AAAA,SAASA,UAAU,QAAQ,iBAAiB;AAC5C,SAASC,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,qBAAqB,EAAEC,UAAU,QAAQ,mBAAmB;AACrE,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,gBAAgB;AAEzBN,EAAE,CAAC,sBAAsB,EAAE,YAAY;EACrC,MAAMO,IAAI,GAAGD,gBAAgB,CAAC,CAAC;EAE/BH,UAAU,CAAAK,iBAAA,CACPD,IAAI;IAAAE,QAAA,EACFA,CAAA,KAAM;MACLJ,UAAU,CAAC,IAAID,WAAW,CAAC,GAAG,EAAEM,SAAS,CAAC,CAAC;IAC7C;EAAC,EAEL,CAAC;EACD,MAAMT,SAAS,CAAC,CAAC;EACjBF,MAAM,CAACQ,IAAI,CAACI,WAAW,CAACC,KAAK,CAAC,CAACC,WAAW,CAAC,CAAC;EAC5Cd,MAAM,CAACQ,IAAI,CAACI,WAAW,CAACC,KAAK,CAAEE,IAAI,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AAChD,CAAC,CAAC;AAEFf,EAAE,CAAC,qDAAqD,EAAE,YAAY;EACpE,MAAMO,IAAI,GAAGD,gBAAgB,CAAC,CAAC;EAE/B,MAAMU,IAAI,GAAGb,UAAU,EAAAK,iBAAA,CAElBD,IAAI;IAAAE,QAAA,EACFA,CAAA,KAAM;MACLJ,UAAU,CAAC,IAAID,WAAW,CAAC,GAAG,EAAEM,SAAS,CAAC,CAAC;IAC7C;EAAC,IAAAF,iBAAA,CAEFD,IAAI;IAAAE,QAAA,EACFA,CAAA,KAAM;MACLJ,UAAU,CAAC,IAAID,WAAW,CAAC,GAAG,EAAEM,SAAS,CAAC,CAAC;IAC7C;EAAC,GAGP,CAAC;EACD,MAAMT,SAAS,CAAC,CAAC;EAEjB,MAAMgB,WAAW,GAAGf,qBAAqB,CAACc,IAAI,CAAC;EAC/CjB,MAAM,CAACkB,WAAW,CAACC,MAAM,CAAC,CAACH,IAAI,CAAC,CAAC,CAAC;EAClChB,MAAM,CAACkB,WAAW,CAAC,CAAC,CAAC,CAACE,QAAQ,CAAC,CAACJ,IAAI,CAAC,OAAO,CAAC;EAC7ChB,MAAM,CAACkB,WAAW,CAAC,CAAC,CAAC,CAACG,OAAO,CAAC,CAACC,SAAS,CACtC,oCACF,CAAC;AACH,CAAC,CAAC;AAEFrB,EAAE,CAAC,sDAAsD,EAAE,YAAY;EACrE,MAAMO,IAAI,GAAGD,gBAAgB,CAAC,CAAC;EAC/B,MAAMgB,MAAM,GAAGxB,UAAU,CAA0B,CAAC;EAEpDK,UAAU,CAAAK,iBAAA,CACPD,IAAI;IAAAE,QAAA,EACFA,CAAA,KAAM;MACLJ,UAAU,CAACiB,MAAM,CAAC;IACpB;EAAC,EAEL,CAAC;EACD,MAAMrB,SAAS,CAAC,CAAC;EACjBF,MAAM,CAACQ,IAAI,CAACI,WAAW,CAACC,KAAK,CAAC,CAACW,aAAa,CAAC,CAAC;EAC9CD,MAAM,CAACV,KAAK,GAAG,IAAIR,WAAW,CAAC,GAAG,EAAEM,SAAS,CAAC;EAC9C,MAAMT,SAAS,CAAC,CAAC;EACjBF,MAAM,CAACQ,IAAI,CAACI,WAAW,CAACC,KAAK,CAAC,CAACC,WAAW,CAAC,CAAC;EAC5Cd,MAAM,CAACQ,IAAI,CAACI,WAAW,CAACC,KAAK,CAAEE,IAAI,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AAChD,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Direct AlloyNode-tree rendering helpers.
3
+ *
4
+ * `renderTree` produces an `ElementNode` root for assertions that need
5
+ * to inspect tree shape directly (used by component-level tests that
6
+ * don't go through `<SourceFile>`); `printTree` formats the tree with
7
+ * Alloy's direct printer. These are the lower-level entry points behind
8
+ * `render`/`renderAsync` and the testing matchers.
9
+ */
10
+ import { type Diagnostic } from "./diagnostics.js";
11
+ import type { PrintTreeOptions } from "./output-types.js";
12
+ import { AlloyNode, ElementNode } from "./render/node.js";
13
+ import type { Children } from "./runtime/component.js";
14
+ export interface RenderTreeOptions {
15
+ noFlush?: boolean;
16
+ }
17
+ /** Render `children` into a fresh root AlloyNode. */
18
+ export declare function renderTree(children: Children, opts?: RenderTreeOptions): ElementNode;
19
+ /** Print an AlloyNode tree to a string. */
20
+ export declare function printTree(node: AlloyNode, opts?: PrintTreeOptions & RenderTreeOptions): string;
21
+ /** Diagnostics collected during the render of `rootNode`. */
22
+ export declare function getDiagnosticsForTree(rootNode: AlloyNode): Diagnostic[];
23
+ /**
24
+ * Collect source files from an AlloyNode tree as a `path → contents`
25
+ * map. If no `<SourceFile>` markers are found, returns the printed
26
+ * string of the whole tree. Used by the `toRenderTo` matcher; unlike
27
+ * `sourceFilesForTree`, this does NOT default `insertFinalNewLine`,
28
+ * preserving the raw printed body for test assertions.
29
+ */
30
+ export declare function getFilesFromTree(rootNode: AlloyNode, opts?: PrintTreeOptions & RenderTreeOptions): string | Record<string, string>;
31
+ //# sourceMappingURL=test-render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-render.d.ts","sourceRoot":"","sources":["../../src/test-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,OAAO,EAAE,SAAS,EAAiB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIvD,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qDAAqD;AACrD,wBAAgB,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,IAAI,CAAC,EAAE,iBAAiB,GACvB,WAAW,CAYb;AAED,2CAA2C;AAC3C,wBAAgB,SAAS,CACvB,IAAI,EAAE,SAAS,EACf,IAAI,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,GAC1C,MAAM,CAGR;AAED,6DAA6D;AAC7D,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,SAAS,GAAG,UAAU,EAAE,CAEvE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,EACnB,IAAI,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,GAC1C,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA8BjC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Direct AlloyNode-tree rendering helpers.
3
+ *
4
+ * `renderTree` produces an `ElementNode` root for assertions that need
5
+ * to inspect tree shape directly (used by component-level tests that
6
+ * don't go through `<SourceFile>`); `printTree` formats the tree with
7
+ * Alloy's direct printer. These are the lower-level entry points behind
8
+ * `render`/`renderAsync` and the testing matchers.
9
+ */
10
+
11
+ import { attachDiagnosticsCollector, DiagnosticsCollector, getRegisteredDiagnosticsForTree, registerDiagnosticsForTree } from "./diagnostics.js";
12
+ import { root, runInContext } from "./reactivity.js";
13
+ import { printNode } from "./render-output.js";
14
+ import { getContextForNode } from "./render/node-context.js";
15
+ import { createElement, ElementNode } from "./render/node.js";
16
+ import { insert } from "./runtime/insert.js";
17
+ import { flushJobs } from "./scheduler.js";
18
+ /** Render `children` into a fresh root AlloyNode. */
19
+ export function renderTree(children, opts) {
20
+ const rootNode = createElement("alloy:root");
21
+ const collector = new DiagnosticsCollector();
22
+ root(() => {
23
+ runInContext(() => {
24
+ attachDiagnosticsCollector(collector);
25
+ insert(rootNode, children);
26
+ });
27
+ });
28
+ if (!opts?.noFlush) flushJobs();
29
+ registerDiagnosticsForTree(rootNode, collector);
30
+ return rootNode;
31
+ }
32
+
33
+ /** Print an AlloyNode tree to a string. */
34
+ export function printTree(node, opts) {
35
+ if (!opts?.noFlush) flushJobs();
36
+ return printNode(node, opts);
37
+ }
38
+
39
+ /** Diagnostics collected during the render of `rootNode`. */
40
+ export function getDiagnosticsForTree(rootNode) {
41
+ return getRegisteredDiagnosticsForTree(rootNode);
42
+ }
43
+
44
+ /**
45
+ * Collect source files from an AlloyNode tree as a `path → contents`
46
+ * map. If no `<SourceFile>` markers are found, returns the printed
47
+ * string of the whole tree. Used by the `toRenderTo` matcher; unlike
48
+ * `sourceFilesForTree`, this does NOT default `insertFinalNewLine`,
49
+ * preserving the raw printed body for test assertions.
50
+ */
51
+ export function getFilesFromTree(rootNode, opts) {
52
+ const files = {};
53
+ visit(rootNode);
54
+ if (Object.keys(files).length === 0) {
55
+ return printTree(rootNode, opts);
56
+ }
57
+ return files;
58
+ function visit(node) {
59
+ if (node instanceof ElementNode && node.localName === "alloy:source-file") {
60
+ const ctx = getContextForNode(node);
61
+ const sf = ctx?.meta?.sourceFile;
62
+ if (sf) {
63
+ const printOpts = ctx.meta.printOptions;
64
+ files[sf.path] = printTree(node, {
65
+ printWidth: opts?.printWidth ?? printOpts?.printWidth,
66
+ tabWidth: opts?.tabWidth ?? printOpts?.tabWidth,
67
+ useTabs: opts?.useTabs ?? printOpts?.useTabs,
68
+ insertFinalNewLine: opts?.insertFinalNewLine ?? printOpts?.insertFinalNewLine,
69
+ noFlush: true
70
+ });
71
+ }
72
+ }
73
+ for (let c = node.firstChild; c !== null; c = c.nextSibling) {
74
+ visit(c);
75
+ }
76
+ }
77
+ }
78
+ //# sourceMappingURL=test-render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["attachDiagnosticsCollector","DiagnosticsCollector","getRegisteredDiagnosticsForTree","registerDiagnosticsForTree","root","runInContext","printNode","getContextForNode","createElement","ElementNode","insert","flushJobs","renderTree","children","opts","rootNode","collector","noFlush","printTree","node","getDiagnosticsForTree","getFilesFromTree","files","visit","Object","keys","length","localName","ctx","sf","meta","sourceFile","printOpts","printOptions","path","printWidth","tabWidth","useTabs","insertFinalNewLine","c","firstChild","nextSibling"],"sources":["../../src/test-render.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { BaseListProps } from "./components/List.jsx";
2
+ import { OutputDirectory, OutputFile } from "./output-types.js";
2
3
  import { CustomContext } from "./reactivity.js";
3
- import { OutputDirectory, OutputFile } from "./render.js";
4
4
  import { Children, ComponentCreator } from "./runtime/component.js";
5
5
  export interface JoinOptions {
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAEL,aAAa,EASd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,QAAQ,EACR,gBAAgB,EAEjB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,EAC1C,OAAO,CAAC,EAAE,WAAW,GACpB,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC,EAAE,CAAC;AACpD;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAC1B,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,EACjB,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,EAClC,OAAO,CAAC,EAAE,WAAW,GACpB,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC,EAAE,CAAC;AACpD;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAC1B,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,EACpC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,EAClC,OAAO,CAAC,EAAE,WAAW,GACpB,MAAM,CAAC,CAAC,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC,EAAE,CAAC;AAiWpD;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,QAAQ,EACrC,GAAG,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EACtB,OAAO,GAAE,WAAgB,GACxB,QAAQ,CAmBV;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AACD;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,EAAE,EAAE,MAAM,QAAQ,EAClB,OAAO,GAAE,eAAoB,GAC5B,MAAM,QAAQ,CAsChB;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,QAAQ,EAClB,OAAO,CAAC,EAAE,eAAe,GACxB,QAAQ,EAAE,CASZ;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,mEAQ/D;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,8DAQlE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAEvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,IAAI,gBAAgB,CAEvE;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IACjD,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,aAAa,iBAUvB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,WAAW,CAuC5E"}
package/dist/src/utils.js CHANGED
@@ -1,8 +1,7 @@
1
1
  import { memo as _$memo, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
2
  import { toRaw } from "@vue/reactivity";
3
- import { createCustomContext, effect, ensureIsEmpty, getContext, memo, onCleanup, ref, root, untrack } from "./reactivity.js";
4
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
-
3
+ import { createCustomContext, getContext, memo, onCleanup, ref, root, setContextEmptyChangeListener, untrack } from "./reactivity.js";
4
+ import { AlloyNode, FRAGMENT_NODE } from "./render/node.js";
6
5
  import { isComponentCreator } from "./runtime/component.js";
7
6
  const defaultJoinOptions = {
8
7
  joiner: "\n",
@@ -69,7 +68,7 @@ export function mapJoin(src, cb, rawOptions = {}) {
69
68
  let slot = itemSlots[index];
70
69
  if (!slot) {
71
70
  slot = {
72
- isEmpty: ref(true)
71
+ empty: true
73
72
  };
74
73
  itemSlots[index] = slot;
75
74
  }
@@ -119,7 +118,7 @@ export function mapJoin(src, cb, rawOptions = {}) {
119
118
  }
120
119
  const previousNonEmpty = findPrevNonEmpty(index - 1);
121
120
  const rightSlot = itemSlots[index];
122
- const shouldShow = previousNonEmpty !== -1 && rightSlot !== undefined && rightSlot.isEmpty.value === false;
121
+ const shouldShow = previousNonEmpty !== -1 && rightSlot !== undefined && rightSlot.empty === false;
123
122
  const newValue = shouldShow ? options.joiner : undefined;
124
123
  if (joinerRef.value !== newValue) {
125
124
  joinerRef.value = newValue;
@@ -130,7 +129,7 @@ export function mapJoin(src, cb, rawOptions = {}) {
130
129
  function findNextNonEmpty(from) {
131
130
  for (let i = Math.max(from, 0); i < itemSlots.length; i++) {
132
131
  const slot = itemSlots[i];
133
- if (slot && slot.isEmpty.value === false) {
132
+ if (slot && slot.empty === false) {
134
133
  return i;
135
134
  }
136
135
  }
@@ -141,7 +140,7 @@ export function mapJoin(src, cb, rawOptions = {}) {
141
140
  function findPrevNonEmpty(from) {
142
141
  for (let i = Math.min(from, itemSlots.length - 1); i >= 0; i--) {
143
142
  const slot = itemSlots[i];
144
- if (slot && slot.isEmpty.value === false) {
143
+ if (slot && slot.empty === false) {
145
144
  return i;
146
145
  }
147
146
  }
@@ -227,13 +226,12 @@ export function mapJoin(src, cb, rawOptions = {}) {
227
226
  for (; startIndex < itemsLen; startIndex++) {
228
227
  const slot = getOrCreateSlot(startIndex);
229
228
  slot.item = items[startIndex];
230
- const emptyFlag = slot.isEmpty;
231
229
  if (slot.disposer) {
232
- if (emptyFlag.value === false) {
230
+ if (slot.empty === false) {
233
231
  if (context) {
234
232
  context.childrenWithContent--;
235
233
  }
236
- emptyFlag.value = true;
234
+ slot.empty = true;
237
235
  applyEmptyStateChange(startIndex, true, false);
238
236
  }
239
237
  slot.disposer();
@@ -242,24 +240,22 @@ export function mapJoin(src, cb, rawOptions = {}) {
242
240
  mapped[startIndex * 2] = createCustomContext(cb => {
243
241
  return root(disposer => {
244
242
  const nestedContext = getContext();
245
- const isEmptyFlag = ensureIsEmpty(nestedContext);
246
243
  slot.disposer = disposer;
247
244
  disposer();
248
- effect(prev => {
249
- const isEmpty = isEmptyFlag.value;
250
- return untrack(() => {
251
- if (slot.isEmpty.value !== isEmpty) {
252
- slot.isEmpty.value = isEmpty;
253
- }
254
- const wasEmpty = prev ?? true;
255
- applyEmptyStateChange(cleanupIndex, isEmpty, wasEmpty);
256
- return isEmpty;
257
- });
258
- }, undefined, {
259
- debug: {
260
- name: `list:slotEmpty:${cleanupIndex}`,
261
- type: "list"
262
- }
245
+
246
+ // Single-subscriber callback: fires synchronously on every
247
+ // empty↔non-empty transition of this slot's nested context.
248
+ // No Ref/effect allocation per slot; cleared via
249
+ // `onCleanup` so a recycled slot's old context can never
250
+ // mutate the new slot's bookkeeping.
251
+ setContextEmptyChangeListener(nestedContext, isEmpty => {
252
+ const wasEmpty = slot.empty;
253
+ if (wasEmpty === isEmpty) return;
254
+ slot.empty = isEmpty;
255
+ applyEmptyStateChange(cleanupIndex, isEmpty, wasEmpty);
256
+ });
257
+ onCleanup(() => {
258
+ setContextEmptyChangeListener(nestedContext, undefined);
263
259
  });
264
260
  cb(mapper(items[cleanupIndex], cleanupIndex));
265
261
  });
@@ -281,11 +277,11 @@ export function mapJoin(src, cb, rawOptions = {}) {
281
277
  continue;
282
278
  }
283
279
  slot.disposer?.();
284
- if (slot.isEmpty.value === false) {
280
+ if (slot.empty === false) {
285
281
  if (context) {
286
282
  context.childrenWithContent--;
287
283
  }
288
- slot.isEmpty.value = true;
284
+ slot.empty = true;
289
285
  applyEmptyStateChange(startIndex, true, false);
290
286
  }
291
287
  }
@@ -377,6 +373,22 @@ export function children(fn, options = {}) {
377
373
  return children.map(collectChildren).flat();
378
374
  } else if (typeof children === "function" && !isComponentCreator(children)) {
379
375
  return collectChildren(children());
376
+ } else if (children instanceof AlloyNode) {
377
+ // A FragmentNode is the AlloyNode equivalent of an array — flatten
378
+ // by walking its sibling list. Other node kinds are opaque leaves.
379
+ if (children.nodeType === FRAGMENT_NODE) {
380
+ const out = [];
381
+ for (let n = children.firstChild; n !== null; n = n.nextSibling) {
382
+ const collected = collectChildren(n);
383
+ if (Array.isArray(collected)) {
384
+ out.push(...collected);
385
+ } else {
386
+ out.push(collected);
387
+ }
388
+ }
389
+ return out;
390
+ }
391
+ return children;
380
392
  } else {
381
393
  return children;
382
394
  }
@@ -1 +1 @@
1
- {"version":3,"names":["toRaw","createCustomContext","effect","ensureIsEmpty","getContext","memo","onCleanup","ref","root","untrack","isComponentCreator","defaultJoinOptions","joiner","ender","mapJoin","src","cb","rawOptions","options","undefined","itemSlots","getOrCreateSlot","index","slot","isEmpty","firstNonEmptyIndex","isInfrastructure","lastNonEmptyIndex","mapped","enderMemo","createJoinerRef","ensureJoinerSlot","updateJoinerForIndex","joinerRef","length","value","previousNonEmpty","findPrevNonEmpty","rightSlot","shouldShow","newValue","findNextNonEmpty","from","i","Math","max","min","recalculateNonEmptyBounds","first","refreshJoiners","applyEmptyStateChange","wasEmpty","previousItemsLen","disposer","itemsSource","itemsSourceRaw","items","Array","isArray","skipFalsy","filter","item","context","itemsLen","compare","getCompareFunction","mapper","getMapperFunction","startIndex","emptyFlag","childrenWithContent","cleanupIndex","nestedContext","isEmptyFlag","prev","debug","name","type","isIterable","compareArray","compareMap","Set","mapArray","mapMap","elem1","elem2","record1","record2","x","next","join","mergedOptions","joined","entries","push","children","fn","preserveFragments","map","collectChildren","flat","childrenArray","c","findKeyedChild","tag","child","isKeyedChild","findKeyedChildren","keyedChildren","findUnkeyedChildren","traverseOutput","sourceDirectory","visitor","visitDirectory","contents","kind","visitFile","baseListPropsToMapJoinArgs","props","punctuation","comma","semicolon","_$memo","softline","_$createIntrinsic","hardline","literalline","line","space","doubleHardline","enderPunctuation"],"sources":["../../src/utils.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["toRaw","createCustomContext","getContext","memo","onCleanup","ref","root","setContextEmptyChangeListener","untrack","AlloyNode","FRAGMENT_NODE","isComponentCreator","defaultJoinOptions","joiner","ender","mapJoin","src","cb","rawOptions","options","undefined","itemSlots","getOrCreateSlot","index","slot","empty","firstNonEmptyIndex","isInfrastructure","lastNonEmptyIndex","mapped","enderMemo","createJoinerRef","ensureJoinerSlot","updateJoinerForIndex","joinerRef","length","value","previousNonEmpty","findPrevNonEmpty","rightSlot","shouldShow","newValue","findNextNonEmpty","from","i","Math","max","min","recalculateNonEmptyBounds","first","refreshJoiners","applyEmptyStateChange","isEmpty","wasEmpty","previousItemsLen","disposer","itemsSource","itemsSourceRaw","items","Array","isArray","skipFalsy","filter","item","context","itemsLen","compare","getCompareFunction","mapper","getMapperFunction","startIndex","childrenWithContent","cleanupIndex","nestedContext","isIterable","compareArray","compareMap","Set","mapArray","mapMap","elem1","elem2","record1","record2","x","next","join","mergedOptions","joined","entries","push","children","fn","preserveFragments","map","collectChildren","flat","nodeType","out","n","firstChild","nextSibling","collected","childrenArray","c","findKeyedChild","tag","child","isKeyedChild","findKeyedChildren","keyedChildren","findUnkeyedChildren","traverseOutput","sourceDirectory","visitor","visitDirectory","contents","kind","visitFile","baseListPropsToMapJoinArgs","props","punctuation","comma","semicolon","_$memo","softline","_$createIntrinsic","hardline","literalline","line","space","doubleHardline","enderPunctuation"],"sources":["../../src/utils.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { OutputDirectory } from "./render.js";
1
+ import { OutputDirectory } from "./output-types.js";
2
2
  /**
3
3
  * Write the output from {@link render} to the file system.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"write-output.d.ts","sourceRoot":"","sources":["../../src/write-output.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,eAAe,EACvB,QAAQ,GAAE,MAAW,iBAwCtB"}
1
+ {"version":3,"file":"write-output.d.ts","sourceRoot":"","sources":["../../src/write-output.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,eAAe,EACvB,QAAQ,GAAE,MAAW,iBAwCtB"}