void 0.27.0 → 1.0.3
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 +3 -1
- package/dist/{account-cmd-l-FM7Ioq.mjs → account-cmd-BTcUzv9L.mjs} +6 -6
- package/dist/{agents-B_pX_HmQ.mjs → agents-CuNtT0D_.mjs} +5 -2
- package/dist/{application-analysis-DKy02UY0.mjs → application-analysis-AB_YYWgH.mjs} +118 -135
- package/dist/{application-routing-DQyUh_5S.mjs → application-routing-L7V-TFhZ.mjs} +1 -2
- package/dist/atomic-write-Dq6R0BPN.mjs +18 -0
- package/dist/{auth-Dn2vw-SG.mjs → auth-B6iOCjKI.mjs} +23 -56
- package/dist/auth-Cbqi1iVX.mjs +1 -0
- package/dist/{auth-link-vz9Z2kmG.mjs → auth-link-DUJuvRx5.mjs} +11 -11
- package/dist/{auth-migrations-BwHgeEsD.mjs → auth-migrations-Cgs0k6lS.mjs} +28 -5
- package/dist/{auth-router-DvsCUVw4.mjs → auth-router-CIxiMG7i.mjs} +5 -5
- package/dist/base64-DVrOndmI.mjs +16 -0
- package/dist/{better-auth-shared-CPvWD3nG.d.mts → better-auth-shared-B74NJIus.d.mts} +8 -13
- package/dist/{better-auth-shared-DPpj8zxc.mjs → better-auth-shared-CMXlZG7W.mjs} +56 -68
- package/dist/{build-cmd-D6we0VjO.mjs → build-cmd-BkIv25PA.mjs} +6 -6
- package/dist/{cache-CZRdzKx1.mjs → cache-Ctzfig-W.mjs} +6 -6
- package/dist/{cancel-deploy-CQ3NnMvf.mjs → cancel-deploy-CD9o-SsC.mjs} +5 -5
- package/dist/{cf-access-TWNzXltp.mjs → cf-access-BM9G0lhO.mjs} +4 -3
- package/dist/{cf-access-BcIBSKqG.mjs → cf-access-CWP4avfP.mjs} +3 -7
- package/dist/cf-build-output-BU3hqdHu.mjs +1 -0
- package/dist/{cf-build-output-DjvB_872.mjs → cf-build-output-Bc8i3dzE.mjs} +2 -2
- package/dist/cf-user-agent-ChjQp2MU.mjs +33 -0
- package/dist/cli/cli.mjs +199 -312
- package/dist/cli/cloudflare-operation-process.mjs +41 -15
- package/dist/cli/env-schema-probe.d.mts +7 -44
- package/dist/cli/env-schema-probe.mjs +14 -80
- package/dist/client-B60PwCC4.mjs +1 -0
- package/dist/{client-DlDJuY0s.mjs → client-DM9Kcf4e.mjs} +161 -415
- package/dist/{cloudflare-auth-CuxfF6OA.mjs → cloudflare-auth-CqFBDo52.mjs} +12 -39
- package/dist/{cloudflare-cmd-lHqNlJGW.mjs → cloudflare-cmd-BIAF_BIY.mjs} +7 -6
- package/dist/{cloudflare-config-BmhBv3HV.mjs → cloudflare-config-DV60XFFK.mjs} +16 -28
- package/dist/{cloudflare-connect-2G3rL2rP.mjs → cloudflare-connect-WjwnVOJA.mjs} +4 -4
- package/dist/{cloudflare-operations-CwI1bChl.mjs → cloudflare-operations-B42EZeJy.mjs} +26 -34
- package/dist/cloudflare-operations-CrSUFRzJ.mjs +1 -0
- package/dist/{cloudflare-process-2-TfIEzB.mjs → cloudflare-process-CeDWJRhj.mjs} +12 -7
- package/dist/collect-Cae8A7Zr.mjs +1 -0
- package/dist/{collect-DiTn9yr6.mjs → collect-xjffdCdk.mjs} +1 -1
- package/dist/{config-CSa15FvD.d.mts → config-7qoq2p9v.d.mts} +2 -2
- package/dist/{config-CLYAosnQ.mjs → config-BEm9vRvS.mjs} +11 -5
- package/dist/{config-DiowPT80.mjs → config-Bx_1SpnO.mjs} +87 -177
- package/dist/{config-DPByhVck.mjs → config-D0GY5ItR.mjs} +1 -1
- package/dist/config-QrJWu0IX.mjs +1 -0
- package/dist/config-entry.d.mts +1 -1
- package/dist/{connect-BfPBHHm-.mjs → connect-CKtk-EZe.mjs} +9 -9
- package/dist/create-project-B-ewF_Af.mjs +1 -0
- package/dist/{create-project-BdXEFKal.mjs → create-project-yInGo72M.mjs} +8 -8
- package/dist/database-provider.mjs +1 -2
- package/dist/{db-Xs80hcaA.mjs → db-7I_gfdVq.mjs} +177 -268
- package/dist/db-types-Bb4WBWIs.mjs +49 -0
- package/dist/{delete-d2vuou3j.mjs → delete-Cy-M1u-r.mjs} +6 -6
- package/dist/deploy-9lgfhrXS.mjs +2 -0
- package/dist/deploy-BYYlnsiy.mjs +6164 -0
- package/dist/deploy-managed-static-Ca4TFdmx.mjs +1595 -0
- package/dist/deploy-transport-DWlWBe6M.mjs +180 -0
- package/dist/deploy.d.mts +10 -0
- package/dist/deploy.mjs +82 -0
- package/dist/dev-inbox-Rd6j_8vM.mjs +217 -0
- package/dist/discover-ClzFSwns.mjs +1 -0
- package/dist/{discover-CkCYv9T_.mjs → discover-D2PGT63u.mjs} +2 -2
- package/dist/dispatch-DrTTk8Xg.mjs +431 -0
- package/dist/{dist-D3m88sjf.mjs → dist-BVdsO7Py.mjs} +5 -6
- package/dist/dist-CfgIkieS.mjs +1 -0
- package/dist/{dist-BVqXeR_h.mjs → dist-ipQi0Q8y.mjs} +2 -3
- package/dist/{domain-BsDUBAvt.mjs → domain-CZGxPv9u.mjs} +8 -23
- package/dist/{dotenv-BfU6eqFt.mjs → dotenv-CNazY3-w.mjs} +4 -16
- package/dist/edge.mjs +1 -2
- package/dist/{email-d_Aux1vM.mjs → email-BcjSyAL0.mjs} +4 -20
- package/dist/{email-_lGAHOhp.mjs → email-DzyNVuoU.mjs} +100 -192
- package/dist/email-cloudflare-DfG6UEMm.mjs +1096 -0
- package/dist/email-protocol-D9nTvhCp.mjs +82 -0
- package/dist/{entry-CMAkqBmU.mjs → entry-ehmBvs5w.mjs} +2 -2
- package/dist/{env-DMA3cXZt.mjs → env-0jrMQJI_.mjs} +6 -14
- package/dist/{env-BxocywBB.mjs → env-BJjULvL0.mjs} +2 -2
- package/dist/{env-C74QepDE.mjs → env-Nx3yf50r.mjs} +9 -9
- package/dist/{env-public-DR7ZM6d-.d.mts → env-public-CCdykygU.d.mts} +6 -23
- package/dist/{env-raw-jZpP5n47.mjs → env-raw-D74P4ebM.mjs} +15 -21
- package/dist/{env-types-CwXgeMgL.mjs → env-types-DS2_y4X8.mjs} +2 -2
- package/dist/env-validation-BT7z-qpQ.mjs +1 -0
- package/dist/env-validation-DYxjz_Wo.mjs +488 -0
- package/dist/{gen-DtkQhvQg.mjs → gen-CufHEf42.mjs} +132 -254
- package/dist/gen-sXyp5DFO.mjs +1 -0
- package/dist/generate-ClI89brV.mjs +1 -0
- package/dist/{generate-GDbL7sUr.mjs → generate-Dat0UTry.mjs} +38 -4
- package/dist/generated-wrangler-config-DeWj5F9Y.mjs +18 -0
- package/dist/{github-cmd-DaDdBbSS.mjs → github-cmd-FU8EjFyU.mjs} +28 -72
- package/dist/{handler-BHAn2fZJ.mjs → handler-BZ1t7-Rv.mjs} +2 -2
- package/dist/{handler-CNAwjRcW.d.mts → handler-_PqY82xe.d.mts} +1 -1
- package/dist/{headers-DlfR78Nu.mjs → headers-Di1FsD3e.mjs} +26 -81
- package/dist/{help-0bTe_lID.mjs → help-BT2hovNI.mjs} +26 -14
- package/dist/help-i2YGGnTH.mjs +1 -0
- package/dist/{inbound-PfQDLXc5.mjs → inbound-BuTfm11U.mjs} +71 -222
- package/dist/{inbound-CH5Mksyy.d.mts → inbound-brj2-TM5.d.mts} +19 -58
- package/dist/index.d.mts +2 -18
- package/dist/index.mjs +714 -762
- package/dist/{info-PYWwkWyt.mjs → info-l249eUdH.mjs} +5 -5
- package/dist/{init-DaBGmaXC.mjs → init-D0A6M64Q.mjs} +229 -392
- package/dist/isr-config-fZaJJ8t7.mjs +165 -0
- package/dist/{link-C6fjafep.mjs → link-WMoJFf4i.mjs} +9 -9
- package/dist/{list-BTFBlqKl.mjs → list-CQ2EQEHL.mjs} +7 -18
- package/dist/{live-CgQuTpqD.mjs → live-BcHoTDFe.mjs} +19 -17
- package/dist/{live-Du8jXwOW.d.mts → live-DJONVlQK.d.mts} +1 -1
- package/dist/load-user-env-DD5qveNU.mjs +49 -0
- package/dist/{local-d1-ga5O_idV.mjs → local-d1-BxvQYEFi.mjs} +6 -6
- package/dist/{login-GKcNUmtI.mjs → login-C2T1oVG-.mjs} +12 -12
- package/dist/login-XD844Xs-.mjs +1 -0
- package/dist/{logs-BiMSULmc.mjs → logs-DnC1d7xB.mjs} +6 -6
- package/dist/{migrate-NLsjBbuM.mjs → migrate-BDIprOYd.mjs} +70 -22
- package/dist/migrate-BRwU-blY.mjs +1 -0
- package/dist/migration-handler-Cg0Y4EPu.mjs +470 -0
- package/dist/{migration-handler-DM4clYj5.d.mts → migration-handler-CwlEQUoo.d.mts} +17 -26
- package/dist/{mime-DxCznlJq.mjs → mime-srOklVVv.mjs} +92 -395
- package/dist/mysql-migration-sql-BIS5vbNk.mjs +241 -0
- package/dist/nitro.d.mts +30 -0
- package/dist/nitro.mjs +88 -0
- package/dist/{node-DJicPvPj.mjs → node-cPadMgUO.mjs} +9 -25
- package/dist/{operator-args-DOBhIaIg.mjs → operator-args-UnE8Y2eK.mjs} +27 -26
- package/dist/{operator-auth-BEZ_u0Cz.mjs → operator-auth-Cr2zCc-J.mjs} +2 -2
- package/dist/{operator-client-DbDv4vtE.mjs → operator-client-C-ROjk1I.mjs} +4 -4
- package/dist/operator-cmd-D6gnZsnK.mjs +1 -0
- package/dist/{operator-cmd-BT4hgavL.mjs → operator-cmd-DHieWtFp.mjs} +8 -8
- package/dist/{output-C50ag2r3.mjs → output-Ba6ZbrzY.mjs} +37 -6
- package/dist/{package-json-DXfiT1jV.mjs → package-json-BjYqR-So.mjs} +1 -1
- package/dist/pages/client.d.mts +1 -1
- package/dist/pages/client.mjs +91 -5
- package/dist/pages/head.mjs +1 -2
- package/dist/pages/index.d.mts +1 -2
- package/dist/pages/index.mjs +6 -6
- package/dist/pages/islands-plugin.mjs +5 -83
- package/dist/pages/prefetch.mjs +1 -2
- package/dist/pages/protocol.d.mts +2 -2
- package/dist/pages/protocol.mjs +1 -1
- package/dist/pages/serialize.mjs +1 -2
- package/dist/plan-CKX_jWnD.mjs +1 -0
- package/dist/platform-args-B0HeTh0C.mjs +1 -0
- package/dist/{platform-args-DUeXY9Om.mjs → platform-args-CaCL_1Ch.mjs} +43 -60
- package/dist/{platform-auth-config-CkSx3usH.mjs → platform-auth-config-Z16-I8nT.mjs} +11 -12
- package/dist/{platform-auth-protection-BJimB_p9.mjs → platform-auth-protection-BXwZiJSF.mjs} +37 -27
- package/dist/{platform-auth-recovery-BU6izFAU.mjs → platform-auth-recovery-CXjfqyOv.mjs} +9 -10
- package/dist/{platform-cmd-BbY1dWiM.mjs → platform-cmd-DaAOiWTl.mjs} +16 -16
- package/dist/platform-cmd-PT4YwMLM.mjs +1 -0
- package/dist/{platform-discovery-DIYz8V63.mjs → platform-discovery-CHhNs8Nn.mjs} +1 -1
- package/dist/{platform-domain-CHVS6cV0.mjs → platform-domain-CxpvUeo0.mjs} +6 -6
- package/dist/{platform-lifecycle-DzCwqhFq.mjs → platform-lifecycle-DBiS0cJd.mjs} +1693 -2120
- package/dist/platform-lifecycle-u9pMOvxC.mjs +1 -0
- package/dist/{platform-management-CuuVDhyt.mjs → platform-management-DhEFdQAf.mjs} +696 -130
- package/dist/platform-management-DvBS83rC.mjs +1 -0
- package/dist/{platform-plans-config-CN-heS4q.mjs → platform-plans-config-BWn1S2Rv.mjs} +16 -12
- package/dist/{platform-recovery-CskSJgLh.mjs → platform-recovery-BUGOB4RC.mjs} +6 -9
- package/dist/{platform-registry-Cjv2Qf0r.mjs → platform-registry-B9mWX9LO.mjs} +13 -18
- package/dist/{platform-setup-BBxRxmFC.mjs → platform-setup-YvN9VQXV.mjs} +21 -28
- package/dist/{plugin-inference-BlQbOL0P.mjs → plugin-inference-DsARdQKE.mjs} +18 -33
- package/dist/prepare-CYT6tAzD.mjs +1 -0
- package/dist/{prepare-Do96654b.mjs → prepare-DEB5SeVJ.mjs} +12 -13
- package/dist/{prepare-Dq9hTIbo.mjs → prepare-PQCgsny0.mjs} +4 -4
- package/dist/{prerender-render-Ct20jftc.mjs → prerender-render-Bfsumdkv.mjs} +8 -2
- package/dist/prerender-render.d.mts +2 -0
- package/dist/prerender-render.mjs +1 -2
- package/dist/{project-cmd-DaoRrn-8.mjs → project-cmd-DVatD8Ev.mjs} +20 -20
- package/dist/{project-paths-GgcMozYz.mjs → project-paths-DMvEeSau.mjs} +9 -14
- package/dist/{project-BAm2aB6Q.mjs → project-rqDnVsJN.mjs} +8 -4
- package/dist/project-slug-6cyz8E7k.mjs +1 -0
- package/dist/{project-team-Q_lCA7Io.mjs → project-team-DJrWEAG1.mjs} +7 -7
- package/dist/{project-token-BArgK9o1.mjs → project-token-CBgLBuL6.mjs} +6 -6
- package/dist/{project-tsconfig-CVJhNMxs.mjs → project-tsconfig-bveqhlYA.mjs} +3 -5
- package/dist/project-zdB3fs9G.mjs +1 -0
- package/dist/{project-zero-trust-KO9Hu2Pq.mjs → project-zero-trust-92gLtZ25.mjs} +6 -6
- package/dist/{protocol-BPZaNqBo.d.mts → protocol-4H7V_3Os.d.mts} +1 -1
- package/dist/{protocol-CfaUwNs8.mjs → protocol-RNP0u7UY.mjs} +9 -3
- package/dist/{provision-BfaLiWbj.mjs → provision-BnSSkiED.mjs} +119 -866
- package/dist/{requests-C7Oeoh5u.mjs → requests-7W1Pygt2.mjs} +5 -5
- package/dist/resolve-project-PnhzMtY6.mjs +1 -0
- package/dist/resolve-project-WpwkCB_c.mjs +48 -0
- package/dist/{rollback-DVAtrLAl.mjs → rollback-BcASVnwP.mjs} +8 -18
- package/dist/{route-types-CbtsIeFn.mjs → route-types-BZi26DVS.mjs} +9 -91
- package/dist/routing-assets-VkrKIbxE.mjs +139 -0
- package/dist/{runner-DMBKSrRk.mjs → runner-CabsQ-iM.mjs} +22 -34
- package/dist/runner-So9mYfcm.mjs +1 -0
- package/dist/runner-mysql-BhRaONkO.mjs +146 -0
- package/dist/runner-mysql-DWwE8jKi.mjs +1 -0
- package/dist/{runner-pg-DV8p_zjA.mjs → runner-pg-BRemq_GX.mjs} +3 -3
- package/dist/runner-pg-_Xncr3H5.mjs +1 -0
- package/dist/runtime/ai.mjs +23 -25
- package/dist/runtime/auth-client-react.mjs +1 -2
- package/dist/runtime/auth-client-solid.mjs +1 -2
- package/dist/runtime/auth-client-svelte.mjs +1 -2
- package/dist/runtime/auth-client-vue.mjs +1 -2
- package/dist/runtime/auth-client.mjs +1 -2
- package/dist/runtime/auth.mjs +1 -2
- package/dist/runtime/better-auth-mysql.d.mts +2 -5
- package/dist/runtime/better-auth-mysql.mjs +9 -31
- package/dist/runtime/better-auth-pg.d.mts +2 -5
- package/dist/runtime/better-auth-pg.mjs +6 -32
- package/dist/runtime/better-auth.d.mts +2 -4
- package/dist/runtime/better-auth.mjs +9 -19
- package/dist/runtime/db.mjs +6 -2
- package/dist/runtime/durable.d.mts +18 -1
- package/dist/runtime/durable.mjs +26 -2
- package/dist/runtime/email/testing.d.mts +1 -1
- package/dist/runtime/email/testing.mjs +9 -23
- package/dist/runtime/email-protocol.d.mts +12 -0
- package/dist/runtime/email-protocol.mjs +1 -70
- package/dist/runtime/email.d.mts +1 -1
- package/dist/runtime/email.mjs +79 -221
- package/dist/runtime/env-public.d.mts +1 -1
- package/dist/runtime/env-public.mjs +12 -38
- package/dist/runtime/env.d.mts +1 -12
- package/dist/runtime/env.mjs +1 -2
- package/dist/runtime/handler.d.mts +1 -1
- package/dist/runtime/handler.mjs +1 -1
- package/dist/runtime/isr.mjs +1 -1
- package/dist/runtime/kv.mjs +1 -1
- package/dist/runtime/limits.mjs +1 -2
- package/dist/runtime/live-client.d.mts +3 -2
- package/dist/runtime/live-server.d.mts +2 -1
- package/dist/runtime/live-server.mjs +1 -16
- package/dist/runtime/live.d.mts +1 -1
- package/dist/runtime/live.mjs +1 -2
- package/dist/runtime/log.d.mts +2 -1
- package/dist/runtime/migration-handler-mysql.d.mts +2 -2
- package/dist/runtime/migration-handler-mysql.mjs +39 -8
- package/dist/runtime/migration-handler-pg.d.mts +2 -2
- package/dist/runtime/migration-handler-pg.mjs +1 -1
- package/dist/runtime/migration-handler.d.mts +2 -2
- package/dist/runtime/migration-handler.mjs +1 -470
- package/dist/runtime/queues.mjs +1 -1
- package/dist/runtime/remote/binding-handler.mjs +62 -62
- package/dist/runtime/remote/index.mjs +16 -77
- package/dist/runtime/response.mjs +1 -2
- package/dist/runtime/route-url.mjs +1 -2
- package/dist/runtime/routing.d.mts +3 -5
- package/dist/runtime/routing.mjs +82 -218
- package/dist/runtime/sandbox-container.d.mts +2 -2
- package/dist/runtime/sandbox-container.mjs +1 -2
- package/dist/runtime/sandbox.d.mts +2 -2
- package/dist/runtime/sandbox.mjs +13 -6
- package/dist/runtime/seed.d.mts +2 -1
- package/dist/runtime/sse.mjs +1 -2
- package/dist/runtime/storage.mjs +1 -1
- package/dist/runtime/validator.d.mts +1 -1
- package/dist/runtime/validator.mjs +1 -2
- package/dist/runtime/ws-server.d.mts +4 -4
- package/dist/runtime/ws-server.mjs +6 -28
- package/dist/runtime/ws.d.mts +1 -1
- package/dist/{sandbox-container-Bo0eiFKz.d.mts → sandbox-container-ChQRum-j.d.mts} +3 -1
- package/dist/{sandbox-container-C6ItmVuN.mjs → sandbox-container-a9LRUtii.mjs} +13 -2
- package/dist/{sandbox-C5LFoJMf.d.mts → sandbox-q3waMc2T.d.mts} +1 -1
- package/dist/{scan-C3uDzz6J.mjs → scan-C0BMdmEd.mjs} +84 -7
- package/dist/{secret-BvtB7IjY.mjs → secret-bg73f1Ge.mjs} +63 -81
- package/dist/{serialize-BPvnNQuA.mjs → serialize-BtQyaYoC.mjs} +10 -4
- package/dist/{skills-BgVMvQdy.mjs → skills-C_yRTg0g.mjs} +3 -3
- package/dist/{subcommand-prompt-BSlnD1fI.mjs → subcommand-prompt-Bm3ZlYgA.mjs} +39 -44
- package/dist/sveltekit.d.mts +2 -1
- package/dist/sveltekit.mjs +1 -1
- package/dist/validate-BQFdf0Pi.mjs +1 -0
- package/dist/{validate-C9qJArv7.mjs → validate-CheZGRE7.mjs} +4 -8
- package/dist/version-metadata-DIrqEHQo.mjs +73 -0
- package/dist/{wrangler-D9KTuqnv.mjs → wrangler-BYs07Rxy.mjs} +119 -378
- package/dist/wrapper-CwhpNWtH.mjs +663 -0
- package/dist/{ws-CChrrAU-.d.mts → ws-aKVYB-fA.d.mts} +1 -1
- package/dist/yarn-pnp-DLbEFMT0.mjs +92 -0
- package/docs/guide/ai.md +8 -2
- package/docs/guide/auth.md +2 -0
- package/docs/guide/database/mysql.md +14 -3
- package/docs/guide/database/postgresql.md +2 -0
- package/docs/guide/database.md +3 -5
- package/docs/guide/durable-state.md +32 -4
- package/docs/guide/platform/administration/access.md +4 -0
- package/docs/guide/platform/administration/connected-apps.md +55 -0
- package/docs/guide/platform/installation/credentials.md +21 -3
- package/docs/guide/platform/installation/domains.md +1 -1
- package/docs/guide/platform/installation/maintenance.md +38 -1
- package/docs/guide/platform/installation/prerequisites.md +6 -2
- package/docs/guide/platform/installation/setup.md +23 -1
- package/docs/guide/platform/installation/uninstall.md +6 -1
- package/docs/guide/quickstart.md +2 -0
- package/docs/guide/sandboxes.md +3 -1
- package/docs/guide/self-hosted-platform.md +1 -1
- package/docs/integrations/cloudflare.md +2 -2
- package/docs/integrations/frameworks/analog.md +3 -11
- package/docs/integrations/frameworks/nuxt.md +7 -10
- package/docs/integrations/nodejs-bun-deno.md +2 -0
- package/docs/reference/api/deploy.md +23 -0
- package/docs/reference/api/pages.md +2 -0
- package/docs/reference/api.md +3 -1
- package/docs/reference/cli/database.md +9 -3
- package/docs/reference/cli/platform-installation.md +19 -7
- package/docs/reference/cli/setup.md +2 -0
- package/docs/reference/config.md +2 -0
- package/package.json +39 -36
- package/sandbox.Dockerfile +1 -1
- package/skills/void/SKILL.md +2 -1
- package/dist/auth-LMJcNESe.mjs +0 -2
- package/dist/cf-build-output-H9a97vME.mjs +0 -2
- package/dist/cf-user-agent-lKblH3zU.mjs +0 -17
- package/dist/client-tso2OfcG.mjs +0 -2
- package/dist/cloudflare-operations-BlYLlowZ.mjs +0 -2
- package/dist/collect-DLyFDiKW.mjs +0 -2
- package/dist/config-5r-YpMC-.mjs +0 -2
- package/dist/config-B_ggY-IO.mjs +0 -89
- package/dist/config-BtSFvXZx.mjs +0 -2
- package/dist/config-write-AHGesphx.mjs +0 -61
- package/dist/create-project-qFDC45zg.mjs +0 -2
- package/dist/deploy-Bqe1PYBw.mjs +0 -10458
- package/dist/deploy-VsWsVQkw.mjs +0 -2
- package/dist/dev-inbox-CK-UuPob.mjs +0 -297
- package/dist/discover-EDUf6JJw.mjs +0 -2
- package/dist/dist-Bx1z6Eva.mjs +0 -2
- package/dist/dist-_UUlL6bg.mjs +0 -2
- package/dist/env-validation-CrVNjsPm.mjs +0 -2
- package/dist/env-validation-Dxdx_5wo.mjs +0 -951
- package/dist/gen-dA9hW7AV.mjs +0 -2
- package/dist/head-client-DzmJGN4C.mjs +0 -90
- package/dist/help-DfQYVfGY.mjs +0 -2
- package/dist/login-mx_ydhmp.mjs +0 -2
- package/dist/migrate-BHp07yJE.mjs +0 -2
- package/dist/operator-cmd-CwBB-1yb.mjs +0 -2
- package/dist/pages/head-client.d.mts +0 -13
- package/dist/pages/head-client.mjs +0 -2
- package/dist/plan-CH2G51je.mjs +0 -2
- package/dist/platform-args-D4E1PjVw.mjs +0 -2
- package/dist/platform-cmd-BbmJiq5O.mjs +0 -2
- package/dist/platform-lifecycle-ByAlpkhV.mjs +0 -2
- package/dist/platform-management-CBOT4BSM.mjs +0 -2
- package/dist/prepare-DRUV-g3X.mjs +0 -2
- package/dist/project-DedqCp59.mjs +0 -2
- package/dist/project-slug-DofjTFd-.mjs +0 -2
- package/dist/provision-Wu9ZBk9L.mjs +0 -2
- package/dist/resolve-project-BIeYs9Cw.mjs +0 -2
- package/dist/resolve-project-CP8rZs_p.mjs +0 -28
- package/dist/runner-9wjsSZx-.mjs +0 -2
- package/dist/runner-mysql-CEzKtmFb.mjs +0 -54
- package/dist/runner-mysql-CkFqZ6CE.mjs +0 -2
- package/dist/runner-pg-BGYRFdRp.mjs +0 -2
- package/dist/runtime/env-helpers.d.mts +0 -2
- package/dist/runtime/env-helpers.mjs +0 -2
- package/dist/validate-BJr9LfXy.mjs +0 -2
- package/dist/yarn-pnp-CUX_iTPA.mjs +0 -188
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as
|
|
2
|
-
import { execFile, spawn
|
|
1
|
+
import { i as isCleanCloudflareExit, l as resolveCloudflareOperationArgv, n as decodeCloudflareOperationResult, r as encodeCloudflareOperation, t as createCloudflareProcessRunner } from "./cloudflare-process-CeDWJRhj.mjs";
|
|
2
|
+
import { execFile, spawn } from "node:child_process";
|
|
3
3
|
//#region src/cli/cloudflare-auth.ts
|
|
4
4
|
var CloudflareAuthenticationError = class extends Error {
|
|
5
5
|
name = "CloudflareAuthenticationError";
|
|
@@ -32,7 +32,7 @@ async function ensureCloudflareAuthentication(options) {
|
|
|
32
32
|
};
|
|
33
33
|
const readSession = async () => {
|
|
34
34
|
const result = await run(whoami, true);
|
|
35
|
-
if (!
|
|
35
|
+
if (!isCleanCloudflareExit(result)) return null;
|
|
36
36
|
const session = parseCloudflareAuthSession(result.data);
|
|
37
37
|
if (options.requireAccounts) return session && session.accounts.length > 0 ? session : null;
|
|
38
38
|
return session;
|
|
@@ -40,7 +40,8 @@ async function ensureCloudflareAuthentication(options) {
|
|
|
40
40
|
const existing = options.forceLogin ? null : await readSession();
|
|
41
41
|
if (existing) return existing;
|
|
42
42
|
if (!(options.interactive ?? (process.stdin.isTTY && process.stdout.isTTY))) throw new CloudflareAuthenticationError("Cloudflare authentication is required. Set CLOUDFLARE_API_TOKEN in CI, or run `void cloudflare login` in an interactive terminal.", "not-authenticated");
|
|
43
|
-
|
|
43
|
+
const login = await run({ type: "auth.login" }, false);
|
|
44
|
+
if (!isCleanCloudflareExit(login)) throw new CloudflareAuthenticationError("Cloudflare browser sign-in did not complete. Run `void cloudflare login` to try again.", "login");
|
|
44
45
|
const authenticated = await readSession();
|
|
45
46
|
if (!authenticated) throw new CloudflareAuthenticationError("Cloudflare sign-in completed without a usable session. Run `void cloudflare login` to try again.", "not-authenticated");
|
|
46
47
|
return authenticated;
|
|
@@ -73,41 +74,16 @@ function parseCloudflareAuthSession(value) {
|
|
|
73
74
|
};
|
|
74
75
|
}
|
|
75
76
|
function createBundledCloudflareAuthRunner(root) {
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
cwd: root,
|
|
83
|
-
encoding: "utf8",
|
|
84
|
-
env,
|
|
85
|
-
maxBuffer: 10485760,
|
|
86
|
-
shell: false,
|
|
87
|
-
stdio: streaming ? "inherit" : [
|
|
88
|
-
"ignore",
|
|
89
|
-
"pipe",
|
|
90
|
-
"pipe"
|
|
91
|
-
],
|
|
92
|
-
timeout: 6e5,
|
|
93
|
-
windowsHide: true
|
|
94
|
-
});
|
|
95
|
-
const raw = {
|
|
96
|
-
status: result.status,
|
|
97
|
-
stderr: streaming ? "" : result.stderr || "",
|
|
98
|
-
stdout: streaming ? "" : result.stdout || "",
|
|
99
|
-
signal: result.signal,
|
|
100
|
-
error: result.error?.message
|
|
101
|
-
};
|
|
102
|
-
if (streaming) return raw;
|
|
103
|
-
const decoded = decodeCloudflareOperationResult(raw);
|
|
104
|
-
if (!capture) writeUncapturedOperationOutput(decoded);
|
|
105
|
-
return decoded;
|
|
106
|
-
};
|
|
77
|
+
const run = createCloudflareProcessRunner({
|
|
78
|
+
root,
|
|
79
|
+
env: cloudflareAuthEnvironment,
|
|
80
|
+
timeoutMs: 6e5
|
|
81
|
+
});
|
|
82
|
+
return (operation, capture) => run(operation, { capture });
|
|
107
83
|
}
|
|
108
84
|
/** Run a captured auth command without blocking terminal input or exposing credentials. */
|
|
109
85
|
function runCloudflareAuthCommand(root, operation, signal) {
|
|
110
|
-
const [command, ...prefix] = resolveCloudflareOperationArgv(
|
|
86
|
+
const [command, ...prefix] = resolveCloudflareOperationArgv();
|
|
111
87
|
const args = encodeCloudflareOperation(operation);
|
|
112
88
|
if (cloudflareAuthNeedsTerminal(operation)) return new Promise((resolve) => {
|
|
113
89
|
const child = spawn(command, [...prefix, ...args], {
|
|
@@ -173,8 +149,5 @@ function cloudflareAuthEnvironment(source = process.env) {
|
|
|
173
149
|
env.CLOUDFLARE_AUTH_USE_KEYRING = "true";
|
|
174
150
|
return env;
|
|
175
151
|
}
|
|
176
|
-
function isCleanExit(result) {
|
|
177
|
-
return result.status === 0 && result.signal == null && (result.error == null || result.error === "");
|
|
178
|
-
}
|
|
179
152
|
//#endregion
|
|
180
153
|
export { parseCloudflareAuthSession as a, ensureCloudflareAuthentication as i, cloudflareCredentialOverrides as n, runCloudflareAuthCommand as o, createBundledCloudflareAuthRunner as r, CloudflareAuthenticationError as t };
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { t as basename } from "./dist-
|
|
2
|
-
import { b as readRootWranglerConfig } from "./wrangler-
|
|
3
|
-
import { L as log } from "./dist-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { t as basename } from "./dist-ipQi0Q8y.mjs";
|
|
2
|
+
import { b as readRootWranglerConfig } from "./wrangler-BYs07Rxy.mjs";
|
|
3
|
+
import { L as log } from "./dist-BVdsO7Py.mjs";
|
|
4
|
+
import { m as printSuccess } from "./output-Ba6ZbrzY.mjs";
|
|
5
|
+
import { i as isCleanCloudflareExit } from "./cloudflare-process-CeDWJRhj.mjs";
|
|
6
|
+
import { a as parseCloudflareAuthSession, i as ensureCloudflareAuthentication, n as cloudflareCredentialOverrides, r as createBundledCloudflareAuthRunner } from "./cloudflare-auth-CqFBDo52.mjs";
|
|
6
7
|
//#region src/cli/cloudflare-cmd.ts
|
|
7
8
|
async function runCloudflareCommand(root, args) {
|
|
8
9
|
const runWrangler = createBundledCloudflareAuthRunner(root);
|
|
@@ -16,7 +17,7 @@ async function runCloudflareCommand(root, args) {
|
|
|
16
17
|
return;
|
|
17
18
|
case "status": {
|
|
18
19
|
const result = await runWrangler({ type: "auth.whoami" }, true);
|
|
19
|
-
const session = result
|
|
20
|
+
const session = isCleanCloudflareExit(result) ? parseCloudflareAuthSession(result.data) : null;
|
|
20
21
|
if (!session) throw new Error("Not signed in to Cloudflare. Run `void cloudflare login`.");
|
|
21
22
|
log.info(formatSession(root, session));
|
|
22
23
|
return;
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
import { a as join } from "./dist-
|
|
2
|
-
import "./project-paths-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { a as join } from "./dist-ipQi0Q8y.mjs";
|
|
2
|
+
import "./project-paths-DMvEeSau.mjs";
|
|
3
|
+
import { d as readConfig } from "./config-Bx_1SpnO.mjs";
|
|
4
|
+
import { t as writeFileAtomic } from "./atomic-write-Dq6R0BPN.mjs";
|
|
5
|
+
import { t as parseJsoncObject } from "./generated-wrangler-config-DeWj5F9Y.mjs";
|
|
6
|
+
import { existsSync, mkdirSync, readFileSync, rmSync } from "node:fs";
|
|
7
|
+
import { isRecord } from "@void/deploy-core";
|
|
7
8
|
import { isDeepStrictEqual } from "node:util";
|
|
8
9
|
//#region src/cloudflare-config.ts
|
|
9
10
|
const MATERIALIZED_CLOUDFLARE_FILE = ".void-wrangler.jsonc";
|
|
10
11
|
const VOID_LOCK_FILE = "void.lock.json";
|
|
11
12
|
const PREVIEW_POINTER_FILE = "preview-deploy-config.json";
|
|
12
|
-
function isObject(value) {
|
|
13
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
14
|
-
}
|
|
15
13
|
function arrayIdentity(value) {
|
|
16
|
-
if (
|
|
14
|
+
if (isRecord(value)) {
|
|
17
15
|
for (const key of [
|
|
18
16
|
"binding",
|
|
19
17
|
"name",
|
|
@@ -40,7 +38,7 @@ function mergeConfig(previous, resolved, authored) {
|
|
|
40
38
|
return !previousByIdentity.has(identity) && !authoredIdentities.has(identity);
|
|
41
39
|
})];
|
|
42
40
|
}
|
|
43
|
-
if (
|
|
41
|
+
if (isRecord(previous) && isRecord(resolved) && isRecord(authored)) {
|
|
44
42
|
const result = {};
|
|
45
43
|
for (const key of /* @__PURE__ */ new Set([
|
|
46
44
|
...Object.keys(previous),
|
|
@@ -69,9 +67,8 @@ function mergeConfig(previous, resolved, authored) {
|
|
|
69
67
|
return authored;
|
|
70
68
|
}
|
|
71
69
|
function parseCloudflareText(text, path) {
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
if (errors.length > 0 || !isObject(value)) throw new Error(`config: ${path} must contain a valid JSON/JSONC object.`);
|
|
70
|
+
const value = parseJsoncObject(text);
|
|
71
|
+
if (!value) throw new Error(`config: ${path} must contain a valid JSON/JSONC object.`);
|
|
75
72
|
return value;
|
|
76
73
|
}
|
|
77
74
|
function readState(root) {
|
|
@@ -83,27 +80,18 @@ function readState(root) {
|
|
|
83
80
|
} catch {
|
|
84
81
|
throw new Error(`config: Invalid ${VOID_LOCK_FILE}. Fix or restore it before continuing.`);
|
|
85
82
|
}
|
|
86
|
-
if (!
|
|
83
|
+
if (!isRecord(value) || value.version !== 1 || !isRecord(value.source) || !isRecord(value.resolved) || typeof value.text !== "string") throw new Error(`config: Invalid ${VOID_LOCK_FILE}. Fix or restore it before continuing.`);
|
|
87
84
|
const state = value;
|
|
88
85
|
if (!isDeepStrictEqual(parseCloudflareText(state.text, "void.lock.json"), state.resolved)) state.text = `${provenance(state.text)}${JSON.stringify(state.resolved, null, 2)}\n`;
|
|
89
86
|
return state;
|
|
90
87
|
}
|
|
91
|
-
function writeAtomic(path, content) {
|
|
92
|
-
const temporary = `${path}.${randomUUID()}.tmp`;
|
|
93
|
-
writeFileSync(temporary, content, { flag: "wx" });
|
|
94
|
-
try {
|
|
95
|
-
renameSync(temporary, path);
|
|
96
|
-
} finally {
|
|
97
|
-
rmSync(temporary, { force: true });
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
88
|
function writeState(root, state) {
|
|
101
89
|
const path = join(root, VOID_LOCK_FILE);
|
|
102
90
|
const content = `${JSON.stringify(state, null, 2)}\n`;
|
|
103
91
|
if (existsSync(path)) try {
|
|
104
92
|
if (isDeepStrictEqual(JSON.parse(readFileSync(path, "utf8")), state)) return;
|
|
105
93
|
} catch {}
|
|
106
|
-
|
|
94
|
+
writeFileAtomic(path, content);
|
|
107
95
|
}
|
|
108
96
|
/** Keep Vite preview usable without leaving Wrangler's implicit deploy pointer after a build. */
|
|
109
97
|
function stashCloudflareDeployPointer(root) {
|
|
@@ -111,7 +99,7 @@ function stashCloudflareDeployPointer(root) {
|
|
|
111
99
|
if (!existsSync(pointer)) return;
|
|
112
100
|
const directory = join(root, ".void");
|
|
113
101
|
mkdirSync(directory, { recursive: true });
|
|
114
|
-
|
|
102
|
+
writeFileAtomic(join(directory, PREVIEW_POINTER_FILE), readFileSync(pointer, "utf8"));
|
|
115
103
|
rmSync(pointer, { force: true });
|
|
116
104
|
}
|
|
117
105
|
function restoreCloudflarePreviewPointer(root) {
|
|
@@ -119,7 +107,7 @@ function restoreCloudflarePreviewPointer(root) {
|
|
|
119
107
|
if (!existsSync(saved)) return false;
|
|
120
108
|
const directory = join(root, ".wrangler", "deploy");
|
|
121
109
|
mkdirSync(directory, { recursive: true });
|
|
122
|
-
|
|
110
|
+
writeFileAtomic(join(directory, "config.json"), readFileSync(saved, "utf8"));
|
|
123
111
|
return true;
|
|
124
112
|
}
|
|
125
113
|
/** Preserve Void's JSONC provenance comments when authored settings change. */
|
|
@@ -139,7 +127,7 @@ function materializeCloudflareConfig(root) {
|
|
|
139
127
|
const resolved = state ? mergeConfig(state.source, state.resolved, authored) : authored;
|
|
140
128
|
const text = state && isDeepStrictEqual(resolved, state.resolved) && isDeepStrictEqual(authored, state.source) ? state.text : `${provenance(state?.text ?? "")}${JSON.stringify(resolved, null, 2)}\n`;
|
|
141
129
|
const path = join(root, MATERIALIZED_CLOUDFLARE_FILE);
|
|
142
|
-
if (!existsSync(path) || readFileSync(path, "utf8") !== text)
|
|
130
|
+
if (!existsSync(path) || readFileSync(path, "utf8") !== text) writeFileAtomic(path, text);
|
|
143
131
|
if (state) writeState(root, {
|
|
144
132
|
version: 1,
|
|
145
133
|
source: authored,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { a as join, t as basename } from "./dist-
|
|
2
|
-
import { b as readRootWranglerConfig, i as LATEST_KNOWN_COMPAT_DATE, j as writeProvisionedWranglerConfig } from "./wrangler-
|
|
3
|
-
import { K as select, L as log, tt as isCancel } from "./dist-
|
|
4
|
-
import { i as ensureCloudflareAuthentication, r as createBundledCloudflareAuthRunner } from "./cloudflare-auth-
|
|
1
|
+
import { a as join, t as basename } from "./dist-ipQi0Q8y.mjs";
|
|
2
|
+
import { b as readRootWranglerConfig, i as LATEST_KNOWN_COMPAT_DATE, j as writeProvisionedWranglerConfig } from "./wrangler-BYs07Rxy.mjs";
|
|
3
|
+
import { K as select, L as log, tt as isCancel } from "./dist-BVdsO7Py.mjs";
|
|
4
|
+
import { i as ensureCloudflareAuthentication, r as createBundledCloudflareAuthRunner } from "./cloudflare-auth-CqFBDo52.mjs";
|
|
5
5
|
import { existsSync } from "node:fs";
|
|
6
6
|
//#region src/cli/cloudflare-connect.ts
|
|
7
7
|
async function connectCloudflare(root, interactive = Boolean(process.stdin.isTTY)) {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { a as join } from "./dist-
|
|
2
|
-
import { i as persistCloudflareConfig, r as materializeCloudflareConfig } from "./cloudflare-config-
|
|
3
|
-
import { A as updateWranglerCustomDomain, M as writeWranglerPublishedTrafficSnapshot, S as readWranglerCustomDomains, w as readWranglerPublishedTrafficSnapshot } from "./wrangler-
|
|
4
|
-
import {
|
|
5
|
-
import { t as createCloudflareProcessRunner } from "./cloudflare-process-
|
|
6
|
-
import {
|
|
1
|
+
import { a as join } from "./dist-ipQi0Q8y.mjs";
|
|
2
|
+
import { i as persistCloudflareConfig, r as materializeCloudflareConfig } from "./cloudflare-config-DV60XFFK.mjs";
|
|
3
|
+
import { A as updateWranglerCustomDomain, M as writeWranglerPublishedTrafficSnapshot, S as readWranglerCustomDomains, w as readWranglerPublishedTrafficSnapshot } from "./wrangler-BYs07Rxy.mjs";
|
|
4
|
+
import { u as getErrorMessage } from "./output-Ba6ZbrzY.mjs";
|
|
5
|
+
import { t as createCloudflareProcessRunner } from "./cloudflare-process-CeDWJRhj.mjs";
|
|
6
|
+
import { a as deleteEnvVarCaseAware, d as resolvePinnedApiBaseUrl, t as assertNoTransportRedirectInProjectDotenv, u as provisionEnv } from "./provision-BnSSkiED.mjs";
|
|
7
|
+
import { a as findWranglerCiOverrideDotenvFile, i as findAmbientConfigOverride } from "./deploy-transport-DWlWBe6M.mjs";
|
|
7
8
|
import { existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
8
9
|
import { tmpdir } from "node:os";
|
|
9
10
|
import { deployCloudflareVersionTraffic, encodeCloudflareVersionMessage, parseCloudflareVersionMessage, parseRootWranglerConfig, readBindingFieldPresence, readCloudflareTriggerConfig, readWranglerTopLevelString, resolveD1MigrateTarget, stabilizeCloudflareVersionTriggers } from "@void/deploy-cloudflare";
|
|
@@ -28,7 +29,7 @@ function resolveCloudflareOperationContext(root, runner) {
|
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
31
|
async function listCloudflareSecrets(context) {
|
|
31
|
-
const parsed =
|
|
32
|
+
const parsed = requireData((await run(context, {
|
|
32
33
|
type: "secret.list",
|
|
33
34
|
configPath: context.configPath,
|
|
34
35
|
workerName: context.workerName
|
|
@@ -82,7 +83,7 @@ function resolveCloudflareD1Context(root, binding, runner) {
|
|
|
82
83
|
};
|
|
83
84
|
}
|
|
84
85
|
async function executeCloudflareD1Sql(context, sql) {
|
|
85
|
-
const parsed =
|
|
86
|
+
const parsed = requireData((await run(context.operation, {
|
|
86
87
|
type: "d1.execute",
|
|
87
88
|
database: context.migrateToken,
|
|
88
89
|
sql,
|
|
@@ -103,7 +104,7 @@ async function readCloudflareD1Migrations(context) {
|
|
|
103
104
|
try {
|
|
104
105
|
return (await executeCloudflareD1Sql(context, `SELECT name FROM "${table}" ORDER BY name`)).map((row) => typeof row.name === "string" ? row.name : null).filter((name) => name !== null);
|
|
105
106
|
} catch (error) {
|
|
106
|
-
if (/no such table/i.test(
|
|
107
|
+
if (/no such table/i.test(getErrorMessage(error))) return [];
|
|
107
108
|
throw error;
|
|
108
109
|
}
|
|
109
110
|
}
|
|
@@ -144,7 +145,7 @@ async function readCloudflareWorkerStatus(context) {
|
|
|
144
145
|
}
|
|
145
146
|
/** Return only versions that Cloudflare records as members of a production deployment. */
|
|
146
147
|
function parseCloudflareDeployedVersionIds(value) {
|
|
147
|
-
const parsed =
|
|
148
|
+
const parsed = requireData(value, "Cloudflare deployment list");
|
|
148
149
|
if (!Array.isArray(parsed)) throw new Error("Cloudflare deployment list returned an unexpected response.");
|
|
149
150
|
const ids = /* @__PURE__ */ new Set();
|
|
150
151
|
parsed.forEach((deployment, deploymentIndex) => {
|
|
@@ -157,7 +158,7 @@ function parseCloudflareDeployedVersionIds(value) {
|
|
|
157
158
|
return [...ids];
|
|
158
159
|
}
|
|
159
160
|
function parseCloudflareVersions(value) {
|
|
160
|
-
const parsed =
|
|
161
|
+
const parsed = requireData(value, "Cloudflare version list");
|
|
161
162
|
if (!Array.isArray(parsed)) throw new Error("Cloudflare version list returned an unexpected response.");
|
|
162
163
|
return parsed.map((entry, index) => {
|
|
163
164
|
if (typeof entry !== "object" || entry === null || typeof entry.id !== "string") throw new Error(`Cloudflare version list entry ${index + 1} is malformed.`);
|
|
@@ -173,7 +174,7 @@ function parseCloudflareVersions(value) {
|
|
|
173
174
|
});
|
|
174
175
|
}
|
|
175
176
|
function parseActiveVersionId(value) {
|
|
176
|
-
const parsed =
|
|
177
|
+
const parsed = requireData(value, "Cloudflare deployment status");
|
|
177
178
|
if (typeof parsed !== "object" || parsed === null) throw new Error("Cloudflare deployment status returned an unexpected response.");
|
|
178
179
|
const deployment = parsed;
|
|
179
180
|
if (!Array.isArray(deployment.versions)) throw new Error("Cloudflare deployment status returned an unexpected response.");
|
|
@@ -259,7 +260,7 @@ async function activateCloudflareExistingVersion(context, target, current) {
|
|
|
259
260
|
else if (!restoredTriggers.targetOwnsTraffic) recoveryFailure = `recovery was superseded by ${restoredTriggers.activeVersionId}`;
|
|
260
261
|
else recordPublishedTraffic(context.configPath, currentTriggerConfig);
|
|
261
262
|
} catch (error) {
|
|
262
|
-
recoveryFailure =
|
|
263
|
+
recoveryFailure = getErrorMessage(error);
|
|
263
264
|
}
|
|
264
265
|
throw new Error(recoveryFailure ? `Cloudflare trigger synchronization failed after activating ${target.id}, and automatic recovery also failed: ${recoveryFailure}` : `Cloudflare trigger synchronization failed after activating ${target.id}; traffic and triggers were restored to ${current.id}.`);
|
|
265
266
|
}
|
|
@@ -283,7 +284,7 @@ async function tailCloudflareWorker(context, options) {
|
|
|
283
284
|
function listCloudflareDomains(root) {
|
|
284
285
|
return readWranglerCustomDomains(root).domains;
|
|
285
286
|
}
|
|
286
|
-
async function changeCloudflareDomain(root, hostname, action, runner
|
|
287
|
+
async function changeCloudflareDomain(root, hostname, action, runner) {
|
|
287
288
|
const context = resolveCloudflareOperationContext(root, runner);
|
|
288
289
|
const before = readWranglerCustomDomains(root);
|
|
289
290
|
const original = readFileSync(before.configPath, "utf-8");
|
|
@@ -293,7 +294,7 @@ async function changeCloudflareDomain(root, hostname, action, runner, emptyDomai
|
|
|
293
294
|
const triggerConfigPath = join(triggerConfigDir, "wrangler.json");
|
|
294
295
|
const deployRoutes = async () => {
|
|
295
296
|
if (readWranglerCustomDomains(root).domains.length === 0) {
|
|
296
|
-
await
|
|
297
|
+
await publishEmptyCloudflareCustomDomainSet(context);
|
|
297
298
|
return;
|
|
298
299
|
}
|
|
299
300
|
writeDomainTriggerConfig(context, before.configPath, triggerConfigPath);
|
|
@@ -311,9 +312,9 @@ async function changeCloudflareDomain(root, hostname, action, runner, emptyDomai
|
|
|
311
312
|
try {
|
|
312
313
|
await deployRoutes();
|
|
313
314
|
} catch (restoreError) {
|
|
314
|
-
throw new Error(`Cloudflare rejected the domain trigger update and also rejected the automatic remote restore. The local Wrangler config was restored, but remote route state may be partially applied. ${
|
|
315
|
+
throw new Error(`Cloudflare rejected the domain trigger update and also rejected the automatic remote restore. The local Wrangler config was restored, but remote route state may be partially applied. ${getErrorMessage(error)} Restore failed: ${getErrorMessage(restoreError)}`);
|
|
315
316
|
}
|
|
316
|
-
throw new Error(`Cloudflare rejected the domain trigger update; both the local config and remote triggers were restored. ${
|
|
317
|
+
throw new Error(`Cloudflare rejected the domain trigger update; both the local config and remote triggers were restored. ${getErrorMessage(error)}`);
|
|
317
318
|
} finally {
|
|
318
319
|
rmSync(triggerConfigDir, {
|
|
319
320
|
recursive: true,
|
|
@@ -419,19 +420,13 @@ function createCloudflareOperationRunner(root, accountId, apiBaseUrl) {
|
|
|
419
420
|
});
|
|
420
421
|
}
|
|
421
422
|
function assertNoOperationConfigOverride(root) {
|
|
422
|
-
|
|
423
|
-
if (
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
".env.",
|
|
428
|
-
".env..local"
|
|
429
|
-
]) {
|
|
430
|
-
const keys = scanWranglerDotenvKeys(join(root, file));
|
|
431
|
-
if (process.platform === "win32" ? [...keys].some((key) => key.toLowerCase() === "wrangler_ci_override_name") : keys.has("WRANGLER_CI_OVERRIDE_NAME")) throw new Error(`Project file "${file}" sets WRANGLER_CI_OVERRIDE_NAME, which can replace the pinned Worker name. Remove it before running this command.`);
|
|
432
|
-
}
|
|
423
|
+
const override = findAmbientConfigOverride();
|
|
424
|
+
if (override === "CLOUDFLARE_ENV") throw new Error("CLOUDFLARE_ENV is set. Void Cloudflare operations target the top-level config only.");
|
|
425
|
+
if (override) throw new Error("CLOUDFLARE_VITE_WRANGLER_CONFIG_PATH is set. Void Cloudflare operations use the root Wrangler config only.");
|
|
426
|
+
const file = findWranglerCiOverrideDotenvFile(root);
|
|
427
|
+
if (file) throw new Error(`Project file "${file}" sets WRANGLER_CI_OVERRIDE_NAME, which can replace the pinned Worker name. Remove it before running this command.`);
|
|
433
428
|
}
|
|
434
|
-
function
|
|
429
|
+
function requireData(value, label) {
|
|
435
430
|
if (value === void 0) throw new Error(label + " did not return structured data.");
|
|
436
431
|
return value;
|
|
437
432
|
}
|
|
@@ -439,12 +434,9 @@ function failedOperationResult(error) {
|
|
|
439
434
|
return {
|
|
440
435
|
status: 1,
|
|
441
436
|
stdout: "",
|
|
442
|
-
stderr:
|
|
443
|
-
error:
|
|
437
|
+
stderr: getErrorMessage(error),
|
|
438
|
+
error: getErrorMessage(error)
|
|
444
439
|
};
|
|
445
440
|
}
|
|
446
|
-
function errorMessage(error) {
|
|
447
|
-
return error instanceof Error ? error.message : String(error);
|
|
448
|
-
}
|
|
449
441
|
//#endregion
|
|
450
442
|
export { resolveCloudflareD1Context as _, createCloudflareEmptyDomainPublisher as a, tailCloudflareWorker as b, listCloudflareDomains as c, parseCloudflareDeployedVersionIds as d, parseCloudflareVersions as f, readCloudflareWorkerStatus as g, readCloudflareD1Migrations as h, createCloudflareEmptyCronPublisher as i, listCloudflareSecrets as l, putCloudflareSecret as m, applyCloudflareD1Migrations as n, deleteCloudflareSecret as o, publishEmptyCloudflareCustomDomainSet as p, changeCloudflareDomain as r, executeCloudflareD1Sql as s, activateCloudflareExistingVersion as t, parseActiveVersionId as u, resolveCloudflareOperationContext as v, syncCloudflareSecrets as y };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { t as activateCloudflareExistingVersion, n as applyCloudflareD1Migrations, r as changeCloudflareDomain, o as deleteCloudflareSecret, s as executeCloudflareD1Sql, c as listCloudflareDomains, l as listCloudflareSecrets, m as putCloudflareSecret, h as readCloudflareD1Migrations, g as readCloudflareWorkerStatus, _ as resolveCloudflareD1Context, v as resolveCloudflareOperationContext, y as syncCloudflareSecrets, b as tailCloudflareWorker } from "./cloudflare-operations-B42EZeJy.mjs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { a as join,
|
|
2
|
-
import { n as readProjectPaths } from "./project-paths-
|
|
3
|
-
import { i as hasSsrEntry, r as getSsrServerEntryPath } from "./entry-
|
|
4
|
-
import { i as readPackageJson, n as hasPackageDependency, t as getPackageDependencies } from "./package-json-
|
|
1
|
+
import { a as join, c as resolve, n as dirname, s as relative } from "./dist-ipQi0Q8y.mjs";
|
|
2
|
+
import { n as readProjectPaths } from "./project-paths-DMvEeSau.mjs";
|
|
3
|
+
import { i as hasSsrEntry, r as getSsrServerEntryPath } from "./entry-ehmBvs5w.mjs";
|
|
4
|
+
import { i as readPackageJson, n as hasPackageDependency, t as getPackageDependencies } from "./package-json-BjYqR-So.mjs";
|
|
5
5
|
import { existsSync } from "node:fs";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
7
|
import { spawnSync } from "node:child_process";
|
|
@@ -134,7 +134,7 @@ function shellQuoteExecutable(value) {
|
|
|
134
134
|
return `'${value.replace(/'/g, "'\\''")}'`;
|
|
135
135
|
}
|
|
136
136
|
/** Resolve the bundled cf transport without consulting project dependencies. */
|
|
137
|
-
function resolveCloudflareOperationArgv(
|
|
137
|
+
function resolveCloudflareOperationArgv() {
|
|
138
138
|
const directory = dirname(fileURLToPath(import.meta.url));
|
|
139
139
|
const entry = [
|
|
140
140
|
join(directory, "cloudflare-operation-process.ts"),
|
|
@@ -302,6 +302,10 @@ function backendDirs(paths) {
|
|
|
302
302
|
function encodeCloudflareOperation(operation) {
|
|
303
303
|
return [JSON.stringify(operation)];
|
|
304
304
|
}
|
|
305
|
+
/** True only for a child that ran to completion with a clean exit 0. */
|
|
306
|
+
function isCleanCloudflareExit(result) {
|
|
307
|
+
return result.status === 0 && result.signal == null && (result.error == null || result.error === "");
|
|
308
|
+
}
|
|
305
309
|
/** Decode the private process envelope once, retaining cancellation provenance. */
|
|
306
310
|
function decodeCloudflareOperationResult(result) {
|
|
307
311
|
if (result.signal || result.error || result.status === null) return result;
|
|
@@ -345,7 +349,7 @@ function writeUncapturedOperationOutput(result) {
|
|
|
345
349
|
if (result.stderr) process.stderr.write(result.stderr);
|
|
346
350
|
}
|
|
347
351
|
function createCloudflareProcessRunner(options) {
|
|
348
|
-
const [command, ...prefix] = resolveCloudflareOperationArgv(
|
|
352
|
+
const [command, ...prefix] = resolveCloudflareOperationArgv();
|
|
349
353
|
return (operation, run) => {
|
|
350
354
|
const streaming = !run.capture && (operation.type === "auth.login" || operation.type === "tail");
|
|
351
355
|
const env = typeof options.env === "function" ? options.env() : options.env ?? process.env;
|
|
@@ -361,6 +365,7 @@ function createCloudflareProcessRunner(options) {
|
|
|
361
365
|
shell: false,
|
|
362
366
|
windowsHide: true,
|
|
363
367
|
maxBuffer: 33554432,
|
|
368
|
+
timeout: options.timeoutMs,
|
|
364
369
|
stdio: streaming ? [
|
|
365
370
|
"inherit",
|
|
366
371
|
"inherit",
|
|
@@ -385,4 +390,4 @@ function createCloudflareProcessRunner(options) {
|
|
|
385
390
|
};
|
|
386
391
|
}
|
|
387
392
|
//#endregion
|
|
388
|
-
export { FRAMEWORK_PRESETS as a, hasBackendFiles as c,
|
|
393
|
+
export { FRAMEWORK_PRESETS as a, hasBackendFiles as c, isCleanCloudflareExit as i, resolveCloudflareOperationArgv as l, decodeCloudflareOperationResult as n, detectPreset as o, encodeCloudflareOperation as r, formatProjectCommand as s, createCloudflareProcessRunner as t, resolveProjectCommand as u };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { t as collectMigrations } from "./collect-xjffdCdk.mjs";
|
|
@@ -21,7 +21,7 @@ type RedirectDestination = string | {
|
|
|
21
21
|
to: string;
|
|
22
22
|
status?: 301 | 302 | 303 | 307 | 308;
|
|
23
23
|
};
|
|
24
|
-
/** Curated Worker fields accepted
|
|
24
|
+
/** Curated Worker fields accepted by the `worker` config field. */
|
|
25
25
|
type WranglerConfig = {
|
|
26
26
|
compatibility_date?: string;
|
|
27
27
|
compatibility_flags?: Array<string>;
|
|
@@ -156,7 +156,7 @@ type CloudflareConfig = Record<string, unknown> & {
|
|
|
156
156
|
assets?: CloudflareField<{
|
|
157
157
|
directory?: string;
|
|
158
158
|
binding?: string;
|
|
159
|
-
not_found_handling?:
|
|
159
|
+
not_found_handling?: NotFoundHandling;
|
|
160
160
|
run_worker_first?: boolean | Array<string>;
|
|
161
161
|
}>;
|
|
162
162
|
triggers?: CloudflareField<{
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import { a as join,
|
|
2
|
-
import { n as readProjectPaths } from "./project-paths-
|
|
3
|
-
import { n as schemaSpecifier, t as discoverSchema } from "./discover-
|
|
1
|
+
import { a as join, s as relative } from "./dist-ipQi0Q8y.mjs";
|
|
2
|
+
import { n as readProjectPaths } from "./project-paths-DMvEeSau.mjs";
|
|
3
|
+
import { n as schemaSpecifier, t as discoverSchema } from "./discover-D2PGT63u.mjs";
|
|
4
4
|
import { mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
5
5
|
import { tmpdir } from "node:os";
|
|
6
6
|
//#region src/drizzle/config.ts
|
|
7
|
+
/** drizzle-kit `generate` needs a URL but never connects. */
|
|
8
|
+
const PLACEHOLDER_DB_URL = {
|
|
9
|
+
sqlite: ":memory:",
|
|
10
|
+
postgresql: "postgresql://dummy",
|
|
11
|
+
mysql: "mysql://dummy"
|
|
12
|
+
};
|
|
7
13
|
/**
|
|
8
14
|
* Write a temporary drizzle-kit config, by default to `.void/drizzle.config.json`.
|
|
9
15
|
* Schema and migration paths are relative to the project root: drizzle-kit
|
|
@@ -72,7 +78,7 @@ function removeProjectDrizzleConfigWithUrl(root) {
|
|
|
72
78
|
} catch {
|
|
73
79
|
return;
|
|
74
80
|
}
|
|
75
|
-
if (typeof url === "string" && url.includes("://") && url
|
|
81
|
+
if (typeof url === "string" && url.includes("://") && !Object.values(PLACEHOLDER_DB_URL).includes(url)) rmSync(configPath, { force: true });
|
|
76
82
|
}
|
|
77
83
|
//#endregion
|
|
78
|
-
export {
|
|
84
|
+
export { withPrivateDrizzleConfig as n, writeDrizzleConfig as r, PLACEHOLDER_DB_URL as t };
|