@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.
Files changed (2) hide show
  1. package/dist/index.js +8 -46
  2. 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 && typeof result === "object" && "isError" in result && result.isError === true ? 1 : 0);
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 baselineSql = buildMigrationBaselineSql(missing);
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.isError === true)
9837
+ if (cliToolResultIsError(result))
9876
9838
  process.exitCode = 1;
9877
9839
  return;
9878
9840
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supacloud/cli",
3
- "version": "0.14.0",
3
+ "version": "0.14.1",
4
4
  "description": "Project-scoped CLI for SupaCloud users",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",