effect-start 0.26.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.
- package/dist/ChildProcess.d.ts +60 -0
- package/dist/ChildProcess.d.ts.map +1 -0
- package/dist/ChildProcess.js +30 -0
- package/dist/ChildProcess.js.map +1 -0
- package/dist/Commander.d.ts +101 -0
- package/dist/Commander.d.ts.map +1 -0
- package/dist/Commander.js +327 -0
- package/dist/Commander.js.map +1 -0
- package/dist/ContentNegotiation.d.ts +13 -0
- package/dist/ContentNegotiation.d.ts.map +1 -0
- package/dist/ContentNegotiation.js +360 -0
- package/dist/ContentNegotiation.js.map +1 -0
- package/dist/Cookies.d.ts +78 -0
- package/dist/Cookies.d.ts.map +1 -0
- package/dist/Cookies.js +303 -0
- package/dist/Cookies.js.map +1 -0
- package/dist/Development.d.ts +42 -0
- package/dist/Development.d.ts.map +1 -0
- package/dist/Development.js +60 -0
- package/dist/Development.js.map +1 -0
- package/dist/Docker.d.ts +51 -0
- package/dist/Docker.d.ts.map +1 -0
- package/dist/Docker.js +88 -0
- package/dist/Docker.js.map +1 -0
- package/dist/Effectify.d.ts +210 -0
- package/dist/Effectify.d.ts.map +1 -0
- package/dist/Effectify.js +20 -0
- package/dist/Effectify.js.map +1 -0
- package/dist/Entity.d.ts +48 -0
- package/dist/Entity.d.ts.map +1 -0
- package/dist/Entity.js +235 -0
- package/dist/Entity.js.map +1 -0
- package/dist/Fetch.d.ts +50 -0
- package/dist/Fetch.d.ts.map +1 -0
- package/dist/Fetch.js +136 -0
- package/dist/Fetch.js.map +1 -0
- package/dist/FilePathPattern.d.ts +30 -0
- package/dist/FilePathPattern.d.ts.map +1 -0
- package/dist/FilePathPattern.js +87 -0
- package/dist/FilePathPattern.js.map +1 -0
- package/dist/FileRouter.d.ts +57 -0
- package/dist/FileRouter.d.ts.map +1 -0
- package/dist/FileRouter.js +149 -0
- package/dist/FileRouter.js.map +1 -0
- package/dist/FileRouterCodegen.d.ts +19 -0
- package/dist/FileRouterCodegen.d.ts.map +1 -0
- package/dist/FileRouterCodegen.js +228 -0
- package/dist/FileRouterCodegen.js.map +1 -0
- package/dist/FileSystem.d.ts +159 -0
- package/dist/FileSystem.d.ts.map +1 -0
- package/dist/FileSystem.js +71 -0
- package/dist/FileSystem.js.map +1 -0
- package/dist/GlobalLayer.d.ts +4 -0
- package/dist/GlobalLayer.d.ts.map +1 -0
- package/dist/GlobalLayer.js +51 -0
- package/dist/GlobalLayer.js.map +1 -0
- package/dist/Http.d.ts +38 -0
- package/dist/Http.d.ts.map +1 -0
- package/dist/Http.js +89 -0
- package/dist/Http.js.map +1 -0
- package/dist/PathPattern.d.ts +135 -0
- package/dist/PathPattern.d.ts.map +1 -0
- package/dist/PathPattern.js +414 -0
- package/dist/PathPattern.js.map +1 -0
- package/dist/PlatformError.d.ts +39 -0
- package/dist/PlatformError.d.ts.map +1 -0
- package/dist/PlatformError.js +26 -0
- package/dist/PlatformError.js.map +1 -0
- package/dist/PlatformRuntime.d.ts +30 -0
- package/dist/PlatformRuntime.d.ts.map +1 -0
- package/dist/PlatformRuntime.js +50 -0
- package/dist/PlatformRuntime.js.map +1 -0
- package/dist/Route.d.ts +98 -0
- package/dist/Route.d.ts.map +1 -0
- package/dist/Route.js +101 -0
- package/dist/Route.js.map +1 -0
- package/dist/RouteBody.d.ts +48 -0
- package/dist/RouteBody.d.ts.map +1 -0
- package/dist/RouteBody.js +68 -0
- package/dist/RouteBody.js.map +1 -0
- package/dist/RouteError.d.ts +99 -0
- package/dist/RouteError.d.ts.map +1 -0
- package/dist/RouteError.js +56 -0
- package/dist/RouteError.js.map +1 -0
- package/dist/RouteHook.d.ts +13 -0
- package/dist/RouteHook.d.ts.map +1 -0
- package/dist/RouteHook.js +40 -0
- package/dist/RouteHook.js.map +1 -0
- package/dist/RouteHttp.d.ts +22 -0
- package/dist/RouteHttp.d.ts.map +1 -0
- package/dist/RouteHttp.js +259 -0
- package/dist/RouteHttp.js.map +1 -0
- package/dist/RouteHttpTracer.d.ts +11 -0
- package/dist/RouteHttpTracer.d.ts.map +1 -0
- package/dist/RouteHttpTracer.js +63 -0
- package/dist/RouteHttpTracer.js.map +1 -0
- package/dist/RouteMount.d.ts +87 -0
- package/dist/RouteMount.d.ts.map +1 -0
- package/dist/RouteMount.js +64 -0
- package/dist/RouteMount.js.map +1 -0
- package/dist/RouteSchema.d.ts +87 -0
- package/dist/RouteSchema.d.ts.map +1 -0
- package/dist/RouteSchema.js +189 -0
- package/dist/RouteSchema.js.map +1 -0
- package/dist/RouteSse.d.ts +22 -0
- package/dist/RouteSse.d.ts.map +1 -0
- package/dist/RouteSse.js +80 -0
- package/dist/RouteSse.js.map +1 -0
- package/dist/RouteTree.d.ts +58 -0
- package/dist/RouteTree.d.ts.map +1 -0
- package/dist/RouteTree.js +94 -0
- package/dist/RouteTree.js.map +1 -0
- package/dist/RouteTrie.d.ts +21 -0
- package/dist/RouteTrie.d.ts.map +1 -0
- package/dist/RouteTrie.js +153 -0
- package/dist/RouteTrie.js.map +1 -0
- package/dist/SchemaExtra.d.ts +8 -0
- package/dist/SchemaExtra.d.ts.map +1 -0
- package/dist/SchemaExtra.js +75 -0
- package/dist/SchemaExtra.js.map +1 -0
- package/dist/Socket.d.ts +28 -0
- package/dist/Socket.d.ts.map +1 -0
- package/dist/Socket.js +30 -0
- package/dist/Socket.js.map +1 -0
- package/dist/SqlIntrospect.d.ts +92 -0
- package/dist/SqlIntrospect.d.ts.map +1 -0
- package/dist/SqlIntrospect.js +478 -0
- package/dist/SqlIntrospect.js.map +1 -0
- package/dist/Start.d.ts +90 -0
- package/dist/Start.d.ts.map +1 -0
- package/dist/Start.js +91 -0
- package/dist/Start.js.map +1 -0
- package/dist/StartApp.d.ts +13 -0
- package/dist/StartApp.d.ts.map +1 -0
- package/dist/StartApp.js +4 -0
- package/dist/StartApp.js.map +1 -0
- package/dist/StreamExtra.d.ts +29 -0
- package/dist/StreamExtra.d.ts.map +1 -0
- package/dist/StreamExtra.js +101 -0
- package/dist/StreamExtra.js.map +1 -0
- package/dist/System.d.ts +9 -0
- package/dist/System.d.ts.map +1 -0
- package/dist/System.js +61 -0
- package/dist/System.js.map +1 -0
- package/dist/TuplePathPattern.d.ts +10 -0
- package/dist/TuplePathPattern.d.ts.map +1 -0
- package/dist/TuplePathPattern.js +69 -0
- package/dist/TuplePathPattern.js.map +1 -0
- package/dist/Unique.d.ts +68 -0
- package/dist/Unique.d.ts.map +1 -0
- package/dist/Unique.js +225 -0
- package/dist/Unique.js.map +1 -0
- package/dist/Values.d.ts +30 -0
- package/dist/Values.d.ts.map +1 -0
- package/dist/Values.js +46 -0
- package/dist/Values.js.map +1 -0
- package/dist/bun/BunBundle.d.ts +12 -0
- package/dist/bun/BunBundle.d.ts.map +1 -0
- package/dist/bun/BunBundle.js +138 -0
- package/dist/bun/BunBundle.js.map +1 -0
- package/dist/bun/BunChildProcessSpawner.d.ts +4 -0
- package/dist/bun/BunChildProcessSpawner.d.ts.map +1 -0
- package/dist/bun/BunChildProcessSpawner.js +99 -0
- package/dist/bun/BunChildProcessSpawner.js.map +1 -0
- package/dist/bun/BunImportTrackerPlugin.d.ts +14 -0
- package/dist/bun/BunImportTrackerPlugin.d.ts.map +1 -0
- package/dist/bun/BunImportTrackerPlugin.js +70 -0
- package/dist/bun/BunImportTrackerPlugin.js.map +1 -0
- package/dist/bun/BunRoute.d.ts +49 -0
- package/dist/bun/BunRoute.d.ts.map +1 -0
- package/dist/bun/BunRoute.js +122 -0
- package/dist/bun/BunRoute.js.map +1 -0
- package/dist/bun/BunRuntime.d.ts +3 -0
- package/dist/bun/BunRuntime.d.ts.map +1 -0
- package/dist/bun/BunRuntime.js +30 -0
- package/dist/bun/BunRuntime.js.map +1 -0
- package/dist/bun/BunServer.d.ts +52 -0
- package/dist/bun/BunServer.d.ts.map +1 -0
- package/dist/bun/BunServer.js +262 -0
- package/dist/bun/BunServer.js.map +1 -0
- package/dist/bun/BunVirtualFilesPlugin.d.ts +5 -0
- package/dist/bun/BunVirtualFilesPlugin.d.ts.map +1 -0
- package/dist/bun/BunVirtualFilesPlugin.js +41 -0
- package/dist/bun/BunVirtualFilesPlugin.js.map +1 -0
- package/dist/bun/_BunEnhancedResolve.d.ts +46 -0
- package/dist/bun/_BunEnhancedResolve.d.ts.map +1 -0
- package/dist/bun/_BunEnhancedResolve.js +103 -0
- package/dist/bun/_BunEnhancedResolve.js.map +1 -0
- package/dist/bun/index.d.ts +6 -0
- package/dist/bun/index.d.ts.map +1 -0
- package/dist/bun/index.js +6 -0
- package/dist/bun/index.js.map +1 -0
- package/dist/bundler/Bundle.d.ts +62 -0
- package/dist/bundler/Bundle.d.ts.map +1 -0
- package/dist/bundler/Bundle.js +49 -0
- package/dist/bundler/Bundle.js.map +1 -0
- package/dist/bundler/BundleFiles.d.ts +14 -0
- package/dist/bundler/BundleFiles.d.ts.map +1 -0
- package/dist/bundler/BundleFiles.js +97 -0
- package/dist/bundler/BundleFiles.js.map +1 -0
- package/dist/bundler/BundleRoute.d.ts +27 -0
- package/dist/bundler/BundleRoute.d.ts.map +1 -0
- package/dist/bundler/BundleRoute.js +52 -0
- package/dist/bundler/BundleRoute.js.map +1 -0
- package/dist/client/Overlay.d.ts +3 -0
- package/dist/client/Overlay.d.ts.map +1 -0
- package/dist/client/Overlay.js +33 -0
- package/dist/client/Overlay.js.map +1 -0
- package/dist/client/ScrollState.d.ts +7 -0
- package/dist/client/ScrollState.d.ts.map +1 -0
- package/dist/client/ScrollState.js +95 -0
- package/dist/client/ScrollState.js.map +1 -0
- package/dist/client/index.d.ts +7 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +80 -0
- package/dist/client/index.js.map +1 -0
- package/dist/datastar/actions/fetch.d.ts +31 -0
- package/dist/datastar/actions/fetch.d.ts.map +1 -0
- package/dist/datastar/actions/fetch.js +404 -0
- package/dist/datastar/actions/fetch.js.map +1 -0
- package/dist/datastar/actions/peek.d.ts +2 -0
- package/dist/datastar/actions/peek.d.ts.map +1 -0
- package/dist/datastar/actions/peek.js +14 -0
- package/dist/datastar/actions/peek.js.map +1 -0
- package/dist/datastar/actions/setAll.d.ts +2 -0
- package/dist/datastar/actions/setAll.d.ts.map +1 -0
- package/dist/datastar/actions/setAll.js +13 -0
- package/dist/datastar/actions/setAll.js.map +1 -0
- package/dist/datastar/actions/toggleAll.d.ts +2 -0
- package/dist/datastar/actions/toggleAll.d.ts.map +1 -0
- package/dist/datastar/actions/toggleAll.js +13 -0
- package/dist/datastar/actions/toggleAll.js.map +1 -0
- package/dist/datastar/attributes/attr.d.ts +2 -0
- package/dist/datastar/attributes/attr.d.ts.map +1 -0
- package/dist/datastar/attributes/attr.js +49 -0
- package/dist/datastar/attributes/attr.js.map +1 -0
- package/dist/datastar/attributes/bind.d.ts +2 -0
- package/dist/datastar/attributes/bind.d.ts.map +1 -0
- package/dist/datastar/attributes/bind.js +176 -0
- package/dist/datastar/attributes/bind.js.map +1 -0
- package/dist/datastar/attributes/class.d.ts +2 -0
- package/dist/datastar/attributes/class.d.ts.map +1 -0
- package/dist/datastar/attributes/class.js +48 -0
- package/dist/datastar/attributes/class.js.map +1 -0
- package/dist/datastar/attributes/computed.d.ts +2 -0
- package/dist/datastar/attributes/computed.d.ts.map +1 -0
- package/dist/datastar/attributes/computed.js +27 -0
- package/dist/datastar/attributes/computed.js.map +1 -0
- package/dist/datastar/attributes/effect.d.ts +2 -0
- package/dist/datastar/attributes/effect.d.ts.map +1 -0
- package/dist/datastar/attributes/effect.js +10 -0
- package/dist/datastar/attributes/effect.js.map +1 -0
- package/dist/datastar/attributes/indicator.d.ts +2 -0
- package/dist/datastar/attributes/indicator.d.ts.map +1 -0
- package/dist/datastar/attributes/indicator.js +31 -0
- package/dist/datastar/attributes/indicator.js.map +1 -0
- package/dist/datastar/attributes/init.d.ts +2 -0
- package/dist/datastar/attributes/init.d.ts.map +1 -0
- package/dist/datastar/attributes/init.js +27 -0
- package/dist/datastar/attributes/init.js.map +1 -0
- package/dist/datastar/attributes/jsonSignals.d.ts +2 -0
- package/dist/datastar/attributes/jsonSignals.d.ts.map +1 -0
- package/dist/datastar/attributes/jsonSignals.js +31 -0
- package/dist/datastar/attributes/jsonSignals.js.map +1 -0
- package/dist/datastar/attributes/on.d.ts +2 -0
- package/dist/datastar/attributes/on.d.ts.map +1 -0
- package/dist/datastar/attributes/on.js +79 -0
- package/dist/datastar/attributes/on.js.map +1 -0
- package/dist/datastar/attributes/onIntersect.d.ts +2 -0
- package/dist/datastar/attributes/onIntersect.d.ts.map +1 -0
- package/dist/datastar/attributes/onIntersect.js +54 -0
- package/dist/datastar/attributes/onIntersect.js.map +1 -0
- package/dist/datastar/attributes/onInterval.d.ts +2 -0
- package/dist/datastar/attributes/onInterval.d.ts.map +1 -0
- package/dist/datastar/attributes/onInterval.js +31 -0
- package/dist/datastar/attributes/onInterval.js.map +1 -0
- package/dist/datastar/attributes/onSignalPatch.d.ts +2 -0
- package/dist/datastar/attributes/onSignalPatch.d.ts.map +1 -0
- package/dist/datastar/attributes/onSignalPatch.js +43 -0
- package/dist/datastar/attributes/onSignalPatch.js.map +1 -0
- package/dist/datastar/attributes/ref.d.ts +2 -0
- package/dist/datastar/attributes/ref.d.ts.map +1 -0
- package/dist/datastar/attributes/ref.js +11 -0
- package/dist/datastar/attributes/ref.js.map +1 -0
- package/dist/datastar/attributes/show.d.ts +2 -0
- package/dist/datastar/attributes/show.d.ts.map +1 -0
- package/dist/datastar/attributes/show.js +32 -0
- package/dist/datastar/attributes/show.js.map +1 -0
- package/dist/datastar/attributes/signals.d.ts +2 -0
- package/dist/datastar/attributes/signals.d.ts.map +1 -0
- package/dist/datastar/attributes/signals.js +18 -0
- package/dist/datastar/attributes/signals.js.map +1 -0
- package/dist/datastar/attributes/style.d.ts +2 -0
- package/dist/datastar/attributes/style.d.ts.map +1 -0
- package/dist/datastar/attributes/style.js +51 -0
- package/dist/datastar/attributes/style.js.map +1 -0
- package/dist/datastar/attributes/text.d.ts +2 -0
- package/dist/datastar/attributes/text.d.ts.map +1 -0
- package/dist/datastar/attributes/text.js +27 -0
- package/dist/datastar/attributes/text.js.map +1 -0
- package/dist/datastar/engine.d.ts +163 -0
- package/dist/datastar/engine.d.ts.map +1 -0
- package/dist/datastar/engine.js +1000 -0
- package/dist/datastar/engine.js.map +1 -0
- package/dist/datastar/index.d.ts +25 -0
- package/dist/datastar/index.d.ts.map +1 -0
- package/dist/datastar/index.js +25 -0
- package/dist/datastar/index.js.map +1 -0
- package/dist/datastar/utils.d.ts +52 -0
- package/dist/datastar/utils.d.ts.map +1 -0
- package/dist/datastar/utils.js +203 -0
- package/dist/datastar/utils.js.map +1 -0
- package/dist/datastar/watchers/patchElements.d.ts +2 -0
- package/dist/datastar/watchers/patchElements.d.ts.map +1 -0
- package/dist/datastar/watchers/patchElements.js +398 -0
- package/dist/datastar/watchers/patchElements.js.map +1 -0
- package/dist/datastar/watchers/patchSignals.d.ts +2 -0
- package/dist/datastar/watchers/patchSignals.d.ts.map +1 -0
- package/dist/datastar/watchers/patchSignals.js +15 -0
- package/dist/datastar/watchers/patchSignals.js.map +1 -0
- package/dist/experimental/EncryptedCookies.d.ts +49 -0
- package/dist/experimental/EncryptedCookies.d.ts.map +1 -0
- package/dist/experimental/EncryptedCookies.js +213 -0
- package/dist/experimental/EncryptedCookies.js.map +1 -0
- package/dist/experimental/index.d.ts +2 -0
- package/dist/experimental/index.d.ts.map +1 -0
- package/dist/experimental/index.js +2 -0
- package/dist/experimental/index.js.map +1 -0
- package/dist/hyper/Hyper.d.ts +26 -0
- package/dist/hyper/Hyper.d.ts.map +1 -0
- package/dist/hyper/Hyper.js +24 -0
- package/dist/hyper/Hyper.js.map +1 -0
- package/dist/hyper/HyperHtml.d.ts +24 -0
- package/dist/hyper/HyperHtml.d.ts.map +1 -0
- package/dist/hyper/HyperHtml.js +153 -0
- package/dist/hyper/HyperHtml.js.map +1 -0
- package/dist/hyper/HyperHtml.test.d.ts +2 -0
- package/dist/hyper/HyperHtml.test.d.ts.map +1 -0
- package/dist/hyper/HyperHtml.test.js +283 -0
- package/dist/hyper/HyperHtml.test.js.map +1 -0
- package/dist/hyper/HyperNode.d.ts +15 -0
- package/dist/hyper/HyperNode.d.ts.map +1 -0
- package/dist/hyper/HyperNode.js +12 -0
- package/dist/hyper/HyperNode.js.map +1 -0
- package/dist/hyper/HyperRoute.d.ts +9 -0
- package/dist/hyper/HyperRoute.d.ts.map +1 -0
- package/dist/hyper/HyperRoute.js +33 -0
- package/dist/hyper/HyperRoute.js.map +1 -0
- package/dist/hyper/HyperRoute.test.d.ts +2 -0
- package/dist/hyper/HyperRoute.test.d.ts.map +1 -0
- package/dist/hyper/HyperRoute.test.js +86 -0
- package/dist/hyper/HyperRoute.test.js.map +1 -0
- package/dist/hyper/html.d.ts +11 -0
- package/dist/hyper/html.d.ts.map +1 -0
- package/dist/hyper/html.js +31 -0
- package/dist/hyper/html.js.map +1 -0
- package/dist/hyper/index.d.ts +7 -0
- package/dist/hyper/index.d.ts.map +1 -0
- package/dist/hyper/index.js +6 -0
- package/dist/hyper/index.js.map +1 -0
- package/dist/hyper/jsx-runtime.d.ts +8 -0
- package/dist/hyper/jsx-runtime.d.ts.map +1 -0
- package/dist/hyper/jsx-runtime.js +9 -0
- package/dist/hyper/jsx-runtime.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/lint/plugin.d.ts +121 -0
- package/dist/lint/plugin.d.ts.map +1 -0
- package/dist/lint/plugin.js +537 -0
- package/dist/lint/plugin.js.map +1 -0
- package/dist/node/NodeFileSystem.d.ts +8 -0
- package/dist/node/NodeFileSystem.d.ts.map +1 -0
- package/dist/node/NodeFileSystem.js +411 -0
- package/dist/node/NodeFileSystem.js.map +1 -0
- package/dist/node/NodeUtils.d.ts +3 -0
- package/dist/node/NodeUtils.d.ts.map +1 -0
- package/dist/node/NodeUtils.js +21 -0
- package/dist/node/NodeUtils.js.map +1 -0
- package/dist/sql/SqlCache.d.ts +18 -0
- package/dist/sql/SqlCache.d.ts.map +1 -0
- package/dist/sql/SqlCache.js +31 -0
- package/dist/sql/SqlCache.js.map +1 -0
- package/dist/sql/SqlClient.d.ts +88 -0
- package/dist/sql/SqlClient.d.ts.map +1 -0
- package/dist/sql/SqlClient.js +171 -0
- package/dist/sql/SqlClient.js.map +1 -0
- package/dist/sql/bun/index.d.ts +6 -0
- package/dist/sql/bun/index.d.ts.map +1 -0
- package/dist/sql/bun/index.js +132 -0
- package/dist/sql/bun/index.js.map +1 -0
- package/dist/sql/index.d.ts +3 -0
- package/dist/sql/index.d.ts.map +1 -0
- package/dist/sql/index.js +3 -0
- package/dist/sql/index.js.map +1 -0
- package/dist/sql/libsql/index.d.ts +15 -0
- package/dist/sql/libsql/index.d.ts.map +1 -0
- package/dist/sql/libsql/index.js +132 -0
- package/dist/sql/libsql/index.js.map +1 -0
- package/dist/sql/mssql/index.d.ts +8 -0
- package/dist/sql/mssql/index.d.ts.map +1 -0
- package/dist/sql/mssql/index.js +145 -0
- package/dist/sql/mssql/index.js.map +1 -0
- package/dist/sql/postgres/index.d.ts +7 -0
- package/dist/sql/postgres/index.d.ts.map +1 -0
- package/dist/sql/postgres/index.js +136 -0
- package/dist/sql/postgres/index.js.map +1 -0
- package/dist/testing/TestLogger.d.ts +14 -0
- package/dist/testing/TestLogger.d.ts.map +1 -0
- package/dist/testing/TestLogger.js +33 -0
- package/dist/testing/TestLogger.js.map +1 -0
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +3 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/utils.d.ts +10 -0
- package/dist/testing/utils.d.ts.map +1 -0
- package/dist/testing/utils.js +40 -0
- package/dist/testing/utils.js.map +1 -0
- package/dist/tower/Simulation.d.ts +3 -0
- package/dist/tower/Simulation.d.ts.map +1 -0
- package/dist/tower/Simulation.js +606 -0
- package/dist/tower/Simulation.js.map +1 -0
- package/dist/tower/Tower.d.ts +11 -0
- package/dist/tower/Tower.d.ts.map +1 -0
- package/dist/tower/Tower.js +30 -0
- package/dist/tower/Tower.js.map +1 -0
- package/dist/tower/TowerErrors.d.ts +4 -0
- package/dist/tower/TowerErrors.d.ts.map +1 -0
- package/dist/tower/TowerErrors.js +200 -0
- package/dist/tower/TowerErrors.js.map +1 -0
- package/dist/tower/TowerLogger.d.ts +2 -0
- package/dist/tower/TowerLogger.d.ts.map +1 -0
- package/dist/tower/TowerLogger.js +46 -0
- package/dist/tower/TowerLogger.js.map +1 -0
- package/dist/tower/TowerMetrics.d.ts +4 -0
- package/dist/tower/TowerMetrics.d.ts.map +1 -0
- package/dist/tower/TowerMetrics.js +62 -0
- package/dist/tower/TowerMetrics.js.map +1 -0
- package/dist/tower/TowerProcess.d.ts +4 -0
- package/dist/tower/TowerProcess.d.ts.map +1 -0
- package/dist/tower/TowerProcess.js +50 -0
- package/dist/tower/TowerProcess.js.map +1 -0
- package/dist/tower/TowerStore.d.ts +199 -0
- package/dist/tower/TowerStore.d.ts.map +1 -0
- package/dist/tower/TowerStore.js +307 -0
- package/dist/tower/TowerStore.js.map +1 -0
- package/dist/tower/TowerTracer.d.ts +4 -0
- package/dist/tower/TowerTracer.d.ts.map +1 -0
- package/dist/tower/TowerTracer.js +111 -0
- package/dist/tower/TowerTracer.js.map +1 -0
- package/dist/tower/index.d.ts +4 -0
- package/dist/tower/index.d.ts.map +1 -0
- package/dist/tower/index.js +4 -0
- package/dist/tower/index.js.map +1 -0
- package/dist/tower/routes/errors/route.d.ts +11 -0
- package/dist/tower/routes/errors/route.d.ts.map +1 -0
- package/dist/tower/routes/errors/route.js +47 -0
- package/dist/tower/routes/errors/route.js.map +1 -0
- package/dist/tower/routes/fiberDetail.d.ts +17 -0
- package/dist/tower/routes/fiberDetail.d.ts.map +1 -0
- package/dist/tower/routes/fiberDetail.js +35 -0
- package/dist/tower/routes/fiberDetail.js.map +1 -0
- package/dist/tower/routes/fibers/route.d.ts +11 -0
- package/dist/tower/routes/fibers/route.d.ts.map +1 -0
- package/dist/tower/routes/fibers/route.js +27 -0
- package/dist/tower/routes/fibers/route.js.map +1 -0
- package/dist/tower/routes/layout.d.ts +10 -0
- package/dist/tower/routes/layout.d.ts.map +1 -0
- package/dist/tower/routes/layout.js +4 -0
- package/dist/tower/routes/layout.js.map +1 -0
- package/dist/tower/routes/logs/route.d.ts +11 -0
- package/dist/tower/routes/logs/route.d.ts.map +1 -0
- package/dist/tower/routes/logs/route.js +36 -0
- package/dist/tower/routes/logs/route.js.map +1 -0
- package/dist/tower/routes/metrics/route.d.ts +11 -0
- package/dist/tower/routes/metrics/route.d.ts.map +1 -0
- package/dist/tower/routes/metrics/route.js +20 -0
- package/dist/tower/routes/metrics/route.js.map +1 -0
- package/dist/tower/routes/route.d.ts +7 -0
- package/dist/tower/routes/route.d.ts.map +1 -0
- package/dist/tower/routes/route.js +6 -0
- package/dist/tower/routes/route.js.map +1 -0
- package/dist/tower/routes/routes/route.d.ts +7 -0
- package/dist/tower/routes/routes/route.d.ts.map +1 -0
- package/dist/tower/routes/routes/route.js +23 -0
- package/dist/tower/routes/routes/route.js.map +1 -0
- package/dist/tower/routes/services/route.d.ts +7 -0
- package/dist/tower/routes/services/route.d.ts.map +1 -0
- package/dist/tower/routes/services/route.js +15 -0
- package/dist/tower/routes/services/route.js.map +1 -0
- package/dist/tower/routes/system/route.d.ts +11 -0
- package/dist/tower/routes/system/route.d.ts.map +1 -0
- package/dist/tower/routes/system/route.js +21 -0
- package/dist/tower/routes/system/route.js.map +1 -0
- package/dist/tower/routes/traceDetail.d.ts +17 -0
- package/dist/tower/routes/traceDetail.d.ts.map +1 -0
- package/dist/tower/routes/traceDetail.js +20 -0
- package/dist/tower/routes/traceDetail.js.map +1 -0
- package/dist/tower/routes/traces/route.d.ts +11 -0
- package/dist/tower/routes/traces/route.d.ts.map +1 -0
- package/dist/tower/routes/traces/route.js +36 -0
- package/dist/tower/routes/traces/route.js.map +1 -0
- package/dist/tower/routes/tree.d.ts +142 -0
- package/dist/tower/routes/tree.d.ts.map +1 -0
- package/dist/tower/routes/tree.js +28 -0
- package/dist/tower/routes/tree.js.map +1 -0
- package/dist/tower/ui/Errors.d.ts +5 -0
- package/dist/tower/ui/Errors.d.ts.map +1 -0
- package/dist/tower/ui/Errors.js +30 -0
- package/dist/tower/ui/Errors.js.map +1 -0
- package/dist/tower/ui/Fibers.d.ts +25 -0
- package/dist/tower/ui/Fibers.d.ts.map +1 -0
- package/dist/tower/ui/Fibers.js +157 -0
- package/dist/tower/ui/Fibers.js.map +1 -0
- package/dist/tower/ui/Logs.d.ts +5 -0
- package/dist/tower/ui/Logs.d.ts.map +1 -0
- package/dist/tower/ui/Logs.js +28 -0
- package/dist/tower/ui/Logs.js.map +1 -0
- package/dist/tower/ui/Metrics.d.ts +5 -0
- package/dist/tower/ui/Metrics.d.ts.map +1 -0
- package/dist/tower/ui/Metrics.js +34 -0
- package/dist/tower/ui/Metrics.js.map +1 -0
- package/dist/tower/ui/Routes.d.ts +9 -0
- package/dist/tower/ui/Routes.d.ts.map +1 -0
- package/dist/tower/ui/Routes.js +79 -0
- package/dist/tower/ui/Routes.js.map +1 -0
- package/dist/tower/ui/Services.d.ts +11 -0
- package/dist/tower/ui/Services.d.ts.map +1 -0
- package/dist/tower/ui/Services.js +254 -0
- package/dist/tower/ui/Services.js.map +1 -0
- package/dist/tower/ui/Shell.d.ts +11 -0
- package/dist/tower/ui/Shell.d.ts.map +1 -0
- package/dist/tower/ui/Shell.js +12 -0
- package/dist/tower/ui/Shell.js.map +1 -0
- package/dist/tower/ui/System.d.ts +5 -0
- package/dist/tower/ui/System.d.ts.map +1 -0
- package/dist/tower/ui/System.js +65 -0
- package/dist/tower/ui/System.js.map +1 -0
- package/dist/tower/ui/Traces.d.ts +13 -0
- package/dist/tower/ui/Traces.d.ts.map +1 -0
- package/dist/tower/ui/Traces.js +219 -0
- package/dist/tower/ui/Traces.js.map +1 -0
- package/dist/x/cloudflare/CloudflareTunnel.d.ts +11 -0
- package/dist/x/cloudflare/CloudflareTunnel.d.ts.map +1 -0
- package/dist/x/cloudflare/CloudflareTunnel.js +31 -0
- package/dist/x/cloudflare/CloudflareTunnel.js.map +1 -0
- package/dist/x/cloudflare/index.d.ts +2 -0
- package/dist/x/cloudflare/index.d.ts.map +1 -0
- package/dist/x/cloudflare/index.js +2 -0
- package/dist/x/cloudflare/index.js.map +1 -0
- package/dist/x/tailscale/TailscaleTunnel.d.ts +16 -0
- package/dist/x/tailscale/TailscaleTunnel.d.ts.map +1 -0
- package/dist/x/tailscale/TailscaleTunnel.js +66 -0
- package/dist/x/tailscale/TailscaleTunnel.js.map +1 -0
- package/dist/x/tailscale/index.d.ts +2 -0
- package/dist/x/tailscale/index.d.ts.map +1 -0
- package/dist/x/tailscale/index.js +2 -0
- package/dist/x/tailscale/index.js.map +1 -0
- package/dist/x/tailwind/TailwindPlugin.d.ts +24 -0
- package/dist/x/tailwind/TailwindPlugin.d.ts.map +1 -0
- package/dist/x/tailwind/TailwindPlugin.js +220 -0
- package/dist/x/tailwind/TailwindPlugin.js.map +1 -0
- package/dist/x/tailwind/compile.d.ts +20 -0
- package/dist/x/tailwind/compile.d.ts.map +1 -0
- package/dist/x/tailwind/compile.js +155 -0
- package/dist/x/tailwind/compile.js.map +1 -0
- package/dist/x/tailwind/plugin.d.ts +3 -0
- package/dist/x/tailwind/plugin.d.ts.map +1 -0
- package/dist/x/tailwind/plugin.js +16 -0
- package/dist/x/tailwind/plugin.js.map +1 -0
- package/package.json +104 -21
- package/src/ChildProcess.ts +3 -6
- package/src/Docker.ts +190 -0
- package/src/Effectify.ts +7 -10
- package/src/Entity.ts +6 -6
- package/src/FileRouterCodegen.ts +4 -4
- package/src/FileSystem.ts +4 -11
- package/src/GlobalLayer.ts +85 -0
- package/src/PlatformRuntime.ts +8 -1
- package/src/RouteHook.ts +2 -2
- package/src/RouteSse.ts +3 -3
- package/src/SqlIntrospect.ts +13 -11
- package/src/Start.ts +112 -1
- package/src/System.ts +60 -3
- package/src/Unique.ts +59 -0
- package/src/Values.ts +11 -0
- package/src/bun/BunChildProcessSpawner.ts +1 -8
- package/src/bun/BunRoute.ts +2 -1
- package/src/bun/BunRuntime.ts +6 -12
- package/src/bun/BunServer.ts +54 -2
- package/src/datastar/watchers/patchElements.ts +0 -1
- package/src/hyper/HyperHtml.ts +11 -7
- package/src/hyper/jsx.d.ts +1 -1
- package/src/lint/plugin.js +239 -4
- package/src/sql/SqlCache.ts +50 -0
- package/src/sql/SqlClient.ts +400 -0
- package/src/sql/bun/index.ts +126 -57
- package/src/sql/index.ts +2 -1
- package/src/sql/libsql/index.ts +133 -85
- package/src/sql/libsql/libsql.d.ts +4 -1
- package/src/sql/mssql/index.ts +149 -120
- package/src/sql/mssql/mssql.d.ts +1 -0
- package/src/sql/postgres/index.ts +254 -0
- package/src/testing/TestLogger.ts +4 -4
- package/src/{console → tower}/Simulation.ts +10 -48
- package/src/tower/Tower.ts +47 -0
- package/src/{console/ConsoleErrors.ts → tower/TowerErrors.ts} +34 -23
- package/src/tower/TowerLogger.ts +52 -0
- package/src/{console/ConsoleMetrics.ts → tower/TowerMetrics.ts} +5 -5
- package/src/{console/ConsoleProcess.ts → tower/TowerProcess.ts} +4 -4
- package/src/tower/TowerStore.ts +505 -0
- package/src/tower/TowerTracer.ts +128 -0
- package/src/tower/index.ts +3 -0
- package/src/{console → tower}/routes/errors/route.tsx +26 -33
- package/src/{console → tower}/routes/fiberDetail.tsx +12 -15
- package/src/tower/routes/fibers/route.tsx +46 -0
- package/src/{console/console.html → tower/routes/layout.html} +1 -1
- package/src/{console → tower}/routes/layout.tsx +1 -1
- package/src/{console → tower}/routes/logs/route.tsx +12 -16
- package/src/{console → tower}/routes/metrics/route.tsx +5 -5
- package/src/tower/routes/route.tsx +8 -0
- package/src/{console → tower}/routes/routes/route.tsx +2 -2
- package/src/{console → tower}/routes/services/route.tsx +2 -2
- package/src/{console → tower}/routes/system/route.tsx +5 -5
- package/src/tower/routes/traceDetail.tsx +30 -0
- package/src/{console → tower}/routes/traces/route.tsx +25 -34
- package/src/{console → tower}/routes/tree.ts +0 -2
- package/src/{console → tower}/ui/Errors.tsx +19 -15
- package/src/{console → tower}/ui/Fibers.tsx +83 -68
- package/src/{console → tower}/ui/Logs.tsx +20 -16
- package/src/{console → tower}/ui/Metrics.tsx +18 -18
- package/src/{console → tower}/ui/Routes.tsx +14 -14
- package/src/{console → tower}/ui/Services.tsx +9 -9
- package/src/tower/ui/Shell.tsx +74 -0
- package/src/{console → tower}/ui/System.tsx +40 -30
- package/src/{console → tower}/ui/Traces.tsx +73 -80
- package/src/x/cloudflare/CloudflareTunnel.ts +1 -1
- package/src/x/tailscale/TailscaleTunnel.ts +3 -3
- package/src/x/tailwind/compile.ts +11 -14
- package/src/console/Console.ts +0 -42
- package/src/console/ConsoleLogger.ts +0 -56
- package/src/console/ConsoleStore.ts +0 -187
- package/src/console/ConsoleTracer.ts +0 -107
- package/src/console/index.ts +0 -3
- package/src/console/routes/fibers/route.tsx +0 -45
- package/src/console/routes/git/route.tsx +0 -64
- package/src/console/routes/route.tsx +0 -8
- package/src/console/routes/traceDetail.tsx +0 -22
- package/src/console/ui/Git.tsx +0 -182
- package/src/console/ui/Shell.tsx +0 -62
- package/src/sql/Sql.ts +0 -51
- package/src/sql/mssql/docker.ts +0 -117
package/dist/Unique.js
ADDED
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
export const ALPHABET_BASE32_CROCKFORD = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
|
|
2
|
+
export const ALPHABET_BASE32_RFC4648 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
|
|
3
|
+
export const ALPHABET_BASE64_URL = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
|
|
4
|
+
export const ALPHABET_HEX = "0123456789abcdef";
|
|
5
|
+
function buildSnowflake() {
|
|
6
|
+
const timestampBits = 48n;
|
|
7
|
+
const seqBits = 16n;
|
|
8
|
+
const seqMax = (1n << seqBits) - 1n;
|
|
9
|
+
const timestampMask = (1n << timestampBits) - 1n;
|
|
10
|
+
const fn = Object.assign(() => {
|
|
11
|
+
const nowMs = BigInt(Date.now());
|
|
12
|
+
const timestampMs = nowMs > fn.state.timestampMs ? nowMs : fn.state.timestampMs;
|
|
13
|
+
if (timestampMs > fn.state.timestampMs) {
|
|
14
|
+
fn.state.timestampMs = timestampMs;
|
|
15
|
+
fn.state.sequence = 0n;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
fn.state.sequence += 1n;
|
|
19
|
+
if (fn.state.sequence > seqMax) {
|
|
20
|
+
fn.state.timestampMs += 1n;
|
|
21
|
+
fn.state.sequence = 0n;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return ((fn.state.timestampMs & timestampMask) << seqBits) | fn.state.sequence;
|
|
25
|
+
}, {
|
|
26
|
+
state: {
|
|
27
|
+
timestampMs: 0n,
|
|
28
|
+
sequence: -1n,
|
|
29
|
+
},
|
|
30
|
+
timestamp: (id) => id >> seqBits,
|
|
31
|
+
});
|
|
32
|
+
return fn;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Generate a random string for ids, session tokens, and API keys.
|
|
36
|
+
* It uses human-friendly crockford base32 encoding (5 bit of entropy per char)
|
|
37
|
+
*
|
|
38
|
+
* Minimal recommended length:
|
|
39
|
+
* - public ids: 16 chars (~80 bits)
|
|
40
|
+
* - API keys: 32 chars (~160 bits)
|
|
41
|
+
* - session tokens: 32-40 chars (~160-200 bits)
|
|
42
|
+
*/
|
|
43
|
+
export function token(length = 32) {
|
|
44
|
+
if (length <= 0)
|
|
45
|
+
return "";
|
|
46
|
+
const buf = new Uint8Array(length);
|
|
47
|
+
crypto.getRandomValues(buf);
|
|
48
|
+
let result = "";
|
|
49
|
+
for (let i = 0; i < buf.length; i++) {
|
|
50
|
+
result += ALPHABET_BASE32_CROCKFORD[buf[i] & 31];
|
|
51
|
+
}
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
export function bytes(length) {
|
|
55
|
+
const buf = new Uint8Array(length);
|
|
56
|
+
crypto.getRandomValues(buf);
|
|
57
|
+
return buf;
|
|
58
|
+
}
|
|
59
|
+
export const UUID_NIL = "00000000-0000-0000-0000-000000000000";
|
|
60
|
+
export function uuid4() {
|
|
61
|
+
return formatUuid(uuid4bytes());
|
|
62
|
+
}
|
|
63
|
+
export function uuid7(time = Date.now()) {
|
|
64
|
+
return formatUuid(uuid7Bytes(time));
|
|
65
|
+
}
|
|
66
|
+
function uuid4bytes() {
|
|
67
|
+
const buf = bytes(16);
|
|
68
|
+
buf[6] = (buf[6] & 0x0f) | 0x40; // version 4
|
|
69
|
+
buf[8] = (buf[8] & 0x3f) | 0x80; // variant
|
|
70
|
+
return buf;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Decode a 48-bit Unix timestamp (ms) from UUID7 or ULID.
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* const bytes = Unique.uuid7Bytes()
|
|
77
|
+
* const timestamp = Unique.toTimestamp(bytes)
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* const bytes = Unique.ulidBytes()
|
|
81
|
+
* const timestamp = Unique.toTimestamp(bytes)
|
|
82
|
+
*/
|
|
83
|
+
export function toTimestamp(bytes) {
|
|
84
|
+
if (bytes.length < 6)
|
|
85
|
+
return 0;
|
|
86
|
+
return (bytes[0] * 0x10000000000 +
|
|
87
|
+
bytes[1] * 0x100000000 +
|
|
88
|
+
bytes[2] * 0x1000000 +
|
|
89
|
+
bytes[3] * 0x10000 +
|
|
90
|
+
bytes[4] * 0x100 +
|
|
91
|
+
bytes[5]);
|
|
92
|
+
}
|
|
93
|
+
export function uuid7Bytes(time = Date.now()) {
|
|
94
|
+
const buf = new Uint8Array(16);
|
|
95
|
+
const timestamp = BigInt(toSafeTime(time));
|
|
96
|
+
// 48-bit timestamp (6 bytes)
|
|
97
|
+
buf[0] = Number((timestamp >> 40n) & 0xffn);
|
|
98
|
+
buf[1] = Number((timestamp >> 32n) & 0xffn);
|
|
99
|
+
buf[2] = Number((timestamp >> 24n) & 0xffn);
|
|
100
|
+
buf[3] = Number((timestamp >> 16n) & 0xffn);
|
|
101
|
+
buf[4] = Number((timestamp >> 8n) & 0xffn);
|
|
102
|
+
buf[5] = Number(timestamp & 0xffn);
|
|
103
|
+
// 12-bit random A (1.5 bytes)
|
|
104
|
+
crypto.getRandomValues(buf.subarray(6, 8));
|
|
105
|
+
buf[6] = (buf[6] & 0x0f) | 0x70; // version 7
|
|
106
|
+
// 2-bit variant + 62-bit random B (8 bytes)
|
|
107
|
+
crypto.getRandomValues(buf.subarray(8, 16));
|
|
108
|
+
buf[8] = (buf[8] & 0x3f) | 0x80; // variant
|
|
109
|
+
return buf;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Convert UUID bytes to canonical (RFC9562) representation.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* Unique.formatUuid(new Uint8Array(16))
|
|
116
|
+
*/
|
|
117
|
+
export function formatUuid(bytes) {
|
|
118
|
+
if (bytes.length === 0)
|
|
119
|
+
return "";
|
|
120
|
+
let result = "";
|
|
121
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
122
|
+
const byte = bytes[i];
|
|
123
|
+
result += ALPHABET_HEX[(byte >> 4) & 0x0f];
|
|
124
|
+
result += ALPHABET_HEX[byte & 0x0f];
|
|
125
|
+
if (i === 3 || i === 5 || i === 7 || i === 9)
|
|
126
|
+
result += "-";
|
|
127
|
+
}
|
|
128
|
+
return result;
|
|
129
|
+
}
|
|
130
|
+
export function ulid(time = Date.now()) {
|
|
131
|
+
const bytes = ulidBytes(time);
|
|
132
|
+
return formatUlid(bytes);
|
|
133
|
+
}
|
|
134
|
+
export function ulidBytes(time = Date.now()) {
|
|
135
|
+
const buf = new Uint8Array(16);
|
|
136
|
+
const timestamp = BigInt(toSafeTime(time));
|
|
137
|
+
buf[0] = Number((timestamp >> 40n) & 0xffn);
|
|
138
|
+
buf[1] = Number((timestamp >> 32n) & 0xffn);
|
|
139
|
+
buf[2] = Number((timestamp >> 24n) & 0xffn);
|
|
140
|
+
buf[3] = Number((timestamp >> 16n) & 0xffn);
|
|
141
|
+
buf[4] = Number((timestamp >> 8n) & 0xffn);
|
|
142
|
+
buf[5] = Number(timestamp & 0xffn);
|
|
143
|
+
crypto.getRandomValues(buf.subarray(6, 16));
|
|
144
|
+
return buf;
|
|
145
|
+
}
|
|
146
|
+
function formatUlid(bytes) {
|
|
147
|
+
if (bytes.length !== 16)
|
|
148
|
+
return "";
|
|
149
|
+
const timestamp = toTimestamp(bytes);
|
|
150
|
+
const timePart = encodeUlidTime(timestamp);
|
|
151
|
+
const randomPart = toBase32(bytes.subarray(6, 16));
|
|
152
|
+
return `${timePart}${randomPart}`;
|
|
153
|
+
}
|
|
154
|
+
function encodeUlidTime(time) {
|
|
155
|
+
let value = BigInt(time);
|
|
156
|
+
const result = Array.from({ length: 10 });
|
|
157
|
+
for (let i = 9; i >= 0; i--) {
|
|
158
|
+
result[i] = ALPHABET_BASE32_CROCKFORD[Number(value & 31n)];
|
|
159
|
+
value >>= 5n;
|
|
160
|
+
}
|
|
161
|
+
return result.join("");
|
|
162
|
+
}
|
|
163
|
+
function toSafeTime(time) {
|
|
164
|
+
if (!Number.isFinite(time))
|
|
165
|
+
return 0;
|
|
166
|
+
return Math.max(0, Math.trunc(time));
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Monotonic Snowflake variant:
|
|
170
|
+
* - 48-bit unix timestamp (ms)
|
|
171
|
+
* - 16-bit sequence
|
|
172
|
+
* - sequence resets on timestamp increment
|
|
173
|
+
* - over-capacity sequence carries into next millisecond
|
|
174
|
+
*/
|
|
175
|
+
export const snowflake = buildSnowflake();
|
|
176
|
+
/**
|
|
177
|
+
* Generate a nanoid-style random string.
|
|
178
|
+
*
|
|
179
|
+
* FUN_FACT: Original nanoid implementation uses base64url alphabet
|
|
180
|
+
* with non-standard custom order where charater form common words found
|
|
181
|
+
* in source code (like use, random, strict) to make gzip/brotli more efficient.
|
|
182
|
+
* It's qt lil opt from the times where web developers
|
|
183
|
+
* were competing to have the smallest possible bundle size.
|
|
184
|
+
*/
|
|
185
|
+
export function nanoid(size = 21, alphabet = ALPHABET_BASE64_URL) {
|
|
186
|
+
if (size <= 0 || alphabet.length === 0)
|
|
187
|
+
return "";
|
|
188
|
+
const length = alphabet.length;
|
|
189
|
+
const mask = (2 << Math.floor(Math.log2(length - 1))) - 1;
|
|
190
|
+
const step = Math.ceil((1.6 * mask * size) / length);
|
|
191
|
+
let id = "";
|
|
192
|
+
while (id.length < size) {
|
|
193
|
+
const bytes = new Uint8Array(step);
|
|
194
|
+
crypto.getRandomValues(bytes);
|
|
195
|
+
for (let i = 0; i < step && id.length < size; i++) {
|
|
196
|
+
const index = bytes[i] & mask;
|
|
197
|
+
if (index < length)
|
|
198
|
+
id += alphabet[index];
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return id;
|
|
202
|
+
}
|
|
203
|
+
function toBase32(bytes, alphabet = ALPHABET_BASE32_CROCKFORD) {
|
|
204
|
+
if (bytes.length === 0)
|
|
205
|
+
return "";
|
|
206
|
+
let result = "";
|
|
207
|
+
let buffer = 0;
|
|
208
|
+
let bits = 0;
|
|
209
|
+
for (const byte of bytes) {
|
|
210
|
+
buffer = (buffer << 8) | byte;
|
|
211
|
+
bits += 8;
|
|
212
|
+
while (bits >= 5) {
|
|
213
|
+
bits -= 5;
|
|
214
|
+
const index = (buffer >> bits) & 31;
|
|
215
|
+
result += alphabet[index];
|
|
216
|
+
buffer &= (1 << bits) - 1;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if (bits > 0) {
|
|
220
|
+
const index = (buffer << (5 - bits)) & 31;
|
|
221
|
+
result += alphabet[index];
|
|
222
|
+
}
|
|
223
|
+
return result;
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=Unique.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Unique.js","sourceRoot":"","sources":["../src/Unique.ts"],"names":[],"mappings":"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"}
|
package/dist/Values.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
type JsonPrimitives = string | number | boolean | null;
|
|
2
|
+
export type JsonObject = {
|
|
3
|
+
[key: string]: Json | undefined;
|
|
4
|
+
};
|
|
5
|
+
export type Json = JsonPrimitives | Json[] | JsonObject;
|
|
6
|
+
export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
|
|
7
|
+
/**
|
|
8
|
+
* Type helper that returns `true` if type T has any method properties,
|
|
9
|
+
* otherwise returns `never`.
|
|
10
|
+
*
|
|
11
|
+
* Used internally by IsPlainObject to distinguish plain objects from
|
|
12
|
+
* class instances or objects with methods.
|
|
13
|
+
*/
|
|
14
|
+
type HasMethod<T> = {
|
|
15
|
+
[K in keyof T]: T[K] extends (...args: Array<any>) => any ? true : never;
|
|
16
|
+
}[keyof T];
|
|
17
|
+
export type IsPlainObject<T> = T extends object ? T extends Function ? false : HasMethod<T> extends never ? true : false : false;
|
|
18
|
+
export type Simplify<T> = {
|
|
19
|
+
-readonly [K in keyof T]: IsPlainObject<T[K]> extends true ? {
|
|
20
|
+
-readonly [P in keyof T[K]]: T[K][P];
|
|
21
|
+
} : T[K];
|
|
22
|
+
} extends infer U ? {
|
|
23
|
+
[K in keyof U]: U[K];
|
|
24
|
+
} : never;
|
|
25
|
+
export declare const firstValue: <T>(record: Record<string, T>) => T | undefined;
|
|
26
|
+
export declare const isTemplateStringsArray: (value: unknown) => value is TemplateStringsArray;
|
|
27
|
+
export declare const concatBytes: (a: Uint8Array<ArrayBufferLike>, b: Uint8Array<ArrayBufferLike>) => Uint8Array<ArrayBufferLike>;
|
|
28
|
+
export declare const compact: (record: Record<string, unknown>) => Record<string, unknown>;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=Values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Values.d.ts","sourceRoot":"","sources":["../src/Values.ts"],"names":[],"mappings":"AAAA,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAEtD,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,GAAG,EAAE,MAAM,GACR,IAAI,GAGJ,SAAS,CAAA;CACd,CAAA;AAED,MAAM,MAAM,IAAI,GAAG,cAAc,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;AAEvD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2B9E;AAED;;;;;;GAMG;AACH,KAAK,SAAS,CAAC,CAAC,IAAI;KACjB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,IAAI,GAAG,KAAK;CACzE,CAAC,MAAM,CAAC,CAAC,CAAA;AAEV,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC3C,CAAC,SAAS,QAAQ,GAChB,KAAK,GACL,SAAS,CAAC,CAAC,CAAC,SAAS,KAAK,GACxB,IAAI,GACJ,KAAK,GACT,KAAK,CAAA;AAET,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GACtD;QAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GACxC,CAAC,CAAC,CAAC,CAAC;CACT,SAAS,MAAM,CAAC,GACb;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GACxB,KAAK,CAAA;AAET,eAAO,MAAM,UAAU,GAAI,CAAC,6CAK3B,CAAA;AAED,eAAO,MAAM,sBAAsB,mDACK,CAAA;AAExC,eAAO,MAAM,WAAW,iGAKvB,CAAA;AAED,eAAO,MAAM,OAAO,8DAMnB,CAAA"}
|
package/dist/Values.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export function isPlainObject(value) {
|
|
2
|
+
if (value === null || typeof value !== "object") {
|
|
3
|
+
return false;
|
|
4
|
+
}
|
|
5
|
+
// Check for built-in types and web APIs
|
|
6
|
+
if (ArrayBuffer.isView(value) ||
|
|
7
|
+
value instanceof ArrayBuffer ||
|
|
8
|
+
value instanceof Blob ||
|
|
9
|
+
value instanceof FormData ||
|
|
10
|
+
value instanceof URLSearchParams ||
|
|
11
|
+
value instanceof ReadableStream ||
|
|
12
|
+
value instanceof Date ||
|
|
13
|
+
value instanceof Map ||
|
|
14
|
+
value instanceof Set ||
|
|
15
|
+
value instanceof RegExp ||
|
|
16
|
+
value instanceof Error ||
|
|
17
|
+
value instanceof Promise ||
|
|
18
|
+
Array.isArray(value)) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
// Check if it's a plain object (Object.prototype or null prototype)
|
|
22
|
+
const proto = Object.getPrototypeOf(value);
|
|
23
|
+
return proto === null || proto === Object.prototype;
|
|
24
|
+
}
|
|
25
|
+
export const firstValue = (record) => {
|
|
26
|
+
for (const key in record) {
|
|
27
|
+
return record[key];
|
|
28
|
+
}
|
|
29
|
+
return undefined;
|
|
30
|
+
};
|
|
31
|
+
export const isTemplateStringsArray = (value) => Array.isArray(value) && "raw" in value;
|
|
32
|
+
export const concatBytes = (a, b) => {
|
|
33
|
+
const result = new Uint8Array(a.byteLength + b.byteLength);
|
|
34
|
+
result.set(a);
|
|
35
|
+
result.set(b, a.byteLength);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
export const compact = (record) => {
|
|
39
|
+
const out = {};
|
|
40
|
+
for (const [key, value] of Object.entries(record)) {
|
|
41
|
+
if (value !== undefined)
|
|
42
|
+
out[key] = value;
|
|
43
|
+
}
|
|
44
|
+
return out;
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=Values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Values.js","sourceRoot":"","sources":["../src/Values.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,aAAa,CAAC,KAAc,EAAoC;IAC9E,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,wCAAwC;IACxC,IACE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;QACzB,KAAK,YAAY,WAAW;QAC5B,KAAK,YAAY,IAAI;QACrB,KAAK,YAAY,QAAQ;QACzB,KAAK,YAAY,eAAe;QAChC,KAAK,YAAY,cAAc;QAC/B,KAAK,YAAY,IAAI;QACrB,KAAK,YAAY,GAAG;QACpB,KAAK,YAAY,GAAG;QACpB,KAAK,YAAY,MAAM;QACvB,KAAK,YAAY,KAAK;QACtB,KAAK,YAAY,OAAO;QACxB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EACpB,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,oEAAoE;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC1C,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,CAAA;AAAA,CACpD;AA6BD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,MAAyB,EAAiB,EAAE,CAAC;IACzE,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC;IACD,OAAO,SAAS,CAAA;AAAA,CACjB,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAiC,EAAE,CACtF,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,KAAK,CAAA;AAExC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAa,EAAE,CAAa,EAAc,EAAE,CAAC;IACvE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAA;IAC1D,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACb,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAA;IAC3B,OAAO,MAAM,CAAA;AAAA,CACd,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAA2C,EAA2B,EAAE,CAAC;IAC/F,MAAM,GAAG,GAA4B,EAAE,CAAA;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IAC3C,CAAC;IACD,OAAO,GAAG,CAAA;AAAA,CACX,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BuildConfig } from "bun";
|
|
2
|
+
import { type Context, Effect, Layer } from "effect";
|
|
3
|
+
import * as Bundle from "../bundler/Bundle.ts";
|
|
4
|
+
export type BuildOptions = Omit<BuildConfig, "outdir">;
|
|
5
|
+
export declare const buildClient: (config: string | BuildOptions) => Effect.Effect<Bundle.BundleContext, Bundle.BundleError, never>;
|
|
6
|
+
export declare const buildServer: (config: string | BuildOptions) => Effect.Effect<Bundle.BundleContext, Bundle.BundleError, never>;
|
|
7
|
+
/**
|
|
8
|
+
* Given a config, build a bundle and returns every time when effect is executed.
|
|
9
|
+
*/
|
|
10
|
+
export declare function build(config: BuildOptions): Effect.Effect<Bundle.BundleContext, Bundle.BundleError>;
|
|
11
|
+
export declare function layer<T>(tag: Context.Tag<T, Bundle.BundleContext>, config: BuildOptions): Layer.Layer<T, Bundle.BundleError, never>;
|
|
12
|
+
//# sourceMappingURL=BunBundle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunBundle.d.ts","sourceRoot":"","sources":["../../src/bun/BunBundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,KAAK,CAAA;AACnD,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,EAAY,KAAK,EAAgB,MAAM,QAAQ,CAAA;AAEnF,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAG9C,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;AAEtD,eAAO,MAAM,WAAW,mGAwBvB,CAAA;AAED,eAAO,MAAM,WAAW,mGAuBvB,CAAA;AAED;;GAEG;AACH,wBAAgB,KAAK,CACnB,MAAM,EAAE,YAAY,GACnB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAoBzD;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,6CAEvF"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { Array, Effect, Iterable, Layer, pipe, Record } from "effect";
|
|
2
|
+
import * as NPath from "node:path";
|
|
3
|
+
import * as Bundle from "../bundler/Bundle.js";
|
|
4
|
+
export const buildClient = (config) => {
|
|
5
|
+
if (typeof config === "string") {
|
|
6
|
+
config = {
|
|
7
|
+
entrypoints: [config],
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
const baseConfig = {
|
|
11
|
+
sourcemap: "linked",
|
|
12
|
+
naming: {
|
|
13
|
+
entry: "[name]-[hash].[ext]",
|
|
14
|
+
chunk: "[name]-[hash].[ext]",
|
|
15
|
+
asset: "[name]-[hash].[ext]",
|
|
16
|
+
},
|
|
17
|
+
packages: "bundle",
|
|
18
|
+
publicPath: "/_bundle/",
|
|
19
|
+
};
|
|
20
|
+
const resolvedConfig = {
|
|
21
|
+
...baseConfig,
|
|
22
|
+
target: "browser",
|
|
23
|
+
...config,
|
|
24
|
+
};
|
|
25
|
+
return build(resolvedConfig);
|
|
26
|
+
};
|
|
27
|
+
export const buildServer = (config) => {
|
|
28
|
+
if (typeof config === "string") {
|
|
29
|
+
config = {
|
|
30
|
+
entrypoints: [config],
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
const baseConfig = {
|
|
34
|
+
sourcemap: "linked",
|
|
35
|
+
naming: {
|
|
36
|
+
entry: "[dir]/[name]-[hash].[ext]",
|
|
37
|
+
chunk: "[name]-[hash].[ext]",
|
|
38
|
+
asset: "[name]-[hash].[ext]",
|
|
39
|
+
},
|
|
40
|
+
packages: "bundle",
|
|
41
|
+
};
|
|
42
|
+
const resolvedConfig = {
|
|
43
|
+
...baseConfig,
|
|
44
|
+
target: "bun",
|
|
45
|
+
...config,
|
|
46
|
+
};
|
|
47
|
+
return build(resolvedConfig);
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Given a config, build a bundle and returns every time when effect is executed.
|
|
51
|
+
*/
|
|
52
|
+
export function build(config) {
|
|
53
|
+
return Effect.gen(function* () {
|
|
54
|
+
const output = yield* buildBun(config);
|
|
55
|
+
const manifest = generateManifestfromBunBundle(config, output);
|
|
56
|
+
const artifactsMap = Record.fromIterableBy(output.outputs, (v) => v.path.replace(/^\.\//, ""));
|
|
57
|
+
const resolve = (path) => {
|
|
58
|
+
return manifest.entrypoints[path] ?? null;
|
|
59
|
+
};
|
|
60
|
+
const getArtifact = (path) => {
|
|
61
|
+
return artifactsMap[resolve(path)] ?? artifactsMap[path] ?? null;
|
|
62
|
+
};
|
|
63
|
+
return {
|
|
64
|
+
...manifest,
|
|
65
|
+
resolve,
|
|
66
|
+
getArtifact,
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
export function layer(tag, config) {
|
|
71
|
+
return Layer.effect(tag, build(config));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Finds common path prefix across provided paths.
|
|
75
|
+
*/
|
|
76
|
+
function getBaseDir(paths) {
|
|
77
|
+
if (paths.length === 0)
|
|
78
|
+
return "";
|
|
79
|
+
if (paths.length === 1)
|
|
80
|
+
return NPath.dirname(paths[0]);
|
|
81
|
+
const segmentsList = paths.map((path) => NPath.dirname(path).split("/").filter(Boolean));
|
|
82
|
+
return (segmentsList[0]
|
|
83
|
+
.filter((segment, i) => segmentsList.every((segs) => segs[i] === segment))
|
|
84
|
+
.reduce((path, seg) => `${path}/${seg}`, "") ?? "");
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Maps entrypoints to their respective build artifacts.
|
|
88
|
+
* Entrypoint key is trimmed to remove common path prefix.
|
|
89
|
+
*/
|
|
90
|
+
function joinBuildEntrypoints(options, output) {
|
|
91
|
+
const commonPathPrefix = getBaseDir(options.entrypoints) + "/";
|
|
92
|
+
return pipe(Iterable.zip(options.entrypoints, pipe(output.outputs,
|
|
93
|
+
// Filter out source maps to properly map artifacts to entrypoints.
|
|
94
|
+
Iterable.filter((v) => v.kind !== "sourcemap" && !(v.loader === "html" && v.path.endsWith(".js"))))), Iterable.map(([entrypoint, artifact]) => {
|
|
95
|
+
return {
|
|
96
|
+
shortPath: entrypoint.replace(commonPathPrefix, ""),
|
|
97
|
+
fullPath: entrypoint,
|
|
98
|
+
artifact,
|
|
99
|
+
};
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Generate manifest from a build.
|
|
104
|
+
* Useful for SSR and providing source->artifact path mapping.
|
|
105
|
+
*/
|
|
106
|
+
function generateManifestfromBunBundle(options, output, imports) {
|
|
107
|
+
const entrypointArtifacts = joinBuildEntrypoints(options, output);
|
|
108
|
+
return {
|
|
109
|
+
entrypoints: pipe(entrypointArtifacts, Iterable.map((v) => [v.shortPath, v.artifact.path.replace(/^\.\//, "")]), Record.fromEntries),
|
|
110
|
+
artifacts: pipe(output.outputs, Iterable.map((v) => {
|
|
111
|
+
// strip './' prefix
|
|
112
|
+
const shortPath = v.path.replace(/^\.\//, "");
|
|
113
|
+
return {
|
|
114
|
+
path: shortPath,
|
|
115
|
+
type: v.type,
|
|
116
|
+
size: v.size,
|
|
117
|
+
hash: v.hash ?? undefined,
|
|
118
|
+
imports: imports?.get(v.path),
|
|
119
|
+
};
|
|
120
|
+
}), Array.fromIterable),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
function buildBun(config) {
|
|
124
|
+
return Object.assign(Effect.gen(function* () {
|
|
125
|
+
const buildOutput = yield* Effect.tryPromise({
|
|
126
|
+
try: () => Bun.build(config),
|
|
127
|
+
catch: (err) => {
|
|
128
|
+
const cause = err instanceof AggregateError ? (err.errors?.[0] ?? err) : err;
|
|
129
|
+
return new Bundle.BundleError({
|
|
130
|
+
message: "Failed to Bun.build: " + cause,
|
|
131
|
+
cause: cause,
|
|
132
|
+
});
|
|
133
|
+
},
|
|
134
|
+
});
|
|
135
|
+
return buildOutput;
|
|
136
|
+
}));
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=BunBundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunBundle.js","sourceRoot":"","sources":["../../src/bun/BunBundle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAgB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACnF,OAAO,KAAK,KAAK,MAAM,WAAW,CAAA;AAClC,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAK9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAA6B,EAAE,EAAE,CAAC;IAC5D,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,GAAG;YACP,WAAW,EAAE,CAAC,MAAM,CAAC;SACtB,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GAA0B;QACxC,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE;YACN,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,qBAAqB;SAC7B;QACD,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,WAAW;KACf,CAAA;IACV,MAAM,cAAc,GAAG;QACrB,GAAG,UAAU;QACb,MAAM,EAAE,SAAkB;QAC1B,GAAG,MAAM;KACV,CAAA;IAED,OAAO,KAAK,CAAC,cAAc,CAAC,CAAA;AAAA,CAC7B,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAA6B,EAAE,EAAE,CAAC;IAC5D,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,GAAG;YACP,WAAW,EAAE,CAAC,MAAM,CAAC;SACtB,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GAA0B;QACxC,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE;YACN,KAAK,EAAE,2BAA2B;YAClC,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,qBAAqB;SAC7B;QACD,QAAQ,EAAE,QAAQ;KACV,CAAA;IACV,MAAM,cAAc,GAAG;QACrB,GAAG,UAAU;QACb,MAAM,EAAE,KAAc;QACtB,GAAG,MAAM;KACV,CAAA;IAED,OAAO,KAAK,CAAC,cAAc,CAAC,CAAA;AAAA,CAC7B,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CACnB,MAAoB,EACqC;IACzD,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI;QAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACtC,MAAM,QAAQ,GAAG,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC9D,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;QAE9F,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC;YAChC,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;QAAA,CAC1C,CAAA;QAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAe,EAAE,CAAC;YACjD,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;QAAA,CACjE,CAAA;QAED,OAAO;YACL,GAAG,QAAQ;YACX,OAAO;YACP,WAAW;SACZ,CAAA;IAAA,CACF,CAAC,CAAA;AAAA,CACH;AAED,MAAM,UAAU,KAAK,CAAI,GAAyC,EAAE,MAAoB,EAAE;IACxF,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;AAAA,CACxC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,KAAoB,EAAE;IACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAEtD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IAExF,OAAO,CACL,YAAY,CAAC,CAAC,CAAC;SACZ,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;SACzE,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CACrD,CAAA;AAAA,CACF;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,OAAqB,EAAE,MAAmB,EAAE;IACxE,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,GAAG,CAAA;IAE9D,OAAO,IAAI,CACT,QAAQ,CAAC,GAAG,CACV,OAAO,CAAC,WAAW,EACnB,IAAI,CACF,MAAM,CAAC,OAAO;IACd,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CACb,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAClF,CACF,CACF,EACD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;QACvC,OAAO;YACL,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACnD,QAAQ,EAAE,UAAU;YACpB,QAAQ;SACA,CAAA;IAAA,CACX,CAAC,CACH,CAAA;AAAA,CACF;AAED;;;GAGG;AACH,SAAS,6BAA6B,CACpC,OAAqB,EACrB,MAAmB,EACnB,OAA0C,EACnB;IACvB,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAEjE,OAAO;QACL,WAAW,EAAE,IAAI,CACf,mBAAmB,EACnB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAU,CAAC,EACjF,MAAM,CAAC,WAAW,CACnB;QAED,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,OAAO,EACd,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAClB,oBAAoB;YACpB,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YAE7C,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;gBACzB,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;aAC9B,CAAA;QAAA,CACF,CAAC,EACF,KAAK,CAAC,YAAY,CACnB;KACF,CAAA;AAAA,CACF;AAED,SAAS,QAAQ,CAAC,MAAoB,EAAyD;IAC7F,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI;QACtB,MAAM,WAAW,GAAgB,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;YACxD,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YAC5B,KAAK,EAAE,CAAC,GAA6B,EAAE,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,GAAG,YAAY,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;gBAE5E,OAAO,IAAI,MAAM,CAAC,WAAW,CAAC;oBAC5B,OAAO,EAAE,uBAAuB,GAAG,KAAK;oBACxC,KAAK,EAAE,KAAK;iBACb,CAAC,CAAA;YAAA,CACH;SACF,CAAC,CAAA;QAEF,OAAO,WAAW,CAAA;IAAA,CACnB,CAAC,CACH,CAAA;AAAA,CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunChildProcessSpawner.d.ts","sourceRoot":"","sources":["../../src/bun/BunChildProcessSpawner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAGlD,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,CA+H/D,CAAA"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import * as Sink from "effect/Sink";
|
|
4
|
+
import * as Stream from "effect/Stream";
|
|
5
|
+
import * as ChildProcess from "../ChildProcess.js";
|
|
6
|
+
import * as PlatformError from "../PlatformError.js";
|
|
7
|
+
export const layer = Layer.succeed(ChildProcess.ChildProcessSpawner, {
|
|
8
|
+
spawn: (command) => Effect.gen(function* () {
|
|
9
|
+
const proc = yield* Effect.try({
|
|
10
|
+
try: () => Bun.spawn([...command.cmd], {
|
|
11
|
+
cwd: command.cwd,
|
|
12
|
+
env: command.env,
|
|
13
|
+
stdin: command.stdin ?? "ignore",
|
|
14
|
+
stdout: command.stdout ?? "pipe",
|
|
15
|
+
stderr: command.stderr ?? "pipe",
|
|
16
|
+
detached: command.detached,
|
|
17
|
+
}),
|
|
18
|
+
catch: (err) => new PlatformError.SystemError({
|
|
19
|
+
reason: "Unknown",
|
|
20
|
+
module: "ChildProcess",
|
|
21
|
+
method: "spawn",
|
|
22
|
+
description: err instanceof Error ? err.message : "Failed to spawn process",
|
|
23
|
+
cause: err,
|
|
24
|
+
}),
|
|
25
|
+
});
|
|
26
|
+
yield* Effect.addFinalizer(() => Effect.sync(() => {
|
|
27
|
+
if (!proc.killed) {
|
|
28
|
+
proc.kill();
|
|
29
|
+
}
|
|
30
|
+
}));
|
|
31
|
+
const handle = {
|
|
32
|
+
pid: proc.pid,
|
|
33
|
+
exitCode: Effect.tryPromise({
|
|
34
|
+
try: () => proc.exited,
|
|
35
|
+
catch: (err) => new PlatformError.SystemError({
|
|
36
|
+
reason: "Unknown",
|
|
37
|
+
module: "ChildProcess",
|
|
38
|
+
method: "exitCode",
|
|
39
|
+
description: "Process exited unexpectedly",
|
|
40
|
+
cause: err,
|
|
41
|
+
}),
|
|
42
|
+
}),
|
|
43
|
+
isRunning: Effect.try({
|
|
44
|
+
try: () => !proc.killed && proc.exitCode === null,
|
|
45
|
+
catch: (err) => new PlatformError.SystemError({
|
|
46
|
+
reason: "BadResource",
|
|
47
|
+
module: "ChildProcess",
|
|
48
|
+
method: "isRunning",
|
|
49
|
+
description: err instanceof Error ? err.message : "Failed to check process status",
|
|
50
|
+
cause: err,
|
|
51
|
+
}),
|
|
52
|
+
}),
|
|
53
|
+
kill: (options) => Effect.try({
|
|
54
|
+
try: () => {
|
|
55
|
+
proc.kill(options?.killSignal);
|
|
56
|
+
},
|
|
57
|
+
catch: (err) => new PlatformError.SystemError({
|
|
58
|
+
reason: "BadResource",
|
|
59
|
+
module: "ChildProcess",
|
|
60
|
+
method: "kill",
|
|
61
|
+
description: err instanceof Error ? err.message : "Failed to kill process",
|
|
62
|
+
cause: err,
|
|
63
|
+
}),
|
|
64
|
+
}),
|
|
65
|
+
stdin: Sink.forEach((chunk) => Effect.try({
|
|
66
|
+
try: () => {
|
|
67
|
+
const sink = proc.stdin;
|
|
68
|
+
sink.write(chunk);
|
|
69
|
+
},
|
|
70
|
+
catch: (err) => new PlatformError.SystemError({
|
|
71
|
+
reason: "Unknown",
|
|
72
|
+
module: "ChildProcess",
|
|
73
|
+
method: "fromWritable(stdin)",
|
|
74
|
+
description: "Failed to write to stdin",
|
|
75
|
+
cause: err,
|
|
76
|
+
}),
|
|
77
|
+
})).pipe(Sink.ensuring(Effect.promise(async () => {
|
|
78
|
+
const sink = proc.stdin;
|
|
79
|
+
await sink.end();
|
|
80
|
+
}))),
|
|
81
|
+
stdout: Stream.fromReadableStream(() => proc.stdout, (err) => new PlatformError.SystemError({
|
|
82
|
+
reason: "Unknown",
|
|
83
|
+
module: "ChildProcess",
|
|
84
|
+
method: "fromReadable(stdout)",
|
|
85
|
+
description: "Failed to read stdout stream",
|
|
86
|
+
cause: err,
|
|
87
|
+
})),
|
|
88
|
+
stderr: Stream.fromReadableStream(() => proc.stderr, (err) => new PlatformError.SystemError({
|
|
89
|
+
reason: "Unknown",
|
|
90
|
+
module: "ChildProcess",
|
|
91
|
+
method: "fromReadable(stderr)",
|
|
92
|
+
description: "Failed to read stderr stream",
|
|
93
|
+
cause: err,
|
|
94
|
+
})),
|
|
95
|
+
};
|
|
96
|
+
return handle;
|
|
97
|
+
}),
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=BunChildProcessSpawner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunChildProcessSpawner.js","sourceRoot":"","sources":["../../src/bun/BunChildProcessSpawner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type BunPlugin, type Import } from "bun";
|
|
2
|
+
export type ImportMap = ReadonlyMap<string, Array<Import>>;
|
|
3
|
+
/**
|
|
4
|
+
* Tracks all imported modules.
|
|
5
|
+
* State can be accessed via 'virtual:import-tracker' module within a bundle
|
|
6
|
+
* or through `state` property returned by this function.
|
|
7
|
+
*/
|
|
8
|
+
export declare const make: (opts?: {
|
|
9
|
+
includeNodeModules?: false | undefined;
|
|
10
|
+
baseDir?: string | undefined;
|
|
11
|
+
}) => BunPlugin & {
|
|
12
|
+
state: ImportMap;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=BunImportTrackerPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BunImportTrackerPlugin.d.ts","sourceRoot":"","sources":["../../src/bun/BunImportTrackerPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,KAAK,CAAA;AAGjD,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;AAE1D;;;;GAIG;AACH,eAAO,MAAM,IAAI;;;;;CAwFhB,CAAA"}
|