Skip to content

Instantly share code, notes, and snippets.

@acoyfellow
Created March 18, 2021 15:33
Show Gist options
  • Save acoyfellow/2779fb121fac0f32c7419e8dfede772d to your computer and use it in GitHub Desktop.
Save acoyfellow/2779fb121fac0f32c7419e8dfede772d to your computer and use it in GitHub Desktop.
Example of how to initialize firebase@exp
import { initializeApp } from 'firebase/app';
import { getAuth, onAuthStateChanged } from "firebase/auth";
import { getFirestore } from 'firebase/firestore';
import { getStorage } from "firebase/storage";
let ssrAuthed = window.ssrUser;
const firebaseConfig = {
// ...
};
const firebase = window.firebase || initializeApp(firebaseConfig);
window.firebase = firebase;
const auth = getAuth(firebase);
const firestore = getFirestore(firebase);
const storage = getStorage(firebase);
onAuthStateChanged(auth, (u) => {
console.log({ ssrAuthed, u });
});
export {
firebase,
auth,
firestore,
storage
};
@acoyfellow
Copy link
Author

acoyfellow commented May 5, 2021

@thormuller - no i don't.. but, does that error persist if you add a browser check in the $layout.svelte? Just to be sure this file isn't called on the server. I wonder if that would help.

It may depend on the versio of sk, there might be a change I didn't catch up to yet

@JakubBlaha
Copy link

@thormuller Instead of using the window object to save the app instance, I have used this and it seems to work.

import { initializeApp, getApp, getApps } from 'firebase/app';

const firebase = (getApps().length && getApp()) || initializeApp(firebaseConfig);

@thormuller
Copy link

Thank you both. To @acoyfellow's point, there was just a bit update to SK and an update to Vite. I'm in the midst of that update, so perhaps this is an artifact of the swirl. I'll definitely try your solution if the update doesn't fix things.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment