Mano? a configuração do firebase é literalmente isso aqui
import { initializeApp } from "firebase/app";
import { getFirestore, collection, getDocs } from "firebase/firestore/lite";
const init = initializeApp({
apiKey: process.env.FIREBASE_API_KEY,
authDomain: process.env.FIREBASE_AUTH_DOMAIN,
projectId: process.env.FIREBASE_PROJECT_ID,
storageBucket: process.env.FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.FIREBASE_MESSAGING_SENDER_ID,
appId: process.env.FIREBASE_APP_ID,
measurementId: process.env.FIREBASE_MEASUREMENT_ID
});
let db = getFirestore(init);
const userCollection = collection(db, 'users');
const usersSnap = await getDocs(userCollection);
const usersList = usersSnap.docs.map((user) => {
return {
id: user.id,
data: user.data()
}
});
Opa devcael
, tudo bem contigo?
Mano? a configuração do firebase é literalmente isso aqui tu fez um package pra reduzir isso?
Sim e não.
Se você reparar no seu código, você escreveu algumas linhas de código para buscar os 'users' no Firebase.
Aparentemente, você vai precisar reutilizar esse mesmo código e importar as mesmas funções em todo lugar que você quiser buscar os 'users' no Firebase.
O pacote não foi feito para configurar o Firebase, ele foi feito para mudar a sintaxe e a maneira que você utiliza ele.
Como você pode ver no exemplo da postagem, com apenas uma linha de código, o Refirebase fez a mesma coisa que o seu código.
A maior diferença de um para o outro é a necessidade de você precisar repetir seu código em outros arquivos, importar as mesmas funções e o mesmo 'db' que você provavelmente vai criar em um config/firebase.js
?
Com o Refirebase você tem as tipagens e uma sintaxe facilitada para utilizar o firestore
, o realtime
, o storage
e o authentication
.
agora está sendo implementado o
analytics
também.
Você deu um exemplo com 23 linhas de código e desmereceu o trabalho que o pacote pode fazer para contribuir em projetos maiores.
O Refirebase foi construído pensando nas repetições de código, importações repetitivas e possíveis alterações na sintaxe original do Firebase.