@deessejs/cli 0.6.9 → 0.6.10
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.
|
@@ -3,12 +3,15 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Since auth is mandatory in DeesseJS, db:generate and db:push
|
|
5
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.
|
|
6
9
|
*/
|
|
7
10
|
/**
|
|
8
|
-
* Generate the better-auth schema using the
|
|
11
|
+
* Generate the better-auth schema using the programmatic API
|
|
9
12
|
*
|
|
10
|
-
* This
|
|
11
|
-
*
|
|
13
|
+
* This calls generateDrizzleSchema() directly to generate the auth tables
|
|
14
|
+
* (user, session, account, verification) without needing a config file.
|
|
12
15
|
*/
|
|
13
16
|
export declare function generateAuthSchema(cwd?: string): Promise<void>;
|
|
14
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-schema.d.ts","sourceRoot":"","sources":["../../../src/lib/db/auth-schema.ts"],"names":[],"mappings":"AAAA
|
|
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,CA0CnF;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"}
|
|
@@ -3,29 +3,81 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Since auth is mandatory in DeesseJS, db:generate and db:push
|
|
5
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.
|
|
6
9
|
*/
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
10
|
+
import { writeFile, access, mkdir } from 'node:fs/promises';
|
|
11
|
+
import { existsSync } from 'node:fs';
|
|
9
12
|
import * as path from 'node:path';
|
|
10
13
|
const AUTH_SCHEMA_OUTPUT = './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
|
+
}
|
|
11
37
|
/**
|
|
12
|
-
*
|
|
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
|
|
13
47
|
*
|
|
14
|
-
* This
|
|
15
|
-
*
|
|
48
|
+
* This calls generateDrizzleSchema() directly to generate the auth tables
|
|
49
|
+
* (user, session, account, verification) without needing a config file.
|
|
16
50
|
*/
|
|
17
51
|
export async function generateAuthSchema(cwd = process.cwd()) {
|
|
18
52
|
const outputPath = path.resolve(cwd, AUTH_SCHEMA_OUTPUT);
|
|
19
53
|
console.warn('Generating better-auth schema...');
|
|
20
54
|
try {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
+
},
|
|
24
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
|
+
console.warn(`Auth schema generated: ${outputPath}`);
|
|
25
77
|
}
|
|
26
78
|
catch (error) {
|
|
27
79
|
if (error.code === 'ENOENT') {
|
|
28
|
-
throw new Error('better-auth
|
|
80
|
+
throw new Error('better-auth schema generation failed. Please ensure better-auth is installed:\n' +
|
|
29
81
|
' npm install better-auth');
|
|
30
82
|
}
|
|
31
83
|
throw error;
|
|
@@ -37,7 +89,7 @@ export async function generateAuthSchema(cwd = process.cwd()) {
|
|
|
37
89
|
export async function authSchemaExists(cwd = process.cwd()) {
|
|
38
90
|
const outputPath = path.resolve(cwd, AUTH_SCHEMA_OUTPUT);
|
|
39
91
|
try {
|
|
40
|
-
await
|
|
92
|
+
await access(outputPath);
|
|
41
93
|
return true;
|
|
42
94
|
}
|
|
43
95
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-schema.js","sourceRoot":"","sources":["../../../src/lib/db/auth-schema.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"auth-schema.js","sourceRoot":"","sources":["../../../src/lib/db/auth-schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deessejs/cli",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.10",
|
|
4
4
|
"description": "DeesseJS CLI for managing DeesseJS projects",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@better-auth/drizzle-adapter": "^1.0.0",
|
|
36
36
|
"@clack/prompts": "^0.8.2",
|
|
37
|
+
"auth": "^1.6.0",
|
|
37
38
|
"better-auth": "^1.0.0",
|
|
38
39
|
"dotenv": "^17.3.1",
|
|
39
40
|
"drizzle-orm": "^0.38.0",
|