void 1.1.11 → 1.2.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/dist/{account-cmd-R35a4Oa8.mjs → account-cmd-CdUll_35.mjs} +5 -5
- package/dist/action-key-XZ9HkWAO.mjs +26 -0
- package/dist/{application-analysis-D7nNmNJb.mjs → application-analysis-fEqoSeMp.mjs} +11 -11
- package/dist/{application-routing-CZH66gXn.mjs → application-routing-DAhNP4u3.mjs} +1 -1
- package/dist/{ast-CPGPjb0V.mjs → ast-CsZ_q_gc.mjs} +6 -1
- package/dist/ast-bindings-C3yaPs1y.mjs +296 -0
- package/dist/{auth-link-VHmiKZmP.mjs → auth-link-C87vGXM-.mjs} +5 -5
- package/dist/{auth-router-O_Wrs5kg.mjs → auth-router-6I81r-ix.mjs} +3 -3
- package/dist/{better-auth-shared-Bv18bB-l.d.mts → better-auth-shared-DVk2DkTW.d.mts} +1 -1
- package/dist/{build-cmd-CMZiMn46.mjs → build-cmd-ex1g-j_e.mjs} +4 -4
- package/dist/{cache-TZ5Ab3d7.mjs → cache-oHzrnY3z.mjs} +4 -4
- package/dist/{cancel-deploy-DXoR6oC3.mjs → cancel-deploy-viAMD0Q_.mjs} +3 -3
- package/dist/cf-build-output-BJHuSsVN.mjs +1 -0
- package/dist/{cf-build-output-Bc8i3dzE.mjs → cf-build-output-BhVxldCw.mjs} +75 -10
- package/dist/{cf-user-agent-ChjQp2MU.mjs → cf-command-values-ByHk0xg4.mjs} +6 -16
- package/dist/cf-worker-settings-BECvvTVd.mjs +37 -0
- package/dist/cli/cli.mjs +139 -35
- package/dist/cli/cloudflare-operation-process.mjs +65 -18
- package/dist/cli/env-schema-probe.d.mts +1 -1
- package/dist/cli/env-schema-probe.mjs +3 -3
- package/dist/{client-GuSO3v_x.mjs → client-BEkdj1kx.mjs} +58 -13
- package/dist/client-BiRDZTSd.mjs +1 -0
- package/dist/{cloudflare-auth-DSvBc1Gu.mjs → cloudflare-auth-Byo_0_N9.mjs} +1 -1
- package/dist/{cloudflare-cmd-ZSErUl6Y.mjs → cloudflare-cmd-DMzCv12s.mjs} +5 -5
- package/dist/{cloudflare-config-rdFOys4X.mjs → cloudflare-config-DchHxPTo.mjs} +1 -1
- package/dist/{cloudflare-connect-BN-k2kD-.mjs → cloudflare-connect-CCRTVg-I.mjs} +3 -3
- package/dist/{cloudflare-operations-DH3GedbV.mjs → cloudflare-operations-Dh9dEHJj.mjs} +17 -7
- package/dist/{cloudflare-operations-Cm8lVx7W.mjs → cloudflare-operations-DsSaw2BT.mjs} +1 -1
- package/dist/{cloudflare-process-CZJ4viYl.mjs → cloudflare-process-8jEYIeim.mjs} +3 -2
- package/dist/{config-DC5llZaI.mjs → config-BIaXIkkv.mjs} +8 -3
- package/dist/{config-DYJV8aEH.mjs → config-BU6hMu1W.mjs} +1 -1
- package/dist/{config-D26zcdKy.mjs → config-DHgSEWT7.mjs} +39 -6
- package/dist/{config-7qoq2p9v.d.mts → config-DQfHOKh9.d.mts} +10 -1
- package/dist/config-entry.d.mts +1 -1
- package/dist/{connect-yQuLbuiJ.mjs → connect-k7R2rPVA.mjs} +6 -6
- package/dist/{create-project-CGOo_OL_.mjs → create-project-DTuy-l0z.mjs} +1 -1
- package/dist/{create-project-DEEWJX_M.mjs → create-project-DV71ol5d.mjs} +4 -4
- package/dist/{db-COI-yTJE.mjs → db-DVOkLH5X.mjs} +79 -23
- package/dist/{delete-PgN6L_9N.mjs → delete-BbP5eopu.mjs} +4 -4
- package/dist/{deploy-DsW-PrRQ.mjs → deploy-7H32EnUs.mjs} +220 -95
- package/dist/deploy-CE0Ev0Ob.mjs +2 -0
- package/dist/{deploy-managed-static-Dqz06S2u.mjs → deploy-managed-static-DlvcvnQT.mjs} +74 -28
- package/dist/{deploy-transport-nY3vLXPL.mjs → deploy-transport-BzGEj0Ge.mjs} +2 -2
- package/dist/deploy.d.mts +22 -1
- package/dist/deploy.mjs +49 -8
- package/dist/{dev-inbox-Rd6j_8vM.mjs → dev-inbox-D0jxye_D.mjs} +1 -1
- package/dist/{dispatch-BAbbn3jg.mjs → dispatch-DoUnxTNo.mjs} +15 -11
- package/dist/{dist-CfgIkieS.mjs → dist-B1PLt4_8.mjs} +1 -1
- package/dist/{dist-BVdsO7Py.mjs → dist-Cor9XGoz.mjs} +94 -200
- package/dist/{dist-Bn8Kodjp.mjs → dist-D15hFhP0.mjs} +1 -1
- package/dist/{domain-DKlNI0SR.mjs → domain-CA2wBgra.mjs} +5 -5
- package/dist/drizzle-9TubSZvI.mjs +1 -0
- package/dist/{email-BcjSyAL0.mjs → email-B9ayYQEG.mjs} +1 -1
- package/dist/{email-C0s3OvJk.mjs → email-DXpCc77w.mjs} +10 -10
- package/dist/{email-cloudflare-etpKiITL.mjs → email-cloudflare-D03g2TkS.mjs} +7 -7
- package/dist/{entry-B_0IhV64.mjs → entry-BEM8ZuGP.mjs} +40 -12
- package/dist/{env-BX2JFsgF.mjs → env-DgOQ9_8S.mjs} +6 -6
- package/dist/{env-public-CCdykygU.d.mts → env-public-6lqiSD2b.d.mts} +1 -0
- package/dist/{env-types-GRchm5dw.mjs → env-types-BicfKBhV.mjs} +1 -1
- package/dist/{env-validation-CuGfWRJd.mjs → env-validation-BmsdCZEk.mjs} +1 -1
- package/dist/{env-validation-D_KyMdab.mjs → env-validation-Dwq3PJzK.mjs} +3 -3
- package/dist/{fetch-DHLOuPyk.d.mts → fetch-CUX0tB78.d.mts} +14 -1
- package/dist/fetch-CtESUYWd.mjs +26 -0
- package/dist/{fetch-error-Dj3crt0e.mjs → fetch-error-Bw0n-IY-.mjs} +1 -1
- package/dist/{fetch-stream-PGgz4uGz.mjs → fetch-stream-BspOeTAI.mjs} +1 -1
- package/dist/{fetch-stream-CNxOrBdP.d.mts → fetch-stream-DfkAzZf-.d.mts} +1 -1
- package/dist/{gen-Bj6ZkOcI.mjs → gen-BfmcIi2g.mjs} +5 -5
- package/dist/gen-NrOlWZaG.mjs +1 -0
- package/dist/{github-cmd-DQDryS-5.mjs → github-cmd-CY9LUqLh.mjs} +4 -4
- package/dist/{handler-_PqY82xe.d.mts → handler-BbkSPzGF.d.mts} +91 -9
- package/dist/{headers-Bi4bOAwp.mjs → headers-D522zd0A.mjs} +2 -2
- package/dist/help-BeAFFE5C.mjs +1 -0
- package/dist/{help-D49SL_lN.mjs → help-CxSlPpzJ.mjs} +83 -12
- package/dist/{inbound-BuTfm11U.mjs → inbound-VrOLqwZY.mjs} +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +125 -124
- package/dist/{info-Bxunp14X.mjs → info-7VDlhtyy.mjs} +4 -4
- package/dist/{init-DyTEY04s.mjs → init-DxYyOs4-.mjs} +103 -43
- package/dist/{link-CgOVn9EC.mjs → link-Ddmod1dZ.mjs} +5 -5
- package/dist/{list-CUfD9RSb.mjs → list-MogaugiO.mjs} +5 -5
- package/dist/{live-DJONVlQK.d.mts → live-Bt8Y_0bg.d.mts} +1 -1
- package/dist/{local-d1-CpaPbd_L.mjs → local-d1-BHBnKWRb.mjs} +1 -1
- package/dist/{log-vqY3pqwI.mjs → log-BMwmN5Ae.mjs} +2 -2
- package/dist/{login-BJvGW5Eu.mjs → login-Cttnagmm.mjs} +4 -4
- package/dist/login-DgDwlKc_.mjs +1 -0
- package/dist/{logs-DeizBI4j.mjs → logs-CAszUWZI.mjs} +4 -4
- package/dist/{migrate-8rk56vV8.mjs → migrate-DyT2jJ8y.mjs} +5 -5
- package/dist/migrate-n49ZeS1X.mjs +1 -0
- package/dist/{mime-srOklVVv.mjs → mime-BAyHPskU.mjs} +1 -1
- package/dist/nitro.mjs +3 -3
- package/dist/{node-uN8_zxJr.mjs → node-WB7c2N4L.mjs} +2 -2
- package/dist/operator-cmd-d2MvJOrl.mjs +1 -0
- package/dist/{operator-cmd-CA5QQyvE.mjs → operator-cmd-skshjMGl.mjs} +4 -4
- package/dist/output-BW9uK099.mjs +1 -0
- package/dist/{output-Ba6ZbrzY.mjs → output-BpgYODYx.mjs} +16 -4
- package/dist/pages/client.d.mts +2 -2
- package/dist/pages/client.mjs +48 -25
- package/dist/pages/index.d.mts +2 -2
- package/dist/pages/index.mjs +4 -4
- package/dist/pages/islands-plugin.d.mts +43 -5
- package/dist/pages/islands-plugin.mjs +100 -28
- package/dist/pages/protocol.d.mts +2 -2
- package/dist/pages/protocol.mjs +1 -1
- package/dist/pages/serialize.d.mts +2 -2
- package/dist/pages/serialize.mjs +1 -1
- package/dist/{parse-filename-CUbj-1MP.mjs → parse-filename-DioPHiR9.mjs} +1 -35
- package/dist/{picocolors-BTps1_gs.mjs → picocolors-BsDfhxIw.mjs} +1 -1
- package/dist/{platform-args-B7ke06up.mjs → platform-args-DVbVClZl.mjs} +12 -4
- package/dist/platform-args-kQrgxScY.mjs +1 -0
- package/dist/{platform-auth-config-CZaY812e.mjs → platform-auth-config-C-pm5Qzx.mjs} +6 -6
- package/dist/{platform-auth-protection-U9HCqoXv.mjs → platform-auth-protection-SHhvim1L.mjs} +4 -4
- package/dist/{platform-auth-recovery-B0BV2hfV.mjs → platform-auth-recovery-DXVWs-wA.mjs} +4 -4
- package/dist/{platform-cmd-CXrjk4fb.mjs → platform-cmd-D5I1beUX.mjs} +7 -7
- package/dist/{platform-cmd-D9lwFpcl.mjs → platform-cmd-PiNRkopU.mjs} +1 -1
- package/dist/{platform-domain-CXyq-68_.mjs → platform-domain-jpmBfZeb.mjs} +4 -4
- package/dist/{platform-lifecycle-Dz2cJsLX.mjs → platform-lifecycle-DH3Yr1qQ.mjs} +1 -1
- package/dist/{platform-lifecycle-D0TdyXbN.mjs → platform-lifecycle-DyKmuNY6.mjs} +405 -44
- package/dist/{platform-management-CnXhgxTM.mjs → platform-management--vDwSn35.mjs} +49 -5
- package/dist/{platform-management-BvgbusqL.mjs → platform-management-7m-PLaPJ.mjs} +1 -1
- package/dist/{platform-plans-config-BWn1S2Rv.mjs → platform-plans-config-CeydDSj0.mjs} +2 -2
- package/dist/{platform-recovery-CH_fThW6.mjs → platform-recovery-BiNpZZab.mjs} +2 -2
- package/dist/{platform-setup-YvN9VQXV.mjs → platform-setup-Ca53gtt0.mjs} +3 -2
- package/dist/{plugin-inference-Bekzjuqw.mjs → plugin-inference-DUjCd55H.mjs} +145 -218
- package/dist/{prepare-2XD6kh77.mjs → prepare-BcAE5Sdj.mjs} +3 -3
- package/dist/prepare-C4I0f--h.mjs +1 -0
- package/dist/{prepare-DepAGBcV.mjs → prepare-DA-17DhO.mjs} +5 -5
- package/dist/{prerender-render-Bfsumdkv.mjs → prerender-render-Cijv7UFo.mjs} +11 -6
- package/dist/prerender-render.mjs +1 -1
- package/dist/{project-cmd-CpLYflCH.mjs → project-cmd-DA4K5faU.mjs} +18 -18
- package/dist/{project-team-CTSY7W7Q.mjs → project-team-CQBNveX3.mjs} +4 -4
- package/dist/{project-token-Cybtlfbl.mjs → project-token-CCalFyQf.mjs} +4 -4
- package/dist/{project-zero-trust-DKOtqyvu.mjs → project-zero-trust-DPnkiEuT.mjs} +4 -4
- package/dist/{protocol-B8sI8dRD.d.mts → protocol-BBDpJz3G.d.mts} +3 -1
- package/dist/{protocol-RNP0u7UY.mjs → protocol-DimNxVRr.mjs} +42 -17
- package/dist/{provision-UcYjpTRh.mjs → provision-BFLCrnUp.mjs} +1 -1
- package/dist/{provision-BuifYvLc.mjs → provision-DtROpNNI.mjs} +6 -5
- package/dist/{requests-Ryiazz9i.mjs → requests-BpH0kImL.mjs} +3 -3
- package/dist/resolve-project-DD1vu8s9.mjs +1 -0
- package/dist/{resolve-project-WpwkCB_c.mjs → resolve-project-Xoi6eTWY.mjs} +1 -1
- package/dist/{rollback-Or0EV3rP.mjs → rollback-CXS1tAa-.mjs} +10 -9
- package/dist/{rolldown-runtime-DXIUcv95.mjs → rolldown-runtime-3h0WiCiA.mjs} +1 -1
- package/dist/{routing-assets-VkrKIbxE.mjs → routing-assets-DdSFxoLp.mjs} +10 -4
- package/dist/runtime/better-auth-mysql.d.mts +1 -1
- package/dist/runtime/better-auth-pg.d.mts +1 -1
- package/dist/runtime/better-auth.d.mts +1 -1
- package/dist/runtime/client-react.d.mts +2 -2
- package/dist/runtime/client-react.mjs +3 -3
- package/dist/runtime/client-solid.d.mts +2 -2
- package/dist/runtime/client-solid.mjs +3 -3
- package/dist/runtime/client-svelte.d.mts +2 -2
- package/dist/runtime/client-svelte.mjs +3 -3
- package/dist/runtime/client-vue.d.mts +2 -2
- package/dist/runtime/client-vue.mjs +3 -3
- package/dist/runtime/client.d.mts +2 -2
- package/dist/runtime/client.mjs +3 -3
- package/dist/runtime/email/testing.mjs +4 -4
- package/dist/runtime/email.mjs +3 -3
- package/dist/runtime/env-public.d.mts +1 -1
- package/dist/runtime/fetch-server.d.mts +8 -0
- package/dist/runtime/fetch-server.mjs +30 -0
- package/dist/runtime/fetch-stream.d.mts +2 -2
- package/dist/runtime/fetch-stream.mjs +2 -2
- package/dist/runtime/fetch.d.mts +2 -2
- package/dist/runtime/fetch.mjs +3 -3
- package/dist/runtime/handler.d.mts +1 -1
- package/dist/runtime/live-client.d.mts +1 -1
- package/dist/runtime/live.d.mts +1 -1
- package/dist/runtime/routing.d.mts +17 -76
- package/dist/runtime/routing.mjs +277 -216
- package/dist/runtime/validator.d.mts +1 -1
- package/dist/runtime/ws-server.d.mts +2 -2
- package/dist/runtime/ws.d.mts +1 -1
- package/dist/{scan-D2-FcLHs.mjs → scan-8IzYXiU_.mjs} +12 -11
- package/dist/{secret-CClHaFxm.mjs → secret-BbXHfLAt.mjs} +6 -6
- package/dist/serialize-DtR8Vwa_.d.mts +18 -0
- package/dist/serialize-YHvlcG3Q.mjs +31 -0
- package/dist/{skills-C_yRTg0g.mjs → skills-CrUO3PJ0.mjs} +1 -1
- package/dist/{subcommand-prompt-Bm3ZlYgA.mjs → subcommand-prompt-D9OhhbGG.mjs} +2 -2
- package/dist/{version-metadata-B1Bm2wSq.mjs → version-metadata-tS39iW09.mjs} +1 -1
- package/dist/wrangler-BLb3_luP.mjs +1 -0
- package/dist/{wrangler-C9XSzrju.mjs → wrangler-F96NnLyb.mjs} +13 -5
- package/dist/{wrapper-BOigE1xJ.mjs → wrapper-D3sZyh2C.mjs} +5 -3
- package/dist/{ws-CsBNxv86.d.mts → ws-BH-im_tX.d.mts} +1 -1
- package/docs/guide/ai.md +1 -1
- package/docs/guide/database/postgresql.md +1 -1
- package/docs/guide/database.md +26 -0
- package/docs/guide/deployment.md +2 -0
- package/docs/guide/edge/headers.md +1 -1
- package/docs/guide/email/domains.md +1 -1
- package/docs/guide/email/receiving.md +1 -1
- package/docs/guide/email/sending.md +3 -3
- package/docs/guide/pages-routing/actions-and-forms.md +1 -1
- package/docs/guide/pages-routing/markdown.md +3 -1
- package/docs/guide/platform/administration/email.md +7 -1
- package/docs/guide/platform/installation/ci.md +2 -0
- package/docs/guide/platform/installation/credentials.md +24 -6
- package/docs/guide/platform/installation/domains.md +16 -0
- package/docs/guide/platform/installation/maintenance.md +32 -2
- package/docs/guide/platform/installation/setup.md +1 -1
- package/docs/guide/self-hosted-platform.md +1 -1
- package/docs/guide/server-routing.md +1 -1
- package/docs/guide/typed-fetch.md +1 -1
- package/docs/integrations/cloudflare.md +2 -1
- package/docs/integrations/frameworks/tanstack-start.md +25 -0
- package/docs/reference/api/deploy.md +35 -3
- package/docs/reference/api/env.md +1 -1
- package/docs/reference/api/rewrites.md +1 -1
- package/docs/reference/api/types.md +1 -0
- package/docs/reference/cli/database.md +15 -0
- package/docs/reference/cli/platform-installation.md +5 -2
- package/docs/reference/cli/project.md +4 -2
- package/docs/reference/cli/setup.md +17 -0
- package/docs/reference/cli.md +1 -0
- package/docs/reference/config.md +14 -1
- package/docs/reference/resource-inference.md +4 -0
- package/package.json +23 -22
- package/sandbox.Dockerfile +1 -1
- package/schema.json +23 -3
- package/dist/cf-build-output-BU3hqdHu.mjs +0 -1
- package/dist/client-DrdeJgHR.mjs +0 -1
- package/dist/deploy-CxNgEYr4.mjs +0 -2
- package/dist/fetch-sAcwjzLO.mjs +0 -18
- package/dist/gen-DsCukhuw.mjs +0 -1
- package/dist/help-DOFygYi4.mjs +0 -1
- package/dist/login-alAlxw4S.mjs +0 -1
- package/dist/migrate-D2odrAmh.mjs +0 -1
- package/dist/operator-cmd-D7toMPJ9.mjs +0 -1
- package/dist/platform-args-B_LrqEZB.mjs +0 -1
- package/dist/prepare-EVEbQ9n2.mjs +0 -1
- package/dist/resolve-project-PnhzMtY6.mjs +0 -1
- package/dist/serialize-BtQyaYoC.mjs +0 -20
- package/dist/serialize-CfSwWfF2.d.mts +0 -10
- package/dist/wrangler-DAdxHEzh.mjs +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Deployment artifacts
|
|
2
2
|
|
|
3
|
-
Use `void/deploy` from Node.js to prepare a built Void app for a managed platform deployment without platform credentials.
|
|
3
|
+
Use `void/deploy` from Node.js to prepare a built Void app, SPA, or static site for a managed platform deployment without platform credentials.
|
|
4
4
|
|
|
5
5
|
Build the app in managed mode inside its isolated environment:
|
|
6
6
|
|
|
@@ -16,8 +16,40 @@ import { prepareDeployArtifact } from 'void/deploy';
|
|
|
16
16
|
const { artifact, assets } = await prepareDeployArtifact('/path/to/app');
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
`artifact` contains the deployment manifest, content-addressed asset metadata, and base64 Worker modules. `assets` maps asset URL paths to base64 bytes. Keep this result immutable while requesting [publish approval](/guide/platform/administration/connected-apps).
|
|
19
|
+
`artifact` contains the deployment manifest, content-addressed asset metadata, and base64 Worker modules when the app needs a Worker. SPAs and static sites contain only assets, using the same app detection, output directory and routing configuration as `void deploy`. `assets` maps asset URL paths to base64 bytes. Keep this result immutable while requesting [publish approval](/guide/platform/administration/connected-apps).
|
|
20
20
|
|
|
21
|
-
Preparation packages existing build output; it does not build, contact a platform, provision resources, or deploy. It supports Void Cloudflare Worker builds. Node targets,
|
|
21
|
+
Preparation packages existing build output; it does not build, contact a platform, provision resources, or deploy. It supports Void Cloudflare Worker builds, SPAs, and static sites. Node targets, Pages `output: 'static'`, remote data, deploy-time prerendering, Sandbox, and Live resources require the normal `void deploy` workflow instead.
|
|
22
22
|
|
|
23
23
|
Run preparation inside the same isolated environment as the app build. App configuration and build plugins execute project code; keep platform credentials on the publishing server.
|
|
24
|
+
|
|
25
|
+
## Cloudflare Build Output
|
|
26
|
+
|
|
27
|
+
::: warning Experimental
|
|
28
|
+
`prepareCfBuildOutput` follows Cloudflare's draft Build Output format. Its options and the prepared directory can change between Void releases.
|
|
29
|
+
:::
|
|
30
|
+
|
|
31
|
+
Use `prepareCfBuildOutput` to convert an existing Cloudflare Worker build into a disposable Cloudflare Build Output directory:
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
import { prepareCfBuildOutput } from 'void/deploy';
|
|
35
|
+
|
|
36
|
+
const prepared = await prepareCfBuildOutput('/path/to/app/dist/server', { mode: 'staging' });
|
|
37
|
+
if (!prepared) {
|
|
38
|
+
throw new Error('The Worker build could not be prepared.');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
try {
|
|
42
|
+
// Inspect or pass prepared.directory to your Cloudflare publication workflow.
|
|
43
|
+
} finally {
|
|
44
|
+
await prepared.dispose();
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Pass the Worker output directory that contains a generated `wrangler.json`, such as `dist/ssr`, `dist/rsc`, or `dist/server`. When Cloudflare's build tooling built the app, pass the project root that contains its native Build Output at `.cloudflare/output/v0` instead. Preparation copies modules and assets without changing that input. Native output keeps its module types, auxiliary Workers, Container declarations, and build metadata. Preparation does not provision resources, upload a Worker, or activate a deployment. Container images built from a local Dockerfile exist only in the Docker environment that built them, so publish from that environment.
|
|
49
|
+
|
|
50
|
+
| Option | Description |
|
|
51
|
+
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
52
|
+
| `accountId` | Cloudflare account the build must target. A different account in the build returns `null`. When omitted, the build's account is kept or left unset. |
|
|
53
|
+
| `mode` | Vite build mode. Native output keeps the mode it was built with, and a different value returns `null`. For other output it defaults to `production`. |
|
|
54
|
+
|
|
55
|
+
The result contains `directory`, an optional `assetsDirectory` pointing to the input assets, and an asynchronous `dispose()` method. Always dispose the result after use. Unsupported build configuration returns `null`. A directory without a Worker build, a missing or invalid Worker module, or an asset symlink outside the asset directory throws an error.
|
|
@@ -45,6 +45,6 @@ Non-client keys are server values and use remote secret storage in production. `
|
|
|
45
45
|
/// <reference types="void/env" />
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
Declares the `Cloudflare.Env` namespace with `DB`, `KV`, `STORAGE`, `AI`, and `
|
|
48
|
+
Declares the `Cloudflare.Env` namespace with `DB`, `KV`, `STORAGE`, `AI`, `SANDBOX`, and `ASSETS` binding types.
|
|
49
49
|
|
|
50
50
|
For handler context variables such as `c.set()` and `c.get()`, augment [`CloudContextVariables`](./types.md#cloudcontextvariables). This is separate from `Cloudflare.Env`, which types worker bindings. Framework adapters such as `@void/vue`, `@void/react`, and `@void/svelte` also augment `CloudContextVariables` to add the `shared` key used by `useShared()`.
|
|
@@ -10,7 +10,7 @@ URL rewrites re-dispatch a request at a different internal path without changing
|
|
|
10
10
|
|
|
11
11
|
Re-dispatches the current request at `destination` and returns the resulting `Response`. The browser URL does not change — this is a server-side hop. If `destination` has no query string, the original request query is preserved. If `destination` includes a query string, it replaces the original query. `destination` must start with `/`; known generated routes autocomplete via [`RewriteDestination`](#rewritedestination), while arbitrary strings remain accepted for dynamic paths.
|
|
12
12
|
|
|
13
|
-
`c.redirect()` also preserves request query params for internal destinations, but it merges rather than replaces: destination params win on collision, and request-only params are appended.
|
|
13
|
+
`c.redirect()` also preserves request query params for internal destinations, but it merges rather than replaces: destination params win on collision, and request-only params are appended. On a request to a [named action](../../guide/pages-routing/actions-and-forms.md#named-actions), the action key (`?delete` in `POST /users/42?delete`) is not carried over, whether the action or middleware redirects. A redirect after which the browser sends the same request again keeps it: `307` and `308`, and `301` or `302` after a `PUT`, `PATCH` or `DELETE`.
|
|
14
14
|
|
|
15
15
|
```ts
|
|
16
16
|
import { defineHandler } from 'void';
|
|
@@ -24,6 +24,7 @@ interface CloudEnv extends Env {
|
|
|
24
24
|
STORAGE: R2Bucket;
|
|
25
25
|
AI: Ai;
|
|
26
26
|
SANDBOX: DurableObjectNamespace<import('void/sandbox').VoidPlatformSandbox>;
|
|
27
|
+
ASSETS: { fetch(request: Request): Promise<Response> };
|
|
27
28
|
[key: string]: unknown;
|
|
28
29
|
};
|
|
29
30
|
Variables: CloudContextVariables;
|
|
@@ -89,6 +89,21 @@ By default, targets the local database. Pass `--remote` to open Studio against t
|
|
|
89
89
|
- **Direct Cloudflare PostgreSQL and MySQL projects**: use `DATABASE_URL` from the current shell.
|
|
90
90
|
- **D1 projects**: remote Studio is not available. Use `void db execute --remote` to query your deployed D1 database.
|
|
91
91
|
|
|
92
|
+
## `void db restore` {#void-db-restore}
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
void db restore --bookmark <bookmark> [--platform cloudflare] [--yes]
|
|
96
|
+
void db restore --timestamp <iso-time> [--platform cloudflare] [--yes]
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Restore the deployed D1 database of a direct Cloudflare deploy with D1 [Time Travel](https://developers.cloudflare.com/d1/reference/time-travel/). Before `void deploy --platform cloudflare` applies migrations, it prints the `--bookmark` that undoes them. `--timestamp` restores the state at an ISO 8601 time with `Z` or an offset instead, such as `2026-10-16T09:30:00Z`, with at most millisecond precision. Time Travel keeps 7 days of history on Workers Free and 30 days on Workers Paid. An older bookmark or time can no longer be restored: Cloudflare rejects it and the database stays unchanged. To undo an older migration, write a new migration that reverses it.
|
|
100
|
+
|
|
101
|
+
If the project's saved destination is not Cloudflare and you deployed once with `void deploy --platform cloudflare`, pass `--platform cloudflare`; deploy prints the command with it.
|
|
102
|
+
|
|
103
|
+
Restoring replaces the whole database and discards every write made after that point. Void names the database and asks before it restores. Pass `--yes` to skip the prompt in scripts and CI; without a terminal, the command stops unless `--yes` is set. Afterwards Void prints the `void db restore` command that undoes the restore.
|
|
104
|
+
|
|
105
|
+
A restore also rewinds the record of applied migrations. Void lists the migration files the database no longer has applied; the next deploy applies them, so fix or remove the one that caused the problem first. Restoring does not change the deployed code: use [`void project rollback`](./project.md#void-project-rollback-deployid) if the live version needs the newer schema. After a one-off Cloudflare deploy, pass `--platform cloudflare` to `void project rollback` and `void deploy` as well.
|
|
106
|
+
|
|
92
107
|
## `void db rename-migrations` {#void-db-rename-migrations}
|
|
93
108
|
|
|
94
109
|
Rename existing migrations from the old numeric prefix format (`0001_name.sql`) to timestamp-based format (`20260410161500_name.sql`). Updates local tracking table and remote records if logged in with a linked project. A project that deploys to Void must be linked first with `void project link`; otherwise the command stops without changes.
|
|
@@ -24,6 +24,7 @@ void platform install [options] [--yes]
|
|
|
24
24
|
| `--zone <domain>` | Cloudflare zone containing the application domain |
|
|
25
25
|
| `--dedicated-zone` | Add zone-wide catch-all routes; valid only when the app domain is the whole zone |
|
|
26
26
|
| `--no-dedicated-zone` | Skip zone-wide application catch-all routes |
|
|
27
|
+
| `--custom-domains` | Let projects add their own domains; needs a dedicated zone |
|
|
27
28
|
| `--control-plane-domain <domain>` | Optional API custom hostname; defaults to `workers.dev` |
|
|
28
29
|
| `--no-control-plane-domain` | Use the default `workers.dev` API hostname |
|
|
29
30
|
| `--dashboard-url <origin>` | HTTPS origin of an optional dashboard deployed separately |
|
|
@@ -100,9 +101,9 @@ Use these commands to recover, update, pause, or remove an installation:
|
|
|
100
101
|
|
|
101
102
|
```sh
|
|
102
103
|
void platform discover [--account <id>] [--installation <id-or-name>]
|
|
103
|
-
void platform upgrade [id] [--runtime <path>] [--dashboard-url <origin>] [--plan] [--yes]
|
|
104
|
+
void platform upgrade [id] [--runtime <path>] [--dashboard-url <origin>] [--custom-domains] [--plan] [--yes]
|
|
104
105
|
void platform rollback [id] --runtime <earlier-path> [--from-runtime <current-path>] [--plan] [--yes]
|
|
105
|
-
void platform repair [id] [--runtime <path>] [--dashboard-url <origin>] [--auth-config <path>] [--plan] [--yes]
|
|
106
|
+
void platform repair [id] [--runtime <path>] [--dashboard-url <origin>] [--custom-domains] [--auth-config <path>] [--plan] [--yes]
|
|
106
107
|
void platform disable [id] [--plan] [--yes]
|
|
107
108
|
void platform enable [id] [--runtime <path>] [--plan] [--yes]
|
|
108
109
|
void platform uninstall [id] [--plan] [--purge-data | --purge-resources] [--yes]
|
|
@@ -137,6 +138,8 @@ After discovery on another machine, set `VOID_PLATFORM_DATABASE_URL`. See [Manag
|
|
|
137
138
|
|
|
138
139
|
Repair and upgrade preserve disabled state. New, resumed, and previously disabled installations block user traffic until all target Workers pass verification; the installer's health probes can still run. Routes and custom domains remain attached.
|
|
139
140
|
|
|
141
|
+
If a platform Worker was changed outside Void, or has an active version without a Void deployment record, a command that deploys the platform Workers stops before it changes a platform Worker or pauses traffic, unless you agree in a terminal to replace the changes. See [Platform Workers changed outside Void](../../guide/platform/installation/maintenance.md#workers-changed-outside-void).
|
|
142
|
+
|
|
140
143
|
`--runtime` selects a custom platform build. Relative paths resolve from your current directory. Void verifies the build before making changes; see [Platform Development](../../guide/platform/development/runtime.md#deploying-your-runtime) for creating one.
|
|
141
144
|
|
|
142
145
|
Without `--runtime`, the CLI uses its packaged platform version.
|
|
@@ -169,7 +169,7 @@ void project requests --range 24h
|
|
|
169
169
|
## `void project rollback [deployId]` {#void-project-rollback-deployid}
|
|
170
170
|
|
|
171
171
|
```
|
|
172
|
-
void project rollback [deployId]
|
|
172
|
+
void project rollback [deployId] [--platform cloudflare]
|
|
173
173
|
```
|
|
174
174
|
|
|
175
175
|
Roll back to a previous deployment or Worker Version.
|
|
@@ -179,7 +179,9 @@ Roll back to a previous deployment or Worker Version.
|
|
|
179
179
|
|
|
180
180
|
On a Void platform, you can select a retained deployment. On Cloudflare, use a complete Worker Version ID or an unambiguous prefix. Void activates that version at 100%. When both versions have complete trigger snapshots, it also restores the selected version's schedules, queues, workflows, routes, and custom domains. Otherwise, rollback keeps the current triggers and restores the code, including versions originally deployed outside Void.
|
|
181
181
|
|
|
182
|
-
|
|
182
|
+
If the project's saved destination is not Cloudflare and you deployed once with `void deploy --platform cloudflare`, pass `--platform cloudflare` to roll back that Worker.
|
|
183
|
+
|
|
184
|
+
Rollback doesn't reverse database migrations. If older code may run against a newer schema, or migration metadata is missing, Void explains the risk and asks for confirmation. On Cloudflare, undo D1 migrations with [`void db restore`](./database.md#void-db-restore) and the restore point that deploy printed before it applied them, within 7 days on Workers Free or 30 days on Workers Paid.
|
|
183
185
|
|
|
184
186
|
## `void project cancel [deployId]` {#void-project-cancel-deployid}
|
|
185
187
|
|
|
@@ -29,10 +29,27 @@ Resources recorded in `void.lock.json` without a matching definition appear sepa
|
|
|
29
29
|
|
|
30
30
|
```sh
|
|
31
31
|
void init [--tsconfig] [--github] [--git | --no-git]
|
|
32
|
+
[--toolchain <name>] [--framework <name>] [--starter <name>] [--deploy <target>]
|
|
32
33
|
```
|
|
33
34
|
|
|
34
35
|
Set up a new or existing Void project. In an empty directory, choose Vite+ or Vite, a framework, and a D1, PostgreSQL, MySQL, or Static Pages starter.
|
|
35
36
|
|
|
37
|
+
To scaffold without prompts, for example from a script or a coding agent, pass the choices as flags. Without an interactive terminal, init stops and names the flag it needs instead of prompting.
|
|
38
|
+
|
|
39
|
+
| Flag | Values |
|
|
40
|
+
| ------------- | ----------------------------------------- |
|
|
41
|
+
| `--toolchain` | `vite-plus`, `vite` |
|
|
42
|
+
| `--framework` | `react`, `vue`, `svelte`, `solid` |
|
|
43
|
+
| `--starter` | `sqlite`, `postgresql`, `mysql`, `static` |
|
|
44
|
+
| `--deploy` | `cloudflare`, `void`, `none` |
|
|
45
|
+
|
|
46
|
+
```sh
|
|
47
|
+
void init --toolchain vite-plus --framework react --starter sqlite --deploy none
|
|
48
|
+
npm create void@latest my-app -- --toolchain vite-plus --framework react --starter sqlite --deploy none
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Cloudflare and Void platform setup still sign in interactively. Without a terminal, choose `--deploy none` and run `void connect` later.
|
|
52
|
+
|
|
36
53
|
Vite+ projects install dependencies through `vp install`; no global Vite+ installation is required. Void preserves existing package-manager versions and lockfiles. New Vite+ projects without a package-manager configuration use pnpm without pinning a version.
|
|
37
54
|
|
|
38
55
|
In an existing app, Void adds missing dependencies and scripts and updates the Vite config. If it cannot edit your config, it prints the snippet to add.
|
package/docs/reference/cli.md
CHANGED
|
@@ -47,6 +47,7 @@ Use this page as a command reference. If you are setting up a project for the fi
|
|
|
47
47
|
| `void db seed` | Reset + seed local database |
|
|
48
48
|
| `void db execute <sql>` | Run SQL against the database (--remote for deployed) |
|
|
49
49
|
| `void db studio` | Open Drizzle Studio (--remote for a deployed external database) |
|
|
50
|
+
| `void db restore --bookmark <b>` | Restore the deployed D1 database to a restore point (direct Cloudflare) |
|
|
50
51
|
| `void secret put <name=value>` | Set a production secret |
|
|
51
52
|
| `void secret list` | List production secrets |
|
|
52
53
|
| `void secret sync <file>` | Bulk upload secrets from dotenv file |
|
package/docs/reference/config.md
CHANGED
|
@@ -141,6 +141,19 @@ Database backend. Omit for D1/SQLite (default). Set to `"pg"` or `"mysql"` for a
|
|
|
141
141
|
| `"pg"` | PostgreSQL via Hyperdrive; bring your own database |
|
|
142
142
|
| `"mysql"` | MySQL via Hyperdrive; bring your own database |
|
|
143
143
|
|
|
144
|
+
Use an object to also set how Drizzle names columns declared without a name:
|
|
145
|
+
|
|
146
|
+
```json
|
|
147
|
+
{
|
|
148
|
+
"database": { "dialect": "pg", "casing": "snake_case" }
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
| Key | Values | Description |
|
|
153
|
+
| --------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
154
|
+
| `dialect` | `"sqlite"` (default), `"pg"`, `"mysql"` | Database backend. `"sqlite"` is D1 |
|
|
155
|
+
| `casing` | `"snake_case"`, `"camelCase"` | [Drizzle casing](https://orm.drizzle.team/docs/sql-schema-declaration#camel-and-snake-casing) for `void/db` queries and `void db` commands. Omit to use each key as its column name |
|
|
156
|
+
|
|
144
157
|
When using an external database:
|
|
145
158
|
|
|
146
159
|
- Add `DATABASE_URL` to `.env` for local development
|
|
@@ -512,7 +525,7 @@ Each binding accepts `true` (use default name), `false` (disable), or a string (
|
|
|
512
525
|
|
|
513
526
|
Custom binding names work with `void/db`, `void/kv`, and `void/storage` during development and deployment. Custom AI names also work with `void/ai` on direct Cloudflare deploys; managed Workers AI uses the platform's proxy.
|
|
514
527
|
|
|
515
|
-
`email` is a boolean feature switch. Set it to `true` to enable [email](../guide/email.md) and the
|
|
528
|
+
`email` is a boolean feature switch. Set it to `true` to enable [email](../guide/email.md) and the local email inbox without an import from `void/email`, or `false` to disable them. On a Void platform, sending uses the platform proxy. Direct Cloudflare setup records a `SEND_EMAIL` binding in `void.lock.json`; see [`email.from`](#email).
|
|
516
529
|
|
|
517
530
|
#### `inference.build`
|
|
518
531
|
|
|
@@ -22,6 +22,10 @@ Void automatically detects which Cloudflare resources your project uses by scann
|
|
|
22
22
|
|
|
23
23
|
Auth detection also triggers when importing the `auth` specifier from `void/client` or a framework-specific client subpath such as `void/client/react` (but not when importing only `fetch`).
|
|
24
24
|
|
|
25
|
+
Static bracket access such as `c.env['KV']` and destructured properties such as
|
|
26
|
+
`const { DB, KV: cache } = c.env` are also detected. For keys chosen at runtime,
|
|
27
|
+
use [explicit binding overrides](#explicit-binding-overrides).
|
|
28
|
+
|
|
25
29
|
Durable state is inferred from files in `durable-objects/`. For example, `durable-objects/shopping-cart.ts` creates the `SHOPPING_CART` binding, exports `ShoppingCartDurableObject`, and records its migration. See [Durable State](../guide/durable-state.md).
|
|
26
30
|
|
|
27
31
|
## Scanned Directories
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "void",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Full-stack framework and deployment CLI for Cloudflare Workers, powered by Vite.",
|
|
5
5
|
"homepage": "https://void.cloud",
|
|
6
6
|
"bugs": {
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"#self/sandbox": "./dist/runtime/sandbox.mjs",
|
|
38
38
|
"#self/runtime/live-server": "./dist/runtime/live-server.mjs",
|
|
39
39
|
"#self/runtime/fetch": "./dist/runtime/fetch.mjs",
|
|
40
|
+
"#self/runtime/fetch-server": "./dist/runtime/fetch-server.mjs",
|
|
40
41
|
"#self/runtime/fetch-stream": "./dist/runtime/fetch-stream.mjs",
|
|
41
42
|
"#self/runtime/route-url": "./dist/runtime/route-url.mjs",
|
|
42
43
|
"#self/runtime/migration-handler": "./dist/runtime/migration-handler.mjs",
|
|
@@ -339,23 +340,23 @@
|
|
|
339
340
|
}
|
|
340
341
|
},
|
|
341
342
|
"dependencies": {
|
|
342
|
-
"@cloudflare/build-output-utils": "^0.9.
|
|
343
|
-
"@cloudflare/codemods": "^0.5.
|
|
344
|
-
"@cloudflare/config": "^0.
|
|
345
|
-
"@cloudflare/sandbox": "^1.0.
|
|
343
|
+
"@cloudflare/build-output-utils": "^0.9.3",
|
|
344
|
+
"@cloudflare/codemods": "^0.5.1",
|
|
345
|
+
"@cloudflare/config": "^0.27.0",
|
|
346
|
+
"@cloudflare/sandbox": "^1.0.2",
|
|
346
347
|
"@cloudflare/vite-plugin": "^1.64.0",
|
|
347
|
-
"@cloudflare/workers-auth": "^0.14.
|
|
348
|
-
"@cloudflare/workers-types": "^5.
|
|
349
|
-
"@napi-rs/keyring": "^2.1.
|
|
350
|
-
"@void/deploy-cloudflare": "1.
|
|
351
|
-
"@void/deploy-core": "1.
|
|
352
|
-
"@void/edge": "1.
|
|
353
|
-
"@void/isr": "1.
|
|
354
|
-
"@void/platform": "1.
|
|
355
|
-
"better-auth": "^1.7.
|
|
348
|
+
"@cloudflare/workers-auth": "^0.14.1",
|
|
349
|
+
"@cloudflare/workers-types": "^5.20261019.1",
|
|
350
|
+
"@napi-rs/keyring": "^2.1.2",
|
|
351
|
+
"@void/deploy-cloudflare": "1.2.0",
|
|
352
|
+
"@void/deploy-core": "1.2.0",
|
|
353
|
+
"@void/edge": "1.2.0",
|
|
354
|
+
"@void/isr": "1.2.0",
|
|
355
|
+
"@void/platform": "1.2.0",
|
|
356
|
+
"better-auth": "^1.7.11",
|
|
356
357
|
"better-sqlite3": "^13.0.3",
|
|
357
358
|
"blake3-jit": "^1.1.0",
|
|
358
|
-
"cf": "
|
|
359
|
+
"cf": ">=1.0.0-beta.18 <1.0.0-beta.19",
|
|
359
360
|
"drizzle-arktype": "^0.1.3",
|
|
360
361
|
"drizzle-kit": "^0.31.11",
|
|
361
362
|
"drizzle-orm": "^0.45.4",
|
|
@@ -367,22 +368,22 @@
|
|
|
367
368
|
"jiti": "^2.7.0",
|
|
368
369
|
"jsonc-parser": "^3.3.1",
|
|
369
370
|
"mime": "^4.1.1",
|
|
370
|
-
"miniflare": "5.20261012.
|
|
371
|
+
"miniflare": "^5.20261012.1-beta",
|
|
371
372
|
"minimatch": "^10.2.6",
|
|
372
373
|
"mysql2": "^3.24.6",
|
|
373
374
|
"pg": "^8.23.1",
|
|
374
|
-
"postal-mime": "^4.0.
|
|
375
|
+
"postal-mime": "^4.0.11",
|
|
375
376
|
"proper-lockfile": "^4.1.2",
|
|
376
377
|
"terminal-link": "^5.0.0",
|
|
377
378
|
"yaml": "^2.9.1"
|
|
378
379
|
},
|
|
379
380
|
"devDependencies": {
|
|
380
|
-
"@electric-sql/pglite": "0.5.
|
|
381
|
+
"@electric-sql/pglite": "0.5.10",
|
|
381
382
|
"@types/better-sqlite3": "^9.6.0",
|
|
382
383
|
"@types/node": "^26.6.5",
|
|
383
384
|
"@types/pg": "^8.23.1",
|
|
384
385
|
"@types/proper-lockfile": "^4.1.4",
|
|
385
|
-
"@voidzero-dev/vite-plus-prompts": "1.
|
|
386
|
+
"@voidzero-dev/vite-plus-prompts": "1.3.0",
|
|
386
387
|
"arktype": "^2.2.8",
|
|
387
388
|
"ci-info": "^4.4.0",
|
|
388
389
|
"estree-walker": "^3.0.3",
|
|
@@ -395,12 +396,12 @@
|
|
|
395
396
|
"tinyglobby": "^0.2.17",
|
|
396
397
|
"typescript": "7.0.2",
|
|
397
398
|
"valibot": "^1.5.0",
|
|
398
|
-
"vite": "npm:@voidzero-dev/vite-plus-core@1.
|
|
399
|
-
"vite-plus": "1.
|
|
399
|
+
"vite": "npm:@voidzero-dev/vite-plus-core@1.3.0",
|
|
400
|
+
"vite-plus": "1.3.0",
|
|
400
401
|
"zod": "^4.6.7"
|
|
401
402
|
},
|
|
402
403
|
"peerDependencies": {
|
|
403
|
-
"@void/md": "1.
|
|
404
|
+
"@void/md": "1.2.0",
|
|
404
405
|
"arktype": ">=2.0.0",
|
|
405
406
|
"valibot": ">=1.0.0-beta.7",
|
|
406
407
|
"vite": "^8.0.0",
|
package/sandbox.Dockerfile
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
FROM node:26.10.0-trixie-slim
|
|
2
|
-
COPY --from=docker.io/cloudflare/sandbox:1.0.
|
|
2
|
+
COPY --from=docker.io/cloudflare/sandbox:1.0.2 /usr/local/bin/sandbox-shim /usr/local/bin/sandbox-shim
|
|
3
3
|
WORKDIR /workspace
|
|
4
4
|
CMD ["sleep", "infinity"]
|
package/schema.json
CHANGED
|
@@ -392,9 +392,29 @@
|
|
|
392
392
|
"additionalProperties": false
|
|
393
393
|
},
|
|
394
394
|
"database": {
|
|
395
|
-
"
|
|
396
|
-
"
|
|
397
|
-
|
|
395
|
+
"description": "Database backend. Omit for D1 (SQLite, default). Set to \"pg\" for PostgreSQL or \"mysql\" for MySQL via Hyperdrive, or use an object to also set the column casing.",
|
|
396
|
+
"oneOf": [
|
|
397
|
+
{
|
|
398
|
+
"type": "string",
|
|
399
|
+
"enum": ["pg", "mysql"]
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"type": "object",
|
|
403
|
+
"properties": {
|
|
404
|
+
"dialect": {
|
|
405
|
+
"type": "string",
|
|
406
|
+
"enum": ["sqlite", "pg", "mysql"],
|
|
407
|
+
"description": "Database backend. Defaults to \"sqlite\" (D1)."
|
|
408
|
+
},
|
|
409
|
+
"casing": {
|
|
410
|
+
"type": "string",
|
|
411
|
+
"enum": ["snake_case", "camelCase"],
|
|
412
|
+
"description": "Drizzle casing: how columns declared without a name are named in the database, for queries and generated migrations."
|
|
413
|
+
}
|
|
414
|
+
},
|
|
415
|
+
"additionalProperties": false
|
|
416
|
+
}
|
|
417
|
+
]
|
|
398
418
|
},
|
|
399
419
|
"ai": {
|
|
400
420
|
"type": "object",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { t as prepareCfBuildOutput } from "./cf-build-output-Bc8i3dzE.mjs";
|
package/dist/client-DrdeJgHR.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { r as PlatformClient } from "./client-GuSO3v_x.mjs";
|
package/dist/deploy-CxNgEYr4.mjs
DELETED
package/dist/fetch-sAcwjzLO.mjs
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { n as ofetch } from "./fetch-error-Dj3crt0e.mjs";
|
|
2
|
-
import { t as interpolateRouteParams } from "./route-url-BjGv_KKY.mjs";
|
|
3
|
-
//#region src/runtime/fetch.ts
|
|
4
|
-
async function fetch(path, options) {
|
|
5
|
-
const url = interpolateRouteParams(path, options?.params);
|
|
6
|
-
return ofetch(url, {
|
|
7
|
-
method: options?.method ?? "GET",
|
|
8
|
-
body: options?.body,
|
|
9
|
-
query: options?.query,
|
|
10
|
-
headers: options?.headers,
|
|
11
|
-
signal: options?.signal,
|
|
12
|
-
baseURL: options?.baseURL,
|
|
13
|
-
retry: options?.retry,
|
|
14
|
-
timeout: options?.timeout
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
//#endregion
|
|
18
|
-
export { fetch as t };
|
package/dist/gen-DsCukhuw.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { r as runGenCommand } from "./gen-Bj6ZkOcI.mjs";
|
package/dist/help-DOFygYi4.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { r as printHelpPage } from "./help-D49SL_lN.mjs";
|
package/dist/login-alAlxw4S.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { r as selectPlatformLoginMethod } from "./login-BJvGW5Eu.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { n as runMigrateCommand } from "./migrate-8rk56vV8.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { a as runOperatorCommand } from "./operator-cmd-CA5QQyvE.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { t as parsePlatformArgs } from "./platform-args-B7ke06up.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { t as prepareProject } from "./prepare-DepAGBcV.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { n as inferDefaultSlug } from "./resolve-project-WpwkCB_c.mjs";
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
//#region src/pages/script-json.ts
|
|
2
|
-
const UNSAFE_SCRIPT_CHARS = /[<>&\u2028\u2029]/g;
|
|
3
|
-
function escapeScriptJson(json) {
|
|
4
|
-
return json.replace(UNSAFE_SCRIPT_CHARS, (c) => {
|
|
5
|
-
return `\\u${c.charCodeAt(0).toString(16).padStart(4, "0")}`;
|
|
6
|
-
});
|
|
7
|
-
}
|
|
8
|
-
//#endregion
|
|
9
|
-
//#region src/pages/serialize.ts
|
|
10
|
-
/**
|
|
11
|
-
* Escape JSON for embedding inside an inline `<script type="application/json">`
|
|
12
|
-
* tag. Replaces `<`, `>`, `&`, U+2028, U+2029 with their `\uXXXX` JSON escape
|
|
13
|
-
* sequences so the script tag cannot be closed early and the payload survives
|
|
14
|
-
* `JSON.parse` on hydration.
|
|
15
|
-
*/
|
|
16
|
-
function serializePageData(pageObj) {
|
|
17
|
-
return escapeScriptJson(JSON.stringify(pageObj));
|
|
18
|
-
}
|
|
19
|
-
//#endregion
|
|
20
|
-
export { escapeScriptJson as n, serializePageData as t };
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
//#region src/pages/serialize.d.ts
|
|
2
|
-
/**
|
|
3
|
-
* Escape JSON for embedding inside an inline `<script type="application/json">`
|
|
4
|
-
* tag. Replaces `<`, `>`, `&`, U+2028, U+2029 with their `\uXXXX` JSON escape
|
|
5
|
-
* sequences so the script tag cannot be closed early and the payload survives
|
|
6
|
-
* `JSON.parse` on hydration.
|
|
7
|
-
*/
|
|
8
|
-
declare function serializePageData(pageObj: unknown): string;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { serializePageData as t };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { b as readRootWranglerConfig } from "./wrangler-C9XSzrju.mjs";
|