Skip to content

Commit 541a6c4

Browse files
committed
perf: avoid creating custom provider for nothing
1 parent 37365ed commit 541a6c4

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

packages/nuxt/src/runtime/app-check/plugin.client.ts

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,29 @@ export default defineNuxtPlugin((nuxtApp) => {
1717
const options = appConfig.vuefireOptions.appCheck!
1818
const firebaseApp = nuxtApp.$firebaseApp as FirebaseApp
1919

20-
// Add a default provider for production
21-
// TODO: make this a dev only warning
22-
let provider: AppCheckOptions['provider'] = new CustomProvider({
23-
getToken: () =>
24-
Promise.reject(
25-
process.env.NODE_ENV !== 'production'
26-
? new Error(`[VueFire]: Unknown Provider "${options.provider}".`)
27-
: new Error('app-check/invalid-provider')
28-
),
29-
})
20+
let provider: AppCheckOptions['provider']
3021

3122
if (options.provider === 'ReCaptchaV3') {
3223
provider = new ReCaptchaV3Provider(options.key)
3324
} else if (options.provider === 'ReCaptchaEnterprise') {
3425
provider = new ReCaptchaEnterpriseProvider(options.key)
26+
} else {
27+
// default provider that fails
28+
// TODO: make this a dev only warning
29+
provider = new CustomProvider({
30+
getToken: () =>
31+
Promise.reject(
32+
process.env.NODE_ENV !== 'production'
33+
? new Error(
34+
`[VueFire]: Unknown Provider "${
35+
// @ts-expect-error: options.provider is never here
36+
options.provider
37+
}".`
38+
// eslint-disable-next-line indent
39+
)
40+
: new Error('app-check/invalid-provider')
41+
),
42+
})
3543
}
3644

3745
VueFireAppCheck({

0 commit comments

Comments
 (0)