@supabase/gotrue-js 1.17.1 → 1.21.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 (60) hide show
  1. package/README.md +16 -4
  2. package/dist/main/GoTrueApi.d.ts +65 -20
  3. package/dist/main/GoTrueApi.d.ts.map +1 -1
  4. package/dist/main/GoTrueApi.js +126 -76
  5. package/dist/main/GoTrueApi.js.map +1 -1
  6. package/dist/main/GoTrueClient.d.ts +16 -10
  7. package/dist/main/GoTrueClient.d.ts.map +1 -1
  8. package/dist/main/GoTrueClient.js +55 -56
  9. package/dist/main/GoTrueClient.js.map +1 -1
  10. package/dist/main/lib/cookies.d.ts.map +1 -1
  11. package/dist/main/lib/cookies.js +1 -0
  12. package/dist/main/lib/cookies.js.map +1 -1
  13. package/dist/main/lib/fetch.d.ts +5 -4
  14. package/dist/main/lib/fetch.d.ts.map +1 -1
  15. package/dist/main/lib/fetch.js +10 -10
  16. package/dist/main/lib/fetch.js.map +1 -1
  17. package/dist/main/lib/helpers.d.ts.map +1 -1
  18. package/dist/main/lib/helpers.js +7 -4
  19. package/dist/main/lib/helpers.js.map +1 -1
  20. package/dist/main/lib/polyfills.d.ts.map +1 -1
  21. package/dist/main/lib/polyfills.js +3 -1
  22. package/dist/main/lib/polyfills.js.map +1 -1
  23. package/dist/main/lib/types.d.ts +2 -1
  24. package/dist/main/lib/types.d.ts.map +1 -1
  25. package/dist/main/lib/version.d.ts +1 -1
  26. package/dist/main/lib/version.js +1 -1
  27. package/dist/module/GoTrueApi.d.ts +65 -20
  28. package/dist/module/GoTrueApi.d.ts.map +1 -1
  29. package/dist/module/GoTrueApi.js +119 -69
  30. package/dist/module/GoTrueApi.js.map +1 -1
  31. package/dist/module/GoTrueClient.d.ts +16 -10
  32. package/dist/module/GoTrueClient.d.ts.map +1 -1
  33. package/dist/module/GoTrueClient.js +40 -41
  34. package/dist/module/GoTrueClient.js.map +1 -1
  35. package/dist/module/lib/cookies.d.ts.map +1 -1
  36. package/dist/module/lib/cookies.js +1 -0
  37. package/dist/module/lib/cookies.js.map +1 -1
  38. package/dist/module/lib/fetch.d.ts +5 -4
  39. package/dist/module/lib/fetch.d.ts.map +1 -1
  40. package/dist/module/lib/fetch.js +11 -11
  41. package/dist/module/lib/fetch.js.map +1 -1
  42. package/dist/module/lib/helpers.d.ts.map +1 -1
  43. package/dist/module/lib/helpers.js +5 -3
  44. package/dist/module/lib/helpers.js.map +1 -1
  45. package/dist/module/lib/polyfills.d.ts.map +1 -1
  46. package/dist/module/lib/polyfills.js +3 -1
  47. package/dist/module/lib/polyfills.js.map +1 -1
  48. package/dist/module/lib/types.d.ts +2 -1
  49. package/dist/module/lib/types.d.ts.map +1 -1
  50. package/dist/module/lib/version.d.ts +1 -1
  51. package/dist/module/lib/version.js +1 -1
  52. package/package.json +16 -7
  53. package/src/GoTrueApi.ts +188 -83
  54. package/src/GoTrueClient.ts +57 -53
  55. package/src/lib/cookies.ts +1 -0
  56. package/src/lib/fetch.ts +32 -10
  57. package/src/lib/helpers.ts +4 -3
  58. package/src/lib/polyfills.ts +3 -2
  59. package/src/lib/types.ts +3 -0
  60. package/src/lib/version.ts +1 -1
package/README.md CHANGED
@@ -25,9 +25,21 @@ const GOTRUE_URL = 'http://localhost:9999'
25
25
  const auth = new GoTrueClient({ url: GOTRUE_URL })
26
26
  ```
27
27
 
28
- - `signUp()`: https://supabase.io/docs/gotrue/client/signup
29
- - `signIn()`: https://supabase.io/docs/gotrue/client/signin
30
- - `signOut()`: https://supabase.io/docs/gotrue/client/signout
28
+ - `signUp()`: https://supabase.io/docs/reference/javascript/auth-signup
29
+ - `signIn()`: https://supabase.io/docs/reference/javascript/auth-signin
30
+ - `signOut()`: https://supabase.io/docs/reference/javascript/auth-signout
31
+
32
+ ### Custom `fetch` implementation
33
+
34
+ `gotrue-js` uses the [`cross-fetch`](https://www.npmjs.com/package/cross-fetch) library to make HTTP requests, but an alternative `fetch` implementation can be provided as an option. This is most useful in environments where `cross-fetch` is not compatible, for instance Cloudflare Workers:
35
+
36
+ ```js
37
+ import { GoTrueClient } from '@supabase/gotrue-js'
38
+
39
+ const GOTRUE_URL = 'http://localhost:9999'
40
+
41
+ const auth = new GoTrueClient({ url: GOTRUE_URL, fetch: fetch })
42
+ ```
31
43
 
32
44
  ## Sponsors
33
45
 
@@ -35,4 +47,4 @@ We are building the features of Firebase using enterprise-grade, open source pro
35
47
 
36
48
  [![New Sponsor](https://user-images.githubusercontent.com/10214025/90518111-e74bbb00-e198-11ea-8f88-c9e3c1aa4b5b.png)](https://github.com/sponsors/supabase)
37
49
 
38
- ![Watch this repo](https://gitcdn.xyz/repo/supabase/monorepo/master/web/static/watch-repo.gif "Watch this repo")
50
+ ![Watch this repo](https://gitcdn.xyz/repo/supabase/monorepo/master/web/static/watch-repo.gif 'Watch this repo')
@@ -1,31 +1,67 @@
1
+ import { Fetch } from './lib/fetch';
1
2
  import { Session, Provider, UserAttributes, CookieOptions, User } from './lib/types';
3
+ export interface ApiError {
4
+ message: string;
5
+ status: number;
6
+ }
2
7
  export default class GoTrueApi {
3
8
  protected url: string;
4
9
  protected headers: {
5
10
  [key: string]: string;
6
11
  };
7
12
  protected cookieOptions: CookieOptions;
8
- constructor({ url, headers, cookieOptions, }: {
13
+ protected fetch?: Fetch;
14
+ constructor({ url, headers, cookieOptions, fetch, }: {
9
15
  url: string;
10
16
  headers?: {
11
17
  [key: string]: string;
12
18
  };
13
19
  cookieOptions?: CookieOptions;
20
+ fetch?: Fetch;
14
21
  });
22
+ /**
23
+ * Creates a new user.
24
+ *
25
+ * This function should only be called on a server. Never expose your `service_role` key in the browser.
26
+ *
27
+ * @param attributes The data you want to create the user with.
28
+ * @param jwt A valid JWT. Must be a full-access API key (e.g. service_role key).
29
+ */
30
+ createUser(attributes: UserAttributes): Promise<{
31
+ data: null;
32
+ error: ApiError;
33
+ } | {
34
+ data: User;
35
+ error: null;
36
+ }>;
37
+ /**
38
+ * Get a list of users.
39
+ *
40
+ * This function should only be called on a server. Never expose your `service_role` key in the browser.
41
+ */
42
+ listUsers(): Promise<{
43
+ data: null;
44
+ error: ApiError;
45
+ } | {
46
+ data: User[];
47
+ error: null;
48
+ }>;
15
49
  /**
16
50
  * Creates a new user using their email address.
17
51
  * @param email The email address of the user.
18
52
  * @param password The password of the user.
19
53
  * @param redirectTo A URL or mobile address to send the user to after they are confirmed.
54
+ * @param data Optional user metadata.
20
55
  *
21
56
  * @returns A logged-in session if the server has "autoconfirm" ON
22
57
  * @returns A user if the server has "autoconfirm" OFF
23
58
  */
24
59
  signUpWithEmail(email: string, password: string, options?: {
25
60
  redirectTo?: string;
61
+ data?: object;
26
62
  }): Promise<{
27
63
  data: Session | User | null;
28
- error: Error | null;
64
+ error: ApiError | null;
29
65
  }>;
30
66
  /**
31
67
  * Logs in an existing user using their email address.
@@ -37,16 +73,19 @@ export default class GoTrueApi {
37
73
  redirectTo?: string;
38
74
  }): Promise<{
39
75
  data: Session | null;
40
- error: Error | null;
76
+ error: ApiError | null;
41
77
  }>;
42
78
  /**
43
79
  * Signs up a new user using their phone number and a password.
44
80
  * @param phone The phone number of the user.
45
81
  * @param password The password of the user.
82
+ * @param data Optional user metadata.
46
83
  */
47
- signUpWithPhone(phone: string, password: string): Promise<{
84
+ signUpWithPhone(phone: string, password: string, options?: {
85
+ data?: object;
86
+ }): Promise<{
48
87
  data: Session | User | null;
49
- error: Error | null;
88
+ error: ApiError | null;
50
89
  }>;
51
90
  /**
52
91
  * Logs in an existing user using their phone number and password.
@@ -55,7 +94,7 @@ export default class GoTrueApi {
55
94
  */
56
95
  signInWithPhone(phone: string, password: string): Promise<{
57
96
  data: Session | null;
58
- error: Error | null;
97
+ error: ApiError | null;
59
98
  }>;
60
99
  /**
61
100
  * Sends a magic login link to an email address.
@@ -66,7 +105,7 @@ export default class GoTrueApi {
66
105
  redirectTo?: string;
67
106
  }): Promise<{
68
107
  data: {} | null;
69
- error: Error | null;
108
+ error: ApiError | null;
70
109
  }>;
71
110
  /**
72
111
  * Sends a mobile OTP via SMS. Will register the account if it doesn't already exist
@@ -74,7 +113,7 @@ export default class GoTrueApi {
74
113
  */
75
114
  sendMobileOTP(phone: string): Promise<{
76
115
  data: {} | null;
77
- error: Error | null;
116
+ error: ApiError | null;
78
117
  }>;
79
118
  /**
80
119
  * Send User supplied Mobile OTP to be verified
@@ -86,18 +125,20 @@ export default class GoTrueApi {
86
125
  redirectTo?: string;
87
126
  }): Promise<{
88
127
  data: Session | User | null;
89
- error: Error | null;
128
+ error: ApiError | null;
90
129
  }>;
91
130
  /**
92
131
  * Sends an invite link to an email address.
93
132
  * @param email The email address of the user.
94
133
  * @param redirectTo A URL or mobile address to send the user to after they are confirmed.
134
+ * @param data Optional user metadata
95
135
  */
96
136
  inviteUserByEmail(email: string, options?: {
97
137
  redirectTo?: string;
138
+ data?: object;
98
139
  }): Promise<{
99
140
  data: User | null;
100
- error: Error | null;
141
+ error: ApiError | null;
101
142
  }>;
102
143
  /**
103
144
  * Sends a reset request to an email address.
@@ -108,7 +149,7 @@ export default class GoTrueApi {
108
149
  redirectTo?: string;
109
150
  }): Promise<{
110
151
  data: {} | null;
111
- error: Error | null;
152
+ error: ApiError | null;
112
153
  }>;
113
154
  /**
114
155
  * Create a temporary object with all configured headers and
@@ -121,7 +162,7 @@ export default class GoTrueApi {
121
162
  * @param jwt A valid, logged-in JWT.
122
163
  */
123
164
  signOut(jwt: string): Promise<{
124
- error: Error | null;
165
+ error: ApiError | null;
125
166
  }>;
126
167
  /**
127
168
  * Generates the relevant login URL for a third-party provider.
@@ -140,7 +181,7 @@ export default class GoTrueApi {
140
181
  getUser(jwt: string): Promise<{
141
182
  user: User | null;
142
183
  data: User | null;
143
- error: Error | null;
184
+ error: ApiError | null;
144
185
  }>;
145
186
  /**
146
187
  * Updates the user data.
@@ -150,17 +191,20 @@ export default class GoTrueApi {
150
191
  updateUser(jwt: string, attributes: UserAttributes): Promise<{
151
192
  user: User | null;
152
193
  data: User | null;
153
- error: Error | null;
194
+ error: ApiError | null;
154
195
  }>;
155
196
  /**
156
- * Delete an user.
197
+ * Delete a user. Requires a `service_role` key.
198
+ *
199
+ * This function should only be called on a server. Never expose your `service_role` key in the browser.
200
+ *
157
201
  * @param uid The user uid you want to remove.
158
202
  * @param jwt A valid JWT. Must be a full-access API key (e.g. service_role key).
159
203
  */
160
204
  deleteUser(uid: string, jwt: string): Promise<{
161
205
  user: User | null;
162
206
  data: User | null;
163
- error: Error | null;
207
+ error: ApiError | null;
164
208
  }>;
165
209
  /**
166
210
  * Generates a new JWT.
@@ -168,7 +212,7 @@ export default class GoTrueApi {
168
212
  */
169
213
  refreshAccessToken(refreshToken: string): Promise<{
170
214
  data: Session | null;
171
- error: Error | null;
215
+ error: ApiError | null;
172
216
  }>;
173
217
  /**
174
218
  * Set/delete the auth cookie based on the AuthChangeEvent.
@@ -180,9 +224,10 @@ export default class GoTrueApi {
180
224
  * Works for Next.js & Express (requires cookie-parser middleware).
181
225
  */
182
226
  getUserByCookie(req: any): Promise<{
227
+ token: string | null;
183
228
  user: User | null;
184
229
  data: User | null;
185
- error: Error | null;
230
+ error: ApiError | null;
186
231
  }>;
187
232
  /**
188
233
  * Generates links to be sent via email or other.
@@ -194,11 +239,11 @@ export default class GoTrueApi {
194
239
  */
195
240
  generateLink(type: 'signup' | 'magiclink' | 'recovery' | 'invite', email: string, options?: {
196
241
  password?: string;
197
- data?: any;
242
+ data?: object;
198
243
  redirectTo?: string;
199
244
  }): Promise<{
200
245
  data: Session | User | null;
201
- error: Error | null;
246
+ error: ApiError | null;
202
247
  }>;
203
248
  }
204
249
  //# sourceMappingURL=GoTrueApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GoTrueApi.d.ts","sourceRoot":"","sources":["../../src/GoTrueApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoTrueApi.d.ts","sourceRoot":"","sources":["../../src/GoTrueApi.ts"],"names":[],"mappings":"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"}