@convex-dev/better-auth 0.9.7 → 0.9.9
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.d.ts.map +1 -0
- package/dist/{commonjs/auth.js → auth.js} +2 -2
- package/dist/auth.js.map +1 -0
- package/dist/client/adapter.d.ts +15 -0
- package/dist/client/adapter.d.ts.map +1 -0
- package/dist/{esm/client → client}/adapter.js +11 -2
- package/dist/client/adapter.js.map +1 -0
- package/dist/{commonjs/client → client}/adapterUtils.d.ts +15 -15
- package/dist/client/adapterUtils.d.ts.map +1 -0
- package/dist/{esm/client → client}/adapterUtils.js +1 -0
- package/dist/client/adapterUtils.js.map +1 -0
- package/dist/client/createSchema.d.ts.map +1 -0
- package/dist/client/createSchema.js.map +1 -0
- package/dist/{esm/client → client}/index.d.ts +23 -27
- package/dist/client/index.d.ts.map +1 -0
- package/dist/{esm/client → client}/index.js +23 -4
- package/dist/client/index.js.map +1 -0
- package/dist/client/plugins/index.d.ts.map +1 -0
- package/dist/client/plugins/index.js.map +1 -0
- package/dist/component/_generated/api.d.ts +36 -0
- package/dist/component/_generated/api.d.ts.map +1 -0
- package/{src → dist}/component/_generated/api.js +11 -3
- package/dist/component/_generated/api.js.map +1 -0
- package/dist/component/_generated/component.d.ts +794 -0
- package/dist/component/_generated/component.d.ts.map +1 -0
- package/dist/component/_generated/component.js +11 -0
- package/dist/component/_generated/component.js.map +1 -0
- package/dist/component/_generated/dataModel.d.ts +46 -0
- package/dist/component/_generated/dataModel.d.ts.map +1 -0
- package/dist/component/_generated/dataModel.js +11 -0
- package/dist/component/_generated/dataModel.js.map +1 -0
- package/{src → dist}/component/_generated/server.d.ts +10 -38
- package/dist/component/_generated/server.d.ts.map +1 -0
- package/dist/{commonjs/component → component}/_generated/server.js +9 -5
- package/dist/component/_generated/server.js.map +1 -0
- package/dist/{commonjs/component → component}/adapter.d.ts +11 -11
- package/dist/component/adapter.d.ts.map +1 -0
- package/dist/component/adapter.js.map +1 -0
- package/dist/{commonjs/component → component}/adapterTest.d.ts +2 -2
- package/dist/component/adapterTest.d.ts.map +1 -0
- package/dist/{commonjs/component → component}/adapterTest.js.map +1 -1
- package/dist/component/convex.config.d.ts.map +1 -0
- package/dist/component/convex.config.js.map +1 -0
- package/dist/{commonjs/component → component}/schema.d.ts +6 -28
- package/dist/component/schema.d.ts.map +1 -0
- package/dist/{esm/component → component}/schema.js +2 -10
- package/dist/component/schema.js.map +1 -0
- package/dist/{esm/nextjs → nextjs}/index.d.ts +2 -2
- package/dist/nextjs/index.d.ts.map +1 -0
- package/dist/{esm/nextjs → nextjs}/index.js +2 -1
- package/dist/nextjs/index.js.map +1 -0
- package/dist/plugins/convex/client.d.ts.map +1 -0
- package/dist/{commonjs/plugins → plugins}/convex/client.js +1 -0
- package/dist/plugins/convex/client.js.map +1 -0
- package/dist/{commonjs/plugins → plugins}/convex/index.d.ts +22 -4
- package/dist/plugins/convex/index.d.ts.map +1 -0
- package/dist/{esm/plugins → plugins}/convex/index.js +2 -0
- package/dist/plugins/convex/index.js.map +1 -0
- package/dist/{esm/plugins → plugins}/cross-domain/client.d.ts +3 -3
- package/dist/plugins/cross-domain/client.d.ts.map +1 -0
- package/dist/{esm/plugins → plugins}/cross-domain/client.js +1 -0
- package/dist/plugins/cross-domain/client.js.map +1 -0
- package/dist/{commonjs/plugins → plugins}/cross-domain/index.d.ts +22 -5
- package/dist/plugins/cross-domain/index.d.ts.map +1 -0
- package/dist/{esm/plugins → plugins}/cross-domain/index.js +1 -0
- package/dist/plugins/cross-domain/index.js.map +1 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/{esm/react → react}/index.d.ts +4 -4
- package/dist/react/index.d.ts.map +1 -0
- package/dist/{commonjs/react → react}/index.js +9 -3
- package/dist/react/index.js.map +1 -0
- package/dist/{esm/react-start → react-start}/index.d.ts +2 -2
- package/dist/react-start/index.d.ts.map +1 -0
- package/dist/{esm/react-start → react-start}/index.js +3 -0
- package/dist/react-start/index.js.map +1 -0
- package/dist/{commonjs/utils → utils}/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/{commonjs/utils → utils}/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +74 -124
- package/src/auth.ts +3 -3
- package/src/client/adapter.test.ts +5 -5
- package/src/client/adapter.ts +33 -25
- package/src/client/adapterUtils.ts +14 -14
- package/src/client/index.ts +42 -56
- package/src/client/plugins/index.ts +2 -2
- package/src/component/_generated/api.ts +52 -0
- package/src/component/_generated/component.ts +2019 -0
- package/src/component/_generated/server.ts +161 -0
- package/src/component/adapter.ts +3 -3
- package/src/component/adapterTest.ts +4 -4
- package/src/component/schema.ts +7 -15
- package/src/nextjs/index.ts +5 -4
- package/src/plugins/convex/client.ts +2 -2
- package/src/plugins/convex/index.ts +2 -1
- package/src/plugins/cross-domain/client.ts +4 -4
- package/src/plugins/cross-domain/index.ts +1 -2
- package/src/plugins/index.ts +2 -2
- package/src/react/index.tsx +8 -7
- package/src/react-start/index.ts +7 -6
- package/src/test.ts +18 -0
- package/src/utils/index.ts +5 -5
- package/dist/commonjs/auth.d.ts.map +0 -1
- package/dist/commonjs/auth.js.map +0 -1
- package/dist/commonjs/client/adapter.d.ts +0 -15
- package/dist/commonjs/client/adapter.d.ts.map +0 -1
- package/dist/commonjs/client/adapter.js +0 -264
- package/dist/commonjs/client/adapter.js.map +0 -1
- package/dist/commonjs/client/adapterUtils.d.ts.map +0 -1
- package/dist/commonjs/client/adapterUtils.js +0 -437
- package/dist/commonjs/client/adapterUtils.js.map +0 -1
- package/dist/commonjs/client/createSchema.d.ts.map +0 -1
- package/dist/commonjs/client/createSchema.js.map +0 -1
- package/dist/commonjs/client/index.d.ts +0 -279
- package/dist/commonjs/client/index.d.ts.map +0 -1
- package/dist/commonjs/client/index.js +0 -462
- package/dist/commonjs/client/index.js.map +0 -1
- package/dist/commonjs/client/plugins/index.d.ts +0 -3
- package/dist/commonjs/client/plugins/index.d.ts.map +0 -1
- package/dist/commonjs/client/plugins/index.js +0 -3
- package/dist/commonjs/client/plugins/index.js.map +0 -1
- package/dist/commonjs/component/_generated/api.d.ts +0 -12
- package/dist/commonjs/component/_generated/api.d.ts.map +0 -1
- package/dist/commonjs/component/_generated/api.js +0 -22
- package/dist/commonjs/component/_generated/api.js.map +0 -1
- package/dist/commonjs/component/_generated/server.d.ts +0 -64
- package/dist/commonjs/component/_generated/server.d.ts.map +0 -1
- package/dist/commonjs/component/_generated/server.js.map +0 -1
- package/dist/commonjs/component/adapter.d.ts.map +0 -1
- package/dist/commonjs/component/adapter.js +0 -5
- package/dist/commonjs/component/adapter.js.map +0 -1
- package/dist/commonjs/component/adapterTest.d.ts.map +0 -1
- package/dist/commonjs/component/adapterTest.js +0 -68
- package/dist/commonjs/component/convex.config.d.ts.map +0 -1
- package/dist/commonjs/component/convex.config.js.map +0 -1
- package/dist/commonjs/component/schema.d.ts.map +0 -1
- package/dist/commonjs/component/schema.js +0 -147
- package/dist/commonjs/component/schema.js.map +0 -1
- package/dist/commonjs/nextjs/index.d.ts +0 -10
- package/dist/commonjs/nextjs/index.d.ts.map +0 -1
- package/dist/commonjs/nextjs/index.js +0 -44
- package/dist/commonjs/nextjs/index.js.map +0 -1
- package/dist/commonjs/package.json +0 -3
- package/dist/commonjs/plugins/convex/client.d.ts +0 -6
- package/dist/commonjs/plugins/convex/client.d.ts.map +0 -1
- package/dist/commonjs/plugins/convex/client.js.map +0 -1
- package/dist/commonjs/plugins/convex/index.d.ts.map +0 -1
- package/dist/commonjs/plugins/convex/index.js +0 -261
- package/dist/commonjs/plugins/convex/index.js.map +0 -1
- package/dist/commonjs/plugins/cross-domain/client.d.ts +0 -132
- package/dist/commonjs/plugins/cross-domain/client.d.ts.map +0 -1
- package/dist/commonjs/plugins/cross-domain/client.js +0 -176
- package/dist/commonjs/plugins/cross-domain/client.js.map +0 -1
- package/dist/commonjs/plugins/cross-domain/index.d.ts.map +0 -1
- package/dist/commonjs/plugins/cross-domain/index.js +0 -165
- package/dist/commonjs/plugins/cross-domain/index.js.map +0 -1
- package/dist/commonjs/plugins/index.d.ts +0 -3
- package/dist/commonjs/plugins/index.d.ts.map +0 -1
- package/dist/commonjs/plugins/index.js +0 -3
- package/dist/commonjs/plugins/index.js.map +0 -1
- package/dist/commonjs/react/index.d.ts +0 -30
- package/dist/commonjs/react/index.d.ts.map +0 -1
- package/dist/commonjs/react/index.js.map +0 -1
- package/dist/commonjs/react-start/index.d.ts +0 -43
- package/dist/commonjs/react-start/index.d.ts.map +0 -1
- package/dist/commonjs/react-start/index.js +0 -122
- package/dist/commonjs/react-start/index.js.map +0 -1
- package/dist/commonjs/utils/index.d.ts.map +0 -1
- package/dist/commonjs/utils/index.js.map +0 -1
- package/dist/esm/auth.d.ts +0 -4
- package/dist/esm/auth.d.ts.map +0 -1
- package/dist/esm/auth.js +0 -44
- package/dist/esm/auth.js.map +0 -1
- package/dist/esm/client/adapter.d.ts +0 -15
- package/dist/esm/client/adapter.d.ts.map +0 -1
- package/dist/esm/client/adapter.js.map +0 -1
- package/dist/esm/client/adapterUtils.d.ts +0 -66
- package/dist/esm/client/adapterUtils.d.ts.map +0 -1
- package/dist/esm/client/adapterUtils.js.map +0 -1
- package/dist/esm/client/createSchema.d.ts +0 -19
- package/dist/esm/client/createSchema.d.ts.map +0 -1
- package/dist/esm/client/createSchema.js +0 -108
- package/dist/esm/client/createSchema.js.map +0 -1
- package/dist/esm/client/index.d.ts.map +0 -1
- package/dist/esm/client/index.js.map +0 -1
- package/dist/esm/client/plugins/index.d.ts.map +0 -1
- package/dist/esm/client/plugins/index.js.map +0 -1
- package/dist/esm/component/_generated/api.d.ts +0 -12
- package/dist/esm/component/_generated/api.d.ts.map +0 -1
- package/dist/esm/component/_generated/api.js +0 -22
- package/dist/esm/component/_generated/api.js.map +0 -1
- package/dist/esm/component/_generated/server.d.ts +0 -64
- package/dist/esm/component/_generated/server.d.ts.map +0 -1
- package/dist/esm/component/_generated/server.js +0 -74
- package/dist/esm/component/_generated/server.js.map +0 -1
- package/dist/esm/component/adapter.d.ts +0 -130
- package/dist/esm/component/adapter.d.ts.map +0 -1
- package/dist/esm/component/adapter.js.map +0 -1
- package/dist/esm/component/adapterTest.d.ts +0 -17
- package/dist/esm/component/adapterTest.d.ts.map +0 -1
- package/dist/esm/component/adapterTest.js.map +0 -1
- package/dist/esm/component/convex.config.d.ts +0 -3
- package/dist/esm/component/convex.config.d.ts.map +0 -1
- package/dist/esm/component/convex.config.js +0 -4
- package/dist/esm/component/convex.config.js.map +0 -1
- package/dist/esm/component/schema.d.ts +0 -496
- package/dist/esm/component/schema.d.ts.map +0 -1
- package/dist/esm/component/schema.js.map +0 -1
- package/dist/esm/nextjs/index.d.ts.map +0 -1
- package/dist/esm/nextjs/index.js.map +0 -1
- package/dist/esm/package.json +0 -3
- package/dist/esm/plugins/convex/client.d.ts.map +0 -1
- package/dist/esm/plugins/convex/client.js +0 -7
- package/dist/esm/plugins/convex/client.js.map +0 -1
- package/dist/esm/plugins/convex/index.d.ts +0 -291
- package/dist/esm/plugins/convex/index.d.ts.map +0 -1
- package/dist/esm/plugins/convex/index.js.map +0 -1
- package/dist/esm/plugins/cross-domain/client.d.ts.map +0 -1
- package/dist/esm/plugins/cross-domain/client.js.map +0 -1
- package/dist/esm/plugins/cross-domain/index.d.ts +0 -89
- package/dist/esm/plugins/cross-domain/index.d.ts.map +0 -1
- package/dist/esm/plugins/cross-domain/index.js.map +0 -1
- package/dist/esm/plugins/index.d.ts.map +0 -1
- package/dist/esm/plugins/index.js.map +0 -1
- package/dist/esm/react/index.d.ts.map +0 -1
- package/dist/esm/react/index.js +0 -64
- package/dist/esm/react/index.js.map +0 -1
- package/dist/esm/react-start/index.d.ts.map +0 -1
- package/dist/esm/react-start/index.js.map +0 -1
- package/dist/esm/utils/index.d.ts +0 -14
- package/dist/esm/utils/index.d.ts.map +0 -1
- package/dist/esm/utils/index.js +0 -37
- package/dist/esm/utils/index.js.map +0 -1
- package/plugins/package.json +0 -5
- package/react/package.json +0 -5
- package/src/component/_generated/api.d.ts +0 -2145
- package/src/component/_generated/server.js +0 -90
- /package/dist/{commonjs/auth.d.ts → auth.d.ts} +0 -0
- /package/dist/{commonjs/client → client}/createSchema.d.ts +0 -0
- /package/dist/{commonjs/client → client}/createSchema.js +0 -0
- /package/dist/{esm/client → client}/plugins/index.d.ts +0 -0
- /package/dist/{esm/client → client}/plugins/index.js +0 -0
- /package/dist/{esm/component → component}/adapter.js +0 -0
- /package/dist/{esm/component → component}/adapterTest.js +0 -0
- /package/dist/{commonjs/component → component}/convex.config.d.ts +0 -0
- /package/dist/{commonjs/component → component}/convex.config.js +0 -0
- /package/dist/{esm/plugins → plugins}/convex/client.d.ts +0 -0
- /package/dist/{esm/plugins → plugins}/index.d.ts +0 -0
- /package/dist/{esm/plugins → plugins}/index.js +0 -0
- /package/src/component/_generated/{dataModel.d.ts → dataModel.ts} +0 -0
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.9.
|
|
9
|
+
"version": "0.9.9",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"keywords": [
|
|
12
12
|
"convex",
|
|
@@ -18,171 +18,121 @@
|
|
|
18
18
|
],
|
|
19
19
|
"type": "module",
|
|
20
20
|
"scripts": {
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"build
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"prepublishOnly": "npm run build",
|
|
30
|
-
"postpack": "node node10stubs.mjs --cleanup",
|
|
31
|
-
"generate": "concurrently \"cd examples/next && npm run generate\" \"cd examples/react && npm run generate\" \"cd examples/tanstack && npm run generate\"",
|
|
32
|
-
"test": "vitest run",
|
|
21
|
+
"dev": "cd examples/react && npm run dev",
|
|
22
|
+
"clean": "rm -rf dist *.tsbuildinfo",
|
|
23
|
+
"build": "tsc --project ./tsconfig.build.json",
|
|
24
|
+
"typecheck": "tsc --noEmit && tsc -p examples/next && tsc -p examples/next/convex && tsc -p examples/react && tsc -p examples/react/convex && tsc -p examples/tanstack && tsc -p examples/tanstack/convex",
|
|
25
|
+
"lint": "eslint .",
|
|
26
|
+
"all": "run-p -r 'dev' 'test:watch'",
|
|
27
|
+
"test": "vitest run --typecheck",
|
|
28
|
+
"test:watch": "vitest --typecheck --clearScreen false",
|
|
33
29
|
"test:debug": "vitest --inspect-brk --no-file-parallelism",
|
|
34
|
-
"test:coverage": "vitest run --coverage --coverage.reporter=text"
|
|
30
|
+
"test:coverage": "vitest run --coverage --coverage.reporter=text",
|
|
31
|
+
"prepublishOnly": "npm run build",
|
|
32
|
+
"preversion": "npm run clean && npm ci && npm run build && run-p test lint typecheck",
|
|
33
|
+
"alpha": "npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags",
|
|
34
|
+
"release": "npm version patch && npm publish && git push --follow-tags",
|
|
35
|
+
"version": "vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md"
|
|
35
36
|
},
|
|
36
37
|
"files": [
|
|
37
38
|
"dist",
|
|
38
|
-
"src"
|
|
39
|
-
"react",
|
|
40
|
-
"plugins"
|
|
39
|
+
"src"
|
|
41
40
|
],
|
|
42
41
|
"exports": {
|
|
43
42
|
"./package.json": "./package.json",
|
|
44
43
|
".": {
|
|
45
|
-
"
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
44
|
+
"types": "./dist/client/index.d.ts",
|
|
45
|
+
"default": "./dist/client/index.js"
|
|
46
|
+
},
|
|
47
|
+
"./_generated/component.js": {
|
|
48
|
+
"types": "./dist/component/_generated/component.d.ts"
|
|
49
|
+
},
|
|
50
|
+
"./convex.config": {
|
|
51
|
+
"types": "./dist/component/convex.config.d.ts",
|
|
52
|
+
"default": "./dist/component/convex.config.js"
|
|
53
|
+
},
|
|
54
|
+
"./convex.config.js": {
|
|
55
|
+
"types": "./dist/component/convex.config.d.ts",
|
|
56
|
+
"default": "./dist/component/convex.config.js"
|
|
55
57
|
},
|
|
56
58
|
"./adapter": {
|
|
57
|
-
"
|
|
58
|
-
|
|
59
|
-
"types": "./dist/esm/component/adapter.d.ts",
|
|
60
|
-
"default": "./dist/esm/component/adapter.js"
|
|
61
|
-
},
|
|
62
|
-
"require": {
|
|
63
|
-
"@convex-dev/component-source": "./src/component/adapter.ts",
|
|
64
|
-
"types": "./dist/commonjs/component/adapter.d.ts",
|
|
65
|
-
"default": "./dist/commonjs/component/adapter.js"
|
|
66
|
-
}
|
|
59
|
+
"types": "./dist/component/adapter.d.ts",
|
|
60
|
+
"default": "./dist/component/adapter.js"
|
|
67
61
|
},
|
|
68
62
|
"./client/plugins": {
|
|
69
|
-
"
|
|
70
|
-
|
|
71
|
-
"types": "./dist/esm/client/plugins/index.d.ts",
|
|
72
|
-
"default": "./dist/esm/client/plugins/index.js"
|
|
73
|
-
},
|
|
74
|
-
"require": {
|
|
75
|
-
"@convex-dev/component-source": "./src/client/plugins/index.ts",
|
|
76
|
-
"types": "./dist/commonjs/client/plugins/index.d.ts",
|
|
77
|
-
"default": "./dist/commonjs/client/plugins/index.js"
|
|
78
|
-
}
|
|
63
|
+
"types": "./dist/client/plugins/index.d.ts",
|
|
64
|
+
"default": "./dist/client/plugins/index.js"
|
|
79
65
|
},
|
|
80
66
|
"./nextjs": {
|
|
81
|
-
"
|
|
82
|
-
|
|
83
|
-
"types": "./dist/esm/nextjs/index.d.ts",
|
|
84
|
-
"default": "./dist/esm/nextjs/index.js"
|
|
85
|
-
},
|
|
86
|
-
"require": {
|
|
87
|
-
"@convex-dev/component-source": "./src/nextjs/index.ts",
|
|
88
|
-
"types": "./dist/commonjs/nextjs/index.d.ts",
|
|
89
|
-
"default": "./dist/commonjs/nextjs/index.js"
|
|
90
|
-
}
|
|
67
|
+
"types": "./dist/nextjs/index.d.ts",
|
|
68
|
+
"default": "./dist/nextjs/index.js"
|
|
91
69
|
},
|
|
92
70
|
"./plugins": {
|
|
93
|
-
"
|
|
94
|
-
|
|
95
|
-
"types": "./dist/esm/plugins/index.d.ts",
|
|
96
|
-
"default": "./dist/esm/plugins/index.js"
|
|
97
|
-
},
|
|
98
|
-
"require": {
|
|
99
|
-
"@convex-dev/component-source": "./src/plugins/index.ts",
|
|
100
|
-
"types": "./dist/commonjs/plugins/index.d.ts",
|
|
101
|
-
"default": "./dist/commonjs/plugins/index.js"
|
|
102
|
-
}
|
|
71
|
+
"types": "./dist/plugins/index.d.ts",
|
|
72
|
+
"default": "./dist/plugins/index.js"
|
|
103
73
|
},
|
|
104
74
|
"./react": {
|
|
105
|
-
"
|
|
106
|
-
|
|
107
|
-
"types": "./dist/esm/react/index.d.ts",
|
|
108
|
-
"default": "./dist/esm/react/index.js"
|
|
109
|
-
},
|
|
110
|
-
"require": {
|
|
111
|
-
"@convex-dev/component-source": "./src/react/index.tsx",
|
|
112
|
-
"types": "./dist/commonjs/react/index.d.ts",
|
|
113
|
-
"default": "./dist/commonjs/react/index.js"
|
|
114
|
-
}
|
|
75
|
+
"types": "./dist/react/index.d.ts",
|
|
76
|
+
"default": "./dist/react/index.js"
|
|
115
77
|
},
|
|
116
78
|
"./react-start": {
|
|
117
|
-
"
|
|
118
|
-
|
|
119
|
-
"types": "./dist/esm/react-start/index.d.ts",
|
|
120
|
-
"default": "./dist/esm/react-start/index.js"
|
|
121
|
-
},
|
|
122
|
-
"require": {
|
|
123
|
-
"@convex-dev/component-source": "./src/react-start/index.ts",
|
|
124
|
-
"types": "./dist/commonjs/react-start/index.d.ts",
|
|
125
|
-
"default": "./dist/commonjs/react-start/index.js"
|
|
126
|
-
}
|
|
79
|
+
"types": "./dist/react-start/index.d.ts",
|
|
80
|
+
"default": "./dist/react-start/index.js"
|
|
127
81
|
},
|
|
82
|
+
"./test": "./src/test.ts",
|
|
128
83
|
"./utils": {
|
|
129
|
-
"
|
|
130
|
-
|
|
131
|
-
"types": "./dist/esm/utils/index.d.ts",
|
|
132
|
-
"default": "./dist/esm/utils/index.js"
|
|
133
|
-
},
|
|
134
|
-
"require": {
|
|
135
|
-
"@convex-dev/component-source": "./src/utils/index.ts",
|
|
136
|
-
"types": "./dist/commonjs/utils/index.d.ts",
|
|
137
|
-
"default": "./dist/commonjs/utils/index.js"
|
|
138
|
-
}
|
|
139
|
-
},
|
|
140
|
-
"./convex.config": {
|
|
141
|
-
"import": {
|
|
142
|
-
"@convex-dev/component-source": "./src/component/convex.config.ts",
|
|
143
|
-
"types": "./dist/esm/component/convex.config.d.ts",
|
|
144
|
-
"default": "./dist/esm/component/convex.config.js"
|
|
145
|
-
}
|
|
84
|
+
"types": "./dist/utils/index.d.ts",
|
|
85
|
+
"default": "./dist/utils/index.js"
|
|
146
86
|
}
|
|
147
87
|
},
|
|
148
88
|
"typesVersions": {
|
|
149
89
|
"*": {
|
|
150
90
|
"next-js": [
|
|
151
|
-
"./dist/
|
|
91
|
+
"./dist/nextjs/index.d.ts"
|
|
152
92
|
]
|
|
153
93
|
}
|
|
154
94
|
},
|
|
155
95
|
"peerDependencies": {
|
|
156
|
-
"better-auth": "1.3.
|
|
157
|
-
"convex": "
|
|
96
|
+
"better-auth": "1.3.34",
|
|
97
|
+
"convex": "^1.25.0",
|
|
158
98
|
"react": "^18.3.1 || ^19.0.0",
|
|
159
99
|
"react-dom": "^18.3.1 || ^19.0.0"
|
|
160
100
|
},
|
|
161
101
|
"devDependencies": {
|
|
162
102
|
"@better-fetch/fetch": "^1.1.18",
|
|
163
|
-
"@edge-runtime/vm": "
|
|
164
|
-
"@eslint/
|
|
103
|
+
"@edge-runtime/vm": "5.0.0",
|
|
104
|
+
"@eslint/eslintrc": "3.3.1",
|
|
105
|
+
"@eslint/js": "9.39.1",
|
|
165
106
|
"@tanstack/react-start": "^1.132.37",
|
|
166
107
|
"@types/common-tags": "^1.8.4",
|
|
167
|
-
"@types/node": "
|
|
168
|
-
"@types/react": "
|
|
169
|
-
"@types/react-dom": "
|
|
108
|
+
"@types/node": "20.19.24",
|
|
109
|
+
"@types/react": "18.3.26",
|
|
110
|
+
"@types/react-dom": "18.3.7",
|
|
170
111
|
"@types/semver": "^7.7.0",
|
|
171
|
-
"
|
|
112
|
+
"@vitejs/plugin-react": "5.0.4",
|
|
172
113
|
"concurrently": "^9.2.0",
|
|
173
|
-
"
|
|
174
|
-
"
|
|
175
|
-
"
|
|
114
|
+
"chokidar-cli": "3.0.0",
|
|
115
|
+
"convex": "^1.29.0",
|
|
116
|
+
"convex-test": "0.0.41",
|
|
117
|
+
"cpy-cli": "6.0.0",
|
|
118
|
+
"eslint": "9.39.1",
|
|
119
|
+
"eslint-plugin-react": "7.37.5",
|
|
120
|
+
"eslint-plugin-react-hooks": "5.2.0",
|
|
121
|
+
"eslint-plugin-react-refresh": "0.4.24",
|
|
122
|
+
"globals": "15.14.0",
|
|
176
123
|
"next": "^15.1.8",
|
|
177
|
-
"
|
|
178
|
-
"
|
|
179
|
-
"
|
|
180
|
-
"
|
|
181
|
-
"
|
|
124
|
+
"npm-run-all2": "7.0.2",
|
|
125
|
+
"pkg-pr-new": "0.0.60",
|
|
126
|
+
"prettier": "3.6.2",
|
|
127
|
+
"react": "18.3.1",
|
|
128
|
+
"react-dom": "18.3.1",
|
|
129
|
+
"typescript": "5.9.3",
|
|
130
|
+
"typescript-eslint": "8.46.4",
|
|
131
|
+
"vite": "^7.1.5",
|
|
132
|
+
"vitest": "3.2.4"
|
|
182
133
|
},
|
|
183
|
-
"
|
|
184
|
-
"
|
|
185
|
-
"module": "./dist/esm/client/index.js",
|
|
134
|
+
"types": "./dist/client/index.d.ts",
|
|
135
|
+
"module": "./dist/client/index.js",
|
|
186
136
|
"dependencies": {
|
|
187
137
|
"common-tags": "^1.8.2",
|
|
188
138
|
"convex-helpers": "^0.1.95",
|
package/src/auth.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { betterAuth, BetterAuthOptions } from "better-auth";
|
|
1
|
+
import { betterAuth, type BetterAuthOptions } from "better-auth";
|
|
2
2
|
import {
|
|
3
3
|
anonymous,
|
|
4
4
|
bearer,
|
|
@@ -13,9 +13,9 @@ import {
|
|
|
13
13
|
twoFactor,
|
|
14
14
|
username,
|
|
15
15
|
} from "better-auth/plugins";
|
|
16
|
-
import { convex } from "./plugins";
|
|
16
|
+
import { convex } from "./plugins/convex/index.js";
|
|
17
17
|
import { passkey } from "better-auth/plugins/passkey";
|
|
18
|
-
import { convexAdapter } from "./client";
|
|
18
|
+
import { convexAdapter } from "./client/adapter.js";
|
|
19
19
|
|
|
20
20
|
// This is the config used to generate the schema
|
|
21
21
|
const options = {
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import { describe, expect, test } from "vitest";
|
|
4
4
|
import { runAdapterTest } from "better-auth/adapters/test";
|
|
5
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 {
|
|
6
|
+
import { api } from "../component/_generated/api.js";
|
|
7
|
+
import schema from "../component/schema.js";
|
|
8
|
+
import { serialize } from "../component/adapterTest.js";
|
|
9
|
+
import type { DBAdapter } from "better-auth/adapters";
|
|
10
10
|
|
|
11
11
|
export const getAdapter = (t: ReturnType<typeof convexTest>) => async () => {
|
|
12
12
|
return {
|
|
@@ -43,7 +43,7 @@ export const getAdapter = (t: ReturnType<typeof convexTest>) => async () => {
|
|
|
43
43
|
return t.mutation(api.adapterTest.deleteMany, data);
|
|
44
44
|
},
|
|
45
45
|
transaction: false as any,
|
|
46
|
-
} satisfies
|
|
46
|
+
} satisfies DBAdapter;
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
describe("Better Auth Adapter Tests", async () => {
|
package/src/client/adapter.ts
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createAdapterFactory,
|
|
3
|
-
DBAdapterDebugLogOption,
|
|
3
|
+
type DBAdapterDebugLogOption,
|
|
4
4
|
} from "better-auth/adapters";
|
|
5
5
|
import {
|
|
6
6
|
createFunctionHandle,
|
|
7
|
-
FunctionHandle,
|
|
8
|
-
GenericActionCtx,
|
|
9
|
-
GenericDataModel,
|
|
10
|
-
PaginationOptions,
|
|
11
|
-
PaginationResult,
|
|
12
|
-
SchemaDefinition,
|
|
7
|
+
type FunctionHandle,
|
|
8
|
+
type GenericActionCtx,
|
|
9
|
+
type GenericDataModel,
|
|
10
|
+
type PaginationOptions,
|
|
11
|
+
type PaginationResult,
|
|
12
|
+
type SchemaDefinition,
|
|
13
|
+
type WithoutSystemFields,
|
|
13
14
|
} from "convex/server";
|
|
14
|
-
import { SetOptional } from "type-fest";
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import { api as componentApi } from "../component/_generated/api";
|
|
18
|
-
import { Where } from "better-auth/types";
|
|
15
|
+
import type { SetOptional } from "type-fest";
|
|
16
|
+
import defaultSchema from "../component/schema.js";
|
|
17
|
+
import type { Where } from "better-auth/types";
|
|
19
18
|
import { asyncMap } from "convex-helpers";
|
|
20
19
|
import { prop, sortBy, unique } from "remeda";
|
|
21
|
-
import { isRunMutationCtx } from "../utils";
|
|
20
|
+
import { isRunMutationCtx } from "../utils/index.js";
|
|
21
|
+
import type { Doc, TableNames } from "../component/_generated/dataModel.js";
|
|
22
|
+
import type { ComponentApi } from "../component/_generated/component.js";
|
|
23
|
+
import type { AuthFunctions, GenericCtx, Triggers } from "./index.js";
|
|
22
24
|
|
|
23
25
|
const handlePagination = async (
|
|
24
26
|
next: ({
|
|
@@ -47,7 +49,7 @@ const handlePagination = async (
|
|
|
47
49
|
state.cursor =
|
|
48
50
|
result.pageStatus === "SplitRecommended" ||
|
|
49
51
|
result.pageStatus === "SplitRequired"
|
|
50
|
-
? result.splitCursor ?? result.continueCursor
|
|
52
|
+
? (result.splitCursor ?? result.continueCursor)
|
|
51
53
|
: result.continueCursor;
|
|
52
54
|
if (result.page) {
|
|
53
55
|
state.docs.push(...result.page);
|
|
@@ -79,8 +81,9 @@ const handlePagination = async (
|
|
|
79
81
|
return state;
|
|
80
82
|
};
|
|
81
83
|
|
|
82
|
-
type ConvexCleanedWhere = Where & {
|
|
84
|
+
type ConvexCleanedWhere<TableName extends TableNames = TableNames> = Where & {
|
|
83
85
|
value: string | number | boolean | string[] | number[] | null;
|
|
86
|
+
field: keyof WithoutSystemFields<Doc<TableName>> & string;
|
|
84
87
|
};
|
|
85
88
|
|
|
86
89
|
const parseWhere = (where?: Where[]): ConvexCleanedWhere[] => {
|
|
@@ -102,11 +105,8 @@ export const convexAdapter = <
|
|
|
102
105
|
>(
|
|
103
106
|
ctx: Ctx,
|
|
104
107
|
api: {
|
|
105
|
-
adapter: SetOptional<
|
|
106
|
-
|
|
107
|
-
"migrationRemoveUserId"
|
|
108
|
-
>;
|
|
109
|
-
adapterTest?: UseApi<typeof componentApi>["adapterTest"];
|
|
108
|
+
adapter: SetOptional<ComponentApi["adapter"], "migrationRemoveUserId">;
|
|
109
|
+
adapterTest?: ComponentApi["adapterTest"];
|
|
110
110
|
},
|
|
111
111
|
config: {
|
|
112
112
|
debugLogs?: DBAdapterDebugLogOption;
|
|
@@ -156,7 +156,7 @@ export const convexAdapter = <
|
|
|
156
156
|
isRunMutationCtx: isRunMutationCtx(ctx),
|
|
157
157
|
},
|
|
158
158
|
createSchema: async ({ file, tables }) => {
|
|
159
|
-
const { createSchema } = await import("./createSchema");
|
|
159
|
+
const { createSchema } = await import("./createSchema.js");
|
|
160
160
|
return createSchema({ file, tables });
|
|
161
161
|
},
|
|
162
162
|
create: async ({ model, data, select }): Promise<any> => {
|
|
@@ -170,7 +170,7 @@ export const convexAdapter = <
|
|
|
170
170
|
)) as FunctionHandle<"mutation">)
|
|
171
171
|
: undefined;
|
|
172
172
|
return ctx.runMutation(api.adapter.create, {
|
|
173
|
-
input: { model, data },
|
|
173
|
+
input: { model: model as any, data },
|
|
174
174
|
select,
|
|
175
175
|
onCreateHandle: onCreateHandle,
|
|
176
176
|
});
|
|
@@ -180,6 +180,7 @@ export const convexAdapter = <
|
|
|
180
180
|
for (const w of data.where) {
|
|
181
181
|
const result = await ctx.runQuery(api.adapter.findOne, {
|
|
182
182
|
...data,
|
|
183
|
+
model: data.model as TableNames,
|
|
183
184
|
where: parseWhere([w]),
|
|
184
185
|
});
|
|
185
186
|
if (result) {
|
|
@@ -189,6 +190,7 @@ export const convexAdapter = <
|
|
|
189
190
|
}
|
|
190
191
|
return await ctx.runQuery(api.adapter.findOne, {
|
|
191
192
|
...data,
|
|
193
|
+
model: data.model as TableNames,
|
|
192
194
|
where: parseWhere(data.where),
|
|
193
195
|
});
|
|
194
196
|
},
|
|
@@ -202,6 +204,7 @@ export const convexAdapter = <
|
|
|
202
204
|
async ({ paginationOpts }) => {
|
|
203
205
|
return await ctx.runQuery(api.adapter.findMany, {
|
|
204
206
|
...data,
|
|
207
|
+
model: data.model as TableNames,
|
|
205
208
|
where: parseWhere([w]),
|
|
206
209
|
paginationOpts,
|
|
207
210
|
});
|
|
@@ -225,6 +228,7 @@ export const convexAdapter = <
|
|
|
225
228
|
async ({ paginationOpts }) => {
|
|
226
229
|
return await ctx.runQuery(api.adapter.findMany, {
|
|
227
230
|
...data,
|
|
231
|
+
model: data.model as TableNames,
|
|
228
232
|
where: parseWhere(data.where),
|
|
229
233
|
paginationOpts,
|
|
230
234
|
});
|
|
@@ -240,6 +244,7 @@ export const convexAdapter = <
|
|
|
240
244
|
handlePagination(async ({ paginationOpts }) => {
|
|
241
245
|
return await ctx.runQuery(api.adapter.findMany, {
|
|
242
246
|
...data,
|
|
247
|
+
model: data.model as TableNames,
|
|
243
248
|
where: parseWhere([w]),
|
|
244
249
|
paginationOpts,
|
|
245
250
|
});
|
|
@@ -252,6 +257,7 @@ export const convexAdapter = <
|
|
|
252
257
|
const result = await handlePagination(async ({ paginationOpts }) => {
|
|
253
258
|
return await ctx.runQuery(api.adapter.findMany, {
|
|
254
259
|
...data,
|
|
260
|
+
model: data.model as TableNames,
|
|
255
261
|
where: parseWhere(data.where),
|
|
256
262
|
paginationOpts,
|
|
257
263
|
});
|
|
@@ -272,7 +278,7 @@ export const convexAdapter = <
|
|
|
272
278
|
: undefined;
|
|
273
279
|
return ctx.runMutation(api.adapter.updateOne, {
|
|
274
280
|
input: {
|
|
275
|
-
model: data.model,
|
|
281
|
+
model: data.model as TableNames,
|
|
276
282
|
where: parseWhere(data.where),
|
|
277
283
|
update: data.update as any,
|
|
278
284
|
},
|
|
@@ -294,7 +300,7 @@ export const convexAdapter = <
|
|
|
294
300
|
: undefined;
|
|
295
301
|
await ctx.runMutation(api.adapter.deleteOne, {
|
|
296
302
|
input: {
|
|
297
|
-
model: data.model,
|
|
303
|
+
model: data.model as TableNames,
|
|
298
304
|
where: parseWhere(data.where),
|
|
299
305
|
},
|
|
300
306
|
onDeleteHandle: onDeleteHandle,
|
|
@@ -306,7 +312,7 @@ export const convexAdapter = <
|
|
|
306
312
|
}
|
|
307
313
|
const onDeleteHandle =
|
|
308
314
|
config.authFunctions?.onDelete &&
|
|
309
|
-
config.triggers?.[data.model]?.onDelete
|
|
315
|
+
config.triggers?.[data.model as TableNames]?.onDelete
|
|
310
316
|
? ((await createFunctionHandle(
|
|
311
317
|
config.authFunctions.onDelete
|
|
312
318
|
)) as FunctionHandle<"mutation">)
|
|
@@ -315,6 +321,7 @@ export const convexAdapter = <
|
|
|
315
321
|
return await ctx.runMutation(api.adapter.deleteMany, {
|
|
316
322
|
input: {
|
|
317
323
|
...data,
|
|
324
|
+
model: data.model as TableNames,
|
|
318
325
|
where: parseWhere(data.where),
|
|
319
326
|
},
|
|
320
327
|
paginationOpts,
|
|
@@ -338,6 +345,7 @@ export const convexAdapter = <
|
|
|
338
345
|
return await ctx.runMutation(api.adapter.updateMany, {
|
|
339
346
|
input: {
|
|
340
347
|
...data,
|
|
348
|
+
model: data.model as TableNames,
|
|
341
349
|
where: parseWhere(data.where),
|
|
342
350
|
},
|
|
343
351
|
paginationOpts,
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { asyncMap } from "convex-helpers";
|
|
2
|
-
import { GenericId, Infer, v } from "convex/values";
|
|
2
|
+
import { type GenericId, type Infer, v } from "convex/values";
|
|
3
3
|
import {
|
|
4
|
-
DocumentByName,
|
|
5
|
-
GenericDataModel,
|
|
6
|
-
GenericQueryCtx,
|
|
7
|
-
PaginationOptions,
|
|
8
|
-
PaginationResult,
|
|
9
|
-
SchemaDefinition,
|
|
10
|
-
TableNamesInDataModel,
|
|
4
|
+
type DocumentByName,
|
|
5
|
+
type GenericDataModel,
|
|
6
|
+
type GenericQueryCtx,
|
|
7
|
+
type PaginationOptions,
|
|
8
|
+
type PaginationResult,
|
|
9
|
+
type SchemaDefinition,
|
|
10
|
+
type TableNamesInDataModel,
|
|
11
11
|
} from "convex/server";
|
|
12
12
|
import { stream } from "convex-helpers/server/stream";
|
|
13
13
|
import { mergedStream } from "convex-helpers/server/stream";
|
|
14
14
|
import { stripIndent } from "common-tags";
|
|
15
|
-
import {
|
|
15
|
+
import type { BetterAuthDBSchema } from "better-auth/db";
|
|
16
16
|
|
|
17
17
|
export const adapterWhereValidator = v.object({
|
|
18
18
|
field: v.string(),
|
|
@@ -57,7 +57,7 @@ export const adapterArgsValidator = v.object({
|
|
|
57
57
|
});
|
|
58
58
|
|
|
59
59
|
const isUniqueField = (
|
|
60
|
-
betterAuthSchema:
|
|
60
|
+
betterAuthSchema: BetterAuthDBSchema,
|
|
61
61
|
model: string,
|
|
62
62
|
field: string
|
|
63
63
|
) => {
|
|
@@ -72,7 +72,7 @@ const isUniqueField = (
|
|
|
72
72
|
.includes(field);
|
|
73
73
|
};
|
|
74
74
|
export const hasUniqueFields = (
|
|
75
|
-
betterAuthSchema:
|
|
75
|
+
betterAuthSchema: BetterAuthDBSchema,
|
|
76
76
|
model: string,
|
|
77
77
|
input: Record<string, any>
|
|
78
78
|
) => {
|
|
@@ -241,7 +241,7 @@ export const checkUniqueFields = async <
|
|
|
241
241
|
>(
|
|
242
242
|
ctx: GenericQueryCtx<GenericDataModel>,
|
|
243
243
|
schema: Schema,
|
|
244
|
-
betterAuthSchema:
|
|
244
|
+
betterAuthSchema: BetterAuthDBSchema,
|
|
245
245
|
table: string,
|
|
246
246
|
input: Record<string, any>,
|
|
247
247
|
doc?: Record<string, any>
|
|
@@ -466,7 +466,7 @@ export const paginate = async <
|
|
|
466
466
|
>(
|
|
467
467
|
ctx: GenericQueryCtx<GenericDataModel>,
|
|
468
468
|
schema: SchemaDefinition<any, any>,
|
|
469
|
-
betterAuthSchema:
|
|
469
|
+
betterAuthSchema: BetterAuthDBSchema,
|
|
470
470
|
args: Infer<typeof adapterArgsValidator> & {
|
|
471
471
|
paginationOpts: PaginationOptions;
|
|
472
472
|
}
|
|
@@ -623,7 +623,7 @@ export const listOne = async <
|
|
|
623
623
|
>(
|
|
624
624
|
ctx: GenericQueryCtx<GenericDataModel>,
|
|
625
625
|
schema: SchemaDefinition<any, any>,
|
|
626
|
-
betterAuthSchema:
|
|
626
|
+
betterAuthSchema: BetterAuthDBSchema,
|
|
627
627
|
args: Infer<typeof adapterArgsValidator>
|
|
628
628
|
): Promise<Doc | null> => {
|
|
629
629
|
return (
|