|
1 |
| -// @ts-check import { usePendingPromises, VueFire, useSSRInitialState } from |
2 |
| -'vuefire' import { initializeApp } from 'firebase/app' import { |
3 |
| -defineNuxtPlugin, toRaw, useAppConfig, useRuntimeConfig } from '#imports' import |
4 |
| -{ connectFirestoreEmulator, getFirestore } from 'firebase/firestore' import { |
5 |
| -connectDatabaseEmulator, getDatabase } from 'firebase/database' export default |
6 |
| -defineNuxtPlugin((nuxtApp) => { const appConfig = useAppConfig() const |
7 |
| -firebaseConfig = toRaw(appConfig).firebaseConfig console.log('Initializing |
8 |
| -Firebase app...', firebaseConfig) const firebaseApp = |
9 |
| -initializeApp(firebaseConfig) console.log('initialized firebase app', |
10 |
| -!!firebaseApp) // connectFirestoreEmulator(getFirestore(firebaseApp), |
11 |
| -'localhost', 8080) // connectDatabaseEmulator(getDatabase(firebaseApp), |
12 |
| -'localhost', 8081) nuxtApp.vueApp.use(VueFire, { firebaseApp, services: [ <% |
13 |
| -if(options.services.auth) { %> // Auth <% } %> ] }) if (process.server) { // |
14 |
| -TODO: pass the firebaseApp nuxtApp.payload.vuefire = |
15 |
| -useSSRInitialState(undefined, firebaseApp) } else if (nuxtApp.payload?.vuefire) |
16 |
| -{ // hydrate the plugin state from nuxtApp.payload.vuefire |
17 |
| -useSSRInitialState(nuxtApp.payload.vuefire, firebaseApp) } return {} }) |
| 1 | +import { usePendingPromises, VueFire, useSSRInitialState } from 'vuefire' |
| 2 | +import { initializeApp } from 'firebase/app' |
| 3 | +import { |
| 4 | + defineNuxtPlugin, |
| 5 | + useAppConfig, |
| 6 | + useRuntimeConfig, |
| 7 | +} from '#app' |
| 8 | +import { |
| 9 | + connectFirestoreEmulator, |
| 10 | + getFirestore, |
| 11 | +} from 'firebase/firestore' |
| 12 | +import { |
| 13 | +connectDatabaseEmulator, |
| 14 | +getDatabase, |
| 15 | +} from 'firebase/database' |
| 16 | +import { |
| 17 | + toRaw, |
| 18 | +} from 'vue-demi' |
| 19 | + |
| 20 | +export default defineNuxtPlugin((nuxtApp) => { |
| 21 | + const appConfig = useAppConfig() |
| 22 | + const firebaseConfig = toRaw(appConfig).firebaseConfig |
| 23 | + console.log('Initializing Firebase app...', firebaseConfig) |
| 24 | + |
| 25 | + const firebaseApp = initializeApp(firebaseConfig) |
| 26 | + console.log('initialized firebase app', !!firebaseApp) |
| 27 | + |
| 28 | + // connectFirestoreEmulator(getFirestore(firebaseApp), 'localhost', 8080) |
| 29 | + // connectDatabaseEmulator(getDatabase(firebaseApp), 'localhost', 8081) |
| 30 | + |
| 31 | + nuxtApp.vueApp.use(VueFire, { |
| 32 | + firebaseApp, |
| 33 | + services: [ |
| 34 | + <% if(options.services.auth) { %> |
| 35 | + // Auth |
| 36 | + <% } %> |
| 37 | + ], |
| 38 | + }) |
| 39 | + |
| 40 | + if (process.server) { |
| 41 | + // TODO: pass the firebaseApp |
| 42 | + nuxtApp.payload.vuefire = useSSRInitialState(undefined, firebaseApp) |
| 43 | + } else if (nuxtApp.payload?.vuefire) { |
| 44 | + // hydrate the plugin state from nuxtApp.payload.vuefire |
| 45 | + useSSRInitialState(nuxtApp.payload.vuefire, firebaseApp) |
| 46 | + } |
| 47 | + |
| 48 | + return {} |
| 49 | +}) |
0 commit comments