@depup/supabase__auth-js 2.103.0-depup.0 → 2.110.8-depup.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.
- package/AGENTS.md +11 -0
- package/README.md +2 -2
- package/changes.json +1 -1
- package/dist/main/GoTrueAdminApi.d.ts +45 -8
- package/dist/main/GoTrueAdminApi.d.ts.map +1 -1
- package/dist/main/GoTrueAdminApi.js +67 -7
- package/dist/main/GoTrueAdminApi.js.map +1 -1
- package/dist/main/GoTrueClient.d.ts +239 -42
- package/dist/main/GoTrueClient.d.ts.map +1 -1
- package/dist/main/GoTrueClient.js +946 -164
- package/dist/main/GoTrueClient.js.map +1 -1
- package/dist/main/lib/constants.d.ts +8 -0
- package/dist/main/lib/constants.d.ts.map +1 -1
- package/dist/main/lib/constants.js +9 -1
- package/dist/main/lib/constants.js.map +1 -1
- package/dist/main/lib/errors.d.ts +42 -3
- package/dist/main/lib/errors.d.ts.map +1 -1
- package/dist/main/lib/errors.js +44 -13
- package/dist/main/lib/errors.js.map +1 -1
- package/dist/main/lib/fetch.d.ts +28 -8
- package/dist/main/lib/fetch.d.ts.map +1 -1
- package/dist/main/lib/fetch.js +28 -6
- package/dist/main/lib/fetch.js.map +1 -1
- package/dist/main/lib/helpers.d.ts +4 -1
- package/dist/main/lib/helpers.d.ts.map +1 -1
- package/dist/main/lib/helpers.js +15 -4
- package/dist/main/lib/helpers.js.map +1 -1
- package/dist/main/lib/locks.d.ts +29 -35
- package/dist/main/lib/locks.d.ts.map +1 -1
- package/dist/main/lib/locks.js +37 -38
- package/dist/main/lib/locks.js.map +1 -1
- package/dist/main/lib/types.d.ts +305 -64
- package/dist/main/lib/types.d.ts.map +1 -1
- package/dist/main/lib/types.js.map +1 -1
- package/dist/main/lib/version.d.ts +1 -1
- package/dist/main/lib/version.js +1 -1
- package/dist/main/lib/webauthn.d.ts +8 -0
- package/dist/main/lib/webauthn.d.ts.map +1 -1
- package/dist/main/lib/webauthn.dom.d.ts +3 -3
- package/dist/main/lib/webauthn.dom.d.ts.map +1 -1
- package/dist/main/lib/webauthn.errors.d.ts +5 -0
- package/dist/main/lib/webauthn.errors.d.ts.map +1 -1
- package/dist/main/lib/webauthn.errors.js +7 -0
- package/dist/main/lib/webauthn.errors.js.map +1 -1
- package/dist/main/lib/webauthn.js +1 -0
- package/dist/main/lib/webauthn.js.map +1 -1
- package/dist/module/GoTrueAdminApi.d.ts +45 -8
- package/dist/module/GoTrueAdminApi.d.ts.map +1 -1
- package/dist/module/GoTrueAdminApi.js +68 -8
- package/dist/module/GoTrueAdminApi.js.map +1 -1
- package/dist/module/GoTrueClient.d.ts +239 -42
- package/dist/module/GoTrueClient.d.ts.map +1 -1
- package/dist/module/GoTrueClient.js +951 -169
- package/dist/module/GoTrueClient.js.map +1 -1
- package/dist/module/lib/constants.d.ts +8 -0
- package/dist/module/lib/constants.d.ts.map +1 -1
- package/dist/module/lib/constants.js +8 -0
- package/dist/module/lib/constants.js.map +1 -1
- package/dist/module/lib/errors.d.ts +42 -3
- package/dist/module/lib/errors.d.ts.map +1 -1
- package/dist/module/lib/errors.js +41 -12
- package/dist/module/lib/errors.js.map +1 -1
- package/dist/module/lib/fetch.d.ts +28 -8
- package/dist/module/lib/fetch.d.ts.map +1 -1
- package/dist/module/lib/fetch.js +28 -6
- package/dist/module/lib/fetch.js.map +1 -1
- package/dist/module/lib/helpers.d.ts +4 -1
- package/dist/module/lib/helpers.d.ts.map +1 -1
- package/dist/module/lib/helpers.js +14 -4
- package/dist/module/lib/helpers.js.map +1 -1
- package/dist/module/lib/locks.d.ts +29 -35
- package/dist/module/lib/locks.d.ts.map +1 -1
- package/dist/module/lib/locks.js +37 -38
- package/dist/module/lib/locks.js.map +1 -1
- package/dist/module/lib/types.d.ts +305 -64
- package/dist/module/lib/types.d.ts.map +1 -1
- package/dist/module/lib/types.js.map +1 -1
- package/dist/module/lib/version.d.ts +1 -1
- package/dist/module/lib/version.js +1 -1
- package/dist/module/lib/webauthn.d.ts +8 -0
- package/dist/module/lib/webauthn.d.ts.map +1 -1
- package/dist/module/lib/webauthn.dom.d.ts +3 -3
- package/dist/module/lib/webauthn.dom.d.ts.map +1 -1
- package/dist/module/lib/webauthn.errors.d.ts +5 -0
- package/dist/module/lib/webauthn.errors.d.ts.map +1 -1
- package/dist/module/lib/webauthn.errors.js +7 -0
- package/dist/module/lib/webauthn.errors.js.map +1 -1
- package/dist/module/lib/webauthn.js +1 -1
- package/dist/module/lib/webauthn.js.map +1 -1
- package/dist/tsconfig.module.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/migrations/README.md +25 -0
- package/migrations/lockless-coordination.md +155 -0
- package/package.json +25 -12
- package/src/GoTrueAdminApi.ts +99 -7
- package/src/GoTrueClient.ts +1117 -181
- package/src/lib/constants.ts +9 -0
- package/src/lib/errors.ts +76 -9
- package/src/lib/fetch.ts +66 -24
- package/src/lib/helpers.ts +19 -6
- package/src/lib/locks.ts +44 -42
- package/src/lib/types.ts +374 -82
- package/src/lib/version.ts +1 -1
- package/src/lib/webauthn.dom.ts +3 -3
- package/src/lib/webauthn.errors.ts +12 -0
- package/src/lib/webauthn.ts +1 -1
package/dist/module/lib/locks.js
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lock primitives retained for backwards-compatible imports. The auth client
|
|
3
|
+
* coordinates refreshes itself (deduping in-instance callers onto a shared
|
|
4
|
+
* in-flight promise) and lets the GoTrue server resolve cross-instance races,
|
|
5
|
+
* so it does not invoke any primitive from this module. The functions still
|
|
6
|
+
* work for direct callers that need a navigator.locks-backed or in-process
|
|
7
|
+
* exclusive lock of their own.
|
|
8
|
+
*/
|
|
1
9
|
import { supportsLocalStorage } from './helpers';
|
|
2
10
|
/**
|
|
11
|
+
* @deprecated Debug flag for `navigatorLock` / `processLock`. The auth
|
|
12
|
+
* client ignores both, so this has no client-side effect.
|
|
3
13
|
* @experimental
|
|
4
14
|
*/
|
|
5
15
|
export const internals = {
|
|
@@ -14,18 +24,9 @@ export const internals = {
|
|
|
14
24
|
/**
|
|
15
25
|
* An error thrown when a lock cannot be acquired after some amount of time.
|
|
16
26
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* ```ts
|
|
21
|
-
* import { LockAcquireTimeoutError } from '@supabase/auth-js'
|
|
22
|
-
*
|
|
23
|
-
* class CustomLockError extends LockAcquireTimeoutError {
|
|
24
|
-
* constructor() {
|
|
25
|
-
* super('Lock timed out')
|
|
26
|
-
* }
|
|
27
|
-
* }
|
|
28
|
-
* ```
|
|
27
|
+
* @deprecated The auth client doesn't acquire locks around auth operations,
|
|
28
|
+
* so this error never originates from `supabase.auth.*` calls. Direct callers
|
|
29
|
+
* of `navigatorLock` / `processLock` still receive it on acquire timeout.
|
|
29
30
|
*/
|
|
30
31
|
export class LockAcquireTimeoutError extends Error {
|
|
31
32
|
constructor(message) {
|
|
@@ -34,26 +35,16 @@ export class LockAcquireTimeoutError extends Error {
|
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* ```ts
|
|
41
|
-
* import { NavigatorLockAcquireTimeoutError } from '@supabase/auth-js'
|
|
42
|
-
*
|
|
43
|
-
* throw new NavigatorLockAcquireTimeoutError('Lock timed out')
|
|
44
|
-
* ```
|
|
38
|
+
* @deprecated The auth client doesn't call `navigator.locks`, so this error
|
|
39
|
+
* never originates from `supabase.auth.*` calls. Direct callers of
|
|
40
|
+
* `navigatorLock` still receive it on acquire timeout.
|
|
45
41
|
*/
|
|
46
42
|
export class NavigatorLockAcquireTimeoutError extends LockAcquireTimeoutError {
|
|
47
43
|
}
|
|
48
44
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* ```ts
|
|
53
|
-
* import { ProcessLockAcquireTimeoutError } from '@supabase/auth-js'
|
|
54
|
-
*
|
|
55
|
-
* throw new ProcessLockAcquireTimeoutError('Lock timed out')
|
|
56
|
-
* ```
|
|
45
|
+
* @deprecated The auth client doesn't run `processLock`, so this error
|
|
46
|
+
* never originates from `supabase.auth.*` calls. Direct callers of
|
|
47
|
+
* `processLock` still receive it on acquire timeout.
|
|
57
48
|
*/
|
|
58
49
|
export class ProcessLockAcquireTimeoutError extends LockAcquireTimeoutError {
|
|
59
50
|
}
|
|
@@ -81,12 +72,10 @@ export class ProcessLockAcquireTimeoutError extends LockAcquireTimeoutError {
|
|
|
81
72
|
* will time out after so many milliseconds. An error is
|
|
82
73
|
* a timeout if it has `isAcquireTimeout` set to true.
|
|
83
74
|
* @param fn The operation to run once the lock is acquired.
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
* })
|
|
89
|
-
* ```
|
|
75
|
+
*
|
|
76
|
+
* @deprecated The auth client coordinates refreshes itself and the server
|
|
77
|
+
* resolves concurrent refresh races, so passing `{ lock: navigatorLock }`
|
|
78
|
+
* to it has no effect. You can safely drop the import from your client setup.
|
|
90
79
|
*/
|
|
91
80
|
export async function navigatorLock(name, acquireTimeout, fn) {
|
|
92
81
|
if (internals.debug) {
|
|
@@ -174,7 +163,12 @@ export async function navigatorLock(name, acquireTimeout, fn) {
|
|
|
174
163
|
if (acquireTimeout > 0) {
|
|
175
164
|
clearTimeout(acquireTimeoutTimer);
|
|
176
165
|
}
|
|
177
|
-
|
|
166
|
+
// DOMException does not extend Error in Node.js, so use structural check
|
|
167
|
+
if (e !== null &&
|
|
168
|
+
typeof e === 'object' &&
|
|
169
|
+
'name' in e &&
|
|
170
|
+
e.name === 'AbortError' &&
|
|
171
|
+
acquireTimeout > 0) {
|
|
178
172
|
if (abortController.signal.aborted) {
|
|
179
173
|
// OUR timeout fired — the lock is genuinely orphaned. Steal it.
|
|
180
174
|
//
|
|
@@ -244,7 +238,7 @@ const PROCESS_LOCKS = {};
|
|
|
244
238
|
* Useful for environments like React Native or other non-browser
|
|
245
239
|
* single-process (i.e. no concept of "tabs") environments.
|
|
246
240
|
*
|
|
247
|
-
* Use {@link
|
|
241
|
+
* Use {@link navigatorLock} in browser environments.
|
|
248
242
|
*
|
|
249
243
|
* @param name Name of the lock to be acquired.
|
|
250
244
|
* @param acquireTimeout If negative, no timeout. If 0 an error is thrown if
|
|
@@ -252,6 +246,11 @@ const PROCESS_LOCKS = {};
|
|
|
252
246
|
* will time out after so many milliseconds. An error is
|
|
253
247
|
* a timeout if it has `isAcquireTimeout` set to true.
|
|
254
248
|
* @param fn The operation to run once the lock is acquired.
|
|
249
|
+
*
|
|
250
|
+
* @deprecated The auth client coordinates refreshes itself and the server
|
|
251
|
+
* resolves concurrent refresh races, so passing `{ lock: processLock }`
|
|
252
|
+
* to it has no effect. You can safely drop the import from your client setup.
|
|
253
|
+
*
|
|
255
254
|
* @example
|
|
256
255
|
* ```ts
|
|
257
256
|
* await processLock('migrate', 5000, async () => {
|
|
@@ -301,7 +300,7 @@ export async function processLock(name, acquireTimeout, fn) {
|
|
|
301
300
|
clearTimeout(timeoutId);
|
|
302
301
|
}
|
|
303
302
|
// Re-throw timeout errors, ignore others
|
|
304
|
-
if (e
|
|
303
|
+
if (e instanceof LockAcquireTimeoutError) {
|
|
305
304
|
throw e;
|
|
306
305
|
}
|
|
307
306
|
// Fall through to run fn() - previous operation finished with error
|
|
@@ -315,7 +314,7 @@ export async function processLock(name, acquireTimeout, fn) {
|
|
|
315
314
|
return await currentOperation;
|
|
316
315
|
}
|
|
317
316
|
catch (e) {
|
|
318
|
-
if (e
|
|
317
|
+
if (e instanceof LockAcquireTimeoutError) {
|
|
319
318
|
// if the current operation timed out, it doesn't mean that the previous
|
|
320
319
|
// operation finished, so we need continue waiting for it to finish
|
|
321
320
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locks.js","sourceRoot":"","sources":["../../../src/lib/locks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD
|
|
1
|
+
{"version":3,"file":"locks.js","sourceRoot":"","sources":["../../../src/lib/locks.ts"],"names":[],"mappings":"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"}
|