@deessejs/cli 0.3.2 → 0.4.0

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.
@@ -1,14 +1,17 @@
1
1
  /**
2
2
  * db:generate command
3
3
  *
4
- * Verifies schema setup and provides instructions for generating migrations.
4
+ * Generates migrations from schema changes using drizzle-kit's programmatic API.
5
5
  *
6
- * For Drizzle, run these commands:
7
- * npx drizzle-kit generate
8
- * npx drizzle-kit push
6
+ * Flow:
7
+ * 1. Load schema from ./src/db/schema.ts
8
+ * 2. Get current schema snapshot using generateDrizzleJson
9
+ * 3. Get previous snapshot from ./src/db/meta/_snapshot.json (if exists)
10
+ * 4. Generate migration SQL using generateMigration
11
+ * 5. Save new snapshot and migration files
9
12
  */
10
13
  export interface DbGenerateOptions {
11
14
  cwd?: string;
12
15
  }
13
- export declare function dbGenerate(_options?: DbGenerateOptions): Promise<void>;
16
+ export declare function dbGenerate(options?: DbGenerateOptions): Promise<void>;
14
17
  //# sourceMappingURL=db-generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-generate.d.ts","sourceRoot":"","sources":["../../src/commands/db-generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,UAAU,CAAC,QAAQ,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BhF"}
1
+ {"version":3,"file":"db-generate.d.ts","sourceRoot":"","sources":["../../src/commands/db-generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgE/E"}
@@ -1,14 +1,27 @@
1
1
  /**
2
2
  * db:generate command
3
3
  *
4
- * Verifies schema setup and provides instructions for generating migrations.
4
+ * Generates migrations from schema changes using drizzle-kit's programmatic API.
5
5
  *
6
- * For Drizzle, run these commands:
7
- * npx drizzle-kit generate
8
- * npx drizzle-kit push
6
+ * Flow:
7
+ * 1. Load schema from ./src/db/schema.ts
8
+ * 2. Get current schema snapshot using generateDrizzleJson
9
+ * 3. Get previous snapshot from ./src/db/meta/_snapshot.json (if exists)
10
+ * 4. Generate migration SQL using generateMigration
11
+ * 5. Save new snapshot and migration files
9
12
  */
10
- import { verifySchemaPath, SCHEMA_PATH } from '../utils/schema-loader.js';
11
- export async function dbGenerate(_options = {}) {
13
+ import * as fs from 'node:fs/promises';
14
+ import * as path from 'node:path';
15
+ import { createRequire } from 'node:module';
16
+ import { loadSchema, verifySchemaPath } from '../utils/schema-loader.js';
17
+ const require = createRequire(import.meta.url);
18
+ const { generateDrizzleJson, generateMigration } = require('drizzle-kit/api');
19
+ const SCHEMA_PATH = './src/db/schema.ts';
20
+ const MIGRATIONS_DIR = './src/db/migrations';
21
+ const SNAPSHOT_DIR = './src/db/meta';
22
+ const SNAPSHOT_FILE = '_snapshot.json';
23
+ export async function dbGenerate(options = {}) {
24
+ const cwd = options.cwd ?? process.cwd();
12
25
  // Verify schema file exists
13
26
  try {
14
27
  await verifySchemaPath();
@@ -17,24 +30,40 @@ export async function dbGenerate(_options = {}) {
17
30
  throw new Error(`db:generate requires ${SCHEMA_PATH} to exist.\n` +
18
31
  `Please create this file and export your Drizzle tables.`);
19
32
  }
20
- console.warn(`
21
- Database Schema OK: ${SCHEMA_PATH}
22
-
23
- To generate migrations with Drizzle, run these commands:
24
-
25
- npx drizzle-kit generate
26
- npx drizzle-kit push
27
-
28
- Note: These commands require a drizzle.config.ts file. If you don't have one,
29
- create it with:
30
-
31
- import { defineConfig } from 'drizzle-kit';
32
-
33
- export default defineConfig({
34
- schema: './src/db/schema.ts',
35
- out: './src/db/migrations',
36
- dialect: 'postgresql',
37
- });
38
- `);
33
+ // Ensure migrations directory exists
34
+ await fs.mkdir(path.join(cwd, MIGRATIONS_DIR), { recursive: true });
35
+ // Ensure snapshot directory exists
36
+ await fs.mkdir(path.join(cwd, SNAPSHOT_DIR), { recursive: true });
37
+ // Load the schema
38
+ const { schema } = await loadSchema();
39
+ // Generate current schema snapshot
40
+ const currentSchema = generateDrizzleJson(schema);
41
+ // Load previous snapshot (if exists)
42
+ let prevSchema = null;
43
+ const snapshotPath = path.join(cwd, SNAPSHOT_DIR, SNAPSHOT_FILE);
44
+ try {
45
+ const snapshotContent = await fs.readFile(snapshotPath, 'utf-8');
46
+ prevSchema = JSON.parse(snapshotContent);
47
+ }
48
+ catch {
49
+ // No previous snapshot - this is the first migration
50
+ console.warn('No previous snapshot found. This will be the first migration.');
51
+ }
52
+ // Generate migration SQL
53
+ const migrationSql = await generateMigration(prevSchema ?? undefined, currentSchema);
54
+ if (!migrationSql || migrationSql.length === 0) {
55
+ console.warn('No changes detected. No migration to generate.');
56
+ return;
57
+ }
58
+ // Generate migration file name based on timestamp
59
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
60
+ const migrationName = `${timestamp}_migration.sql`;
61
+ const migrationPath = path.join(cwd, MIGRATIONS_DIR, migrationName);
62
+ // Save migration file
63
+ await fs.writeFile(migrationPath, migrationSql.join('\n\n'));
64
+ // Save new snapshot
65
+ await fs.writeFile(snapshotPath, JSON.stringify(currentSchema, null, 2));
66
+ console.warn(`Generated migration: ${migrationName}`);
67
+ console.warn(`Migration saved to: ${MIGRATIONS_DIR}/${migrationName}`);
39
68
  }
40
69
  //# sourceMappingURL=db-generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-generate.js","sourceRoot":"","sources":["../../src/commands/db-generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAM1E,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,WAA8B,EAAE;IAC/D,4BAA4B;IAC5B,IAAI,CAAC;QACH,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,wBAAwB,WAAW,cAAc;YACjD,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI,CAAC;sBACO,WAAW;;;;;;;;;;;;;;;;;CAiBhC,CAAC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"db-generate.js","sourceRoot":"","sources":["../../src/commands/db-generate.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,17 @@
1
1
  /**
2
2
  * db:push command
3
3
  *
4
- * Verifies schema setup and provides instructions for pushing schema to database.
4
+ * Pushes schema changes directly to the database using drizzle-kit's pushSchema.
5
5
  *
6
- * For Drizzle, run:
7
- * npx drizzle-kit push
6
+ * Flow:
7
+ * 1. Load schema from ./src/db/schema.ts
8
+ * 2. Load config to get database instance
9
+ * 3. Call pushSchema with the schema
10
+ * 4. Show warnings and apply
8
11
  */
9
12
  export interface DbPushOptions {
10
13
  force?: boolean;
11
14
  cwd?: string;
12
15
  }
13
- export declare function dbPush(_options?: DbPushOptions): Promise<void>;
16
+ export declare function dbPush(options?: DbPushOptions): Promise<void>;
14
17
  //# sourceMappingURL=db-push.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-push.d.ts","sourceRoot":"","sources":["../../src/commands/db-push.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,MAAM,CAAC,QAAQ,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBxE"}
1
+ {"version":3,"file":"db-push.d.ts","sourceRoot":"","sources":["../../src/commands/db-push.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DvE"}
@@ -1,13 +1,22 @@
1
1
  /**
2
2
  * db:push command
3
3
  *
4
- * Verifies schema setup and provides instructions for pushing schema to database.
4
+ * Pushes schema changes directly to the database using drizzle-kit's pushSchema.
5
5
  *
6
- * For Drizzle, run:
7
- * npx drizzle-kit push
6
+ * Flow:
7
+ * 1. Load schema from ./src/db/schema.ts
8
+ * 2. Load config to get database instance
9
+ * 3. Call pushSchema with the schema
10
+ * 4. Show warnings and apply
8
11
  */
9
- import { verifySchemaPath, SCHEMA_PATH } from '../utils/schema-loader.js';
10
- export async function dbPush(_options = {}) {
12
+ import { createRequire } from 'node:module';
13
+ import { verifySchemaPath, SCHEMA_PATH, loadSchema } from '../utils/schema-loader.js';
14
+ import { loadConfig } from '../utils/config.js';
15
+ import * as p from '@clack/prompts';
16
+ const require = createRequire(import.meta.url);
17
+ const { pushSchema } = require('drizzle-kit/api');
18
+ export async function dbPush(options = {}) {
19
+ const { force = false } = options;
11
20
  // Verify schema file exists
12
21
  try {
13
22
  await verifySchemaPath();
@@ -16,18 +25,46 @@ export async function dbPush(_options = {}) {
16
25
  throw new Error(`db:push requires ${SCHEMA_PATH} to exist.\n` +
17
26
  `Please create this file and export your Drizzle tables.`);
18
27
  }
19
- console.warn(`
20
- Database Schema OK: ${SCHEMA_PATH}
21
-
22
- To push schema changes to your database with Drizzle, run:
23
-
24
- npx drizzle-kit push
25
-
26
- Use --force flag to skip confirmation:
27
-
28
- npx drizzle-kit push --force
29
-
30
- Note: This command requires a drizzle.config.ts file. See 'deesse db:generate' for setup.
31
- `);
28
+ // Load config to get database instance
29
+ const { config } = await loadConfig();
30
+ const db = config.database;
31
+ if (!db) {
32
+ throw new Error('Config does not have a database instance');
33
+ }
34
+ // Load the schema
35
+ const { schema } = await loadSchema();
36
+ // Push schema to database
37
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
38
+ const result = await pushSchema(schema, db);
39
+ // Check for data loss
40
+ if (result.hasDataLoss && !force) {
41
+ p.note('The following changes may cause data loss:', 'Warning');
42
+ for (const warning of result.warnings) {
43
+ console.warn(` - ${warning}`);
44
+ }
45
+ console.warn('');
46
+ const confirm = await p.confirm({
47
+ message: 'Do you want to apply these changes anyway?',
48
+ initialValue: false,
49
+ });
50
+ if (p.isCancel(confirm) || !confirm) {
51
+ p.cancel('Push cancelled.');
52
+ return;
53
+ }
54
+ }
55
+ else if (result.warnings.length > 0) {
56
+ p.note(result.warnings.join('\n'), 'Warnings');
57
+ }
58
+ // Show statements that will be executed
59
+ if (result.statementsToExecute.length > 0) {
60
+ console.warn('The following SQL will be executed:');
61
+ for (const stmt of result.statementsToExecute) {
62
+ console.warn(` ${stmt}`);
63
+ }
64
+ console.warn('');
65
+ }
66
+ // Apply the changes
67
+ await result.apply();
68
+ console.warn(`Successfully pushed ${result.statementsToExecute.length} changes to the database.`);
32
69
  }
33
70
  //# sourceMappingURL=db-push.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-push.js","sourceRoot":"","sources":["../../src/commands/db-push.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAO1E,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,WAA0B,EAAE;IACvD,4BAA4B;IAC5B,IAAI,CAAC;QACH,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,oBAAoB,WAAW,cAAc;YAC7C,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI,CAAC;sBACO,WAAW;;;;;;;;;;;CAWhC,CAAC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"db-push.js","sourceRoot":"","sources":["../../src/commands/db-push.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAOlD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,UAAyB,EAAE;IACtD,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAElC,4BAA4B;IAC5B,IAAI,CAAC;QACH,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,oBAAoB,WAAW,cAAc;YAC7C,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IACtC,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAE3B,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,kBAAkB;IAClB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IAEtC,0BAA0B;IAC1B,8DAA8D;IAC9D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,EAAS,CAAC,CAAC;IAEnD,sBAAsB;IACtB,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC,CAAC,IAAI,CAAC,4CAA4C,EAAE,SAAS,CAAC,CAAC;QAChE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEjB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;YAC9B,OAAO,EAAE,4CAA4C;YACrD,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,wCAAwC;IACxC,IAAI,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAED,oBAAoB;IACpB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,OAAO,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,mBAAmB,CAAC,MAAM,2BAA2B,CAAC,CAAC;AACpG,CAAC"}
@@ -43,7 +43,7 @@ Or with custom host/port:
43
43
 
44
44
  npx drizzle-kit studio --host ${host} --port ${port}
45
45
 
46
- Note: This command requires a drizzle.config.ts file. See 'deesse db:generate' for setup.
46
+ Note: Drizzle Studio requires a drizzle.config.ts file. See 'deesse db:generate' for setup.
47
47
  `);
48
48
  }
49
49
  //# sourceMappingURL=db-studio.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deessejs/cli",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "description": "DeesseJS CLI for managing DeesseJS projects",
5
5
  "type": "module",
6
6
  "bin": {
@@ -24,7 +24,8 @@
24
24
  "author": "DeesseJS",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
- "@clack/prompts": "^0.8.2"
27
+ "@clack/prompts": "^0.8.2",
28
+ "drizzle-kit": "^0.30.0"
28
29
  },
29
30
  "devDependencies": {
30
31
  "@types/node": "^22.10.6",