[FR] Dedicated initializer function for connecting to the Firebase emulator suite
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- node.js, typescript
Línea de trabajo
Empieza leyendo los puntos de entrada del Admin SDK initializeApp, getAuth y getFirestore, junto con el manejo actual de FIRESTORE_EMULATOR_HOST. Compara la inicialización del emulador solicitada con los enfoques existentes de los clientes web y móviles. Se considera terminado cuando se admitan instancias de FirebaseApp separadas para el emulador y para Firebase remoto sin una variable de entorno temporal, incluido el uso de Auth y Firestore.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The use case involves use of two initialized instances of FirebaseApp, one for the emulator and another for an actual project. Specifically, it's desirable to programmatically copy data from one to the other without having to export then import separately.
Currently, the Admin SDK requires that an env var is set with host and port in order to connect to the emulator. This is unnecessarily complex when it comes time to init the app. For example, using Auth and Firestore together (and potentially more products) requires code like this:
import { initializeApp } from "firebase-admin/app"
import { getAuth } from "firebase-admin/auth"
import { getFirestore } from "firebase-admin/firestore"
export const remote = initializeApp()
export const remoteAuth = getAuth(remote)
export const remoteFirestore = getFirestore(remote)
process.env.FIRESTORE_EMULATOR_HOST = 'localhost:8080'
export const local = initializeApp(undefined, "local")
export const localAuth = getFirestore(local)
export const localFirestore = getFirestore(local)
delete process.env.FIRESTORE_EMULATOR_HOST
The use of the temporary env var is clunky here, and it would be more straightforward if there was a dedicated function that allowed the caller to pass the host and port instead:
const host, port = ...
export const local = initializeEmulatorApp(host, port, "local")
export const localAuth = getFirestore(local)
export const localFirestore = getFirestore(local)
Either that, or something similar to the way the web and mobile clients work for connecting to the emulator.
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.7k
- Forks
- 419
- Merge medio
- 4 d 20 h
- PR fusionados (30 d)
- 16
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de firebase/firebase-admin-node
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
firebase/firebase-admin-node#3234 ·
Los mantenedores suelen responder en 1 día
-
[email protected] stable dependency tree fails npm audit via Storage uuid and Firestore google-gaxPosiblemente ocupada @lahirumaramba la tomó hace 17 días. Abierto
firebase/firebase-admin-node#3221 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
api: messaging
Dificultad 3/5 1-2 días Aptitud para principiantes 70/100
firebase/firebase-admin-node#3215 ·
Los mantenedores suelen responder en 1 día
-
api: messaging
Dificultad 5/5 Más de una semana Aptitud para principiantes 28/100
firebase/firebase-admin-node#3214 ·
Los mantenedores suelen responder en 1 día
-
[Firestore] Re-export functions from '@google-cloud/firestore/pipelines'Quizá libre de nuevo @jonathanedey la tomó hace 87 días y no hay ningún pull request abierto. Abiertoapi: firestore type: feature request
firebase/firebase-admin-node#3183 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de firebase/firebase-admin-node
Issues similares
-
ADD openalgoAbiertotemplate
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
factory-active factory-automatic task-bug-reproduction-success task-identify-harness-labels-done task-identify-issue-type-done
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
vercel/ai#21528 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
bug Needs: Triage :mag:
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
microsoft/fluentui-contrib#671 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
sveltejs/acorn-typescript#150 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100