effect-start 0.27.0 → 0.28.0

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 (633) hide show
  1. package/dist/ChildProcess.d.ts +60 -0
  2. package/dist/ChildProcess.d.ts.map +1 -0
  3. package/dist/ChildProcess.js +30 -0
  4. package/dist/ChildProcess.js.map +1 -0
  5. package/dist/Commander.d.ts +101 -0
  6. package/dist/Commander.d.ts.map +1 -0
  7. package/dist/Commander.js +327 -0
  8. package/dist/Commander.js.map +1 -0
  9. package/dist/ContentNegotiation.d.ts +13 -0
  10. package/dist/ContentNegotiation.d.ts.map +1 -0
  11. package/dist/ContentNegotiation.js +360 -0
  12. package/dist/ContentNegotiation.js.map +1 -0
  13. package/dist/Cookies.d.ts +78 -0
  14. package/dist/Cookies.d.ts.map +1 -0
  15. package/dist/Cookies.js +303 -0
  16. package/dist/Cookies.js.map +1 -0
  17. package/dist/Development.d.ts +42 -0
  18. package/dist/Development.d.ts.map +1 -0
  19. package/dist/Development.js +60 -0
  20. package/dist/Development.js.map +1 -0
  21. package/dist/Docker.d.ts +51 -0
  22. package/dist/Docker.d.ts.map +1 -0
  23. package/dist/Docker.js +88 -0
  24. package/dist/Docker.js.map +1 -0
  25. package/dist/Effectify.d.ts +210 -0
  26. package/dist/Effectify.d.ts.map +1 -0
  27. package/dist/Effectify.js +20 -0
  28. package/dist/Effectify.js.map +1 -0
  29. package/dist/Entity.d.ts +48 -0
  30. package/dist/Entity.d.ts.map +1 -0
  31. package/dist/Entity.js +235 -0
  32. package/dist/Entity.js.map +1 -0
  33. package/dist/Fetch.d.ts +50 -0
  34. package/dist/Fetch.d.ts.map +1 -0
  35. package/dist/Fetch.js +136 -0
  36. package/dist/Fetch.js.map +1 -0
  37. package/dist/FilePathPattern.d.ts +30 -0
  38. package/dist/FilePathPattern.d.ts.map +1 -0
  39. package/dist/FilePathPattern.js +87 -0
  40. package/dist/FilePathPattern.js.map +1 -0
  41. package/dist/FileRouter.d.ts +57 -0
  42. package/dist/FileRouter.d.ts.map +1 -0
  43. package/dist/FileRouter.js +149 -0
  44. package/dist/FileRouter.js.map +1 -0
  45. package/dist/FileRouterCodegen.d.ts +19 -0
  46. package/dist/FileRouterCodegen.d.ts.map +1 -0
  47. package/dist/FileRouterCodegen.js +228 -0
  48. package/dist/FileRouterCodegen.js.map +1 -0
  49. package/dist/FileSystem.d.ts +159 -0
  50. package/dist/FileSystem.d.ts.map +1 -0
  51. package/dist/FileSystem.js +71 -0
  52. package/dist/FileSystem.js.map +1 -0
  53. package/dist/GlobalLayer.d.ts +4 -0
  54. package/dist/GlobalLayer.d.ts.map +1 -0
  55. package/dist/GlobalLayer.js +51 -0
  56. package/dist/GlobalLayer.js.map +1 -0
  57. package/dist/Http.d.ts +38 -0
  58. package/dist/Http.d.ts.map +1 -0
  59. package/dist/Http.js +89 -0
  60. package/dist/Http.js.map +1 -0
  61. package/dist/PathPattern.d.ts +135 -0
  62. package/dist/PathPattern.d.ts.map +1 -0
  63. package/dist/PathPattern.js +414 -0
  64. package/dist/PathPattern.js.map +1 -0
  65. package/dist/PlatformError.d.ts +39 -0
  66. package/dist/PlatformError.d.ts.map +1 -0
  67. package/dist/PlatformError.js +26 -0
  68. package/dist/PlatformError.js.map +1 -0
  69. package/dist/PlatformRuntime.d.ts +30 -0
  70. package/dist/PlatformRuntime.d.ts.map +1 -0
  71. package/dist/PlatformRuntime.js +50 -0
  72. package/dist/PlatformRuntime.js.map +1 -0
  73. package/dist/Route.d.ts +98 -0
  74. package/dist/Route.d.ts.map +1 -0
  75. package/dist/Route.js +101 -0
  76. package/dist/Route.js.map +1 -0
  77. package/dist/RouteBody.d.ts +48 -0
  78. package/dist/RouteBody.d.ts.map +1 -0
  79. package/dist/RouteBody.js +68 -0
  80. package/dist/RouteBody.js.map +1 -0
  81. package/dist/RouteError.d.ts +99 -0
  82. package/dist/RouteError.d.ts.map +1 -0
  83. package/dist/RouteError.js +56 -0
  84. package/dist/RouteError.js.map +1 -0
  85. package/dist/RouteHook.d.ts +13 -0
  86. package/dist/RouteHook.d.ts.map +1 -0
  87. package/dist/RouteHook.js +40 -0
  88. package/dist/RouteHook.js.map +1 -0
  89. package/dist/RouteHttp.d.ts +22 -0
  90. package/dist/RouteHttp.d.ts.map +1 -0
  91. package/dist/RouteHttp.js +259 -0
  92. package/dist/RouteHttp.js.map +1 -0
  93. package/dist/RouteHttpTracer.d.ts +11 -0
  94. package/dist/RouteHttpTracer.d.ts.map +1 -0
  95. package/dist/RouteHttpTracer.js +63 -0
  96. package/dist/RouteHttpTracer.js.map +1 -0
  97. package/dist/RouteMount.d.ts +87 -0
  98. package/dist/RouteMount.d.ts.map +1 -0
  99. package/dist/RouteMount.js +64 -0
  100. package/dist/RouteMount.js.map +1 -0
  101. package/dist/RouteSchema.d.ts +87 -0
  102. package/dist/RouteSchema.d.ts.map +1 -0
  103. package/dist/RouteSchema.js +189 -0
  104. package/dist/RouteSchema.js.map +1 -0
  105. package/dist/RouteSse.d.ts +22 -0
  106. package/dist/RouteSse.d.ts.map +1 -0
  107. package/dist/RouteSse.js +80 -0
  108. package/dist/RouteSse.js.map +1 -0
  109. package/dist/RouteTree.d.ts +58 -0
  110. package/dist/RouteTree.d.ts.map +1 -0
  111. package/dist/RouteTree.js +94 -0
  112. package/dist/RouteTree.js.map +1 -0
  113. package/dist/RouteTrie.d.ts +21 -0
  114. package/dist/RouteTrie.d.ts.map +1 -0
  115. package/dist/RouteTrie.js +153 -0
  116. package/dist/RouteTrie.js.map +1 -0
  117. package/dist/SchemaExtra.d.ts +8 -0
  118. package/dist/SchemaExtra.d.ts.map +1 -0
  119. package/dist/SchemaExtra.js +75 -0
  120. package/dist/SchemaExtra.js.map +1 -0
  121. package/dist/Socket.d.ts +28 -0
  122. package/dist/Socket.d.ts.map +1 -0
  123. package/dist/Socket.js +30 -0
  124. package/dist/Socket.js.map +1 -0
  125. package/dist/SqlIntrospect.d.ts +92 -0
  126. package/dist/SqlIntrospect.d.ts.map +1 -0
  127. package/dist/SqlIntrospect.js +478 -0
  128. package/dist/SqlIntrospect.js.map +1 -0
  129. package/dist/Start.d.ts +90 -0
  130. package/dist/Start.d.ts.map +1 -0
  131. package/dist/Start.js +91 -0
  132. package/dist/Start.js.map +1 -0
  133. package/dist/StartApp.d.ts +13 -0
  134. package/dist/StartApp.d.ts.map +1 -0
  135. package/dist/StartApp.js +4 -0
  136. package/dist/StartApp.js.map +1 -0
  137. package/dist/StreamExtra.d.ts +29 -0
  138. package/dist/StreamExtra.d.ts.map +1 -0
  139. package/dist/StreamExtra.js +101 -0
  140. package/dist/StreamExtra.js.map +1 -0
  141. package/dist/System.d.ts +9 -0
  142. package/dist/System.d.ts.map +1 -0
  143. package/dist/System.js +61 -0
  144. package/dist/System.js.map +1 -0
  145. package/dist/TuplePathPattern.d.ts +10 -0
  146. package/dist/TuplePathPattern.d.ts.map +1 -0
  147. package/dist/TuplePathPattern.js +69 -0
  148. package/dist/TuplePathPattern.js.map +1 -0
  149. package/dist/Unique.d.ts +68 -0
  150. package/dist/Unique.d.ts.map +1 -0
  151. package/dist/Unique.js +225 -0
  152. package/dist/Unique.js.map +1 -0
  153. package/dist/Values.d.ts +30 -0
  154. package/dist/Values.d.ts.map +1 -0
  155. package/dist/Values.js +46 -0
  156. package/dist/Values.js.map +1 -0
  157. package/dist/bun/BunBundle.d.ts +12 -0
  158. package/dist/bun/BunBundle.d.ts.map +1 -0
  159. package/dist/bun/BunBundle.js +138 -0
  160. package/dist/bun/BunBundle.js.map +1 -0
  161. package/dist/bun/BunChildProcessSpawner.d.ts +4 -0
  162. package/dist/bun/BunChildProcessSpawner.d.ts.map +1 -0
  163. package/dist/bun/BunChildProcessSpawner.js +99 -0
  164. package/dist/bun/BunChildProcessSpawner.js.map +1 -0
  165. package/dist/bun/BunImportTrackerPlugin.d.ts +14 -0
  166. package/dist/bun/BunImportTrackerPlugin.d.ts.map +1 -0
  167. package/dist/bun/BunImportTrackerPlugin.js +70 -0
  168. package/dist/bun/BunImportTrackerPlugin.js.map +1 -0
  169. package/dist/bun/BunRoute.d.ts +49 -0
  170. package/dist/bun/BunRoute.d.ts.map +1 -0
  171. package/dist/bun/BunRoute.js +122 -0
  172. package/dist/bun/BunRoute.js.map +1 -0
  173. package/dist/bun/BunRuntime.d.ts +3 -0
  174. package/dist/bun/BunRuntime.d.ts.map +1 -0
  175. package/dist/bun/BunRuntime.js +30 -0
  176. package/dist/bun/BunRuntime.js.map +1 -0
  177. package/dist/bun/BunServer.d.ts +52 -0
  178. package/dist/bun/BunServer.d.ts.map +1 -0
  179. package/dist/bun/BunServer.js +262 -0
  180. package/dist/bun/BunServer.js.map +1 -0
  181. package/dist/bun/BunVirtualFilesPlugin.d.ts +5 -0
  182. package/dist/bun/BunVirtualFilesPlugin.d.ts.map +1 -0
  183. package/dist/bun/BunVirtualFilesPlugin.js +41 -0
  184. package/dist/bun/BunVirtualFilesPlugin.js.map +1 -0
  185. package/dist/bun/_BunEnhancedResolve.d.ts +46 -0
  186. package/dist/bun/_BunEnhancedResolve.d.ts.map +1 -0
  187. package/dist/bun/_BunEnhancedResolve.js +103 -0
  188. package/dist/bun/_BunEnhancedResolve.js.map +1 -0
  189. package/dist/bun/index.d.ts +6 -0
  190. package/dist/bun/index.d.ts.map +1 -0
  191. package/dist/bun/index.js +6 -0
  192. package/dist/bun/index.js.map +1 -0
  193. package/dist/bundler/Bundle.d.ts +62 -0
  194. package/dist/bundler/Bundle.d.ts.map +1 -0
  195. package/dist/bundler/Bundle.js +49 -0
  196. package/dist/bundler/Bundle.js.map +1 -0
  197. package/dist/bundler/BundleFiles.d.ts +14 -0
  198. package/dist/bundler/BundleFiles.d.ts.map +1 -0
  199. package/dist/bundler/BundleFiles.js +97 -0
  200. package/dist/bundler/BundleFiles.js.map +1 -0
  201. package/dist/bundler/BundleRoute.d.ts +27 -0
  202. package/dist/bundler/BundleRoute.d.ts.map +1 -0
  203. package/dist/bundler/BundleRoute.js +52 -0
  204. package/dist/bundler/BundleRoute.js.map +1 -0
  205. package/dist/client/Overlay.d.ts +3 -0
  206. package/dist/client/Overlay.d.ts.map +1 -0
  207. package/dist/client/Overlay.js +33 -0
  208. package/dist/client/Overlay.js.map +1 -0
  209. package/dist/client/ScrollState.d.ts +7 -0
  210. package/dist/client/ScrollState.d.ts.map +1 -0
  211. package/dist/client/ScrollState.js +95 -0
  212. package/dist/client/ScrollState.js.map +1 -0
  213. package/dist/client/index.d.ts +7 -0
  214. package/dist/client/index.d.ts.map +1 -0
  215. package/dist/client/index.js +80 -0
  216. package/dist/client/index.js.map +1 -0
  217. package/dist/datastar/actions/fetch.d.ts +31 -0
  218. package/dist/datastar/actions/fetch.d.ts.map +1 -0
  219. package/dist/datastar/actions/fetch.js +404 -0
  220. package/dist/datastar/actions/fetch.js.map +1 -0
  221. package/dist/datastar/actions/peek.d.ts +2 -0
  222. package/dist/datastar/actions/peek.d.ts.map +1 -0
  223. package/dist/datastar/actions/peek.js +14 -0
  224. package/dist/datastar/actions/peek.js.map +1 -0
  225. package/dist/datastar/actions/setAll.d.ts +2 -0
  226. package/dist/datastar/actions/setAll.d.ts.map +1 -0
  227. package/dist/datastar/actions/setAll.js +13 -0
  228. package/dist/datastar/actions/setAll.js.map +1 -0
  229. package/dist/datastar/actions/toggleAll.d.ts +2 -0
  230. package/dist/datastar/actions/toggleAll.d.ts.map +1 -0
  231. package/dist/datastar/actions/toggleAll.js +13 -0
  232. package/dist/datastar/actions/toggleAll.js.map +1 -0
  233. package/dist/datastar/attributes/attr.d.ts +2 -0
  234. package/dist/datastar/attributes/attr.d.ts.map +1 -0
  235. package/dist/datastar/attributes/attr.js +49 -0
  236. package/dist/datastar/attributes/attr.js.map +1 -0
  237. package/dist/datastar/attributes/bind.d.ts +2 -0
  238. package/dist/datastar/attributes/bind.d.ts.map +1 -0
  239. package/dist/datastar/attributes/bind.js +176 -0
  240. package/dist/datastar/attributes/bind.js.map +1 -0
  241. package/dist/datastar/attributes/class.d.ts +2 -0
  242. package/dist/datastar/attributes/class.d.ts.map +1 -0
  243. package/dist/datastar/attributes/class.js +48 -0
  244. package/dist/datastar/attributes/class.js.map +1 -0
  245. package/dist/datastar/attributes/computed.d.ts +2 -0
  246. package/dist/datastar/attributes/computed.d.ts.map +1 -0
  247. package/dist/datastar/attributes/computed.js +27 -0
  248. package/dist/datastar/attributes/computed.js.map +1 -0
  249. package/dist/datastar/attributes/effect.d.ts +2 -0
  250. package/dist/datastar/attributes/effect.d.ts.map +1 -0
  251. package/dist/datastar/attributes/effect.js +10 -0
  252. package/dist/datastar/attributes/effect.js.map +1 -0
  253. package/dist/datastar/attributes/indicator.d.ts +2 -0
  254. package/dist/datastar/attributes/indicator.d.ts.map +1 -0
  255. package/dist/datastar/attributes/indicator.js +31 -0
  256. package/dist/datastar/attributes/indicator.js.map +1 -0
  257. package/dist/datastar/attributes/init.d.ts +2 -0
  258. package/dist/datastar/attributes/init.d.ts.map +1 -0
  259. package/dist/datastar/attributes/init.js +27 -0
  260. package/dist/datastar/attributes/init.js.map +1 -0
  261. package/dist/datastar/attributes/jsonSignals.d.ts +2 -0
  262. package/dist/datastar/attributes/jsonSignals.d.ts.map +1 -0
  263. package/dist/datastar/attributes/jsonSignals.js +31 -0
  264. package/dist/datastar/attributes/jsonSignals.js.map +1 -0
  265. package/dist/datastar/attributes/on.d.ts +2 -0
  266. package/dist/datastar/attributes/on.d.ts.map +1 -0
  267. package/dist/datastar/attributes/on.js +79 -0
  268. package/dist/datastar/attributes/on.js.map +1 -0
  269. package/dist/datastar/attributes/onIntersect.d.ts +2 -0
  270. package/dist/datastar/attributes/onIntersect.d.ts.map +1 -0
  271. package/dist/datastar/attributes/onIntersect.js +54 -0
  272. package/dist/datastar/attributes/onIntersect.js.map +1 -0
  273. package/dist/datastar/attributes/onInterval.d.ts +2 -0
  274. package/dist/datastar/attributes/onInterval.d.ts.map +1 -0
  275. package/dist/datastar/attributes/onInterval.js +31 -0
  276. package/dist/datastar/attributes/onInterval.js.map +1 -0
  277. package/dist/datastar/attributes/onSignalPatch.d.ts +2 -0
  278. package/dist/datastar/attributes/onSignalPatch.d.ts.map +1 -0
  279. package/dist/datastar/attributes/onSignalPatch.js +43 -0
  280. package/dist/datastar/attributes/onSignalPatch.js.map +1 -0
  281. package/dist/datastar/attributes/ref.d.ts +2 -0
  282. package/dist/datastar/attributes/ref.d.ts.map +1 -0
  283. package/dist/datastar/attributes/ref.js +11 -0
  284. package/dist/datastar/attributes/ref.js.map +1 -0
  285. package/dist/datastar/attributes/show.d.ts +2 -0
  286. package/dist/datastar/attributes/show.d.ts.map +1 -0
  287. package/dist/datastar/attributes/show.js +32 -0
  288. package/dist/datastar/attributes/show.js.map +1 -0
  289. package/dist/datastar/attributes/signals.d.ts +2 -0
  290. package/dist/datastar/attributes/signals.d.ts.map +1 -0
  291. package/dist/datastar/attributes/signals.js +18 -0
  292. package/dist/datastar/attributes/signals.js.map +1 -0
  293. package/dist/datastar/attributes/style.d.ts +2 -0
  294. package/dist/datastar/attributes/style.d.ts.map +1 -0
  295. package/dist/datastar/attributes/style.js +51 -0
  296. package/dist/datastar/attributes/style.js.map +1 -0
  297. package/dist/datastar/attributes/text.d.ts +2 -0
  298. package/dist/datastar/attributes/text.d.ts.map +1 -0
  299. package/dist/datastar/attributes/text.js +27 -0
  300. package/dist/datastar/attributes/text.js.map +1 -0
  301. package/dist/datastar/engine.d.ts +163 -0
  302. package/dist/datastar/engine.d.ts.map +1 -0
  303. package/dist/datastar/engine.js +1000 -0
  304. package/dist/datastar/engine.js.map +1 -0
  305. package/dist/datastar/index.d.ts +25 -0
  306. package/dist/datastar/index.d.ts.map +1 -0
  307. package/dist/datastar/index.js +25 -0
  308. package/dist/datastar/index.js.map +1 -0
  309. package/dist/datastar/utils.d.ts +52 -0
  310. package/dist/datastar/utils.d.ts.map +1 -0
  311. package/dist/datastar/utils.js +203 -0
  312. package/dist/datastar/utils.js.map +1 -0
  313. package/dist/datastar/watchers/patchElements.d.ts +2 -0
  314. package/dist/datastar/watchers/patchElements.d.ts.map +1 -0
  315. package/dist/datastar/watchers/patchElements.js +398 -0
  316. package/dist/datastar/watchers/patchElements.js.map +1 -0
  317. package/dist/datastar/watchers/patchSignals.d.ts +2 -0
  318. package/dist/datastar/watchers/patchSignals.d.ts.map +1 -0
  319. package/dist/datastar/watchers/patchSignals.js +15 -0
  320. package/dist/datastar/watchers/patchSignals.js.map +1 -0
  321. package/dist/experimental/EncryptedCookies.d.ts +49 -0
  322. package/dist/experimental/EncryptedCookies.d.ts.map +1 -0
  323. package/dist/experimental/EncryptedCookies.js +213 -0
  324. package/dist/experimental/EncryptedCookies.js.map +1 -0
  325. package/dist/experimental/index.d.ts +2 -0
  326. package/dist/experimental/index.d.ts.map +1 -0
  327. package/dist/experimental/index.js +2 -0
  328. package/dist/experimental/index.js.map +1 -0
  329. package/dist/hyper/Hyper.d.ts +26 -0
  330. package/dist/hyper/Hyper.d.ts.map +1 -0
  331. package/dist/hyper/Hyper.js +24 -0
  332. package/dist/hyper/Hyper.js.map +1 -0
  333. package/dist/hyper/HyperHtml.d.ts +24 -0
  334. package/dist/hyper/HyperHtml.d.ts.map +1 -0
  335. package/dist/hyper/HyperHtml.js +153 -0
  336. package/dist/hyper/HyperHtml.js.map +1 -0
  337. package/dist/hyper/HyperHtml.test.d.ts +2 -0
  338. package/dist/hyper/HyperHtml.test.d.ts.map +1 -0
  339. package/dist/hyper/HyperHtml.test.js +283 -0
  340. package/dist/hyper/HyperHtml.test.js.map +1 -0
  341. package/dist/hyper/HyperNode.d.ts +15 -0
  342. package/dist/hyper/HyperNode.d.ts.map +1 -0
  343. package/dist/hyper/HyperNode.js +12 -0
  344. package/dist/hyper/HyperNode.js.map +1 -0
  345. package/dist/hyper/HyperRoute.d.ts +9 -0
  346. package/dist/hyper/HyperRoute.d.ts.map +1 -0
  347. package/dist/hyper/HyperRoute.js +33 -0
  348. package/dist/hyper/HyperRoute.js.map +1 -0
  349. package/dist/hyper/HyperRoute.test.d.ts +2 -0
  350. package/dist/hyper/HyperRoute.test.d.ts.map +1 -0
  351. package/dist/hyper/HyperRoute.test.js +86 -0
  352. package/dist/hyper/HyperRoute.test.js.map +1 -0
  353. package/dist/hyper/html.d.ts +11 -0
  354. package/dist/hyper/html.d.ts.map +1 -0
  355. package/dist/hyper/html.js +31 -0
  356. package/dist/hyper/html.js.map +1 -0
  357. package/dist/hyper/index.d.ts +7 -0
  358. package/dist/hyper/index.d.ts.map +1 -0
  359. package/dist/hyper/index.js +6 -0
  360. package/dist/hyper/index.js.map +1 -0
  361. package/dist/hyper/jsx-runtime.d.ts +8 -0
  362. package/dist/hyper/jsx-runtime.d.ts.map +1 -0
  363. package/dist/hyper/jsx-runtime.js +9 -0
  364. package/dist/hyper/jsx-runtime.js.map +1 -0
  365. package/dist/index.d.ts +9 -0
  366. package/dist/index.d.ts.map +1 -0
  367. package/dist/index.js +9 -0
  368. package/dist/index.js.map +1 -0
  369. package/dist/lint/plugin.d.ts +121 -0
  370. package/dist/lint/plugin.d.ts.map +1 -0
  371. package/dist/lint/plugin.js +537 -0
  372. package/dist/lint/plugin.js.map +1 -0
  373. package/dist/node/NodeFileSystem.d.ts +8 -0
  374. package/dist/node/NodeFileSystem.d.ts.map +1 -0
  375. package/dist/node/NodeFileSystem.js +411 -0
  376. package/dist/node/NodeFileSystem.js.map +1 -0
  377. package/dist/node/NodeUtils.d.ts +3 -0
  378. package/dist/node/NodeUtils.d.ts.map +1 -0
  379. package/dist/node/NodeUtils.js +21 -0
  380. package/dist/node/NodeUtils.js.map +1 -0
  381. package/dist/sql/SqlCache.d.ts +18 -0
  382. package/dist/sql/SqlCache.d.ts.map +1 -0
  383. package/dist/sql/SqlCache.js +31 -0
  384. package/dist/sql/SqlCache.js.map +1 -0
  385. package/dist/sql/SqlClient.d.ts +88 -0
  386. package/dist/sql/SqlClient.d.ts.map +1 -0
  387. package/dist/sql/SqlClient.js +171 -0
  388. package/dist/sql/SqlClient.js.map +1 -0
  389. package/dist/sql/bun/index.d.ts +6 -0
  390. package/dist/sql/bun/index.d.ts.map +1 -0
  391. package/dist/sql/bun/index.js +132 -0
  392. package/dist/sql/bun/index.js.map +1 -0
  393. package/dist/sql/index.d.ts +3 -0
  394. package/dist/sql/index.d.ts.map +1 -0
  395. package/dist/sql/index.js +3 -0
  396. package/dist/sql/index.js.map +1 -0
  397. package/dist/sql/libsql/index.d.ts +15 -0
  398. package/dist/sql/libsql/index.d.ts.map +1 -0
  399. package/dist/sql/libsql/index.js +132 -0
  400. package/dist/sql/libsql/index.js.map +1 -0
  401. package/dist/sql/mssql/index.d.ts +8 -0
  402. package/dist/sql/mssql/index.d.ts.map +1 -0
  403. package/dist/sql/mssql/index.js +145 -0
  404. package/dist/sql/mssql/index.js.map +1 -0
  405. package/dist/sql/postgres/index.d.ts +7 -0
  406. package/dist/sql/postgres/index.d.ts.map +1 -0
  407. package/dist/sql/postgres/index.js +136 -0
  408. package/dist/sql/postgres/index.js.map +1 -0
  409. package/dist/testing/TestLogger.d.ts +14 -0
  410. package/dist/testing/TestLogger.d.ts.map +1 -0
  411. package/dist/testing/TestLogger.js +33 -0
  412. package/dist/testing/TestLogger.js.map +1 -0
  413. package/dist/testing/index.d.ts +3 -0
  414. package/dist/testing/index.d.ts.map +1 -0
  415. package/dist/testing/index.js +3 -0
  416. package/dist/testing/index.js.map +1 -0
  417. package/dist/testing/utils.d.ts +10 -0
  418. package/dist/testing/utils.d.ts.map +1 -0
  419. package/dist/testing/utils.js +40 -0
  420. package/dist/testing/utils.js.map +1 -0
  421. package/dist/tower/Simulation.d.ts +3 -0
  422. package/dist/tower/Simulation.d.ts.map +1 -0
  423. package/dist/tower/Simulation.js +606 -0
  424. package/dist/tower/Simulation.js.map +1 -0
  425. package/dist/tower/Tower.d.ts +11 -0
  426. package/dist/tower/Tower.d.ts.map +1 -0
  427. package/dist/tower/Tower.js +30 -0
  428. package/dist/tower/Tower.js.map +1 -0
  429. package/dist/tower/TowerErrors.d.ts +4 -0
  430. package/dist/tower/TowerErrors.d.ts.map +1 -0
  431. package/dist/tower/TowerErrors.js +200 -0
  432. package/dist/tower/TowerErrors.js.map +1 -0
  433. package/dist/tower/TowerLogger.d.ts +2 -0
  434. package/dist/tower/TowerLogger.d.ts.map +1 -0
  435. package/dist/tower/TowerLogger.js +46 -0
  436. package/dist/tower/TowerLogger.js.map +1 -0
  437. package/dist/tower/TowerMetrics.d.ts +4 -0
  438. package/dist/tower/TowerMetrics.d.ts.map +1 -0
  439. package/dist/tower/TowerMetrics.js +62 -0
  440. package/dist/tower/TowerMetrics.js.map +1 -0
  441. package/dist/tower/TowerProcess.d.ts +4 -0
  442. package/dist/tower/TowerProcess.d.ts.map +1 -0
  443. package/dist/tower/TowerProcess.js +50 -0
  444. package/dist/tower/TowerProcess.js.map +1 -0
  445. package/dist/tower/TowerStore.d.ts +199 -0
  446. package/dist/tower/TowerStore.d.ts.map +1 -0
  447. package/dist/tower/TowerStore.js +307 -0
  448. package/dist/tower/TowerStore.js.map +1 -0
  449. package/dist/tower/TowerTracer.d.ts +4 -0
  450. package/dist/tower/TowerTracer.d.ts.map +1 -0
  451. package/dist/tower/TowerTracer.js +111 -0
  452. package/dist/tower/TowerTracer.js.map +1 -0
  453. package/dist/tower/index.d.ts +4 -0
  454. package/dist/tower/index.d.ts.map +1 -0
  455. package/dist/tower/index.js +4 -0
  456. package/dist/tower/index.js.map +1 -0
  457. package/dist/tower/routes/errors/route.d.ts +11 -0
  458. package/dist/tower/routes/errors/route.d.ts.map +1 -0
  459. package/dist/tower/routes/errors/route.js +47 -0
  460. package/dist/tower/routes/errors/route.js.map +1 -0
  461. package/dist/tower/routes/fiberDetail.d.ts +17 -0
  462. package/dist/tower/routes/fiberDetail.d.ts.map +1 -0
  463. package/dist/tower/routes/fiberDetail.js +35 -0
  464. package/dist/tower/routes/fiberDetail.js.map +1 -0
  465. package/dist/tower/routes/fibers/route.d.ts +11 -0
  466. package/dist/tower/routes/fibers/route.d.ts.map +1 -0
  467. package/dist/tower/routes/fibers/route.js +27 -0
  468. package/dist/tower/routes/fibers/route.js.map +1 -0
  469. package/dist/tower/routes/layout.d.ts +10 -0
  470. package/dist/tower/routes/layout.d.ts.map +1 -0
  471. package/dist/tower/routes/layout.js +4 -0
  472. package/dist/tower/routes/layout.js.map +1 -0
  473. package/dist/tower/routes/logs/route.d.ts +11 -0
  474. package/dist/tower/routes/logs/route.d.ts.map +1 -0
  475. package/dist/tower/routes/logs/route.js +36 -0
  476. package/dist/tower/routes/logs/route.js.map +1 -0
  477. package/dist/tower/routes/metrics/route.d.ts +11 -0
  478. package/dist/tower/routes/metrics/route.d.ts.map +1 -0
  479. package/dist/tower/routes/metrics/route.js +20 -0
  480. package/dist/tower/routes/metrics/route.js.map +1 -0
  481. package/dist/tower/routes/route.d.ts +7 -0
  482. package/dist/tower/routes/route.d.ts.map +1 -0
  483. package/dist/tower/routes/route.js +6 -0
  484. package/dist/tower/routes/route.js.map +1 -0
  485. package/dist/tower/routes/routes/route.d.ts +7 -0
  486. package/dist/tower/routes/routes/route.d.ts.map +1 -0
  487. package/dist/tower/routes/routes/route.js +23 -0
  488. package/dist/tower/routes/routes/route.js.map +1 -0
  489. package/dist/tower/routes/services/route.d.ts +7 -0
  490. package/dist/tower/routes/services/route.d.ts.map +1 -0
  491. package/dist/tower/routes/services/route.js +15 -0
  492. package/dist/tower/routes/services/route.js.map +1 -0
  493. package/dist/tower/routes/system/route.d.ts +11 -0
  494. package/dist/tower/routes/system/route.d.ts.map +1 -0
  495. package/dist/tower/routes/system/route.js +21 -0
  496. package/dist/tower/routes/system/route.js.map +1 -0
  497. package/dist/tower/routes/traceDetail.d.ts +17 -0
  498. package/dist/tower/routes/traceDetail.d.ts.map +1 -0
  499. package/dist/tower/routes/traceDetail.js +20 -0
  500. package/dist/tower/routes/traceDetail.js.map +1 -0
  501. package/dist/tower/routes/traces/route.d.ts +11 -0
  502. package/dist/tower/routes/traces/route.d.ts.map +1 -0
  503. package/dist/tower/routes/traces/route.js +36 -0
  504. package/dist/tower/routes/traces/route.js.map +1 -0
  505. package/dist/tower/routes/tree.d.ts +142 -0
  506. package/dist/tower/routes/tree.d.ts.map +1 -0
  507. package/dist/tower/routes/tree.js +28 -0
  508. package/dist/tower/routes/tree.js.map +1 -0
  509. package/dist/tower/ui/Errors.d.ts +5 -0
  510. package/dist/tower/ui/Errors.d.ts.map +1 -0
  511. package/dist/tower/ui/Errors.js +30 -0
  512. package/dist/tower/ui/Errors.js.map +1 -0
  513. package/dist/tower/ui/Fibers.d.ts +25 -0
  514. package/dist/tower/ui/Fibers.d.ts.map +1 -0
  515. package/dist/tower/ui/Fibers.js +157 -0
  516. package/dist/tower/ui/Fibers.js.map +1 -0
  517. package/dist/tower/ui/Logs.d.ts +5 -0
  518. package/dist/tower/ui/Logs.d.ts.map +1 -0
  519. package/dist/tower/ui/Logs.js +28 -0
  520. package/dist/tower/ui/Logs.js.map +1 -0
  521. package/dist/tower/ui/Metrics.d.ts +5 -0
  522. package/dist/tower/ui/Metrics.d.ts.map +1 -0
  523. package/dist/tower/ui/Metrics.js +34 -0
  524. package/dist/tower/ui/Metrics.js.map +1 -0
  525. package/dist/tower/ui/Routes.d.ts +9 -0
  526. package/dist/tower/ui/Routes.d.ts.map +1 -0
  527. package/dist/tower/ui/Routes.js +79 -0
  528. package/dist/tower/ui/Routes.js.map +1 -0
  529. package/dist/tower/ui/Services.d.ts +11 -0
  530. package/dist/tower/ui/Services.d.ts.map +1 -0
  531. package/dist/tower/ui/Services.js +254 -0
  532. package/dist/tower/ui/Services.js.map +1 -0
  533. package/dist/tower/ui/Shell.d.ts +11 -0
  534. package/dist/tower/ui/Shell.d.ts.map +1 -0
  535. package/dist/tower/ui/Shell.js +12 -0
  536. package/dist/tower/ui/Shell.js.map +1 -0
  537. package/dist/tower/ui/System.d.ts +5 -0
  538. package/dist/tower/ui/System.d.ts.map +1 -0
  539. package/dist/tower/ui/System.js +65 -0
  540. package/dist/tower/ui/System.js.map +1 -0
  541. package/dist/tower/ui/Traces.d.ts +13 -0
  542. package/dist/tower/ui/Traces.d.ts.map +1 -0
  543. package/dist/tower/ui/Traces.js +219 -0
  544. package/dist/tower/ui/Traces.js.map +1 -0
  545. package/dist/x/cloudflare/CloudflareTunnel.d.ts +11 -0
  546. package/dist/x/cloudflare/CloudflareTunnel.d.ts.map +1 -0
  547. package/dist/x/cloudflare/CloudflareTunnel.js +31 -0
  548. package/dist/x/cloudflare/CloudflareTunnel.js.map +1 -0
  549. package/dist/x/cloudflare/index.d.ts +2 -0
  550. package/dist/x/cloudflare/index.d.ts.map +1 -0
  551. package/dist/x/cloudflare/index.js +2 -0
  552. package/dist/x/cloudflare/index.js.map +1 -0
  553. package/dist/x/tailscale/TailscaleTunnel.d.ts +16 -0
  554. package/dist/x/tailscale/TailscaleTunnel.d.ts.map +1 -0
  555. package/dist/x/tailscale/TailscaleTunnel.js +66 -0
  556. package/dist/x/tailscale/TailscaleTunnel.js.map +1 -0
  557. package/dist/x/tailscale/index.d.ts +2 -0
  558. package/dist/x/tailscale/index.d.ts.map +1 -0
  559. package/dist/x/tailscale/index.js +2 -0
  560. package/dist/x/tailscale/index.js.map +1 -0
  561. package/dist/x/tailwind/TailwindPlugin.d.ts +24 -0
  562. package/dist/x/tailwind/TailwindPlugin.d.ts.map +1 -0
  563. package/dist/x/tailwind/TailwindPlugin.js +220 -0
  564. package/dist/x/tailwind/TailwindPlugin.js.map +1 -0
  565. package/dist/x/tailwind/compile.d.ts +20 -0
  566. package/dist/x/tailwind/compile.d.ts.map +1 -0
  567. package/dist/x/tailwind/compile.js +155 -0
  568. package/dist/x/tailwind/compile.js.map +1 -0
  569. package/dist/x/tailwind/plugin.d.ts +3 -0
  570. package/dist/x/tailwind/plugin.d.ts.map +1 -0
  571. package/dist/x/tailwind/plugin.js +16 -0
  572. package/dist/x/tailwind/plugin.js.map +1 -0
  573. package/package.json +104 -23
  574. package/src/ChildProcess.ts +3 -6
  575. package/src/Docker.ts +190 -0
  576. package/src/Effectify.ts +7 -10
  577. package/src/FileSystem.ts +1 -4
  578. package/src/GlobalLayer.ts +85 -0
  579. package/src/PlatformRuntime.ts +8 -1
  580. package/src/RouteHook.ts +1 -1
  581. package/src/SqlIntrospect.ts +13 -11
  582. package/src/Start.ts +40 -29
  583. package/src/System.ts +60 -3
  584. package/src/Unique.ts +59 -0
  585. package/src/bun/BunChildProcessSpawner.ts +1 -8
  586. package/src/bun/BunRoute.ts +1 -0
  587. package/src/bun/BunRuntime.ts +2 -8
  588. package/src/bun/BunServer.ts +54 -2
  589. package/src/datastar/watchers/patchElements.ts +0 -1
  590. package/src/lint/plugin.js +146 -81
  591. package/src/sql/SqlCache.ts +50 -0
  592. package/src/sql/SqlClient.ts +59 -14
  593. package/src/sql/bun/index.ts +28 -26
  594. package/src/sql/index.ts +1 -0
  595. package/src/sql/libsql/index.ts +62 -28
  596. package/src/sql/mssql/index.ts +53 -57
  597. package/src/sql/postgres/index.ts +254 -0
  598. package/src/tower/Simulation.ts +776 -0
  599. package/src/tower/Tower.ts +47 -0
  600. package/src/tower/TowerErrors.ts +224 -0
  601. package/src/tower/TowerLogger.ts +52 -0
  602. package/src/tower/TowerMetrics.ts +72 -0
  603. package/src/tower/TowerProcess.ts +59 -0
  604. package/src/tower/TowerStore.ts +505 -0
  605. package/src/tower/TowerTracer.ts +128 -0
  606. package/src/tower/index.ts +3 -0
  607. package/src/tower/routes/errors/route.tsx +90 -0
  608. package/src/tower/routes/fiberDetail.tsx +51 -0
  609. package/src/tower/routes/fibers/route.tsx +46 -0
  610. package/src/tower/routes/layout.html +340 -0
  611. package/src/tower/routes/layout.tsx +4 -0
  612. package/src/tower/routes/logs/route.tsx +73 -0
  613. package/src/tower/routes/metrics/route.tsx +36 -0
  614. package/src/tower/routes/route.tsx +8 -0
  615. package/src/tower/routes/routes/route.tsx +30 -0
  616. package/src/tower/routes/services/route.tsx +21 -0
  617. package/src/tower/routes/system/route.tsx +43 -0
  618. package/src/tower/routes/traceDetail.tsx +30 -0
  619. package/src/tower/routes/traces/route.tsx +72 -0
  620. package/src/tower/routes/tree.ts +28 -0
  621. package/src/tower/ui/Errors.tsx +80 -0
  622. package/src/tower/ui/Fibers.tsx +336 -0
  623. package/src/tower/ui/Logs.tsx +50 -0
  624. package/src/tower/ui/Metrics.tsx +78 -0
  625. package/src/tower/ui/Routes.tsx +125 -0
  626. package/src/tower/ui/Services.tsx +273 -0
  627. package/src/tower/ui/Shell.tsx +74 -0
  628. package/src/tower/ui/System.tsx +141 -0
  629. package/src/tower/ui/Traces.tsx +419 -0
  630. package/src/x/cloudflare/CloudflareTunnel.ts +1 -1
  631. package/src/x/tailscale/TailscaleTunnel.ts +3 -3
  632. package/src/x/tailwind/compile.ts +6 -1
  633. package/src/sql/mssql/docker.ts +0 -117
@@ -0,0 +1,5 @@
1
+ import type { BunPlugin } from "bun";
2
+ type VirtualFiles = Record<string, string>;
3
+ export declare function make(files: VirtualFiles): BunPlugin;
4
+ export {};
5
+ //# sourceMappingURL=BunVirtualFilesPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunVirtualFilesPlugin.d.ts","sourceRoot":"","sources":["../../src/bun/BunVirtualFilesPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAU,MAAM,KAAK,CAAA;AAE5C,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAM1C,wBAAgB,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CA2CnD"}
@@ -0,0 +1,41 @@
1
+ function loaderFromPath(path) {
2
+ return path.slice(path.lastIndexOf(".") + 1);
3
+ }
4
+ export function make(files) {
5
+ return {
6
+ name: "virtual-fs",
7
+ setup(build) {
8
+ build.onResolve({
9
+ // change the filter so it only works for file namespace
10
+ filter: /.*/,
11
+ }, (args) => {
12
+ const resolved = resolvePath(args.path, args.resolveDir);
13
+ const resolvedFile = files[resolved];
14
+ if (resolvedFile) {
15
+ return {
16
+ path: resolved,
17
+ namespace: "virtual-fs",
18
+ };
19
+ }
20
+ return;
21
+ });
22
+ build.onLoad({
23
+ filter: /.*/,
24
+ namespace: "virtual-fs",
25
+ }, (args) => {
26
+ const contents = files[args.path];
27
+ if (!contents) {
28
+ return undefined;
29
+ }
30
+ return {
31
+ contents,
32
+ loader: loaderFromPath(args.path),
33
+ };
34
+ });
35
+ },
36
+ };
37
+ }
38
+ function resolvePath(path, base = process.cwd()) {
39
+ return Bun.resolveSync(path, base);
40
+ }
41
+ //# sourceMappingURL=BunVirtualFilesPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunVirtualFilesPlugin.js","sourceRoot":"","sources":["../../src/bun/BunVirtualFilesPlugin.ts"],"names":[],"mappings":"AAIA,SAAS,cAAc,CAAC,IAAY,EAAU;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAW,CAAA;AAAA,CACvD;AAED,MAAM,UAAU,IAAI,CAAC,KAAmB,EAAa;IACnD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,KAAK,CAAC,KAAK,EAAE;YACX,KAAK,CAAC,SAAS,CACb;gBACE,wDAAwD;gBACxD,MAAM,EAAE,IAAI;aACb,EACD,CAAC,IAAI,EAAE,EAAE,CAAC;gBACR,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;gBACxD,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAEpC,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO;wBACL,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,YAAY;qBACxB,CAAA;gBACH,CAAC;gBACD,OAAM;YAAA,CACP,CACF,CAAA;YAED,KAAK,CAAC,MAAM,CACV;gBACE,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,YAAY;aACxB,EACD,CAAC,IAAI,EAAE,EAAE,CAAC;gBACR,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAEjC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,SAAS,CAAA;gBAClB,CAAC;gBAED,OAAO;oBACL,QAAQ;oBACR,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;iBAClC,CAAA;YAAA,CACF,CACF,CAAA;QAAA,CACF;KACF,CAAA;AAAA,CACF;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE;IACvD,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAAA,CACnC"}
@@ -0,0 +1,46 @@
1
+ type ErrorWithDetail = Error & {
2
+ details?: string;
3
+ };
4
+ interface ResolveRequest {
5
+ path: string | false;
6
+ context?: object;
7
+ descriptionFilePath?: string;
8
+ descriptionFileRoot?: string;
9
+ descriptionFileData?: Record<string, unknown>;
10
+ relativePath?: string;
11
+ ignoreSymlinks?: boolean;
12
+ fullySpecified?: boolean;
13
+ }
14
+ interface ResolveContext {
15
+ contextDependencies?: {
16
+ add: (item: string) => void;
17
+ };
18
+ fileDependencies?: {
19
+ add: (item: string) => void;
20
+ };
21
+ missingDependencies?: {
22
+ add: (item: string) => void;
23
+ };
24
+ stack?: Set<string>;
25
+ log?: (str: string) => void;
26
+ yield?: (request: ResolveRequest) => void;
27
+ }
28
+ interface ResolveOptions {
29
+ extensions?: Array<string>;
30
+ mainFields?: Array<string | string[]>;
31
+ conditionNames?: Array<string>;
32
+ fileSystem?: unknown;
33
+ useSyncFileSystemCalls?: boolean;
34
+ modules?: string | string[];
35
+ }
36
+ export interface Resolver {
37
+ resolve(context: object, path: string, request: string, resolveContext: ResolveContext, callback: (err: null | ErrorWithDetail, res?: string | false, req?: ResolveRequest) => void): void;
38
+ }
39
+ export declare class CachedInputFileSystem {
40
+ constructor(_fileSystem: unknown, _duration: number);
41
+ }
42
+ export declare const ResolverFactory: {
43
+ createResolver(options: ResolveOptions): Resolver;
44
+ };
45
+ export {};
46
+ //# sourceMappingURL=_BunEnhancedResolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_BunEnhancedResolve.d.ts","sourceRoot":"","sources":["../../src/bun/_BunEnhancedResolve.ts"],"names":[],"mappings":"AAUA,KAAK,eAAe,GAAG,KAAK,GAAG;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,UAAU,cAAc;IACtB,mBAAmB,CAAC,EAAE;QAAE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAA;IACrD,gBAAgB,CAAC,EAAE;QAAE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAA;IAClD,mBAAmB,CAAC,EAAE;QAAE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAA;IACrD,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACnB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAA;CAC1C;AAED,UAAU,cAAc;IACtB,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;IACrC,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,CACL,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,GAAG,eAAe,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,CAAC,EAAE,cAAc,KAAK,IAAI,GAC1F,IAAI,CAAA;CACR;AAED,qBAAa,qBAAqB;IAChC,YAAY,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAI;CACxD;AAED,eAAO,MAAM,eAAe;;CA2B3B,CAAA"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Bun adapter for enhanced-resolve
3
+ *
4
+ * This module provides a drop-in replacement for `enhanced-resolve` that uses
5
+ * Bun's built-in resolver. It implements the subset of the enhanced-resolve API
6
+ * used for Tailwind CSS.
7
+ */
8
+ import fs from "node:fs";
9
+ import path from "node:path";
10
+ export class CachedInputFileSystem {
11
+ constructor(_fileSystem, _duration) { }
12
+ }
13
+ export const ResolverFactory = {
14
+ createResolver(options) {
15
+ const extensions = options.extensions ?? [];
16
+ const mainFields = (options.mainFields ?? []).flatMap((f) => (Array.isArray(f) ? f : [f]));
17
+ const conditionNames = options.conditionNames ?? [];
18
+ return {
19
+ resolve(_context, basePath, id, _resolveContext, callback) {
20
+ try {
21
+ const result = resolveSync(id, basePath, {
22
+ extensions,
23
+ mainFields,
24
+ conditionNames,
25
+ });
26
+ callback(null, result);
27
+ }
28
+ catch (err) {
29
+ callback(err instanceof Error ? err : new Error(String(err)));
30
+ }
31
+ },
32
+ };
33
+ },
34
+ };
35
+ function resolveSync(id, base, options) {
36
+ if (id.startsWith(".") || id.startsWith("/")) {
37
+ for (const ext of ["", ...options.extensions]) {
38
+ const fullPath = path.resolve(base, id + ext);
39
+ if (fs.existsSync(fullPath) && fs.statSync(fullPath).isFile()) {
40
+ return fullPath;
41
+ }
42
+ }
43
+ return undefined;
44
+ }
45
+ const packagePath = resolvePackagePath(id, base);
46
+ if (!packagePath)
47
+ return undefined;
48
+ const packageJsonPath = path.join(packagePath, "package.json");
49
+ if (!fs.existsSync(packageJsonPath))
50
+ return undefined;
51
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
52
+ for (const field of options.mainFields) {
53
+ if (typeof packageJson[field] === "string") {
54
+ const resolved = path.resolve(packagePath, packageJson[field]);
55
+ if (fs.existsSync(resolved))
56
+ return resolved;
57
+ }
58
+ }
59
+ if (packageJson.exports) {
60
+ const resolved = resolveExports(packageJson.exports, packagePath, options.conditionNames);
61
+ if (resolved && fs.existsSync(resolved))
62
+ return resolved;
63
+ }
64
+ try {
65
+ return Bun.resolveSync(id, base);
66
+ }
67
+ catch {
68
+ return undefined;
69
+ }
70
+ }
71
+ function resolvePackagePath(id, base) {
72
+ const parts = id.split("/");
73
+ const packageName = id.startsWith("@") ? parts.slice(0, 2).join("/") : parts[0];
74
+ let dir = base;
75
+ while (dir !== path.dirname(dir)) {
76
+ const candidate = path.join(dir, "node_modules", packageName);
77
+ if (fs.existsSync(candidate))
78
+ return candidate;
79
+ dir = path.dirname(dir);
80
+ }
81
+ return undefined;
82
+ }
83
+ function resolveExports(exports, packagePath, conditionNames) {
84
+ if (typeof exports === "string") {
85
+ return path.resolve(packagePath, exports);
86
+ }
87
+ if (exports && typeof exports === "object" && !Array.isArray(exports)) {
88
+ const exportsObj = exports;
89
+ if ("." in exportsObj) {
90
+ return resolveExports(exportsObj["."], packagePath, conditionNames);
91
+ }
92
+ for (const condition of conditionNames) {
93
+ if (condition in exportsObj) {
94
+ return resolveExports(exportsObj[condition], packagePath, conditionNames);
95
+ }
96
+ }
97
+ if ("default" in exportsObj) {
98
+ return resolveExports(exportsObj["default"], packagePath, conditionNames);
99
+ }
100
+ }
101
+ return undefined;
102
+ }
103
+ //# sourceMappingURL=_BunEnhancedResolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_BunEnhancedResolve.js","sourceRoot":"","sources":["../../src/bun/_BunEnhancedResolve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * as BunChildProcessSpawner from "./BunChildProcessSpawner.ts";
2
+ export * as BunBundle from "./BunBundle.ts";
3
+ export * as BunImportTrackerPlugin from "./BunImportTrackerPlugin.ts";
4
+ export * as BunRoute from "./BunRoute.ts";
5
+ export * as BunServer from "./BunServer.ts";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bun/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * as BunChildProcessSpawner from "./BunChildProcessSpawner.js";
2
+ export * as BunBundle from "./BunBundle.js";
3
+ export * as BunImportTrackerPlugin from "./BunImportTrackerPlugin.js";
4
+ export * as BunRoute from "./BunRoute.js";
5
+ export * as BunServer from "./BunServer.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bun/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,62 @@
1
+ import type { PubSub } from "effect";
2
+ import { Context, Effect } from "effect";
3
+ import * as Schema from "effect/Schema";
4
+ export declare const BundleEntrypointMetaKey: unique symbol;
5
+ export type BundleOutputMetaValue = {};
6
+ /**
7
+ * Generic shape describing a bundle across multiple bundlers
8
+ * (like bun, esbuild & vite)
9
+ */
10
+ export declare const BundleManifestSchema: Schema.Struct<{
11
+ entrypoints: Schema.Record$<typeof Schema.String, typeof Schema.String>;
12
+ artifacts: Schema.Array$<Schema.Struct<{
13
+ path: typeof Schema.String;
14
+ type: typeof Schema.String;
15
+ size: typeof Schema.Number;
16
+ hash: Schema.optional<typeof Schema.String>;
17
+ imports: Schema.optional<Schema.Array$<Schema.Struct<{
18
+ path: typeof Schema.String;
19
+ kind: Schema.Literal<["import-statement", "require-call", "require-resolve", "dynamic-import", "import-rule", "url-token", "internal", "entry-point-run", "entry-point-build"]>;
20
+ }>>>;
21
+ }>>;
22
+ }>;
23
+ export type BundleManifest = typeof BundleManifestSchema.Type;
24
+ export declare const BundleEvent: Schema.Union<[Schema.TaggedStruct<"Change", {
25
+ path: typeof Schema.String;
26
+ }>, Schema.TaggedStruct<"BuildError", {
27
+ error: typeof Schema.String;
28
+ }>]>;
29
+ export type BundleEvent = typeof BundleEvent.Type;
30
+ declare const IdPrefix = "effect-start/tags/";
31
+ export type BundleKey = `${string}Bundle`;
32
+ export type BundleId = `${typeof IdPrefix}${BundleKey}`;
33
+ /**
34
+ * Passed to bundle effects and within bundle runtime.
35
+ * Used to expose artifacts via HTTP server and properly resolve
36
+ * imports within the bundle.
37
+ */
38
+ export type BundleContext = BundleManifest & {
39
+ resolve: (url: string) => string | null;
40
+ getArtifact: (path: string) => Blob | null;
41
+ events?: PubSub.PubSub<BundleEvent>;
42
+ };
43
+ declare const BundleError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
44
+ readonly _tag: "BundleError";
45
+ } & Readonly<A>;
46
+ export declare class BundleError extends BundleError_base<{
47
+ message: string;
48
+ cause?: unknown;
49
+ }> {
50
+ }
51
+ export declare const emptyBundleContext: BundleContext;
52
+ export declare const handleBundleErrorSilently: (effect: Effect.Effect<BundleContext, BundleError, never>) => Effect.Effect<BundleContext, never, never>;
53
+ export declare const Tag: <const T extends `${string}Bundle`>(name: T) => <Identifier>() => Context.TagClass<Identifier, `effect-start/tags/${string}Bundle`, BundleContext>;
54
+ export type Tag = Context.Tag<BundleId, BundleContext>;
55
+ declare const ClientBundle_base: Context.TagClass<ClientBundle, `effect-start/tags/${string}Bundle`, BundleContext>;
56
+ export declare class ClientBundle extends ClientBundle_base {
57
+ }
58
+ declare const ServerBundle_base: Context.TagClass<ServerBundle, `effect-start/tags/${string}Bundle`, BundleContext>;
59
+ export declare class ServerBundle extends ServerBundle_base {
60
+ }
61
+ export {};
62
+ //# sourceMappingURL=Bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bundle.d.ts","sourceRoot":"","sources":["../../src/bundler/Bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAQ,MAAM,QAAQ,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,eAAO,MAAM,uBAAuB,EAAE,OAAO,MAE5C,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,EAAE,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAgC/B,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,OAAO,oBAAoB,CAAC,IAAI,CAAA;AAU7D,eAAO,MAAM,WAAW;;;;IAAyD,CAAA;AAEjF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,QAAA,MAAM,QAAQ,uBAAuB,CAAA;AAErC,MAAM,MAAM,SAAS,GAAG,GAAG,MAAM,QAAQ,CAAA;AAEzC,MAAM,MAAM,QAAQ,GAAG,GAAG,OAAO,QAAQ,GAAG,SAAS,EAAE,CAAA;AAEvD;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG;IAI3C,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IACvC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAA;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;CACpC,CAAA;;;;AAED,qBAAa,WAAY,SAAQ,iBAAgC;IAC/D,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAC;CAAG;AAEL,eAAO,MAAM,kBAAkB,EAAE,aAKhC,CAAA;AAED,eAAO,MAAM,yBAAyB,0GAWnC,CAAA;AAEH,eAAO,MAAM,GAAG,SACP,CAAC,yCACP,UAAU,uFACiE,CAAA;AAE9E,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;;AAEtD,qBAAa,YAAa,SAAQ,iBAAmC;CAAG;;AACxE,qBAAa,YAAa,SAAQ,iBAAmC;CAAG"}
@@ -0,0 +1,49 @@
1
+ import { Context, Data, Effect, pipe } from "effect";
2
+ import * as Schema from "effect/Schema";
3
+ export const BundleEntrypointMetaKey = Symbol.for("effect-start/BundleEntrypointMetaKey");
4
+ /**
5
+ * Generic shape describing a bundle across multiple bundlers
6
+ * (like bun, esbuild & vite)
7
+ */
8
+ export const BundleManifestSchema = Schema.Struct({
9
+ entrypoints: Schema.Record({
10
+ key: Schema.String,
11
+ value: Schema.String,
12
+ }),
13
+ artifacts: Schema.Array(Schema.Struct({
14
+ path: Schema.String,
15
+ type: Schema.String,
16
+ size: Schema.Number,
17
+ hash: pipe(Schema.String, Schema.optional),
18
+ imports: pipe(Schema.Array(Schema.Struct({
19
+ path: Schema.String,
20
+ kind: Schema.Literal("import-statement", "require-call", "require-resolve", "dynamic-import", "import-rule", "url-token", "internal", "entry-point-run", "entry-point-build"),
21
+ })), Schema.optional),
22
+ })),
23
+ });
24
+ const BundleEventChange = Schema.TaggedStruct("Change", {
25
+ path: Schema.String,
26
+ });
27
+ const BundleEventBuildError = Schema.TaggedStruct("BuildError", {
28
+ error: Schema.String,
29
+ });
30
+ export const BundleEvent = Schema.Union(BundleEventChange, BundleEventBuildError);
31
+ const IdPrefix = "effect-start/tags/";
32
+ export class BundleError extends Data.TaggedError("BundleError") {
33
+ }
34
+ export const emptyBundleContext = {
35
+ entrypoints: {},
36
+ artifacts: [],
37
+ resolve: () => null,
38
+ getArtifact: () => null,
39
+ };
40
+ export const handleBundleErrorSilently = (effect) => pipe(effect, Effect.catchTag("BundleError", (error) => Effect.gen(function* () {
41
+ yield* Effect.logError("Bundle build failed", error);
42
+ return emptyBundleContext;
43
+ })));
44
+ export const Tag = (name) => () => Context.Tag(`${IdPrefix}${name}`)();
45
+ export class ClientBundle extends Tag("ClientBundle")() {
46
+ }
47
+ export class ServerBundle extends Tag("ServerBundle")() {
48
+ }
49
+ //# sourceMappingURL=Bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bundle.js","sourceRoot":"","sources":["../../src/bundler/Bundle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,MAAM,CAAC,MAAM,uBAAuB,GAAkB,MAAM,CAAC,GAAG,CAC9D,sCAAsC,CACvC,CAAA;AAID;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;QACzB,GAAG,EAAE,MAAM,CAAC,MAAM;QAClB,KAAK,EAAE,MAAM,CAAC,MAAM;KACrB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC,KAAK,CACrB,MAAM,CAAC,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC1C,OAAO,EAAE,IAAI,CACX,MAAM,CAAC,KAAK,CACV,MAAM,CAAC,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,IAAI,EAAE,MAAM,CAAC,OAAO,CAClB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,mBAAmB,CACpB;SACF,CAAC,CACH,EACD,MAAM,CAAC,QAAQ,CAChB;KACF,CAAC,CACH;CACF,CAAC,CAAA;AAIF,MAAM,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE;IACtD,IAAI,EAAE,MAAM,CAAC,MAAM;CACpB,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE;IAC9D,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAA;AAIjF,MAAM,QAAQ,GAAG,oBAAoB,CAAA;AAoBrC,MAAM,OAAO,WAAY,SAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAG7D;CAAG;AAEL,MAAM,CAAC,MAAM,kBAAkB,GAAkB;IAC/C,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;IACnB,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;CACxB,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,MAAiD,EACZ,EAAE,CACvC,IAAI,CACF,MAAM,EACN,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CACvC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI;IACtB,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;IACpD,OAAO,kBAAkB,CAAA;AAAA,CAC1B,CAAC,CACH,CACF,CAAA;AAEH,MAAM,CAAC,MAAM,GAAG,GACd,CAA4B,IAAO,EAAE,EAAE,CACvC,GAAe,EAAE,CACf,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,IAAI,EAAc,CAAC,EAA6B,CAAA;AAI9E,MAAM,OAAO,YAAa,SAAQ,GAAG,CAAC,cAAc,CAAC,EAAgB;CAAG;AACxE,MAAM,OAAO,YAAa,SAAQ,GAAG,CAAC,cAAc,CAAC,EAAgB;CAAG"}
@@ -0,0 +1,14 @@
1
+ import * as FileSystem from "../FileSystem.ts";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Bundle from "./Bundle.ts";
4
+ /**
5
+ * Exports a bundle to a file system under specified directory.
6
+ */
7
+ export declare const toFiles: (context: Bundle.BundleContext, outDir: string) => Effect.Effect<undefined, Bundle.BundleError | import("../PlatformError.ts").PlatformError, FileSystem.FileSystem>;
8
+ /**
9
+ * Loads a bundle from a directory and returns a Bundle.BundleContext.
10
+ * Expects the directory to contain a manifest.json file and all the artifacts
11
+ * referenced in the manifest.
12
+ */
13
+ export declare const fromFiles: (directory: string) => Effect.Effect<Bundle.BundleContext, Bundle.BundleError, FileSystem.FileSystem>;
14
+ //# sourceMappingURL=BundleFiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BundleFiles.d.ts","sourceRoot":"","sources":["../../src/bundler/BundleFiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAE9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;GAEG;AACH,eAAO,MAAM,OAAO,sKA0EnB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,uGA4DrB,CAAA"}
@@ -0,0 +1,97 @@
1
+ import * as FileSystem from "../FileSystem.js";
2
+ import * as Array from "effect/Array";
3
+ import * as Effect from "effect/Effect";
4
+ import * as Function from "effect/Function";
5
+ import * as Iterable from "effect/Iterable";
6
+ import * as Record from "effect/Record";
7
+ import * as S from "effect/Schema";
8
+ import * as Bundle from "./Bundle.js";
9
+ /**
10
+ * Exports a bundle to a file system under specified directory.
11
+ */
12
+ export const toFiles = (context, outDir) => {
13
+ return Effect.gen(function* () {
14
+ const fs = yield* FileSystem.FileSystem;
15
+ const manifest = {
16
+ entrypoints: context.entrypoints,
17
+ artifacts: context.artifacts,
18
+ };
19
+ const normalizedOutDir = outDir.replace(/\/$/, "");
20
+ const bundleArtifacts = Function.pipe(manifest.artifacts, Array.map((artifact) => [artifact.path, context.getArtifact(artifact.path)]), Record.fromEntries);
21
+ const extraArtifacts = {
22
+ "manifest.json": new Blob([JSON.stringify(manifest, undefined, 2)], {
23
+ type: "application/json",
24
+ }),
25
+ };
26
+ const allArtifacts = {
27
+ ...bundleArtifacts,
28
+ ...extraArtifacts,
29
+ };
30
+ const existingOutDirFiles = yield* fs
31
+ .readDirectory(normalizedOutDir)
32
+ .pipe(Effect.catchAll(() => Effect.succeed(null)));
33
+ // check if the output directory is empty. if it contains previous build,
34
+ // remove it. Otherwise fail.
35
+ if (existingOutDirFiles && existingOutDirFiles.length > 0) {
36
+ if (existingOutDirFiles.includes("manifest.json")) {
37
+ yield* Effect.logWarning("Output directory seems to contain previous build. Overwriting...");
38
+ yield* fs.remove(normalizedOutDir, {
39
+ recursive: true,
40
+ });
41
+ }
42
+ else {
43
+ return yield* Effect.fail(new Bundle.BundleError({
44
+ message: "Output directory is not empty",
45
+ }));
46
+ }
47
+ }
48
+ yield* fs.makeDirectory(normalizedOutDir, {
49
+ recursive: true,
50
+ });
51
+ // write all artifacts to files
52
+ yield* Effect.all(Function.pipe(allArtifacts, Record.toEntries, Array.map(([p, b]) => Function.pipe(Effect.tryPromise({
53
+ try: () => b.arrayBuffer(),
54
+ catch: (e) => new Bundle.BundleError({
55
+ message: "Failed to read an artifact as a buffer",
56
+ cause: e,
57
+ }),
58
+ }), Effect.andThen((b) => fs.writeFile(`${normalizedOutDir}/${p}`, new Uint8Array(b)))))), { concurrency: 16 });
59
+ });
60
+ };
61
+ /**
62
+ * Loads a bundle from a directory and returns a Bundle.BundleContext.
63
+ * Expects the directory to contain a manifest.json file and all the artifacts
64
+ * referenced in the manifest.
65
+ */
66
+ export const fromFiles = (directory) => {
67
+ return Effect.gen(function* () {
68
+ const fs = yield* FileSystem.FileSystem;
69
+ const normalizedDir = directory.replace(/\/$/, "");
70
+ const manifest = yield* Function.pipe(fs.readFileString(`${normalizedDir}/manifest.json`), Effect.andThen((v) => JSON.parse(v)), Effect.andThen(S.decodeUnknownSync(Bundle.BundleManifestSchema)), Effect.catchAll((e) => Effect.fail(new Bundle.BundleError({
71
+ message: `Failed to read manifest.json from ${normalizedDir}`,
72
+ cause: e,
73
+ }))));
74
+ const artifactPaths = Array.map(manifest.artifacts, (a) => a.path);
75
+ const artifactBlobs = yield* Function.pipe(artifactPaths, Iterable.map((path) => fs.readFile(`${normalizedDir}/${path}`)), Effect.all, Effect.catchAll((e) => new Bundle.BundleError({
76
+ message: `Failed to read an artifact from ${normalizedDir}`,
77
+ cause: e,
78
+ })), Effect.andThen(Iterable.map((v, i) => new Blob([v.slice(0)], {
79
+ type: manifest.artifacts[i].type,
80
+ }))));
81
+ const artifactsRecord = Function.pipe(Iterable.zip(artifactPaths, artifactBlobs), Record.fromEntries);
82
+ const bundleContext = {
83
+ ...manifest,
84
+ // TODO: support fullpath file:// urls
85
+ // this will require having an access to base path of a build
86
+ // and maybe problematic because bundlers transform urls on build
87
+ resolve: (url) => {
88
+ return manifest.entrypoints[url] ?? null;
89
+ },
90
+ getArtifact: (path) => {
91
+ return artifactsRecord[path] ?? null;
92
+ },
93
+ };
94
+ return bundleContext;
95
+ });
96
+ };
97
+ //# sourceMappingURL=BundleFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BundleFiles.js","sourceRoot":"","sources":["../../src/bundler/BundleFiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type * as Context from "effect/Context";
2
+ import * as Layer from "effect/Layer";
3
+ import * as Route from "../Route.ts";
4
+ import * as Bundle from "./Bundle.ts";
5
+ /**
6
+ * Creates a GET route that serves bundle artifacts.
7
+ * Mount at a path with a wildcard param (any name works).
8
+ *
9
+ * ```ts
10
+ * RouteTree.make({
11
+ * "/_bundle/:path+": BundleRoute.make(Bundle.ClientBundle),
12
+ * })
13
+ * ```
14
+ */
15
+ export declare const make: <Tag extends Context.Tag<any, Bundle.BundleContext>>(tag: Tag) => import("../RouteMount.ts").RouteMount.Builder<{}, [Route.Route.Route<{
16
+ format: "*";
17
+ method: "GET";
18
+ }, {}, Uint8Array<ArrayBuffer>, never, any>]>;
19
+ export declare const client: () => import("../RouteMount.ts").RouteMount.Builder<{}, [Route.Route.Route<{
20
+ format: "*";
21
+ method: "GET";
22
+ }, {}, Uint8Array<ArrayBuffer>, never, any>]>;
23
+ export declare const layer: (options?: {
24
+ bundle?: Context.Tag<any, Bundle.BundleContext> | undefined;
25
+ path?: `/${string}` | undefined;
26
+ } | undefined) => Layer.Layer<Route.Routes, never, never>;
27
+ //# sourceMappingURL=BundleRoute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BundleRoute.d.ts","sourceRoot":"","sources":["../../src/bundler/BundleRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAE9C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAGpC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;GASG;AACH,eAAO,MAAM,IAAI,GAAI,GAAG;;;6CAuBrB,CAAA;AAEH,eAAO,MAAM,MAAM;;;6CAAkC,CAAA;AAErD,eAAO,MAAM,KAAK;;;yDAiBf,CAAA"}
@@ -0,0 +1,52 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Layer from "effect/Layer";
3
+ import * as Option from "effect/Option";
4
+ import * as Entity from "../Entity.js";
5
+ import * as PathPattern from "../PathPattern.js";
6
+ import * as Route from "../Route.js";
7
+ import * as RouteTree from "../RouteTree.js";
8
+ import * as Values from "../Values.js";
9
+ import * as Bundle from "./Bundle.js";
10
+ /**
11
+ * Creates a GET route that serves bundle artifacts.
12
+ * Mount at a path with a wildcard param (any name works).
13
+ *
14
+ * ```ts
15
+ * RouteTree.make({
16
+ * "/_bundle/:path+": BundleRoute.make(Bundle.ClientBundle),
17
+ * })
18
+ * ```
19
+ */
20
+ export const make = (tag) => Route.get(Route.render(function* (ctx) {
21
+ const bundle = yield* tag;
22
+ const url = new URL(ctx.request.url);
23
+ const mountPath = ctx.path ?? "/";
24
+ const params = PathPattern.match(mountPath, url.pathname);
25
+ const artifactPath = params ? Values.firstValue(params) : undefined;
26
+ if (!artifactPath) {
27
+ return Entity.make(new Uint8Array(0), { status: 404 });
28
+ }
29
+ const blob = bundle.getArtifact(artifactPath);
30
+ if (!blob) {
31
+ return Entity.make(new Uint8Array(0), { status: 404 });
32
+ }
33
+ const bytes = new Uint8Array(yield* Effect.promise(() => blob.arrayBuffer()));
34
+ return Entity.make(bytes, {
35
+ headers: {
36
+ "content-type": blob.type || "application/octet-stream",
37
+ "cache-control": "public, max-age=31536000, immutable",
38
+ },
39
+ });
40
+ }));
41
+ export const client = () => make(Bundle.ClientBundle);
42
+ export const layer = (options) => Layer.effect(Route.Routes, Effect.gen(function* () {
43
+ const existing = yield* Effect.serviceOption(Route.Routes).pipe(Effect.andThen(Option.getOrUndefined));
44
+ const path = options?.path ?? "/_bundle/:path+";
45
+ const bundleTree = Route.tree({
46
+ [path]: make(options?.bundle ?? Bundle.ClientBundle),
47
+ });
48
+ if (!existing)
49
+ return bundleTree;
50
+ return RouteTree.merge(existing, bundleTree);
51
+ }));
52
+ //# sourceMappingURL=BundleRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BundleRoute.js","sourceRoot":"","sources":["../../src/bundler/BundleRoute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function getOverlay(): HTMLPreElement;
2
+ export declare function showBuildError(message: string): void;
3
+ //# sourceMappingURL=Overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../src/client/Overlay.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,mBAuBzB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,QAK7C"}
@@ -0,0 +1,33 @@
1
+ const OVERLAY_ID = "_bundler_error_overlay";
2
+ export function getOverlay() {
3
+ let overlay = document.getElementById(OVERLAY_ID);
4
+ if (!overlay) {
5
+ overlay = document.createElement("pre");
6
+ overlay.id = OVERLAY_ID;
7
+ Object.assign(overlay.style, {
8
+ position: "fixed",
9
+ top: "0",
10
+ left: "0",
11
+ right: "0",
12
+ maxHeight: "40%",
13
+ overflowY: "auto",
14
+ margin: "0",
15
+ padding: "4px",
16
+ background: "black",
17
+ color: "red",
18
+ fontFamily: "monospace",
19
+ zIndex: "2147483647",
20
+ whiteSpace: "pre-wrap",
21
+ });
22
+ document.body.appendChild(overlay);
23
+ }
24
+ return overlay;
25
+ }
26
+ export function showBuildError(message) {
27
+ const overlay = getOverlay();
28
+ const atBottom = overlay.scrollTop + overlay.clientHeight >= overlay.scrollHeight - 1;
29
+ overlay.textContent += message + "\n";
30
+ if (atBottom)
31
+ overlay.scrollTop = overlay.scrollHeight;
32
+ }
33
+ //# sourceMappingURL=Overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Overlay.js","sourceRoot":"","sources":["../../src/client/Overlay.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,wBAAwB,CAAA;AAE3C,MAAM,UAAU,UAAU,GAAG;IAC3B,IAAI,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAA0B,CAAA;IAC1E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACvC,OAAO,CAAC,EAAE,GAAG,UAAU,CAAA;QACvB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;YAC3B,QAAQ,EAAE,OAAO;YACjB,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,GAAG;YACV,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,MAAM;YACjB,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,OAAO;YACnB,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,WAAW;YACvB,MAAM,EAAE,YAAY;YACpB,UAAU,EAAE,UAAU;SACvB,CAAC,CAAA;QACF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,OAAO,CAAA;AAAA,CACf;AAED,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE;IAC9C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,GAAG,CAAC,CAAA;IACrF,OAAO,CAAC,WAAW,IAAI,OAAO,GAAG,IAAI,CAAA;IACrC,IAAI,QAAQ;QAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAA;AAAA,CACvD"}