@supacloud/cli 0.112.1 → 0.112.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1002,10 +1002,14 @@ supacloud lite db_pull --project_dir . --file remote_schema
|
|
|
1002
1002
|
supacloud lite db_pull --project_dir . --file reviewed_schema --baseline
|
|
1003
1003
|
supacloud lite gen_types --project_dir . --output src/database.types.ts
|
|
1004
1004
|
supacloud lite snapshot_create --project_dir . --output backups/lite.tar.gz
|
|
1005
|
-
supacloud lite doctor --project_dir . --json
|
|
1006
|
-
supacloud lite
|
|
1005
|
+
supacloud lite doctor --project_dir . --json --production --runtime_mode strict
|
|
1006
|
+
supacloud lite db_check --project_dir . --module_file supabase/db/modules.ts
|
|
1007
|
+
supacloud lite start --project_dir . --port 54321 --runtime_mode strict
|
|
1007
1008
|
```
|
|
1008
1009
|
|
|
1010
|
+
`auth create-user` is not exposed here. The standalone `supacloud-lite` binary
|
|
1011
|
+
reads the password from stdin and rejects password arguments.
|
|
1012
|
+
|
|
1009
1013
|
The adapter resolves the executable in this order:
|
|
1010
1014
|
|
|
1011
1015
|
1. `SUPACLOUD_LITE_CLI_BIN`
|
package/dist/index.js
CHANGED
|
@@ -9318,6 +9318,7 @@ var ACTION_POLICY = {
|
|
|
9318
9318
|
"db_reset",
|
|
9319
9319
|
"db_diff",
|
|
9320
9320
|
"db_pull",
|
|
9321
|
+
"db_check",
|
|
9321
9322
|
"snapshot_create",
|
|
9322
9323
|
"snapshot_restore",
|
|
9323
9324
|
"upgrade",
|
|
@@ -16376,6 +16377,16 @@ Actions: list, get_config, deploy, deploy_bundle, config, source, activate, dele
|
|
|
16376
16377
|
const tmpFile = join5(tmpDir, "index.ts");
|
|
16377
16378
|
writeFileSync(tmpFile, sourceCode);
|
|
16378
16379
|
try {
|
|
16380
|
+
if (/@ts-(?:ignore|nocheck|expect-error)\b/.test(sourceCode)) {
|
|
16381
|
+
const { scanProductionSource } = await import("@supacloud/compiler");
|
|
16382
|
+
const suppression = scanProductionSource({ rootDir: tmpDir, include: ["index.ts"] }).find((diagnostic) => diagnostic.code === "source-type-suppression");
|
|
16383
|
+
if (suppression) {
|
|
16384
|
+
return {
|
|
16385
|
+
ok: false,
|
|
16386
|
+
err: `Vibecoding guardrail violation: Type suppression directive at line ${suppression.line} is disallowed in Edge Functions. Please fix the underlying type mismatch instead of suppressing it.`
|
|
16387
|
+
};
|
|
16388
|
+
}
|
|
16389
|
+
}
|
|
16379
16390
|
await runBunBuild([tmpFile, "--external", "*"]);
|
|
16380
16391
|
return { ok: true };
|
|
16381
16392
|
} catch (error) {
|
|
@@ -21418,6 +21429,9 @@ function buildLiteArgs(request) {
|
|
|
21418
21429
|
if (request.file)
|
|
21419
21430
|
args.push(request.file);
|
|
21420
21431
|
break;
|
|
21432
|
+
case "db_check":
|
|
21433
|
+
args.push("db", "check");
|
|
21434
|
+
break;
|
|
21421
21435
|
case "snapshot_create":
|
|
21422
21436
|
args.push("snapshot", "create");
|
|
21423
21437
|
break;
|
|
@@ -21456,6 +21470,17 @@ function buildLiteArgs(request) {
|
|
|
21456
21470
|
if (request.baseline && request.action !== "db_pull")
|
|
21457
21471
|
throw new Error("baseline requires db_pull");
|
|
21458
21472
|
booleanFlag(args, "--baseline", request.baseline);
|
|
21473
|
+
if (request.production && request.action !== "doctor")
|
|
21474
|
+
throw new Error("production requires doctor");
|
|
21475
|
+
booleanFlag(args, "--production", request.production);
|
|
21476
|
+
if (request.module_file && request.action !== "db_check")
|
|
21477
|
+
throw new Error("module_file requires db_check");
|
|
21478
|
+
optionalFlag(args, "--module-file", request.module_file);
|
|
21479
|
+
optionalFlag(args, "--runtime-mode", request.runtime_mode);
|
|
21480
|
+
optionalFlag(args, "--postgres-dir", request.postgres_dir);
|
|
21481
|
+
optionalFlag(args, "--identity-module", request.identity_module);
|
|
21482
|
+
optionalFlag(args, "--external-auth-proxy-issuer", request.external_auth_proxy_issuer);
|
|
21483
|
+
optionalFlag(args, "--external-auth-proxy-redirect-origin", request.external_auth_proxy_redirect_origin);
|
|
21459
21484
|
return args;
|
|
21460
21485
|
}
|
|
21461
21486
|
async function spawnLiteCommand(command, workdir, environment, inheritOutput) {
|
|
@@ -21538,7 +21563,8 @@ function registerLiteCliTools(server, options = {}) {
|
|
|
21538
21563
|
"snapshot_restore",
|
|
21539
21564
|
"upgrade",
|
|
21540
21565
|
"inspect",
|
|
21541
|
-
"doctor"
|
|
21566
|
+
"doctor",
|
|
21567
|
+
"db_check"
|
|
21542
21568
|
]), "Lite CLI action"),
|
|
21543
21569
|
workdir: optional(String2(), "[*] Process working directory (default: current directory)"),
|
|
21544
21570
|
project_dir: optional(String2(), "[*] Project containing supabase/"),
|
|
@@ -21566,7 +21592,14 @@ function registerLiteCliTools(server, options = {}) {
|
|
|
21566
21592
|
force: optional(Boolean2(), "[snapshot_restore] Replace non-empty restore targets"),
|
|
21567
21593
|
memory: optional(Boolean2(), "[*] Use an in-memory PGlite database"),
|
|
21568
21594
|
json: optional(Boolean2(), "[doctor] Emit machine-readable output"),
|
|
21569
|
-
baseline: optional(Boolean2(), "[db_pull] Record already-present schema in local migration history after review")
|
|
21595
|
+
baseline: optional(Boolean2(), "[db_pull] Record already-present schema in local migration history after review"),
|
|
21596
|
+
production: optional(Boolean2(), "[doctor] Add single-node production readiness checks"),
|
|
21597
|
+
runtime_mode: optional(stringEnum2(["development", "strict"]), "[*] Lite runtime mode"),
|
|
21598
|
+
postgres_dir: optional(String2(), "[native] Operator-managed PostgreSQL installation"),
|
|
21599
|
+
identity_module: optional(String2(), "[*] Trusted external identity bridge module"),
|
|
21600
|
+
external_auth_proxy_issuer: optional(String2(), "[start] Same-origin OAuth proxy issuer"),
|
|
21601
|
+
external_auth_proxy_redirect_origin: optional(String2(), "[start] Allowed logout redirect origins"),
|
|
21602
|
+
module_file: optional(String2(), "[db_check] Database module manifest")
|
|
21570
21603
|
}, async (request) => {
|
|
21571
21604
|
buildLiteArgs(request);
|
|
21572
21605
|
const execution = await execute(request);
|
|
@@ -21950,16 +21983,16 @@ var starter_metadata_default = {
|
|
|
21950
21983
|
generatedBy: "supacloud/starter-metadata-v1",
|
|
21951
21984
|
packages: {
|
|
21952
21985
|
compiler: {
|
|
21953
|
-
version: "0.52.
|
|
21986
|
+
version: "0.52.2"
|
|
21954
21987
|
},
|
|
21955
21988
|
app: {
|
|
21956
|
-
version: "0.
|
|
21989
|
+
version: "0.35.0",
|
|
21957
21990
|
dependencies: {
|
|
21958
21991
|
rxjs: "7.8.2"
|
|
21959
21992
|
}
|
|
21960
21993
|
},
|
|
21961
21994
|
elysia: {
|
|
21962
|
-
version: "0.
|
|
21995
|
+
version: "0.37.0"
|
|
21963
21996
|
},
|
|
21964
21997
|
commands: {
|
|
21965
21998
|
version: "0.11.2"
|
|
@@ -21968,7 +22001,7 @@ var starter_metadata_default = {
|
|
|
21968
22001
|
version: "0.15.2"
|
|
21969
22002
|
},
|
|
21970
22003
|
db: {
|
|
21971
|
-
version: "0.20.
|
|
22004
|
+
version: "0.20.3",
|
|
21972
22005
|
peerDependencies: {
|
|
21973
22006
|
"drizzle-orm": "1.0.0-rc.5-5935859"
|
|
21974
22007
|
},
|
|
@@ -21977,7 +22010,7 @@ var starter_metadata_default = {
|
|
|
21977
22010
|
}
|
|
21978
22011
|
},
|
|
21979
22012
|
sdk: {
|
|
21980
|
-
version: "0.45.
|
|
22013
|
+
version: "0.45.5",
|
|
21981
22014
|
peerDependencies: {
|
|
21982
22015
|
"@supabase/supabase-js": "^2.118.0"
|
|
21983
22016
|
}
|
|
@@ -33586,7 +33619,7 @@ async function runProjectDeployment(http, args) {
|
|
|
33586
33619
|
// package.json
|
|
33587
33620
|
var package_default = {
|
|
33588
33621
|
name: "@supacloud/cli",
|
|
33589
|
-
version: "0.112.
|
|
33622
|
+
version: "0.112.2",
|
|
33590
33623
|
description: "Project-scoped CLI for SupaCloud users",
|
|
33591
33624
|
type: "module",
|
|
33592
33625
|
main: "./dist/index.js",
|
|
@@ -33638,9 +33671,9 @@ var package_default = {
|
|
|
33638
33671
|
directory: "packages/cli"
|
|
33639
33672
|
},
|
|
33640
33673
|
dependencies: {
|
|
33641
|
-
"@supacloud/compiler": "^0.52.
|
|
33674
|
+
"@supacloud/compiler": "^0.52.2",
|
|
33642
33675
|
"@supacloud/delivery": "0.23.1",
|
|
33643
|
-
"@supacloud/db": "0.20.
|
|
33676
|
+
"@supacloud/db": "0.20.3",
|
|
33644
33677
|
typebox: "1.4.3"
|
|
33645
33678
|
},
|
|
33646
33679
|
overrides: {
|
|
@@ -33650,7 +33683,7 @@ var package_default = {
|
|
|
33650
33683
|
},
|
|
33651
33684
|
devDependencies: {
|
|
33652
33685
|
"@supabase/supabase-js": "2.118.0",
|
|
33653
|
-
"@supacloud/elysia": "0.
|
|
33686
|
+
"@supacloud/elysia": "0.37.0",
|
|
33654
33687
|
"@types/bun": "^1.4.4",
|
|
33655
33688
|
effect: "4.0.5",
|
|
33656
33689
|
elysia: "2.0.0-rc.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { resolveLiteCommand } from "./lite-cli-command";
|
|
2
2
|
import { type ToolServer } from "../tool-server";
|
|
3
|
-
export type LiteCliAction = "version" | "start" | "migrate" | "status" | "keys" | "gen_types" | "db_reset" | "db_diff" | "db_pull" | "snapshot_create" | "snapshot_restore" | "upgrade" | "inspect" | "doctor";
|
|
3
|
+
export type LiteCliAction = "version" | "start" | "migrate" | "status" | "keys" | "gen_types" | "db_reset" | "db_diff" | "db_pull" | "db_check" | "snapshot_create" | "snapshot_restore" | "upgrade" | "inspect" | "doctor";
|
|
4
4
|
export interface LiteCliArgs {
|
|
5
5
|
action: LiteCliAction;
|
|
6
6
|
workdir?: string;
|
|
@@ -30,6 +30,13 @@ export interface LiteCliArgs {
|
|
|
30
30
|
memory?: boolean;
|
|
31
31
|
json?: boolean;
|
|
32
32
|
baseline?: boolean;
|
|
33
|
+
production?: boolean;
|
|
34
|
+
runtime_mode?: "development" | "strict";
|
|
35
|
+
postgres_dir?: string;
|
|
36
|
+
identity_module?: string;
|
|
37
|
+
external_auth_proxy_issuer?: string;
|
|
38
|
+
external_auth_proxy_redirect_origin?: string;
|
|
39
|
+
module_file?: string;
|
|
33
40
|
}
|
|
34
41
|
export interface LiteCliExecutionResult {
|
|
35
42
|
exitCode: number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@supacloud/cli",
|
|
3
|
-
"version": "0.112.
|
|
3
|
+
"version": "0.112.2",
|
|
4
4
|
"description": "Project-scoped CLI for SupaCloud users",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"directory": "packages/cli"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@supacloud/compiler": "^0.52.
|
|
55
|
+
"@supacloud/compiler": "^0.52.2",
|
|
56
56
|
"@supacloud/delivery": "0.23.1",
|
|
57
|
-
"@supacloud/db": "0.20.
|
|
57
|
+
"@supacloud/db": "0.20.3",
|
|
58
58
|
"typebox": "1.4.3"
|
|
59
59
|
},
|
|
60
60
|
"overrides": {
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
66
|
"@supabase/supabase-js": "2.118.0",
|
|
67
|
-
"@supacloud/elysia": "0.
|
|
67
|
+
"@supacloud/elysia": "0.37.0",
|
|
68
68
|
"@types/bun": "^1.4.4",
|
|
69
69
|
"effect": "4.0.5",
|
|
70
70
|
"elysia": "2.0.0-rc.0",
|
|
@@ -19,7 +19,7 @@ Load this reference when selecting a command surface or when a user asks an AI t
|
|
|
19
19
|
| Pull official Supabase configuration | `supabase config_pull` | Preview by default; local write requires `dry_run=false` and `yes`; not SupaCloud settings |
|
|
20
20
|
| Run the official local stack | `supabase stack_start`, `stack_prepare`, `stack_status`, `stack_stop` | Docker default; native alpha requires `SUPACLOUD_ENABLE_NATIVE_STACK=1` |
|
|
21
21
|
| Remove the official local stack | `supabase stack_destroy` | Local data loss; requires `confirm_destroy` and `yes` |
|
|
22
|
-
| Capture Lite drift | `lite db_diff`, `lite db_pull` | Draft outside migrations; only reviewed already-present DDL may use `baseline` |
|
|
22
|
+
| Capture Lite drift | `lite db_diff`, `lite db_pull`, `lite db_check` | Draft outside migrations; only reviewed already-present DDL may use `baseline`; `db_check` is read-only |
|
|
23
23
|
| Rebuild local database | `supabase db_reset` | Local only; preserve required seed behavior |
|
|
24
24
|
| Inspect or back up a remote database | `supabase db_pull`, `migration_list`, `db_dump`, `gen_types` | Requires explicit PostgreSQL DSN; redact it |
|
|
25
25
|
| Replay the release-canary fixture stage receipt | `release release_canary_fixture_stage_replay` | Dual-bind Management project context and that project's service-role application origin; accepts only the exact subject/request UUID pair and a strict idempotent receipt |
|