@supatype/cli 0.1.0-alpha.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/.turbo/turbo-build.log +4 -0
- package/.turbo/turbo-test.log +7 -0
- package/.turbo/turbo-typecheck.log +4 -0
- package/bin/dev-entry.ts +2 -0
- package/bin/supatype.js +5 -0
- package/dist/app/framework.d.ts +44 -0
- package/dist/app/framework.d.ts.map +1 -0
- package/dist/app/framework.js +200 -0
- package/dist/app/framework.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +55 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/admin.d.ts +4 -0
- package/dist/commands/admin.d.ts.map +1 -0
- package/dist/commands/admin.js +270 -0
- package/dist/commands/admin.js.map +1 -0
- package/dist/commands/app.d.ts +3 -0
- package/dist/commands/app.d.ts.map +1 -0
- package/dist/commands/app.js +235 -0
- package/dist/commands/app.js.map +1 -0
- package/dist/commands/cloud.d.ts +3 -0
- package/dist/commands/cloud.d.ts.map +1 -0
- package/dist/commands/cloud.js +256 -0
- package/dist/commands/cloud.js.map +1 -0
- package/dist/commands/db.d.ts +8 -0
- package/dist/commands/db.d.ts.map +1 -0
- package/dist/commands/db.js +123 -0
- package/dist/commands/db.js.map +1 -0
- package/dist/commands/deploy-types.d.ts +14 -0
- package/dist/commands/deploy-types.d.ts.map +1 -0
- package/dist/commands/deploy-types.js +38 -0
- package/dist/commands/deploy-types.js.map +1 -0
- package/dist/commands/deploy.d.ts +14 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +295 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/dev.d.ts +3 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +428 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/diff.d.ts +3 -0
- package/dist/commands/diff.d.ts.map +1 -0
- package/dist/commands/diff.js +39 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/engine.d.ts +9 -0
- package/dist/commands/engine.d.ts.map +1 -0
- package/dist/commands/engine.js +99 -0
- package/dist/commands/engine.js.map +1 -0
- package/dist/commands/functions.d.ts +3 -0
- package/dist/commands/functions.d.ts.map +1 -0
- package/dist/commands/functions.js +762 -0
- package/dist/commands/functions.js.map +1 -0
- package/dist/commands/generate.d.ts +3 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +28 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/init.d.ts +7 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +515 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/keys.d.ts +4 -0
- package/dist/commands/keys.d.ts.map +1 -0
- package/dist/commands/keys.js +57 -0
- package/dist/commands/keys.js.map +1 -0
- package/dist/commands/logs.d.ts +6 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +52 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/migrate.d.ts +3 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +71 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/plugins.d.ts +3 -0
- package/dist/commands/plugins.d.ts.map +1 -0
- package/dist/commands/plugins.js +431 -0
- package/dist/commands/plugins.js.map +1 -0
- package/dist/commands/pull.d.ts +3 -0
- package/dist/commands/pull.d.ts.map +1 -0
- package/dist/commands/pull.js +73 -0
- package/dist/commands/pull.js.map +1 -0
- package/dist/commands/push.d.ts +3 -0
- package/dist/commands/push.d.ts.map +1 -0
- package/dist/commands/push.js +87 -0
- package/dist/commands/push.js.map +1 -0
- package/dist/commands/seed.d.ts +3 -0
- package/dist/commands/seed.d.ts.map +1 -0
- package/dist/commands/seed.js +22 -0
- package/dist/commands/seed.js.map +1 -0
- package/dist/commands/self-host.d.ts +3 -0
- package/dist/commands/self-host.d.ts.map +1 -0
- package/dist/commands/self-host.js +796 -0
- package/dist/commands/self-host.js.map +1 -0
- package/dist/commands/status.d.ts +6 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +69 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/config.d.ts +106 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +66 -0
- package/dist/config.js.map +1 -0
- package/dist/engine/cache.d.ts +37 -0
- package/dist/engine/cache.d.ts.map +1 -0
- package/dist/engine/cache.js +121 -0
- package/dist/engine/cache.js.map +1 -0
- package/dist/engine/download.d.ts +19 -0
- package/dist/engine/download.d.ts.map +1 -0
- package/dist/engine/download.js +108 -0
- package/dist/engine/download.js.map +1 -0
- package/dist/engine/platform.d.ts +24 -0
- package/dist/engine/platform.d.ts.map +1 -0
- package/dist/engine/platform.js +50 -0
- package/dist/engine/platform.js.map +1 -0
- package/dist/engine/resolve.d.ts +37 -0
- package/dist/engine/resolve.d.ts.map +1 -0
- package/dist/engine/resolve.js +133 -0
- package/dist/engine/resolve.js.map +1 -0
- package/dist/engine/update-notify.d.ts +11 -0
- package/dist/engine/update-notify.d.ts.map +1 -0
- package/dist/engine/update-notify.js +43 -0
- package/dist/engine/update-notify.js.map +1 -0
- package/dist/engine/verify.d.ts +50 -0
- package/dist/engine/verify.d.ts.map +1 -0
- package/dist/engine/verify.js +161 -0
- package/dist/engine/verify.js.map +1 -0
- package/dist/engine-version.d.ts +35 -0
- package/dist/engine-version.d.ts.map +1 -0
- package/dist/engine-version.js +35 -0
- package/dist/engine-version.js.map +1 -0
- package/dist/engine.d.ts +34 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +76 -0
- package/dist/engine.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/jwt.d.ts +3 -0
- package/dist/jwt.d.ts.map +1 -0
- package/dist/jwt.js +13 -0
- package/dist/jwt.js.map +1 -0
- package/dist/pull-utils.d.ts +16 -0
- package/dist/pull-utils.d.ts.map +1 -0
- package/dist/pull-utils.js +65 -0
- package/dist/pull-utils.js.map +1 -0
- package/dist/scripts/postinstall.d.ts +12 -0
- package/dist/scripts/postinstall.d.ts.map +1 -0
- package/dist/scripts/postinstall.js +31 -0
- package/dist/scripts/postinstall.js.map +1 -0
- package/dist/tsx-runner.d.ts +18 -0
- package/dist/tsx-runner.d.ts.map +1 -0
- package/dist/tsx-runner.js +62 -0
- package/dist/tsx-runner.js.map +1 -0
- package/package.json +36 -0
- package/src/app/framework.ts +249 -0
- package/src/cli.ts +58 -0
- package/src/commands/admin.ts +371 -0
- package/src/commands/app.ts +261 -0
- package/src/commands/cloud.ts +326 -0
- package/src/commands/db.ts +145 -0
- package/src/commands/deploy-types.ts +49 -0
- package/src/commands/deploy.ts +366 -0
- package/src/commands/dev.ts +477 -0
- package/src/commands/diff.ts +61 -0
- package/src/commands/engine.ts +133 -0
- package/src/commands/functions.ts +919 -0
- package/src/commands/generate.ts +31 -0
- package/src/commands/init.ts +532 -0
- package/src/commands/keys.ts +66 -0
- package/src/commands/logs.ts +58 -0
- package/src/commands/migrate.ts +83 -0
- package/src/commands/plugins.ts +508 -0
- package/src/commands/pull.ts +96 -0
- package/src/commands/push.ts +119 -0
- package/src/commands/seed.ts +26 -0
- package/src/commands/self-host.ts +932 -0
- package/src/commands/status.ts +83 -0
- package/src/config.ts +190 -0
- package/src/engine/cache.ts +135 -0
- package/src/engine/download.ts +143 -0
- package/src/engine/platform.ts +66 -0
- package/src/engine/resolve.ts +197 -0
- package/src/engine/update-notify.ts +50 -0
- package/src/engine/verify.ts +206 -0
- package/src/engine-version.ts +39 -0
- package/src/engine.ts +99 -0
- package/src/index.ts +19 -0
- package/src/jwt.ts +14 -0
- package/src/pull-utils.ts +57 -0
- package/src/scripts/postinstall.ts +40 -0
- package/src/tsx-runner.ts +79 -0
- package/tests/cli-help.test.ts +107 -0
- package/tests/config.test.ts +117 -0
- package/tests/engine-distribution.test.ts +418 -0
- package/tests/init.test.ts +184 -0
- package/tests/keys.test.ts +160 -0
- package/tests/pull-utils.test.ts +115 -0
- package/tests/tsx-runner.test.ts +66 -0
- package/tsconfig.json +10 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database connection commands:
|
|
3
|
+
* supatype db connection-string — show the connection string for the linked project
|
|
4
|
+
* supatype db reset-password — reset the database password
|
|
5
|
+
*/
|
|
6
|
+
import { loadConfig } from "../config.js";
|
|
7
|
+
export function registerDb(program) {
|
|
8
|
+
const db = program
|
|
9
|
+
.command("db")
|
|
10
|
+
.description("Database connection management");
|
|
11
|
+
// supatype db connection-string
|
|
12
|
+
db
|
|
13
|
+
.command("connection-string")
|
|
14
|
+
.description("Show the database connection string for the linked project")
|
|
15
|
+
.option("--transaction", "Show the transaction pool URL (for serverless/edge functions)")
|
|
16
|
+
.option("--env <name>", "Environment name", "production")
|
|
17
|
+
.action(async (opts) => {
|
|
18
|
+
const cwd = process.cwd();
|
|
19
|
+
const config = loadConfig(cwd);
|
|
20
|
+
// The connection string is stored in the project config or fetched from cloud
|
|
21
|
+
if (config.connection) {
|
|
22
|
+
if (opts.transaction) {
|
|
23
|
+
// Convert session URL to transaction pool URL (port 6432)
|
|
24
|
+
const txUrl = config.connection.replace(/:5432\//, ":6432/");
|
|
25
|
+
console.log(txUrl);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
console.log(config.connection);
|
|
29
|
+
}
|
|
30
|
+
console.log();
|
|
31
|
+
console.log("Session mode (port 5432): for interactive tools (psql, DataGrip, TablePlus)");
|
|
32
|
+
console.log("Transaction mode (port 6432): for application servers and serverless functions");
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
// If linked to a cloud project, fetch from the API
|
|
36
|
+
if (config.projectRef) {
|
|
37
|
+
const apiUrl = config.apiUrl || "https://api.supatype.io";
|
|
38
|
+
const envName = opts.env || "production";
|
|
39
|
+
try {
|
|
40
|
+
const res = await fetch(`${apiUrl}/platform/v1/projects/${config.projectRef}/environments`, {
|
|
41
|
+
headers: {
|
|
42
|
+
Authorization: `Bearer ${config.accessToken || process.env["SUPATYPE_ACCESS_TOKEN"] || ""}`,
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
if (!res.ok) {
|
|
46
|
+
console.error(`Failed to fetch project info: ${res.status}`);
|
|
47
|
+
process.exitCode = 1;
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const { data } = (await res.json());
|
|
51
|
+
const env = data.find((e) => e.name === envName);
|
|
52
|
+
if (!env) {
|
|
53
|
+
console.error(`Environment "${envName}" not found`);
|
|
54
|
+
process.exitCode = 1;
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const connStr = env.databaseUrl || "Connection string not available";
|
|
58
|
+
if (opts.transaction) {
|
|
59
|
+
console.log(connStr.replace(/:5432\//, ":6432/"));
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
console.log(connStr);
|
|
63
|
+
}
|
|
64
|
+
console.log();
|
|
65
|
+
console.log("Session mode (port 5432): for interactive tools (psql, DataGrip, TablePlus)");
|
|
66
|
+
console.log("Transaction mode (port 6432): for application servers and serverless functions");
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
console.error("Failed to fetch connection string:", err.message);
|
|
70
|
+
process.exitCode = 1;
|
|
71
|
+
}
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
console.error("No connection configured. Either:\n" +
|
|
75
|
+
" • Set 'connection' in supatype.config.ts\n" +
|
|
76
|
+
" • Link to a cloud project: npx supatype link --project <ref>");
|
|
77
|
+
process.exitCode = 1;
|
|
78
|
+
});
|
|
79
|
+
// supatype db reset-password
|
|
80
|
+
db
|
|
81
|
+
.command("reset-password")
|
|
82
|
+
.description("Reset the database password for the linked project")
|
|
83
|
+
.option("--env <name>", "Environment name", "production")
|
|
84
|
+
.action(async (opts) => {
|
|
85
|
+
const cwd = process.cwd();
|
|
86
|
+
const config = loadConfig(cwd);
|
|
87
|
+
if (!config.projectRef) {
|
|
88
|
+
console.error("Not linked to a cloud project. Run: npx supatype link --project <ref>");
|
|
89
|
+
process.exitCode = 1;
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const apiUrl = config.apiUrl || "https://api.supatype.io";
|
|
93
|
+
const envName = opts.env || "production";
|
|
94
|
+
try {
|
|
95
|
+
const res = await fetch(`${apiUrl}/platform/v1/projects/${config.projectRef}/environments/${envName}/reset-db-password`, {
|
|
96
|
+
method: "POST",
|
|
97
|
+
headers: {
|
|
98
|
+
Authorization: `Bearer ${config.accessToken || process.env["SUPATYPE_ACCESS_TOKEN"] || ""}`,
|
|
99
|
+
"Content-Type": "application/json",
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
if (!res.ok) {
|
|
103
|
+
const body = await res.text();
|
|
104
|
+
console.error(`Failed to reset password: ${res.status} ${body}`);
|
|
105
|
+
process.exitCode = 1;
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const { data } = (await res.json());
|
|
109
|
+
console.log("Database password reset successfully.");
|
|
110
|
+
console.log();
|
|
111
|
+
console.log(`New password: ${data.password}`);
|
|
112
|
+
console.log(`Connection string: ${data.connectionString}`);
|
|
113
|
+
console.log();
|
|
114
|
+
console.log("Warning: Existing database connections have been terminated.");
|
|
115
|
+
console.log("Update your application with the new connection string.");
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
console.error("Failed to reset password:", err.message);
|
|
119
|
+
process.exitCode = 1;
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=db.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/commands/db.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deployment tier limits for static site hosting.
|
|
3
|
+
*/
|
|
4
|
+
export type Tier = "free" | "pro" | "team" | "enterprise";
|
|
5
|
+
export interface DeploymentLimits {
|
|
6
|
+
maxBuildOutputMb: number;
|
|
7
|
+
buildMinutesPerMonth: number;
|
|
8
|
+
maxPreviewDeployments: number;
|
|
9
|
+
deploymentRetention: number;
|
|
10
|
+
cdnEnabled: boolean;
|
|
11
|
+
buildMinuteOverageRate: number;
|
|
12
|
+
}
|
|
13
|
+
export declare const TIER_LIMITS: Record<Tier, DeploymentLimits>;
|
|
14
|
+
//# sourceMappingURL=deploy-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-types.d.ts","sourceRoot":"","sources":["../../src/commands/deploy-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,YAAY,CAAA;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,qBAAqB,EAAE,MAAM,CAAA;IAC7B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,UAAU,EAAE,OAAO,CAAA;IACnB,sBAAsB,EAAE,MAAM,CAAA;CAC/B;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAiCtD,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deployment tier limits for static site hosting.
|
|
3
|
+
*/
|
|
4
|
+
export const TIER_LIMITS = {
|
|
5
|
+
free: {
|
|
6
|
+
maxBuildOutputMb: 50,
|
|
7
|
+
buildMinutesPerMonth: 100,
|
|
8
|
+
maxPreviewDeployments: 1,
|
|
9
|
+
deploymentRetention: 3,
|
|
10
|
+
cdnEnabled: false,
|
|
11
|
+
buildMinuteOverageRate: 0,
|
|
12
|
+
},
|
|
13
|
+
pro: {
|
|
14
|
+
maxBuildOutputMb: 500,
|
|
15
|
+
buildMinutesPerMonth: 1000,
|
|
16
|
+
maxPreviewDeployments: 5,
|
|
17
|
+
deploymentRetention: 10,
|
|
18
|
+
cdnEnabled: true,
|
|
19
|
+
buildMinuteOverageRate: 0.01,
|
|
20
|
+
},
|
|
21
|
+
team: {
|
|
22
|
+
maxBuildOutputMb: 2048,
|
|
23
|
+
buildMinutesPerMonth: 5000,
|
|
24
|
+
maxPreviewDeployments: 20,
|
|
25
|
+
deploymentRetention: 25,
|
|
26
|
+
cdnEnabled: true,
|
|
27
|
+
buildMinuteOverageRate: 0.01,
|
|
28
|
+
},
|
|
29
|
+
enterprise: {
|
|
30
|
+
maxBuildOutputMb: -1,
|
|
31
|
+
buildMinutesPerMonth: -1,
|
|
32
|
+
maxPreviewDeployments: -1,
|
|
33
|
+
deploymentRetention: -1,
|
|
34
|
+
cdnEnabled: true,
|
|
35
|
+
buildMinuteOverageRate: 0,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=deploy-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-types.js","sourceRoot":"","sources":["../../src/commands/deploy-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,MAAM,CAAC,MAAM,WAAW,GAAmC;IACzD,IAAI,EAAE;QACJ,gBAAgB,EAAE,EAAE;QACpB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,CAAC;QACxB,mBAAmB,EAAE,CAAC;QACtB,UAAU,EAAE,KAAK;QACjB,sBAAsB,EAAE,CAAC;KAC1B;IACD,GAAG,EAAE;QACH,gBAAgB,EAAE,GAAG;QACrB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,CAAC;QACxB,mBAAmB,EAAE,EAAE;QACvB,UAAU,EAAE,IAAI;QAChB,sBAAsB,EAAE,IAAI;KAC7B;IACD,IAAI,EAAE;QACJ,gBAAgB,EAAE,IAAI;QACtB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,EAAE;QACzB,mBAAmB,EAAE,EAAE;QACvB,UAAU,EAAE,IAAI;QAChB,sBAAsB,EAAE,IAAI;KAC7B;IACD,UAAU,EAAE;QACV,gBAAgB,EAAE,CAAC,CAAC;QACpB,oBAAoB,EAAE,CAAC,CAAC;QACxB,qBAAqB,EAAE,CAAC,CAAC;QACzB,mBAAmB,EAAE,CAAC,CAAC;QACvB,UAAU,EAAE,IAAI;QAChB,sBAAsB,EAAE,CAAC;KAC1B;CACF,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deploy commands:
|
|
3
|
+
* supatype deploy — push schema + build & deploy static site
|
|
4
|
+
* supatype deploy --app-only — only build & deploy the static site
|
|
5
|
+
* supatype deploy --schema-only — only push schema changes
|
|
6
|
+
* supatype deploy --skip-build — deploy existing build output (no build step)
|
|
7
|
+
* supatype deploy --preview — deploy to a preview URL
|
|
8
|
+
* supatype deploy rollback — roll back to previous deployment
|
|
9
|
+
* supatype deploy status — show current deployment info
|
|
10
|
+
* supatype deploy logs <version> — show build logs
|
|
11
|
+
*/
|
|
12
|
+
import type { Command } from "commander";
|
|
13
|
+
export declare function registerDeploy(program: Command): void;
|
|
14
|
+
//# sourceMappingURL=deploy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASxC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuPrD"}
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deploy commands:
|
|
3
|
+
* supatype deploy — push schema + build & deploy static site
|
|
4
|
+
* supatype deploy --app-only — only build & deploy the static site
|
|
5
|
+
* supatype deploy --schema-only — only push schema changes
|
|
6
|
+
* supatype deploy --skip-build — deploy existing build output (no build step)
|
|
7
|
+
* supatype deploy --preview — deploy to a preview URL
|
|
8
|
+
* supatype deploy rollback — roll back to previous deployment
|
|
9
|
+
* supatype deploy status — show current deployment info
|
|
10
|
+
* supatype deploy logs <version> — show build logs
|
|
11
|
+
*/
|
|
12
|
+
import { join } from "node:path";
|
|
13
|
+
import { loadConfig, loadSchemaAst } from "../config.js";
|
|
14
|
+
import { ensureEngine, invokeEngine } from "../engine.js";
|
|
15
|
+
import { resolveAppConfig, validateStaticMode, validateBuildOutput, detectPackageManager } from "../app/framework.js";
|
|
16
|
+
import { spawnSync } from "node:child_process";
|
|
17
|
+
export function registerDeploy(program) {
|
|
18
|
+
const deploy = program
|
|
19
|
+
.command("deploy")
|
|
20
|
+
.description("Build and deploy your application")
|
|
21
|
+
.option("--app-only", "Skip schema push, only deploy the static site")
|
|
22
|
+
.option("--schema-only", "Skip app build, only push schema changes")
|
|
23
|
+
.option("--skip-build", "Deploy existing build output without building")
|
|
24
|
+
.option("--preview", "Deploy to a temporary preview URL")
|
|
25
|
+
.option("--yes", "Skip confirmation prompts")
|
|
26
|
+
.action(async (opts) => {
|
|
27
|
+
const cwd = process.cwd();
|
|
28
|
+
const config = loadConfig(cwd);
|
|
29
|
+
// Step 1: Schema push (unless --app-only or --skip-build)
|
|
30
|
+
if (!opts.appOnly && !opts.skipBuild) {
|
|
31
|
+
console.log("=== Schema Push ===");
|
|
32
|
+
await ensureEngine();
|
|
33
|
+
const ast = loadSchemaAst(config.schema, cwd);
|
|
34
|
+
const diffResult = invokeEngine(["diff", "--connection", config.connection, "--format", "json"], JSON.stringify(ast));
|
|
35
|
+
if (diffResult.exitCode !== 0) {
|
|
36
|
+
console.error("Schema diff failed:", diffResult.stderr || diffResult.stdout);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
const diff = JSON.parse(diffResult.stdout);
|
|
40
|
+
const ops = diff.operations ?? [];
|
|
41
|
+
if (ops.length > 0) {
|
|
42
|
+
console.log(`${ops.length} schema change(s) to apply.`);
|
|
43
|
+
const migrateResult = invokeEngine(["migrate", "--connection", config.connection], JSON.stringify(ast));
|
|
44
|
+
if (migrateResult.exitCode !== 0) {
|
|
45
|
+
console.error("Migration failed:", migrateResult.stderr);
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
console.log("Schema changes applied.");
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
console.log("Schema is up to date.");
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// Step 2: App build & deploy (unless --schema-only)
|
|
55
|
+
if (!opts.schemaOnly) {
|
|
56
|
+
if (!config.app) {
|
|
57
|
+
if (opts.appOnly) {
|
|
58
|
+
console.error("No app configuration found in supatype.config.ts");
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
// No app config — just skip app deployment silently
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
console.log("\n=== App Build & Deploy ===");
|
|
65
|
+
const appConfig = resolveAppConfig(config.app, cwd);
|
|
66
|
+
// Validate static mode
|
|
67
|
+
const staticError = validateStaticMode(appConfig.framework, appConfig.directory);
|
|
68
|
+
if (staticError) {
|
|
69
|
+
console.error(staticError);
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
// Build step
|
|
73
|
+
if (!opts.skipBuild && appConfig.buildCommand) {
|
|
74
|
+
console.log(`Framework: ${appConfig.framework}`);
|
|
75
|
+
console.log(`Build command: ${appConfig.buildCommand}`);
|
|
76
|
+
console.log(`Output directory: ${appConfig.outputDirectory}`);
|
|
77
|
+
console.log();
|
|
78
|
+
// Inject environment variables
|
|
79
|
+
const buildEnv = {
|
|
80
|
+
...process.env,
|
|
81
|
+
...appConfig.env,
|
|
82
|
+
};
|
|
83
|
+
// Inject Supatype URLs if project is linked
|
|
84
|
+
if (config.projectRef) {
|
|
85
|
+
buildEnv["NEXT_PUBLIC_SUPATYPE_URL"] = config.apiUrl || `https://${config.projectRef}.supatype.io`;
|
|
86
|
+
buildEnv["VITE_SUPATYPE_URL"] = buildEnv["NEXT_PUBLIC_SUPATYPE_URL"];
|
|
87
|
+
buildEnv["PUBLIC_SUPATYPE_URL"] = buildEnv["NEXT_PUBLIC_SUPATYPE_URL"];
|
|
88
|
+
// NEVER inject service_role key — only anon key is safe for client-side
|
|
89
|
+
}
|
|
90
|
+
// Install dependencies
|
|
91
|
+
const pm = detectPackageManager(appConfig.directory);
|
|
92
|
+
console.log(`Installing dependencies (${pm})...`);
|
|
93
|
+
const installResult = spawnSync(pm, ["install"], {
|
|
94
|
+
cwd: appConfig.directory,
|
|
95
|
+
stdio: "inherit",
|
|
96
|
+
env: buildEnv,
|
|
97
|
+
timeout: 5 * 60 * 1000, // 5 minute timeout
|
|
98
|
+
});
|
|
99
|
+
if (installResult.status !== 0) {
|
|
100
|
+
console.error("Dependency installation failed.");
|
|
101
|
+
process.exit(1);
|
|
102
|
+
}
|
|
103
|
+
// Run build
|
|
104
|
+
console.log("\nBuilding...");
|
|
105
|
+
const [buildCmd, ...buildArgs] = appConfig.buildCommand.split(" ");
|
|
106
|
+
const buildResult = spawnSync(buildCmd, buildArgs, {
|
|
107
|
+
cwd: appConfig.directory,
|
|
108
|
+
stdio: "inherit",
|
|
109
|
+
env: buildEnv,
|
|
110
|
+
timeout: 10 * 60 * 1000, // 10 minute timeout
|
|
111
|
+
});
|
|
112
|
+
if (buildResult.status !== 0) {
|
|
113
|
+
console.error("Build failed.");
|
|
114
|
+
process.exit(1);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
// Validate build output
|
|
118
|
+
const maxSizeMb = 500; // Default, should be tier-aware in cloud
|
|
119
|
+
const validationError = validateBuildOutput(appConfig.outputDirectory, maxSizeMb);
|
|
120
|
+
if (validationError) {
|
|
121
|
+
console.error(validationError);
|
|
122
|
+
process.exit(1);
|
|
123
|
+
}
|
|
124
|
+
// Deploy
|
|
125
|
+
if (config.projectRef) {
|
|
126
|
+
// Cloud deployment — upload to API
|
|
127
|
+
await deployToCloud(config, appConfig.outputDirectory, opts.preview ?? false);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
// Self-host — copy to serving directory
|
|
131
|
+
deploySelfHost(appConfig.outputDirectory, cwd);
|
|
132
|
+
}
|
|
133
|
+
console.log("\nDeployment complete!");
|
|
134
|
+
if (config.projectRef) {
|
|
135
|
+
const url = opts.preview
|
|
136
|
+
? `https://preview-${Date.now().toString(36)}.${config.projectRef}.supatype.io`
|
|
137
|
+
: `https://${config.projectRef}.supatype.io`;
|
|
138
|
+
console.log(`URL: ${url}`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
// supatype deploy rollback
|
|
143
|
+
deploy
|
|
144
|
+
.command("rollback")
|
|
145
|
+
.description("Roll back to the previous static site deployment")
|
|
146
|
+
.action(async () => {
|
|
147
|
+
const config = loadConfig(process.cwd());
|
|
148
|
+
if (!config.projectRef) {
|
|
149
|
+
console.error("Not linked to a cloud project. Rollback is only available for cloud deployments.");
|
|
150
|
+
process.exit(1);
|
|
151
|
+
}
|
|
152
|
+
const apiUrl = config.apiUrl || "https://api.supatype.io";
|
|
153
|
+
const token = config.accessToken || process.env["SUPATYPE_ACCESS_TOKEN"] || "";
|
|
154
|
+
const res = await fetch(`${apiUrl}/platform/v1/projects/${config.projectRef}/deployments/rollback`, {
|
|
155
|
+
method: "POST",
|
|
156
|
+
headers: { Authorization: `Bearer ${token}`, "Content-Type": "application/json" },
|
|
157
|
+
});
|
|
158
|
+
if (!res.ok) {
|
|
159
|
+
const body = await res.text();
|
|
160
|
+
console.error(`Rollback failed: ${res.status} ${body}`);
|
|
161
|
+
process.exit(1);
|
|
162
|
+
}
|
|
163
|
+
const { data } = await res.json();
|
|
164
|
+
console.log(`Rolled back to deployment ${data.version}.`);
|
|
165
|
+
});
|
|
166
|
+
// supatype deploy status
|
|
167
|
+
deploy
|
|
168
|
+
.command("status")
|
|
169
|
+
.description("Show current deployment status")
|
|
170
|
+
.action(async () => {
|
|
171
|
+
const config = loadConfig(process.cwd());
|
|
172
|
+
if (!config.projectRef) {
|
|
173
|
+
console.error("Not linked to a cloud project.");
|
|
174
|
+
process.exit(1);
|
|
175
|
+
}
|
|
176
|
+
const apiUrl = config.apiUrl || "https://api.supatype.io";
|
|
177
|
+
const token = config.accessToken || process.env["SUPATYPE_ACCESS_TOKEN"] || "";
|
|
178
|
+
const res = await fetch(`${apiUrl}/platform/v1/projects/${config.projectRef}/deployments/current`, {
|
|
179
|
+
headers: { Authorization: `Bearer ${token}` },
|
|
180
|
+
});
|
|
181
|
+
if (!res.ok) {
|
|
182
|
+
console.error("No active deployment found.");
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
const { data } = await res.json();
|
|
186
|
+
console.log(`Deployment: ${data.version}`);
|
|
187
|
+
console.log(`Status: ${data.status}`);
|
|
188
|
+
console.log(`Deployed: ${data.timestamp}`);
|
|
189
|
+
console.log(`Size: ${(data.size / (1024 * 1024)).toFixed(1)}MB`);
|
|
190
|
+
console.log(`Build duration: ${data.buildDuration}s`);
|
|
191
|
+
console.log(`URL: ${data.url}`);
|
|
192
|
+
});
|
|
193
|
+
// supatype deploy logs <version>
|
|
194
|
+
deploy
|
|
195
|
+
.command("logs [version]")
|
|
196
|
+
.description("Show build logs for a deployment")
|
|
197
|
+
.action(async (version) => {
|
|
198
|
+
const config = loadConfig(process.cwd());
|
|
199
|
+
if (!config.projectRef) {
|
|
200
|
+
console.error("Not linked to a cloud project.");
|
|
201
|
+
process.exit(1);
|
|
202
|
+
}
|
|
203
|
+
const apiUrl = config.apiUrl || "https://api.supatype.io";
|
|
204
|
+
const token = config.accessToken || process.env["SUPATYPE_ACCESS_TOKEN"] || "";
|
|
205
|
+
const versionPath = version ? `/${version}` : "/current";
|
|
206
|
+
const res = await fetch(`${apiUrl}/platform/v1/projects/${config.projectRef}/deployments${versionPath}/logs`, {
|
|
207
|
+
headers: { Authorization: `Bearer ${token}` },
|
|
208
|
+
});
|
|
209
|
+
if (!res.ok) {
|
|
210
|
+
console.error("Logs not found.");
|
|
211
|
+
process.exit(1);
|
|
212
|
+
}
|
|
213
|
+
const { data } = await res.json();
|
|
214
|
+
console.log(data.logs);
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
async function deployToCloud(config, outputDir, isPreview) {
|
|
218
|
+
const apiUrl = config.apiUrl || "https://api.supatype.io";
|
|
219
|
+
const token = config.accessToken || process.env["SUPATYPE_ACCESS_TOKEN"] || "";
|
|
220
|
+
console.log("Uploading build artifacts...");
|
|
221
|
+
// Collect files from output directory
|
|
222
|
+
const files = collectFiles(outputDir, outputDir);
|
|
223
|
+
console.log(`${files.length} files to upload (${formatSize(files.reduce((s, f) => s + f.size, 0))})`);
|
|
224
|
+
// Create deployment
|
|
225
|
+
const createRes = await fetch(`${apiUrl}/platform/v1/projects/${config.projectRef}/deployments`, {
|
|
226
|
+
method: "POST",
|
|
227
|
+
headers: {
|
|
228
|
+
Authorization: `Bearer ${token}`,
|
|
229
|
+
"Content-Type": "application/json",
|
|
230
|
+
},
|
|
231
|
+
body: JSON.stringify({
|
|
232
|
+
preview: isPreview,
|
|
233
|
+
fileCount: files.length,
|
|
234
|
+
totalSize: files.reduce((s, f) => s + f.size, 0),
|
|
235
|
+
files: files.map((f) => ({ path: f.relativePath, size: f.size })),
|
|
236
|
+
}),
|
|
237
|
+
});
|
|
238
|
+
if (!createRes.ok) {
|
|
239
|
+
const body = await createRes.text();
|
|
240
|
+
throw new Error(`Failed to create deployment: ${createRes.status} ${body}`);
|
|
241
|
+
}
|
|
242
|
+
const { data } = await createRes.json();
|
|
243
|
+
// Upload files (simplified — in production, use multipart or presigned URLs)
|
|
244
|
+
for (const file of files) {
|
|
245
|
+
const content = require("node:fs").readFileSync(file.absolutePath);
|
|
246
|
+
await fetch(`${data.uploadUrl}/${file.relativePath}`, {
|
|
247
|
+
method: "PUT",
|
|
248
|
+
headers: {
|
|
249
|
+
Authorization: `Bearer ${token}`,
|
|
250
|
+
"Content-Type": "application/octet-stream",
|
|
251
|
+
"X-Deployment-Id": data.deploymentId,
|
|
252
|
+
},
|
|
253
|
+
body: content,
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
// Finalize deployment
|
|
257
|
+
await fetch(`${apiUrl}/platform/v1/projects/${config.projectRef}/deployments/${data.deploymentId}/finalize`, {
|
|
258
|
+
method: "POST",
|
|
259
|
+
headers: { Authorization: `Bearer ${token}` },
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
function deploySelfHost(outputDir, cwd) {
|
|
263
|
+
const servingDir = join(cwd, ".supatype", "static");
|
|
264
|
+
const { mkdirSync, cpSync } = require("node:fs");
|
|
265
|
+
mkdirSync(servingDir, { recursive: true });
|
|
266
|
+
cpSync(outputDir, servingDir, { recursive: true });
|
|
267
|
+
console.log(`Static files deployed to ${servingDir}`);
|
|
268
|
+
}
|
|
269
|
+
function collectFiles(dir, baseDir) {
|
|
270
|
+
const files = [];
|
|
271
|
+
const { readdirSync, statSync } = require("node:fs");
|
|
272
|
+
const { relative } = require("node:path");
|
|
273
|
+
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
274
|
+
const fullPath = join(dir, entry.name);
|
|
275
|
+
if (entry.isFile()) {
|
|
276
|
+
files.push({
|
|
277
|
+
absolutePath: fullPath,
|
|
278
|
+
relativePath: relative(baseDir, fullPath).replace(/\\/g, "/"),
|
|
279
|
+
size: statSync(fullPath).size,
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
else if (entry.isDirectory()) {
|
|
283
|
+
files.push(...collectFiles(fullPath, baseDir));
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
return files;
|
|
287
|
+
}
|
|
288
|
+
function formatSize(bytes) {
|
|
289
|
+
if (bytes < 1024)
|
|
290
|
+
return `${bytes}B`;
|
|
291
|
+
if (bytes < 1024 * 1024)
|
|
292
|
+
return `${(bytes / 1024).toFixed(1)}KB`;
|
|
293
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)}MB`;
|
|
294
|
+
}
|
|
295
|
+
//# sourceMappingURL=deploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWxC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwFlD"}
|