@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 @@
|
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/commands/admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoBlD"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { readFileSync, writeFileSync, existsSync } from "node:fs";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { APP_COMPOSE_MARKER, KONG_APP_MARKER } from "./init.js";
|
|
4
|
+
export function registerApp(program) {
|
|
5
|
+
const appCmd = program
|
|
6
|
+
.command("app")
|
|
7
|
+
.description("Manage your application container in the Supatype stack");
|
|
8
|
+
appCmd
|
|
9
|
+
.command("add")
|
|
10
|
+
.description("Add your application to the docker-compose stack at /")
|
|
11
|
+
.option("--dockerfile <path>", "Path to your Dockerfile", "./Dockerfile")
|
|
12
|
+
.option("--port <port>", "Port your app listens on", "3000")
|
|
13
|
+
.action((opts) => {
|
|
14
|
+
addApp(process.cwd(), opts.dockerfile, opts.port);
|
|
15
|
+
});
|
|
16
|
+
appCmd
|
|
17
|
+
.command("remove")
|
|
18
|
+
.description("Remove your application from the docker-compose stack")
|
|
19
|
+
.action(() => {
|
|
20
|
+
removeApp(process.cwd());
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
// ─── Implementation ───────────────────────────────────────────────────────────
|
|
24
|
+
function addApp(cwd, dockerfile, port) {
|
|
25
|
+
const composePath = resolve(cwd, "docker-compose.yml");
|
|
26
|
+
if (!existsSync(composePath)) {
|
|
27
|
+
console.error("docker-compose.yml not found. Run: supatype init");
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
let compose = readFileSync(composePath, "utf8");
|
|
31
|
+
if (!compose.includes(APP_COMPOSE_MARKER)) {
|
|
32
|
+
console.error("App service slot not found in docker-compose.yml. Is this a supatype project?");
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
if (isAppActive(compose)) {
|
|
36
|
+
console.error("App service is already configured. Run: supatype app remove first.");
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
compose = uncommentServiceBlock(compose, APP_COMPOSE_MARKER, { dockerfile, port });
|
|
40
|
+
writeFileSync(composePath, compose, "utf8");
|
|
41
|
+
console.log(" updated docker-compose.yml");
|
|
42
|
+
const kongPath = resolve(cwd, ".supatype/kong.yml");
|
|
43
|
+
if (existsSync(kongPath)) {
|
|
44
|
+
let kong = readFileSync(kongPath, "utf8");
|
|
45
|
+
if (kong.includes(KONG_APP_MARKER)) {
|
|
46
|
+
kong = uncommentKongBlock(kong, KONG_APP_MARKER, port);
|
|
47
|
+
writeFileSync(kongPath, kong, "utf8");
|
|
48
|
+
console.log(" updated .supatype/kong.yml");
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
console.log(`\nApp service added (port ${port}). Your app will be available at http://localhost:8000/\n`);
|
|
52
|
+
console.log("Run: supatype dev");
|
|
53
|
+
}
|
|
54
|
+
function removeApp(cwd) {
|
|
55
|
+
const composePath = resolve(cwd, "docker-compose.yml");
|
|
56
|
+
if (!existsSync(composePath)) {
|
|
57
|
+
console.error("docker-compose.yml not found.");
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
let compose = readFileSync(composePath, "utf8");
|
|
61
|
+
if (!isAppActive(compose)) {
|
|
62
|
+
console.error("No active app service found.");
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
compose = recommentServiceBlock(compose, APP_COMPOSE_MARKER);
|
|
66
|
+
writeFileSync(composePath, compose, "utf8");
|
|
67
|
+
console.log(" updated docker-compose.yml");
|
|
68
|
+
const kongPath = resolve(cwd, ".supatype/kong.yml");
|
|
69
|
+
if (existsSync(kongPath)) {
|
|
70
|
+
let kong = readFileSync(kongPath, "utf8");
|
|
71
|
+
if (!kong.includes(KONG_APP_MARKER)) {
|
|
72
|
+
// Active route — re-comment it
|
|
73
|
+
kong = recommentKongBlock(kong);
|
|
74
|
+
}
|
|
75
|
+
writeFileSync(kongPath, kong, "utf8");
|
|
76
|
+
console.log(" updated .supatype/kong.yml");
|
|
77
|
+
}
|
|
78
|
+
console.log("\nApp service removed.\n");
|
|
79
|
+
}
|
|
80
|
+
// ─── Block manipulation helpers ───────────────────────────────────────────────
|
|
81
|
+
/** Returns true if the docker-compose has an active (uncommented) app: service. */
|
|
82
|
+
function isAppActive(compose) {
|
|
83
|
+
return /^ app:/m.test(compose);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Finds the commented app service block after the marker line and uncomments it,
|
|
87
|
+
* substituting the dockerfile path and port.
|
|
88
|
+
*/
|
|
89
|
+
function uncommentServiceBlock(compose, marker, opts) {
|
|
90
|
+
const lines = compose.split("\n");
|
|
91
|
+
const markerIdx = lines.findIndex((l) => l === marker);
|
|
92
|
+
if (markerIdx === -1)
|
|
93
|
+
return compose;
|
|
94
|
+
const result = [];
|
|
95
|
+
let i = 0;
|
|
96
|
+
while (i < lines.length) {
|
|
97
|
+
if (i === markerIdx) {
|
|
98
|
+
// Skip the marker line itself, then uncomment the block
|
|
99
|
+
i++;
|
|
100
|
+
while (i < lines.length) {
|
|
101
|
+
const line = lines[i];
|
|
102
|
+
// End of block: empty line followed by a non-commented service-level line
|
|
103
|
+
if (line === "" && i + 1 < lines.length && !/^ #/.test(lines[i + 1])) {
|
|
104
|
+
result.push(line);
|
|
105
|
+
i++;
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
if (/^ # /.test(line)) {
|
|
109
|
+
// Uncomment: replace " # " prefix with " "
|
|
110
|
+
let uncommented = line.replace(/^ # /, " ");
|
|
111
|
+
// Substitute placeholders
|
|
112
|
+
uncommented = uncommented.replace("./Dockerfile", opts.dockerfile);
|
|
113
|
+
uncommented = uncommented.replace(/- "3000:3000"/, `- "${opts.port}:${opts.port}"`);
|
|
114
|
+
result.push(uncommented);
|
|
115
|
+
}
|
|
116
|
+
else if (line === "" || /^ #─/.test(line)) {
|
|
117
|
+
// Skip remaining marker-style comment lines
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
result.push(line);
|
|
121
|
+
}
|
|
122
|
+
i++;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
result.push(lines[i]);
|
|
127
|
+
i++;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return result.join("\n");
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Finds the active app: service block and re-comments it, restoring the marker.
|
|
134
|
+
*/
|
|
135
|
+
function recommentServiceBlock(compose, marker) {
|
|
136
|
+
const lines = compose.split("\n");
|
|
137
|
+
const appIdx = lines.findIndex((l) => l === " app:");
|
|
138
|
+
if (appIdx === -1)
|
|
139
|
+
return compose;
|
|
140
|
+
const result = [];
|
|
141
|
+
let i = 0;
|
|
142
|
+
while (i < lines.length) {
|
|
143
|
+
if (i === appIdx) {
|
|
144
|
+
result.push(marker);
|
|
145
|
+
// Re-comment lines until we hit an empty line or the volumes: section
|
|
146
|
+
while (i < lines.length) {
|
|
147
|
+
const line = lines[i];
|
|
148
|
+
if (line === "" || /^volumes:/.test(line) || /^ \w/.test(line)) {
|
|
149
|
+
result.push(line);
|
|
150
|
+
i++;
|
|
151
|
+
break;
|
|
152
|
+
}
|
|
153
|
+
// Re-comment: " X..." → " # X..."
|
|
154
|
+
result.push(line.replace(/^ /, " # "));
|
|
155
|
+
i++;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
result.push(lines[i]);
|
|
160
|
+
i++;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return result.join("\n");
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Uncomments the Kong app route block after the marker.
|
|
167
|
+
*/
|
|
168
|
+
function uncommentKongBlock(kong, marker, port) {
|
|
169
|
+
const lines = kong.split("\n");
|
|
170
|
+
const markerIdx = lines.findIndex((l) => l === marker);
|
|
171
|
+
if (markerIdx === -1)
|
|
172
|
+
return kong;
|
|
173
|
+
const result = [];
|
|
174
|
+
let i = 0;
|
|
175
|
+
while (i < lines.length) {
|
|
176
|
+
if (i === markerIdx) {
|
|
177
|
+
i++; // skip marker
|
|
178
|
+
while (i < lines.length) {
|
|
179
|
+
const line = lines[i];
|
|
180
|
+
if (line === "" && (i + 1 >= lines.length || !/^ #/.test(lines[i + 1]))) {
|
|
181
|
+
result.push(line);
|
|
182
|
+
i++;
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
if (/^ # /.test(line)) {
|
|
186
|
+
let uncommented = line.replace(/^ # /, " ");
|
|
187
|
+
uncommented = uncommented.replace(":3000", `:${port}`);
|
|
188
|
+
result.push(uncommented);
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
result.push(line);
|
|
192
|
+
}
|
|
193
|
+
i++;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
result.push(lines[i]);
|
|
198
|
+
i++;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return result.join("\n");
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Finds the active Kong app route and re-comments it, restoring the marker.
|
|
205
|
+
*/
|
|
206
|
+
function recommentKongBlock(kong) {
|
|
207
|
+
const lines = kong.split("\n");
|
|
208
|
+
// Find " - name: app" (the active route)
|
|
209
|
+
const appIdx = lines.findIndex((l) => /^ - name: app$/.test(l));
|
|
210
|
+
if (appIdx === -1)
|
|
211
|
+
return kong;
|
|
212
|
+
const result = [];
|
|
213
|
+
let i = 0;
|
|
214
|
+
while (i < lines.length) {
|
|
215
|
+
if (i === appIdx) {
|
|
216
|
+
result.push(KONG_APP_MARKER);
|
|
217
|
+
while (i < lines.length) {
|
|
218
|
+
const line = lines[i];
|
|
219
|
+
if (line === "" || (i > appIdx && /^ - /.test(line))) {
|
|
220
|
+
result.push(line);
|
|
221
|
+
i++;
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
result.push(line.replace(/^ /, " # "));
|
|
225
|
+
i++;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
result.push(lines[i]);
|
|
230
|
+
i++;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return result.join("\n");
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../src/commands/cloud.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAuDxC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+PpD"}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { readFileSync, writeFileSync, existsSync } from "node:fs";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { createInterface } from "node:readline";
|
|
4
|
+
function loadCloudConfig(cwd) {
|
|
5
|
+
const configPath = resolve(cwd, ".supatype/cloud.json");
|
|
6
|
+
if (!existsSync(configPath))
|
|
7
|
+
return null;
|
|
8
|
+
return JSON.parse(readFileSync(configPath, "utf8"));
|
|
9
|
+
}
|
|
10
|
+
function saveCloudConfig(cwd, config) {
|
|
11
|
+
const dir = resolve(cwd, ".supatype");
|
|
12
|
+
if (!existsSync(dir)) {
|
|
13
|
+
const { mkdirSync } = require("node:fs");
|
|
14
|
+
mkdirSync(dir, { recursive: true });
|
|
15
|
+
}
|
|
16
|
+
writeFileSync(resolve(cwd, ".supatype/cloud.json"), JSON.stringify(config, null, 2) + "\n", "utf8");
|
|
17
|
+
}
|
|
18
|
+
async function cloudFetch(config, method, path, body) {
|
|
19
|
+
const res = await fetch(`${config.apiUrl}/api/v1${path}`, {
|
|
20
|
+
method,
|
|
21
|
+
headers: {
|
|
22
|
+
"Content-Type": "application/json",
|
|
23
|
+
Authorization: `Bearer ${config.token}`,
|
|
24
|
+
},
|
|
25
|
+
...(body !== undefined ? { body: JSON.stringify(body) } : {}),
|
|
26
|
+
});
|
|
27
|
+
const json = await res.json();
|
|
28
|
+
if (!res.ok) {
|
|
29
|
+
throw new Error(json.message ?? json.error ?? `API error: ${res.status}`);
|
|
30
|
+
}
|
|
31
|
+
return json.data;
|
|
32
|
+
}
|
|
33
|
+
function prompt(question) {
|
|
34
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
35
|
+
return new Promise((resolve) => {
|
|
36
|
+
rl.question(question, (answer) => {
|
|
37
|
+
rl.close();
|
|
38
|
+
resolve(answer.trim());
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
// ─── Registration ──────────────────────────────────────────────────────────────
|
|
43
|
+
export function registerCloud(program) {
|
|
44
|
+
// ── Link ───────────────────────────────────────────────────────────────────
|
|
45
|
+
program
|
|
46
|
+
.command("link")
|
|
47
|
+
.description("Link this local project to a Supatype cloud project")
|
|
48
|
+
.option("--project <slug>", "Project slug to link to")
|
|
49
|
+
.option("--api-url <url>", "Control plane API URL", "https://api.supatype.io")
|
|
50
|
+
.option("--token <token>", "Authentication token")
|
|
51
|
+
.action(async (opts) => {
|
|
52
|
+
const cwd = process.cwd();
|
|
53
|
+
const token = opts.token ?? process.env["SUPATYPE_TOKEN"];
|
|
54
|
+
if (!token) {
|
|
55
|
+
console.error("Authentication required. Set SUPATYPE_TOKEN or pass --token.");
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
const config = { apiUrl: opts.apiUrl, token };
|
|
59
|
+
if (opts.project) {
|
|
60
|
+
config.projectSlug = opts.project;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// List projects and let user choose
|
|
64
|
+
const projects = await cloudFetch(config, "GET", "/projects");
|
|
65
|
+
if (projects.length === 0) {
|
|
66
|
+
console.error("No projects found. Create one with: supatype projects create <name>");
|
|
67
|
+
process.exit(1);
|
|
68
|
+
}
|
|
69
|
+
console.log("\nAvailable projects:\n");
|
|
70
|
+
projects.forEach((p, i) => {
|
|
71
|
+
console.log(` ${i + 1}. ${p.name} (${p.slug}) [${p.tier}] — ${p.status}`);
|
|
72
|
+
});
|
|
73
|
+
const answer = await prompt(`\nSelect project (1-${projects.length}): `);
|
|
74
|
+
const idx = parseInt(answer, 10) - 1;
|
|
75
|
+
if (isNaN(idx) || idx < 0 || idx >= projects.length) {
|
|
76
|
+
console.error("Invalid selection.");
|
|
77
|
+
process.exit(1);
|
|
78
|
+
}
|
|
79
|
+
config.projectSlug = projects[idx].slug;
|
|
80
|
+
}
|
|
81
|
+
saveCloudConfig(cwd, config);
|
|
82
|
+
console.log(`\nLinked to project: ${config.projectSlug}`);
|
|
83
|
+
console.log(`Config saved to .supatype/cloud.json\n`);
|
|
84
|
+
});
|
|
85
|
+
// ── Deploy ─────────────────────────────────────────────────────────────────
|
|
86
|
+
program
|
|
87
|
+
.command("deploy")
|
|
88
|
+
.description("Deploy schema to the linked cloud project")
|
|
89
|
+
.option("--environment <name>", "Target environment", "production")
|
|
90
|
+
.action(async (opts) => {
|
|
91
|
+
const cwd = process.cwd();
|
|
92
|
+
const config = loadCloudConfig(cwd);
|
|
93
|
+
if (!config?.projectSlug) {
|
|
94
|
+
console.error("Not linked to a cloud project. Run: supatype link");
|
|
95
|
+
process.exit(1);
|
|
96
|
+
}
|
|
97
|
+
console.log(`Deploying to ${config.projectSlug} (${opts.environment})...`);
|
|
98
|
+
// Load schema AST
|
|
99
|
+
const { loadConfig: loadAppConfig, loadSchemaAst } = await import("../config.js");
|
|
100
|
+
const { ensureEngine, invokeEngine } = await import("../engine.js");
|
|
101
|
+
const appConfig = loadAppConfig(cwd);
|
|
102
|
+
const ast = loadSchemaAst(appConfig.schema, cwd);
|
|
103
|
+
// Generate migration SQL locally using the engine
|
|
104
|
+
await ensureEngine();
|
|
105
|
+
const migrateResult = invokeEngine(["migrate", "--format", "sql"], JSON.stringify(ast));
|
|
106
|
+
if (migrateResult.exitCode !== 0) {
|
|
107
|
+
console.error("Failed to generate migration:", migrateResult.stderr || migrateResult.stdout);
|
|
108
|
+
process.exit(1);
|
|
109
|
+
}
|
|
110
|
+
const { createHash } = await import("node:crypto");
|
|
111
|
+
const schemaHash = createHash("sha256").update(JSON.stringify(ast)).digest("hex").slice(0, 16);
|
|
112
|
+
const deployment = await cloudFetch(config, "POST", `/projects/${config.projectSlug}/deploy`, {
|
|
113
|
+
environment: opts.environment,
|
|
114
|
+
schemaHash,
|
|
115
|
+
migrationSql: migrateResult.stdout,
|
|
116
|
+
});
|
|
117
|
+
if (deployment.status === "success") {
|
|
118
|
+
console.log(`\nDeployment successful (${deployment.id})`);
|
|
119
|
+
}
|
|
120
|
+
else if (deployment.status === "failed") {
|
|
121
|
+
console.error(`\nDeployment failed: ${deployment.errorMessage}`);
|
|
122
|
+
process.exit(1);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
console.log(`\nDeployment ${deployment.status} (${deployment.id})`);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
// ── Projects ───────────────────────────────────────────────────────────────
|
|
129
|
+
const projectsCmd = program
|
|
130
|
+
.command("projects")
|
|
131
|
+
.description("Manage cloud projects");
|
|
132
|
+
projectsCmd
|
|
133
|
+
.command("list")
|
|
134
|
+
.description("List all projects in your organisation")
|
|
135
|
+
.action(async () => {
|
|
136
|
+
const config = getCloudConfigOrExit();
|
|
137
|
+
const projects = await cloudFetch(config, "GET", "/projects");
|
|
138
|
+
if (projects.length === 0) {
|
|
139
|
+
console.log("No projects. Create one with: supatype projects create <name>");
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
console.log("\n Name Slug Tier Region Status");
|
|
143
|
+
console.log(" " + "─".repeat(80));
|
|
144
|
+
for (const p of projects) {
|
|
145
|
+
console.log(` ${p.name.padEnd(24)}${p.slug.padEnd(25)}${p.tier.padEnd(8)}${p.region.padEnd(10)}${p.status}`);
|
|
146
|
+
}
|
|
147
|
+
console.log();
|
|
148
|
+
});
|
|
149
|
+
projectsCmd
|
|
150
|
+
.command("create <name>")
|
|
151
|
+
.description("Create a new project")
|
|
152
|
+
.option("--tier <tier>", "Project tier (free, pro, team)", "free")
|
|
153
|
+
.option("--region <region>", "Region (eu-fsn, eu-nbg, eu-hel)", "eu-fsn")
|
|
154
|
+
.action(async (name, opts) => {
|
|
155
|
+
const config = getCloudConfigOrExit();
|
|
156
|
+
console.log(`Creating project "${name}" (${opts.tier}, ${opts.region})...`);
|
|
157
|
+
const project = await cloudFetch(config, "POST", "/projects", { name, tier: opts.tier, region: opts.region });
|
|
158
|
+
console.log(`\nProject created: ${project.name} (${project.slug})`);
|
|
159
|
+
console.log(`Status: ${project.status}`);
|
|
160
|
+
console.log(`\nTo link this project: supatype link --project ${project.slug}\n`);
|
|
161
|
+
});
|
|
162
|
+
projectsCmd
|
|
163
|
+
.command("pause <slug>")
|
|
164
|
+
.description("Pause a project")
|
|
165
|
+
.action(async (slug) => {
|
|
166
|
+
const config = getCloudConfigOrExit();
|
|
167
|
+
await cloudFetch(config, "POST", `/projects/${slug}/pause`);
|
|
168
|
+
console.log(`Project ${slug} paused.`);
|
|
169
|
+
});
|
|
170
|
+
projectsCmd
|
|
171
|
+
.command("resume <slug>")
|
|
172
|
+
.description("Resume a paused project")
|
|
173
|
+
.action(async (slug) => {
|
|
174
|
+
const config = getCloudConfigOrExit();
|
|
175
|
+
await cloudFetch(config, "POST", `/projects/${slug}/resume`);
|
|
176
|
+
console.log(`Project ${slug} resumed.`);
|
|
177
|
+
});
|
|
178
|
+
// ── Domains ────────────────────────────────────────────────────────────────
|
|
179
|
+
const domainsCmd = program
|
|
180
|
+
.command("domains")
|
|
181
|
+
.description("Manage custom domains for a project");
|
|
182
|
+
domainsCmd
|
|
183
|
+
.command("list")
|
|
184
|
+
.description("List domains for the linked project")
|
|
185
|
+
.action(async () => {
|
|
186
|
+
const config = getCloudConfigOrExit();
|
|
187
|
+
if (!config.projectSlug) {
|
|
188
|
+
console.error("Not linked to a project. Run: supatype link");
|
|
189
|
+
process.exit(1);
|
|
190
|
+
}
|
|
191
|
+
const domains = await cloudFetch(config, "GET", `/projects/${config.projectSlug}/domains`);
|
|
192
|
+
if (domains.length === 0) {
|
|
193
|
+
console.log("No custom domains configured.");
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
console.log("\n Domain Status CNAME Target");
|
|
197
|
+
console.log(" " + "─".repeat(80));
|
|
198
|
+
for (const d of domains) {
|
|
199
|
+
console.log(` ${d.domain.padEnd(34)}${d.status.padEnd(21)}${d.cnameTarget}`);
|
|
200
|
+
}
|
|
201
|
+
console.log();
|
|
202
|
+
});
|
|
203
|
+
domainsCmd
|
|
204
|
+
.command("add <domain>")
|
|
205
|
+
.description("Add a custom domain")
|
|
206
|
+
.action(async (domain) => {
|
|
207
|
+
const config = getCloudConfigOrExit();
|
|
208
|
+
if (!config.projectSlug) {
|
|
209
|
+
console.error("Not linked to a project. Run: supatype link");
|
|
210
|
+
process.exit(1);
|
|
211
|
+
}
|
|
212
|
+
const result = await cloudFetch(config, "POST", `/projects/${config.projectSlug}/domains`, { domain });
|
|
213
|
+
console.log(`\nDomain added: ${result.domain}`);
|
|
214
|
+
console.log(`\n${result.instructions}`);
|
|
215
|
+
console.log(`\nAfter adding the CNAME record, verify with: supatype domains verify ${domain}\n`);
|
|
216
|
+
});
|
|
217
|
+
domainsCmd
|
|
218
|
+
.command("remove <domainId>")
|
|
219
|
+
.description("Remove a custom domain")
|
|
220
|
+
.action(async (domainId) => {
|
|
221
|
+
const config = getCloudConfigOrExit();
|
|
222
|
+
if (!config.projectSlug) {
|
|
223
|
+
console.error("Not linked to a project. Run: supatype link");
|
|
224
|
+
process.exit(1);
|
|
225
|
+
}
|
|
226
|
+
await cloudFetch(config, "DELETE", `/projects/${config.projectSlug}/domains/${domainId}`);
|
|
227
|
+
console.log("Domain removed.");
|
|
228
|
+
});
|
|
229
|
+
domainsCmd
|
|
230
|
+
.command("verify <domainId>")
|
|
231
|
+
.description("Verify CNAME and provision SSL for a domain")
|
|
232
|
+
.action(async (domainId) => {
|
|
233
|
+
const config = getCloudConfigOrExit();
|
|
234
|
+
if (!config.projectSlug) {
|
|
235
|
+
console.error("Not linked to a project. Run: supatype link");
|
|
236
|
+
process.exit(1);
|
|
237
|
+
}
|
|
238
|
+
const result = await cloudFetch(config, "POST", `/projects/${config.projectSlug}/domains/${domainId}/verify`);
|
|
239
|
+
console.log(`Domain ${result.domain}: ${result.status}`);
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
function getCloudConfigOrExit() {
|
|
243
|
+
const cwd = process.cwd();
|
|
244
|
+
let config = loadCloudConfig(cwd);
|
|
245
|
+
if (!config) {
|
|
246
|
+
const token = process.env["SUPATYPE_TOKEN"];
|
|
247
|
+
const apiUrl = process.env["SUPATYPE_API_URL"] ?? "https://api.supatype.io";
|
|
248
|
+
if (!token) {
|
|
249
|
+
console.error("Not connected to Supatype Cloud. Run: supatype link, or set SUPATYPE_TOKEN.");
|
|
250
|
+
process.exit(1);
|
|
251
|
+
}
|
|
252
|
+
config = { apiUrl, token };
|
|
253
|
+
}
|
|
254
|
+
return config;
|
|
255
|
+
}
|
|
256
|
+
//# sourceMappingURL=cloud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/commands/cloud.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
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 type { Command } from "commander";
|
|
7
|
+
export declare function registerDb(program: Command): void;
|
|
8
|
+
//# sourceMappingURL=db.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/commands/db.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuIjD"}
|