void 0.26.0 → 0.27.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/AGENTS_TEMPLATE.md +1 -3
- package/README.md +19 -9
- package/dist/{account-cmd-CDry3B5V.mjs → account-cmd-l-FM7Ioq.mjs} +8 -7
- package/dist/{application-analysis-DC2yPvzY.mjs → application-analysis-DKy02UY0.mjs} +21 -32
- package/dist/{application-routing-C9khgLiS.mjs → application-routing-DQyUh_5S.mjs} +1 -1
- package/dist/{auth-D52yG7hl.mjs → auth-Dn2vw-SG.mjs} +9 -9
- package/dist/{auth-B60QDbjg.mjs → auth-LMJcNESe.mjs} +1 -1
- package/dist/{auth-link-DjeOptYi.mjs → auth-link-vz9Z2kmG.mjs} +5 -5
- package/dist/{auth-migrations-9vif1uj8.mjs → auth-migrations-BwHgeEsD.mjs} +8 -18
- package/dist/{auth-router-BRxIuqDi.mjs → auth-router-DvsCUVw4.mjs} +6 -19
- package/dist/{better-auth-shared-BVkjZ3vM.d.mts → better-auth-shared-CPvWD3nG.d.mts} +0 -4
- package/dist/{better-auth-shared-hy6RPh9W.mjs → better-auth-shared-DPpj8zxc.mjs} +94 -16
- package/dist/{build-cmd-Ce3C8huo.mjs → build-cmd-D6we0VjO.mjs} +8 -7
- package/dist/{cache-CS8Yxr5a.mjs → cache-CZRdzKx1.mjs} +8 -8
- package/dist/{cancel-deploy-mZsD88Xa.mjs → cancel-deploy-CQ3NnMvf.mjs} +6 -5
- package/dist/{cf-access-YTlqvAsk.mjs → cf-access-BcIBSKqG.mjs} +11 -12
- package/dist/{cf-build-output-U8o1Gl6X.mjs → cf-build-output-DjvB_872.mjs} +62 -85
- package/dist/cf-build-output-H9a97vME.mjs +2 -0
- package/dist/cf-user-agent-lKblH3zU.mjs +17 -0
- package/dist/cli/cli.mjs +48 -83
- package/dist/cli/cloudflare-operation-process.mjs +78 -78
- package/dist/cli/env-schema-probe.mjs +5 -6
- package/dist/{client-mC-dFGDD.mjs → client-DlDJuY0s.mjs} +30 -8
- package/dist/client-tso2OfcG.mjs +2 -0
- package/dist/{cloudflare-auth-Qdc7tw8F.mjs → cloudflare-auth-CuxfF6OA.mjs} +9 -17
- package/dist/{cloudflare-cmd-bhwCxAN6.mjs → cloudflare-cmd-lHqNlJGW.mjs} +6 -5
- package/dist/{cloudflare-config-Bktvwtpf.mjs → cloudflare-config-BmhBv3HV.mjs} +1 -1
- package/dist/{cloudflare-connect-CuhRgk3k.mjs → cloudflare-connect-2G3rL2rP.mjs} +4 -4
- package/dist/{cloudflare-operations-DoQrVHAt.mjs → cloudflare-operations-BlYLlowZ.mjs} +1 -1
- package/dist/{cloudflare-operations-DYa3coIk.mjs → cloudflare-operations-CwI1bChl.mjs} +41 -70
- package/dist/{cloudflare-process-B-wekeR6.mjs → cloudflare-process-2-TfIEzB.mjs} +20 -22
- package/dist/{config-CyQ-wVd7.mjs → config-5r-YpMC-.mjs} +1 -1
- package/dist/{config-C_XRIPx2.mjs → config-B_ggY-IO.mjs} +3 -3
- package/dist/config-BtSFvXZx.mjs +2 -0
- package/dist/config-CLYAosnQ.mjs +78 -0
- package/dist/{config-BMHb8RCj.d.mts → config-CSa15FvD.d.mts} +1 -1
- package/dist/{config-Br_JZD6u.mjs → config-DiowPT80.mjs} +24 -30
- package/dist/config-entry.d.mts +1 -1
- package/dist/{config-write-B1f88wJA.mjs → config-write-AHGesphx.mjs} +8 -7
- package/dist/{connect-H6EvP62X.mjs → connect-BfPBHHm-.mjs} +12 -11
- package/dist/{create-project-B2kk9Q0o.mjs → create-project-BdXEFKal.mjs} +7 -7
- package/dist/{create-project-Dbb4uiN-.mjs → create-project-qFDC45zg.mjs} +1 -1
- package/dist/{db-DpCKZto0.mjs → db-Xs80hcaA.mjs} +101 -133
- package/dist/{delete-CxlSvsvW.mjs → delete-d2vuou3j.mjs} +7 -7
- package/dist/{deploy-CeEbnv4b.mjs → deploy-Bqe1PYBw.mjs} +2351 -2497
- package/dist/deploy-VsWsVQkw.mjs +2 -0
- package/dist/{dev-inbox-D64ZKUod.mjs → dev-inbox-CK-UuPob.mjs} +7 -16
- package/dist/{discover-BcPPiF1o.mjs → discover-CkCYv9T_.mjs} +1 -2
- package/dist/discover-EDUf6JJw.mjs +2 -0
- package/dist/{prompts-ZAuJlyCj.mjs → dist-Bx1z6Eva.mjs} +1 -1
- package/dist/{dist-AoCzRTJE.mjs → dist-Cegxq8gs.mjs} +8 -8
- package/dist/{prompts-6OSVA7DJ.mjs → dist-D3m88sjf.mjs} +10 -53
- package/dist/{domain-B_9VgOm6.mjs → domain-BsDUBAvt.mjs} +29 -30
- package/dist/{dotenv-VQxupEUv.mjs → dotenv-BfU6eqFt.mjs} +20 -32
- package/dist/{drizzle-Beb2Am5S.mjs → drizzle-CF84FOVM.mjs} +16 -13
- package/dist/{email-BokHgjKj.mjs → email-_lGAHOhp.mjs} +24 -19
- package/dist/{email--tEtMoj_.mjs → email-d_Aux1vM.mjs} +1 -1
- package/dist/{entry-CF5wvH4w.mjs → entry-CMAkqBmU.mjs} +6 -6
- package/dist/{env-_v349JBd.mjs → env-BxocywBB.mjs} +25 -6
- package/dist/{env-BdTc-K2L.mjs → env-C74QepDE.mjs} +10 -10
- package/dist/{env-D5liuQYR.mjs → env-DMA3cXZt.mjs} +1 -1
- package/dist/{env-raw-Cx8ElDdj.mjs → env-raw-jZpP5n47.mjs} +1 -2
- package/dist/{env-types-D5kds_OZ.mjs → env-types-CwXgeMgL.mjs} +1 -1
- package/dist/{env-validation-cZBvGWaP.mjs → env-validation-CrVNjsPm.mjs} +1 -1
- package/dist/{env-validation-vBSQ8gw5.mjs → env-validation-Dxdx_5wo.mjs} +17 -21
- package/dist/{fetch-_SeGZao9.d.mts → fetch-BPCYVi3H.d.mts} +20 -1
- package/dist/{fetch-BIZJh7vR.mjs → fetch-sAcwjzLO.mjs} +1 -1
- package/dist/{fetch-stream-Nm3hkZbT.mjs → fetch-stream-PGgz4uGz.mjs} +18 -23
- package/dist/{fetch-stream-Bjf0hoZb.d.mts → fetch-stream-obvZ7fvO.d.mts} +1 -16
- package/dist/{gen-BhDlTpwW.mjs → gen-DtkQhvQg.mjs} +40 -57
- package/dist/gen-dA9hW7AV.mjs +2 -0
- package/dist/{github-cmd-hhkTzlGS.mjs → github-cmd-DaDdBbSS.mjs} +65 -164
- package/dist/{handler-DghKr6dU.mjs → handler-BHAn2fZJ.mjs} +1 -0
- package/dist/{handler-BeK3weD4.d.mts → handler-CNAwjRcW.d.mts} +4 -11
- package/dist/{head-Do8P4puT.d.mts → head-C8K_iGe6.d.mts} +1 -1
- package/dist/{head-D_QRR5Yd.mjs → head-D2VF4ApL.mjs} +29 -51
- package/dist/{headers-2rKda9Y6.mjs → headers-DlfR78Nu.mjs} +3 -3
- package/dist/{help-Bv44e2tm.mjs → help-0bTe_lID.mjs} +13 -32
- package/dist/help-DfQYVfGY.mjs +2 -0
- package/dist/{inbound-fRkqcXaC.mjs → inbound-PfQDLXc5.mjs} +23 -24
- package/dist/index.d.mts +19 -2
- package/dist/index.mjs +619 -532
- package/dist/{info-DhtTKh65.mjs → info-PYWwkWyt.mjs} +4 -4
- package/dist/{init-BMf4T03q.mjs → init-DaBGmaXC.mjs} +161 -198
- package/dist/{link-BqYsSS_I.mjs → link-C6fjafep.mjs} +10 -10
- package/dist/{list-_kBToO-l.mjs → list-BTFBlqKl.mjs} +9 -8
- package/dist/{live-CB1y5IuC.mjs → live-CgQuTpqD.mjs} +15 -16
- package/dist/{live-iAuEH1hd.d.mts → live-Du8jXwOW.d.mts} +4 -2
- package/dist/{local-d1-fGxYrVD6.mjs → local-d1-ga5O_idV.mjs} +2 -2
- package/dist/{login-DFuo-RWO.mjs → login-GKcNUmtI.mjs} +7 -7
- package/dist/login-mx_ydhmp.mjs +2 -0
- package/dist/{logs-DYgnh6dH.mjs → logs-BiMSULmc.mjs} +28 -11
- package/dist/migrate-BHp07yJE.mjs +2 -0
- package/dist/{migrate-CV1on-yJ.mjs → migrate-NLsjBbuM.mjs} +34 -20
- package/dist/{mime-D5Nmdzf7.mjs → mime-DxCznlJq.mjs} +45 -95
- package/dist/{node-C6Q6e1Es.mjs → node-DJicPvPj.mjs} +5 -5
- package/dist/{operator-args-DdY54Bgb.mjs → operator-args-DOBhIaIg.mjs} +10 -1
- package/dist/{operator-auth-2dsGlTT5.mjs → operator-auth-BEZ_u0Cz.mjs} +2 -2
- package/dist/{operator-client-BFqpp6z0.mjs → operator-client-DbDv4vtE.mjs} +2 -2
- package/dist/{operator-cmd-CUGHXrQf.mjs → operator-cmd-BT4hgavL.mjs} +24 -11
- package/dist/operator-cmd-CwBB-1yb.mjs +2 -0
- package/dist/{output-BvdaehtE.mjs → output-C50ag2r3.mjs} +20 -2
- package/dist/pages/client.d.mts +19 -51
- package/dist/pages/client.mjs +204 -225
- package/dist/pages/head-client.d.mts +1 -1
- package/dist/pages/head.d.mts +1 -1
- package/dist/pages/head.mjs +1 -1
- package/dist/pages/index.d.mts +2 -2
- package/dist/pages/index.mjs +6 -12
- package/dist/pages/islands-plugin.d.mts +1 -1
- package/dist/pages/islands-plugin.mjs +21 -25
- package/dist/pages/protocol.d.mts +2 -2
- package/dist/pages/protocol.mjs +2 -2
- package/dist/{plan-CJGEeTEI.mjs → plan-BhLO2p4w.mjs} +2 -1
- package/dist/plan-CH2G51je.mjs +2 -0
- package/dist/platform-args-D4E1PjVw.mjs +2 -0
- package/dist/{platform-args-DSV2p4nY.mjs → platform-args-DUeXY9Om.mjs} +1 -1
- package/dist/{platform-auth-config-Bosx7U1h.mjs → platform-auth-config-CkSx3usH.mjs} +40 -36
- package/dist/{platform-auth-protection-DcbL_LW_.mjs → platform-auth-protection-BJimB_p9.mjs} +9 -8
- package/dist/{platform-auth-recovery-WfTZ8K6o.mjs → platform-auth-recovery-BU6izFAU.mjs} +8 -7
- package/dist/{platform-cmd-DbKtQb_4.mjs → platform-cmd-BbY1dWiM.mjs} +14 -13
- package/dist/{platform-cmd-dyFUof0t.mjs → platform-cmd-BbmJiq5O.mjs} +1 -1
- package/dist/{platform-discovery-BC0HCKYt.mjs → platform-discovery-DIYz8V63.mjs} +1 -1
- package/dist/{platform-domain-Bsq43AJp.mjs → platform-domain-CHVS6cV0.mjs} +6 -6
- package/dist/{platform-lifecycle--5gWmDoI.mjs → platform-lifecycle-ByAlpkhV.mjs} +1 -1
- package/dist/{platform-lifecycle-Cfi0o6xM.mjs → platform-lifecycle-DzCwqhFq.mjs} +76 -387
- package/dist/{platform-management-Bbwf6-Dq.mjs → platform-management-CBOT4BSM.mjs} +1 -1
- package/dist/{platform-management-BrF9STZp.mjs → platform-management-CuuVDhyt.mjs} +7 -7
- package/dist/{platform-plans-config-DU-8nC2Y.mjs → platform-plans-config-CN-heS4q.mjs} +5 -4
- package/dist/{platform-recovery-DQAqAQYu.mjs → platform-recovery-CskSJgLh.mjs} +3 -3
- package/dist/{platform-registry-P387v42A.mjs → platform-registry-Cjv2Qf0r.mjs} +5 -1
- package/dist/platform-setup-BBxRxmFC.mjs +299 -0
- package/dist/{plugin-inference-CXWnn79A.mjs → plugin-inference-BlQbOL0P.mjs} +43 -42
- package/dist/prepare-DRUV-g3X.mjs +2 -0
- package/dist/{prepare-WoUubFKL.mjs → prepare-Do96654b.mjs} +8 -8
- package/dist/{prepare-BMrRWLwP.mjs → prepare-Dq9hTIbo.mjs} +4 -4
- package/dist/{prerender-render-D9qbLs2f.mjs → prerender-render-Ct20jftc.mjs} +17 -3
- package/dist/prerender-render.mjs +1 -1
- package/dist/{project-DQstYTxO.mjs → project-BAm2aB6Q.mjs} +1 -1
- package/dist/{project-BiaPQ7ur.mjs → project-DedqCp59.mjs} +1 -1
- package/dist/{project-cmd-BbH2LptN.mjs → project-cmd-DaoRrn-8.mjs} +19 -19
- package/dist/{project-team-Yiww3-go.mjs → project-team-Q_lCA7Io.mjs} +15 -18
- package/dist/{project-token-BrtT2NkY.mjs → project-token-BArgK9o1.mjs} +14 -17
- package/dist/{project-tsconfig-B8GeM0RM.mjs → project-tsconfig-CVJhNMxs.mjs} +2 -1
- package/dist/{project-zero-trust-nYJ2V2nc.mjs → project-zero-trust-KO9Hu2Pq.mjs} +12 -9
- package/dist/{protocol-BX8t2jiw.d.mts → protocol-BPZaNqBo.d.mts} +4 -2
- package/dist/{protocol-U7bfjHmA.mjs → protocol-CfaUwNs8.mjs} +46 -49
- package/dist/{providers-CJlNS3kT.mjs → providers-BXuhmuub.mjs} +1 -12
- package/dist/{provision-VeqAC77A.mjs → provision-BfaLiWbj.mjs} +38 -41
- package/dist/{provision-DMTPG8Rh.mjs → provision-Wu9ZBk9L.mjs} +2 -3
- package/dist/{requests-TIz_jtSu.mjs → requests-C7Oeoh5u.mjs} +5 -5
- package/dist/resolve-project-BIeYs9Cw.mjs +2 -0
- package/dist/{resolve-project-BG5ORGID.mjs → resolve-project-CP8rZs_p.mjs} +6 -1
- package/dist/{rollback-dBqICPzj.mjs → rollback-DVAtrLAl.mjs} +30 -37
- package/dist/{route-types-Clm4WD0B.mjs → route-types-CbtsIeFn.mjs} +1 -1
- package/dist/route-url-BgPja1GS.d.mts +5 -0
- package/dist/route-url-BjGv_KKY.mjs +28 -0
- package/dist/runner-9wjsSZx-.mjs +2 -0
- package/dist/{runner--2KF6Kua.mjs → runner-DMBKSrRk.mjs} +2 -2
- package/dist/{runner-mysql-DmWchSWJ.mjs → runner-mysql-CEzKtmFb.mjs} +8 -8
- package/dist/{runner-mysql-CEG5JozK.mjs → runner-mysql-CkFqZ6CE.mjs} +1 -1
- package/dist/{runner-pg-Bh4AgZdj.mjs → runner-pg-BGYRFdRp.mjs} +1 -1
- package/dist/runtime/ai.d.mts +1 -1
- package/dist/runtime/ai.mjs +34 -95
- package/dist/runtime/better-auth-mysql.d.mts +1 -1
- package/dist/runtime/better-auth-mysql.mjs +4 -9
- package/dist/runtime/better-auth-pg.d.mts +1 -1
- package/dist/runtime/better-auth-pg.mjs +5 -10
- package/dist/runtime/better-auth.d.mts +1 -1
- package/dist/runtime/better-auth.mjs +3 -3
- package/dist/runtime/client-react.d.mts +2 -3
- package/dist/runtime/client-react.mjs +2 -2
- package/dist/runtime/client-solid.d.mts +2 -3
- package/dist/runtime/client-solid.mjs +2 -2
- package/dist/runtime/client-svelte.d.mts +2 -3
- package/dist/runtime/client-svelte.mjs +2 -2
- package/dist/runtime/client-vue.d.mts +2 -3
- package/dist/runtime/client-vue.mjs +2 -2
- package/dist/runtime/client.d.mts +2 -3
- package/dist/runtime/client.mjs +2 -2
- package/dist/runtime/db.mjs +1 -1
- package/dist/runtime/durable.mjs +3 -10
- package/dist/runtime/email/testing.mjs +5 -5
- package/dist/runtime/email.d.mts +2 -1
- package/dist/runtime/email.mjs +11 -27
- package/dist/runtime/env-public.mjs +15 -20
- package/dist/runtime/env.mjs +1 -1
- package/dist/runtime/fetch-stream.d.mts +2 -2
- package/dist/runtime/fetch-stream.mjs +1 -1
- package/dist/runtime/fetch.d.mts +2 -3
- package/dist/runtime/fetch.mjs +1 -1
- package/dist/runtime/handler.d.mts +1 -1
- package/dist/runtime/handler.mjs +2 -2
- package/dist/runtime/isr.mjs +1 -1
- package/dist/runtime/kv.mjs +10 -11
- package/dist/runtime/live-client.d.mts +1 -1
- package/dist/runtime/live-client.mjs +12 -22
- package/dist/runtime/live-server.mjs +27 -35
- package/dist/runtime/live.d.mts +2 -2
- package/dist/runtime/live.mjs +2 -2
- package/dist/runtime/migration-handler.mjs +4 -81
- package/dist/runtime/queues.mjs +1 -1
- package/dist/runtime/remote/binding-handler.d.mts +2 -2
- package/dist/runtime/remote/binding-handler.mjs +8 -9
- package/dist/runtime/remote/index.mjs +27 -77
- package/dist/runtime/route-url.d.mts +2 -4
- package/dist/runtime/route-url.mjs +1 -1
- package/dist/runtime/routing.d.mts +1 -1
- package/dist/runtime/routing.mjs +15 -26
- package/dist/runtime/sandbox.mjs +2 -2
- package/dist/runtime/sse.mjs +1 -1
- package/dist/runtime/storage.mjs +1 -1
- package/dist/runtime/validator.d.mts +1 -1
- package/dist/runtime/ws-server.d.mts +2 -2
- package/dist/runtime/ws-server.mjs +30 -61
- package/dist/runtime/ws.d.mts +1 -1
- package/dist/runtime/ws.mjs +1 -1
- package/dist/{scan-C8dA7iM4.mjs → scan-C3uDzz6J.mjs} +12 -13
- package/dist/{secret-AKnNXNP5.mjs → secret-BvtB7IjY.mjs} +15 -15
- package/dist/{skills-BPQUGClu.mjs → skills-BgVMvQdy.mjs} +2 -2
- package/dist/{sse-CQNaDFFV.mjs → sse-CMvCgjNk.mjs} +1 -1
- package/dist/{subcommand-prompt-B6WS9Aoz.mjs → subcommand-prompt-BSlnD1fI.mjs} +2 -2
- package/dist/sveltekit.d.mts +0 -2
- package/dist/terminal-log-text-D9ACPOuG.mjs +32 -0
- package/dist/validate-BJr9LfXy.mjs +2 -0
- package/dist/{validate-ymhap6M_.mjs → validate-C9qJArv7.mjs} +9 -28
- package/dist/{defer-YsYDUoii.mjs → validation-error-Dg9Recn1.mjs} +11 -11
- package/dist/{wrangler-DhUerFkW.mjs → wrangler-D9KTuqnv.mjs} +89 -194
- package/dist/{ws-C79j4aED.d.mts → ws-CChrrAU-.d.mts} +1 -1
- package/dist/{yarn-pnp-BV4AzNul.mjs → yarn-pnp-CUX_iTPA.mjs} +19 -27
- package/{skills/void/docs → docs}/guide/ai.md +5 -3
- package/{skills/void/docs → docs}/guide/auth.md +37 -1
- package/{skills/void/docs → docs}/guide/database/postgresql.md +2 -2
- package/{skills/void/docs → docs}/guide/deployment.md +2 -2
- package/{skills/void/docs → docs}/guide/edge/revalidation.md +1 -1
- package/{skills/void/docs → docs}/guide/edge/rewrites.md +2 -4
- package/{skills/void/docs → docs}/guide/email/receiving.md +2 -2
- package/{skills/void/docs → docs}/guide/email/sending.md +0 -2
- package/{skills/void/docs → docs}/guide/env-vars.md +4 -0
- package/{skills/void/docs → docs}/guide/jobs.md +2 -2
- package/{skills/void/docs → docs}/guide/live.md +10 -5
- package/{skills/void/docs → docs}/guide/pages-routing/actions-and-forms.md +20 -8
- package/{skills/void/docs → docs}/guide/pages-routing/loaders.md +7 -3
- package/{skills/void/docs → docs}/guide/pages-routing/markdown.md +15 -23
- package/{skills/void/docs → docs}/guide/pages-routing/overview.md +6 -4
- package/{skills/void/docs → docs}/guide/platform/administration/access.md +3 -11
- package/{skills/void/docs → docs}/guide/platform/administration/operations.md +3 -12
- package/{skills/void/docs → docs}/guide/platform/administration/projects.md +1 -1
- package/{skills/void/docs → docs}/guide/platform/development/local.md +4 -2
- package/{skills/void/docs → docs}/guide/platform/development/runtime.md +1 -1
- package/{skills/void/docs → docs}/guide/platform/development/schema-ci.md +1 -1
- package/{skills/void/docs → docs}/guide/platform/installation/domains.md +3 -1
- package/{skills/void/docs → docs}/guide/platform/installation/first-deployment.md +4 -2
- package/{skills/void/docs → docs}/guide/platform/installation/maintenance.md +4 -0
- package/{skills/void/docs → docs}/guide/project-collaboration.md +7 -3
- package/{skills/void/docs → docs}/guide/queues.md +0 -2
- package/{skills/void/docs → docs}/guide/remote-dev.md +5 -5
- package/{skills/void/docs → docs}/guide/sandboxes.md +2 -2
- package/{skills/void/docs → docs}/guide/sse.md +0 -2
- package/{skills/void/docs → docs}/guide/storage.md +7 -2
- package/{skills/void/docs → docs}/guide/websockets.md +4 -0
- package/docs/integrations/agents.md +37 -0
- package/{skills/void/docs → docs}/integrations/frameworks/astro.md +3 -3
- package/{skills/void/docs → docs}/integrations/frameworks/nuxt.md +6 -2
- package/{skills/void/docs → docs}/integrations/hono.md +15 -7
- package/{skills/void/docs → docs}/integrations/nodejs-bun-deno.md +1 -0
- package/{skills/void/docs → docs}/reference/api/auth.md +1 -1
- package/{skills/void/docs → docs}/reference/api/handlers.md +4 -2
- package/{skills/void/docs → docs}/reference/api/pages.md +4 -0
- package/{skills/void/docs → docs}/reference/cli/auth.md +1 -6
- package/{skills/void/docs → docs}/reference/cli/database.md +3 -4
- package/{skills/void/docs → docs}/reference/cli/deploy.md +1 -1
- package/{skills/void/docs → docs}/reference/cli/generate.md +1 -1
- package/{skills/void/docs → docs}/reference/cli/github.md +3 -12
- package/{skills/void/docs → docs}/reference/cli/platform-config.md +1 -1
- package/{skills/void/docs → docs}/reference/cli/platform-email.md +2 -3
- package/{skills/void/docs → docs}/reference/cli/platform-installation.md +1 -1
- package/{skills/void/docs → docs}/reference/cli/platform-operations.md +3 -0
- package/{skills/void/docs → docs}/reference/cli/platform-users.md +2 -2
- package/{skills/void/docs → docs}/reference/cli/project.md +5 -4
- package/{skills/void/docs → docs}/reference/cli/secrets.md +3 -3
- package/{skills/void/docs → docs}/reference/cli/setup.md +9 -11
- package/{skills/void/docs → docs}/reference/cli.md +1 -1
- package/{skills/void/docs → docs}/reference/config.md +13 -13
- package/{skills/void/docs → docs}/reference/resource-inference.md +1 -16
- package/package.json +34 -30
- package/schema.json +1 -1
- package/skills/migrate-vite-cloudflare-to-void/SKILL.md +4 -1
- package/skills/void/SKILL.md +9 -5
- package/dist/cf-build-output-ChY6-XWP.mjs +0 -2
- package/dist/client-BxVixJBI.mjs +0 -2
- package/dist/config-0acf1oys.mjs +0 -2
- package/dist/config-D8MOgiQV.mjs +0 -32
- package/dist/deploy-qmiLE1G1.mjs +0 -2
- package/dist/discover-AMCBXivQ.mjs +0 -2
- package/dist/fetch-error-Sp1R4mZv.d.mts +0 -20
- package/dist/gen-qCBwH3fZ.mjs +0 -2
- package/dist/help-Dw5f9Xrg.mjs +0 -2
- package/dist/login-D7meQg_3.mjs +0 -2
- package/dist/migrate-CEu2X5DB.mjs +0 -2
- package/dist/operator-cmd-DRPvhpjM.mjs +0 -2
- package/dist/plan-COtUvdMA.mjs +0 -2
- package/dist/platform-args-Dcy_5b_Y.mjs +0 -2
- package/dist/prepare-BBknoZI1.mjs +0 -2
- package/dist/resolve-project-DtbidV4y.mjs +0 -2
- package/dist/route-url-CG7U-cRN.mjs +0 -15
- package/dist/runner-voIltZrY.mjs +0 -2
- package/dist/validate-pna7R3Pv.mjs +0 -2
- package/skills/void/docs/integrations/agents.md +0 -26
- package/dist/{runner-pg-D4OPlil-.mjs → runner-pg-DV8p_zjA.mjs} +4 -4
- package/{skills/void/docs → docs}/guide/app-types.md +0 -0
- package/{skills/void/docs → docs}/guide/database/d1.md +2 -2
- package/{skills/void/docs → docs}/guide/database/mysql.md +0 -0
- package/{skills/void/docs → docs}/guide/database.md +8 -8
- package/{skills/void/docs → docs}/guide/durable-state.md +0 -0
- package/{skills/void/docs → docs}/guide/edge/headers.md +0 -0
- package/{skills/void/docs → docs}/guide/edge/prerendering.md +0 -0
- package/{skills/void/docs → docs}/guide/edge/redirects.md +0 -0
- package/{skills/void/docs → docs}/guide/edge/static-assets.md +0 -0
- package/{skills/void/docs → docs}/guide/email/domains.md +0 -0
- package/{skills/void/docs → docs}/guide/email.md +0 -0
- package/{skills/void/docs → docs}/guide/index.md +0 -0
- package/{skills/void/docs → docs}/guide/kv.md +0 -0
- package/{skills/void/docs → docs}/guide/pages-routing/head.md +0 -0
- package/{skills/void/docs → docs}/guide/pages-routing/islands.md +2 -2
- package/{skills/void/docs → docs}/guide/pages-routing/layouts.md +0 -0
- package/{skills/void/docs → docs}/guide/pages-routing/view-transitions.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/administration/email.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/administration/plans.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/administration/zero-trust.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/installation/ci.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/installation/credentials.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/installation/prerequisites.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/installation/setup.md +0 -0
- package/{skills/void/docs → docs}/guide/platform/installation/uninstall.md +0 -0
- package/{skills/void/docs → docs}/guide/platform-administration.md +0 -0
- package/{skills/void/docs → docs}/guide/platform-development.md +0 -0
- package/{skills/void/docs → docs}/guide/quickstart.md +0 -0
- package/{skills/void/docs → docs}/guide/self-hosted-platform.md +0 -0
- package/{skills/void/docs → docs}/guide/server-routing.md +3 -3
- package/{skills/void/docs → docs}/guide/ssg.md +0 -0
- package/{skills/void/docs → docs}/guide/ssr.md +0 -0
- package/{skills/void/docs → docs}/guide/type-safety.md +0 -0
- package/{skills/void/docs → docs}/guide/typed-fetch.md +0 -0
- package/{skills/void/docs → docs}/index.md +0 -0
- package/{skills/void/docs → docs}/integrations/cloudflare.md +0 -0
- package/{skills/void/docs → docs}/integrations/frameworks/analog.md +3 -3
- package/{skills/void/docs → docs}/integrations/frameworks/overview.md +0 -0
- package/{skills/void/docs → docs}/integrations/frameworks/react-router.md +3 -3
- package/{skills/void/docs → docs}/integrations/frameworks/sveltekit.md +1 -1
- package/{skills/void/docs → docs}/integrations/frameworks/tanstack-start.md +2 -2
- package/{skills/void/docs → docs}/reference/api/client.md +0 -0
- package/{skills/void/docs → docs}/reference/api/database.md +2 -2
- /package/{skills/void/docs → docs}/reference/api/durable.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/env.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/plugin.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/resources.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/rewrites.md +0 -0
- /package/{skills/void/docs → docs}/reference/api/types.md +0 -0
- /package/{skills/void/docs → docs}/reference/api.md +0 -0
- /package/{skills/void/docs → docs}/reference/cli/domains.md +0 -0
- /package/{skills/void/docs → docs}/reference/cli/email.md +0 -0
- /package/{skills/void/docs → docs}/reference/cli/platform-zero-trust.md +0 -0
- /package/{skills/void/docs → docs}/reference/cli/platform.md +0 -0
- /package/{skills/void/docs → docs}/reference/structure.md +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { r as readProjectConfig } from "./project-
|
|
2
|
-
import { c as getToken } from "./auth-
|
|
3
|
-
import { A as confirm, H as outro, L as log, tt as isCancel } from "./
|
|
4
|
-
import {
|
|
1
|
+
import { r as readProjectConfig } from "./project-BAm2aB6Q.mjs";
|
|
2
|
+
import { c as getToken } from "./auth-Dn2vw-SG.mjs";
|
|
3
|
+
import { A as confirm, H as outro, L as log, tt as isCancel } from "./dist-D3m88sjf.mjs";
|
|
4
|
+
import { d as printSuccess } from "./output-C50ag2r3.mjs";
|
|
5
|
+
import { r as PlatformClient } from "./client-DlDJuY0s.mjs";
|
|
5
6
|
//#region src/cli/cancel-deploy.ts
|
|
6
7
|
const ACTIVE_STATUSES = /* @__PURE__ */ new Set([
|
|
7
8
|
"pending",
|
|
@@ -48,7 +49,7 @@ async function runCancelDeployCommand(root, deployId) {
|
|
|
48
49
|
return;
|
|
49
50
|
}
|
|
50
51
|
await client.cancelDeployment(linked.projectId, target.id);
|
|
51
|
-
|
|
52
|
+
printSuccess(`Cancellation requested for deployment ${target.id}.`);
|
|
52
53
|
}
|
|
53
54
|
function formatDeployment(deployment) {
|
|
54
55
|
const suffix = deployment.commit ? ` (${deployment.commit.slice(0, 7)})` : "";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { T as writeKeyringPassword, c as normalizePlatformApiUrl, u as platformCredentialAccount, w as readKeyringPassword } from "./platform-registry-
|
|
1
|
+
import { T as writeKeyringPassword, c as normalizePlatformApiUrl, u as platformCredentialAccount, w as readKeyringPassword } from "./platform-registry-Cjv2Qf0r.mjs";
|
|
2
2
|
import { t as cfAccessHeaders } from "./cf-access-TWNzXltp.mjs";
|
|
3
3
|
import { spawnSync } from "node:child_process";
|
|
4
4
|
//#region src/cli/cf-access.ts
|
|
@@ -12,23 +12,22 @@ function usableToken(token) {
|
|
|
12
12
|
return false;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
+
function readOriginCredentials(raw) {
|
|
16
|
+
const parsed = JSON.parse(raw);
|
|
17
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) throw new Error("platform: VOID_ACCESS_CREDENTIALS must contain an origin-keyed JSON object.");
|
|
18
|
+
return parsed;
|
|
19
|
+
}
|
|
15
20
|
function rememberOriginToken(origin, token) {
|
|
16
|
-
|
|
17
|
-
if (process.env.VOID_ACCESS_CREDENTIALS) {
|
|
18
|
-
const parsed = JSON.parse(process.env.VOID_ACCESS_CREDENTIALS);
|
|
19
|
-
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) throw new Error("platform: VOID_ACCESS_CREDENTIALS must contain an origin-keyed JSON object.");
|
|
20
|
-
entries = parsed;
|
|
21
|
-
}
|
|
21
|
+
const raw = process.env.VOID_ACCESS_CREDENTIALS;
|
|
22
22
|
process.env.VOID_ACCESS_CREDENTIALS = JSON.stringify({
|
|
23
|
-
...
|
|
23
|
+
...raw ? readOriginCredentials(raw) : {},
|
|
24
24
|
[origin]: { CF_ACCESS_TOKEN: token }
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
27
|
function forgetOriginToken(origin) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const entries = { ...parsed };
|
|
28
|
+
const raw = process.env.VOID_ACCESS_CREDENTIALS;
|
|
29
|
+
if (!raw) return;
|
|
30
|
+
const entries = { ...readOriginCredentials(raw) };
|
|
32
31
|
delete entries[origin];
|
|
33
32
|
process.env.VOID_ACCESS_CREDENTIALS = JSON.stringify(entries);
|
|
34
33
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { a as join, i as isAbsolute, l as relative, n as dirname, r as extname, t as basename, u as resolve } from "./dist-BVqXeR_h.mjs";
|
|
2
2
|
import { copyFileSync, cpSync, existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, realpathSync, rmSync, symlinkSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { isRecord } from "@void/deploy-core";
|
|
4
5
|
import { randomUUID } from "node:crypto";
|
|
5
6
|
import { tmpdir } from "node:os";
|
|
6
7
|
import { isDeepStrictEqual } from "node:util";
|
|
@@ -10,7 +11,7 @@ import { InputConfigSchema, OutputContainerSchema } from "@cloudflare/config";
|
|
|
10
11
|
import ignore from "ignore";
|
|
11
12
|
//#region src/cli/cf-config-migrate.ts
|
|
12
13
|
function record(value) {
|
|
13
|
-
return
|
|
14
|
+
return isRecord(value) ? value : null;
|
|
14
15
|
}
|
|
15
16
|
function empty(value) {
|
|
16
17
|
return value === void 0 || value === null || Array.isArray(value) && value.length === 0 || record(value) !== null && Object.keys(value).length === 0;
|
|
@@ -61,7 +62,7 @@ function applyPreservationFlags(raw, worker) {
|
|
|
61
62
|
};
|
|
62
63
|
}
|
|
63
64
|
function applyWorkflows(raw, worker) {
|
|
64
|
-
if (
|
|
65
|
+
if (empty(raw.workflows)) return;
|
|
65
66
|
if (!Array.isArray(raw.workflows)) throw new Error("Invalid Workflow bindings in the built Cloudflare config.");
|
|
66
67
|
const env = record(worker.env) ?? {};
|
|
67
68
|
const exports = record(worker.exports) ?? {};
|
|
@@ -114,6 +115,7 @@ function uncredentialedEnvironment() {
|
|
|
114
115
|
function assertHandledFollowUps(followUps) {
|
|
115
116
|
for (const item of followUps) {
|
|
116
117
|
if (!item.blocking) continue;
|
|
118
|
+
if (item.code === "vite-plugin-install-disabled" && item.sourcePath === void 0) continue;
|
|
117
119
|
const path = item.sourcePath ?? item.code;
|
|
118
120
|
if (!(path === "assets.directory" && 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}`);
|
|
119
121
|
}
|
|
@@ -295,9 +297,9 @@ function migrateBuiltWranglerConfig(raw) {
|
|
|
295
297
|
class_name: className
|
|
296
298
|
};
|
|
297
299
|
}
|
|
300
|
+
result.containers = containers;
|
|
298
301
|
}
|
|
299
302
|
if (Object.keys(exports).length > 0) worker.exports = exports;
|
|
300
|
-
if (containers.length > 0) result.containers = containers;
|
|
301
303
|
return InputConfigSchema.parse(result);
|
|
302
304
|
} finally {
|
|
303
305
|
rmSync(directory, {
|
|
@@ -339,9 +341,6 @@ async function buildContainerImage(dockerfile, buildContext = dirname(dockerfile
|
|
|
339
341
|
}
|
|
340
342
|
//#endregion
|
|
341
343
|
//#region src/cli/cf-build-output.ts
|
|
342
|
-
function object(value) {
|
|
343
|
-
return value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
|
|
344
|
-
}
|
|
345
344
|
const moduleTypes = {
|
|
346
345
|
".js": "esm",
|
|
347
346
|
".mjs": "esm",
|
|
@@ -359,6 +358,11 @@ const moduleTypes = {
|
|
|
359
358
|
".json": "json",
|
|
360
359
|
".map": "sourcemap"
|
|
361
360
|
};
|
|
361
|
+
/** Whether `path` resolves strictly inside `directory`. */
|
|
362
|
+
function isInside(directory, path) {
|
|
363
|
+
const child = relative(directory, path);
|
|
364
|
+
return child !== "" && child !== ".." && !child.startsWith("../") && !isAbsolute(child);
|
|
365
|
+
}
|
|
362
366
|
function copyBundle(source, destination) {
|
|
363
367
|
const modules = {};
|
|
364
368
|
for (const entry of readdirSync(source, {
|
|
@@ -367,11 +371,7 @@ function copyBundle(source, destination) {
|
|
|
367
371
|
})) {
|
|
368
372
|
if (!entry.isFile() && !entry.isSymbolicLink()) continue;
|
|
369
373
|
const absolute = join(entry.parentPath, entry.name);
|
|
370
|
-
if (entry.isSymbolicLink())
|
|
371
|
-
const target = realpathSync(absolute);
|
|
372
|
-
const targetRelative = relative(realpathSync(source), target).replace(/\\/g, "/");
|
|
373
|
-
if (!targetRelative || targetRelative === ".." || targetRelative.startsWith("../") || isAbsolute(targetRelative)) throw new Error("The built Worker contains a symlink outside its output directory.");
|
|
374
|
-
}
|
|
374
|
+
if (entry.isSymbolicLink() && !isInside(realpathSync(source), realpathSync(absolute))) throw new Error("The built Worker contains a symlink outside its output directory.");
|
|
375
375
|
const name = relative(source, absolute);
|
|
376
376
|
if (name === "wrangler.json" || name === ".dev.vars" || name === join(".vite", "manifest.json") || name.endsWith(".css") || name.endsWith(".css.map")) continue;
|
|
377
377
|
const type = moduleTypes[extname(entry.name).toLowerCase()];
|
|
@@ -387,7 +387,7 @@ function copyBundle(source, destination) {
|
|
|
387
387
|
/** Create a private cf Build Output tree from Void's verified Vite artifact. */
|
|
388
388
|
async function prepareCfBuildOutput(workerDirectory, accountId) {
|
|
389
389
|
const source = resolve(workerDirectory);
|
|
390
|
-
const raw =
|
|
390
|
+
const raw = record(JSON.parse(readFileSync(join(source, "wrangler.json"), "utf8")));
|
|
391
391
|
if (!raw) return null;
|
|
392
392
|
if (typeof raw.account_id === "string" && raw.account_id !== accountId) return null;
|
|
393
393
|
const config = migrateBuiltWranglerConfig(raw);
|
|
@@ -395,23 +395,23 @@ async function prepareCfBuildOutput(workerDirectory, accountId) {
|
|
|
395
395
|
if (typeof raw.main !== "string" || !raw.main) throw new Error("The built Worker configuration is missing its main entry. Rebuild the app.");
|
|
396
396
|
const entry = raw.main.replaceAll("\\", "/");
|
|
397
397
|
const main = relative(source, resolve(source, entry));
|
|
398
|
-
if (isAbsolute(entry) || /^[a-z]:/i.test(entry) || !
|
|
398
|
+
if (isAbsolute(entry) || /^[a-z]:/i.test(entry) || !isInside(source, resolve(source, entry))) throw new Error("The built Worker main entry must be inside its output directory.");
|
|
399
399
|
if (!existsSync(join(source, main))) throw new Error(`The built Worker main entry ${JSON.stringify(main)} is missing. Rebuild the app.`);
|
|
400
|
-
const assetsDirectory =
|
|
400
|
+
const assetsDirectory = record(raw.assets)?.directory;
|
|
401
401
|
if (assetsDirectory !== void 0 && typeof assetsDirectory !== "string") return null;
|
|
402
402
|
const images = [];
|
|
403
403
|
const directory = mkdtempSync(join(tmpdir(), "void-cf-deploy-"));
|
|
404
|
+
const dispose = async () => {
|
|
405
|
+
rmSync(directory, {
|
|
406
|
+
recursive: true,
|
|
407
|
+
force: true
|
|
408
|
+
});
|
|
409
|
+
await Promise.all(images.map((image) => image.dispose()));
|
|
410
|
+
};
|
|
404
411
|
try {
|
|
405
412
|
const bundle = getWorkerBundleDir(directory);
|
|
406
413
|
mkdirSync(bundle, { recursive: true });
|
|
407
414
|
const modules = copyBundle(source, bundle);
|
|
408
|
-
if (!modules) {
|
|
409
|
-
rmSync(directory, {
|
|
410
|
-
recursive: true,
|
|
411
|
-
force: true
|
|
412
|
-
});
|
|
413
|
-
return null;
|
|
414
|
-
}
|
|
415
415
|
await writeRootConfig(directory, { accountId }, {
|
|
416
416
|
isPreview: false,
|
|
417
417
|
mode: "production"
|
|
@@ -445,11 +445,7 @@ async function prepareCfBuildOutput(workerDirectory, accountId) {
|
|
|
445
445
|
if (typeof assetsDirectory === "string") {
|
|
446
446
|
const assetPath = resolve(source, assetsDirectory);
|
|
447
447
|
if (!existsSync(assetPath)) {
|
|
448
|
-
|
|
449
|
-
recursive: true,
|
|
450
|
-
force: true
|
|
451
|
-
});
|
|
452
|
-
await Promise.all(images.map((image) => image.dispose()));
|
|
448
|
+
await dispose();
|
|
453
449
|
return null;
|
|
454
450
|
}
|
|
455
451
|
await writeAssets({
|
|
@@ -461,30 +457,16 @@ async function prepareCfBuildOutput(workerDirectory, accountId) {
|
|
|
461
457
|
return {
|
|
462
458
|
directory,
|
|
463
459
|
...typeof assetsDirectory === "string" ? { assetsDirectory: resolve(source, assetsDirectory) } : {},
|
|
464
|
-
dispose
|
|
465
|
-
rmSync(directory, {
|
|
466
|
-
recursive: true,
|
|
467
|
-
force: true
|
|
468
|
-
});
|
|
469
|
-
await Promise.all(images.map((image) => image.dispose()));
|
|
470
|
-
}
|
|
460
|
+
dispose
|
|
471
461
|
};
|
|
472
462
|
} catch (error) {
|
|
473
|
-
|
|
474
|
-
recursive: true,
|
|
475
|
-
force: true
|
|
476
|
-
});
|
|
477
|
-
await Promise.all(images.map((image) => image.dispose()));
|
|
463
|
+
await dispose();
|
|
478
464
|
throw error;
|
|
479
465
|
}
|
|
480
466
|
}
|
|
481
|
-
/** Bundle
|
|
482
|
-
async function
|
|
483
|
-
const
|
|
484
|
-
if (!raw || typeof raw.main !== "string" || basename(raw.main) !== raw.main) return null;
|
|
485
|
-
const entry = join(dirname(options.configPath), raw.main);
|
|
486
|
-
if (!existsSync(entry)) return null;
|
|
487
|
-
const scratch = mkdtempSync(join(tmpdir(), "void-cf-static-"));
|
|
467
|
+
/** Bundle a generated Worker entry with Vite, then hand the result to `prepareCfBuildOutput`. */
|
|
468
|
+
async function prepareBundledBuildOutput(options) {
|
|
469
|
+
const scratch = mkdtempSync(join(tmpdir(), options.scratchPrefix));
|
|
488
470
|
try {
|
|
489
471
|
const { build } = await import("vite");
|
|
490
472
|
await build({
|
|
@@ -496,20 +478,18 @@ async function prepareCfStaticBuildOutput(options) {
|
|
|
496
478
|
outDir: scratch,
|
|
497
479
|
emptyOutDir: true,
|
|
498
480
|
lib: {
|
|
499
|
-
entry,
|
|
481
|
+
entry: options.entry,
|
|
500
482
|
formats: ["es"],
|
|
501
483
|
fileName: "index"
|
|
502
484
|
},
|
|
485
|
+
...options.external ? { rollupOptions: { external: options.external } } : {},
|
|
503
486
|
target: "es2022"
|
|
504
487
|
}
|
|
505
488
|
});
|
|
506
489
|
writeFileSync(join(scratch, "wrangler.json"), JSON.stringify({
|
|
507
|
-
...
|
|
490
|
+
...options.config,
|
|
508
491
|
main: "index.js",
|
|
509
|
-
assets:
|
|
510
|
-
...object(raw.assets),
|
|
511
|
-
directory: resolve(options.assetsDirectory)
|
|
512
|
-
}
|
|
492
|
+
assets: options.assets
|
|
513
493
|
}), { mode: 384 });
|
|
514
494
|
return await prepareCfBuildOutput(scratch, options.accountId);
|
|
515
495
|
} finally {
|
|
@@ -519,16 +499,33 @@ async function prepareCfStaticBuildOutput(options) {
|
|
|
519
499
|
});
|
|
520
500
|
}
|
|
521
501
|
}
|
|
502
|
+
/** Bundle Void's generated thin static Worker before handing it to cf as prebuilt output. */
|
|
503
|
+
async function prepareCfStaticBuildOutput(options) {
|
|
504
|
+
const raw = record(JSON.parse(readFileSync(options.configPath, "utf8")));
|
|
505
|
+
if (!raw || typeof raw.main !== "string" || basename(raw.main) !== raw.main) return null;
|
|
506
|
+
const entry = join(dirname(options.configPath), raw.main);
|
|
507
|
+
if (!existsSync(entry)) return null;
|
|
508
|
+
return prepareBundledBuildOutput({
|
|
509
|
+
projectRoot: options.projectRoot,
|
|
510
|
+
entry,
|
|
511
|
+
scratchPrefix: "void-cf-static-",
|
|
512
|
+
config: raw,
|
|
513
|
+
assets: {
|
|
514
|
+
...record(raw.assets),
|
|
515
|
+
directory: resolve(options.assetsDirectory)
|
|
516
|
+
},
|
|
517
|
+
accountId: options.accountId
|
|
518
|
+
});
|
|
519
|
+
}
|
|
522
520
|
/** Bundle an adapter-produced Worker and copy only its public framework assets. */
|
|
523
521
|
async function prepareCfFrameworkBuildOutput(options) {
|
|
524
|
-
const raw =
|
|
525
|
-
const assets =
|
|
522
|
+
const raw = record(JSON.parse(readFileSync(options.configPath, "utf8")));
|
|
523
|
+
const assets = record(raw?.assets);
|
|
526
524
|
if (!raw || typeof raw.main !== "string" || typeof assets?.directory !== "string") return null;
|
|
527
525
|
const configDirectory = dirname(options.configPath);
|
|
528
526
|
const entry = resolve(configDirectory, raw.main);
|
|
529
527
|
const sourceAssets = resolve(configDirectory, assets.directory);
|
|
530
528
|
if (!existsSync(entry) || !existsSync(sourceAssets)) return null;
|
|
531
|
-
const scratch = mkdtempSync(join(tmpdir(), "void-cf-framework-"));
|
|
532
529
|
const publicAssets = mkdtempSync(join(tmpdir(), "void-cf-framework-assets-"));
|
|
533
530
|
try {
|
|
534
531
|
const ignored = ignore();
|
|
@@ -547,47 +544,27 @@ async function prepareCfFrameworkBuildOutput(options) {
|
|
|
547
544
|
mkdirSync(dirname(destination), { recursive: true });
|
|
548
545
|
if (file.isSymbolicLink()) {
|
|
549
546
|
const target = realpathSync(absolute);
|
|
550
|
-
|
|
551
|
-
if (targetRelative === ".." || targetRelative.startsWith("../") || isAbsolute(targetRelative)) throw new Error("The framework assets contain a symlink outside the asset directory.");
|
|
547
|
+
if (!isInside(realAssets, target)) throw new Error("The framework assets contain a symlink outside the asset directory.");
|
|
552
548
|
copyFileSync(target, destination);
|
|
553
549
|
} else if (file.isFile()) copyFileSync(absolute, destination);
|
|
554
550
|
}
|
|
555
|
-
const
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
logLevel: "error",
|
|
561
|
-
build: {
|
|
562
|
-
outDir: scratch,
|
|
563
|
-
emptyOutDir: true,
|
|
564
|
-
lib: {
|
|
565
|
-
entry,
|
|
566
|
-
formats: ["es"],
|
|
567
|
-
fileName: "index"
|
|
568
|
-
},
|
|
569
|
-
rollupOptions: { external: [/^cloudflare:/, /^node:/] },
|
|
570
|
-
target: "es2022"
|
|
571
|
-
}
|
|
572
|
-
});
|
|
573
|
-
writeFileSync(join(scratch, "wrangler.json"), JSON.stringify({
|
|
574
|
-
...raw,
|
|
575
|
-
main: "index.js",
|
|
551
|
+
const prepared = await prepareBundledBuildOutput({
|
|
552
|
+
projectRoot: options.projectRoot,
|
|
553
|
+
entry,
|
|
554
|
+
scratchPrefix: "void-cf-framework-",
|
|
555
|
+
config: raw,
|
|
576
556
|
assets: {
|
|
577
557
|
...assets,
|
|
578
558
|
directory: publicAssets
|
|
579
|
-
}
|
|
580
|
-
|
|
581
|
-
|
|
559
|
+
},
|
|
560
|
+
accountId: options.accountId,
|
|
561
|
+
external: [/^cloudflare:/, /^node:/]
|
|
562
|
+
});
|
|
582
563
|
return prepared ? {
|
|
583
564
|
...prepared,
|
|
584
565
|
assetsDirectory: sourceAssets
|
|
585
566
|
} : null;
|
|
586
567
|
} finally {
|
|
587
|
-
rmSync(scratch, {
|
|
588
|
-
recursive: true,
|
|
589
|
-
force: true
|
|
590
|
-
});
|
|
591
568
|
rmSync(publicAssets, {
|
|
592
569
|
recursive: true,
|
|
593
570
|
force: true
|
|
@@ -595,4 +572,4 @@ async function prepareCfFrameworkBuildOutput(options) {
|
|
|
595
572
|
}
|
|
596
573
|
}
|
|
597
574
|
//#endregion
|
|
598
|
-
export { migrateBuiltWranglerConfig as i, prepareCfFrameworkBuildOutput as n, prepareCfStaticBuildOutput as r, prepareCfBuildOutput as t };
|
|
575
|
+
export { record as a, migrateBuiltWranglerConfig as i, prepareCfFrameworkBuildOutput as n, prepareCfStaticBuildOutput as r, prepareCfBuildOutput as t };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { a as join } from "./dist-BVqXeR_h.mjs";
|
|
2
|
+
import { n as getPackageDir } from "./agents-B_pX_HmQ.mjs";
|
|
3
|
+
import { readFileSync } from "node:fs";
|
|
4
|
+
//#region src/cli/cf-user-agent.ts
|
|
5
|
+
let voidUserAgent;
|
|
6
|
+
let cfCliVersion;
|
|
7
|
+
function getVoidUserAgent() {
|
|
8
|
+
if (voidUserAgent === void 0) voidUserAgent = `void/${JSON.parse(readFileSync(join(getPackageDir(), "package.json"), "utf8")).version}`;
|
|
9
|
+
return voidUserAgent;
|
|
10
|
+
}
|
|
11
|
+
/** cf prepends `cf-cli/` to CLI_VERSION for both API requests and uploads. */
|
|
12
|
+
function getCfCliVersion() {
|
|
13
|
+
if (cfCliVersion === void 0) cfCliVersion = `${JSON.parse(readFileSync(new URL(import.meta.resolve("cf/package.json")), "utf8")).version} ${getVoidUserAgent()}`;
|
|
14
|
+
return cfCliVersion;
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { getVoidUserAgent as n, getCfCliVersion as t };
|