clefbase 2.0.3 → 2.0.4
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/auth/index.d.ts +11 -2
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +19 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/cli-src/cli/commands/init.js +446 -9
- package/dist/cli.js +395 -6
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +18 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HttpClient } from "../http";
|
|
2
|
-
import type { AuthUser, AuthResult } from "../types";
|
|
2
|
+
import type { AuthUser, AuthResult, AuthOptions } from "../types";
|
|
3
3
|
export interface GatewaySignInOptions {
|
|
4
4
|
/**
|
|
5
5
|
* Where the gateway should redirect after sign-in.
|
|
@@ -30,7 +30,16 @@ export declare class Auth {
|
|
|
30
30
|
private readonly gatewayUrl;
|
|
31
31
|
private readonly projectId;
|
|
32
32
|
private _modalCleanup;
|
|
33
|
-
|
|
33
|
+
private readonly apiEndpoint;
|
|
34
|
+
private readonly dbId?;
|
|
35
|
+
constructor(http: HttpClient, gatewayUrl: string, projectId: string, options?: AuthOptions);
|
|
36
|
+
/**
|
|
37
|
+
* Get the appropriate endpoint base path for API calls.
|
|
38
|
+
* - "public": /auth/public (for client-side flows)
|
|
39
|
+
* - "external": /auth (for server-side flows with API key)
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
private getEndpointPath;
|
|
34
43
|
private notify;
|
|
35
44
|
private handleResult;
|
|
36
45
|
/** @internal — used by Storage to attach the bearer token to upload requests */
|
package/dist/auth/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/index.js
CHANGED
|
@@ -48,15 +48,33 @@ class SessionStore {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
class Auth {
|
|
51
|
-
constructor(http, gatewayUrl, projectId) {
|
|
51
|
+
constructor(http, gatewayUrl, projectId, options) {
|
|
52
52
|
this.http = http;
|
|
53
53
|
this.store = new SessionStore();
|
|
54
54
|
this.listeners = [];
|
|
55
55
|
this._modalCleanup = null;
|
|
56
56
|
this.gatewayUrl = gatewayUrl.replace(/\/+$/, "");
|
|
57
57
|
this.projectId = projectId;
|
|
58
|
+
this.apiEndpoint = options?.apiEndpoint ?? "external";
|
|
59
|
+
this.dbId = options?.dbId;
|
|
58
60
|
this.store.load();
|
|
59
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Get the appropriate endpoint base path for API calls.
|
|
64
|
+
* - "public": /auth/public (for client-side flows)
|
|
65
|
+
* - "external": /auth (for server-side flows with API key)
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
getEndpointPath(operation) {
|
|
69
|
+
if (this.apiEndpoint === "public") {
|
|
70
|
+
if (!this.dbId) {
|
|
71
|
+
throw new Error(`dbId is required for public routes. Pass it when initializing Auth with apiEndpoint: "public".`);
|
|
72
|
+
}
|
|
73
|
+
// For public routes, append dbId as query param and operation path
|
|
74
|
+
return `/public${operation}?dbId=${encodeURIComponent(this.dbId)}`;
|
|
75
|
+
}
|
|
76
|
+
return operation;
|
|
77
|
+
}
|
|
60
78
|
// ── Internals ─────────────────────────────────────────────────────────────
|
|
61
79
|
notify(user) {
|
|
62
80
|
for (const cb of this.listeners) {
|
package/dist/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":";;;AAEA,oCAAyC;AAUzC,MAAM,YAAY;IAAlB;QACU,YAAO,GAA4B,IAAI,CAAC;QAC/B,QAAG,GAAG,aAAa,CAAC;IAiCvC,CAAC;IA/BC,IAAY,EAAE;QACZ,IAAI,CAAC;YAAC,OAAO,OAAO,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAAC,CAAC;QACzE,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,CAAmB;QACtB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC;YAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QACtD,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;IACtC,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;gBACnD,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;oBAC5C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,OAAO,IAAI,CAAC,OAAO,CAAC;gBACtB,CAAC;gBACD,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC;YAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;CACF;AAgCD,MAAa,IAAI;IAOf,YACmB,IAAgB,EACjC,UAAkB,EAClB,SAAiB;QAFA,SAAI,GAAJ,IAAI,CAAY;QAPlB,UAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QACpC,cAAS,GAAwB,EAAE,CAAC;QAGpC,kBAAa,GAAwB,IAAI,CAAC;QAOhD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAI,SAAS,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,6EAA6E;IAErE,MAAM,CAAC,IAAqB;QAClC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC;gBAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,wCAAwC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,MAAkB;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,KAAK,EAAM,MAAM,CAAC,KAAK;YACvB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;YACnC,IAAI,EAAO,MAAM,CAAC,IAAI;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gFAAgF;IAChF,cAAc;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,CAAC;IAED,6EAA6E;IAE7E,IAAI,WAAW,KAAsB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;IAC9E,IAAI,YAAY,KAAqB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;IAE/E,6EAA6E;IAE7E,KAAK,CAAC,MAAM,CACV,KAAa,EACb,QAAgB,EAChB,OAAyF;QAEzF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAa,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAa,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,UAA6B,EAAE;QACxC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,qBAAa,CAAC,8CAA8C,EAAE,yBAAyB,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,EAAE,IAAI,GAAG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAEtE,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxC,MAAM,SAAS,GAAI,WAAW,IAAI,UAAU,CAAC;QAE7C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,OAAO,EAAG,IAAI,CAAC,SAAS;YACxB,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAK,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,UAAU,UAAU,MAAM,EAAE,CAAC;QAErD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,2EAA2E;QAE3E,qBAAqB;QACrB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9C,KAAK,CAAC,EAAE,GAAG,kBAAkB,CAAC;YAC9B,KAAK,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BnB,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,iBAAiB;QACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,GAAG,kBAAkB,CAAC;QAEhC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,GAAG,eAAe,CAAC;QAE1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,QAAQ,CAAC,EAAE,GAAG,gBAAgB,CAAC;QAC/B,QAAQ,CAAC,SAAS,GAAG,UAAU,CAAC;QAChC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC;QAC7B,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC;QACrB,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;QAEzD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnC,sBAAsB;QACtB,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAExC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC;YAC5C,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,KAAK,EAAE,CAAe,EAAE,EAAE;YAC/C,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,eAAe,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,cAAc;gBAAE,OAAO;YAElF,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,IAAyC,CAAC;YAC7E,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,OAAO,EAAE,CAAC;YAEV,mEAAmE;YACnE,sEAAsE;YACtE,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAChE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE;oBAChG,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;iBAC9C,CAAC,CAAC;gBACH,MAAM,IAAI,GAAa,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAc,CAAC,CAAC,CAAC,OAAO,CAAC;gBACvE,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChF,MAAM,MAAM,GAAe,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;gBAC1E,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC1B,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,wDAAwD;gBACxD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChF,MAAM,MAAM,GAAe,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;gBACnF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC1B,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,OAAO,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAAC,OAAO,EAAE,CAAC;gBAAC,SAAS,EAAE,EAAE,CAAC;YAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAEnD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,qDAAqD;IACrD,WAAW;QACT,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;IACzB,CAAC;IAED,6EAA6E;IAE7E;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CACrB,QAAkB,EAClB,OAA8B;QAE9B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,qBAAa,CAAC,qDAAqD,EAAE,yBAAyB,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QACvF,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,WAAW,MAAM,EAAE,CAAC;QAC7D,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,wBAAwB;QACtB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,qBAAqB;QACzB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QAE/C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,YAAY;QACZ,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC7B,MAAM,CAAC,OAAO,CAAC,YAAY,CACzB,EAAE,EACF,EAAE,EACF,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACnE,CAAC;QAEF,8DAA8D;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,MAAM,GAAG,GAAI,MAAM,KAAK,CACtB,GAAG,SAAS,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EACxE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,EAAE,CAClD,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAc,CAAC;YAC1C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAChF,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,qBAAa,CACrB,4BAA6B,GAAa,CAAC,OAAO,EAAE,EACpD,wBAAwB,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6EAA6E;IAE7E,KAAK,CAAC,OAAO;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;YACpF,CAAC;YAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;YACxF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,OAAO;gBAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAInB;QACC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAW,KAAK,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;QACnG,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,OAAO;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,eAAuB,EAAE,WAAmB;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;IACnH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,KAAa;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,UAAkB,EAAE,WAAmB;QAChE,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,kBAAkB,CAAC,QAA2B;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC;YAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1D,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;CACF;AAnWD,oBAmWC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":";;;AAEA,oCAAyC;AAUzC,MAAM,YAAY;IAAlB;QACU,YAAO,GAA4B,IAAI,CAAC;QAC/B,QAAG,GAAG,aAAa,CAAC;IAiCvC,CAAC;IA/BC,IAAY,EAAE;QACZ,IAAI,CAAC;YAAC,OAAO,OAAO,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAAC,CAAC;QACzE,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,CAAmB;QACtB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC;YAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QACtD,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;IACtC,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;gBACnD,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;oBAC5C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;oBACtB,OAAO,IAAI,CAAC,OAAO,CAAC;gBACtB,CAAC;gBACD,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC;YAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;CACF;AAgCD,MAAa,IAAI;IASf,YACmB,IAAgB,EACjC,UAAkB,EAClB,SAAiB,EACjB,OAAqB;QAHJ,SAAI,GAAJ,IAAI,CAAY;QATlB,UAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QACpC,cAAS,GAAwB,EAAE,CAAC;QAGpC,kBAAa,GAAwB,IAAI,CAAC;QAUhD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAI,SAAS,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,UAAU,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,SAAiB;QACvC,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;YACJ,CAAC;YACD,mEAAmE;YACnE,OAAO,UAAU,SAAS,SAAS,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,6EAA6E;IAErE,MAAM,CAAC,IAAqB;QAClC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC;gBAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,wCAAwC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,MAAkB;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACd,KAAK,EAAM,MAAM,CAAC,KAAK;YACvB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;YACnC,IAAI,EAAO,MAAM,CAAC,IAAI;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gFAAgF;IAChF,cAAc;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,CAAC;IAED,6EAA6E;IAE7E,IAAI,WAAW,KAAsB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;IAC9E,IAAI,YAAY,KAAqB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;IAE/E,6EAA6E;IAE7E,KAAK,CAAC,MAAM,CACV,KAAa,EACb,QAAgB,EAChB,OAAyF;QAEzF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAa,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,QAAgB;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAa,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,UAA6B,EAAE;QACxC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,qBAAa,CAAC,8CAA8C,EAAE,yBAAyB,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,EAAE,IAAI,GAAG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAEtE,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxC,MAAM,SAAS,GAAI,WAAW,IAAI,UAAU,CAAC;QAE7C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,OAAO,EAAG,IAAI,CAAC,SAAS;YACxB,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAK,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,UAAU,UAAU,MAAM,EAAE,CAAC;QAErD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,2EAA2E;QAE3E,qBAAqB;QACrB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9C,KAAK,CAAC,EAAE,GAAG,kBAAkB,CAAC;YAC9B,KAAK,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BnB,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,iBAAiB;QACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,GAAG,kBAAkB,CAAC;QAEhC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,GAAG,eAAe,CAAC;QAE1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,QAAQ,CAAC,EAAE,GAAG,gBAAgB,CAAC;QAC/B,QAAQ,CAAC,SAAS,GAAG,UAAU,CAAC;QAChC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC;QAC7B,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC;QACrB,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;QAEzD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnC,sBAAsB;QACtB,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAExC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC;YAC5C,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,KAAK,EAAE,CAAe,EAAE,EAAE;YAC/C,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,eAAe,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,cAAc;gBAAE,OAAO;YAElF,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,IAAyC,CAAC;YAC7E,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,OAAO,EAAE,CAAC;YAEV,mEAAmE;YACnE,sEAAsE;YACtE,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAChE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE;oBAChG,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;iBAC9C,CAAC,CAAC;gBACH,MAAM,IAAI,GAAa,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAc,CAAC,CAAC,CAAC,OAAO,CAAC;gBACvE,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChF,MAAM,MAAM,GAAe,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;gBAC1E,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC1B,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,wDAAwD;gBACxD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChF,MAAM,MAAM,GAAe,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;gBACnF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC1B,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,OAAO,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAAC,OAAO,EAAE,CAAC;gBAAC,SAAS,EAAE,EAAE,CAAC;YAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAEnD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,qDAAqD;IACrD,WAAW;QACT,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;IACzB,CAAC;IAED,6EAA6E;IAE7E;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CACrB,QAAkB,EAClB,OAA8B;QAE9B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,qBAAa,CAAC,qDAAqD,EAAE,yBAAyB,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QACvF,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,WAAW,MAAM,EAAE,CAAC;QAC7D,OAAO,IAAI,OAAO,CAAQ,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,wBAAwB;QACtB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,qBAAqB;QACzB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QAE/C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,YAAY;QACZ,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC7B,MAAM,CAAC,OAAO,CAAC,YAAY,CACzB,EAAE,EACF,EAAE,EACF,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACnE,CAAC;QAEF,8DAA8D;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,MAAM,GAAG,GAAI,MAAM,KAAK,CACtB,GAAG,SAAS,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EACxE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,EAAE,CAClD,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAc,CAAC;YAC1C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAChF,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,qBAAa,CACrB,4BAA6B,GAAa,CAAC,OAAO,EAAE,EACpD,wBAAwB,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6EAA6E;IAE7E,KAAK,CAAC,OAAO;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;YACpF,CAAC;YAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;YACxF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,OAAO;gBAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAInB;QACC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAW,KAAK,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;QACnG,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,OAAO;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,eAAuB,EAAE,WAAmB;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;IACnH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,KAAa;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,UAAkB,EAAE,WAAmB;QAChE,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,kBAAkB,CAAC,QAA2B;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC;YAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1D,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;CACF;AA3XD,oBA2XC"}
|
|
@@ -85,21 +85,31 @@ async function runInit(cwd = process.cwd()) {
|
|
|
85
85
|
hosting: services.includes("hosting"),
|
|
86
86
|
functions: services.includes("functions"),
|
|
87
87
|
};
|
|
88
|
-
// ── Step 4:
|
|
88
|
+
// ── Step 4: Auth setup ────────────────────────────────────────────────────
|
|
89
|
+
let authSetup;
|
|
90
|
+
if (cfg.services.auth) {
|
|
91
|
+
authSetup = await setupAuth(cwd);
|
|
92
|
+
}
|
|
93
|
+
// ── Step 5: Hosting setup ─────────────────────────────────────────────────
|
|
89
94
|
if (cfg.services.hosting) {
|
|
90
95
|
await setupHosting(cfg, cwd);
|
|
91
96
|
}
|
|
92
|
-
// ── Step
|
|
97
|
+
// ── Step 6: Functions setup ───────────────────────────────────────────────
|
|
93
98
|
let functionsRuntime;
|
|
94
99
|
if (cfg.services.functions) {
|
|
95
100
|
functionsRuntime = await setupFunctions(cfg, cwd);
|
|
96
101
|
}
|
|
97
|
-
// ── Step
|
|
102
|
+
// ── Step 7: Write root config files ──────────────────────────────────────
|
|
98
103
|
const configPath = (0, config_1.saveConfig)(cfg, cwd);
|
|
99
104
|
(0, config_1.ensureGitignore)(cwd);
|
|
100
105
|
(0, config_1.writeEnvExample)(cfg, cwd);
|
|
101
|
-
// ── Step
|
|
106
|
+
// ── Step 8: Scaffold src/lib ──────────────────────────────────────────────
|
|
102
107
|
const libResult = scaffoldLib(cfg, cwd);
|
|
108
|
+
// ── Step 9: Scaffold auth files ──────────────────────────────────────────
|
|
109
|
+
let authResult;
|
|
110
|
+
if (cfg.services.auth && authSetup) {
|
|
111
|
+
authResult = await scaffoldAuth(cwd, authSetup);
|
|
112
|
+
}
|
|
103
113
|
// ── Done ──────────────────────────────────────────────────────────────────
|
|
104
114
|
console.log();
|
|
105
115
|
console.log(chalk_1.default.green.bold(" ✓ Project initialised!"));
|
|
@@ -111,12 +121,172 @@ async function runInit(cwd = process.cwd()) {
|
|
|
111
121
|
console.log(chalk_1.default.dim(` Lib config: ${libResult.configCopy}`));
|
|
112
122
|
console.log(chalk_1.default.dim(` Lib entry: ${libResult.libFile}`));
|
|
113
123
|
}
|
|
124
|
+
if (authResult?.hasAuth) {
|
|
125
|
+
if (authResult.context)
|
|
126
|
+
console.log(chalk_1.default.dim(` Auth context: ${authResult.context}`));
|
|
127
|
+
if (authResult.modal)
|
|
128
|
+
console.log(chalk_1.default.dim(` Auth modal: ${authResult.modal}`));
|
|
129
|
+
if (authResult.protected)
|
|
130
|
+
console.log(chalk_1.default.dim(` Protected: ${authResult.protected}`));
|
|
131
|
+
}
|
|
114
132
|
if (cfg.services.functions) {
|
|
115
133
|
console.log(chalk_1.default.dim(` Functions: functions/ (${functionsRuntime ?? "node"})`));
|
|
116
134
|
console.log(chalk_1.default.dim(` run: node functions/deploy.mjs`));
|
|
117
135
|
}
|
|
118
136
|
console.log();
|
|
119
|
-
printUsageHint(cfg);
|
|
137
|
+
printUsageHint(cfg, authSetup);
|
|
138
|
+
}
|
|
139
|
+
// ─── Auth scaffolding ────────────────────────────────────────────────────────
|
|
140
|
+
/**
|
|
141
|
+
* Interactively scaffold auth files (AuthContext, AuthModal, etc.).
|
|
142
|
+
*/
|
|
143
|
+
async function setupAuth(cwd) {
|
|
144
|
+
console.log();
|
|
145
|
+
console.log(chalk_1.default.bold(" Auth Setup"));
|
|
146
|
+
console.log();
|
|
147
|
+
const { scaffoldContext } = await inquirer_1.default.prompt([{
|
|
148
|
+
type: "confirm",
|
|
149
|
+
name: "scaffoldContext",
|
|
150
|
+
message: "Scaffold React AuthContext?",
|
|
151
|
+
default: true,
|
|
152
|
+
}]);
|
|
153
|
+
const { scaffoldModal } = await inquirer_1.default.prompt([{
|
|
154
|
+
type: "confirm",
|
|
155
|
+
name: "scaffoldModal",
|
|
156
|
+
message: "Scaffold AuthModal component?",
|
|
157
|
+
default: true,
|
|
158
|
+
}]);
|
|
159
|
+
const { updateApp } = await inquirer_1.default.prompt([{
|
|
160
|
+
type: "confirm",
|
|
161
|
+
name: "updateApp",
|
|
162
|
+
message: "Update App.tsx to use AuthProvider?",
|
|
163
|
+
default: false,
|
|
164
|
+
}]);
|
|
165
|
+
return { scaffoldContext, scaffoldModal, updateApp };
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Get the path to a template file within the clefbase CLI package.
|
|
169
|
+
*/
|
|
170
|
+
function getTemplatePath(filename) {
|
|
171
|
+
// In compiled dist, __dirname will be dist-src/cli/commands
|
|
172
|
+
// We want to resolve to src/cli/templates/ in source
|
|
173
|
+
// Or in dist, it would be at ../templates/
|
|
174
|
+
let dir = __dirname;
|
|
175
|
+
// Check if we're in dist (compiled)
|
|
176
|
+
if (dir.includes("/dist-src/")) {
|
|
177
|
+
return path_1.default.join(dir, "../templates", filename);
|
|
178
|
+
}
|
|
179
|
+
// Otherwise we're in source
|
|
180
|
+
return path_1.default.join(dir, "../templates", filename);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Read a template file with fallback to embedded template.
|
|
184
|
+
*/
|
|
185
|
+
function readTemplate(filename, fallback) {
|
|
186
|
+
try {
|
|
187
|
+
const templatePath = getTemplatePath(filename);
|
|
188
|
+
return fs_1.default.readFileSync(templatePath, "utf-8");
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
return fallback;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Scaffold auth-related files (AuthContext, AuthModal, ProtectedRoute).
|
|
196
|
+
*/
|
|
197
|
+
async function scaffoldAuth(cwd, setup) {
|
|
198
|
+
const result = { hasAuth: false };
|
|
199
|
+
// Create context directory
|
|
200
|
+
const contextDir = path_1.default.join(cwd, "src", "context");
|
|
201
|
+
fs_1.default.mkdirSync(contextDir, { recursive: true });
|
|
202
|
+
if (setup.scaffoldContext) {
|
|
203
|
+
const contextFile = path_1.default.join(contextDir, "AuthContext.tsx");
|
|
204
|
+
try {
|
|
205
|
+
const content = readTemplate("AuthContext.tsx.template", AUTH_CONTEXT_FALLBACK);
|
|
206
|
+
fs_1.default.writeFileSync(contextFile, content);
|
|
207
|
+
result.context = path_1.default.relative(cwd, contextFile);
|
|
208
|
+
result.hasAuth = true;
|
|
209
|
+
}
|
|
210
|
+
catch (err) {
|
|
211
|
+
console.warn(chalk_1.default.yellow(` Warning: Could not scaffold AuthContext: ${err.message}`));
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
if (setup.scaffoldModal) {
|
|
215
|
+
const componentDir = path_1.default.join(cwd, "src", "components");
|
|
216
|
+
fs_1.default.mkdirSync(componentDir, { recursive: true });
|
|
217
|
+
const modalFile = path_1.default.join(componentDir, "AuthModal.tsx");
|
|
218
|
+
try {
|
|
219
|
+
const content = readTemplate("AuthModal.tsx.template", AUTH_MODAL_FALLBACK);
|
|
220
|
+
fs_1.default.writeFileSync(modalFile, content);
|
|
221
|
+
result.modal = path_1.default.relative(cwd, modalFile);
|
|
222
|
+
result.hasAuth = true;
|
|
223
|
+
}
|
|
224
|
+
catch (err) {
|
|
225
|
+
console.warn(chalk_1.default.yellow(` Warning: Could not scaffold AuthModal: ${err.message}`));
|
|
226
|
+
}
|
|
227
|
+
// Also scaffold ProtectedRoute
|
|
228
|
+
const protectedFile = path_1.default.join(componentDir, "ProtectedRoute.tsx");
|
|
229
|
+
try {
|
|
230
|
+
const content = readTemplate("ProtectedRoute.tsx.template", PROTECTED_ROUTE_FALLBACK);
|
|
231
|
+
fs_1.default.writeFileSync(protectedFile, content);
|
|
232
|
+
result.protected = path_1.default.relative(cwd, protectedFile);
|
|
233
|
+
}
|
|
234
|
+
catch (err) {
|
|
235
|
+
console.warn(chalk_1.default.yellow(` Warning: Could not scaffold ProtectedRoute: ${err.message}`));
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
// Update App.tsx if it exists and user wants it
|
|
239
|
+
if (setup.updateApp) {
|
|
240
|
+
const appPath = path_1.default.join(cwd, "src", "App.tsx");
|
|
241
|
+
if (fs_1.default.existsSync(appPath)) {
|
|
242
|
+
try {
|
|
243
|
+
updateAppWithAuth(appPath);
|
|
244
|
+
}
|
|
245
|
+
catch (err) {
|
|
246
|
+
console.warn(chalk_1.default.yellow(` Warning: Could not update App.tsx: ${err.message}`));
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
return result;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Update an existing App.tsx to wrap with AuthProvider.
|
|
254
|
+
*/
|
|
255
|
+
function updateAppWithAuth(appPath) {
|
|
256
|
+
let content = fs_1.default.readFileSync(appPath, "utf-8");
|
|
257
|
+
// Check if already has AuthProvider
|
|
258
|
+
if (content.includes("AuthProvider")) {
|
|
259
|
+
return; // Already updated
|
|
260
|
+
}
|
|
261
|
+
// Add import if not present
|
|
262
|
+
if (!content.includes("import { AuthProvider, useAuth }")) {
|
|
263
|
+
const importLine = "import { AuthProvider, useAuth } from '@/context/AuthContext';\n";
|
|
264
|
+
content = importLine + content;
|
|
265
|
+
}
|
|
266
|
+
// Check if this is a functional component that exports a component
|
|
267
|
+
// Look for "export default function" or "export default"
|
|
268
|
+
const exportMatch = content.match(/export\s+default\s+(function\s+\w+\s*\(|const\s+\w+\s*=|\(\)|=>)/);
|
|
269
|
+
if (exportMatch) {
|
|
270
|
+
// Find the return statement and wrap the JSX with AuthProvider
|
|
271
|
+
// This is a simple approach - find the outermost return/JSX in export
|
|
272
|
+
const returnMatch = content.match(/export\s+default\s+(?:function\s+\w+\s*\([^)]*\)\s*\{|\(.*?\)\s*=>\s*)[\s\S]*?return\s+/);
|
|
273
|
+
if (returnMatch) {
|
|
274
|
+
// Insert AuthProvider wrapper
|
|
275
|
+
// This is complex, so we'll do a simpler approach:
|
|
276
|
+
// Just add the import and let users wrap manually
|
|
277
|
+
// Or check if it's a simple functional component
|
|
278
|
+
if (content.includes("return (") || content.includes("return <")) {
|
|
279
|
+
// Try to wrap the main rendered content
|
|
280
|
+
// Find the JSX being returned and wrap it
|
|
281
|
+
const beforeReturn = content.substring(0, content.lastIndexOf("return"));
|
|
282
|
+
const afterReturn = content.substring(content.lastIndexOf("return"));
|
|
283
|
+
const wrappedReturn = afterReturn
|
|
284
|
+
.replace(/return\s+(<[^>]+>[\s\S]*)/m, 'return (\n <AuthProvider>\n $1\n </AuthProvider>\n )');
|
|
285
|
+
content = beforeReturn + wrappedReturn;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
fs_1.default.writeFileSync(appPath, content);
|
|
120
290
|
}
|
|
121
291
|
// ─── Functions scaffolding ────────────────────────────────────────────────────
|
|
122
292
|
/**
|
|
@@ -941,7 +1111,7 @@ function guessDistDir(cwd) {
|
|
|
941
1111
|
}
|
|
942
1112
|
return "dist";
|
|
943
1113
|
}
|
|
944
|
-
function printUsageHint(cfg) {
|
|
1114
|
+
function printUsageHint(cfg, authSetup) {
|
|
945
1115
|
const namedImports = [];
|
|
946
1116
|
if (cfg.services.database)
|
|
947
1117
|
namedImports.push("db");
|
|
@@ -965,9 +1135,23 @@ function printUsageHint(cfg) {
|
|
|
965
1135
|
}
|
|
966
1136
|
if (cfg.services.auth) {
|
|
967
1137
|
console.log();
|
|
968
|
-
console.log(chalk_1.default.
|
|
969
|
-
|
|
970
|
-
|
|
1138
|
+
console.log(chalk_1.default.bold(" Auth:"));
|
|
1139
|
+
if (authSetup?.scaffoldContext) {
|
|
1140
|
+
console.log(chalk_1.default.dim(` ✓ Wrap app with <AuthProvider>`));
|
|
1141
|
+
console.log(chalk_1.default.cyan(` import { AuthProvider, useAuth } from "@/context/AuthContext";`));
|
|
1142
|
+
console.log(chalk_1.default.cyan(` const { user, signIn, signOut } = useAuth();`));
|
|
1143
|
+
}
|
|
1144
|
+
if (authSetup?.scaffoldModal) {
|
|
1145
|
+
console.log(chalk_1.default.cyan(` import AuthModal from "@/components/AuthModal";`));
|
|
1146
|
+
}
|
|
1147
|
+
if (authSetup?.scaffoldContext) {
|
|
1148
|
+
console.log(chalk_1.default.cyan(` import { EmailVerificationCard } from "clefbase/react";`));
|
|
1149
|
+
}
|
|
1150
|
+
if (!authSetup?.scaffoldContext) {
|
|
1151
|
+
console.log(chalk_1.default.cyan(` const { user } = await auth.signIn("email", "pass");`));
|
|
1152
|
+
console.log(chalk_1.default.cyan(` await auth.signInWithGateway("google"); // redirects to auth.cleforyx.com`));
|
|
1153
|
+
console.log(chalk_1.default.cyan(` await auth.handleGatewayCallback(); // call on every page load`));
|
|
1154
|
+
}
|
|
971
1155
|
}
|
|
972
1156
|
if (cfg.services.storage) {
|
|
973
1157
|
console.log();
|
|
@@ -994,3 +1178,256 @@ function printUsageHint(cfg) {
|
|
|
994
1178
|
}
|
|
995
1179
|
console.log();
|
|
996
1180
|
}
|
|
1181
|
+
// ─── Template Fallbacks ──────────────────────────────────────────────────
|
|
1182
|
+
const AUTH_CONTEXT_FALLBACK = `'use client';
|
|
1183
|
+
import React, { createContext, useContext, useEffect, useState } from 'react';
|
|
1184
|
+
import type { AuthUser } from 'clefbase';
|
|
1185
|
+
import { getAuth } from 'clefbase';
|
|
1186
|
+
|
|
1187
|
+
interface AuthContextType {
|
|
1188
|
+
user: AuthUser | null;
|
|
1189
|
+
token: string | null;
|
|
1190
|
+
loading: boolean;
|
|
1191
|
+
error: string | null;
|
|
1192
|
+
isAuthModalOpen: boolean;
|
|
1193
|
+
signIn: (email: string, password: string) => Promise<void>;
|
|
1194
|
+
signUp: (email: string, password: string, profile?: any) => Promise<void>;
|
|
1195
|
+
signOut: () => Promise<void>;
|
|
1196
|
+
updateProfile: (updates: any) => Promise<void>;
|
|
1197
|
+
verifyEmail: (code: string) => Promise<void>;
|
|
1198
|
+
sendPasswordResetEmail: (email: string) => Promise<void>;
|
|
1199
|
+
refreshUser: () => Promise<void>;
|
|
1200
|
+
openAuthModal: () => void;
|
|
1201
|
+
closeAuthModal: () => void;
|
|
1202
|
+
}
|
|
1203
|
+
|
|
1204
|
+
const AuthContext = createContext<AuthContextType | undefined>(undefined);
|
|
1205
|
+
|
|
1206
|
+
export function useAuth(): AuthContextType {
|
|
1207
|
+
const context = useContext(AuthContext);
|
|
1208
|
+
if (!context) throw new Error('useAuth() must be used within <AuthProvider>');
|
|
1209
|
+
return context;
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
export function AuthProvider({ children }: { children: React.ReactNode }) {
|
|
1213
|
+
const [user, setUser] = useState<AuthUser | null>(null);
|
|
1214
|
+
const [token, setToken] = useState<string | null>(null);
|
|
1215
|
+
const [loading, setLoading] = useState(true);
|
|
1216
|
+
const [error, setError] = useState<string | null>(null);
|
|
1217
|
+
const [isAuthModalOpen, setIsAuthModalOpen] = useState(false);
|
|
1218
|
+
const auth = getAuth();
|
|
1219
|
+
|
|
1220
|
+
useEffect(() => {
|
|
1221
|
+
const initAuth = async () => {
|
|
1222
|
+
try {
|
|
1223
|
+
setLoading(true);
|
|
1224
|
+
const currentUser = auth.currentUser;
|
|
1225
|
+
const currentToken = auth.currentToken;
|
|
1226
|
+
setUser(currentUser);
|
|
1227
|
+
setToken(currentToken);
|
|
1228
|
+
const unsubscribe = auth.onAuthStateChanged((newUser) => {
|
|
1229
|
+
setUser(newUser);
|
|
1230
|
+
setToken(newUser ? auth.currentToken : null);
|
|
1231
|
+
});
|
|
1232
|
+
setLoading(false);
|
|
1233
|
+
return () => unsubscribe();
|
|
1234
|
+
} catch (err) {
|
|
1235
|
+
console.error('Auth init error:', err);
|
|
1236
|
+
setLoading(false);
|
|
1237
|
+
}
|
|
1238
|
+
};
|
|
1239
|
+
initAuth();
|
|
1240
|
+
}, [auth]);
|
|
1241
|
+
|
|
1242
|
+
const handleError = (err: unknown): string => {
|
|
1243
|
+
if (err instanceof Error) return err.message;
|
|
1244
|
+
if (typeof err === 'string') return err;
|
|
1245
|
+
return 'Unknown error';
|
|
1246
|
+
};
|
|
1247
|
+
|
|
1248
|
+
const signIn = async (email: string, password: string) => {
|
|
1249
|
+
try {
|
|
1250
|
+
setError(null);
|
|
1251
|
+
setLoading(true);
|
|
1252
|
+
await auth.signIn(email, password);
|
|
1253
|
+
} catch (err) {
|
|
1254
|
+
const message = handleError(err);
|
|
1255
|
+
setError(message);
|
|
1256
|
+
throw err;
|
|
1257
|
+
} finally {
|
|
1258
|
+
setLoading(false);
|
|
1259
|
+
}
|
|
1260
|
+
};
|
|
1261
|
+
|
|
1262
|
+
const signUp = async (email: string, password: string, profile?: any) => {
|
|
1263
|
+
try {
|
|
1264
|
+
setError(null);
|
|
1265
|
+
setLoading(true);
|
|
1266
|
+
await auth.signUp(email, password, profile);
|
|
1267
|
+
} catch (err) {
|
|
1268
|
+
const message = handleError(err);
|
|
1269
|
+
setError(message);
|
|
1270
|
+
throw err;
|
|
1271
|
+
} finally {
|
|
1272
|
+
setLoading(false);
|
|
1273
|
+
}
|
|
1274
|
+
};
|
|
1275
|
+
|
|
1276
|
+
const signOut = async () => {
|
|
1277
|
+
try {
|
|
1278
|
+
setError(null);
|
|
1279
|
+
setLoading(true);
|
|
1280
|
+
await auth.signOut();
|
|
1281
|
+
setUser(null);
|
|
1282
|
+
setToken(null);
|
|
1283
|
+
} catch (err) {
|
|
1284
|
+
const message = handleError(err);
|
|
1285
|
+
setError(message);
|
|
1286
|
+
throw err;
|
|
1287
|
+
} finally {
|
|
1288
|
+
setLoading(false);
|
|
1289
|
+
}
|
|
1290
|
+
};
|
|
1291
|
+
|
|
1292
|
+
const updateProfile = async (updates: any) => {
|
|
1293
|
+
try {
|
|
1294
|
+
setError(null);
|
|
1295
|
+
setLoading(true);
|
|
1296
|
+
await auth.updateProfile(updates);
|
|
1297
|
+
} catch (err) {
|
|
1298
|
+
const message = handleError(err);
|
|
1299
|
+
setError(message);
|
|
1300
|
+
throw err;
|
|
1301
|
+
} finally {
|
|
1302
|
+
setLoading(false);
|
|
1303
|
+
}
|
|
1304
|
+
};
|
|
1305
|
+
|
|
1306
|
+
const verifyEmail = async (code: string) => {
|
|
1307
|
+
try {
|
|
1308
|
+
setError(null);
|
|
1309
|
+
setLoading(true);
|
|
1310
|
+
const result = await auth.verifyEmail(code);
|
|
1311
|
+
setUser(result);
|
|
1312
|
+
} catch (err) {
|
|
1313
|
+
const message = handleError(err);
|
|
1314
|
+
setError(message);
|
|
1315
|
+
throw err;
|
|
1316
|
+
} finally {
|
|
1317
|
+
setLoading(false);
|
|
1318
|
+
}
|
|
1319
|
+
};
|
|
1320
|
+
|
|
1321
|
+
const sendPasswordResetEmail = async (email: string) => {
|
|
1322
|
+
try {
|
|
1323
|
+
setError(null);
|
|
1324
|
+
setLoading(true);
|
|
1325
|
+
await auth.sendPasswordResetEmail(email);
|
|
1326
|
+
} catch (err) {
|
|
1327
|
+
const message = handleError(err);
|
|
1328
|
+
setError(message);
|
|
1329
|
+
throw err;
|
|
1330
|
+
} finally {
|
|
1331
|
+
setLoading(false);
|
|
1332
|
+
}
|
|
1333
|
+
};
|
|
1334
|
+
|
|
1335
|
+
const refreshUser = async () => {
|
|
1336
|
+
try {
|
|
1337
|
+
setError(null);
|
|
1338
|
+
const updated = await auth.refreshCurrentUser();
|
|
1339
|
+
if (updated) setUser(updated);
|
|
1340
|
+
} catch (err) {
|
|
1341
|
+
const message = handleError(err);
|
|
1342
|
+
setError(message);
|
|
1343
|
+
throw err;
|
|
1344
|
+
}
|
|
1345
|
+
};
|
|
1346
|
+
|
|
1347
|
+
const openAuthModal = () => setIsAuthModalOpen(true);
|
|
1348
|
+
const closeAuthModal = () => setIsAuthModalOpen(false);
|
|
1349
|
+
|
|
1350
|
+
const value: AuthContextType = {
|
|
1351
|
+
user, token, loading, error, isAuthModalOpen,
|
|
1352
|
+
signIn, signUp, signOut, updateProfile, verifyEmail,
|
|
1353
|
+
sendPasswordResetEmail, refreshUser, openAuthModal, closeAuthModal,
|
|
1354
|
+
};
|
|
1355
|
+
|
|
1356
|
+
return (
|
|
1357
|
+
<AuthContext.Provider value={value}>
|
|
1358
|
+
{!loading && children}
|
|
1359
|
+
</AuthContext.Provider>
|
|
1360
|
+
);
|
|
1361
|
+
}`;
|
|
1362
|
+
const AUTH_MODAL_FALLBACK = `'use client';
|
|
1363
|
+
import React, { useEffect, CSSProperties } from 'react';
|
|
1364
|
+
import { useAuth } from './AuthContext';
|
|
1365
|
+
|
|
1366
|
+
export default function AuthModal({ isOpen, onClose, overlayStyle, cardStyle, showCloseButton = true, backdropDismiss = true }: any) {
|
|
1367
|
+
const { closeAuthModal } = useAuth();
|
|
1368
|
+
const projectId = typeof window !== 'undefined' && (window as any).__CLEFORYX_PROJECT_ID;
|
|
1369
|
+
|
|
1370
|
+
useEffect(() => {
|
|
1371
|
+
if (!isOpen) return;
|
|
1372
|
+
const handleMessage = (e: MessageEvent) => {
|
|
1373
|
+
if (e.data?.source === 'cleforyx-auth' && e.data?.type === 'auth_success') {
|
|
1374
|
+
closeAuthModal();
|
|
1375
|
+
onClose();
|
|
1376
|
+
}
|
|
1377
|
+
};
|
|
1378
|
+
window.addEventListener('message', handleMessage);
|
|
1379
|
+
return () => window.removeEventListener('message', handleMessage);
|
|
1380
|
+
}, [isOpen, closeAuthModal, onClose]);
|
|
1381
|
+
|
|
1382
|
+
if (!isOpen) return null;
|
|
1383
|
+
|
|
1384
|
+
const currentUrl = typeof window !== 'undefined' ? window.location.origin : '';
|
|
1385
|
+
const iframeUrl = \`https://auth.cleforyx.com/login?project=\${projectId}&redirect=\${encodeURIComponent(currentUrl)}&embed=popup\`;
|
|
1386
|
+
|
|
1387
|
+
const defaultOverlayStyle: CSSProperties = {
|
|
1388
|
+
position: 'fixed', inset: 0, backgroundColor: 'rgba(15, 23, 42, 0.6)',
|
|
1389
|
+
display: 'flex', alignItems: 'center', justifyContent: 'center',
|
|
1390
|
+
zIndex: 9999, backdropFilter: 'blur(4px)', padding: '16px', boxSizing: 'border-box',
|
|
1391
|
+
};
|
|
1392
|
+
|
|
1393
|
+
const defaultCardStyle: CSSProperties = {
|
|
1394
|
+
backgroundColor: 'white', borderRadius: '20px',
|
|
1395
|
+
boxShadow: '0 24px 64px rgba(0, 0, 0, 0.2)',
|
|
1396
|
+
overflow: 'hidden', width: '100%', maxWidth: '460px', position: 'relative',
|
|
1397
|
+
};
|
|
1398
|
+
|
|
1399
|
+
const handleBackdropClick = (e: React.MouseEvent) => {
|
|
1400
|
+
if (backdropDismiss && e.target === e.currentTarget) onClose();
|
|
1401
|
+
};
|
|
1402
|
+
|
|
1403
|
+
return (
|
|
1404
|
+
<div style={{ ...defaultOverlayStyle, ...overlayStyle }} onClick={handleBackdropClick}>
|
|
1405
|
+
<div style={{ ...defaultCardStyle, ...cardStyle }}>
|
|
1406
|
+
{showCloseButton && (
|
|
1407
|
+
<button style={{ position: 'absolute', top: '14px', right: '16px', background: 'rgba(0,0,0,0.06)', border: 'none', width: '28px', height: '28px', borderRadius: '50%', cursor: 'pointer', zIndex: 1 }} onClick={onClose} aria-label="Close">✕</button>
|
|
1408
|
+
)}
|
|
1409
|
+
<iframe src={iframeUrl} style={{ width: '100%', height: '560px', border: 'none', display: 'block' }} title="Sign in" allow="identity-credentials-get" />
|
|
1410
|
+
</div>
|
|
1411
|
+
</div>
|
|
1412
|
+
);
|
|
1413
|
+
}`;
|
|
1414
|
+
const PROTECTED_ROUTE_FALLBACK = `'use client';
|
|
1415
|
+
import React from 'react';
|
|
1416
|
+
import { useAuth } from './AuthContext';
|
|
1417
|
+
|
|
1418
|
+
export function ProtectedRoute({ children, LoadingComponent, onUnauthorized }: any) {
|
|
1419
|
+
const { user, loading, openAuthModal } = useAuth();
|
|
1420
|
+
|
|
1421
|
+
if (loading) {
|
|
1422
|
+
if (LoadingComponent) return <LoadingComponent />;
|
|
1423
|
+
return <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', height: '100vh' }}>Loading...</div>;
|
|
1424
|
+
}
|
|
1425
|
+
|
|
1426
|
+
if (!user) {
|
|
1427
|
+
onUnauthorized?.();
|
|
1428
|
+
openAuthModal();
|
|
1429
|
+
return null;
|
|
1430
|
+
}
|
|
1431
|
+
|
|
1432
|
+
return <>{children}</>;
|
|
1433
|
+
}`;
|
package/dist/cli.js
CHANGED
|
@@ -33932,6 +33932,10 @@ async function runInit(cwd = process.cwd()) {
|
|
|
33932
33932
|
hosting: services.includes("hosting"),
|
|
33933
33933
|
functions: services.includes("functions")
|
|
33934
33934
|
};
|
|
33935
|
+
let authSetup;
|
|
33936
|
+
if (cfg.services.auth) {
|
|
33937
|
+
authSetup = await setupAuth(cwd);
|
|
33938
|
+
}
|
|
33935
33939
|
if (cfg.services.hosting) {
|
|
33936
33940
|
await setupHosting(cfg, cwd);
|
|
33937
33941
|
}
|
|
@@ -33943,6 +33947,10 @@ async function runInit(cwd = process.cwd()) {
|
|
|
33943
33947
|
ensureGitignore(cwd);
|
|
33944
33948
|
writeEnvExample(cfg, cwd);
|
|
33945
33949
|
const libResult = scaffoldLib(cfg, cwd);
|
|
33950
|
+
let authResult;
|
|
33951
|
+
if (cfg.services.auth && authSetup) {
|
|
33952
|
+
authResult = await scaffoldAuth(cwd, authSetup);
|
|
33953
|
+
}
|
|
33946
33954
|
console.log();
|
|
33947
33955
|
console.log(source_default.green.bold(" \u2713 Project initialised!"));
|
|
33948
33956
|
console.log();
|
|
@@ -33953,12 +33961,127 @@ async function runInit(cwd = process.cwd()) {
|
|
|
33953
33961
|
console.log(source_default.dim(` Lib config: ${libResult.configCopy}`));
|
|
33954
33962
|
console.log(source_default.dim(` Lib entry: ${libResult.libFile}`));
|
|
33955
33963
|
}
|
|
33964
|
+
if (authResult == null ? void 0 : authResult.hasAuth) {
|
|
33965
|
+
if (authResult.context) console.log(source_default.dim(` Auth context: ${authResult.context}`));
|
|
33966
|
+
if (authResult.modal) console.log(source_default.dim(` Auth modal: ${authResult.modal}`));
|
|
33967
|
+
if (authResult.protected) console.log(source_default.dim(` Protected: ${authResult.protected}`));
|
|
33968
|
+
}
|
|
33956
33969
|
if (cfg.services.functions) {
|
|
33957
33970
|
console.log(source_default.dim(` Functions: functions/ (${functionsRuntime ?? "node"})`));
|
|
33958
33971
|
console.log(source_default.dim(` run: node functions/deploy.mjs`));
|
|
33959
33972
|
}
|
|
33960
33973
|
console.log();
|
|
33961
|
-
printUsageHint(cfg);
|
|
33974
|
+
printUsageHint(cfg, authSetup);
|
|
33975
|
+
}
|
|
33976
|
+
async function setupAuth(cwd) {
|
|
33977
|
+
console.log();
|
|
33978
|
+
console.log(source_default.bold(" Auth Setup"));
|
|
33979
|
+
console.log();
|
|
33980
|
+
const { scaffoldContext } = await lib_default.prompt([{
|
|
33981
|
+
type: "confirm",
|
|
33982
|
+
name: "scaffoldContext",
|
|
33983
|
+
message: "Scaffold React AuthContext?",
|
|
33984
|
+
default: true
|
|
33985
|
+
}]);
|
|
33986
|
+
const { scaffoldModal } = await lib_default.prompt([{
|
|
33987
|
+
type: "confirm",
|
|
33988
|
+
name: "scaffoldModal",
|
|
33989
|
+
message: "Scaffold AuthModal component?",
|
|
33990
|
+
default: true
|
|
33991
|
+
}]);
|
|
33992
|
+
const { updateApp } = await lib_default.prompt([{
|
|
33993
|
+
type: "confirm",
|
|
33994
|
+
name: "updateApp",
|
|
33995
|
+
message: "Update App.tsx to use AuthProvider?",
|
|
33996
|
+
default: false
|
|
33997
|
+
}]);
|
|
33998
|
+
return { scaffoldContext, scaffoldModal, updateApp };
|
|
33999
|
+
}
|
|
34000
|
+
function getTemplatePath(filename) {
|
|
34001
|
+
let dir = __dirname;
|
|
34002
|
+
if (dir.includes("/dist-src/")) {
|
|
34003
|
+
return import_path2.default.join(dir, "../templates", filename);
|
|
34004
|
+
}
|
|
34005
|
+
return import_path2.default.join(dir, "../templates", filename);
|
|
34006
|
+
}
|
|
34007
|
+
function readTemplate(filename, fallback2) {
|
|
34008
|
+
try {
|
|
34009
|
+
const templatePath = getTemplatePath(filename);
|
|
34010
|
+
return import_fs3.default.readFileSync(templatePath, "utf-8");
|
|
34011
|
+
} catch {
|
|
34012
|
+
return fallback2;
|
|
34013
|
+
}
|
|
34014
|
+
}
|
|
34015
|
+
async function scaffoldAuth(cwd, setup) {
|
|
34016
|
+
const result = { hasAuth: false };
|
|
34017
|
+
const contextDir = import_path2.default.join(cwd, "src", "context");
|
|
34018
|
+
import_fs3.default.mkdirSync(contextDir, { recursive: true });
|
|
34019
|
+
if (setup.scaffoldContext) {
|
|
34020
|
+
const contextFile = import_path2.default.join(contextDir, "AuthContext.tsx");
|
|
34021
|
+
try {
|
|
34022
|
+
const content = readTemplate("AuthContext.tsx.template", AUTH_CONTEXT_FALLBACK);
|
|
34023
|
+
import_fs3.default.writeFileSync(contextFile, content);
|
|
34024
|
+
result.context = import_path2.default.relative(cwd, contextFile);
|
|
34025
|
+
result.hasAuth = true;
|
|
34026
|
+
} catch (err) {
|
|
34027
|
+
console.warn(source_default.yellow(` Warning: Could not scaffold AuthContext: ${err.message}`));
|
|
34028
|
+
}
|
|
34029
|
+
}
|
|
34030
|
+
if (setup.scaffoldModal) {
|
|
34031
|
+
const componentDir = import_path2.default.join(cwd, "src", "components");
|
|
34032
|
+
import_fs3.default.mkdirSync(componentDir, { recursive: true });
|
|
34033
|
+
const modalFile = import_path2.default.join(componentDir, "AuthModal.tsx");
|
|
34034
|
+
try {
|
|
34035
|
+
const content = readTemplate("AuthModal.tsx.template", AUTH_MODAL_FALLBACK);
|
|
34036
|
+
import_fs3.default.writeFileSync(modalFile, content);
|
|
34037
|
+
result.modal = import_path2.default.relative(cwd, modalFile);
|
|
34038
|
+
result.hasAuth = true;
|
|
34039
|
+
} catch (err) {
|
|
34040
|
+
console.warn(source_default.yellow(` Warning: Could not scaffold AuthModal: ${err.message}`));
|
|
34041
|
+
}
|
|
34042
|
+
const protectedFile = import_path2.default.join(componentDir, "ProtectedRoute.tsx");
|
|
34043
|
+
try {
|
|
34044
|
+
const content = readTemplate("ProtectedRoute.tsx.template", PROTECTED_ROUTE_FALLBACK);
|
|
34045
|
+
import_fs3.default.writeFileSync(protectedFile, content);
|
|
34046
|
+
result.protected = import_path2.default.relative(cwd, protectedFile);
|
|
34047
|
+
} catch (err) {
|
|
34048
|
+
console.warn(source_default.yellow(` Warning: Could not scaffold ProtectedRoute: ${err.message}`));
|
|
34049
|
+
}
|
|
34050
|
+
}
|
|
34051
|
+
if (setup.updateApp) {
|
|
34052
|
+
const appPath = import_path2.default.join(cwd, "src", "App.tsx");
|
|
34053
|
+
if (import_fs3.default.existsSync(appPath)) {
|
|
34054
|
+
try {
|
|
34055
|
+
updateAppWithAuth(appPath);
|
|
34056
|
+
} catch (err) {
|
|
34057
|
+
console.warn(source_default.yellow(` Warning: Could not update App.tsx: ${err.message}`));
|
|
34058
|
+
}
|
|
34059
|
+
}
|
|
34060
|
+
}
|
|
34061
|
+
return result;
|
|
34062
|
+
}
|
|
34063
|
+
function updateAppWithAuth(appPath) {
|
|
34064
|
+
let content = import_fs3.default.readFileSync(appPath, "utf-8");
|
|
34065
|
+
if (content.includes("AuthProvider")) {
|
|
34066
|
+
return;
|
|
34067
|
+
}
|
|
34068
|
+
if (!content.includes("import { AuthProvider, useAuth }")) {
|
|
34069
|
+
const importLine = "import { AuthProvider, useAuth } from '@/context/AuthContext';\n";
|
|
34070
|
+
content = importLine + content;
|
|
34071
|
+
}
|
|
34072
|
+
const exportMatch = content.match(/export\s+default\s+(function\s+\w+\s*\(|const\s+\w+\s*=|\(\)|=>)/);
|
|
34073
|
+
if (exportMatch) {
|
|
34074
|
+
const returnMatch = content.match(/export\s+default\s+(?:function\s+\w+\s*\([^)]*\)\s*\{|\(.*?\)\s*=>\s*)[\s\S]*?return\s+/);
|
|
34075
|
+
if (returnMatch) {
|
|
34076
|
+
if (content.includes("return (") || content.includes("return <")) {
|
|
34077
|
+
const beforeReturn = content.substring(0, content.lastIndexOf("return"));
|
|
34078
|
+
const afterReturn = content.substring(content.lastIndexOf("return"));
|
|
34079
|
+
const wrappedReturn = afterReturn.replace(/return\s+(<[^>]+>[\s\S]*)/m, "return (\n <AuthProvider>\n $1\n </AuthProvider>\n )");
|
|
34080
|
+
content = beforeReturn + wrappedReturn;
|
|
34081
|
+
}
|
|
34082
|
+
}
|
|
34083
|
+
}
|
|
34084
|
+
import_fs3.default.writeFileSync(appPath, content);
|
|
33962
34085
|
}
|
|
33963
34086
|
async function setupFunctions(cfg, cwd) {
|
|
33964
34087
|
console.log();
|
|
@@ -34749,7 +34872,7 @@ function guessDistDir(cwd) {
|
|
|
34749
34872
|
}
|
|
34750
34873
|
return "dist";
|
|
34751
34874
|
}
|
|
34752
|
-
function printUsageHint(cfg) {
|
|
34875
|
+
function printUsageHint(cfg, authSetup) {
|
|
34753
34876
|
const namedImports = [];
|
|
34754
34877
|
if (cfg.services.database) namedImports.push("db");
|
|
34755
34878
|
if (cfg.services.auth) namedImports.push("auth");
|
|
@@ -34768,9 +34891,23 @@ function printUsageHint(cfg) {
|
|
|
34768
34891
|
}
|
|
34769
34892
|
if (cfg.services.auth) {
|
|
34770
34893
|
console.log();
|
|
34771
|
-
console.log(source_default.
|
|
34772
|
-
|
|
34773
|
-
|
|
34894
|
+
console.log(source_default.bold(" Auth:"));
|
|
34895
|
+
if (authSetup == null ? void 0 : authSetup.scaffoldContext) {
|
|
34896
|
+
console.log(source_default.dim(` \u2713 Wrap app with <AuthProvider>`));
|
|
34897
|
+
console.log(source_default.cyan(` import { AuthProvider, useAuth } from "@/context/AuthContext";`));
|
|
34898
|
+
console.log(source_default.cyan(` const { user, signIn, signOut } = useAuth();`));
|
|
34899
|
+
}
|
|
34900
|
+
if (authSetup == null ? void 0 : authSetup.scaffoldModal) {
|
|
34901
|
+
console.log(source_default.cyan(` import AuthModal from "@/components/AuthModal";`));
|
|
34902
|
+
}
|
|
34903
|
+
if (authSetup == null ? void 0 : authSetup.scaffoldContext) {
|
|
34904
|
+
console.log(source_default.cyan(` import { EmailVerificationCard } from "clefbase/react";`));
|
|
34905
|
+
}
|
|
34906
|
+
if (!(authSetup == null ? void 0 : authSetup.scaffoldContext)) {
|
|
34907
|
+
console.log(source_default.cyan(` const { user } = await auth.signIn("email", "pass");`));
|
|
34908
|
+
console.log(source_default.cyan(` await auth.signInWithGateway("google"); // redirects to auth.cleforyx.com`));
|
|
34909
|
+
console.log(source_default.cyan(` await auth.handleGatewayCallback(); // call on every page load`));
|
|
34910
|
+
}
|
|
34774
34911
|
}
|
|
34775
34912
|
if (cfg.services.storage) {
|
|
34776
34913
|
console.log();
|
|
@@ -34797,6 +34934,258 @@ function printUsageHint(cfg) {
|
|
|
34797
34934
|
}
|
|
34798
34935
|
console.log();
|
|
34799
34936
|
}
|
|
34937
|
+
var AUTH_CONTEXT_FALLBACK = `'use client';
|
|
34938
|
+
import React, { createContext, useContext, useEffect, useState } from 'react';
|
|
34939
|
+
import type { AuthUser } from 'clefbase';
|
|
34940
|
+
import { getAuth } from 'clefbase';
|
|
34941
|
+
|
|
34942
|
+
interface AuthContextType {
|
|
34943
|
+
user: AuthUser | null;
|
|
34944
|
+
token: string | null;
|
|
34945
|
+
loading: boolean;
|
|
34946
|
+
error: string | null;
|
|
34947
|
+
isAuthModalOpen: boolean;
|
|
34948
|
+
signIn: (email: string, password: string) => Promise<void>;
|
|
34949
|
+
signUp: (email: string, password: string, profile?: any) => Promise<void>;
|
|
34950
|
+
signOut: () => Promise<void>;
|
|
34951
|
+
updateProfile: (updates: any) => Promise<void>;
|
|
34952
|
+
verifyEmail: (code: string) => Promise<void>;
|
|
34953
|
+
sendPasswordResetEmail: (email: string) => Promise<void>;
|
|
34954
|
+
refreshUser: () => Promise<void>;
|
|
34955
|
+
openAuthModal: () => void;
|
|
34956
|
+
closeAuthModal: () => void;
|
|
34957
|
+
}
|
|
34958
|
+
|
|
34959
|
+
const AuthContext = createContext<AuthContextType | undefined>(undefined);
|
|
34960
|
+
|
|
34961
|
+
export function useAuth(): AuthContextType {
|
|
34962
|
+
const context = useContext(AuthContext);
|
|
34963
|
+
if (!context) throw new Error('useAuth() must be used within <AuthProvider>');
|
|
34964
|
+
return context;
|
|
34965
|
+
}
|
|
34966
|
+
|
|
34967
|
+
export function AuthProvider({ children }: { children: React.ReactNode }) {
|
|
34968
|
+
const [user, setUser] = useState<AuthUser | null>(null);
|
|
34969
|
+
const [token, setToken] = useState<string | null>(null);
|
|
34970
|
+
const [loading, setLoading] = useState(true);
|
|
34971
|
+
const [error, setError] = useState<string | null>(null);
|
|
34972
|
+
const [isAuthModalOpen, setIsAuthModalOpen] = useState(false);
|
|
34973
|
+
const auth = getAuth();
|
|
34974
|
+
|
|
34975
|
+
useEffect(() => {
|
|
34976
|
+
const initAuth = async () => {
|
|
34977
|
+
try {
|
|
34978
|
+
setLoading(true);
|
|
34979
|
+
const currentUser = auth.currentUser;
|
|
34980
|
+
const currentToken = auth.currentToken;
|
|
34981
|
+
setUser(currentUser);
|
|
34982
|
+
setToken(currentToken);
|
|
34983
|
+
const unsubscribe = auth.onAuthStateChanged((newUser) => {
|
|
34984
|
+
setUser(newUser);
|
|
34985
|
+
setToken(newUser ? auth.currentToken : null);
|
|
34986
|
+
});
|
|
34987
|
+
setLoading(false);
|
|
34988
|
+
return () => unsubscribe();
|
|
34989
|
+
} catch (err) {
|
|
34990
|
+
console.error('Auth init error:', err);
|
|
34991
|
+
setLoading(false);
|
|
34992
|
+
}
|
|
34993
|
+
};
|
|
34994
|
+
initAuth();
|
|
34995
|
+
}, [auth]);
|
|
34996
|
+
|
|
34997
|
+
const handleError = (err: unknown): string => {
|
|
34998
|
+
if (err instanceof Error) return err.message;
|
|
34999
|
+
if (typeof err === 'string') return err;
|
|
35000
|
+
return 'Unknown error';
|
|
35001
|
+
};
|
|
35002
|
+
|
|
35003
|
+
const signIn = async (email: string, password: string) => {
|
|
35004
|
+
try {
|
|
35005
|
+
setError(null);
|
|
35006
|
+
setLoading(true);
|
|
35007
|
+
await auth.signIn(email, password);
|
|
35008
|
+
} catch (err) {
|
|
35009
|
+
const message = handleError(err);
|
|
35010
|
+
setError(message);
|
|
35011
|
+
throw err;
|
|
35012
|
+
} finally {
|
|
35013
|
+
setLoading(false);
|
|
35014
|
+
}
|
|
35015
|
+
};
|
|
35016
|
+
|
|
35017
|
+
const signUp = async (email: string, password: string, profile?: any) => {
|
|
35018
|
+
try {
|
|
35019
|
+
setError(null);
|
|
35020
|
+
setLoading(true);
|
|
35021
|
+
await auth.signUp(email, password, profile);
|
|
35022
|
+
} catch (err) {
|
|
35023
|
+
const message = handleError(err);
|
|
35024
|
+
setError(message);
|
|
35025
|
+
throw err;
|
|
35026
|
+
} finally {
|
|
35027
|
+
setLoading(false);
|
|
35028
|
+
}
|
|
35029
|
+
};
|
|
35030
|
+
|
|
35031
|
+
const signOut = async () => {
|
|
35032
|
+
try {
|
|
35033
|
+
setError(null);
|
|
35034
|
+
setLoading(true);
|
|
35035
|
+
await auth.signOut();
|
|
35036
|
+
setUser(null);
|
|
35037
|
+
setToken(null);
|
|
35038
|
+
} catch (err) {
|
|
35039
|
+
const message = handleError(err);
|
|
35040
|
+
setError(message);
|
|
35041
|
+
throw err;
|
|
35042
|
+
} finally {
|
|
35043
|
+
setLoading(false);
|
|
35044
|
+
}
|
|
35045
|
+
};
|
|
35046
|
+
|
|
35047
|
+
const updateProfile = async (updates: any) => {
|
|
35048
|
+
try {
|
|
35049
|
+
setError(null);
|
|
35050
|
+
setLoading(true);
|
|
35051
|
+
await auth.updateProfile(updates);
|
|
35052
|
+
} catch (err) {
|
|
35053
|
+
const message = handleError(err);
|
|
35054
|
+
setError(message);
|
|
35055
|
+
throw err;
|
|
35056
|
+
} finally {
|
|
35057
|
+
setLoading(false);
|
|
35058
|
+
}
|
|
35059
|
+
};
|
|
35060
|
+
|
|
35061
|
+
const verifyEmail = async (code: string) => {
|
|
35062
|
+
try {
|
|
35063
|
+
setError(null);
|
|
35064
|
+
setLoading(true);
|
|
35065
|
+
const result = await auth.verifyEmail(code);
|
|
35066
|
+
setUser(result);
|
|
35067
|
+
} catch (err) {
|
|
35068
|
+
const message = handleError(err);
|
|
35069
|
+
setError(message);
|
|
35070
|
+
throw err;
|
|
35071
|
+
} finally {
|
|
35072
|
+
setLoading(false);
|
|
35073
|
+
}
|
|
35074
|
+
};
|
|
35075
|
+
|
|
35076
|
+
const sendPasswordResetEmail = async (email: string) => {
|
|
35077
|
+
try {
|
|
35078
|
+
setError(null);
|
|
35079
|
+
setLoading(true);
|
|
35080
|
+
await auth.sendPasswordResetEmail(email);
|
|
35081
|
+
} catch (err) {
|
|
35082
|
+
const message = handleError(err);
|
|
35083
|
+
setError(message);
|
|
35084
|
+
throw err;
|
|
35085
|
+
} finally {
|
|
35086
|
+
setLoading(false);
|
|
35087
|
+
}
|
|
35088
|
+
};
|
|
35089
|
+
|
|
35090
|
+
const refreshUser = async () => {
|
|
35091
|
+
try {
|
|
35092
|
+
setError(null);
|
|
35093
|
+
const updated = await auth.refreshCurrentUser();
|
|
35094
|
+
if (updated) setUser(updated);
|
|
35095
|
+
} catch (err) {
|
|
35096
|
+
const message = handleError(err);
|
|
35097
|
+
setError(message);
|
|
35098
|
+
throw err;
|
|
35099
|
+
}
|
|
35100
|
+
};
|
|
35101
|
+
|
|
35102
|
+
const openAuthModal = () => setIsAuthModalOpen(true);
|
|
35103
|
+
const closeAuthModal = () => setIsAuthModalOpen(false);
|
|
35104
|
+
|
|
35105
|
+
const value: AuthContextType = {
|
|
35106
|
+
user, token, loading, error, isAuthModalOpen,
|
|
35107
|
+
signIn, signUp, signOut, updateProfile, verifyEmail,
|
|
35108
|
+
sendPasswordResetEmail, refreshUser, openAuthModal, closeAuthModal,
|
|
35109
|
+
};
|
|
35110
|
+
|
|
35111
|
+
return (
|
|
35112
|
+
<AuthContext.Provider value={value}>
|
|
35113
|
+
{!loading && children}
|
|
35114
|
+
</AuthContext.Provider>
|
|
35115
|
+
);
|
|
35116
|
+
}`;
|
|
35117
|
+
var AUTH_MODAL_FALLBACK = `'use client';
|
|
35118
|
+
import React, { useEffect, CSSProperties } from 'react';
|
|
35119
|
+
import { useAuth } from './AuthContext';
|
|
35120
|
+
|
|
35121
|
+
export default function AuthModal({ isOpen, onClose, overlayStyle, cardStyle, showCloseButton = true, backdropDismiss = true }: any) {
|
|
35122
|
+
const { closeAuthModal } = useAuth();
|
|
35123
|
+
const projectId = typeof window !== 'undefined' && (window as any).__CLEFORYX_PROJECT_ID;
|
|
35124
|
+
|
|
35125
|
+
useEffect(() => {
|
|
35126
|
+
if (!isOpen) return;
|
|
35127
|
+
const handleMessage = (e: MessageEvent) => {
|
|
35128
|
+
if (e.data?.source === 'cleforyx-auth' && e.data?.type === 'auth_success') {
|
|
35129
|
+
closeAuthModal();
|
|
35130
|
+
onClose();
|
|
35131
|
+
}
|
|
35132
|
+
};
|
|
35133
|
+
window.addEventListener('message', handleMessage);
|
|
35134
|
+
return () => window.removeEventListener('message', handleMessage);
|
|
35135
|
+
}, [isOpen, closeAuthModal, onClose]);
|
|
35136
|
+
|
|
35137
|
+
if (!isOpen) return null;
|
|
35138
|
+
|
|
35139
|
+
const currentUrl = typeof window !== 'undefined' ? window.location.origin : '';
|
|
35140
|
+
const iframeUrl = \`https://auth.cleforyx.com/login?project=\${projectId}&redirect=\${encodeURIComponent(currentUrl)}&embed=popup\`;
|
|
35141
|
+
|
|
35142
|
+
const defaultOverlayStyle: CSSProperties = {
|
|
35143
|
+
position: 'fixed', inset: 0, backgroundColor: 'rgba(15, 23, 42, 0.6)',
|
|
35144
|
+
display: 'flex', alignItems: 'center', justifyContent: 'center',
|
|
35145
|
+
zIndex: 9999, backdropFilter: 'blur(4px)', padding: '16px', boxSizing: 'border-box',
|
|
35146
|
+
};
|
|
35147
|
+
|
|
35148
|
+
const defaultCardStyle: CSSProperties = {
|
|
35149
|
+
backgroundColor: 'white', borderRadius: '20px',
|
|
35150
|
+
boxShadow: '0 24px 64px rgba(0, 0, 0, 0.2)',
|
|
35151
|
+
overflow: 'hidden', width: '100%', maxWidth: '460px', position: 'relative',
|
|
35152
|
+
};
|
|
35153
|
+
|
|
35154
|
+
const handleBackdropClick = (e: React.MouseEvent) => {
|
|
35155
|
+
if (backdropDismiss && e.target === e.currentTarget) onClose();
|
|
35156
|
+
};
|
|
35157
|
+
|
|
35158
|
+
return (
|
|
35159
|
+
<div style={{ ...defaultOverlayStyle, ...overlayStyle }} onClick={handleBackdropClick}>
|
|
35160
|
+
<div style={{ ...defaultCardStyle, ...cardStyle }}>
|
|
35161
|
+
{showCloseButton && (
|
|
35162
|
+
<button style={{ position: 'absolute', top: '14px', right: '16px', background: 'rgba(0,0,0,0.06)', border: 'none', width: '28px', height: '28px', borderRadius: '50%', cursor: 'pointer', zIndex: 1 }} onClick={onClose} aria-label="Close">\u2715</button>
|
|
35163
|
+
)}
|
|
35164
|
+
<iframe src={iframeUrl} style={{ width: '100%', height: '560px', border: 'none', display: 'block' }} title="Sign in" allow="identity-credentials-get" />
|
|
35165
|
+
</div>
|
|
35166
|
+
</div>
|
|
35167
|
+
);
|
|
35168
|
+
}`;
|
|
35169
|
+
var PROTECTED_ROUTE_FALLBACK = `'use client';
|
|
35170
|
+
import React from 'react';
|
|
35171
|
+
import { useAuth } from './AuthContext';
|
|
35172
|
+
|
|
35173
|
+
export function ProtectedRoute({ children, LoadingComponent, onUnauthorized }: any) {
|
|
35174
|
+
const { user, loading, openAuthModal } = useAuth();
|
|
35175
|
+
|
|
35176
|
+
if (loading) {
|
|
35177
|
+
if (LoadingComponent) return <LoadingComponent />;
|
|
35178
|
+
return <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', height: '100vh' }}>Loading...</div>;
|
|
35179
|
+
}
|
|
35180
|
+
|
|
35181
|
+
if (!user) {
|
|
35182
|
+
onUnauthorized?.();
|
|
35183
|
+
openAuthModal();
|
|
35184
|
+
return null;
|
|
35185
|
+
}
|
|
35186
|
+
|
|
35187
|
+
return <>{children}</>;
|
|
35188
|
+
}`;
|
|
34800
35189
|
|
|
34801
35190
|
// src/cli/commands/deploy.ts
|
|
34802
35191
|
var import_path3 = __toESM(require("path"));
|
|
@@ -35549,7 +35938,7 @@ async function promptRequired(message) {
|
|
|
35549
35938
|
}
|
|
35550
35939
|
|
|
35551
35940
|
// package.json
|
|
35552
|
-
var version = "2.0.
|
|
35941
|
+
var version = "2.0.4";
|
|
35553
35942
|
|
|
35554
35943
|
// src/cli/index.ts
|
|
35555
35944
|
var program2 = new Command();
|
package/dist/index.d.ts
CHANGED
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
export { ClefbaseApp, initClefbase, getApp, getDatabase, getAuth, getStorage, getHosting, getFunctions, getAI, } from "./app";
|
|
49
49
|
export { Database, CollectionReference, CollectionGroup, DocumentReference, Query, WriteBatch, Transaction, runTransaction, } from "./db";
|
|
50
50
|
export { Auth } from "./auth";
|
|
51
|
-
export type { GatewaySignInOptions } from "./auth";
|
|
51
|
+
export type { GatewaySignInOptions, OpenAuthUIOptions } from "./auth";
|
|
52
52
|
export { ClefbaseStorage, StorageReference, BucketReference } from "./storage";
|
|
53
53
|
export type { StorageFile } from "./storage";
|
|
54
54
|
export type { StorageImageStatus } from "./react/StorageImage";
|
|
@@ -61,6 +61,6 @@ export { ClefbaseAI, AIError, generateText, generateImage, generateVideo, genera
|
|
|
61
61
|
export type { AIModel, AIProvider, AIModelCategory, GenerateTextOptions, GenerateTextResult, GenerateImageOptions, GenerateImageResult, GeneratedMediaFile, GenerateVideoOptions, GenerateVideoResult, GenerateEmbeddingOptions, GenerateEmbeddingResult, AIUsageRecord, AIUsageStats, } from "./ai";
|
|
62
62
|
export { FieldValue, FieldValueSentinel } from "./field_value";
|
|
63
63
|
export type { FieldValueType } from "./field_value";
|
|
64
|
-
export type { ClefbaseConfig, ClefbaseDocument, QueryOptions, QueryResult, FilterOperator, WhereClause, WhereValue, AuthUser, AuthSession, AuthResult, } from "./types";
|
|
64
|
+
export type { ClefbaseConfig, ClefbaseDocument, QueryOptions, QueryResult, FilterOperator, WhereClause, WhereValue, AuthUser, AuthSession, AuthResult, AuthOptions, } from "./types";
|
|
65
65
|
export { ClefbaseError } from "./types";
|
|
66
66
|
//# 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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAGH,OAAO,EACL,WAAW,EACX,YAAY,EACZ,MAAM,EACN,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,EACV,YAAY,EACZ,KAAK,GACN,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,KAAK,EACL,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAGH,OAAO,EACL,WAAW,EACX,YAAY,EACZ,MAAM,EACN,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,EACV,YAAY,EACZ,KAAK,GACN,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,KAAK,EACL,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAGtE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,cAAc,EACd,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,OAAO,EACP,YAAY,EACZ,aAAa,EACb,aAAa,EACb,iBAAiB,GAClB,MAAM,MAAM,CAAC;AAEd,YAAY,EACV,OAAO,EACP,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,YAAY,GACb,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,UAAU,EACV,QAAQ,EACR,WAAW,EACX,UAAU,EACV,WAAW,GACZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;;;AAEH,iFAAiF;AACjF,6BAUe;AATb,kGAAA,WAAW,OAAA;AACX,mGAAA,YAAY,OAAA;AACZ,6FAAA,MAAM,OAAA;AACN,kGAAA,WAAW,OAAA;AACX,8FAAA,OAAO,OAAA;AACP,iGAAA,UAAU,OAAA;AACV,iGAAA,UAAU,OAAA;AACV,mGAAA,YAAY,OAAA;AACZ,4FAAA,KAAK,OAAA;AAGP,iFAAiF;AACjF,2BASc;AARZ,8FAAA,QAAQ,OAAA;AACR,yGAAA,mBAAmB,OAAA;AACnB,qGAAA,eAAe,OAAA;AACf,uGAAA,iBAAiB,OAAA;AACjB,2FAAA,KAAK,OAAA;AACL,gGAAA,UAAU,OAAA;AACV,iGAAA,WAAW,OAAA;AACX,oGAAA,cAAc,OAAA;AAGhB,iFAAiF;AACjF,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAGb,iFAAiF;AACjF,qCAA+E;AAAtE,0GAAA,eAAe,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAM3D,iFAAiF;AACjF,uEAAsE;AAA7D,8HAAA,qBAAqB,OAAA;AAE9B,iFAAiF;AACjF,qCAA2D;AAAlD,0GAAA,eAAe,OAAA;AAAE,wGAAA,aAAa,OAAA;AAWvC,iFAAiF;AACjF,yCAWqB;AAVnB,8GAAA,iBAAiB,OAAA;AACjB,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,yGAAA,YAAY,OAAA;AACZ,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,kHAAA,qBAAqB,OAAA;AACrB,yGAAA,YAAY,OAAA;AACZ,2GAAA,cAAc,OAAA;AAehB,iFAAiF;AACjF,2BAOc;AANZ,gGAAA,UAAU,OAAA;AACV,6FAAA,OAAO,OAAA;AACP,kGAAA,YAAY,OAAA;AACZ,mGAAA,aAAa,OAAA;AACb,mGAAA,aAAa,OAAA;AACb,uGAAA,iBAAiB,OAAA;AAoBnB,iFAAiF;AACjF,6CAA+D;AAAtD,yGAAA,UAAU,OAAA;AAAE,iHAAA,kBAAkB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;;;AAEH,iFAAiF;AACjF,6BAUe;AATb,kGAAA,WAAW,OAAA;AACX,mGAAA,YAAY,OAAA;AACZ,6FAAA,MAAM,OAAA;AACN,kGAAA,WAAW,OAAA;AACX,8FAAA,OAAO,OAAA;AACP,iGAAA,UAAU,OAAA;AACV,iGAAA,UAAU,OAAA;AACV,mGAAA,YAAY,OAAA;AACZ,4FAAA,KAAK,OAAA;AAGP,iFAAiF;AACjF,2BASc;AARZ,8FAAA,QAAQ,OAAA;AACR,yGAAA,mBAAmB,OAAA;AACnB,qGAAA,eAAe,OAAA;AACf,uGAAA,iBAAiB,OAAA;AACjB,2FAAA,KAAK,OAAA;AACL,gGAAA,UAAU,OAAA;AACV,iGAAA,WAAW,OAAA;AACX,oGAAA,cAAc,OAAA;AAGhB,iFAAiF;AACjF,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAGb,iFAAiF;AACjF,qCAA+E;AAAtE,0GAAA,eAAe,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAM3D,iFAAiF;AACjF,uEAAsE;AAA7D,8HAAA,qBAAqB,OAAA;AAE9B,iFAAiF;AACjF,qCAA2D;AAAlD,0GAAA,eAAe,OAAA;AAAE,wGAAA,aAAa,OAAA;AAWvC,iFAAiF;AACjF,yCAWqB;AAVnB,8GAAA,iBAAiB,OAAA;AACjB,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,yGAAA,YAAY,OAAA;AACZ,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,kHAAA,qBAAqB,OAAA;AACrB,yGAAA,YAAY,OAAA;AACZ,2GAAA,cAAc,OAAA;AAehB,iFAAiF;AACjF,2BAOc;AANZ,gGAAA,UAAU,OAAA;AACV,6FAAA,OAAO,OAAA;AACP,kGAAA,YAAY,OAAA;AACZ,mGAAA,aAAa,OAAA;AACb,mGAAA,aAAa,OAAA;AACb,uGAAA,iBAAiB,OAAA;AAoBnB,iFAAiF;AACjF,6CAA+D;AAAtD,yGAAA,UAAU,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAkBvC,iCAAwC;AAA/B,sGAAA,aAAa,OAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -68,6 +68,24 @@ export interface AuthResult {
|
|
|
68
68
|
/** Shorthand for session.token */
|
|
69
69
|
token: string;
|
|
70
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Configuration options for the Auth service.
|
|
73
|
+
* Supports both public routes (client-side) and external routes (server-side).
|
|
74
|
+
*/
|
|
75
|
+
export interface AuthOptions {
|
|
76
|
+
/**
|
|
77
|
+
* Route pattern to use: "public" or "external"
|
|
78
|
+
* - "public": For client-side flows (iframe, redirect), requires dbId, uses bearer token
|
|
79
|
+
* - "external": For server/admin flows, uses x-cfx-key header (default for backward compatibility)
|
|
80
|
+
* @default "external"
|
|
81
|
+
*/
|
|
82
|
+
apiEndpoint?: "public" | "external";
|
|
83
|
+
/**
|
|
84
|
+
* Database ID (required for public routes, optional for external).
|
|
85
|
+
* The server uses this to route to the correct auth database.
|
|
86
|
+
*/
|
|
87
|
+
dbId?: string;
|
|
88
|
+
}
|
|
71
89
|
/**
|
|
72
90
|
* Options for rendering a Google-branded sign-in button.
|
|
73
91
|
* Pass to `auth.signInWithGoogle()` to show a button instead of One Tap.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,iFAAiF;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,iFAAiF;;;AA0RjF,iFAAiF;AAEjF,MAAa,aAAc,SAAQ,KAAK;IACtC,YACE,OAAe,EACC,IAAa,EACb,MAAe;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAS;QACb,WAAM,GAAN,MAAM,CAAS;QAG/B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;CACF;AAZD,sCAYC"}
|