Skip to content

Commit c67fed9

Browse files
committed
Remove race condition in creating firebase apps and connect FDC to the emulator
1 parent 09167ea commit c67fed9

File tree

1 file changed

+6
-13
lines changed
  • starters/nextjs/firebase-ecommerce/src/lib/data-connect

1 file changed

+6
-13
lines changed
Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,9 @@
11
import { connectorConfig } from '@firebasegen/default-connector'
2-
import { initializeApp, getApps } from 'firebase/app'
3-
import { getDataConnect } from 'firebase/data-connect'
2+
import { firebaseApp } from "@/lib/firebase";
3+
import { connectDataConnectEmulator, getDataConnect } from 'firebase/data-connect'
44

5-
const firebaseConfig = {
6-
apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
7-
authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
8-
projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
9-
storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
10-
messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
11-
appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID
5+
export const dc = getDataConnect(firebaseApp, connectorConfig)
6+
if (process.env.FIREBASE_DATACONNECT_EMULATOR_HOST) {
7+
const [host, port,] = process.env.FIREBASE_DATACONNECT_EMULATOR_HOST.split(":");
8+
connectDataConnectEmulator(dc, host, +port);
129
}
13-
14-
const firebase_app = getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0]
15-
16-
export const dc = getDataConnect(firebase_app, connectorConfig)

0 commit comments

Comments
 (0)