@boostkit/auth 0.0.2 → 0.1.0
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.
- package/dist/index.d.ts +14 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -11
- package/dist/index.js.map +1 -1
- package/package.json +11 -2
package/dist/index.d.ts
CHANGED
|
@@ -33,13 +33,6 @@ export interface BetterAuthConfig {
|
|
|
33
33
|
secret?: string;
|
|
34
34
|
/** App base URL. Falls back to process.env.APP_URL */
|
|
35
35
|
baseUrl?: string;
|
|
36
|
-
/**
|
|
37
|
-
* Pass a PrismaClient instance — auto-wrapped with prismaAdapter internally.
|
|
38
|
-
* Or pass a pre-built better-auth database adapter for advanced use.
|
|
39
|
-
*/
|
|
40
|
-
database: unknown;
|
|
41
|
-
/** Required when passing a PrismaClient. Default: 'sqlite' */
|
|
42
|
-
databaseProvider?: 'sqlite' | 'postgresql' | 'mysql';
|
|
43
36
|
emailAndPassword?: {
|
|
44
37
|
enabled?: boolean;
|
|
45
38
|
requireEmailVerification?: boolean;
|
|
@@ -56,16 +49,28 @@ export interface BetterAuthConfig {
|
|
|
56
49
|
email: string;
|
|
57
50
|
}) => void | Promise<void>;
|
|
58
51
|
}
|
|
52
|
+
export interface AuthDbConfig {
|
|
53
|
+
driver?: 'postgresql' | 'sqlite' | 'libsql' | 'mysql';
|
|
54
|
+
url?: string;
|
|
55
|
+
}
|
|
59
56
|
/**
|
|
60
57
|
* Returns a ServiceProvider constructor that configures better-auth and
|
|
61
58
|
* binds the auth instance to the DI container in boot().
|
|
62
59
|
*
|
|
60
|
+
* Pass the database connection config as the second argument — betterAuth
|
|
61
|
+
* creates its own PrismaClient internally (separate from the ORM's client).
|
|
62
|
+
*
|
|
63
63
|
* Usage in bootstrap/providers.ts:
|
|
64
64
|
* import { betterAuth } from '@boostkit/auth'
|
|
65
65
|
* import configs from '../config/index.ts'
|
|
66
|
-
* export default [
|
|
66
|
+
* export default [
|
|
67
|
+
* betterAuth(configs.auth, configs.database.connections[configs.database.default]),
|
|
68
|
+
* ...
|
|
69
|
+
* ]
|
|
67
70
|
*/
|
|
68
|
-
export declare function
|
|
71
|
+
export declare function auth(config: BetterAuthConfig, dbConfig?: AuthDbConfig): new (app: Application) => ServiceProvider;
|
|
72
|
+
/** @deprecated use `auth()` instead */
|
|
73
|
+
export declare const betterAuth: typeof auth;
|
|
69
74
|
export type BetterAuthInstance = Awaited<ReturnType<typeof import('better-auth').betterAuth>>;
|
|
70
75
|
/**
|
|
71
76
|
* Verifies the session via better-auth and attaches the authenticated user
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,WAAW,EAAO,MAAM,gBAAgB,CAAA;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAI5D,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,UAAU;QAClB,IAAI,CAAC,EAAE,QAAQ,CAAA;KAChB;CACF;AAID,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,OAAO,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,WAAW,CAAA;CACrB;AAID,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,WAAW,EAAO,MAAM,gBAAgB,CAAA;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAI5D,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,UAAU;QAClB,IAAI,CAAC,EAAE,QAAQ,CAAA;KAChB;CACF;AAID,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,OAAO,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,WAAW,CAAA;CACrB;AAID,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,6FAA6F;IAC7F,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5F;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IACrD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAkCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,IAAI,CAClB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,YAAY,GACtB,KAAK,GAAG,EAAE,WAAW,KAAK,eAAe,CAiD3C;AAED,uCAAuC;AACvC,eAAO,MAAM,UAAU,aAAO,CAAA;AAE9B,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,aAAa,EAAE,UAAU,CAAC,CAAC,CAAA;AAI7F;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,IAAI,iBAAiB,CAelD"}
|
package/dist/index.js
CHANGED
|
@@ -1,31 +1,69 @@
|
|
|
1
1
|
import { ServiceProvider, app } from '@boostkit/core';
|
|
2
|
+
// ─── Internal helpers ──────────────────────────────────────
|
|
3
|
+
async function createPrismaClient(config) {
|
|
4
|
+
const opts = {};
|
|
5
|
+
if (config.driver === 'postgresql' && config.url) {
|
|
6
|
+
const { Pool } = await import('pg');
|
|
7
|
+
const { PrismaPg } = await import('@prisma/adapter-pg');
|
|
8
|
+
opts['adapter'] = new PrismaPg(new Pool({ connectionString: config.url }));
|
|
9
|
+
}
|
|
10
|
+
else if (config.driver === 'libsql' && config.url) {
|
|
11
|
+
const { createClient } = await import('@libsql/client');
|
|
12
|
+
const { PrismaLibSql } = await import('@prisma/adapter-libsql');
|
|
13
|
+
opts['adapter'] = new PrismaLibSql(createClient({ url: config.url }));
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
const dbUrl = config.url ?? process.env['DATABASE_URL'] ?? 'file:./dev.db';
|
|
17
|
+
const { PrismaBetterSqlite3 } = await import('@prisma/adapter-better-sqlite3');
|
|
18
|
+
opts['adapter'] = new PrismaBetterSqlite3({ url: dbUrl });
|
|
19
|
+
}
|
|
20
|
+
const mod = await import('@prisma/client');
|
|
21
|
+
const PC = mod.PrismaClient ?? mod.default?.PrismaClient ?? mod.default;
|
|
22
|
+
return new PC(opts);
|
|
23
|
+
}
|
|
24
|
+
function mapDriver(driver) {
|
|
25
|
+
if (driver === 'postgresql')
|
|
26
|
+
return 'postgresql';
|
|
27
|
+
if (driver === 'mysql')
|
|
28
|
+
return 'mysql';
|
|
29
|
+
return 'sqlite';
|
|
30
|
+
}
|
|
2
31
|
// ─── betterAuth() Factory ──────────────────────────────────
|
|
3
32
|
/**
|
|
4
33
|
* Returns a ServiceProvider constructor that configures better-auth and
|
|
5
34
|
* binds the auth instance to the DI container in boot().
|
|
6
35
|
*
|
|
36
|
+
* Pass the database connection config as the second argument — betterAuth
|
|
37
|
+
* creates its own PrismaClient internally (separate from the ORM's client).
|
|
38
|
+
*
|
|
7
39
|
* Usage in bootstrap/providers.ts:
|
|
8
40
|
* import { betterAuth } from '@boostkit/auth'
|
|
9
41
|
* import configs from '../config/index.ts'
|
|
10
|
-
* export default [
|
|
42
|
+
* export default [
|
|
43
|
+
* betterAuth(configs.auth, configs.database.connections[configs.database.default]),
|
|
44
|
+
* ...
|
|
45
|
+
* ]
|
|
11
46
|
*/
|
|
12
|
-
export function
|
|
47
|
+
export function auth(config, dbConfig) {
|
|
13
48
|
class BetterAuthProvider extends ServiceProvider {
|
|
14
49
|
register() { }
|
|
15
50
|
async boot() {
|
|
16
51
|
const { betterAuth: createAuth } = await import('better-auth');
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
52
|
+
const { prismaAdapter } = await import('better-auth/adapters/prisma');
|
|
53
|
+
// Use prismaProvider's client if available (boot order: prismaProvider → betterAuth),
|
|
54
|
+
// otherwise create a dedicated client from dbConfig.
|
|
55
|
+
let prisma;
|
|
56
|
+
try {
|
|
57
|
+
prisma = this.app.make('prisma');
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
prisma = await createPrismaClient(dbConfig ?? {});
|
|
24
61
|
}
|
|
62
|
+
const database = prismaAdapter(prisma, { provider: mapDriver(dbConfig?.driver) });
|
|
25
63
|
const auth = createAuth({
|
|
26
64
|
secret: config.secret ?? process.env['AUTH_SECRET'] ?? '',
|
|
27
65
|
baseURL: config.baseUrl ?? process.env['APP_URL'] ?? 'http://localhost:3000',
|
|
28
|
-
database
|
|
66
|
+
database,
|
|
29
67
|
emailAndPassword: {
|
|
30
68
|
enabled: config.emailAndPassword?.enabled ?? true,
|
|
31
69
|
...(config.emailAndPassword?.requireEmailVerification !== undefined
|
|
@@ -46,13 +84,14 @@ export function betterAuth(config) {
|
|
|
46
84
|
},
|
|
47
85
|
}),
|
|
48
86
|
});
|
|
49
|
-
// Bind into DI container
|
|
50
87
|
this.app.instance('auth', auth);
|
|
51
88
|
console.log('[BetterAuthServiceProvider] booted — auth instance bound to DI container');
|
|
52
89
|
}
|
|
53
90
|
}
|
|
54
91
|
return BetterAuthProvider;
|
|
55
92
|
}
|
|
93
|
+
/** @deprecated use `auth()` instead */
|
|
94
|
+
export const betterAuth = auth;
|
|
56
95
|
// ─── Auth Middleware ───────────────────────────────────────
|
|
57
96
|
/**
|
|
58
97
|
* Verifies the session via better-auth and attaches the authenticated user
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAoB,GAAG,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@boostkit/auth",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,11 +22,20 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"better-auth": "^1.0.0",
|
|
24
24
|
"@boostkit/contracts": "0.0.2",
|
|
25
|
-
"@boostkit/core": "0.0.
|
|
25
|
+
"@boostkit/core": "0.0.6",
|
|
26
26
|
"@boostkit/router": "0.0.3"
|
|
27
27
|
},
|
|
28
|
+
"optionalDependencies": {
|
|
29
|
+
"@libsql/client": "^0.15.0",
|
|
30
|
+
"@prisma/adapter-better-sqlite3": "^7.0.0",
|
|
31
|
+
"@prisma/adapter-libsql": "^7.0.0",
|
|
32
|
+
"@prisma/adapter-pg": "^7.0.0",
|
|
33
|
+
"@prisma/client": "^7.0.0"
|
|
34
|
+
},
|
|
28
35
|
"devDependencies": {
|
|
29
36
|
"@types/node": "^20.0.0",
|
|
37
|
+
"@types/pg": "^8.0.0",
|
|
38
|
+
"better-sqlite3": "^12.0.0",
|
|
30
39
|
"typescript": "^5.4.0"
|
|
31
40
|
},
|
|
32
41
|
"scripts": {
|