@nimbus-sh/worker 0.1.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/README.md +219 -0
- package/dist/_shared/bytes.d.ts +18 -0
- package/dist/_shared/bytes.d.ts.map +1 -0
- package/dist/_shared/bytes.js +17 -0
- package/dist/_shared/cache-stats.d.ts +146 -0
- package/dist/_shared/cache-stats.d.ts.map +1 -0
- package/dist/_shared/cache-stats.js +162 -0
- package/dist/_shared/exports-resolver.d.ts +76 -0
- package/dist/_shared/exports-resolver.d.ts.map +1 -0
- package/dist/_shared/exports-resolver.js +284 -0
- package/dist/_shared/install-phase.d.ts +47 -0
- package/dist/_shared/install-phase.d.ts.map +1 -0
- package/dist/_shared/install-phase.js +1 -0
- package/dist/_shared/real-node-imports.d.ts +38 -0
- package/dist/_shared/real-node-imports.d.ts.map +1 -0
- package/dist/_shared/real-node-imports.js +46 -0
- package/dist/_shared/retry.d.ts +93 -0
- package/dist/_shared/retry.d.ts.map +1 -0
- package/dist/_shared/retry.js +161 -0
- package/dist/_shared/session-id.d.ts +39 -0
- package/dist/_shared/session-id.d.ts.map +1 -0
- package/dist/_shared/session-id.js +127 -0
- package/dist/_shared/session-router.d.ts +104 -0
- package/dist/_shared/session-router.d.ts.map +1 -0
- package/dist/_shared/session-router.js +165 -0
- package/dist/_shared/w7-frame.d.ts +93 -0
- package/dist/_shared/w7-frame.d.ts.map +1 -0
- package/dist/_shared/w7-frame.js +402 -0
- package/dist/auth/index.d.ts +16 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +15 -0
- package/dist/auth/middleware.d.ts +85 -0
- package/dist/auth/middleware.d.ts.map +1 -0
- package/dist/auth/middleware.js +150 -0
- package/dist/auth/token.d.ts +96 -0
- package/dist/auth/token.d.ts.map +1 -0
- package/dist/auth/token.js +226 -0
- package/dist/auth/types.d.ts +141 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +114 -0
- package/dist/bindings/d1.d.ts +102 -0
- package/dist/bindings/d1.d.ts.map +1 -0
- package/dist/bindings/d1.js +549 -0
- package/dist/bindings/kv.d.ts +82 -0
- package/dist/bindings/kv.d.ts.map +1 -0
- package/dist/bindings/kv.js +290 -0
- package/dist/bindings/r2.d.ts +137 -0
- package/dist/bindings/r2.d.ts.map +1 -0
- package/dist/bindings/r2.js +379 -0
- package/dist/cirrus-npm-cjs.generated.d.ts +17 -0
- package/dist/cirrus-npm-cjs.generated.d.ts.map +1 -0
- package/dist/cirrus-npm-cjs.generated.js +41 -0
- package/dist/cirrus-plugin-react.generated.d.ts +34 -0
- package/dist/cirrus-plugin-react.generated.d.ts.map +1 -0
- package/dist/cirrus-plugin-react.generated.js +33 -0
- package/dist/constants.d.ts +34 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +116 -0
- package/dist/esbuild-wasm-bundle.generated.d.ts +41 -0
- package/dist/esbuild-wasm-bundle.generated.d.ts.map +1 -0
- package/dist/esbuild-wasm-bundle.generated.js +40 -0
- package/dist/facets/cirrus-real.d.ts +147 -0
- package/dist/facets/cirrus-real.d.ts.map +1 -0
- package/dist/facets/cirrus-real.js +981 -0
- package/dist/facets/inner-do-registry.d.ts +41 -0
- package/dist/facets/inner-do-registry.d.ts.map +1 -0
- package/dist/facets/inner-do-registry.js +51 -0
- package/dist/facets/manager.d.ts +314 -0
- package/dist/facets/manager.d.ts.map +1 -0
- package/dist/facets/manager.js +2681 -0
- package/dist/facets/process.d.ts +318 -0
- package/dist/facets/process.d.ts.map +1 -0
- package/dist/facets/process.js +567 -0
- package/dist/facets/real-vite-fs-shim.d.ts +151 -0
- package/dist/facets/real-vite-fs-shim.d.ts.map +1 -0
- package/dist/facets/real-vite-fs-shim.js +1279 -0
- package/dist/facets/real-vite-hmr.d.ts +142 -0
- package/dist/facets/real-vite-hmr.d.ts.map +1 -0
- package/dist/facets/real-vite-hmr.js +476 -0
- package/dist/facets/vite-dev-server.d.ts +293 -0
- package/dist/facets/vite-dev-server.d.ts.map +1 -0
- package/dist/facets/vite-dev-server.js +2580 -0
- package/dist/facets/wasm-swap-registry.d.ts +261 -0
- package/dist/facets/wasm-swap-registry.d.ts.map +1 -0
- package/dist/facets/wasm-swap-registry.js +551 -0
- package/dist/facets/ws-terminal.d.ts +107 -0
- package/dist/facets/ws-terminal.d.ts.map +1 -0
- package/dist/facets/ws-terminal.js +207 -0
- package/dist/git/commands.d.ts +13 -0
- package/dist/git/commands.d.ts.map +1 -0
- package/dist/git/commands.js +633 -0
- package/dist/git/network-facet.d.ts +61 -0
- package/dist/git/network-facet.d.ts.map +1 -0
- package/dist/git/network-facet.js +700 -0
- package/dist/git-bundle.generated.d.ts +16 -0
- package/dist/git-bundle.generated.d.ts.map +1 -0
- package/dist/git-bundle.generated.js +15 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +73 -0
- package/dist/loaders/child-process/spawn-facet.d.ts +90 -0
- package/dist/loaders/child-process/spawn-facet.d.ts.map +1 -0
- package/dist/loaders/child-process/spawn-facet.js +103 -0
- package/dist/loaders/child-process/spawn-pool.d.ts +110 -0
- package/dist/loaders/child-process/spawn-pool.d.ts.map +1 -0
- package/dist/loaders/child-process/spawn-pool.js +161 -0
- package/dist/loaders/fanout-pool.d.ts +195 -0
- package/dist/loaders/fanout-pool.d.ts.map +1 -0
- package/dist/loaders/fanout-pool.js +326 -0
- package/dist/loaders/generated-workers.d.ts +26 -0
- package/dist/loaders/generated-workers.d.ts.map +1 -0
- package/dist/loaders/generated-workers.js +25 -0
- package/dist/loaders/index.d.ts +15 -0
- package/dist/loaders/index.d.ts.map +1 -0
- package/dist/loaders/index.js +13 -0
- package/dist/loaders/loader-pool.d.ts +273 -0
- package/dist/loaders/loader-pool.d.ts.map +1 -0
- package/dist/loaders/loader-pool.js +624 -0
- package/dist/loaders/npm-resolve-preamble.d.ts +34 -0
- package/dist/loaders/npm-resolve-preamble.d.ts.map +1 -0
- package/dist/loaders/npm-resolve-preamble.js +237 -0
- package/dist/loaders/pre-bundle-preamble.d.ts +41 -0
- package/dist/loaders/pre-bundle-preamble.d.ts.map +1 -0
- package/dist/loaders/pre-bundle-preamble.js +114 -0
- package/dist/loaders/vendor/codegen.d.ts +24 -0
- package/dist/loaders/vendor/codegen.d.ts.map +1 -0
- package/dist/loaders/vendor/codegen.js +44 -0
- package/dist/loaders/vendor/errors.d.ts +24 -0
- package/dist/loaders/vendor/errors.d.ts.map +1 -0
- package/dist/loaders/vendor/errors.js +46 -0
- package/dist/loaders/vendor/index.d.ts +16 -0
- package/dist/loaders/vendor/index.d.ts.map +1 -0
- package/dist/loaders/vendor/index.js +11 -0
- package/dist/loaders/vendor/pool.d.ts +88 -0
- package/dist/loaders/vendor/pool.d.ts.map +1 -0
- package/dist/loaders/vendor/pool.js +353 -0
- package/dist/loaders/vendor/primitives.d.ts +11 -0
- package/dist/loaders/vendor/primitives.d.ts.map +1 -0
- package/dist/loaders/vendor/primitives.js +33 -0
- package/dist/loaders/vendor/serialize.d.ts +3 -0
- package/dist/loaders/vendor/serialize.d.ts.map +1 -0
- package/dist/loaders/vendor/serialize.js +25 -0
- package/dist/loaders/vendor/types.d.ts +60 -0
- package/dist/loaders/vendor/types.d.ts.map +1 -0
- package/dist/loaders/vendor/types.js +4 -0
- package/dist/npm/cache.d.ts +136 -0
- package/dist/npm/cache.d.ts.map +1 -0
- package/dist/npm/cache.js +429 -0
- package/dist/npm/install-batch-facet.d.ts +129 -0
- package/dist/npm/install-batch-facet.d.ts.map +1 -0
- package/dist/npm/install-batch-facet.js +598 -0
- package/dist/npm/install-facet.d.ts +29 -0
- package/dist/npm/install-facet.d.ts.map +1 -0
- package/dist/npm/install-facet.js +9 -0
- package/dist/npm/installer.d.ts +239 -0
- package/dist/npm/installer.d.ts.map +1 -0
- package/dist/npm/installer.js +2022 -0
- package/dist/npm/npx-install.d.ts +74 -0
- package/dist/npm/npx-install.d.ts.map +1 -0
- package/dist/npm/npx-install.js +302 -0
- package/dist/npm/pre-bundle-facet.d.ts +168 -0
- package/dist/npm/pre-bundle-facet.d.ts.map +1 -0
- package/dist/npm/pre-bundle-facet.js +653 -0
- package/dist/npm/r2-cache.d.ts +286 -0
- package/dist/npm/r2-cache.d.ts.map +1 -0
- package/dist/npm/r2-cache.js +506 -0
- package/dist/npm/resolve-facet.d.ts +202 -0
- package/dist/npm/resolve-facet.d.ts.map +1 -0
- package/dist/npm/resolve-facet.js +833 -0
- package/dist/npm/resolve-one-facet.d.ts +204 -0
- package/dist/npm/resolve-one-facet.d.ts.map +1 -0
- package/dist/npm/resolve-one-facet.js +437 -0
- package/dist/npm/resolver.d.ts +109 -0
- package/dist/npm/resolver.d.ts.map +1 -0
- package/dist/npm/resolver.js +899 -0
- package/dist/npm/tarball-stream.d.ts +85 -0
- package/dist/npm/tarball-stream.d.ts.map +1 -0
- package/dist/npm/tarball-stream.js +205 -0
- package/dist/npm/tarball.d.ts +51 -0
- package/dist/npm/tarball.d.ts.map +1 -0
- package/dist/npm/tarball.js +185 -0
- package/dist/observability/diag-counters.d.ts +292 -0
- package/dist/observability/diag-counters.d.ts.map +1 -0
- package/dist/observability/diag-counters.js +302 -0
- package/dist/observability/heap-estimate.d.ts +166 -0
- package/dist/observability/heap-estimate.d.ts.map +1 -0
- package/dist/observability/heap-estimate.js +192 -0
- package/dist/observability/heavy-alloc-coord.d.ts +95 -0
- package/dist/observability/heavy-alloc-coord.d.ts.map +1 -0
- package/dist/observability/heavy-alloc-coord.js +149 -0
- package/dist/observability/oom-classify.d.ts +56 -0
- package/dist/observability/oom-classify.d.ts.map +1 -0
- package/dist/observability/oom-classify.js +118 -0
- package/dist/observability/oom-discriminator.d.ts +192 -0
- package/dist/observability/oom-discriminator.d.ts.map +1 -0
- package/dist/observability/oom-discriminator.js +233 -0
- package/dist/real-vite-bundle.generated.d.ts +46 -0
- package/dist/real-vite-bundle.generated.d.ts.map +1 -0
- package/dist/real-vite-bundle.generated.js +53 -0
- package/dist/replica/routing.d.ts +171 -0
- package/dist/replica/routing.d.ts.map +1 -0
- package/dist/replica/routing.js +288 -0
- package/dist/replica/suspension.d.ts +36 -0
- package/dist/replica/suspension.d.ts.map +1 -0
- package/dist/replica/suspension.js +49 -0
- package/dist/router/index.d.ts +156 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +220 -0
- package/dist/runtime/assets-loader.d.ts +71 -0
- package/dist/runtime/assets-loader.d.ts.map +1 -0
- package/dist/runtime/assets-loader.js +128 -0
- package/dist/runtime/barrel-detect.d.ts +46 -0
- package/dist/runtime/barrel-detect.d.ts.map +1 -0
- package/dist/runtime/barrel-detect.js +73 -0
- package/dist/runtime/barrel-synthesizer.d.ts +181 -0
- package/dist/runtime/barrel-synthesizer.d.ts.map +1 -0
- package/dist/runtime/barrel-synthesizer.js +541 -0
- package/dist/runtime/bun-repl.d.ts +46 -0
- package/dist/runtime/bun-repl.d.ts.map +1 -0
- package/dist/runtime/bun-repl.js +326 -0
- package/dist/runtime/bun-runner.d.ts +66 -0
- package/dist/runtime/bun-runner.d.ts.map +1 -0
- package/dist/runtime/bun-runner.js +219 -0
- package/dist/runtime/clang-runner.d.ts +38 -0
- package/dist/runtime/clang-runner.d.ts.map +1 -0
- package/dist/runtime/clang-runner.js +1033 -0
- package/dist/runtime/comment-strip.d.ts +37 -0
- package/dist/runtime/comment-strip.d.ts.map +1 -0
- package/dist/runtime/comment-strip.js +74 -0
- package/dist/runtime/esbuild-service.d.ts +201 -0
- package/dist/runtime/esbuild-service.d.ts.map +1 -0
- package/dist/runtime/esbuild-service.js +1444 -0
- package/dist/runtime/esbuild-wasm-bytes.d.ts +87 -0
- package/dist/runtime/esbuild-wasm-bytes.d.ts.map +1 -0
- package/dist/runtime/esbuild-wasm-bytes.js +131 -0
- package/dist/runtime/framework-detect.d.ts +71 -0
- package/dist/runtime/framework-detect.d.ts.map +1 -0
- package/dist/runtime/framework-detect.js +178 -0
- package/dist/runtime/long-running-handle.d.ts +133 -0
- package/dist/runtime/long-running-handle.d.ts.map +1 -0
- package/dist/runtime/long-running-handle.js +192 -0
- package/dist/runtime/node-repl.d.ts +36 -0
- package/dist/runtime/node-repl.d.ts.map +1 -0
- package/dist/runtime/node-repl.js +293 -0
- package/dist/runtime/node-runner.d.ts +111 -0
- package/dist/runtime/node-runner.d.ts.map +1 -0
- package/dist/runtime/node-runner.js +194 -0
- package/dist/runtime/node-shims.d.ts +24 -0
- package/dist/runtime/node-shims.d.ts.map +1 -0
- package/dist/runtime/node-shims.js +3019 -0
- package/dist/runtime/package-manager.d.ts +118 -0
- package/dist/runtime/package-manager.d.ts.map +1 -0
- package/dist/runtime/package-manager.js +420 -0
- package/dist/runtime/port-registry.d.ts +80 -0
- package/dist/runtime/port-registry.d.ts.map +1 -0
- package/dist/runtime/port-registry.js +166 -0
- package/dist/runtime/process-logs-api.d.ts +102 -0
- package/dist/runtime/process-logs-api.d.ts.map +1 -0
- package/dist/runtime/process-logs-api.js +253 -0
- package/dist/runtime/process-logs.d.ts +311 -0
- package/dist/runtime/process-logs.d.ts.map +1 -0
- package/dist/runtime/process-logs.js +656 -0
- package/dist/runtime/process-table.d.ts +65 -0
- package/dist/runtime/process-table.d.ts.map +1 -0
- package/dist/runtime/process-table.js +107 -0
- package/dist/runtime/project-detect.d.ts +21 -0
- package/dist/runtime/project-detect.d.ts.map +1 -0
- package/dist/runtime/project-detect.js +46 -0
- package/dist/runtime/python-repl.d.ts +66 -0
- package/dist/runtime/python-repl.d.ts.map +1 -0
- package/dist/runtime/python-repl.js +563 -0
- package/dist/runtime/python-runner.d.ts +50 -0
- package/dist/runtime/python-runner.d.ts.map +1 -0
- package/dist/runtime/python-runner.js +870 -0
- package/dist/runtime/repl-session.d.ts +160 -0
- package/dist/runtime/repl-session.d.ts.map +1 -0
- package/dist/runtime/repl-session.js +393 -0
- package/dist/runtime/require-resolver.d.ts +52 -0
- package/dist/runtime/require-resolver.d.ts.map +1 -0
- package/dist/runtime/require-resolver.js +690 -0
- package/dist/runtime/router-basename.d.ts +36 -0
- package/dist/runtime/router-basename.d.ts.map +1 -0
- package/dist/runtime/router-basename.js +310 -0
- package/dist/runtime/ruby-repl.d.ts +43 -0
- package/dist/runtime/ruby-repl.d.ts.map +1 -0
- package/dist/runtime/ruby-repl.js +229 -0
- package/dist/runtime/ruby-runner.d.ts +62 -0
- package/dist/runtime/ruby-runner.d.ts.map +1 -0
- package/dist/runtime/ruby-runner.js +737 -0
- package/dist/runtime/runtime-catalog.d.ts +99 -0
- package/dist/runtime/runtime-catalog.d.ts.map +1 -0
- package/dist/runtime/runtime-catalog.js +183 -0
- package/dist/runtime/runtime-registry.d.ts +136 -0
- package/dist/runtime/runtime-registry.d.ts.map +1 -0
- package/dist/runtime/runtime-registry.js +318 -0
- package/dist/runtime/streams.d.ts +13 -0
- package/dist/runtime/streams.d.ts.map +1 -0
- package/dist/runtime/streams.js +402 -0
- package/dist/runtime/wasi-instance.d.ts +190 -0
- package/dist/runtime/wasi-instance.d.ts.map +1 -0
- package/dist/runtime/wasi-instance.js +2044 -0
- package/dist/runtime/wasm-runner.d.ts +117 -0
- package/dist/runtime/wasm-runner.d.ts.map +1 -0
- package/dist/runtime/wasm-runner.js +705 -0
- package/dist/session/bindings.d.ts +168 -0
- package/dist/session/bindings.d.ts.map +1 -0
- package/dist/session/bindings.js +524 -0
- package/dist/session/ctx-exports.d.ts +16 -0
- package/dist/session/ctx-exports.d.ts.map +1 -0
- package/dist/session/ctx-exports.js +22 -0
- package/dist/session/diag.d.ts +62 -0
- package/dist/session/diag.d.ts.map +1 -0
- package/dist/session/diag.js +118 -0
- package/dist/session/fs-watch.d.ts +132 -0
- package/dist/session/fs-watch.d.ts.map +1 -0
- package/dist/session/fs-watch.js +255 -0
- package/dist/session/helpers.d.ts +150 -0
- package/dist/session/helpers.d.ts.map +1 -0
- package/dist/session/helpers.js +472 -0
- package/dist/session/hibernation.d.ts +145 -0
- package/dist/session/hibernation.d.ts.map +1 -0
- package/dist/session/hibernation.js +385 -0
- package/dist/session/init-phases.d.ts +87 -0
- package/dist/session/init-phases.d.ts.map +1 -0
- package/dist/session/init-phases.js +137 -0
- package/dist/session/init.d.ts +46 -0
- package/dist/session/init.d.ts.map +1 -0
- package/dist/session/init.js +3579 -0
- package/dist/session/keys.d.ts +56 -0
- package/dist/session/keys.d.ts.map +1 -0
- package/dist/session/keys.js +55 -0
- package/dist/session/nimbus-session.d.ts +434 -0
- package/dist/session/nimbus-session.d.ts.map +1 -0
- package/dist/session/nimbus-session.js +1084 -0
- package/dist/session/programmatic.d.ts +105 -0
- package/dist/session/programmatic.d.ts.map +1 -0
- package/dist/session/programmatic.js +326 -0
- package/dist/session/replica-routes.d.ts +68 -0
- package/dist/session/replica-routes.d.ts.map +1 -0
- package/dist/session/replica-routes.js +77 -0
- package/dist/session/routes.d.ts +29 -0
- package/dist/session/routes.d.ts.map +1 -0
- package/dist/session/routes.js +1331 -0
- package/dist/session/rpc.d.ts +323 -0
- package/dist/session/rpc.d.ts.map +1 -0
- package/dist/session/rpc.js +808 -0
- package/dist/session/state-store.d.ts +210 -0
- package/dist/session/state-store.d.ts.map +1 -0
- package/dist/session/state-store.js +459 -0
- package/dist/session/supervisor-rpc.d.ts +269 -0
- package/dist/session/supervisor-rpc.d.ts.map +1 -0
- package/dist/session/supervisor-rpc.js +437 -0
- package/dist/session/ws-hibernation-config.d.ts +64 -0
- package/dist/session/ws-hibernation-config.d.ts.map +1 -0
- package/dist/session/ws-hibernation-config.js +89 -0
- package/dist/session/ws.d.ts +95 -0
- package/dist/session/ws.d.ts.map +1 -0
- package/dist/session/ws.js +395 -0
- package/dist/shell/features.d.ts +410 -0
- package/dist/shell/features.d.ts.map +1 -0
- package/dist/shell/features.js +1885 -0
- package/dist/shell/unix-commands.d.ts +15 -0
- package/dist/shell/unix-commands.d.ts.map +1 -0
- package/dist/shell/unix-commands.js +3703 -0
- package/dist/stubs/lifo-ui.d.ts +10 -0
- package/dist/stubs/lifo-ui.d.ts.map +1 -0
- package/dist/stubs/lifo-ui.js +1 -0
- package/dist/tailwind-play.generated.d.ts +19 -0
- package/dist/tailwind-play.generated.d.ts.map +1 -0
- package/dist/tailwind-play.generated.js +18 -0
- package/dist/vfs/dev-provider.d.ts +64 -0
- package/dist/vfs/dev-provider.d.ts.map +1 -0
- package/dist/vfs/dev-provider.js +191 -0
- package/dist/vfs/events.d.ts +51 -0
- package/dist/vfs/events.d.ts.map +1 -0
- package/dist/vfs/events.js +127 -0
- package/dist/vfs/path.d.ts +30 -0
- package/dist/vfs/path.d.ts.map +1 -0
- package/dist/vfs/path.js +41 -0
- package/dist/vfs/seed-project.d.ts +62 -0
- package/dist/vfs/seed-project.d.ts.map +1 -0
- package/dist/vfs/seed-project.js +1045 -0
- package/dist/vfs/sqlite-vfs.d.ts +435 -0
- package/dist/vfs/sqlite-vfs.d.ts.map +1 -0
- package/dist/vfs/sqlite-vfs.js +1670 -0
- package/dist/vfs/symlink-registry.d.ts +64 -0
- package/dist/vfs/symlink-registry.d.ts.map +1 -0
- package/dist/vfs/symlink-registry.js +137 -0
- package/dist/wrangler/nimbus-wrangler.d.ts +157 -0
- package/dist/wrangler/nimbus-wrangler.d.ts.map +1 -0
- package/dist/wrangler/nimbus-wrangler.js +931 -0
- package/package.json +77 -0
- package/public/_assets/cirrus-plugin-react.bundle.js +70740 -0
- package/public/_assets/esbuild-0.24.2.wasm +0 -0
- package/public/_assets/real-vite-bundle.js +101478 -0
- package/public/_assets/rollup.wasm +0 -0
- package/public/favicon.svg +8 -0
- package/public/index.html +565 -0
- package/public/s/index.html +2379 -0
- package/scripts/bundle-esbuild-wasm.mjs +244 -0
- package/scripts/bundle-facet-workers.mjs +137 -0
- package/scripts/bundle-git.mjs +118 -0
- package/scripts/bundle-npm-cjs.mjs +363 -0
- package/scripts/bundle-plugin-react.mjs +480 -0
- package/scripts/bundle-real-vite.mjs +959 -0
- package/scripts/bundle-runtime.mjs +600 -0
- package/scripts/bundle-tailwind-play.mjs +130 -0
- package/scripts/patch-lifo-ui.mjs +131 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* bundle-tailwind-play.mjs — vendor the Tailwind Play CDN bundle.
|
|
4
|
+
*
|
|
5
|
+
* Why this exists
|
|
6
|
+
* ───────────────
|
|
7
|
+
* Nimbus's preview HTML used to inject
|
|
8
|
+
*
|
|
9
|
+
* <script src="https://cdn.tailwindcss.com/3.4.17"></script>
|
|
10
|
+
*
|
|
11
|
+
* (src/vite-dev-server.ts) so projects using Tailwind classes had a
|
|
12
|
+
* working JIT compiler in the browser. That violates the 100% edge
|
|
13
|
+
* contract: every preview load fetches a third-party CDN.
|
|
14
|
+
*
|
|
15
|
+
* This script downloads the Play CDN bundle ONCE at sourcing time
|
|
16
|
+
* (analogous to npm install fetching tarballs from registry) and
|
|
17
|
+
* embeds it as a string constant in src/tailwind-play.generated.ts.
|
|
18
|
+
* The supervisor then serves it from
|
|
19
|
+
*
|
|
20
|
+
* /preview/__nimbus_assets/tailwind-play.js
|
|
21
|
+
*
|
|
22
|
+
* with proper Content-Type + immutable cache headers, and the HTML
|
|
23
|
+
* injection points at the local URL.
|
|
24
|
+
*
|
|
25
|
+
* Browser-runtime bytes: ~408 KiB raw → embedded as a JS string in
|
|
26
|
+
* the supervisor bundle. JSON.stringify-quoting adds ~0.5% overhead
|
|
27
|
+
* (escapes for ", \, control chars), so the generated file sits at
|
|
28
|
+
* ~410 KiB. Trivial relative to the 16 MiB esbuild-wasm bundle and
|
|
29
|
+
* the 4.8 MiB real-vite bundle already in the supervisor.
|
|
30
|
+
*
|
|
31
|
+
* Version pinning
|
|
32
|
+
* ───────────────
|
|
33
|
+
* We pin to a specific Tailwind Play CDN version so deploys are
|
|
34
|
+
* reproducible — a freshly-deployed worker should serve the same
|
|
35
|
+
* bytes as one deployed last week, regardless of upstream CDN
|
|
36
|
+
* updates. Bump TAILWIND_PLAY_VERSION when intentional.
|
|
37
|
+
*
|
|
38
|
+
* The Play CDN is a SEPARATE build from the `tailwindcss` npm
|
|
39
|
+
* package — `packages/@tailwindcss-cdn/` in the upstream repo. It
|
|
40
|
+
* embeds the JIT compiler + utility detection + style injection
|
|
41
|
+
* pipeline as a self-contained browser IIFE. Not available via npm.
|
|
42
|
+
*
|
|
43
|
+
* Output: src/tailwind-play.generated.ts
|
|
44
|
+
* export const TAILWIND_PLAY_VERSION: string;
|
|
45
|
+
* export const TAILWIND_PLAY_BUNDLE: string;
|
|
46
|
+
* export const TAILWIND_PLAY_INTEGRITY: string; // sha-256 hex
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
import { promises as fs } from 'node:fs';
|
|
50
|
+
import { createHash } from 'node:crypto';
|
|
51
|
+
import path from 'node:path';
|
|
52
|
+
import { fileURLToPath } from 'node:url';
|
|
53
|
+
|
|
54
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
55
|
+
const ROOT = path.resolve(__dirname, '..');
|
|
56
|
+
const OUT = path.join(ROOT, 'src', 'tailwind-play.generated.ts');
|
|
57
|
+
|
|
58
|
+
// Pin to a specific version so deploys are reproducible. Bump
|
|
59
|
+
// intentionally when we want a new Tailwind release; the generated
|
|
60
|
+
// file is committed so reproducibility doesn't depend on the CDN
|
|
61
|
+
// being reachable at deploy time.
|
|
62
|
+
const TAILWIND_PLAY_VERSION = '3.4.17';
|
|
63
|
+
const SOURCE_URL = `https://cdn.tailwindcss.com/${TAILWIND_PLAY_VERSION}`;
|
|
64
|
+
|
|
65
|
+
// Sanity-check the bundle isn't HTML / 404 / unexpected content. The
|
|
66
|
+
// real bundle is a minified IIFE starting with `(()=>{`. If we get
|
|
67
|
+
// anything else, fail loud rather than silently embedding garbage.
|
|
68
|
+
const EXPECTED_PREFIX = '(()=>{';
|
|
69
|
+
const MIN_SIZE = 200_000;
|
|
70
|
+
const MAX_SIZE = 2_000_000;
|
|
71
|
+
|
|
72
|
+
async function main() {
|
|
73
|
+
console.log(`[bundle-tailwind-play] fetching ${SOURCE_URL} ...`);
|
|
74
|
+
const resp = await fetch(SOURCE_URL);
|
|
75
|
+
if (!resp.ok) {
|
|
76
|
+
throw new Error(
|
|
77
|
+
`[bundle-tailwind-play] download failed: ${resp.status} ${resp.statusText}`,
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
const code = await resp.text();
|
|
81
|
+
if (code.length < MIN_SIZE || code.length > MAX_SIZE) {
|
|
82
|
+
throw new Error(
|
|
83
|
+
`[bundle-tailwind-play] downloaded bundle has unexpected size ${code.length} ` +
|
|
84
|
+
`(expected ${MIN_SIZE}..${MAX_SIZE}). Refusing to embed.`,
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
if (!code.startsWith(EXPECTED_PREFIX)) {
|
|
88
|
+
throw new Error(
|
|
89
|
+
`[bundle-tailwind-play] downloaded bundle does not start with ${JSON.stringify(EXPECTED_PREFIX)}. ` +
|
|
90
|
+
`First 80 chars: ${JSON.stringify(code.slice(0, 80))}. Refusing to embed.`,
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const sha256 = createHash('sha256').update(code).digest('hex');
|
|
95
|
+
console.log(
|
|
96
|
+
`[bundle-tailwind-play] version=${TAILWIND_PLAY_VERSION} size=${(code.length / 1024).toFixed(1)} KiB sha256=${sha256.slice(0, 16)}…`,
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
const header = `/**
|
|
100
|
+
* tailwind-play.generated.ts — AUTO-GENERATED by scripts/bundle-tailwind-play.mjs
|
|
101
|
+
* DO NOT EDIT.
|
|
102
|
+
*
|
|
103
|
+
* Vendored Tailwind Play CDN ${TAILWIND_PLAY_VERSION} bundle, served
|
|
104
|
+
* from /preview/__nimbus_assets/tailwind-play.js so preview pages get
|
|
105
|
+
* Tailwind JIT without fetching from cdn.tailwindcss.com (100% edge
|
|
106
|
+
* contract).
|
|
107
|
+
*
|
|
108
|
+
* Source: ${SOURCE_URL} (downloaded at build time).
|
|
109
|
+
* SHA-256: ${sha256}
|
|
110
|
+
*
|
|
111
|
+
* If you change this file by hand it WILL be overwritten by the next
|
|
112
|
+
* predev / predeploy / postinstall.
|
|
113
|
+
*/
|
|
114
|
+
|
|
115
|
+
export const TAILWIND_PLAY_VERSION: string = ${JSON.stringify(TAILWIND_PLAY_VERSION)};
|
|
116
|
+
export const TAILWIND_PLAY_INTEGRITY: string = ${JSON.stringify('sha256-' + sha256)};
|
|
117
|
+
export const TAILWIND_PLAY_BUNDLE: string = ${JSON.stringify(code)};
|
|
118
|
+
`;
|
|
119
|
+
|
|
120
|
+
await fs.writeFile(OUT, header, 'utf8');
|
|
121
|
+
const stat = await fs.stat(OUT);
|
|
122
|
+
console.log(
|
|
123
|
+
`[bundle-tailwind-play] wrote ${path.relative(ROOT, OUT)} (${(stat.size / 1024).toFixed(1)} KiB)`,
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
main().catch((e) => {
|
|
128
|
+
console.error('[bundle-tailwind-play] failed:', e);
|
|
129
|
+
process.exit(1);
|
|
130
|
+
});
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* patch-lifo-ui.mjs — postinstall fix-ups for the Nimbus build chain.
|
|
3
|
+
*
|
|
4
|
+
* 1. Create a stub `@lifo-sh/ui` (legacy alias; some imports still
|
|
5
|
+
* reference it).
|
|
6
|
+
* 2. Patch every installed copy of `isomorphic-git` (cf-git fork) so
|
|
7
|
+
* its `exports` map points at `src/...` paths (the published
|
|
8
|
+
* tarball's package.json points at root-level paths but the
|
|
9
|
+
* tarball actually ships files under `src/`).
|
|
10
|
+
* 3. Symlink cf-git's missing deps into its nested `node_modules`
|
|
11
|
+
* so wrangler's esbuild can resolve them.
|
|
12
|
+
*
|
|
13
|
+
* Walks both root node_modules AND every packages/* / apps/*
|
|
14
|
+
* sub-node_modules. Idempotent — re-running is a no-op once patched.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { mkdirSync, writeFileSync, existsSync, readFileSync, readdirSync, symlinkSync, statSync } from 'node:fs';
|
|
18
|
+
import { join, dirname, resolve, relative } from 'node:path';
|
|
19
|
+
import { fileURLToPath } from 'node:url';
|
|
20
|
+
|
|
21
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
22
|
+
// The script lives at packages/worker/scripts/. Walk up to the repo
|
|
23
|
+
// root so we can patch every node_modules tree below it.
|
|
24
|
+
const repoRoot = resolve(__dirname, '..', '..', '..');
|
|
25
|
+
|
|
26
|
+
// ── 1. @lifo-sh/ui stub at root node_modules ────────────────────────
|
|
27
|
+
{
|
|
28
|
+
const dir = join(repoRoot, 'node_modules', '@lifo-sh', 'ui');
|
|
29
|
+
if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
|
|
30
|
+
writeFileSync(
|
|
31
|
+
join(dir, 'package.json'),
|
|
32
|
+
JSON.stringify({ name: '@lifo-sh/ui', version: '0.0.1', main: 'index.js' }, null, 2),
|
|
33
|
+
);
|
|
34
|
+
writeFileSync(join(dir, 'index.js'), 'module.exports = {};');
|
|
35
|
+
writeFileSync(join(dir, 'index.d.ts'), 'export {};');
|
|
36
|
+
console.log('[patch] @lifo-sh/ui stub created');
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// ── 2 + 3. Walk every node_modules and patch cf-git copies ──────────
|
|
40
|
+
function walkForNodeModules(base, depth = 0) {
|
|
41
|
+
if (depth > 5) return []; // safety
|
|
42
|
+
if (!existsSync(base)) return [];
|
|
43
|
+
const out = [];
|
|
44
|
+
let entries;
|
|
45
|
+
try { entries = readdirSync(base, { withFileTypes: true }); }
|
|
46
|
+
catch { return []; }
|
|
47
|
+
for (const ent of entries) {
|
|
48
|
+
if (!ent.isDirectory()) continue;
|
|
49
|
+
if (ent.name === 'node_modules') {
|
|
50
|
+
out.push(join(base, ent.name));
|
|
51
|
+
} else if (ent.name === 'packages' || ent.name === 'apps') {
|
|
52
|
+
// recurse one level into packages/* and apps/*
|
|
53
|
+
for (const sub of readdirSync(join(base, ent.name), { withFileTypes: true })) {
|
|
54
|
+
if (sub.isDirectory()) {
|
|
55
|
+
out.push(...walkForNodeModules(join(base, ent.name, sub.name), depth + 1));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return out;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const nmDirs = walkForNodeModules(repoRoot);
|
|
64
|
+
for (const nm of nmDirs) {
|
|
65
|
+
const igPkgPath = join(nm, 'isomorphic-git', 'package.json');
|
|
66
|
+
if (!existsSync(igPkgPath)) continue;
|
|
67
|
+
try {
|
|
68
|
+
const pkg = JSON.parse(readFileSync(igPkgPath, 'utf8'));
|
|
69
|
+
const igDir = dirname(igPkgPath);
|
|
70
|
+
const needsPatch =
|
|
71
|
+
pkg.exports?.['.']?.worker === './index.js'
|
|
72
|
+
&& !existsSync(join(igDir, 'index.js'))
|
|
73
|
+
&& existsSync(join(igDir, 'src', 'index.js'));
|
|
74
|
+
if (needsPatch) {
|
|
75
|
+
pkg.exports['.'] = {
|
|
76
|
+
types: './src/index.d.ts',
|
|
77
|
+
worker: './src/index.js',
|
|
78
|
+
import: './src/index.js',
|
|
79
|
+
default: './src/index.js',
|
|
80
|
+
};
|
|
81
|
+
if (pkg.exports['./http/web']) {
|
|
82
|
+
pkg.exports['./http/web'] = {
|
|
83
|
+
import: { types: './src/http/web/index.d.ts', default: './src/http/web/index.js' },
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
if (pkg.exports['./http/node']) {
|
|
87
|
+
pkg.exports['./http/node'] = {
|
|
88
|
+
import: { types: './src/http/node/index.d.ts', default: './src/http/node/index.js' },
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
pkg.main = './src/index.js';
|
|
92
|
+
writeFileSync(igPkgPath, JSON.stringify(pkg, null, 2) + '\n');
|
|
93
|
+
console.log(`[patch] cf-git exports patched: ${igPkgPath}`);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Symlink missing nested deps so wrangler's esbuild can resolve them.
|
|
97
|
+
const igNm = join(igDir, 'node_modules');
|
|
98
|
+
if (existsSync(igNm)) {
|
|
99
|
+
const needed = ['clean-git-ref', 'is-git-ref-name-valid', 'crc-32', 'sha.js', 'simple-get', 'minimisted'];
|
|
100
|
+
// Walk up to find the nearest node_modules with each needed pkg.
|
|
101
|
+
for (const need of needed) {
|
|
102
|
+
const target = join(igNm, need);
|
|
103
|
+
if (existsSync(target)) continue;
|
|
104
|
+
// Search up the dir chain.
|
|
105
|
+
let search = dirname(nm);
|
|
106
|
+
let found = null;
|
|
107
|
+
while (search !== '/') {
|
|
108
|
+
const candidate = join(search, 'node_modules', need);
|
|
109
|
+
if (existsSync(candidate)) { found = candidate; break; }
|
|
110
|
+
search = dirname(search);
|
|
111
|
+
}
|
|
112
|
+
if (!found) continue;
|
|
113
|
+
// Compute relative symlink target (path-from-symlink-dir-to-target).
|
|
114
|
+
const rel = relative(igNm, found);
|
|
115
|
+
try {
|
|
116
|
+
symlinkSync(rel, target);
|
|
117
|
+
console.log(`[patch] cf-git dep linked: ${target} → ${rel}`);
|
|
118
|
+
} catch (e) {
|
|
119
|
+
// Common when symlink already exists or two processes race.
|
|
120
|
+
if (!String(e?.message).includes('EEXIST')) {
|
|
121
|
+
console.warn(`[patch] cf-git symlink failed: ${need} — ${e?.message}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
} catch (e) {
|
|
127
|
+
console.warn(`[patch] cf-git patch skipped at ${igPkgPath}:`, e?.message);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
|