void 0.21.0 → 0.21.1
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/{auth-cmd-MkBG2u1f.mjs → auth-cmd-g_ymMkUe.mjs} +2 -2
- package/dist/{auth-link-Devmv96E.mjs → auth-link-DFvxIyZi.mjs} +2 -2
- package/dist/{build-cmd-DsBGwtfs.mjs → build-cmd-wJAv808h.mjs} +1 -1
- package/dist/{cache-BMw8eMyF.mjs → cache-Be0Fu5Ka.mjs} +1 -1
- package/dist/{cancel-deploy-B3_s9NIN.mjs → cancel-deploy-BgmyOwhe.mjs} +1 -1
- package/dist/cli/cf-compat.mjs +13 -3
- package/dist/cli/cli.mjs +35 -35
- package/dist/{connect-BvC9kolB.mjs → connect-LnvW4HKx.mjs} +2 -2
- package/dist/{create-project-C9lQhRzj.mjs → create-project-BZBl_gQ0.mjs} +1 -1
- package/dist/{create-project-CI-17RVJ.mjs → create-project-JV9-6ICF.mjs} +1 -1
- package/dist/{db-R7IQgOv5.mjs → db-Mzv88E1C.mjs} +3 -3
- package/dist/{delete-CghI_NXn.mjs → delete-Ri6JemSU.mjs} +1 -1
- package/dist/{deploy-CYPymbtG.mjs → deploy-DAH2-m_-.mjs} +1 -1
- package/dist/{deploy-H968Lo4T.mjs → deploy-DEsMVrCY.mjs} +83 -46
- package/dist/{domain-CITt8lC-.mjs → domain-BA37Ye7T.mjs} +1 -1
- package/dist/{email-_8VmyX7V.mjs → email-C5NsxrQG.mjs} +2 -2
- package/dist/{env-DV4r3nHz.mjs → env-U_ohASB0.mjs} +1 -1
- package/dist/gen-B87rlalt.mjs +2 -0
- package/dist/{gen-CFOEEc-t.mjs → gen-pg-Ojg8Y.mjs} +1 -1
- package/dist/{github-cmd-jYjha2LO.mjs → github-cmd-DsrkweIl.mjs} +1 -1
- package/dist/help-B403BLBB.mjs +2 -0
- package/dist/{help-C46mnlUS.mjs → help-sBhFH6pi.mjs} +1 -1
- package/dist/index.mjs +3 -3
- package/dist/{init-CSXmvxKu.mjs → init-C--Yyj1b.mjs} +5 -5
- package/dist/{link-DxMOALXk.mjs → link-BC-mNG9-.mjs} +2 -2
- package/dist/{list-0wQs0oYg.mjs → list-DHU1Wj6c.mjs} +1 -1
- package/dist/login-BwiopVdg.mjs +2 -0
- package/dist/{login-CKk5NX4d.mjs → login-jKe_0QZL.mjs} +2 -2
- package/dist/{logs-hxWBSoej.mjs → logs-BG11f5PR.mjs} +1 -1
- package/dist/{migrate-DcW8F2W8.mjs → migrate-BV8qHiCb.mjs} +1 -1
- package/dist/migrate-BXY3B3m7.mjs +2 -0
- package/dist/{operator-cmd-BEUYhaHB.mjs → operator-cmd-BwAS2XZt.mjs} +3 -3
- package/dist/{output-urU86XeT.mjs → output-CCH48AMM.mjs} +4 -4
- package/dist/{platform-auth-config-Df6yVw-e.mjs → platform-auth-config-C-hv-_Ok.mjs} +2 -2
- package/dist/{platform-auth-protection-Jb0yftay.mjs → platform-auth-protection-DjTE5Hj-.mjs} +2 -2
- package/dist/{platform-auth-recovery-DmRyIfW0.mjs → platform-auth-recovery-Cr0r8TEb.mjs} +2 -2
- package/dist/{platform-cmd-DRxCOTwy.mjs → platform-cmd-0tEh2ZtA.mjs} +4 -4
- package/dist/{platform-cmd-C9Vt7m-d.mjs → platform-cmd-DE6dw45v.mjs} +1 -1
- package/dist/{platform-domain-IjiXgrXJ.mjs → platform-domain-B_7x6Iqx.mjs} +2 -2
- package/dist/{platform-lifecycle-CuJIZNvA.mjs → platform-lifecycle-Dhx9Pnub.mjs} +1 -1
- package/dist/{platform-lifecycle-BquAaU-5.mjs → platform-lifecycle-Di0LbhPM.mjs} +7 -7
- package/dist/{platform-management-Cgyed0WY.mjs → platform-management-B9LUtMt9.mjs} +1 -1
- package/dist/{platform-management-CCQKGsq4.mjs → platform-management-eaiaU3uM.mjs} +2 -2
- package/dist/{platform-recovery-DS8ih1SW.mjs → platform-recovery-BxfA8E5C.mjs} +2 -2
- package/dist/{prepare-CaUxODOU.mjs → prepare-_T-Haxrr.mjs} +1 -1
- package/dist/{project-cmd-2lN--YAX.mjs → project-cmd-DrnRJdep.mjs} +13 -13
- package/dist/{project-team-Dapn9HZn.mjs → project-team-CzRbO_kA.mjs} +1 -1
- package/dist/{project-token-C90v9SJK.mjs → project-token-Bwxjf4y6.mjs} +1 -1
- package/dist/{requests-CzX46I0i.mjs → requests-DwrqUQZ8.mjs} +1 -1
- package/dist/{rollback-BEeyc73H.mjs → rollback-B4tFWmkN.mjs} +1 -1
- package/dist/{secret-wnTel5Yw.mjs → secret-UtrRjhEO.mjs} +1 -1
- package/dist/{subcommand-prompt-Gj3VzLIh.mjs → subcommand-prompt-BuGYkAkC.mjs} +1 -1
- package/package.json +7 -7
- package/skills/void/docs/guide/deployment.md +6 -13
- package/skills/void/docs/guide/email.md +53 -59
- package/skills/void/docs/guide/index.md +15 -41
- package/skills/void/docs/guide/quickstart.md +11 -78
- package/skills/void/docs/index.md +17 -17
- package/skills/void/docs/integrations/cloudflare.md +16 -23
- package/skills/void/docs/reference/cli.md +13 -7
- package/skills/void/docs/reference/config.md +6 -6
- package/dist/gen-BBiIZw6g.mjs +0 -2
- package/dist/help-CS_nAsWu.mjs +0 -2
- package/dist/login-Ch9cgWRF.mjs +0 -2
- package/dist/migrate-CLty4mZR.mjs +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as join } from "./dist-4WkAWhWx.mjs";
|
|
2
|
-
import { r as cliTitle } from "./output-
|
|
2
|
+
import { r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
3
3
|
import { c as getToken } from "./auth-B9_D6ygs.mjs";
|
|
4
4
|
import { i as readDeploymentPlatform, o as readProjectConfig } from "./project-CWNIPoXc.mjs";
|
|
5
5
|
import { r as generateEnvTypes, t as findEnvFile } from "./env-types-CWDtqHgw.mjs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as join, l as relative, n as dirname } from "./dist-4WkAWhWx.mjs";
|
|
2
|
-
import { r as cliTitle } from "./output-
|
|
2
|
+
import { r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
3
3
|
import { n as readProjectPaths } from "./project-paths-CKQ-Q5JS.mjs";
|
|
4
4
|
import { m as readConfig, u as getDatabaseDialect } from "./config-Dxr6cTXn.mjs";
|
|
5
5
|
import { n as ensureProjectTsconfig } from "./project-tsconfig-CwfqUnVp.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as import_picocolors } from "./output-
|
|
1
|
+
import { c as import_picocolors } from "./output-CCH48AMM.mjs";
|
|
2
2
|
import { c as getToken, d as openBrowser, n as createCodeChallenge, r as createCodeVerifier, t as awaitBrowserCallback } from "./auth-B9_D6ygs.mjs";
|
|
3
3
|
import { o as readProjectConfig } from "./project-CWNIPoXc.mjs";
|
|
4
4
|
import { B as text, E as confirm, I as select, T as cancel, W as isCancel, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as join } from "./dist-4WkAWhWx.mjs";
|
|
2
|
-
import { c as import_picocolors, l as sectionTitle, s as helpLine, t as categoryTitle } from "./output-
|
|
2
|
+
import { c as import_picocolors, l as sectionTitle, s as helpLine, t as categoryTitle } from "./output-CCH48AMM.mjs";
|
|
3
3
|
import { N as note, P as outro } from "./dist-Dn6nn2IU.mjs";
|
|
4
4
|
import { n as getPackageDir } from "./agents-gni4eqBu.mjs";
|
|
5
5
|
import { t as OPERATOR_MAX_TIMEOUT_MS } from "./operator-client-A0iex2yi.mjs";
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as __toESM } from "./rolldown-runtime-DXIUcv95.mjs";
|
|
2
2
|
import { a as join, l as relative, n as dirname, u as resolve } from "./dist-4WkAWhWx.mjs";
|
|
3
|
-
import { d as require_picocolors } from "./output-
|
|
4
|
-
import { B as resolveDistDir, Ct as resolveAssetRoutingPolicy, W as resolveWorkerDirName, at as generateQueueResolverSource, bt as hasApiRoutes, dt as hasRevalidate, ft as scanDurableObjectModules, lt as collectPages, ot as prerenderPages, pt as SEND_EMAIL_BINDING, st as prerenderPagesNode, ut as collectRevalidate, xt as hasDocumentRoutes } from "./deploy-
|
|
3
|
+
import { d as require_picocolors } from "./output-CCH48AMM.mjs";
|
|
4
|
+
import { B as resolveDistDir, Ct as resolveAssetRoutingPolicy, W as resolveWorkerDirName, at as generateQueueResolverSource, bt as hasApiRoutes, dt as hasRevalidate, ft as scanDurableObjectModules, lt as collectPages, ot as prerenderPages, pt as SEND_EMAIL_BINDING, st as prerenderPagesNode, ut as collectRevalidate, xt as hasDocumentRoutes } from "./deploy-DEsMVrCY.mjs";
|
|
5
5
|
import { i as resolveProjectPaths, n as readProjectPaths, t as assertNoRootSourceConventionConflicts } from "./project-paths-CKQ-Q5JS.mjs";
|
|
6
6
|
import { n as loadVoidAuthConfig, t as findVoidAuthConfig } from "./config-uP7ZDtVZ.mjs";
|
|
7
7
|
import { r as scopedAccessCredentials } from "./cf-access-DRsQRe6k.mjs";
|
|
@@ -5611,7 +5611,7 @@ async function runAiSetupPrompt(root, token, apiUrl, server) {
|
|
|
5611
5611
|
let slug;
|
|
5612
5612
|
if (result === "__create__") {
|
|
5613
5613
|
const { validateProjectSlug } = await import("./project-slug-DofjTFd-.mjs");
|
|
5614
|
-
const { createProjectWithSlugRetry } = await import("./create-project-
|
|
5614
|
+
const { createProjectWithSlugRetry } = await import("./create-project-JV9-6ICF.mjs");
|
|
5615
5615
|
let created;
|
|
5616
5616
|
try {
|
|
5617
5617
|
created = await createProjectWithSlugRetry(client, inferDefaultSlug(root), async (defaultSlug) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as join, i as isAbsolute, l as relative, n as dirname, t as basename, u as resolve } from "./dist-4WkAWhWx.mjs";
|
|
2
|
-
import { r as cliTitle } from "./output-
|
|
2
|
+
import { r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
3
3
|
import { n as readProjectPaths, o as TYPED_CONFIG_FILE } from "./project-paths-CKQ-Q5JS.mjs";
|
|
4
4
|
import { c as getToken, u as isStagingMode } from "./auth-B9_D6ygs.mjs";
|
|
5
5
|
import { d as writeProjectConfig, i as readDeploymentPlatform, l as writeDeploymentPlatform, o as readProjectConfig, t as attachSelectedPlatform } from "./project-CWNIPoXc.mjs";
|
|
@@ -15,10 +15,10 @@ import { n as getPackageDir, t as detectAgents } from "./agents-gni4eqBu.mjs";
|
|
|
15
15
|
import { n as PlatformClient } from "./client-PdAJ-F0t.mjs";
|
|
16
16
|
import { r as formatProjectCommand } from "./preset-Dowh9tTt.mjs";
|
|
17
17
|
import { n as writeVoidProjectConfig, t as canRewriteVoidProjectConfig } from "./config-write-y3CBI_ux.mjs";
|
|
18
|
-
import { i as migrateFrameworkAdapterPaths, t as migrateLegacyVoidConfig } from "./migrate-
|
|
19
|
-
import { i as promptProjectSelection, r as promptAndCreateProject } from "./create-project-
|
|
20
|
-
import { t as promptForLoginToken } from "./login-
|
|
21
|
-
import { i as saveDiscoveredPlatform, t as discoverPlatform } from "./platform-cmd-
|
|
18
|
+
import { i as migrateFrameworkAdapterPaths, t as migrateLegacyVoidConfig } from "./migrate-BV8qHiCb.mjs";
|
|
19
|
+
import { i as promptProjectSelection, r as promptAndCreateProject } from "./create-project-BZBl_gQ0.mjs";
|
|
20
|
+
import { t as promptForLoginToken } from "./login-jKe_0QZL.mjs";
|
|
21
|
+
import { i as saveDiscoveredPlatform, t as discoverPlatform } from "./platform-cmd-0tEh2ZtA.mjs";
|
|
22
22
|
import { t as connectCloudflare } from "./cloudflare-connect-DloREDlc.mjs";
|
|
23
23
|
import { n as findInstalledYarnPnpRuntime, r as hasLocalLockfile, t as buildDrizzleKitSpawnEnv } from "./yarn-pnp-CVEc3gE7.mjs";
|
|
24
24
|
import { createRequire } from "node:module";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { c as import_picocolors, r as cliTitle } from "./output-
|
|
1
|
+
import { c as import_picocolors, r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
2
2
|
import { c as getToken, s as getSiteDomain } from "./auth-B9_D6ygs.mjs";
|
|
3
3
|
import { d as writeProjectConfig, o as readProjectConfig, t as attachSelectedPlatform } from "./project-CWNIPoXc.mjs";
|
|
4
4
|
import { O as intro, P as outro, T as cancel, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
5
5
|
import { n as PlatformClient } from "./client-PdAJ-F0t.mjs";
|
|
6
|
-
import { i as promptProjectSelection, r as promptAndCreateProject } from "./create-project-
|
|
6
|
+
import { i as promptProjectSelection, r as promptAndCreateProject } from "./create-project-BZBl_gQ0.mjs";
|
|
7
7
|
import { r as resolveProjectBySlug } from "./resolve-project-Xvis70DG.mjs";
|
|
8
8
|
//#region src/cli/link.ts
|
|
9
9
|
function projectLabel(slug, root, url) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as dim, c as import_picocolors, o as ensureUtc, r as cliTitle, u as tablePrefix } from "./output-
|
|
1
|
+
import { a as dim, c as import_picocolors, o as ensureUtc, r as cliTitle, u as tablePrefix } from "./output-CCH48AMM.mjs";
|
|
2
2
|
import { c as getToken } from "./auth-B9_D6ygs.mjs";
|
|
3
3
|
import { i as readDeploymentPlatform, o as readProjectConfig } from "./project-CWNIPoXc.mjs";
|
|
4
4
|
import { O as intro, P as outro, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as import_picocolors, i as createSpinner, r as cliTitle } from "./output-
|
|
1
|
+
import { c as import_picocolors, i as createSpinner, r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
2
2
|
import { _ as saveToken, a as getApiUrl, c as getToken, g as savePlatformToken, h as runPlatformLogin, l as getTokenSource, m as runLogin, p as removeToken, u as isStagingMode } from "./auth-B9_D6ygs.mjs";
|
|
3
3
|
import { I as select, O as intro, P as outro, T as cancel, W as isCancel, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
4
4
|
import { i as isExpiredTokenError, n as PlatformClient } from "./client-PdAJ-F0t.mjs";
|
|
@@ -29,7 +29,7 @@ async function selectPlatformLoginMethod(platform, requestedId) {
|
|
|
29
29
|
return methods.find((method) => method.id === provider);
|
|
30
30
|
}
|
|
31
31
|
async function promptForLoginToken(root = process.cwd(), platform) {
|
|
32
|
-
const { id: provider, label: providerName } = await selectPlatformLoginMethod(platform ?? await import("./platform-cmd-
|
|
32
|
+
const { id: provider, label: providerName } = await selectPlatformLoginMethod(platform ?? await import("./platform-cmd-DE6dw45v.mjs").then(({ discoverPlatform }) => discoverPlatform(getApiUrl(root))));
|
|
33
33
|
const s = createSpinner();
|
|
34
34
|
s.start(`Opening browser for ${providerName} login...`);
|
|
35
35
|
try {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as dim, c as import_picocolors, r as cliTitle } from "./output-
|
|
1
|
+
import { a as dim, c as import_picocolors, r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
2
2
|
import { c as getToken } from "./auth-B9_D6ygs.mjs";
|
|
3
3
|
import { i as readDeploymentPlatform, o as readProjectConfig } from "./project-CWNIPoXc.mjs";
|
|
4
4
|
import { O as intro, P as outro, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as join, n as dirname } from "./dist-4WkAWhWx.mjs";
|
|
2
|
-
import { r as cliTitle } from "./output-
|
|
2
|
+
import { r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
3
3
|
import { o as TYPED_CONFIG_FILE, s as loadTypedVoidConfigFile } from "./project-paths-CKQ-Q5JS.mjs";
|
|
4
4
|
import { g as validateConfig } from "./config-Dxr6cTXn.mjs";
|
|
5
5
|
import { B as seedCloudflareConfig, I as VOID_LOCK_FILE, V as stashCloudflareDeployPointer } from "./wrangler-D01qs6VB.mjs";
|
|
@@ -137,8 +137,8 @@ async function runAuth(origin, args) {
|
|
|
137
137
|
if (args.action === "login" || args.action === "token" && args.tokenStdin) {
|
|
138
138
|
if (!args.tokenStdin && !process.stdin.isTTY) throw new OperatorClientError("Browser login requires an interactive terminal. Use --token-stdin to exchange an API session.", "interactive_login_required");
|
|
139
139
|
const apiToken = args.tokenStdin ? await readOperatorApiTokenStdin() : await (async () => {
|
|
140
|
-
const { discoverPlatform } = await import("./platform-cmd-
|
|
141
|
-
const { selectPlatformLoginMethod } = await import("./login-
|
|
140
|
+
const { discoverPlatform } = await import("./platform-cmd-DE6dw45v.mjs");
|
|
141
|
+
const { selectPlatformLoginMethod } = await import("./login-BwiopVdg.mjs");
|
|
142
142
|
const { runPlatformLogin } = await import("./auth-CAw7zHqj.mjs");
|
|
143
143
|
return runPlatformLogin(origin, (await selectPlatformLoginMethod(await discoverPlatform(origin), args.providerExplicit ? args.provider : void 0)).id, (url) => process.stderr.write(`Sign in at ${url}\n`));
|
|
144
144
|
})();
|
|
@@ -279,7 +279,7 @@ async function followOperatorLogs(client, args, signal, pollIntervalMs = 2e3) {
|
|
|
279
279
|
}
|
|
280
280
|
async function runOperatorCommand(args) {
|
|
281
281
|
if (!args.action) {
|
|
282
|
-
const { printHelpPage } = await import("./help-
|
|
282
|
+
const { printHelpPage } = await import("./help-B403BLBB.mjs");
|
|
283
283
|
printHelpPage(["platform", args.group]);
|
|
284
284
|
return;
|
|
285
285
|
}
|
|
@@ -78,13 +78,13 @@ function cliCommandName() {
|
|
|
78
78
|
return entryName === "void-dev" || entryName === "void-dev.cmd" ? "void-dev" : "void";
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
81
|
-
*
|
|
81
|
+
* Terminal-safe spinner wrapper. In CI and redirected output,
|
|
82
82
|
* `@clack/prompts` spinner emits DEC Private Mode cursor hide/show codes
|
|
83
83
|
* (`\x1b[?25l` / `\x1b[?25h`) that render as text artifacts. This wrapper
|
|
84
|
-
* replaces the spinner with plain log output
|
|
84
|
+
* replaces the spinner with plain log output.
|
|
85
85
|
*/
|
|
86
|
-
function createSpinner(options) {
|
|
87
|
-
if (!isCI()) return spinner(options);
|
|
86
|
+
function createSpinner(options, isTerminal = process.stdout.isTTY === true) {
|
|
87
|
+
if (!isCI() && isTerminal) return spinner(options);
|
|
88
88
|
let currentMessage = "";
|
|
89
89
|
return {
|
|
90
90
|
start(msg = "") {
|
|
@@ -140,11 +140,11 @@ async function configurationInput(args, existing) {
|
|
|
140
140
|
}
|
|
141
141
|
async function runPlatformAuthConfig(args) {
|
|
142
142
|
if (args.action === "recover") {
|
|
143
|
-
const { runPlatformAuthRecovery } = await import("./platform-auth-recovery-
|
|
143
|
+
const { runPlatformAuthRecovery } = await import("./platform-auth-recovery-Cr0r8TEb.mjs");
|
|
144
144
|
return runPlatformAuthRecovery(args);
|
|
145
145
|
}
|
|
146
146
|
if (args.action === "protection") {
|
|
147
|
-
const { runPlatformProtectionConfig } = await import("./platform-auth-protection-
|
|
147
|
+
const { runPlatformProtectionConfig } = await import("./platform-auth-protection-DjTE5Hj-.mjs");
|
|
148
148
|
return runPlatformProtectionConfig(args);
|
|
149
149
|
}
|
|
150
150
|
const origin = resolveOperatorOrigin(args.connection);
|
package/dist/{platform-auth-protection-Jb0yftay.mjs → platform-auth-protection-DjTE5Hj-.mjs}
RENAMED
|
@@ -4,8 +4,8 @@ import { n as ensurePlatformAccessToken } from "./cf-access-rAZxzMkL.mjs";
|
|
|
4
4
|
import { E as confirm, W as isCancel } from "./dist-Dn6nn2IU.mjs";
|
|
5
5
|
import { n as OperatorClient } from "./operator-client-A0iex2yi.mjs";
|
|
6
6
|
import { a as resolveOperatorOrigin, r as readOperatorToken } from "./operator-auth-BkVgJqv-.mjs";
|
|
7
|
-
import { D as preparePlatformAccessSetup, E as parsePlatformAccessSetupSpec, O as PlatformCloudflareClient, T as checkpointPlatformAccessResources, n as resolvePlatformInstallDatabaseUrl, o as acquirePlatformDatabaseLifecycleLock, w as resolvePlatformCloudflareCredential } from "./platform-lifecycle-
|
|
8
|
-
import { c as selectAuthoritativePlatformManifest, u as verifyPlatformInstallationOwnership } from "./platform-management-
|
|
7
|
+
import { D as preparePlatformAccessSetup, E as parsePlatformAccessSetupSpec, O as PlatformCloudflareClient, T as checkpointPlatformAccessResources, n as resolvePlatformInstallDatabaseUrl, o as acquirePlatformDatabaseLifecycleLock, w as resolvePlatformCloudflareCredential } from "./platform-lifecycle-Di0LbhPM.mjs";
|
|
8
|
+
import { c as selectAuthoritativePlatformManifest, u as verifyPlatformInstallationOwnership } from "./platform-management-eaiaU3uM.mjs";
|
|
9
9
|
import { createHmac } from "node:crypto";
|
|
10
10
|
import { parsePlatformAccessProtection, platformProtectionProofMessage } from "@void/platform";
|
|
11
11
|
import { readFile } from "node:fs/promises";
|
|
@@ -2,8 +2,8 @@ import { d as openBrowser } from "./auth-B9_D6ygs.mjs";
|
|
|
2
2
|
import { d as readInstallationRecoverySecrets, h as resolveInstallationManifest, t as acquirePlatformLifecycleLock } from "./platform-registry-BJbgZLS1.mjs";
|
|
3
3
|
import { E as confirm, W as isCancel } from "./dist-Dn6nn2IU.mjs";
|
|
4
4
|
import { a as resolveOperatorOrigin } from "./operator-auth-BkVgJqv-.mjs";
|
|
5
|
-
import { O as PlatformCloudflareClient, f as platformDatabaseClientUrl, n as resolvePlatformInstallDatabaseUrl, s as acquirePlatformDatabaseLifecycleLockConnection, w as resolvePlatformCloudflareCredential } from "./platform-lifecycle-
|
|
6
|
-
import { c as selectAuthoritativePlatformManifest, u as verifyPlatformInstallationOwnership } from "./platform-management-
|
|
5
|
+
import { O as PlatformCloudflareClient, f as platformDatabaseClientUrl, n as resolvePlatformInstallDatabaseUrl, s as acquirePlatformDatabaseLifecycleLockConnection, w as resolvePlatformCloudflareCredential } from "./platform-lifecycle-Di0LbhPM.mjs";
|
|
6
|
+
import { c as selectAuthoritativePlatformManifest, u as verifyPlatformInstallationOwnership } from "./platform-management-eaiaU3uM.mjs";
|
|
7
7
|
import { createCipheriv, createDecipheriv, createHash, createHmac, hkdfSync, randomBytes, randomUUID } from "node:crypto";
|
|
8
8
|
import { execFile } from "node:child_process";
|
|
9
9
|
import { parsePlatformAccessProtection, parsePlatformAdmissionPolicy, parsePlatformLoginConfiguration, platformAuthenticationRecoveryMessage, validatePlatformAdmissionPolicy } from "@void/platform";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as import_picocolors } from "./output-
|
|
1
|
+
import { c as import_picocolors } from "./output-CCH48AMM.mjs";
|
|
2
2
|
import { t as cfAccessHeaders } from "./cf-access-DRsQRe6k.mjs";
|
|
3
3
|
import { _ as selectPlatformConnection, g as savePlatformConnection, o as listPlatformConnections, r as getActivePlatformConnection, s as normalizePlatformApiUrl } from "./platform-registry-BJbgZLS1.mjs";
|
|
4
4
|
import { i as isCloudflareAccessChallenge, n as ensurePlatformAccessToken, t as ensureCloudflaredToken } from "./cf-access-rAZxzMkL.mjs";
|
|
@@ -92,12 +92,12 @@ function saveDiscoveredPlatform(discovery) {
|
|
|
92
92
|
}
|
|
93
93
|
async function runPlatformCommand(_root, args) {
|
|
94
94
|
if (args.subcommand === "config") {
|
|
95
|
-
const { runPlatformAuthConfig } = await import("./platform-auth-config-
|
|
95
|
+
const { runPlatformAuthConfig } = await import("./platform-auth-config-C-hv-_Ok.mjs");
|
|
96
96
|
await runPlatformAuthConfig(args);
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
99
99
|
if (args.subcommand === "operator") {
|
|
100
|
-
const { runOperatorCommand } = await import("./operator-cmd-
|
|
100
|
+
const { runOperatorCommand } = await import("./operator-cmd-BwAS2XZt.mjs");
|
|
101
101
|
await runOperatorCommand(args);
|
|
102
102
|
return;
|
|
103
103
|
}
|
|
@@ -129,7 +129,7 @@ async function runPlatformCommand(_root, args) {
|
|
|
129
129
|
console.log(`Capabilities: ${Object.entries(discovery.capabilities).filter(([, enabled]) => enabled).map(([name]) => name).join(", ")}`);
|
|
130
130
|
return;
|
|
131
131
|
}
|
|
132
|
-
const { runPlatformLifecycleCommand } = await import("./platform-lifecycle-
|
|
132
|
+
const { runPlatformLifecycleCommand } = await import("./platform-lifecycle-Dhx9Pnub.mjs");
|
|
133
133
|
await runPlatformLifecycleCommand(args);
|
|
134
134
|
}
|
|
135
135
|
//#endregion
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { r as runPlatformCommand, t as discoverPlatform } from "./platform-cmd-
|
|
1
|
+
import { r as runPlatformCommand, t as discoverPlatform } from "./platform-cmd-0tEh2ZtA.mjs";
|
|
2
2
|
export { discoverPlatform, runPlatformCommand };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as cfAccessHeaders } from "./cf-access-DRsQRe6k.mjs";
|
|
2
2
|
import { d as readInstallationRecoverySecrets, g as savePlatformConnection, t as acquirePlatformLifecycleLock, v as writeInstallationManifest } from "./platform-registry-BJbgZLS1.mjs";
|
|
3
3
|
import { B as text, E as confirm, N as note, W as isCancel, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
4
|
-
import { C as assertPlatformOperatorCredentialCanApplyPlan, O as PlatformCloudflareClient, _ as createPlatformInstallPlan, c as createPlatformHealthProbeToken, h as recordPlatformWorkerTraffic, n as resolvePlatformInstallDatabaseUrl, o as acquirePlatformDatabaseLifecycleLock, p as recordResource, t as assertNoninteractivePlatformMutationAcknowledged, w as resolvePlatformCloudflareCredential } from "./platform-lifecycle-
|
|
5
|
-
import { a as resolveInstalledPlatformManifest, c as selectAuthoritativePlatformManifest, u as verifyPlatformInstallationOwnership } from "./platform-management-
|
|
4
|
+
import { C as assertPlatformOperatorCredentialCanApplyPlan, O as PlatformCloudflareClient, _ as createPlatformInstallPlan, c as createPlatformHealthProbeToken, h as recordPlatformWorkerTraffic, n as resolvePlatformInstallDatabaseUrl, o as acquirePlatformDatabaseLifecycleLock, p as recordResource, t as assertNoninteractivePlatformMutationAcknowledged, w as resolvePlatformCloudflareCredential } from "./platform-lifecycle-Di0LbhPM.mjs";
|
|
5
|
+
import { a as resolveInstalledPlatformManifest, c as selectAuthoritativePlatformManifest, u as verifyPlatformInstallationOwnership } from "./platform-management-eaiaU3uM.mjs";
|
|
6
6
|
import { randomUUID } from "node:crypto";
|
|
7
7
|
import { PLATFORM_APPLICATION_KEY, PLATFORM_REMOTE_INSTALLATION_MANIFEST_KEY, createApplicationRoutes, createPlatformDeploymentManifest, normalizeApplicationDomain } from "@void/platform";
|
|
8
8
|
//#region src/cli/platform-domain.ts
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { r as runPlatformLifecycleCommand } from "./platform-lifecycle-
|
|
1
|
+
import { r as runPlatformLifecycleCommand } from "./platform-lifecycle-Di0LbhPM.mjs";
|
|
2
2
|
export { runPlatformLifecycleCommand };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __toESM } from "./rolldown-runtime-DXIUcv95.mjs";
|
|
2
2
|
import { a as join } from "./dist-4WkAWhWx.mjs";
|
|
3
|
-
import { c as import_picocolors$1, d as require_picocolors, i as createSpinner, n as cliCommandName, r as cliTitle } from "./output-
|
|
3
|
+
import { c as import_picocolors$1, d as require_picocolors, i as createSpinner, n as cliCommandName, r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
4
4
|
import { t as cfAccessHeaders } from "./cf-access-DRsQRe6k.mjs";
|
|
5
5
|
import { d as openBrowser } from "./auth-B9_D6ygs.mjs";
|
|
6
6
|
import { a as listInstallationManifests, d as readInstallationRecoverySecrets, f as readPendingInstallationSecrets, g as savePlatformConnection, h as resolveInstallationManifest, i as latestPlatformWorkerCutoverGeneration, l as platformWorkerSecretUpdateIntentState, n as assertPlatformInstallationSlugAvailable, s as normalizePlatformApiUrl, t as acquirePlatformLifecycleLock, u as promoteInstallationSecrets, v as writeInstallationManifest, y as writePendingInstallationSecrets } from "./platform-registry-BJbgZLS1.mjs";
|
|
@@ -1499,7 +1499,7 @@ async function verifyInstalledPlatformAccessProtection(input) {
|
|
|
1499
1499
|
}
|
|
1500
1500
|
const existingWorkers = input.plan.actions.filter((action) => action.kind === "worker" && action.action === "update").map((action) => action.name);
|
|
1501
1501
|
if (existingWorkers.length) {
|
|
1502
|
-
const { verifyProtectionWorkerOrigins } = await import("./platform-auth-protection-
|
|
1502
|
+
const { verifyProtectionWorkerOrigins } = await import("./platform-auth-protection-DjTE5Hj-.mjs");
|
|
1503
1503
|
await verifyProtectionWorkerOrigins({
|
|
1504
1504
|
request: input.client.request.bind(input.client),
|
|
1505
1505
|
listWorkerDomains: input.client.listWorkerDomains.bind(input.client),
|
|
@@ -5532,14 +5532,14 @@ function resolvePlatformInstallDatabaseUrl(checkpoint, manifest = null) {
|
|
|
5532
5532
|
}
|
|
5533
5533
|
async function runPlatformLifecycleCommand(args) {
|
|
5534
5534
|
if (args.subcommand === "domain") {
|
|
5535
|
-
const { runPlatformDomainCommand } = await import("./platform-domain-
|
|
5535
|
+
const { runPlatformDomainCommand } = await import("./platform-domain-B_7x6Iqx.mjs");
|
|
5536
5536
|
await runPlatformDomainCommand(args);
|
|
5537
5537
|
return;
|
|
5538
5538
|
}
|
|
5539
5539
|
if (args.subcommand === "discover") {
|
|
5540
5540
|
const client = new PlatformCloudflareClient((await resolvePlatformCloudflareCredential()).token);
|
|
5541
5541
|
const accountId = await selectAccount(await readAccounts(client), args.account);
|
|
5542
|
-
const { recoverPlatformInstallations } = await import("./platform-recovery-
|
|
5542
|
+
const { recoverPlatformInstallations } = await import("./platform-recovery-BxfA8E5C.mjs");
|
|
5543
5543
|
const recovered = await recoverPlatformInstallations(client, accountId, void 0, args.selector);
|
|
5544
5544
|
if (recovered.length === 0) {
|
|
5545
5545
|
log.info(`No recoverable Void platform installations were found in ${accountId}.`);
|
|
@@ -5549,7 +5549,7 @@ async function runPlatformLifecycleCommand(args) {
|
|
|
5549
5549
|
return;
|
|
5550
5550
|
}
|
|
5551
5551
|
if (args.subcommand !== "install") {
|
|
5552
|
-
const { runInstalledPlatformCommand } = await import("./platform-management-
|
|
5552
|
+
const { runInstalledPlatformCommand } = await import("./platform-management-B9LUtMt9.mjs");
|
|
5553
5553
|
await runInstalledPlatformCommand(args);
|
|
5554
5554
|
return;
|
|
5555
5555
|
}
|
|
@@ -5761,7 +5761,7 @@ async function runPlatformLifecycleCommand(args) {
|
|
|
5761
5761
|
progress?.stop("Read the saved installation.");
|
|
5762
5762
|
progress = void 0;
|
|
5763
5763
|
if (authoritative) {
|
|
5764
|
-
const { selectAuthoritativePlatformManifest } = await import("./platform-management-
|
|
5764
|
+
const { selectAuthoritativePlatformManifest } = await import("./platform-management-B9LUtMt9.mjs");
|
|
5765
5765
|
const selected = selectAuthoritativePlatformManifest(existing, authoritative);
|
|
5766
5766
|
authoritativeProvisionIntents = true;
|
|
5767
5767
|
if (!args.plan && JSON.stringify(selected) !== JSON.stringify(existing)) writeInstallationManifest(selected);
|
|
@@ -5990,7 +5990,7 @@ async function runPlatformLifecycleCommand(args) {
|
|
|
5990
5990
|
})).actions.filter((action) => action.kind === "worker"),
|
|
5991
5991
|
revalidateBeforeWorkerDeploy: (manifest, action) => revalidatePlatformInstallAction(client, plan, manifest, action),
|
|
5992
5992
|
verifyExistingOwnership: async (manifest, databaseCheckpointExists) => {
|
|
5993
|
-
const { verifyPlatformInstallationOwnership } = await import("./platform-management-
|
|
5993
|
+
const { verifyPlatformInstallationOwnership } = await import("./platform-management-B9LUtMt9.mjs");
|
|
5994
5994
|
const retainedReplacementKeys = new Set(plan.actions.filter((action) => {
|
|
5995
5995
|
const previous = manifest.resources.find((resource) => resource.key === action.key);
|
|
5996
5996
|
return action.action === "create" && previous && previous.name !== action.name;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { c as selectAuthoritativePlatformManifest, s as runInstalledPlatformCommand, u as verifyPlatformInstallationOwnership } from "./platform-management-
|
|
1
|
+
import { c as selectAuthoritativePlatformManifest, s as runInstalledPlatformCommand, u as verifyPlatformInstallationOwnership } from "./platform-management-eaiaU3uM.mjs";
|
|
2
2
|
export { runInstalledPlatformCommand, selectAuthoritativePlatformManifest, verifyPlatformInstallationOwnership };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { i as createSpinner } from "./output-
|
|
1
|
+
import { i as createSpinner } from "./output-CCH48AMM.mjs";
|
|
2
2
|
import { a as listInstallationManifests, d as readInstallationRecoverySecrets, h as resolveInstallationManifest, m as removePlatformConnectionForInstallation, p as removeInstallationRecoverySecrets, t as acquirePlatformLifecycleLock, v as writeInstallationManifest } from "./platform-registry-BJbgZLS1.mjs";
|
|
3
3
|
import { E as confirm, I as select, N as note, P as outro, W as isCancel, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
4
|
-
import { A as hyperdriveOriginFromConnectionString, C as assertPlatformOperatorCredentialCanApplyPlan, M as verifyPlatformRuntimeTokenPermissions, O as PlatformCloudflareClient, S as platformDatabaseNameFromOwnerUrl, _ as createPlatformInstallPlan, a as REMOTE_INSTALLATION_MANIFEST_KEY, b as platformProvisionIntentHash, d as loadPlatformRuntime, g as trackedPlatformWorkerTraffic, j as hyperdriveOriginMatches, k as hyperdriveOriginConfigHash, l as createPlatformInstallationSecrets, m as resolveBootstrapGitHubId, n as resolvePlatformInstallDatabaseUrl, o as acquirePlatformDatabaseLifecycleLock, t as assertNoninteractivePlatformMutationAcknowledged, u as installPlatform, v as formatPlatformInstallPlan, w as resolvePlatformCloudflareCredential, x as revalidatePlatformInstallAction, y as platformAdoptionIntentHash } from "./platform-lifecycle-
|
|
4
|
+
import { A as hyperdriveOriginFromConnectionString, C as assertPlatformOperatorCredentialCanApplyPlan, M as verifyPlatformRuntimeTokenPermissions, O as PlatformCloudflareClient, S as platformDatabaseNameFromOwnerUrl, _ as createPlatformInstallPlan, a as REMOTE_INSTALLATION_MANIFEST_KEY, b as platformProvisionIntentHash, d as loadPlatformRuntime, g as trackedPlatformWorkerTraffic, j as hyperdriveOriginMatches, k as hyperdriveOriginConfigHash, l as createPlatformInstallationSecrets, m as resolveBootstrapGitHubId, n as resolvePlatformInstallDatabaseUrl, o as acquirePlatformDatabaseLifecycleLock, t as assertNoninteractivePlatformMutationAcknowledged, u as installPlatform, v as formatPlatformInstallPlan, w as resolvePlatformCloudflareCredential, x as revalidatePlatformInstallAction, y as platformAdoptionIntentHash } from "./platform-lifecycle-Di0LbhPM.mjs";
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
6
|
import { PLATFORM_DISABLED_KEY, PLATFORM_DISABLED_VALUE, PLATFORM_R2_OWNERSHIP_MARKER_KEY, createPlatformResourceOwnershipMarker, parsePlatformInstallationManifest, parsePlatformResourceOwnershipMarker, recordInstallationResource, recordInstallationStep, setInstallationDesiredState, transitionInstallation } from "@void/platform";
|
|
7
7
|
//#region src/cli/platform-management.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as cfAccessHeaders } from "./cf-access-DRsQRe6k.mjs";
|
|
2
2
|
import { a as listInstallationManifests, g as savePlatformConnection, t as acquirePlatformLifecycleLock, v as writeInstallationManifest } from "./platform-registry-BJbgZLS1.mjs";
|
|
3
|
-
import { _ as createPlatformInstallPlan, a as REMOTE_INSTALLATION_MANIFEST_KEY } from "./platform-lifecycle-
|
|
4
|
-
import { i as recoverDurablyMarkedProvisionIntents, r as isPlatformManifestMonotonicExtension, u as verifyPlatformInstallationOwnership } from "./platform-management-
|
|
3
|
+
import { _ as createPlatformInstallPlan, a as REMOTE_INSTALLATION_MANIFEST_KEY } from "./platform-lifecycle-Di0LbhPM.mjs";
|
|
4
|
+
import { i as recoverDurablyMarkedProvisionIntents, r as isPlatformManifestMonotonicExtension, u as verifyPlatformInstallationOwnership } from "./platform-management-eaiaU3uM.mjs";
|
|
5
5
|
import { parsePlatformInstallationManifest, setInstallationEndpoints } from "@void/platform";
|
|
6
6
|
//#region src/cli/platform-recovery.ts
|
|
7
7
|
async function recoverPlatformInstallations(client, accountId, verifyEndpoint = verifyInstallationEndpoint, selector = "") {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as cliTitle } from "./output-
|
|
1
|
+
import { r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
2
2
|
import { N as note, O as intro, P as outro, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
3
3
|
import { t as prepareProject } from "./prepare-pcWcxSCh.mjs";
|
|
4
4
|
//#region src/cli/prepare.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as dim, c as import_picocolors, r as cliTitle, u as tablePrefix } from "./output-
|
|
1
|
+
import { a as dim, c as import_picocolors, r as cliTitle, u as tablePrefix } from "./output-CCH48AMM.mjs";
|
|
2
2
|
import { c as getToken, s as getSiteDomain } from "./auth-B9_D6ygs.mjs";
|
|
3
3
|
import { i as readDeploymentPlatform } from "./project-CWNIPoXc.mjs";
|
|
4
4
|
import { O as intro, P as outro, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
@@ -39,63 +39,63 @@ async function runProjectsCommand(root) {
|
|
|
39
39
|
async function runProjectCommand(root, args) {
|
|
40
40
|
const cloudflare = readDeploymentPlatform(root) === "cloudflare";
|
|
41
41
|
if (args.subcommand === "status") {
|
|
42
|
-
const { runListCommand } = await import("./list-
|
|
42
|
+
const { runListCommand } = await import("./list-DHU1Wj6c.mjs");
|
|
43
43
|
return runListCommand(root, args.name || void 0);
|
|
44
44
|
}
|
|
45
45
|
if (args.subcommand === "link") {
|
|
46
46
|
if (cloudflare) throw new Error("project: Direct Cloudflare apps are identified by cloudflare.name in void.config.ts and do not need linking.");
|
|
47
|
-
const { runLink } = await import("./link-
|
|
47
|
+
const { runLink } = await import("./link-BC-mNG9-.mjs");
|
|
48
48
|
return runLink(root, args.name || void 0);
|
|
49
49
|
}
|
|
50
50
|
if (args.subcommand === "list") {
|
|
51
51
|
if (cloudflare) {
|
|
52
|
-
const { runListCommand } = await import("./list-
|
|
52
|
+
const { runListCommand } = await import("./list-DHU1Wj6c.mjs");
|
|
53
53
|
return runListCommand(root);
|
|
54
54
|
}
|
|
55
55
|
return runProjectsCommand(root);
|
|
56
56
|
}
|
|
57
57
|
if (args.subcommand === "token") {
|
|
58
58
|
if (cloudflare) throw new Error("project: CI deploy credentials are available only for Void platform projects.");
|
|
59
|
-
const { runProjectTokenCommand } = await import("./project-token-
|
|
59
|
+
const { runProjectTokenCommand } = await import("./project-token-Bwxjf4y6.mjs");
|
|
60
60
|
return runProjectTokenCommand(root, args);
|
|
61
61
|
}
|
|
62
62
|
if (args.subcommand === "team") {
|
|
63
63
|
if (args.action === "") {
|
|
64
|
-
const { printHelpPage } = await import("./help-
|
|
64
|
+
const { printHelpPage } = await import("./help-B403BLBB.mjs");
|
|
65
65
|
printHelpPage(["project", "team"]);
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
68
|
const accountInvitationAction = args.action === "pending" || args.action === "accept" || args.action === "decline";
|
|
69
69
|
if (cloudflare && !accountInvitationAction) throw new Error("project: Teams are available only for projects hosted on a Void platform, not direct Cloudflare deployments.");
|
|
70
|
-
const { runProjectTeamCommand } = await import("./project-team-
|
|
70
|
+
const { runProjectTeamCommand } = await import("./project-team-CzRbO_kA.mjs");
|
|
71
71
|
return runProjectTeamCommand(root, args);
|
|
72
72
|
}
|
|
73
73
|
if (args.subcommand === "logs") {
|
|
74
|
-
const { runLogsCommand } = await import("./logs-
|
|
74
|
+
const { runLogsCommand } = await import("./logs-BG11f5PR.mjs");
|
|
75
75
|
return runLogsCommand(root, args.filter, args.range, args.deployment || void 0, args.level || void 0);
|
|
76
76
|
}
|
|
77
77
|
if (args.subcommand === "requests") {
|
|
78
78
|
if (cloudflare) throw new Error("project: Historical request analytics require the Void platform. Use `void project logs` for a live Cloudflare tail.");
|
|
79
|
-
const { runRequestsCommand } = await import("./requests-
|
|
79
|
+
const { runRequestsCommand } = await import("./requests-DwrqUQZ8.mjs");
|
|
80
80
|
return runRequestsCommand(root, args.range, args.status || void 0);
|
|
81
81
|
}
|
|
82
82
|
if (args.subcommand === "rollback") {
|
|
83
|
-
const { runRollbackCommand } = await import("./rollback-
|
|
83
|
+
const { runRollbackCommand } = await import("./rollback-B4tFWmkN.mjs");
|
|
84
84
|
return runRollbackCommand(root, args.deployId || void 0);
|
|
85
85
|
}
|
|
86
86
|
if (args.subcommand === "cancel") {
|
|
87
87
|
if (cloudflare) throw new Error("project: Direct Cloudflare deploys activate only after readiness succeeds, so there is no remote build to cancel.");
|
|
88
|
-
const { runCancelDeployCommand } = await import("./cancel-deploy-
|
|
88
|
+
const { runCancelDeployCommand } = await import("./cancel-deploy-BgmyOwhe.mjs");
|
|
89
89
|
return runCancelDeployCommand(root, args.deployId || void 0);
|
|
90
90
|
}
|
|
91
91
|
if (args.subcommand === "delete") {
|
|
92
92
|
if (cloudflare) throw new Error("project: Refusing to delete Cloudflare resources through this command. Direct deployments are additive and existing resources may be shared.");
|
|
93
|
-
const { runDeleteCommand } = await import("./delete-
|
|
93
|
+
const { runDeleteCommand } = await import("./delete-Ri6JemSU.mjs");
|
|
94
94
|
return runDeleteCommand(root, args.name || void 0, { force: args.force });
|
|
95
95
|
}
|
|
96
96
|
if (args.subcommand === "purge-cache") {
|
|
97
97
|
if (cloudflare) throw new Error("project: Direct Cloudflare ISR cache purge is not available yet; redeploy or purge the configured KV namespace explicitly.");
|
|
98
|
-
const { runPurgeCacheCommand } = await import("./cache-
|
|
98
|
+
const { runPurgeCacheCommand } = await import("./cache-Be0Fu5Ka.mjs");
|
|
99
99
|
return runPurgeCacheCommand(root, args.projectSlug || void 0);
|
|
100
100
|
}
|
|
101
101
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as cliTitle } from "./output-
|
|
1
|
+
import { r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
2
2
|
import { c as getToken, i as getAccountCredential } from "./auth-B9_D6ygs.mjs";
|
|
3
3
|
import { o as readProjectConfig } from "./project-CWNIPoXc.mjs";
|
|
4
4
|
import { N as note, O as intro, P as outro, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as dim, r as cliTitle, u as tablePrefix } from "./output-
|
|
1
|
+
import { a as dim, r as cliTitle, u as tablePrefix } from "./output-CCH48AMM.mjs";
|
|
2
2
|
import { c as getToken } from "./auth-B9_D6ygs.mjs";
|
|
3
3
|
import { o as readProjectConfig } from "./project-CWNIPoXc.mjs";
|
|
4
4
|
import { O as intro, P as outro, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as dim, c as import_picocolors, r as cliTitle } from "./output-
|
|
1
|
+
import { a as dim, c as import_picocolors, r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
2
2
|
import { c as getToken } from "./auth-B9_D6ygs.mjs";
|
|
3
3
|
import { o as readProjectConfig } from "./project-CWNIPoXc.mjs";
|
|
4
4
|
import { O as intro, P as outro, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as dim, c as import_picocolors, i as createSpinner, o as ensureUtc, r as cliTitle } from "./output-
|
|
1
|
+
import { a as dim, c as import_picocolors, i as createSpinner, o as ensureUtc, r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
2
2
|
import { c as getToken } from "./auth-B9_D6ygs.mjs";
|
|
3
3
|
import { i as readDeploymentPlatform, o as readProjectConfig } from "./project-CWNIPoXc.mjs";
|
|
4
4
|
import { E as confirm, I as select, O as intro, P as outro, T as cancel, W as isCancel, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as cliTitle } from "./output-
|
|
1
|
+
import { r as cliTitle } from "./output-CCH48AMM.mjs";
|
|
2
2
|
import { c as getToken } from "./auth-B9_D6ygs.mjs";
|
|
3
3
|
import { i as readDeploymentPlatform, o as readProjectConfig } from "./project-CWNIPoXc.mjs";
|
|
4
4
|
import { _ as validateSecretValues } from "./env-validation-BsFEXps5.mjs";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as import_picocolors } from "./output-
|
|
1
|
+
import { c as import_picocolors } from "./output-CCH48AMM.mjs";
|
|
2
2
|
import { S as S_STEP_SUBMIT, _ as S_RADIO_ACTIVE, c as S_CHECKBOX_INACTIVE, i as S_BAR_END, q as wrapAnsi, r as S_BAR, s as S_CHECKBOX_ACTIVE, v as S_RADIO_INACTIVE, y as S_STEP_ACTIVE } from "./dist-Dn6nn2IU.mjs";
|
|
3
3
|
//#region src/cli/subcommand-prompt.ts
|
|
4
4
|
function promptSubcommand(command, subcommands) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "void",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/voidzero-dev/void.git",
|
|
@@ -325,11 +325,11 @@
|
|
|
325
325
|
"@cloudflare/vite-plugin": "1.54.7",
|
|
326
326
|
"@cloudflare/workers-types": "^4.20260702.1",
|
|
327
327
|
"@napi-rs/keyring": "2.0.0",
|
|
328
|
-
"@void/deploy-cloudflare": "0.21.
|
|
329
|
-
"@void/deploy-core": "0.21.
|
|
330
|
-
"@void/edge": "0.21.
|
|
331
|
-
"@void/isr": "0.21.
|
|
332
|
-
"@void/platform": "0.21.
|
|
328
|
+
"@void/deploy-cloudflare": "0.21.1",
|
|
329
|
+
"@void/deploy-core": "0.21.1",
|
|
330
|
+
"@void/edge": "0.21.1",
|
|
331
|
+
"@void/isr": "0.21.1",
|
|
332
|
+
"@void/platform": "0.21.1",
|
|
333
333
|
"acorn": "^8.15.0",
|
|
334
334
|
"better-auth": "^1.7.3",
|
|
335
335
|
"better-sqlite3": "^13.0.3",
|
|
@@ -379,7 +379,7 @@
|
|
|
379
379
|
"zod": "^4.6.1"
|
|
380
380
|
},
|
|
381
381
|
"peerDependencies": {
|
|
382
|
-
"@void/md": "0.21.
|
|
382
|
+
"@void/md": "0.21.1",
|
|
383
383
|
"arktype": ">=2.0.0",
|
|
384
384
|
"valibot": ">=1.0.0-beta.7",
|
|
385
385
|
"vite": "^8.0.0",
|
|
@@ -4,15 +4,13 @@ outline: deep
|
|
|
4
4
|
|
|
5
5
|
# Deployment
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
`void deploy` builds your app, provisions its resources, applies migrations, and deploys it to your own Cloudflare account or a Void platform run by your team.
|
|
8
8
|
|
|
9
|
-
Choose Cloudflare
|
|
9
|
+
Choose Cloudflare for your own account or Void for a shared team platform. You can [install a Void platform](./self-hosted-platform.md) in your team's Cloudflare account.
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Deployment Targets
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
Void platform provides that deployment service to a team using the operator's
|
|
15
|
-
account. Both use the same application APIs, with the following differences:
|
|
13
|
+
Both targets use the same application APIs. Their deployment features differ:
|
|
16
14
|
|
|
17
15
|
| Feature | Direct Cloudflare | Core self-hosted platform |
|
|
18
16
|
| ------------------------------------------------ | -------------------------------- | --------------------------------------------- |
|
|
@@ -28,14 +26,9 @@ account. Both use the same application APIs, with the following differences:
|
|
|
28
26
|
| Generated GitHub deployment workflow | Supported | Use your CI with a scoped developer token |
|
|
29
27
|
| User dashboard and managed GitHub builds | Not required | Not included in a standard installation |
|
|
30
28
|
|
|
31
|
-
|
|
32
|
-
quotas. Installing a team platform requires Workers for Platforms and the
|
|
33
|
-
[documented infrastructure](./platform/installation/domains.md#cloudflare-footprint).
|
|
34
|
-
Application rollback never reverses database migrations.
|
|
29
|
+
Native apps can run on Workers Free within its quotas. A team platform requires Workers for Platforms and the [documented infrastructure](./platform/installation/domains.md#cloudflare-footprint). Rollback does not reverse database migrations.
|
|
35
30
|
|
|
36
|
-
|
|
37
|
-
Framework-owned Worker output uses its framework's routing and asset policy;
|
|
38
|
-
unsupported Void routing rules are rejected before direct deployment.
|
|
31
|
+
Native Void apps and static sites use Void routing rules. Framework deployments use their framework's routing and asset policies; direct deploy rejects unsupported Void rules.
|
|
39
32
|
|
|
40
33
|
Use matching CLI and framework adapter versions. For a team platform, the available features depend on its installed version and configuration. Ask your administrator if a feature is unavailable or an upgrade is required.
|
|
41
34
|
|