void 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{account-cmd-HP8bixYo.mjs → account-cmd-ChVKPZ-w.mjs} +7 -8
- package/dist/{action-key-XZ9HkWAO.mjs → action-key-XtKKbbsi.mjs} +1 -2
- package/dist/{agents-CuNtT0D_.mjs → agents-DRo8gzni.mjs} +2 -3
- package/dist/{application-analysis-DDOQwiXk.mjs → application-analysis-2vGZrKzg.mjs} +18 -24
- package/dist/{application-routing-4719u_kf.mjs → application-routing-DnUQoOJD.mjs} +2 -3
- package/dist/{ast-CsZ_q_gc.mjs → ast-Cv0JwXqb.mjs} +1 -2
- package/dist/{ast-bindings-C3yaPs1y.mjs → ast-bindings-BkivMJIo.mjs} +6 -11
- package/dist/{atomic-write-Dq6R0BPN.mjs → atomic-write-DA6eD1Kp.mjs} +1 -2
- package/dist/{auth-g2TQbDLD.d.mts → auth-CH4PLAX1.d.mts} +0 -2
- package/dist/{auth-Cbqi1iVX.mjs → auth-CL-p_rqV.mjs} +1 -1
- package/dist/{auth-B6iOCjKI.mjs → auth-Dy8svcqQ.mjs} +6 -7
- package/dist/{auth-3sGB0zJ1.mjs → auth-YVjBX5NY.mjs} +1 -2
- package/dist/{auth-client-Bawdj38n.d.mts → auth-client-6-Ft9i9T.d.mts} +0 -2
- package/dist/{auth-client-BWBT8HLp.mjs → auth-client-DwCdwKbw.mjs} +1 -2
- package/dist/{auth-client-react-CMLwT2xI.mjs → auth-client-react-CJdeErvM.mjs} +1 -2
- package/dist/{auth-client-react-7GFffu8R.d.mts → auth-client-react-DvQLe5Zb.d.mts} +0 -2
- package/dist/{auth-client-solid-UoreJWZG.mjs → auth-client-solid-BRvgvp6h.mjs} +1 -2
- package/dist/{auth-client-solid-DyTFL4cq.d.mts → auth-client-solid-P9pEtKGp.d.mts} +0 -2
- package/dist/{auth-client-svelte-zetW0KIH.d.mts → auth-client-svelte-B5j8irT6.d.mts} +0 -2
- package/dist/{auth-client-svelte-Cv_WvrRk.mjs → auth-client-svelte-BSqUCEed.mjs} +1 -2
- package/dist/{auth-client-vue-bChShbQP.d.mts → auth-client-vue-BEiAfavk.d.mts} +0 -2
- package/dist/{auth-client-vue-CFk7Xbv3.mjs → auth-client-vue-CPkbRtOO.mjs} +1 -2
- package/dist/{auth-link-CedYpDCy.mjs → auth-link-D4uMdOsw.mjs} +7 -8
- package/dist/{auth-migrations-BO27GDNr.mjs → auth-migrations-DDeifS3v.mjs} +1 -2
- package/dist/{auth-router-vafo7x8w.mjs → auth-router-62dna450.mjs} +6 -7
- package/dist/{base64-DVrOndmI.mjs → base64-ikl9yBy3.mjs} +1 -2
- package/dist/{better-auth-shared-BHB8kiTE.d.mts → better-auth-shared-BJyG2mH0.d.mts} +2 -6
- package/dist/{better-auth-shared-7FM3Uk2N.mjs → better-auth-shared-CiclgPde.mjs} +4 -5
- package/dist/{build-cmd-9vUAQ1_V.mjs → build-cmd-D93K_4Sa.mjs} +7 -8
- package/dist/{cache-jvwLNb0h.mjs → cache-CiIzEED4.mjs} +7 -8
- package/dist/{cancel-deploy-Dw0UmWKO.mjs → cancel-deploy-BNoGfn2e.mjs} +6 -7
- package/dist/{cf-access-CWP4avfP.mjs → cf-access-BmBT2h8_.mjs} +3 -4
- package/dist/{cf-access-BM9G0lhO.mjs → cf-access-pejlJmuy.mjs} +1 -2
- package/dist/{cf-build-output-XpNR9zoh.mjs → cf-build-output-B1C8U83u.mjs} +41 -314
- package/dist/cf-build-output-CmDOcA7K.mjs +1 -0
- package/dist/{cf-command-values-ByHk0xg4.mjs → cf-command-values-Ccl-zRhl.mjs} +10 -7
- package/dist/cf-config-migrate-Dy8MrKgF.mjs +326 -0
- package/dist/{cf-worker-settings-Dg27RzyT.mjs → cf-worker-settings-CARs4Wy9.mjs} +3 -5
- package/dist/cli/cli.mjs +66 -76
- package/dist/cli/cloudflare-operation-process.mjs +14 -18
- package/dist/cli/env-schema-probe.d.mts +1 -5
- package/dist/cli/env-schema-probe.mjs +4 -5
- package/dist/client-DVtAKeUm.mjs +1 -0
- package/dist/{client-B3LnB_bE.mjs → client-Qayy9xEh.mjs} +10 -12
- package/dist/{cloudflare-auth-DyD_kVFr.mjs → cloudflare-auth-CEu-1Ps_.mjs} +2 -3
- package/dist/{cloudflare-cmd-D-b_u3T4.mjs → cloudflare-cmd-DiFGaLow.mjs} +7 -8
- package/dist/{cloudflare-config-CH1AylZT.mjs → cloudflare-config-Chet188_.mjs} +22 -17
- package/dist/{cloudflare-connect-zTJh8UnN.mjs → cloudflare-connect-BdgAQBc7.mjs} +5 -6
- package/dist/{cloudflare-operations-Bc-7fN44.mjs → cloudflare-operations-CWA24vCh.mjs} +8 -9
- package/dist/{cloudflare-operations-BtulCNOg.mjs → cloudflare-operations-D8MoezuN.mjs} +1 -1
- package/dist/{cloudflare-process-8jEYIeim.mjs → cloudflare-process-DjJ638A-.mjs} +7 -9
- package/dist/{cloudflare-user-output-Q-k0QoNQ.mjs → cloudflare-user-output-zEwuGrEJ.mjs} +1 -2
- package/dist/collect-8i0wU63d.mjs +1 -0
- package/dist/{collect-Dew86qce.mjs → collect-C6Blu9yw.mjs} +2 -3
- package/dist/{config-BV2ASlpn.mjs → config-BszFVhpk.mjs} +1 -1
- package/dist/{config-tqMM6DwY.mjs → config-Bt4rw93x.mjs} +5 -6
- package/dist/{config-CAdZVTLN.d.mts → config-CzsNzGVH.d.mts} +2 -6
- package/dist/{config-OFOAimzt.mjs → config-DkA9jYF2.mjs} +4 -5
- package/dist/{config-D-6q7EBH.mjs → config-WlvEcL82.mjs} +3 -4
- package/dist/config-entry.d.mts +1 -3
- package/dist/config-entry.mjs +1 -2
- package/dist/{connect-BOM6zvFX.mjs → connect-b9mJbb6X.mjs} +10 -11
- package/dist/{create-project-Bxd02EHN.mjs → create-project-eomwm0wa.mjs} +9 -11
- package/dist/{create-project-C2K0DN2O.mjs → create-project-rnjum4_V.mjs} +1 -1
- package/dist/{database-provider-Cx525bwX.mjs → database-provider-DkZo4VwN.mjs} +1 -2
- package/dist/database-provider.d.mts +1 -3
- package/dist/database-provider.mjs +1 -1
- package/dist/{db-Cdvr3zwG.mjs → db-UPWmiSk1.mjs} +52 -54
- package/dist/{db-types-0eCiqYb1.mjs → db-types-C_8amnB0.mjs} +3 -4
- package/dist/{delete-lETE6Tpt.mjs → delete-BeeYi1WO.mjs} +7 -8
- package/dist/deploy-CfU7CR-b.mjs +2 -0
- package/dist/{deploy-CdM-LAxX.mjs → deploy-CwmCcTlq.mjs} +83 -112
- package/dist/{deploy-managed-static-DjeBFG2c.mjs → deploy-managed-static-gPDxyp3v.mjs} +33 -40
- package/dist/{deploy-transport-DIq_gFTP.mjs → deploy-transport-L6zzPE9T.mjs} +6 -7
- package/dist/deploy.d.mts +1 -3
- package/dist/deploy.mjs +10 -11
- package/dist/{dev-inbox-D0jxye_D.mjs → dev-inbox-CwH5VuZj.mjs} +3 -4
- package/dist/discover-D4mQthao.mjs +1 -0
- package/dist/{discover-LaV0tbIu.mjs → discover-Dhkzxgdt.mjs} +3 -4
- package/dist/{dispatch-CLa2LThw.mjs → dispatch-CiJ1Xrba.mjs} +12 -15
- package/dist/{dist-Cegxq8gs.mjs → dist-B6eN80gc.mjs} +199 -118
- package/dist/{dist-D15hFhP0.mjs → dist-BWNkVq50.mjs} +8 -15
- package/dist/{dist-Cor9XGoz.mjs → dist-D23AAMxT.mjs} +9 -16
- package/dist/{dist-ipQi0Q8y.mjs → dist-DMYe8CZJ.mjs} +1 -2
- package/dist/{dist-B1PLt4_8.mjs → dist-eV_Ep60B.mjs} +1 -1
- package/dist/{domain-DyhNtdYf.mjs → domain-3xdH9p2L.mjs} +8 -9
- package/dist/{dotenv-CNazY3-w.mjs → dotenv-CEI8hapP.mjs} +1 -2
- package/dist/{drizzle-9TubSZvI.mjs → drizzle-C8MPqt5m.mjs} +1 -1
- package/dist/{drizzle-BQfyvQKX.mjs → drizzle-lFdzSEa9.mjs} +2 -3
- package/dist/{email-B9ayYQEG.mjs → email-BHY72ixO.mjs} +3 -4
- package/dist/{email-DM2wDcBN.mjs → email-Du3YRnM5.mjs} +14 -15
- package/dist/{email-cloudflare-PMbAev9Q.mjs → email-cloudflare-CtD8qE13.mjs} +18 -21
- package/dist/{email-protocol-D9nTvhCp.mjs → email-protocol-DTs_TjCS.mjs} +1 -2
- package/dist/{entry-BEM8ZuGP.mjs → entry-CBZsCy3O.mjs} +5 -6
- package/dist/{env-78hbN-oI.mjs → env-Cnvp0pGy.mjs} +10 -11
- package/dist/{env-BaMz0j7H.mjs → env-CuzZZyjB.mjs} +3 -4
- package/dist/{env-0jrMQJI_.mjs → env-DtKg5G26.mjs} +2 -3
- package/dist/{env-helpers--wFmQ_5Q.mjs → env-helpers-Dj_SIwPu.mjs} +1 -2
- package/dist/{env-helpers-CyKtOBpj.d.mts → env-helpers-U56xuFgL.d.mts} +1 -3
- package/dist/{env-public-6lqiSD2b.d.mts → env-public-CeNeO_AT.d.mts} +2 -4
- package/dist/{env-raw-D74P4ebM.mjs → env-raw-e8qgqAzQ.mjs} +1 -2
- package/dist/{env-types-BicfKBhV.mjs → env-types-DqzVBKnS.mjs} +4 -5
- package/dist/{env-validation-BUfFZ6bt.mjs → env-validation-C8Cmvas0.mjs} +1 -1
- package/dist/{env-validation-B3VobvXm.mjs → env-validation-GV1oD4EV.mjs} +9 -10
- package/dist/{error-pages-CLIJ7aYq.mjs → error-pages-COVBnzK7.mjs} +6 -12
- package/dist/{fetch-CUX0tB78.d.mts → fetch-B-gLGYVl.d.mts} +0 -4
- package/dist/{fetch-CtESUYWd.mjs → fetch-C8yhLoF3.mjs} +3 -4
- package/dist/{fetch-error-Bw0n-IY-.mjs → fetch-error-DmlRM6e4.mjs} +2 -4
- package/dist/{fetch-stream-BspOeTAI.mjs → fetch-stream-DafNtVJC.mjs} +4 -5
- package/dist/{fetch-stream-DfkAzZf-.d.mts → fetch-stream-DuwxWmBM.d.mts} +1 -3
- package/dist/{gen-CFmsUsW1.mjs → gen-BvVmpZ5f.mjs} +12 -13
- package/dist/gen-i61rdQgg.mjs +1 -0
- package/dist/{generate-DkEb9rL-.mjs → generate-BOp1g1H_.mjs} +1 -1
- package/dist/{generate-B1m4Cm4n.mjs → generate-CWb8aOsm.mjs} +4 -5
- package/dist/{generated-wrangler-config-DeWj5F9Y.mjs → generated-wrangler-config-CoDaaFsA.mjs} +1 -2
- package/dist/{git-metadata-D-gurjzG.mjs → git-metadata-Cukp5kV5.mjs} +1 -2
- package/dist/{github-cmd-De-_IWbM.mjs → github-cmd-X2GKiLi-.mjs} +8 -9
- package/dist/{handler-BHktmuTL.d.mts → handler-Drm_lyrV.d.mts} +13 -26
- package/dist/{handler-BZ1t7-Rv.mjs → handler-xmzz0U38.mjs} +4 -5
- package/dist/{head-D2VF4ApL.mjs → head-5XPcnG-j.mjs} +1 -2
- package/dist/{head-C8K_iGe6.d.mts → head-MeF_5M_3.d.mts} +0 -2
- package/dist/{headers--vaK_chu.mjs → headers-DEUBAM6W.mjs} +4 -5
- package/dist/help-BcZDUcTw.mjs +1 -0
- package/dist/{help-CKbrhZha.mjs → help-EWDNxST-.mjs} +19 -11
- package/dist/{inbound-VrOLqwZY.mjs → inbound-DQfekMtz.mjs} +5 -6
- package/dist/{inbound-Da7XsjH3.d.mts → inbound-DSKSHDUj.d.mts} +0 -4
- package/dist/index.d.mts +23 -13
- package/dist/index.mjs +452 -208
- package/dist/{info-Yg0-V5Rs.mjs → info-jW8_d3VI.mjs} +6 -7
- package/dist/{init-CDiJQycf.mjs → init-jDQ5G9QC.mjs} +42 -59
- package/dist/{isr-config-fZaJJ8t7.mjs → isr-config-DhBkzCdY.mjs} +5 -9
- package/dist/{limits-D0vD1M9A.mjs → limits-CrHLm5Tk.mjs} +1 -2
- package/dist/{limits-CFsDKQvU.d.mts → limits-_xIf5z_P.d.mts} +0 -2
- package/dist/{link-Dllip08S.mjs → link-DOyxX5Xs.mjs} +8 -9
- package/dist/{list-BYRP6am0.mjs → list-C9pTYDtl.mjs} +8 -9
- package/dist/{live-BllfDuzA.d.mts → live-CDBHyYiR.d.mts} +2 -4
- package/dist/{live-BcHoTDFe.mjs → live-DF4HUl2m.mjs} +5 -7
- package/dist/{load-user-env-DD5qveNU.mjs → load-user-env-CSwdofj0.mjs} +1 -2
- package/dist/{local-d1-CAwAs9GH.mjs → local-d1-CKfek6Z4.mjs} +4 -5
- package/dist/{log-BMwmN5Ae.mjs → log-D9hwSySP.mjs} +3 -4
- package/dist/login-C0MiQrYs.mjs +1 -0
- package/dist/{login-PcFy5mlC.mjs → login-koQbjzPd.mjs} +6 -7
- package/dist/{logs-DmJTBhed.mjs → logs-cTU5TsRW.mjs} +8 -9
- package/dist/migrate-BG09-KOv.mjs +1 -0
- package/dist/{migrate-B8S2xTcb.mjs → migrate-C62pGTfr.mjs} +20 -16
- package/dist/{migration-handler-CwlEQUoo.d.mts → migration-handler-D8mDx3Ew.d.mts} +0 -4
- package/dist/{migration-handler-Cg0Y4EPu.mjs → migration-handler-DCehTlWs.mjs} +1 -2
- package/dist/{mime-BAyHPskU.mjs → mime-DKkO7ZtA.mjs} +2 -3
- package/dist/{mysql-migration-sql-BIS5vbNk.mjs → mysql-migration-sql-CI9VTwjt.mjs} +3 -5
- package/dist/{neon-DTZr7Bu7.mjs → neon-CJzQSycr.mjs} +2 -3
- package/dist/nitro.d.mts +0 -2
- package/dist/nitro.mjs +5 -6
- package/dist/{node-CDOPrGSl.mjs → node-BfAt2rz8.mjs} +8 -9
- package/dist/{operator-args-BsJIYXaT.mjs → operator-args-D79WQP70.mjs} +2 -3
- package/dist/{operator-auth-Cr2zCc-J.mjs → operator-auth-CfDcmzpo.mjs} +2 -3
- package/dist/{operator-client-C-ROjk1I.mjs → operator-client-BIY4-N_6.mjs} +3 -4
- package/dist/operator-cmd-BhHXIL2G.mjs +1 -0
- package/dist/{operator-cmd-DmkmS2wL.mjs → operator-cmd-CnAvSqJ5.mjs} +8 -9
- package/dist/{output-BpgYODYx.mjs → output-BCdLioKP.mjs} +4 -5
- package/dist/output-E6gecbbV.mjs +1 -0
- package/dist/{package-json-BjYqR-So.mjs → package-json-DvS6IFRv.mjs} +2 -3
- package/dist/pages/client.d.mts +9 -25
- package/dist/pages/client.mjs +28 -33
- package/dist/pages/head.d.mts +1 -1
- package/dist/pages/head.mjs +1 -1
- package/dist/pages/index.d.mts +4 -16
- package/dist/pages/index.mjs +9 -11
- package/dist/pages/islands-plugin.d.mts +29 -11
- package/dist/pages/islands-plugin.mjs +3 -4
- package/dist/pages/prefetch.d.mts +1 -1
- package/dist/pages/prefetch.mjs +1 -1
- package/dist/pages/protocol.d.mts +2 -2
- package/dist/pages/protocol.mjs +2 -2
- package/dist/pages/serialize.d.mts +1 -1
- package/dist/pages/serialize.mjs +1 -1
- package/dist/{pg-J2HbZIkX.mjs → pg-DoyPxa_X.mjs} +1 -2
- package/dist/{picocolors-BsDfhxIw.mjs → picocolors-D1NxSLw-.mjs} +2 -3
- package/dist/{plan-BhLO2p4w.mjs → plan-BOD70XGS.mjs} +1 -2
- package/dist/plan-CQ-N4gws.mjs +1 -0
- package/dist/{platform-args-BMD2gjc_.mjs → platform-args-Bv9hoLEL.mjs} +4 -7
- package/dist/platform-args-C1kqYUen.mjs +1 -0
- package/dist/{platform-auth-config-CImnfohz.mjs → platform-auth-config-CLj0EvnB.mjs} +10 -11
- package/dist/{platform-auth-protection-BogLhtHi.mjs → platform-auth-protection-DQDSxVhr.mjs} +10 -11
- package/dist/{platform-auth-recovery-B-mEaWEi.mjs → platform-auth-recovery-DD3oLerq.mjs} +9 -11
- package/dist/{platform-cmd-DZK2ixMl.mjs → platform-cmd-PLNLg-2N.mjs} +12 -13
- package/dist/{platform-cmd-CV8NxIIn.mjs → platform-cmd-WnOmdLzR.mjs} +1 -1
- package/dist/{platform-discovery-CHhNs8Nn.mjs → platform-discovery-B0eZjZ3B.mjs} +2 -3
- package/dist/{platform-domain-CRvelPGE.mjs → platform-domain-Bnq0vg0q.mjs} +7 -8
- package/dist/{platform-lifecycle-CPYY7E9B.mjs → platform-lifecycle-BCsFg1Tl.mjs} +53 -88
- package/dist/{platform-lifecycle-DwXq7kZt.mjs → platform-lifecycle-BQiN9HN5.mjs} +1 -1
- package/dist/{platform-management-lXdgGgAM.mjs → platform-management-CMJR8Zi-.mjs} +1 -1
- package/dist/{platform-management-BOnGbMSM.mjs → platform-management-nzCDwtiN.mjs} +7 -9
- package/dist/{platform-plans-config-CeydDSj0.mjs → platform-plans-config-Dx1agneU.mjs} +5 -6
- package/dist/{platform-recovery-noaALXnE.mjs → platform-recovery-DBNoME3I.mjs} +5 -6
- package/dist/{platform-registry-B9mWX9LO.mjs → platform-registry-DZ_2Xuqd.mjs} +4 -6
- package/dist/{platform-setup-Ca53gtt0.mjs → platform-setup-VEcHu0Vq.mjs} +4 -5
- package/dist/{plugin-inference-CeiB6BG5.mjs → plugin-inference-DmwjC3y2.mjs} +16 -24
- package/dist/{prefetch-Ce6la4EI.d.mts → prefetch-CG0K6JPd.d.mts} +0 -2
- package/dist/{prefetch-Bsc_Pb6c.mjs → prefetch-L93_1Jk7.mjs} +1 -2
- package/dist/prepare-BJMmfq3W.mjs +1 -0
- package/dist/{prepare-BuOS18AM.mjs → prepare-BPsfLWaW.mjs} +4 -5
- package/dist/{prepare-D604Yiyr.mjs → prepare-pfl2LIMy.mjs} +12 -13
- package/dist/{prerender-render-CaShbHJ3.mjs → prerender-render-RlAj6hh8.mjs} +2 -3
- package/dist/prerender-render.d.mts +1 -3
- package/dist/prerender-render.mjs +1 -1
- package/dist/{project-rqDnVsJN.mjs → project-CLwxcEdq.mjs} +3 -4
- package/dist/{project-zdB3fs9G.mjs → project-DVsTAWFh.mjs} +1 -1
- package/dist/{project-cmd-DBYqAIbe.mjs → project-cmd-5Izu4Pg3.mjs} +21 -23
- package/dist/{project-paths-DGu_QZ_Q.mjs → project-paths-CdGv9Tmi.mjs} +3 -5
- package/dist/project-slug-BUy0lmyR.mjs +1 -0
- package/dist/{project-slug-23TpquG4.mjs → project-slug-CO6ci9XG.mjs} +0 -1
- package/dist/{project-team-BjCLgTRC.mjs → project-team-DSUyjZFh.mjs} +7 -8
- package/dist/{project-token-BB6PwaA9.mjs → project-token-wj09YQSB.mjs} +7 -8
- package/dist/{project-tsconfig-CVvk6Z_e.mjs → project-tsconfig-Cf2NFjlM.mjs} +4 -6
- package/dist/{project-zero-trust-CWDh1P_t.mjs → project-zero-trust-BMHf2YF0.mjs} +7 -8
- package/dist/{protocol-DimNxVRr.mjs → protocol-0-lp9ZYx.mjs} +6 -7
- package/dist/{protocol-D5XDySYu.d.mts → protocol-xdrl-In0.d.mts} +3 -5
- package/dist/{providers-BNKRacMr.d.mts → providers-D5P8j_8D.d.mts} +0 -2
- package/dist/{providers-BUHwJlmM.mjs → providers-ZARwX2cL.mjs} +1 -2
- package/dist/{provision-DztLJ97X.mjs → provision-CRiNnlfE.mjs} +6 -7
- package/dist/{provision-DfxLCg-d.mjs → provision-CxHIGBIZ.mjs} +1 -1
- package/dist/{queues-BWKt1Xo4.d.mts → queues-DdM42xXW.d.mts} +0 -2
- package/dist/{r2-conditions-B8xUgJRc.mjs → r2-conditions-BqkQNt2n.mjs} +1 -2
- package/dist/{requests-D_pbzDyz.mjs → requests-DicgB5jU.mjs} +6 -7
- package/dist/resolve-project-CgfjtOwz.mjs +1 -0
- package/dist/{resolve-project-Xoi6eTWY.mjs → resolve-project-D0YNnJfm.mjs} +4 -5
- package/dist/{resource-name-C7LVpcRm.mjs → resource-name-DlJ9QXzg.mjs} +1 -2
- package/dist/{response-Tn7rU0MV.mjs → response-HmNjB30w.mjs} +1 -2
- package/dist/{rollback-CjfIYsJx.mjs → rollback-DrDZOKNE.mjs} +7 -8
- package/dist/{rolldown-runtime-3h0WiCiA.mjs → rolldown-runtime-uD8oG6U2.mjs} +1 -2
- package/dist/{route-types-DvEGmPif.mjs → route-types-irZc1txT.mjs} +43 -8
- package/dist/route-url-BGOiyKNz.d.mts +24 -0
- package/dist/route-url-CRDF-I0I.mjs +57 -0
- package/dist/routes-stub.d.mts +4 -3
- package/dist/routes-stub.mjs +1 -1
- package/dist/{routing-assets-DdSFxoLp.mjs → routing-assets-DJIVOrCh.mjs} +1 -2
- package/dist/{runner-3uGC-oLF.mjs → runner-5MCSimKx.mjs} +5 -6
- package/dist/{runner-WCdfeI0q.mjs → runner-QMeOpScZ.mjs} +1 -1
- package/dist/{runner-mysql-BcHnLUuM.mjs → runner-mysql-0zVmB1JW.mjs} +1 -1
- package/dist/{runner-mysql-BWmbk5IE.mjs → runner-mysql-Bdmsp_x4.mjs} +3 -4
- package/dist/{runner-pg-Cgp-cr_p.mjs → runner-pg-2pjltt0t.mjs} +1 -1
- package/dist/{runner-pg-Cr3qrqi4.mjs → runner-pg-mYc75KfH.mjs} +2 -3
- package/dist/runtime/ai.d.mts +0 -4
- package/dist/runtime/ai.mjs +6 -8
- package/dist/runtime/auth-client-react.d.mts +1 -1
- package/dist/runtime/auth-client-react.mjs +1 -1
- package/dist/runtime/auth-client-solid.d.mts +1 -1
- package/dist/runtime/auth-client-solid.mjs +1 -1
- package/dist/runtime/auth-client-svelte.d.mts +1 -1
- package/dist/runtime/auth-client-svelte.mjs +1 -1
- package/dist/runtime/auth-client-vue.d.mts +1 -1
- package/dist/runtime/auth-client-vue.mjs +1 -1
- package/dist/runtime/auth-client.d.mts +1 -1
- package/dist/runtime/auth-client.mjs +1 -1
- package/dist/runtime/auth.d.mts +1 -1
- package/dist/runtime/auth.mjs +1 -1
- package/dist/runtime/better-auth-mysql.d.mts +2 -4
- package/dist/runtime/better-auth-mysql.mjs +3 -4
- package/dist/runtime/better-auth-pg.d.mts +2 -4
- package/dist/runtime/better-auth-pg.mjs +4 -5
- package/dist/runtime/better-auth.d.mts +2 -4
- package/dist/runtime/better-auth.mjs +3 -4
- package/dist/runtime/client-react.d.mts +4 -4
- package/dist/runtime/client-react.mjs +4 -4
- package/dist/runtime/client-solid.d.mts +4 -4
- package/dist/runtime/client-solid.mjs +4 -4
- package/dist/runtime/client-svelte.d.mts +4 -4
- package/dist/runtime/client-svelte.mjs +4 -4
- package/dist/runtime/client-vue.d.mts +4 -4
- package/dist/runtime/client-vue.mjs +4 -4
- package/dist/runtime/client.d.mts +4 -4
- package/dist/runtime/client.mjs +4 -4
- package/dist/runtime/db.d.mts +0 -2
- package/dist/runtime/db.mjs +2 -3
- package/dist/runtime/durable.d.mts +0 -2
- package/dist/runtime/durable.mjs +3 -4
- package/dist/runtime/email/testing.d.mts +1 -5
- package/dist/runtime/email/testing.mjs +5 -6
- package/dist/runtime/email-protocol.d.mts +0 -2
- package/dist/runtime/email-protocol.mjs +1 -1
- package/dist/runtime/email.d.mts +1 -5
- package/dist/runtime/email.mjs +6 -7
- package/dist/runtime/env-public-client.d.mts +1 -3
- package/dist/runtime/env-public-client.mjs +2 -3
- package/dist/runtime/env-public.d.mts +2 -2
- package/dist/runtime/env-public.mjs +5 -7
- package/dist/runtime/env.d.mts +0 -4
- package/dist/runtime/env.mjs +1 -1
- package/dist/runtime/fetch-server.d.mts +1 -3
- package/dist/runtime/fetch-server.mjs +3 -4
- package/dist/runtime/fetch-stream.d.mts +2 -2
- package/dist/runtime/fetch-stream.mjs +2 -2
- package/dist/runtime/fetch.d.mts +1 -1
- package/dist/runtime/fetch.mjs +2 -2
- package/dist/runtime/handler.d.mts +1 -1
- package/dist/runtime/handler.mjs +2 -2
- package/dist/runtime/isr.d.mts +1 -3
- package/dist/runtime/isr.mjs +2 -3
- package/dist/runtime/kv.d.mts +1 -3
- package/dist/runtime/kv.mjs +2 -3
- package/dist/runtime/limits.d.mts +1 -1
- package/dist/runtime/limits.mjs +1 -1
- package/dist/runtime/live-client.d.mts +1 -3
- package/dist/runtime/live-client.mjs +1 -2
- package/dist/runtime/live-server.d.mts +0 -2
- package/dist/runtime/live-server.mjs +3 -4
- package/dist/runtime/live.d.mts +1 -1
- package/dist/runtime/live.mjs +1 -1
- package/dist/runtime/log.d.mts +3 -3
- package/dist/runtime/log.mjs +26 -18
- package/dist/runtime/migration-handler-mysql.d.mts +2 -4
- package/dist/runtime/migration-handler-mysql.mjs +2 -3
- package/dist/runtime/migration-handler-pg.d.mts +2 -4
- package/dist/runtime/migration-handler-pg.mjs +2 -3
- package/dist/runtime/migration-handler.d.mts +1 -1
- package/dist/runtime/migration-handler.mjs +1 -1
- package/dist/runtime/queues.d.mts +1 -1
- package/dist/runtime/queues.mjs +2 -3
- package/dist/runtime/remote/binding-handler.d.mts +1 -3
- package/dist/runtime/remote/binding-handler.mjs +3 -4
- package/dist/runtime/remote/index.d.mts +1 -3
- package/dist/runtime/remote/index.mjs +8 -13
- package/dist/runtime/response.d.mts +1 -3
- package/dist/runtime/response.mjs +1 -1
- package/dist/runtime/route-url.d.mts +2 -2
- package/dist/runtime/route-url.mjs +1 -1
- package/dist/runtime/routing.d.mts +7 -10
- package/dist/runtime/routing.mjs +18 -19
- package/dist/runtime/sandbox-container.d.mts +1 -1
- package/dist/runtime/sandbox-container.mjs +1 -1
- package/dist/runtime/sandbox.d.mts +2 -2
- package/dist/runtime/sandbox.mjs +5 -6
- package/dist/runtime/seed.d.mts +0 -2
- package/dist/runtime/seed.mjs +1 -2
- package/dist/runtime/sse-client.d.mts +1 -3
- package/dist/runtime/sse-client.mjs +1 -2
- package/dist/runtime/sse.d.mts +1 -3
- package/dist/runtime/sse.mjs +1 -1
- package/dist/runtime/storage.d.mts +1 -3
- package/dist/runtime/storage.mjs +2 -3
- package/dist/runtime/validator.d.mts +1 -1
- package/dist/runtime/validator.mjs +1 -1
- package/dist/runtime/ws-server.d.mts +3 -5
- package/dist/runtime/ws-server.mjs +3 -4
- package/dist/runtime/ws.d.mts +1 -1
- package/dist/runtime/ws.mjs +3 -4
- package/dist/{sandbox-q3waMc2T.d.mts → sandbox-DE1WsxuB.d.mts} +2 -4
- package/dist/{sandbox-container-a9LRUtii.mjs → sandbox-container-BuxhwCgt.mjs} +1 -2
- package/dist/{sandbox-container-ChQRum-j.d.mts → sandbox-container-CZFZdMso.d.mts} +0 -2
- package/dist/{scan-N9WzdcAl.mjs → scan-DSQtH3oS.mjs} +31 -25
- package/dist/{secret-3X0PxmuX.mjs → secret-C_QtTzJG.mjs} +17 -15
- package/dist/{serialize-YHvlcG3Q.mjs → serialize-DUuYuaY3.mjs} +2 -4
- package/dist/{serialize-DtR8Vwa_.d.mts → serialize-I4EmS-Wf.d.mts} +0 -2
- package/dist/{skills-CrUO3PJ0.mjs → skills-D393E4lB.mjs} +4 -5
- package/dist/{sqlite-validation-BzKMWnO4.mjs → sqlite-validation-CLJXXN93.mjs} +1 -2
- package/dist/{sse-CMvCgjNk.mjs → sse-CxR30yMF.mjs} +1 -2
- package/dist/{standard-schema-Fo_vCAZh.d.mts → standard-schema-CuDawHOC.d.mts} +0 -2
- package/dist/{static-asset-marker-Btf-6oCD.mjs → static-asset-marker-NR1XS2z5.mjs} +1 -2
- package/dist/{subcommand-prompt-D9OhhbGG.mjs → subcommand-prompt-CxJXporl.mjs} +3 -4
- package/dist/sveltekit.d.mts +0 -2
- package/dist/sveltekit.mjs +2 -3
- package/dist/{terminal-log-text-D9ACPOuG.mjs → terminal-log-text-DNsWJREL.mjs} +1 -2
- package/dist/{types-w72dljaA.d.mts → types-agfx0alu.d.mts} +0 -4
- package/dist/validate-DY1U9rET.mjs +1 -0
- package/dist/{validate-CnZPMq4q.mjs → validate-Ddzl-IwT.mjs} +4 -5
- package/dist/{validation-error-Dg9Recn1.mjs → validation-error-rDVbUJet.mjs} +2 -4
- package/dist/{validator-BTOu0fB0.mjs → validator-CTfmzZYb.mjs} +2 -5
- package/dist/{version-metadata-D2vfMQzv.mjs → version-metadata-Blf5H9BQ.mjs} +4 -6
- package/dist/{worker-conditions-AWFRcFxR.mjs → worker-conditions-CBZ0RYsZ.mjs} +1 -2
- package/dist/wrangler-CPRX2d9A.mjs +1 -0
- package/dist/{wrangler-I-scB_1t.mjs → wrangler-p-kLCJqF.mjs} +6 -8
- package/dist/{wrapper-BBl1rC32.mjs → wrapper-iejSJDwL.mjs} +17 -14
- package/dist/{ws-B3ClMVDh.d.mts → ws-DzBD-NUj.d.mts} +3 -5
- package/dist/{yarn-pnp-DLbEFMT0.mjs → yarn-pnp-DgWbE7z5.mjs} +2 -3
- package/docs/guide/database.md +4 -4
- package/docs/guide/deployment.md +1 -1
- package/docs/guide/edge/headers.md +2 -6
- package/docs/guide/edge/redirects.md +4 -4
- package/docs/guide/edge/static-assets.md +0 -10
- package/docs/guide/email/domains.md +3 -1
- package/docs/guide/email/receiving.md +3 -3
- package/docs/guide/email/sending.md +1 -1
- package/docs/guide/pages-routing/actions-and-forms.md +6 -9
- package/docs/guide/pages-routing/islands.md +2 -2
- package/docs/guide/pages-routing/loaders.md +3 -3
- package/docs/guide/pages-routing/markdown.md +6 -6
- package/docs/guide/pages-routing/overview.md +34 -27
- package/docs/guide/platform/administration/email.md +6 -8
- package/docs/guide/platform/installation/credentials.md +6 -6
- package/docs/guide/platform/installation/maintenance.md +9 -25
- package/docs/guide/platform/installation/prerequisites.md +1 -1
- package/docs/guide/platform/installation/setup.md +1 -1
- package/docs/guide/platform/installation/uninstall.md +1 -1
- package/docs/guide/queues.md +4 -8
- package/docs/guide/self-hosted-platform.md +3 -3
- package/docs/guide/server-routing.md +7 -7
- package/docs/guide/type-safety.md +42 -0
- package/docs/guide/typed-fetch.md +1 -1
- package/docs/guide/websockets.md +1 -1
- package/docs/integrations/cloudflare.md +2 -2
- package/docs/integrations/frameworks/analog.md +1 -1
- package/docs/integrations/frameworks/nuxt.md +1 -1
- package/docs/integrations/frameworks/sveltekit.md +1 -1
- package/docs/integrations/frameworks/tanstack-start.md +1 -1
- package/docs/integrations/hono.md +5 -5
- package/docs/reference/api/auth.md +1 -1
- package/docs/reference/api/deploy.md +6 -6
- package/docs/reference/api/pages.md +9 -1
- package/docs/reference/api/plugin.md +4 -4
- package/docs/reference/api/resources.md +4 -1
- package/docs/reference/api/rewrites.md +20 -2
- package/docs/reference/api/types.md +41 -0
- package/docs/reference/api.md +2 -2
- package/docs/reference/cli/database.md +15 -9
- package/docs/reference/cli/email.md +4 -2
- package/docs/reference/cli/platform-installation.md +2 -2
- package/docs/reference/cli/project.md +2 -2
- package/docs/reference/cli/secrets.md +3 -1
- package/docs/reference/cli/setup.md +3 -3
- package/docs/reference/cli.md +1 -1
- package/docs/reference/config.md +2 -2
- package/package.json +35 -32
- package/sandbox.Dockerfile +1 -1
- package/dist/cf-build-output-bd8Uwv1P.mjs +0 -1
- package/dist/client-BZb9j66F.mjs +0 -1
- package/dist/collect-BWhkgtAn.mjs +0 -1
- package/dist/deploy-CX94CmKa.mjs +0 -2
- package/dist/discover-D4TPKo57.mjs +0 -1
- package/dist/gen-BhWBT4iu.mjs +0 -1
- package/dist/help-qOZr3wng.mjs +0 -1
- package/dist/login-BAPmYnb7.mjs +0 -1
- package/dist/migrate-BIYTPQE6.mjs +0 -1
- package/dist/operator-cmd-CjazwOyb.mjs +0 -1
- package/dist/output-BW9uK099.mjs +0 -1
- package/dist/plan-CKX_jWnD.mjs +0 -1
- package/dist/platform-args-BC8_hsDj.mjs +0 -1
- package/dist/prepare-DU-tOpS5.mjs +0 -1
- package/dist/project-slug-6cyz8E7k.mjs +0 -1
- package/dist/resolve-project-DD1vu8s9.mjs +0 -1
- package/dist/route-url-BgPja1GS.d.mts +0 -5
- package/dist/route-url-BjGv_KKY.mjs +0 -28
- package/dist/validate-D7Wn8PUX.mjs +0 -1
- package/dist/wrangler-UnwdISay.mjs +0 -1
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
import { a as join, n as dirname } from "./dist-DMYe8CZJ.mjs";
|
|
2
|
+
import { mkdirSync, mkdtempSync, rmSync, symlinkSync, writeFileSync } from "node:fs";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { isRecord } from "@void/deploy-core";
|
|
5
|
+
import { tmpdir } from "node:os";
|
|
6
|
+
import { isDeepStrictEqual } from "node:util";
|
|
7
|
+
import { spawnSync } from "node:child_process";
|
|
8
|
+
import { InputConfigSchema } from "@cloudflare/config";
|
|
9
|
+
// src/cli/cf-config-migrate.ts
|
|
10
|
+
function record(value) {
|
|
11
|
+
return isRecord(value) ? value : null;
|
|
12
|
+
}
|
|
13
|
+
function empty(value) {
|
|
14
|
+
return value === void 0 || value === null || Array.isArray(value) && value.length === 0 || record(value) !== null && Object.keys(value).length === 0;
|
|
15
|
+
}
|
|
16
|
+
/** Remove build-only fields and settings translated into cf's typed config below. */
|
|
17
|
+
function migrationInput(raw) {
|
|
18
|
+
const result = { ...raw };
|
|
19
|
+
if (!empty(result.rules) && !isDeepStrictEqual(result.rules, [{
|
|
20
|
+
type: "ESModule",
|
|
21
|
+
globs: ["**/*.js", "**/*.mjs"]
|
|
22
|
+
}])) throw new Error("cf cannot yet preserve custom Worker module rules in a prebuilt bundle.");
|
|
23
|
+
if (empty(result.logfwdr) || isDeepStrictEqual(result.logfwdr, { bindings: [] })) delete result.logfwdr;
|
|
24
|
+
for (const key of [
|
|
25
|
+
"configPath",
|
|
26
|
+
"userConfigPath",
|
|
27
|
+
"topLevelName",
|
|
28
|
+
"main",
|
|
29
|
+
"jsx_factory",
|
|
30
|
+
"jsx_fragment",
|
|
31
|
+
"rules",
|
|
32
|
+
"python_modules",
|
|
33
|
+
"dev",
|
|
34
|
+
"no_bundle",
|
|
35
|
+
"build",
|
|
36
|
+
"keep_vars",
|
|
37
|
+
"keep_secrets",
|
|
38
|
+
"keep_assets",
|
|
39
|
+
"send_metrics",
|
|
40
|
+
"workflows"
|
|
41
|
+
]) delete result[key];
|
|
42
|
+
for (const [key, value] of Object.entries(result)) if (empty(value)) delete result[key];
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
function applyPreservationFlags(raw, worker) {
|
|
46
|
+
const keepBindings = [...raw.keep_vars === true ? ["plain_text", "json"] : [], ...raw.keep_secrets === true ? ["secret_text", "secret_key"] : []];
|
|
47
|
+
if (keepBindings.length === 0 && raw.keep_assets !== true) return;
|
|
48
|
+
const unsafe = record(worker.unsafe) ?? {};
|
|
49
|
+
const metadata = record(unsafe.metadata) ?? {};
|
|
50
|
+
const previous = metadata.keep_bindings;
|
|
51
|
+
if (previous !== void 0 && (!Array.isArray(previous) || !previous.every((value) => typeof value === "string"))) throw new Error("Invalid keep_bindings in the built Cloudflare config.");
|
|
52
|
+
worker.unsafe = {
|
|
53
|
+
...unsafe,
|
|
54
|
+
metadata: {
|
|
55
|
+
...metadata,
|
|
56
|
+
...keepBindings.length > 0 ? { keep_bindings: [.../* @__PURE__ */ new Set([...previous ?? [], ...keepBindings])] } : {},
|
|
57
|
+
...raw.keep_assets === true ? { keep_assets: true } : {}
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function applyWorkflows(raw, worker) {
|
|
62
|
+
if (empty(raw.workflows)) return;
|
|
63
|
+
if (!Array.isArray(raw.workflows)) throw new Error("Invalid Workflow bindings in the built Cloudflare config.");
|
|
64
|
+
const env = record(worker.env) ?? {};
|
|
65
|
+
const exports = record(worker.exports) ?? {};
|
|
66
|
+
for (const item of raw.workflows) {
|
|
67
|
+
const workflow = record(item);
|
|
68
|
+
if (!workflow || typeof workflow.binding !== "string" || typeof workflow.name !== "string" || typeof workflow.class_name !== "string" || workflow.script_name !== void 0 && typeof workflow.script_name !== "string") throw new Error("Invalid Workflow binding in the built Cloudflare config.");
|
|
69
|
+
const allowed = /* @__PURE__ */ new Set([
|
|
70
|
+
"binding",
|
|
71
|
+
"name",
|
|
72
|
+
"class_name",
|
|
73
|
+
"script_name",
|
|
74
|
+
"limits",
|
|
75
|
+
"concurrency",
|
|
76
|
+
"schedules",
|
|
77
|
+
"default_retention"
|
|
78
|
+
]);
|
|
79
|
+
for (const key of Object.keys(workflow)) if (!allowed.has(key)) throw new Error(`cf cannot migrate Workflow setting ${key}.`);
|
|
80
|
+
if (Object.hasOwn(env, workflow.binding)) throw new Error(`Duplicate Worker binding ${workflow.binding}.`);
|
|
81
|
+
env[workflow.binding] = {
|
|
82
|
+
type: "workflow",
|
|
83
|
+
name: workflow.name,
|
|
84
|
+
worker: workflow.script_name ?? worker.name,
|
|
85
|
+
exportName: workflow.class_name
|
|
86
|
+
};
|
|
87
|
+
if (workflow.script_name !== void 0 && workflow.script_name !== worker.name) continue;
|
|
88
|
+
const retention = record(workflow.default_retention);
|
|
89
|
+
if (Object.hasOwn(exports, workflow.class_name)) throw new Error(`Duplicate Worker export ${workflow.class_name}.`);
|
|
90
|
+
const schedules = Array.isArray(workflow.schedules) && workflow.schedules.length === 0 ? void 0 : workflow.schedules;
|
|
91
|
+
exports[workflow.class_name] = {
|
|
92
|
+
type: "workflow",
|
|
93
|
+
name: workflow.name,
|
|
94
|
+
...workflow.limits !== void 0 ? { limits: workflow.limits } : {},
|
|
95
|
+
...workflow.concurrency !== void 0 ? { concurrency: workflow.concurrency } : {},
|
|
96
|
+
...schedules !== void 0 ? { schedules } : {},
|
|
97
|
+
...retention ? { defaultRetention: {
|
|
98
|
+
...retention.success_retention !== void 0 ? { successRetention: retention.success_retention } : {},
|
|
99
|
+
...retention.error_retention !== void 0 ? { errorRetention: retention.error_retention } : {}
|
|
100
|
+
} } : {}
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
worker.env = env;
|
|
104
|
+
worker.exports = exports;
|
|
105
|
+
}
|
|
106
|
+
function uncredentialedEnvironment() {
|
|
107
|
+
const env = { ...process.env };
|
|
108
|
+
for (const key of Object.keys(env)) if (/^(?:CLOUDFLARE|CF_|WRANGLER|VOID_PLATFORM_|DATABASE_URL|VOID_ACCESS_)/i.test(key)) delete env[key];
|
|
109
|
+
env.CF_DELEGATION = "1";
|
|
110
|
+
return env;
|
|
111
|
+
}
|
|
112
|
+
function assertHandledFollowUps(followUps) {
|
|
113
|
+
for (const item of followUps) {
|
|
114
|
+
if (!item.blocking) continue;
|
|
115
|
+
if (item.code === "vite-plugin-install-disabled" && item.sourcePath === void 0) continue;
|
|
116
|
+
const path = item.sourcePath ?? item.code;
|
|
117
|
+
if (!((path === "assets.directory" || /^env\.[^.]+\.assets\.directory$/.test(path)) && item.message.includes("assets directory") || /^d1_databases\.\d+$/.test(path) && /`migrations_(?:dir|table)`/.test(item.message) || /^durable_objects\.bindings\.\d+$/.test(path) || path === "migrations" || path === "containers")) throw new Error(`cf cannot migrate Cloudflare setting ${path}: ${item.message}`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function durableObjectExports(raw) {
|
|
121
|
+
const migrations = raw.migrations;
|
|
122
|
+
if (migrations === void 0 || Array.isArray(migrations) && migrations.length === 0) return {};
|
|
123
|
+
if (!Array.isArray(migrations) || !migrations.every((entry) => record(entry))) throw new Error("Invalid Durable Object migrations in the built Cloudflare config.");
|
|
124
|
+
const exports = {};
|
|
125
|
+
for (const migration of migrations) {
|
|
126
|
+
const known = /* @__PURE__ */ new Set([
|
|
127
|
+
"tag",
|
|
128
|
+
"new_classes",
|
|
129
|
+
"new_sqlite_classes",
|
|
130
|
+
"renamed_classes",
|
|
131
|
+
"deleted_classes"
|
|
132
|
+
]);
|
|
133
|
+
for (const key of Object.keys(migration)) if (!known.has(key)) throw new Error(`cf cannot migrate Durable Object migration setting ${key}.`);
|
|
134
|
+
for (const [field, storage] of [["new_classes", "legacy-kv"], ["new_sqlite_classes", "sqlite"]]) {
|
|
135
|
+
const classes = migration[field] ?? [];
|
|
136
|
+
if (!Array.isArray(classes) || !classes.every((name) => typeof name === "string")) throw new Error(`Invalid ${field} in the built Cloudflare config.`);
|
|
137
|
+
for (const name of classes) exports[name] = {
|
|
138
|
+
type: "durable-object",
|
|
139
|
+
storage
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
const renamed = migration.renamed_classes ?? [];
|
|
143
|
+
if (!Array.isArray(renamed) || !renamed.every((entry) => record(entry))) throw new Error("Invalid renamed_classes in the built Cloudflare config.");
|
|
144
|
+
for (const item of renamed) {
|
|
145
|
+
if (typeof item.from !== "string" || typeof item.to !== "string") throw new Error("Invalid Durable Object class rename in the built Cloudflare config.");
|
|
146
|
+
const old = record(exports[item.from]);
|
|
147
|
+
if (!old || old.storage !== "sqlite" && old.storage !== "legacy-kv") throw new Error(`Cannot determine the storage of renamed Durable Object ${item.from}.`);
|
|
148
|
+
exports[item.from] = {
|
|
149
|
+
type: "durable-object",
|
|
150
|
+
state: "renamed",
|
|
151
|
+
renamedTo: item.to
|
|
152
|
+
};
|
|
153
|
+
exports[item.to] = {
|
|
154
|
+
type: "durable-object",
|
|
155
|
+
storage: old.storage
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
const deleted = migration.deleted_classes ?? [];
|
|
159
|
+
if (!Array.isArray(deleted) || !deleted.every((name) => typeof name === "string")) throw new Error("Invalid deleted_classes in the built Cloudflare config.");
|
|
160
|
+
for (const name of deleted) exports[name] = {
|
|
161
|
+
type: "durable-object",
|
|
162
|
+
state: "deleted"
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
return exports;
|
|
166
|
+
}
|
|
167
|
+
function containersFromWrangler(raw, exports) {
|
|
168
|
+
const values = raw.containers;
|
|
169
|
+
if (values === void 0) return [];
|
|
170
|
+
if (!Array.isArray(values) || !values.every((value) => record(value))) throw new Error("Invalid Containers in the built Cloudflare config.");
|
|
171
|
+
return values.map((value) => {
|
|
172
|
+
if (typeof value.name !== "string" || typeof value.class_name !== "string") throw new Error("cf requires a name and class_name for each Container.");
|
|
173
|
+
const managed = value.scheduling_policy === "durable_object";
|
|
174
|
+
const fields = new Set(managed ? [
|
|
175
|
+
"name",
|
|
176
|
+
"class_name",
|
|
177
|
+
"scheduling_policy",
|
|
178
|
+
"images"
|
|
179
|
+
] : [
|
|
180
|
+
"name",
|
|
181
|
+
"class_name",
|
|
182
|
+
"image",
|
|
183
|
+
"max_instances",
|
|
184
|
+
"instance_type"
|
|
185
|
+
]);
|
|
186
|
+
for (const key of Object.keys(value)) if (!fields.has(key)) throw new Error(`cf cannot migrate Container setting ${key}.`);
|
|
187
|
+
const declaration = record(exports[value.class_name]);
|
|
188
|
+
if (!declaration || declaration.storage !== "sqlite") throw new Error(`Container ${value.name} needs a SQLite Durable Object export.`);
|
|
189
|
+
declaration.container = value.name;
|
|
190
|
+
if (managed) {
|
|
191
|
+
const images = record(value.images);
|
|
192
|
+
if (!images) throw new Error("A Sandbox requires a named image.");
|
|
193
|
+
return {
|
|
194
|
+
name: value.name,
|
|
195
|
+
schedulingPolicy: "durable-object",
|
|
196
|
+
images: Object.fromEntries(Object.entries(images).map(([name, image]) => {
|
|
197
|
+
const source = record(image);
|
|
198
|
+
if (!source || Object.keys(source).some((key) => ![
|
|
199
|
+
"dockerfile",
|
|
200
|
+
"build_context",
|
|
201
|
+
"image"
|
|
202
|
+
].includes(key)) || source.dockerfile !== void 0 && source.image !== void 0 || source.build_context !== void 0 && typeof source.build_context !== "string") throw new Error("Invalid Sandbox image.");
|
|
203
|
+
if (typeof source.dockerfile === "string") return [name, {
|
|
204
|
+
dockerfile: source.dockerfile,
|
|
205
|
+
...typeof source.build_context === "string" ? { buildContext: source.build_context } : {}
|
|
206
|
+
}];
|
|
207
|
+
if (typeof source.image === "string") return [name, { reference: source.image }];
|
|
208
|
+
throw new Error("Invalid Sandbox image source.");
|
|
209
|
+
}))
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
if (typeof value.image !== "string") throw new Error("A Container requires an image.");
|
|
213
|
+
return {
|
|
214
|
+
name: value.name,
|
|
215
|
+
image: { reference: value.image },
|
|
216
|
+
...typeof value.max_instances === "number" ? { maxInstances: value.max_instances } : {},
|
|
217
|
+
...typeof value.instance_type === "string" ? { instanceType: value.instance_type } : {}
|
|
218
|
+
};
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
const migrationScript = String.raw`
|
|
222
|
+
import { readFileSync, writeFileSync } from 'node:fs';
|
|
223
|
+
import { dirname, join } from 'node:path';
|
|
224
|
+
import { pathToFileURL } from 'node:url';
|
|
225
|
+
const { migrateWranglerToCf } = await import(process.argv[1]);
|
|
226
|
+
const configPath = process.argv[2];
|
|
227
|
+
const migration = await migrateWranglerToCf(configPath, {
|
|
228
|
+
bundler: 'vite', force: true, installDependencies: false,
|
|
229
|
+
});
|
|
230
|
+
const directory = dirname(configPath);
|
|
231
|
+
const generated = readFileSync(join(directory, 'cloudflare.config.ts'), 'utf8');
|
|
232
|
+
const executable = generated.replace(/^throw new Error\("Migration incomplete\.[^\n]*\);\s*$/m, '');
|
|
233
|
+
if (executable === generated && migration.status !== 'complete') {
|
|
234
|
+
throw new Error('cf did not provide a usable Cloudflare configuration.');
|
|
235
|
+
}
|
|
236
|
+
const executablePath = join(directory, 'cloudflare.config.mjs');
|
|
237
|
+
writeFileSync(executablePath, executable, { mode: 0o600 });
|
|
238
|
+
const input = (await import(pathToFileURL(executablePath).href)).default;
|
|
239
|
+
const { resolveAndParseConfig } = await import(process.argv[3]);
|
|
240
|
+
const parsed = await resolveAndParseConfig(input, { isPreview: false, mode: process.argv[4] ?? 'production' });
|
|
241
|
+
if (!parsed.success) throw new Error('cf did not generate a valid Worker configuration.');
|
|
242
|
+
const config = parsed.data;
|
|
243
|
+
process.stdout.write(JSON.stringify({ config, followUps: migration.followUps }));
|
|
244
|
+
`;
|
|
245
|
+
function migrateBuiltWranglerConfig(raw, mode = "production") {
|
|
246
|
+
const environment = record(record(raw.env)?.[mode]);
|
|
247
|
+
const effective = environment ? {
|
|
248
|
+
...raw,
|
|
249
|
+
...environment
|
|
250
|
+
} : raw;
|
|
251
|
+
if (environment) {
|
|
252
|
+
for (const key of [
|
|
253
|
+
"durable_objects",
|
|
254
|
+
"workflows",
|
|
255
|
+
"containers"
|
|
256
|
+
]) if (!(key in environment)) delete effective[key];
|
|
257
|
+
}
|
|
258
|
+
const cfPackage = fileURLToPath(import.meta.resolve("cf/package.json"));
|
|
259
|
+
const directory = mkdtempSync(join(tmpdir(), "void-cf-config-"));
|
|
260
|
+
try {
|
|
261
|
+
mkdirSync(join(directory, "node_modules"));
|
|
262
|
+
symlinkSync(dirname(cfPackage), join(directory, "node_modules", "cf"), "junction");
|
|
263
|
+
writeFileSync(join(directory, "package.json"), JSON.stringify({
|
|
264
|
+
name: "void-private-cf-build",
|
|
265
|
+
private: true,
|
|
266
|
+
type: "module",
|
|
267
|
+
dependencies: {
|
|
268
|
+
cf: "1.0.0",
|
|
269
|
+
"@cloudflare/vite-plugin": "1.0.0"
|
|
270
|
+
}
|
|
271
|
+
}), { mode: 384 });
|
|
272
|
+
const configPath = join(directory, "wrangler.json");
|
|
273
|
+
writeFileSync(configPath, JSON.stringify(migrationInput(raw)), { mode: 384 });
|
|
274
|
+
const migrated = spawnSync(process.execPath, [
|
|
275
|
+
"--input-type=module",
|
|
276
|
+
"-e",
|
|
277
|
+
migrationScript,
|
|
278
|
+
import.meta.resolve("@cloudflare/codemods"),
|
|
279
|
+
configPath,
|
|
280
|
+
import.meta.resolve("@cloudflare/config"),
|
|
281
|
+
mode
|
|
282
|
+
], {
|
|
283
|
+
cwd: directory,
|
|
284
|
+
env: uncredentialedEnvironment(),
|
|
285
|
+
encoding: "utf8",
|
|
286
|
+
timeout: 3e4,
|
|
287
|
+
maxBuffer: 4194304
|
|
288
|
+
});
|
|
289
|
+
if (migrated.status !== 0 || migrated.error) throw new Error("cf could not translate the built Cloudflare configuration.");
|
|
290
|
+
const migration = JSON.parse(migrated.stdout);
|
|
291
|
+
assertHandledFollowUps(migration.followUps);
|
|
292
|
+
const result = record(migration.config);
|
|
293
|
+
const worker = record(result?.worker);
|
|
294
|
+
if (!result || !worker) throw new Error("cf did not generate a Worker configuration.");
|
|
295
|
+
applyPreservationFlags(effective, worker);
|
|
296
|
+
applyWorkflows(effective, worker);
|
|
297
|
+
const exports = {
|
|
298
|
+
...record(worker.exports),
|
|
299
|
+
...durableObjectExports(effective)
|
|
300
|
+
};
|
|
301
|
+
const containers = containersFromWrangler(effective, exports);
|
|
302
|
+
if (containers.length > 0) {
|
|
303
|
+
const envBindings = record(worker.env);
|
|
304
|
+
const durableBindings = record(effective.durable_objects)?.bindings;
|
|
305
|
+
if (!envBindings || !Array.isArray(durableBindings)) throw new Error("A Container Durable Object binding was not found in the built config.");
|
|
306
|
+
for (const container of containers) {
|
|
307
|
+
const className = effective.containers.find((entry) => entry.name === container.name)?.class_name;
|
|
308
|
+
const binding = durableBindings.find((entry) => record(entry)?.class_name === className);
|
|
309
|
+
if (!record(binding) || typeof binding.name !== "string" || binding.script_name !== void 0 && binding.script_name !== worker.name) throw new Error(`Container ${container.name} must use a local Durable Object binding.`);
|
|
310
|
+
envBindings[binding.name] = {
|
|
311
|
+
type: "unsafe:durable_object_namespace",
|
|
312
|
+
class_name: className
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
result.containers = containers;
|
|
316
|
+
}
|
|
317
|
+
if (Object.keys(exports).length > 0) worker.exports = exports;
|
|
318
|
+
return InputConfigSchema.parse(result);
|
|
319
|
+
} finally {
|
|
320
|
+
rmSync(directory, {
|
|
321
|
+
recursive: true,
|
|
322
|
+
force: true
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
export { record as n, migrateBuiltWranglerConfig as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { n as getOwnVersion } from "./agents-
|
|
1
|
+
import { n as getOwnVersion } from "./agents-DRo8gzni.mjs";
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
3
|
import { isRecord } from "@void/deploy-core";
|
|
4
|
-
|
|
4
|
+
// src/cli/cf-user-agent.ts
|
|
5
5
|
let voidUserAgent;
|
|
6
6
|
let cfCliVersion;
|
|
7
7
|
function getVoidUserAgent() {
|
|
@@ -13,8 +13,7 @@ function getCfCliVersion(attribution) {
|
|
|
13
13
|
if (cfCliVersion === void 0) cfCliVersion = `${JSON.parse(readFileSync(new URL(import.meta.resolve("cf/package.json")), "utf8")).version} ${getVoidUserAgent()}`;
|
|
14
14
|
return attribution ? `${cfCliVersion} ${attribution}` : cfCliVersion;
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
//#region src/cli/cf-worker-settings.ts
|
|
16
|
+
// src/cli/cf-worker-settings.ts
|
|
18
17
|
/** Version uploads leave Worker-wide settings untouched; publish only explicit configuration. */
|
|
19
18
|
async function publishCloudflareWorkerSettings(options) {
|
|
20
19
|
if (options.observability !== void 0 && !isRecord(options.observability)) throw new Error("The Cloudflare Worker observability settings were not readable.");
|
|
@@ -39,5 +38,4 @@ async function publishCloudflareWorkerSettings(options) {
|
|
|
39
38
|
const body = await response.json();
|
|
40
39
|
if (!response.ok || !isRecord(body) || body.success !== true) throw new Error(`Cloudflare did not update Worker settings (HTTP ${response.status}).`);
|
|
41
40
|
}
|
|
42
|
-
//#endregion
|
|
43
41
|
export { getCfCliVersion as n, getVoidUserAgent as r, publishCloudflareWorkerSettings as t };
|