@supacloud/cli 0.14.0 → 0.14.1
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/index.js +8 -46
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6087,6 +6087,11 @@ function schemaProperties(schema) {
|
|
|
6087
6087
|
}
|
|
6088
6088
|
|
|
6089
6089
|
// src/shared/cli.ts
|
|
6090
|
+
function cliToolResultIsError(toolResult) {
|
|
6091
|
+
if (toolResult.isError === true)
|
|
6092
|
+
return true;
|
|
6093
|
+
return toolResult.content?.some((chunk) => chunk.type === "text" && chunk.text?.trimStart().startsWith("❌") === true) ?? false;
|
|
6094
|
+
}
|
|
6090
6095
|
function coerceCliValue(value) {
|
|
6091
6096
|
if (value === "true")
|
|
6092
6097
|
return true;
|
|
@@ -6193,7 +6198,7 @@ async function runCli(cliTools, args, options = {}) {
|
|
|
6193
6198
|
} else {
|
|
6194
6199
|
console.log(JSON.stringify(result, null, 2));
|
|
6195
6200
|
}
|
|
6196
|
-
process.exit(result
|
|
6201
|
+
process.exit(cliToolResultIsError(result) ? 1 : 0);
|
|
6197
6202
|
} catch (error) {
|
|
6198
6203
|
const message = error instanceof Error ? error.message : String(error);
|
|
6199
6204
|
console.error(`❌ Error: ${message}`);
|
|
@@ -6889,8 +6894,7 @@ Actions: ${allActions.join(", ")}${readOnly ? " (read-only mode)" : ""}`, {
|
|
|
6889
6894
|
`);
|
|
6890
6895
|
break;
|
|
6891
6896
|
}
|
|
6892
|
-
const
|
|
6893
|
-
const baselineResult = await execSql(baselineSql, "migration");
|
|
6897
|
+
const baselineResult = await http.post(`/v1/projects/${ref}/database/migrations/baseline`, { migrations: missing.map(({ name, version }) => ({ name, version })) });
|
|
6894
6898
|
text = baselineResult.ok ? [
|
|
6895
6899
|
`✅ Migration baseline completed for ${dir}`,
|
|
6896
6900
|
`Marked applied: ${missing.length}`,
|
|
@@ -6958,48 +6962,6 @@ function buildRlsPolicySql(qualifiedTable, policyMode, ownerColumnValue) {
|
|
|
6958
6962
|
CREATE POLICY "SupaCloud owner update" ON ${qualifiedTable} FOR UPDATE TO authenticated USING (${predicate}) WITH CHECK (${predicate});
|
|
6959
6963
|
CREATE POLICY "SupaCloud owner delete" ON ${qualifiedTable} FOR DELETE TO authenticated USING (${predicate});`;
|
|
6960
6964
|
}
|
|
6961
|
-
function sqlString(value) {
|
|
6962
|
-
return `'${value.replace(/'/g, "''")}'`;
|
|
6963
|
-
}
|
|
6964
|
-
function buildMigrationBaselineSql(migrations) {
|
|
6965
|
-
const values = migrations.map(({ name, version }) => `(${version}, ${sqlString(name)}, ARRAY[${sqlString(`baseline:${name}`)}]::text[])`).join(`,
|
|
6966
|
-
`);
|
|
6967
|
-
return `
|
|
6968
|
-
CREATE SCHEMA IF NOT EXISTS supabase_migrations;
|
|
6969
|
-
|
|
6970
|
-
CREATE TABLE IF NOT EXISTS supabase_migrations.schema_migrations (
|
|
6971
|
-
version BIGINT PRIMARY KEY,
|
|
6972
|
-
statements TEXT[],
|
|
6973
|
-
name TEXT
|
|
6974
|
-
);
|
|
6975
|
-
|
|
6976
|
-
CREATE TABLE IF NOT EXISTS public.schema_migrations (
|
|
6977
|
-
version VARCHAR(255) PRIMARY KEY,
|
|
6978
|
-
statements TEXT[],
|
|
6979
|
-
name TEXT
|
|
6980
|
-
);
|
|
6981
|
-
|
|
6982
|
-
WITH baseline(version, name, statements) AS (
|
|
6983
|
-
VALUES
|
|
6984
|
-
${values}
|
|
6985
|
-
)
|
|
6986
|
-
INSERT INTO supabase_migrations.schema_migrations (version, statements, name)
|
|
6987
|
-
SELECT version, statements, name FROM baseline
|
|
6988
|
-
ON CONFLICT (version) DO UPDATE
|
|
6989
|
-
SET statements = EXCLUDED.statements,
|
|
6990
|
-
name = EXCLUDED.name;
|
|
6991
|
-
|
|
6992
|
-
WITH baseline(version, name, statements) AS (
|
|
6993
|
-
VALUES
|
|
6994
|
-
${values}
|
|
6995
|
-
)
|
|
6996
|
-
INSERT INTO public.schema_migrations (version, statements, name)
|
|
6997
|
-
SELECT version::text, statements, name FROM baseline
|
|
6998
|
-
ON CONFLICT (version) DO UPDATE
|
|
6999
|
-
SET statements = EXCLUDED.statements,
|
|
7000
|
-
name = EXCLUDED.name;
|
|
7001
|
-
`.trim();
|
|
7002
|
-
}
|
|
7003
6965
|
function formatSqlResult(data) {
|
|
7004
6966
|
if (!data || typeof data !== "object")
|
|
7005
6967
|
return JSON.stringify(data, null, 2);
|
|
@@ -9872,7 +9834,7 @@ async function main() {
|
|
|
9872
9834
|
console.log(chunk.text);
|
|
9873
9835
|
}
|
|
9874
9836
|
}
|
|
9875
|
-
if (result
|
|
9837
|
+
if (cliToolResultIsError(result))
|
|
9876
9838
|
process.exitCode = 1;
|
|
9877
9839
|
return;
|
|
9878
9840
|
}
|