@pushto/cli 0.2.1 → 0.4.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/commands/__tests__/deploy-domain.test.d.ts +2 -0
- package/dist/commands/__tests__/deploy-domain.test.d.ts.map +1 -0
- package/dist/commands/__tests__/deploy-domain.test.js +41 -0
- package/dist/commands/__tests__/deploy-domain.test.js.map +1 -0
- package/dist/commands/__tests__/headless-smoke.test.d.ts +2 -0
- package/dist/commands/__tests__/headless-smoke.test.d.ts.map +1 -0
- package/dist/commands/__tests__/headless-smoke.test.js +110 -0
- package/dist/commands/__tests__/headless-smoke.test.js.map +1 -0
- package/dist/commands/auth.d.ts +2 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +77 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/cron.d.ts +2 -0
- package/dist/commands/cron.d.ts.map +1 -0
- package/dist/commands/cron.js +157 -0
- package/dist/commands/cron.js.map +1 -0
- package/dist/commands/db.d.ts +4 -0
- package/dist/commands/db.d.ts.map +1 -0
- package/dist/commands/db.js +63 -0
- package/dist/commands/db.js.map +1 -0
- package/dist/commands/deploy.d.ts +16 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +230 -150
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +289 -54
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/domain.d.ts.map +1 -1
- package/dist/commands/domain.js +52 -7
- package/dist/commands/domain.js.map +1 -1
- package/dist/commands/echo.d.ts +2 -0
- package/dist/commands/echo.d.ts.map +1 -0
- package/dist/commands/echo.js +227 -0
- package/dist/commands/echo.js.map +1 -0
- package/dist/commands/env.d.ts +3 -1
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/env.js +76 -50
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/init.d.ts +3 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +58 -11
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +50 -23
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logs.d.ts +3 -1
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +77 -21
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/mail.d.ts +2 -0
- package/dist/commands/mail.d.ts.map +1 -0
- package/dist/commands/mail.js +105 -0
- package/dist/commands/mail.js.map +1 -0
- package/dist/commands/open.d.ts.map +1 -1
- package/dist/commands/open.js +21 -1
- package/dist/commands/open.js.map +1 -1
- package/dist/commands/preview.d.ts +22 -0
- package/dist/commands/preview.d.ts.map +1 -0
- package/dist/commands/preview.js +223 -0
- package/dist/commands/preview.js.map +1 -0
- package/dist/commands/status.d.ts +3 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +62 -12
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/upgrade.d.ts.map +1 -1
- package/dist/commands/upgrade.js +73 -10
- package/dist/commands/upgrade.js.map +1 -1
- package/dist/commands/use.d.ts +2 -0
- package/dist/commands/use.d.ts.map +1 -0
- package/dist/commands/use.js +108 -0
- package/dist/commands/use.js.map +1 -0
- package/dist/commands/vault.d.ts +2 -0
- package/dist/commands/vault.d.ts.map +1 -0
- package/dist/commands/vault.js +119 -0
- package/dist/commands/vault.js.map +1 -0
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +12 -1
- package/dist/commands/whoami.js.map +1 -1
- package/dist/index.js +117 -14
- package/dist/index.js.map +1 -1
- package/dist/lib/__tests__/build-runner.test.d.ts +2 -0
- package/dist/lib/__tests__/build-runner.test.d.ts.map +1 -0
- package/dist/lib/__tests__/build-runner.test.js +119 -0
- package/dist/lib/__tests__/build-runner.test.js.map +1 -0
- package/dist/lib/__tests__/cron-tail.test.d.ts +2 -0
- package/dist/lib/__tests__/cron-tail.test.d.ts.map +1 -0
- package/dist/lib/__tests__/cron-tail.test.js +27 -0
- package/dist/lib/__tests__/cron-tail.test.js.map +1 -0
- package/dist/lib/__tests__/detect-static-framework.test.d.ts +2 -0
- package/dist/lib/__tests__/detect-static-framework.test.d.ts.map +1 -0
- package/dist/lib/__tests__/detect-static-framework.test.js +146 -0
- package/dist/lib/__tests__/detect-static-framework.test.js.map +1 -0
- package/dist/lib/__tests__/errors.test.d.ts +2 -0
- package/dist/lib/__tests__/errors.test.d.ts.map +1 -0
- package/dist/lib/__tests__/errors.test.js +56 -0
- package/dist/lib/__tests__/errors.test.js.map +1 -0
- package/dist/lib/__tests__/interactive.test.d.ts +2 -0
- package/dist/lib/__tests__/interactive.test.d.ts.map +1 -0
- package/dist/lib/__tests__/interactive.test.js +79 -0
- package/dist/lib/__tests__/interactive.test.js.map +1 -0
- package/dist/lib/__tests__/output.test.d.ts +2 -0
- package/dist/lib/__tests__/output.test.d.ts.map +1 -0
- package/dist/lib/__tests__/output.test.js +144 -0
- package/dist/lib/__tests__/output.test.js.map +1 -0
- package/dist/lib/__tests__/prepare-artifact.test.d.ts +2 -0
- package/dist/lib/__tests__/prepare-artifact.test.d.ts.map +1 -0
- package/dist/lib/__tests__/prepare-artifact.test.js +55 -0
- package/dist/lib/__tests__/prepare-artifact.test.js.map +1 -0
- package/dist/lib/__tests__/preview-args.test.d.ts +2 -0
- package/dist/lib/__tests__/preview-args.test.d.ts.map +1 -0
- package/dist/lib/__tests__/preview-args.test.js +37 -0
- package/dist/lib/__tests__/preview-args.test.js.map +1 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +22 -4
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/ask.d.ts +15 -0
- package/dist/lib/ask.d.ts.map +1 -0
- package/dist/lib/ask.js +24 -0
- package/dist/lib/ask.js.map +1 -0
- package/dist/lib/build-runner.d.ts +25 -0
- package/dist/lib/build-runner.d.ts.map +1 -0
- package/dist/lib/build-runner.js +141 -0
- package/dist/lib/build-runner.js.map +1 -0
- package/dist/lib/config.d.ts +6 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +7 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/cron-tail.d.ts +10 -0
- package/dist/lib/cron-tail.d.ts.map +1 -0
- package/dist/lib/cron-tail.js +5 -0
- package/dist/lib/cron-tail.js.map +1 -0
- package/dist/lib/detect-static-framework.d.ts +31 -0
- package/dist/lib/detect-static-framework.d.ts.map +1 -0
- package/dist/lib/detect-static-framework.js +96 -0
- package/dist/lib/detect-static-framework.js.map +1 -0
- package/dist/lib/env-parse.d.ts +48 -0
- package/dist/lib/env-parse.d.ts.map +1 -0
- package/dist/lib/env-parse.js +91 -0
- package/dist/lib/env-parse.js.map +1 -0
- package/dist/lib/errors.d.ts +111 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +64 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/file-walker.d.ts +23 -0
- package/dist/lib/file-walker.d.ts.map +1 -0
- package/dist/lib/file-walker.js +114 -0
- package/dist/lib/file-walker.js.map +1 -0
- package/dist/lib/interactive.d.ts +13 -0
- package/dist/lib/interactive.d.ts.map +1 -0
- package/dist/lib/interactive.js +24 -0
- package/dist/lib/interactive.js.map +1 -0
- package/dist/lib/output.d.ts +24 -0
- package/dist/lib/output.d.ts.map +1 -0
- package/dist/lib/output.js +71 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/prepare-artifact.d.ts +22 -0
- package/dist/lib/prepare-artifact.d.ts.map +1 -0
- package/dist/lib/prepare-artifact.js +26 -0
- package/dist/lib/prepare-artifact.js.map +1 -0
- package/dist/lib/preview-args.d.ts +20 -0
- package/dist/lib/preview-args.d.ts.map +1 -0
- package/dist/lib/preview-args.js +19 -0
- package/dist/lib/preview-args.js.map +1 -0
- package/dist/lib/safe-json.d.ts +7 -2
- package/dist/lib/safe-json.d.ts.map +1 -1
- package/dist/lib/safe-json.js +23 -4
- package/dist/lib/safe-json.js.map +1 -1
- package/dist/lib/update-check.d.ts +17 -0
- package/dist/lib/update-check.d.ts.map +1 -0
- package/dist/lib/update-check.js +81 -0
- package/dist/lib/update-check.js.map +1 -0
- package/dist/lib/upload-limits.d.ts +17 -0
- package/dist/lib/upload-limits.d.ts.map +1 -0
- package/dist/lib/upload-limits.js +17 -0
- package/dist/lib/upload-limits.js.map +1 -0
- package/dist/lib/zip-project.d.ts +19 -0
- package/dist/lib/zip-project.d.ts.map +1 -0
- package/dist/lib/zip-project.js +39 -0
- package/dist/lib/zip-project.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +16 -0
- package/dist/version.js.map +1 -0
- package/package.json +5 -8
package/dist/commands/deploy.js
CHANGED
|
@@ -2,116 +2,61 @@ import chalk from 'chalk';
|
|
|
2
2
|
import ora from 'ora';
|
|
3
3
|
import fs from 'node:fs';
|
|
4
4
|
import path from 'node:path';
|
|
5
|
-
import { execSync } from 'node:child_process';
|
|
6
|
-
import { createInterface } from 'node:readline';
|
|
7
|
-
import archiver from 'archiver';
|
|
8
5
|
import { getToken } from '../lib/config.js';
|
|
9
6
|
import { api, deploySignal } from '../lib/api.js';
|
|
10
7
|
import { resolveSlug } from '../lib/resolve-slug.js';
|
|
11
8
|
import { safeJson } from '../lib/safe-json.js';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const getGitInfo = () => {
|
|
34
|
-
try {
|
|
35
|
-
const hash = execSync('git rev-parse --short HEAD', { stdio: ['pipe', 'pipe', 'ignore'] }).toString().trim();
|
|
36
|
-
const message = execSync('git log -1 --pretty=%s', { stdio: ['pipe', 'pipe', 'ignore'] }).toString().trim();
|
|
37
|
-
const branch = execSync('git rev-parse --abbrev-ref HEAD', { stdio: ['pipe', 'pipe', 'ignore'] }).toString().trim();
|
|
38
|
-
return { hash, message, branch };
|
|
39
|
-
}
|
|
40
|
-
catch {
|
|
41
|
-
return { hash: null, message: null, branch: 'main' };
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
const zipDirectory = (dir) => {
|
|
45
|
-
return new Promise((resolve, reject) => {
|
|
46
|
-
const archive = archiver('zip', { zlib: { level: 9 } });
|
|
47
|
-
const chunks = [];
|
|
48
|
-
archive.on('data', (chunk) => chunks.push(chunk));
|
|
49
|
-
archive.on('end', () => resolve(Buffer.concat(chunks)));
|
|
50
|
-
archive.on('error', reject);
|
|
51
|
-
const MAX_DEPTH = 20;
|
|
52
|
-
// Add files, respecting ignores. Skips symlinks to prevent traversal attacks.
|
|
53
|
-
const addDir = (dirPath, prefix, depth = 0) => {
|
|
54
|
-
if (depth > MAX_DEPTH)
|
|
55
|
-
return;
|
|
56
|
-
const entries = fs.readdirSync(dirPath, { withFileTypes: true });
|
|
57
|
-
for (const entry of entries) {
|
|
58
|
-
if (IGNORE.includes(entry.name))
|
|
59
|
-
continue;
|
|
60
|
-
if (entry.name.startsWith('.') && entry.name !== '.htaccess')
|
|
61
|
-
continue;
|
|
62
|
-
// Skip symlinks entirely to prevent traversal outside the project root
|
|
63
|
-
if (entry.isSymbolicLink())
|
|
64
|
-
continue;
|
|
65
|
-
const fullPath = path.join(dirPath, entry.name);
|
|
66
|
-
const archivePath = prefix ? `${prefix}/${entry.name}` : entry.name;
|
|
67
|
-
if (entry.isFile()) {
|
|
68
|
-
archive.file(fullPath, { name: archivePath });
|
|
69
|
-
}
|
|
70
|
-
else if (entry.isDirectory()) {
|
|
71
|
-
addDir(fullPath, archivePath, depth + 1);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
addDir(dir, '');
|
|
76
|
-
archive.finalize();
|
|
77
|
-
});
|
|
9
|
+
import { getGitInfo, zipDirectory } from '../lib/zip-project.js';
|
|
10
|
+
import { SERVER_UPLOAD_CAP_BYTES, fmtMB } from '../lib/upload-limits.js';
|
|
11
|
+
import { parseEnvFile } from '../lib/env-parse.js';
|
|
12
|
+
import { prepareArtifact } from '../lib/prepare-artifact.js';
|
|
13
|
+
import { canPrompt } from '../lib/interactive.js';
|
|
14
|
+
import { ask } from '../lib/ask.js';
|
|
15
|
+
import { fail } from '../lib/output.js';
|
|
16
|
+
/**
|
|
17
|
+
* Decide whether to ask for a custom domain, and never reach for stdin when
|
|
18
|
+
* the answer is no. Pre-fix this logic was inline and called ask()
|
|
19
|
+
* unconditionally, which hung every headless caller on their first deploy:
|
|
20
|
+
* readline's callback never fires on EOF, so the promise never settled and
|
|
21
|
+
* the enclosing try/catch was inert, because hanging is not throwing.
|
|
22
|
+
*/
|
|
23
|
+
export const resolveCustomDomain = async (args) => {
|
|
24
|
+
if (args.current)
|
|
25
|
+
return null;
|
|
26
|
+
if (!args.canPrompt)
|
|
27
|
+
return null;
|
|
28
|
+
const answer = await args.ask(chalk.dim(' custom domain? (enter to skip): '));
|
|
29
|
+
return answer ? answer : null;
|
|
78
30
|
};
|
|
79
|
-
export const deploy = async () => {
|
|
31
|
+
export const deploy = async (opts = {}) => {
|
|
80
32
|
const token = getToken();
|
|
81
33
|
if (!token) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
34
|
+
fail('NOT_AUTHENTICATED', 'not logged in.', opts, {
|
|
35
|
+
stage: 'auth',
|
|
36
|
+
fix: { label: 'sign in', cmd: 'pushto login', prose: 'run {cmd} first.' },
|
|
37
|
+
});
|
|
85
38
|
}
|
|
86
39
|
const slug = resolveSlug();
|
|
87
40
|
if (!slug) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
41
|
+
fail('NO_PROJECT', 'no project here.', opts, {
|
|
42
|
+
fix: { label: 'get started', cmd: 'pushto init <name>', prose: 'run {cmd} to get started.' },
|
|
43
|
+
});
|
|
91
44
|
}
|
|
92
|
-
//
|
|
93
|
-
|
|
45
|
+
// Echo the slug + cwd up front so users in the wrong directory (stale
|
|
46
|
+
// .pushto from a project they forgot, or `pushto` accidentally run from
|
|
47
|
+
// a parent dir that has its own .pushto) catch the mistake BEFORE we
|
|
48
|
+
// zip and upload. Pre-fix the slug only surfaced in the success box at
|
|
49
|
+
// the end — by which point the wrong project had already been deployed.
|
|
50
|
+
console.log(chalk.dim('> deploying ') + chalk.cyan(slug) + chalk.dim(' from ') + chalk.dim(process.cwd()));
|
|
51
|
+
// Auto-import env vars before deploying. Prefer .env.production so users
|
|
52
|
+
// can keep local-only vars (e.g. ADMIN_PASSWORD that gates dev too) in .env
|
|
53
|
+
// without them silently leaking to remote on every push.
|
|
54
|
+
const envFiles = ['.env.production', '.env'];
|
|
94
55
|
for (const envFile of envFiles) {
|
|
95
56
|
const envPath = path.join(process.cwd(), envFile);
|
|
96
57
|
if (fs.existsSync(envPath)) {
|
|
97
58
|
const envContent = fs.readFileSync(envPath, 'utf-8');
|
|
98
|
-
const vars =
|
|
99
|
-
for (const line of envContent.split('\n')) {
|
|
100
|
-
const trimmed = line.trim();
|
|
101
|
-
if (!trimmed || trimmed.startsWith('#'))
|
|
102
|
-
continue;
|
|
103
|
-
const eqIdx = trimmed.indexOf('=');
|
|
104
|
-
if (eqIdx === -1)
|
|
105
|
-
continue;
|
|
106
|
-
const key = trimmed.slice(0, eqIdx).trim();
|
|
107
|
-
let value = trimmed.slice(eqIdx + 1).trim();
|
|
108
|
-
// Strip surrounding quotes
|
|
109
|
-
if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))) {
|
|
110
|
-
value = value.slice(1, -1);
|
|
111
|
-
}
|
|
112
|
-
if (key && value)
|
|
113
|
-
vars[key] = value;
|
|
114
|
-
}
|
|
59
|
+
const vars = parseEnvFile(envContent);
|
|
115
60
|
const count = Object.keys(vars).length;
|
|
116
61
|
if (count > 0) {
|
|
117
62
|
const envSpinner = ora(`found ${count} env vars in ${envFile} — importing...`).start();
|
|
@@ -122,7 +67,20 @@ export const deploy = async () => {
|
|
|
122
67
|
body: JSON.stringify({ vars }),
|
|
123
68
|
});
|
|
124
69
|
if (envRes.ok) {
|
|
125
|
-
|
|
70
|
+
const envData = await safeJson(envRes);
|
|
71
|
+
const imported = envData.imported ?? count;
|
|
72
|
+
const skipped = envData.skipped ?? [];
|
|
73
|
+
envSpinner.succeed(chalk.green(`> ${imported} env vars imported from ${envFile}`));
|
|
74
|
+
// Surface skipped keys so the user knows their app may be
|
|
75
|
+
// missing config — pre-fix the bulk PUT silently dropped
|
|
76
|
+
// anything that failed validation (key not [A-Z_], value
|
|
77
|
+
// > 10KB, value contained newlines).
|
|
78
|
+
if (skipped.length > 0) {
|
|
79
|
+
console.log(chalk.yellow(` ${skipped.length} skipped:`));
|
|
80
|
+
for (const s of skipped) {
|
|
81
|
+
console.log(chalk.dim(` ${s.key} → ${s.reason}`));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
126
84
|
}
|
|
127
85
|
else {
|
|
128
86
|
envSpinner.warn(chalk.yellow(`> couldn't import env vars (non-blocking)`));
|
|
@@ -140,51 +98,89 @@ export const deploy = async () => {
|
|
|
140
98
|
const projectRes = await api(`/cli/projects/${slug}`);
|
|
141
99
|
if (projectRes.ok) {
|
|
142
100
|
const projectData = await safeJson(projectRes);
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
101
|
+
const domain = await resolveCustomDomain({
|
|
102
|
+
current: projectData.customDomain,
|
|
103
|
+
canPrompt: canPrompt(opts),
|
|
104
|
+
ask,
|
|
105
|
+
});
|
|
106
|
+
if (domain) {
|
|
107
|
+
const domainSpinner = ora(`setting up ${domain}...`).start();
|
|
108
|
+
try {
|
|
109
|
+
const domRes = await api(`/cli/projects/${slug}/domain`, {
|
|
110
|
+
method: 'POST',
|
|
111
|
+
headers: { 'Content-Type': 'application/json' },
|
|
112
|
+
body: JSON.stringify({ domain }),
|
|
113
|
+
});
|
|
114
|
+
if (domRes.ok) {
|
|
115
|
+
const domData = await safeJson(domRes);
|
|
116
|
+
domainSpinner.succeed(chalk.green(`> ${domain} configured`));
|
|
117
|
+
if (domData.nameservers?.length) {
|
|
118
|
+
console.log(chalk.dim(' update your nameservers to:'));
|
|
119
|
+
for (const ns of domData.nameservers) {
|
|
120
|
+
console.log(chalk.cyan(` ${ns}`));
|
|
162
121
|
}
|
|
163
|
-
|
|
164
|
-
else {
|
|
165
|
-
const errData = await safeJson(domRes);
|
|
166
|
-
domainSpinner.warn(chalk.yellow(`> ${errData.error ?? 'could not set up domain'}`));
|
|
122
|
+
console.log('');
|
|
167
123
|
}
|
|
168
124
|
}
|
|
169
|
-
|
|
170
|
-
|
|
125
|
+
else {
|
|
126
|
+
const errData = await safeJson(domRes);
|
|
127
|
+
domainSpinner.warn(chalk.yellow(`> ${errData.error ?? 'could not set up domain'}`));
|
|
171
128
|
}
|
|
172
129
|
}
|
|
130
|
+
catch {
|
|
131
|
+
domainSpinner.warn(chalk.yellow('> domain setup skipped'));
|
|
132
|
+
}
|
|
173
133
|
}
|
|
174
134
|
}
|
|
175
135
|
}
|
|
176
136
|
catch { /* project check failed — continue with deploy */ }
|
|
137
|
+
// Static-output frameworks (vite, astro, gatsby, angular, cra, eleventy)
|
|
138
|
+
// build HERE, on this machine, and only the output ships. Everything
|
|
139
|
+
// else zips the cwd exactly as before.
|
|
140
|
+
const buildSpinner = ora('checking project...').start();
|
|
141
|
+
const prep = await prepareArtifact(process.cwd(), (line) => { buildSpinner.text = line; });
|
|
142
|
+
if (prep.kind === 'failed') {
|
|
143
|
+
buildSpinner.fail(chalk.red('> build failed.'));
|
|
144
|
+
console.log('');
|
|
145
|
+
console.log(chalk.red(' reason: ') + chalk.dim(prep.message));
|
|
146
|
+
if (prep.buildOutput.trim()) {
|
|
147
|
+
const tail = prep.buildOutput.trim().split('\n').slice(-40).join('\n');
|
|
148
|
+
console.log(chalk.dim(tail.replace(/^/gm, ' ')));
|
|
149
|
+
}
|
|
150
|
+
process.exit(1);
|
|
151
|
+
}
|
|
152
|
+
if (prep.kind === 'artifact') {
|
|
153
|
+
buildSpinner.succeed(chalk.green(`> built with ${prep.framework}`));
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
buildSpinner.stop();
|
|
157
|
+
}
|
|
177
158
|
const spinner = ora('zipping project...').start();
|
|
178
159
|
try {
|
|
179
160
|
const git = getGitInfo();
|
|
180
|
-
|
|
181
|
-
const zipBuffer = await zipDirectory(process.cwd());
|
|
161
|
+
const { buffer: zipBuffer, fileCount: zippedCount } = await zipDirectory(prep.zipDir);
|
|
182
162
|
const sizeBytes = zipBuffer.length;
|
|
183
163
|
const sizeMB = (sizeBytes / 1024 / 1024).toFixed(1);
|
|
184
|
-
//
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
164
|
+
// Catch empty uploads before we waste a roundtrip. A user in the wrong
|
|
165
|
+
// directory, or with everything gitignored, would otherwise get a
|
|
166
|
+
// server-side 400 ~30s later. Tell them up front + point them at the
|
|
167
|
+
// doctor command for diagnosis.
|
|
168
|
+
if (zippedCount === 0) {
|
|
169
|
+
spinner.fail(chalk.red('> no files found in this directory.'));
|
|
170
|
+
console.log(chalk.dim(' is your entire project in .gitignore? are you in the wrong directory?'));
|
|
171
|
+
console.log(chalk.dim(' run ') + chalk.cyan('pushto doctor') + chalk.dim(' to see what would be uploaded.'));
|
|
172
|
+
process.exit(1);
|
|
173
|
+
}
|
|
174
|
+
// Match the server cap exactly so we fail FAST (locally, instantly)
|
|
175
|
+
// instead of slow (after a 30-second upload that the server then 413s).
|
|
176
|
+
// Pre-fix the local cap was 500MB but the server cap is 50MB — uploads
|
|
177
|
+
// between 50MB and 500MB went up the wire and got rejected after the
|
|
178
|
+
// long upload finished, with a confusing "upload too large" error
|
|
179
|
+
// long after the user had walked away thinking it was working.
|
|
180
|
+
if (sizeBytes > SERVER_UPLOAD_CAP_BYTES) {
|
|
181
|
+
spinner.fail(chalk.red(`> deploy is ${fmtMB(sizeBytes)} — server cap is ${fmtMB(SERVER_UPLOAD_CAP_BYTES)}.`));
|
|
182
|
+
console.log(chalk.dim(' add large files (videos, datasets, build artifacts) to .gitignore or .pushtoignore.'));
|
|
183
|
+
console.log(chalk.dim(' run ') + chalk.cyan('pushto doctor') + chalk.dim(' to see the biggest files.'));
|
|
188
184
|
process.exit(1);
|
|
189
185
|
}
|
|
190
186
|
spinner.text = `uploading ${sizeMB}MB...`;
|
|
@@ -203,12 +199,31 @@ export const deploy = async () => {
|
|
|
203
199
|
process.exit(1);
|
|
204
200
|
}
|
|
205
201
|
const data = await safeJson(res);
|
|
206
|
-
|
|
207
|
-
//
|
|
202
|
+
// Don't trust the server's `data.message` here — it currently says
|
|
203
|
+
// "v1 live" even though for container apps, the build hasn't run yet.
|
|
204
|
+
// What we know for sure at this point is: the bundle uploaded.
|
|
205
|
+
spinner.succeed(chalk.green(`> v${data.deployment.version} uploaded (${data.deployment.fileCount} files)`));
|
|
206
|
+
if (prep.kind === 'artifact') {
|
|
207
|
+
prep.cleanup();
|
|
208
|
+
if (prep.typeWarnings) {
|
|
209
|
+
console.log('');
|
|
210
|
+
console.log(chalk.yellow(' heads up: your types have errors. the site is live and runs exactly like dev mode.'));
|
|
211
|
+
const tail = prep.typeWarnings.trim().split('\n').slice(-15).join('\n');
|
|
212
|
+
console.log(chalk.dim(tail.replace(/^/gm, ' ')));
|
|
213
|
+
console.log(chalk.dim(' fix them when you are ready. npm run build shows the full list.'));
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
let outcome = data.container ? 'container' : 'failed';
|
|
217
|
+
let failureDetail = null;
|
|
208
218
|
let finalUrl = data.url;
|
|
209
|
-
let
|
|
210
|
-
|
|
211
|
-
|
|
219
|
+
let containerDeployed = data.container != null;
|
|
220
|
+
// The deploy route's build duration — the upload response's number is
|
|
221
|
+
// just the upload time, and the summary box printing "deployed in 2s"
|
|
222
|
+
// for a 90-second container build was a lie by omission.
|
|
223
|
+
let containerBuildDuration = null;
|
|
224
|
+
if (!data.container) {
|
|
225
|
+
// Try dynamic deploy — server will return 403 if it's a free tier
|
|
226
|
+
// user (static-only) or 200 with no container if it's a static site.
|
|
212
227
|
const deploySpinner = ora('detecting framework...').start();
|
|
213
228
|
try {
|
|
214
229
|
const deployRes = await api(`/cli/projects/${slug}/deploy`, {
|
|
@@ -218,41 +233,103 @@ export const deploy = async () => {
|
|
|
218
233
|
commitHash: git.hash,
|
|
219
234
|
commitMessage: git.message,
|
|
220
235
|
branch: git.branch,
|
|
236
|
+
builtFramework: prep.kind === 'artifact' ? prep.framework : undefined,
|
|
221
237
|
}),
|
|
222
238
|
signal: deploySignal(),
|
|
223
239
|
});
|
|
224
240
|
if (deployRes.ok) {
|
|
225
241
|
const deployData = await safeJson(deployRes);
|
|
226
|
-
if (deployData.
|
|
227
|
-
|
|
242
|
+
if (deployData.container) {
|
|
243
|
+
outcome = 'container';
|
|
244
|
+
containerDeployed = true;
|
|
228
245
|
finalUrl = deployData.url ?? finalUrl;
|
|
229
246
|
const fw = deployData.deployment?.framework ?? 'dynamic';
|
|
230
247
|
const dur = deployData.deployment?.buildDuration ?? 0;
|
|
231
|
-
|
|
248
|
+
containerBuildDuration = deployData.deployment?.buildDuration ?? null;
|
|
249
|
+
deploySpinner.succeed(chalk.green(`> deployed as ${fw} (${dur}s)`));
|
|
232
250
|
}
|
|
233
251
|
else {
|
|
234
|
-
|
|
235
|
-
|
|
252
|
+
outcome = 'static';
|
|
253
|
+
const label = prep.kind === 'artifact' ? `${prep.framework} build` : 'static site';
|
|
254
|
+
deploySpinner.succeed(chalk.green(`> ${label} live`));
|
|
255
|
+
if (deployData.message && deployData.message.includes('container was stopped')) {
|
|
256
|
+
console.log(chalk.yellow(` ${deployData.message}`));
|
|
257
|
+
}
|
|
236
258
|
}
|
|
237
259
|
}
|
|
260
|
+
else if (deployRes.status === 403) {
|
|
261
|
+
// After the server's detect-before-gate reorder, 403 means one
|
|
262
|
+
// thing: genuinely dynamic project, free tier. Printing static
|
|
263
|
+
// success here was a lie (raw server source served as files).
|
|
264
|
+
const gateData = await safeJson(deployRes);
|
|
265
|
+
outcome = 'failed';
|
|
266
|
+
failureDetail = gateData.error ?? 'dynamic deploys are a paid feature.';
|
|
267
|
+
deploySpinner.fail(chalk.red('> this project needs a server'));
|
|
268
|
+
}
|
|
269
|
+
else if (deployRes.status === 504) {
|
|
270
|
+
// Server gave up waiting after 10 minutes, but the deploy-agent
|
|
271
|
+
// is still processing the build. Show a non-failure message and
|
|
272
|
+
// exit 0 — the user can poll the dashboard for completion.
|
|
273
|
+
outcome = 'still-building';
|
|
274
|
+
deploySpinner.warn(chalk.yellow('> still building — taking longer than usual'));
|
|
275
|
+
}
|
|
276
|
+
else if (deployRes.status === 409) {
|
|
277
|
+
// Server refused to start a second concurrent build for the same
|
|
278
|
+
// version (another `pushto deploy` is already mid-build). Treat
|
|
279
|
+
// as a non-failure — the previous build will land any moment.
|
|
280
|
+
// Server includes `stillBuilding: true` for parity with 504.
|
|
281
|
+
const conflictData = await safeJson(deployRes);
|
|
282
|
+
outcome = 'still-building';
|
|
283
|
+
deploySpinner.warn(chalk.yellow(`> ${conflictData.error ?? 'a build for this version is already in progress'}`));
|
|
284
|
+
}
|
|
238
285
|
else {
|
|
286
|
+
// Real failure (build failed, container crashed, etc.)
|
|
239
287
|
const errData = await safeJson(deployRes);
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
}
|
|
244
|
-
else {
|
|
245
|
-
deploySpinner.warn(chalk.yellow(`> ${errData.error ?? 'framework deploy skipped'}`));
|
|
246
|
-
}
|
|
288
|
+
outcome = 'failed';
|
|
289
|
+
failureDetail = errData.error ?? `server returned ${deployRes.status}`;
|
|
290
|
+
deploySpinner.fail(chalk.red(`> deploy failed`));
|
|
247
291
|
}
|
|
248
292
|
}
|
|
249
|
-
catch {
|
|
250
|
-
|
|
293
|
+
catch (err) {
|
|
294
|
+
outcome = 'failed';
|
|
295
|
+
failureDetail = err instanceof Error ? err.message : 'network error during deploy';
|
|
296
|
+
deploySpinner.fail(chalk.red(`> deploy failed`));
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
// Surface failures honestly — no success box for a broken deploy.
|
|
300
|
+
if (outcome === 'failed') {
|
|
301
|
+
console.log('');
|
|
302
|
+
if (failureDetail) {
|
|
303
|
+
console.log(chalk.red(' reason: ') + chalk.dim(failureDetail));
|
|
251
304
|
}
|
|
305
|
+
console.log('');
|
|
306
|
+
console.log(chalk.dim(' see what went wrong:'));
|
|
307
|
+
console.log(` ${chalk.cyan('pushto logs')}`);
|
|
308
|
+
console.log(` ${chalk.cyan(`https://pushto.host/dashboard/projects/${slug}`)}`);
|
|
309
|
+
console.log('');
|
|
310
|
+
process.exit(1);
|
|
311
|
+
}
|
|
312
|
+
// Build's still going — exit 0 with a clear "check the dashboard" hint.
|
|
313
|
+
// This isn't a failure path: the bundle uploaded, the agent claimed it,
|
|
314
|
+
// and the build is just slower than the route's poll budget. The
|
|
315
|
+
// dashboard will reflect LIVE/FAILED whenever the agent finishes.
|
|
316
|
+
if (outcome === 'still-building') {
|
|
317
|
+
console.log('');
|
|
318
|
+
console.log(chalk.yellow(' your deploy is taking a while.'));
|
|
319
|
+
console.log(chalk.dim(' the build is still running — we just stopped waiting on it.'));
|
|
320
|
+
console.log('');
|
|
321
|
+
console.log(chalk.dim(' watch it finish:'));
|
|
322
|
+
console.log(` ${chalk.cyan(`pushto logs`)}`);
|
|
323
|
+
console.log(` ${chalk.cyan(`https://pushto.host/dashboard/projects/${slug}`)}`);
|
|
324
|
+
console.log('');
|
|
325
|
+
// Exit 0 — the deploy isn't broken; we just timed out the wait.
|
|
326
|
+
// CI scripts that check exit code shouldn't treat this as a failure.
|
|
327
|
+
return;
|
|
252
328
|
}
|
|
253
|
-
// Build the summary box
|
|
329
|
+
// Build the summary box. Container deploys report the build step's real
|
|
330
|
+
// duration; the upload response's number only covers the upload.
|
|
254
331
|
const version = `v${data.deployment.version}`;
|
|
255
|
-
const duration = `${data.deployment.buildDuration}s`;
|
|
332
|
+
const duration = `${containerBuildDuration ?? data.deployment.buildDuration}s`;
|
|
256
333
|
const fileCount = data.deployment.fileCount;
|
|
257
334
|
const url = finalUrl;
|
|
258
335
|
const commitLine = git.hash ? `${git.hash} ${git.message ?? ''}` : null;
|
|
@@ -260,8 +337,8 @@ export const deploy = async () => {
|
|
|
260
337
|
`${chalk.green(version)} deployed in ${chalk.cyan(duration)}`,
|
|
261
338
|
`${chalk.dim(String(fileCount) + ' files')} ${chalk.dim('•')} ${chalk.cyan(url)}`,
|
|
262
339
|
];
|
|
263
|
-
if (
|
|
264
|
-
lines.push(chalk.dim('running
|
|
340
|
+
if (containerDeployed) {
|
|
341
|
+
lines.push(chalk.dim('container running'));
|
|
265
342
|
}
|
|
266
343
|
if (commitLine) {
|
|
267
344
|
lines.push(chalk.dim(commitLine));
|
|
@@ -307,6 +384,7 @@ export const deploy = async () => {
|
|
|
307
384
|
url: job.url,
|
|
308
385
|
schedule: job.schedule,
|
|
309
386
|
method: job.method ?? 'POST',
|
|
387
|
+
...(typeof job.secret === 'string' && job.secret ? { secret: job.secret } : {}),
|
|
310
388
|
}),
|
|
311
389
|
});
|
|
312
390
|
if (cronRes.ok) {
|
|
@@ -327,6 +405,8 @@ export const deploy = async () => {
|
|
|
327
405
|
}
|
|
328
406
|
}
|
|
329
407
|
catch (err) {
|
|
408
|
+
if (prep.kind === 'artifact')
|
|
409
|
+
prep.cleanup();
|
|
330
410
|
const msg = err instanceof Error ? err.message : 'unknown error';
|
|
331
411
|
spinner.fail(chalk.red(`> deploy failed: ${msg}`));
|
|
332
412
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,MAAM,QAAa,OAAO,CAAC,IAAI,CA2c3C,CAAC"}
|