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).