@supabase/supabase-js 2.71.2-canary.7 → 2.72.1-canary.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/README.md +264 -24
- package/dist/main/SupabaseClient.d.ts.map +1 -1
- package/dist/main/SupabaseClient.js +5 -6
- package/dist/main/SupabaseClient.js.map +1 -1
- package/dist/main/lib/helpers.d.ts +8 -0
- package/dist/main/lib/helpers.d.ts.map +1 -1
- package/dist/main/lib/helpers.js +23 -0
- package/dist/main/lib/helpers.js.map +1 -1
- package/dist/main/lib/types.d.ts +9 -1
- package/dist/main/lib/types.d.ts.map +1 -1
- package/dist/main/lib/version.d.ts +1 -1
- package/dist/main/lib/version.d.ts.map +1 -1
- package/dist/main/lib/version.js +7 -1
- package/dist/main/lib/version.js.map +1 -1
- package/dist/module/SupabaseClient.d.ts.map +1 -1
- package/dist/module/SupabaseClient.js +6 -7
- package/dist/module/SupabaseClient.js.map +1 -1
- package/dist/module/lib/helpers.d.ts +8 -0
- package/dist/module/lib/helpers.d.ts.map +1 -1
- package/dist/module/lib/helpers.js +22 -0
- package/dist/module/lib/helpers.js.map +1 -1
- package/dist/module/lib/types.d.ts +9 -1
- package/dist/module/lib/types.d.ts.map +1 -1
- package/dist/module/lib/version.d.ts +1 -1
- package/dist/module/lib/version.d.ts.map +1 -1
- package/dist/module/lib/version.js +7 -1
- package/dist/module/lib/version.js.map +1 -1
- package/dist/umd/supabase.js +1 -1
- package/package.json +20 -28
- package/src/SupabaseClient.ts +8 -6
- package/src/lib/helpers.ts +25 -0
- package/src/lib/types.ts +9 -1
- package/src/lib/version.ts +7 -1
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# `supabase-js` - Isomorphic JavaScript Client for Supabase.
|
|
2
2
|
|
|
3
3
|
- **Documentation:** https://supabase.com/docs/reference/javascript/start
|
|
4
|
-
- TypeDoc: https://supabase.github.io/
|
|
4
|
+
- TypeDoc: https://supabase.github.io/js-client-libs/supabase-js/v2/spec.json
|
|
5
5
|
|
|
6
6
|
<div align="center">
|
|
7
7
|
|
|
@@ -109,36 +109,230 @@ When a Deno version reaches end-of-life and is no longer receiving security upda
|
|
|
109
109
|
|
|
110
110
|
- **Experimental features**: Features marked as experimental may be removed or changed without notice
|
|
111
111
|
|
|
112
|
-
##
|
|
112
|
+
## Development
|
|
113
113
|
|
|
114
|
-
|
|
114
|
+
This package is part of the [Supabase JavaScript monorepo](https://github.com/supabase/js-client-libs). To work on this package:
|
|
115
|
+
|
|
116
|
+
### Building
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# From the monorepo root
|
|
120
|
+
npx nx build supabase-js
|
|
121
|
+
|
|
122
|
+
# Or with watch mode for development
|
|
123
|
+
npx nx build supabase-js --watch
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Testing
|
|
127
|
+
|
|
128
|
+
**Important:** The test suite includes tests for multiple runtime environments (Node.js, Deno, Bun, Expo, Next.js). Each environment has its own test runner and specific requirements.
|
|
129
|
+
|
|
130
|
+
#### Prerequisites for All Integration Tests
|
|
131
|
+
|
|
132
|
+
1. **Docker** must be installed and running
|
|
133
|
+
2. **Supabase CLI** must be installed (`npm install -g supabase` or via package manager)
|
|
134
|
+
3. **Local Supabase instance** must be started:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Navigate to the supabase-js package directory
|
|
138
|
+
cd packages/core/supabase-js
|
|
139
|
+
|
|
140
|
+
# Start Supabase (downloads and starts all required containers)
|
|
141
|
+
npx supabase start
|
|
142
|
+
|
|
143
|
+
# The output will show:
|
|
144
|
+
# - API URL: http://127.0.0.1:54321
|
|
145
|
+
# - Database URL: postgresql://postgres:postgres@127.0.0.1:54322/postgres
|
|
146
|
+
# - Studio URL: http://127.0.0.1:54323
|
|
147
|
+
# - Anon key: [your-anon-key]
|
|
148
|
+
# - Service role key: [your-service-role-key] # Important for some tests!
|
|
149
|
+
|
|
150
|
+
# Return to monorepo root for running tests
|
|
151
|
+
cd ../../..
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
#### Test Scripts Overview
|
|
155
|
+
|
|
156
|
+
| Script | Description | Requirements |
|
|
157
|
+
| -------------------------- | ----------------------------------------- | --------------------------------------- |
|
|
158
|
+
| `test` | Runs unit tests + type checking | None |
|
|
159
|
+
| `test:all` | Unit + integration + browser tests | Supabase running |
|
|
160
|
+
| `test:run` | Jest unit tests only | None |
|
|
161
|
+
| `test:unit` | Jest unit tests in test/unit directory | None |
|
|
162
|
+
| `test:coverage` | Unit tests with coverage report | None |
|
|
163
|
+
| `test:integration` | Node.js integration tests | Supabase running + SERVICE_ROLE_KEY |
|
|
164
|
+
| `test:integration:browser` | Browser tests using Deno + Puppeteer | Supabase running + Deno installed |
|
|
165
|
+
| `test:edge-functions` | Edge Functions tests | Supabase running + Deno installed |
|
|
166
|
+
| `test:types` | TypeScript type checking + JSR validation | None |
|
|
167
|
+
| `test:deno` | Deno runtime compatibility tests | Supabase running + Deno installed |
|
|
168
|
+
| `test:bun` | Bun runtime compatibility tests | Supabase running + Bun installed |
|
|
169
|
+
| Expo (see section below) | React Native/Expo tests | Supabase running + dependencies updated |
|
|
170
|
+
| Next.js (see below) | Next.js SSR tests | Supabase running + dependencies updated |
|
|
171
|
+
| `test:node:playwright` | WebSocket browser tests | Supabase running + Playwright |
|
|
172
|
+
|
|
173
|
+
#### Unit Testing
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
# Run all unit tests (Jest)
|
|
177
|
+
npx nx test supabase-js
|
|
178
|
+
|
|
179
|
+
# Run only unit tests in test/unit directory
|
|
180
|
+
npx nx test:unit supabase-js
|
|
181
|
+
|
|
182
|
+
# Run tests in watch mode during development
|
|
183
|
+
npx nx test supabase-js --watch
|
|
184
|
+
|
|
185
|
+
# Run tests with coverage report
|
|
186
|
+
npx nx test:coverage supabase-js
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
#### Integration Testing
|
|
115
190
|
|
|
116
191
|
```bash
|
|
192
|
+
# Prerequisites: Start Supabase first (see above)
|
|
193
|
+
|
|
194
|
+
# Run Node.js integration tests
|
|
195
|
+
# IMPORTANT: Requires SUPABASE_SERVICE_ROLE_KEY environment variable
|
|
196
|
+
cd packages/core/supabase-js
|
|
197
|
+
export SUPABASE_SERVICE_ROLE_KEY="$(npx supabase status --output json | jq -r '.SERVICE_ROLE_KEY')"
|
|
198
|
+
cd ../../..
|
|
199
|
+
npx nx test:integration supabase-js
|
|
200
|
+
|
|
201
|
+
# Run browser-based integration tests (requires Deno)
|
|
202
|
+
npx nx test:integration:browser supabase-js
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
#### Running All Tests
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
# This runs type checking, unit tests, and integration tests sequentially
|
|
209
|
+
# NOTE: Will fail if Supabase is not running or dependencies not updated
|
|
210
|
+
npx nx test:all supabase-js
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**Common Issues and Solutions:**
|
|
214
|
+
|
|
215
|
+
| Issue | Solution |
|
|
216
|
+
| -------------------------------------------- | --------------------------------------------------------------- |
|
|
217
|
+
| "Cannot find module 'https://deno.land/...'" | Deno tests incorrectly run by Jest - check `jest.config.ts` |
|
|
218
|
+
| "Port 54322 already allocated" | Stop existing Supabase: `npx supabase stop --project-id <name>` |
|
|
219
|
+
| "503 Service Unavailable" for Edge Functions | Supabase not running - start with `npx supabase start` |
|
|
220
|
+
| "Uncommitted changes" during type check | Commit changes or add `--allow-dirty` to JSR publish |
|
|
221
|
+
| Integration tests fail with auth errors | Export `SUPABASE_SERVICE_ROLE_KEY` (see Integration Testing) |
|
|
222
|
+
|
|
223
|
+
### Platform-Specific Testing
|
|
224
|
+
|
|
225
|
+
#### Expo Testing (React Native)
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
# Prerequisites:
|
|
229
|
+
# 1. Supabase must be running (see Prerequisites)
|
|
230
|
+
# 2. Update test dependencies and pack current build
|
|
231
|
+
npx nx update:test-deps:expo supabase-js
|
|
232
|
+
|
|
233
|
+
# Run Expo tests from the Expo test project
|
|
234
|
+
cd packages/core/supabase-js/test/integration/expo
|
|
235
|
+
npm install
|
|
117
236
|
npm test
|
|
237
|
+
cd ../../..
|
|
118
238
|
```
|
|
119
239
|
|
|
120
|
-
|
|
240
|
+
#### Next.js Testing (SSR)
|
|
121
241
|
|
|
122
242
|
```bash
|
|
123
|
-
|
|
124
|
-
|
|
243
|
+
# Prerequisites:
|
|
244
|
+
# 1. Supabase must be running (see Prerequisites)
|
|
245
|
+
# 2. Update test dependencies and pack current build
|
|
246
|
+
npx nx update:test-deps:next supabase-js
|
|
247
|
+
|
|
248
|
+
# 3. Install Playwright browsers and dependencies
|
|
249
|
+
npx playwright install --with-deps
|
|
250
|
+
|
|
251
|
+
# Run Next.js tests from the Next test project
|
|
252
|
+
cd packages/core/supabase-js/test/integration/next
|
|
253
|
+
npm install --legacy-peer-deps
|
|
254
|
+
npm run test
|
|
255
|
+
cd ../../..
|
|
125
256
|
```
|
|
126
257
|
|
|
127
|
-
|
|
258
|
+
#### Deno Testing
|
|
128
259
|
|
|
129
|
-
|
|
260
|
+
```bash
|
|
261
|
+
# Prerequisites:
|
|
262
|
+
# 1. Deno must be installed (https://deno.land)
|
|
263
|
+
# 2. Supabase must be running (see Prerequisites)
|
|
264
|
+
# 3. Update test dependencies:
|
|
265
|
+
npx nx update:test-deps:deno supabase-js
|
|
266
|
+
|
|
267
|
+
# Run Deno tests
|
|
268
|
+
npx nx test:deno supabase-js
|
|
269
|
+
```
|
|
130
270
|
|
|
131
|
-
###
|
|
271
|
+
### Edge Functions Testing
|
|
132
272
|
|
|
133
|
-
The project includes
|
|
273
|
+
The project includes Edge Functions integration tests that require a local Supabase instance to be running.
|
|
134
274
|
|
|
135
|
-
|
|
275
|
+
```bash
|
|
276
|
+
# Prerequisites:
|
|
277
|
+
# 1. Ensure Docker is installed and running
|
|
278
|
+
# 2. Navigate to the supabase-js package directory
|
|
279
|
+
cd packages/core/supabase-js
|
|
280
|
+
|
|
281
|
+
# 3. Start Supabase locally (this will download and start all required containers)
|
|
282
|
+
npx supabase start
|
|
283
|
+
|
|
284
|
+
# Wait for the output showing all services are ready, including:
|
|
285
|
+
# - API URL: http://127.0.0.1:54321
|
|
286
|
+
# - Database URL: postgresql://postgres:postgres@127.0.0.1:54322/postgres
|
|
287
|
+
# - Edge Runtime container
|
|
288
|
+
|
|
289
|
+
# 4. Run the Edge Functions tests from the monorepo root
|
|
290
|
+
cd ../../../ # Back to monorepo root
|
|
291
|
+
npx nx test:edge-functions supabase-js
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
**Important Notes:**
|
|
136
295
|
|
|
137
|
-
The
|
|
296
|
+
- The Edge Functions tests will fail with 503 errors if Supabase is not running
|
|
297
|
+
- If you encounter port conflicts (e.g., "port 54322 already allocated"), stop any existing Supabase instances:
|
|
138
298
|
|
|
139
|
-
|
|
299
|
+
```bash
|
|
300
|
+
npx supabase stop --project-id <project-name>
|
|
301
|
+
# Or stop all Docker containers if unsure:
|
|
302
|
+
docker ps | grep supabase # List all Supabase containers
|
|
303
|
+
```
|
|
140
304
|
|
|
141
|
-
The
|
|
305
|
+
- The tests use the default local development credentials (anon key)
|
|
306
|
+
- Edge Functions are automatically served when `supabase start` is run
|
|
307
|
+
|
|
308
|
+
#### Bun Testing
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
# Prerequisites:
|
|
312
|
+
# 1. Bun must be installed (https://bun.sh)
|
|
313
|
+
# 2. Supabase must be running (see Prerequisites)
|
|
314
|
+
# 3. Update test dependencies:
|
|
315
|
+
npx nx update:test-deps:bun supabase-js
|
|
316
|
+
|
|
317
|
+
# Run Bun tests
|
|
318
|
+
npx nx test:bun supabase-js
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
#### WebSocket Browser Testing
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
# Prerequisites:
|
|
325
|
+
# 1. Supabase must be running (see Prerequisites)
|
|
326
|
+
# 2. Build the UMD bundle first:
|
|
327
|
+
npx nx build supabase-js
|
|
328
|
+
|
|
329
|
+
# Run WebSocket browser tests with Playwright
|
|
330
|
+
cd packages/core/supabase-js/test/integration/node-browser
|
|
331
|
+
npm install
|
|
332
|
+
cp ../../../dist/umd/supabase.js .
|
|
333
|
+
npm run test
|
|
334
|
+
cd ../../..
|
|
335
|
+
```
|
|
142
336
|
|
|
143
337
|
#### CI/CD Testing
|
|
144
338
|
|
|
@@ -146,24 +340,70 @@ When running on CI, the tests automatically use the latest dependencies from the
|
|
|
146
340
|
|
|
147
341
|
1. Builds the main project with current dependencies
|
|
148
342
|
2. Creates a package archive (`.tgz`) with the latest versions
|
|
149
|
-
3. Uses this archive in Expo, Next.js, and
|
|
343
|
+
3. Uses this archive in Expo, Next.js, Deno, and Bun tests to ensure consistency
|
|
344
|
+
|
|
345
|
+
### Updating Test Dependencies
|
|
346
|
+
|
|
347
|
+
The platform-specific tests (Expo, Next.js, Deno, Bun) use a packaged version of supabase-js rather than directly importing from source. This ensures they test the actual built package as it would be consumed by users.
|
|
150
348
|
|
|
151
|
-
####
|
|
349
|
+
#### How It Works
|
|
152
350
|
|
|
153
|
-
|
|
351
|
+
1. **Build** the current supabase-js package
|
|
352
|
+
2. **Pack** it into a `.tgz` file (like `npm pack` does)
|
|
353
|
+
3. **Copy** the `.tgz` to the test directory
|
|
354
|
+
4. **Install** it in the test project
|
|
355
|
+
|
|
356
|
+
This mimics how real users would install and use the package.
|
|
357
|
+
|
|
358
|
+
#### Update Scripts
|
|
154
359
|
|
|
155
360
|
```bash
|
|
156
|
-
# Update
|
|
157
|
-
|
|
361
|
+
# Update ALL test environment dependencies at once
|
|
362
|
+
# This builds, packs, and installs in all test directories
|
|
363
|
+
npx nx update:test-deps supabase-js
|
|
158
364
|
|
|
159
365
|
# Or update specific test environments:
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
366
|
+
npx nx update:test-deps:expo supabase-js # Expo/React Native only
|
|
367
|
+
npx nx update:test-deps:next supabase-js # Next.js only
|
|
368
|
+
npx nx update:test-deps:deno supabase-js # Deno only
|
|
369
|
+
npx nx update:test-deps:bun supabase-js # Bun only
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
**When to Update:**
|
|
373
|
+
|
|
374
|
+
- After making changes to the source code
|
|
375
|
+
- Before running platform-specific tests locally
|
|
376
|
+
- When debugging test failures that might be due to stale dependencies
|
|
377
|
+
|
|
378
|
+
**Note:** CI automatically handles this, so manual updates are only needed for local development.
|
|
379
|
+
|
|
380
|
+
### Test Coverage
|
|
381
|
+
|
|
382
|
+
#### Viewing Coverage Reports
|
|
383
|
+
|
|
384
|
+
```bash
|
|
385
|
+
# Generate coverage report
|
|
386
|
+
npx nx test:coverage supabase-js
|
|
387
|
+
|
|
388
|
+
# Serve coverage report locally (opens interactive HTML report)
|
|
389
|
+
npx nx serve:coverage supabase-js
|
|
390
|
+
# This starts a local server at http://localhost:3000 with the coverage report
|
|
164
391
|
```
|
|
165
392
|
|
|
166
|
-
|
|
393
|
+
The coverage report shows:
|
|
394
|
+
|
|
395
|
+
- Line coverage
|
|
396
|
+
- Branch coverage
|
|
397
|
+
- Function coverage
|
|
398
|
+
- Uncovered lines with highlights
|
|
399
|
+
|
|
400
|
+
Coverage results are also automatically uploaded to Coveralls in CI for tracking over time.
|
|
401
|
+
|
|
402
|
+
### Contributing
|
|
403
|
+
|
|
404
|
+
We welcome contributions! Please see our [Contributing Guide](../../../CONTRIBUTING.md) for details on how to get started.
|
|
405
|
+
|
|
406
|
+
For major changes or if you're unsure about something, please open an issue first to discuss your proposed changes.
|
|
167
407
|
|
|
168
408
|
## Badges
|
|
169
409
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SupabaseClient.d.ts","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SupabaseClient.d.ts","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,12 +40,9 @@ class SupabaseClient {
|
|
|
40
40
|
var _a, _b, _c;
|
|
41
41
|
this.supabaseUrl = supabaseUrl;
|
|
42
42
|
this.supabaseKey = supabaseKey;
|
|
43
|
-
|
|
44
|
-
throw new Error('supabaseUrl is required.');
|
|
43
|
+
const baseUrl = (0, helpers_1.validateSupabaseUrl)(supabaseUrl);
|
|
45
44
|
if (!supabaseKey)
|
|
46
45
|
throw new Error('supabaseKey is required.');
|
|
47
|
-
const _supabaseUrl = (0, helpers_1.ensureTrailingSlash)(supabaseUrl);
|
|
48
|
-
const baseUrl = new URL(_supabaseUrl);
|
|
49
46
|
this.realtimeUrl = new URL('realtime/v1', baseUrl);
|
|
50
47
|
this.realtimeUrl.protocol = this.realtimeUrl.protocol.replace('http', 'ws');
|
|
51
48
|
this.authUrl = new URL('auth/v1', baseUrl);
|
|
@@ -181,7 +178,7 @@ class SupabaseClient {
|
|
|
181
178
|
return (_b = (_a = data.session) === null || _a === void 0 ? void 0 : _a.access_token) !== null && _b !== void 0 ? _b : this.supabaseKey;
|
|
182
179
|
});
|
|
183
180
|
}
|
|
184
|
-
_initSupabaseAuthClient({ autoRefreshToken, persistSession, detectSessionInUrl, storage, storageKey, flowType, lock, debug, }, headers, fetch) {
|
|
181
|
+
_initSupabaseAuthClient({ autoRefreshToken, persistSession, detectSessionInUrl, storage, userStorage, storageKey, flowType, lock, debug, }, headers, fetch) {
|
|
185
182
|
const authHeaders = {
|
|
186
183
|
Authorization: `Bearer ${this.supabaseKey}`,
|
|
187
184
|
apikey: `${this.supabaseKey}`,
|
|
@@ -194,13 +191,14 @@ class SupabaseClient {
|
|
|
194
191
|
persistSession,
|
|
195
192
|
detectSessionInUrl,
|
|
196
193
|
storage,
|
|
194
|
+
userStorage,
|
|
197
195
|
flowType,
|
|
198
196
|
lock,
|
|
199
197
|
debug,
|
|
200
198
|
fetch,
|
|
201
199
|
// auth checks if there is a custom authorizaiton header using this flag
|
|
202
200
|
// so it knows whether to return an error when getUser is called with no session
|
|
203
|
-
hasCustomAuthorizationHeader:
|
|
201
|
+
hasCustomAuthorizationHeader: Object.keys(this.headers).some((key) => key.toLowerCase() === 'authorization'),
|
|
204
202
|
});
|
|
205
203
|
}
|
|
206
204
|
_initRealtimeClient(options) {
|
|
@@ -216,6 +214,7 @@ class SupabaseClient {
|
|
|
216
214
|
if ((event === 'TOKEN_REFRESHED' || event === 'SIGNED_IN') &&
|
|
217
215
|
this.changedAccessToken !== token) {
|
|
218
216
|
this.changedAccessToken = token;
|
|
217
|
+
this.realtime.setAuth(token);
|
|
219
218
|
}
|
|
220
219
|
else if (event === 'SIGNED_OUT') {
|
|
221
220
|
this.realtime.setAuth();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SupabaseClient.js","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,yDAAwD;AAExD,yDAI+B;AAC/B,uDAK8B;AAC9B,qDAA6E;AAC7E,+CAKwB;AACxB,uCAA2C;AAC3C,2CAAyE;AACzE,iEAA6D;AAG7D;;;;GAIG;AACH,MAAqB,cAAc;IAuDjC;;;;;;;;;;;;OAYG;IACH,YACY,WAAmB,EACnB,WAAmB,EAC7B,OAA2C;;QAFjC,gBAAW,GAAX,WAAW,CAAQ;QACnB,gBAAW,GAAX,WAAW,CAAQ;QAG7B,
|
|
1
|
+
{"version":3,"file":"SupabaseClient.js","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,yDAAwD;AAExD,yDAI+B;AAC/B,uDAK8B;AAC9B,qDAA6E;AAC7E,+CAKwB;AACxB,uCAA2C;AAC3C,2CAAyE;AACzE,iEAA6D;AAG7D;;;;GAIG;AACH,MAAqB,cAAc;IAuDjC;;;;;;;;;;;;OAYG;IACH,YACY,WAAmB,EACnB,WAAmB,EAC7B,OAA2C;;QAFjC,gBAAW,GAAX,WAAW,CAAQ;QACnB,gBAAW,GAAX,WAAW,CAAQ;QAG7B,MAAM,OAAO,GAAG,IAAA,6BAAmB,EAAC,WAAW,CAAC,CAAA;QAChD,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAE7D,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QAClD,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAC3E,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;QAEpD,mEAAmE;QACnE,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAA;QAC3E,MAAM,QAAQ,GAAG;YACf,EAAE,EAAE,8BAAkB;YACtB,QAAQ,EAAE,oCAAwB;YAClC,IAAI,kCAAO,gCAAoB,KAAE,UAAU,EAAE,iBAAiB,GAAE;YAChE,MAAM,EAAE,kCAAsB;SAC/B,CAAA;QAED,MAAM,QAAQ,GAAG,IAAA,8BAAoB,EAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,EAAE,QAAQ,CAAC,CAAA;QAE9D,IAAI,CAAC,UAAU,GAAG,MAAA,QAAQ,CAAC,IAAI,CAAC,UAAU,mCAAI,EAAE,CAAA;QAChD,IAAI,CAAC,OAAO,GAAG,MAAA,QAAQ,CAAC,MAAM,CAAC,OAAO,mCAAI,EAAE,CAAA;QAE5C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,uBAAuB,CACtC,MAAA,QAAQ,CAAC,IAAI,mCAAI,EAAE,EACnB,IAAI,CAAC,OAAO,EACZ,QAAQ,CAAC,MAAM,CAAC,KAAK,CACtB,CAAA;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAA;YAEvC,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,CAAqB,EAAS,EAAE;gBACnD,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;oBACf,MAAM,IAAI,KAAK,CACb,6GAA6G,MAAM,CACjH,IAAI,CACL,kBAAkB,CACpB,CAAA;gBACH,CAAC;aACF,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAA,qBAAa,EAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC/F,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,iBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IACzC,QAAQ,CAAC,QAAQ,EACpB,CAAA;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,8BAAe,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE;YAChE,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM;YAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,0BAAqB,CACtC,IAAI,CAAC,UAAU,CAAC,IAAI,EACpB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,EACV,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CACjB,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC7B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,8BAAe,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;YACjD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,KAAK;SACxB,CAAC,CAAA;IACJ,CAAC;IAUD;;;;OAIG;IACH,IAAI,CAAC,QAAgB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;IAED,oEAAoE;IACpE;;;;;;OAMG;IACH,MAAM,CACJ,MAAqB;QAOrB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAgB,MAAM,CAAC,CAAA;IAChD,CAAC;IAED,iEAAiE;IACjE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,GAAG,CACD,EAAU,EACV,OAAmB,EAAE,EACrB,UAII,EAAE;QAcN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,IAAY,EAAE,OAA+B,EAAE,MAAM,EAAE,EAAE,EAAE;QACjE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;IACpC,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,OAAwB;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAA;IAC1C,CAAC;IAEa,eAAe;;;YAC3B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;YACjC,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAE7C,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,YAAY,mCAAI,IAAI,CAAC,WAAW,CAAA;QACvD,CAAC;KAAA;IAEO,uBAAuB,CAC7B,EACE,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,KAAK,GACqB,EAC5B,OAAgC,EAChC,KAAa;QAEb,MAAM,WAAW,GAAG;YAClB,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;YAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE;SAC9B,CAAA;QACD,OAAO,IAAI,uCAAkB,CAAC;YAC5B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACtB,OAAO,kCAAO,WAAW,GAAK,OAAO,CAAE;YACvC,UAAU,EAAE,UAAU;YACtB,gBAAgB;YAChB,cAAc;YACd,kBAAkB;YAClB,OAAO;YACP,WAAW;YACX,QAAQ;YACR,IAAI;YACJ,KAAK;YACL,KAAK;YACL,wEAAwE;YACxE,gFAAgF;YAChF,4BAA4B,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC1D,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,eAAe,CAC/C;SACF,CAAC,CAAA;IACJ,CAAC;IAEO,mBAAmB,CAAC,OAA8B;QACxD,OAAO,IAAI,4BAAc,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,kCAC1C,OAAO,KACV,MAAM,gBAAO,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,EAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAC7D,CAAA;IACJ,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACxD,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,mBAAmB,CACzB,KAAsB,EACtB,MAA4B,EAC5B,KAAc;QAEd,IACE,CAAC,KAAK,KAAK,iBAAiB,IAAI,KAAK,KAAK,WAAW,CAAC;YACtD,IAAI,CAAC,kBAAkB,KAAK,KAAK,EACjC,CAAC;YACD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAA;YAC/B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC;aAAM,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;YACvB,IAAI,MAAM,IAAI,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;YAC5C,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAA;QACrC,CAAC;IACH,CAAC;CACF;AA9VD,iCA8VC"}
|
|
@@ -3,4 +3,12 @@ export declare function uuid(): string;
|
|
|
3
3
|
export declare function ensureTrailingSlash(url: string): string;
|
|
4
4
|
export declare const isBrowser: () => boolean;
|
|
5
5
|
export declare function applySettingDefaults<Database = any, SchemaName extends string & keyof Database = 'public' extends keyof Database ? 'public' : string & keyof Database>(options: SupabaseClientOptions<SchemaName>, defaults: SupabaseClientOptions<any>): Required<SupabaseClientOptions<SchemaName>>;
|
|
6
|
+
/**
|
|
7
|
+
* Validates a Supabase client URL
|
|
8
|
+
*
|
|
9
|
+
* @param {string} supabaseUrl - The Supabase client URL string.
|
|
10
|
+
* @returns {URL} - The validated base URL.
|
|
11
|
+
* @throws {Error}
|
|
12
|
+
*/
|
|
13
|
+
export declare function validateSupabaseUrl(supabaseUrl: string): URL;
|
|
6
14
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/C,wBAAgB,IAAI,WAMnB;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,eAAO,MAAM,SAAS,eAAsC,CAAA;AAE5D,wBAAgB,oBAAoB,CAClC,QAAQ,GAAG,GAAG,EACd,UAAU,SAAS,MAAM,GAAG,MAAM,QAAQ,GAAG,QAAQ,SAAS,MAAM,QAAQ,GACxE,QAAQ,GACR,MAAM,GAAG,MAAM,QAAQ,EAE3B,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,EAC1C,QAAQ,EAAE,qBAAqB,CAAC,GAAG,CAAC,GACnC,QAAQ,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CA+C7C"}
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/C,wBAAgB,IAAI,WAMnB;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,eAAO,MAAM,SAAS,eAAsC,CAAA;AAE5D,wBAAgB,oBAAoB,CAClC,QAAQ,GAAG,GAAG,EACd,UAAU,SAAS,MAAM,GAAG,MAAM,QAAQ,GAAG,QAAQ,SAAS,MAAM,QAAQ,GACxE,QAAQ,GACR,MAAM,GAAG,MAAM,QAAQ,EAE3B,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC,EAC1C,QAAQ,EAAE,qBAAqB,CAAC,GAAG,CAAC,GACnC,QAAQ,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CA+C7C;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAgB5D"}
|
package/dist/main/lib/helpers.js
CHANGED
|
@@ -13,6 +13,7 @@ exports.isBrowser = void 0;
|
|
|
13
13
|
exports.uuid = uuid;
|
|
14
14
|
exports.ensureTrailingSlash = ensureTrailingSlash;
|
|
15
15
|
exports.applySettingDefaults = applySettingDefaults;
|
|
16
|
+
exports.validateSupabaseUrl = validateSupabaseUrl;
|
|
16
17
|
function uuid() {
|
|
17
18
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
18
19
|
var r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;
|
|
@@ -45,4 +46,26 @@ function applySettingDefaults(options, defaults) {
|
|
|
45
46
|
}
|
|
46
47
|
return result;
|
|
47
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Validates a Supabase client URL
|
|
51
|
+
*
|
|
52
|
+
* @param {string} supabaseUrl - The Supabase client URL string.
|
|
53
|
+
* @returns {URL} - The validated base URL.
|
|
54
|
+
* @throws {Error}
|
|
55
|
+
*/
|
|
56
|
+
function validateSupabaseUrl(supabaseUrl) {
|
|
57
|
+
const trimmedUrl = supabaseUrl === null || supabaseUrl === void 0 ? void 0 : supabaseUrl.trim();
|
|
58
|
+
if (!trimmedUrl) {
|
|
59
|
+
throw new Error('supabaseUrl is required.');
|
|
60
|
+
}
|
|
61
|
+
if (!trimmedUrl.match(/^https?:\/\//i)) {
|
|
62
|
+
throw new Error('Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.');
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
return new URL(ensureTrailingSlash(trimmedUrl));
|
|
66
|
+
}
|
|
67
|
+
catch (_a) {
|
|
68
|
+
throw Error('Invalid supabaseUrl: Provided URL is malformed.');
|
|
69
|
+
}
|
|
70
|
+
}
|
|
48
71
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/lib/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,oBAMC;AAED,kDAEC;AAID,oDAuDC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/lib/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,oBAMC;AAED,kDAEC;AAID,oDAuDC;AASD,kDAgBC;AA9FD,SAAgB,IAAI;IAClB,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;QACxE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAC9B,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;QACpC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAgB,mBAAmB,CAAC,GAAW;IAC7C,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAA;AAC5C,CAAC;AAEM,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,CAAA;AAA/C,QAAA,SAAS,aAAsC;AAE5D,SAAgB,oBAAoB,CAMlC,OAA0C,EAC1C,QAAoC;;IAEpC,MAAM,EACJ,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,aAAa,GACtB,GAAG,OAAO,CAAA;IACX,MAAM,EACJ,EAAE,EAAE,kBAAkB,EACtB,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,EAAE,wBAAwB,EAClC,MAAM,EAAE,sBAAsB,GAC/B,GAAG,QAAQ,CAAA;IAEZ,MAAM,MAAM,GAAgD;QAC1D,EAAE,kCACG,kBAAkB,GAClB,SAAS,CACb;QACD,IAAI,kCACC,oBAAoB,GACpB,WAAW,CACf;QACD,QAAQ,kCACH,wBAAwB,GACxB,eAAe,CACnB;QACD,OAAO,EAAE,EAAE;QACX,MAAM,gDACD,sBAAsB,GACtB,aAAa,KAChB,OAAO,kCACF,CAAC,MAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,OAAO,mCAAI,EAAE,CAAC,GACvC,CAAC,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,mCAAI,EAAE,CAAC,IAEpC;QACD,WAAW,EAAE,GAAS,EAAE,gDAAC,OAAA,EAAE,CAAA,GAAA;KAC5B,CAAA;IAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;IAC1C,CAAC;SAAM,CAAC;QACN,yBAAyB;QACzB,OAAQ,MAAc,CAAC,WAAW,CAAA;IACpC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,WAAmB;IACrD,MAAM,UAAU,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,EAAE,CAAA;IAEtC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC5E,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAA;IACjD,CAAC;IAAC,WAAM,CAAC;QACP,MAAM,KAAK,CAAC,iDAAiD,CAAC,CAAA;IAChE,CAAC;AACH,CAAC"}
|
package/dist/main/lib/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AuthClient } from '@supabase/auth-js';
|
|
2
2
|
import { RealtimeClientOptions } from '@supabase/realtime-js';
|
|
3
3
|
import { PostgrestError } from '@supabase/postgrest-js';
|
|
4
|
-
import { StorageClientOptions } from '@supabase/storage-js
|
|
4
|
+
import type { StorageClientOptions } from '@supabase/storage-js';
|
|
5
5
|
type AuthClientOptions = ConstructorParameters<typeof AuthClient>[0];
|
|
6
6
|
export interface SupabaseAuthClientOptions extends AuthClientOptions {
|
|
7
7
|
}
|
|
@@ -34,6 +34,14 @@ export type SupabaseClientOptions<SchemaName> = {
|
|
|
34
34
|
* A storage provider. Used to store the logged-in session.
|
|
35
35
|
*/
|
|
36
36
|
storage?: SupabaseAuthClientOptions['storage'];
|
|
37
|
+
/**
|
|
38
|
+
* A storage provider to store the user profile separately from the session.
|
|
39
|
+
* Useful when you need to store the session information in cookies,
|
|
40
|
+
* without bloating the data with the redundant user object.
|
|
41
|
+
*
|
|
42
|
+
* @experimental
|
|
43
|
+
*/
|
|
44
|
+
userStorage?: SupabaseAuthClientOptions['userStorage'];
|
|
37
45
|
/**
|
|
38
46
|
* OAuth flow to use - defaults to implicit flow. PKCE is recommended for mobile and server-side applications.
|
|
39
47
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "
|
|
1
|
+
export declare const version = "2.72.1-canary.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/lib/version.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/lib/version.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,oBAAoB,CAAA"}
|
package/dist/main/lib/version.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.version = void 0;
|
|
4
|
-
|
|
4
|
+
// Generated automatically during releases by scripts/update-version-files.ts
|
|
5
|
+
// This file provides runtime access to the package version for:
|
|
6
|
+
// - HTTP request headers (e.g., X-Client-Info header for API requests)
|
|
7
|
+
// - Debugging and support (identifying which version is running)
|
|
8
|
+
// - Telemetry and logging (version reporting in errors/analytics)
|
|
9
|
+
// - Ensuring build artifacts match the published package version
|
|
10
|
+
exports.version = '2.72.1-canary.0';
|
|
5
11
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/lib/version.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/lib/version.ts"],"names":[],"mappings":";;;AAAA,6EAA6E;AAC7E,gEAAgE;AAChE,uEAAuE;AACvE,iEAAiE;AACjE,kEAAkE;AAClE,iEAAiE;AACpD,QAAA,OAAO,GAAG,iBAAiB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SupabaseClient.d.ts","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SupabaseClient.d.ts","sourceRoot":"","sources":["../../src/SupabaseClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,cAAc,EAEf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,aAAa,IAAI,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAS7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAA6B,MAAM,aAAa,CAAA;AAEpG;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc,CACjC,QAAQ,GAAG,GAAG,EAId,yBAAyB,SACrB,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,GACrD;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,SAAS,MAAM,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,GAC1F,QAAQ,GACR,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,EACvD,UAAU,SAAS,MAAM,GACvB,MAAM,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,GAAG,yBAAyB,SAAS,MAAM,GACrF,MAAM,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,GACxC,yBAAyB,GACzB,QAAQ,SAAS,MAAM,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,GACzD,QAAQ,GACR,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,EAAE,oBAAoB,CAAC,EACrF,MAAM,SAAS,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,UAAU,CAAC,SAAS,aAAa,GACjF,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,UAAU,CAAC,GAChD,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,UAAU,CAAC,SAAS,aAAa,GAC9E,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,UAAU,CAAC,GAChD,KAAK,EACT,aAAa,SAAS;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAAG,yBAAyB,SAAS,MAAM,GAC3F,MAAM,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,GAExC,QAAQ,SAAS;IAAE,kBAAkB,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACnE,QAAQ,CAAC,oBAAoB,CAAC,GAE9B;IAAE,gBAAgB,EAAE,IAAI,CAAA;CAAE,GAC5B,yBAAyB,SAAS;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAC5D,yBAAyB,GACzB,KAAK;IAsCT,SAAS,CAAC,WAAW,EAAE,MAAM;IAC7B,SAAS,CAAC,WAAW,EAAE,MAAM;IArC/B;;OAEG;IACH,IAAI,EAAE,kBAAkB,CAAA;IACxB,QAAQ,EAAE,cAAc,CAAA;IACxB;;OAEG;IACH,OAAO,EAAE,qBAAqB,CAAA;IAE9B,SAAS,CAAC,WAAW,EAAE,GAAG,CAAA;IAC1B,SAAS,CAAC,OAAO,EAAE,GAAG,CAAA;IACtB,SAAS,CAAC,UAAU,EAAE,GAAG,CAAA;IACzB,SAAS,CAAC,YAAY,EAAE,GAAG,CAAA;IAC3B,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAA;IACpE,SAAS,CAAC,UAAU,EAAE,MAAM,CAAA;IAC5B,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACvB,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IACrC,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAEpD,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEzC;;;;;;;;;;;;OAYG;gBAES,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EAC7B,OAAO,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC;IAqE7C;;OAEG;IACH,IAAI,SAAS,IAAI,eAAe,CAK/B;IAGD,IAAI,CACF,SAAS,SAAS,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EACjD,KAAK,SAAS,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EACzC,QAAQ,EAAE,SAAS,GAAG,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;IACtF,IAAI,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAC1F,QAAQ,EAAE,QAAQ,GACjB,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC;IAW/D;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,EAC9E,MAAM,EAAE,aAAa,GACpB,eAAe,CAChB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,QAAQ,CAAC,aAAa,CAAC,SAAS,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,GAAG,CAC9E;IAKD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,GAAG,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAC3F,EAAE,EAAE,MAAM,EACV,IAAI,GAAE,EAAE,CAAC,MAAM,CAAM,EACrB,OAAO,GAAE;QACP,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,GAAG,CAAC,EAAE,OAAO,CAAA;QACb,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;KACrC,GACL,sBAAsB,CACvB,aAAa,EACb,MAAM,EACN,EAAE,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,GACvB,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnD,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GACrB,KAAK,GACP,KAAK,EACT,EAAE,CAAC,SAAS,CAAC,EACb,MAAM,EACN,IAAI,EACJ,KAAK,CACN;IAID;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,sBAAuC,GAAG,eAAe;IAIrF;;OAEG;IACH,WAAW,IAAI,eAAe,EAAE;IAIhC;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC;IAI9E;;OAEG;IACH,iBAAiB,IAAI,OAAO,CAAC,CAAC,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC,EAAE,CAAC;YAIhD,eAAe;IAU7B,OAAO,CAAC,uBAAuB;IAwC/B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,mBAAmB;CAiB5B"}
|
|
@@ -13,7 +13,7 @@ import { RealtimeClient, } from '@supabase/realtime-js';
|
|
|
13
13
|
import { StorageClient as SupabaseStorageClient } from '@supabase/storage-js';
|
|
14
14
|
import { DEFAULT_GLOBAL_OPTIONS, DEFAULT_DB_OPTIONS, DEFAULT_AUTH_OPTIONS, DEFAULT_REALTIME_OPTIONS, } from './lib/constants';
|
|
15
15
|
import { fetchWithAuth } from './lib/fetch';
|
|
16
|
-
import {
|
|
16
|
+
import { applySettingDefaults, validateSupabaseUrl } from './lib/helpers';
|
|
17
17
|
import { SupabaseAuthClient } from './lib/SupabaseAuthClient';
|
|
18
18
|
/**
|
|
19
19
|
* Supabase Client.
|
|
@@ -38,12 +38,9 @@ export default class SupabaseClient {
|
|
|
38
38
|
var _a, _b, _c;
|
|
39
39
|
this.supabaseUrl = supabaseUrl;
|
|
40
40
|
this.supabaseKey = supabaseKey;
|
|
41
|
-
|
|
42
|
-
throw new Error('supabaseUrl is required.');
|
|
41
|
+
const baseUrl = validateSupabaseUrl(supabaseUrl);
|
|
43
42
|
if (!supabaseKey)
|
|
44
43
|
throw new Error('supabaseKey is required.');
|
|
45
|
-
const _supabaseUrl = ensureTrailingSlash(supabaseUrl);
|
|
46
|
-
const baseUrl = new URL(_supabaseUrl);
|
|
47
44
|
this.realtimeUrl = new URL('realtime/v1', baseUrl);
|
|
48
45
|
this.realtimeUrl.protocol = this.realtimeUrl.protocol.replace('http', 'ws');
|
|
49
46
|
this.authUrl = new URL('auth/v1', baseUrl);
|
|
@@ -179,7 +176,7 @@ export default class SupabaseClient {
|
|
|
179
176
|
return (_b = (_a = data.session) === null || _a === void 0 ? void 0 : _a.access_token) !== null && _b !== void 0 ? _b : this.supabaseKey;
|
|
180
177
|
});
|
|
181
178
|
}
|
|
182
|
-
_initSupabaseAuthClient({ autoRefreshToken, persistSession, detectSessionInUrl, storage, storageKey, flowType, lock, debug, }, headers, fetch) {
|
|
179
|
+
_initSupabaseAuthClient({ autoRefreshToken, persistSession, detectSessionInUrl, storage, userStorage, storageKey, flowType, lock, debug, }, headers, fetch) {
|
|
183
180
|
const authHeaders = {
|
|
184
181
|
Authorization: `Bearer ${this.supabaseKey}`,
|
|
185
182
|
apikey: `${this.supabaseKey}`,
|
|
@@ -192,13 +189,14 @@ export default class SupabaseClient {
|
|
|
192
189
|
persistSession,
|
|
193
190
|
detectSessionInUrl,
|
|
194
191
|
storage,
|
|
192
|
+
userStorage,
|
|
195
193
|
flowType,
|
|
196
194
|
lock,
|
|
197
195
|
debug,
|
|
198
196
|
fetch,
|
|
199
197
|
// auth checks if there is a custom authorizaiton header using this flag
|
|
200
198
|
// so it knows whether to return an error when getUser is called with no session
|
|
201
|
-
hasCustomAuthorizationHeader:
|
|
199
|
+
hasCustomAuthorizationHeader: Object.keys(this.headers).some((key) => key.toLowerCase() === 'authorization'),
|
|
202
200
|
});
|
|
203
201
|
}
|
|
204
202
|
_initRealtimeClient(options) {
|
|
@@ -214,6 +212,7 @@ export default class SupabaseClient {
|
|
|
214
212
|
if ((event === 'TOKEN_REFRESHED' || event === 'SIGNED_IN') &&
|
|
215
213
|
this.changedAccessToken !== token) {
|
|
216
214
|
this.changedAccessToken = token;
|
|
215
|
+
this.realtime.setAuth(token);
|
|
217
216
|
}
|
|
218
217
|
else if (event === 'SIGNED_OUT') {
|
|
219
218
|
this.realtime.setAuth();
|