void 1.4.0 → 1.6.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-DRhmCWcm.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-HRFsZOv3.mjs} +18 -24
- package/dist/{application-routing-4719u_kf.mjs → application-routing-P4TggvWp.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-CVXP1G6G.mjs} +7 -8
- package/dist/{auth-migrations-BO27GDNr.mjs → auth-migrations-DDeifS3v.mjs} +1 -2
- package/dist/{auth-router-vafo7x8w.mjs → auth-router-D1pGdbvB.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-C958aM7W.mjs} +31 -7
- package/dist/{build-cmd-9vUAQ1_V.mjs → build-cmd-DmjbuT6d.mjs} +7 -8
- package/dist/{cache-jvwLNb0h.mjs → cache-2khBO1MR.mjs} +7 -8
- package/dist/{cancel-deploy-Dw0UmWKO.mjs → cancel-deploy-_itbbvY3.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-CEtr5UOR.mjs +1 -0
- package/dist/{client-B3LnB_bE.mjs → client-CoxPEhJq.mjs} +15 -13
- package/dist/{cloudflare-auth-DyD_kVFr.mjs → cloudflare-auth-CEu-1Ps_.mjs} +2 -3
- package/dist/{cloudflare-cmd-D-b_u3T4.mjs → cloudflare-cmd-fZ6AMSWk.mjs} +7 -8
- package/dist/{cloudflare-config-CH1AylZT.mjs → cloudflare-config-eQunqX6A.mjs} +22 -17
- package/dist/{cloudflare-connect-zTJh8UnN.mjs → cloudflare-connect-9OZe4XVQ.mjs} +5 -6
- package/dist/{cloudflare-operations-Bc-7fN44.mjs → cloudflare-operations-CrskD4_O.mjs} +8 -9
- package/dist/{cloudflare-operations-BtulCNOg.mjs → cloudflare-operations-oLvAd9Nd.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-tqMM6DwY.mjs → config-BBlVXZCU.mjs} +5 -6
- package/dist/{config-OFOAimzt.mjs → config-BITKQ3O6.mjs} +5 -5
- package/dist/{config-BV2ASlpn.mjs → config-BgysUhnm.mjs} +1 -1
- package/dist/{config-CAdZVTLN.d.mts → config-CPxJmt4M.d.mts} +4 -6
- 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-CKvmkl2R.mjs} +10 -11
- package/dist/{create-project-C2K0DN2O.mjs → create-project-BiMmR5wA.mjs} +1 -1
- package/dist/{create-project-Bxd02EHN.mjs → create-project-Bq0M8MtO.mjs} +9 -11
- 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-cq5RW4Vy.mjs} +52 -54
- package/dist/{db-types-0eCiqYb1.mjs → db-types-C_8amnB0.mjs} +3 -4
- package/dist/{delete-lETE6Tpt.mjs → delete-CY4L8fi2.mjs} +7 -8
- package/dist/deploy-B029oHlE.mjs +2 -0
- package/dist/{deploy-CdM-LAxX.mjs → deploy-D_gEojD2.mjs} +144 -136
- package/dist/{deploy-managed-static-DjeBFG2c.mjs → deploy-managed-static-BHVbB_-A.mjs} +33 -40
- package/dist/{deploy-transport-DIq_gFTP.mjs → deploy-transport-DEyOUfac.mjs} +6 -7
- package/dist/deploy.d.mts +1 -3
- package/dist/deploy.mjs +11 -11
- package/dist/{dev-inbox-D0jxye_D.mjs → dev-inbox-CUUS6iUg.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-BNLB5_Gm.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-BlH90Ods.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-Bkq8ZL1p.mjs} +14 -15
- package/dist/{email-cloudflare-PMbAev9Q.mjs → email-cloudflare-MvJIxrwx.mjs} +18 -123
- 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-AvuCSeCH.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-BD-dfjxY.mjs} +12 -13
- package/dist/gen-CIHXh9I8.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-CA-lBdkn.mjs} +8 -9
- package/dist/{handler-BHktmuTL.d.mts → handler-BR6Tvjkp.d.mts} +18 -26
- package/dist/{handler-BZ1t7-Rv.mjs → handler-CKeTtYID.mjs} +6 -17
- 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-CuTEdP9C.mjs +445 -0
- package/dist/{help-CKbrhZha.mjs → help-1OCFDsRr.mjs} +28 -12
- package/dist/help-Ba8Dq5-r.mjs +1 -0
- package/dist/{inbound-Da7XsjH3.d.mts → inbound-BHt4dIlL.d.mts} +16 -9
- package/dist/{inbound-VrOLqwZY.mjs → inbound-CdO-qY0w.mjs} +6 -81
- package/dist/index.d.mts +23 -13
- package/dist/index.mjs +495 -223
- package/dist/{info-Yg0-V5Rs.mjs → info-CJxua_db.mjs} +6 -7
- package/dist/{init-CDiJQycf.mjs → init-B-4CluYx.mjs} +43 -59
- package/dist/{isr-config-fZaJJ8t7.mjs → isr-config-Czzb4mIq.mjs} +5 -55
- 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-DAXOT-G_.mjs} +8 -9
- package/dist/{list-BYRP6am0.mjs → list-BYSOo9fm.mjs} +8 -9
- package/dist/{live-BllfDuzA.d.mts → live-0xrcVpyq.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-BLgsNUj9.mjs} +4 -5
- package/dist/{log-BMwmN5Ae.mjs → log-D9hwSySP.mjs} +3 -4
- package/dist/login-BpbYeu-n.mjs +1 -0
- package/dist/{login-PcFy5mlC.mjs → login-CJopTWX4.mjs} +6 -7
- package/dist/{logs-DmJTBhed.mjs → logs-DE0weBsR.mjs} +19 -18
- package/dist/{migrate-B8S2xTcb.mjs → migrate-ChHHZBTi.mjs} +20 -16
- package/dist/migrate-HdA6Kh2p.mjs +1 -0
- 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-CtP6-qAF.mjs} +145 -18
- 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-CZ6lGNLn.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-DmkmS2wL.mjs → operator-cmd-BUqsdk2K.mjs} +32 -15
- package/dist/operator-cmd-wBYyp8iQ.mjs +1 -0
- 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 +147 -31
- package/dist/pages/client.mjs +199 -43
- package/dist/pages/head.d.mts +1 -1
- package/dist/pages/head.mjs +1 -1
- package/dist/pages/index.d.mts +25 -18
- package/dist/pages/index.mjs +24 -12
- package/dist/pages/islands-plugin.d.mts +75 -13
- package/dist/pages/islands-plugin.mjs +92 -7
- package/dist/pages/prefetch.d.mts +2 -2
- 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-C7XUw9mw.mjs +1 -0
- package/dist/{platform-args-BMD2gjc_.mjs → platform-args-Cx1M-7bq.mjs} +22 -11
- package/dist/{platform-auth-config-CImnfohz.mjs → platform-auth-config-K4m_LE8b.mjs} +10 -11
- package/dist/{platform-auth-protection-BogLhtHi.mjs → platform-auth-protection-KF5Vo-1I.mjs} +10 -11
- package/dist/{platform-auth-recovery-B-mEaWEi.mjs → platform-auth-recovery-BOdFrl7R.mjs} +9 -11
- package/dist/{platform-cmd-CV8NxIIn.mjs → platform-cmd-DpCHawGF.mjs} +1 -1
- package/dist/{platform-cmd-DZK2ixMl.mjs → platform-cmd-Ds3EAV5t.mjs} +13 -13
- package/dist/{platform-discovery-CHhNs8Nn.mjs → platform-discovery-B0eZjZ3B.mjs} +2 -3
- package/dist/{platform-domain-CRvelPGE.mjs → platform-domain-rWJshybd.mjs} +7 -8
- package/dist/{platform-lifecycle-DwXq7kZt.mjs → platform-lifecycle-BH34I0rh.mjs} +1 -1
- package/dist/{platform-lifecycle-CPYY7E9B.mjs → platform-lifecycle-D9RdGub1.mjs} +110 -110
- package/dist/{platform-management-BOnGbMSM.mjs → platform-management-BRefdHGD.mjs} +27 -11
- package/dist/{platform-management-lXdgGgAM.mjs → platform-management-BfLW0Zlo.mjs} +1 -1
- package/dist/{platform-plans-config-CeydDSj0.mjs → platform-plans-config-Dx1agneU.mjs} +5 -6
- package/dist/{platform-recovery-noaALXnE.mjs → platform-recovery-DZuZGJtt.mjs} +5 -6
- package/dist/{platform-registry-B9mWX9LO.mjs → platform-registry-DZ_2Xuqd.mjs} +4 -6
- package/dist/platform-runtime-logs-CdJGnk3f.mjs +68 -0
- package/dist/{platform-setup-Ca53gtt0.mjs → platform-setup-Vw1AaUN8.mjs} +19 -7
- package/dist/{plugin-inference-CeiB6BG5.mjs → plugin-inference-CdLbxZL_.mjs} +16 -24
- package/dist/{prefetch-Bsc_Pb6c.mjs → prefetch-Dx2jIbtg.mjs} +20 -3
- package/dist/{prefetch-Ce6la4EI.d.mts → prefetch-NdNeubbH.d.mts} +7 -3
- package/dist/{prepare-D604Yiyr.mjs → prepare-BJW-f1f1.mjs} +13 -14
- package/dist/{prepare-BuOS18AM.mjs → prepare-BMGeKL16.mjs} +4 -5
- package/dist/prepare-BdxJJCMv.mjs +1 -0
- 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-B_bUyZ3J.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-MjT5K4rQ.mjs} +7 -8
- package/dist/{project-token-BB6PwaA9.mjs → project-token-BKHGwY3k.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-Bzdd05-h.mjs} +7 -8
- package/dist/{protocol-DimNxVRr.mjs → protocol-COyySMki.mjs} +135 -113
- package/dist/{protocol-D5XDySYu.d.mts → protocol-CkwjASep.d.mts} +4 -6
- 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-BbCzpbXs.mjs} +6 -7
- package/dist/{provision-DfxLCg-d.mjs → provision-DQF6Kw-6.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-daJmVpjk.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-BgL0wY1J.mjs} +7 -8
- package/dist/{rolldown-runtime-3h0WiCiA.mjs → rolldown-runtime-uD8oG6U2.mjs} +1 -2
- package/dist/{route-types-DvEGmPif.mjs → route-types-CZc1YXjF.mjs} +80 -9
- package/dist/route-url-CRDF-I0I.mjs +57 -0
- package/dist/route-url-C_YIH_zO.d.mts +37 -0
- package/dist/routes-stub.d.mts +8 -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 +8 -11
- package/dist/runtime/routing.mjs +52 -32
- 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-X2rDDRNa.mjs} +49 -35
- package/dist/{secret-3X0PxmuX.mjs → secret-CPq-B_vp.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-DsQKz6lt.mjs} +9 -3
- 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-uAAjlsiW.mjs +82 -0
- package/dist/{validator-BTOu0fB0.mjs → validator-CTfmzZYb.mjs} +2 -5
- package/dist/{version-metadata-D2vfMQzv.mjs → version-metadata-C8hLzQkv.mjs} +4 -6
- package/dist/{worker-conditions-AWFRcFxR.mjs → worker-conditions-CBZ0RYsZ.mjs} +1 -2
- package/dist/{wrangler-I-scB_1t.mjs → wrangler-DESSbN8L.mjs} +6 -8
- package/dist/wrangler-DUB3MGHV.mjs +1 -0
- package/dist/{wrapper-BBl1rC32.mjs → wrapper-C9SUxoj7.mjs} +17 -14
- package/dist/{ws-B3ClMVDh.d.mts → ws-Dmjg5NH2.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 +4 -6
- package/docs/guide/edge/redirects.md +4 -4
- package/docs/guide/edge/rewrites.md +1 -1
- package/docs/guide/edge/static-assets.md +0 -10
- package/docs/guide/email/domains.md +3 -1
- package/docs/guide/email/receiving.md +4 -4
- package/docs/guide/email/sending.md +43 -13
- package/docs/guide/pages-routing/actions-and-forms.md +26 -9
- package/docs/guide/pages-routing/islands.md +5 -5
- package/docs/guide/pages-routing/layouts.md +16 -2
- package/docs/guide/pages-routing/loaders.md +5 -5
- package/docs/guide/pages-routing/markdown.md +7 -7
- package/docs/guide/pages-routing/overview.md +137 -27
- package/docs/guide/platform/administration/connected-apps.md +4 -2
- package/docs/guide/platform/administration/email.md +6 -8
- package/docs/guide/platform/installation/credentials.md +12 -10
- package/docs/guide/platform/installation/maintenance.md +18 -21
- package/docs/guide/platform/installation/prerequisites.md +1 -1
- package/docs/guide/platform/installation/setup.md +23 -2
- 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/ssg.md +3 -3
- package/docs/guide/type-safety.md +84 -1
- 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/astro.md +17 -12
- package/docs/integrations/frameworks/nuxt.md +1 -1
- package/docs/integrations/frameworks/overview.md +2 -2
- 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 +109 -50
- package/docs/reference/api/plugin.md +4 -4
- package/docs/reference/api/resources.md +4 -1
- package/docs/reference/api/rewrites.md +24 -3
- package/docs/reference/api/types.md +45 -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 +6 -3
- package/docs/reference/cli/project.md +2 -2
- package/docs/reference/cli/secrets.md +3 -1
- package/docs/reference/cli/setup.md +4 -4
- package/docs/reference/cli.md +1 -1
- package/docs/reference/config.md +12 -2
- package/package.json +36 -32
- package/sandbox.Dockerfile +1 -1
- package/schema.json +4 -0
- package/skills/void/SKILL.md +5 -0
- 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/headers--vaK_chu.mjs +0 -226
- 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/validation-error-Dg9Recn1.mjs +0 -49
- package/dist/wrangler-UnwdISay.mjs +0 -1
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
import { a as join } from "./dist-ipQi0Q8y.mjs";
|
|
2
|
-
import { a as convertRewritesConfig, d as isProtocolRelative, f as parseHostPrefixedSource, i as convertRedirectsConfig, n as convertFallbacksConfig, o as countSplats, r as convertHeadersConfig, t as VALID_REDIRECT_STATUSES } from "./config-OFOAimzt.mjs";
|
|
3
|
-
import { i as voidWarn } from "./log-BMwmN5Ae.mjs";
|
|
4
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
5
|
-
//#region src/cli/headers.ts
|
|
6
|
-
/**
|
|
7
|
-
* Parse a Cloudflare/Netlify `_headers` file into HeaderRule[].
|
|
8
|
-
*
|
|
9
|
-
* Format:
|
|
10
|
-
* - Non-indented lines = path pattern (starts a new block)
|
|
11
|
-
* - Indented lines = `Header-Name: value` (split on first `:`)
|
|
12
|
-
* - Lines starting with `#` are comments
|
|
13
|
-
* - `! Header-Name` unset directives are skipped (last-match-wins handles this)
|
|
14
|
-
*
|
|
15
|
-
* Output is sorted by pattern length ascending (shortest first) so that
|
|
16
|
-
* more-specific patterns come last — matching dispatch's last-match-wins semantics.
|
|
17
|
-
*
|
|
18
|
-
* Returns `undefined` if the file doesn't exist or yields no valid rules.
|
|
19
|
-
*/
|
|
20
|
-
function parseHeadersFile(dir) {
|
|
21
|
-
const filePath = join(dir, "_headers");
|
|
22
|
-
if (!existsSync(filePath)) return;
|
|
23
|
-
const content = readFileSync(filePath, "utf-8");
|
|
24
|
-
const rules = [];
|
|
25
|
-
let current = null;
|
|
26
|
-
for (const line of content.split("\n")) {
|
|
27
|
-
const trimmed = line.trimEnd();
|
|
28
|
-
if (trimmed === "" || trimmed.startsWith("#")) continue;
|
|
29
|
-
if (line[0] === " " || line[0] === " ") {
|
|
30
|
-
if (!current) continue;
|
|
31
|
-
const stripped = trimmed.trimStart();
|
|
32
|
-
if (stripped.startsWith("!")) continue;
|
|
33
|
-
const colonIdx = stripped.indexOf(":");
|
|
34
|
-
if (colonIdx === -1) continue;
|
|
35
|
-
const name = stripped.slice(0, colonIdx).trim();
|
|
36
|
-
const value = stripped.slice(colonIdx + 1).trim();
|
|
37
|
-
if (name) current.headers.push([name, value]);
|
|
38
|
-
} else {
|
|
39
|
-
if (current && current.headers.length > 0) rules.push(current);
|
|
40
|
-
current = {
|
|
41
|
-
pattern: trimmed,
|
|
42
|
-
headers: []
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
if (current && current.headers.length > 0) rules.push(current);
|
|
47
|
-
if (rules.length === 0) return;
|
|
48
|
-
rules.sort((a, b) => a.pattern.length - b.pattern.length);
|
|
49
|
-
return rules;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Parse a `_redirects` file: `source destination [status]` per line (status
|
|
53
|
-
* defaults to 302, `#` starts a comment). Keeps 3xx redirects and 200 rewrites.
|
|
54
|
-
*
|
|
55
|
-
* A `!` suffix on 200 sets `force`, so the rewrite applies even when a static
|
|
56
|
-
* asset matches. On a 3xx it is a no-op, stripped and counted in
|
|
57
|
-
* `redundantForceOn3xx`.
|
|
58
|
-
*
|
|
59
|
-
* Returns `undefined` when the file doesn't exist or yields no valid rules.
|
|
60
|
-
*/
|
|
61
|
-
function parseRedirectsFile(dir) {
|
|
62
|
-
const filePath = join(dir, "_redirects");
|
|
63
|
-
if (!existsSync(filePath)) return;
|
|
64
|
-
const content = readFileSync(filePath, "utf-8");
|
|
65
|
-
const rules = [];
|
|
66
|
-
let redundantForceOn3xx = 0;
|
|
67
|
-
const rawLines = content.split("\n");
|
|
68
|
-
for (let i = 0; i < rawLines.length; i++) {
|
|
69
|
-
const lineNumber = i + 1;
|
|
70
|
-
const trimmed = rawLines[i].trim();
|
|
71
|
-
if (!trimmed || trimmed.startsWith("#")) continue;
|
|
72
|
-
const parts = trimmed.split(/\s+/);
|
|
73
|
-
if (parts.length < 2) continue;
|
|
74
|
-
const origin = `_redirects:${lineNumber}`;
|
|
75
|
-
const [rawSource, destination, statusStr] = parts;
|
|
76
|
-
const parsedSource = parseHostPrefixedSource(rawSource);
|
|
77
|
-
if ("error" in parsedSource) {
|
|
78
|
-
voidWarn(`Skipping _redirects entry "${rawSource} ${destination}${statusStr ? ` ${statusStr}` : ""}" (line ${lineNumber}): source ${parsedSource.error}.`);
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
const { host, path: source } = parsedSource;
|
|
82
|
-
if (countSplats(source) > 1) {
|
|
83
|
-
voidWarn(`Skipping _redirects entry "${rawSource} ${destination}${statusStr ? ` ${statusStr}` : ""}" (line ${lineNumber}): source must contain at most one "*" wildcard (captured as :splat).`);
|
|
84
|
-
continue;
|
|
85
|
-
}
|
|
86
|
-
let status;
|
|
87
|
-
let force = false;
|
|
88
|
-
if (statusStr) {
|
|
89
|
-
if (statusStr.endsWith("!")) {
|
|
90
|
-
const numericPart = statusStr.slice(0, -1);
|
|
91
|
-
status = parseInt(numericPart, 10);
|
|
92
|
-
if (status === 200) force = true;
|
|
93
|
-
else if (status >= 300 && status < 400) redundantForceOn3xx++;
|
|
94
|
-
} else status = parseInt(statusStr, 10);
|
|
95
|
-
} else status = 302;
|
|
96
|
-
if (status === 200) {
|
|
97
|
-
if (!destination.startsWith("/")) {
|
|
98
|
-
voidWarn(`Skipping _redirects rewrite "${rawSource} ${destination} ${force ? "200!" : "200"}": destination must start with "/" (only internal paths are supported).`);
|
|
99
|
-
continue;
|
|
100
|
-
}
|
|
101
|
-
if (isProtocolRelative(destination)) {
|
|
102
|
-
voidWarn(`Skipping _redirects rewrite "${rawSource} ${destination} ${force ? "200!" : "200"}": destination must not start with "//" (protocol-relative URLs parse as cross-origin; only internal paths are supported).`);
|
|
103
|
-
continue;
|
|
104
|
-
}
|
|
105
|
-
if (destination.includes("?")) {
|
|
106
|
-
voidWarn(`Skipping _redirects rewrite "${rawSource} ${destination} ${force ? "200!" : "200"}": destination must not contain "?" (query strings are not supported in rewrite destinations; the incoming request's query is preserved automatically).`);
|
|
107
|
-
continue;
|
|
108
|
-
}
|
|
109
|
-
rules.push({
|
|
110
|
-
source,
|
|
111
|
-
destination,
|
|
112
|
-
status,
|
|
113
|
-
force,
|
|
114
|
-
origin,
|
|
115
|
-
...host && { host }
|
|
116
|
-
});
|
|
117
|
-
} else if (status >= 300 && status < 400) {
|
|
118
|
-
if (!VALID_REDIRECT_STATUSES.has(status)) {
|
|
119
|
-
voidWarn(`Skipping _redirects entry "${rawSource} ${destination} ${statusStr}" (line ${lineNumber}): redirect status must be 301, 302, 303, 307, or 308.`);
|
|
120
|
-
continue;
|
|
121
|
-
}
|
|
122
|
-
rules.push({
|
|
123
|
-
source,
|
|
124
|
-
destination,
|
|
125
|
-
status,
|
|
126
|
-
origin,
|
|
127
|
-
...host && { host }
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
if (rules.length === 0 && redundantForceOn3xx === 0) return;
|
|
132
|
-
return {
|
|
133
|
-
rules,
|
|
134
|
-
redundantForceOn3xx
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Split `_redirects` rules into rules that always apply and fallbacks: unforced
|
|
139
|
-
* 200 rewrites, which apply only when no static asset matches.
|
|
140
|
-
*/
|
|
141
|
-
function splitRedirectRulesByForce(rules) {
|
|
142
|
-
const always = [];
|
|
143
|
-
const fallbacks = [];
|
|
144
|
-
if (!rules) return {
|
|
145
|
-
always,
|
|
146
|
-
fallbacks
|
|
147
|
-
};
|
|
148
|
-
for (const rule of rules) if (rule.status === 200 && rule.force !== true) fallbacks.push(rule);
|
|
149
|
-
else always.push(rule);
|
|
150
|
-
return {
|
|
151
|
-
always,
|
|
152
|
-
fallbacks
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Merge `_redirects` and `_headers` in `dir` with `routing` from void.config.ts.
|
|
157
|
-
* Deploy and dev share it so both build the same rule tables; callers lint them.
|
|
158
|
-
*/
|
|
159
|
-
function mergeRoutingRules(opts) {
|
|
160
|
-
const { dir, routing } = opts;
|
|
161
|
-
const fileDir = dir !== null && existsSync(dir) ? dir : null;
|
|
162
|
-
const fileHeaders = fileDir !== null ? parseHeadersFile(fileDir) : void 0;
|
|
163
|
-
const fileParsed = fileDir !== null ? parseRedirectsFile(fileDir) : void 0;
|
|
164
|
-
const { always: fileAlways, fallbacks: fileFallbacks } = splitRedirectRulesByForce(fileParsed?.rules);
|
|
165
|
-
const cfgHeaders = convertHeadersConfig(routing?.headers);
|
|
166
|
-
const cfgRedirects = convertRedirectsConfig(routing?.redirects);
|
|
167
|
-
const cfgRewrites = convertRewritesConfig(routing?.rewrites);
|
|
168
|
-
const cfgFallbacks = convertFallbacksConfig(routing?.fallbacks);
|
|
169
|
-
const headerRules = [...fileHeaders ?? [], ...cfgHeaders ?? []];
|
|
170
|
-
const redirectRules = [
|
|
171
|
-
...cfgRedirects ?? [],
|
|
172
|
-
...cfgRewrites ?? [],
|
|
173
|
-
...fileAlways
|
|
174
|
-
];
|
|
175
|
-
const mergedFallbacks = [...cfgFallbacks ?? [], ...fileFallbacks];
|
|
176
|
-
return {
|
|
177
|
-
headerRules,
|
|
178
|
-
redirectRules,
|
|
179
|
-
fallbackRules: mergedFallbacks.length > 0 ? mergedFallbacks : void 0,
|
|
180
|
-
redundantForceOn3xx: fileParsed?.redundantForceOn3xx ?? 0
|
|
181
|
-
};
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Lint each phase on its own: only duplicates within a phase shadow each other,
|
|
185
|
-
* so a redirect and a fallback with the same source are fine.
|
|
186
|
-
*/
|
|
187
|
-
function lintRoutingPhases(rules) {
|
|
188
|
-
lintDuplicateSources(rules.redirectRules, "redirects/rewrites (pre-asset)");
|
|
189
|
-
lintDuplicateSources(rules.fallbackRules, "fallbacks (post-asset)");
|
|
190
|
-
lintDestinationSplats(rules.redirectRules, "redirects/rewrites (pre-asset)");
|
|
191
|
-
lintDestinationSplats(rules.fallbackRules, "fallbacks (post-asset)");
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Warn about a literal `*` in a destination. Destinations substitute only
|
|
195
|
-
* `:name` params such as `:splat`, so a `*` passes through unchanged.
|
|
196
|
-
*/
|
|
197
|
-
function lintDestinationSplats(rules, phaseName) {
|
|
198
|
-
if (!rules || rules.length === 0) return;
|
|
199
|
-
const affected = rules.filter((r) => r.destination.includes("*"));
|
|
200
|
-
if (affected.length === 0) return;
|
|
201
|
-
const lines = affected.map((r) => ` ${r.source} → ${r.destination} (${r.origin ?? "<unknown>"})`);
|
|
202
|
-
voidWarn(`destinations in ${phaseName} contain a literal "*" — splat tokens are not substituted in destinations; use ":splat" (or other named params) or rewrite the destination:\n${lines.join("\n")}`);
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Warn when one phase repeats an exact `source`: first match wins, so the later
|
|
206
|
-
* rule never applies. Phases run separately, so callers lint each one.
|
|
207
|
-
*/
|
|
208
|
-
function lintDuplicateSources(rules, phaseName) {
|
|
209
|
-
if (!rules || rules.length < 2) return;
|
|
210
|
-
const bySource = /* @__PURE__ */ new Map();
|
|
211
|
-
for (const rule of rules) {
|
|
212
|
-
const existing = bySource.get(rule.source);
|
|
213
|
-
if (existing) existing.push(rule);
|
|
214
|
-
else bySource.set(rule.source, [rule]);
|
|
215
|
-
}
|
|
216
|
-
const lines = [];
|
|
217
|
-
for (const [source, occurrences] of bySource) {
|
|
218
|
-
if (occurrences.length < 2) continue;
|
|
219
|
-
const origins = occurrences.map((r) => r.origin ?? "<unknown>").join(", ");
|
|
220
|
-
lines.push(` ${source} — ${origins}`);
|
|
221
|
-
}
|
|
222
|
-
if (lines.length === 0) return;
|
|
223
|
-
voidWarn(`duplicate rule sources detected in ${phaseName} (first match wins — the earlier entry takes effect):\n${lines.join("\n")}`);
|
|
224
|
-
}
|
|
225
|
-
//#endregion
|
|
226
|
-
export { mergeRoutingRules as n, parseRedirectsFile as r, lintRoutingPhases as t };
|
package/dist/help-qOZr3wng.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { r as printHelpPage } from "./help-CKbrhZha.mjs";
|
package/dist/login-BAPmYnb7.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { r as selectPlatformLoginMethod } from "./login-PcFy5mlC.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { n as runMigrateCommand } from "./migrate-B8S2xTcb.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { a as runOperatorCommand } from "./operator-cmd-DmkmS2wL.mjs";
|
package/dist/output-BW9uK099.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { m as printSuccess } from "./output-BpgYODYx.mjs";
|
package/dist/plan-CKX_jWnD.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { n as buildMigrationPlanBundle } from "./plan-BhLO2p4w.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { t as parsePlatformArgs } from "./platform-args-BMD2gjc_.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { t as prepareProject } from "./prepare-D604Yiyr.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { t as validateProjectSlug } from "./project-slug-23TpquG4.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { n as inferDefaultSlug } from "./resolve-project-Xoi6eTWY.mjs";
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
//#region src/runtime/route-url.d.ts
|
|
2
|
-
/** Expand complete route tokens without changing query strings or fragments. */
|
|
3
|
-
declare function interpolateRouteParams(path: string, params?: Record<string, string>): string;
|
|
4
|
-
//#endregion
|
|
5
|
-
export { interpolateRouteParams as t };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
//#region src/runtime/route-url.ts
|
|
2
|
-
/**
|
|
3
|
-
* Encode one path segment of a route param. `encodeURIComponent` keeps dots, and
|
|
4
|
-
* URL parsing resolves `.`/`..` (even as `%2e`), so such a segment would move the
|
|
5
|
-
* request to another path instead of reaching this route.
|
|
6
|
-
*/
|
|
7
|
-
function encodeSegment(name, segment) {
|
|
8
|
-
if (segment === "." || segment === "..") throw new TypeError(`Route param "${name}" cannot be "${segment}"; it would change the request path.`);
|
|
9
|
-
return encodeURIComponent(segment);
|
|
10
|
-
}
|
|
11
|
-
/** Expand complete route tokens without changing query strings or fragments. */
|
|
12
|
-
function interpolateRouteParams(path, params) {
|
|
13
|
-
if (!params) return path;
|
|
14
|
-
const suffixIndex = path.search(/[?#]/);
|
|
15
|
-
const pathname = suffixIndex === -1 ? path : path.slice(0, suffixIndex);
|
|
16
|
-
const suffix = suffixIndex === -1 ? "" : path.slice(suffixIndex);
|
|
17
|
-
let leadingName;
|
|
18
|
-
const replaced = pathname.replace(/(^|\/):([^/{}]+)(\{\.\+\})?(?=\/|$)/g, (token, prefix, name, catchAll, offset) => {
|
|
19
|
-
if (!Object.hasOwn(params, name)) return token;
|
|
20
|
-
if (offset === 0) leadingName = name;
|
|
21
|
-
const value = params[name];
|
|
22
|
-
return prefix + (catchAll ? value.split("/").map((segment) => encodeSegment(name, segment)).join("/") : encodeSegment(name, value));
|
|
23
|
-
});
|
|
24
|
-
if (replaced.startsWith("//") && !pathname.startsWith("//")) throw new TypeError(`Route param "${leadingName ?? ""}" would make the request path start with "//", which changes the request host.`);
|
|
25
|
-
return replaced + suffix;
|
|
26
|
-
}
|
|
27
|
-
//#endregion
|
|
28
|
-
export { interpolateRouteParams as t };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { i as validateMigrations } from "./validate-CnZPMq4q.mjs";
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
//#region src/pages/defer.ts
|
|
2
|
-
const DEFERRED = Symbol("deferred");
|
|
3
|
-
function defer(groupOrResolver, maybeResolver) {
|
|
4
|
-
const [group, resolver] = typeof groupOrResolver === "string" ? [groupOrResolver, maybeResolver] : [null, groupOrResolver];
|
|
5
|
-
return {
|
|
6
|
-
[DEFERRED]: true,
|
|
7
|
-
group,
|
|
8
|
-
resolver
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Separate a loader's return value into immediate props and deferred sentinels.
|
|
13
|
-
* For single-prop deferred (group=null), the object key becomes the group name.
|
|
14
|
-
* For named groups, all keys sharing the same group name are collected.
|
|
15
|
-
*/
|
|
16
|
-
function separateDeferred(props) {
|
|
17
|
-
const immediateProps = {};
|
|
18
|
-
const deferredMap = {};
|
|
19
|
-
for (const [key, value] of Object.entries(props)) if (value && typeof value === "object" && DEFERRED in value) {
|
|
20
|
-
const sentinel = value;
|
|
21
|
-
const groupName = sentinel.group ?? key;
|
|
22
|
-
if (!deferredMap[groupName]) deferredMap[groupName] = {
|
|
23
|
-
resolver: sentinel.resolver,
|
|
24
|
-
keys: []
|
|
25
|
-
};
|
|
26
|
-
deferredMap[groupName].keys.push(key);
|
|
27
|
-
immediateProps[key] = {
|
|
28
|
-
value: null,
|
|
29
|
-
loading: true,
|
|
30
|
-
error: null
|
|
31
|
-
};
|
|
32
|
-
} else immediateProps[key] = value;
|
|
33
|
-
return {
|
|
34
|
-
immediateProps,
|
|
35
|
-
deferredMap
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
//#endregion
|
|
39
|
-
//#region src/pages/validation-error.ts
|
|
40
|
-
var ValidationError = class extends Error {
|
|
41
|
-
errors;
|
|
42
|
-
constructor(errors) {
|
|
43
|
-
super("Validation failed");
|
|
44
|
-
this.name = "ValidationError";
|
|
45
|
-
this.errors = errors;
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
//#endregion
|
|
49
|
-
export { separateDeferred as i, DEFERRED as n, defer as r, ValidationError as t };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { b as readRootWranglerConfig } from "./wrangler-I-scB_1t.mjs";
|