feat: connect firebase emulator (#1196)

This commit is contained in:
Himself65
2023-02-24 11:59:53 -06:00
committed by GitHub
parent da1d00d9bf
commit f2ce1ae662

View File

@@ -1,6 +1,6 @@
import { DebugLogger } from '@affine/debug';
import { initializeApp } from 'firebase/app';
import type { User } from 'firebase/auth';
import { connectAuthEmulator, User } from 'firebase/auth';
import {
type Auth as FirebaseAuth,
getAuth as getFirebaseAuth,
@@ -203,6 +203,9 @@ export function createGoogleAuth(bareAuth: KyInstance): GoogleAuth {
return new GoogleAuth(bareAuth);
}
// Connect emulators based on env vars
const envConnectEmulators = process.env.REACT_APP_FIREBASE_EMULATORS === 'true';
export const getAuthorizer = (googleAuth: GoogleAuth) => {
let _firebaseAuth: FirebaseAuth | null = null;
const logger = new DebugLogger('authorizer');
@@ -223,6 +226,12 @@ export const getAuthorizer = (googleAuth: GoogleAuth) => {
});
_firebaseAuth = getFirebaseAuth(app);
}
if (envConnectEmulators && !(window as any).firebaseAuthEmulatorStarted) {
connectAuthEmulator(_firebaseAuth, 'http://localhost:9099', {
disableWarnings: true,
});
(window as any).firebaseAuthEmulatorStarted = true;
}
return _firebaseAuth;
} catch (error) {
logger.error('Failed to initialize firebase', error);