devflare 1.0.0-next.15 → 1.0.0-next.17
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/LLM.md +9809 -1819
- package/README.md +376 -40
- package/bin/devflare.js +17 -7
- package/dist/account-0evqkmnc.js +475 -0
- package/dist/account-0v11zbzk.js +475 -0
- package/dist/account-2w85efas.js +475 -0
- package/dist/account-61gw9s7t.js +475 -0
- package/dist/account-65sk9q34.js +475 -0
- package/dist/account-77vx7q2f.js +475 -0
- package/dist/account-7z38mgqf.js +475 -0
- package/dist/account-8wgprpbt.js +475 -0
- package/dist/account-9gt3tej1.js +475 -0
- package/dist/account-dtndtbad.js +475 -0
- package/dist/account-e95v7f4s.js +475 -0
- package/dist/account-fbyyptg7.js +475 -0
- package/dist/account-gnzhz1c9.js +475 -0
- package/dist/account-m6jq6fnp.js +475 -0
- package/dist/account-mvnfagh9.js +475 -0
- package/dist/account-p0crq2gh.js +475 -0
- package/dist/account-qkcevx7a.js +475 -0
- package/dist/account-txwqg1rx.js +475 -0
- package/dist/account-w5n5bjh2.js +475 -0
- package/dist/account-zd61t0ey.js +475 -0
- package/dist/api-11gkk043.js +33 -0
- package/dist/api-2n6dd2ws.js +33 -0
- package/dist/api-dbxvch9h.js +33 -0
- package/dist/api-p9hf69kr.js +33 -0
- package/dist/api-r10j00ev.js +33 -0
- package/dist/api-senf2569.js +33 -0
- package/dist/api-swcgnp72.js +33 -0
- package/dist/api-th82mps4.js +27 -0
- package/dist/bridge/client.d.ts +29 -6
- package/dist/bridge/client.d.ts.map +1 -1
- package/dist/bridge/gateway-runtime.d.ts +8 -0
- package/dist/bridge/gateway-runtime.d.ts.map +1 -0
- package/dist/bridge/index.d.ts +3 -3
- package/dist/bridge/index.d.ts.map +1 -1
- package/dist/bridge/log.d.ts +5 -0
- package/dist/bridge/log.d.ts.map +1 -0
- package/dist/bridge/miniflare.d.ts.map +1 -1
- package/dist/bridge/protocol.d.ts +1 -1
- package/dist/bridge/protocol.d.ts.map +1 -1
- package/dist/bridge/proxy.d.ts +7 -9
- package/dist/bridge/proxy.d.ts.map +1 -1
- package/dist/bridge/serialization.d.ts +36 -16
- package/dist/bridge/serialization.d.ts.map +1 -1
- package/dist/bridge/server.d.ts +2 -1
- package/dist/bridge/server.d.ts.map +1 -1
- package/dist/bridge/v2/body-streams.d.ts +53 -0
- package/dist/bridge/v2/body-streams.d.ts.map +1 -0
- package/dist/bridge/v2/codec.d.ts +106 -0
- package/dist/bridge/v2/codec.d.ts.map +1 -0
- package/dist/bridge/v2/control-messages.d.ts +51 -0
- package/dist/bridge/v2/control-messages.d.ts.map +1 -0
- package/dist/bridge/v2/frames.d.ts +109 -0
- package/dist/bridge/v2/frames.d.ts.map +1 -0
- package/dist/bridge/v2/index.d.ts +11 -0
- package/dist/bridge/v2/index.d.ts.map +1 -0
- package/dist/bridge/v2/legacy-protocol.d.ts +146 -0
- package/dist/bridge/v2/legacy-protocol.d.ts.map +1 -0
- package/dist/bridge/v2/legacy-serialization.d.ts +103 -0
- package/dist/bridge/v2/legacy-serialization.d.ts.map +1 -0
- package/dist/bridge/v2/serialization.d.ts +48 -0
- package/dist/bridge/v2/serialization.d.ts.map +1 -0
- package/dist/bridge/v2/transport.d.ts +31 -0
- package/dist/bridge/v2/transport.d.ts.map +1 -0
- package/dist/bridge/v2/value-codec.d.ts +61 -0
- package/dist/bridge/v2/value-codec.d.ts.map +1 -0
- package/dist/bridge/v2/value-serialization.d.ts +103 -0
- package/dist/bridge/v2/value-serialization.d.ts.map +1 -0
- package/dist/bridge/v2/wire.d.ts +170 -0
- package/dist/bridge/v2/wire.d.ts.map +1 -0
- package/dist/bridge/v2/ws-relay.d.ts +53 -0
- package/dist/bridge/v2/ws-relay.d.ts.map +1 -0
- package/dist/browser-shim/handler.d.ts +1 -1
- package/dist/browser-shim/handler.d.ts.map +1 -1
- package/dist/browser-shim/server.d.ts +63 -0
- package/dist/browser-shim/server.d.ts.map +1 -1
- package/dist/browser.d.ts +2007 -39
- package/dist/browser.d.ts.map +1 -1
- package/dist/{src/browser.js → browser.js} +22 -44
- package/dist/build-07mjrvsn.js +53 -0
- package/dist/build-0rfr8k1s.js +53 -0
- package/dist/build-1313sg73.js +52 -0
- package/dist/build-1hnntbks.js +53 -0
- package/dist/build-1r3myv0k.js +53 -0
- package/dist/build-28561w5v.js +54 -0
- package/dist/build-50yqpwb3.js +54 -0
- package/dist/build-55z8psd6.js +53 -0
- package/dist/build-5b9wj2p0.js +53 -0
- package/dist/build-5frhzh1m.js +53 -0
- package/dist/build-6ye9vnab.js +52 -0
- package/dist/build-8gv18jrq.js +52 -0
- package/dist/build-9bgqypy6.js +53 -0
- package/dist/build-9em4ymqn.js +52 -0
- package/dist/build-eh3x12qc.js +52 -0
- package/dist/build-emhyycp7.js +53 -0
- package/dist/build-f1m9jn7b.js +53 -0
- package/dist/build-ffe72jjv.js +54 -0
- package/dist/build-fx90y6za.js +53 -0
- package/dist/build-h31egsze.js +53 -0
- package/dist/build-hpczwagb.js +53 -0
- package/dist/build-j2re91xe.js +54 -0
- package/dist/build-j78389rg.js +52 -0
- package/dist/build-m3kckn5g.js +53 -0
- package/dist/build-mf3thcjm.js +53 -0
- package/dist/build-n3n5bv37.js +52 -0
- package/dist/build-ngfy4v5x.js +53 -0
- package/dist/build-pr843h0d.js +52 -0
- package/dist/build-qyg2b45p.js +52 -0
- package/dist/build-r6884kyt.js +53 -0
- package/dist/build-re370wkf.js +53 -0
- package/dist/build-vvndgwg0.js +52 -0
- package/dist/build-wp559jkf.js +54 -0
- package/dist/build-x4r67275.js +52 -0
- package/dist/build-xp4pfhvv.js +52 -0
- package/dist/build-y489r2h9.js +54 -0
- package/dist/build-y6g4bvx5.js +52 -0
- package/dist/build-yvn0yhwx.js +52 -0
- package/dist/build-z4vmhs5c.js +53 -0
- package/dist/bundler/defaults.d.ts +23 -0
- package/dist/bundler/defaults.d.ts.map +1 -0
- package/dist/bundler/do-bundler.d.ts.map +1 -1
- package/dist/bundler/index.d.ts +1 -0
- package/dist/bundler/index.d.ts.map +1 -1
- package/dist/bundler/rolldown-shared.d.ts +53 -0
- package/dist/bundler/rolldown-shared.d.ts.map +1 -0
- package/dist/bundler/worker-bundler.d.ts +0 -1
- package/dist/bundler/worker-bundler.d.ts.map +1 -1
- package/dist/bundler/worker-compat.d.ts.map +1 -1
- package/dist/cli/build-manifest.d.ts +54 -0
- package/dist/cli/build-manifest.d.ts.map +1 -0
- package/dist/cli/command-utils.d.ts +18 -0
- package/dist/cli/command-utils.d.ts.map +1 -0
- package/dist/cli/commands/account.d.ts +1 -1
- package/dist/cli/commands/account.d.ts.map +1 -1
- package/dist/cli/commands/build-artifacts.d.ts +27 -0
- package/dist/cli/commands/build-artifacts.d.ts.map +1 -0
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/deploy.d.ts.map +1 -1
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/login.d.ts +4 -0
- package/dist/cli/commands/login.d.ts.map +1 -0
- package/dist/cli/commands/previews-support/cleanup.d.ts +9 -0
- package/dist/cli/commands/previews-support/cleanup.d.ts.map +1 -0
- package/dist/cli/commands/previews-support/family.d.ts +10 -0
- package/dist/cli/commands/previews-support/family.d.ts.map +1 -0
- package/dist/cli/commands/previews-support/render.d.ts +8 -0
- package/dist/cli/commands/previews-support/render.d.ts.map +1 -0
- package/dist/cli/commands/previews-support/theme.d.ts +10 -0
- package/dist/cli/commands/previews-support/theme.d.ts.map +1 -0
- package/dist/cli/commands/previews-support/types.d.ts +70 -0
- package/dist/cli/commands/previews-support/types.d.ts.map +1 -0
- package/dist/cli/commands/previews.d.ts +4 -0
- package/dist/cli/commands/previews.d.ts.map +1 -0
- package/dist/cli/commands/productions.d.ts +4 -0
- package/dist/cli/commands/productions.d.ts.map +1 -0
- package/dist/cli/commands/token.d.ts +4 -0
- package/dist/cli/commands/token.d.ts.map +1 -0
- package/dist/cli/commands/type-generation/discovery.d.ts +7 -0
- package/dist/cli/commands/type-generation/discovery.d.ts.map +1 -0
- package/dist/cli/commands/type-generation/generator.d.ts +44 -0
- package/dist/cli/commands/type-generation/generator.d.ts.map +1 -0
- package/dist/cli/commands/type-generation/models.d.ts +27 -0
- package/dist/cli/commands/type-generation/models.d.ts.map +1 -0
- package/dist/cli/commands/types.d.ts.map +1 -1
- package/dist/cli/commands/worker.d.ts +4 -0
- package/dist/cli/commands/worker.d.ts.map +1 -0
- package/dist/cli/config-path.d.ts +2 -1
- package/dist/cli/config-path.d.ts.map +1 -1
- package/dist/cli/dependencies.d.ts +1 -0
- package/dist/cli/dependencies.d.ts.map +1 -1
- package/dist/cli/deploy-strategy.d.ts +17 -0
- package/dist/cli/deploy-strategy.d.ts.map +1 -0
- package/dist/cli/deploy-target.d.ts +17 -0
- package/dist/cli/deploy-target.d.ts.map +1 -0
- package/dist/cli/generated-artifacts.d.ts +12 -0
- package/dist/cli/generated-artifacts.d.ts.map +1 -0
- package/dist/cli/help-pages/pages/account.d.ts +3 -0
- package/dist/cli/help-pages/pages/account.d.ts.map +1 -0
- package/dist/cli/help-pages/pages/core.d.ts +4 -0
- package/dist/cli/help-pages/pages/core.d.ts.map +1 -0
- package/dist/cli/help-pages/pages/index.d.ts +3 -0
- package/dist/cli/help-pages/pages/index.d.ts.map +1 -0
- package/dist/cli/help-pages/pages/misc.d.ts +3 -0
- package/dist/cli/help-pages/pages/misc.d.ts.map +1 -0
- package/dist/cli/help-pages/pages/previews.d.ts +3 -0
- package/dist/cli/help-pages/pages/previews.d.ts.map +1 -0
- package/dist/cli/help-pages/pages/productions.d.ts +3 -0
- package/dist/cli/help-pages/pages/productions.d.ts.map +1 -0
- package/dist/cli/help-pages/render.d.ts +12 -0
- package/dist/cli/help-pages/render.d.ts.map +1 -0
- package/dist/cli/help-pages/shared.d.ts +15 -0
- package/dist/cli/help-pages/shared.d.ts.map +1 -0
- package/dist/cli/help-pages/types.d.ts +23 -0
- package/dist/cli/help-pages/types.d.ts.map +1 -0
- package/dist/cli/help.d.ts +6 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +12 -0
- package/dist/cli/preview-bindings.d.ts +49 -0
- package/dist/cli/preview-bindings.d.ts.map +1 -0
- package/dist/cli/preview.d.ts +10 -0
- package/dist/cli/preview.d.ts.map +1 -0
- package/dist/cli/ui.d.ts +37 -0
- package/dist/cli/ui.d.ts.map +1 -0
- package/dist/cli/workspace-build-guard.d.ts +14 -0
- package/dist/cli/workspace-build-guard.d.ts.map +1 -0
- package/dist/cloudflare/account-core.d.ts +6 -0
- package/dist/cloudflare/account-core.d.ts.map +1 -0
- package/dist/cloudflare/account-resources.d.ts +40 -0
- package/dist/cloudflare/account-resources.d.ts.map +1 -0
- package/dist/cloudflare/account-status.d.ts +11 -0
- package/dist/cloudflare/account-status.d.ts.map +1 -0
- package/dist/cloudflare/account-workers.d.ts +14 -0
- package/dist/cloudflare/account-workers.d.ts.map +1 -0
- package/dist/cloudflare/account.d.ts +7 -64
- package/dist/cloudflare/account.d.ts.map +1 -1
- package/dist/cloudflare/api.d.ts +71 -3
- package/dist/cloudflare/api.d.ts.map +1 -1
- package/dist/cloudflare/auth.d.ts.map +1 -1
- package/dist/cloudflare/index.d.ts +57 -2
- package/dist/cloudflare/index.d.ts.map +1 -1
- package/dist/cloudflare/index.js +60 -0
- package/dist/cloudflare/known-permission-group-ids.generated.d.ts +10 -0
- package/dist/cloudflare/known-permission-group-ids.generated.d.ts.map +1 -0
- package/dist/cloudflare/kv-namespace.d.ts +4 -0
- package/dist/cloudflare/kv-namespace.d.ts.map +1 -0
- package/dist/cloudflare/preferences.d.ts +7 -0
- package/dist/cloudflare/preferences.d.ts.map +1 -1
- package/dist/cloudflare/preview-registry-cache.d.ts +6 -0
- package/dist/cloudflare/preview-registry-cache.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry-inference.d.ts +14 -0
- package/dist/cloudflare/preview-registry-inference.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry-records.d.ts +4 -0
- package/dist/cloudflare/preview-registry-records.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry-shape.d.ts +47 -0
- package/dist/cloudflare/preview-registry-shape.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry-store.d.ts +14 -0
- package/dist/cloudflare/preview-registry-store.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry-transport.d.ts +4 -0
- package/dist/cloudflare/preview-registry-transport.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry-types.d.ts +103 -0
- package/dist/cloudflare/preview-registry-types.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry.d.ts +42 -0
- package/dist/cloudflare/preview-registry.d.ts.map +1 -0
- package/dist/cloudflare/preview-urls.d.ts +3 -0
- package/dist/cloudflare/preview-urls.d.ts.map +1 -0
- package/dist/cloudflare/registry-schema.d.ts +253 -0
- package/dist/cloudflare/registry-schema.d.ts.map +1 -0
- package/dist/cloudflare/tokens.d.ts +41 -0
- package/dist/cloudflare/tokens.d.ts.map +1 -0
- package/dist/cloudflare/types.d.ts +123 -6
- package/dist/cloudflare/types.d.ts.map +1 -1
- package/dist/cloudflare/usage.d.ts +30 -2
- package/dist/cloudflare/usage.d.ts.map +1 -1
- package/dist/config/binding-resolution-helpers.d.ts +36 -0
- package/dist/config/binding-resolution-helpers.d.ts.map +1 -0
- package/dist/config/compatibility.d.ts +3 -0
- package/dist/config/compatibility.d.ts.map +1 -0
- package/dist/config/compiler.d.ts +65 -20
- package/dist/config/compiler.d.ts.map +1 -1
- package/dist/config/deploy-resources.d.ts +58 -0
- package/dist/config/deploy-resources.d.ts.map +1 -0
- package/dist/config/framework-providers.d.ts +9 -0
- package/dist/config/framework-providers.d.ts.map +1 -0
- package/dist/config/index.d.ts +8 -4
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/preview-resources.d.ts +83 -0
- package/dist/config/preview-resources.d.ts.map +1 -0
- package/dist/config/preview.d.ts +31 -0
- package/dist/config/preview.d.ts.map +1 -0
- package/dist/config/ref.d.ts +14 -23
- package/dist/config/ref.d.ts.map +1 -1
- package/dist/config/resolve-phased.d.ts +72 -0
- package/dist/config/resolve-phased.d.ts.map +1 -0
- package/dist/config/resolve.d.ts +8 -0
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resource-resolution.d.ts +44 -8
- package/dist/config/resource-resolution.d.ts.map +1 -1
- package/dist/config/schema-bindings.d.ts +955 -0
- package/dist/config/schema-bindings.d.ts.map +1 -0
- package/dist/config/schema-build.d.ts +67 -0
- package/dist/config/schema-build.d.ts.map +1 -0
- package/dist/config/schema-env.d.ts +1677 -0
- package/dist/config/schema-env.d.ts.map +1 -0
- package/dist/config/schema-normalization.d.ts +88 -0
- package/dist/config/schema-normalization.d.ts.map +1 -0
- package/dist/config/schema-runtime.d.ts +230 -0
- package/dist/config/schema-runtime.d.ts.map +1 -0
- package/dist/config/schema.d.ts +1312 -3575
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/service-bindings-validation.d.ts +36 -0
- package/dist/config/service-bindings-validation.d.ts.map +1 -0
- package/dist/{config-v9tr4rts.js → config-1japnjmx.js} +6 -4
- package/dist/config-287wjn1m.js +59 -0
- package/dist/config-4x6vq82e.js +59 -0
- package/dist/config-5n0avhcx.js +59 -0
- package/dist/config-70s2ap5j.js +59 -0
- package/dist/config-7hge8ze6.js +59 -0
- package/dist/config-7rbp7aek.js +59 -0
- package/dist/config-b8xbbmta.js +59 -0
- package/dist/config-baee5690.js +59 -0
- package/dist/config-bczpc1ey.js +59 -0
- package/dist/config-entry.d.ts +5 -0
- package/dist/config-entry.d.ts.map +1 -0
- package/dist/config-entry.js +14 -0
- package/dist/config-fhmwzaw6.js +59 -0
- package/dist/config-g9vkfa4x.js +59 -0
- package/dist/config-gpexkzth.js +59 -0
- package/dist/config-nspw7sgv.js +59 -0
- package/dist/config-ntm4x9wt.js +59 -0
- package/dist/config-nv6hfpg6.js +59 -0
- package/dist/config-pjc33wew.js +59 -0
- package/dist/config-pnz2e8s3.js +59 -0
- package/dist/config-qts6nh6g.js +59 -0
- package/dist/config-sg2xrdt4.js +59 -0
- package/dist/config-vzwckat3.js +59 -0
- package/dist/config-x90dkmm7.js +59 -0
- package/dist/decorators/durable-object.d.ts.map +1 -1
- package/dist/{src/decorators → decorators}/index.js +2 -2
- package/dist/deploy-1s6nv5rp.js +921 -0
- package/dist/deploy-30ph1rrd.js +921 -0
- package/dist/deploy-39dmfn9d.js +921 -0
- package/dist/deploy-44n2pshy.js +1016 -0
- package/dist/deploy-45qxpsfe.js +921 -0
- package/dist/deploy-64e57w1g.js +1040 -0
- package/dist/deploy-82j43vta.js +1040 -0
- package/dist/deploy-99m8qhpa.js +1041 -0
- package/dist/deploy-9twkd32f.js +1040 -0
- package/dist/deploy-a2eq2c1n.js +1040 -0
- package/dist/deploy-a3pb1qs5.js +921 -0
- package/dist/deploy-agbtfm04.js +921 -0
- package/dist/deploy-aswbtbf3.js +921 -0
- package/dist/deploy-bqf3kxy5.js +972 -0
- package/dist/deploy-fv4z648h.js +921 -0
- package/dist/deploy-gsybda2f.js +1038 -0
- package/dist/deploy-h17nzysm.js +921 -0
- package/dist/deploy-hc89h4wg.js +1045 -0
- package/dist/deploy-jey5pnqn.js +1040 -0
- package/dist/deploy-jv0yfqvk.js +1040 -0
- package/dist/deploy-kn3z6spd.js +941 -0
- package/dist/deploy-m22xmz9w.js +921 -0
- package/dist/deploy-nefp2njy.js +1038 -0
- package/dist/deploy-ppp8pg6w.js +1038 -0
- package/dist/deploy-qah2eag6.js +1041 -0
- package/dist/deploy-qdq2gpad.js +1045 -0
- package/dist/deploy-r1yf8913.js +1038 -0
- package/dist/deploy-r8nam9rr.js +1038 -0
- package/dist/deploy-rrm4a0xw.js +921 -0
- package/dist/deploy-s0tfnc12.js +1040 -0
- package/dist/deploy-s636ks9k.js +1041 -0
- package/dist/deploy-skqn61j3.js +1038 -0
- package/dist/deploy-smv2870h.js +921 -0
- package/dist/deploy-sp16nxs5.js +972 -0
- package/dist/deploy-sr805bvq.js +921 -0
- package/dist/deploy-t9dehmn0.js +1041 -0
- package/dist/deploy-taxt7njz.js +1041 -0
- package/dist/deploy-tnfvfh9m.js +1040 -0
- package/dist/deploy-w5f8db4s.js +1040 -0
- package/dist/deploy-wsxcectr.js +921 -0
- package/dist/deploy-xyfbhj3v.js +1038 -0
- package/dist/deploy-yv1y5xaa.js +921 -0
- package/dist/deploy-z3ejw37k.js +1040 -0
- package/dist/dev-02tgdc4f.js +2160 -0
- package/dist/dev-0tqhveye.js +2314 -0
- package/dist/dev-3dj2gkfq.js +2314 -0
- package/dist/dev-3e0etsww.js +2314 -0
- package/dist/dev-47dk7c13.js +2314 -0
- package/dist/dev-4a2a31cm.js +2314 -0
- package/dist/dev-4w1stcn8.js +2427 -0
- package/dist/dev-5wkh1z4a.js +2188 -0
- package/dist/dev-6t22zmey.js +2350 -0
- package/dist/dev-89p1sdv7.js +2395 -0
- package/dist/dev-8d1gxjky.js +2427 -0
- package/dist/dev-8yawx3cv.js +2314 -0
- package/dist/dev-9h4p8a0c.js +2393 -0
- package/dist/dev-9xmttj4c.js +2314 -0
- package/dist/dev-bkbz97z0.js +2314 -0
- package/dist/dev-ct3344kv.js +2160 -0
- package/dist/{dev-ymtphbkg.js → dev-dg8dh5c1.js} +479 -616
- package/dist/dev-dr5jb965.js +2427 -0
- package/dist/dev-e4sjqtbq.js +2314 -0
- package/dist/dev-ecq26mg4.js +2350 -0
- package/dist/dev-ef237vgp.js +2324 -0
- package/dist/dev-enbdg4st.js +2314 -0
- package/dist/dev-jcrxg8hq.js +2160 -0
- package/dist/dev-jk0gqges.js +2432 -0
- package/dist/dev-k62936am.js +2314 -0
- package/dist/dev-k8ptbvrs.js +2160 -0
- package/dist/dev-kqm107h4.js +2422 -0
- package/dist/dev-n0gx7eya.js +2350 -0
- package/dist/dev-n23m6rtb.js +2314 -0
- package/dist/dev-ny8fmkzg.js +2432 -0
- package/dist/dev-p1c65cga.js +2386 -0
- package/dist/dev-p4fjbb4h.js +2395 -0
- package/dist/dev-pnfcv79z.js +2160 -0
- package/dist/dev-qnrrv5ey.js +2393 -0
- package/dist/dev-qqysg50t.js +2427 -0
- package/dist/dev-r9f3n11q.js +2410 -0
- package/dist/dev-s0815dw4.js +2427 -0
- package/dist/dev-s4tpkg60.js +2314 -0
- package/dist/dev-s82fcesg.js +2314 -0
- package/dist/dev-s9sz53me.js +2401 -0
- package/dist/dev-sdka7z0d.js +2427 -0
- package/dist/dev-server/d1-migrations.d.ts +36 -0
- package/dist/dev-server/d1-migrations.d.ts.map +1 -0
- package/dist/dev-server/dev-server-state.d.ts +56 -0
- package/dist/dev-server/dev-server-state.d.ts.map +1 -0
- package/dist/dev-server/gateway-script.d.ts +21 -0
- package/dist/dev-server/gateway-script.d.ts.map +1 -0
- package/dist/dev-server/miniflare-bindings.d.ts +16 -0
- package/dist/dev-server/miniflare-bindings.d.ts.map +1 -0
- package/dist/dev-server/miniflare-dev-config.d.ts +30 -0
- package/dist/dev-server/miniflare-dev-config.d.ts.map +1 -0
- package/dist/dev-server/miniflare-worker-config.d.ts +44 -0
- package/dist/dev-server/miniflare-worker-config.d.ts.map +1 -0
- package/dist/dev-server/reload-queue.d.ts +13 -0
- package/dist/dev-server/reload-queue.d.ts.map +1 -0
- package/dist/dev-server/runtime-stdio.d.ts.map +1 -1
- package/dist/dev-server/server-startup-helpers.d.ts +84 -0
- package/dist/dev-server/server-startup-helpers.d.ts.map +1 -0
- package/dist/dev-server/server.d.ts.map +1 -1
- package/dist/dev-server/vite-process.d.ts +14 -0
- package/dist/dev-server/vite-process.d.ts.map +1 -0
- package/dist/dev-server/vite-utils.d.ts +19 -1
- package/dist/dev-server/vite-utils.d.ts.map +1 -1
- package/dist/dev-server/worker-source-watcher.d.ts +17 -0
- package/dist/dev-server/worker-source-watcher.d.ts.map +1 -0
- package/dist/dev-server/worker-surface-paths.d.ts +6 -0
- package/dist/dev-server/worker-surface-paths.d.ts.map +1 -0
- package/dist/dev-t3tjscah.js +2350 -0
- package/dist/dev-t50kdb1j.js +2338 -0
- package/dist/dev-t5xf55pt.js +2314 -0
- package/dist/dev-t63c44bb.js +2314 -0
- package/dist/dev-wg3d38sy.js +2433 -0
- package/dist/dev-wh4rfgsh.js +2427 -0
- package/dist/dev-wjh8gdd1.js +2284 -0
- package/dist/dev-xzxy9qvq.js +2314 -0
- package/dist/dev-yymaq4ph.js +2392 -0
- package/dist/dev-zg2w2ve3.js +2422 -0
- package/dist/dev-zsb2xk1x.js +2427 -0
- package/dist/dev-zty3yhzg.js +2324 -0
- package/dist/doctor-3mqavqg3.js +245 -0
- package/dist/doctor-5nek32fz.js +245 -0
- package/dist/doctor-7ra1w0sk.js +245 -0
- package/dist/doctor-ak830a0k.js +245 -0
- package/dist/doctor-bye3cs8a.js +245 -0
- package/dist/{doctor-xv4gm1h4.js → doctor-c5m9pmwq.js} +67 -32
- package/dist/doctor-cqfkgxvw.js +245 -0
- package/dist/doctor-e1h9mhzp.js +245 -0
- package/dist/doctor-fmqsrafk.js +245 -0
- package/dist/doctor-hgs7wr5g.js +245 -0
- package/dist/doctor-j8ytsy94.js +245 -0
- package/dist/doctor-mcmkgp6e.js +245 -0
- package/dist/doctor-qb6m2exc.js +245 -0
- package/dist/doctor-qq4tsh8q.js +245 -0
- package/dist/doctor-tecv869a.js +245 -0
- package/dist/doctor-wg0245pe.js +245 -0
- package/dist/doctor-z3jfqxtz.js +245 -0
- package/dist/durable-object-4hey8fgy.js +13 -0
- package/dist/durable-object-v3gsnybk.js +13 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/index-0krb65s3.js +215 -0
- package/dist/index-0mantew0.js +513 -0
- package/dist/index-0mezg6ar.js +1372 -0
- package/dist/index-0tk2rs0q.js +185 -0
- package/dist/{index-fef08w43.js → index-124e9t4t.js} +8 -7
- package/dist/index-1546yrn0.js +74 -0
- package/dist/index-15fpa5tx.js +232 -0
- package/dist/index-18mp5v50.js +538 -0
- package/dist/index-195tc6qh.js +1372 -0
- package/dist/{index-k8vh558d.js → index-1bg8w2gf.js} +15 -2
- package/dist/index-1d4jg11n.js +542 -0
- package/dist/index-1e2qtrmj.js +188 -0
- package/dist/index-1ghhgb9d.js +74 -0
- package/dist/index-1nhd9nkd.js +232 -0
- package/dist/index-1wn8mjep.js +808 -0
- package/dist/index-1xhd5czz.js +185 -0
- package/dist/index-2a2g4fwp.js +993 -0
- package/dist/{index-7bq4xq84.js → index-2bmtj21z.js} +7 -12
- package/dist/index-2dpmd14d.js +52 -0
- package/dist/index-2fa0afdp.js +1372 -0
- package/dist/index-2rcrefqd.js +1372 -0
- package/dist/index-2t2m5148.js +1372 -0
- package/dist/index-2vbzamev.js +437 -0
- package/dist/index-2vdep9h0.js +993 -0
- package/dist/index-2y90j9cz.js +74 -0
- package/dist/index-33ep0z9x.js +385 -0
- package/dist/index-37jgbaw6.js +1372 -0
- package/dist/index-380ncsqc.js +977 -0
- package/dist/index-3e1x39fc.js +365 -0
- package/dist/index-3e7by9sy.js +223 -0
- package/dist/index-3egad6wm.js +538 -0
- package/dist/index-3f8rzmjw.js +232 -0
- package/dist/index-3vd4r37r.js +1372 -0
- package/dist/index-3vgn5e89.js +1682 -0
- package/dist/index-3x7k3t0f.js +513 -0
- package/dist/index-3xfe2dst.js +399 -0
- package/dist/index-464j1zb4.js +513 -0
- package/dist/index-48rxsj95.js +365 -0
- package/dist/index-4bezcdd1.js +385 -0
- package/dist/index-4fp11z9e.js +973 -0
- package/dist/{index-vky23txa.js → index-4knecthc.js} +2 -2
- package/dist/index-502y7w13.js +538 -0
- package/dist/index-50mxxb4q.js +185 -0
- package/dist/index-5achzspr.js +185 -0
- package/dist/index-5ef3jmv7.js +1372 -0
- package/dist/index-5eswe8yv.js +844 -0
- package/dist/index-5gevxfgs.js +513 -0
- package/dist/index-5gmf048z.js +817 -0
- package/dist/index-5jtkxpjf.js +971 -0
- package/dist/index-5m85bd9x.js +168 -0
- package/dist/index-5n5nn0a8.js +264 -0
- package/dist/index-5p3bgjwr.js +808 -0
- package/dist/index-5vzcszr2.js +1230 -0
- package/dist/index-5w77r4w9.js +513 -0
- package/dist/index-62srkqcm.js +168 -0
- package/dist/index-63cgqe43.js +1372 -0
- package/dist/index-65e7xx1a.js +19 -0
- package/dist/index-65qrje14.js +185 -0
- package/dist/index-66sx3b3v.js +385 -0
- package/dist/index-678j0n13.js +74 -0
- package/dist/index-6ftrth7n.js +1218 -0
- package/dist/index-6g90pvxa.js +215 -0
- package/dist/index-6j4m5x2d.js +1372 -0
- package/dist/index-6jwpke14.js +385 -0
- package/dist/index-6knsjvxh.js +1372 -0
- package/dist/index-6kwq6yf8.js +979 -0
- package/dist/index-6mg4yvc6.js +74 -0
- package/dist/index-6phry941.js +133 -0
- package/dist/index-6r59wbek.js +232 -0
- package/dist/index-6sf815ps.js +74 -0
- package/dist/index-6zd89k6y.js +1230 -0
- package/dist/index-71rwg0cn.js +264 -0
- package/dist/index-75ex2m0x.js +695 -0
- package/dist/index-79exzs3q.js +1218 -0
- package/dist/index-7bxj118m.js +264 -0
- package/dist/index-7c6np4mq.js +397 -0
- package/dist/index-7cm339qz.js +133 -0
- package/dist/index-7eqyr4j8.js +70 -0
- package/dist/index-7k278fgz.js +273 -0
- package/dist/index-7kazxkjt.js +1372 -0
- package/dist/index-7m0x8m9r.js +844 -0
- package/dist/index-7p74smg8.js +1372 -0
- package/dist/index-7q8fke3k.js +188 -0
- package/dist/index-7qk6eafn.js +1682 -0
- package/dist/index-7vbjt6ba.js +805 -0
- package/dist/index-7z4b0vgd.js +470 -0
- package/dist/index-82f1z98k.js +41 -0
- package/dist/index-82xn4azv.js +74 -0
- package/dist/index-83wns7cz.js +70 -0
- package/dist/index-852945d4.js +413 -0
- package/dist/index-86rvj79f.js +133 -0
- package/dist/index-88tcq0t4.js +542 -0
- package/dist/index-8evn52g1.js +1218 -0
- package/dist/index-8jkf4nsd.js +695 -0
- package/dist/index-8nx4ce3e.js +133 -0
- package/dist/index-8q1bcnrh.js +1372 -0
- package/dist/index-8t5gynct.js +971 -0
- package/dist/index-905svbb6.js +470 -0
- package/dist/index-94cb0sac.js +1372 -0
- package/dist/index-95mmvbw7.js +538 -0
- package/dist/index-97x94h0m.js +438 -0
- package/dist/index-9an9qqr1.js +728 -0
- package/dist/index-9d125myk.js +1372 -0
- package/dist/{index-001mw014.js → index-9fbtk7gv.js} +134 -248
- package/dist/index-9gg0kqw0.js +470 -0
- package/dist/index-9ryw7mcw.js +971 -0
- package/dist/index-a3e13a7m.js +478 -0
- package/dist/index-a6j44jmr.js +1372 -0
- package/dist/index-a75ejnvt.js +1711 -0
- package/dist/index-aabgympv.js +39 -0
- package/dist/index-ab2nck1h.js +1372 -0
- package/dist/index-abrqnq3e.js +488 -0
- package/dist/index-afjbpgb1.js +1218 -0
- package/dist/index-at89fpde.js +470 -0
- package/dist/{index-5yxg30va.js → index-awr0tp6p.js} +15 -6
- package/dist/index-b1be9bdh.js +1372 -0
- package/dist/index-b1xs3wc4.js +513 -0
- package/dist/index-b50x7seh.js +513 -0
- package/dist/index-b5ra8w3q.js +52 -0
- package/dist/index-b64sbzgv.js +884 -0
- package/dist/index-b7r8ntpm.js +1372 -0
- package/dist/index-ba9gyy13.js +513 -0
- package/dist/index-bb66mn7p.js +52 -0
- package/dist/index-bc5pvbbd.js +1193 -0
- package/dist/index-bj0mk3dw.js +74 -0
- package/dist/index-bj3a8dr0.js +1372 -0
- package/dist/index-bk3eez1g.js +513 -0
- package/dist/index-btjx137w.js +774 -0
- package/dist/index-btrfqp9h.js +133 -0
- package/dist/index-bx6gangy.js +402 -0
- package/dist/index-c0tc0yts.js +471 -0
- package/dist/index-c0whkev9.js +200 -0
- package/dist/index-ca96qkva.js +1372 -0
- package/dist/index-cdtzkedk.js +993 -0
- package/dist/index-cejgenma.js +1372 -0
- package/dist/index-cp8jt5pr.js +52 -0
- package/dist/index-cpz69pek.js +1372 -0
- package/dist/index-crrdegk5.js +456 -0
- package/dist/index-cskszwkx.js +1372 -0
- package/dist/index-cxf22a0s.js +74 -0
- package/dist/index-cy3c3w81.js +270 -0
- package/dist/index-d5dgb1j6.js +74 -0
- package/dist/index-da397xcx.js +1372 -0
- package/dist/index-damyy8bw.js +1372 -0
- package/dist/index-dd6fwwmq.js +456 -0
- package/dist/index-dh1954bp.js +52 -0
- package/dist/index-djp2wd1f.js +1372 -0
- package/dist/index-dmbdj6va.js +805 -0
- package/dist/index-dphr32gc.js +420 -0
- package/dist/index-dxh2qyyw.js +52 -0
- package/dist/index-dzayfxjy.js +492 -0
- package/dist/index-e05q77kt.js +397 -0
- package/dist/index-e11b1fb2.js +495 -0
- package/dist/index-e3zvspqj.js +968 -0
- package/dist/index-e4tzzbn9.js +1372 -0
- package/dist/index-e5ct1gwb.js +1372 -0
- package/dist/index-e7ptcz1a.js +1372 -0
- package/dist/index-e7wt0203.js +513 -0
- package/dist/index-ebwsvf9t.js +365 -0
- package/dist/index-ed73jn3d.js +185 -0
- package/dist/index-ed7n5d07.js +185 -0
- package/dist/index-ejs2a4kd.js +513 -0
- package/dist/index-esjrgt3y.js +467 -0
- package/dist/index-ev03khsd.js +513 -0
- package/dist/index-f1gsqm54.js +168 -0
- package/dist/index-f90314kt.js +52 -0
- package/dist/index-f9mhsept.js +185 -0
- package/dist/index-fa6zwffw.js +70 -0
- package/dist/index-fama7kpt.js +52 -0
- package/dist/index-fkyvxe4b.js +968 -0
- package/dist/index-g0h40xke.js +513 -0
- package/dist/index-g0rqh52c.js +385 -0
- package/dist/index-g170d619.js +385 -0
- package/dist/index-g3qtxkms.js +881 -0
- package/dist/index-gactvqcs.js +467 -0
- package/dist/index-gaew61v4.js +470 -0
- package/dist/index-gba371j7.js +542 -0
- package/dist/index-gegyyfnw.js +1372 -0
- package/dist/index-get7he2s.js +133 -0
- package/dist/index-gn5wy09x.js +205 -0
- package/dist/index-gtbgzwfs.js +264 -0
- package/dist/index-gtpz0gkz.js +185 -0
- package/dist/index-h1s66pmp.js +52 -0
- package/dist/index-h8r2d8y5.js +366 -0
- package/dist/index-heeqwrfd.js +385 -0
- package/dist/index-hheb5dyt.js +192 -0
- package/dist/index-hjz2x9nq.js +441 -0
- package/dist/index-hkex7ns5.js +513 -0
- package/dist/index-hmbctwv6.js +517 -0
- package/dist/index-hpzasdhw.js +513 -0
- package/dist/index-hqdr9wdm.js +74 -0
- package/dist/index-hrvz8d26.js +1372 -0
- package/dist/index-hyvhnf6r.js +971 -0
- package/dist/index-j2kc5rbv.js +895 -0
- package/dist/index-j2xdxwsz.js +133 -0
- package/dist/index-j47hhb3r.js +694 -0
- package/dist/index-j5aphr5x.js +185 -0
- package/dist/index-j68v36q1.js +188 -0
- package/dist/index-j7cf22x7.js +968 -0
- package/dist/index-j7xxrbnr.js +694 -0
- package/dist/index-jptqxkew.js +470 -0
- package/dist/index-jsymy3mb.js +781 -0
- package/dist/index-jwvy32xk.js +188 -0
- package/dist/index-jxe1b19v.js +133 -0
- package/dist/index-jz96ry5g.js +513 -0
- package/dist/index-k6wtsgs1.js +971 -0
- package/dist/index-kawa49m8.js +371 -0
- package/dist/index-key4e5c9.js +168 -0
- package/dist/index-khbmdrn2.js +884 -0
- package/dist/index-kpzfwex6.js +264 -0
- package/dist/index-kse4gn99.js +74 -0
- package/dist/index-ktscz0r2.js +264 -0
- package/dist/index-kybmjvad.js +1212 -0
- package/dist/index-kzm9cea8.js +185 -0
- package/dist/index-m2d74gqg.js +808 -0
- package/dist/index-m56w7mjt.js +513 -0
- package/dist/index-m95ha3n4.js +264 -0
- package/dist/index-ma151p8g.js +264 -0
- package/dist/index-mg8vwqxf.js +514 -0
- package/dist/index-mhdsywhs.js +264 -0
- package/dist/index-mjgx910r.js +895 -0
- package/dist/index-mkrmaea3.js +185 -0
- package/dist/index-mkxnyyjn.js +264 -0
- package/dist/index-mp5mrst6.js +1372 -0
- package/dist/index-ms15cr86.js +513 -0
- package/dist/index-mt99xkc6.js +133 -0
- package/dist/index-mttv6k25.js +881 -0
- package/dist/index-myxfx52v.js +385 -0
- package/dist/index-mzw7732t.js +74 -0
- package/dist/index-n3mjwz22.js +188 -0
- package/dist/index-n3yksgz0.js +1372 -0
- package/dist/{index-8gtqgb3q.js → index-n4jr3dmk.js} +55 -100
- package/dist/index-n5drt64b.js +74 -0
- package/dist/index-n8frmffg.js +264 -0
- package/dist/index-n8k8chde.js +694 -0
- package/dist/index-na796ka6.js +994 -0
- package/dist/index-nbs4q0qg.js +1218 -0
- package/dist/index-newpq2zf.js +968 -0
- package/dist/index-nexg9p7j.js +1271 -0
- package/dist/index-nfm8tb5n.js +74 -0
- package/dist/index-nga2tg9z.js +1372 -0
- package/dist/index-ngbzr9gz.js +805 -0
- package/dist/index-nh90nk7j.js +380 -0
- package/dist/index-njnmfxm5.js +1372 -0
- package/dist/index-nqma24j3.js +385 -0
- package/dist/index-ntddf5d9.js +993 -0
- package/dist/index-nte9n8w9.js +538 -0
- package/dist/index-ntxp7ke1.js +264 -0
- package/dist/index-nwxnmw41.js +264 -0
- package/dist/index-p1xe5eem.js +513 -0
- package/dist/index-p296ban8.js +191 -0
- package/dist/index-p477xm52.js +385 -0
- package/dist/index-p8nmkrgw.js +470 -0
- package/dist/{index-zvgc3e0c.js → index-p97s12vf.js} +200 -97
- package/dist/index-p9hvv0yd.js +401 -0
- package/dist/index-pac7wv88.js +307 -0
- package/dist/index-ptp2pfq1.js +52 -0
- package/dist/index-pyeycp3f.js +74 -0
- package/dist/index-q23xf3vr.js +479 -0
- package/dist/index-q34rvh5a.js +247 -0
- package/dist/index-q5errwrj.js +904 -0
- package/dist/index-q5nhzc9m.js +1217 -0
- package/dist/index-q8f4kawk.js +204 -0
- package/dist/index-qer8zv2r.js +997 -0
- package/dist/index-qhyy018y.js +467 -0
- package/dist/index-qmhdydwy.js +70 -0
- package/dist/index-qpmvca5j.js +470 -0
- package/dist/index-qr96vaj1.js +52 -0
- package/dist/index-qtyhg3dn.js +904 -0
- package/dist/index-qye17gq5.js +264 -0
- package/dist/index-r0839f5k.js +133 -0
- package/dist/index-r1rqg72v.js +1372 -0
- package/dist/index-rbckga8p.js +971 -0
- package/dist/index-rbxb5x2w.js +1372 -0
- package/dist/index-rck779bj.js +739 -0
- package/dist/index-rfn2gt5f.js +1658 -0
- package/dist/index-rg21w26a.js +470 -0
- package/dist/index-rgcz45t0.js +1372 -0
- package/dist/index-rhnd376q.js +133 -0
- package/dist/index-rjc5z3w6.js +971 -0
- package/dist/index-rkhtayd6.js +385 -0
- package/dist/index-rm8srzmv.js +371 -0
- package/dist/index-rmhk5j03.js +968 -0
- package/dist/index-rp4t86bt.js +993 -0
- package/dist/index-rpq5ktdy.js +264 -0
- package/dist/index-rpsmhdd4.js +1218 -0
- package/dist/index-rqpakjyr.js +470 -0
- package/dist/index-rttk33x6.js +232 -0
- package/dist/index-rwa82e89.js +385 -0
- package/dist/index-rz185crv.js +695 -0
- package/dist/index-s22verzj.js +1218 -0
- package/dist/index-s2s3g1nt.js +133 -0
- package/dist/index-s7ytytth.js +781 -0
- package/dist/index-sefnpzwa.js +185 -0
- package/dist/index-sgxw0xzd.js +513 -0
- package/dist/index-stc0caq6.js +1009 -0
- package/dist/index-stgn34cr.js +148 -0
- package/dist/index-svz82w9h.js +513 -0
- package/dist/index-sx49e8x9.js +884 -0
- package/dist/index-sxadwvw9.js +185 -0
- package/dist/index-sxn223fz.js +1372 -0
- package/dist/index-sy0c2mh0.js +1372 -0
- package/dist/index-syeh1hca.js +264 -0
- package/dist/index-t18wyhgf.js +418 -0
- package/dist/index-t4fhcx1n.js +71 -0
- package/dist/index-td4hbgj5.js +1372 -0
- package/dist/index-tkvt9mmq.js +484 -0
- package/dist/index-tmmcf4m6.js +808 -0
- package/dist/index-tpgs5v64.js +366 -0
- package/dist/index-tt4fsv91.js +412 -0
- package/dist/{index-v8vvsn9x.js → index-tte89s31.js} +29 -29
- package/dist/index-tvjg7swe.js +1372 -0
- package/dist/index-txndxr4w.js +513 -0
- package/dist/index-tyh5jc55.js +990 -0
- package/dist/index-tyt0wa52.js +470 -0
- package/dist/index-tyt3wcfr.js +1372 -0
- package/dist/index-v3znz08m.js +968 -0
- package/dist/index-v78xbj6n.js +808 -0
- package/dist/index-v915brjk.js +1372 -0
- package/dist/index-v922fmsx.js +52 -0
- package/dist/index-v9w1bbfe.js +842 -0
- package/dist/index-vbbgtm8p.js +513 -0
- package/dist/index-vcjgrmzj.js +456 -0
- package/dist/{index-59df49vn.js → index-vdewcg1r.js} +233 -105
- package/dist/index-vhqww6tt.js +307 -0
- package/dist/index-vse8620z.js +1372 -0
- package/dist/index-vtjp46c3.js +52 -0
- package/dist/index-vxhxk8mf.js +904 -0
- package/dist/index-w3azfsa0.js +695 -0
- package/dist/index-w4tq35dn.js +52 -0
- package/dist/index-w5qxvxzq.js +991 -0
- package/dist/index-w5sedpqn.js +986 -0
- package/dist/index-waha3chv.js +1230 -0
- package/dist/index-wdxww0kj.js +1006 -0
- package/dist/index-wdy5y07x.js +1372 -0
- package/dist/index-wf9pnh6j.js +385 -0
- package/dist/index-wnnbbbkt.js +1192 -0
- package/dist/index-wvcmvtjf.js +1372 -0
- package/dist/index-x0jbntp0.js +470 -0
- package/dist/index-x6scc3nx.js +70 -0
- package/dist/index-x8e2wsbv.js +971 -0
- package/dist/index-xgfyxpfs.js +1218 -0
- package/dist/index-xm9hp9xc.js +1372 -0
- package/dist/index-xp7zkxcx.js +1372 -0
- package/dist/index-xrbj0ebk.js +185 -0
- package/dist/index-xskax7r3.js +50 -0
- package/dist/index-xvk5n96q.js +694 -0
- package/dist/index-xy1jvt4w.js +1229 -0
- package/dist/index-xzg9hhf3.js +470 -0
- package/dist/index-xzpg0kaz.js +70 -0
- package/dist/index-y3q6qvv3.js +316 -0
- package/dist/index-y44ts1dk.js +52 -0
- package/dist/index-y5nt1wjb.js +971 -0
- package/dist/index-y82b8w14.js +1372 -0
- package/dist/index-yb07t3c5.js +1372 -0
- package/dist/index-yc3xz3vm.js +431 -0
- package/dist/index-yeaqrevg.js +1372 -0
- package/dist/index-ygwsd1nn.js +438 -0
- package/dist/index-yhdavjk7.js +371 -0
- package/dist/index-yjhns95b.js +188 -0
- package/dist/index-yk23p7he.js +1372 -0
- package/dist/index-ykfgpsmm.js +190 -0
- package/dist/index-ymz3cfab.js +968 -0
- package/dist/index-yq9g1sq7.js +264 -0
- package/dist/index-ys5q9ch9.js +366 -0
- package/dist/index-yt0n4p46.js +973 -0
- package/dist/index-ytq1t9jx.js +232 -0
- package/dist/index-ywmtmf3b.js +513 -0
- package/dist/index-yzb44q6d.js +1372 -0
- package/dist/index-z043xk61.js +133 -0
- package/dist/index-z0gsf674.js +431 -0
- package/dist/index-z32n0ndp.js +1372 -0
- package/dist/index-z4qgk76w.js +1372 -0
- package/dist/index-z8njfj2g.js +385 -0
- package/dist/index-z9fjnwa8.js +397 -0
- package/dist/{index-1xpj0m4r.js → index-z9gy8w6b.js} +1 -1
- package/dist/index-zapkc14c.js +264 -0
- package/dist/index-zes6w8yr.js +185 -0
- package/dist/index-zgrqest7.js +695 -0
- package/dist/index-zsngz131.js +1372 -0
- package/dist/index-zt22fe2j.js +54 -0
- package/dist/index-zxhc6sb0.js +192 -0
- package/dist/index.d.ts +2 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +61 -0
- package/dist/{init-na2atvz2.js → init-wfh63bfz.js} +25 -18
- package/dist/login-1amyp1jy.js +77 -0
- package/dist/login-1cdwn1dj.js +77 -0
- package/dist/login-456h8jk3.js +77 -0
- package/dist/login-4n470c4j.js +77 -0
- package/dist/login-4sh7s849.js +77 -0
- package/dist/login-5dmkf0pz.js +77 -0
- package/dist/login-88tp4gbb.js +77 -0
- package/dist/login-b51faqpc.js +77 -0
- package/dist/login-bxyjqmbj.js +77 -0
- package/dist/login-c4649qss.js +77 -0
- package/dist/login-d80a2qxd.js +77 -0
- package/dist/login-dp0napaz.js +77 -0
- package/dist/login-j3r6z2t4.js +77 -0
- package/dist/login-jkfkdjg4.js +77 -0
- package/dist/login-kch6f2yj.js +77 -0
- package/dist/login-pmqh94ws.js +77 -0
- package/dist/login-rc82x5j8.js +77 -0
- package/dist/login-tvppwyx2.js +77 -0
- package/dist/login-w76jx22q.js +77 -0
- package/dist/login-ze7y36rc.js +77 -0
- package/dist/previews-02jmcwft.js +1214 -0
- package/dist/previews-31bq82km.js +1225 -0
- package/dist/previews-62pcvvpe.js +1214 -0
- package/dist/previews-76fxkp59.js +1214 -0
- package/dist/previews-844bp6kf.js +1214 -0
- package/dist/previews-8amn46qv.js +1214 -0
- package/dist/previews-a5xbkksy.js +1214 -0
- package/dist/previews-bgnryzav.js +1214 -0
- package/dist/previews-bkhv9dnr.js +1214 -0
- package/dist/previews-c2c64z5m.js +1214 -0
- package/dist/previews-e4wgscsb.js +1214 -0
- package/dist/previews-ew4reetn.js +1214 -0
- package/dist/previews-hzqke1fg.js +1214 -0
- package/dist/previews-j8wa3sge.js +1214 -0
- package/dist/previews-k5n6vhpm.js +1214 -0
- package/dist/previews-n4sdyxa5.js +1214 -0
- package/dist/previews-npwrwb0b.js +1214 -0
- package/dist/previews-q8ph9wbe.js +1214 -0
- package/dist/previews-rfswrh7q.js +1214 -0
- package/dist/previews-s0y5yp8s.js +1214 -0
- package/dist/previews-s5b6mnz5.js +1214 -0
- package/dist/previews-sdte4984.js +1200 -0
- package/dist/previews-t5tdm6t0.js +1225 -0
- package/dist/previews-tk7vpzj9.js +1214 -0
- package/dist/previews-tqt4pk27.js +1214 -0
- package/dist/previews-vqg4psk2.js +1225 -0
- package/dist/productions-4abj58kx.js +505 -0
- package/dist/productions-4dpec71r.js +505 -0
- package/dist/productions-4nedsanh.js +505 -0
- package/dist/productions-5c58yafp.js +505 -0
- package/dist/productions-5xq5cjhx.js +505 -0
- package/dist/productions-6dr0bmd7.js +505 -0
- package/dist/productions-8f6s8dqr.js +505 -0
- package/dist/productions-a2hcwwzf.js +505 -0
- package/dist/productions-b7svyjp7.js +505 -0
- package/dist/productions-bf2cnr05.js +505 -0
- package/dist/productions-dkgry3gv.js +505 -0
- package/dist/productions-eqh105tk.js +505 -0
- package/dist/productions-etvcm7yf.js +505 -0
- package/dist/productions-f1zpbmjz.js +505 -0
- package/dist/productions-j14pvx93.js +505 -0
- package/dist/productions-j7s1ywvg.js +505 -0
- package/dist/productions-jp3v3q3p.js +505 -0
- package/dist/productions-m9p42amj.js +505 -0
- package/dist/productions-mxbneawa.js +505 -0
- package/dist/productions-np4exh9p.js +505 -0
- package/dist/productions-rr1hqgda.js +505 -0
- package/dist/productions-rtf9ksgg.js +505 -0
- package/dist/productions-w2nzftcz.js +505 -0
- package/dist/productions-wbks5h7e.js +505 -0
- package/dist/productions-y99ayk6h.js +505 -0
- package/dist/productions-zpqyw5gm.js +505 -0
- package/dist/runtime/context-events.d.ts +13 -0
- package/dist/runtime/context-events.d.ts.map +1 -0
- package/dist/runtime/context-types.d.ts +82 -0
- package/dist/runtime/context-types.d.ts.map +1 -0
- package/dist/runtime/context.d.ts +12 -266
- package/dist/runtime/context.d.ts.map +1 -1
- package/dist/runtime/exports.d.ts +4 -7
- package/dist/runtime/exports.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +3 -3
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/{src/runtime → runtime}/index.js +22 -13
- package/dist/runtime/middleware.d.ts +56 -31
- package/dist/runtime/middleware.d.ts.map +1 -1
- package/dist/runtime/router/index.d.ts +7 -0
- package/dist/runtime/router/index.d.ts.map +1 -0
- package/dist/runtime/router/types.d.ts +24 -0
- package/dist/runtime/router/types.d.ts.map +1 -0
- package/dist/runtime/validation.d.ts +9 -1
- package/dist/runtime/validation.d.ts.map +1 -1
- package/dist/{src/sveltekit → sveltekit}/index.js +36 -69
- package/dist/sveltekit/platform.d.ts +11 -1
- package/dist/sveltekit/platform.d.ts.map +1 -1
- package/dist/test/binding-hints.d.ts +11 -0
- package/dist/test/binding-hints.d.ts.map +1 -0
- package/dist/test/bridge-context.d.ts +7 -0
- package/dist/test/bridge-context.d.ts.map +1 -1
- package/dist/test/cf.d.ts +10 -10
- package/dist/test/email.d.ts.map +1 -1
- package/dist/test/index.d.ts +1 -7
- package/dist/test/index.d.ts.map +1 -1
- package/dist/{index-3a4mmn57.js → test/index.js} +1661 -1424
- package/dist/test/queue.d.ts.map +1 -1
- package/dist/test/remote-ai.d.ts.map +1 -1
- package/dist/test/remote-cloudflare.d.ts +13 -0
- package/dist/test/remote-cloudflare.d.ts.map +1 -0
- package/dist/test/remote-vectorize.d.ts.map +1 -1
- package/dist/test/resolve-service-bindings.d.ts.map +1 -1
- package/dist/test/scheduled.d.ts.map +1 -1
- package/dist/test/should-skip.d.ts +0 -18
- package/dist/test/should-skip.d.ts.map +1 -1
- package/dist/test/simple-context-bindings.d.ts +13 -0
- package/dist/test/simple-context-bindings.d.ts.map +1 -0
- package/dist/test/simple-context-durable-objects.d.ts +6 -0
- package/dist/test/simple-context-durable-objects.d.ts.map +1 -0
- package/dist/test/simple-context-env.d.ts +35 -0
- package/dist/test/simple-context-env.d.ts.map +1 -0
- package/dist/test/simple-context-gateway-script.d.ts +2 -0
- package/dist/test/simple-context-gateway-script.d.ts.map +1 -0
- package/dist/test/simple-context-handlers.d.ts +12 -0
- package/dist/test/simple-context-handlers.d.ts.map +1 -0
- package/dist/test/simple-context-lifecycle.d.ts +32 -0
- package/dist/test/simple-context-lifecycle.d.ts.map +1 -0
- package/dist/test/simple-context-mfconfig.d.ts +7 -0
- package/dist/test/simple-context-mfconfig.d.ts.map +1 -0
- package/dist/test/simple-context-multi-worker.d.ts +16 -0
- package/dist/test/simple-context-multi-worker.d.ts.map +1 -0
- package/dist/test/simple-context-paths.d.ts +40 -0
- package/dist/test/simple-context-paths.d.ts.map +1 -0
- package/dist/test/simple-context-runtime.d.ts +19 -0
- package/dist/test/simple-context-runtime.d.ts.map +1 -0
- package/dist/test/simple-context-startup.d.ts +11 -0
- package/dist/test/simple-context-startup.d.ts.map +1 -0
- package/dist/test/simple-context-transport.d.ts +14 -0
- package/dist/test/simple-context-transport.d.ts.map +1 -0
- package/dist/test/simple-context.d.ts +7 -26
- package/dist/test/simple-context.d.ts.map +1 -1
- package/dist/test/tail.d.ts.map +1 -1
- package/dist/test/utilities.d.ts +13 -5
- package/dist/test/utilities.d.ts.map +1 -1
- package/dist/test/worker.d.ts +1 -1
- package/dist/test/worker.d.ts.map +1 -1
- package/dist/token-3b9wws58.js +419 -0
- package/dist/token-47kcz18j.js +419 -0
- package/dist/token-exz78pth.js +419 -0
- package/dist/token-fcthx92c.js +419 -0
- package/dist/token-grwp8z4q.js +419 -0
- package/dist/token-jkmm44z2.js +419 -0
- package/dist/token-qxtvzm3b.js +419 -0
- package/dist/token-rq8mvtz9.js +419 -0
- package/dist/token-sct51r47.js +419 -0
- package/dist/token-sfgxcgen.js +419 -0
- package/dist/transform/durable-object.d.ts.map +1 -1
- package/dist/transform/worker-entrypoint.d.ts +5 -0
- package/dist/transform/worker-entrypoint.d.ts.map +1 -1
- package/dist/types-0qv4xces.js +572 -0
- package/dist/types-2nvrs9jg.js +572 -0
- package/dist/types-2pbe8kzw.js +572 -0
- package/dist/types-2zyt0m43.js +572 -0
- package/dist/types-4xxer9ep.js +572 -0
- package/dist/types-5t5y7a5n.js +572 -0
- package/dist/types-5wd2rygw.js +572 -0
- package/dist/types-7j3ykgx7.js +572 -0
- package/dist/types-8g78x34n.js +572 -0
- package/dist/types-e6d336q3.js +572 -0
- package/dist/types-hqh2fx0x.js +572 -0
- package/dist/types-j12xmdnd.js +572 -0
- package/dist/types-jqn26et3.js +572 -0
- package/dist/types-n0mxbq26.js +572 -0
- package/dist/types-naz9hvw5.js +572 -0
- package/dist/{types-158m16vd.js → types-qjcd1jks.js} +245 -141
- package/dist/types-r9zb8sw1.js +572 -0
- package/dist/types-rv5xwgsn.js +572 -0
- package/dist/types-t39njdqx.js +572 -0
- package/dist/types-tkgch3xv.js +572 -0
- package/dist/types-vvtb7rrh.js +572 -0
- package/dist/types-w1grncdj.js +572 -0
- package/dist/types-wmw49exb.js +572 -0
- package/dist/types-ymxz9jga.js +572 -0
- package/dist/utils/resolve-package.d.ts.map +1 -1
- package/dist/utils/send-email.d.ts.map +1 -1
- package/dist/utils/send-email.js +19 -0
- package/dist/vite/config-file.d.ts.map +1 -1
- package/dist/{src/vite → vite}/index.js +12 -9
- package/dist/vite/plugin-config-hook.d.ts +28 -0
- package/dist/vite/plugin-config-hook.d.ts.map +1 -0
- package/dist/vite/plugin-context.d.ts +25 -0
- package/dist/vite/plugin-context.d.ts.map +1 -0
- package/dist/vite/plugin-durable-objects.d.ts +18 -0
- package/dist/vite/plugin-durable-objects.d.ts.map +1 -0
- package/dist/vite/plugin-programmatic.d.ts +44 -0
- package/dist/vite/plugin-programmatic.d.ts.map +1 -0
- package/dist/vite/plugin-transform.d.ts +41 -0
- package/dist/vite/plugin-transform.d.ts.map +1 -0
- package/dist/vite/plugin.d.ts +6 -39
- package/dist/vite/plugin.d.ts.map +1 -1
- package/dist/worker-18ceqscc.js +513 -0
- package/dist/worker-1yqpwte2.js +513 -0
- package/dist/worker-2aw27zxy.js +513 -0
- package/dist/worker-45tp4a8f.js +513 -0
- package/dist/worker-68zttchg.js +513 -0
- package/dist/worker-729cf3fh.js +513 -0
- package/dist/worker-aydzxt4f.js +513 -0
- package/dist/worker-ejdxma7k.js +513 -0
- package/dist/worker-entry/composed-worker.d.ts +1 -7
- package/dist/worker-entry/composed-worker.d.ts.map +1 -1
- package/dist/worker-entry/durable-object-discovery.d.ts +20 -0
- package/dist/worker-entry/durable-object-discovery.d.ts.map +1 -0
- package/dist/worker-entry/extensions.d.ts +5 -0
- package/dist/worker-entry/extensions.d.ts.map +1 -0
- package/dist/worker-entry/routes.d.ts +1 -1
- package/dist/worker-entry/routes.d.ts.map +1 -1
- package/dist/worker-entry/surface-paths.d.ts +15 -0
- package/dist/worker-entry/surface-paths.d.ts.map +1 -0
- package/dist/worker-entrypoint-4xp7msd7.js +16 -0
- package/dist/worker-entrypoint-f1v9y4s8.js +15 -0
- package/dist/worker-f6xqjg65.js +513 -0
- package/dist/worker-fdnn62de.js +513 -0
- package/dist/worker-frnh95rg.js +513 -0
- package/dist/worker-k55nfrmp.js +513 -0
- package/dist/worker-kqc6w7ry.js +513 -0
- package/dist/worker-ksvcq8be.js +513 -0
- package/dist/worker-mjzfstv5.js +513 -0
- package/dist/worker-p4rtsndj.js +513 -0
- package/dist/worker-p6d53qan.js +513 -0
- package/dist/worker-qh2qbv97.js +513 -0
- package/dist/worker-r234vnv9.js +513 -0
- package/dist/worker-r47bv7gt.js +513 -0
- package/dist/worker-s4nvbqsm.js +513 -0
- package/dist/worker-ttj7vwce.js +513 -0
- package/dist/worker-wv4jdneg.js +513 -0
- package/dist/worker-xcbscr75.js +513 -0
- package/dist/worker-ywwkf3cp.js +513 -0
- package/dist/worker-z8wtk0sh.js +513 -0
- package/package.json +138 -116
- package/R2.md +0 -200
- package/dist/account-spa7gzsn.js +0 -421
- package/dist/browser-shim/worker.d.ts +0 -14
- package/dist/browser-shim/worker.d.ts.map +0 -1
- package/dist/build-zv25ke4s.js +0 -102
- package/dist/deploy-6xmqvv06.js +0 -118
- package/dist/index-0rsa2c1t.js +0 -325
- package/dist/index-2q3pmzrx.js +0 -90
- package/dist/index-5s1bz1e0.js +0 -202
- package/dist/index-6nb7w45m.js +0 -79
- package/dist/index-n932ytmq.js +0 -470
- package/dist/index-tksw7gpy.js +0 -503
- package/dist/index-v43z02tr.js +0 -205
- package/dist/index-xdq9ery1.js +0 -664
- package/dist/src/cli/index.js +0 -10
- package/dist/src/cloudflare/index.js +0 -14
- package/dist/src/index.js +0 -140
- package/dist/src/test/index.js +0 -80
- package/dist/test/multi-worker-context.d.ts +0 -114
- package/dist/test/multi-worker-context.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -22,20 +22,30 @@ For the deeper public contract, caveats, and current feature boundaries, see [`L
|
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
25
|
-
##
|
|
25
|
+
## Monorepo contributor workflow
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
When you are working on `packages/devflare` inside this monorepo, use the repo-root Turbo scripts instead of assembling ad-hoc commands by hand:
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
bun
|
|
31
|
-
|
|
29
|
+
- `bun run devflare:dev`
|
|
30
|
+
- `bun run devflare:test:watch`
|
|
31
|
+
- `bun run devflare:build`
|
|
32
|
+
- `bun run devflare:typecheck`
|
|
33
|
+
- `bun run devflare:test`
|
|
34
|
+
- `bun run devflare:types`
|
|
35
|
+
- `bun run devflare:check`
|
|
36
|
+
- `bun run devflare:ci`
|
|
37
|
+
|
|
38
|
+
These scripts intentionally keep the default shared lane focused on the parts of the workspace that are currently stable in local development and CI. In particular, the shared test lane excludes `@devflare/case5-multi-worker`, and the shared check lane stays centered on `apps/documentation` because `cases/case18` still expects Cloudflare-backed resource resolution outside the default contributor workflow.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Install
|
|
32
43
|
|
|
33
|
-
|
|
44
|
+
For a worker-only project, the smallest install is just Devflare:
|
|
34
45
|
|
|
35
46
|
```bash
|
|
36
|
-
bun add -d devflare
|
|
47
|
+
bun add -d devflare vite @cloudflare/vite-plugin
|
|
37
48
|
```
|
|
38
|
-
|
|
39
49
|
A local `vite.config.*` opts that package into Vite-backed flows. Without one, Devflare stays in worker-only mode.
|
|
40
50
|
|
|
41
51
|
---
|
|
@@ -46,7 +56,7 @@ A local `vite.config.*` opts that package into Vite-backed flows. Without one, D
|
|
|
46
56
|
|
|
47
57
|
```ts
|
|
48
58
|
// devflare.config.ts
|
|
49
|
-
import { defineConfig } from 'devflare'
|
|
59
|
+
import { defineConfig } from 'devflare/config'
|
|
50
60
|
|
|
51
61
|
export default defineConfig({
|
|
52
62
|
name: 'hello-worker',
|
|
@@ -57,19 +67,16 @@ export default defineConfig({
|
|
|
57
67
|
})
|
|
58
68
|
```
|
|
59
69
|
|
|
70
|
+
Use `devflare/config` for config files so Bun only loads the lightweight config helpers instead of the full Node-side Devflare barrel.
|
|
71
|
+
|
|
60
72
|
### 2. Add a fetch handler
|
|
61
73
|
|
|
62
74
|
```ts
|
|
63
75
|
// src/fetch.ts
|
|
64
76
|
import type { FetchEvent } from 'devflare/runtime'
|
|
65
77
|
|
|
66
|
-
export async function fetch({
|
|
67
|
-
|
|
68
|
-
return new Response(
|
|
69
|
-
url.pathname === '/'
|
|
70
|
-
? 'Hello from Devflare'
|
|
71
|
-
: `Hello from Devflare: ${url.pathname}`
|
|
72
|
-
)
|
|
78
|
+
export async function fetch({ url }: FetchEvent): Promise<Response> {
|
|
79
|
+
return new Response(`Hello from Devflare: ${url.pathname}`)
|
|
73
80
|
}
|
|
74
81
|
```
|
|
75
82
|
|
|
@@ -79,8 +86,6 @@ export async function fetch({ request }: FetchEvent): Promise<Response> {
|
|
|
79
86
|
bunx --bun devflare types
|
|
80
87
|
```
|
|
81
88
|
|
|
82
|
-
This generates `env.d.ts` so bindings, secrets, and discovered entrypoints stay typed.
|
|
83
|
-
|
|
84
89
|
### 4. Start development
|
|
85
90
|
|
|
86
91
|
```bash
|
|
@@ -115,14 +120,17 @@ Use subpaths intentionally.
|
|
|
115
120
|
|
|
116
121
|
| Import | Use for |
|
|
117
122
|
|---|---|
|
|
118
|
-
| `devflare` | main package entrypoint:
|
|
119
|
-
| `devflare/
|
|
120
|
-
| `devflare/
|
|
123
|
+
| `devflare` | main package entrypoint: `defineConfig`, `defineWorker`, `ref()`, the unified `env`/`ctx`/`event`/`locals` proxies, `sequence`, `defineFetchHandler`, decorators |
|
|
124
|
+
| `devflare/config` | lightweight config-only entry for `devflare.config.ts` files (Bun loads only the config helpers, not the full Node-side barrel) |
|
|
125
|
+
| `devflare/runtime` | worker-safe runtime helpers: strict `env`, `ctx`, `event`, `locals`, event types/getters, middleware helpers |
|
|
126
|
+
| `devflare/test` | `createTestContext`, `cf.*`, mock helpers (`createMockKV`/`createMockD1`/`createMockR2`/`createMockEnv`/`createMockTestContext`/`withTestContext`) |
|
|
121
127
|
| `devflare/vite` | Vite integration |
|
|
122
128
|
| `devflare/sveltekit` | SvelteKit integration |
|
|
123
129
|
| `devflare/cloudflare` | Cloudflare account/auth/usage/limits/preferences helpers |
|
|
124
130
|
| `devflare/decorators` | decorators only |
|
|
125
131
|
|
|
132
|
+
Internal bridge and transform helpers are intentionally not re-exported from bare `'devflare'`. If you previously imported them from the main entry, switch to the matching subpath — see "Public API surface and migration notes" below.
|
|
133
|
+
|
|
126
134
|
### Runtime import rule of thumb
|
|
127
135
|
|
|
128
136
|
- use `import { env } from 'devflare/runtime'` for **strict request-scoped runtime access**
|
|
@@ -193,8 +201,8 @@ async function corsHandle(event: FetchEvent, resolve: ResolveFetch): Promise<Res
|
|
|
193
201
|
return next
|
|
194
202
|
}
|
|
195
203
|
|
|
196
|
-
async function appFetch({
|
|
197
|
-
return Response.json({ path:
|
|
204
|
+
async function appFetch({ url }: FetchEvent): Promise<Response> {
|
|
205
|
+
return Response.json({ path: url.pathname })
|
|
198
206
|
}
|
|
199
207
|
|
|
200
208
|
export const handle = sequence(corsHandle, appFetch)
|
|
@@ -299,6 +307,7 @@ The most important top-level keys are:
|
|
|
299
307
|
- `accountId`
|
|
300
308
|
- `compatibilityDate`
|
|
301
309
|
- `compatibilityFlags`
|
|
310
|
+
- `previews`
|
|
302
311
|
- `files`
|
|
303
312
|
- `bindings`
|
|
304
313
|
- `triggers`
|
|
@@ -322,13 +331,14 @@ Keep these separate:
|
|
|
322
331
|
- `vars` are **string-valued config bindings** that compile into generated Wrangler config
|
|
323
332
|
- `secrets` are **declarations of expected runtime secret bindings**
|
|
324
333
|
|
|
325
|
-
`loadConfig()`
|
|
334
|
+
`loadConfig()` loads the nearest workspace-root `.env` before evaluating `devflare.config.*`.
|
|
326
335
|
|
|
327
|
-
When
|
|
336
|
+
When Devflare finds an ancestor `package.json` with `workspaces`, it uses that directory's `.env` file as the shared config-time source for nested packages. If no workspace root is found, it falls back to the nearest ancestor `.env`. Explicit process env values still win over `.env` entries.
|
|
328
337
|
|
|
329
338
|
Important boundary:
|
|
330
339
|
|
|
331
|
-
- `.env
|
|
340
|
+
- `.env` is treated as a config/build-time input for `devflare.config.*` evaluation
|
|
341
|
+
- Devflare does **not** currently provide first-class semantics for `.env.dev` or `.env.<name>`
|
|
332
342
|
- Devflare does **not** currently provide a first-class `.dev.vars*` loader for worker-only dev mode or `createTestContext()`
|
|
333
343
|
- example files like `.env.example` and `.dev.vars.example` are a team convention, not a Devflare feature
|
|
334
344
|
|
|
@@ -348,14 +358,17 @@ When you select `--env name`, Devflare merges `config.env[name]` into the base c
|
|
|
348
358
|
|
|
349
359
|
`bindings.d1` accepts three shapes:
|
|
350
360
|
|
|
351
|
-
- `'database-
|
|
361
|
+
- `'database-name'`
|
|
352
362
|
- `{ id: 'database-id' }`
|
|
353
363
|
- `{ name: 'database-name' }`
|
|
354
364
|
|
|
355
|
-
|
|
365
|
+
String shorthand is the stable-name form, so `'database-name'` is equivalent to `{ name: 'database-name' }`.
|
|
356
366
|
|
|
357
|
-
|
|
358
|
-
|
|
367
|
+
Use string shorthand or `{ name }` when you want `devflare.config.*` to stay the source of truth for stable D1 naming.
|
|
368
|
+
|
|
369
|
+
- local dev and tests normalize string and `{ name }` bindings into a stable local identifier, so you do **not** need Cloudflare auth just to run locally
|
|
370
|
+
- `build`, `deploy`, `devflare/vite`, and `devflare config print` resolve string and `{ name }` bindings into a real Cloudflare D1 database id before they emit Wrangler-facing config
|
|
371
|
+
- `compileConfig()` can only emit Wrangler `d1_databases` from concrete ids, so Node-side automation should call `loadResolvedConfig()` or `resolveConfigResources()` first
|
|
359
372
|
|
|
360
373
|
That means stable names stay in config, while opaque Cloudflare ids are resolved only for the flows that actually need them.
|
|
361
374
|
|
|
@@ -380,7 +393,7 @@ console.log(config.bindings?.d1?.DB)
|
|
|
380
393
|
If you need Cloudflare account/resource data while computing config, use an async config with `devflare/cloudflare` helpers:
|
|
381
394
|
|
|
382
395
|
```ts
|
|
383
|
-
import { defineConfig } from 'devflare'
|
|
396
|
+
import { defineConfig } from 'devflare/config'
|
|
384
397
|
import { account } from 'devflare/cloudflare'
|
|
385
398
|
|
|
386
399
|
export default defineConfig(async () => {
|
|
@@ -468,12 +481,13 @@ Devflare natively models:
|
|
|
468
481
|
- KV, D1, R2, Durable Objects, queues, and the core test/runtime flow are the strongest surfaces
|
|
469
482
|
- AI and Vectorize are remote-oriented bindings
|
|
470
483
|
- named service entrypoints are modeled at the Devflare layer, but validate generated deployment output if they are critical to your app
|
|
484
|
+
- browser bindings use a named-map authoring shape such as `browser: { BROWSER: 'browser' }`, but current compile/deploy flows allow exactly one browser binding because Wrangler only supports one
|
|
471
485
|
- `sendEmail` is modeled through config compilation, generated env types, and local runtime/test flows
|
|
472
486
|
- R2 bindings are real in local dev/test/runtime flows, but Devflare does **not** publish a stable browser-facing local bucket URL contract; browser-visible local asset flows should go through your Worker routes
|
|
473
487
|
|
|
474
|
-
For R2 delivery strategy guidance,
|
|
488
|
+
For R2 delivery strategy guidance, use the `R2 uploads & delivery` page in the documentation site.
|
|
475
489
|
|
|
476
|
-
For D1, prefer stable config names when you can:
|
|
490
|
+
For D1 and Hyperdrive, prefer stable config names when you can:
|
|
477
491
|
|
|
478
492
|
```ts
|
|
479
493
|
export default {
|
|
@@ -482,6 +496,10 @@ export default {
|
|
|
482
496
|
DB: { name: 'app-db' },
|
|
483
497
|
AUDIT: { id: 'existing-d1-id' }
|
|
484
498
|
},
|
|
499
|
+
hyperdrive: {
|
|
500
|
+
DB: 'app-postgres',
|
|
501
|
+
ANALYTICS_DB: { id: 'existing-hyperdrive-id' }
|
|
502
|
+
},
|
|
485
503
|
r2: {
|
|
486
504
|
ASSETS: 'app-assets'
|
|
487
505
|
}
|
|
@@ -489,7 +507,7 @@ export default {
|
|
|
489
507
|
}
|
|
490
508
|
```
|
|
491
509
|
|
|
492
|
-
Use `.env*` and `secrets` for values that are actually secret or genuinely process-specific. Do **not** move stable bucket/database names into env vars just to make other tooling happy.
|
|
510
|
+
Use `.env*` and `secrets` for values that are actually secret or genuinely process-specific. Do **not** move stable bucket/database/Hyperdrive names into env vars just to make other tooling happy.
|
|
493
511
|
|
|
494
512
|
---
|
|
495
513
|
|
|
@@ -526,7 +544,226 @@ Short version:
|
|
|
526
544
|
- in worker-only mode, Devflare now bundles the composed main worker to `.devflare/worker-entrypoints/main.js` via Rolldown before handing it to Miniflare or Wrangler
|
|
527
545
|
- Rolldown still rebuilds Durable Object worker code in unified Vite dev flows where Vite hosts the outer app
|
|
528
546
|
|
|
529
|
-
For the full contract-level explanation and a concrete Rolldown + Svelte example, see [`LLM.md`](./LLM.md).
|
|
547
|
+
For the full contract-level explanation and a concrete Rolldown + Svelte example, see the generated [`LLM.md`](./LLM.md) handbook entries for workflow modes and Svelte in workers.
|
|
548
|
+
|
|
549
|
+
---
|
|
550
|
+
|
|
551
|
+
## Deploys, previews, tokens, and GitHub Actions
|
|
552
|
+
|
|
553
|
+
### Production deploys vs same-Worker previews
|
|
554
|
+
|
|
555
|
+
`devflare deploy` publishes production the usual Wrangler way.
|
|
556
|
+
|
|
557
|
+
`devflare deploy --preview` is different: it uploads a **new version of the same Worker** with `wrangler versions upload` instead of creating a separate Worker environment.
|
|
558
|
+
|
|
559
|
+
Named preview deploys are now the primary preview model:
|
|
560
|
+
|
|
561
|
+
- each preview scope deploys its own dedicated Worker (or Worker family)
|
|
562
|
+
- preview-scoped bindings and resources can be assigned only to that scope
|
|
563
|
+
- feature branches and PRs get stable preview URLs from the scope name itself
|
|
564
|
+
|
|
565
|
+
Preview scope names should still be lowercase and dash-friendly so they map cleanly into Worker names and `workers.dev` URLs.
|
|
566
|
+
|
|
567
|
+
Useful preview examples:
|
|
568
|
+
|
|
569
|
+
```bash
|
|
570
|
+
bunx --bun devflare deploy --preview next
|
|
571
|
+
bunx --bun devflare deploy --preview pr-42
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
When available, Devflare prints the Worker version id and preview URL outputs after the deploy finishes.
|
|
575
|
+
|
|
576
|
+
### Login and preview scope helpers
|
|
577
|
+
|
|
578
|
+
`devflare login` is the thin authentication wrapper for Cloudflare.
|
|
579
|
+
|
|
580
|
+
- by default it reuses existing auth when Devflare can already resolve a Cloudflare API token
|
|
581
|
+
- `devflare login --force` opens `wrangler login` again even when auth is already present
|
|
582
|
+
- after login, Devflare prints the primary account when Cloudflare account discovery succeeds
|
|
583
|
+
|
|
584
|
+
`devflare previews` is the config-aware preview-scope surface for dedicated preview Workers.
|
|
585
|
+
|
|
586
|
+
Useful commands:
|
|
587
|
+
|
|
588
|
+
```bash
|
|
589
|
+
bunx --bun devflare previews
|
|
590
|
+
bunx --bun devflare previews bindings --scope next
|
|
591
|
+
bunx --bun devflare previews cleanup --scope next --apply
|
|
592
|
+
bunx --bun devflare previews cleanup --all --apply
|
|
593
|
+
```
|
|
594
|
+
|
|
595
|
+
Current behavior:
|
|
596
|
+
|
|
597
|
+
- `devflare previews` lists stable workers plus discovered dedicated preview scopes for the current worker family using live Cloudflare Worker names
|
|
598
|
+
- `devflare previews bindings` resolves preview-scoped resources for one scope and shows how many deployed workers reference them
|
|
599
|
+
- `devflare previews cleanup` deletes dedicated preview Workers plus preview-scoped KV, D1, R2, Queue, Vectorize, and reusable Hyperdrive resources for one scope or every discovered scope; it is a dry run unless `--apply` is present
|
|
600
|
+
- `devflare deploy` still performs best-effort internal preview metadata synchronization after successful deploys so cleanup flows can remove deleted preview workers cleanly without extra CI glue
|
|
601
|
+
|
|
602
|
+
### Manage Devflare tokens
|
|
603
|
+
|
|
604
|
+
`devflare tokens <bootstrap-token>` manages Devflare-owned account API tokens using a bootstrap token that already has Cloudflare API-token-management permission.
|
|
605
|
+
|
|
606
|
+
The command:
|
|
607
|
+
|
|
608
|
+
- resolves the effective account id from `--account`, workspace preference, or the bootstrap token's primary account
|
|
609
|
+
- normalizes managed token names to the `devflare-` prefix, so `preview` becomes `devflare-preview` while `devflare-preview` stays unchanged
|
|
610
|
+
- `--new [token-name]` prompts for a token name when it is omitted, then creates a new Devflare-managed account-owned token from the curated Devflare permission set
|
|
611
|
+
- `--new [token-name] --all-flags` uses every reusable account-scoped permission group visible to the bootstrap token except `Account API Tokens*`, because Cloudflare does not allow sub-tokens to inherit token-management permission and account-owned tokens skip incompatible zone/user-scoped groups automatically
|
|
612
|
+
- `--list` lists only the Devflare-managed tokens in the selected account
|
|
613
|
+
- `--delete [token-name]` deletes the matching Devflare-managed token after normalizing the name to the `devflare-` prefix
|
|
614
|
+
- `--delete-all` deletes every Devflare-managed token in the selected account while leaving non-Devflare account tokens untouched
|
|
615
|
+
- prints a new token value once, because Cloudflare only returns the secret a single time
|
|
616
|
+
|
|
617
|
+
Examples:
|
|
618
|
+
|
|
619
|
+
```bash
|
|
620
|
+
bunx --bun devflare tokens <bootstrap-token> --new preview
|
|
621
|
+
bunx --bun devflare tokens <bootstrap-token> --new preview --all-flags
|
|
622
|
+
bunx --bun devflare tokens <bootstrap-token> --list
|
|
623
|
+
bunx --bun devflare tokens <bootstrap-token> --delete preview
|
|
624
|
+
bunx --bun devflare tokens <bootstrap-token> --delete-all
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
### Thin GitHub Action and caller workflows
|
|
628
|
+
|
|
629
|
+
The repo ships a reusable composite action at [`.github/actions/devflare-deploy`](../../.github/actions/devflare-deploy).
|
|
630
|
+
|
|
631
|
+
The repo also ships a shared workspace setup action at [`.github/actions/devflare-setup-workspace`](../../.github/actions/devflare-setup-workspace) so one workflow job can install dependencies once and then deploy multiple preview targets from the same checkout.
|
|
632
|
+
|
|
633
|
+
The repo also ships a GitHub-feedback action at [`.github/actions/devflare-github-feedback`](../../.github/actions/devflare-github-feedback) for publishing deployment results back into GitHub.
|
|
634
|
+
|
|
635
|
+
The action stays intentionally thin:
|
|
636
|
+
|
|
637
|
+
- the caller workflow owns the runner, triggers, permissions, and environments
|
|
638
|
+
- Cloudflare credentials must be passed in explicitly
|
|
639
|
+
- by default, the action asks `devflare deploy` to verify Cloudflare control-plane state before the step is considered successful
|
|
640
|
+
- the caller workflow should pass a deterministic `preview-scope`, such as the branch name or `pr-<number>`, for stable dedicated preview Worker naming across PR, push, and manual workflows
|
|
641
|
+
|
|
642
|
+
The reporting split is also intentional:
|
|
643
|
+
|
|
644
|
+
- GitHub PR feedback should use a stable PR comment because PRs are issue-backed conversations
|
|
645
|
+
- GitHub branch feedback should use Deployments + deployment statuses because GitHub does not provide first-class branch comments
|
|
646
|
+
- one preview workflow can publish both branch deployment feedback and the shared PR comment in the same run when a pushed branch already belongs to an open pull request
|
|
647
|
+
|
|
648
|
+
Current action inputs that matter most:
|
|
649
|
+
|
|
650
|
+
- `working-directory`
|
|
651
|
+
- `environment`
|
|
652
|
+
- `production`
|
|
653
|
+
- `preview-scope`
|
|
654
|
+
- `skip-setup`
|
|
655
|
+
- `skip-install`
|
|
656
|
+
- `verify-deployment` (defaults to `true`)
|
|
657
|
+
- `cloudflare-api-token`
|
|
658
|
+
- `cloudflare-account-id`
|
|
659
|
+
|
|
660
|
+
When `verify-deployment` is enabled, the action fails if Devflare cannot confirm the uploaded version in Cloudflare, or for non-preview deploys, cannot confirm that a live deployment now references that version.
|
|
661
|
+
|
|
662
|
+
Action outputs:
|
|
663
|
+
|
|
664
|
+
- `preview-url`
|
|
665
|
+
- `version-id`
|
|
666
|
+
- `status`
|
|
667
|
+
- `exit-code`
|
|
668
|
+
- `log-excerpt`
|
|
669
|
+
|
|
670
|
+
Those extra outputs are especially useful when the caller workflow uses `continue-on-error: true` on the deploy step so it can still post a failure comment or deployment status before failing the job.
|
|
671
|
+
|
|
672
|
+
Minimal preview step:
|
|
673
|
+
|
|
674
|
+
```yaml
|
|
675
|
+
- id: deploy
|
|
676
|
+
uses: ./.github/actions/devflare-deploy
|
|
677
|
+
with:
|
|
678
|
+
working-directory: apps/documentation
|
|
679
|
+
preview-scope: ${{ github.head_ref || github.ref_name }}
|
|
680
|
+
cloudflare-api-token: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
681
|
+
cloudflare-account-id: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
|
682
|
+
```
|
|
683
|
+
|
|
684
|
+
This repository now keeps preview delivery in one shared workflow plus one production workflow:
|
|
685
|
+
|
|
686
|
+
- [`.github/workflows/preview.yml`](../../.github/workflows/preview.yml) handles documentation + testing previews, push + PR lifecycle triggers, branch + PR targets, and cleanup flows from one place
|
|
687
|
+
- [`.github/workflows/documentation-production.yml`](../../.github/workflows/documentation-production.yml) handles production deploys from the repository default branch plus GitHub deployment statuses
|
|
688
|
+
- [`.github/workflow-examples/branch-preview-cleanup.example.yml`](../../.github/workflow-examples/branch-preview-cleanup.example.yml) remains as a copyable delete-triggered preview-scope cleanup template for downstream repos that want a smaller starting point
|
|
689
|
+
|
|
690
|
+
The live workflows now rely on the deploy action's control-plane verification for deploy success.
|
|
691
|
+
|
|
692
|
+
If you want other feedback modes in your own repo, the supported patterns are:
|
|
693
|
+
|
|
694
|
+
- PR-only preview feedback: `mode: comment`
|
|
695
|
+
- branch-only preview feedback: `mode: deployment`
|
|
696
|
+
- combined branch deployment + PR comment feedback: either `mode: both` with `resolve-pr-from-ref: 'true'`, or separate deployment/comment steps inside one shared preview workflow when you want finer control over grouped PR comments
|
|
697
|
+
|
|
698
|
+
Repository-specific runtime checks still exist where they are testing app
|
|
699
|
+
behavior rather than deploy success. For example,
|
|
700
|
+
[`preview.yml`](../../.github/workflows/preview.yml)
|
|
701
|
+
deploys testing previews for both branch and PR scopes from one prepared job
|
|
702
|
+
when a pushed branch already belongs to an open pull request, while still
|
|
703
|
+
keeping its deployed-binding verification because it is validating runtime
|
|
704
|
+
bindings and deployment-channel wiring rather than merely asking whether
|
|
705
|
+
Cloudflare accepted the upload.
|
|
706
|
+
|
|
707
|
+
For branch-scoped real preview deploys such as `apps/testing`, Devflare now
|
|
708
|
+
automatically omits shared queue consumers from the deployed Wrangler config,
|
|
709
|
+
and it omits cron triggers by default, when it detects the branch-preview
|
|
710
|
+
strategy (`--env preview` plus branch scope, without `--preview`). That keeps
|
|
711
|
+
previews from colliding on singleton Cloudflare resources while leaving the
|
|
712
|
+
authoring config itself fully exhaustive for local dev, tests, and production
|
|
713
|
+
deploys.
|
|
714
|
+
|
|
715
|
+
If a branch-scoped preview really should keep its cron schedule, opt in with:
|
|
716
|
+
|
|
717
|
+
```ts
|
|
718
|
+
export default defineConfig({
|
|
719
|
+
previews: {
|
|
720
|
+
includeCrons: true
|
|
721
|
+
}
|
|
722
|
+
})
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
If those previews also need preview-owned Cloudflare resources, use
|
|
726
|
+
`preview.scope()` in the config authoring layer:
|
|
727
|
+
|
|
728
|
+
```ts
|
|
729
|
+
import { defineConfig, preview } from 'devflare/config'
|
|
730
|
+
|
|
731
|
+
const pv = preview.scope()
|
|
732
|
+
|
|
733
|
+
export default defineConfig({
|
|
734
|
+
bindings: {
|
|
735
|
+
kv: {
|
|
736
|
+
CACHE: pv('my-cache-kv')
|
|
737
|
+
},
|
|
738
|
+
r2: {
|
|
739
|
+
ASSETS: pv('my-assets-bucket')
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
})
|
|
743
|
+
```
|
|
744
|
+
|
|
745
|
+
Devflare resolves those opaque markers to base names outside preview
|
|
746
|
+
environments, and to preview-scoped names such as `my-cache-kv-preview` (or a
|
|
747
|
+
branch-derived suffix when `DEVFLARE_PREVIEW_BRANCH`, `DEVFLARE_PREVIEW_PR`, or
|
|
748
|
+
`DEVFLARE_PREVIEW_IDENTIFIER` is present) for preview resolution and deploys.
|
|
749
|
+
During `devflare deploy --env preview`, Devflare also provisions missing
|
|
750
|
+
preview-scoped KV, D1, R2, Queue, and Vectorize resources automatically before
|
|
751
|
+
the Wrangler deploy runs. Preview-scoped Hyperdrive names are reused when the
|
|
752
|
+
matching preview config already exists, and otherwise Devflare falls back to the
|
|
753
|
+
base Hyperdrive config because Cloudflare does not expose stored Hyperdrive
|
|
754
|
+
credentials for cloning preview configs automatically. Use
|
|
755
|
+
`devflare previews cleanup --env preview --apply` during PR-close or
|
|
756
|
+
branch-delete cleanup to delete the preview-owned resources again.
|
|
757
|
+
Service bindings created through `ref()` still follow the referenced worker
|
|
758
|
+
names, so branch-scoped worker naming remains the way to isolate preview
|
|
759
|
+
service bindings.
|
|
760
|
+
|
|
761
|
+
---
|
|
762
|
+
|
|
763
|
+
## Repo examples
|
|
764
|
+
|
|
765
|
+
- [`apps/documentation/`](../../apps/documentation/) is the executable SvelteKit example for dev, build, preview deploys, production deploys, workflow automation, and browser validation
|
|
766
|
+
- [`apps/testing/`](../../apps/testing/) is the exhaustive binding-matrix example for the config contract itself, including `preview.scope()`-driven preview resource names, production overrides where bindings differ by deployment channel, and a tiny `src/fetch.ts` smoke Worker exercised by repository integration tests through `devflare/test`
|
|
530
767
|
|
|
531
768
|
---
|
|
532
769
|
|
|
@@ -562,33 +799,101 @@ It also auto-detects conventional `src/fetch.ts`, `src/queue.ts`, `src/scheduled
|
|
|
562
799
|
- `cf.email.send()` invokes the configured email handler in `createTestContext()`-backed tests and otherwise falls back to the local email endpoint; for ingress-fidelity-sensitive flows, validate with a higher-level integration test
|
|
563
800
|
- remote mode is mainly about AI and Vectorize, not “make every binding remote”
|
|
564
801
|
|
|
802
|
+
### Choosing pure mocks vs Miniflare-backed `createTestContext()`
|
|
803
|
+
|
|
804
|
+
`devflare/test` ships two complementary lanes. Pick by what you are validating:
|
|
805
|
+
|
|
806
|
+
- **Pure mocks** (`createMockKV`, `createMockD1`, `createMockR2`, `createMockEnv`, `createMockTestContext`, `withTestContext`):
|
|
807
|
+
- Fast, in-process, no Miniflare boot
|
|
808
|
+
- Use when you are unit-testing a function that reads or writes a single binding and you control the inputs
|
|
809
|
+
- Behavior is approximate: KV is binary-safe, D1 supports `SELECT`/`INSERT` per-table fixtures, R2 stores bytes — anything beyond those primitives will diverge from production
|
|
810
|
+
- **`createTestContext()` (Miniflare-backed)**:
|
|
811
|
+
- Boots a real Workers runtime locally with your `devflare.config.ts`
|
|
812
|
+
- Use when you are testing handler dispatch, multi-binding flows, queues/scheduled/email/Durable Objects, route discovery, middleware composition, or anything that needs accurate Workers semantics
|
|
813
|
+
- Slower per test, so reuse one context per test file when possible
|
|
814
|
+
|
|
815
|
+
Rule of thumb: if the assertion is "given inputs X, my function returns Y", reach for the mocks. If the assertion is "the worker behaves correctly when this binding/handler/route fires", use `createTestContext()`.
|
|
816
|
+
|
|
817
|
+
---
|
|
818
|
+
|
|
819
|
+
## Public API surface and migration notes
|
|
820
|
+
|
|
821
|
+
Devflare's bare `'devflare'` import is intentionally narrow and only exposes the documented public API. Internal helpers for the bridge, transform, and test runner are reachable from dedicated subpaths instead:
|
|
822
|
+
|
|
823
|
+
- `devflare` — primary public API (`defineConfig`, `defineWorker`, `sequence`, `defineFetchHandler`, runtime context accessors, etc.)
|
|
824
|
+
- `devflare/test` — `createTestContext`, `cf`, mock factories
|
|
825
|
+
- `devflare/runtime` — runtime accessors (`env`, `ctx`, `event`, `locals`, helpers)
|
|
826
|
+
- `devflare/cloudflare` — Cloudflare API helpers
|
|
827
|
+
- `devflare/sveltekit` — SvelteKit platform glue
|
|
828
|
+
- `devflare/decorators` — `@durableObject` and other decorators
|
|
829
|
+
|
|
830
|
+
If you previously imported internal helpers (e.g., bridge serialization or transform helpers) from bare `'devflare'`, switch to the matching subpath. The internal modules are not considered stable public API and may change between minor versions.
|
|
831
|
+
|
|
565
832
|
---
|
|
566
833
|
|
|
567
834
|
## CLI
|
|
568
835
|
|
|
836
|
+
Every top-level command supports `--help`, and nested command groups support both:
|
|
837
|
+
|
|
838
|
+
- `bunx --bun devflare <command> --help`
|
|
839
|
+
- `bunx --bun devflare <command> <subcommand> --help`
|
|
840
|
+
- `bunx --bun devflare help <command> [subcommand]`
|
|
841
|
+
|
|
569
842
|
| Command | What it does |
|
|
570
843
|
|---|---|
|
|
571
844
|
| `devflare init` | scaffold a project using `src/fetch.ts` and explicit `files.fetch` |
|
|
572
845
|
| `devflare dev` | start the worker-only dev server, enabling Vite only when the current package has a local `vite.config.*` |
|
|
573
|
-
| `devflare build` | resolve config,
|
|
574
|
-
| `devflare deploy` | build and deploy with Wrangler |
|
|
846
|
+
| `devflare build` | resolve config locally, preserve named bindings in generated build artifacts, and run `vite build` only for Vite-backed packages |
|
|
847
|
+
| `devflare deploy` | build or reuse a prior artifact via `--build`, provision named deploy resources, and deploy with Wrangler, including same-Worker preview uploads via `--preview` |
|
|
575
848
|
| `devflare types` | generate `env.d.ts` |
|
|
576
|
-
| `devflare doctor` | check project configuration
|
|
849
|
+
| `devflare doctor` | check project configuration plus generated artifact locations such as `.devflare/wrangler.jsonc`, `.devflare/build/wrangler.jsonc`, and `.wrangler/deploy/config.json` |
|
|
577
850
|
| `devflare config` | print resolved Devflare config or resolved Wrangler JSON |
|
|
578
851
|
| `devflare account` | inspect accounts, resources, usage, and limits |
|
|
852
|
+
| `devflare login` | authenticate with Cloudflare via Wrangler, reusing existing auth unless `--force` is passed |
|
|
853
|
+
| `devflare previews` | inspect and clean dedicated preview Workers plus preview-owned scope resources |
|
|
854
|
+
| `devflare productions` | inspect live production Workers, list recent versions, roll back, or delete a live Worker script |
|
|
855
|
+
| `devflare worker` | run Worker control-plane actions such as remote renaming and local config sync |
|
|
856
|
+
| `devflare tokens` | create, list, and delete Devflare-managed account-owned tokens from a bootstrap token with API-token-management permission |
|
|
857
|
+
| `devflare help` | print the command overview or the detailed help page for a command path |
|
|
858
|
+
| `devflare version` | print the installed Devflare version |
|
|
579
859
|
| `devflare ai` | show Workers AI model pricing info |
|
|
580
860
|
| `devflare remote` | manage remote test mode |
|
|
581
861
|
|
|
862
|
+
Command defaults:
|
|
863
|
+
|
|
864
|
+
- `devflare config` defaults to `devflare config print`
|
|
865
|
+
- `devflare previews` defaults to `devflare previews list`
|
|
866
|
+
- `devflare productions` defaults to `devflare productions list`
|
|
867
|
+
|
|
868
|
+
### Command groups
|
|
869
|
+
|
|
870
|
+
| Group | Subcommands / operations |
|
|
871
|
+
|---|---|
|
|
872
|
+
| `account` | `info`, `workers`, `kv`, `d1`, `r2`, `vectorize`, `usage`, `limits`, `limits set`, `limits enable`, `limits disable`, `global`, `workspace` |
|
|
873
|
+
| `config` | `print` |
|
|
874
|
+
| `previews` | `list`, `bindings`, `cleanup` |
|
|
875
|
+
| `productions` | `list`, `versions`, `rollback`, `delete` |
|
|
876
|
+
| `remote` | `status`, `enable`, `disable` |
|
|
877
|
+
| `worker` | `rename` |
|
|
878
|
+
| `tokens` | `--list`, `--new`, `--roll`, `--delete`, `--delete-all` (flag-driven operations rather than subcommands) |
|
|
879
|
+
|
|
582
880
|
Useful flags:
|
|
583
881
|
|
|
584
882
|
- `build --env <name>`
|
|
883
|
+
- `deploy --build <path>`
|
|
585
884
|
- `deploy --env <name>`
|
|
586
885
|
- `deploy --dry-run`
|
|
886
|
+
- `deploy --preview <name>`
|
|
887
|
+
- `login --force`
|
|
888
|
+
- `previews`
|
|
889
|
+
- `previews cleanup --scope <name> --apply`
|
|
587
890
|
- `config print --json`
|
|
588
891
|
- `config print --format wrangler`
|
|
589
892
|
- `types --output <path>`
|
|
590
893
|
- `doctor --config <path>`
|
|
591
894
|
- `account --account <id>`
|
|
895
|
+
- `tokens <bootstrap-token> --new [name]`
|
|
896
|
+
- `tokens <bootstrap-token> --list`
|
|
592
897
|
|
|
593
898
|
Recommended invocation style:
|
|
594
899
|
|
|
@@ -596,6 +901,8 @@ Recommended invocation style:
|
|
|
596
901
|
bunx --bun devflare dev
|
|
597
902
|
bunx --bun devflare types
|
|
598
903
|
bunx --bun devflare build
|
|
904
|
+
bunx --bun devflare help account limits set
|
|
905
|
+
bunx --bun devflare previews cleanup --help
|
|
599
906
|
```
|
|
600
907
|
|
|
601
908
|
---
|
|
@@ -604,9 +911,15 @@ bunx --bun devflare build
|
|
|
604
911
|
|
|
605
912
|
Treat these as generated output, not source of truth:
|
|
606
913
|
|
|
607
|
-
- `.devflare
|
|
914
|
+
- `.devflare/wrangler.jsonc`
|
|
915
|
+
- `.devflare/build/wrangler.jsonc`
|
|
916
|
+
- `.devflare/worker-entrypoints/main.ts`
|
|
917
|
+
- `.devflare/worker-entrypoints/main.js`
|
|
918
|
+
- `.devflare/vite.config.mjs`
|
|
919
|
+
- `.wrangler/deploy/config.json`
|
|
608
920
|
- `env.d.ts`
|
|
609
|
-
|
|
921
|
+
|
|
922
|
+
`devflare build` keeps name-based bindings as names in these generated artifacts. `devflare deploy` is the step that resolves or provisions the concrete Cloudflare resources and rewrites the generated Wrangler config with the IDs Wrangler needs.
|
|
610
923
|
|
|
611
924
|
The source of truth is still:
|
|
612
925
|
|
|
@@ -616,6 +929,29 @@ The source of truth is still:
|
|
|
616
929
|
|
|
617
930
|
---
|
|
618
931
|
|
|
932
|
+
## Maintainer scripts
|
|
933
|
+
|
|
934
|
+
These scripts live in `packages/devflare/scripts/` and are intended for Devflare maintainers, not for end-user applications.
|
|
935
|
+
|
|
936
|
+
### `refresh-permission-groups`
|
|
937
|
+
|
|
938
|
+
Fetches the live Cloudflare permission-group catalog and rewrites `src/cloudflare/known-permission-group-ids.generated.ts` so the symbolic Devflare permission-group names (`WORKERS_SCRIPTS_WRITE`, etc.) map to verified Cloudflare UUIDs instead of falling back to display-name matching.
|
|
939
|
+
|
|
940
|
+
```sh
|
|
941
|
+
# from the repo root
|
|
942
|
+
CLOUDFLARE_API_TOKEN=... CLOUDFLARE_ACCOUNT_ID=... bun run --cwd packages/devflare refresh-permission-groups
|
|
943
|
+
```
|
|
944
|
+
|
|
945
|
+
Flags:
|
|
946
|
+
|
|
947
|
+
- `--dry-run` — print the would-be generated file to stdout instead of writing to disk; useful for CI drift checks.
|
|
948
|
+
- `--keep-existing` — keep the previously-known UUID for entries missing from the API response, instead of clearing them to `null`.
|
|
949
|
+
- `--output <path>` — override the destination file; defaults to `packages/devflare/src/cloudflare/known-permission-group-ids.generated.ts`.
|
|
950
|
+
|
|
951
|
+
The API token must have permission to read `/accounts/:id/tokens/permission_groups`. The script never touches `tokens.ts` directly, so the public matcher API and its display-name fallback continue to work even when the generated file ships with all-`null` entries.
|
|
952
|
+
|
|
953
|
+
---
|
|
954
|
+
|
|
619
955
|
## In one sentence
|
|
620
956
|
|
|
621
957
|
**Devflare helps you build Cloudflare Workers with clearer structure, better local tooling, and a development workflow that stays coherent as the app grows.**
|
package/bin/devflare.js
CHANGED
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
import {
|
|
2
|
+
import { existsSync } from 'node:fs'
|
|
3
|
+
import { dirname, resolve } from 'node:path'
|
|
4
|
+
import { fileURLToPath, pathToFileURL } from 'node:url'
|
|
3
5
|
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
+
const currentDir = dirname(fileURLToPath(import.meta.url))
|
|
7
|
+
const sourceCliEntryPath = resolve(currentDir, '../src/cli/index.ts')
|
|
8
|
+
const distCliEntryPath = resolve(currentDir, '../dist/cli/index.js')
|
|
9
|
+
const cliEntryPath = existsSync(sourceCliEntryPath)
|
|
10
|
+
? sourceCliEntryPath
|
|
11
|
+
: distCliEntryPath
|
|
12
|
+
|
|
13
|
+
const { runCli } = await import(pathToFileURL(cliEntryPath).href)
|
|
14
|
+
|
|
15
|
+
const args = process.argv.slice(2)
|
|
6
16
|
|
|
7
17
|
runCli(args)
|
|
8
18
|
.then((result) => {
|
|
9
|
-
process.exit(result.exitCode)
|
|
19
|
+
process.exit(result.exitCode)
|
|
10
20
|
})
|
|
11
21
|
.catch((error) => {
|
|
12
|
-
console.error(
|
|
13
|
-
process.exit(1)
|
|
14
|
-
})
|
|
22
|
+
console.error('CLI error:', error)
|
|
23
|
+
process.exit(1)
|
|
24
|
+
})
|