void 0.10.4 → 0.10.6
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-CblKzAdD.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-CJQSRupz.mjs → build-cmd-Br8qL0rA.mjs} +15 -17
- package/dist/{cache-CMzjhxHh.mjs → cache-wH-mP8UE.mjs} +10 -12
- package/dist/{cancel-deploy-S2N8NSv6.mjs → cancel-deploy-BEBOEgtu.mjs} +16 -18
- package/dist/cli/cli.mjs +62 -51
- package/dist/{client-YIzxv2ZO.mjs → client-Cj96iiBH.mjs} +118 -8
- package/dist/{config-8dLIngKW.mjs → config-1twldYCW.mjs} +10 -10
- package/dist/{config--wXmVOoe.mjs → config-BdUctCZD.mjs} +6 -6
- package/dist/{create-project-pLQdzEPe.mjs → create-project-DD9n8Ho-.mjs} +28 -23
- package/dist/{db-hAmBumot.mjs → db-DjKE2-A-.mjs} +151 -150
- package/dist/{delete-CfSe3EJO.mjs → delete-D2kr3Kmk.mjs} +13 -15
- package/dist/{deploy-DpOdwtla.mjs → deploy-C4PbkFyE.mjs} +114 -119
- package/dist/{discover-C8N1I4tK.mjs → discover-BuVVSAum.mjs} +4 -4
- package/dist/{dist-5cGIJHQQ.mjs → dist-BuiRJkTd.mjs} +59 -27
- package/dist/{domain-CkowysQx.mjs → domain-_luIsM_B.mjs} +14 -16
- package/dist/{env-CIwG2y7G.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-CaJaIRXU.mjs → env-types-D51bnR-c.mjs} +4 -4
- package/dist/{env-validation-LH6eoyW-.mjs → env-validation-CeC2FL66.mjs} +4 -4
- package/dist/{fetch-error-C6qffTl2.mjs → fetch-error-Dj3crt0e.mjs} +3 -3
- package/dist/{gen-q6McxXgE.mjs → gen-Cf79J4aw.mjs} +42 -44
- package/dist/{github-cmd-BvEKQmcD.mjs → github-cmd-DnqxyOsb.mjs} +197 -91
- 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-CZP69LJu.mjs → init-KirOzVDs.mjs} +132 -134
- package/dist/link-CUmiosyb.mjs +45 -0
- package/dist/{list-B7qXBBjo.mjs → list-3GEw7b6m.mjs} +10 -12
- package/dist/{login-B3l_sDwT.mjs → login-DJReaT_Q.mjs} +14 -15
- package/dist/{logs-AXm660MB.mjs → logs-D-rQ56Lq.mjs} +9 -11
- package/dist/{magic-string.es-C1Fb0uxq.mjs → magic-string.es-ZQjdJFFn.mjs} +3 -3
- package/dist/{mcp-D2plINxM.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-C3fLzFvP.mjs → plugin-inference-CJxi_fWI.mjs} +4 -4
- package/dist/{prepare-DRRboRqH.mjs → prepare-C_cVurhP.mjs} +15 -18
- package/dist/{preset-B7ZQZn0u.mjs → preset-CVvwCeIy.mjs} +4 -4
- package/dist/{project-cmd-InegJruy.mjs → project-cmd-DnU7u9QF.mjs} +13 -14
- package/dist/{project-paths-CCMrHYQm.mjs → project-paths-tpdR1mJR.mjs} +2 -2
- package/dist/{project-tsconfig-BTNuNoJ0.mjs → project-tsconfig-D9uSVVpA.mjs} +4 -4
- 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-CHVE-DeT.mjs → rollback-Yh7bCKob.mjs} +21 -23
- package/dist/{route-types-D03ryMXz.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-DGEp1-1Q.mjs → scan-i7Yz54fv.mjs} +26 -8
- package/dist/{secret-CVKwIOm3.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 +2 -2
- 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/markdown-it-attrs/README.md +29 -12
- 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 +19 -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-BKLElphS.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,10 +1,8 @@
|
|
|
1
|
-
import { n as __exportAll } from "./
|
|
2
|
-
import { a as join } from "./pathe.M-eThtNZ-
|
|
3
|
-
import {
|
|
4
|
-
import { t as cfAccessHeaders } from "./cf-access-
|
|
5
|
-
import {
|
|
6
|
-
import { r as getPackageDir } from "./agents-MhSzNMiC.mjs";
|
|
7
|
-
import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
1
|
+
import { n as __exportAll } from "./rolldown-runtime-DJK8HYOj.mjs";
|
|
2
|
+
import { a as join, n as dirname } from "./pathe.M-eThtNZ-CQzLbt4c.mjs";
|
|
3
|
+
import { r as getPackageDir, u as import_picocolors } from "./agents-Bmr5tFFb.mjs";
|
|
4
|
+
import { t as cfAccessHeaders } from "./cf-access-Bqw81xAf.mjs";
|
|
5
|
+
import { mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
8
6
|
import { createHash, randomBytes } from "node:crypto";
|
|
9
7
|
import { homedir } from "node:os";
|
|
10
8
|
import { Entry } from "@napi-rs/keyring";
|
|
@@ -81,6 +79,74 @@ function isGatedHost(apiUrl) {
|
|
|
81
79
|
}
|
|
82
80
|
}
|
|
83
81
|
//#endregion
|
|
82
|
+
//#region src/cli/project.ts
|
|
83
|
+
var project_exports = /* @__PURE__ */ __exportAll({
|
|
84
|
+
isVoidInternalStaging: () => isVoidInternalStaging,
|
|
85
|
+
readProjectConfig: () => readProjectConfig,
|
|
86
|
+
removeProjectConfig: () => removeProjectConfig,
|
|
87
|
+
writeProjectConfig: () => writeProjectConfig
|
|
88
|
+
});
|
|
89
|
+
const PROJECT_FILE = ".void/project.json";
|
|
90
|
+
function readProjectConfigFile(root) {
|
|
91
|
+
const filePath = join(root, PROJECT_FILE);
|
|
92
|
+
try {
|
|
93
|
+
const raw = readFileSync(filePath, "utf-8");
|
|
94
|
+
const config = JSON.parse(raw);
|
|
95
|
+
if (typeof config !== "object" || config === null || Array.isArray(config)) return null;
|
|
96
|
+
return config;
|
|
97
|
+
} catch {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Read the project config from the project root.
|
|
103
|
+
* Returns null if no project.json exists.
|
|
104
|
+
* A file containing only internal metadata is not treated as a linked project.
|
|
105
|
+
*/
|
|
106
|
+
function readProjectConfig(root) {
|
|
107
|
+
const config = readProjectConfigFile(root);
|
|
108
|
+
if (!config || typeof config.projectId !== "string" || typeof config.slug !== "string") return null;
|
|
109
|
+
const result = {
|
|
110
|
+
projectId: config.projectId,
|
|
111
|
+
slug: config.slug
|
|
112
|
+
};
|
|
113
|
+
if (config.voidInternalStaging === true) result.voidInternalStaging = true;
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Internal-only platform developers' staging switch.
|
|
118
|
+
* This intentionally lives with the project link state, not public void.json.
|
|
119
|
+
*/
|
|
120
|
+
function isVoidInternalStaging(root) {
|
|
121
|
+
return readProjectConfigFile(root)?.voidInternalStaging === true;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Write the project config to the project root.
|
|
125
|
+
*/
|
|
126
|
+
function writeProjectConfig(root, config) {
|
|
127
|
+
const filePath = join(root, PROJECT_FILE);
|
|
128
|
+
const existing = readProjectConfigFile(root);
|
|
129
|
+
const next = {
|
|
130
|
+
projectId: config.projectId,
|
|
131
|
+
slug: config.slug
|
|
132
|
+
};
|
|
133
|
+
if (config.voidInternalStaging === true || existing?.voidInternalStaging === true) next.voidInternalStaging = true;
|
|
134
|
+
mkdirSync(dirname(filePath), { recursive: true });
|
|
135
|
+
writeFileSync(filePath, JSON.stringify(next, null, 2) + "\n");
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Remove the project config file. Returns true if removed, false if it didn't exist.
|
|
139
|
+
*/
|
|
140
|
+
function removeProjectConfig(root) {
|
|
141
|
+
const filePath = join(root, PROJECT_FILE);
|
|
142
|
+
try {
|
|
143
|
+
rmSync(filePath);
|
|
144
|
+
return true;
|
|
145
|
+
} catch {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//#endregion
|
|
84
150
|
//#region src/cli/auth.ts
|
|
85
151
|
const CONFIG_DIR = join(homedir(), ".void");
|
|
86
152
|
const CONFIG_PATH = join(CONFIG_DIR, "config.json");
|
|
@@ -873,6 +939,25 @@ var PlatformClient = class {
|
|
|
873
939
|
if (!res.ok) await throwPlatformApiError("Failed to connect GitHub repository", res);
|
|
874
940
|
return res.json();
|
|
875
941
|
}
|
|
942
|
+
/**
|
|
943
|
+
* Start the per-repo connect-authorization round-trip used by a non-owner org
|
|
944
|
+
* member (Task 7 platform contract). The callback redirects back to `redirect`
|
|
945
|
+
* with either `?connect_grant=<signed>` (proof of per-repo access) or
|
|
946
|
+
* `?error=repo_not_accessible`. Mirrors {@link getGithubLinkUrl} but carries
|
|
947
|
+
* the installation + repo the grant is scoped to.
|
|
948
|
+
*/
|
|
949
|
+
async getGithubConnectAuthorizeUrl(redirect, codeChallenge, installationId, repoFullName) {
|
|
950
|
+
const params = new URLSearchParams({
|
|
951
|
+
redirect,
|
|
952
|
+
code_challenge: codeChallenge,
|
|
953
|
+
code_challenge_method: "S256",
|
|
954
|
+
installationId,
|
|
955
|
+
repoFullName
|
|
956
|
+
});
|
|
957
|
+
const res = await fetch(`${this.baseUrl}/github/connect-authorize-url?${params}`, { headers: { ...this.authHeaders } });
|
|
958
|
+
if (!res.ok) await throwPlatformApiError("Failed to start GitHub connect authorization", res);
|
|
959
|
+
return res.json();
|
|
960
|
+
}
|
|
876
961
|
async getGithubConnection(projectId) {
|
|
877
962
|
const res = await fetch(`${this.baseUrl}/projects/${projectId}/github`, { headers: { ...this.authHeaders } });
|
|
878
963
|
if (!res.ok) await throwPlatformApiError("Failed to get GitHub connection", res);
|
|
@@ -915,6 +1000,31 @@ var PlatformClient = class {
|
|
|
915
1000
|
if (!res.ok) await throwPlatformApiError("Failed to complete GitHub link", res);
|
|
916
1001
|
return res.json();
|
|
917
1002
|
}
|
|
1003
|
+
async getGithubJoinUrl(redirect, codeChallenge) {
|
|
1004
|
+
const params = new URLSearchParams({
|
|
1005
|
+
redirect,
|
|
1006
|
+
code_challenge: codeChallenge,
|
|
1007
|
+
code_challenge_method: "S256"
|
|
1008
|
+
});
|
|
1009
|
+
const res = await fetch(`${this.baseUrl}/github/join-url?${params}`, { headers: { ...this.authHeaders } });
|
|
1010
|
+
if (!res.ok) await throwPlatformApiError("Failed to start GitHub join", res);
|
|
1011
|
+
return res.json();
|
|
1012
|
+
}
|
|
1013
|
+
async completeGithubJoin(joinCode, codeVerifier) {
|
|
1014
|
+
const res = await fetch(`${this.baseUrl}/github/join/complete`, {
|
|
1015
|
+
method: "POST",
|
|
1016
|
+
headers: {
|
|
1017
|
+
"Content-Type": "application/json",
|
|
1018
|
+
...this.authHeaders
|
|
1019
|
+
},
|
|
1020
|
+
body: JSON.stringify({
|
|
1021
|
+
join_code: joinCode,
|
|
1022
|
+
code_verifier: codeVerifier
|
|
1023
|
+
})
|
|
1024
|
+
});
|
|
1025
|
+
if (!res.ok) await throwPlatformApiError("Failed to complete GitHub join", res);
|
|
1026
|
+
return res.json();
|
|
1027
|
+
}
|
|
918
1028
|
};
|
|
919
1029
|
//#endregion
|
|
920
|
-
export { runLogin as _, isExpiredTokenError as a, createCodeChallenge as c, getSiteDomain as d, getToken as f, removeToken as g, openBrowser as h, isCliOutdatedError as i, createCodeVerifier as l, isStagingMode as m, PlatformClient as n, parsePlatformErrorBody as o, getTokenSource as p, client_exports as r, awaitBrowserCallback as s, PlatformApiError as t, getApiUrl as u, saveToken as v,
|
|
1030
|
+
export { ensureCloudflaredToken as C, writeProjectConfig as S, runLogin as _, isExpiredTokenError as a, readProjectConfig as b, createCodeChallenge as c, getSiteDomain as d, getToken as f, removeToken as g, openBrowser as h, isCliOutdatedError as i, createCodeVerifier as l, isStagingMode as m, PlatformClient as n, parsePlatformErrorBody as o, getTokenSource as p, client_exports as r, awaitBrowserCallback as s, PlatformApiError as t, getApiUrl as u, saveToken as v, removeProjectConfig as x, project_exports as y };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { n as __exportAll } from "./
|
|
2
|
-
import { a as join } from "./pathe.M-eThtNZ-
|
|
3
|
-
import { a as validateSourceDir } from "./project-paths-
|
|
4
|
-
import { i as isVoidAuthProvider, t as VOID_AUTH_PROVIDERS } from "./providers-
|
|
1
|
+
import { n as __exportAll } from "./rolldown-runtime-DJK8HYOj.mjs";
|
|
2
|
+
import { a as join } from "./pathe.M-eThtNZ-CQzLbt4c.mjs";
|
|
3
|
+
import { a as validateSourceDir } from "./project-paths-tpdR1mJR.mjs";
|
|
4
|
+
import { i as isVoidAuthProvider, t as VOID_AUTH_PROVIDERS } from "./providers-CJlNS3kT.mjs";
|
|
5
5
|
import { readFileSync } from "node:fs";
|
|
6
6
|
//#region src/config.ts
|
|
7
7
|
var config_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -21,34 +21,34 @@ var config_exports = /* @__PURE__ */ __exportAll({
|
|
|
21
21
|
resolveBindingNames: () => resolveBindingNames
|
|
22
22
|
});
|
|
23
23
|
const CONFIG_FILE = "void.json";
|
|
24
|
-
const VALID_TARGETS = new Set([
|
|
24
|
+
const VALID_TARGETS = /* @__PURE__ */ new Set([
|
|
25
25
|
"cloudflare",
|
|
26
26
|
"node",
|
|
27
27
|
"bun",
|
|
28
28
|
"deno"
|
|
29
29
|
]);
|
|
30
|
-
const VALID_APP_TYPES = new Set([
|
|
30
|
+
const VALID_APP_TYPES = /* @__PURE__ */ new Set([
|
|
31
31
|
"spa",
|
|
32
32
|
"static",
|
|
33
33
|
"void",
|
|
34
34
|
"framework"
|
|
35
35
|
]);
|
|
36
|
-
const VALID_OUTPUTS = new Set(["server", "static"]);
|
|
36
|
+
const VALID_OUTPUTS = /* @__PURE__ */ new Set(["server", "static"]);
|
|
37
37
|
/**
|
|
38
38
|
* Allowed 3xx redirect statuses. Source of truth for the framework, the
|
|
39
39
|
* `_redirects` parser (`cli/headers.ts`), and the schema.json enum. 303 is
|
|
40
40
|
* included for POST→GET after-submit patterns; 304/305/306 aren't
|
|
41
41
|
* cacheable-safe / are deprecated.
|
|
42
42
|
*/
|
|
43
|
-
const VALID_REDIRECT_STATUSES = new Set([
|
|
43
|
+
const VALID_REDIRECT_STATUSES = /* @__PURE__ */ new Set([
|
|
44
44
|
301,
|
|
45
45
|
302,
|
|
46
46
|
303,
|
|
47
47
|
307,
|
|
48
48
|
308
|
|
49
49
|
]);
|
|
50
|
-
const VALID_DATABASE_VALUES = new Set(["pg"]);
|
|
51
|
-
const VALID_SANDBOX_INSTANCE_TYPES = new Set([
|
|
50
|
+
const VALID_DATABASE_VALUES = /* @__PURE__ */ new Set(["pg"]);
|
|
51
|
+
const VALID_SANDBOX_INSTANCE_TYPES = /* @__PURE__ */ new Set([
|
|
52
52
|
"dev",
|
|
53
53
|
"lite",
|
|
54
54
|
"basic",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { n as __exportAll } from "./
|
|
2
|
-
import { a as join, s as relative } from "./pathe.M-eThtNZ-
|
|
3
|
-
import { n as readProjectPaths } from "./project-paths-
|
|
4
|
-
import { r as schemaSpecifier, t as discoverSchema } from "./discover-
|
|
1
|
+
import { n as __exportAll } from "./rolldown-runtime-DJK8HYOj.mjs";
|
|
2
|
+
import { a as join, s as relative } from "./pathe.M-eThtNZ-CQzLbt4c.mjs";
|
|
3
|
+
import { n as readProjectPaths } from "./project-paths-tpdR1mJR.mjs";
|
|
4
|
+
import { r as schemaSpecifier, t as discoverSchema } from "./discover-BuVVSAum.mjs";
|
|
5
5
|
import { mkdirSync, writeFileSync } from "node:fs";
|
|
6
6
|
//#region src/drizzle/config.ts
|
|
7
7
|
var config_exports = /* @__PURE__ */ __exportAll({ writeDrizzleConfig: () => writeDrizzleConfig });
|
|
@@ -21,13 +21,13 @@ function writeDrizzleConfig(root, dbPath, dialect = "sqlite") {
|
|
|
21
21
|
const config = dialect === "postgresql" ? {
|
|
22
22
|
dialect: "postgresql",
|
|
23
23
|
schema: schemaSpecifier(schema, root),
|
|
24
|
-
out: `./${relative(root, paths.migrationsDir)
|
|
24
|
+
out: `./${relative(root, paths.migrationsDir)}`,
|
|
25
25
|
migrations: { prefix: "timestamp" },
|
|
26
26
|
dbCredentials: { url: dbPath }
|
|
27
27
|
} : {
|
|
28
28
|
dialect: "sqlite",
|
|
29
29
|
schema: schemaSpecifier(schema, root),
|
|
30
|
-
out: `./${relative(root, paths.migrationsDir)
|
|
30
|
+
out: `./${relative(root, paths.migrationsDir)}`,
|
|
31
31
|
migrations: { prefix: "timestamp" },
|
|
32
32
|
dbCredentials: { url: dbPath }
|
|
33
33
|
};
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
import { n as __exportAll } from "./
|
|
2
|
-
import {
|
|
3
|
-
import { d as getSiteDomain, t as PlatformApiError } from "./client-
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { n as __exportAll } from "./rolldown-runtime-DJK8HYOj.mjs";
|
|
2
|
+
import { A as text, S as confirm, T as log, j as isCancel, k as select, u as import_picocolors, x as cancel } from "./agents-Bmr5tFFb.mjs";
|
|
3
|
+
import { S as writeProjectConfig, d as getSiteDomain, t as PlatformApiError } from "./client-Cj96iiBH.mjs";
|
|
4
|
+
import { n as inferDefaultSlug } from "./resolve-project-D2HI3TrG.mjs";
|
|
5
|
+
//#region src/cli/project-slug.ts
|
|
6
|
+
var project_slug_exports = /* @__PURE__ */ __exportAll({ validateProjectSlug: () => validateProjectSlug });
|
|
7
|
+
function validateProjectSlug(value) {
|
|
8
|
+
const slug = (value ?? "").trim();
|
|
9
|
+
if (slug.length === 0) return "Project slug is required.";
|
|
10
|
+
if (!(slug.length === 1 ? /^[a-z0-9]$/.test(slug) : /^[a-z0-9][a-z0-9-]*[a-z0-9]$/.test(slug))) return "Slug must be lowercase alphanumeric with dashes.";
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
8
13
|
//#region src/cli/prompt.ts
|
|
9
14
|
async function promptProjectSetupAction(message = "Set up a Void project:", options = {}) {
|
|
10
|
-
const result = await
|
|
15
|
+
const result = await select({
|
|
11
16
|
message,
|
|
12
17
|
options: [{
|
|
13
18
|
value: "create",
|
|
@@ -17,14 +22,14 @@ async function promptProjectSetupAction(message = "Set up a Void project:", opti
|
|
|
17
22
|
label: "Link an existing project"
|
|
18
23
|
}]]
|
|
19
24
|
});
|
|
20
|
-
if (
|
|
21
|
-
|
|
25
|
+
if (isCancel(result)) {
|
|
26
|
+
cancel("Deploy cancelled.");
|
|
22
27
|
process.exit(0);
|
|
23
28
|
}
|
|
24
29
|
return result;
|
|
25
30
|
}
|
|
26
31
|
async function promptProjectSelection(projects, message = "Select a project:", root = process.cwd(), options = {}) {
|
|
27
|
-
const result = await
|
|
32
|
+
const result = await select({
|
|
28
33
|
message,
|
|
29
34
|
options: [...options.includeCreate === false ? [] : [{
|
|
30
35
|
value: "__create__",
|
|
@@ -34,16 +39,16 @@ async function promptProjectSelection(projects, message = "Select a project:", r
|
|
|
34
39
|
label: `${p.slug} (${p.slug}.${getSiteDomain(root)})`
|
|
35
40
|
}))]
|
|
36
41
|
});
|
|
37
|
-
if (
|
|
38
|
-
|
|
42
|
+
if (isCancel(result)) {
|
|
43
|
+
cancel("Deploy cancelled.");
|
|
39
44
|
process.exit(0);
|
|
40
45
|
}
|
|
41
46
|
if (result === "__create__") return { action: "create" };
|
|
42
47
|
const project = projects.find((p) => p.id === result);
|
|
43
48
|
if (options.confirmExisting) {
|
|
44
|
-
const confirmed = await
|
|
45
|
-
if (
|
|
46
|
-
|
|
49
|
+
const confirmed = await confirm({ message: `Linking to an existing project. Running \`void deploy\` will overwrite the current deployment of ${project.slug}.${getSiteDomain(root)}. Continue?` });
|
|
50
|
+
if (isCancel(confirmed) || !confirmed) {
|
|
51
|
+
cancel("Project link cancelled.");
|
|
47
52
|
process.exit(0);
|
|
48
53
|
}
|
|
49
54
|
}
|
|
@@ -53,14 +58,14 @@ async function promptProjectSelection(projects, message = "Select a project:", r
|
|
|
53
58
|
};
|
|
54
59
|
}
|
|
55
60
|
async function promptProjectSlug(defaultSlug) {
|
|
56
|
-
const result = await
|
|
61
|
+
const result = await text({
|
|
57
62
|
message: "Choose a slug for your new Void project:",
|
|
58
63
|
placeholder: "my-app",
|
|
59
64
|
initialValue: defaultSlug,
|
|
60
65
|
validate: validateProjectSlug
|
|
61
66
|
});
|
|
62
|
-
if (
|
|
63
|
-
|
|
67
|
+
if (isCancel(result)) {
|
|
68
|
+
cancel("Deploy cancelled.");
|
|
64
69
|
process.exit(0);
|
|
65
70
|
}
|
|
66
71
|
return result.trim();
|
|
@@ -87,14 +92,14 @@ async function createProjectWithSlugRetry(client, initialDefaultSlug, promptSlug
|
|
|
87
92
|
const slug = await promptSlug(defaultSlug);
|
|
88
93
|
if (slug === void 0) return;
|
|
89
94
|
try {
|
|
90
|
-
|
|
95
|
+
log.step(`Creating project ${import_picocolors.default.blue(slug)}...`);
|
|
91
96
|
const project = await client.createProject(slug);
|
|
92
|
-
|
|
97
|
+
log.success(`Project created: ${import_picocolors.default.blue(project.slug)}`);
|
|
93
98
|
return project;
|
|
94
99
|
} catch (error) {
|
|
95
100
|
if (error instanceof PlatformApiError && isRetryableCreateError(error)) {
|
|
96
101
|
const reason = error.code || error.body || `HTTP ${error.status}`;
|
|
97
|
-
|
|
102
|
+
log.error(`project: Could not create project '${slug}': ${reason}.`);
|
|
98
103
|
defaultSlug = slug;
|
|
99
104
|
continue;
|
|
100
105
|
}
|
|
@@ -121,4 +126,4 @@ function isSlugRelatedError(error) {
|
|
|
121
126
|
return `${error.code ?? ""} ${error.body ?? ""}`.toLowerCase().includes("slug");
|
|
122
127
|
}
|
|
123
128
|
//#endregion
|
|
124
|
-
export { promptProjectSetupAction as i, promptAndCreateProject as n, promptProjectSelection as r, create_project_exports as t };
|
|
129
|
+
export { project_slug_exports as a, promptProjectSetupAction as i, promptAndCreateProject as n, promptProjectSelection as r, create_project_exports as t };
|