supabee 0.3.2 → 0.3.4

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 CHANGED
@@ -6,6 +6,8 @@ import { runDataCommand } from './commands/data.js';
6
6
  import { runInitCommand } from './commands/init.js';
7
7
  import { runSyncCommand } from './commands/sync.js';
8
8
  import { runDbResetCommand, runStartCommand } from './commands/db-reset.js';
9
+ import { runCutoffDetectCommand } from './commands/cutoff.js';
10
+ import { runMigrationAuditCommand, runMigrationMarkCommand, runMigrationUnmarkCommand } from './commands/migration.js';
9
11
  import { runCommand } from './lib/subprocess.js';
10
12
  import { error as errText, info, warn } from './lib/ui.js';
11
13
  function buildStepArgs(step, reconstructed, options = {}) {
@@ -26,21 +28,9 @@ function buildStepArgs(step, reconstructed, options = {}) {
26
28
  args.push(reconstructed);
27
29
  return args;
28
30
  }
29
- function readCliVersion() {
30
- try {
31
- const packageJsonPath = new URL('../package.json', import.meta.url);
32
- const parsed = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
33
- if (typeof parsed.version === 'string' && parsed.version.trim() !== '') {
34
- return parsed.version;
35
- }
36
- }
37
- catch {
38
- // fallback below
39
- }
40
- return '0.0.0';
41
- }
42
- const KNOWN_TOP_LEVEL_COMMANDS = new Set(['init', 'schema', 'data', 'sync', 'db', 'start', 'help']);
31
+ const KNOWN_TOP_LEVEL_COMMANDS = new Set(['init', 'schema', 'data', 'sync', 'db', 'start', 'cutoff', 'migration', 'help']);
43
32
  const KNOWN_DB_SUBCOMMANDS = new Set(['reset', 'help']);
33
+ const KNOWN_MIGRATION_SUBCOMMANDS = new Set(['audit', 'mark', 'unmark', 'help']);
44
34
  function firstNonOptionToken(args) {
45
35
  for (let index = 0; index < args.length; index += 1) {
46
36
  const token = args[index];
@@ -89,20 +79,44 @@ function maybePrintGlobalInstallHint(args) {
89
79
  console.log(info('One-off runners: npx supabee ... | pnpm dlx supabee ... | bunx supabee ...'));
90
80
  console.log('');
91
81
  }
82
+ function readCliVersion() {
83
+ try {
84
+ const packageJsonPath = new URL('../package.json', import.meta.url);
85
+ const raw = fs.readFileSync(packageJsonPath, 'utf8');
86
+ const parsed = JSON.parse(raw);
87
+ if (typeof parsed.version === 'string' && parsed.version.trim() !== '') {
88
+ return parsed.version;
89
+ }
90
+ }
91
+ catch {
92
+ // fall through
93
+ }
94
+ return '0.0.0';
95
+ }
92
96
  async function maybePassthroughToSupabase(args) {
93
97
  const topLevel = firstNonOptionToken(args);
94
98
  if (!topLevel)
95
99
  return false;
96
100
  if (KNOWN_TOP_LEVEL_COMMANDS.has(topLevel.token)) {
97
- if (topLevel.token !== 'db')
98
- return false;
99
- const dbSubcommand = firstNonOptionToken(args.slice(topLevel.index + 1));
100
- if (!dbSubcommand || KNOWN_DB_SUBCOMMANDS.has(dbSubcommand.token)) {
101
- return false;
101
+ if (topLevel.token === 'db') {
102
+ const dbSubcommand = firstNonOptionToken(args.slice(topLevel.index + 1));
103
+ if (!dbSubcommand || KNOWN_DB_SUBCOMMANDS.has(dbSubcommand.token)) {
104
+ return false;
105
+ }
106
+ console.log(info(`Forwarding to Supabase CLI: supabase ${args.join(' ')}`));
107
+ await runCommand('supabase', args);
108
+ return true;
102
109
  }
103
- console.log(info(`Forwarding to Supabase CLI: supabase ${args.join(' ')}`));
104
- await runCommand('supabase', args);
105
- return true;
110
+ if (topLevel.token === 'migration') {
111
+ const migrationSubcommand = firstNonOptionToken(args.slice(topLevel.index + 1));
112
+ if (!migrationSubcommand || KNOWN_MIGRATION_SUBCOMMANDS.has(migrationSubcommand.token)) {
113
+ return false;
114
+ }
115
+ console.log(info(`Forwarding to Supabase CLI: supabase ${args.join(' ')}`));
116
+ await runCommand('supabase', args);
117
+ return true;
118
+ }
119
+ return false;
106
120
  }
107
121
  console.log(info(`Forwarding to Supabase CLI: supabase ${args.join(' ')}`));
108
122
  await runCommand('supabase', args);
@@ -114,26 +128,26 @@ program
114
128
  .version(readCliVersion(), '-V, --version', 'display version number')
115
129
  .description('Supabase sync and migration orchestration CLI.')
116
130
  .showHelpAfterError('(run with --help for usage)')
117
- .addHelpText('after', `
118
- Main Workflows
119
- supabee sync schema
120
- supabee sync data
121
- supabee db reset [cutoff_timestamp]
122
- supabee start [cutoff_timestamp]
123
-
124
- Setup (once per project)
125
- supabee init
126
- supabase link
127
-
128
- Examples
129
- supabee sync schema
130
- supabee sync data
131
- supabee db reset 20260309180959
132
- supabee start 20260309180959
133
-
134
- Manual Processing (existing dump files)
135
- supabee schema
136
- supabee data
131
+ .addHelpText('after', `
132
+ Main Workflows
133
+ supabee sync schema
134
+ supabee sync data
135
+ supabee db reset [cutoff_timestamp]
136
+ supabee start [cutoff_timestamp]
137
+
138
+ Setup (once per project)
139
+ supabee init
140
+ supabase link
141
+
142
+ Examples
143
+ supabee sync schema
144
+ supabee sync data
145
+ supabee db reset 20260309180959
146
+ supabee start 20260309180959
147
+
148
+ Manual Processing (existing dump files)
149
+ supabee schema
150
+ supabee data
137
151
  `);
138
152
  program
139
153
  .command('init')
@@ -161,18 +175,18 @@ for (const commandName of ['schema', 'data']) {
161
175
  const syncCommand = program
162
176
  .command('sync')
163
177
  .description('Dump from linked project, then split/reconstruct/validate')
164
- .addHelpText('after', `
165
- Main Usage
166
- supabee sync schema
167
- supabee sync data
168
-
169
- Examples
170
- supabee sync schema
171
- supabee sync data --input supabase/seeds/prod-data.sql
172
- supabee sync data --no-backup
173
-
174
- Note
175
- Requires \`supabase link\` to be configured for this project.
178
+ .addHelpText('after', `
179
+ Main Usage
180
+ supabee sync schema
181
+ supabee sync data
182
+
183
+ Examples
184
+ supabee sync schema
185
+ supabee sync data --input supabase/seeds/prod-data.sql
186
+ supabee sync data --no-backup
187
+
188
+ Note
189
+ Requires \`supabase link\` to be configured for this project.
176
190
  `);
177
191
  syncCommand
178
192
  .command('schema')
@@ -181,9 +195,8 @@ syncCommand
181
195
  .option('--output <path>', 'Split output path override for schema processing')
182
196
  .option('--backup', 'Backup existing split output before replacing')
183
197
  .option('--no-backup', 'Do not backup dirty split output folder before split')
184
- .action(async (options = {}) => {
185
- await runSyncCommand('schema', options);
186
- });
198
+ .option('--force', 'Skip linked migration alignment preflight for sync')
199
+ .action((options = {}) => runSyncCommand('schema', options));
187
200
  syncCommand
188
201
  .command('data')
189
202
  .description('Run `supabase db dump --data-only`, then process data files')
@@ -191,52 +204,80 @@ syncCommand
191
204
  .option('--output <path>', 'Split output path override for data processing')
192
205
  .option('--backup', 'Backup existing split output before replacing')
193
206
  .option('--no-backup', 'Do not backup dirty split output folder before split')
194
- .action(async (options = {}) => {
195
- await runSyncCommand('data', options);
196
- });
207
+ .option('--force', 'Skip linked migration alignment preflight for sync')
208
+ .action((options = {}) => runSyncCommand('data', options));
209
+ const cutoffCommand = program.command('cutoff').description('Cutoff detection helpers');
210
+ cutoffCommand
211
+ .command('detect [cutoffTimestamp]')
212
+ .description('Resolve cutoff from argument, linked migration alignment, or configured fallback')
213
+ .option('--env <name>', 'Environment key used for postSeedCutoffByEnv fallback lookup')
214
+ .option('--json', 'Print machine-readable JSON output')
215
+ .action((cutoffTimestamp, options = {}) => runCutoffDetectCommand(cutoffTimestamp, options));
216
+ const migrationCommand = program.command('migration').description('Migration classification helpers');
217
+ migrationCommand
218
+ .command('audit')
219
+ .description('Classify migrations as data/schema/mixed/unknown and show suggested marker actions')
220
+ .option('--migrations-dir <path>', 'Migrations directory', 'supabase/migrations')
221
+ .option('--json', 'Print machine-readable audit output')
222
+ .option('--verbose', 'Include detailed classifier evidence in output')
223
+ .action((options = {}) => runMigrationAuditCommand(options));
224
+ migrationCommand
225
+ .command('mark')
226
+ .description('Add marker comments to classified migration files (interactive by default)')
227
+ .option('--migrations-dir <path>', 'Migrations directory', 'supabase/migrations')
228
+ .option('--dry-run', 'Preview marker updates without writing files')
229
+ .option('--yes', 'Apply all suggested marker updates without interactive prompts')
230
+ .action((options = {}) => runMigrationMarkCommand(options));
231
+ migrationCommand
232
+ .command('unmark')
233
+ .description('Remove marker comments from migration files (interactive by default)')
234
+ .option('--migrations-dir <path>', 'Migrations directory', 'supabase/migrations')
235
+ .option('--dry-run', 'Preview marker removals without writing files')
236
+ .option('--yes', 'Remove all found marker updates without interactive prompts')
237
+ .action((options = {}) => runMigrationUnmarkCommand(options));
197
238
  const dbCommand = program.command('db').description('Database orchestration commands');
198
239
  dbCommand
199
240
  .command('reset [cutoffTimestamp]')
200
241
  .description('Reset DB, then apply deferred post-seed migrations (auto cutoff if omitted)')
201
242
  .option('--psql', 'Apply deferred migrations via raw psql instead of supabase migration up')
243
+ .option('--strict-mixed', 'Fail when any mixed schema+DML migration is detected (default: fail only after cutoff)')
202
244
  .option('--migrations-dir <path>', 'Migrations directory', 'supabase/migrations')
203
245
  .option('--temp-dir <path>', 'Temporary directory for deferred migrations', 'supabase/.tmp-migrations')
204
- .addHelpText('after', `
205
- What This Command Does
206
- 1) Defers migrations with timestamps greater than <cutoffTimestamp>
207
- 2) Runs \`supabase db reset\`
208
- 3) Restores deferred migration files
209
- 4) Reapplies deferred migrations
210
-
211
- Examples
212
- supabee db reset 20260309180959
213
- supabee db reset
214
- supabee db reset 20260309180959 --psql
246
+ .option('--env <name>', 'Environment key used for postSeedCutoffByEnv fallback lookup')
247
+ .addHelpText('after', `
248
+ What This Command Does
249
+ 1) Defers migrations with timestamps greater than <cutoffTimestamp>
250
+ 2) Runs \`supabase db reset\`
251
+ 3) Restores deferred migration files
252
+ 4) Reapplies deferred migrations
253
+
254
+ Examples
255
+ supabee db reset 20260309180959
256
+ supabee db reset
257
+ supabee db reset 20260309180959 --psql
215
258
  `)
216
- .action(async (cutoffTimestamp, options = {}) => {
217
- await runDbResetCommand(cutoffTimestamp, options);
218
- });
259
+ .action((cutoffTimestamp, options = {}) => runDbResetCommand(cutoffTimestamp, options));
219
260
  program
220
261
  .command('start [cutoffTimestamp]')
221
262
  .description('Start Supabase with deferred post-seed migrations applied after startup')
222
263
  .option('--psql', 'Apply deferred migrations via raw psql instead of supabase migration up')
264
+ .option('--strict-mixed', 'Fail when any mixed schema+DML migration is detected (default: fail only after cutoff)')
223
265
  .option('--migrations-dir <path>', 'Migrations directory', 'supabase/migrations')
224
266
  .option('--temp-dir <path>', 'Temporary directory for deferred migrations', 'supabase/.tmp-migrations')
225
- .addHelpText('after', `
226
- What This Command Does
227
- 1) Defers migrations with timestamps greater than [cutoffTimestamp]
228
- 2) Runs \`supabase start\`
229
- 3) Restores deferred migration files
230
- 4) Reapplies deferred migrations
231
-
232
- Examples
233
- supabee start 20260309180959
234
- supabee start
235
- supabee start --psql
267
+ .option('--env <name>', 'Environment key used for postSeedCutoffByEnv fallback lookup')
268
+ .addHelpText('after', `
269
+ What This Command Does
270
+ 1) Defers migrations with timestamps greater than [cutoffTimestamp]
271
+ 2) Runs \`supabase start\`
272
+ 3) Restores deferred migration files
273
+ 4) Reapplies deferred migrations
274
+
275
+ Examples
276
+ supabee start 20260309180959
277
+ supabee start
278
+ supabee start --psql
236
279
  `)
237
- .action(async (cutoffTimestamp, options = {}) => {
238
- await runStartCommand(cutoffTimestamp, options);
239
- });
280
+ .action((cutoffTimestamp, options = {}) => runStartCommand(cutoffTimestamp, options));
240
281
  async function main() {
241
282
  const args = process.argv.slice(2);
242
283
  maybePrintGlobalInstallHint(args);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,9 @@ export type DataTableRule = {
8
8
  };
9
9
  export type ToolConfig = {
10
10
  postSeedCutoff?: string;
11
+ postSeedCutoffByEnv?: Record<string, string>;
12
+ dataMigrationMarker?: string;
13
+ schemaMigrationMarker?: string;
11
14
  schema?: {
12
15
  input?: string;
13
16
  output?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,+BAA+B,CAAC;AAmCvE,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE;QACN,KAAK,EAAE,mCAAmC;QAC1C,MAAM,EAAE,wBAAwB;QAChC,aAAa,EAAE,4CAA4C;QAC3D,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,EAAE;KACd;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,8BAA8B;QACrC,MAAM,EAAE,sBAAsB;QAC9B,aAAa,EAAE,uCAAuC;QACtD,MAAM,EAAE,KAAK;QACb,eAAe,EAAE,IAAI;QACrB,oBAAoB,EAAE,EAAE;QACxB,gBAAgB,EAAE,GAAG;QACrB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,mBAAmB,EAAE,EAAE;KACxB;CACF,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,+BAA+B,CAAC;AAsCvE,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE;QACN,KAAK,EAAE,mCAAmC;QAC1C,MAAM,EAAE,wBAAwB;QAChC,aAAa,EAAE,4CAA4C;QAC3D,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,EAAE;KACd;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,8BAA8B;QACrC,MAAM,EAAE,sBAAsB;QAC9B,aAAa,EAAE,uCAAuC;QACtD,MAAM,EAAE,KAAK;QACb,eAAe,EAAE,IAAI;QACrB,oBAAoB,EAAE,EAAE;QACxB,gBAAgB,EAAE,GAAG;QACrB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;QACb,mBAAmB,EAAE,EAAE;KACxB;CACF,CAAC"}
@@ -0,0 +1,39 @@
1
+ export type MigrationClassification = 'data' | 'schema' | 'mixed' | 'unknown';
2
+ export type MigrationClassificationSource = 'marker' | 'heuristic';
3
+ export type RecommendedMarker = 'data' | 'schema' | null;
4
+ export type MigrationClassificationResult = {
5
+ fileName: string;
6
+ filePath: string;
7
+ timestamp: number;
8
+ classification: MigrationClassification;
9
+ source: MigrationClassificationSource;
10
+ reasons: string[];
11
+ hasDataMarker: boolean;
12
+ hasSchemaMarker: boolean;
13
+ recommendedMarker: RecommendedMarker;
14
+ evidence: {
15
+ markerMatches: Array<{
16
+ marker: string;
17
+ line: number;
18
+ snippet: string;
19
+ }>;
20
+ ddlMatches: Array<{
21
+ pattern: string;
22
+ line: number;
23
+ snippet: string;
24
+ }>;
25
+ dmlMatches: Array<{
26
+ pattern: string;
27
+ line: number;
28
+ snippet: string;
29
+ }>;
30
+ };
31
+ };
32
+ export type MigrationClassifierOptions = {
33
+ migrationsDir: string;
34
+ };
35
+ export declare function classifyMigrations(options: MigrationClassifierOptions): Promise<MigrationClassificationResult[]>;
36
+ export declare function resolveMarkers(): {
37
+ dataMarker: string;
38
+ schemaMarker: string;
39
+ };