@convex-dev/better-auth 0.9.11 → 0.10.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/auth-config.d.ts +43 -0
- package/dist/auth-config.d.ts.map +1 -0
- package/dist/auth-config.js +45 -0
- package/dist/auth-config.js.map +1 -0
- package/dist/auth-options.d.ts +3 -0
- package/dist/auth-options.d.ts.map +1 -0
- package/dist/auth-options.js +41 -0
- package/dist/auth-options.js.map +1 -0
- package/dist/auth.d.ts +1 -3
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +2 -42
- package/dist/auth.js.map +1 -1
- package/dist/client/{adapterUtils.d.ts → adapter-utils.d.ts} +15 -15
- package/dist/client/adapter-utils.d.ts.map +1 -0
- package/dist/client/{adapterUtils.js → adapter-utils.js} +1 -1
- package/dist/client/adapter-utils.js.map +1 -0
- package/dist/client/adapter.d.ts +1 -2
- package/dist/client/adapter.d.ts.map +1 -1
- package/dist/client/adapter.js +4 -4
- package/dist/client/adapter.js.map +1 -1
- package/dist/client/create-api.d.ts +139 -0
- package/dist/client/create-api.d.ts.map +1 -0
- package/dist/client/create-api.js +204 -0
- package/dist/client/create-api.js.map +1 -0
- package/dist/client/create-client.d.ts +183 -0
- package/dist/client/create-client.d.ts.map +1 -0
- package/dist/client/create-client.js +311 -0
- package/dist/client/create-client.js.map +1 -0
- package/dist/client/{createSchema.d.ts → create-schema.d.ts} +1 -1
- package/dist/client/create-schema.d.ts.map +1 -0
- package/dist/client/{createSchema.js → create-schema.js} +11 -5
- package/dist/client/create-schema.js.map +1 -0
- package/dist/client/index.d.ts +4 -279
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +6 -463
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/component.d.ts +0 -3
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/adapter.d.ts +19 -21
- package/dist/component/adapter.d.ts.map +1 -1
- package/dist/component/adapter.js +2 -2
- package/dist/component/adapter.js.map +1 -1
- package/dist/component/schema.d.ts +50 -50
- package/dist/nextjs/client.d.ts +4 -0
- package/dist/nextjs/client.d.ts.map +1 -0
- package/dist/nextjs/client.js +37 -0
- package/dist/nextjs/client.js.map +1 -0
- package/dist/nextjs/index.d.ts +19 -7
- package/dist/nextjs/index.d.ts.map +1 -1
- package/dist/nextjs/index.js +90 -36
- package/dist/nextjs/index.js.map +1 -1
- package/dist/plugins/convex/client.d.ts +1 -1
- package/dist/plugins/convex/client.d.ts.map +1 -1
- package/dist/plugins/convex/client.js +0 -1
- package/dist/plugins/convex/client.js.map +1 -1
- package/dist/plugins/convex/index.d.ts +239 -227
- package/dist/plugins/convex/index.d.ts.map +1 -1
- package/dist/plugins/convex/index.js +191 -37
- package/dist/plugins/convex/index.js.map +1 -1
- package/dist/plugins/cross-domain/client.d.ts +3 -3
- package/dist/plugins/cross-domain/client.d.ts.map +1 -1
- package/dist/plugins/cross-domain/index.d.ts +15 -70
- package/dist/plugins/cross-domain/index.d.ts.map +1 -1
- package/dist/plugins/cross-domain/index.js +8 -0
- package/dist/plugins/cross-domain/index.js.map +1 -1
- package/dist/react/index.d.ts +52 -2
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +133 -9
- package/dist/react/index.js.map +1 -1
- package/dist/react-start/index.d.ts +11 -41
- package/dist/react-start/index.d.ts.map +1 -1
- package/dist/react-start/index.js +82 -106
- package/dist/react-start/index.js.map +1 -1
- package/dist/utils/index.d.ts +20 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +54 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +19 -12
- package/src/auth-config.ts +82 -0
- package/src/auth-options.ts +54 -0
- package/src/auth.ts +3 -56
- package/src/client/adapter.ts +5 -5
- package/src/client/create-api.ts +337 -0
- package/src/client/create-client.ts +446 -0
- package/src/client/{createSchema.ts → create-schema.ts} +10 -4
- package/src/client/index.ts +22 -771
- package/src/component/_generated/component.ts +0 -7
- package/src/component/adapter.ts +2 -3
- package/src/nextjs/client.tsx +52 -0
- package/src/nextjs/index.ts +138 -45
- package/src/plugins/convex/client.ts +1 -1
- package/src/plugins/convex/index.ts +337 -51
- package/src/plugins/cross-domain/index.ts +10 -2
- package/src/react/index.tsx +195 -9
- package/src/react-start/index.ts +126 -171
- package/src/test.ts +1 -1
- package/src/utils/index.ts +96 -1
- package/dist/client/adapterUtils.d.ts.map +0 -1
- package/dist/client/adapterUtils.js.map +0 -1
- package/dist/client/createSchema.d.ts.map +0 -1
- package/dist/client/createSchema.js.map +0 -1
- /package/src/client/{adapterUtils.ts → adapter-utils.ts} +0 -0
package/dist/nextjs/index.js
CHANGED
|
@@ -1,45 +1,99 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
if (!
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
: `__Secure-${insecureCookieName}`;
|
|
19
|
-
const secureCookie = cookieStore.get(secureCookieName);
|
|
20
|
-
if (isSecure && insecureCookie) {
|
|
21
|
-
console.warn(`Looking for secure cookie ${cookie.name} but found insecure cookie ${insecureCookie.name}`);
|
|
22
|
-
}
|
|
23
|
-
if (!isSecure && secureCookie) {
|
|
24
|
-
console.warn(`Looking for insecure cookie ${cookie.name} but found secure cookie ${secureCookie.name}`);
|
|
25
|
-
}
|
|
1
|
+
import { stripIndent } from "common-tags";
|
|
2
|
+
import { fetchAction, fetchMutation, fetchQuery, preloadQuery, } from "convex/nextjs";
|
|
3
|
+
import {} from "convex/server";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { getToken } from "../utils/index.js";
|
|
6
|
+
// Caching supported for React 19+ only
|
|
7
|
+
const cache = React.cache ||
|
|
8
|
+
((fn) => {
|
|
9
|
+
return (...args) => fn(...args);
|
|
10
|
+
});
|
|
11
|
+
const parseConvexSiteUrl = (url) => {
|
|
12
|
+
if (!url) {
|
|
13
|
+
throw new Error(stripIndent `
|
|
14
|
+
CONVEX_SITE_URL is not set.
|
|
15
|
+
This is automatically set in the Convex backend, but must be set in the Next.js environment.
|
|
16
|
+
For local development, this can be set in the .env.local file.
|
|
17
|
+
`);
|
|
26
18
|
}
|
|
27
|
-
|
|
19
|
+
if (url.endsWith(".convex.cloud")) {
|
|
20
|
+
throw new Error(stripIndent `
|
|
21
|
+
CONVEX_SITE_URL should be set to your Convex Site URL, which ends in .convex.site.
|
|
22
|
+
Currently set to ${url}.
|
|
23
|
+
`);
|
|
24
|
+
}
|
|
25
|
+
return url;
|
|
28
26
|
};
|
|
29
|
-
const handler = (request,
|
|
27
|
+
const handler = (request, siteUrl) => {
|
|
30
28
|
const requestUrl = new URL(request.url);
|
|
31
|
-
const
|
|
32
|
-
if (!convexSiteUrl) {
|
|
33
|
-
throw new Error("NEXT_PUBLIC_CONVEX_SITE_URL is not set");
|
|
34
|
-
}
|
|
35
|
-
const nextUrl = `${convexSiteUrl}${requestUrl.pathname}${requestUrl.search}`;
|
|
29
|
+
const nextUrl = `${siteUrl}${requestUrl.pathname}${requestUrl.search}`;
|
|
36
30
|
const newRequest = new Request(nextUrl, request);
|
|
37
31
|
newRequest.headers.set("accept-encoding", "application/json");
|
|
38
|
-
newRequest.headers.set("host",
|
|
32
|
+
newRequest.headers.set("host", siteUrl);
|
|
39
33
|
return fetch(newRequest, { method: request.method, redirect: "manual" });
|
|
40
34
|
};
|
|
41
|
-
|
|
42
|
-
GET: (request) => handler(request,
|
|
43
|
-
POST: (request) => handler(request,
|
|
35
|
+
const nextJsHandler = (siteUrl) => ({
|
|
36
|
+
GET: (request) => handler(request, siteUrl),
|
|
37
|
+
POST: (request) => handler(request, siteUrl),
|
|
44
38
|
});
|
|
39
|
+
const getArgsAndOptions = (args, token) => {
|
|
40
|
+
return [args[0], { token }];
|
|
41
|
+
};
|
|
42
|
+
export const convexBetterAuthNextJs = (opts) => {
|
|
43
|
+
const siteUrl = parseConvexSiteUrl(opts.convexSiteUrl);
|
|
44
|
+
const cachedGetToken = cache(async ({ forceRefresh } = {}) => {
|
|
45
|
+
const headers = await (await import("next/headers.js")).headers();
|
|
46
|
+
return getToken(siteUrl, headers, { ...opts, forceRefresh });
|
|
47
|
+
});
|
|
48
|
+
const callWithToken = async (fn) => {
|
|
49
|
+
const token = await cachedGetToken();
|
|
50
|
+
try {
|
|
51
|
+
return await fn(token?.token);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
if (!opts?.jwtCache?.enabled ||
|
|
55
|
+
token.isFresh ||
|
|
56
|
+
opts.jwtCache.isAuthError(error)) {
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
const newToken = await cachedGetToken({ forceRefresh: true });
|
|
60
|
+
return await fn(newToken.token);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
return {
|
|
64
|
+
getToken: async () => {
|
|
65
|
+
const token = await cachedGetToken();
|
|
66
|
+
return token.token;
|
|
67
|
+
},
|
|
68
|
+
handler: nextJsHandler(siteUrl),
|
|
69
|
+
isAuthenticated: async () => {
|
|
70
|
+
const token = await cachedGetToken();
|
|
71
|
+
return !!token.token;
|
|
72
|
+
},
|
|
73
|
+
preloadAuthQuery: async (query, ...args) => {
|
|
74
|
+
return callWithToken((token) => {
|
|
75
|
+
const argsAndOptions = getArgsAndOptions(args, token);
|
|
76
|
+
return preloadQuery(query, ...argsAndOptions);
|
|
77
|
+
});
|
|
78
|
+
},
|
|
79
|
+
fetchAuthQuery: async (query, ...args) => {
|
|
80
|
+
return callWithToken((token) => {
|
|
81
|
+
const argsAndOptions = getArgsAndOptions(args, token);
|
|
82
|
+
return fetchQuery(query, ...argsAndOptions);
|
|
83
|
+
});
|
|
84
|
+
},
|
|
85
|
+
fetchAuthMutation: async (mutation, ...args) => {
|
|
86
|
+
return callWithToken((token) => {
|
|
87
|
+
const argsAndOptions = getArgsAndOptions(args, token);
|
|
88
|
+
return fetchMutation(mutation, ...argsAndOptions);
|
|
89
|
+
});
|
|
90
|
+
},
|
|
91
|
+
fetchAuthAction: async (action, ...args) => {
|
|
92
|
+
return callWithToken((token) => {
|
|
93
|
+
const argsAndOptions = getArgsAndOptions(args, token);
|
|
94
|
+
return fetchAction(action, ...argsAndOptions);
|
|
95
|
+
});
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
};
|
|
45
99
|
//# sourceMappingURL=index.js.map
|
package/dist/nextjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nextjs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nextjs/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/plugins/convex/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/plugins/convex/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,eAAO,MAAM,YAAY;;wBAGK,UAAU,CAAC,OAAO,MAAM,CAAC;CAEtD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/plugins/convex/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/plugins/convex/client.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,OAAO;QACL,EAAE,EAAE,QAAQ;QACZ,kBAAkB,EAAE,EAA+B;KACnB,CAAC;AACrC,CAAC,CAAC"}
|