void 0.10.5 → 0.10.7
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/agents-Bmr5tFFb.mjs +1454 -0
- package/dist/{auth-cmd-UoCwfDQv.mjs → auth-cmd-DlgNwByu.mjs} +10 -10
- package/dist/{better-auth-shared-D0Mbmx5V.mjs → better-auth-shared-BQooDxbw.mjs} +1 -1
- package/dist/{better-auth-shared-jkksALri.d.mts → better-auth-shared-BvnM9px6.d.mts} +2 -2
- package/dist/{build-cmd-CVyuBHjP.mjs → build-cmd-Br8qL0rA.mjs} +15 -17
- package/dist/{cache-ACORQCIq.mjs → cache-wH-mP8UE.mjs} +10 -12
- package/dist/{cancel-deploy-Gi8zmoZC.mjs → cancel-deploy-BEBOEgtu.mjs} +16 -18
- package/dist/cli/cli.mjs +47 -49
- package/dist/{client-BlbnA92X.mjs → client-Cj96iiBH.mjs} +74 -8
- package/dist/{config-8dLIngKW.mjs → config-1twldYCW.mjs} +10 -10
- package/dist/{config-CbJS4Krx.mjs → config-BdUctCZD.mjs} +4 -4
- package/dist/{create-project-LjvkYziS.mjs → create-project-DD9n8Ho-.mjs} +28 -23
- package/dist/{db-C00yjN01.mjs → db-DjKE2-A-.mjs} +147 -149
- package/dist/{delete-CplfvTgU.mjs → delete-D2kr3Kmk.mjs} +13 -15
- package/dist/{deploy-CISNL5uK.mjs → deploy-C4PbkFyE.mjs} +97 -100
- package/dist/{discover-ZWuBvt22.mjs → discover-BuVVSAum.mjs} +3 -3
- package/dist/{dist-5cGIJHQQ.mjs → dist-BuiRJkTd.mjs} +59 -27
- package/dist/{domain-B4HpcgNG.mjs → domain-_luIsM_B.mjs} +14 -16
- package/dist/{env-DNMJpeVF.mjs → env-CO5XAS9t.mjs} +23 -25
- package/dist/{env-helpers-B_ks681T.d.mts → env-helpers-z4stu8uc.d.mts} +1 -1
- package/dist/{env-types-BS8cZead.mjs → env-types-D51bnR-c.mjs} +3 -3
- package/dist/{env-validation-BxbtBbjh.mjs → env-validation-CeC2FL66.mjs} +4 -4
- package/dist/{fetch-error-C6qffTl2.mjs → fetch-error-Dj3crt0e.mjs} +3 -3
- package/dist/{gen-C0pV2gRQ.mjs → gen-Cf79J4aw.mjs} +42 -44
- package/dist/{github-cmd-CwtLD1yI.mjs → github-cmd-DnqxyOsb.mjs} +88 -90
- package/dist/{handler-B7rCOy21.d.mts → handler-imD0UVDT.d.mts} +4 -5
- package/dist/{headers-BNWymgnH.mjs → headers-BwvFGhkx.mjs} +3 -3
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +102 -83
- package/dist/{init-D58GxCtt.mjs → init-KirOzVDs.mjs} +132 -134
- package/dist/link-CUmiosyb.mjs +45 -0
- package/dist/{list-CbNNjXTm.mjs → list-3GEw7b6m.mjs} +10 -12
- package/dist/{login-CvxxF_9z.mjs → login-DJReaT_Q.mjs} +14 -15
- package/dist/{logs-BDZ9AuhM.mjs → logs-D-rQ56Lq.mjs} +9 -11
- package/dist/{magic-string.es-C1Fb0uxq.mjs → magic-string.es-ZQjdJFFn.mjs} +3 -3
- package/dist/{mcp-C8BjRt_z.mjs → mcp-D7yc0dXY.mjs} +2 -3
- package/dist/{node-B07cZs0d.mjs → node-yFFk626c.mjs} +6 -6
- package/dist/{package-json-Bg_GJdJB.mjs → package-json-B0NuUWGd.mjs} +1 -1
- package/dist/pages/client.d.mts +1 -1
- package/dist/pages/client.mjs +2 -1
- package/dist/pages/head-client.d.mts +1 -1
- package/dist/pages/head.d.mts +1 -1
- package/dist/pages/index.d.mts +2 -2
- package/dist/pages/index.mjs +5 -5
- package/dist/pages/islands-plugin.d.mts +1 -1
- package/dist/pages/islands-plugin.mjs +3 -3
- package/dist/pages/protocol.d.mts +2 -2
- package/dist/pages/protocol.mjs +5 -2
- package/dist/{plugin-inference-D04iL1mW.mjs → plugin-inference-CJxi_fWI.mjs} +3 -3
- package/dist/{prepare-DUo9q8cM.mjs → prepare-C_cVurhP.mjs} +15 -18
- package/dist/{preset-D0My64KQ.mjs → preset-CVvwCeIy.mjs} +4 -4
- package/dist/{project-cmd-Dd1gNRdd.mjs → project-cmd-DnU7u9QF.mjs} +13 -14
- package/dist/{project-paths-CCMrHYQm.mjs → project-paths-tpdR1mJR.mjs} +2 -2
- package/dist/{project-tsconfig-DMBV55K2.mjs → project-tsconfig-D9uSVVpA.mjs} +2 -2
- package/dist/{protocol-6UZCowS1.d.mts → protocol-6hTJ04T1.d.mts} +3 -3
- package/dist/{resolve-project-D4O1_fZz.mjs → resolve-project-D2HI3TrG.mjs} +2 -2
- package/dist/{rollback-DzmCCrFg.mjs → rollback-Yh7bCKob.mjs} +21 -23
- package/dist/{route-types-BpSJEW20.mjs → route-types-CfKfhbIg.mjs} +234 -3
- package/dist/{runner-BQyKUqAL.mjs → runner-h272wcPj.mjs} +4 -5
- package/dist/{runner-pg-EuhrFW3D.mjs → runner-pg-waxJOnBb.mjs} +1 -1
- package/dist/runtime/ai.mjs +2 -2
- package/dist/runtime/auth.d.mts +1 -1
- package/dist/runtime/better-auth-pg.d.mts +1 -1
- package/dist/runtime/better-auth-pg.mjs +3 -3
- package/dist/runtime/better-auth.d.mts +1 -1
- package/dist/runtime/better-auth.mjs +2 -2
- package/dist/runtime/client-react.d.mts +2 -2
- package/dist/runtime/client-react.mjs +1 -1
- package/dist/runtime/client-solid.d.mts +2 -2
- package/dist/runtime/client-solid.mjs +1 -1
- package/dist/runtime/client-svelte.d.mts +2 -2
- package/dist/runtime/client-svelte.mjs +1 -1
- package/dist/runtime/client-vue.d.mts +2 -2
- package/dist/runtime/client-vue.mjs +1 -1
- package/dist/runtime/client.d.mts +2 -2
- package/dist/runtime/client.mjs +1 -1
- package/dist/runtime/db-pg.d.mts +1 -1
- package/dist/runtime/env-helpers.d.mts +1 -1
- package/dist/runtime/env-public-client.d.mts +1 -1
- package/dist/runtime/env-public-client.mjs +2 -0
- package/dist/runtime/env-public.d.mts +3 -4
- package/dist/runtime/env-public.mjs +3 -1
- package/dist/runtime/env.mjs +1 -1
- package/dist/runtime/fetch-stream.d.mts +1 -1
- package/dist/runtime/fetch-stream.mjs +1 -1
- package/dist/runtime/fetch.d.mts +1 -1
- package/dist/runtime/fetch.mjs +1 -1
- package/dist/runtime/handler.d.mts +2 -2
- package/dist/runtime/handler.mjs +1 -1
- package/dist/runtime/isr.mjs +1 -1
- package/dist/runtime/live-server.mjs +2 -0
- package/dist/runtime/live.d.mts +2 -2
- package/dist/runtime/live.mjs +3 -1
- package/dist/runtime/migration-handler-pg.mjs +1 -1
- package/dist/runtime/migration-handler.mjs +1 -1
- package/dist/runtime/remote/index.mjs +11 -1
- package/dist/runtime/sandbox.d.mts +1 -4
- package/dist/runtime/sandbox.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 +2 -0
- package/dist/runtime/ws.d.mts +3 -3
- package/dist/runtime/ws.mjs +2 -0
- package/dist/{scan-VCAM1oh3.mjs → scan-Dp_Gyzs3.mjs} +3 -3
- package/dist/{scan---8wfN58.mjs → scan-i7Yz54fv.mjs} +26 -8
- package/dist/{secret-CMLYWkE-.mjs → secret-u7FRvg8d.mjs} +22 -24
- package/dist/{skills-Dl3u05da.mjs → skills-DsdNDtX3.mjs} +6 -7
- package/dist/{subcommand-prompt-B8ng0FTS.mjs → subcommand-prompt-DtES-oP6.mjs} +34 -35
- package/dist/sveltekit.mjs +1 -1
- package/dist/validate-DT7nFMlf.mjs +504 -0
- package/dist/{yarn-pnp-WLW2IHUY.mjs → yarn-pnp-CW8LB6g_.mjs} +1 -1
- package/package.json +19 -19
- package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/CHANGELOG.md +94 -0
- package/skills/void/docs/node_modules/void/node_modules/@clack/prompts/README.md +32 -11
- package/skills/void/docs/node_modules/void/node_modules/@cloudflare/sandbox/README.md +45 -0
- package/skills/void/docs/node_modules/void/node_modules/@electric-sql/pglite/README.md +5 -5
- package/skills/void/docs/node_modules/void/node_modules/@types/node/README.md +1 -1
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/@types/node/README.md +1 -1
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/markdown-exit/README.md +4 -1
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/tinyglobby/README.md +1 -1
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/AGENTS.md +1 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/README.md +18 -6
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/build.md +1 -1
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/check.md +35 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/create.md +70 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/fmt.md +3 -1
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/index.md +11 -7
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/lint.md +3 -1
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/pack.md +1 -1
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/run.md +141 -26
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/staged.md +1 -1
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/config/test.md +1 -1
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +145 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/cache.md +16 -28
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/check.md +16 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ci.md +15 -17
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/commit-hooks.md +9 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/create.md +255 -2
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/docker.md +175 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/env.md +70 -5
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/github-actions-cache.md +165 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/ide-integration.md +2 -2
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/index.md +9 -3
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/install.md +63 -11
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate-rules.md +347 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/migrate.md +27 -3
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/monorepo.md +176 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/pack.md +8 -0
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/run.md +36 -4
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/troubleshooting.md +11 -35
- package/skills/void/docs/node_modules/void/node_modules/@void/md/node_modules/vite-plus/docs/guide/upgrade.md +65 -13
- package/skills/void/docs/node_modules/void/node_modules/es-module-lexer/README.md +403 -390
- package/skills/void/docs/node_modules/void/node_modules/pg/README.md +2 -1
- package/skills/void/docs/node_modules/void/node_modules/tinyglobby/README.md +1 -1
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/AGENTS.md +1 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/README.md +18 -6
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/build.md +1 -1
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/check.md +35 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/create.md +70 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/fmt.md +3 -1
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/index.md +11 -7
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/lint.md +3 -1
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/pack.md +1 -1
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/run.md +141 -26
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/staged.md +1 -1
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/config/test.md +1 -1
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/automatic-data-tracking.md +145 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/cache.md +16 -28
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/check.md +16 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ci.md +15 -17
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/commit-hooks.md +9 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/create.md +255 -2
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/docker.md +175 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/env.md +70 -5
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/github-actions-cache.md +165 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/ide-integration.md +2 -2
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/index.md +9 -3
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/install.md +63 -11
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate-rules.md +347 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/migrate.md +27 -3
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/monorepo.md +176 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/pack.md +8 -0
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/run.md +36 -4
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/troubleshooting.md +11 -35
- package/skills/void/docs/node_modules/void/node_modules/vite-plus/docs/guide/upgrade.md +65 -13
- package/skills/void/docs/reference/cli.md +5 -1
- package/dist/agents-MhSzNMiC.mjs +0 -151
- package/dist/collect-9rO3JFNM.mjs +0 -55
- package/dist/config-hhMYPVRT.mjs +0 -21
- package/dist/dist-abzUneor.mjs +0 -1287
- package/dist/drizzle-DqstQTGq.mjs +0 -232
- package/dist/link-ZFmboqY3.mjs +0 -47
- package/dist/output-DeiS4oEX.mjs +0 -139
- package/dist/plan-aD3wRDqF.mjs +0 -271
- package/dist/project-CH9pdo16.mjs +0 -72
- package/dist/project-slug-rX3kTOfY.mjs +0 -10
- package/dist/validate-CNWm-PsL.mjs +0 -186
- /package/dist/{auth-migrations-BP-hMzYl.mjs → auth-migrations-BTZ-ATvQ.mjs} +0 -0
- /package/dist/{auth-Dz2CCn4T.d.mts → auth-qgMlYp7Z.d.mts} +0 -0
- /package/dist/{canonical-json-CEyQaVDa.mjs → canonical-json-DuDiiUsQ.mjs} +0 -0
- /package/dist/{cf-access-DKDsgwOU.mjs → cf-access-Bqw81xAf.mjs} +0 -0
- /package/dist/{defer-C-bdSM_b.mjs → defer-YsYDUoii.mjs} +0 -0
- /package/dist/{dotenv-lS94ymhM.mjs → dotenv-D_UbC_vc.mjs} +0 -0
- /package/dist/{env-raw-Dtj1UAoK.mjs → env-raw-CoS20LHP.mjs} +0 -0
- /package/dist/{fetch-error-B6RaJ-eZ.d.mts → fetch-error-Sp1R4mZv.d.mts} +0 -0
- /package/dist/{git-metadata-Ce0AtSZL.mjs → git-metadata-CBKaL0v5.mjs} +0 -0
- /package/dist/{head-eOUCWUNy.d.mts → head-nmvOgFjd.d.mts} +0 -0
- /package/dist/{log-BdD_Fpms.mjs → log-ChfPKsVd.mjs} +0 -0
- /package/dist/{pathe.M-eThtNZ-BrPhGF_K.mjs → pathe.M-eThtNZ-CQzLbt4c.mjs} +0 -0
- /package/dist/{pg-CempqvEJ.mjs → pg-J2HbZIkX.mjs} +0 -0
- /package/dist/{providers-BJIoduK9.d.mts → providers-BNKRacMr.d.mts} +0 -0
- /package/dist/{providers-BwPbdHdi.mjs → providers-CJlNS3kT.mjs} +0 -0
- /package/dist/{proxy-M3pxItg2.mjs → proxy-D-3_D-Gl.mjs} +0 -0
- /package/dist/{chunk-DJd-R1mw.mjs → rolldown-runtime-DJK8HYOj.mjs} +0 -0
- /package/dist/{standard-schema-Cy0lfeWv.d.mts → standard-schema-DJ0HW7QP.d.mts} +0 -0
- /package/dist/{types-BodZGegX.d.mts → types-lLjNE9Qp.d.mts} +0 -0
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { f as getToken, n as PlatformClient } from "./client-
|
|
3
|
-
import {
|
|
4
|
-
import { i as removeProjectConfig, r as readProjectConfig } from "./project-CH9pdo16.mjs";
|
|
5
|
-
import { r as resolveProjectBySlug } from "./resolve-project-D4O1_fZz.mjs";
|
|
1
|
+
import { A as text, D as outro, E as note, T as log, a as cliTitle, j as isCancel, o as createSpinner, w as intro, x as cancel } from "./agents-Bmr5tFFb.mjs";
|
|
2
|
+
import { b as readProjectConfig, f as getToken, n as PlatformClient, x as removeProjectConfig } from "./client-Cj96iiBH.mjs";
|
|
3
|
+
import { r as resolveProjectBySlug } from "./resolve-project-D2HI3TrG.mjs";
|
|
6
4
|
//#region src/cli/delete.ts
|
|
7
5
|
async function runDeleteCommand(root, slug, options) {
|
|
8
6
|
console.log();
|
|
9
|
-
|
|
7
|
+
intro(cliTitle("delete"));
|
|
10
8
|
const token = getToken(root);
|
|
11
9
|
if (!token) {
|
|
12
|
-
|
|
10
|
+
log.error("Not logged in. Run `void auth login` first.");
|
|
13
11
|
process.exit(1);
|
|
14
12
|
}
|
|
15
13
|
const client = new PlatformClient(token, { root });
|
|
@@ -18,7 +16,7 @@ async function runDeleteCommand(root, slug, options) {
|
|
|
18
16
|
if (slug) {
|
|
19
17
|
const config = resolveProjectBySlug(await client.listProjects(), slug);
|
|
20
18
|
if (!config) {
|
|
21
|
-
|
|
19
|
+
log.error(`project: No project found with slug '${slug}'.`);
|
|
22
20
|
process.exit(1);
|
|
23
21
|
}
|
|
24
22
|
projectId = config.projectId;
|
|
@@ -26,26 +24,26 @@ async function runDeleteCommand(root, slug, options) {
|
|
|
26
24
|
} else {
|
|
27
25
|
const config = readProjectConfig(root);
|
|
28
26
|
if (!config) {
|
|
29
|
-
|
|
27
|
+
log.error("No linked project found. Pass a project name: void project delete <name>");
|
|
30
28
|
process.exit(1);
|
|
31
29
|
}
|
|
32
30
|
projectId = config.projectId;
|
|
33
31
|
projectSlug = config.slug;
|
|
34
32
|
}
|
|
35
33
|
if (!options?.force) {
|
|
36
|
-
|
|
34
|
+
note([
|
|
37
35
|
"Worker deployments",
|
|
38
36
|
"D1 databases, KV namespaces, R2 buckets",
|
|
39
37
|
"Static assets",
|
|
40
38
|
"Deployment history"
|
|
41
39
|
].join("\n"), `Deleting ${projectSlug} will permanently remove`);
|
|
42
|
-
if (
|
|
40
|
+
if (isCancel(await text({
|
|
43
41
|
message: `Type "${projectSlug}" to confirm deletion:`,
|
|
44
42
|
validate(value) {
|
|
45
43
|
if (value !== projectSlug) return `Please type "${projectSlug}" exactly to confirm.`;
|
|
46
44
|
}
|
|
47
45
|
}))) {
|
|
48
|
-
|
|
46
|
+
cancel("Delete cancelled.");
|
|
49
47
|
process.exit(0);
|
|
50
48
|
}
|
|
51
49
|
}
|
|
@@ -53,12 +51,12 @@ async function runDeleteCommand(root, slug, options) {
|
|
|
53
51
|
s.start("Deleting project...");
|
|
54
52
|
const result = await client.deleteProject(projectId);
|
|
55
53
|
s.stop("Project deleted.");
|
|
56
|
-
if (result.warnings && result.warnings.length > 0) for (const warning of result.warnings)
|
|
54
|
+
if (result.warnings && result.warnings.length > 0) for (const warning of result.warnings) log.warn(warning);
|
|
57
55
|
if (readProjectConfig(root)?.projectId === projectId) {
|
|
58
56
|
removeProjectConfig(root);
|
|
59
|
-
|
|
57
|
+
log.step("Removed local .void/project.json");
|
|
60
58
|
}
|
|
61
|
-
|
|
59
|
+
outro(`Deleted ${projectSlug}`);
|
|
62
60
|
}
|
|
63
61
|
//#endregion
|
|
64
62
|
export { runDeleteCommand };
|
|
@@ -1,32 +1,27 @@
|
|
|
1
|
-
import { n as __exportAll } from "./
|
|
2
|
-
import { a as join, c as resolve, i as isAbsolute, n as dirname, r as extname, s as relative } from "./pathe.M-eThtNZ-
|
|
3
|
-
import {
|
|
4
|
-
import { i as resolveProjectPaths, n as readProjectPaths } from "./project-paths-
|
|
5
|
-
import {
|
|
6
|
-
import { t as cfAccessHeaders } from "./cf-access-
|
|
7
|
-
import { a as isExpiredTokenError, f as getToken, i as isCliOutdatedError, m as isStagingMode, n as PlatformClient, o as parsePlatformErrorBody, p as getTokenSource, t as PlatformApiError, u as getApiUrl
|
|
8
|
-
import { c as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { n as
|
|
15
|
-
import {
|
|
16
|
-
import { t as
|
|
17
|
-
import {
|
|
18
|
-
import { n as
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import { t as
|
|
23
|
-
import {
|
|
24
|
-
import { i as
|
|
25
|
-
import { r as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project-D4O1_fZz.mjs";
|
|
26
|
-
import { t as collectGitDeployMetadata } from "./git-metadata-Ce0AtSZL.mjs";
|
|
27
|
-
import { n as lintDuplicateSources, r as mergeRoutingRules, t as lintDestinationSplats } from "./headers-BNWymgnH.mjs";
|
|
28
|
-
import { t as promptForLoginToken } from "./login-CvxxF_9z.mjs";
|
|
29
|
-
import { i as resolveProjectCommand, n as detectPreset, r as formatProjectCommand, t as FRAMEWORK_PRESETS } from "./preset-D0My64KQ.mjs";
|
|
1
|
+
import { n as __exportAll } from "./rolldown-runtime-DJK8HYOj.mjs";
|
|
2
|
+
import { a as join, c as resolve, i as isAbsolute, n as dirname, r as extname, s as relative } from "./pathe.M-eThtNZ-CQzLbt4c.mjs";
|
|
3
|
+
import { D as outro, E as note, S as confirm, T as log, a as cliTitle, j as isCancel, o as createSpinner, u as import_picocolors, w as intro } from "./agents-Bmr5tFFb.mjs";
|
|
4
|
+
import { i as resolveProjectPaths, n as readProjectPaths } from "./project-paths-tpdR1mJR.mjs";
|
|
5
|
+
import { a as scanQueuesSync, i as scanWebSocketRoutesSync, o as scanJobsSync, r as scanRoutes, s as findVoidAuthConfig } from "./scan-i7Yz54fv.mjs";
|
|
6
|
+
import { t as cfAccessHeaders } from "./cf-access-Bqw81xAf.mjs";
|
|
7
|
+
import { C as ensureCloudflaredToken, S as writeProjectConfig, a as isExpiredTokenError, b as readProjectConfig, f as getToken, i as isCliOutdatedError, m as isStagingMode, n as PlatformClient, o as parsePlatformErrorBody, p as getTokenSource, t as PlatformApiError, u as getApiUrl } from "./client-Cj96iiBH.mjs";
|
|
8
|
+
import { c as getDatabaseDialect, f as readConfig, l as isNodeTarget, p as resolveBindingNames } from "./config-1twldYCW.mjs";
|
|
9
|
+
import { i as inferProjectBindings, l as validateSsrEntry, n as FRAMEWORK_SCAN_DIRS, r as detectFramework } from "./plugin-inference-CJxi_fWI.mjs";
|
|
10
|
+
import { i as voidWarn, r as voidLog } from "./log-ChfPKsVd.mjs";
|
|
11
|
+
import { n as mergeAndExpand, r as parseDotenvFile } from "./dotenv-D_UbC_vc.mjs";
|
|
12
|
+
import { t as discoverSchema } from "./discover-BuVVSAum.mjs";
|
|
13
|
+
import { t as findEnvFile } from "./env-types-D51bnR-c.mjs";
|
|
14
|
+
import { i as validateProdEnv, n as formatEnvReport, r as getDeployEnvDefaults, t as fetchRemoteSecretNames } from "./env-validation-CeC2FL66.mjs";
|
|
15
|
+
import { n as writeDrizzleConfig } from "./config-BdUctCZD.mjs";
|
|
16
|
+
import { a as buildMigrationPlanBundle, c as collectMigrations, r as validateMigrations, t as assertJournalCoherence } from "./validate-DT7nFMlf.mjs";
|
|
17
|
+
import { t as scanPages } from "./scan-Dp_Gyzs3.mjs";
|
|
18
|
+
import { n as STAGING_PROXY_URL, t as DEFAULT_PROXY_URL } from "./proxy-D-3_D-Gl.mjs";
|
|
19
|
+
import { i as promptProjectSetupAction, n as promptAndCreateProject, r as promptProjectSelection } from "./create-project-DD9n8Ho-.mjs";
|
|
20
|
+
import { r as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project-D2HI3TrG.mjs";
|
|
21
|
+
import { t as collectGitDeployMetadata } from "./git-metadata-CBKaL0v5.mjs";
|
|
22
|
+
import { n as lintDuplicateSources, r as mergeRoutingRules, t as lintDestinationSplats } from "./headers-BwvFGhkx.mjs";
|
|
23
|
+
import { t as promptForLoginToken } from "./login-DJReaT_Q.mjs";
|
|
24
|
+
import { i as resolveProjectCommand, n as detectPreset, r as formatProjectCommand, t as FRAMEWORK_PRESETS } from "./preset-CVvwCeIy.mjs";
|
|
30
25
|
import { createRequire } from "node:module";
|
|
31
26
|
import { copyFileSync, cpSync, createWriteStream, existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, renameSync, rmSync, unlinkSync, writeFileSync } from "node:fs";
|
|
32
27
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
@@ -157,8 +152,8 @@ function resolveLiveBindingConfig(root, options) {
|
|
|
157
152
|
bindingName: generated.name,
|
|
158
153
|
className: generated.class_name
|
|
159
154
|
};
|
|
160
|
-
const usedBindings = new Set([...durableObjectBindings.map((binding) => binding.name), ...(options?.reservedBindings ?? []).filter((name) => typeof name === "string")]);
|
|
161
|
-
const usedClasses = new Set([...durableObjectBindings.map((binding) => binding.class_name), ...(options?.reservedClasses ?? []).filter((name) => typeof name === "string")]);
|
|
155
|
+
const usedBindings = /* @__PURE__ */ new Set([...durableObjectBindings.map((binding) => binding.name), ...(options?.reservedBindings ?? []).filter((name) => typeof name === "string")]);
|
|
156
|
+
const usedClasses = /* @__PURE__ */ new Set([...durableObjectBindings.map((binding) => binding.class_name), ...(options?.reservedClasses ?? []).filter((name) => typeof name === "string")]);
|
|
162
157
|
return {
|
|
163
158
|
bindingName: resolveGeneratedName(DEFAULT_LIVE_BINDING, usedBindings, "binding"),
|
|
164
159
|
className: resolveGeneratedName(DEFAULT_LIVE_CLASS, usedClasses, "class")
|
|
@@ -542,7 +537,7 @@ function resolveRemoteMode(configRemote) {
|
|
|
542
537
|
if (override === "0") return false;
|
|
543
538
|
return configRemote === true;
|
|
544
539
|
}
|
|
545
|
-
const INTERNAL_ENV_KEY_SET = new Set([
|
|
540
|
+
const INTERNAL_ENV_KEY_SET = /* @__PURE__ */ new Set([
|
|
546
541
|
"__VOID_TOKEN",
|
|
547
542
|
"__VOID_PROJECT_ID",
|
|
548
543
|
"__VOID_REMOTE",
|
|
@@ -685,7 +680,7 @@ function collectPrerenderWorkerModules(workerDir, workerMain) {
|
|
|
685
680
|
function buildPrerenderBindings(input) {
|
|
686
681
|
const { sanitized: wranglerVars, stripped: wranglerStripped } = stripInternalEnvKeys(input.wranglerVars);
|
|
687
682
|
const { sanitized: env, stripped: envStripped } = stripInternalEnvKeys(input.env);
|
|
688
|
-
const allStripped = [
|
|
683
|
+
const allStripped = [.../* @__PURE__ */ new Set([...wranglerStripped, ...envStripped])];
|
|
689
684
|
if (allStripped.length > 0) voidWarn(`Ignoring internal env keys in prerender inputs: ${allStripped.join(", ")}. These are reserved for Void runtime use.`);
|
|
690
685
|
const voidBindings = {};
|
|
691
686
|
if (input.voidToken && input.voidProjectId) {
|
|
@@ -736,7 +731,8 @@ async function createCloudflarePrerenderRunner(options) {
|
|
|
736
731
|
bindings
|
|
737
732
|
};
|
|
738
733
|
if (clientDir) mfOptions.serviceBindings = { [wranglerConfig.assets?.binding ?? "ASSETS"](request) {
|
|
739
|
-
const
|
|
734
|
+
const url = new URL(request.url);
|
|
735
|
+
const filePath = join(clientDir, url.pathname);
|
|
740
736
|
try {
|
|
741
737
|
const content = readFileSync(filePath);
|
|
742
738
|
return new Response(content);
|
|
@@ -1608,7 +1604,8 @@ const ASSET_MIME_TYPES = {
|
|
|
1608
1604
|
* `application/octet-stream` for unknown extensions.
|
|
1609
1605
|
*/
|
|
1610
1606
|
function getAssetContentType(path) {
|
|
1611
|
-
|
|
1607
|
+
const ext = path.split(".").pop()?.toLowerCase() ?? "";
|
|
1608
|
+
return ASSET_MIME_TYPES[ext] ?? "application/octet-stream";
|
|
1612
1609
|
}
|
|
1613
1610
|
/**
|
|
1614
1611
|
* Compute MD5 of raw content as a 32-char lowercase hex string.
|
|
@@ -2034,8 +2031,8 @@ async function generateWrapper(workerDir, workerMain, root, features) {
|
|
|
2034
2031
|
let migrations;
|
|
2035
2032
|
let migrationPlanBundle;
|
|
2036
2033
|
if (features.hasMigrations) {
|
|
2037
|
-
const { collectMigrations } = await import("./
|
|
2038
|
-
const { buildMigrationPlanBundle } = await import("./
|
|
2034
|
+
const { collectMigrations } = await import("./validate-DT7nFMlf.mjs").then((n) => n.l);
|
|
2035
|
+
const { buildMigrationPlanBundle } = await import("./validate-DT7nFMlf.mjs").then((n) => n.s);
|
|
2039
2036
|
const migrationsDir = readProjectPaths(root).migrationsDir;
|
|
2040
2037
|
migrations = collectMigrations(migrationsDir);
|
|
2041
2038
|
migrationPlanBundle = features.migrationDialect === "sqlite" ? buildMigrationPlanBundle(migrations) : void 0;
|
|
@@ -2113,7 +2110,7 @@ function patchPgWorkerBundle(outDir) {
|
|
|
2113
2110
|
const path = join(outDir, file);
|
|
2114
2111
|
let code = readFileSync(path, "utf-8");
|
|
2115
2112
|
if (!code.includes("__require(\"pgpass\")") && !code.includes("createRequire(import.meta.url)")) continue;
|
|
2116
|
-
code = code.replaceAll("__require(\"pgpass\")", "__voidPgpassNoop").replace("import { createRequire } from \"node:module\";", "").replace("var __require = /* @__PURE__ */ createRequire(import.meta.url);", pgWorkerRequireShim());
|
|
2113
|
+
code = code.replaceAll("__require(\"pgpass\")", "__voidPgpassNoop").replace("import { createRequire } from \"node:module\";", "").replace("var __require = /* @__PURE__ */ createRequire(import.meta.url);", pgWorkerRequireShim()).replace("var __require = /* #__PURE__ */ (() => createRequire(import.meta.url))();", pgWorkerRequireShim());
|
|
2117
2114
|
code = `const __voidPgpassNoop = Object.assign(function pgpass(_connectionInfo, callback) { callback(undefined); }, { warnTo() {} });\n` + code;
|
|
2118
2115
|
writeFileSync(path, code);
|
|
2119
2116
|
}
|
|
@@ -2464,7 +2461,7 @@ function assertWorkerMainUploaded(workerFiles, workerMain) {
|
|
|
2464
2461
|
*/
|
|
2465
2462
|
async function runDeploy(root, options) {
|
|
2466
2463
|
console.log();
|
|
2467
|
-
|
|
2464
|
+
intro(cliTitle("deploy"));
|
|
2468
2465
|
const cliLog = openDeployLog({ mirrorToStderr: options?.debug === true || process.env.VOID_DEPLOY_DEBUG === "1" });
|
|
2469
2466
|
cliLog.info("deploy_start", {
|
|
2470
2467
|
cwd: root,
|
|
@@ -2528,7 +2525,7 @@ async function runDeployInner(root, options, cliLog) {
|
|
|
2528
2525
|
}
|
|
2529
2526
|
token ??= getToken(root);
|
|
2530
2527
|
if (!token) {
|
|
2531
|
-
|
|
2528
|
+
log.error("No auth token found. Run `void auth login` first.");
|
|
2532
2529
|
process.exit(1);
|
|
2533
2530
|
}
|
|
2534
2531
|
const client = new PlatformClient(token, {
|
|
@@ -2541,16 +2538,16 @@ async function runDeployInner(root, options, cliLog) {
|
|
|
2541
2538
|
config = resolveProjectBySlug(await client.listProjects(), requestedProjectSlug);
|
|
2542
2539
|
if (!config) if (!process.stdin.isTTY) config = await createProjectFromSlug(root, client, requestedProjectSlug, cliLog);
|
|
2543
2540
|
else {
|
|
2544
|
-
const shouldCreate = await
|
|
2545
|
-
if (
|
|
2546
|
-
|
|
2541
|
+
const shouldCreate = await confirm({ message: `Project "${requestedProjectSlug}" does not exist. Create it?` });
|
|
2542
|
+
if (isCancel(shouldCreate) || !shouldCreate) {
|
|
2543
|
+
log.info("Deploy cancelled.");
|
|
2547
2544
|
process.exit(0);
|
|
2548
2545
|
}
|
|
2549
2546
|
config = await createProjectFromSlug(root, client, requestedProjectSlug, cliLog);
|
|
2550
2547
|
}
|
|
2551
2548
|
} else config = readProjectConfig(root);
|
|
2552
2549
|
if (!config && !process.stdin.isTTY) {
|
|
2553
|
-
|
|
2550
|
+
log.error("No project specified. Set `VOID_PROJECT`, pass `--project <slug>`, or commit `.void/project.json`.");
|
|
2554
2551
|
process.exit(1);
|
|
2555
2552
|
}
|
|
2556
2553
|
if (!config) config = await promptDeployProjectConfig(root, client, cliLog);
|
|
@@ -2578,7 +2575,7 @@ async function runDeployInner(root, options, cliLog) {
|
|
|
2578
2575
|
const fwPreset = FRAMEWORK_PRESETS[detected.name];
|
|
2579
2576
|
if (detected.class === "b" || detected.class === "c") {
|
|
2580
2577
|
if (!fwPreset) {
|
|
2581
|
-
|
|
2578
|
+
log.error(`No deploy preset found for framework "${detected.name}".`);
|
|
2582
2579
|
process.exit(1);
|
|
2583
2580
|
}
|
|
2584
2581
|
await runFrameworkDeploy(root, config, client, detected, fwPreset, voidConfig, options?.skipBuild, gitMetadata, cliLog);
|
|
@@ -2599,9 +2596,9 @@ async function runDeployInner(root, options, cliLog) {
|
|
|
2599
2596
|
if (isExpiredTokenError(error)) {
|
|
2600
2597
|
if (getTokenSource() === "ci") throw new Error("`VOID_TOKEN` is invalid or expired. Generate a new token and try again.");
|
|
2601
2598
|
if (!process.stdin.isTTY || reauthenticated) throw new Error("Auth token expired. Run `void auth login` and try again.");
|
|
2602
|
-
|
|
2599
|
+
log.warn("Auth token expired. Re-authenticating...");
|
|
2603
2600
|
await promptForLoginToken(root);
|
|
2604
|
-
|
|
2601
|
+
log.success("Re-authenticated. Retrying deploy...");
|
|
2605
2602
|
reauthenticated = true;
|
|
2606
2603
|
continue;
|
|
2607
2604
|
}
|
|
@@ -2621,7 +2618,7 @@ async function promptDeployProjectConfig(root, client, cliLog) {
|
|
|
2621
2618
|
slug: result.project.slug
|
|
2622
2619
|
};
|
|
2623
2620
|
writeProjectConfig(root, config);
|
|
2624
|
-
|
|
2621
|
+
log.step(`Linked to ${import_picocolors.default.blue(config.slug)}`);
|
|
2625
2622
|
cliLog?.info("project_linked", {
|
|
2626
2623
|
projectId: config.projectId,
|
|
2627
2624
|
slug: config.slug
|
|
@@ -2692,7 +2689,7 @@ function applyDeployEvent(event, s) {
|
|
|
2692
2689
|
s.message(`Configuring queue consumers: ${event.queues.join(", ")}`);
|
|
2693
2690
|
return { kind: "continue" };
|
|
2694
2691
|
case "queue_consumer_conflict":
|
|
2695
|
-
|
|
2692
|
+
log.warn(`Queue consumer conflict on "${event.queue}": owned by "${event.ownerScript}". Messages for this queue will not be delivered to this deployment until the owning script is removed.`);
|
|
2696
2693
|
return { kind: "continue" };
|
|
2697
2694
|
case "prerender":
|
|
2698
2695
|
s.message(`Prerendering ${event.pages} pages...`);
|
|
@@ -2726,8 +2723,8 @@ async function streamDeployEvents(projectId, events, s, cliLog) {
|
|
|
2726
2723
|
const onSigint = () => {
|
|
2727
2724
|
interrupted = true;
|
|
2728
2725
|
s.stop("Deploy interrupted");
|
|
2729
|
-
if (deploymentId)
|
|
2730
|
-
else
|
|
2726
|
+
if (deploymentId) log.info(`Deployment: ${deploymentId}`);
|
|
2727
|
+
else log.info("Deployment id was not received before the interrupt.");
|
|
2731
2728
|
cliLog?.warn("stream_interrupted", { deploymentId });
|
|
2732
2729
|
cliLog?.close().catch(() => {});
|
|
2733
2730
|
process.exit(130);
|
|
@@ -2876,13 +2873,13 @@ function formatKnownAssetSummary(result, skipped) {
|
|
|
2876
2873
|
}
|
|
2877
2874
|
async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetadata, hashedAssetsPrefix, headerRules, redirectRules, fallbackRules, routing, cliLog) {
|
|
2878
2875
|
const typeLabel = preset.appType === "spa" ? "Static SPA" : "Static Site";
|
|
2879
|
-
|
|
2876
|
+
log.info(`${typeLabel} deploy`);
|
|
2880
2877
|
cliLog?.info("deploy_mode", {
|
|
2881
2878
|
mode: "static",
|
|
2882
2879
|
appType: preset.appType
|
|
2883
2880
|
});
|
|
2884
2881
|
if (preset.buildCommand && !skipBuild) {
|
|
2885
|
-
|
|
2882
|
+
log.step("Building...");
|
|
2886
2883
|
cliLog?.info("build_start", { command: preset.buildCommand });
|
|
2887
2884
|
const buildStartedAt = Date.now();
|
|
2888
2885
|
execSync(preset.buildCommand, {
|
|
@@ -2893,7 +2890,7 @@ async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetad
|
|
|
2893
2890
|
cliLog?.info("build_end", { durationMs: Date.now() - buildStartedAt });
|
|
2894
2891
|
} else if (skipBuild) cliLog?.info("build_skipped", { reason: "skipBuild" });
|
|
2895
2892
|
if (!existsSync(preset.outputDir)) {
|
|
2896
|
-
|
|
2893
|
+
log.error(`deploy: Output directory '${preset.outputDir}' not found. Run the build first.`);
|
|
2897
2894
|
process.exit(1);
|
|
2898
2895
|
}
|
|
2899
2896
|
if (routing) {
|
|
@@ -2922,7 +2919,7 @@ async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetad
|
|
|
2922
2919
|
needed: needed.length,
|
|
2923
2920
|
skipped
|
|
2924
2921
|
});
|
|
2925
|
-
if (skipped > 0)
|
|
2922
|
+
if (skipped > 0) log.info(`Skipping ${skipped} unchanged asset(s)`);
|
|
2926
2923
|
s.start("Packaging...");
|
|
2927
2924
|
cliLog?.info("package_start", { mode: "static" });
|
|
2928
2925
|
const packageStartedAt = Date.now();
|
|
@@ -2939,9 +2936,9 @@ async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetad
|
|
|
2939
2936
|
durationMs: Date.now() - packageStartedAt
|
|
2940
2937
|
});
|
|
2941
2938
|
const result = await streamDirectR2Deploy(client, config.projectId, manifest, assetManifest, assetFiles, needed, gitMetadata, neededSet !== null, void 0, s, cliLog);
|
|
2942
|
-
|
|
2939
|
+
note([`${typeLabel} — ${formatKnownAssetSummary(result, skipped)}`].join("\n"), result.url);
|
|
2943
2940
|
warnUnpublishedRouting(result);
|
|
2944
|
-
|
|
2941
|
+
outro("Done!");
|
|
2945
2942
|
}
|
|
2946
2943
|
/**
|
|
2947
2944
|
* Surface a persistent warning when a deploy committed live but its routing
|
|
@@ -2952,7 +2949,7 @@ async function runStaticDeploy(root, config, client, preset, skipBuild, gitMetad
|
|
|
2952
2949
|
*/
|
|
2953
2950
|
function warnUnpublishedRouting(result) {
|
|
2954
2951
|
if (result.published !== false) return;
|
|
2955
|
-
|
|
2952
|
+
log.warn("Routing was not published for this deploy. The project may be unreachable (first deploy) or still serving the previous deploy. Re-run `void deploy` to publish routing.");
|
|
2956
2953
|
}
|
|
2957
2954
|
/**
|
|
2958
2955
|
* Emit a single aggregated lint warning when a `_redirects` file contains
|
|
@@ -2963,13 +2960,13 @@ function warnUnpublishedRouting(result) {
|
|
|
2963
2960
|
*/
|
|
2964
2961
|
function warnRedundantForceOn3xx(count) {
|
|
2965
2962
|
if (count === 0) return;
|
|
2966
|
-
|
|
2963
|
+
log.warn(`Found ${count} redundant "!" on 3xx entries in _redirects (these always force by nature; safe to remove).`);
|
|
2967
2964
|
}
|
|
2968
2965
|
/**
|
|
2969
2966
|
* Class B/C framework deploy: build with framework CLI, package with preset output paths.
|
|
2970
2967
|
*/
|
|
2971
2968
|
async function runFrameworkDeploy(root, config, client, detected, fwPreset, voidConfig, skipBuild, gitMetadata, cliLog) {
|
|
2972
|
-
|
|
2969
|
+
log.info(`${detected.name} framework deploy`);
|
|
2973
2970
|
cliLog?.info("deploy_mode", {
|
|
2974
2971
|
mode: "framework",
|
|
2975
2972
|
framework: detected.name
|
|
@@ -2977,7 +2974,7 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
|
|
|
2977
2974
|
const dialect = getDatabaseDialect(voidConfig);
|
|
2978
2975
|
const buildCmd = voidConfig.inference?.build ?? formatProjectCommand(root, fwPreset.buildCommand);
|
|
2979
2976
|
if (!skipBuild) {
|
|
2980
|
-
|
|
2977
|
+
log.step(`Building (${buildCmd})...`);
|
|
2981
2978
|
cliLog?.info("build_start", { command: buildCmd });
|
|
2982
2979
|
const buildStartedAt = Date.now();
|
|
2983
2980
|
execSync(voidConfig.inference?.build ?? resolveProjectCommand(root, fwPreset.buildCommand), {
|
|
@@ -3000,7 +2997,7 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
|
|
|
3000
2997
|
lintDestinationSplats(redirectRules, "redirects/rewrites (pre-asset)");
|
|
3001
2998
|
lintDestinationSplats(fallbackRules, "fallbacks (post-asset)");
|
|
3002
2999
|
if (!existsSync(workerDir)) {
|
|
3003
|
-
|
|
3000
|
+
log.error(`deploy: Worker output '${fwPreset.workerDir}' not found. Run '${buildCmd}' first.`);
|
|
3004
3001
|
process.exit(1);
|
|
3005
3002
|
}
|
|
3006
3003
|
const inferenceOptions = voidConfig.inference?.bindings ? { bindings: voidConfig.inference.bindings } : void 0;
|
|
@@ -3011,11 +3008,11 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
|
|
|
3011
3008
|
paths
|
|
3012
3009
|
}, scanDirs);
|
|
3013
3010
|
if (bindings.needsAuth || findVoidAuthConfig(root, paths) !== null || voidConfig.auth !== void 0) {
|
|
3014
|
-
|
|
3011
|
+
log.error("deploy: Void-managed Better Auth is only supported in Void apps. Use Better Auth's official integration for this framework instead.");
|
|
3015
3012
|
process.exit(1);
|
|
3016
3013
|
}
|
|
3017
3014
|
if (bindings.needsLive) {
|
|
3018
|
-
|
|
3015
|
+
log.error("deploy: void/live is currently supported in Void apps only.");
|
|
3019
3016
|
process.exit(1);
|
|
3020
3017
|
}
|
|
3021
3018
|
const migrationsDir = paths.migrationsDir;
|
|
@@ -3025,14 +3022,14 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
|
|
|
3025
3022
|
try {
|
|
3026
3023
|
assertJournalCoherence(migrationsDir, rawMigrations);
|
|
3027
3024
|
} catch (err) {
|
|
3028
|
-
|
|
3025
|
+
log.error(getErrorMessage(err));
|
|
3029
3026
|
process.exit(1);
|
|
3030
3027
|
}
|
|
3031
3028
|
if (rawMigrations.length > 0) try {
|
|
3032
3029
|
validatedMigrations = validateMigrations(rawMigrations);
|
|
3033
|
-
|
|
3030
|
+
log.info(`Found ${validatedMigrations.length} migration(s)`);
|
|
3034
3031
|
} catch (err) {
|
|
3035
|
-
|
|
3032
|
+
log.error(getErrorMessage(err));
|
|
3036
3033
|
process.exit(1);
|
|
3037
3034
|
}
|
|
3038
3035
|
if (dialect === "postgresql" && (bindings.needsD1 || rawMigrations.length > 0)) {
|
|
@@ -3042,7 +3039,7 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
|
|
|
3042
3039
|
} catch {}
|
|
3043
3040
|
if (resources) {
|
|
3044
3041
|
if (!resources.some((resource) => resource.type === "hyperdrive")) {
|
|
3045
|
-
const { text: promptText, isCancel: isCancelPrompt } = await import("./
|
|
3042
|
+
const { text: promptText, isCancel: isCancelPrompt } = await import("./agents-Bmr5tFFb.mjs").then((n) => n.C);
|
|
3046
3043
|
const connectionString = await promptText({
|
|
3047
3044
|
message: "Your project uses PostgreSQL. Enter your connection string:",
|
|
3048
3045
|
placeholder: "postgresql://user:pass@host:5432/dbname",
|
|
@@ -3051,11 +3048,11 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
|
|
|
3051
3048
|
}
|
|
3052
3049
|
});
|
|
3053
3050
|
if (isCancelPrompt(connectionString)) {
|
|
3054
|
-
|
|
3051
|
+
log.info("Deploy cancelled.");
|
|
3055
3052
|
process.exit(0);
|
|
3056
3053
|
}
|
|
3057
3054
|
await client.provisionDatabase(config.projectId, connectionString);
|
|
3058
|
-
|
|
3055
|
+
log.success("Hyperdrive provisioned.");
|
|
3059
3056
|
}
|
|
3060
3057
|
}
|
|
3061
3058
|
}
|
|
@@ -3072,16 +3069,16 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
|
|
|
3072
3069
|
let actualWorkerDir = workerDir;
|
|
3073
3070
|
let actualWorkerMain = fwPreset.workerMain;
|
|
3074
3071
|
if (fwPreset.bundle) {
|
|
3075
|
-
|
|
3072
|
+
log.step("Bundling worker...");
|
|
3076
3073
|
const bundleResult = await bundleEntry(root, originalEntry);
|
|
3077
3074
|
actualWorkerDir = bundleResult.outputDir;
|
|
3078
3075
|
actualWorkerMain = bundleResult.entryFilename;
|
|
3079
|
-
|
|
3076
|
+
log.info("Worker bundled");
|
|
3080
3077
|
}
|
|
3081
3078
|
if (needsWrapper(wrapperFeatures)) {
|
|
3082
|
-
|
|
3079
|
+
log.step("Generating wrapper...");
|
|
3083
3080
|
await generateDeployWrapperIfNeeded(root, actualWorkerDir, actualWorkerMain, wrapperFeatures);
|
|
3084
|
-
|
|
3081
|
+
log.info("Wrapper generated");
|
|
3085
3082
|
}
|
|
3086
3083
|
const wranglerCompat = resolveDeployWranglerCompat(root, voidConfig, workerDir, { dialect });
|
|
3087
3084
|
const revalidate = voidConfig.routing?.revalidate;
|
|
@@ -3111,7 +3108,7 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
|
|
|
3111
3108
|
needed: needed.length,
|
|
3112
3109
|
skipped
|
|
3113
3110
|
});
|
|
3114
|
-
if (skipped > 0)
|
|
3111
|
+
if (skipped > 0) log.info(`Skipping ${skipped} unchanged asset(s)`);
|
|
3115
3112
|
s.start("Packaging...");
|
|
3116
3113
|
cliLog?.info("package_start", {
|
|
3117
3114
|
mode: "framework",
|
|
@@ -3158,10 +3155,10 @@ async function runFrameworkDeploy(root, config, client, detected, fwPreset, void
|
|
|
3158
3155
|
if (revalidate) if (typeof revalidate === "number") summary.push(`ISR revalidate: ${revalidate}s`);
|
|
3159
3156
|
else summary.push(`ISR revalidate: ${Object.keys(revalidate).length} path rule(s)`);
|
|
3160
3157
|
summary.push(`Framework: ${detected.name}`);
|
|
3161
|
-
|
|
3158
|
+
note(summary.join("\n"), result.url);
|
|
3162
3159
|
cleanupWrapper(root);
|
|
3163
3160
|
warnUnpublishedRouting(result);
|
|
3164
|
-
|
|
3161
|
+
outro("Done!");
|
|
3165
3162
|
}
|
|
3166
3163
|
async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetadata, detected, cliLog) {
|
|
3167
3164
|
cliLog?.info("deploy_mode", {
|
|
@@ -3170,7 +3167,7 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
|
|
|
3170
3167
|
});
|
|
3171
3168
|
if (!skipBuild) {
|
|
3172
3169
|
const buildCmd = formatProjectCommand(root, "vite build");
|
|
3173
|
-
|
|
3170
|
+
log.step(`Building (${buildCmd})...`);
|
|
3174
3171
|
cliLog?.info("build_start", { command: buildCmd });
|
|
3175
3172
|
const buildStartedAt = Date.now();
|
|
3176
3173
|
try {
|
|
@@ -3211,20 +3208,20 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
|
|
|
3211
3208
|
needsD1: true
|
|
3212
3209
|
} : bindings;
|
|
3213
3210
|
if (isFrameworkMode && authEnabled) {
|
|
3214
|
-
|
|
3211
|
+
log.error("Void-managed Better Auth is only supported in Void apps. Use Better Auth's official integration for this framework instead.");
|
|
3215
3212
|
process.exit(1);
|
|
3216
3213
|
}
|
|
3217
3214
|
if (isFrameworkMode && bindings.needsSandbox) {
|
|
3218
|
-
|
|
3215
|
+
log.error("deploy: Cloudflare Sandboxes are currently supported in Void apps only.");
|
|
3219
3216
|
process.exit(1);
|
|
3220
3217
|
}
|
|
3221
3218
|
if (isFrameworkMode && bindings.needsLive) {
|
|
3222
|
-
|
|
3219
|
+
log.error("deploy: void/live is currently supported in Void apps only.");
|
|
3223
3220
|
process.exit(1);
|
|
3224
3221
|
}
|
|
3225
3222
|
const sandboxConfig = bindings.needsSandbox ? resolveSandboxConfig(deployConfig, root) : void 0;
|
|
3226
3223
|
if (bindings.needsSandbox && requiresSandboxPlatformImage(deployConfig)) {
|
|
3227
|
-
|
|
3224
|
+
log.error("deploy: `sandbox.image` points at a local Dockerfile. Add `sandbox.platformImage` with a pushed registry image for `void deploy`, or deploy this sandbox directly with Wrangler.");
|
|
3228
3225
|
process.exit(1);
|
|
3229
3226
|
}
|
|
3230
3227
|
const clientDir = join(distDir, "client");
|
|
@@ -3244,14 +3241,14 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
|
|
|
3244
3241
|
try {
|
|
3245
3242
|
assertJournalCoherence(migrationsDir, rawMigrations);
|
|
3246
3243
|
} catch (err) {
|
|
3247
|
-
|
|
3244
|
+
log.error(getErrorMessage(err));
|
|
3248
3245
|
process.exit(1);
|
|
3249
3246
|
}
|
|
3250
3247
|
if (rawMigrations.length > 0) try {
|
|
3251
3248
|
validatedMigrations = validateMigrations(rawMigrations);
|
|
3252
|
-
|
|
3249
|
+
log.info(`Found ${validatedMigrations.length} migration(s)`);
|
|
3253
3250
|
} catch (err) {
|
|
3254
|
-
|
|
3251
|
+
log.error(getErrorMessage(err));
|
|
3255
3252
|
process.exit(1);
|
|
3256
3253
|
}
|
|
3257
3254
|
if (dialect === "postgresql" && (effectiveBindings.needsD1 || rawMigrations.length > 0)) {
|
|
@@ -3261,7 +3258,7 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
|
|
|
3261
3258
|
} catch {}
|
|
3262
3259
|
if (resources) {
|
|
3263
3260
|
if (!resources.some((resource) => resource.type === "hyperdrive")) {
|
|
3264
|
-
const { text: promptText, isCancel: isCancelPrompt } = await import("./
|
|
3261
|
+
const { text: promptText, isCancel: isCancelPrompt } = await import("./agents-Bmr5tFFb.mjs").then((n) => n.C);
|
|
3265
3262
|
const connectionString = await promptText({
|
|
3266
3263
|
message: "Your project uses PostgreSQL. Enter your connection string:",
|
|
3267
3264
|
placeholder: "postgresql://user:pass@host:5432/dbname",
|
|
@@ -3270,11 +3267,11 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
|
|
|
3270
3267
|
}
|
|
3271
3268
|
});
|
|
3272
3269
|
if (isCancelPrompt(connectionString)) {
|
|
3273
|
-
|
|
3270
|
+
log.info("Deploy cancelled.");
|
|
3274
3271
|
process.exit(0);
|
|
3275
3272
|
}
|
|
3276
3273
|
await client.provisionDatabase(config.projectId, connectionString);
|
|
3277
|
-
|
|
3274
|
+
log.success("Hyperdrive provisioned.");
|
|
3278
3275
|
}
|
|
3279
3276
|
}
|
|
3280
3277
|
}
|
|
@@ -3326,7 +3323,7 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
|
|
|
3326
3323
|
}
|
|
3327
3324
|
if (deployConfig.output === "static" && pageScan && !isSsr) {
|
|
3328
3325
|
if (pageScan.pages.every((p) => p.shouldPrerender && (p.params.length === 0 && !p.catchAll || p.hasGetPrerenderPaths)) && !(hasRoutes || hasMiddleware || hasWebSockets || authEnabled || liveConfig !== void 0) && schedules.length === 0 && queues.length === 0) {
|
|
3329
|
-
|
|
3326
|
+
log.info("All pages prerendered — deploying as static site");
|
|
3330
3327
|
cliLog?.info("full_to_static_redirect", { reason: "all_pages_prerendered" });
|
|
3331
3328
|
return runStaticDeploy(root, config, client, {
|
|
3332
3329
|
buildCommand: null,
|
|
@@ -3378,7 +3375,7 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
|
|
|
3378
3375
|
needed: needed.length,
|
|
3379
3376
|
skipped
|
|
3380
3377
|
});
|
|
3381
|
-
if (skipped > 0)
|
|
3378
|
+
if (skipped > 0) log.info(`Skipping ${skipped} unchanged asset(s)`);
|
|
3382
3379
|
s.start("Packaging...");
|
|
3383
3380
|
cliLog?.info("package_start", {
|
|
3384
3381
|
mode: "full",
|
|
@@ -3436,9 +3433,9 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
|
|
|
3436
3433
|
migrationDialect: dialect
|
|
3437
3434
|
};
|
|
3438
3435
|
if (needsWrapper(wrapperFeatures)) {
|
|
3439
|
-
|
|
3436
|
+
log.step("Generating wrapper...");
|
|
3440
3437
|
await generateDeployWrapperIfNeeded(root, workerDir, fwPreset?.workerMain ?? "index.js", wrapperFeatures);
|
|
3441
|
-
|
|
3438
|
+
log.info("Wrapper generated");
|
|
3442
3439
|
}
|
|
3443
3440
|
}
|
|
3444
3441
|
const workerFiles = collectWorkerFiles(workerDir);
|
|
@@ -3457,12 +3454,12 @@ async function runFullDeploy(root, config, client, fwPreset, skipBuild, gitMetad
|
|
|
3457
3454
|
if (revalidate) if (typeof revalidate === "number") summary.push(`ISR revalidate: ${revalidate}s`);
|
|
3458
3455
|
else summary.push(`ISR revalidate: ${Object.keys(revalidate).length} path rule(s)`);
|
|
3459
3456
|
if (isFrameworkMode) summary.push("Framework mode");
|
|
3460
|
-
|
|
3457
|
+
note(summary.join("\n"), result.url);
|
|
3461
3458
|
warnUnpublishedRouting(result);
|
|
3462
|
-
|
|
3459
|
+
outro("Done!");
|
|
3463
3460
|
}
|
|
3464
3461
|
async function createProjectFromSlug(root, client, slug, cliLog) {
|
|
3465
|
-
|
|
3462
|
+
log.step(`Creating project ${import_picocolors.default.blue(slug)}...`);
|
|
3466
3463
|
cliLog?.info("project_create_start", { slug });
|
|
3467
3464
|
const project = await client.createProject(slug);
|
|
3468
3465
|
const config = {
|
|
@@ -3470,7 +3467,7 @@ async function createProjectFromSlug(root, client, slug, cliLog) {
|
|
|
3470
3467
|
slug: project.slug
|
|
3471
3468
|
};
|
|
3472
3469
|
writeProjectConfig(root, config);
|
|
3473
|
-
|
|
3470
|
+
log.success(`Project created: ${import_picocolors.default.blue(config.slug)}`);
|
|
3474
3471
|
cliLog?.info("project_create_success", {
|
|
3475
3472
|
projectId: config.projectId,
|
|
3476
3473
|
slug: config.slug
|
|
@@ -3505,10 +3502,10 @@ function assertDeploySchemaDriftFree(root, dialect) {
|
|
|
3505
3502
|
try {
|
|
3506
3503
|
if (!hasDeploySchemaDrift(root, dialect)) return;
|
|
3507
3504
|
} catch (error) {
|
|
3508
|
-
|
|
3505
|
+
log.error(getErrorMessage(error));
|
|
3509
3506
|
process.exit(1);
|
|
3510
3507
|
}
|
|
3511
|
-
|
|
3508
|
+
log.error(getDeploySchemaDriftMessage());
|
|
3512
3509
|
process.exit(1);
|
|
3513
3510
|
}
|
|
3514
3511
|
function hasDeploySchemaDrift(root, dialect) {
|
|
@@ -3652,8 +3649,8 @@ async function assertEnvSchemaValid(root, client, projectId) {
|
|
|
3652
3649
|
});
|
|
3653
3650
|
if (!hasSchema || report.valid) return;
|
|
3654
3651
|
const formatted = formatEnvReport(report);
|
|
3655
|
-
|
|
3656
|
-
if (report.missing.length > 0)
|
|
3652
|
+
log.error(`Env validation failed:\n${formatted}`);
|
|
3653
|
+
if (report.missing.length > 0) log.info(`Add the missing values to .env / .env.production, or upload them with \`void secret put <NAME>\`.`);
|
|
3657
3654
|
throw new DeployEventError("deploy: Aborting because env.ts schema is not satisfied.");
|
|
3658
3655
|
}
|
|
3659
3656
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as __exportAll } from "./
|
|
2
|
-
import { s as relative } from "./pathe.M-eThtNZ-
|
|
3
|
-
import { n as readProjectPaths } from "./project-paths-
|
|
1
|
+
import { n as __exportAll } from "./rolldown-runtime-DJK8HYOj.mjs";
|
|
2
|
+
import { s as relative } from "./pathe.M-eThtNZ-CQzLbt4c.mjs";
|
|
3
|
+
import { n as readProjectPaths } from "./project-paths-tpdR1mJR.mjs";
|
|
4
4
|
import { existsSync, statSync } from "node:fs";
|
|
5
5
|
//#region src/drizzle/discover.ts
|
|
6
6
|
var discover_exports = /* @__PURE__ */ __exportAll({
|