Cara que projeto genial, parabéns pela iniciativa! Tenho certeza que quando a bolha dev conhecer o pacote vai estourar rápido.
Eu como dev mais focado em front-end, uso o firebase em praticamente todo projeto. Também fiz alguns pacotes para facilitar ainda mais a integração, porém são bem abstraídos (mais funcionalidades e menos possibilidade de personalização) e não estão públicos ainda.
Vou aproveitar para fazer algumas contribuições no refirebase!
Uma das abstrações que fiz e que mais gosto de usar, é uma espécie de "proxy" para o firestore, funciona mais ou menos na seguinte sintax:
config/firebase.ts
const database = new FirestoreClient(....)
database.users.query
.where('isActive', '==', true)
.orderBy('createdAt')
.limit(10)
.index({ page: 1 })
essa simples linha de código, quem já usa o firebase, sabe que faz BASTANTE coisa e que levaria umas 20 linhas (filtros, ordenação, limitação e paginação). Além desse query
, temos também outros métodos úteis que facilitam muito a manter um padrão e organização (coisa muito importante quando se usa um banco nosql em prod).
além de ter o FirestoreServerClient
, que tem a mesma sintaxe mas usa o firebase-admin
para funcionar no servidor (node, server-side do nextjs, etc).
Cara, você não tem ideia de como estamos ansiosos para lançar features simples mas que fazem toda a diferença, principalmente para paginação kkkkkkk
Estamos pensando em manter o limit que você mandou de exemplo, e colocar algo como offset também... não sei! Seria legal ter mais sugestões para ter uma DX incrível e fácil de se utilizar.
Além de que, pelo incrível que pareça, a biblioteca na versão atual dela, suporta server-side! Estamos utilizando ela no nosso projeto de TCC da faculdade num projeto Next.js, e está indo muito bem!
Se quiser dar uma olhada na versão atual e sugerir algumas melhorias, estamos ansiosos te esperando por lá!