@deessejs/cli 0.6.23 → 0.6.25

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 (92) hide show
  1. package/dist/commands/admin/create.d.ts.map +1 -1
  2. package/dist/commands/admin/create.js +14 -23
  3. package/dist/commands/admin/create.js.map +1 -1
  4. package/package.json +2 -1
  5. package/dist/commands/admin/create.d.ts +0 -14
  6. package/dist/commands/admin-create.d.ts +0 -16
  7. package/dist/commands/admin-create.d.ts.map +0 -1
  8. package/dist/commands/admin-create.js +0 -264
  9. package/dist/commands/admin-create.js.map +0 -1
  10. package/dist/commands/admin.d.ts +0 -29
  11. package/dist/commands/admin.d.ts.map +0 -1
  12. package/dist/commands/admin.js +0 -22
  13. package/dist/commands/admin.js.map +0 -1
  14. package/dist/commands/db/generate.d.ts +0 -11
  15. package/dist/commands/db/generate.d.ts.map +0 -1
  16. package/dist/commands/db/generate.js +0 -31
  17. package/dist/commands/db/generate.js.map +0 -1
  18. package/dist/commands/db/index.d.ts +0 -15
  19. package/dist/commands/db/index.d.ts.map +0 -1
  20. package/dist/commands/db/index.js +0 -100
  21. package/dist/commands/db/index.js.map +0 -1
  22. package/dist/commands/db/migrate.d.ts +0 -16
  23. package/dist/commands/db/migrate.d.ts.map +0 -1
  24. package/dist/commands/db/migrate.js +0 -75
  25. package/dist/commands/db/migrate.js.map +0 -1
  26. package/dist/commands/db/push.d.ts +0 -12
  27. package/dist/commands/db/push.d.ts.map +0 -1
  28. package/dist/commands/db/push.js +0 -39
  29. package/dist/commands/db/push.js.map +0 -1
  30. package/dist/commands/db-generate.d.ts +0 -14
  31. package/dist/commands/db-generate.d.ts.map +0 -1
  32. package/dist/commands/db-generate.js +0 -56
  33. package/dist/commands/db-generate.js.map +0 -1
  34. package/dist/commands/db-introspect.d.ts +0 -14
  35. package/dist/commands/db-introspect.d.ts.map +0 -1
  36. package/dist/commands/db-introspect.js +0 -34
  37. package/dist/commands/db-introspect.js.map +0 -1
  38. package/dist/commands/db-migrate.d.ts +0 -16
  39. package/dist/commands/db-migrate.d.ts.map +0 -1
  40. package/dist/commands/db-migrate.js +0 -75
  41. package/dist/commands/db-migrate.js.map +0 -1
  42. package/dist/commands/db-push.d.ts +0 -16
  43. package/dist/commands/db-push.d.ts.map +0 -1
  44. package/dist/commands/db-push.js +0 -67
  45. package/dist/commands/db-push.js.map +0 -1
  46. package/dist/commands/db-studio.d.ts +0 -15
  47. package/dist/commands/db-studio.d.ts.map +0 -1
  48. package/dist/commands/db-studio.js +0 -49
  49. package/dist/commands/db-studio.js.map +0 -1
  50. package/dist/commands/db.d.ts +0 -15
  51. package/dist/commands/db.d.ts.map +0 -1
  52. package/dist/commands/db.js +0 -100
  53. package/dist/commands/db.js.map +0 -1
  54. package/dist/index.d.ts +0 -3
  55. package/dist/index.js +0 -167
  56. package/dist/index.js.map +0 -1
  57. package/dist/lib/admin/create.d.ts +0 -33
  58. package/dist/lib/admin/create.d.ts.map +0 -1
  59. package/dist/lib/admin/create.js +0 -46
  60. package/dist/lib/admin/create.js.map +0 -1
  61. package/dist/lib/config/loader.d.ts +0 -77
  62. package/dist/lib/config/loader.d.ts.map +0 -1
  63. package/dist/lib/config/loader.js +0 -199
  64. package/dist/lib/config/loader.js.map +0 -1
  65. package/dist/lib/db/auth-schema.d.ts +0 -25
  66. package/dist/lib/db/auth-schema.d.ts.map +0 -1
  67. package/dist/lib/db/auth-schema.js +0 -111
  68. package/dist/lib/db/auth-schema.js.map +0 -1
  69. package/dist/lib/db/schema.d.ts +0 -43
  70. package/dist/lib/db/schema.d.ts.map +0 -1
  71. package/dist/lib/db/schema.js +0 -144
  72. package/dist/lib/db/schema.js.map +0 -1
  73. package/dist/lib/index.d.ts +0 -5
  74. package/dist/lib/index.d.ts.map +0 -1
  75. package/dist/lib/index.js +0 -6
  76. package/dist/lib/index.js.map +0 -1
  77. package/dist/utils/config.d.ts +0 -15
  78. package/dist/utils/config.d.ts.map +0 -1
  79. package/dist/utils/config.js +0 -47
  80. package/dist/utils/config.js.map +0 -1
  81. package/dist/utils/dialect.d.ts +0 -23
  82. package/dist/utils/dialect.d.ts.map +0 -1
  83. package/dist/utils/dialect.js +0 -82
  84. package/dist/utils/dialect.js.map +0 -1
  85. package/dist/utils/schema-generator.d.ts +0 -25
  86. package/dist/utils/schema-generator.d.ts.map +0 -1
  87. package/dist/utils/schema-generator.js +0 -157
  88. package/dist/utils/schema-generator.js.map +0 -1
  89. package/dist/utils/schema-loader.d.ts +0 -16
  90. package/dist/utils/schema-loader.d.ts.map +0 -1
  91. package/dist/utils/schema-loader.js +0 -46
  92. package/dist/utils/schema-loader.js.map +0 -1
@@ -1,199 +0,0 @@
1
- /**
2
- * Configuration loader for Deesse projects
3
- *
4
- * Handles loading and processing of deesse.config.ts files.
5
- * Uses tsx to support TypeScript imports natively.
6
- */
7
- import * as path from 'node:path';
8
- import { createRequire } from 'node:module';
9
- import { execSync } from 'node:child_process';
10
- const CONFIG_PATHS = ['src/deesse.config.ts', 'deesse.config.ts', 'config/deesse.ts'];
11
- export class ConfigLoaderError extends Error {
12
- code;
13
- constructor(message, code) {
14
- super(message);
15
- this.code = code;
16
- this.name = 'ConfigLoaderError';
17
- }
18
- }
19
- /**
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.
24
- */
25
- export async function loadRawConfig(cwd) {
26
- let configPath = '';
27
- for (const configFile of CONFIG_PATHS) {
28
- configPath = path.resolve(cwd, configFile);
29
- try {
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
34
- break;
35
- }
36
- catch {
37
- // Try next path
38
- configPath = '';
39
- }
40
- }
41
- if (!configPath) {
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.`);
43
- }
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)}`);
75
- }
76
- }
77
- /**
78
- * Process raw config via defineConfig to get InternalConfig
79
- */
80
- export function processConfig(rawConfig) {
81
- const require = createRequire(import.meta.url);
82
- try {
83
- const deesse = require('deesse');
84
- if (typeof deesse.defineConfig !== 'function') {
85
- throw new ConfigLoaderError('deesse package does not export defineConfig');
86
- }
87
- return deesse.defineConfig(rawConfig);
88
- }
89
- catch (error) {
90
- if (error instanceof ConfigLoaderError) {
91
- throw error;
92
- }
93
- throw new ConfigLoaderError(`Failed to process config: ${error instanceof Error ? error.message : String(error)}`);
94
- }
95
- }
96
- /**
97
- * Load and process a deesse config
98
- */
99
- export async function loadConfig(cwd) {
100
- const { config: rawConfig, configPath } = await loadRawConfig(cwd);
101
- const processedConfig = processConfig(rawConfig);
102
- return { rawConfig, processedConfig, configPath };
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
- }
165
- /**
166
- * Check if the admin plugin is configured in the config
167
- */
168
- export function hasAdminPlugin(config) {
169
- if (!config.auth?.plugins) {
170
- return false;
171
- }
172
- return config.auth.plugins.some((plugin) => {
173
- // Check if plugin has a name property indicating it's the admin plugin
174
- if (plugin && typeof plugin === 'object' && 'name' in plugin) {
175
- const name = plugin.name;
176
- return name === 'admin' || String(name).includes('admin');
177
- }
178
- // Fallback to string representation check
179
- const pluginStr = String(plugin);
180
- return pluginStr.includes('admin') || pluginStr.includes('Admin');
181
- });
182
- }
183
- /**
184
- * Verify admin plugin is configured, throw if not
185
- */
186
- export function verifyAdminPlugin(config) {
187
- if (!hasAdminPlugin(config)) {
188
- throw new ConfigLoaderError('Admin plugin not configured. The admin plugin is automatically included by defineConfig,\n' +
189
- 'but your config must have an auth section configured.\n\n' +
190
- 'Example deesse.config.ts:\n' +
191
- ' export const config = defineConfig({\n' +
192
- ' auth: {\n' +
193
- ' baseURL: process.env.NEXT_PUBLIC_BASE_URL,\n' +
194
- ' },\n' +
195
- ' // ... other config\n' +
196
- ' });');
197
- }
198
- }
199
- //# sourceMappingURL=loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/lib/config/loader.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Better-Auth schema generation for db commands
3
- *
4
- * Since auth is mandatory in DeesseJS, db:generate and db:push
5
- * must also generate the auth schema tables.
6
- *
7
- * Uses the programmatic API (generateDrizzleSchema from auth/api)
8
- * instead of spawning npx auth@latest generate.
9
- */
10
- /**
11
- * Generate the better-auth schema using the programmatic API
12
- *
13
- * This calls generateDrizzleSchema() directly to generate the auth tables
14
- * (user, session, account, verification) without needing a config file.
15
- */
16
- export declare function generateAuthSchema(cwd?: string): Promise<void>;
17
- /**
18
- * Check if auth schema file exists
19
- */
20
- export declare function authSchemaExists(cwd?: string): Promise<boolean>;
21
- /**
22
- * Get the path to the auth schema file
23
- */
24
- export declare function getAuthSchemaPath(cwd?: string): string;
25
- //# sourceMappingURL=auth-schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-schema.d.ts","sourceRoot":"","sources":["../../../src/lib/db/auth-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA8DH;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDnF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAQpF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAErE"}
@@ -1,111 +0,0 @@
1
- /**
2
- * Better-Auth schema generation for db commands
3
- *
4
- * Since auth is mandatory in DeesseJS, db:generate and db:push
5
- * must also generate the auth schema tables.
6
- *
7
- * Uses the programmatic API (generateDrizzleSchema from auth/api)
8
- * instead of spawning npx auth@latest generate.
9
- */
10
- import { writeFile, access, mkdir } from 'node:fs/promises';
11
- import { existsSync } from 'node:fs';
12
- import * as path from 'node:path';
13
- const AUTH_SCHEMA_OUTPUT = './src/db/auth-schema.ts';
14
- async function generateDrizzleSchemaInternal(
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
- opts) {
17
- // Dynamic import to get the generator
18
- const { generateDrizzleSchema } = await import('auth/api');
19
- return generateDrizzleSchema(opts);
20
- }
21
- /**
22
- * Create a mock adapter for schema generation
23
- */
24
- function createMockAdapter(dialect) {
25
- // Map postgresql to pg for drizzle
26
- const provider = dialect === 'postgresql' ? 'pg' : dialect;
27
- return {
28
- id: 'drizzle',
29
- options: {
30
- adapterConfig: {
31
- adapterId: 'drizzle',
32
- },
33
- provider,
34
- },
35
- };
36
- }
37
- /**
38
- * Ensure a directory exists
39
- */
40
- async function ensureDir(dirPath) {
41
- if (!existsSync(dirPath)) {
42
- await mkdir(dirPath, { recursive: true });
43
- }
44
- }
45
- /**
46
- * Generate the better-auth schema using the programmatic API
47
- *
48
- * This calls generateDrizzleSchema() directly to generate the auth tables
49
- * (user, session, account, verification) without needing a config file.
50
- */
51
- export async function generateAuthSchema(cwd = process.cwd()) {
52
- const outputPath = path.resolve(cwd, AUTH_SCHEMA_OUTPUT);
53
- console.warn('Generating better-auth schema...');
54
- try {
55
- // Create mock adapter for drizzle with postgresql dialect
56
- const adapter = createMockAdapter('postgresql');
57
- // Generate the schema using the programmatic API
58
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
59
- const schema = await generateDrizzleSchemaInternal({
60
- file: outputPath,
61
- adapter,
62
- options: {
63
- database: {},
64
- plugins: [],
65
- },
66
- });
67
- if (!schema.code) {
68
- console.warn('Auth schema is already up to date.');
69
- return;
70
- }
71
- // Ensure parent directory exists
72
- const parentDir = path.dirname(outputPath);
73
- await ensureDir(parentDir);
74
- // Write the generated schema to file
75
- await writeFile(outputPath, schema.code, 'utf-8');
76
- // Append schema export (combined object of all auth tables)
77
- // This is needed because generateDrizzleSchema exports named tables,
78
- // but drizzle expects a schema object with all tables
79
- // Named 'schema' to match drizzle-kit's expectation
80
- const schemaExport = `\nexport const schema = { user, session, account, verification };\n`;
81
- await writeFile(outputPath, schemaExport, { flag: 'a' });
82
- console.warn(`Auth schema generated: ${outputPath}`);
83
- }
84
- catch (error) {
85
- if (error.code === 'ENOENT') {
86
- throw new Error('better-auth schema generation failed. Please ensure better-auth is installed:\n' +
87
- ' npm install better-auth');
88
- }
89
- throw error;
90
- }
91
- }
92
- /**
93
- * Check if auth schema file exists
94
- */
95
- export async function authSchemaExists(cwd = process.cwd()) {
96
- const outputPath = path.resolve(cwd, AUTH_SCHEMA_OUTPUT);
97
- try {
98
- await access(outputPath);
99
- return true;
100
- }
101
- catch {
102
- return false;
103
- }
104
- }
105
- /**
106
- * Get the path to the auth schema file
107
- */
108
- export function getAuthSchemaPath(cwd = process.cwd()) {
109
- return path.resolve(cwd, AUTH_SCHEMA_OUTPUT);
110
- }
111
- //# sourceMappingURL=auth-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-schema.js","sourceRoot":"","sources":["../../../src/lib/db/auth-schema.ts"],"names":[],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- /**
2
- * Drizzle schema loader
3
- *
4
- * Dynamically imports the user's schema from ./src/db/schema.ts
5
- * This is required because drizzle-kit's programmatic API takes schema objects,
6
- * not file paths.
7
- */
8
- declare const DEFAULT_SCHEMA_PATH = "./src/db/schema.ts";
9
- declare const DEFAULT_DRIZZLE_CONFIG_PATH = "./drizzle.config.ts";
10
- export { DEFAULT_SCHEMA_PATH, DEFAULT_DRIZZLE_CONFIG_PATH };
11
- export interface SchemaLoaderResult {
12
- schema: Record<string, unknown>;
13
- schemaPath: string;
14
- }
15
- export declare class SchemaLoaderError extends Error {
16
- readonly code?: string | undefined;
17
- constructor(message: string, code?: string | undefined);
18
- }
19
- /**
20
- * Load Drizzle schema objects from the user's schema file
21
- */
22
- export declare function loadSchema(cwd?: string): Promise<SchemaLoaderResult>;
23
- /**
24
- * Verify the schema file exists
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>;
43
- //# sourceMappingURL=schema.d.ts.map
@@ -1 +0,0 @@
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,CAoBpF"}
@@ -1,144 +0,0 @@
1
- /**
2
- * Drizzle schema loader
3
- *
4
- * Dynamically imports the user's schema from ./src/db/schema.ts
5
- * This is required because drizzle-kit's programmatic API takes schema objects,
6
- * not file paths.
7
- */
8
- import * as path from 'node:path';
9
- import { createRequire } from 'node:module';
10
- import { writeFile, access, mkdir } from 'node:fs/promises';
11
- import { existsSync } from 'node:fs';
12
- const DEFAULT_SCHEMA_PATH = './src/db/schema.ts';
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 };
16
- export class SchemaLoaderError extends Error {
17
- code;
18
- constructor(message, code) {
19
- super(message);
20
- this.code = code;
21
- this.name = 'SchemaLoaderError';
22
- }
23
- }
24
- /**
25
- * Load Drizzle schema objects from the user's schema file
26
- */
27
- export async function loadSchema(cwd = process.cwd()) {
28
- const schemaPath = path.resolve(cwd, DEFAULT_SCHEMA_PATH);
29
- const require = createRequire(import.meta.url);
30
- try {
31
- const schemaModule = require(schemaPath);
32
- // Extract all exports that are schema objects (tables, etc.)
33
- const schema = {};
34
- for (const [key, value] of Object.entries(schemaModule)) {
35
- // Skip non-schema exports (like imports, types, etc.)
36
- if (key === '__esModule' || key === 'default')
37
- continue;
38
- if (typeof value !== 'object' && typeof value !== 'function')
39
- continue;
40
- schema[key] = value;
41
- }
42
- if (Object.keys(schema).length === 0) {
43
- throw new SchemaLoaderError(`No schema objects found in ${DEFAULT_SCHEMA_PATH}.\n` +
44
- `Please export your Drizzle tables from this file.`);
45
- }
46
- return { schema, schemaPath };
47
- }
48
- catch (error) {
49
- if (error instanceof SchemaLoaderError) {
50
- throw error;
51
- }
52
- const err = error;
53
- if (err.code === 'ENOENT') {
54
- throw new SchemaLoaderError(`Schema file not found: ${DEFAULT_SCHEMA_PATH}\n` +
55
- `Please create this file and export your Drizzle tables.`);
56
- }
57
- throw error;
58
- }
59
- }
60
- /**
61
- * Verify the schema file exists
62
- */
63
- export async function verifySchemaPath(cwd = process.cwd()) {
64
- const { stat } = await import('node:fs/promises');
65
- const schemaPath = path.resolve(cwd, DEFAULT_SCHEMA_PATH);
66
- try {
67
- await stat(schemaPath);
68
- return schemaPath;
69
- }
70
- catch {
71
- throw new SchemaLoaderError(`Schema file not found: ${DEFAULT_SCHEMA_PATH}\n` +
72
- `Please create this file and export your Drizzle tables.`);
73
- }
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 in src/db/ next to schema.ts, so same directory import
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
- // Point directly to auth-schema.ts which now exports 'schema'
128
- const configContent = `import 'dotenv/config';
129
- import { defineConfig } from 'drizzle-kit';
130
-
131
- export default defineConfig({
132
- out: './drizzle',
133
- schema: './src/db/auth-schema.ts',
134
- dialect: 'postgresql',
135
- dbCredentials: {
136
- url: process.env.DATABASE_URL!,
137
- },
138
- });
139
- `;
140
- // Always overwrite - drizzle-kit requires the correct schema path
141
- await writeFile(configPath, configContent, 'utf-8');
142
- console.warn(`Created/Updated drizzle config: ${configPath}`);
143
- }
144
- //# sourceMappingURL=schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/lib/db/schema.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export * from './admin/create.js';
2
- export * from './config/loader.js';
3
- export * from './db/schema.js';
4
- export * from './db/auth-schema.js';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
package/dist/lib/index.js DELETED
@@ -1,6 +0,0 @@
1
- // Backend library exports
2
- export * from './admin/create.js';
3
- export * from './config/loader.js';
4
- export * from './db/schema.js';
5
- export * from './db/auth-schema.js';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Config loader utility
3
- *
4
- * Dynamically imports the user's deesse.config.ts to get the database instance.
5
- */
6
- export interface DeesseConfig {
7
- database: unknown;
8
- }
9
- export interface LoadedConfig {
10
- config: DeesseConfig;
11
- configPath: string;
12
- }
13
- export declare function loadConfig(): Promise<LoadedConfig>;
14
- export declare function verifyConfigPath(): Promise<string>;
15
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,wBAAsB,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,CAoCxD;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAaxD"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Config loader utility
3
- *
4
- * Dynamically imports the user's deesse.config.ts to get the database instance.
5
- */
6
- import * as path from 'node:path';
7
- import * as url from 'node:url';
8
- const CONFIG_PATH = './src/deesse.config.ts';
9
- export async function loadConfig() {
10
- const configPath = path.resolve(process.cwd(), CONFIG_PATH);
11
- // Try to load the config file
12
- let configModule;
13
- try {
14
- configModule = await import(url.pathToFileURL(configPath).href);
15
- }
16
- catch (error) {
17
- if (error.code === 'ENOENT') {
18
- throw new Error(`Config file not found: ${CONFIG_PATH}\n` +
19
- `Please create this file with your database configuration.`);
20
- }
21
- throw error;
22
- }
23
- // Handle both named export and default export patterns
24
- const config = configModule.config ?? configModule.default?.config;
25
- if (!config) {
26
- throw new Error(`Config file ${CONFIG_PATH} does not export a 'config' object.\n` +
27
- `Please ensure your config file contains: export const config = defineConfig({ ... })`);
28
- }
29
- if (!config.database) {
30
- throw new Error(`Config does not have a 'database' property.\n` +
31
- `Please add a database configuration using drizzle().`);
32
- }
33
- return { config, configPath };
34
- }
35
- export async function verifyConfigPath() {
36
- const { stat } = await import('node:fs/promises');
37
- const configPath = path.resolve(process.cwd(), CONFIG_PATH);
38
- try {
39
- await stat(configPath);
40
- return configPath;
41
- }
42
- catch {
43
- throw new Error(`Config file not found: ${CONFIG_PATH}\n` +
44
- `Please create this file with your database configuration.`);
45
- }
46
- }
47
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAWhC,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;IAE5D,8BAA8B;IAC9B,IAAI,YAA4E,CAAC;IAEjF,IAAI,CAAC;QACH,YAAY,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CACb,0BAA0B,WAAW,IAAI;gBACzC,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,uDAAuD;IACvD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;IAEnE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,eAAe,WAAW,uCAAuC;YACjE,sFAAsF,CACvF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,+CAA+C;YAC/C,sDAAsD,CACvD,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;IAE5D,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,0BAA0B,WAAW,IAAI;YACzC,2DAA2D,CAC5D,CAAC;IACJ,CAAC;AACH,CAAC"}