Skip to content

Commit a00eacf

Browse files
committed
fix: use null check for keyName fallback and tailor error messages
Use keyName == null instead of truthiness check so empty strings don't incorrectly trigger fallback. Error messages now only suggest SUPABASE_*_KEY for the default key, not for named keys.
1 parent 426deab commit a00eacf

2 files changed

Lines changed: 14 additions & 10 deletions

File tree

src/core/create-admin-client.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,14 @@ export function createAdminClient(
1313

1414
const name = keyName ?? 'default'
1515
const keys = resolved.secretKeys
16-
const secretKey = keys[name] ?? (keyName ? undefined : Object.values(keys)[0])
16+
const secretKey =
17+
keys[name] ?? (keyName == null ? Object.values(keys)[0] : undefined)
1718
if (!secretKey) {
18-
throw new EnvError(
19-
`No "${name}" secret key found. Set SUPABASE_SECRET_KEY or include a "${name}" entry in SUPABASE_SECRET_KEYS.`,
20-
'MISSING_SECRET_KEY',
21-
)
19+
const msg =
20+
name === 'default'
21+
? 'No default secret key found. Set SUPABASE_SECRET_KEY or include a "default" entry in SUPABASE_SECRET_KEYS.'
22+
: `No "${name}" secret key found. Include a "${name}" entry in SUPABASE_SECRET_KEYS.`
23+
throw new EnvError(msg, 'MISSING_SECRET_KEY')
2224
}
2325

2426
return createClient(resolved.url, secretKey, {

src/core/create-context-client.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@ export function createContextClient(
1414

1515
const name = keyName ?? 'default'
1616
const keys = resolved.publishableKeys
17-
const anonKey = keys[name] ?? (keyName ? undefined : Object.values(keys)[0])
17+
const anonKey =
18+
keys[name] ?? (keyName == null ? Object.values(keys)[0] : undefined)
1819
if (!anonKey) {
19-
throw new EnvError(
20-
`No "${name}" publishable key found. Set SUPABASE_PUBLISHABLE_KEY or include a "${name}" entry in SUPABASE_PUBLISHABLE_KEYS.`,
21-
'MISSING_PUBLISHABLE_KEY',
22-
)
20+
const msg =
21+
name === 'default'
22+
? 'No default publishable key found. Set SUPABASE_PUBLISHABLE_KEY or include a "default" entry in SUPABASE_PUBLISHABLE_KEYS.'
23+
: `No "${name}" publishable key found. Include a "${name}" entry in SUPABASE_PUBLISHABLE_KEYS.`
24+
throw new EnvError(msg, 'MISSING_PUBLISHABLE_KEY')
2325
}
2426

2527
return createClient(resolved.url, anonKey, {

0 commit comments

Comments
 (0)