@convex-dev/better-auth 0.8.8 → 0.9.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.
Files changed (116) hide show
  1. package/dist/commonjs/client/adapter.d.ts +8 -4
  2. package/dist/commonjs/client/adapter.d.ts.map +1 -1
  3. package/dist/commonjs/client/adapter.js +45 -8
  4. package/dist/commonjs/client/adapter.js.map +1 -1
  5. package/dist/commonjs/client/adapterUtils.d.ts +6 -6
  6. package/dist/commonjs/client/adapterUtils.d.ts.map +1 -1
  7. package/dist/commonjs/client/adapterUtils.js +17 -9
  8. package/dist/commonjs/client/adapterUtils.js.map +1 -1
  9. package/dist/commonjs/client/createSchema.d.ts +0 -5
  10. package/dist/commonjs/client/createSchema.d.ts.map +1 -1
  11. package/dist/commonjs/client/createSchema.js +0 -8
  12. package/dist/commonjs/client/createSchema.js.map +1 -1
  13. package/dist/commonjs/client/index.d.ts +76 -3367
  14. package/dist/commonjs/client/index.d.ts.map +1 -1
  15. package/dist/commonjs/client/index.js +100 -33
  16. package/dist/commonjs/client/index.js.map +1 -1
  17. package/dist/commonjs/component/adapter.d.ts +23 -21
  18. package/dist/commonjs/component/adapter.d.ts.map +1 -1
  19. package/dist/commonjs/component/adapter.js +1 -1
  20. package/dist/commonjs/component/adapter.js.map +1 -1
  21. package/dist/commonjs/component/adapterTest.d.ts +1 -1
  22. package/dist/commonjs/component/adapterTest.d.ts.map +1 -1
  23. package/dist/commonjs/component/schema.d.ts +16 -419
  24. package/dist/commonjs/component/schema.d.ts.map +1 -1
  25. package/dist/commonjs/component/schema.js +6 -196
  26. package/dist/commonjs/component/schema.js.map +1 -1
  27. package/dist/commonjs/plugins/convex/index.d.ts +10 -2
  28. package/dist/commonjs/plugins/convex/index.d.ts.map +1 -1
  29. package/dist/commonjs/plugins/convex/index.js +17 -1
  30. package/dist/commonjs/plugins/convex/index.js.map +1 -1
  31. package/dist/commonjs/plugins/cross-domain/index.d.ts +5 -0
  32. package/dist/commonjs/plugins/cross-domain/index.d.ts.map +1 -1
  33. package/dist/commonjs/plugins/cross-domain/index.js +8 -0
  34. package/dist/commonjs/plugins/cross-domain/index.js.map +1 -1
  35. package/dist/commonjs/react/index.js +3 -2
  36. package/dist/commonjs/react/index.js.map +1 -1
  37. package/dist/commonjs/react-start/index.d.ts.map +1 -1
  38. package/dist/commonjs/react-start/index.js +10 -2
  39. package/dist/commonjs/react-start/index.js.map +1 -1
  40. package/dist/commonjs/utils/index.d.ts +5 -5
  41. package/dist/commonjs/utils/index.d.ts.map +1 -1
  42. package/dist/commonjs/utils/index.js +9 -11
  43. package/dist/commonjs/utils/index.js.map +1 -1
  44. package/dist/esm/client/adapter.d.ts +8 -4
  45. package/dist/esm/client/adapter.d.ts.map +1 -1
  46. package/dist/esm/client/adapter.js +45 -8
  47. package/dist/esm/client/adapter.js.map +1 -1
  48. package/dist/esm/client/adapterUtils.d.ts +6 -6
  49. package/dist/esm/client/adapterUtils.d.ts.map +1 -1
  50. package/dist/esm/client/adapterUtils.js +17 -9
  51. package/dist/esm/client/adapterUtils.js.map +1 -1
  52. package/dist/esm/client/createSchema.d.ts +0 -5
  53. package/dist/esm/client/createSchema.d.ts.map +1 -1
  54. package/dist/esm/client/createSchema.js +0 -8
  55. package/dist/esm/client/createSchema.js.map +1 -1
  56. package/dist/esm/client/index.d.ts +76 -3367
  57. package/dist/esm/client/index.d.ts.map +1 -1
  58. package/dist/esm/client/index.js +100 -33
  59. package/dist/esm/client/index.js.map +1 -1
  60. package/dist/esm/component/adapter.d.ts +23 -21
  61. package/dist/esm/component/adapter.d.ts.map +1 -1
  62. package/dist/esm/component/adapter.js +1 -1
  63. package/dist/esm/component/adapter.js.map +1 -1
  64. package/dist/esm/component/adapterTest.d.ts +1 -1
  65. package/dist/esm/component/adapterTest.d.ts.map +1 -1
  66. package/dist/esm/component/schema.d.ts +16 -419
  67. package/dist/esm/component/schema.d.ts.map +1 -1
  68. package/dist/esm/component/schema.js +6 -196
  69. package/dist/esm/component/schema.js.map +1 -1
  70. package/dist/esm/plugins/convex/index.d.ts +10 -2
  71. package/dist/esm/plugins/convex/index.d.ts.map +1 -1
  72. package/dist/esm/plugins/convex/index.js +17 -1
  73. package/dist/esm/plugins/convex/index.js.map +1 -1
  74. package/dist/esm/plugins/cross-domain/index.d.ts +5 -0
  75. package/dist/esm/plugins/cross-domain/index.d.ts.map +1 -1
  76. package/dist/esm/plugins/cross-domain/index.js +8 -0
  77. package/dist/esm/plugins/cross-domain/index.js.map +1 -1
  78. package/dist/esm/react/index.js +3 -2
  79. package/dist/esm/react/index.js.map +1 -1
  80. package/dist/esm/react-start/index.d.ts.map +1 -1
  81. package/dist/esm/react-start/index.js +10 -2
  82. package/dist/esm/react-start/index.js.map +1 -1
  83. package/dist/esm/utils/index.d.ts +5 -5
  84. package/dist/esm/utils/index.d.ts.map +1 -1
  85. package/dist/esm/utils/index.js +9 -11
  86. package/dist/esm/utils/index.js.map +1 -1
  87. package/package.json +13 -8
  88. package/src/client/adapter.test.ts +94 -34
  89. package/src/client/adapter.ts +66 -14
  90. package/src/client/adapterUtils.ts +23 -8
  91. package/src/client/createSchema.ts +0 -8
  92. package/src/client/index.ts +124 -63
  93. package/src/component/_generated/api.d.ts +133 -1303
  94. package/src/component/adapter.ts +1 -0
  95. package/src/component/schema.ts +11 -214
  96. package/src/plugins/convex/index.ts +21 -1
  97. package/src/plugins/cross-domain/index.ts +8 -0
  98. package/src/react/index.tsx +3 -2
  99. package/src/react-start/index.ts +10 -2
  100. package/src/utils/index.ts +20 -10
  101. package/dist/commonjs/react/client.d.ts +0 -31
  102. package/dist/commonjs/react/client.d.ts.map +0 -1
  103. package/dist/commonjs/react/client.js +0 -96
  104. package/dist/commonjs/react/client.js.map +0 -1
  105. package/dist/commonjs/react/old-index.d.ts +0 -9
  106. package/dist/commonjs/react/old-index.d.ts.map +0 -1
  107. package/dist/commonjs/react/old-index.js +0 -15
  108. package/dist/commonjs/react/old-index.js.map +0 -1
  109. package/dist/esm/react/client.d.ts +0 -31
  110. package/dist/esm/react/client.d.ts.map +0 -1
  111. package/dist/esm/react/client.js +0 -96
  112. package/dist/esm/react/client.js.map +0 -1
  113. package/dist/esm/react/old-index.d.ts +0 -9
  114. package/dist/esm/react/old-index.d.ts.map +0 -1
  115. package/dist/esm/react/old-index.js +0 -15
  116. package/dist/esm/react/old-index.js.map +0 -1
@@ -1,96 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import isNetworkError from "is-network-error";
3
- import { createContext, useCallback, useContext, useEffect, useMemo, } from "react";
4
- const ConvexAuthInternalContext = createContext(undefined);
5
- export function useAuth() {
6
- return useContext(ConvexAuthInternalContext);
7
- }
8
- export function AuthProvider({ client, authClient, children, }) {
9
- const { data: session, isPending: isSessionPending } = authClient.useSession();
10
- const verbose = client.verbose ?? false;
11
- const logVerbose = useCallback((message) => {
12
- if (verbose) {
13
- console.debug(`${new Date().toISOString()} ${message}`);
14
- client.logger?.logVerbose(message);
15
- }
16
- }, [verbose]);
17
- const fetchToken = useCallback(async () => {
18
- const initialBackoff = 100;
19
- const maxBackoff = 1000;
20
- let retries = 0;
21
- const nextBackoff = () => {
22
- const baseBackoff = initialBackoff * Math.pow(2, retries);
23
- retries += 1;
24
- const actualBackoff = Math.min(baseBackoff, maxBackoff);
25
- const jitter = actualBackoff * (Math.random() - 0.5);
26
- return actualBackoff + jitter;
27
- };
28
- const fetchWithRetry = async () => {
29
- try {
30
- const { data } = await authClient.convex.token();
31
- return data?.token || null;
32
- }
33
- catch (e) {
34
- if (!isNetworkError(e)) {
35
- throw e;
36
- }
37
- if (retries > 10) {
38
- logVerbose(`fetchToken failed with network error, giving up`);
39
- throw e;
40
- }
41
- const backoff = nextBackoff();
42
- logVerbose(`fetchToken failed with network error, attempting retrying in ${backoff}ms`);
43
- await new Promise((resolve) => setTimeout(resolve, backoff));
44
- return fetchWithRetry();
45
- }
46
- };
47
- return fetchWithRetry();
48
- }, [client]);
49
- const fetchAccessToken = useCallback(async ({ forceRefreshToken }) => {
50
- if (forceRefreshToken) {
51
- const token = await fetchToken();
52
- logVerbose(`returning retrieved token`);
53
- return token;
54
- }
55
- return null;
56
- }, [fetchToken]);
57
- useEffect(() => {
58
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
59
- (async () => {
60
- const url = new URL(window.location?.href);
61
- const token = url.searchParams.get("ott");
62
- if (token) {
63
- const authClientWithCrossDomain = authClient;
64
- url.searchParams.delete("ott");
65
- const result = await authClientWithCrossDomain.crossDomain.oneTimeToken.verify({
66
- token,
67
- });
68
- const session = result.data?.session;
69
- if (session) {
70
- await authClient.getSession({
71
- fetchOptions: {
72
- headers: {
73
- Authorization: `Bearer ${session.token}`,
74
- },
75
- },
76
- });
77
- authClientWithCrossDomain.updateSession();
78
- }
79
- window.history.replaceState({}, "", url);
80
- }
81
- })();
82
- },
83
- // Explicitly chosen dependencies.
84
- // This effect should mostly only run once
85
- // on mount.
86
- [client, authClient]);
87
- const isAuthenticated = session !== null;
88
- const isLoading = isSessionPending;
89
- const authState = useMemo(() => ({
90
- isLoading,
91
- isAuthenticated,
92
- fetchAccessToken,
93
- }), [fetchAccessToken, isLoading, isAuthenticated]);
94
- return (_jsx(ConvexAuthInternalContext.Provider, { value: authState, children: children }));
95
- }
96
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/react/client.tsx"],"names":[],"mappings":";AACA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,aAAa,EAEb,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,OAAO,CAAC;AAKf,MAAM,yBAAyB,GAAG,aAAa,CAQ5C,SAAgB,CAAC,CAAC;AAErB,MAAM,UAAU,OAAO;IACrB,OAAO,UAAU,CAAC,yBAAyB,CAAC,CAAC;AAC/C,CAAC;AA4BD,MAAM,UAAU,YAAY,CAAC,EAC3B,MAAM,EACN,UAAU,EACV,QAAQ,GAKT;IACC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAClD,UAAU,CAAC,UAAU,EAAE,CAAC;IAE1B,MAAM,OAAO,GAAY,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;IACjD,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,OAAe,EAAE,EAAE;QAClB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACxC,MAAM,cAAc,GAAG,GAAG,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC;QACxB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,MAAM,WAAW,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC,CAAC;YACb,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACrD,OAAO,aAAa,GAAG,MAAM,CAAC;QAChC,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;YAChC,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjD,OAAO,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC;YAC7B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvB,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;oBACjB,UAAU,CAAC,iDAAiD,CAAC,CAAC;oBAC9D,MAAM,CAAC,CAAC;gBACV,CAAC;gBACD,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;gBAC9B,UAAU,CACR,gEAAgE,OAAO,IAAI,CAC5E,CAAC;gBACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC7D,OAAO,cAAc,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,cAAc,EAAE,CAAC;IAC1B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,gBAAgB,GAAG,WAAW,CAClC,KAAK,EAAE,EAAE,iBAAiB,EAAkC,EAAE,EAAE;QAC9D,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;YACjC,UAAU,CAAC,2BAA2B,CAAC,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,SAAS,CACP,GAAG,EAAE;QACH,mEAAmE;QACnE,CAAC,KAAK,IAAI,EAAE;YACV,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,yBAAyB,GAC7B,UAA2D,CAAC;gBAC9D,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,MAAM,MAAM,GACV,MAAM,yBAAyB,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC;oBAC9D,KAAK;iBACN,CAAC,CAAC;gBACL,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;gBACrC,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,UAAU,CAAC,UAAU,CAAC;wBAC1B,YAAY,EAAE;4BACZ,OAAO,EAAE;gCACP,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;6BACzC;yBACF;qBACF,CAAC,CAAC;oBACH,yBAAyB,CAAC,aAAa,EAAE,CAAC;gBAC5C,CAAC;gBACD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IACD,kCAAkC;IAClC,0CAA0C;IAC1C,YAAY;IACZ,CAAC,MAAM,EAAE,UAAU,CAAC,CACrB,CAAC;IAEF,MAAM,eAAe,GAAG,OAAO,KAAK,IAAI,CAAC;IACzC,MAAM,SAAS,GAAG,gBAAgB,CAAC;IACnC,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CAAC,CAAC;QACL,SAAS;QACT,eAAe;QACf,gBAAgB;KACjB,CAAC,EACF,CAAC,gBAAgB,EAAE,SAAS,EAAE,eAAe,CAAC,CAC/C,CAAC;IAEF,OAAO,CACL,KAAC,yBAAyB,CAAC,QAAQ,IAAC,KAAK,EAAE,SAAS,YACjD,QAAQ,GAC0B,CACtC,CAAC;AACJ,CAAC"}
@@ -1,9 +0,0 @@
1
- import { ConvexReactClient } from "convex/react";
2
- import { PropsWithChildren } from "react";
3
- import { AuthClient } from "./client.js";
4
- export declare function ConvexBetterAuthProvider({ client, authClient, children, }: PropsWithChildren<{
5
- client: ConvexReactClient;
6
- authClient: AuthClient;
7
- }>): import("react/jsx-runtime").JSX.Element;
8
- export { ConvexBetterAuthProvider as ConvexProviderWithBetterAuth };
9
- //# sourceMappingURL=old-index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"old-index.d.ts","sourceRoot":"","sources":["../../../src/react/old-index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA0B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAC;AACnD,OAAO,EACL,UAAU,EAIX,MAAM,UAAU,CAAC;AAElB,wBAAgB,wBAAwB,CAAC,EACvC,MAAM,EACN,UAAU,EACV,QAAQ,GACT,EAAE,iBAAiB,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC,2CAgBD;AAGD,OAAO,EAAE,wBAAwB,IAAI,4BAA4B,EAAE,CAAC"}
@@ -1,15 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { ConvexProviderWithAuth } from "convex/react";
4
- import { useMemo } from "react";
5
- import { AuthProvider, useAuth, } from "./client.js";
6
- export function ConvexBetterAuthProvider({ client, authClient, children, }) {
7
- const convexAuthClient = useMemo(() => ({
8
- verbose: client.options?.verbose,
9
- logger: client.logger,
10
- }), [client]);
11
- return (_jsx(AuthProvider, { client: convexAuthClient, authClient: authClient, children: _jsx(ConvexProviderWithAuth, { client: client, useAuth: useAuth, children: children }) }));
12
- }
13
- // TODO: Remove, short-lived alias
14
- export { ConvexBetterAuthProvider as ConvexProviderWithBetterAuth };
15
- //# sourceMappingURL=old-index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"old-index.js","sourceRoot":"","sources":["../../../src/react/old-index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,sBAAsB,EAAqB,MAAM,cAAc,CAAC;AACzE,OAAO,EAAqB,OAAO,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAEL,YAAY,EACZ,OAAO,GAER,MAAM,UAAU,CAAC;AAElB,MAAM,UAAU,wBAAwB,CAAC,EACvC,MAAM,EACN,UAAU,EACV,QAAQ,GAIR;IACA,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CACH,CAAC;QACC,OAAO,EAAG,MAAc,CAAC,OAAO,EAAE,OAAO;QACzC,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAA4B,EAC/B,CAAC,MAAM,CAAC,CACT,CAAC;IACF,OAAO,CACL,KAAC,YAAY,IAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,YAC5D,KAAC,sBAAsB,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,YACrD,QAAQ,GACc,GACZ,CAChB,CAAC;AACJ,CAAC;AAED,kCAAkC;AAClC,OAAO,EAAE,wBAAwB,IAAI,4BAA4B,EAAE,CAAC"}