@convex-dev/better-auth 0.7.0-alpha.10 → 0.7.0-alpha.11

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 (91) hide show
  1. package/dist/commonjs/client/adapter.d.ts +10 -1
  2. package/dist/commonjs/client/adapter.d.ts.map +1 -1
  3. package/dist/commonjs/client/adapter.js +183 -192
  4. package/dist/commonjs/client/adapter.js.map +1 -1
  5. package/dist/commonjs/client/index.d.ts +238 -179
  6. package/dist/commonjs/client/index.d.ts.map +1 -1
  7. package/dist/commonjs/client/index.js +46 -58
  8. package/dist/commonjs/client/index.js.map +1 -1
  9. package/dist/commonjs/component/adapterTest.d.ts +19 -0
  10. package/dist/commonjs/component/adapterTest.d.ts.map +1 -0
  11. package/dist/commonjs/component/adapterTest.js +82 -0
  12. package/dist/commonjs/component/adapterTest.js.map +1 -0
  13. package/dist/commonjs/component/lib.d.ts +218 -548
  14. package/dist/commonjs/component/lib.d.ts.map +1 -1
  15. package/dist/commonjs/component/lib.js +315 -286
  16. package/dist/commonjs/component/lib.js.map +1 -1
  17. package/dist/commonjs/component/schema.d.ts +90 -28
  18. package/dist/commonjs/component/schema.d.ts.map +1 -1
  19. package/dist/commonjs/component/schema.js +76 -18
  20. package/dist/commonjs/component/schema.js.map +1 -1
  21. package/dist/commonjs/component/util.d.ts +148 -86
  22. package/dist/commonjs/component/util.d.ts.map +1 -1
  23. package/dist/commonjs/nextjs/index.d.ts.map +1 -1
  24. package/dist/commonjs/nextjs/index.js +3 -0
  25. package/dist/commonjs/nextjs/index.js.map +1 -1
  26. package/dist/commonjs/plugins/convex/index.d.ts +14 -11
  27. package/dist/commonjs/plugins/convex/index.d.ts.map +1 -1
  28. package/dist/commonjs/plugins/convex/index.js +3 -2
  29. package/dist/commonjs/plugins/convex/index.js.map +1 -1
  30. package/dist/commonjs/plugins/cross-domain/client.d.ts +1 -1
  31. package/dist/commonjs/plugins/cross-domain/index.d.ts +5 -3
  32. package/dist/commonjs/plugins/cross-domain/index.d.ts.map +1 -1
  33. package/dist/commonjs/plugins/cross-domain/index.js +19 -5
  34. package/dist/commonjs/plugins/cross-domain/index.js.map +1 -1
  35. package/dist/commonjs/react-start/index.d.ts +4 -4
  36. package/dist/commonjs/utils/index.d.ts +2 -0
  37. package/dist/commonjs/utils/index.d.ts.map +1 -0
  38. package/dist/commonjs/utils/index.js +8 -0
  39. package/dist/commonjs/utils/index.js.map +1 -0
  40. package/dist/esm/client/adapter.d.ts +10 -1
  41. package/dist/esm/client/adapter.d.ts.map +1 -1
  42. package/dist/esm/client/adapter.js +183 -192
  43. package/dist/esm/client/adapter.js.map +1 -1
  44. package/dist/esm/client/index.d.ts +238 -179
  45. package/dist/esm/client/index.d.ts.map +1 -1
  46. package/dist/esm/client/index.js +46 -58
  47. package/dist/esm/client/index.js.map +1 -1
  48. package/dist/esm/component/adapterTest.d.ts +19 -0
  49. package/dist/esm/component/adapterTest.d.ts.map +1 -0
  50. package/dist/esm/component/adapterTest.js +82 -0
  51. package/dist/esm/component/adapterTest.js.map +1 -0
  52. package/dist/esm/component/lib.d.ts +218 -548
  53. package/dist/esm/component/lib.d.ts.map +1 -1
  54. package/dist/esm/component/lib.js +315 -286
  55. package/dist/esm/component/lib.js.map +1 -1
  56. package/dist/esm/component/schema.d.ts +90 -28
  57. package/dist/esm/component/schema.d.ts.map +1 -1
  58. package/dist/esm/component/schema.js +76 -18
  59. package/dist/esm/component/schema.js.map +1 -1
  60. package/dist/esm/component/util.d.ts +148 -86
  61. package/dist/esm/component/util.d.ts.map +1 -1
  62. package/dist/esm/nextjs/index.d.ts.map +1 -1
  63. package/dist/esm/nextjs/index.js +3 -0
  64. package/dist/esm/nextjs/index.js.map +1 -1
  65. package/dist/esm/plugins/convex/index.d.ts +14 -11
  66. package/dist/esm/plugins/convex/index.d.ts.map +1 -1
  67. package/dist/esm/plugins/convex/index.js +3 -2
  68. package/dist/esm/plugins/convex/index.js.map +1 -1
  69. package/dist/esm/plugins/cross-domain/client.d.ts +1 -1
  70. package/dist/esm/plugins/cross-domain/index.d.ts +5 -3
  71. package/dist/esm/plugins/cross-domain/index.d.ts.map +1 -1
  72. package/dist/esm/plugins/cross-domain/index.js +19 -5
  73. package/dist/esm/plugins/cross-domain/index.js.map +1 -1
  74. package/dist/esm/react-start/index.d.ts +4 -4
  75. package/dist/esm/utils/index.d.ts +2 -0
  76. package/dist/esm/utils/index.d.ts.map +1 -0
  77. package/dist/esm/utils/index.js +8 -0
  78. package/dist/esm/utils/index.js.map +1 -0
  79. package/package.json +20 -5
  80. package/src/client/adapter.test.ts +144 -0
  81. package/src/client/adapter.ts +191 -195
  82. package/src/client/index.ts +46 -71
  83. package/src/component/_generated/api.d.ts +605 -149
  84. package/src/component/adapterTest.ts +141 -0
  85. package/src/component/lib.ts +444 -335
  86. package/src/component/schema.ts +81 -19
  87. package/src/nextjs/index.ts +3 -0
  88. package/src/plugins/convex/index.ts +5 -2
  89. package/src/plugins/cross-domain/index.ts +19 -5
  90. package/src/client/cors.ts +0 -425
  91. /package/src/{util.ts → utils/index.ts} +0 -0
@@ -3,6 +3,11 @@ export declare const crossDomain: ({ siteUrl }: {
3
3
  siteUrl: string;
4
4
  }) => {
5
5
  id: "cross-domain";
6
+ init(ctx: import("better-auth").AuthContext): {
7
+ options: {
8
+ trustedOrigins: string[];
9
+ };
10
+ };
6
11
  hooks: {
7
12
  before: ({
8
13
  matcher(context: import("better-auth").HookEndpointContext): boolean;
@@ -74,8 +79,5 @@ export declare const crossDomain: ({ siteUrl }: {
74
79
  path: "/cross-domain/one-time-token/verify";
75
80
  };
76
81
  };
77
- options: {
78
- trustedOrigins: string[];
79
- };
80
82
  };
81
83
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/cross-domain/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,WAAW,GAAI,aAAa;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiJ3D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/cross-domain/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,WAAW,GAAI,aAAa;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+J3D,CAAC"}
@@ -13,6 +13,13 @@ export const crossDomain = ({ siteUrl }) => {
13
13
  };
14
14
  return {
15
15
  id: "cross-domain",
16
+ init(ctx) {
17
+ return {
18
+ options: {
19
+ trustedOrigins: [siteUrl],
20
+ },
21
+ };
22
+ },
16
23
  hooks: {
17
24
  before: [
18
25
  {
@@ -44,9 +51,19 @@ export const crossDomain = ({ siteUrl }) => {
44
51
  },
45
52
  {
46
53
  matcher: (ctx) => {
47
- return (ctx.path.startsWith("/link-social") ||
54
+ return ctx.method === "GET" && ctx.path.startsWith("/verify-email");
55
+ },
56
+ handler: createAuthMiddleware(async (ctx) => {
57
+ if (ctx.query?.callbackURL) {
58
+ ctx.query.callbackURL = rewriteCallbackURL(ctx.query.callbackURL);
59
+ }
60
+ return { context: ctx };
61
+ }),
62
+ },
63
+ {
64
+ matcher: (ctx) => {
65
+ return ((ctx.method === "POST" && ctx.path.startsWith("/link-social")) ||
48
66
  ctx.path.startsWith("/send-verification-email") ||
49
- ctx.path.startsWith("/verify-email") ||
50
67
  ctx.path.startsWith("/sign-in/email") ||
51
68
  ctx.path.startsWith("/sign-in/social") ||
52
69
  ctx.path.startsWith("/sign-in/magic-link") ||
@@ -127,9 +144,6 @@ export const crossDomain = ({ siteUrl }) => {
127
144
  return response;
128
145
  }),
129
146
  },
130
- options: {
131
- trustedOrigins: [siteUrl],
132
- },
133
147
  };
134
148
  };
135
149
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/cross-domain/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/cross-domain/index.ts"],"names":[],"mappings":"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"}
@@ -19,19 +19,19 @@ export declare const reactStartHelpers: (createAuth: (ctx: GenericActionCtx<any>
19
19
  session: {
20
20
  session: {
21
21
  id: string;
22
- createdAt: Date;
23
- updatedAt: Date;
22
+ token: string;
24
23
  userId: string;
25
24
  expiresAt: Date;
26
- token: string;
25
+ createdAt: Date;
26
+ updatedAt: Date;
27
27
  ipAddress?: string | null | undefined | undefined;
28
28
  userAgent?: string | null | undefined | undefined;
29
29
  };
30
30
  user: {
31
31
  id: string;
32
32
  name: string;
33
- email: string;
34
33
  emailVerified: boolean;
34
+ email: string;
35
35
  createdAt: Date;
36
36
  updatedAt: Date;
37
37
  image?: string | null | undefined | undefined;
@@ -0,0 +1,2 @@
1
+ export declare const requireEnv: (name: string) => string;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,WAMtC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export const requireEnv = (name) => {
2
+ const value = process.env[name];
3
+ if (value === undefined) {
4
+ throw new Error(`Missing environment variable \`${name}\``);
5
+ }
6
+ return value;
7
+ };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,IAAI,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "bugs": {
7
7
  "url": "https://github.com/get-convex/better-auth/issues"
8
8
  },
9
- "version": "0.7.0-alpha.10",
9
+ "version": "0.7.0-alpha.11",
10
10
  "license": "Apache-2.0",
11
11
  "keywords": [
12
12
  "convex",
@@ -25,6 +25,7 @@
25
25
  "prepare": "npm run build",
26
26
  "prepack": "node node10stubs.mjs",
27
27
  "postpack": "node node10stubs.mjs --cleanup",
28
+ "generate": "concurrently \"cd examples/next && npm run generate\" \"cd examples/react && npm run generate\" \"cd examples/tanstack && npm run generate\"",
28
29
  "test": "vitest run",
29
30
  "test:debug": "vitest --inspect-brk --no-file-parallelism",
30
31
  "test:coverage": "vitest run --coverage --coverage.reporter=text"
@@ -109,6 +110,18 @@
109
110
  "default": "./dist/commonjs/react-start/index.js"
110
111
  }
111
112
  },
113
+ "./utils": {
114
+ "import": {
115
+ "@convex-dev/component-source": "./src/utils/index.ts",
116
+ "types": "./dist/esm/utils/index.d.ts",
117
+ "default": "./dist/esm/utils/index.js"
118
+ },
119
+ "require": {
120
+ "@convex-dev/component-source": "./src/utils/index.ts",
121
+ "types": "./dist/commonjs/utils/index.d.ts",
122
+ "default": "./dist/commonjs/utils/index.js"
123
+ }
124
+ },
112
125
  "./convex.config": {
113
126
  "import": {
114
127
  "@convex-dev/component-source": "./src/component/convex.config.ts",
@@ -125,17 +138,19 @@
125
138
  }
126
139
  },
127
140
  "peerDependencies": {
128
- "better-auth": "^1.2.7",
129
141
  "convex": "~1.16.5 || >=1.17.0 <1.35.0",
130
142
  "react": "^18.3.1 || ^19.0.0",
131
- "react-dom": "^18.3.1 || ^19.0.0"
143
+ "react-dom": "^18.3.1 || ^19.0.0",
144
+ "better-auth": "^1.2.12"
132
145
  },
133
146
  "devDependencies": {
147
+ "@edge-runtime/vm": "^5.0.0",
134
148
  "@eslint/js": "^9.9.1",
135
149
  "@tanstack/react-start": "^1.120.19",
136
- "@types/node": "^18.17.0",
150
+ "@types/node": "^20",
137
151
  "@types/react": "19.1.6",
138
152
  "@types/react-dom": "19.1.6",
153
+ "concurrently": "^9.2.0",
139
154
  "convex-test": "^0.0.33",
140
155
  "eslint": "^9.9.1",
141
156
  "globals": "^15.9.0",
@@ -152,7 +167,7 @@
152
167
  "dependencies": {
153
168
  "@better-auth/utils": "^0.2.5",
154
169
  "better-call": "^1.0.9",
155
- "convex-helpers": "^0.1.87",
170
+ "convex-helpers": "^0.1.95",
156
171
  "is-network-error": "^1.1.0",
157
172
  "remeda": "^2.21.6",
158
173
  "type-fest": "^4.39.1",
@@ -0,0 +1,144 @@
1
+ /// <reference types="vite/client" />
2
+
3
+ import { describe, expect, test } from "vitest";
4
+ import { runAdapterTest } from "better-auth/adapters/test";
5
+ import { convexTest } from "convex-test";
6
+ import { api } from "../component/_generated/api";
7
+ import schema from "../component/schema";
8
+ import { serialize } from "../component/adapterTest";
9
+ import { Adapter } from "better-auth";
10
+
11
+ describe("convex adapter", async () => {
12
+ const _t = convexTest(schema, import.meta.glob("../component/**/*.*s"));
13
+ const getAdapter =
14
+ (t: typeof _t) =>
15
+ async (betterAuthOptions = {}): Promise<Adapter> => {
16
+ return {
17
+ id: "convex",
18
+ create: async (data) => {
19
+ const result = await t.mutation(api.adapterTest.create, {
20
+ ...data,
21
+ data: serialize(data.data),
22
+ });
23
+ return result;
24
+ },
25
+ findOne: async (data) => {
26
+ const result = await t.query(api.adapterTest.findOne, data);
27
+ console.log("findOne result adapter", result);
28
+ return result;
29
+ },
30
+ findMany: async (data) => {
31
+ const result = await t.query(api.adapterTest.findMany, data);
32
+ console.log("findMany result adapter", result);
33
+ return result;
34
+ },
35
+ count: async () => {
36
+ throw new Error("count not implemented");
37
+ },
38
+ update: async (data) => {
39
+ const result = await t.mutation(api.adapterTest.update, {
40
+ ...data,
41
+ update: serialize(data.update),
42
+ });
43
+ return result;
44
+ },
45
+ updateMany: async (data) => {
46
+ const result = await t.mutation(api.adapterTest.updateMany, data);
47
+ return result;
48
+ },
49
+ delete: async (data) => {
50
+ await t.mutation(api.adapterTest.delete, data);
51
+ },
52
+ deleteMany: async (data) => {
53
+ const result = await t.mutation(api.adapterTest.deleteMany, data);
54
+ return result;
55
+ },
56
+ };
57
+ };
58
+ await runAdapterTest({
59
+ getAdapter: getAdapter(_t),
60
+ disableTests: {
61
+ CREATE_MODEL: false,
62
+ CREATE_MODEL_SHOULD_ALWAYS_RETURN_AN_ID: false,
63
+ FIND_MODEL: false,
64
+ FIND_MODEL_WITHOUT_ID: false,
65
+ FIND_MODEL_WITH_SELECT: false,
66
+ FIND_MODEL_WITH_MODIFIED_FIELD_NAME: false,
67
+ UPDATE_MODEL: false,
68
+ SHOULD_FIND_MANY: false,
69
+ SHOULD_FIND_MANY_WITH_WHERE: false,
70
+ SHOULD_FIND_MANY_WITH_OPERATORS: false,
71
+ SHOULD_WORK_WITH_REFERENCE_FIELDS: false,
72
+ SHOULD_FIND_MANY_WITH_SORT_BY: false,
73
+ SHOULD_FIND_MANY_WITH_LIMIT: false,
74
+ SHOULD_FIND_MANY_WITH_OFFSET: true, // disabled for now
75
+ SHOULD_UPDATE_WITH_MULTIPLE_WHERE: false,
76
+ DELETE_MODEL: false,
77
+ SHOULD_DELETE_MANY: false,
78
+ SHOULD_NOT_THROW_ON_DELETE_RECORD_NOT_FOUND: false,
79
+ SHOULD_NOT_THROW_ON_RECORD_NOT_FOUND: false,
80
+
81
+ // Disabled for now
82
+ SHOULD_FIND_MANY_WITH_CONTAINS_OPERATOR: true,
83
+ SHOULD_SEARCH_USERS_WITH_STARTS_WITH: true,
84
+ SHOULD_SEARCH_USERS_WITH_ENDS_WITH: true,
85
+ SHOULD_PREFER_GENERATE_ID_IF_PROVIDED: true,
86
+ },
87
+ });
88
+
89
+ test("should handle lone range operators", async () => {
90
+ const t = convexTest(schema, import.meta.glob("../component/**/*.*s"));
91
+ const adapter = await getAdapter(t)();
92
+ const user = await adapter.create({
93
+ model: "user",
94
+ data: {
95
+ name: "ab",
96
+ email: "a@a.com",
97
+ },
98
+ });
99
+ const res = await adapter.findMany({
100
+ model: "user",
101
+ where: [
102
+ {
103
+ field: "name",
104
+ operator: "lt",
105
+ value: "a",
106
+ },
107
+ ],
108
+ });
109
+ expect(res).toEqual([]);
110
+ const res2 = await adapter.findMany({
111
+ model: "user",
112
+ where: [
113
+ {
114
+ field: "name",
115
+ operator: "lte",
116
+ value: "a",
117
+ },
118
+ ],
119
+ });
120
+ expect(res2).toEqual([]);
121
+ const res3 = await adapter.findMany({
122
+ model: "user",
123
+ where: [
124
+ {
125
+ field: "name",
126
+ operator: "gt",
127
+ value: "a",
128
+ },
129
+ ],
130
+ });
131
+ expect(res3).toEqual([user]);
132
+ const res4 = await adapter.findMany({
133
+ model: "user",
134
+ where: [
135
+ {
136
+ field: "name",
137
+ operator: "gte",
138
+ value: "ab",
139
+ },
140
+ ],
141
+ });
142
+ expect(res4).toEqual([user]);
143
+ });
144
+ });