@alloy-js/core 0.23.0-dev.11 → 0.23.0-dev.13

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 (380) hide show
  1. package/dist/dev/src/binder.js +488 -0
  2. package/dist/dev/src/binder.js.map +1 -0
  3. package/dist/dev/src/code.js +181 -0
  4. package/dist/dev/src/code.js.map +1 -0
  5. package/dist/dev/src/components/AccessExpression.js +230 -0
  6. package/dist/dev/src/components/AccessExpression.js.map +1 -0
  7. package/dist/dev/src/components/AccessExpression.test.js +237 -0
  8. package/dist/dev/src/components/AccessExpression.test.js.map +1 -0
  9. package/dist/dev/src/components/AppendFile.js +246 -0
  10. package/dist/dev/src/components/AppendFile.js.map +1 -0
  11. package/dist/dev/src/components/Block.js +66 -0
  12. package/dist/dev/src/components/Block.js.map +1 -0
  13. package/dist/dev/src/components/CopyFile.js +16 -0
  14. package/dist/dev/src/components/CopyFile.js.map +1 -0
  15. package/dist/dev/src/components/Declaration.js +70 -0
  16. package/dist/dev/src/components/Declaration.js.map +1 -0
  17. package/dist/dev/src/components/For.js +40 -0
  18. package/dist/dev/src/components/For.js.map +1 -0
  19. package/dist/dev/src/components/Indent.js +37 -0
  20. package/dist/dev/src/components/Indent.js.map +1 -0
  21. package/dist/dev/src/components/List.js +29 -0
  22. package/dist/dev/src/components/List.js.map +1 -0
  23. package/dist/dev/src/components/MemberDeclaration.js +70 -0
  24. package/dist/dev/src/components/MemberDeclaration.js.map +1 -0
  25. package/dist/dev/src/components/MemberName.js +11 -0
  26. package/dist/dev/src/components/MemberName.js.map +1 -0
  27. package/dist/dev/src/components/MemberScope.js +57 -0
  28. package/dist/dev/src/components/MemberScope.js.map +1 -0
  29. package/dist/dev/src/components/Name.js +11 -0
  30. package/dist/dev/src/components/Name.js.map +1 -0
  31. package/dist/dev/src/components/Output.js +72 -0
  32. package/dist/dev/src/components/Output.js.map +1 -0
  33. package/dist/dev/src/components/Prose.js +32 -0
  34. package/dist/dev/src/components/Prose.js.map +1 -0
  35. package/dist/dev/src/components/ReferenceOrContent.js +12 -0
  36. package/dist/dev/src/components/ReferenceOrContent.js.map +1 -0
  37. package/dist/dev/src/components/Scope.js +50 -0
  38. package/dist/dev/src/components/Scope.js.map +1 -0
  39. package/dist/dev/src/components/Show.js +4 -0
  40. package/dist/dev/src/components/Show.js.map +1 -0
  41. package/dist/dev/src/components/SourceDirectory.js +41 -0
  42. package/dist/dev/src/components/SourceDirectory.js.map +1 -0
  43. package/dist/dev/src/components/SourceFile.js +52 -0
  44. package/dist/dev/src/components/SourceFile.js.map +1 -0
  45. package/dist/dev/src/components/StatementList.js +20 -0
  46. package/dist/dev/src/components/StatementList.js.map +1 -0
  47. package/dist/dev/src/components/Switch.js +42 -0
  48. package/dist/dev/src/components/Switch.js.map +1 -0
  49. package/dist/dev/src/components/TemplateFile.js +153 -0
  50. package/dist/dev/src/components/TemplateFile.js.map +1 -0
  51. package/dist/dev/src/components/UpdateFile.js +71 -0
  52. package/dist/dev/src/components/UpdateFile.js.map +1 -0
  53. package/dist/dev/src/components/Wrap.js +18 -0
  54. package/dist/dev/src/components/Wrap.js.map +1 -0
  55. package/dist/dev/src/components/index.js +25 -0
  56. package/dist/dev/src/components/index.js.map +1 -0
  57. package/dist/dev/src/components/stc/index.js +27 -0
  58. package/dist/dev/src/components/stc/index.js.map +1 -0
  59. package/dist/dev/src/components/stc/sti.js +10 -0
  60. package/dist/dev/src/components/stc/sti.js.map +1 -0
  61. package/dist/dev/src/content-slot.js +78 -0
  62. package/dist/dev/src/content-slot.js.map +1 -0
  63. package/dist/dev/src/content-slot.test.js +89 -0
  64. package/dist/dev/src/content-slot.test.js.map +1 -0
  65. package/dist/dev/src/context/assignment.js +46 -0
  66. package/dist/dev/src/context/assignment.js.map +1 -0
  67. package/dist/dev/src/context/binder.js +12 -0
  68. package/dist/dev/src/context/binder.js.map +1 -0
  69. package/dist/dev/src/context/declaration.js +3 -0
  70. package/dist/dev/src/context/declaration.js.map +1 -0
  71. package/dist/dev/src/context/format-options.js +32 -0
  72. package/dist/dev/src/context/format-options.js.map +1 -0
  73. package/dist/dev/src/context/index.js +11 -0
  74. package/dist/dev/src/context/index.js.map +1 -0
  75. package/dist/dev/src/context/member-declaration.js +11 -0
  76. package/dist/dev/src/context/member-declaration.js.map +1 -0
  77. package/dist/dev/src/context/member-scope.js +12 -0
  78. package/dist/dev/src/context/member-scope.js.map +1 -0
  79. package/dist/dev/src/context/name-policy.js +13 -0
  80. package/dist/dev/src/context/name-policy.js.map +1 -0
  81. package/dist/dev/src/context/scope.js +13 -0
  82. package/dist/dev/src/context/scope.js.map +1 -0
  83. package/dist/dev/src/context/source-directory.js +3 -0
  84. package/dist/dev/src/context/source-directory.js.map +1 -0
  85. package/dist/dev/src/context/source-file.js +3 -0
  86. package/dist/dev/src/context/source-file.js.map +1 -0
  87. package/dist/dev/src/context.js +47 -0
  88. package/dist/dev/src/context.js.map +1 -0
  89. package/dist/dev/src/debug/cli.js +164 -0
  90. package/dist/dev/src/debug/cli.js.map +1 -0
  91. package/dist/dev/src/debug/diagnostics.test.js +50 -0
  92. package/dist/dev/src/debug/diagnostics.test.js.map +1 -0
  93. package/dist/dev/src/debug/effects.js +293 -0
  94. package/dist/dev/src/debug/effects.js.map +1 -0
  95. package/dist/dev/src/debug/effects.test.js +280 -0
  96. package/dist/dev/src/debug/effects.test.js.map +1 -0
  97. package/dist/dev/src/debug/files.js +29 -0
  98. package/dist/dev/src/debug/files.js.map +1 -0
  99. package/dist/dev/src/debug/files.test.js +78 -0
  100. package/dist/dev/src/debug/files.test.js.map +1 -0
  101. package/dist/dev/src/debug/index.js +71 -0
  102. package/dist/dev/src/debug/index.js.map +1 -0
  103. package/dist/dev/src/debug/message-format.test.js +836 -0
  104. package/dist/dev/src/debug/message-format.test.js.map +1 -0
  105. package/dist/dev/src/debug/render-tree-orphans.test.js +365 -0
  106. package/dist/dev/src/debug/render-tree-orphans.test.js.map +1 -0
  107. package/dist/dev/src/debug/render.js +479 -0
  108. package/dist/dev/src/debug/render.js.map +1 -0
  109. package/dist/dev/src/debug/render.test.js +363 -0
  110. package/dist/dev/src/debug/render.test.js.map +1 -0
  111. package/dist/dev/src/debug/serialize.js +70 -0
  112. package/dist/dev/src/debug/serialize.js.map +1 -0
  113. package/dist/dev/src/debug/source-map.browser.js +24 -0
  114. package/dist/dev/src/debug/source-map.browser.js.map +1 -0
  115. package/dist/dev/src/debug/source-map.js +111 -0
  116. package/dist/dev/src/debug/source-map.js.map +1 -0
  117. package/dist/dev/src/debug/symbols.js +196 -0
  118. package/dist/dev/src/debug/symbols.js.map +1 -0
  119. package/dist/dev/src/debug/symbols.test.js +93 -0
  120. package/dist/dev/src/debug/symbols.test.js.map +1 -0
  121. package/dist/dev/src/debug/trace-writer.js +658 -0
  122. package/dist/dev/src/debug/trace-writer.js.map +1 -0
  123. package/dist/dev/src/debug/trace.js +460 -0
  124. package/dist/dev/src/debug/trace.js.map +1 -0
  125. package/dist/dev/src/devtools/devtools-protocol.js +2 -0
  126. package/dist/dev/src/devtools/devtools-protocol.js.map +1 -0
  127. package/dist/dev/src/devtools/devtools-server.browser.js +33 -0
  128. package/dist/dev/src/devtools/devtools-server.browser.js.map +1 -0
  129. package/dist/dev/src/devtools/devtools-server.js +444 -0
  130. package/dist/dev/src/devtools/devtools-server.js.map +1 -0
  131. package/dist/dev/src/devtools/devtools-transport.js +114 -0
  132. package/dist/dev/src/devtools/devtools-transport.js.map +1 -0
  133. package/dist/dev/src/devtools-entry.browser.js +2 -0
  134. package/dist/dev/src/devtools-entry.browser.js.map +1 -0
  135. package/dist/dev/src/devtools-entry.js +2 -0
  136. package/dist/dev/src/devtools-entry.js.map +1 -0
  137. package/dist/dev/src/diagnostics.js +89 -0
  138. package/dist/dev/src/diagnostics.js.map +1 -0
  139. package/dist/dev/src/host/alloy-host.browser.js +32 -0
  140. package/dist/dev/src/host/alloy-host.browser.js.map +1 -0
  141. package/dist/dev/src/host/alloy-host.js +144 -0
  142. package/dist/dev/src/host/alloy-host.js.map +1 -0
  143. package/dist/dev/src/host/interface.js +2 -0
  144. package/dist/dev/src/host/interface.js.map +1 -0
  145. package/dist/dev/src/host/node-host.browser.js +21 -0
  146. package/dist/dev/src/host/node-host.browser.js.map +1 -0
  147. package/dist/dev/src/host/node-host.js +20 -0
  148. package/dist/dev/src/host/node-host.js.map +1 -0
  149. package/dist/dev/src/index.browser.js +3 -0
  150. package/dist/dev/src/index.browser.js.map +1 -0
  151. package/dist/dev/src/index.js +27 -0
  152. package/dist/dev/src/index.js.map +1 -0
  153. package/dist/dev/src/inspect.browser.js +6 -0
  154. package/dist/dev/src/inspect.browser.js.map +1 -0
  155. package/dist/dev/src/inspect.js +2 -0
  156. package/dist/dev/src/inspect.js.map +1 -0
  157. package/dist/dev/src/jsx-runtime.js +17 -0
  158. package/dist/dev/src/jsx-runtime.js.map +1 -0
  159. package/dist/dev/src/library-symbol-reference.js +5 -0
  160. package/dist/dev/src/library-symbol-reference.js.map +1 -0
  161. package/dist/dev/src/name-policy.js +24 -0
  162. package/dist/dev/src/name-policy.js.map +1 -0
  163. package/dist/dev/src/pretty-string/pretty-string.js +100 -0
  164. package/dist/dev/src/pretty-string/pretty-string.js.map +1 -0
  165. package/dist/dev/src/pretty-string/pretty-string.test.js +38 -0
  166. package/dist/dev/src/pretty-string/pretty-string.test.js.map +1 -0
  167. package/dist/dev/src/print-hook.js +10 -0
  168. package/dist/dev/src/print-hook.js.map +1 -0
  169. package/dist/dev/src/props-combinators.js +109 -0
  170. package/dist/dev/src/props-combinators.js.map +1 -0
  171. package/dist/dev/src/reactive-union-set.js +213 -0
  172. package/dist/dev/src/reactive-union-set.js.map +1 -0
  173. package/dist/dev/src/reactivity.js +426 -0
  174. package/dist/dev/src/reactivity.js.map +1 -0
  175. package/dist/dev/src/refkey.js +167 -0
  176. package/dist/dev/src/refkey.js.map +1 -0
  177. package/dist/dev/src/render-stack.js +252 -0
  178. package/dist/dev/src/render-stack.js.map +1 -0
  179. package/dist/dev/src/render.js +872 -0
  180. package/dist/dev/src/render.js.map +1 -0
  181. package/dist/dev/src/resource.js +124 -0
  182. package/dist/dev/src/resource.js.map +1 -0
  183. package/dist/dev/src/runtime/component.js +41 -0
  184. package/dist/dev/src/runtime/component.js.map +1 -0
  185. package/dist/dev/src/runtime/intrinsic.js +12 -0
  186. package/dist/dev/src/runtime/intrinsic.js.map +1 -0
  187. package/dist/dev/src/scheduler.js +217 -0
  188. package/dist/dev/src/scheduler.js.map +1 -0
  189. package/dist/dev/src/stc.js +40 -0
  190. package/dist/dev/src/stc.js.map +1 -0
  191. package/dist/dev/src/sti.js +31 -0
  192. package/dist/dev/src/sti.js.map +1 -0
  193. package/dist/dev/src/symbols/basic-scope.js +21 -0
  194. package/dist/dev/src/symbols/basic-scope.js.map +1 -0
  195. package/dist/dev/src/symbols/basic-symbol.js +34 -0
  196. package/dist/dev/src/symbols/basic-symbol.js.map +1 -0
  197. package/dist/dev/src/symbols/decl.js +26 -0
  198. package/dist/dev/src/symbols/decl.js.map +1 -0
  199. package/dist/dev/src/symbols/index.js +10 -0
  200. package/dist/dev/src/symbols/index.js.map +1 -0
  201. package/dist/dev/src/symbols/output-scope.js +202 -0
  202. package/dist/dev/src/symbols/output-scope.js.map +1 -0
  203. package/dist/dev/src/symbols/output-space.js +36 -0
  204. package/dist/dev/src/symbols/output-space.js.map +1 -0
  205. package/dist/dev/src/symbols/output-symbol.js +504 -0
  206. package/dist/dev/src/symbols/output-symbol.js.map +1 -0
  207. package/dist/dev/src/symbols/symbol-flow.js +106 -0
  208. package/dist/dev/src/symbols/symbol-flow.js.map +1 -0
  209. package/dist/dev/src/symbols/symbol-slot.js +68 -0
  210. package/dist/dev/src/symbols/symbol-slot.js.map +1 -0
  211. package/dist/dev/src/symbols/symbol-slot.test.js +43 -0
  212. package/dist/dev/src/symbols/symbol-slot.test.js.map +1 -0
  213. package/dist/dev/src/symbols/symbol-table.js +93 -0
  214. package/dist/dev/src/symbols/symbol-table.js.map +1 -0
  215. package/dist/dev/src/tap.js +109 -0
  216. package/dist/dev/src/tap.js.map +1 -0
  217. package/dist/dev/src/trace.js +2 -0
  218. package/dist/dev/src/trace.js.map +1 -0
  219. package/dist/dev/src/tracer.js +180 -0
  220. package/dist/dev/src/tracer.js.map +1 -0
  221. package/dist/dev/src/utils.js +487 -0
  222. package/dist/dev/src/utils.js.map +1 -0
  223. package/dist/dev/src/write-output.js +48 -0
  224. package/dist/dev/src/write-output.js.map +1 -0
  225. package/dist/dev/test/browser-build.test.js +85 -0
  226. package/dist/dev/test/browser-build.test.js.map +1 -0
  227. package/dist/dev/test/children.test.js +44 -0
  228. package/dist/dev/test/children.test.js.map +1 -0
  229. package/dist/dev/test/components/append-file.test.js +394 -0
  230. package/dist/dev/test/components/append-file.test.js.map +1 -0
  231. package/dist/dev/test/components/block.test.js +83 -0
  232. package/dist/dev/test/components/block.test.js.map +1 -0
  233. package/dist/dev/test/components/copy-file.test.js +119 -0
  234. package/dist/dev/test/components/copy-file.test.js.map +1 -0
  235. package/dist/dev/test/components/declaration.test.js +40 -0
  236. package/dist/dev/test/components/declaration.test.js.map +1 -0
  237. package/dist/dev/test/components/list.test.js +250 -0
  238. package/dist/dev/test/components/list.test.js.map +1 -0
  239. package/dist/dev/test/components/prose.test.js +42 -0
  240. package/dist/dev/test/components/prose.test.js.map +1 -0
  241. package/dist/dev/test/components/reference-or-content.test.js +246 -0
  242. package/dist/dev/test/components/reference-or-content.test.js.map +1 -0
  243. package/dist/dev/test/components/source-file.test.js +271 -0
  244. package/dist/dev/test/components/source-file.test.js.map +1 -0
  245. package/dist/dev/test/components/template-file.test.js +200 -0
  246. package/dist/dev/test/components/template-file.test.js.map +1 -0
  247. package/dist/dev/test/components/update-file.test.js +210 -0
  248. package/dist/dev/test/components/update-file.test.js.map +1 -0
  249. package/dist/dev/test/components/wrap.test.js +48 -0
  250. package/dist/dev/test/components/wrap.test.js.map +1 -0
  251. package/dist/dev/test/control-flow/for.test.js +318 -0
  252. package/dist/dev/test/control-flow/for.test.js.map +1 -0
  253. package/dist/dev/test/control-flow/match.test.js +112 -0
  254. package/dist/dev/test/control-flow/match.test.js.map +1 -0
  255. package/dist/dev/test/control-flow/show.test.js +38 -0
  256. package/dist/dev/test/control-flow/show.test.js.map +1 -0
  257. package/dist/dev/test/lazy-isempty.test.js +121 -0
  258. package/dist/dev/test/lazy-isempty.test.js.map +1 -0
  259. package/dist/dev/test/name-policy.test.js +28 -0
  260. package/dist/dev/test/name-policy.test.js.map +1 -0
  261. package/dist/dev/test/props-with-defaults.test.js +94 -0
  262. package/dist/dev/test/props-with-defaults.test.js.map +1 -0
  263. package/dist/dev/test/reactive-union-set-disposers.test.js +98 -0
  264. package/dist/dev/test/reactive-union-set-disposers.test.js.map +1 -0
  265. package/dist/dev/test/reactive-union-set.test.js +171 -0
  266. package/dist/dev/test/reactive-union-set.test.js.map +1 -0
  267. package/dist/dev/test/reactivity/circular-reactives.test.js +62 -0
  268. package/dist/dev/test/reactivity/circular-reactives.test.js.map +1 -0
  269. package/dist/dev/test/reactivity/cleanup.test.js +96 -0
  270. package/dist/dev/test/reactivity/cleanup.test.js.map +1 -0
  271. package/dist/dev/test/reactivity/memo.test.js +17 -0
  272. package/dist/dev/test/reactivity/memo.test.js.map +1 -0
  273. package/dist/dev/test/reactivity/ref-rendering.test.js +38 -0
  274. package/dist/dev/test/reactivity/ref-rendering.test.js.map +1 -0
  275. package/dist/dev/test/reactivity/shallow-reactive.test.js +52 -0
  276. package/dist/dev/test/reactivity/shallow-reactive.test.js.map +1 -0
  277. package/dist/dev/test/reactivity/test.test.js +74 -0
  278. package/dist/dev/test/reactivity/test.test.js.map +1 -0
  279. package/dist/dev/test/reactivity/untrack.test.js +27 -0
  280. package/dist/dev/test/reactivity/untrack.test.js.map +1 -0
  281. package/dist/dev/test/refkey.test.js +36 -0
  282. package/dist/dev/test/refkey.test.js.map +1 -0
  283. package/dist/dev/test/rendering/basic.test.js +194 -0
  284. package/dist/dev/test/rendering/basic.test.js.map +1 -0
  285. package/dist/dev/test/rendering/code.test.js +64 -0
  286. package/dist/dev/test/rendering/code.test.js.map +1 -0
  287. package/dist/dev/test/rendering/formatting.test.js +797 -0
  288. package/dist/dev/test/rendering/formatting.test.js.map +1 -0
  289. package/dist/dev/test/rendering/indent.test.js +183 -0
  290. package/dist/dev/test/rendering/indent.test.js.map +1 -0
  291. package/dist/dev/test/rendering/memoization.test.js +37 -0
  292. package/dist/dev/test/rendering/memoization.test.js.map +1 -0
  293. package/dist/dev/test/rendering/print-render-stack.test.js +287 -0
  294. package/dist/dev/test/rendering/print-render-stack.test.js.map +1 -0
  295. package/dist/dev/test/rendering/refkeys.test.js +37 -0
  296. package/dist/dev/test/rendering/refkeys.test.js.map +1 -0
  297. package/dist/dev/test/scheduler-extended.test.js +96 -0
  298. package/dist/dev/test/scheduler-extended.test.js.map +1 -0
  299. package/dist/dev/test/scheduler.test.js +46 -0
  300. package/dist/dev/test/scheduler.test.js.map +1 -0
  301. package/dist/dev/test/split-props.test.js +78 -0
  302. package/dist/dev/test/split-props.test.js.map +1 -0
  303. package/dist/dev/test/stc.test.js +35 -0
  304. package/dist/dev/test/stc.test.js.map +1 -0
  305. package/dist/dev/test/symbols/output-scope.test.js +180 -0
  306. package/dist/dev/test/symbols/output-scope.test.js.map +1 -0
  307. package/dist/dev/test/symbols/output-symbol.test.js +202 -0
  308. package/dist/dev/test/symbols/output-symbol.test.js.map +1 -0
  309. package/dist/dev/test/symbols/resolution.test.js +487 -0
  310. package/dist/dev/test/symbols/resolution.test.js.map +1 -0
  311. package/dist/dev/test/symbols/symbol-table.test.js +15 -0
  312. package/dist/dev/test/symbols/symbol-table.test.js.map +1 -0
  313. package/dist/dev/test/symbols/utils.js +26 -0
  314. package/dist/dev/test/symbols/utils.js.map +1 -0
  315. package/dist/dev/test/utils.test.js +317 -0
  316. package/dist/dev/test/utils.test.js.map +1 -0
  317. package/dist/dev/testing/create-test-wrapper.js +76 -0
  318. package/dist/dev/testing/create-test-wrapper.js.map +1 -0
  319. package/dist/dev/testing/devtools-utils.js +162 -0
  320. package/dist/dev/testing/devtools-utils.js.map +1 -0
  321. package/dist/dev/testing/extend-expect.js +167 -0
  322. package/dist/dev/testing/extend-expect.js.map +1 -0
  323. package/dist/dev/testing/extend-expect.test.js +234 -0
  324. package/dist/dev/testing/extend-expect.test.js.map +1 -0
  325. package/dist/dev/testing/index.js +4 -0
  326. package/dist/dev/testing/index.js.map +1 -0
  327. package/dist/dev/testing/render.js +23 -0
  328. package/dist/dev/testing/render.js.map +1 -0
  329. package/dist/dev/testing/vitest.d.js +2 -0
  330. package/dist/dev/testing/vitest.d.js.map +1 -0
  331. package/dist/src/debug/cli.d.ts.map +1 -1
  332. package/dist/src/debug/cli.js +3 -2
  333. package/dist/src/debug/cli.js.map +1 -1
  334. package/dist/src/debug/effects.d.ts.map +1 -1
  335. package/dist/src/debug/effects.js +2 -67
  336. package/dist/src/debug/effects.js.map +1 -1
  337. package/dist/src/debug/render.d.ts.map +1 -1
  338. package/dist/src/debug/render.js +15 -8
  339. package/dist/src/debug/render.js.map +1 -1
  340. package/dist/src/debug/source-map.browser.d.ts +16 -0
  341. package/dist/src/debug/source-map.browser.d.ts.map +1 -0
  342. package/dist/src/debug/source-map.browser.js +24 -0
  343. package/dist/src/debug/source-map.browser.js.map +1 -0
  344. package/dist/src/debug/source-map.d.ts +22 -0
  345. package/dist/src/debug/source-map.d.ts.map +1 -0
  346. package/dist/src/debug/source-map.js +111 -0
  347. package/dist/src/debug/source-map.js.map +1 -0
  348. package/dist/src/debug/trace.d.ts.map +1 -1
  349. package/dist/src/debug/trace.js +19 -5
  350. package/dist/src/debug/trace.js.map +1 -1
  351. package/dist/src/host/node-host.browser.d.ts +11 -0
  352. package/dist/src/host/node-host.browser.d.ts.map +1 -0
  353. package/dist/src/host/node-host.browser.js +21 -0
  354. package/dist/src/host/node-host.browser.js.map +1 -0
  355. package/dist/src/host/node-host.d.ts +11 -0
  356. package/dist/src/host/node-host.d.ts.map +1 -0
  357. package/dist/src/host/node-host.js +20 -0
  358. package/dist/src/host/node-host.js.map +1 -0
  359. package/dist/src/render-stack.d.ts.map +1 -1
  360. package/dist/src/render-stack.js +4 -3
  361. package/dist/src/render-stack.js.map +1 -1
  362. package/dist/src/write-output.d.ts.map +1 -1
  363. package/dist/src/write-output.js +6 -5
  364. package/dist/src/write-output.js.map +1 -1
  365. package/dist/test/browser-build.test.js +66 -67
  366. package/dist/test/browser-build.test.js.map +1 -1
  367. package/dist/tsconfig.tsbuildinfo +1 -1
  368. package/package.json +13 -3
  369. package/src/debug/cli.ts +3 -2
  370. package/src/debug/effects.ts +2 -82
  371. package/src/debug/render.ts +25 -13
  372. package/src/debug/source-map.browser.ts +30 -0
  373. package/src/debug/source-map.ts +135 -0
  374. package/src/debug/trace.ts +22 -5
  375. package/src/host/node-host.browser.ts +23 -0
  376. package/src/host/node-host.ts +22 -0
  377. package/src/render-stack.ts +4 -3
  378. package/src/write-output.ts +6 -5
  379. package/test/browser-build.test.ts +71 -78
  380. package/vitest.config.ts +8 -0
@@ -0,0 +1,89 @@
1
+ import { getRenderNodeId } from "./debug/index.js";
2
+ import { insertDiagnostic } from "./debug/trace-writer.js";
3
+ import { getContext } from "./reactivity.js";
4
+ import { getRenderStackSnapshot } from "./render-stack.js";
5
+ export class DiagnosticsCollector {
6
+ entries = new Map();
7
+ order = [];
8
+ emit(input) {
9
+ const componentStack = input.componentStack ?? getRenderStackSnapshot().map(entry => ({
10
+ name: entry.displayName,
11
+ renderNodeId: entry.context?.meta?.renderNode ? getRenderNodeId(entry.context.meta.renderNode) : undefined,
12
+ source: entry.source
13
+ }));
14
+ const source = input.source ?? componentStack.at(-1)?.source ?? undefined;
15
+ const id = `diag-${this.order.length + 1}-${Date.now()}`;
16
+ const diagnostic = {
17
+ id,
18
+ message: input.message,
19
+ severity: input.severity ?? "warning",
20
+ source,
21
+ componentStack
22
+ };
23
+ this.entries.set(id, diagnostic);
24
+ this.order.push(id);
25
+
26
+ // Broadcast updated diagnostics
27
+ this.broadcast();
28
+ return {
29
+ dismiss: () => {
30
+ this.entries.delete(id);
31
+ // Broadcast updated diagnostics after dismissal
32
+ this.broadcast();
33
+ }
34
+ };
35
+ }
36
+ getDiagnostics() {
37
+ return this.order.map(id => this.entries.get(id)).filter(entry => Boolean(entry));
38
+ }
39
+ broadcast() {
40
+ const diagnostics = this.getDiagnostics();
41
+ for (const diagnostic of diagnostics) {
42
+ insertDiagnostic(diagnostic.message, diagnostic.severity, diagnostic.source?.fileName, diagnostic.source?.lineNumber, diagnostic.source?.columnNumber, diagnostic.componentStack ? JSON.stringify(diagnostic.componentStack) : undefined);
43
+ }
44
+ }
45
+ }
46
+ const DIAGNOSTICS_META_KEY = "diagnostics";
47
+ export function attachDiagnosticsCollector(collector) {
48
+ const context = getContext();
49
+ if (!context) return;
50
+ context.meta ??= {};
51
+ context.meta[DIAGNOSTICS_META_KEY] = collector;
52
+ }
53
+ function getDiagnosticsCollectorFromContext() {
54
+ let context = getContext();
55
+ while (context) {
56
+ const collector = context.meta?.[DIAGNOSTICS_META_KEY];
57
+ if (collector) return collector;
58
+ context = context.owner;
59
+ }
60
+ return undefined;
61
+ }
62
+ export function emitDiagnostic(input) {
63
+ const collector = getDiagnosticsCollectorFromContext();
64
+ if (!collector) {
65
+ return {
66
+ dismiss: () => undefined
67
+ };
68
+ }
69
+ return collector.emit(input);
70
+ }
71
+ export function reportDiagnostics(collector) {
72
+ const diagnostics = collector.getDiagnostics();
73
+ if (diagnostics.length === 0) return;
74
+ for (const diagnostic of diagnostics) {
75
+ const location = diagnostic.source ? ` (${diagnostic.source.fileName}:${diagnostic.source.lineNumber}:${diagnostic.source.columnNumber})` : "";
76
+ const line = `${diagnostic.message}${location}`;
77
+ if (diagnostic.severity === "error") {
78
+ // eslint-disable-next-line no-console
79
+ console.error(line);
80
+ } else if (diagnostic.severity === "warning") {
81
+ // eslint-disable-next-line no-console
82
+ console.warn(line);
83
+ } else {
84
+ // eslint-disable-next-line no-console
85
+ console.log(line);
86
+ }
87
+ }
88
+ }
89
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getRenderNodeId","insertDiagnostic","getContext","getRenderStackSnapshot","DiagnosticsCollector","entries","Map","order","emit","input","componentStack","map","entry","name","displayName","renderNodeId","context","meta","renderNode","undefined","source","at","id","length","Date","now","diagnostic","message","severity","set","push","broadcast","dismiss","delete","getDiagnostics","get","filter","Boolean","diagnostics","fileName","lineNumber","columnNumber","JSON","stringify","DIAGNOSTICS_META_KEY","attachDiagnosticsCollector","collector","getDiagnosticsCollectorFromContext","owner","emitDiagnostic","reportDiagnostics","location","line","console","error","warn","log"],"sources":["../../../src/diagnostics.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ export const AlloyHost = {
2
+ read(source) {
3
+ return new AlloyFile(source);
4
+ },
5
+ async write(destination, content) {
6
+ throw new Error("File system write operations are not supported in the browser");
7
+ },
8
+ async exists(source) {
9
+ throw new Error("File system exists operations are not supported in the browser");
10
+ },
11
+ async mkdir(path) {
12
+ throw new Error("File system mkdir operations are not supported in the browser");
13
+ }
14
+ };
15
+ export class AlloyFile {
16
+ constructor(source) {
17
+ this.source = source;
18
+ }
19
+ async text() {
20
+ throw new Error("File system read operations are not supported in the browser");
21
+ }
22
+ async arrayBuffer() {
23
+ throw new Error("File system read operations are not supported in the browser");
24
+ }
25
+ async bytes() {
26
+ throw new Error("File system read operations are not supported in the browser");
27
+ }
28
+ stream() {
29
+ throw new Error("File system read operations are not supported in the browser");
30
+ }
31
+ }
32
+ //# sourceMappingURL=alloy-host.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AlloyHost","read","source","AlloyFile","write","destination","content","Error","exists","mkdir","path","constructor","text","arrayBuffer","bytes","stream"],"sources":["../../../../src/host/alloy-host.browser.ts"],"sourcesContent":[null],"mappings":"AAEA,OAAO,MAAMA,SAA6B,GAAG;EAC3CC,IAAIA,CAACC,MAAc,EAAsB;IACvC,OAAO,IAAIC,SAAS,CAACD,MAAM,CAAC;EAC9B,CAAC;EAED,MAAME,KAAKA,CACTC,WAAmB,EACnBC,OAAuE,EACxD;IACf,MAAM,IAAIC,KAAK,CACb,+DACF,CAAC;EACH,CAAC;EAED,MAAMC,MAAMA,CAACN,MAAc,EAAoB;IAC7C,MAAM,IAAIK,KAAK,CACb,gEACF,CAAC;EACH,CAAC;EAED,MAAME,KAAKA,CAACC,IAAY,EAAiB;IACvC,MAAM,IAAIH,KAAK,CACb,+DACF,CAAC;EACH;AACF,CAAC;AAED,OAAO,MAAMJ,SAAS,CAA+B;EACnDQ,WAAWA,CAAST,MAAc,EAAE;IAAA,KAAhBA,MAAc,GAAdA,MAAc;EAAG;EAErC,MAAMU,IAAIA,CAAA,EAAoB;IAC5B,MAAM,IAAIL,KAAK,CACb,8DACF,CAAC;EACH;EAEA,MAAMM,WAAWA,CAAA,EAAyB;IACxC,MAAM,IAAIN,KAAK,CACb,8DACF,CAAC;EACH;EAEA,MAAMO,KAAKA,CAAA,EAAwB;IACjC,MAAM,IAAIP,KAAK,CACb,8DACF,CAAC;EACH;EAEAQ,MAAMA,CAAA,EAA+B;IACnC,MAAM,IAAIR,KAAK,CACb,8DACF,CAAC;EACH;AACF","ignoreList":[]}
@@ -0,0 +1,144 @@
1
+ import { createReadStream, createWriteStream } from "fs";
2
+ import { access, mkdir, readFile, writeFile } from "fs/promises";
3
+ export const AlloyHost = {
4
+ read(source) {
5
+ return new AlloyFile(source);
6
+ },
7
+ async write(destination, content) {
8
+ if (typeof content === "string") {
9
+ //eslint-disable-next-line no-useless-catch
10
+ try {
11
+ await writeFile(destination, content, "utf8");
12
+ } catch (e) {
13
+ // get good callstacks
14
+ throw e;
15
+ }
16
+ } else if (content instanceof ArrayBuffer) {
17
+ //eslint-disable-next-line no-useless-catch
18
+ try {
19
+ await writeFile(destination, new Uint8Array(content));
20
+ } catch (e) {
21
+ // get good callstacks
22
+ throw e;
23
+ }
24
+ } else if (content instanceof Uint8Array) {
25
+ //eslint-disable-next-line no-useless-catch
26
+ try {
27
+ await writeFile(destination, content);
28
+ } catch (e) {
29
+ // get good callstacks
30
+ throw e;
31
+ }
32
+ } else {
33
+ // content is ReadableStream<Uint8Array>
34
+ //eslint-disable-next-line no-useless-catch
35
+ try {
36
+ const writeStream = createWriteStream(destination);
37
+ const reader = content.getReader();
38
+ try {
39
+ while (true) {
40
+ const {
41
+ done,
42
+ value
43
+ } = await reader.read();
44
+ if (done) break;
45
+ await new Promise((resolve, reject) => {
46
+ writeStream.write(value, err => {
47
+ if (err) reject(err);else resolve();
48
+ });
49
+ });
50
+ }
51
+ } finally {
52
+ reader.releaseLock();
53
+ await new Promise((resolve, reject) => {
54
+ writeStream.end(err => {
55
+ if (err) reject(err);else resolve();
56
+ });
57
+ });
58
+ }
59
+ } catch (e) {
60
+ // get good callstacks
61
+ throw e;
62
+ }
63
+ }
64
+ },
65
+ async exists(source) {
66
+ try {
67
+ await access(source);
68
+ return true;
69
+ } catch {
70
+ return false;
71
+ }
72
+ },
73
+ async mkdir(path) {
74
+ //eslint-disable-next-line no-useless-catch
75
+ try {
76
+ await mkdir(path, {
77
+ recursive: true
78
+ });
79
+ } catch (e) {
80
+ // get good callstacks
81
+ throw e;
82
+ }
83
+ }
84
+ };
85
+ export class AlloyFile {
86
+ constructor(source) {
87
+ this.source = source;
88
+ }
89
+ async text() {
90
+ //eslint-disable-next-line no-useless-catch
91
+ try {
92
+ return await readFile(this.source, "utf8");
93
+ } catch (e) {
94
+ // get good callstacks
95
+ throw e;
96
+ }
97
+ }
98
+ async arrayBuffer() {
99
+ //eslint-disable-next-line no-useless-catch
100
+ try {
101
+ const buffer = await readFile(this.source);
102
+ return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
103
+ } catch (e) {
104
+ // get good callstacks
105
+ throw e;
106
+ }
107
+ }
108
+ async bytes() {
109
+ //eslint-disable-next-line no-useless-catch
110
+ try {
111
+ const buffer = await readFile(this.source);
112
+ return new Uint8Array(buffer);
113
+ } catch (e) {
114
+ // get good callstacks
115
+ throw e;
116
+ }
117
+ }
118
+ stream() {
119
+ //eslint-disable-next-line no-useless-catch
120
+ try {
121
+ const nodeStream = createReadStream(this.source);
122
+ return new ReadableStream({
123
+ start(controller) {
124
+ nodeStream.on("data", chunk => {
125
+ controller.enqueue(new Uint8Array(chunk));
126
+ });
127
+ nodeStream.on("end", () => {
128
+ controller.close();
129
+ });
130
+ nodeStream.on("error", err => {
131
+ controller.error(err);
132
+ });
133
+ },
134
+ cancel() {
135
+ nodeStream.destroy();
136
+ }
137
+ });
138
+ } catch (e) {
139
+ // get good callstacks
140
+ throw e;
141
+ }
142
+ }
143
+ }
144
+ //# sourceMappingURL=alloy-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createReadStream","createWriteStream","access","mkdir","readFile","writeFile","AlloyHost","read","source","AlloyFile","write","destination","content","e","ArrayBuffer","Uint8Array","writeStream","reader","getReader","done","value","Promise","resolve","reject","err","releaseLock","end","exists","path","recursive","constructor","text","arrayBuffer","buffer","slice","byteOffset","byteLength","bytes","stream","nodeStream","ReadableStream","start","controller","on","chunk","enqueue","close","error","cancel","destroy"],"sources":["../../../../src/host/alloy-host.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Browser stub for Node.js host APIs.
3
+ *
4
+ * Replaces `node-host.ts` in browser builds so that no Node.js globals
5
+ * (`process`, etc.) are referenced.
6
+ */
7
+
8
+ export function env(_key) {
9
+ return undefined;
10
+ }
11
+ export function cwd() {
12
+ return "";
13
+ }
14
+ export function stdoutWrite(text) {
15
+ // eslint-disable-next-line no-console
16
+ console.log(text);
17
+ }
18
+ export function sourceMapsEnabled() {
19
+ return false;
20
+ }
21
+ //# sourceMappingURL=node-host.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["env","_key","undefined","cwd","stdoutWrite","text","console","log","sourceMapsEnabled"],"sources":["../../../../src/host/node-host.browser.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASA,GAAGA,CAACC,IAAY,EAAsB;EACpD,OAAOC,SAAS;AAClB;AAEA,OAAO,SAASC,GAAGA,CAAA,EAAW;EAC5B,OAAO,EAAE;AACX;AAEA,OAAO,SAASC,WAAWA,CAACC,IAAY,EAAQ;EAC9C;EACAC,OAAO,CAACC,GAAG,CAACF,IAAI,CAAC;AACnB;AAEA,OAAO,SAASG,iBAAiBA,CAAA,EAAY;EAC3C,OAAO,KAAK;AACd","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Node.js host APIs.
3
+ *
4
+ * Provides access to Node.js-specific process APIs. In browser builds this
5
+ * module is replaced by `node-host.browser.ts` which returns safe defaults.
6
+ */
7
+
8
+ export function env(key) {
9
+ return process.env[key];
10
+ }
11
+ export function cwd() {
12
+ return process.cwd();
13
+ }
14
+ export function stdoutWrite(text) {
15
+ process.stdout.write(text);
16
+ }
17
+ export function sourceMapsEnabled() {
18
+ return !!process.sourceMapsEnabled;
19
+ }
20
+ //# sourceMappingURL=node-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["env","key","process","cwd","stdoutWrite","text","stdout","write","sourceMapsEnabled"],"sources":["../../../../src/host/node-host.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASA,GAAGA,CAACC,GAAW,EAAsB;EACnD,OAAOC,OAAO,CAACF,GAAG,CAACC,GAAG,CAAC;AACzB;AAEA,OAAO,SAASE,GAAGA,CAAA,EAAW;EAC5B,OAAOD,OAAO,CAACC,GAAG,CAAC,CAAC;AACtB;AAEA,OAAO,SAASC,WAAWA,CAACC,IAAY,EAAQ;EAC9CH,OAAO,CAACI,MAAM,CAACC,KAAK,CAACF,IAAI,CAAC;AAC5B;AAEA,OAAO,SAASG,iBAAiBA,CAAA,EAAY;EAC3C,OAAO,CAAC,CAAEN,OAAO,CAASM,iBAAiB;AAC7C","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export * from "./host/alloy-host.browser.js"; // Override writeOutput for browsers
2
+ export * from "./index.js"; // Re-export everything
3
+ //# sourceMappingURL=index.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../src/index.browser.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc,8BAA8B,CAAC,CAAC;AAC9C,cAAc,YAAY,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ export { TrackOpTypes, TriggerOpTypes, isProxy, isReactive, isRef, reactive, toRaw, track, trigger, watch } from "@vue/reactivity";
2
+ export * from "./binder.js";
3
+ export * from "./code.js";
4
+ export * from "./components/index.js";
5
+ export * from "./content-slot.js";
6
+ export * from "./context.js";
7
+ export * from "./context/index.js";
8
+ export * from "./diagnostics.js";
9
+ export * from "./library-symbol-reference.js";
10
+ export * from "./name-policy.js";
11
+ export * from "./props-combinators.js";
12
+ export * from "./reactive-union-set.js";
13
+ export * from "./reactivity.js";
14
+ export * from "./refkey.js";
15
+ export * from "./render.js";
16
+ export * from "./resource.js";
17
+ export * from "./runtime/component.js";
18
+ export * from "./runtime/intrinsic.js";
19
+ export * from "./stc.js";
20
+ export * from "./sti.js";
21
+ export * from "./symbols/index.js";
22
+ export * from "./symbols/symbol-flow.js";
23
+ export * from "./tap.js";
24
+ export * from "./utils.js";
25
+ export * from "./write-output.js";
26
+ import "./debug/index.js";
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TrackOpTypes","TriggerOpTypes","isProxy","isReactive","isRef","reactive","toRaw","track","trigger","watch"],"sources":["../../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,YAAY,EACZC,cAAc,EACdC,OAAO,EACPC,UAAU,EACVC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACLC,KAAK,EACLC,OAAO,EACPC,KAAK,QAOA,iBAAiB;AACxB,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,uBAAuB;AACrC,cAAc,mBAAmB;AACjC,cAAc,cAAc;AAC5B,cAAc,oBAAoB;AAClC,cAAc,kBAAkB;AAChC,cAAc,+BAA+B;AAC7C,cAAc,kBAAkB;AAChC,cAAc,wBAAwB;AACtC,cAAc,yBAAyB;AACvC,cAAc,iBAAiB;AAC/B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,eAAe;AAC7B,cAAc,wBAAwB;AACtC,cAAc,wBAAwB;AACtC,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,oBAAoB;AAClC,cAAc,0BAA0B;AACxC,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,mBAAmB;AACjC,OAAO,kBAAkB","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ // inspection is not supported in browsers
2
+ export function inspect() {
3
+ return "custom inspect";
4
+ }
5
+ inspect.custom = Symbol();
6
+ //# sourceMappingURL=inspect.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["inspect","custom","Symbol"],"sources":["../../../src/inspect.browser.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA,OAAO,SAASA,OAAOA,CAAA,EAAG;EACxB,OAAO,gBAAgB;AACzB;AAEAA,OAAO,CAACC,MAAM,GAAGC,MAAM,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export { inspect } from "util";
2
+ //# sourceMappingURL=inspect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["inspect"],"sources":["../../../src/inspect.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAO,QAAQ,MAAM","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ // Much of the implementations in this file are inspired by vuerx-js
2
+ // See: https://github.com/ryansolid/vuerx-jsx.
3
+
4
+ import { createComponent } from "@alloy-js/core";
5
+ export { createComponent, createIntrinsic, memo, mergeProps } from "@alloy-js/core";
6
+
7
+ /**
8
+ * This namespace is predominantly for interop with React tooling in VSCode
9
+ * and controls the type of JSX elements, components, and the like.
10
+ */
11
+ // eslint-disable-next-line @typescript-eslint/no-namespace
12
+ export let JSX;
13
+ export function jsx(type, props) {
14
+ return createComponent(type, props);
15
+ }
16
+ export const jsxs = jsx;
17
+ //# sourceMappingURL=jsx-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createComponent","createIntrinsic","memo","mergeProps","JSX","jsx","type","props","jsxs"],"sources":["../../../src/jsx-runtime.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;;AAOA,SAASA,eAAe,QAAQ,gBAAgB;AAChD,SACEA,eAAe,EACfC,eAAe,EACfC,IAAI,EACJC,UAAU,QAEL,gBAAgB;;AAEvB;AACA;AACA;AACA;AACA;AAAA,WACiBC,GAAG;AAYpB,OAAO,SAASC,GAAGA,CAACC,IAAoB,EAAEC,KAA8B,EAAE;EACxE,OAAOP,eAAe,CAACM,IAAI,EAAEC,KAAK,CAAC;AACrC;AAEA,OAAO,MAAMC,IAAI,GAAGH,GAAG","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ export const TO_SYMBOL = Symbol("Alloy.RefkeyableObject.TO_SYMBOL");
2
+ export function isLibrarySymbolReference(value) {
3
+ return typeof value === "object" && value !== null && Object.hasOwn(value, TO_SYMBOL);
4
+ }
5
+ //# sourceMappingURL=library-symbol-reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TO_SYMBOL","Symbol","isLibrarySymbolReference","value","Object","hasOwn"],"sources":["../../../src/library-symbol-reference.ts"],"sourcesContent":[null],"mappings":"AAGA,OAAO,MAAMA,SAAwB,GAAGC,MAAM,CAC5C,kCACF,CAAC;AAMD,OAAO,SAASC,wBAAwBA,CACtCC,KAAc,EACmB;EACjC,OACE,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACdC,MAAM,CAACC,MAAM,CAACF,KAAK,EAAEH,SAAS,CAAC;AAEnC","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ export function createNamePolicy(namer) {
2
+ const forCache = new Map();
3
+ const noopGetter = name => name;
4
+ return {
5
+ getName(name, element) {
6
+ if (!element) {
7
+ return name;
8
+ }
9
+ return namer(name, element);
10
+ },
11
+ for(element) {
12
+ if (!element) {
13
+ return noopGetter;
14
+ }
15
+ if (forCache.has(element)) {
16
+ return forCache.get(element);
17
+ }
18
+ const getter = name => namer(name, element);
19
+ forCache.set(element, getter);
20
+ return getter;
21
+ }
22
+ };
23
+ }
24
+ //# sourceMappingURL=name-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createNamePolicy","namer","forCache","Map","noopGetter","name","getName","element","for","has","get","getter","set"],"sources":["../../../src/name-policy.ts"],"sourcesContent":[null],"mappings":"AAeA,OAAO,SAASA,gBAAgBA,CAC9BC,KAA4C,EAC7B;EACf,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAA2B,CAAC;EACpD,MAAMC,UAAU,GAAIC,IAAY,IAAKA,IAAI;EAEzC,OAAO;IACLC,OAAOA,CAACD,IAAI,EAAEE,OAAO,EAAE;MACrB,IAAI,CAACA,OAAO,EAAE;QACZ,OAAOF,IAAI;MACb;MAEA,OAAOJ,KAAK,CAACI,IAAI,EAAEE,OAAO,CAAC;IAC7B,CAAC;IAEDC,GAAGA,CAACD,OAAO,EAAE;MACX,IAAI,CAACA,OAAO,EAAE;QACZ,OAAOH,UAAU;MACnB;MAEA,IAAIF,QAAQ,CAACO,GAAG,CAACF,OAAO,CAAC,EAAE;QACzB,OAAOL,QAAQ,CAACQ,GAAG,CAACH,OAAO,CAAC;MAC9B;MAEA,MAAMI,MAAM,GAAIN,IAAY,IAAKJ,KAAK,CAACI,IAAI,EAAEE,OAAO,CAAC;MACrDL,QAAQ,CAACU,GAAG,CAACL,OAAO,EAAEI,MAAM,CAAC;MAE7B,OAAOA,MAAM;IACf;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,100 @@
1
+ import { inspect } from "../inspect.js";
2
+ export function pret(strings, ...keys) {
3
+ const result = [strings[0]];
4
+ keys.forEach((key, i) => {
5
+ result.push(key);
6
+ result.push(strings[i + 1]);
7
+ });
8
+ return new PrettyString(result);
9
+ }
10
+ pret.black = x => new PrettyStringColored(x, "black");
11
+ pret.red = x => new PrettyStringColored(x, "red");
12
+ pret.green = x => new PrettyStringColored(x, "green");
13
+ pret.yellow = x => new PrettyStringColored(x, "yellow");
14
+ pret.blue = x => new PrettyStringColored(x, "blue");
15
+ pret.magenta = x => new PrettyStringColored(x, "magenta");
16
+ pret.cyan = x => new PrettyStringColored(x, "cyan");
17
+ pret.white = x => new PrettyStringColored(x, "white");
18
+ pret.gray = x => new PrettyStringColored(x, "gray");
19
+ pret.bgBlack = x => new PrettyStringColored(x, "bgBlack");
20
+ pret.bgRed = x => new PrettyStringColored(x, "bgRed");
21
+ pret.bgGreen = x => new PrettyStringColored(x, "bgGreen");
22
+ pret.bgYellow = x => new PrettyStringColored(x, "bgYellow");
23
+ pret.bgBlue = x => new PrettyStringColored(x, "bgBlue");
24
+ pret.bgMagenta = x => new PrettyStringColored(x, "bgMagenta");
25
+ pret.bgCyan = x => new PrettyStringColored(x, "bgCyan");
26
+ pret.bgWhite = x => new PrettyStringColored(x, "bgWhite");
27
+ pret.rgb = (r, g, b, x) => new PrettyStringColored(x, {
28
+ kind: "rgb",
29
+ r,
30
+ g,
31
+ b
32
+ });
33
+ const ansiColors = {
34
+ reset: ["\x1b[0m", "\x1b[0m"],
35
+ bold: ["\x1b[1m", "\x1b[22m"],
36
+ dim: ["\x1b[2m", "\x1b[22m"],
37
+ italic: ["\x1b[3m", "\x1b[23m"],
38
+ underline: ["\x1b[4m", "\x1b[24m"],
39
+ inverse: ["\x1b[7m", "\x1b[27m"],
40
+ hidden: ["\x1b[8m", "\x1b[28m"],
41
+ strikethrough: ["\x1b[9m", "\x1b[29m"],
42
+ black: ["\x1b[30m", "\x1b[39m"],
43
+ red: ["\x1b[31m", "\x1b[39m"],
44
+ green: ["\x1b[32m", "\x1b[39m"],
45
+ yellow: ["\x1b[33m", "\x1b[39m"],
46
+ blue: ["\x1b[34m", "\x1b[39m"],
47
+ magenta: ["\x1b[35m", "\x1b[39m"],
48
+ cyan: ["\x1b[36m", "\x1b[39m"],
49
+ white: ["\x1b[37m", "\x1b[39m"],
50
+ gray: ["\x1b[90m", "\x1b[39m"],
51
+ bgBlack: ["\x1b[40m", "\x1b[49m"],
52
+ bgRed: ["\x1b[41m", "\x1b[49m"],
53
+ bgGreen: ["\x1b[42m", "\x1b[49m"],
54
+ bgYellow: ["\x1b[43m", "\x1b[49m"],
55
+ bgBlue: ["\x1b[44m", "\x1b[49m"],
56
+ bgMagenta: ["\x1b[45m", "\x1b[49m"],
57
+ bgCyan: ["\x1b[46m", "\x1b[49m"],
58
+ bgWhite: ["\x1b[47m", "\x1b[49m"]
59
+ };
60
+ export class PrettyStringColored {
61
+ #value;
62
+ #color;
63
+ constructor(value, color) {
64
+ this.#value = value;
65
+ this.#color = color;
66
+ }
67
+ toString() {
68
+ return this.#value.toString();
69
+ }
70
+ toAnsi() {
71
+ if (typeof this.#color === "string") {
72
+ const [start, end] = ansiColors[this.#color];
73
+ return `${start}${typeof this.#value === "string" ? this.#value : this.#value.toAnsi()}${end}`;
74
+ }
75
+ const {
76
+ r,
77
+ g,
78
+ b
79
+ } = this.#color;
80
+ const start = `\x1b[38;2;${r};${g};${b}m`;
81
+ const end = `\x1b[39m`;
82
+ return `${start}${typeof this.#value === "string" ? this.#value : this.#value.toAnsi()}${end}`;
83
+ }
84
+ }
85
+ export class PrettyString {
86
+ #segments;
87
+ constructor(segments) {
88
+ this.#segments = segments;
89
+ }
90
+ toString() {
91
+ return this.#segments.map(s => typeof s === "string" ? s : s.toString()).join("");
92
+ }
93
+ toAnsi() {
94
+ return this.#segments.map(s => typeof s === "string" ? s : s.toAnsi()).join("");
95
+ }
96
+ [inspect.custom]() {
97
+ return this.toAnsi();
98
+ }
99
+ }
100
+ //# sourceMappingURL=pretty-string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["inspect","pret","strings","keys","result","forEach","key","i","push","PrettyString","black","x","PrettyStringColored","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","rgb","r","g","b","kind","ansiColors","reset","bold","dim","italic","underline","inverse","hidden","strikethrough","value","color","constructor","toString","toAnsi","start","end","segments","map","s","join","custom"],"sources":["../../../../src/pretty-string/pretty-string.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ import { expect, it } from "vitest";
2
+ import { pret } from "./pretty-string.js";
3
+ function expectRender(pretty, expected) {
4
+ expect(pretty.toString()).toBe(expected.toString);
5
+ expect(pretty.toAnsi()).toBe(expected.toAnsi);
6
+ }
7
+ it("interpolate basic string", () => {
8
+ const result = pret`foo ${"bar"} baz`;
9
+ expectRender(result, {
10
+ toString: "foo bar baz",
11
+ toAnsi: "foo bar baz"
12
+ });
13
+ });
14
+
15
+ // cspell:ignore mbar
16
+ it("interpolate pretty segment", () => {
17
+ const result = pret`foo ${pret.red("bar")} baz`;
18
+ expectRender(result, {
19
+ toString: "foo bar baz",
20
+ toAnsi: "foo \x1b[31mbar\x1b[39m baz"
21
+ });
22
+ });
23
+ it("interpolate another pretty string with more formatting", () => {
24
+ const a = pret`foo ${pret.red("bar")} baz`;
25
+ const result = pret`Hi, ${pret.bgGreen(a)}`;
26
+ expectRender(result, {
27
+ toString: "Hi, foo bar baz",
28
+ toAnsi: "Hi, \x1b[42mfoo \x1b[31mbar\x1b[39m baz\x1b[49m"
29
+ });
30
+ });
31
+ it("use full rgb", () => {
32
+ const result = pret`foo ${pret.rgb(123, 45, 67, "bar")} baz`;
33
+ expectRender(result, {
34
+ toString: "foo bar baz",
35
+ toAnsi: "foo \x1b[38;2;123;45;67mbar\x1b[39m baz"
36
+ });
37
+ });
38
+ //# sourceMappingURL=pretty-string.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["expect","it","pret","expectRender","pretty","expected","toString","toBe","toAnsi","result","red","a","bgGreen","rgb"],"sources":["../../../../src/pretty-string/pretty-string.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,IAAI,QAAsB,oBAAoB;AAEvD,SAASC,YAAYA,CACnBC,MAAoB,EACpBC,QAGC,EACD;EACAL,MAAM,CAACI,MAAM,CAACE,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAACF,QAAQ,CAACC,QAAQ,CAAC;EACjDN,MAAM,CAACI,MAAM,CAACI,MAAM,CAAC,CAAC,CAAC,CAACD,IAAI,CAACF,QAAQ,CAACG,MAAM,CAAC;AAC/C;AAEAP,EAAE,CAAC,0BAA0B,EAAE,MAAM;EACnC,MAAMQ,MAAM,GAAGP,IAAI,OAAO,KAAK,MAAM;EACrCC,YAAY,CAACM,MAAM,EAAE;IACnBH,QAAQ,EAAE,aAAa;IACvBE,MAAM,EAAE;EACV,CAAC,CAAC;AACJ,CAAC,CAAC;;AAEF;AACAP,EAAE,CAAC,4BAA4B,EAAE,MAAM;EACrC,MAAMQ,MAAM,GAAGP,IAAI,OAAOA,IAAI,CAACQ,GAAG,CAAC,KAAK,CAAC,MAAM;EAC/CP,YAAY,CAACM,MAAM,EAAE;IACnBH,QAAQ,EAAE,aAAa;IACvBE,MAAM,EAAE;EACV,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFP,EAAE,CAAC,wDAAwD,EAAE,MAAM;EACjE,MAAMU,CAAC,GAAGT,IAAI,OAAOA,IAAI,CAACQ,GAAG,CAAC,KAAK,CAAC,MAAM;EAC1C,MAAMD,MAAM,GAAGP,IAAI,OAAOA,IAAI,CAACU,OAAO,CAACD,CAAC,CAAC,EAAE;EAC3CR,YAAY,CAACM,MAAM,EAAE;IACnBH,QAAQ,EAAE,iBAAiB;IAC3BE,MAAM,EAAE;EACV,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFP,EAAE,CAAC,cAAc,EAAE,MAAM;EACvB,MAAMQ,MAAM,GAAGP,IAAI,OAAOA,IAAI,CAACW,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM;EAC5DV,YAAY,CAACM,MAAM,EAAE;IACnBH,QAAQ,EAAE,aAAa;IACvBE,MAAM,EAAE;EACV,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Print hook types and utilities.
3
+ * This is a separate file to avoid circular dependencies between render.ts and debug/render.ts.
4
+ */
5
+
6
+ export const printHookTag = Symbol();
7
+ export function isPrintHook(type) {
8
+ return typeof type === "object" && type !== null && printHookTag in type;
9
+ }
10
+ //# sourceMappingURL=print-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["printHookTag","Symbol","isPrintHook","type"],"sources":["../../../src/print-hook.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,YAAY,GAAGC,MAAM,CAAC,CAAC;AAYpC,OAAO,SAASC,WAAWA,CAACC,IAAa,EAAqB;EAC5D,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,IAAIH,YAAY,IAAIG,IAAI;AAC1E","ignoreList":[]}