Skip to content

Commit 8424077

Browse files
committed
fix(emulators): pass client side option to hide auth warning
1 parent e68977b commit 8424077

File tree

3 files changed

+30
-5
lines changed

3 files changed

+30
-5
lines changed

packages/nuxt/src/module.ts

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,19 @@ export default defineNuxtModule<VueFireNuxtModuleOptions>({
6666
nuxt.options.appConfig.firebaseConfig = markRaw(options.config)
6767
nuxt.options.appConfig.vuefireOptions = markRaw(options)
6868

69-
nuxt.options.runtimeConfig.vuefire = { options }
69+
nuxt.options.runtimeConfig.vuefire = {
70+
options: {
71+
...options,
72+
// ensure the resolved version easier to consume
73+
emulators: {
74+
enabled:
75+
typeof options.emulators === 'object'
76+
? options.emulators.enabled
77+
: !!options.emulators,
78+
...(typeof options.emulators === 'object' ? options.emulators : {}),
79+
},
80+
},
81+
}
7082

7183
nuxt.options.build.transpile.push(runtimeDir)
7284
nuxt.options.build.transpile.push(templatesDir)
@@ -181,6 +193,11 @@ export default defineNuxtModule<VueFireNuxtModuleOptions>({
181193

182194
if (emulatorsConfig) {
183195
const emulators = detectEmulators(options, emulatorsConfig, logger)
196+
// add the option to disable the warning. It only exists in Auth
197+
if (emulators?.auth) {
198+
emulators.auth.options =
199+
nuxt.options.runtimeConfig.vuefire.options?.emulators?.auth?.options
200+
}
184201

185202
// expose the detected emulators to the plugins
186203
nuxt.options.runtimeConfig.public.vuefire ??= {}
@@ -315,7 +332,7 @@ interface VueFireRuntimeConfig {
315332
* Options passed to the Nuxt VueFire module
316333
* @internal
317334
*/
318-
options?: VueFireNuxtModuleOptions
335+
options?: VueFireNuxtModuleOptionsResolved
319336
}
320337
}
321338

packages/nuxt/src/module/emulators.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,15 @@ const services = [
249249
'storage',
250250
] as const
251251

252-
export type FirebaseEmulatorsToEnable = {
252+
export type FirebaseEmulatorsToEnableBase = {
253253
[key in FirebaseEmulatorService]: { host: string; port: number }
254254
}
255+
256+
export interface FirebaseEmulatorsToEnable
257+
extends FirebaseEmulatorsToEnableBase {
258+
auth: {
259+
host: string
260+
port: number
261+
options?: Parameters<typeof import('firebase/auth').connectAuthEmulator>[2]
262+
}
263+
}

packages/nuxt/src/runtime/emulators/auth.plugin.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ export default defineNuxtPlugin((nuxtApp) => {
1313
}
1414

1515
const {
16-
vuefire,
1716
public: { vuefire: publicVuefire },
1817
} = useRuntimeConfig()
1918

@@ -28,7 +27,7 @@ export default defineNuxtPlugin((nuxtApp) => {
2827
connectAuthEmulator(
2928
getAuth(firebaseApp),
3029
`http://${host}:${port}`,
31-
vuefire?.options?.emulators?.auth?.options
30+
publicVuefire?.emulators?.auth?.options
3231
)
3332
logger.info(`Auth emulator connected to http://${host}:${port}`)
3433
connectedEmulators.set(firebaseApp, true)

0 commit comments

Comments
 (0)