Skip to content

Commit a336ba7

Browse files
jsellamJérémie SellamThangHuuVu
authored
fix(adapters): allow already initialized firebase app 🐛 (#6230)
* 🐛 Fix already initialized firebase app * remove comment Co-authored-by: Jérémie Sellam <[email protected]> Co-authored-by: Thang Vu <[email protected]>
1 parent 681d53c commit a336ba7

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { initializeApp, getApps, FirebaseOptions } from "firebase/app"
2+
3+
export default function getFirebase(firebaseOptions: FirebaseOptions) {
4+
const apps = getApps()
5+
const app = apps.find((app) => app.name === firebaseOptions.projectId)
6+
if (app) {
7+
return app
8+
} else {
9+
return initializeApp(firebaseOptions)
10+
}
11+
}

packages/adapter-firebase/src/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import type {
2525
} from "next-auth/adapters"
2626

2727
import { getConverter } from "./converter"
28+
import getFirebase from "./getFirebase"
2829

2930
export type IndexableObject = Record<string, unknown>
3031

@@ -39,7 +40,7 @@ export function FirestoreAdapter({
3940
emulator,
4041
...firebaseOptions
4142
}: FirebaseOptions & FirestoreAdapterOptions): Adapter {
42-
const firebaseApp = initializeApp(firebaseOptions)
43+
const firebaseApp = getFirebase(firebaseOptions)
4344
const db = getFirestore(firebaseApp)
4445

4546
if (emulator) {

0 commit comments

Comments
 (0)