void 0.21.0 → 0.21.2
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/README.md +3 -2
- package/dist/{auth-cmd-MkBG2u1f.mjs → account-cmd-D8OC-U7y.mjs} +8 -8
- package/dist/{auth-link-Devmv96E.mjs → auth-link-BYFeMJAp.mjs} +3 -3
- package/dist/auth-router-OHZNmrb_.mjs +74 -0
- package/dist/{build-cmd-DsBGwtfs.mjs → build-cmd-Bft7EY51.mjs} +2 -2
- package/dist/{cache-BMw8eMyF.mjs → cache-CKV1Gz2w.mjs} +2 -2
- package/dist/{cancel-deploy-B3_s9NIN.mjs → cancel-deploy-BAKmkX4f.mjs} +2 -2
- package/dist/cli/cf-compat.mjs +13 -3
- package/dist/cli/cli.mjs +112 -60
- package/dist/{connect-BvC9kolB.mjs → connect-DLx1pRYk.mjs} +3 -3
- 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-B98_UV4H.mjs} +8 -8
- package/dist/{delete-CghI_NXn.mjs → delete-BEEyqlwd.mjs} +2 -2
- package/dist/{deploy-H968Lo4T.mjs → deploy-Bsymb0_c.mjs} +85 -48
- package/dist/{deploy-CYPymbtG.mjs → deploy-CsjbRNyv.mjs} +1 -1
- package/dist/{domain-CITt8lC-.mjs → domain-Av2AkLQP.mjs} +2 -2
- package/dist/{email-_8VmyX7V.mjs → email-CUqa6TtH.mjs} +3 -3
- package/dist/{env-DV4r3nHz.mjs → env-D4RIGEzz.mjs} +2 -2
- 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-BEK4VprE.mjs} +4 -4
- package/dist/{help-C46mnlUS.mjs → help-iQOt7WHk.mjs} +40 -9
- package/dist/help-r_vrpH_d.mjs +2 -0
- package/dist/index.mjs +5 -5
- package/dist/{init-CSXmvxKu.mjs → init-D5niUPAz.mjs} +5 -5
- package/dist/{link-DxMOALXk.mjs → link-3lGrfXzd.mjs} +3 -3
- package/dist/{list-0wQs0oYg.mjs → list-CVjGr_C6.mjs} +2 -2
- package/dist/{login-CKk5NX4d.mjs → login-BgQJzxAl.mjs} +3 -3
- package/dist/login-Bz0zEPoy.mjs +2 -0
- package/dist/{logs-hxWBSoej.mjs → logs-DbzD-QDf.mjs} +2 -2
- 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-CR6Lxzt0.mjs} +3 -3
- package/dist/{output-urU86XeT.mjs → output-CCH48AMM.mjs} +4 -4
- package/dist/{platform-auth-config-Df6yVw-e.mjs → platform-auth-config-De7BqRJm.mjs} +2 -2
- package/dist/{platform-auth-protection-Jb0yftay.mjs → platform-auth-protection-Dcat-6zu.mjs} +2 -2
- package/dist/{platform-auth-recovery-DmRyIfW0.mjs → platform-auth-recovery-C9gsM640.mjs} +2 -2
- package/dist/{platform-cmd-C9Vt7m-d.mjs → platform-cmd-Cl9Uhzru.mjs} +1 -1
- package/dist/{platform-cmd-DRxCOTwy.mjs → platform-cmd-CudokNIg.mjs} +4 -4
- package/dist/{platform-domain-IjiXgrXJ.mjs → platform-domain-Ckpd2kXw.mjs} +2 -2
- package/dist/{platform-lifecycle-BquAaU-5.mjs → platform-lifecycle-DVzM2T4j.mjs} +8 -8
- package/dist/{platform-lifecycle-CuJIZNvA.mjs → platform-lifecycle-DlpiGcjr.mjs} +1 -1
- package/dist/{platform-management-Cgyed0WY.mjs → platform-management-44Bxd3YC.mjs} +1 -1
- package/dist/{platform-management-CCQKGsq4.mjs → platform-management-ibuS1as0.mjs} +2 -2
- package/dist/{platform-recovery-DS8ih1SW.mjs → platform-recovery-D_KmvdSk.mjs} +2 -2
- package/dist/{prepare-CaUxODOU.mjs → prepare-_T-Haxrr.mjs} +1 -1
- package/dist/{project-cmd-2lN--YAX.mjs → project-cmd-BuF9doku.mjs} +14 -14
- package/dist/{project-team-Dapn9HZn.mjs → project-team-B1Tia8vd.mjs} +3 -3
- package/dist/{project-token-C90v9SJK.mjs → project-token-Bwxjf4y6.mjs} +1 -1
- package/dist/{requests-CzX46I0i.mjs → requests-CphRF98D.mjs} +2 -2
- package/dist/{rollback-BEeyc73H.mjs → rollback-BYHJV2yD.mjs} +2 -2
- package/dist/{secret-wnTel5Yw.mjs → secret-Rt9c4Ttw.mjs} +2 -2
- package/dist/{subcommand-prompt-Gj3VzLIh.mjs → subcommand-prompt-BuGYkAkC.mjs} +1 -1
- package/package.json +7 -7
- package/skills/migrate-vite-cloudflare-to-void/SKILL.md +1 -1
- package/skills/void/SKILL.md +4 -2
- 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/platform/administration/access.md +1 -1
- package/skills/void/docs/guide/project-collaboration.md +1 -1
- 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 +38 -17
- package/skills/void/docs/reference/config.md +7 -7
- 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
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ for every command.
|
|
|
11
11
|
|
|
12
12
|
Use `void platform config auth` to manage login methods and company signup.
|
|
13
13
|
Cloudflare Access protection has separate create/connect controls. Users can
|
|
14
|
-
link another enabled login to their account with `void
|
|
14
|
+
link another enabled login to their account with `void account link`.
|
|
15
15
|
|
|
16
16
|
## What It Covers
|
|
17
17
|
|
|
@@ -57,7 +57,8 @@ export default defineConfig({
|
|
|
57
57
|
|
|
58
58
|
- `voidPlugin()` — Vite integration, routing, pages mode, codegen, migrations, packaging
|
|
59
59
|
- `void prepare` — generate `.void` artifacts for CI, editors, and fresh clones
|
|
60
|
-
- `void auth login` —
|
|
60
|
+
- `void auth login` — sign in to the project's saved Cloudflare or Void destination
|
|
61
|
+
- `void account login` — platform auth
|
|
61
62
|
- `void connect [url]` — choose Cloudflare or a Void platform, sign in, and save the deployment destination
|
|
62
63
|
- `void platform *` — list, select, inspect, install, recover, repair, upgrade, disable, and safely uninstall a company platform
|
|
63
64
|
- `void deploy` — build and deploy to the saved Cloudflare or Void target
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { c as getToken, p as removeToken } from "./auth-B9_D6ygs.mjs";
|
|
2
2
|
import { j as log } from "./dist-Dn6nn2IU.mjs";
|
|
3
3
|
import { n as PlatformClient } from "./client-PdAJ-F0t.mjs";
|
|
4
|
-
import { n as runLoginCommand } from "./login-
|
|
4
|
+
import { n as runLoginCommand } from "./login-BgQJzxAl.mjs";
|
|
5
5
|
import { execSync } from "node:child_process";
|
|
6
|
-
//#region src/cli/
|
|
7
|
-
async function
|
|
6
|
+
//#region src/cli/account-cmd.ts
|
|
7
|
+
async function runAccountCommand(root, args) {
|
|
8
8
|
switch (args.subcommand) {
|
|
9
9
|
case "login": return runLoginCommand(root);
|
|
10
|
-
case "link": return import("./auth-link-
|
|
10
|
+
case "link": return import("./auth-link-BYFeMJAp.mjs").then(({ runAuthLink }) => runAuthLink(root, args.connectionId));
|
|
11
11
|
case "logout":
|
|
12
12
|
if (removeToken(root)) log.success("Logged out.");
|
|
13
13
|
else log.info("Not logged in.");
|
|
@@ -15,7 +15,7 @@ async function runAuthCommand(root, args) {
|
|
|
15
15
|
case "whoami": {
|
|
16
16
|
const token = getToken(root);
|
|
17
17
|
if (!token) {
|
|
18
|
-
log.error("Not logged in. Run `void
|
|
18
|
+
log.error("Not logged in. Run `void account login` first.");
|
|
19
19
|
process.exit(1);
|
|
20
20
|
}
|
|
21
21
|
const user = await new PlatformClient(token, { root }).whoami();
|
|
@@ -26,7 +26,7 @@ async function runAuthCommand(root, args) {
|
|
|
26
26
|
if (!getToken(root)) await runLoginCommand(root);
|
|
27
27
|
const token = getToken(root);
|
|
28
28
|
if (!token) {
|
|
29
|
-
log.error("Login failed. Run `void
|
|
29
|
+
log.error("Login failed. Run `void account login` to try again.");
|
|
30
30
|
process.exit(1);
|
|
31
31
|
}
|
|
32
32
|
const platform = process.platform;
|
|
@@ -35,11 +35,11 @@ async function runAuthCommand(root, args) {
|
|
|
35
35
|
execSync(cmd, { input: token });
|
|
36
36
|
log.success("Token copied to clipboard.");
|
|
37
37
|
} catch {
|
|
38
|
-
log.warn("Could not copy to clipboard.
|
|
38
|
+
log.warn("Could not copy to clipboard. Run `void account token` again.");
|
|
39
39
|
}
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
//#endregion
|
|
45
|
-
export {
|
|
45
|
+
export { runAccountCommand };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { a as getApiUrl, c as getToken, d as openBrowser, g as savePlatformToken, h as runPlatformLogin } from "./auth-B9_D6ygs.mjs";
|
|
2
2
|
import { j as log } from "./dist-Dn6nn2IU.mjs";
|
|
3
3
|
import { n as PlatformClient } from "./client-PdAJ-F0t.mjs";
|
|
4
|
-
import { r as selectPlatformLoginMethod } from "./login-
|
|
5
|
-
import { t as discoverPlatform } from "./platform-cmd-
|
|
4
|
+
import { r as selectPlatformLoginMethod } from "./login-BgQJzxAl.mjs";
|
|
5
|
+
import { t as discoverPlatform } from "./platform-cmd-CudokNIg.mjs";
|
|
6
6
|
import { execFile } from "node:child_process";
|
|
7
7
|
//#region src/cli/auth-link.ts
|
|
8
8
|
async function runAuthLink(root, connectionId) {
|
|
9
9
|
const token = getToken(root);
|
|
10
|
-
if (!token) throw new Error("auth: Sign in to your existing account with `void
|
|
10
|
+
if (!token) throw new Error("auth: Sign in to your existing account with `void account login` first.");
|
|
11
11
|
const apiUrl = getApiUrl(root);
|
|
12
12
|
const platform = await discoverPlatform(apiUrl);
|
|
13
13
|
if (!platform.authentication) throw new Error("auth: This platform must be upgraded before linking login methods.");
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { o as listPlatformConnections } from "./platform-registry-BJbgZLS1.mjs";
|
|
2
|
+
import { i as readDeploymentPlatform } from "./project-CWNIPoXc.mjs";
|
|
3
|
+
import { I as select, W as isCancel } from "./dist-Dn6nn2IU.mjs";
|
|
4
|
+
//#region src/cli/auth-router.ts
|
|
5
|
+
async function chooseDestination(root, args, interactive) {
|
|
6
|
+
const saved = readDeploymentPlatform(root);
|
|
7
|
+
const platform = args.platform ?? (saved === "none" ? null : saved);
|
|
8
|
+
if (platform) return { platform };
|
|
9
|
+
if (!interactive) throw new Error("auth: No deployment destination is saved. Use `void auth login --platform cloudflare|void`, `void account login`, or `void cloudflare login`.");
|
|
10
|
+
const connections = listPlatformConnections();
|
|
11
|
+
const options = [
|
|
12
|
+
{
|
|
13
|
+
value: "cloudflare",
|
|
14
|
+
label: "Cloudflare",
|
|
15
|
+
hint: "Your own Cloudflare account"
|
|
16
|
+
},
|
|
17
|
+
...connections.map((connection) => ({
|
|
18
|
+
value: connection.apiUrl,
|
|
19
|
+
label: connection.displayName,
|
|
20
|
+
hint: connection.apiUrl
|
|
21
|
+
})),
|
|
22
|
+
...connections.length === 0 ? [{
|
|
23
|
+
value: "void",
|
|
24
|
+
label: "Void platform",
|
|
25
|
+
hint: "Use the current Void account origin"
|
|
26
|
+
}] : []
|
|
27
|
+
];
|
|
28
|
+
const selected = await select({
|
|
29
|
+
message: "Where do you want to authenticate?",
|
|
30
|
+
options
|
|
31
|
+
});
|
|
32
|
+
if (isCancel(selected) || typeof selected !== "string") throw new Error("auth: Cancelled.");
|
|
33
|
+
return selected === "cloudflare" ? { platform: "cloudflare" } : {
|
|
34
|
+
platform: "void",
|
|
35
|
+
...selected === "void" ? {} : { apiUrl: selected }
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
async function runAuthRouter(root, args, interactive = Boolean(process.stdin.isTTY)) {
|
|
39
|
+
if (args.subcommand === "link") {
|
|
40
|
+
const { runAccountCommand } = await import("./account-cmd-D8OC-U7y.mjs");
|
|
41
|
+
await runAccountCommand(root, {
|
|
42
|
+
subcommand: "link",
|
|
43
|
+
...args.connectionId ? { connectionId: args.connectionId } : {}
|
|
44
|
+
});
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (args.subcommand === "token") {
|
|
48
|
+
const { runAccountCommand } = await import("./account-cmd-D8OC-U7y.mjs");
|
|
49
|
+
await runAccountCommand(root, { subcommand: "token" });
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const destination = await chooseDestination(root, args, interactive);
|
|
53
|
+
if (destination.platform === "cloudflare") {
|
|
54
|
+
const { runCloudflareCommand } = await import("./cloudflare-cmd-D6PrKn7o.mjs");
|
|
55
|
+
await runCloudflareCommand(root, { subcommand: args.subcommand === "whoami" || args.subcommand === "status" ? "status" : args.subcommand });
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const { runAccountCommand } = await import("./account-cmd-D8OC-U7y.mjs");
|
|
59
|
+
const subcommand = args.subcommand === "status" ? "whoami" : args.subcommand;
|
|
60
|
+
if (!destination.apiUrl) {
|
|
61
|
+
await runAccountCommand(root, { subcommand });
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const previous = process.env.VOID_API_URL;
|
|
65
|
+
process.env.VOID_API_URL = destination.apiUrl;
|
|
66
|
+
try {
|
|
67
|
+
await runAccountCommand(root, { subcommand });
|
|
68
|
+
} finally {
|
|
69
|
+
if (previous === void 0) delete process.env.VOID_API_URL;
|
|
70
|
+
else process.env.VOID_API_URL = previous;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//#endregion
|
|
74
|
+
export { runAuthRouter };
|
|
@@ -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";
|
|
@@ -65,7 +65,7 @@ async function runBuildLogsCommand(root, args) {
|
|
|
65
65
|
intro(cliTitle("build logs"));
|
|
66
66
|
const token = getToken(root);
|
|
67
67
|
if (!token) {
|
|
68
|
-
log.error("Not logged in. Run `void
|
|
68
|
+
log.error("Not logged in. Run `void account login` first.");
|
|
69
69
|
process.exit(1);
|
|
70
70
|
}
|
|
71
71
|
const client = new PlatformClient(token, { root });
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as dim, i as createSpinner, r as cliTitle } from "./output-
|
|
1
|
+
import { a as dim, i as createSpinner, 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";
|
|
@@ -10,7 +10,7 @@ async function runPurgeCacheCommand(root, projectSlug) {
|
|
|
10
10
|
intro(cliTitle("project purge-cache"));
|
|
11
11
|
const token = getToken(root);
|
|
12
12
|
if (!token) {
|
|
13
|
-
log.error("Not logged in. Run `void
|
|
13
|
+
log.error("Not logged in. Run `void account login` first.");
|
|
14
14
|
process.exit(1);
|
|
15
15
|
}
|
|
16
16
|
const requestedSlug = getRequestedProjectSlug({ projectSlug });
|
|
@@ -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 { o as readProjectConfig } from "./project-CWNIPoXc.mjs";
|
|
4
4
|
import { E as confirm, O as intro, P as outro, W as isCancel, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
@@ -15,7 +15,7 @@ async function runCancelDeployCommand(root, deployId) {
|
|
|
15
15
|
intro(cliTitle("project cancel"));
|
|
16
16
|
const token = getToken(root);
|
|
17
17
|
if (!token) {
|
|
18
|
-
log.error("Not logged in. Run `void
|
|
18
|
+
log.error("Not logged in. Run `void account login` first.");
|
|
19
19
|
process.exit(1);
|
|
20
20
|
}
|
|
21
21
|
const linked = readProjectConfig(root);
|
package/dist/cli/cf-compat.mjs
CHANGED
|
@@ -19,7 +19,9 @@ const args = process.argv.slice(2);
|
|
|
19
19
|
function cfEnvironment() {
|
|
20
20
|
const env = {
|
|
21
21
|
...process.env,
|
|
22
|
-
CF_DELEGATION: "1"
|
|
22
|
+
CF_DELEGATION: "1",
|
|
23
|
+
CF_SEND_TELEMETRY: "false",
|
|
24
|
+
CF_NO_OSC_PROGRESS: "1"
|
|
23
25
|
};
|
|
24
26
|
if (env.HTTP_PROXY || env.HTTPS_PROXY || env.http_proxy || env.https_proxy) env.NODE_USE_ENV_PROXY = "1";
|
|
25
27
|
for (const [canonical, alias] of [
|
|
@@ -39,6 +41,7 @@ function result(status, stdout = "", stderr = "") {
|
|
|
39
41
|
}
|
|
40
42
|
function runCf(command, cwd = process.cwd(), useLoginProfile = false) {
|
|
41
43
|
const env = cfEnvironment();
|
|
44
|
+
env.CF_QUIET = "1";
|
|
42
45
|
if (useLoginProfile) delete env.CLOUDFLARE_AUTH_USE_KEYRING;
|
|
43
46
|
const child = spawnSync(process.execPath, [cf, ...command], {
|
|
44
47
|
cwd,
|
|
@@ -57,9 +60,16 @@ function runCf(command, cwd = process.cwd(), useLoginProfile = false) {
|
|
|
57
60
|
return result(child.status ?? 1, child.stdout ?? "", stderr);
|
|
58
61
|
}
|
|
59
62
|
function runInteractiveCf(command) {
|
|
60
|
-
const child = spawnSync(process.execPath, [
|
|
63
|
+
const child = spawnSync(process.execPath, [
|
|
64
|
+
cf,
|
|
65
|
+
...command,
|
|
66
|
+
"--quiet"
|
|
67
|
+
], {
|
|
61
68
|
cwd: process.cwd(),
|
|
62
|
-
env:
|
|
69
|
+
env: {
|
|
70
|
+
...cfEnvironment(),
|
|
71
|
+
CF_QUIET: "1"
|
|
72
|
+
},
|
|
63
73
|
shell: false,
|
|
64
74
|
stdio: "inherit",
|
|
65
75
|
windowsHide: true
|
package/dist/cli/cli.mjs
CHANGED
|
@@ -3,11 +3,53 @@ import { a as join } from "../dist-4WkAWhWx.mjs";
|
|
|
3
3
|
import { j as log } from "../dist-Dn6nn2IU.mjs";
|
|
4
4
|
import { n as getPackageDir } from "../agents-gni4eqBu.mjs";
|
|
5
5
|
import { t as formatCloudflareUserMessage } from "../cloudflare-user-output-Q-k0QoNQ.mjs";
|
|
6
|
-
import { a as operatorGroups, i as printVoidHeader, n as printGlobalHelp, o as parseOperatorArgs, r as printHelpPage, t as getHelpPath } from "../help-
|
|
6
|
+
import { a as operatorGroups, i as printVoidHeader, n as printGlobalHelp, o as parseOperatorArgs, r as printHelpPage, t as getHelpPath } from "../help-iQOt7WHk.mjs";
|
|
7
7
|
import { r as OperatorClientError } from "../operator-client-A0iex2yi.mjs";
|
|
8
8
|
import { readFileSync } from "node:fs";
|
|
9
9
|
import { PLATFORM_LOGIN_KINDS, parsePlatformLoginId } from "@void/platform";
|
|
10
10
|
import { parseArgs } from "node:util";
|
|
11
|
+
//#region src/cli/account-args.ts
|
|
12
|
+
const accountSubcommands = [
|
|
13
|
+
{
|
|
14
|
+
name: "login",
|
|
15
|
+
description: "Log in with an enabled platform login method"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: "link",
|
|
19
|
+
description: "Link another login method to your account"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: "logout",
|
|
23
|
+
description: "Log out and remove credentials"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: "whoami",
|
|
27
|
+
description: "Show the logged-in username"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: "token",
|
|
31
|
+
description: "Copy auth token to clipboard"
|
|
32
|
+
}
|
|
33
|
+
];
|
|
34
|
+
function parseAccountArgs(args) {
|
|
35
|
+
const [subcommand, extra, trailing] = args;
|
|
36
|
+
if (subcommand === "link") {
|
|
37
|
+
if (trailing || extra !== void 0 && !/^[a-z][a-z0-9_-]{0,63}$/.test(extra)) throw new Error("account: Usage: void account link [connection-id].");
|
|
38
|
+
return {
|
|
39
|
+
subcommand,
|
|
40
|
+
...extra ? { connectionId: extra } : {}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
if (!subcommand || ![
|
|
44
|
+
"login",
|
|
45
|
+
"logout",
|
|
46
|
+
"whoami",
|
|
47
|
+
"token"
|
|
48
|
+
].includes(subcommand)) throw new Error("account: Usage: void account <login|link|logout|whoami|token>.");
|
|
49
|
+
if (extra) throw new Error(`account: Unexpected argument '${extra}'.`);
|
|
50
|
+
return { subcommand };
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
11
53
|
//#region src/cli/args.ts
|
|
12
54
|
function parseDeployArgs(args) {
|
|
13
55
|
let parsed;
|
|
@@ -86,42 +128,45 @@ function parseDeployArgs(args) {
|
|
|
86
128
|
const authSubcommands = [
|
|
87
129
|
{
|
|
88
130
|
name: "login",
|
|
89
|
-
description: "
|
|
131
|
+
description: "Sign in to the selected deployment destination"
|
|
90
132
|
},
|
|
91
133
|
{
|
|
92
|
-
name: "
|
|
93
|
-
description: "
|
|
134
|
+
name: "status",
|
|
135
|
+
description: "Show the selected destination’s signed-in identity"
|
|
94
136
|
},
|
|
95
137
|
{
|
|
96
138
|
name: "logout",
|
|
97
|
-
description: "
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
name: "whoami",
|
|
101
|
-
description: "Show the logged-in username"
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
name: "token",
|
|
105
|
-
description: "Copy auth token to clipboard"
|
|
139
|
+
description: "Sign out of the selected deployment destination"
|
|
106
140
|
}
|
|
107
141
|
];
|
|
108
142
|
function parseAuthArgs(args) {
|
|
109
|
-
const [subcommand,
|
|
110
|
-
if (subcommand === "link") {
|
|
111
|
-
if (trailing || extra !== void 0 && !/^[a-z][a-z0-9_-]{0,63}$/.test(extra)) throw new Error("auth: Usage: void auth link [connection-id].");
|
|
112
|
-
return {
|
|
113
|
-
subcommand,
|
|
114
|
-
...extra ? { connectionId: extra } : {}
|
|
115
|
-
};
|
|
116
|
-
}
|
|
143
|
+
const [subcommand, ...rest] = args;
|
|
117
144
|
if (!subcommand || ![
|
|
118
145
|
"login",
|
|
119
146
|
"logout",
|
|
147
|
+
"status",
|
|
120
148
|
"whoami",
|
|
149
|
+
"link",
|
|
121
150
|
"token"
|
|
122
|
-
].includes(subcommand)) throw new Error("auth: Usage: void auth <login|
|
|
123
|
-
|
|
124
|
-
|
|
151
|
+
].includes(subcommand)) throw new Error("auth: Usage: void auth <login|status|logout> [--platform cloudflare|void].");
|
|
152
|
+
let platform;
|
|
153
|
+
let connectionId;
|
|
154
|
+
for (let index = 0; index < rest.length; index++) {
|
|
155
|
+
const value = rest[index];
|
|
156
|
+
if (value === "--platform") {
|
|
157
|
+
const target = rest[++index];
|
|
158
|
+
if (target !== "cloudflare" && target !== "void") throw new Error("auth: --platform must be cloudflare or void.");
|
|
159
|
+
if (platform) throw new Error("auth: --platform may be supplied only once.");
|
|
160
|
+
platform = target;
|
|
161
|
+
} else if (subcommand === "link" && !connectionId && /^[a-z][a-z0-9_-]{0,63}$/.test(value)) connectionId = value;
|
|
162
|
+
else throw new Error(`auth: Unexpected argument '${value}'.`);
|
|
163
|
+
}
|
|
164
|
+
if ((subcommand === "link" || subcommand === "token") && platform === "cloudflare") throw new Error(`auth: ${subcommand} belongs to a Void account. Use \`void account ${subcommand}\`.`);
|
|
165
|
+
return {
|
|
166
|
+
subcommand,
|
|
167
|
+
...platform ? { platform } : {},
|
|
168
|
+
...connectionId ? { connectionId } : {}
|
|
169
|
+
};
|
|
125
170
|
}
|
|
126
171
|
//#endregion
|
|
127
172
|
//#region src/cli/build-args.ts
|
|
@@ -1932,7 +1977,7 @@ async function runSubcommandGroup(command, subcommands, parse, run) {
|
|
|
1932
1977
|
const hasNamedSubcommand = args.slice(1).some((arg) => subcommands.some(({ name }) => name === arg));
|
|
1933
1978
|
try {
|
|
1934
1979
|
if ((!sub || sub.startsWith("-") && !hasNamedSubcommand) && process.stdin.isTTY) {
|
|
1935
|
-
const { promptSubcommand } = await import("../subcommand-prompt-
|
|
1980
|
+
const { promptSubcommand } = await import("../subcommand-prompt-BuGYkAkC.mjs");
|
|
1936
1981
|
if (command === "platform" && !sub) log.info("A Void platform lets a team deploy Void apps to a shared Cloudflare account.\nThis command sets up and manages platforms. Join with `void connect <url>`.\nDocs: https://void.cloud/guide/self-hosted-platform");
|
|
1937
1982
|
const result = await promptSubcommand(command, subcommands);
|
|
1938
1983
|
if (!result) process.exit(0);
|
|
@@ -1972,7 +2017,7 @@ if (helpPath) {
|
|
|
1972
2017
|
log.error(formatCloudflareUserMessage(err instanceof Error ? err.message : String(err)));
|
|
1973
2018
|
process.exit(1);
|
|
1974
2019
|
}
|
|
1975
|
-
import("../deploy-
|
|
2020
|
+
import("../deploy-CsjbRNyv.mjs").then(({ runDeploy }) => {
|
|
1976
2021
|
runDeploy(root, {
|
|
1977
2022
|
projectSlug: deployArgs.projectSlug,
|
|
1978
2023
|
dir: deployArgs.dir,
|
|
@@ -1990,24 +2035,25 @@ if (helpPath) {
|
|
|
1990
2035
|
});
|
|
1991
2036
|
} else if (command === "connect") (async () => {
|
|
1992
2037
|
const parsed = parseConnectArgs(args.slice(1));
|
|
1993
|
-
const { runConnectCommand } = await import("../connect-
|
|
2038
|
+
const { runConnectCommand } = await import("../connect-DLx1pRYk.mjs");
|
|
1994
2039
|
await runConnectCommand(process.cwd(), parsed);
|
|
1995
2040
|
})().catch((err) => {
|
|
1996
2041
|
log.error(formatCloudflareUserMessage(err instanceof Error ? err.message : String(err)));
|
|
1997
2042
|
process.exit(1);
|
|
1998
2043
|
});
|
|
1999
|
-
else if (command === "auth") runSubcommandGroup("auth", authSubcommands, parseAuthArgs, (root, parsed) => import("../auth-
|
|
2000
|
-
else if (command === "
|
|
2044
|
+
else if (command === "auth") runSubcommandGroup("auth", authSubcommands, parseAuthArgs, (root, parsed) => import("../auth-router-OHZNmrb_.mjs").then(({ runAuthRouter }) => runAuthRouter(root, parsed)));
|
|
2045
|
+
else if (command === "account") runSubcommandGroup("account", accountSubcommands, parseAccountArgs, (root, parsed) => import("../account-cmd-D8OC-U7y.mjs").then(({ runAccountCommand }) => runAccountCommand(root, parsed)));
|
|
2046
|
+
else if (command === "platform") runSubcommandGroup("platform", platformSubcommands, parsePlatformArgs, (root, parsed) => import("../platform-cmd-Cl9Uhzru.mjs").then(({ runPlatformCommand }) => runPlatformCommand(root, parsed)));
|
|
2001
2047
|
else if (command === "cloudflare") runSubcommandGroup("cloudflare", cloudflareSubcommands, parseCloudflareArgs, (root, parsed) => import("../cloudflare-cmd-D6PrKn7o.mjs").then(({ runCloudflareCommand }) => runCloudflareCommand(root, parsed)));
|
|
2002
|
-
else if (command === "project") runSubcommandGroup("project", projectSubcommands, parseProjectArgs, (root, parsed) => import("../project-cmd-
|
|
2003
|
-
else if (command === "secret") runSubcommandGroup("secret", secretSubcommands, parseSecretArgs, (root, parsed) => import("../secret-
|
|
2004
|
-
else if (command === "domain") runSubcommandGroup("domain", domainSubcommands, parseDomainArgs, (root, parsed) => import("../domain-
|
|
2005
|
-
else if (command === "email") runSubcommandGroup("email", emailSubcommands, parseEmailArgs, (root, parsed) => import("../email-
|
|
2006
|
-
else if (command === "db") runSubcommandGroup("db", dbSubcommands, parseDbArgs, (root, parsed) => import("../db-
|
|
2007
|
-
else if (command === "env") runSubcommandGroup("env", envSubcommands, parseEnvArgs, (root, parsed) => import("../env-
|
|
2008
|
-
else if (command === "gen") runSubcommandGroup("gen", genSubcommands, parseGenArgs, (root, parsed) => import("../gen-
|
|
2009
|
-
else if (command === "github") runSubcommandGroup("github", githubSubcommands, parseGithubArgs, (root, parsed) => import("../github-cmd-
|
|
2010
|
-
else if (command === "build") runSubcommandGroup("build", buildSubcommands, parseBuildArgs, (root, parsed) => import("../build-cmd-
|
|
2048
|
+
else if (command === "project") runSubcommandGroup("project", projectSubcommands, parseProjectArgs, (root, parsed) => import("../project-cmd-BuF9doku.mjs").then(({ runProjectCommand }) => runProjectCommand(root, parsed)));
|
|
2049
|
+
else if (command === "secret") runSubcommandGroup("secret", secretSubcommands, parseSecretArgs, (root, parsed) => import("../secret-Rt9c4Ttw.mjs").then(({ runSecretCommand }) => runSecretCommand(root, parsed)));
|
|
2050
|
+
else if (command === "domain") runSubcommandGroup("domain", domainSubcommands, parseDomainArgs, (root, parsed) => import("../domain-Av2AkLQP.mjs").then(({ runDomainCommand }) => runDomainCommand(root, parsed)));
|
|
2051
|
+
else if (command === "email") runSubcommandGroup("email", emailSubcommands, parseEmailArgs, (root, parsed) => import("../email-CUqa6TtH.mjs").then(({ runEmailCommand }) => runEmailCommand(root, parsed)));
|
|
2052
|
+
else if (command === "db") runSubcommandGroup("db", dbSubcommands, parseDbArgs, (root, parsed) => import("../db-B98_UV4H.mjs").then(({ runDbCommand }) => runDbCommand(root, parsed)));
|
|
2053
|
+
else if (command === "env") runSubcommandGroup("env", envSubcommands, parseEnvArgs, (root, parsed) => import("../env-D4RIGEzz.mjs").then(({ runEnvCommand }) => runEnvCommand(root, parsed)));
|
|
2054
|
+
else if (command === "gen") runSubcommandGroup("gen", genSubcommands, parseGenArgs, (root, parsed) => import("../gen-B87rlalt.mjs").then(({ runGenCommand }) => runGenCommand(root, parsed)));
|
|
2055
|
+
else if (command === "github") runSubcommandGroup("github", githubSubcommands, parseGithubArgs, (root, parsed) => import("../github-cmd-BEK4VprE.mjs").then(({ runGithubCommand }) => runGithubCommand(root, parsed)));
|
|
2056
|
+
else if (command === "build") runSubcommandGroup("build", buildSubcommands, parseBuildArgs, (root, parsed) => import("../build-cmd-Bft7EY51.mjs").then(({ runBuildCommand }) => runBuildCommand(root, parsed)));
|
|
2011
2057
|
else if (command === "prepare") {
|
|
2012
2058
|
const root = process.cwd();
|
|
2013
2059
|
let prepareArgs;
|
|
@@ -2017,7 +2063,7 @@ else if (command === "prepare") {
|
|
|
2017
2063
|
log.error(formatCloudflareUserMessage(err instanceof Error ? err.message : String(err)));
|
|
2018
2064
|
process.exit(1);
|
|
2019
2065
|
}
|
|
2020
|
-
import("../prepare-
|
|
2066
|
+
import("../prepare-_T-Haxrr.mjs").then(({ runPrepareCommand }) => {
|
|
2021
2067
|
runPrepareCommand(root, prepareArgs).catch((err) => {
|
|
2022
2068
|
log.error(formatCloudflareUserMessage(err.message ?? String(err)));
|
|
2023
2069
|
process.exit(1);
|
|
@@ -2025,7 +2071,7 @@ else if (command === "prepare") {
|
|
|
2025
2071
|
});
|
|
2026
2072
|
} else if (command === "init") {
|
|
2027
2073
|
const root = process.cwd();
|
|
2028
|
-
import("../init-
|
|
2074
|
+
import("../init-D5niUPAz.mjs").then(({ runInitCommand, parseInitArgs }) => {
|
|
2029
2075
|
let initArgs;
|
|
2030
2076
|
try {
|
|
2031
2077
|
initArgs = parseInitArgs(args.slice(1));
|
|
@@ -2043,7 +2089,7 @@ else if (command === "prepare") {
|
|
|
2043
2089
|
log.error("migrate: This command takes no arguments.");
|
|
2044
2090
|
process.exit(1);
|
|
2045
2091
|
}
|
|
2046
|
-
import("../migrate-
|
|
2092
|
+
import("../migrate-BXY3B3m7.mjs").then(({ runMigrateCommand }) => {
|
|
2047
2093
|
runMigrateCommand(process.cwd()).catch((err) => {
|
|
2048
2094
|
log.error(formatCloudflareUserMessage(err instanceof Error ? err.message : String(err)));
|
|
2049
2095
|
process.exit(1);
|
|
@@ -2076,8 +2122,13 @@ else if (command === "prepare") {
|
|
|
2076
2122
|
},
|
|
2077
2123
|
{
|
|
2078
2124
|
name: "auth",
|
|
2079
|
-
hint: "login |
|
|
2080
|
-
description: "
|
|
2125
|
+
hint: "login | status | logout",
|
|
2126
|
+
description: "Sign in to this project’s Cloudflare or Void destination"
|
|
2127
|
+
},
|
|
2128
|
+
{
|
|
2129
|
+
name: "account",
|
|
2130
|
+
hint: "login | link | logout | whoami | token",
|
|
2131
|
+
description: "Manage your Void platform account"
|
|
2081
2132
|
},
|
|
2082
2133
|
{
|
|
2083
2134
|
name: "platform",
|
|
@@ -2145,46 +2196,47 @@ else if (command === "prepare") {
|
|
|
2145
2196
|
];
|
|
2146
2197
|
(async () => {
|
|
2147
2198
|
printVoidHeader();
|
|
2148
|
-
const { promptSubcommand } = await import("../subcommand-prompt-
|
|
2199
|
+
const { promptSubcommand } = await import("../subcommand-prompt-BuGYkAkC.mjs");
|
|
2149
2200
|
const result = await promptSubcommand("", topLevelCommands);
|
|
2150
2201
|
if (!result) process.exit(0);
|
|
2151
2202
|
const cmd = result.subcommand;
|
|
2152
2203
|
const root = process.cwd();
|
|
2153
2204
|
switch (cmd) {
|
|
2154
2205
|
case "connect": {
|
|
2155
|
-
const { runConnectCommand } = await import("../connect-
|
|
2206
|
+
const { runConnectCommand } = await import("../connect-DLx1pRYk.mjs");
|
|
2156
2207
|
await runConnectCommand(root, parseConnectArgs([]));
|
|
2157
2208
|
return;
|
|
2158
2209
|
}
|
|
2159
2210
|
case "init": {
|
|
2160
|
-
const { runInitCommand, parseInitArgs } = await import("../init-
|
|
2211
|
+
const { runInitCommand, parseInitArgs } = await import("../init-D5niUPAz.mjs");
|
|
2161
2212
|
await runInitCommand(root, parseInitArgs([]));
|
|
2162
2213
|
return;
|
|
2163
2214
|
}
|
|
2164
2215
|
case "migrate": {
|
|
2165
|
-
const { runMigrateCommand } = await import("../migrate-
|
|
2216
|
+
const { runMigrateCommand } = await import("../migrate-BXY3B3m7.mjs");
|
|
2166
2217
|
await runMigrateCommand(root);
|
|
2167
2218
|
return;
|
|
2168
2219
|
}
|
|
2169
2220
|
case "deploy": {
|
|
2170
|
-
const { runDeploy } = await import("../deploy-
|
|
2221
|
+
const { runDeploy } = await import("../deploy-CsjbRNyv.mjs");
|
|
2171
2222
|
await runDeploy(root);
|
|
2172
2223
|
return;
|
|
2173
2224
|
}
|
|
2174
|
-
case "auth": return runSubcommandGroup("auth", authSubcommands, parseAuthArgs, (r, p) => import("../auth-
|
|
2175
|
-
case "
|
|
2225
|
+
case "auth": return runSubcommandGroup("auth", authSubcommands, parseAuthArgs, (r, p) => import("../auth-router-OHZNmrb_.mjs").then(({ runAuthRouter }) => runAuthRouter(r, p)));
|
|
2226
|
+
case "account": return runSubcommandGroup("account", accountSubcommands, parseAccountArgs, (r, p) => import("../account-cmd-D8OC-U7y.mjs").then(({ runAccountCommand }) => runAccountCommand(r, p)));
|
|
2227
|
+
case "platform": return runSubcommandGroup("platform", platformSubcommands, parsePlatformArgs, (r, p) => import("../platform-cmd-Cl9Uhzru.mjs").then(({ runPlatformCommand }) => runPlatformCommand(r, p)));
|
|
2176
2228
|
case "cloudflare": return runSubcommandGroup("cloudflare", cloudflareSubcommands, parseCloudflareArgs, (r, p) => import("../cloudflare-cmd-D6PrKn7o.mjs").then(({ runCloudflareCommand }) => runCloudflareCommand(r, p)));
|
|
2177
|
-
case "project": return runSubcommandGroup("project", projectSubcommands, parseProjectArgs, (r, p) => import("../project-cmd-
|
|
2178
|
-
case "secret": return runSubcommandGroup("secret", secretSubcommands, parseSecretArgs, (r, p) => import("../secret-
|
|
2179
|
-
case "domain": return runSubcommandGroup("domain", domainSubcommands, parseDomainArgs, (r, p) => import("../domain-
|
|
2180
|
-
case "github": return runSubcommandGroup("github", githubSubcommands, parseGithubArgs, (r, p) => import("../github-cmd-
|
|
2181
|
-
case "build": return runSubcommandGroup("build", buildSubcommands, parseBuildArgs, (r, p) => import("../build-cmd-
|
|
2182
|
-
case "email": return runSubcommandGroup("email", emailSubcommands, parseEmailArgs, (r, p) => import("../email-
|
|
2183
|
-
case "db": return runSubcommandGroup("db", dbSubcommands, parseDbArgs, (r, p) => import("../db-
|
|
2184
|
-
case "env": return runSubcommandGroup("env", envSubcommands, parseEnvArgs, (r, p) => import("../env-
|
|
2185
|
-
case "gen": return runSubcommandGroup("gen", genSubcommands, parseGenArgs, (r, p) => import("../gen-
|
|
2229
|
+
case "project": return runSubcommandGroup("project", projectSubcommands, parseProjectArgs, (r, p) => import("../project-cmd-BuF9doku.mjs").then(({ runProjectCommand }) => runProjectCommand(r, p)));
|
|
2230
|
+
case "secret": return runSubcommandGroup("secret", secretSubcommands, parseSecretArgs, (r, p) => import("../secret-Rt9c4Ttw.mjs").then(({ runSecretCommand }) => runSecretCommand(r, p)));
|
|
2231
|
+
case "domain": return runSubcommandGroup("domain", domainSubcommands, parseDomainArgs, (r, p) => import("../domain-Av2AkLQP.mjs").then(({ runDomainCommand }) => runDomainCommand(r, p)));
|
|
2232
|
+
case "github": return runSubcommandGroup("github", githubSubcommands, parseGithubArgs, (r, p) => import("../github-cmd-BEK4VprE.mjs").then(({ runGithubCommand }) => runGithubCommand(r, p)));
|
|
2233
|
+
case "build": return runSubcommandGroup("build", buildSubcommands, parseBuildArgs, (r, p) => import("../build-cmd-Bft7EY51.mjs").then(({ runBuildCommand }) => runBuildCommand(r, p)));
|
|
2234
|
+
case "email": return runSubcommandGroup("email", emailSubcommands, parseEmailArgs, (r, p) => import("../email-CUqa6TtH.mjs").then(({ runEmailCommand }) => runEmailCommand(r, p)));
|
|
2235
|
+
case "db": return runSubcommandGroup("db", dbSubcommands, parseDbArgs, (r, p) => import("../db-B98_UV4H.mjs").then(({ runDbCommand }) => runDbCommand(r, p)));
|
|
2236
|
+
case "env": return runSubcommandGroup("env", envSubcommands, parseEnvArgs, (r, p) => import("../env-D4RIGEzz.mjs").then(({ runEnvCommand }) => runEnvCommand(r, p)));
|
|
2237
|
+
case "gen": return runSubcommandGroup("gen", genSubcommands, parseGenArgs, (r, p) => import("../gen-B87rlalt.mjs").then(({ runGenCommand }) => runGenCommand(r, p)));
|
|
2186
2238
|
case "prepare": {
|
|
2187
|
-
const { runPrepareCommand } = await import("../prepare-
|
|
2239
|
+
const { runPrepareCommand } = await import("../prepare-_T-Haxrr.mjs");
|
|
2188
2240
|
await runPrepareCommand(root, parsePrepareArgs([]));
|
|
2189
2241
|
return;
|
|
2190
2242
|
}
|
|
@@ -3,8 +3,8 @@ import { o as listPlatformConnections, s as normalizePlatformApiUrl } from "./pl
|
|
|
3
3
|
import { i as readDeploymentPlatform, l as writeDeploymentPlatform, u as writePlatformSelection } from "./project-CWNIPoXc.mjs";
|
|
4
4
|
import { I as select, W as isCancel, j as log } from "./dist-Dn6nn2IU.mjs";
|
|
5
5
|
import { i as isExpiredTokenError, n as PlatformClient } from "./client-PdAJ-F0t.mjs";
|
|
6
|
-
import { t as promptForLoginToken } from "./login-
|
|
7
|
-
import { i as saveDiscoveredPlatform, n as promptPlatformUrl, t as discoverPlatform } from "./platform-cmd-
|
|
6
|
+
import { t as promptForLoginToken } from "./login-BgQJzxAl.mjs";
|
|
7
|
+
import { i as saveDiscoveredPlatform, n as promptPlatformUrl, t as discoverPlatform } from "./platform-cmd-CudokNIg.mjs";
|
|
8
8
|
import { t as connectCloudflare } from "./cloudflare-connect-DloREDlc.mjs";
|
|
9
9
|
//#region src/cli/connect.ts
|
|
10
10
|
async function selectVoidPlatform(interactive) {
|
|
@@ -74,7 +74,7 @@ async function runConnectCommand(root, args, interactive = Boolean(process.stdin
|
|
|
74
74
|
const selected = Boolean(envUrl && normalizePlatformApiUrl(envUrl) !== discovery.apiUrl || process.env.VOID_TOKEN && !envUrl) ? false : writePlatformSelection(root, discovery);
|
|
75
75
|
log.success(`Connected to ${discovery.displayName} at ${discovery.apiUrl}.`);
|
|
76
76
|
if (!selected) log.info("Saved the connection. The current project link or environment still selects its existing destination.");
|
|
77
|
-
if (args.noLogin) log.info("Connection saved without login. Run `void
|
|
77
|
+
if (args.noLogin) log.info("Connection saved without login. Run `void account login` in a project using this platform when ready.");
|
|
78
78
|
else if (selected) log.info("Run `void project link` to select a project, then `void deploy`.");
|
|
79
79
|
}
|
|
80
80
|
//#endregion
|
|
@@ -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 getSiteDomain } from "./auth-B9_D6ygs.mjs";
|
|
3
3
|
import { d as writeProjectConfig, t as attachSelectedPlatform } 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,2 +1,2 @@
|
|
|
1
|
-
import { t as createProjectWithSlugRetry } from "./create-project-
|
|
1
|
+
import { t as createProjectWithSlugRetry } from "./create-project-BZBl_gQ0.mjs";
|
|
2
2
|
export { createProjectWithSlugRetry };
|