@deessejs/cli 0.6.44 → 0.6.46

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 (52) hide show
  1. package/bin/deesse.js +3 -2
  2. package/dist/commands/db/generate.d.ts +5 -18
  3. package/dist/commands/db/generate.d.ts.map +1 -1
  4. package/dist/commands/db/generate.js +9 -58
  5. package/dist/commands/db/generate.js.map +1 -1
  6. package/dist/commands/db/index.d.ts +6 -0
  7. package/dist/commands/db/index.d.ts.map +1 -1
  8. package/dist/commands/db/index.js +9 -142
  9. package/dist/commands/db/index.js.map +1 -1
  10. package/dist/commands/db/migrate.d.ts +5 -22
  11. package/dist/commands/db/migrate.d.ts.map +1 -1
  12. package/dist/commands/db/migrate.js +9 -69
  13. package/dist/commands/db/migrate.js.map +1 -1
  14. package/dist/commands/db/push.d.ts +10 -0
  15. package/dist/commands/db/push.d.ts.map +1 -1
  16. package/dist/commands/db/push.js +21 -38
  17. package/dist/commands/db/push.js.map +1 -1
  18. package/dist/index.d.ts +3 -0
  19. package/dist/index.js +18 -164
  20. package/dist/index.js.map +1 -1
  21. package/dist/utils/config.d.ts +8 -0
  22. package/dist/utils/config.d.ts.map +1 -0
  23. package/dist/utils/config.js +10 -0
  24. package/dist/utils/config.js.map +1 -0
  25. package/package.json +54 -53
  26. package/dist/commands/admin/create.d.ts.map +0 -1
  27. package/dist/commands/admin/create.js +0 -166
  28. package/dist/commands/admin/create.js.map +0 -1
  29. package/dist/commands/admin.d.ts.map +0 -1
  30. package/dist/commands/admin.js +0 -22
  31. package/dist/commands/admin.js.map +0 -1
  32. package/dist/lib/admin/create.d.ts +0 -29
  33. package/dist/lib/admin/create.d.ts.map +0 -1
  34. package/dist/lib/admin/create.js +0 -54
  35. package/dist/lib/admin/create.js.map +0 -1
  36. package/dist/lib/config/loader.d.ts +0 -77
  37. package/dist/lib/config/loader.d.ts.map +0 -1
  38. package/dist/lib/config/loader.js +0 -199
  39. package/dist/lib/config/loader.js.map +0 -1
  40. package/dist/lib/db/auth-schema.d.ts +0 -28
  41. package/dist/lib/db/auth-schema.d.ts.map +0 -1
  42. package/dist/lib/db/auth-schema.js +0 -116
  43. package/dist/lib/db/auth-schema.js.map +0 -1
  44. package/dist/lib/db/schema.d.ts.map +0 -1
  45. package/dist/lib/db/schema.js +0 -144
  46. package/dist/lib/db/schema.js.map +0 -1
  47. package/dist/lib/index.d.ts.map +0 -1
  48. package/dist/lib/index.js +0 -6
  49. package/dist/lib/index.js.map +0 -1
  50. package/dist/utils/schema-loader.d.ts.map +0 -1
  51. package/dist/utils/schema-loader.js +0 -46
  52. package/dist/utils/schema-loader.js.map +0 -1
package/bin/deesse.js CHANGED
@@ -1,2 +1,3 @@
1
- #!/usr/bin/env node
2
- import('../dist/index.js');
1
+ #!/usr/bin/env node
2
+
3
+ import '../dist/index.js';
@@ -1,19 +1,6 @@
1
- /**
2
- * db:generate command
3
- *
4
- * Generates auth schema and user migrations with drizzle-kit.
5
- * Always recreates drizzle config to ensure correct schema path.
6
- */
7
- export interface DbGenerateOptions {
8
- cwd?: string;
9
- config?: string;
10
- name?: string;
11
- breakpoints?: boolean;
12
- custom?: boolean;
13
- prefix?: 'index' | 'timestamp';
14
- casing?: 'camelCase' | 'snake_case';
15
- dialect?: 'postgresql' | 'mysql' | 'sqlite' | 'singlestore' | 'turso';
16
- verbose?: boolean;
17
- }
18
- export declare function dbGenerate(options?: DbGenerateOptions): Promise<void>;
1
+ export declare const generateCommand: import("@drizzle-team/brocli").Command<{
2
+ [x: string]: import("@drizzle-team/brocli").OutputType;
3
+ } | undefined, {
4
+ [x: string]: import("@drizzle-team/brocli").OutputType;
5
+ } | undefined>;
19
6
  //# sourceMappingURL=generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/commands/db/generate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IAC/B,MAAM,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC;IACpC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsE/E"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/commands/db/generate.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe;;;;cAM1B,CAAC"}
@@ -1,59 +1,10 @@
1
- /**
2
- * db:generate command
3
- *
4
- * Generates auth schema and user migrations with drizzle-kit.
5
- * Always recreates drizzle config to ensure correct schema path.
6
- */
7
- import { execSync } from 'node:child_process';
8
- import { createDrizzleConfig } from '../../lib/db/schema.js';
9
- import { generateAuthSchema } from '../../lib/db/auth-schema.js';
10
- export async function dbGenerate(options = {}) {
11
- const { cwd = process.cwd(), config, name, breakpoints = true, custom = false, prefix, casing, dialect, verbose = false, } = options;
12
- // Step 1: Generate auth schema
13
- await generateAuthSchema(cwd);
14
- // Step 2: Ensure drizzle.config.ts exists
15
- await createDrizzleConfig(cwd);
16
- // Step 3: Build drizzle-kit generate command
17
- const args = ['npx drizzle-kit', 'generate'];
18
- if (config) {
19
- args.push('--config', config);
20
- }
21
- if (name) {
22
- args.push('--name', name);
23
- }
24
- if (!breakpoints) {
25
- args.push('--no-breakpoints');
26
- }
27
- if (custom) {
28
- args.push('--custom');
29
- }
30
- if (prefix) {
31
- args.push('--prefix', prefix);
32
- }
33
- if (casing) {
34
- args.push('--casing', casing);
35
- }
36
- if (dialect) {
37
- args.push('--dialect', dialect);
38
- }
39
- if (verbose) {
40
- args.push('--verbose');
41
- }
42
- console.warn('Generating migrations with drizzle-kit...');
43
- try {
44
- execSync(args.join(' '), {
45
- cwd,
46
- stdio: 'inherit',
47
- });
48
- }
49
- catch (error) {
50
- // Detect "no schema changes" — drizzle-kit exits with code 0 but prints this message
51
- // We can't easily detect this from execSync output since stdio: 'inherit'
52
- // So just forward the error
53
- if (error.code === 'ENOENT') {
54
- throw new Error('drizzle-kit not found. Please install it: npm install drizzle-kit');
55
- }
56
- throw error;
57
- }
58
- }
1
+ import { command } from '@drizzle-team/brocli';
2
+ import { execSync } from 'child_process';
3
+ export const generateCommand = command({
4
+ name: 'generate',
5
+ desc: 'Generate migration files from schema changes',
6
+ handler: async () => {
7
+ execSync('drizzle-kit generate', { stdio: 'inherit' });
8
+ },
9
+ });
59
10
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/db/generate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAcjE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAA6B,EAAE;IAC9D,MAAM,EACJ,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EACnB,MAAM,EACN,IAAI,EACJ,WAAW,GAAG,IAAI,EAClB,MAAM,GAAG,KAAK,EACd,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,GAAG,KAAK,GAChB,GAAG,OAAO,CAAC;IAEZ,+BAA+B;IAC/B,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAE9B,0CAA0C;IAC1C,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAE/B,6CAA6C;IAC7C,MAAM,IAAI,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAE7C,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACvB,GAAG;YACH,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qFAAqF;QACrF,0EAA0E;QAC1E,4BAA4B;QAC5B,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/db/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;IACrC,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,8CAA8C;IACpD,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,QAAQ,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const dbCommand: import("@drizzle-team/brocli").Command<{
2
+ [x: string]: import("@drizzle-team/brocli").OutputType;
3
+ } | undefined, {
4
+ [x: string]: import("@drizzle-team/brocli").OutputType;
5
+ } | undefined>;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/db/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B3E;AA6ED,wBAAgB,UAAU,IAAI,IAAI,CAyCjC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/db/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,SAAS;;;;cAIpB,CAAC"}
@@ -1,143 +1,10 @@
1
- /**
2
- * db command dispatcher
3
- *
4
- * Handles all db:* subcommands:
5
- * - db:generate Generate migrations from schema changes
6
- * - db:push Push schema changes directly (dev only)
7
- * - db:migrate Apply pending migrations to database
8
- */
9
- import { dbGenerate } from './generate.js';
10
- import { dbPush } from './push.js';
11
- import { dbMigrate } from './migrate.js';
12
- export async function runDbCommand(options) {
13
- const { subcommand, args } = options;
14
- switch (subcommand) {
15
- case 'generate': {
16
- const opts = parseDbGenerateArgs(args);
17
- await dbGenerate(opts);
18
- break;
19
- }
20
- case 'push': {
21
- const opts = parseDbPushArgs(args);
22
- await dbPush(opts);
23
- break;
24
- }
25
- case 'migrate': {
26
- const opts = parseDbMigrateArgs(args);
27
- await dbMigrate(opts);
28
- break;
29
- }
30
- default:
31
- throw new Error(`Unknown db command: ${subcommand}\n` +
32
- `Valid commands: generate, push, migrate`);
33
- }
34
- }
35
- function parseDbGenerateArgs(args) {
36
- const opts = {};
37
- for (let i = 0; i < args.length; i++) {
38
- if (args[i] === '--cwd' && i + 1 < args.length) {
39
- opts.cwd = args[++i];
40
- }
41
- else if (args[i] === '--config' && i + 1 < args.length) {
42
- opts.config = args[++i];
43
- }
44
- else if (args[i] === '--name' && i + 1 < args.length) {
45
- opts.name = args[++i];
46
- }
47
- else if (args[i] === '--no-breakpoints') {
48
- opts.breakpoints = false;
49
- }
50
- else if (args[i] === '--custom') {
51
- opts.custom = true;
52
- }
53
- else if (args[i] === '--prefix' && i + 1 < args.length) {
54
- const val = args[++i];
55
- if (val === 'index' || val === 'timestamp') {
56
- opts.prefix = val;
57
- }
58
- }
59
- else if (args[i] === '--casing' && i + 1 < args.length) {
60
- const val = args[++i];
61
- if (val === 'camelCase' || val === 'snake_case') {
62
- opts.casing = val;
63
- }
64
- }
65
- else if (args[i] === '--dialect' && i + 1 < args.length) {
66
- const val = args[++i];
67
- if (['postgresql', 'mysql', 'sqlite', 'singlestore', 'turso'].includes(val)) {
68
- opts.dialect = val;
69
- }
70
- }
71
- else if (args[i] === '--verbose') {
72
- opts.verbose = true;
73
- }
74
- }
75
- return opts;
76
- }
77
- function parseDbPushArgs(args) {
78
- const opts = {};
79
- for (let i = 0; i < args.length; i++) {
80
- if (args[i] === '--cwd' && i + 1 < args.length) {
81
- opts.cwd = args[++i];
82
- }
83
- else if (args[i] === '--force' || args[i] === '-f') {
84
- opts.force = true;
85
- }
86
- }
87
- return opts;
88
- }
89
- function parseDbMigrateArgs(args) {
90
- const opts = {};
91
- for (let i = 0; i < args.length; i++) {
92
- if (args[i] === '--cwd' && i + 1 < args.length) {
93
- opts.cwd = args[++i];
94
- }
95
- else if (args[i] === '--dry-run' || args[i] === '--dry') {
96
- opts.dryRun = true;
97
- }
98
- }
99
- return opts;
100
- }
101
- export function showDbHelp() {
102
- console.warn(`
103
- Deesse DB Commands
104
-
105
- Usage: npx deesse db:<command> [options]
106
-
107
- Commands:
108
- db:generate Generate migrations from schema changes
109
- db:push Push schema changes directly to database
110
- db:migrate Apply pending migrations to database
111
-
112
- Options:
113
-
114
- db:generate
115
- --cwd <path> Set working directory
116
- --config <path> Path to drizzle config file
117
- --name <name> Name for the migration
118
- --no-breakpoints Disable breakpoints in migration
119
- --custom Use custom SQL for migrations
120
- --prefix <index|timestamp> Prefix for migration filename
121
- --casing <camelCase|snake_case> Column casing convention
122
- --dialect <dialect> Database dialect (postgresql, mysql, sqlite, singlestore, turso)
123
- --verbose Enable verbose output
124
-
125
- db:push
126
- --cwd <path> Set working directory
127
- --force, -f Force push without confirmation
128
-
129
- db:migrate
130
- --cwd <path> Set working directory
131
- --dry, --dry-run Show what would be migrated without executing
132
-
133
- Examples:
134
- npx deesse db:generate
135
- npx deesse db:generate --name add_users_table
136
- npx deesse db:generate --dialect postgresql --verbose
137
- npx deesse db:push
138
- npx deesse db:push --force
139
- npx deesse db:migrate
140
- npx deesse db:migrate --dry-run
141
- `);
142
- }
1
+ import { command } from '@drizzle-team/brocli';
2
+ import { generateCommand } from './generate.js';
3
+ import { migrateCommand } from './migrate.js';
4
+ import { pushCommand } from './push.js';
5
+ export const dbCommand = command({
6
+ name: 'db',
7
+ desc: 'Database commands (generate, migrate, push)',
8
+ subcommands: [generateCommand, migrateCommand, pushCommand],
9
+ });
143
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/db/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC;IAC/B,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,6CAA6C;IACnD,WAAW,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,WAAW,CAAC;CAC5D,CAAC,CAAC"}
@@ -1,23 +1,6 @@
1
- /**
2
- * db:migrate command
3
- *
4
- * Verifies prerequisites exist, then delegates to drizzle-kit CLI.
5
- *
6
- * Requirements:
7
- * - drizzle.config.ts: Drizzle config (created by db:generate)
8
- * - src/db/auth-schema.ts: Auth schema (created by db:generate)
9
- * - drizzle/: Migration files directory (created by db:generate)
10
- * - .env: Should contain DATABASE_URL
11
- *
12
- * Limitation: Custom migrations table/schema from drizzle.config.ts
13
- * (e.g., migrations: { table: 'custom_name', schema: 'custom_schema' })
14
- * are NOT explicitly handled by this command. drizzle-kit passes these
15
- * through automatically, but the error messages may reference the
16
- * default __drizzle_migrations table name rather than the custom one.
17
- */
18
- export interface DbMigrateOptions {
19
- cwd?: string;
20
- dryRun?: boolean;
21
- }
22
- export declare function dbMigrate(options?: DbMigrateOptions): Promise<void>;
1
+ export declare const migrateCommand: import("@drizzle-team/brocli").Command<{
2
+ [x: string]: import("@drizzle-team/brocli").OutputType;
3
+ } | undefined, {
4
+ [x: string]: import("@drizzle-team/brocli").OutputType;
5
+ } | undefined>;
23
6
  //# sourceMappingURL=migrate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/commands/db/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D7E"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/commands/db/migrate.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc;;;;cAMzB,CAAC"}
@@ -1,70 +1,10 @@
1
- /**
2
- * db:migrate command
3
- *
4
- * Verifies prerequisites exist, then delegates to drizzle-kit CLI.
5
- *
6
- * Requirements:
7
- * - drizzle.config.ts: Drizzle config (created by db:generate)
8
- * - src/db/auth-schema.ts: Auth schema (created by db:generate)
9
- * - drizzle/: Migration files directory (created by db:generate)
10
- * - .env: Should contain DATABASE_URL
11
- *
12
- * Limitation: Custom migrations table/schema from drizzle.config.ts
13
- * (e.g., migrations: { table: 'custom_name', schema: 'custom_schema' })
14
- * are NOT explicitly handled by this command. drizzle-kit passes these
15
- * through automatically, but the error messages may reference the
16
- * default __drizzle_migrations table name rather than the custom one.
17
- */
18
- import { spawn } from 'node:child_process';
19
- import { drizzleConfigExists } from '../../lib/db/schema.js';
20
- import { authSchemaExists } from '../../lib/db/auth-schema.js';
21
- import * as fs from 'node:fs/promises';
22
- import * as path from 'node:path';
23
- import * as dotenv from 'dotenv';
24
- export async function dbMigrate(options = {}) {
25
- const { cwd = process.cwd(), dryRun = false } = options;
26
- // Verify drizzle.config.ts exists
27
- if (!(await drizzleConfigExists(cwd))) {
28
- throw new Error(`drizzle.config.ts not found. Run "deesse db:generate" first.`);
29
- }
30
- // Verify auth schema exists (it is generated by db:generate)
31
- if (!(await authSchemaExists(cwd))) {
32
- throw new Error(`Auth schema not found. Run "deesse db:generate" first.`);
33
- }
34
- // Verify migrations directory exists
35
- const migrationsDir = path.resolve(cwd, 'drizzle');
36
- try {
37
- await fs.access(migrationsDir);
38
- }
39
- catch {
40
- throw new Error(`No migrations directory found. Run "deesse db:generate" first.`);
41
- }
42
- console.warn('Applying migrations with drizzle-kit...');
43
- // Load .env file
44
- dotenv.config();
45
- // Build command
46
- const cmd = dryRun ? 'npx drizzle-kit migrate --dry' : 'npx drizzle-kit migrate';
47
- // Use spawn with shell:true so .env is inherited
48
- return new Promise((resolve, reject) => {
49
- const child = spawn(cmd, {
50
- cwd,
51
- stdio: 'inherit',
52
- shell: true,
53
- });
54
- child.on('close', (code) => {
55
- if (code === 0) {
56
- resolve();
57
- }
58
- else {
59
- reject(new Error(`Command failed: npx drizzle-kit migrate${dryRun ? ' --dry' : ''} (exit code: ${code})`));
60
- }
61
- });
62
- child.on('error', (error) => {
63
- if (error.code === 'ENOENT') {
64
- reject(new Error('drizzle-kit not found. Please install it: npm install drizzle-kit'));
65
- }
66
- reject(error);
67
- });
68
- });
69
- }
1
+ import { command } from '@drizzle-team/brocli';
2
+ import { execSync } from 'child_process';
3
+ export const migrateCommand = command({
4
+ name: 'migrate',
5
+ desc: 'Apply migrations to the database',
6
+ handler: async () => {
7
+ execSync('drizzle-kit migrate', { stdio: 'inherit' });
8
+ },
9
+ });
70
10
  //# sourceMappingURL=migrate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/commands/db/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAOjC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAA4B,EAAE;IAC5D,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAExD,kCAAkC;IAClC,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,wDAAwD,CACzD,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IAExD,iBAAiB;IACjB,MAAM,CAAC,MAAM,EAAE,CAAC;IAEhB,gBAAgB;IAChB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,yBAAyB,CAAC;IAEjF,iDAAiD;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE;YACvB,GAAG;YACH,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,0CAA0C,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,gBAAgB,IAAI,GAAG,CAAC,CAAC,CAAC;YAC7G,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,MAAM,CAAC,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC,CAAC;YACzF,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/commands/db/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;IACpC,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,kCAAkC;IACxC,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,QAAQ,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const pushCommand: import("@drizzle-team/brocli").Command<{
2
+ strict: boolean | undefined;
3
+ force: boolean | undefined;
4
+ verbose: boolean | undefined;
5
+ }, {
6
+ strict: boolean | undefined;
7
+ force: boolean | undefined;
8
+ verbose: boolean | undefined;
9
+ }>;
10
+ //# sourceMappingURL=push.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/db/push.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,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,CAgCvE"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/db/push.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW;;;;;;;;EAetB,CAAC"}
@@ -1,39 +1,22 @@
1
- /**
2
- * db:push command
3
- *
4
- * Generates auth schema and pushes to database with drizzle-kit.
5
- * Always recreates drizzle config to ensure correct schema path.
6
- */
7
- import { execSync } from 'node:child_process';
8
- import { createDrizzleConfig } from '../../lib/db/schema.js';
9
- import { generateAuthSchema } from '../../lib/db/auth-schema.js';
10
- import * as dotenv from 'dotenv';
11
- export async function dbPush(options = {}) {
12
- const { force = false, cwd = process.cwd() } = options;
13
- // Generate auth schema (mandatory in DeesseJS)
14
- await generateAuthSchema(cwd);
15
- // Always recreate drizzle config to ensure correct schema path
16
- console.warn('Setting up drizzle.config.ts...');
17
- await createDrizzleConfig(cwd);
18
- console.warn('Pushing schema to database with drizzle-kit...');
19
- // Load .env file if it exists
20
- dotenv.config();
21
- const args = ['npx drizzle-kit', 'push'];
22
- if (force) {
23
- args.push('--force');
24
- }
25
- try {
26
- execSync(args.join(' '), {
27
- cwd,
28
- stdio: 'inherit',
29
- env: process.env,
30
- });
31
- }
32
- catch (error) {
33
- if (error.code === 'ENOENT') {
34
- throw new Error('drizzle-kit not found. Please install it: npm install drizzle-kit');
35
- }
36
- throw error;
37
- }
38
- }
1
+ import { command, boolean } from '@drizzle-team/brocli';
2
+ import { execSync } from 'child_process';
3
+ export const pushCommand = command({
4
+ name: 'push',
5
+ desc: 'Push schema changes directly to the database',
6
+ options: {
7
+ strict: boolean(),
8
+ force: boolean(),
9
+ verbose: boolean(),
10
+ },
11
+ handler: async (opts) => {
12
+ const args = ['drizzle-kit', 'push'];
13
+ if (opts?.strict)
14
+ args.push('--strict');
15
+ if (opts?.force)
16
+ args.push('--force');
17
+ if (opts?.verbose)
18
+ args.push('--verbose');
19
+ execSync(args.join(' '), { stdio: 'inherit' });
20
+ },
21
+ });
39
22
  //# sourceMappingURL=push.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/db/push.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAOjC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,UAAyB,EAAE;IACtD,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAEvD,+CAA+C;IAC/C,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAE9B,+DAA+D;IAC/D,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAChD,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAE/B,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAE/D,8BAA8B;IAC9B,MAAM,CAAC,MAAM,EAAE,CAAC;IAEhB,MAAM,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACzC,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACvB,GAAG;YACH,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/db/push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;IACjC,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,8CAA8C;IACpD,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,EAAE;QACjB,KAAK,EAAE,OAAO,EAAE;QAChB,OAAO,EAAE,OAAO,EAAE;KACnB;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,EAAE,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,IAAI,EAAE,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,IAAI,EAAE,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACjD,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map