@fougere/auth-better 0.6.0-alpha.0 → 0.8.0-alpha.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/adapter.d.ts +1 -7
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +2 -13
- package/dist/adapter.js.map +1 -1
- package/dist/entities.d.ts +1 -7
- package/dist/entities.d.ts.map +1 -1
- package/dist/entities.js +1 -7
- package/dist/entities.js.map +1 -1
- package/dist/index.d.ts +2 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -12
- package/dist/index.js.map +1 -1
- package/dist/translate.d.ts +2 -12
- package/dist/translate.d.ts.map +1 -1
- package/dist/translate.js +1 -5
- package/dist/translate.js.map +1 -1
- package/package.json +4 -4
- package/src/adapter.ts +2 -13
- package/src/entities.ts +2 -24
- package/src/index.ts +2 -20
- package/src/translate.ts +2 -12
package/dist/adapter.d.ts
CHANGED
|
@@ -4,12 +4,6 @@ import type { Storage } from '@fougere/core';
|
|
|
4
4
|
* to Fougere Storage instances. Built once at boot by create() in index.ts.
|
|
5
5
|
*/
|
|
6
6
|
export type StorageMap = Map<string, Storage>;
|
|
7
|
-
/**
|
|
8
|
-
* Better-auth adapter that routes every operation through Fougere Storage.
|
|
9
|
-
*
|
|
10
|
-
* This closes the loop: the same `db` resolved by Fougere's bootstrap is the
|
|
11
|
-
* one Storage writes to, and better-auth never touches the storage directly.
|
|
12
|
-
* If Fougere swaps Kysely for another backend, this adapter follows for free.
|
|
13
|
-
*/
|
|
7
|
+
/** Better-auth adapter that routes every operation through Fougere Storage. */
|
|
14
8
|
export declare function fougereAdapter(storageMap: StorageMap): import("better-auth/adapters").AdapterFactory<import("better-auth").BetterAuthOptions>;
|
|
15
9
|
//# sourceMappingURL=adapter.d.ts.map
|
package/dist/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAgC9C,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,0FAyGpD"}
|
package/dist/adapter.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { createAdapterFactory } from 'better-auth/adapters';
|
|
2
|
-
/**
|
|
3
|
-
* Where[] supported subset:
|
|
4
|
-
* - All clauses use 'eq' operator
|
|
5
|
-
* - Implicit AND between clauses (no OR connector)
|
|
6
|
-
* Anything else throws — extend Storage or add an engine-level fallback when needed.
|
|
7
|
-
*/
|
|
2
|
+
/** Where[] supported subset. */
|
|
8
3
|
function whereToCriteria(where) {
|
|
9
4
|
const criteria = {};
|
|
10
5
|
for (const clause of where) {
|
|
@@ -28,13 +23,7 @@ function storageOf(storageMap, model) {
|
|
|
28
23
|
}
|
|
29
24
|
return storage;
|
|
30
25
|
}
|
|
31
|
-
/**
|
|
32
|
-
* Better-auth adapter that routes every operation through Fougere Storage.
|
|
33
|
-
*
|
|
34
|
-
* This closes the loop: the same `db` resolved by Fougere's bootstrap is the
|
|
35
|
-
* one Storage writes to, and better-auth never touches the storage directly.
|
|
36
|
-
* If Fougere swaps Kysely for another backend, this adapter follows for free.
|
|
37
|
-
*/
|
|
26
|
+
/** Better-auth adapter that routes every operation through Fougere Storage. */
|
|
38
27
|
export function fougereAdapter(storageMap) {
|
|
39
28
|
return createAdapterFactory({
|
|
40
29
|
config: {
|
package/dist/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAU5D
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/entities.d.ts
CHANGED
|
@@ -8,13 +8,7 @@ declare const AuthUser_base: import("@fougere/schema").SchemaConstructor<{
|
|
|
8
8
|
createdAt: import("@fougere/schema").Field<Date>;
|
|
9
9
|
updatedAt: import("@fougere/schema").Field<Date>;
|
|
10
10
|
}>;
|
|
11
|
-
/**
|
|
12
|
-
* Default User entity — shipped as a fallback. Apps should declare their own
|
|
13
|
-
* User entity in a frond and pass it via `auth.user` (with extra fields like roles).
|
|
14
|
-
*
|
|
15
|
-
* Field shape matches better-auth's expectations: name/email/emailVerified/image
|
|
16
|
-
* + standard timestamps.
|
|
17
|
-
*/
|
|
11
|
+
/** Default User entity — shipped as a fallback. */
|
|
18
12
|
export declare class AuthUser extends AuthUser_base {
|
|
19
13
|
}
|
|
20
14
|
export declare function authEntities(User: SchemaView): {
|
package/dist/entities.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../src/entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6D,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;;;;;;;;;;AAE7G
|
|
1
|
+
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../src/entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6D,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;;;;;;;;;;AAE7G,mDAAmD;AACnD,qBAAa,QAAS,SAAQ,aAQ5B;CAAG;AAKL,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG;IAC9C,WAAW,EAAE,UAAU,CAAC;IACxB,WAAW,EAAE,UAAU,CAAC;CACzB,CAuCA;;;;;;;;;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAOpC;CAAG"}
|
package/dist/entities.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import { entity, primary, text, bool, date, created, ref, optional } from '@fougere/schema';
|
|
2
|
-
/**
|
|
3
|
-
* Default User entity — shipped as a fallback. Apps should declare their own
|
|
4
|
-
* User entity in a frond and pass it via `auth.user` (with extra fields like roles).
|
|
5
|
-
*
|
|
6
|
-
* Field shape matches better-auth's expectations: name/email/emailVerified/image
|
|
7
|
-
* + standard timestamps.
|
|
8
|
-
*/
|
|
2
|
+
/** Default User entity — shipped as a fallback. */
|
|
9
3
|
export class AuthUser extends entity({
|
|
10
4
|
id: primary(),
|
|
11
5
|
name: text(),
|
package/dist/entities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entities.js","sourceRoot":"","sources":["../src/entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAmB,MAAM,iBAAiB,CAAC;AAE7G
|
|
1
|
+
{"version":3,"file":"entities.js","sourceRoot":"","sources":["../src/entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAmB,MAAM,iBAAiB,CAAC;AAE7G,mDAAmD;AACnD,MAAM,OAAO,QAAS,SAAQ,MAAM,CAAC;IACnC,EAAE,EAAE,OAAO,EAAE;IACb,IAAI,EAAE,IAAI,EAAE;IACZ,KAAK,EAAE,IAAI,EAAE;IACb,aAAa,EAAE,IAAI,EAAE;IACrB,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,EAAE;IACpB,SAAS,EAAE,OAAO,EAAE;CACrB,CAAC;CAAG;AAKL,MAAM,UAAU,YAAY,CAAC,IAAgB;IAI3C,MAAM,MAAM,GAAG,IAA6B,CAAC;IAE7C;;;OAGG;IACH,MAAM,WAAY,SAAQ,MAAM,CAAC;QAC/B,EAAE,EAAE,OAAO,EAAE;QACb,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,IAAI,EAAE;QACb,SAAS,EAAE,IAAI,EAAE;QACjB,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,SAAS,EAAE,OAAO,EAAE;QACpB,SAAS,EAAE,OAAO,EAAE;KACrB,CAAC;KAAG;IAEL;;;OAGG;IACH,MAAM,WAAY,SAAQ,MAAM,CAAC;QAC/B,EAAE,EAAE,OAAO,EAAE;QACb,SAAS,EAAE,IAAI,EAAE;QACjB,UAAU,EAAE,IAAI,EAAE;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7B,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,oBAAoB,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtC,qBAAqB,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvC,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1B,SAAS,EAAE,OAAO,EAAE;QACpB,SAAS,EAAE,OAAO,EAAE;KACrB,CAAC;KAAG;IAEL,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC;IAC3C,EAAE,EAAE,OAAO,EAAE;IACb,UAAU,EAAE,IAAI,EAAE;IAClB,KAAK,EAAE,IAAI,EAAE;IACb,SAAS,EAAE,IAAI,EAAE;IACjB,SAAS,EAAE,OAAO,EAAE;IACpB,SAAS,EAAE,OAAO,EAAE;CACrB,CAAC;CAAG"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,14 +3,7 @@ import type { SchemaView } from '@fougere/schema';
|
|
|
3
3
|
import { type FougereProviders } from './translate.js';
|
|
4
4
|
export { AuthUser, AuthVerification, authEntities } from './entities.js';
|
|
5
5
|
export type { FougereProviders, OIDCProviderConfig } from './translate.js';
|
|
6
|
-
/**
|
|
7
|
-
* Options accepted by the betterAuth() factory in fougere.config.ts.
|
|
8
|
-
*
|
|
9
|
-
* `user` should come from the app's own frond (roles, extra columns, its own
|
|
10
|
-
* table — Session/Account are built against it, see `authEntities`). Omitting
|
|
11
|
-
* it falls back to the package's `AuthUser`. Other entities default to the
|
|
12
|
-
* shapes shipped by this package and can be overridden too.
|
|
13
|
-
*/
|
|
6
|
+
/** Options accepted by the betterAuth() factory in fougere.config.ts. */
|
|
14
7
|
export interface BetterAuthOptions {
|
|
15
8
|
user?: SchemaView;
|
|
16
9
|
secret: string;
|
|
@@ -23,17 +16,6 @@ export interface BetterAuthOptions {
|
|
|
23
16
|
account?: SchemaView;
|
|
24
17
|
verification?: SchemaView;
|
|
25
18
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Factory used in fougere.config.ts:
|
|
28
|
-
*
|
|
29
|
-
* ```ts
|
|
30
|
-
* export default defineFougere({
|
|
31
|
-
* auth: betterAuth({ user: User, secret, providers: {...} }),
|
|
32
|
-
* });
|
|
33
|
-
* ```
|
|
34
|
-
*
|
|
35
|
-
* Returns a lazy AuthConfig — the better-auth engine is only constructed when
|
|
36
|
-
* the core calls `create(ctx)` at boot, with the resolved db + storageFactory.
|
|
37
|
-
*/
|
|
19
|
+
/** Factory used in fougere.config.ts. */
|
|
38
20
|
export declare function betterAuth(opts: BetterAuthOptions): AuthConfig;
|
|
39
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE3E
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE3E,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,YAAY,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED,yCAAyC;AACzC,wBAAgB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,CAmD9D"}
|
package/dist/index.js
CHANGED
|
@@ -4,18 +4,7 @@ import { AuthVerification, AuthUser, authEntities } from './entities.js';
|
|
|
4
4
|
import { fougereAdapter } from './adapter.js';
|
|
5
5
|
import { translateCredential, translateSocial, translatePlugins, } from './translate.js';
|
|
6
6
|
export { AuthUser, AuthVerification, authEntities } from './entities.js';
|
|
7
|
-
/**
|
|
8
|
-
* Factory used in fougere.config.ts:
|
|
9
|
-
*
|
|
10
|
-
* ```ts
|
|
11
|
-
* export default defineFougere({
|
|
12
|
-
* auth: betterAuth({ user: User, secret, providers: {...} }),
|
|
13
|
-
* });
|
|
14
|
-
* ```
|
|
15
|
-
*
|
|
16
|
-
* Returns a lazy AuthConfig — the better-auth engine is only constructed when
|
|
17
|
-
* the core calls `create(ctx)` at boot, with the resolved db + storageFactory.
|
|
18
|
-
*/
|
|
7
|
+
/** Factory used in fougere.config.ts. */
|
|
19
8
|
export function betterAuth(opts) {
|
|
20
9
|
const userSchema = opts.user ?? AuthUser;
|
|
21
10
|
const { AuthSession, AuthAccount } = authEntities(userSchema);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,cAAc,EAAmB,MAAM,cAAc,CAAC;AAC/D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GAEjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,cAAc,EAAmB,MAAM,cAAc,CAAC;AAC/D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GAEjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAiBzE,yCAAyC;AACzC,MAAM,UAAU,UAAU,CAAC,IAAuB;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;IACzC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC;IAClD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC;IAClD,MAAM,kBAAkB,GAAG,IAAI,CAAC,YAAY,IAAI,gBAAgB,CAAC;IACjE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC;IAE1C,OAAO;QACL,QAAQ,EAAE;YACR,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,aAAa;YACtB,OAAO,EAAE,aAAa;YACtB,YAAY,EAAE,kBAAkB;SACjC;QACD,MAAM,CAAC,EAAE,cAAc,EAAe;YACpC,MAAM,UAAU,GAAe,IAAI,GAAG,CAAC;gBACrC,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC5C,CAAC,SAAS,EAAE,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBACrD,CAAC,SAAS,EAAE,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBACrD,CAAC,cAAc,EAAE,cAAc,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;aACrE,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,aAAa,CAAC;gBAC3B,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC;gBACpC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ;gBACR,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE;gBACxD,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC5E,gBAAgB,EAAE,mBAAmB,CAAC,SAAS,CAAC;gBAChD,eAAe,EAAE,eAAe,CAAC,SAAS,CAAC;gBAC3C,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC;aACrC,CAAC,CAAC;YAEH,OAAO;gBACL,QAAQ,EAAE;oBACR,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,aAAa;oBACtB,OAAO,EAAE,aAAa;oBACtB,YAAY,EAAE,kBAAkB;iBACjC;gBACD,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;gBACxC,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,GAAG,EAAE,MAAM,CAAC,GAA8B;gBAC1C,QAAQ;aACT,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/translate.d.ts
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import type { BetterAuthOptions, BetterAuthPlugin } from 'better-auth';
|
|
2
|
-
/**
|
|
3
|
-
* Fougere-side provider declaration. Mirrors what users write in fougere.config.ts.
|
|
4
|
-
*
|
|
5
|
-
* - `credential`: email + password (better-auth's emailAndPassword)
|
|
6
|
-
* - Standard OAuth keys (google, github, ...): become socialProviders
|
|
7
|
-
* - `oidc`: dictionary of OIDC providers, become genericOAuth plugin entries
|
|
8
|
-
*/
|
|
2
|
+
/** Fougere-side provider declaration. */
|
|
9
3
|
export interface FougereProviders {
|
|
10
4
|
credential?: {
|
|
11
5
|
minPasswordLength?: number;
|
|
@@ -58,10 +52,6 @@ export interface OIDCProviderConfig {
|
|
|
58
52
|
}
|
|
59
53
|
export declare function translateCredential(providers?: FougereProviders): BetterAuthOptions['emailAndPassword'];
|
|
60
54
|
export declare function translateSocial(providers?: FougereProviders): BetterAuthOptions['socialProviders'];
|
|
61
|
-
/**
|
|
62
|
-
* Build the plugin list from Fougere provider config.
|
|
63
|
-
* Currently produces:
|
|
64
|
-
* - `genericOAuth` plugin when `providers.oidc` is set (one entry per declared OIDC provider).
|
|
65
|
-
*/
|
|
55
|
+
/** Build the plugin list from Fougere provider config. */
|
|
66
56
|
export declare function translatePlugins(providers?: FougereProviders): BetterAuthPlugin[];
|
|
67
57
|
//# sourceMappingURL=translate.d.ts.map
|
package/dist/translate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translate.d.ts","sourceRoot":"","sources":["../src/translate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvE
|
|
1
|
+
{"version":3,"file":"translate.d.ts","sourceRoot":"","sources":["../src/translate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvE,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE;QACX,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,MAAM,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACtE,MAAM,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACtE,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACxE,KAAK,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACrE,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACvE,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,kBAAkB;IACjC,+FAA+F;IAC/F,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CASvG;AAED,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAOlG;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAejF"}
|
package/dist/translate.js
CHANGED
|
@@ -21,11 +21,7 @@ export function translateSocial(providers) {
|
|
|
21
21
|
}
|
|
22
22
|
return social;
|
|
23
23
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Build the plugin list from Fougere provider config.
|
|
26
|
-
* Currently produces:
|
|
27
|
-
* - `genericOAuth` plugin when `providers.oidc` is set (one entry per declared OIDC provider).
|
|
28
|
-
*/
|
|
24
|
+
/** Build the plugin list from Fougere provider config. */
|
|
29
25
|
export function translatePlugins(providers) {
|
|
30
26
|
const plugins = [];
|
|
31
27
|
if (providers?.oidc) {
|
package/dist/translate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translate.js","sourceRoot":"","sources":["../src/translate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"translate.js","sourceRoot":"","sources":["../src/translate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAgCnD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAE/F,MAAM,UAAU,mBAAmB,CAAC,SAA4B;IAC9D,MAAM,IAAI,GAAG,SAAS,EAAE,UAAU,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACrC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAA4B;IAC1D,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAChD,CAAC;IACD,OAAO,MAA8C,CAAC;AACxD,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,SAA4B;IAC3D,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAClE,UAAU,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;YAC1B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,mCAAmC;YAClF,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;YACrD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fougere/auth-better",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0-alpha.0",
|
|
4
4
|
"description": "Fougere's auth — a translation layer onto better-auth.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fougere",
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@paralleldrive/cuid2": "^3.3.0",
|
|
33
33
|
"better-auth": "^1.6.11",
|
|
34
|
-
"@fougere/core": "0.
|
|
35
|
-
"@fougere/schema": "0.
|
|
34
|
+
"@fougere/core": "0.8.0-alpha.0",
|
|
35
|
+
"@fougere/schema": "0.8.0-alpha.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"vitest": "^4.1.0",
|
|
39
|
-
"@fougere/adapter-sql": "0.
|
|
39
|
+
"@fougere/adapter-sql": "0.8.0-alpha.0"
|
|
40
40
|
},
|
|
41
41
|
"publishConfig": {
|
|
42
42
|
"access": "public"
|
package/src/adapter.ts
CHANGED
|
@@ -8,12 +8,7 @@ import type { Storage } from '@fougere/core';
|
|
|
8
8
|
*/
|
|
9
9
|
export type StorageMap = Map<string, Storage>;
|
|
10
10
|
|
|
11
|
-
/**
|
|
12
|
-
* Where[] supported subset:
|
|
13
|
-
* - All clauses use 'eq' operator
|
|
14
|
-
* - Implicit AND between clauses (no OR connector)
|
|
15
|
-
* Anything else throws — extend Storage or add an engine-level fallback when needed.
|
|
16
|
-
*/
|
|
11
|
+
/** Where[] supported subset. */
|
|
17
12
|
function whereToCriteria(where: readonly CleanedWhere[]): Record<string, unknown> {
|
|
18
13
|
const criteria: Record<string, unknown> = {};
|
|
19
14
|
for (const clause of where) {
|
|
@@ -43,13 +38,7 @@ function storageOf(storageMap: StorageMap, model: string): Storage {
|
|
|
43
38
|
return storage;
|
|
44
39
|
}
|
|
45
40
|
|
|
46
|
-
/**
|
|
47
|
-
* Better-auth adapter that routes every operation through Fougere Storage.
|
|
48
|
-
*
|
|
49
|
-
* This closes the loop: the same `db` resolved by Fougere's bootstrap is the
|
|
50
|
-
* one Storage writes to, and better-auth never touches the storage directly.
|
|
51
|
-
* If Fougere swaps Kysely for another backend, this adapter follows for free.
|
|
52
|
-
*/
|
|
41
|
+
/** Better-auth adapter that routes every operation through Fougere Storage. */
|
|
53
42
|
export function fougereAdapter(storageMap: StorageMap) {
|
|
54
43
|
return createAdapterFactory({
|
|
55
44
|
config: {
|
package/src/entities.ts
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { entity, primary, text, bool, date, created, ref, optional, type SchemaView } from '@fougere/schema';
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
* Default User entity — shipped as a fallback. Apps should declare their own
|
|
5
|
-
* User entity in a frond and pass it via `auth.user` (with extra fields like roles).
|
|
6
|
-
*
|
|
7
|
-
* Field shape matches better-auth's expectations: name/email/emailVerified/image
|
|
8
|
-
* + standard timestamps.
|
|
9
|
-
*/
|
|
3
|
+
/** Default User entity — shipped as a fallback. */
|
|
10
4
|
export class AuthUser extends entity({
|
|
11
5
|
id: primary(),
|
|
12
6
|
name: text(),
|
|
@@ -17,23 +11,7 @@ export class AuthUser extends entity({
|
|
|
17
11
|
updatedAt: created(),
|
|
18
12
|
}) {}
|
|
19
13
|
|
|
20
|
-
/**
|
|
21
|
-
* A `ref()` target is fixed at field-declaration time. Session and Account can't
|
|
22
|
-
* be static classes built once against this package's `AuthUser` — that would
|
|
23
|
-
* leave `userId` pointing at the wrong table whenever an app supplies its own
|
|
24
|
-
* User (`opts.user` in `betterAuth()`). `authEntities(User)` builds them fresh
|
|
25
|
-
* against whichever schema was actually resolved (the app's, or `AuthUser` as
|
|
26
|
-
* fallback), called from `betterAuth()` once `User` is known.
|
|
27
|
-
*
|
|
28
|
-
* `ref()` wants a live class — a construct signature plus `.name`, which
|
|
29
|
-
* `@fougere/adapter-sql`'s FK naming reads off the target — narrower than the
|
|
30
|
-
* `SchemaView` interface (`getFields()` only) this package's public options
|
|
31
|
-
* take, since `opts.user` may be any app's entity and `SchemaView` is the
|
|
32
|
-
* shape-only contract used to stay decoupled from a specific one. Every real
|
|
33
|
-
* entity satisfies both; the cast below only crosses that type-level gap, the
|
|
34
|
-
* same bridge `@fougere/schema` uses internally in `Bundle.toSchemas`
|
|
35
|
-
* (`schema as unknown as EntityConstructor`).
|
|
36
|
-
*/
|
|
14
|
+
/** A `ref()` target is fixed at field-declaration time. */
|
|
37
15
|
type LiveEntity = abstract new (...args: any[]) => unknown;
|
|
38
16
|
|
|
39
17
|
export function authEntities(User: SchemaView): {
|
package/src/index.ts
CHANGED
|
@@ -14,14 +14,7 @@ import {
|
|
|
14
14
|
export { AuthUser, AuthVerification, authEntities } from './entities.js';
|
|
15
15
|
export type { FougereProviders, OIDCProviderConfig } from './translate.js';
|
|
16
16
|
|
|
17
|
-
/**
|
|
18
|
-
* Options accepted by the betterAuth() factory in fougere.config.ts.
|
|
19
|
-
*
|
|
20
|
-
* `user` should come from the app's own frond (roles, extra columns, its own
|
|
21
|
-
* table — Session/Account are built against it, see `authEntities`). Omitting
|
|
22
|
-
* it falls back to the package's `AuthUser`. Other entities default to the
|
|
23
|
-
* shapes shipped by this package and can be overridden too.
|
|
24
|
-
*/
|
|
17
|
+
/** Options accepted by the betterAuth() factory in fougere.config.ts. */
|
|
25
18
|
export interface BetterAuthOptions {
|
|
26
19
|
user?: SchemaView;
|
|
27
20
|
secret: string;
|
|
@@ -35,18 +28,7 @@ export interface BetterAuthOptions {
|
|
|
35
28
|
verification?: SchemaView;
|
|
36
29
|
}
|
|
37
30
|
|
|
38
|
-
/**
|
|
39
|
-
* Factory used in fougere.config.ts:
|
|
40
|
-
*
|
|
41
|
-
* ```ts
|
|
42
|
-
* export default defineFougere({
|
|
43
|
-
* auth: betterAuth({ user: User, secret, providers: {...} }),
|
|
44
|
-
* });
|
|
45
|
-
* ```
|
|
46
|
-
*
|
|
47
|
-
* Returns a lazy AuthConfig — the better-auth engine is only constructed when
|
|
48
|
-
* the core calls `create(ctx)` at boot, with the resolved db + storageFactory.
|
|
49
|
-
*/
|
|
31
|
+
/** Factory used in fougere.config.ts. */
|
|
50
32
|
export function betterAuth(opts: BetterAuthOptions): AuthConfig {
|
|
51
33
|
const userSchema = opts.user ?? AuthUser;
|
|
52
34
|
const { AuthSession, AuthAccount } = authEntities(userSchema);
|
package/src/translate.ts
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import { genericOAuth } from 'better-auth/plugins';
|
|
2
2
|
import type { BetterAuthOptions, BetterAuthPlugin } from 'better-auth';
|
|
3
3
|
|
|
4
|
-
/**
|
|
5
|
-
* Fougere-side provider declaration. Mirrors what users write in fougere.config.ts.
|
|
6
|
-
*
|
|
7
|
-
* - `credential`: email + password (better-auth's emailAndPassword)
|
|
8
|
-
* - Standard OAuth keys (google, github, ...): become socialProviders
|
|
9
|
-
* - `oidc`: dictionary of OIDC providers, become genericOAuth plugin entries
|
|
10
|
-
*/
|
|
4
|
+
/** Fougere-side provider declaration. */
|
|
11
5
|
export interface FougereProviders {
|
|
12
6
|
credential?: {
|
|
13
7
|
minPasswordLength?: number;
|
|
@@ -58,11 +52,7 @@ export function translateSocial(providers?: FougereProviders): BetterAuthOptions
|
|
|
58
52
|
return social as BetterAuthOptions['socialProviders'];
|
|
59
53
|
}
|
|
60
54
|
|
|
61
|
-
/**
|
|
62
|
-
* Build the plugin list from Fougere provider config.
|
|
63
|
-
* Currently produces:
|
|
64
|
-
* - `genericOAuth` plugin when `providers.oidc` is set (one entry per declared OIDC provider).
|
|
65
|
-
*/
|
|
55
|
+
/** Build the plugin list from Fougere provider config. */
|
|
66
56
|
export function translatePlugins(providers?: FougereProviders): BetterAuthPlugin[] {
|
|
67
57
|
const plugins: BetterAuthPlugin[] = [];
|
|
68
58
|
if (providers?.oidc) {
|