@deessejs/cli 0.6.10 → 0.6.12

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.
@@ -2,9 +2,7 @@
2
2
  * db:generate command
3
3
  *
4
4
  * Generates auth schema and user migrations with drizzle-kit.
5
- *
6
- * Requirements:
7
- * - drizzle.config.ts: Standard drizzle-kit config with schema and out settings
5
+ * Automatically creates default schema and drizzle config if they don't exist.
8
6
  */
9
7
  export interface DbGenerateOptions {
10
8
  cwd?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/commands/db/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqD/E"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/commands/db/generate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B/E"}
@@ -2,50 +2,24 @@
2
2
  * db:generate command
3
3
  *
4
4
  * Generates auth schema and user migrations with drizzle-kit.
5
- *
6
- * Requirements:
7
- * - drizzle.config.ts: Standard drizzle-kit config with schema and out settings
5
+ * Automatically creates default schema and drizzle config if they don't exist.
8
6
  */
9
7
  import { execSync } from 'node:child_process';
10
- import { verifySchemaPath, DEFAULT_SCHEMA_PATH } from '../../lib/db/schema.js';
8
+ import { schemaExists, drizzleConfigExists, createDefaultSchema, createDrizzleConfig, } from '../../lib/db/schema.js';
11
9
  import { generateAuthSchema } from '../../lib/db/auth-schema.js';
12
- import * as fs from 'node:fs/promises';
13
- import * as path from 'node:path';
14
- const SCHEMA_PATH = DEFAULT_SCHEMA_PATH;
15
- const DRIZZLE_CONFIG_PATH = './drizzle.config.ts';
16
10
  export async function dbGenerate(options = {}) {
17
11
  const cwd = options.cwd ?? process.cwd();
18
12
  // Generate auth schema (mandatory in DeesseJS)
19
13
  await generateAuthSchema(cwd);
20
- // Verify schema file exists (now should include auth schema import)
21
- try {
22
- await verifySchemaPath(cwd);
23
- }
24
- catch {
25
- throw new Error(`db:generate requires ${SCHEMA_PATH} to exist.\n` +
26
- `This file should export your Drizzle tables and import the auth schema.\n\n` +
27
- `Example:\n` +
28
- ` import { authSchema } from './auth-schema';\n\n` +
29
- ` export const schema = {\n` +
30
- ` ...authSchema,\n` +
31
- ` // your tables here\n` +
32
- ` };`);
33
- }
34
- // Verify drizzle.config.ts exists
35
- const drizzleConfigPath = path.join(cwd, DRIZZLE_CONFIG_PATH);
36
- try {
37
- await fs.access(drizzleConfigPath);
14
+ // Auto-create schema file if it doesn't exist
15
+ if (!(await schemaExists(cwd))) {
16
+ console.warn('Creating default src/db/schema.ts...');
17
+ await createDefaultSchema(cwd);
38
18
  }
39
- catch {
40
- throw new Error(`db:generate requires ${DRIZZLE_CONFIG_PATH} to exist.\n` +
41
- `Please create this file with your drizzle-kit configuration.\n\n` +
42
- `Example:\n` +
43
- `import { defineConfig } from 'drizzle-kit';\n` +
44
- `export default defineConfig({\n` +
45
- ` schema: './src/db/schema.ts',\n` +
46
- ` out: './src/db/migrations',\n` +
47
- ` dialect: 'postgresql',\n` +
48
- `});`);
19
+ // Auto-create drizzle config if it doesn't exist
20
+ if (!(await drizzleConfigExists(cwd))) {
21
+ console.warn('Creating default drizzle.config.ts...');
22
+ await createDrizzleConfig(cwd);
49
23
  }
50
24
  console.warn('Generating migrations with drizzle-kit...');
51
25
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/db/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AACxC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAMlD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAA6B,EAAE;IAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEzC,+CAA+C;IAC/C,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAE9B,oEAAoE;IACpE,IAAI,CAAC;QACH,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,wBAAwB,WAAW,cAAc;YAC/C,6EAA6E;YAC7E,YAAY;YACZ,mDAAmD;YACnD,6BAA6B;YAC7B,sBAAsB;YACtB,2BAA2B;YAC3B,MAAM,CACT,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,wBAAwB,mBAAmB,cAAc;YACvD,kEAAkE;YAClE,YAAY;YACZ,+CAA+C;YAC/C,iCAAiC;YACjC,mCAAmC;YACnC,iCAAiC;YACjC,4BAA4B;YAC5B,KAAK,CACR,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,QAAQ,CAAC,0BAA0B,EAAE;YACnC,GAAG;YACH,KAAK,EAAE,SAAS;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":"generate.js","sourceRoot":"","sources":["../../../src/commands/db/generate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAMjE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAA6B,EAAE;IAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEzC,+CAA+C;IAC/C,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAE9B,8CAA8C;IAC9C,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACrD,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,iDAAiD;IACjD,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACtD,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,QAAQ,CAAC,0BAA0B,EAAE;YACnC,GAAG;YACH,KAAK,EAAE,SAAS;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"}
@@ -2,10 +2,7 @@
2
2
  * db:push command
3
3
  *
4
4
  * Generates auth schema and pushes to database with drizzle-kit.
5
- *
6
- * Requirements:
7
- * - drizzle.config.ts: Standard drizzle-kit config with schema and dbCredentials
8
- * - .env: Should contain DATABASE_URL (loaded automatically)
5
+ * Automatically creates default schema and drizzle config if they don't exist.
9
6
  */
10
7
  export interface DbPushOptions {
11
8
  force?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/db/push.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,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,CAgEvE"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/db/push.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,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,CAwCvE"}
@@ -2,54 +2,25 @@
2
2
  * db:push command
3
3
  *
4
4
  * Generates auth schema and pushes to database with drizzle-kit.
5
- *
6
- * Requirements:
7
- * - drizzle.config.ts: Standard drizzle-kit config with schema and dbCredentials
8
- * - .env: Should contain DATABASE_URL (loaded automatically)
5
+ * Automatically creates default schema and drizzle config if they don't exist.
9
6
  */
10
7
  import { execSync } from 'node:child_process';
11
- import { verifySchemaPath, DEFAULT_SCHEMA_PATH } from '../../lib/db/schema.js';
8
+ import { schemaExists, drizzleConfigExists, createDefaultSchema, createDrizzleConfig, } from '../../lib/db/schema.js';
12
9
  import { generateAuthSchema } from '../../lib/db/auth-schema.js';
13
- import * as fs from 'node:fs/promises';
14
- import * as path from 'node:path';
15
10
  import * as dotenv from 'dotenv';
16
- const DRIZZLE_CONFIG_PATH = './drizzle.config.ts';
17
- const SCHEMA_PATH = DEFAULT_SCHEMA_PATH;
18
11
  export async function dbPush(options = {}) {
19
12
  const { force = false, cwd = process.cwd() } = options;
20
13
  // Generate auth schema (mandatory in DeesseJS)
21
14
  await generateAuthSchema(cwd);
22
- // Verify schema file exists (now should include auth schema import)
23
- try {
24
- await verifySchemaPath(cwd);
25
- }
26
- catch {
27
- throw new Error(`db:push requires ${SCHEMA_PATH} to exist.\n` +
28
- `This file should export your Drizzle tables and import the auth schema.\n\n` +
29
- `Example:\n` +
30
- ` import { authSchema } from './auth-schema';\n\n` +
31
- ` export const schema = {\n` +
32
- ` ...authSchema,\n` +
33
- ` // your tables here\n` +
34
- ` };`);
35
- }
36
- // Verify drizzle.config.ts exists
37
- const drizzleConfigPath = path.join(cwd, DRIZZLE_CONFIG_PATH);
38
- try {
39
- await fs.access(drizzleConfigPath);
15
+ // Auto-create schema file if it doesn't exist
16
+ if (!(await schemaExists(cwd))) {
17
+ console.warn('Creating default src/db/schema.ts...');
18
+ await createDefaultSchema(cwd);
40
19
  }
41
- catch {
42
- throw new Error(`db:push requires ${DRIZZLE_CONFIG_PATH} to exist.\n` +
43
- `Please create this file with your drizzle-kit configuration.\n\n` +
44
- `Example:\n` +
45
- `import { defineConfig } from 'drizzle-kit';\n` +
46
- `export default defineConfig({\n` +
47
- ` schema: './src/db/schema.ts',\n` +
48
- ` dialect: 'postgresql',\n` +
49
- ` dbCredentials: {\n` +
50
- ` url: process.env.DATABASE_URL,\n` +
51
- ` },\n` +
52
- `});`);
20
+ // Auto-create drizzle config if it doesn't exist
21
+ if (!(await drizzleConfigExists(cwd))) {
22
+ console.warn('Creating default drizzle.config.ts...');
23
+ await createDrizzleConfig(cwd);
53
24
  }
54
25
  console.warn('Pushing schema to database with drizzle-kit...');
55
26
  // Load .env file if it exists
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/commands/db/push.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAClD,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAOxC,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,oEAAoE;IACpE,IAAI,CAAC;QACH,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,oBAAoB,WAAW,cAAc;YAC3C,6EAA6E;YAC7E,YAAY;YACZ,mDAAmD;YACnD,6BAA6B;YAC7B,sBAAsB;YACtB,2BAA2B;YAC3B,MAAM,CACT,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,oBAAoB,mBAAmB,cAAc;YACnD,kEAAkE;YAClE,YAAY;YACZ,+CAA+C;YAC/C,iCAAiC;YACjC,mCAAmC;YACnC,4BAA4B;YAC5B,sBAAsB;YACtB,sCAAsC;YACtC,QAAQ;YACR,KAAK,CACR,CAAC;IACJ,CAAC;IAED,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;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,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,8CAA8C;IAC9C,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACrD,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,iDAAiD;IACjD,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACtD,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,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"}
@@ -6,7 +6,8 @@
6
6
  * not file paths.
7
7
  */
8
8
  declare const DEFAULT_SCHEMA_PATH = "./src/db/schema.ts";
9
- export { DEFAULT_SCHEMA_PATH };
9
+ declare const DEFAULT_DRIZZLE_CONFIG_PATH = "./drizzle.config.ts";
10
+ export { DEFAULT_SCHEMA_PATH, DEFAULT_DRIZZLE_CONFIG_PATH };
10
11
  export interface SchemaLoaderResult {
11
12
  schema: Record<string, unknown>;
12
13
  schemaPath: string;
@@ -23,4 +24,20 @@ export declare function loadSchema(cwd?: string): Promise<SchemaLoaderResult>;
23
24
  * Verify the schema file exists
24
25
  */
25
26
  export declare function verifySchemaPath(cwd?: string): Promise<string>;
27
+ /**
28
+ * Check if schema file exists
29
+ */
30
+ export declare function schemaExists(cwd?: string): Promise<boolean>;
31
+ /**
32
+ * Check if drizzle config exists
33
+ */
34
+ export declare function drizzleConfigExists(cwd?: string): Promise<boolean>;
35
+ /**
36
+ * Create the default schema file with auth schema import
37
+ */
38
+ export declare function createDefaultSchema(cwd?: string): Promise<void>;
39
+ /**
40
+ * Create the default drizzle config file
41
+ */
42
+ export declare function createDrizzleConfig(cwd?: string): Promise<void>;
26
43
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/lib/db/schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,QAAA,MAAM,mBAAmB,uBAAuB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aACG,IAAI,CAAC,EAAE,MAAM;gBAA9C,OAAO,EAAE,MAAM,EAAkB,IAAI,CAAC,EAAE,MAAM,YAAA;CAI3D;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwCzF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAanF"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/lib/db/schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,QAAA,MAAM,mBAAmB,uBAAuB,CAAC;AACjD,QAAA,MAAM,2BAA2B,wBAAwB,CAAC;AAG1D,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aACG,IAAI,CAAC,EAAE,MAAM;gBAA9C,OAAO,EAAE,MAAM,EAAkB,IAAI,CAAC,EAAE,MAAM,YAAA;CAI3D;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwCzF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAanF;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAQhF;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvF;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBpF;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAcpF"}
@@ -7,8 +7,12 @@
7
7
  */
8
8
  import * as path from 'node:path';
9
9
  import { createRequire } from 'node:module';
10
+ import { writeFile, access, mkdir } from 'node:fs/promises';
11
+ import { existsSync } from 'node:fs';
10
12
  const DEFAULT_SCHEMA_PATH = './src/db/schema.ts';
11
- export { DEFAULT_SCHEMA_PATH };
13
+ const DEFAULT_DRIZZLE_CONFIG_PATH = './drizzle.config.ts';
14
+ const DEFAULT_SCHEMA_DIR = './src/db';
15
+ export { DEFAULT_SCHEMA_PATH, DEFAULT_DRIZZLE_CONFIG_PATH };
12
16
  export class SchemaLoaderError extends Error {
13
17
  code;
14
18
  constructor(message, code) {
@@ -68,4 +72,67 @@ export async function verifySchemaPath(cwd = process.cwd()) {
68
72
  `Please create this file and export your Drizzle tables.`);
69
73
  }
70
74
  }
75
+ /**
76
+ * Check if schema file exists
77
+ */
78
+ export async function schemaExists(cwd = process.cwd()) {
79
+ const schemaPath = path.resolve(cwd, DEFAULT_SCHEMA_PATH);
80
+ try {
81
+ await access(schemaPath);
82
+ return true;
83
+ }
84
+ catch {
85
+ return false;
86
+ }
87
+ }
88
+ /**
89
+ * Check if drizzle config exists
90
+ */
91
+ export async function drizzleConfigExists(cwd = process.cwd()) {
92
+ const configPath = path.resolve(cwd, DEFAULT_DRIZZLE_CONFIG_PATH);
93
+ try {
94
+ await access(configPath);
95
+ return true;
96
+ }
97
+ catch {
98
+ return false;
99
+ }
100
+ }
101
+ /**
102
+ * Create the default schema file with auth schema import
103
+ */
104
+ export async function createDefaultSchema(cwd = process.cwd()) {
105
+ const schemaDir = path.resolve(cwd, DEFAULT_SCHEMA_DIR);
106
+ const schemaPath = path.resolve(cwd, DEFAULT_SCHEMA_PATH);
107
+ // Ensure src/db directory exists
108
+ if (!existsSync(schemaDir)) {
109
+ await mkdir(schemaDir, { recursive: true });
110
+ }
111
+ // Auth schema is at root, so from src/db/ we need to go up two levels
112
+ const schemaContent = `import { authSchema } from '../../auth-schema';
113
+
114
+ export const schema = {
115
+ ...authSchema,
116
+ // your tables here
117
+ };
118
+ `;
119
+ await writeFile(schemaPath, schemaContent, 'utf-8');
120
+ console.warn(`Created default schema: ${schemaPath}`);
121
+ }
122
+ /**
123
+ * Create the default drizzle config file
124
+ */
125
+ export async function createDrizzleConfig(cwd = process.cwd()) {
126
+ const configPath = path.resolve(cwd, DEFAULT_DRIZZLE_CONFIG_PATH);
127
+ const configContent = `import { defineConfig } from 'drizzle-kit';
128
+
129
+ export default defineConfig({
130
+ schema: './src/db/schema.ts',
131
+ out: './src/db/migrations',
132
+ dialect: 'postgresql',
133
+ });
134
+ `;
135
+ await writeFile(configPath, configContent, 'utf-8');
136
+ console.warn(`Created drizzle config: ${configPath}`);
137
+ }
71
138
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/lib/db/schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAO/B,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACG;IAA7C,YAAY,OAAe,EAAkB,IAAa;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,SAAI,GAAJ,IAAI,CAAS;QAExD,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAEzC,6DAA6D;QAC7D,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACxD,sDAAsD;YACtD,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAS;YACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU;gBAAE,SAAS;YAEvE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,iBAAiB,CACzB,8BAA8B,mBAAmB,KAAK;gBACpD,mDAAmD,CACtD,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,GAAG,GAAG,KAA0B,CAAC;QACvC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,iBAAiB,CACzB,0BAA0B,mBAAmB,IAAI;gBAC/C,yDAAyD,CAC5D,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,iBAAiB,CACzB,0BAA0B,mBAAmB,IAAI;YAC/C,yDAAyD,CAC5D,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/lib/db/schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AACjD,MAAM,2BAA2B,GAAG,qBAAqB,CAAC;AAC1D,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAEtC,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,CAAC;AAO5D,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACG;IAA7C,YAAY,OAAe,EAAkB,IAAa;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,SAAI,GAAJ,IAAI,CAAS;QAExD,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAEzC,6DAA6D;QAC7D,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACxD,sDAAsD;YACtD,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAS;YACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU;gBAAE,SAAS;YAEvE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,iBAAiB,CACzB,8BAA8B,mBAAmB,KAAK;gBACpD,mDAAmD,CACtD,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,GAAG,GAAG,KAA0B,CAAC;QACvC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,iBAAiB,CACzB,0BAA0B,mBAAmB,IAAI;gBAC/C,yDAAyD,CAC5D,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,iBAAiB,CACzB,0BAA0B,mBAAmB,IAAI;YAC/C,yDAAyD,CAC5D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAC1D,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IACnE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAE1D,iCAAiC;IACjC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,sEAAsE;IACtE,MAAM,aAAa,GAAG;;;;;;CAMvB,CAAC;IAEA,MAAM,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;IAElE,MAAM,aAAa,GAAG;;;;;;;CAOvB,CAAC;IAEA,MAAM,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;AACxD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deessejs/cli",
3
- "version": "0.6.10",
3
+ "version": "0.6.12",
4
4
  "description": "DeesseJS CLI for managing DeesseJS projects",
5
5
  "type": "module",
6
6
  "bin": {