@deessejs/cli 0.6.17 → 0.6.19

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 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/admin/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,eAAe,CAAC;AAUvB,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAmHD,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqC5E"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/admin/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,eAAe,CAAC;AAUvB,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAmHD,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4D5E"}
@@ -5,8 +5,9 @@
5
5
  */
6
6
  import * as p from '@clack/prompts';
7
7
  import { z } from 'zod';
8
- import { loadConfig, verifyAdminPlugin, ConfigLoaderError } from '../../lib/config/loader.js';
8
+ import { loadMinimalConfig, ConfigLoaderError } from '../../lib/config/loader.js';
9
9
  import { createAdminUser, AdminCreationError } from '../../lib/admin/create.js';
10
+ import { drizzle } from 'drizzle-orm/node-postgres';
10
11
  // Load environment variables
11
12
  import 'dotenv/config';
12
13
  const AdminSchema = z.object({
@@ -111,10 +112,23 @@ function printSuccess(result) {
111
112
  export async function adminCreate(options) {
112
113
  try {
113
114
  const cwd = options.cwd || process.cwd();
114
- // Load and process config
115
+ // Load minimal config (does not execute config, only extracts secret and auth.baseURL)
115
116
  p.log.info('Loading config...');
116
- const { processedConfig } = await loadConfig(cwd);
117
- verifyAdminPlugin(processedConfig);
117
+ const { config } = await loadMinimalConfig(cwd);
118
+ // Validate DATABASE_URL
119
+ if (!process.env['DATABASE_URL']) {
120
+ p.log.error('DATABASE_URL not found in environment. Check your .env file.');
121
+ process.exit(1);
122
+ }
123
+ // Create database directly from env
124
+ // @ts-expect-error - pg module does not have TypeScript declarations
125
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
126
+ const pg = await import('pg');
127
+ const database = drizzle({
128
+ client: new pg.Pool({
129
+ connectionString: process.env['DATABASE_URL'],
130
+ }),
131
+ });
118
132
  // Get admin input
119
133
  let adminInput;
120
134
  if (options.email && options.password) {
@@ -134,7 +148,15 @@ export async function adminCreate(options) {
134
148
  ' Admin accounts should use organizational email addresses.');
135
149
  }
136
150
  // Create admin user via backend logic
137
- const result = await createAdminUser(processedConfig, adminInput);
151
+ const result = await createAdminUser({
152
+ email: adminInput.email,
153
+ password: adminInput.password,
154
+ name: adminInput.name,
155
+ database,
156
+ secret: config.secret,
157
+ baseURL: config.auth?.baseURL,
158
+ plugins: config.auth?.plugins || [],
159
+ });
138
160
  printSuccess(result);
139
161
  }
140
162
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/admin/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEhF,6BAA6B;AAC7B,OAAO,eAAe,CAAC;AAEvB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC;IAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wCAAwC,CAAC;IACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;CAC7D,CAAC,CAAC;AAWH,8CAA8C;AAC9C,MAAM,oBAAoB,GAAG;IAC3B,WAAW;IACX,WAAW;IACX,aAAa;IACb,aAAa;IACb,YAAY;IACZ,UAAU;IACV,SAAS;CACV,CAAC;AAEF,SAAS,mBAAmB,CAAC,KAAa;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IAClD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC,KAAK;QAAE,OAAO,mBAAmB,CAAC;IACvC,MAAM,UAAU,GAAG,4BAA4B,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAC3D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,wCAAwC,CAAC;IACtE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,qBAAqB;IAClC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAE/B,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;QAC/B,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,aAAa;KACxB,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,mBAAmB,CAAC,WAAqB,CAAC,EAAE,CAAC;QAC/C,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,YAAY,WAAW,8BAA8B;YACnD,8DAA8D,CACjE,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC;QACtC,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,IAAyB;QAC/B,QAAQ,EAAE,gBAAgB;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC;QAC9B,OAAO,EAAE,qBAAqB;QAC9B,YAAY,EAAE,OAAO;KACtB,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO;QACL,KAAK,EAAE,WAAqB;QAC5B,QAAQ,EAAE,cAAwB;QAClC,IAAI,EAAG,UAAqB,IAAI,OAAO;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAAgC;IACrD,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;QACxC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;QACvC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8BAA8B;IAC9B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,MAA6D;IACjF,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA2B;IAC3D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAEzC,0BAA0B;QAC1B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QAClD,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAEnC,kBAAkB;QAClB,IAAI,UAAsB,CAAC;QAE3B,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,UAAU,GAAG,aAAa,CAAC;gBACzB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO;aAC9B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,MAAM,qBAAqB,EAAE,CAAC;QAC7C,CAAC;QAED,0BAA0B;QAC1B,IAAI,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,YAAY,UAAU,CAAC,KAAK,8BAA8B;gBACxD,8DAA8D,CACjE,CAAC;QACJ,CAAC;QAED,sCAAsC;QACtC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAClE,YAAY,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/admin/create.ts"],"names":[],"mappings":"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"}
@@ -4,19 +4,14 @@
4
4
  * This module contains the pure business logic for creating an admin user
5
5
  * via better-auth. It has no CLI dependencies (@clack/prompts, etc.).
6
6
  */
7
- interface InternalConfig {
8
- name?: string;
9
- database?: unknown;
10
- secret?: string;
11
- auth?: {
12
- baseURL?: string;
13
- plugins?: unknown[];
14
- };
15
- }
16
7
  export interface CreateAdminOptions {
17
8
  email: string;
18
9
  password: string;
19
10
  name: string;
11
+ database: unknown;
12
+ secret: string;
13
+ baseURL?: string;
14
+ plugins?: unknown[];
20
15
  }
21
16
  export interface CreateAdminResult {
22
17
  user: {
@@ -30,6 +25,5 @@ export declare class AdminCreationError extends Error {
30
25
  readonly suggestion?: string | undefined;
31
26
  constructor(message: string, code?: string | undefined, suggestion?: string | undefined);
32
27
  }
33
- export declare function createAdminUser(config: InternalConfig, options: CreateAdminOptions): Promise<CreateAdminResult>;
34
- export {};
28
+ export declare function createAdminUser(options: CreateAdminOptions): Promise<CreateAdminResult>;
35
29
  //# sourceMappingURL=create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/lib/admin/create.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,IAAI,CAAC,EAAE,MAAM;aACb,UAAU,CAAC,EAAE,MAAM;gBAFnC,OAAO,EAAE,MAAM,EACC,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,UAAU,CAAC,EAAE,MAAM,YAAA;CAKtC;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAiD5B"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/lib/admin/create.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,qBAAa,kBAAmB,SAAQ,KAAK;aAGzB,IAAI,CAAC,EAAE,MAAM;aACb,UAAU,CAAC,EAAE,MAAM;gBAFnC,OAAO,EAAE,MAAM,EACC,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,UAAU,CAAC,EAAE,MAAM,YAAA;CAKtC;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmC7F"}
@@ -14,30 +14,19 @@ export class AdminCreationError extends Error {
14
14
  this.name = 'AdminCreationError';
15
15
  }
16
16
  }
17
- export async function createAdminUser(config, options) {
18
- const { email, password, name } = options;
19
- // Validate environment
20
- const databaseUrl = process.env['DATABASE_URL'];
21
- if (!databaseUrl) {
22
- throw new AdminCreationError('DATABASE_URL not found in environment. Check your .env file.', 'DATABASE_ERROR', 'Ensure DATABASE_URL is set in your .env file');
23
- }
24
- // Require better-auth packages
25
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
- const betterAuth = require('better-auth');
27
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
- const betterAuthDrizzleAdapter = require('@better-auth/drizzle-adapter');
29
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
- const pg = require('pg');
31
- const Pool = pg.Pool;
32
- // Create database client
33
- const pool = new Pool({ connectionString: databaseUrl });
17
+ export async function createAdminUser(options) {
18
+ const { email, password, name, database, secret, baseURL, plugins } = options;
19
+ // Import better-auth packages
20
+ const betterAuth = await import('better-auth');
21
+ const betterAuthDrizzleAdapter = await import('@better-auth/drizzle-adapter');
22
+ const { admin } = betterAuth;
34
23
  try {
35
- // Create better-auth instance with the config's database and auth settings
36
- const auth = betterAuth.betterAuth({
37
- database: betterAuthDrizzleAdapter.drizzleAdapter(config.database),
38
- baseURL: config.auth?.baseURL,
39
- secret: config.secret,
40
- plugins: config.auth?.plugins || [],
24
+ const auth = betterAuth({
25
+ database: betterAuthDrizzleAdapter.drizzleAdapter(database),
26
+ baseURL,
27
+ secret,
28
+ emailAndPassword: { enabled: true },
29
+ plugins: [admin(), ...(plugins || [])],
41
30
  });
42
31
  // Create admin user via better-auth API
43
32
  const result = await auth.api.createUser({
@@ -50,8 +39,8 @@ export async function createAdminUser(config, options) {
50
39
  });
51
40
  return result;
52
41
  }
53
- finally {
54
- await pool.end();
42
+ catch (error) {
43
+ throw new AdminCreationError(error instanceof Error ? error.message : 'Failed to create admin user', 'ADMIN_CREATION_FAILED', 'Check your database connection and credentials');
55
44
  }
56
45
  }
57
46
  //# sourceMappingURL=create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/lib/admin/create.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2BH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAGzB;IACA;IAHlB,YACE,OAAe,EACC,IAAa,EACb,UAAmB;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAS;QACb,eAAU,GAAV,UAAU,CAAS;QAGnC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAsB,EACtB,OAA2B;IAE3B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAE1C,uBAAuB;IACvB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,kBAAkB,CAC1B,8DAA8D,EAC9D,gBAAgB,EAChB,8CAA8C,CAC/C,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,8DAA8D;IAC9D,MAAM,UAAU,GAAQ,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/C,8DAA8D;IAC9D,MAAM,wBAAwB,GAAQ,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC9E,8DAA8D;IAC9D,MAAM,EAAE,GAAQ,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;IAErB,yBAAyB;IACzB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,2EAA2E;QAC3E,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC;YACjC,QAAQ,EAAE,wBAAwB,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;YAClE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE;SACpC,CAAC,CAAC;QAEH,wCAAwC;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACvC,IAAI,EAAE;gBACJ,KAAK;gBACL,QAAQ;gBACR,IAAI;gBACJ,IAAI,EAAE,OAAO;aACd;SACF,CAAC,CAAC;QAEH,OAAO,MAA2B,CAAC;IACrC,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/lib/admin/create.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAGzB;IACA;IAHlB,YACE,OAAe,EACC,IAAa,EACb,UAAmB;QAEnC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAS;QACb,eAAU,GAAV,UAAU,CAAS;QAGnC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAA2B;IAC/D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE9E,8BAA8B;IAC9B,MAAM,UAAU,GAAQ,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,wBAAwB,GAAQ,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IACnF,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,UAAU,CAAC;YACtB,QAAQ,EAAE,wBAAwB,CAAC,cAAc,CAAC,QAAQ,CAAC;YAC3D,OAAO;YACP,MAAM;YACN,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACnC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;SACvC,CAAC,CAAC;QAEH,wCAAwC;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YACvC,IAAI,EAAE;gBACJ,KAAK;gBACL,QAAQ;gBACR,IAAI;gBACJ,IAAI,EAAE,OAAO;aACd;SACF,CAAC,CAAC;QAEH,OAAO,MAA2B,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,kBAAkB,CAC1B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,EACtE,uBAAuB,EACvB,gDAAgD,CACjD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Configuration loader for Deesse projects
3
3
  *
4
4
  * Handles loading and processing of deesse.config.ts files.
5
- * This is backend logic - it has no CLI dependencies.
5
+ * Uses tsx to support TypeScript imports natively.
6
6
  */
7
7
  interface Config {
8
8
  name?: string;
@@ -25,13 +25,23 @@ export declare class ConfigLoaderError extends Error {
25
25
  readonly code?: string | undefined;
26
26
  constructor(message: string, code?: string | undefined);
27
27
  }
28
+ export interface MinimalConfig {
29
+ secret: string;
30
+ auth?: {
31
+ baseURL?: string;
32
+ plugins?: unknown[];
33
+ };
34
+ }
28
35
  export interface LoadConfigResult {
29
36
  rawConfig: Config;
30
37
  processedConfig: InternalConfig;
31
38
  configPath: string;
32
39
  }
33
40
  /**
34
- * Load the raw config from a deesse.config.ts file
41
+ * Load the raw config from a deesse.config.ts file using tsx
42
+ *
43
+ * Uses tsx to execute the config file directly and export the config object.
44
+ * This properly handles TypeScript imports and module context.
35
45
  */
36
46
  export declare function loadRawConfig(cwd: string): Promise<{
37
47
  config: Config;
@@ -45,6 +55,16 @@ export declare function processConfig(rawConfig: Config): InternalConfig;
45
55
  * Load and process a deesse config
46
56
  */
47
57
  export declare function loadConfig(cwd: string): Promise<LoadConfigResult>;
58
+ /**
59
+ * Load minimal config without executing the config file
60
+ *
61
+ * Extracts only secret and auth.baseURL via regex to avoid loading
62
+ * pages and other runtime-only config that would fail during CLI use.
63
+ */
64
+ export declare function loadMinimalConfig(cwd: string): Promise<{
65
+ config: MinimalConfig;
66
+ configPath: string;
67
+ }>;
48
68
  /**
49
69
  * Check if the admin plugin is configured in the config
50
70
  */
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/lib/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,UAAU,MAAM;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;KACrB,CAAC;CACH;AAED,UAAU,cAAe,SAAQ,MAAM;IACrC,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,CAAC;KACpB,CAAC;CACH;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aACG,IAAI,CAAC,EAAE,MAAM;gBAA9C,OAAO,EAAE,MAAM,EAAkB,IAAI,CAAC,EAAE,MAAM,YAAA;CAI3D;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,cAAc,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAiChG;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAiB/D;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAIvE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAe9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAc9D"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/lib/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,UAAU,MAAM;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;KACrB,CAAC;CACH;AAED,UAAU,cAAe,SAAQ,MAAM;IACrC,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,CAAC;KACpB,CAAC;CACH;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aACG,IAAI,CAAC,EAAE,MAAM;gBAA9C,OAAO,EAAE,MAAM,EAAkB,IAAI,CAAC,EAAE,MAAM,YAAA;CAI3D;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,cAAc,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CA4DhG;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAiB/D;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAIvE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CA8C3G;AAsBD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAe9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAc9D"}
@@ -2,11 +2,11 @@
2
2
  * Configuration loader for Deesse projects
3
3
  *
4
4
  * Handles loading and processing of deesse.config.ts files.
5
- * This is backend logic - it has no CLI dependencies.
5
+ * Uses tsx to support TypeScript imports natively.
6
6
  */
7
7
  import * as path from 'node:path';
8
- import { pathToFileURL } from 'node:url';
9
8
  import { createRequire } from 'node:module';
9
+ import { execSync } from 'node:child_process';
10
10
  const CONFIG_PATHS = ['src/deesse.config.ts', 'deesse.config.ts', 'config/deesse.ts'];
11
11
  export class ConfigLoaderError extends Error {
12
12
  code;
@@ -17,35 +17,62 @@ export class ConfigLoaderError extends Error {
17
17
  }
18
18
  }
19
19
  /**
20
- * Load the raw config from a deesse.config.ts file
20
+ * Load the raw config from a deesse.config.ts file using tsx
21
+ *
22
+ * Uses tsx to execute the config file directly and export the config object.
23
+ * This properly handles TypeScript imports and module context.
21
24
  */
22
25
  export async function loadRawConfig(cwd) {
23
- let configModule = null;
24
26
  let configPath = '';
25
27
  for (const configFile of CONFIG_PATHS) {
26
28
  configPath = path.resolve(cwd, configFile);
27
29
  try {
28
- // Windows ESM compatibility: use file:// URL
29
- const url = pathToFileURL(configPath).toString();
30
- configModule = await import(url);
30
+ // Try to access the file
31
+ const { access } = await import('node:fs/promises');
32
+ await access(configPath);
33
+ // File exists, break out of loop
31
34
  break;
32
35
  }
33
- catch (error) {
34
- const err = error;
35
- if (err.code !== 'ENOENT') {
36
- throw error;
37
- }
36
+ catch {
37
+ // Try next path
38
+ configPath = '';
38
39
  }
39
40
  }
40
- if (!configModule) {
41
+ if (!configPath) {
41
42
  throw new ConfigLoaderError(`Config file not found. Searched paths:\n${CONFIG_PATHS.map((p) => ` - ${p}`).join('\n')}\nRun 'deesse init' to create a new project.`);
42
43
  }
43
- const rawConfig = configModule.default ||
44
- configModule.config;
45
- if (!rawConfig) {
46
- throw new ConfigLoaderError(`No config found in ${configPath}`);
44
+ // Use tsx to load and execute the TypeScript config file directly
45
+ // The config file is run as a module, and we export the config to stdout
46
+ const loaderScript = `
47
+ import { pathToFileURL } from 'node:url';
48
+ const configPath = pathToFileURL(${JSON.stringify(configPath)}).href;
49
+ const mod = await import(configPath);
50
+ const config = mod.config || mod.default;
51
+ if (!config) {
52
+ console.error('No config export found');
53
+ process.exit(1);
54
+ }
55
+ // Serialize to JSON (handles plain data, not functions)
56
+ console.log(JSON.stringify(config));
57
+ `;
58
+ try {
59
+ // Execute with tsx, preserving the current environment
60
+ const result = execSync(`node --import tsx -e ${JSON.stringify(loaderScript)}`, {
61
+ cwd,
62
+ encoding: 'utf-8',
63
+ stdio: ['pipe', 'pipe', 'pipe'],
64
+ env: { ...process.env },
65
+ });
66
+ const rawConfig = JSON.parse(result.trim());
67
+ if (!rawConfig) {
68
+ throw new ConfigLoaderError(`No config found in ${configPath}`);
69
+ }
70
+ return { config: rawConfig, configPath };
71
+ }
72
+ catch (error) {
73
+ const err = error;
74
+ throw new ConfigLoaderError(`Failed to load config from ${configPath}: ${err.stderr || err.message || String(error)}`);
47
75
  }
48
- return { config: rawConfig, configPath };
49
76
  }
50
77
  /**
51
78
  * Process raw config via defineConfig to get InternalConfig
@@ -74,6 +101,67 @@ export async function loadConfig(cwd) {
74
101
  const processedConfig = processConfig(rawConfig);
75
102
  return { rawConfig, processedConfig, configPath };
76
103
  }
104
+ /**
105
+ * Load minimal config without executing the config file
106
+ *
107
+ * Extracts only secret and auth.baseURL via regex to avoid loading
108
+ * pages and other runtime-only config that would fail during CLI use.
109
+ */
110
+ export async function loadMinimalConfig(cwd) {
111
+ const { configPath } = await findConfigPath(cwd);
112
+ // Read file content directly
113
+ const { readFile } = await import('node:fs/promises');
114
+ const content = await readFile(configPath, 'utf-8');
115
+ const config = { secret: '' };
116
+ // Extract secret: matches `secret: process.env.DEESSE_SECRET!` or similar patterns
117
+ const secretMatch = content.match(/secret\s*:\s*process\.env\.(\w+)!/);
118
+ if (secretMatch) {
119
+ const envVar = secretMatch[1];
120
+ const value = process.env[envVar];
121
+ if (!value) {
122
+ throw new ConfigLoaderError(`Environment variable ${envVar} is not set. Make sure your .env file contains ${envVar}`);
123
+ }
124
+ config.secret = value;
125
+ }
126
+ else {
127
+ // Try matching `secret: 'value'` or `secret: "value"`
128
+ const secretLiteralMatch = content.match(/secret\s*:\s*['"]([^'"]+)['"]/);
129
+ if (secretLiteralMatch) {
130
+ config.secret = secretLiteralMatch[1];
131
+ }
132
+ }
133
+ if (!config.secret) {
134
+ throw new ConfigLoaderError(`Could not extract 'secret' from ${configPath}. ` +
135
+ 'Make sure your config has: secret: process.env.DEESSE_SECRET!');
136
+ }
137
+ // Extract auth.baseURL: matches `baseURL: process.env.VAR || 'default'` or `baseURL: 'https://...'`
138
+ const baseURLMatch = content.match(/baseURL\s*:\s*(?:process\.env\.(\w+)\s*\|\|\s*)?['"]([^'"]+)['"]/);
139
+ if (baseURLMatch) {
140
+ const envVar = baseURLMatch[1];
141
+ const defaultValue = baseURLMatch[2];
142
+ config.auth = {
143
+ baseURL: envVar && process.env[envVar] ? process.env[envVar] : defaultValue,
144
+ };
145
+ }
146
+ return { config, configPath };
147
+ }
148
+ /**
149
+ * Find the config file path without loading content
150
+ */
151
+ async function findConfigPath(cwd) {
152
+ for (const configFile of CONFIG_PATHS) {
153
+ const configPath = path.resolve(cwd, configFile);
154
+ try {
155
+ const { access } = await import('node:fs/promises');
156
+ await access(configPath);
157
+ return { configPath };
158
+ }
159
+ catch {
160
+ // Try next path
161
+ }
162
+ }
163
+ throw new ConfigLoaderError(`Config file not found. Searched paths:\n${CONFIG_PATHS.map((p) => ` - ${p}`).join('\n')}\nRun 'deesse init' to create a new project.`);
164
+ }
77
165
  /**
78
166
  * Check if the admin plugin is configured in the config
79
167
  */
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/lib/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/lib/config/loader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,51 +1,52 @@
1
- {
2
- "name": "@deessejs/cli",
3
- "version": "0.6.17",
4
- "description": "DeesseJS CLI for managing DeesseJS projects",
5
- "type": "module",
6
- "bin": {
7
- "deesse": "./bin/deesse.js"
8
- },
9
- "exports": {
10
- ".": {
11
- "import": "./dist/index.js",
12
- "types": "./dist/index.d.ts"
13
- }
14
- },
15
- "files": [
16
- "bin",
17
- "dist"
18
- ],
19
- "scripts": {
20
- "dev": "tsc --watch",
21
- "build": "tsc",
22
- "type-check": "tsc --noEmit",
23
- "lint": "eslint src",
24
- "lint:fix": "eslint src --fix",
25
- "clean": "rm -rf dist"
26
- },
27
- "keywords": [
28
- "cli",
29
- "deessejs",
30
- "deesse"
31
- ],
32
- "author": "DeesseJS",
33
- "license": "MIT",
34
- "dependencies": {
35
- "@better-auth/drizzle-adapter": "^1.0.0",
36
- "@clack/prompts": "^0.8.2",
37
- "auth": "^1.6.0",
38
- "better-auth": "^1.0.0",
39
- "dotenv": "^17.3.1",
40
- "drizzle-orm": "^0.38.0",
41
- "pg": "^8.13.0",
42
- "zod": "^3.23.0"
43
- },
44
- "devDependencies": {
45
- "@types/node": "^22.10.6",
46
- "typescript": "^5.7.2"
47
- },
48
- "engines": {
49
- "node": ">=18.0.0"
50
- }
51
- }
1
+ {
2
+ "name": "@deessejs/cli",
3
+ "version": "0.6.19",
4
+ "description": "DeesseJS CLI for managing DeesseJS projects",
5
+ "type": "module",
6
+ "bin": {
7
+ "deesse": "./bin/deesse.js"
8
+ },
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "types": "./dist/index.d.ts"
13
+ }
14
+ },
15
+ "files": [
16
+ "bin",
17
+ "dist"
18
+ ],
19
+ "scripts": {
20
+ "dev": "tsc --watch",
21
+ "build": "tsc",
22
+ "type-check": "tsc --noEmit",
23
+ "lint": "eslint src",
24
+ "lint:fix": "eslint src --fix",
25
+ "clean": "rm -rf dist"
26
+ },
27
+ "keywords": [
28
+ "cli",
29
+ "deessejs",
30
+ "deesse"
31
+ ],
32
+ "author": "DeesseJS",
33
+ "license": "MIT",
34
+ "dependencies": {
35
+ "@better-auth/drizzle-adapter": "^1.0.0",
36
+ "@clack/prompts": "^0.8.2",
37
+ "auth": "^1.6.0",
38
+ "better-auth": "^1.0.0",
39
+ "dotenv": "^17.3.1",
40
+ "drizzle-orm": "^0.38.0",
41
+ "pg": "^8.13.0",
42
+ "tsx": "^4.21.0",
43
+ "zod": "^3.23.0"
44
+ },
45
+ "devDependencies": {
46
+ "@types/node": "^22.10.6",
47
+ "typescript": "^5.7.2"
48
+ },
49
+ "engines": {
50
+ "node": ">=18.0.0"
51
+ }
52
+ }