@alloy-js/core 0.24.0-dev.1 → 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 (532) 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/cli.browser.js +14 -0
  12. package/dist/dev/src/debug/cli.browser.js.map +1 -0
  13. package/dist/dev/src/debug/diagnostics.test.js +1 -1
  14. package/dist/dev/src/debug/diagnostics.test.js.map +1 -1
  15. package/dist/dev/src/debug/effects.test.js +1 -1
  16. package/dist/dev/src/debug/effects.test.js.map +1 -1
  17. package/dist/dev/src/debug/file-streaming.js +103 -0
  18. package/dist/dev/src/debug/file-streaming.js.map +1 -0
  19. package/dist/dev/src/debug/files.test.js +4 -5
  20. package/dist/dev/src/debug/files.test.js.map +1 -1
  21. package/dist/dev/src/debug/index.js +4 -6
  22. package/dist/dev/src/debug/index.js.map +1 -1
  23. package/dist/dev/src/debug/message-format.test.js +50 -52
  24. package/dist/dev/src/debug/message-format.test.js.map +1 -1
  25. package/dist/dev/src/debug/render-tree-orphans.test.js +13 -23
  26. package/dist/dev/src/debug/render-tree-orphans.test.js.map +1 -1
  27. package/dist/dev/src/debug/render.js +529 -352
  28. package/dist/dev/src/debug/render.js.map +1 -1
  29. package/dist/dev/src/debug/render.test.js +171 -92
  30. package/dist/dev/src/debug/render.test.js.map +1 -1
  31. package/dist/dev/src/debug/trace-db.browser.js +11 -0
  32. package/dist/dev/src/debug/trace-db.browser.js.map +1 -0
  33. package/dist/dev/src/debug/trace-db.js +40 -0
  34. package/dist/dev/src/debug/trace-db.js.map +1 -0
  35. package/dist/dev/src/debug/trace-writer.js +130 -39
  36. package/dist/dev/src/debug/trace-writer.js.map +1 -1
  37. package/dist/dev/src/debug/trace.js +0 -36
  38. package/dist/dev/src/debug/trace.js.map +1 -1
  39. package/dist/dev/src/devtools/devtools-server.js +55 -32
  40. package/dist/dev/src/devtools/devtools-server.js.map +1 -1
  41. package/dist/dev/src/devtools-entry.browser.js.map +1 -1
  42. package/dist/dev/src/devtools-entry.js.map +1 -1
  43. package/dist/dev/src/diagnostics.js +19 -1
  44. package/dist/dev/src/diagnostics.js.map +1 -1
  45. package/dist/dev/src/index.js +5 -2
  46. package/dist/dev/src/index.js.map +1 -1
  47. package/dist/dev/src/jsx-runtime.js +14 -8
  48. package/dist/dev/src/jsx-runtime.js.map +1 -1
  49. package/dist/dev/src/output-types.js +2 -0
  50. package/dist/dev/src/output-types.js.map +1 -0
  51. package/dist/dev/src/reactivity.js +155 -13
  52. package/dist/dev/src/reactivity.js.map +1 -1
  53. package/dist/dev/src/render/get-string-width.js +61 -0
  54. package/dist/dev/src/render/get-string-width.js.map +1 -0
  55. package/dist/dev/src/render/index.js +2 -0
  56. package/dist/dev/src/render/index.js.map +1 -0
  57. package/dist/dev/src/render/node-context.js +7 -0
  58. package/dist/dev/src/render/node-context.js.map +1 -0
  59. package/dist/dev/src/render/node.js +386 -0
  60. package/dist/dev/src/render/node.js.map +1 -0
  61. package/dist/dev/src/render/printer-support.js +180 -0
  62. package/dist/dev/src/render/printer-support.js.map +1 -0
  63. package/dist/dev/src/render/printer.js +797 -0
  64. package/dist/dev/src/render/printer.js.map +1 -0
  65. package/dist/dev/src/render-error.js +79 -0
  66. package/dist/dev/src/render-error.js.map +1 -0
  67. package/dist/dev/src/render-output.js +209 -0
  68. package/dist/dev/src/render-output.js.map +1 -0
  69. package/dist/dev/src/runtime/create-intrinsic.js +53 -0
  70. package/dist/dev/src/runtime/create-intrinsic.js.map +1 -0
  71. package/dist/dev/src/runtime/fragment.js +21 -0
  72. package/dist/dev/src/runtime/fragment.js.map +1 -0
  73. package/dist/dev/src/runtime/index.js +13 -0
  74. package/dist/dev/src/runtime/index.js.map +1 -0
  75. package/dist/dev/src/runtime/insert.js +453 -0
  76. package/dist/dev/src/runtime/insert.js.map +1 -0
  77. package/dist/dev/src/runtime/intrinsic.js +1 -11
  78. package/dist/dev/src/runtime/intrinsic.js.map +1 -1
  79. package/dist/dev/src/scheduler.js +38 -14
  80. package/dist/dev/src/scheduler.js.map +1 -1
  81. package/dist/dev/src/stc.js +2 -0
  82. package/dist/dev/src/stc.js.map +1 -1
  83. package/dist/dev/src/sti.js +1 -1
  84. package/dist/dev/src/sti.js.map +1 -1
  85. package/dist/dev/src/symbols/symbol-slot.test.js +1 -1
  86. package/dist/dev/src/symbols/symbol-slot.test.js.map +1 -1
  87. package/dist/dev/src/test-render.js +78 -0
  88. package/dist/dev/src/test-render.js.map +1 -0
  89. package/dist/dev/src/utils.js +47 -35
  90. package/dist/dev/src/utils.js.map +1 -1
  91. package/dist/dev/test/babel-e2e.test.js +218 -0
  92. package/dist/dev/test/babel-e2e.test.js.map +1 -0
  93. package/dist/dev/test/browser-build.test.js +70 -9
  94. package/dist/dev/test/browser-build.test.js.map +1 -1
  95. package/dist/dev/test/components/block.test.js +1 -1
  96. package/dist/dev/test/components/block.test.js.map +1 -1
  97. package/dist/dev/test/components/copy-file.test.js +7 -7
  98. package/dist/dev/test/components/copy-file.test.js.map +1 -1
  99. package/dist/dev/test/components/update-file.test.js +1 -1
  100. package/dist/dev/test/components/update-file.test.js.map +1 -1
  101. package/dist/dev/test/components/wrap.test.js +1 -1
  102. package/dist/dev/test/components/wrap.test.js.map +1 -1
  103. package/dist/dev/test/control-flow/match.test.js +1 -1
  104. package/dist/dev/test/control-flow/match.test.js.map +1 -1
  105. package/dist/dev/test/control-flow/show.test.js +1 -1
  106. package/dist/dev/test/control-flow/show.test.js.map +1 -1
  107. package/dist/dev/test/lazy-isempty.test.js +6 -6
  108. package/dist/dev/test/lazy-isempty.test.js.map +1 -1
  109. package/dist/dev/test/node.test.js +80 -0
  110. package/dist/dev/test/node.test.js.map +1 -0
  111. package/dist/dev/test/output-e2e.test.js +194 -0
  112. package/dist/dev/test/output-e2e.test.js.map +1 -0
  113. package/dist/dev/test/reactivity/circular-reactives.test.js +1 -1
  114. package/dist/dev/test/reactivity/circular-reactives.test.js.map +1 -1
  115. package/dist/dev/test/reactivity/cleanup.test.js +1 -1
  116. package/dist/dev/test/reactivity/cleanup.test.js.map +1 -1
  117. package/dist/dev/test/rendering/memoization.test.js +6 -1
  118. package/dist/dev/test/rendering/memoization.test.js.map +1 -1
  119. package/dist/dev/test/rendering/render-output-diagnostics.test.js +102 -0
  120. package/dist/dev/test/rendering/render-output-diagnostics.test.js.map +1 -0
  121. package/dist/dev/test/runtime.test.js +385 -0
  122. package/dist/dev/test/runtime.test.js.map +1 -0
  123. package/dist/dev/test/tree-test-utils.js +16 -0
  124. package/dist/dev/test/tree-test-utils.js.map +1 -0
  125. package/dist/dev/test/utils.test.js +1 -1
  126. package/dist/dev/test/utils.test.js.map +1 -1
  127. package/dist/dev/testing/devtools-utils.js +1 -1
  128. package/dist/dev/testing/devtools-utils.js.map +1 -1
  129. package/dist/dev/testing/extend-expect.js +7 -33
  130. package/dist/dev/testing/extend-expect.js.map +1 -1
  131. package/dist/dev/testing/render.js +7 -17
  132. package/dist/dev/testing/render.js.map +1 -1
  133. package/dist/devtools/index.html +17 -17
  134. package/dist/src/components/AccessExpression.test.js +1 -1
  135. package/dist/src/components/AccessExpression.test.js.map +1 -1
  136. package/dist/src/components/Output.d.ts +1 -1
  137. package/dist/src/components/Output.d.ts.map +1 -1
  138. package/dist/src/components/Output.js +2 -1
  139. package/dist/src/components/Output.js.map +1 -1
  140. package/dist/src/components/ReferenceOrContent.d.ts +1 -1
  141. package/dist/src/components/ReferenceOrContent.d.ts.map +1 -1
  142. package/dist/src/components/SourceFile.d.ts +1 -1
  143. package/dist/src/components/SourceFile.d.ts.map +1 -1
  144. package/dist/src/components/SourceFile.js.map +1 -1
  145. package/dist/src/content-slot.test.js +1 -1
  146. package/dist/src/content-slot.test.js.map +1 -1
  147. package/dist/src/context/format-options.d.ts +1 -1
  148. package/dist/src/context/format-options.d.ts.map +1 -1
  149. package/dist/src/context.d.ts +9 -1
  150. package/dist/src/context.d.ts.map +1 -1
  151. package/dist/src/context.js +30 -3
  152. package/dist/src/context.js.map +1 -1
  153. package/dist/src/debug/cli.browser.d.ts +13 -0
  154. package/dist/src/debug/cli.browser.d.ts.map +1 -0
  155. package/dist/src/debug/cli.browser.js +14 -0
  156. package/dist/src/debug/cli.browser.js.map +1 -0
  157. package/dist/src/debug/diagnostics.test.js +1 -1
  158. package/dist/src/debug/diagnostics.test.js.map +1 -1
  159. package/dist/src/debug/effects.test.js +1 -1
  160. package/dist/src/debug/effects.test.js.map +1 -1
  161. package/dist/src/debug/file-streaming.d.ts +22 -0
  162. package/dist/src/debug/file-streaming.d.ts.map +1 -0
  163. package/dist/src/debug/file-streaming.js +103 -0
  164. package/dist/src/debug/file-streaming.js.map +1 -0
  165. package/dist/src/debug/files.test.js +4 -5
  166. package/dist/src/debug/files.test.js.map +1 -1
  167. package/dist/src/debug/index.d.ts +5 -7
  168. package/dist/src/debug/index.d.ts.map +1 -1
  169. package/dist/src/debug/index.js +4 -6
  170. package/dist/src/debug/index.js.map +1 -1
  171. package/dist/src/debug/message-format.test.js +16 -18
  172. package/dist/src/debug/message-format.test.js.map +1 -1
  173. package/dist/src/debug/render-tree-orphans.test.js +8 -18
  174. package/dist/src/debug/render-tree-orphans.test.js.map +1 -1
  175. package/dist/src/debug/render.d.ts +71 -21
  176. package/dist/src/debug/render.d.ts.map +1 -1
  177. package/dist/src/debug/render.js +529 -352
  178. package/dist/src/debug/render.js.map +1 -1
  179. package/dist/src/debug/render.test.js +137 -74
  180. package/dist/src/debug/render.test.js.map +1 -1
  181. package/dist/src/debug/trace-db.browser.d.ts +9 -0
  182. package/dist/src/debug/trace-db.browser.d.ts.map +1 -0
  183. package/dist/src/debug/trace-db.browser.js +11 -0
  184. package/dist/src/debug/trace-db.browser.js.map +1 -0
  185. package/dist/src/debug/trace-db.d.ts +16 -0
  186. package/dist/src/debug/trace-db.d.ts.map +1 -0
  187. package/dist/src/debug/trace-db.js +40 -0
  188. package/dist/src/debug/trace-db.js.map +1 -0
  189. package/dist/src/debug/trace-writer.d.ts +6 -1
  190. package/dist/src/debug/trace-writer.d.ts.map +1 -1
  191. package/dist/src/debug/trace-writer.js +130 -39
  192. package/dist/src/debug/trace-writer.js.map +1 -1
  193. package/dist/src/debug/trace.d.ts +0 -36
  194. package/dist/src/debug/trace.d.ts.map +1 -1
  195. package/dist/src/debug/trace.js +0 -36
  196. package/dist/src/debug/trace.js.map +1 -1
  197. package/dist/src/devtools/devtools-protocol.d.ts +34 -1
  198. package/dist/src/devtools/devtools-protocol.d.ts.map +1 -1
  199. package/dist/src/devtools/devtools-server.d.ts.map +1 -1
  200. package/dist/src/devtools/devtools-server.js +55 -32
  201. package/dist/src/devtools/devtools-server.js.map +1 -1
  202. package/dist/src/devtools-entry.browser.d.ts +1 -1
  203. package/dist/src/devtools-entry.browser.d.ts.map +1 -1
  204. package/dist/src/devtools-entry.browser.js.map +1 -1
  205. package/dist/src/devtools-entry.d.ts +1 -1
  206. package/dist/src/devtools-entry.d.ts.map +1 -1
  207. package/dist/src/devtools-entry.js.map +1 -1
  208. package/dist/src/diagnostics.d.ts +4 -0
  209. package/dist/src/diagnostics.d.ts.map +1 -1
  210. package/dist/src/diagnostics.js +19 -1
  211. package/dist/src/diagnostics.js.map +1 -1
  212. package/dist/src/index.d.ts +5 -2
  213. package/dist/src/index.d.ts.map +1 -1
  214. package/dist/src/index.js +5 -2
  215. package/dist/src/index.js.map +1 -1
  216. package/dist/src/jsx-runtime.d.ts +13 -4
  217. package/dist/src/jsx-runtime.d.ts.map +1 -1
  218. package/dist/src/jsx-runtime.js +14 -8
  219. package/dist/src/jsx-runtime.js.map +1 -1
  220. package/dist/src/output-types.d.ts +40 -0
  221. package/dist/src/output-types.d.ts.map +1 -0
  222. package/dist/src/output-types.js +2 -0
  223. package/dist/src/output-types.js.map +1 -0
  224. package/dist/src/reactivity.d.ts +49 -18
  225. package/dist/src/reactivity.d.ts.map +1 -1
  226. package/dist/src/reactivity.js +155 -13
  227. package/dist/src/reactivity.js.map +1 -1
  228. package/dist/src/render/get-string-width.d.ts +19 -0
  229. package/dist/src/render/get-string-width.d.ts.map +1 -0
  230. package/dist/src/render/get-string-width.js +61 -0
  231. package/dist/src/render/get-string-width.js.map +1 -0
  232. package/dist/src/render/index.d.ts +2 -0
  233. package/dist/src/render/index.d.ts.map +1 -0
  234. package/dist/src/render/index.js +2 -0
  235. package/dist/src/render/index.js.map +1 -0
  236. package/dist/src/render/node-context.d.ts +5 -0
  237. package/dist/src/render/node-context.d.ts.map +1 -0
  238. package/dist/src/render/node-context.js +7 -0
  239. package/dist/src/render/node-context.js.map +1 -0
  240. package/dist/src/render/node.d.ts +146 -0
  241. package/dist/src/render/node.d.ts.map +1 -0
  242. package/dist/src/render/node.js +386 -0
  243. package/dist/src/render/node.js.map +1 -0
  244. package/dist/src/render/printer-support.d.ts +50 -0
  245. package/dist/src/render/printer-support.d.ts.map +1 -0
  246. package/dist/src/render/printer-support.js +180 -0
  247. package/dist/src/render/printer-support.js.map +1 -0
  248. package/dist/src/render/printer.d.ts +35 -0
  249. package/dist/src/render/printer.d.ts.map +1 -0
  250. package/dist/src/render/printer.js +797 -0
  251. package/dist/src/render/printer.js.map +1 -0
  252. package/dist/src/render-error.d.ts +4 -0
  253. package/dist/src/render-error.d.ts.map +1 -0
  254. package/dist/src/render-error.js +79 -0
  255. package/dist/src/render-error.js.map +1 -0
  256. package/dist/src/render-output.d.ts +42 -0
  257. package/dist/src/render-output.d.ts.map +1 -0
  258. package/dist/src/render-output.js +209 -0
  259. package/dist/src/render-output.js.map +1 -0
  260. package/dist/src/runtime/component.d.ts +2 -2
  261. package/dist/src/runtime/component.d.ts.map +1 -1
  262. package/dist/src/runtime/create-intrinsic.d.ts +28 -0
  263. package/dist/src/runtime/create-intrinsic.d.ts.map +1 -0
  264. package/dist/src/runtime/create-intrinsic.js +53 -0
  265. package/dist/src/runtime/create-intrinsic.js.map +1 -0
  266. package/dist/src/runtime/fragment.d.ts +16 -0
  267. package/dist/src/runtime/fragment.d.ts.map +1 -0
  268. package/dist/src/runtime/fragment.js +21 -0
  269. package/dist/src/runtime/fragment.js.map +1 -0
  270. package/dist/src/runtime/index.d.ts +12 -0
  271. package/dist/src/runtime/index.d.ts.map +1 -0
  272. package/dist/src/runtime/index.js +13 -0
  273. package/dist/src/runtime/index.js.map +1 -0
  274. package/dist/src/runtime/insert.d.ts +29 -0
  275. package/dist/src/runtime/insert.d.ts.map +1 -0
  276. package/dist/src/runtime/insert.js +453 -0
  277. package/dist/src/runtime/insert.js.map +1 -0
  278. package/dist/src/runtime/intrinsic.d.ts +12 -29
  279. package/dist/src/runtime/intrinsic.d.ts.map +1 -1
  280. package/dist/src/runtime/intrinsic.js +1 -11
  281. package/dist/src/runtime/intrinsic.js.map +1 -1
  282. package/dist/src/scheduler.d.ts.map +1 -1
  283. package/dist/src/scheduler.js +38 -14
  284. package/dist/src/scheduler.js.map +1 -1
  285. package/dist/src/stc.d.ts.map +1 -1
  286. package/dist/src/stc.js +2 -0
  287. package/dist/src/stc.js.map +1 -1
  288. package/dist/src/sti.d.ts +7 -6
  289. package/dist/src/sti.d.ts.map +1 -1
  290. package/dist/src/sti.js +1 -1
  291. package/dist/src/sti.js.map +1 -1
  292. package/dist/src/symbols/symbol-slot.test.js +1 -1
  293. package/dist/src/symbols/symbol-slot.test.js.map +1 -1
  294. package/dist/src/test-render.d.ts +31 -0
  295. package/dist/src/test-render.d.ts.map +1 -0
  296. package/dist/src/test-render.js +78 -0
  297. package/dist/src/test-render.js.map +1 -0
  298. package/dist/src/utils.d.ts +1 -1
  299. package/dist/src/utils.d.ts.map +1 -1
  300. package/dist/src/utils.js +40 -28
  301. package/dist/src/utils.js.map +1 -1
  302. package/dist/src/write-output.d.ts +1 -1
  303. package/dist/src/write-output.d.ts.map +1 -1
  304. package/dist/test/babel-e2e.test.d.ts +13 -0
  305. package/dist/test/babel-e2e.test.d.ts.map +1 -0
  306. package/dist/test/babel-e2e.test.js +218 -0
  307. package/dist/test/babel-e2e.test.js.map +1 -0
  308. package/dist/test/browser-build.test.js +70 -9
  309. package/dist/test/browser-build.test.js.map +1 -1
  310. package/dist/test/components/block.test.js +1 -1
  311. package/dist/test/components/block.test.js.map +1 -1
  312. package/dist/test/components/copy-file.test.d.ts.map +1 -1
  313. package/dist/test/components/copy-file.test.js +1 -1
  314. package/dist/test/components/copy-file.test.js.map +1 -1
  315. package/dist/test/components/update-file.test.js +1 -1
  316. package/dist/test/components/update-file.test.js.map +1 -1
  317. package/dist/test/components/wrap.test.js +1 -1
  318. package/dist/test/components/wrap.test.js.map +1 -1
  319. package/dist/test/control-flow/match.test.js +1 -1
  320. package/dist/test/control-flow/match.test.js.map +1 -1
  321. package/dist/test/control-flow/show.test.js +1 -1
  322. package/dist/test/control-flow/show.test.js.map +1 -1
  323. package/dist/test/lazy-isempty.test.js +6 -6
  324. package/dist/test/lazy-isempty.test.js.map +1 -1
  325. package/dist/test/node.test.d.ts +2 -0
  326. package/dist/test/node.test.d.ts.map +1 -0
  327. package/dist/test/node.test.js +80 -0
  328. package/dist/test/node.test.js.map +1 -0
  329. package/dist/test/output-e2e.test.d.ts +13 -0
  330. package/dist/test/output-e2e.test.d.ts.map +1 -0
  331. package/dist/test/output-e2e.test.js +194 -0
  332. package/dist/test/output-e2e.test.js.map +1 -0
  333. package/dist/test/reactivity/circular-reactives.test.js +1 -1
  334. package/dist/test/reactivity/circular-reactives.test.js.map +1 -1
  335. package/dist/test/reactivity/cleanup.test.js +1 -1
  336. package/dist/test/reactivity/cleanup.test.js.map +1 -1
  337. package/dist/test/rendering/memoization.test.js +6 -1
  338. package/dist/test/rendering/memoization.test.js.map +1 -1
  339. package/dist/test/rendering/render-output-diagnostics.test.d.ts +2 -0
  340. package/dist/test/rendering/render-output-diagnostics.test.d.ts.map +1 -0
  341. package/dist/test/rendering/render-output-diagnostics.test.js +82 -0
  342. package/dist/test/rendering/render-output-diagnostics.test.js.map +1 -0
  343. package/dist/test/runtime.test.d.ts +11 -0
  344. package/dist/test/runtime.test.d.ts.map +1 -0
  345. package/dist/test/runtime.test.js +385 -0
  346. package/dist/test/runtime.test.js.map +1 -0
  347. package/dist/test/tree-test-utils.d.ts +3 -0
  348. package/dist/test/tree-test-utils.d.ts.map +1 -0
  349. package/dist/test/tree-test-utils.js +16 -0
  350. package/dist/test/tree-test-utils.js.map +1 -0
  351. package/dist/test/utils.test.js +1 -1
  352. package/dist/test/utils.test.js.map +1 -1
  353. package/dist/testing/devtools-utils.d.ts.map +1 -1
  354. package/dist/testing/devtools-utils.js +1 -1
  355. package/dist/testing/devtools-utils.js.map +1 -1
  356. package/dist/testing/extend-expect.d.ts.map +1 -1
  357. package/dist/testing/extend-expect.js +7 -33
  358. package/dist/testing/extend-expect.js.map +1 -1
  359. package/dist/testing/render.d.ts +7 -9
  360. package/dist/testing/render.d.ts.map +1 -1
  361. package/dist/testing/render.js +7 -17
  362. package/dist/testing/render.js.map +1 -1
  363. package/dist/tsconfig.tsbuildinfo +1 -1
  364. package/docs/api/components/Output.md +0 -3
  365. package/docs/api/components/SourceFile.md +0 -3
  366. package/docs/api/functions/createComment.md +18 -0
  367. package/docs/api/functions/createElement.md +19 -0
  368. package/docs/api/functions/createFragment.md +17 -0
  369. package/docs/api/functions/createTextNode.md +18 -0
  370. package/docs/api/functions/emitDiagnosticForTree.md +19 -0
  371. package/docs/api/functions/ensureIsEmpty.md +1 -1
  372. package/docs/api/functions/getContextForNode.md +18 -0
  373. package/docs/api/functions/getContextForRenderNode.md +4 -4
  374. package/docs/api/functions/getDiagnosticsForTree.md +7 -5
  375. package/docs/api/functions/getRegisteredDiagnosticsForTree.md +18 -0
  376. package/docs/api/functions/index.md +17 -12
  377. package/docs/api/functions/isCustomContext.md +4 -4
  378. package/docs/api/functions/notifyContentState.md +6 -0
  379. package/docs/api/functions/printTree.md +6 -16
  380. package/docs/api/functions/registerDiagnosticsForTree.md +19 -0
  381. package/docs/api/functions/render.md +1 -2
  382. package/docs/api/functions/renderAsync.md +1 -2
  383. package/docs/api/functions/renderTree.md +8 -5
  384. package/docs/api/functions/reportDiagnosticsForTree.md +18 -0
  385. package/docs/api/functions/runInContext.md +28 -0
  386. package/docs/api/functions/sourceFilesForTree.md +6 -16
  387. package/docs/api/index.md +3 -3
  388. package/docs/api/testing/functions/index.md +1 -1
  389. package/docs/api/testing/functions/renderToString.md +1 -1
  390. package/docs/api/types/AlloyNode.md +22 -0
  391. package/docs/api/types/Child.md +1 -1
  392. package/docs/api/types/CommentNode.md +15 -0
  393. package/docs/api/types/Context.md +13 -15
  394. package/docs/api/types/ElementNode.md +18 -0
  395. package/docs/api/types/FragmentNode.md +12 -0
  396. package/docs/api/types/Insertable.md +7 -0
  397. package/docs/api/types/NodeType.md +5 -0
  398. package/docs/api/types/OutputDirectory.md +0 -50
  399. package/docs/api/types/PrintTreeOptions.md +0 -1
  400. package/docs/api/types/RenderTreeOptions.md +7 -0
  401. package/docs/api/types/StiComponentCreator.md +4 -4
  402. package/docs/api/types/StiSignature.md +1 -1
  403. package/docs/api/types/TextNode.md +16 -0
  404. package/docs/api/types/index.md +10 -28
  405. package/docs/api/variables/COMMENT_NODE.md +5 -0
  406. package/docs/api/variables/ELEMENT_NODE.md +11 -0
  407. package/docs/api/variables/FRAGMENT_NODE.md +5 -0
  408. package/docs/api/variables/TEXT_NODE.md +5 -0
  409. package/docs/api/variables/index.md +4 -2
  410. package/docs/formatting.md +1 -1
  411. package/docs/rendering.md +4 -4
  412. package/package.json +11 -7
  413. package/src/components/AccessExpression.test.tsx +1 -1
  414. package/src/components/Output.tsx +2 -1
  415. package/src/components/SourceFile.tsx +1 -1
  416. package/src/content-slot.test.tsx +1 -1
  417. package/src/context/format-options.ts +1 -1
  418. package/src/context.ts +37 -4
  419. package/src/debug/cli.browser.ts +17 -0
  420. package/src/debug/diagnostics.test.tsx +1 -1
  421. package/src/debug/effects.test.tsx +1 -1
  422. package/src/debug/file-streaming.ts +115 -0
  423. package/src/debug/files.test.tsx +15 -11
  424. package/src/debug/index.ts +11 -11
  425. package/src/debug/message-format.test.tsx +32 -19
  426. package/src/debug/render-tree-orphans.test.tsx +10 -19
  427. package/src/debug/render.test.tsx +206 -78
  428. package/src/debug/render.ts +642 -495
  429. package/src/debug/trace-db.browser.ts +12 -0
  430. package/src/debug/trace-db.ts +42 -0
  431. package/src/debug/trace-writer.ts +173 -41
  432. package/src/debug/trace.ts +0 -20
  433. package/src/devtools/devtools-protocol.ts +43 -0
  434. package/src/devtools/devtools-server.ts +57 -32
  435. package/src/devtools-entry.browser.ts +5 -0
  436. package/src/devtools-entry.ts +5 -0
  437. package/src/diagnostics.ts +31 -0
  438. package/src/index.ts +66 -2
  439. package/src/jsx-runtime.ts +16 -14
  440. package/src/output-types.ts +47 -0
  441. package/src/reactivity.ts +186 -40
  442. package/src/render/get-string-width.ts +201 -0
  443. package/src/render/index.ts +1 -0
  444. package/src/render/node-context.ts +14 -0
  445. package/src/render/node.ts +442 -0
  446. package/src/render/printer-support.ts +209 -0
  447. package/src/render/printer.ts +817 -0
  448. package/src/render-error.ts +98 -0
  449. package/src/render-output.ts +243 -0
  450. package/src/runtime/component.ts +2 -2
  451. package/src/runtime/create-intrinsic.ts +56 -0
  452. package/src/runtime/fragment.ts +22 -0
  453. package/src/runtime/index.ts +12 -0
  454. package/src/runtime/insert.ts +569 -0
  455. package/src/runtime/intrinsic.ts +14 -70
  456. package/src/scheduler.ts +40 -25
  457. package/src/stc.ts +3 -0
  458. package/src/sti.ts +17 -20
  459. package/src/symbols/symbol-slot.test.tsx +1 -1
  460. package/src/test-render.ts +103 -0
  461. package/src/utils.tsx +55 -37
  462. package/src/write-output.ts +1 -1
  463. package/temp/api-testing.json +390 -14
  464. package/temp/api.json +4320 -4144
  465. package/test/babel-e2e.test.ts +224 -0
  466. package/test/browser-build.test.ts +81 -9
  467. package/test/components/block.test.tsx +1 -1
  468. package/test/components/copy-file.test.tsx +2 -1
  469. package/test/components/update-file.test.tsx +1 -1
  470. package/test/components/wrap.test.tsx +1 -1
  471. package/test/control-flow/match.test.tsx +1 -1
  472. package/test/control-flow/show.test.tsx +1 -1
  473. package/test/lazy-isempty.test.tsx +6 -6
  474. package/test/node.test.ts +90 -0
  475. package/test/output-e2e.test.ts +198 -0
  476. package/test/reactivity/circular-reactives.test.tsx +1 -1
  477. package/test/reactivity/cleanup.test.tsx +1 -1
  478. package/test/rendering/memoization.test.tsx +6 -1
  479. package/test/rendering/render-output-diagnostics.test.tsx +120 -0
  480. package/test/runtime.test.ts +448 -0
  481. package/test/tree-test-utils.ts +23 -0
  482. package/test/utils.test.tsx +1 -1
  483. package/testing/devtools-utils.ts +2 -0
  484. package/testing/extend-expect.ts +8 -46
  485. package/testing/render.ts +17 -21
  486. package/dist/dev/src/print-hook.js +0 -10
  487. package/dist/dev/src/print-hook.js.map +0 -1
  488. package/dist/dev/src/render.js +0 -872
  489. package/dist/dev/src/render.js.map +0 -1
  490. package/dist/src/print-hook.d.ts +0 -14
  491. package/dist/src/print-hook.d.ts.map +0 -1
  492. package/dist/src/print-hook.js +0 -10
  493. package/dist/src/print-hook.js.map +0 -1
  494. package/dist/src/render.d.ts +0 -155
  495. package/dist/src/render.d.ts.map +0 -1
  496. package/dist/src/render.js +0 -872
  497. package/dist/src/render.js.map +0 -1
  498. package/docs/api/functions/createIntrinsic.md +0 -19
  499. package/docs/api/functions/createRenderTreeHook.md +0 -19
  500. package/docs/api/functions/getElementCache.md +0 -17
  501. package/docs/api/functions/isIntrinsicElement.md +0 -18
  502. package/docs/api/functions/isPrintHook.md +0 -18
  503. package/docs/api/types/AlignIntrinsicElement.md +0 -5
  504. package/docs/api/types/BrIntrinsicElement.md +0 -5
  505. package/docs/api/types/BreakParentIntrinsicElement.md +0 -5
  506. package/docs/api/types/DedentIntrinsicElement.md +0 -5
  507. package/docs/api/types/DedentToRootIntrinsicElement.md +0 -5
  508. package/docs/api/types/ElementCache.md +0 -5
  509. package/docs/api/types/ElementCacheKey.md +0 -5
  510. package/docs/api/types/FillIntrinsicElement.md +0 -5
  511. package/docs/api/types/GroupIntrinsicElement.md +0 -5
  512. package/docs/api/types/HardlineIntrinsicElement.md +0 -5
  513. package/docs/api/types/HbrIntrinsicElement.md +0 -5
  514. package/docs/api/types/IfBreakIntrinsicElement.md +0 -5
  515. package/docs/api/types/IndentIfBreakIntrinsicElement.md +0 -5
  516. package/docs/api/types/IndentIntrinsicElement.md +0 -5
  517. package/docs/api/types/IntrinsicElement.md +0 -5
  518. package/docs/api/types/IntrinsicElementBase.md +0 -9
  519. package/docs/api/types/LbrIntrinsicElement.md +0 -5
  520. package/docs/api/types/LineIntrinsicElement.md +0 -5
  521. package/docs/api/types/LineSuffixBoundaryIntrinsicElement.md +0 -5
  522. package/docs/api/types/LineSuffixIntrinsicElement.md +0 -5
  523. package/docs/api/types/LiterallineIntrinsicElement.md +0 -5
  524. package/docs/api/types/MarkAsRootIntrinsicElement.md +0 -5
  525. package/docs/api/types/PrintHook.md +0 -10
  526. package/docs/api/types/RenderedTextTree.md +0 -5
  527. package/docs/api/types/SbrIntrinsicElement.md +0 -5
  528. package/docs/api/types/SoftlineIntrinsicElement.md +0 -5
  529. package/docs/api/variables/intrinsicElementKey.md +0 -5
  530. package/docs/api/variables/printHookTag.md +0 -7
  531. package/src/print-hook.ts +0 -22
  532. package/src/render.ts +0 -1154
@@ -0,0 +1 @@
1
+ {"version":3,"names":["COMMENT_NODE","FRAGMENT_NODE","TEXT_NODE","CURSOR_PLACEHOLDER","getStringWidth","joinOut","makeAlign","makeIndent","MODE_BREAK","MODE_FLAT","rootIndent","textHasNewline","textWidth","trimOut","SYNTH","Symbol","isGroupBroken","el","_breakCount","data","shouldBreak","fits","next","restCommands","width","hasLineSuffix","groupModeMap","mustBeFlat","Number","POSITIVE_INFINITY","restIdx","length","cmds","out","dummyInd","ind","push","cmd","pop","mode","frame","isSynth","kind","parts","collectChildren","node","i","offset","items","hard","soft","c","lastChild","previousSibling","nodeType","nt","tn","text","expandMultilineText","ln","localName","broken","groupMode","groupId","flatNode","undefined","flatText","f","fillPartsCache","WeakMap","cached","get","firstChild","nextSibling","set","split","synthHardline","printNodeToString","root","options","printWidth","newLine","pos","shouldRemeasure","lineSuffix","handleFill","handleLine","literal","reverse","handleElement","formatted","pushChildrenReversed","NEGATIVE_INFINITY","type","widthOrString","count","string","handleGroup","handleIfBreak","handleIndentIfBreak","handleFillElement","id","m","pushChildrenReversedAtMode","rem","hasLS","negate","indArg","modeArg","content","whitespace","contentFlatCmd","contentBreakCmd","contentFits","whitespaceFlatCmd","whitespaceBreakCmd","secondContent","remainingCmd","firstAndSecondListFrame","firstAndSecondContentFits","value"],"sources":["../../../../src/render/printer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,79 @@
1
+ import { debug, getRenderNodeId } from "./debug/index.js";
2
+ import { emitDiagnostic } from "./diagnostics.js";
3
+ import { getRenderStackSnapshot, printRenderStack } from "./render-stack.js";
4
+ const notifiedErrors = new WeakSet();
5
+ let lastRenderError = null;
6
+ function normalizeRenderError(error) {
7
+ if (error instanceof Error) {
8
+ return {
9
+ name: error.name || error.constructor?.name || "Error",
10
+ message: error.message || "",
11
+ stack: error.stack
12
+ };
13
+ }
14
+ if (error && typeof error === "object") {
15
+ const anyError = error;
16
+ return {
17
+ name: anyError.name || "Error",
18
+ message: anyError.message || String(error),
19
+ stack: anyError.stack
20
+ };
21
+ }
22
+ return {
23
+ name: "Error",
24
+ message: String(error)
25
+ };
26
+ }
27
+ export function notifyRenderError(error, collector) {
28
+ if (error && typeof error === "object") {
29
+ if (notifiedErrors.has(error)) return;
30
+ notifiedErrors.add(error);
31
+ }
32
+ if (lastRenderError) return;
33
+ const {
34
+ name,
35
+ message,
36
+ stack
37
+ } = normalizeRenderError(error);
38
+ const componentStack = getRenderStackSnapshot().map(entry => {
39
+ const renderNode = entry.context?.meta?.renderNode;
40
+ const renderNodeId = renderNode ? getRenderNodeId(renderNode) : undefined;
41
+ return {
42
+ name: entry.displayName,
43
+ props: entry.props,
44
+ renderNodeId,
45
+ source: entry.source
46
+ };
47
+ });
48
+
49
+ // Output to console
50
+ printRenderStack(error);
51
+
52
+ // Send to devtools if enabled
53
+ debug.render.error({
54
+ name,
55
+ message,
56
+ stack
57
+ }, componentStack);
58
+
59
+ // Store for diagnostics
60
+ lastRenderError = {
61
+ error: {
62
+ name,
63
+ message,
64
+ stack
65
+ },
66
+ componentStack
67
+ };
68
+ const lastEntry = componentStack.at(-1);
69
+ const diagnostic = {
70
+ severity: "error",
71
+ message: `${name}: ${message}`,
72
+ source: lastEntry?.source
73
+ };
74
+ if (collector) collector.emit(diagnostic);else emitDiagnostic(diagnostic);
75
+ }
76
+ export function resetRenderErrorState() {
77
+ lastRenderError = null;
78
+ }
79
+ //# sourceMappingURL=render-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["debug","getRenderNodeId","emitDiagnostic","getRenderStackSnapshot","printRenderStack","notifiedErrors","WeakSet","lastRenderError","normalizeRenderError","error","Error","name","constructor","message","stack","anyError","String","notifyRenderError","collector","has","add","componentStack","map","entry","renderNode","context","meta","renderNodeId","undefined","displayName","props","source","render","lastEntry","at","diagnostic","severity","emit","resetRenderErrorState"],"sources":["../../../src/render-error.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,KAAK,EACLC,eAAe,QAEV,kBAAkB;AACzB,SACEC,cAAc,QAGT,kBAAkB;AACzB,SAASC,sBAAsB,EAAEC,gBAAgB,QAAQ,mBAAmB;AAE5E,MAAMC,cAAc,GAAG,IAAIC,OAAO,CAAS,CAAC;AAE5C,IAAIC,eASI,GAAG,IAAI;AAEf,SAASC,oBAAoBA,CAACC,KAAc,EAI1C;EACA,IAAIA,KAAK,YAAYC,KAAK,EAAE;IAC1B,OAAO;MACLC,IAAI,EAAEF,KAAK,CAACE,IAAI,IAAIF,KAAK,CAACG,WAAW,EAAED,IAAI,IAAI,OAAO;MACtDE,OAAO,EAAEJ,KAAK,CAACI,OAAO,IAAI,EAAE;MAC5BC,KAAK,EAAEL,KAAK,CAACK;IACf,CAAC;EACH;EACA,IAAIL,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACtC,MAAMM,QAAQ,GAAGN,KAIhB;IACD,OAAO;MACLE,IAAI,EAAEI,QAAQ,CAACJ,IAAI,IAAI,OAAO;MAC9BE,OAAO,EAAEE,QAAQ,CAACF,OAAO,IAAIG,MAAM,CAACP,KAAK,CAAC;MAC1CK,KAAK,EAAEC,QAAQ,CAACD;IAClB,CAAC;EACH;EACA,OAAO;IACLH,IAAI,EAAE,OAAO;IACbE,OAAO,EAAEG,MAAM,CAACP,KAAK;EACvB,CAAC;AACH;AAEA,OAAO,SAASQ,iBAAiBA,CAC/BR,KAAc,EACdS,SAAgC,EAChC;EACA,IAAIT,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACtC,IAAIJ,cAAc,CAACc,GAAG,CAACV,KAAK,CAAC,EAAE;IAC/BJ,cAAc,CAACe,GAAG,CAACX,KAAK,CAAC;EAC3B;EACA,IAAIF,eAAe,EAAE;EAErB,MAAM;IAAEI,IAAI;IAAEE,OAAO;IAAEC;EAAM,CAAC,GAAGN,oBAAoB,CAACC,KAAK,CAAC;EAC5D,MAAMY,cAAc,GAAGlB,sBAAsB,CAAC,CAAC,CAACmB,GAAG,CAAEC,KAAK,IAAK;IAC7D,MAAMC,UAAU,GAAGD,KAAK,CAACE,OAAO,EAAEC,IAAI,EAAEF,UAAU;IAClD,MAAMG,YAAY,GAAGH,UAAU,GAAGvB,eAAe,CAACuB,UAAU,CAAC,GAAGI,SAAS;IACzE,OAAO;MACLjB,IAAI,EAAEY,KAAK,CAACM,WAAW;MACvBC,KAAK,EAAEP,KAAK,CAACO,KAA4C;MACzDH,YAAY;MACZI,MAAM,EAAER,KAAK,CAACQ;IAChB,CAAC;EACH,CAAC,CAAC;;EAEF;EACA3B,gBAAgB,CAACK,KAAK,CAAC;;EAEvB;EACAT,KAAK,CAACgC,MAAM,CAACvB,KAAK,CAAC;IAAEE,IAAI;IAAEE,OAAO;IAAEC;EAAM,CAAC,EAAEO,cAAc,CAAC;;EAE5D;EACAd,eAAe,GAAG;IAAEE,KAAK,EAAE;MAAEE,IAAI;MAAEE,OAAO;MAAEC;IAAM,CAAC;IAAEO;EAAe,CAAC;EACrE,MAAMY,SAAS,GAAGZ,cAAc,CAACa,EAAE,CAAC,CAAC,CAAC,CAAC;EACvC,MAAMC,UAA2B,GAAG;IAClCC,QAAQ,EAAE,OAAO;IACjBvB,OAAO,EAAE,GAAGF,IAAI,KAAKE,OAAO,EAAE;IAC9BkB,MAAM,EAAEE,SAAS,EAAEF;EACrB,CAAC;EACD,IAAIb,SAAS,EAAEA,SAAS,CAACmB,IAAI,CAACF,UAAU,CAAC,CAAC,KACrCjC,cAAc,CAACiC,UAAU,CAAC;AACjC;AAEA,OAAO,SAASG,qBAAqBA,CAAA,EAAG;EACtC/B,eAAe,GAAG,IAAI;AACxB","ignoreList":[]}
@@ -0,0 +1,209 @@
1
+ /**
2
+ * Top-level render entry points.
3
+ *
4
+ * `render` and `renderAsync` take a `Children` tree, insert it into a
5
+ * fresh root `ElementNode`, flush the scheduler, and walk the result
6
+ * to assemble an {@link OutputDirectory}. The walker recognizes
7
+ * marker `localName`s (`alloy:directory`, `alloy:source-file`,
8
+ * `alloy:copy-file`) stamped on the AlloyNode by `<SourceDirectory>`,
9
+ * `<SourceFile>`, and `<CopyFile>` (see `components/`), reading
10
+ * each marker's owning Context for path/filetype metadata.
11
+ */
12
+
13
+ import { debug, isDevtoolsEnabled } from "./debug/index.js";
14
+ import { closeTrace } from "./debug/trace-writer.js";
15
+ import { isTraceEnabled } from "./debug/trace.js";
16
+ import { attachDiagnosticsCollector, DiagnosticsCollector, emitDiagnosticForTree, registerDiagnosticsForTree, reportDiagnosticsForTree } from "./diagnostics.js";
17
+ import { root as createRoot } from "./reactivity.js";
18
+ import { notifyRenderError, resetRenderErrorState } from "./render-error.js";
19
+ import { getContextForNode } from "./render/node-context.js";
20
+ import { createElement, ElementNode } from "./render/node.js";
21
+ import { printNodeToString } from "./render/printer.js";
22
+ import { insert } from "./runtime/insert.js";
23
+ import { flushJobs, flushJobsAsync, waitForSignal } from "./scheduler.js";
24
+
25
+ /** Render a component tree to an {@link OutputDirectory}. */
26
+ export function render(children, options) {
27
+ debug.assertReadyForSyncRender();
28
+ resetRenderErrorState();
29
+ const root = createElement("alloy:root");
30
+ const collector = new DiagnosticsCollector();
31
+ registerDiagnosticsForTree(root, collector);
32
+ debug.render.initialize(root);
33
+ let output;
34
+ try {
35
+ createRoot(() => {
36
+ attachDiagnosticsCollector(collector);
37
+ insert(root, children);
38
+ });
39
+ flushJobs();
40
+ output = sourceFilesForTree(root, options);
41
+ } catch (error) {
42
+ notifyRenderError(error, collector);
43
+ throw error;
44
+ } finally {
45
+ try {
46
+ reportDiagnosticsForTree(root);
47
+ } finally {
48
+ try {
49
+ debug.render.complete();
50
+ } finally {
51
+ // Close trace DB only if devtools is NOT running. With devtools active the
52
+ // DB must remain open for post-render reactive updates streamed to clients.
53
+ if (isTraceEnabled() && !isDevtoolsEnabled()) closeTrace();
54
+ }
55
+ }
56
+ }
57
+ if (isDevtoolsEnabled()) {
58
+ void waitForSignal();
59
+ }
60
+ return output;
61
+ }
62
+
63
+ /**
64
+ * Async variant — awaits any scheduled async jobs (e.g. produced by
65
+ * `<Output>` consumers that read external data) before walking the
66
+ * tree.
67
+ */
68
+ export async function renderAsync(children, options) {
69
+ await debug.prepare();
70
+ resetRenderErrorState();
71
+ const root = createElement("alloy:root");
72
+ const collector = new DiagnosticsCollector();
73
+ registerDiagnosticsForTree(root, collector);
74
+ debug.render.initialize(root);
75
+ let output;
76
+ try {
77
+ createRoot(() => {
78
+ attachDiagnosticsCollector(collector);
79
+ insert(root, children);
80
+ });
81
+ await flushJobsAsync();
82
+ output = sourceFilesForTree(root, options);
83
+ } catch (error) {
84
+ notifyRenderError(error, collector);
85
+ throw error;
86
+ } finally {
87
+ try {
88
+ reportDiagnosticsForTree(root);
89
+ } finally {
90
+ try {
91
+ debug.render.complete();
92
+ } finally {
93
+ if (isTraceEnabled() && !isDevtoolsEnabled()) closeTrace();
94
+ }
95
+ }
96
+ }
97
+ return output;
98
+ }
99
+
100
+ /**
101
+ * Walk the AlloyNode tree, collecting `<SourceDirectory>`,
102
+ * `<SourceFile>`, and `<CopyFile>` markers into an
103
+ * {@link OutputDirectory}.
104
+ */
105
+ export function sourceFilesForTree(rootNode, opts) {
106
+ let result;
107
+ walk(rootNode, undefined);
108
+ if (!result) {
109
+ emitDiagnosticForTree(rootNode, {
110
+ severity: "error",
111
+ message: "No root directory found. Make sure you are using the Output component."
112
+ });
113
+ return {
114
+ kind: "directory",
115
+ path: "",
116
+ contents: []
117
+ };
118
+ }
119
+ return result;
120
+ function walk(node, cwd) {
121
+ if (node instanceof ElementNode) {
122
+ const ctx = getContextForNode(node);
123
+ if (node.localName === "alloy:directory") {
124
+ const dirMeta = ctx?.meta?.directory;
125
+ const dir = {
126
+ kind: "directory",
127
+ path: dirMeta?.path ?? "",
128
+ contents: []
129
+ };
130
+ if (cwd) cwd.contents.push(dir);else result = dir;
131
+ for (let c = node.firstChild; c !== null; c = c.nextSibling) {
132
+ walk(c, dir);
133
+ }
134
+ return;
135
+ }
136
+ if (node.localName === "alloy:source-file") {
137
+ const sf = ctx?.meta?.sourceFile;
138
+ if (sf) {
139
+ if (!cwd) {
140
+ throw new Error("Source file doesn't have parent directory. Make sure you have used the Output component.");
141
+ }
142
+ const printOpts = ctx.meta.printOptions;
143
+ const file = {
144
+ kind: "file",
145
+ path: sf.path,
146
+ filetype: sf.filetype,
147
+ contents: printNode(node, {
148
+ printWidth: opts?.printWidth ?? printOpts?.printWidth,
149
+ tabWidth: opts?.tabWidth ?? printOpts?.tabWidth,
150
+ useTabs: opts?.useTabs ?? printOpts?.useTabs,
151
+ insertFinalNewLine: opts?.insertFinalNewLine ?? printOpts?.insertFinalNewLine ?? true
152
+ })
153
+ };
154
+ cwd.contents.push(file);
155
+ debug.files.updated({
156
+ path: sf.path,
157
+ filetype: sf.filetype,
158
+ contents: file.contents
159
+ });
160
+ }
161
+ return;
162
+ }
163
+ if (node.localName === "alloy:copy-file") {
164
+ const cf = ctx?.meta?.copyFile;
165
+ if (cf) {
166
+ if (!cwd) {
167
+ throw new Error("Copy file doesn't have parent directory. Make sure you have used the Output component.");
168
+ }
169
+ const file = {
170
+ kind: "file",
171
+ path: cf.path,
172
+ sourcePath: cf.sourcePath
173
+ };
174
+ cwd.contents.push(file);
175
+ }
176
+ return;
177
+ }
178
+ }
179
+ for (let c = node.firstChild; c !== null; c = c.nextSibling) {
180
+ walk(c, cwd);
181
+ }
182
+ }
183
+ }
184
+ export { getContextForNode } from "./render/node-context.js";
185
+
186
+ /**
187
+ * @deprecated Use {@link getContextForNode}. Render tree nodes are now
188
+ * represented by AlloyNode objects directly.
189
+ */
190
+ export function getContextForRenderNode(node) {
191
+ return getContextForNode(node);
192
+ }
193
+
194
+ /**
195
+ * Print an AlloyNode subtree with the given options. Used internally
196
+ * by `sourceFilesForTree` to format each `<SourceFile>` body and
197
+ * exposed for testing helpers.
198
+ */
199
+ export function printNode(node, opts) {
200
+ const merged = {
201
+ printWidth: opts?.printWidth ?? 80,
202
+ tabWidth: opts?.tabWidth ?? 2,
203
+ useTabs: opts?.useTabs ?? false
204
+ };
205
+ let formatted = printNodeToString(node, merged).formatted;
206
+ if (opts?.insertFinalNewLine && !formatted.endsWith("\n")) formatted += "\n";
207
+ return formatted;
208
+ }
209
+ //# sourceMappingURL=render-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["debug","isDevtoolsEnabled","closeTrace","isTraceEnabled","attachDiagnosticsCollector","DiagnosticsCollector","emitDiagnosticForTree","registerDiagnosticsForTree","reportDiagnosticsForTree","root","createRoot","notifyRenderError","resetRenderErrorState","getContextForNode","createElement","ElementNode","printNodeToString","insert","flushJobs","flushJobsAsync","waitForSignal","render","children","options","assertReadyForSyncRender","collector","initialize","output","sourceFilesForTree","error","complete","renderAsync","prepare","rootNode","opts","result","walk","undefined","severity","message","kind","path","contents","node","cwd","ctx","localName","dirMeta","meta","directory","dir","push","c","firstChild","nextSibling","sf","sourceFile","Error","printOpts","printOptions","file","filetype","printNode","printWidth","tabWidth","useTabs","insertFinalNewLine","files","updated","cf","copyFile","sourcePath","getContextForRenderNode","merged","formatted","endsWith"],"sources":["../../../src/render-output.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * `createIntrinsic("name", props)` — runtime version.
3
+ *
4
+ * The babel-emitted compiled output of a JSX intrinsic such as
5
+ * `<group shouldBreak>{...}</group>` calls this with the tag name and
6
+ * props. It allocates an `ElementNode` whose `localName` is the
7
+ * intrinsic kind and stores the non-`children` props on `data`, then
8
+ * eagerly inserts the children via the polymorphic {@link insert}
9
+ * helper. The set of recognized localNames matches the cases handled
10
+ * by the direct printer (`group`, `indent`, `line`, `softline`, `hardline`,
11
+ * `ifBreak`, ...); unknown names pass through as transparent
12
+ * containers.
13
+ *
14
+ * Examples:
15
+ *
16
+ * <group shouldBreak={true}>...</group>
17
+ * ─→ createIntrinsic("group", { shouldBreak: true, children: [...] })
18
+ * ─→ ElementNode { localName: "group", data: { shouldBreak: true } }
19
+ */
20
+
21
+ import { createElement } from "../render/node.js";
22
+ import { insert } from "./insert.js";
23
+
24
+ /**
25
+ * Create an intrinsic ElementNode and insert its children eagerly.
26
+ */
27
+ export function createIntrinsic(name, props) {
28
+ let data;
29
+ let children;
30
+ let flatContents;
31
+ if (props !== undefined) {
32
+ for (const key in props) {
33
+ if (key === "children") {
34
+ children = props.children;
35
+ } else if (key === "flatContents" && name === "ifBreak") {
36
+ flatContents = props[key];
37
+ } else {
38
+ if (data === undefined) data = {};
39
+ data[key] = props[key];
40
+ }
41
+ }
42
+ }
43
+ if (flatContents !== undefined) {
44
+ const flatNode = createElement("alloy:if-break-flat");
45
+ insert(flatNode, flatContents);
46
+ if (data === undefined) data = {};
47
+ data.flatNode = flatNode;
48
+ }
49
+ const node = createElement(name, data);
50
+ if (children !== undefined) insert(node, children);
51
+ return node;
52
+ }
53
+ //# sourceMappingURL=create-intrinsic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createElement","insert","createIntrinsic","name","props","data","children","flatContents","undefined","key","flatNode","node"],"sources":["../../../../src/runtime/create-intrinsic.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,aAAa,QAA0B,mBAAmB;AAEnE,SAASC,MAAM,QAAQ,aAAa;;AAEpC;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAC7BC,IAAY,EACZC,KAAuC,EAC1B;EACb,IAAIC,IAAyC;EAC7C,IAAIC,QAA8B;EAClC,IAAIC,YAAkC;EACtC,IAAIH,KAAK,KAAKI,SAAS,EAAE;IACvB,KAAK,MAAMC,GAAG,IAAIL,KAAK,EAAE;MACvB,IAAIK,GAAG,KAAK,UAAU,EAAE;QACtBH,QAAQ,GAAGF,KAAK,CAACE,QAAQ;MAC3B,CAAC,MAAM,IAAIG,GAAG,KAAK,cAAc,IAAIN,IAAI,KAAK,SAAS,EAAE;QACvDI,YAAY,GAAGH,KAAK,CAACK,GAAG,CAAa;MACvC,CAAC,MAAM;QACL,IAAIJ,IAAI,KAAKG,SAAS,EAAEH,IAAI,GAAG,CAAC,CAAC;QACjCA,IAAI,CAACI,GAAG,CAAC,GAAGL,KAAK,CAACK,GAAG,CAAC;MACxB;IACF;EACF;EACA,IAAIF,YAAY,KAAKC,SAAS,EAAE;IAC9B,MAAME,QAAQ,GAAGV,aAAa,CAAC,qBAAqB,CAAC;IACrDC,MAAM,CAACS,QAAQ,EAAEH,YAAY,CAAC;IAC9B,IAAIF,IAAI,KAAKG,SAAS,EAAEH,IAAI,GAAG,CAAC,CAAC;IACjCA,IAAI,CAACK,QAAQ,GAAGA,QAAQ;EAC1B;EACA,MAAMC,IAAI,GAAGX,aAAa,CAACG,IAAI,EAAEE,IAAI,CAAC;EACtC,IAAIC,QAAQ,KAAKE,SAAS,EAAEP,MAAM,CAACU,IAAI,EAAEL,QAAQ,CAAC;EAClD,OAAOK,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * `Fragment` component.
3
+ *
4
+ * Compiles `<>...</>` into `createComponent(Fragment, { children: [...] })`.
5
+ * When invoked, returns a `FragmentNode` whose children are eagerly
6
+ * inserted via the polymorphic {@link insert}. `FragmentNode` has
7
+ * DocumentFragment splice-on-insert semantics — inserting a fragment
8
+ * into a parent moves its children into the parent and leaves the
9
+ * fragment empty.
10
+ */
11
+
12
+ import { createFragment } from "../render/node.js";
13
+ import { insert } from "./insert.js";
14
+ export function Fragment(props) {
15
+ const node = createFragment();
16
+ if (props.children !== undefined) {
17
+ insert(node, props.children);
18
+ }
19
+ return node;
20
+ }
21
+ //# sourceMappingURL=fragment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFragment","insert","Fragment","props","node","children","undefined"],"sources":["../../../../src/runtime/fragment.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,cAAc,QAA2B,mBAAmB;AAErE,SAASC,MAAM,QAAQ,aAAa;AAEpC,OAAO,SAASC,QAAQA,CAACC,KAA8B,EAAgB;EACrE,MAAMC,IAAI,GAAGJ,cAAc,CAAC,CAAC;EAC7B,IAAIG,KAAK,CAACE,QAAQ,KAAKC,SAAS,EAAE;IAChCL,MAAM,CAACG,IAAI,EAAED,KAAK,CAACE,QAAQ,CAAC;EAC9B;EACA,OAAOD,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * runtime — narrow surface used by JSX-compiled output and tests
3
+ * exercising the AlloyNode renderer directly.
4
+ */
5
+
6
+ export { mergeProps } from "../props-combinators.js";
7
+ export { effect, memo } from "../reactivity.js";
8
+ export { render, renderAsync } from "../render-output.js";
9
+ export { createComponent } from "./component.js";
10
+ export { createIntrinsic } from "./create-intrinsic.js";
11
+ export { Fragment } from "./fragment.js";
12
+ export { insert } from "./insert.js";
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mergeProps","effect","memo","render","renderAsync","createComponent","createIntrinsic","Fragment","insert"],"sources":["../../../../src/runtime/index.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,SAASA,UAAU,QAAQ,yBAAyB;AACpD,SAASC,MAAM,EAAEC,IAAI,QAAQ,kBAAkB;AAC/C,SAASC,MAAM,EAAEC,WAAW,QAAQ,qBAAqB;AACzD,SAASC,eAAe,QAAQ,gBAAgB;AAChD,SAASC,eAAe,QAAQ,uBAAuB;AACvD,SAASC,QAAQ,QAAQ,eAAe;AACxC,SAASC,MAAM,QAAQ,aAAa","ignoreList":[]}