jazz-tools 0.18.5 → 0.18.7
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/.turbo/turbo-build.log +57 -57
- package/CHANGELOG.md +33 -0
- package/dist/better-auth/auth/client.d.ts.map +1 -1
- package/dist/better-auth/auth/client.js +7 -1
- package/dist/better-auth/auth/client.js.map +1 -1
- package/dist/better-auth/auth/react.d.ts +0 -2145
- package/dist/better-auth/auth/react.d.ts.map +1 -1
- package/dist/better-auth/auth/react.js +2 -14
- package/dist/better-auth/auth/react.js.map +1 -1
- package/dist/better-auth/auth/server.d.ts.map +1 -1
- package/dist/better-auth/auth/server.js +77 -22
- package/dist/better-auth/auth/server.js.map +1 -1
- package/dist/better-auth/auth/tests/react.test.d.ts +2 -0
- package/dist/better-auth/auth/tests/react.test.d.ts.map +1 -0
- package/dist/{chunk-3LE7N6TH.js → chunk-CFAY3FMQ.js} +192 -101
- package/dist/chunk-CFAY3FMQ.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/inspector/{custom-element-WCY6D3QJ.js → custom-element-G6SPZEBR.js} +308 -97
- package/dist/inspector/custom-element-G6SPZEBR.js.map +1 -0
- package/dist/inspector/index.d.ts +5 -1
- package/dist/inspector/index.d.ts.map +1 -1
- package/dist/inspector/index.js +318 -56
- package/dist/inspector/index.js.map +1 -1
- package/dist/inspector/register-custom-element.js +1 -1
- package/dist/inspector/ui/button.d.ts +1 -1
- package/dist/inspector/ui/button.d.ts.map +1 -1
- package/dist/inspector/ui/heading.d.ts +2 -1
- package/dist/inspector/ui/heading.d.ts.map +1 -1
- package/dist/inspector/ui/input.d.ts.map +1 -1
- package/dist/inspector/ui/modal.d.ts +16 -0
- package/dist/inspector/ui/modal.d.ts.map +1 -0
- package/dist/inspector/viewer/delete-local-data.d.ts +2 -0
- package/dist/inspector/viewer/delete-local-data.d.ts.map +1 -0
- package/dist/inspector/viewer/{inpsector-button.d.ts → inspector-button.d.ts} +1 -1
- package/dist/inspector/viewer/{inpsector-button.d.ts.map → inspector-button.d.ts.map} +1 -1
- package/dist/inspector/viewer/new-app.d.ts +1 -4
- package/dist/inspector/viewer/new-app.d.ts.map +1 -1
- package/dist/react/hooks.d.ts +1 -1
- package/dist/react/hooks.d.ts.map +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +3 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react-core/hooks.d.ts +133 -0
- package/dist/react-core/hooks.d.ts.map +1 -1
- package/dist/react-core/index.js +83 -17
- package/dist/react-core/index.js.map +1 -1
- package/dist/react-core/tests/useCoStateWithSelector.test.d.ts +2 -0
- package/dist/react-core/tests/useCoStateWithSelector.test.d.ts.map +1 -0
- package/dist/react-native-core/hooks.d.ts +1 -1
- package/dist/react-native-core/hooks.d.ts.map +1 -1
- package/dist/react-native-core/index.js +3 -1
- package/dist/react-native-core/index.js.map +1 -1
- package/dist/testing.js +2 -2
- package/dist/testing.js.map +1 -1
- package/dist/tools/coValues/CoValueBase.d.ts +14 -0
- package/dist/tools/coValues/CoValueBase.d.ts.map +1 -1
- package/dist/tools/coValues/coMap.d.ts +0 -12
- package/dist/tools/coValues/coMap.d.ts.map +1 -1
- package/dist/tools/coValues/inbox.d.ts +5 -5
- package/dist/tools/coValues/inbox.d.ts.map +1 -1
- package/dist/tools/implementation/createContext.d.ts +2 -1
- package/dist/tools/implementation/createContext.d.ts.map +1 -1
- package/dist/tools/tests/utils.d.ts.map +1 -1
- package/dist/worker/index.d.ts +12 -2
- package/dist/worker/index.d.ts.map +1 -1
- package/dist/worker/index.js +10 -4
- package/dist/worker/index.js.map +1 -1
- package/package.json +6 -4
- package/src/better-auth/auth/client.ts +8 -2
- package/src/better-auth/auth/react.tsx +2 -51
- package/src/better-auth/auth/server.ts +98 -24
- package/src/better-auth/auth/tests/client.test.ts +92 -4
- package/src/better-auth/auth/tests/react.test.tsx +43 -0
- package/src/better-auth/auth/tests/server.test.ts +276 -98
- package/src/inspector/custom-element.tsx +1 -1
- package/src/inspector/index.tsx +44 -0
- package/src/inspector/ui/button.tsx +15 -1
- package/src/inspector/ui/heading.tsx +7 -2
- package/src/inspector/ui/input.tsx +6 -2
- package/src/inspector/ui/modal.tsx +158 -0
- package/src/inspector/viewer/delete-local-data.tsx +101 -0
- package/src/inspector/viewer/new-app.tsx +3 -19
- package/src/react/hooks.tsx +1 -0
- package/src/react/index.ts +1 -0
- package/src/react-core/hooks.ts +162 -0
- package/src/react-core/tests/useCoStateWithSelector.test.ts +149 -0
- package/src/react-native-core/hooks.tsx +1 -0
- package/src/tools/coValues/CoValueBase.ts +32 -0
- package/src/tools/coValues/coList.ts +35 -0
- package/src/tools/coValues/coMap.ts +0 -18
- package/src/tools/coValues/inbox.ts +190 -108
- package/src/tools/implementation/createContext.ts +9 -2
- package/src/tools/testing.ts +1 -1
- package/src/tools/tests/coFeed.test.ts +33 -22
- package/src/tools/tests/coList.test.ts +47 -4
- package/src/tools/tests/coMap.test.ts +13 -5
- package/src/tools/tests/coPlainText.test.ts +24 -0
- package/src/tools/tests/createContext.test.ts +24 -0
- package/src/tools/tests/deepLoading.test.ts +2 -0
- package/src/tools/tests/exportImport.test.ts +3 -1
- package/src/tools/tests/groupsAndAccounts.test.ts +56 -44
- package/src/tools/tests/inbox.test.ts +293 -31
- package/src/tools/tests/patterns/requestToJoin.test.ts +14 -6
- package/src/tools/tests/utils.ts +1 -0
- package/src/worker/index.ts +21 -5
- package/tsup.config.ts +1 -1
- package/dist/chunk-3LE7N6TH.js.map +0 -1
- package/dist/inspector/custom-element-WCY6D3QJ.js.map +0 -1
- package/src/inspector/index.ts +0 -23
- /package/src/inspector/viewer/{inpsector-button.tsx → inspector-button.tsx} +0 -0
package/.turbo/turbo-build.log
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
|
2
|
-
> jazz-tools@0.18.
|
2
|
+
> jazz-tools@0.18.7 build /home/runner/_work/jazz/jazz/packages/jazz-tools
|
3
3
|
> tsup && pnpm types && pnpm build:svelte
|
4
4
|
|
5
5
|
[34mCLI[39m Building entry: {"index":"src/index.ts","testing":"src/testing.ts"}
|
@@ -10,7 +10,7 @@
|
|
10
10
|
[34mCLI[39m Using tsconfig: tsconfig.json
|
11
11
|
[34mCLI[39m Building entry: {"index":"src/expo/index.ts","testing":"src/expo/testing.ts","crypto":"src/expo/crypto.ts"}
|
12
12
|
[34mCLI[39m Using tsconfig: tsconfig.json
|
13
|
-
[34mCLI[39m Building entry: {"index":"src/inspector/index.
|
13
|
+
[34mCLI[39m Building entry: {"index":"src/inspector/index.tsx"}
|
14
14
|
[34mCLI[39m Using tsconfig: tsconfig.json
|
15
15
|
[34mCLI[39m Building entry: {"register-custom-element":"src/inspector/register-custom-element.ts"}
|
16
16
|
[34mCLI[39m Using tsconfig: tsconfig.json
|
@@ -107,22 +107,25 @@
|
|
107
107
|
[34mESM[39m Build start
|
108
108
|
[34mCLI[39m Cleaning output folder
|
109
109
|
[34mESM[39m Build start
|
110
|
-
[32mESM[39m [1mdist/tiptap/index.js [22m[32m564.00 B[39m
|
111
|
-
[32mESM[39m [1mdist/tiptap/index.js.map [22m[32m1.21 KB[39m
|
112
|
-
[32mESM[39m ⚡️ Build success in 14ms
|
113
110
|
[32mESM[39m [1mdist/react/ssr.js [22m[32m688.00 B[39m
|
114
111
|
[32mESM[39m [1mdist/react/ssr.js.map [22m[32m1.12 KB[39m
|
115
|
-
[32mESM[39m ⚡️ Build success in
|
116
|
-
[32mESM[39m [1mdist/worker/index.js [22m[32m2.
|
117
|
-
[32mESM[39m [1mdist/worker/index.js.map [22m[
|
118
|
-
[32mESM[39m ⚡️ Build success in
|
119
|
-
[32mESM[39m [1mdist/
|
120
|
-
[32mESM[39m [1mdist/
|
121
|
-
[32mESM[39m [1mdist/better-auth/auth/server.js [22m[32m6.10 KB[39m
|
122
|
-
[32mESM[39m [1mdist/better-auth/auth/client.js.map [22m[32m8.12 KB[39m
|
123
|
-
[32mESM[39m [1mdist/better-auth/auth/react.js.map [22m[32m3.37 KB[39m
|
124
|
-
[32mESM[39m [1mdist/better-auth/auth/server.js.map [22m[32m11.54 KB[39m
|
112
|
+
[32mESM[39m ⚡️ Build success in 21ms
|
113
|
+
[32mESM[39m [1mdist/worker/index.js [22m[32m2.47 KB[39m
|
114
|
+
[32mESM[39m [1mdist/worker/index.js.map [22m[32m5.26 KB[39m
|
115
|
+
[32mESM[39m ⚡️ Build success in 18ms
|
116
|
+
[32mESM[39m [1mdist/tiptap/index.js [22m[32m564.00 B[39m
|
117
|
+
[32mESM[39m [1mdist/tiptap/index.js.map [22m[32m1.21 KB[39m
|
125
118
|
[32mESM[39m ⚡️ Build success in 20ms
|
119
|
+
[32mESM[39m [1mdist/better-auth/auth/client.js [22m[32m4.44 KB[39m
|
120
|
+
[32mESM[39m [1mdist/better-auth/auth/react.js [22m[32m799.00 B[39m
|
121
|
+
[32mESM[39m [1mdist/better-auth/auth/server.js [22m[32m8.35 KB[39m
|
122
|
+
[32mESM[39m [1mdist/better-auth/auth/client.js.map [22m[32m8.24 KB[39m
|
123
|
+
[32mESM[39m [1mdist/better-auth/auth/react.js.map [22m[32m2.04 KB[39m
|
124
|
+
[32mESM[39m [1mdist/better-auth/auth/server.js.map [22m[32m15.28 KB[39m
|
125
|
+
[32mESM[39m ⚡️ Build success in 23ms
|
126
|
+
[32mESM[39m [1mdist/browser/index.js [22m[32m13.64 KB[39m
|
127
|
+
[32mESM[39m [1mdist/browser/index.js.map [22m[32m29.14 KB[39m
|
128
|
+
[32mESM[39m ⚡️ Build success in 37ms
|
126
129
|
[32mESM[39m [1mdist/media/index.js [22m[32m236.00 B[39m
|
127
130
|
[32mESM[39m [1mdist/media/index.browser.js [22m[32m2.79 KB[39m
|
128
131
|
[32mESM[39m [1mdist/media/index.native.js [22m[32m2.90 KB[39m
|
@@ -133,67 +136,64 @@
|
|
133
136
|
[32mESM[39m [1mdist/media/index.native.js.map [22m[32m6.09 KB[39m
|
134
137
|
[32mESM[39m [1mdist/media/index.server.js.map [22m[32m6.37 KB[39m
|
135
138
|
[32mESM[39m [1mdist/media/chunk-W3S526L3.js.map [22m[32m16.57 KB[39m
|
136
|
-
[32mESM[39m ⚡️ Build success in
|
137
|
-
[32mESM[39m [1mdist/react-native/index.js [22m[32m2.53 KB[39m
|
138
|
-
[32mESM[39m [1mdist/react-native/testing.js [22m[32m120.00 B[39m
|
139
|
-
[32mESM[39m [1mdist/react-native/crypto.js [22m[32m161.00 B[39m
|
140
|
-
[32mESM[39m [1mdist/react-native/index.js.map [22m[32m5.68 KB[39m
|
141
|
-
[32mESM[39m [1mdist/react-native/testing.js.map [22m[32m176.00 B[39m
|
142
|
-
[32mESM[39m [1mdist/react-native/crypto.js.map [22m[32m197.00 B[39m
|
143
|
-
[32mESM[39m ⚡️ Build success in 30ms
|
144
|
-
[32mESM[39m [1mdist/browser/index.js [22m[32m13.64 KB[39m
|
145
|
-
[32mESM[39m [1mdist/browser/index.js.map [22m[32m29.14 KB[39m
|
146
|
-
[32mESM[39m ⚡️ Build success in 39ms
|
139
|
+
[32mESM[39m ⚡️ Build success in 37ms
|
147
140
|
[32mESM[39m [1mdist/expo/index.js [22m[32m4.68 KB[39m
|
148
141
|
[32mESM[39m [1mdist/expo/testing.js [22m[32m112.00 B[39m
|
149
142
|
[32mESM[39m [1mdist/expo/crypto.js [22m[32m153.00 B[39m
|
150
143
|
[32mESM[39m [1mdist/expo/index.js.map [22m[32m10.23 KB[39m
|
151
144
|
[32mESM[39m [1mdist/expo/testing.js.map [22m[32m168.00 B[39m
|
152
145
|
[32mESM[39m [1mdist/expo/crypto.js.map [22m[32m189.00 B[39m
|
153
|
-
[32mESM[39m ⚡️ Build success in
|
154
|
-
[32mESM[39m [1mdist/react-native
|
155
|
-
[32mESM[39m [1mdist/react-native
|
156
|
-
[32mESM[39m [1mdist/react-native
|
157
|
-
[32mESM[39m [1mdist/react-native
|
158
|
-
[32mESM[39m [1mdist/react-native
|
159
|
-
[32mESM[39m [1mdist/react-native
|
160
|
-
[32mESM[39m ⚡️ Build success in
|
146
|
+
[32mESM[39m ⚡️ Build success in 37ms
|
147
|
+
[32mESM[39m [1mdist/react-native/index.js [22m[32m2.53 KB[39m
|
148
|
+
[32mESM[39m [1mdist/react-native/testing.js [22m[32m120.00 B[39m
|
149
|
+
[32mESM[39m [1mdist/react-native/crypto.js [22m[32m161.00 B[39m
|
150
|
+
[32mESM[39m [1mdist/react-native/testing.js.map [22m[32m176.00 B[39m
|
151
|
+
[32mESM[39m [1mdist/react-native/index.js.map [22m[32m5.68 KB[39m
|
152
|
+
[32mESM[39m [1mdist/react-native/crypto.js.map [22m[32m197.00 B[39m
|
153
|
+
[32mESM[39m ⚡️ Build success in 44ms
|
154
|
+
[32mESM[39m [1mdist/prosemirror/index.js [22m[32m77.63 KB[39m
|
155
|
+
[32mESM[39m [1mdist/prosemirror/index.js.map [22m[32m306.98 KB[39m
|
156
|
+
[32mESM[39m ⚡️ Build success in 50ms
|
161
157
|
[32mESM[39m [1mdist/react/testing.js [22m[32m122.00 B[39m
|
162
|
-
[32mESM[39m [1mdist/react/index.js [22m[32m24.
|
158
|
+
[32mESM[39m [1mdist/react/index.js [22m[32m24.71 KB[39m
|
163
159
|
[32mESM[39m [1mdist/react/testing.js.map [22m[32m165.00 B[39m
|
164
|
-
[32mESM[39m [1mdist/react/index.js.map [22m[32m53.
|
160
|
+
[32mESM[39m [1mdist/react/index.js.map [22m[32m53.50 KB[39m
|
165
161
|
[32mESM[39m ⚡️ Build success in 51ms
|
166
|
-
[32mESM[39m [1mdist/
|
167
|
-
[32mESM[39m [1mdist/
|
168
|
-
[32mESM[39m
|
169
|
-
[32mESM[39m [1mdist/
|
170
|
-
[32mESM[39m [1mdist/
|
171
|
-
[32mESM[39m
|
172
|
-
[32mESM[39m
|
162
|
+
[32mESM[39m [1mdist/react-native-core/index.js [22m[32m17.95 KB[39m
|
163
|
+
[32mESM[39m [1mdist/react-native-core/crypto.js [22m[32m2.10 KB[39m
|
164
|
+
[32mESM[39m [1mdist/react-native-core/testing.js [22m[32m119.00 B[39m
|
165
|
+
[32mESM[39m [1mdist/react-native-core/index.js.map [22m[32m36.70 KB[39m
|
166
|
+
[32mESM[39m [1mdist/react-native-core/crypto.js.map [22m[32m4.25 KB[39m
|
167
|
+
[32mESM[39m [1mdist/react-native-core/testing.js.map [22m[32m175.00 B[39m
|
168
|
+
[32mESM[39m ⚡️ Build success in 53ms
|
169
|
+
[32mESM[39m [1mdist/inspector/index.js [22m[32m69.71 KB[39m
|
170
|
+
[32mESM[39m [1mdist/inspector/index.js.map [22m[32m121.38 KB[39m
|
171
|
+
[32mESM[39m ⚡️ Build success in 72ms
|
172
|
+
[32mESM[39m [1mdist/testing.js [22m[32m7.17 KB[39m
|
173
|
+
[32mESM[39m [1mdist/index.js [22m[32m26.13 KB[39m
|
174
|
+
[32mESM[39m [1mdist/chunk-CFAY3FMQ.js [22m[32m168.48 KB[39m
|
175
|
+
[32mESM[39m [1mdist/testing.js.map [22m[32m14.10 KB[39m
|
176
|
+
[32mESM[39m [1mdist/index.js.map [22m[32m52.92 KB[39m
|
177
|
+
[32mESM[39m [1mdist/chunk-CFAY3FMQ.js.map [22m[32m400.30 KB[39m
|
178
|
+
[32mESM[39m ⚡️ Build success in 105ms
|
173
179
|
[32mESM[39m [1mdist/react-core/testing.js [22m[32m1.17 KB[39m
|
174
180
|
[32mESM[39m [1mdist/react-core/chunk-7DYMJ74I.js [22m[32m279.00 B[39m
|
181
|
+
[32mESM[39m [1mdist/react-core/index.js [22m[32m145.49 KB[39m
|
175
182
|
[32mESM[39m [1mdist/react-core/testing.js.map [22m[32m1.82 KB[39m
|
176
183
|
[32mESM[39m [1mdist/react-core/chunk-7DYMJ74I.js.map [22m[32m533.00 B[39m
|
177
|
-
[32mESM[39m [1mdist/react-core/index.js.map [22m[
|
178
|
-
[32mESM[39m ⚡️ Build success in
|
179
|
-
[32mESM[39m [1mdist/index.js [22m[32m26.13 KB[39m
|
180
|
-
[32mESM[39m [1mdist/chunk-3LE7N6TH.js [22m[32m166.47 KB[39m
|
181
|
-
[32mESM[39m [1mdist/testing.js [22m[32m7.17 KB[39m
|
182
|
-
[32mESM[39m [1mdist/index.js.map [22m[32m52.92 KB[39m
|
183
|
-
[32mESM[39m [1mdist/testing.js.map [22m[32m14.10 KB[39m
|
184
|
-
[32mESM[39m [1mdist/chunk-3LE7N6TH.js.map [22m[32m395.92 KB[39m
|
185
|
-
[32mESM[39m ⚡️ Build success in 96ms
|
184
|
+
[32mESM[39m [1mdist/react-core/index.js.map [22m[32m399.32 KB[39m
|
185
|
+
[32mESM[39m ⚡️ Build success in 106ms
|
186
186
|
[32mESM[39m [1mdist/inspector/register-custom-element.js [22m[32m218.00 B[39m
|
187
187
|
[32mESM[39m [1mdist/inspector/register-custom-element.js.map [22m[32m314.00 B[39m
|
188
|
-
[32mESM[39m [1mdist/inspector/custom-element-
|
189
|
-
[32mESM[39m [1mdist/inspector/custom-element-
|
190
|
-
[32mESM[39m ⚡️ Build success in
|
188
|
+
[32mESM[39m [1mdist/inspector/custom-element-G6SPZEBR.js [22m[32m1.54 MB[39m
|
189
|
+
[32mESM[39m [1mdist/inspector/custom-element-G6SPZEBR.js.map [22m[32m2.36 MB[39m
|
190
|
+
[32mESM[39m ⚡️ Build success in 148ms
|
191
191
|
|
192
|
-
> jazz-tools@0.18.
|
192
|
+
> jazz-tools@0.18.7 types /home/runner/_work/jazz/jazz/packages/jazz-tools
|
193
193
|
> tsc --outDir dist
|
194
194
|
|
195
195
|
|
196
|
-
> jazz-tools@0.18.
|
196
|
+
> jazz-tools@0.18.7 build:svelte /home/runner/_work/jazz/jazz/packages/jazz-tools
|
197
197
|
> rm -rf dist/svelte && svelte-package -i src/svelte -o dist/svelte --tsconfig tsconfig.svelte.json
|
198
198
|
|
199
199
|
src/svelte -> dist/svelte
|
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,38 @@
|
|
1
1
|
# jazz-tools
|
2
2
|
|
3
|
+
## 0.18.7
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- cf26739: Add `useCoStateWithSelector` for granular reactivity
|
8
|
+
- a3cd9c8: Add lastUpdatedAt & createdAt properties to $jazz in all the coValue types
|
9
|
+
- ca5cd26: Make CoLists structurally equal to arrays
|
10
|
+
- 32d1444: fix: ensure better-auth email-otp verification uniqueness
|
11
|
+
- Updated dependencies [c2d8bf7]
|
12
|
+
- Updated dependencies [dccb464]
|
13
|
+
- Updated dependencies [a3cd9c8]
|
14
|
+
- Updated dependencies [e8e7bf8]
|
15
|
+
- Updated dependencies [51d3558]
|
16
|
+
- cojson@0.18.7
|
17
|
+
- cojson-storage-indexeddb@0.18.7
|
18
|
+
- cojson-transport-ws@0.18.7
|
19
|
+
|
20
|
+
## 0.18.6
|
21
|
+
|
22
|
+
### Patch Changes
|
23
|
+
|
24
|
+
- 975d1c3: Fixed the startWorker type to return a shallowly-loaded worker account.
|
25
|
+
- ccbb795: Add skipInboxLoad option to startWorker
|
26
|
+
- 0dae338: Add concurrency limit on the Inbox subscribe, and simplify the failed messages management
|
27
|
+
- 934679c: feat: Better Auth EmailOTP plugin is now supported
|
28
|
+
- 28defd0: Fix peer role to be client when connecting the test accounts to the test sync server
|
29
|
+
- e0f17ed: Fix the react dependency error when loading the inspector as custom element
|
30
|
+
- 88ef339: fix: removed unwanted browser dependency in order to make better-auth provider works on react-native
|
31
|
+
- Updated dependencies [9e792c7]
|
32
|
+
- cojson@0.18.6
|
33
|
+
- cojson-storage-indexeddb@0.18.6
|
34
|
+
- cojson-transport-ws@0.18.6
|
35
|
+
|
3
36
|
## 0.18.5
|
4
37
|
|
5
38
|
### Patch Changes
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/better-auth/auth/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EAEjB,OAAO,EACP,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/better-auth/auth/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EAEjB,OAAO,EACP,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAS9C;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB;;wBAmBC,UAAU,CAAC,OAAO,UAAU,CAAC;;;sCAIvB,eAAe,CAAC,OAAO,CAAC;4CAGlB,iBAAiB;;;;;;;;;;;CA4H1D,CAAC"}
|
@@ -1,4 +1,10 @@
|
|
1
1
|
// src/better-auth/auth/client.ts
|
2
|
+
var SIGNUP_URLS = [
|
3
|
+
"/sign-up",
|
4
|
+
"/sign-in/social",
|
5
|
+
"/sign-in/oauth2",
|
6
|
+
"/email-otp/send-verification-otp"
|
7
|
+
];
|
2
8
|
var jazzPluginClient = () => {
|
3
9
|
let jazzContext;
|
4
10
|
let authSecretStorage;
|
@@ -51,7 +57,7 @@ var jazzPluginClient = () => {
|
|
51
57
|
name: "jazz-plugin",
|
52
58
|
hooks: {
|
53
59
|
async onRequest(context) {
|
54
|
-
if (
|
60
|
+
if (SIGNUP_URLS.some((url) => context.url.toString().includes(url))) {
|
55
61
|
const credentials = await authSecretStorage.get();
|
56
62
|
if (!credentials) {
|
57
63
|
throw new Error("Jazz credentials not found");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/better-auth/auth/client.ts"],"sourcesContent":["import type { BetterAuthClientPlugin } from \"better-auth\";\nimport type {\n AuthSecretStorage,\n AuthSetPayload,\n Account,\n JazzContextType,\n} from \"jazz-tools\";\nimport type { jazzPlugin } from \"./server.js\";\n\n/**\n * @example\n * ```ts\n * const auth = betterAuth({\n * plugins: [jazzPluginClient()],\n * });\n * ```\n */\nexport const jazzPluginClient = () => {\n let jazzContext: JazzContextType<Account>;\n let authSecretStorage: AuthSecretStorage;\n let signOutUnsubscription: () => void;\n\n const authenticateOnJazz = async (jazzAuth: AuthSetPayload) => {\n const parsedJazzAuth = {\n ...jazzAuth,\n secretSeed: jazzAuth.secretSeed\n ? Uint8Array.from(jazzAuth.secretSeed)\n : undefined,\n };\n\n await jazzContext.authenticate(parsedJazzAuth);\n await authSecretStorage.set(parsedJazzAuth);\n };\n\n return {\n id: \"jazz-plugin\",\n $InferServerPlugin: {} as ReturnType<typeof jazzPlugin>,\n getActions: ($fetch, $store) => {\n return {\n jazz: {\n setJazzContext: (context: JazzContextType<Account>) => {\n jazzContext = context;\n },\n setAuthSecretStorage: (storage: AuthSecretStorage) => {\n authSecretStorage = storage;\n if (signOutUnsubscription) signOutUnsubscription();\n\n // This is a workaround to logout from Better Auth when user logs out directly from Jazz\n signOutUnsubscription = authSecretStorage.onUpdate(\n (isAuthenticated) => {\n if (isAuthenticated === false) {\n const session = $store.atoms.session?.get();\n if (!session) return;\n\n // if the user logs out from Better Auth, the get session is immediately called\n // so we must wait the next fetched session to understand if we need to call sign-out\n if (session.isPending || session.isRefetching) {\n // listen once for next session's data\n const unsub = $store.atoms.session?.listen((session) => {\n unsub?.();\n // if the session is null, user has been already logged out from Better Auth\n if (session.data !== null) {\n $fetch(\"/sign-out\", { method: \"POST\" });\n }\n });\n }\n // if the session is not pending, it means user logged out from Jazz only\n // so we call the sign-out api\n else {\n $fetch(\"/sign-out\", { method: \"POST\" });\n }\n }\n },\n );\n },\n },\n };\n },\n fetchPlugins: [\n {\n id: \"jazz-plugin\",\n name: \"jazz-plugin\",\n hooks: {\n async onRequest(context) {\n if (\n
|
1
|
+
{"version":3,"sources":["../../../src/better-auth/auth/client.ts"],"sourcesContent":["import type { BetterAuthClientPlugin } from \"better-auth\";\nimport type {\n AuthSecretStorage,\n AuthSetPayload,\n Account,\n JazzContextType,\n} from \"jazz-tools\";\nimport type { jazzPlugin } from \"./server.js\";\n\nconst SIGNUP_URLS = [\n \"/sign-up\",\n \"/sign-in/social\",\n \"/sign-in/oauth2\",\n \"/email-otp/send-verification-otp\",\n];\n\n/**\n * @example\n * ```ts\n * const auth = betterAuth({\n * plugins: [jazzPluginClient()],\n * });\n * ```\n */\nexport const jazzPluginClient = () => {\n let jazzContext: JazzContextType<Account>;\n let authSecretStorage: AuthSecretStorage;\n let signOutUnsubscription: () => void;\n\n const authenticateOnJazz = async (jazzAuth: AuthSetPayload) => {\n const parsedJazzAuth = {\n ...jazzAuth,\n secretSeed: jazzAuth.secretSeed\n ? Uint8Array.from(jazzAuth.secretSeed)\n : undefined,\n };\n\n await jazzContext.authenticate(parsedJazzAuth);\n await authSecretStorage.set(parsedJazzAuth);\n };\n\n return {\n id: \"jazz-plugin\",\n $InferServerPlugin: {} as ReturnType<typeof jazzPlugin>,\n getActions: ($fetch, $store) => {\n return {\n jazz: {\n setJazzContext: (context: JazzContextType<Account>) => {\n jazzContext = context;\n },\n setAuthSecretStorage: (storage: AuthSecretStorage) => {\n authSecretStorage = storage;\n if (signOutUnsubscription) signOutUnsubscription();\n\n // This is a workaround to logout from Better Auth when user logs out directly from Jazz\n signOutUnsubscription = authSecretStorage.onUpdate(\n (isAuthenticated) => {\n if (isAuthenticated === false) {\n const session = $store.atoms.session?.get();\n if (!session) return;\n\n // if the user logs out from Better Auth, the get session is immediately called\n // so we must wait the next fetched session to understand if we need to call sign-out\n if (session.isPending || session.isRefetching) {\n // listen once for next session's data\n const unsub = $store.atoms.session?.listen((session) => {\n unsub?.();\n // if the session is null, user has been already logged out from Better Auth\n if (session.data !== null) {\n $fetch(\"/sign-out\", { method: \"POST\" });\n }\n });\n }\n // if the session is not pending, it means user logged out from Jazz only\n // so we call the sign-out api\n else {\n $fetch(\"/sign-out\", { method: \"POST\" });\n }\n }\n },\n );\n },\n },\n };\n },\n fetchPlugins: [\n {\n id: \"jazz-plugin\",\n name: \"jazz-plugin\",\n hooks: {\n async onRequest(context) {\n if (\n SIGNUP_URLS.some((url) => context.url.toString().includes(url))\n ) {\n const credentials = await authSecretStorage.get();\n\n if (!credentials) {\n throw new Error(\"Jazz credentials not found\");\n }\n\n context.headers.set(\n \"x-jazz-auth\",\n JSON.stringify({\n accountID: credentials.accountID,\n secretSeed: credentials.secretSeed,\n accountSecret: credentials.accountSecret,\n }),\n );\n }\n },\n async onSuccess(context) {\n if (context.request.url.toString().includes(\"/sign-up\")) {\n await authenticateOnJazz(context.data.jazzAuth);\n return;\n }\n\n if (context.request.url.toString().includes(\"/sign-in/email\")) {\n await authenticateOnJazz(context.data.jazzAuth);\n return;\n }\n\n if (context.request.url.toString().includes(\"/get-session\")) {\n if (context.data === null) {\n if (authSecretStorage.isAuthenticated === true) {\n console.warn(\n \"Jazz is authenticated, but the session is null\",\n );\n }\n return;\n }\n\n if (!context.data?.user) {\n return;\n }\n\n if (authSecretStorage.isAuthenticated === false) {\n console.info(\n \"Jazz is not authenticated, using Better Auth stored credentials\",\n );\n await authenticateOnJazz(context.data.jazzAuth);\n return;\n }\n\n const sessionAccountID = context.data.user.accountID;\n\n const credentials = await authSecretStorage.get();\n\n if (!credentials) {\n throw new Error(\"Jazz credentials not found\");\n }\n\n if (credentials.accountID !== sessionAccountID) {\n console.info(\n \"Jazz credentials mismatch, using Better Auth stored credentials\",\n );\n await authenticateOnJazz(context.data.jazzAuth);\n }\n return;\n }\n\n if (context.request.url.toString().includes(\"/sign-out\")) {\n await jazzContext.logOut();\n return;\n }\n\n if (context.request.url.toString().includes(\"/delete-user\")) {\n await jazzContext.logOut();\n return;\n }\n },\n },\n },\n ],\n } satisfies BetterAuthClientPlugin;\n};\n"],"mappings":";AASA,IAAM,cAAc;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAUO,IAAM,mBAAmB,MAAM;AACpC,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,QAAM,qBAAqB,OAAO,aAA6B;AAC7D,UAAM,iBAAiB;AAAA,MACrB,GAAG;AAAA,MACH,YAAY,SAAS,aACjB,WAAW,KAAK,SAAS,UAAU,IACnC;AAAA,IACN;AAEA,UAAM,YAAY,aAAa,cAAc;AAC7C,UAAM,kBAAkB,IAAI,cAAc;AAAA,EAC5C;AAEA,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,oBAAoB,CAAC;AAAA,IACrB,YAAY,CAAC,QAAQ,WAAW;AAC9B,aAAO;AAAA,QACL,MAAM;AAAA,UACJ,gBAAgB,CAAC,YAAsC;AACrD,0BAAc;AAAA,UAChB;AAAA,UACA,sBAAsB,CAAC,YAA+B;AACpD,gCAAoB;AACpB,gBAAI,sBAAuB,uBAAsB;AAGjD,oCAAwB,kBAAkB;AAAA,cACxC,CAAC,oBAAoB;AACnB,oBAAI,oBAAoB,OAAO;AAC7B,wBAAM,UAAU,OAAO,MAAM,SAAS,IAAI;AAC1C,sBAAI,CAAC,QAAS;AAId,sBAAI,QAAQ,aAAa,QAAQ,cAAc;AAE7C,0BAAM,QAAQ,OAAO,MAAM,SAAS,OAAO,CAACA,aAAY;AACtD,8BAAQ;AAER,0BAAIA,SAAQ,SAAS,MAAM;AACzB,+BAAO,aAAa,EAAE,QAAQ,OAAO,CAAC;AAAA,sBACxC;AAAA,oBACF,CAAC;AAAA,kBACH,OAGK;AACH,2BAAO,aAAa,EAAE,QAAQ,OAAO,CAAC;AAAA,kBACxC;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL,MAAM,UAAU,SAAS;AACvB,gBACE,YAAY,KAAK,CAAC,QAAQ,QAAQ,IAAI,SAAS,EAAE,SAAS,GAAG,CAAC,GAC9D;AACA,oBAAM,cAAc,MAAM,kBAAkB,IAAI;AAEhD,kBAAI,CAAC,aAAa;AAChB,sBAAM,IAAI,MAAM,4BAA4B;AAAA,cAC9C;AAEA,sBAAQ,QAAQ;AAAA,gBACd;AAAA,gBACA,KAAK,UAAU;AAAA,kBACb,WAAW,YAAY;AAAA,kBACvB,YAAY,YAAY;AAAA,kBACxB,eAAe,YAAY;AAAA,gBAC7B,CAAC;AAAA,cACH;AAAA,YACF;AAAA,UACF;AAAA,UACA,MAAM,UAAU,SAAS;AACvB,gBAAI,QAAQ,QAAQ,IAAI,SAAS,EAAE,SAAS,UAAU,GAAG;AACvD,oBAAM,mBAAmB,QAAQ,KAAK,QAAQ;AAC9C;AAAA,YACF;AAEA,gBAAI,QAAQ,QAAQ,IAAI,SAAS,EAAE,SAAS,gBAAgB,GAAG;AAC7D,oBAAM,mBAAmB,QAAQ,KAAK,QAAQ;AAC9C;AAAA,YACF;AAEA,gBAAI,QAAQ,QAAQ,IAAI,SAAS,EAAE,SAAS,cAAc,GAAG;AAC3D,kBAAI,QAAQ,SAAS,MAAM;AACzB,oBAAI,kBAAkB,oBAAoB,MAAM;AAC9C,0BAAQ;AAAA,oBACN;AAAA,kBACF;AAAA,gBACF;AACA;AAAA,cACF;AAEA,kBAAI,CAAC,QAAQ,MAAM,MAAM;AACvB;AAAA,cACF;AAEA,kBAAI,kBAAkB,oBAAoB,OAAO;AAC/C,wBAAQ;AAAA,kBACN;AAAA,gBACF;AACA,sBAAM,mBAAmB,QAAQ,KAAK,QAAQ;AAC9C;AAAA,cACF;AAEA,oBAAM,mBAAmB,QAAQ,KAAK,KAAK;AAE3C,oBAAM,cAAc,MAAM,kBAAkB,IAAI;AAEhD,kBAAI,CAAC,aAAa;AAChB,sBAAM,IAAI,MAAM,4BAA4B;AAAA,cAC9C;AAEA,kBAAI,YAAY,cAAc,kBAAkB;AAC9C,wBAAQ;AAAA,kBACN;AAAA,gBACF;AACA,sBAAM,mBAAmB,QAAQ,KAAK,QAAQ;AAAA,cAChD;AACA;AAAA,YACF;AAEA,gBAAI,QAAQ,QAAQ,IAAI,SAAS,EAAE,SAAS,WAAW,GAAG;AACxD,oBAAM,YAAY,OAAO;AACzB;AAAA,YACF;AAEA,gBAAI,QAAQ,QAAQ,IAAI,SAAS,EAAE,SAAS,cAAc,GAAG;AAC3D,oBAAM,YAAY,OAAO;AACzB;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;","names":["session"]}
|