repositories
loading repo index
repositories
loading repo index
repository
loading code, commits, and activity
certificates
stars
latest
clone command
git clone gitlawb://did:key:z6Mkqhmm...XL9c/certificatesgit clone gitlawb://did:key:z6Mkqhmm.../certificates019974a8sync from playground14h ago| import { initializeApp } from "firebase/app"; |
| #2 | import { getFirestore } from "firebase/firestore"; |
| #3 | import { getAuth } from "firebase/auth"; |
| #4 |
| #5 | // Firebase config reads from environment variables. |
| #6 | // Create a .env.local file (not committed to git) with VITE_* vars. |
| #7 | const firebaseConfig = { |
| #8 | apiKey: import.meta.env.VITE_FIREBASE_API_KEY, |
| #9 | authDomain: import.meta.env.VITE_FIREBASE_AUTH_DOMAIN, |
| #10 | databaseURL: import.meta.env.VITE_FIREBASE_DATABASE_URL, |
| #11 | projectId: import.meta.env.VITE_FIREBASE_PROJECT_ID, |
| #12 | storageBucket: import.meta.env.VITE_FIREBASE_STORAGE_BUCKET, |
| #13 | messagingSenderId: import.meta.env.VITE_FIREBASE_MESSAGING_SENDER_ID, |
| #14 | appId: import.meta.env.VITE_FIREBASE_APP_ID, |
| #15 | measurementId: import.meta.env.VITE_FIREBASE_MEASUREMENT_ID, |
| #16 | }; |
| #17 |
| #18 | // Fail fast if config is missing (prevents silent auth bypass) |
| #19 | const missing = Object.entries(firebaseConfig) |
| #20 | .filter(([, v]) => !v) |
| #21 | .map(([k]) => k); |
| #22 | if (missing.length > 0) { |
| #23 | console.error( |
| #24 | `[firebase] Missing env vars: ${missing.join(", ")}. ` + |
| #25 | `Create a .env.local file with VITE_FIREBASE_* variables.` |
| #26 | ); |
| #27 | } |
| #28 |
| #29 | const app = initializeApp(firebaseConfig); |
| #30 | export const db = getFirestore(app); |
| #31 | export const auth = getAuth(app); |
| #32 |