021fd941da
From issue #29569 that mention `with-firebase` will error when use `measurementId`. I update firebase in this example and changed code into firebase 9 and that error is disappeared. Closes: https://github.com/vercel/next.js/pull/29570 Fixes: https://github.com/vercel/next.js/issues/29569
26 lines
1 KiB
JavaScript
26 lines
1 KiB
JavaScript
import { initializeApp, getApps } from 'firebase/app'
|
|
import { getAnalytics } from 'firebase/analytics'
|
|
export const createFirebaseApp = () => {
|
|
const clientCredentials = {
|
|
apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
|
|
authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
|
|
databaseURL: process.env.NEXT_PUBLIC_FIREBASE_DATABASE_URL,
|
|
projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
|
|
storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
|
|
messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
|
|
appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,
|
|
measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID,
|
|
}
|
|
|
|
if (getApps().length <= 0) {
|
|
const app = initializeApp(clientCredentials)
|
|
// Check that `window` is in scope for the analytics module!
|
|
if (typeof window !== 'undefined') {
|
|
// Enable analytics. https://firebase.google.com/docs/analytics/get-started
|
|
if ('measurementId' in clientCredentials) {
|
|
getAnalytics()
|
|
}
|
|
}
|
|
return app
|
|
}
|
|
}
|