voce pergunta no sentido literal de como é pra criar um? ou é em relação a experiência de estar criando o Refirebase?
both
cara, pior que é mais simples do que parece.
mesmo o texto estando um pouquinho maior do que o normal kkkkkk
sobre o Refirebase primeiro:
como o próprio luan disse: o objetivo de criarmos esse package foi pra facilitar o processo de configuração e instalação do Firebase, e também, o mais importante, que era simplificar a sintaxe — que não frequentemente, mas sim algumas boas vezes, já mudou a sintaxe.
isso acabava atrapalhando muito, principalmente quando precisávamos atualizar a versão do Firebase por conta de alguns bugs que tinha no próprio pacote. a gente atualizava pra consertar os negócios e de quebra vinha uma sintaxe nova kkkkkkkkkk
e estar criando uma solução para esses problemas é legal demais!
inclusive, convido você a colaborar com a gente pra melhorar essa lib!
no Refirebase, dificilmente a gente vai atualizar o nome das funcoes ou algo do tipo. justamente por conta do problema que isso gera tendo que atualizar muitas coisas e etc, além de ser justamente o que a gente quer resolver.
claro que não estou cravando que, nunca nada vai ser alterado, até pq a gente precisa saber qual a melhor sintaxe possível para ser usada, assim melhorando na medida do possível a DX de todo mundo com a lib.
o objetivo é que o Refirebase seja fácil de usar como o Prisma, tão bom quanto o Drizzle e gratuito como (já é) o Firebase.
eu acredito muito na união da comunidade para se ajudar e deixar um projeto desse maravilhoso! e eu não digo isso só por ter sido a pessoa que começou com a lib, longe disso!
eu só quero que a lib possa evoluir e ficar comum entre os devs front end que acabam utilizando o Firebase nos seus projetos, como uma opção quase fixa por ser gratuita, e acabam esbarrando com a monstruosidade desnecessária do Firebase que é pra fazer uma simples requisição no banco pra pegar uma collection.
agora sobre criar um package no npm
se você quiser que eu te explique o passo a passo de como fazer para conseguir publicar um, a gente pode conversar por outro meios além daqui pra ter uma explicação mais calma.
mas tentando não prolongar ainda mais o texto sauhaushsauhahsuhaussahusahu
- criação
- instale o node.js e o npm (imagino que essa etapa ja esteja feita)
- dai dentro da pasta do seu projeto você vai inicializar o projeto com
npm init -y
- crie um arquivo chamado
index.js
- é nele que você vai fazer as funções e classes
- é bom também ter um
README.md
para descrever sua biblioteca
- publicação
- depois que tiver pronto, você usa o
npm login
pra fazer a autenticação no npm - e dps para publicar, use
npm publish
- (lembrando que, se você fizer uma mini alteração e quiser que ela seja publicada novamente, é OBRIGATÓRIO que você mude a versão do projeto no package.json)
- depois que tiver pronto, você usa o
e aí pronto! sua biblioteca está no npm!
como eu disse, se você quiser ajuda com o passo a passo, a gente pode conversar melhor do que trocar texto maiores que esse aqui kkkkkkkkk
Po man, muito legal. Eu já usei o firebase antes para muitos projetos (não uso mais hoje, mas não signifique que eu não volte a usar), e eu sempre tive problemas com bibliotecas, uns 4 anos atrás tinha uma bem famosa pra Mobile React-Native-Firebase, e pense numa dor de cabeça que foi trabalhar com ela, uma hora funcionava e na outra não, em uma documentação dizia que era pra usar ela, e na outra dizia que ela já estava depreciada, e eu acababa usando o padrão mesmo do Firebase.
Esse processo de criação de pacote NPM parece bastante simples, muito similar a criação de extensões pro google chrome, bacana.
Espero que vocês tenham sucesso com essa lib.
pô Guilherme, muito obrigado pelo seus comentários.
Espero que você tenha entendido o processo de criação de um "package".
Lá no Github tem uma aba de discussões para melhorar a DX da biblioteca, da uma passada lá. 🔥