adicionamos um lint na raiz do monorepo que roda em todos os pacotes.
adicionamos o jest na raiz do monorepo que roda em todos os pacotes (que tenham arquivos .spec.js claro)
OBS
Dependências salvas em lugar errado
Se em algum pacote existir alguma dependência que estava salva erroneamente em devDependencies mas deveria estar em dependencies, provavelmente esse pacote vai quebrar quando algum projeto for utilizar. Eu não consegui me atentar muito para esses casos mas se acontecer basta apenas adiciona-lo a dependencies do pacote.
CI/CD
Pra colocar esse fluxo para rodar em uma action do github e fazer o famoso mergeploy, precisamos de um token com permissões para fazer um commit e criar uma release aqui no repo.
Vamos precisar abrir um chamado no SRE equivalente a esse do Zilla: https://queroedu.slack.com/archives/CG8EGB8BF/p1626784435483100
...ou usar o token pessoal de alguem
Automação nos pacotes de ruby e elixir
O lerna cuida apenas dos pacotes JS mas eu tenho algumas ideia de como utiliza-lo pra publicar as gems do ruby e elixir mas vou deixar pra testar essas coisas depois que o fluxo estiver no CI.
NODE/NPM
Estamos utilizando a versão 14 LTS do node e a versão 7 do NPM agora.
Quem for trabalhar no pacote precisa utilizar essas versões aqui, porque estamos utilizando alguns recursos que são exclusivos da versão 7 do NPM, como os workspaces por exemplo.
O que esse PR faz?
Adiciona o lerna para cuidar do processo de release dos pacotes.
O que mudou?
lerna link convert
que faz o hoisting de todas as devdependencies para a raiz do monorepo.package-lock.json
dos pacotes, o lerna não trabalha com locks aninhados. (Tbm não é indicado subir esse arquivo para o npm: https://docs.npmjs.com/cli/v7/configuring-npm/package-json#files).spec.js
claro)OBS
Dependências salvas em lugar errado
Se em algum pacote existir alguma dependência que estava salva erroneamente em
devDependencies
mas deveria estar emdependencies
, provavelmente esse pacote vai quebrar quando algum projeto for utilizar. Eu não consegui me atentar muito para esses casos mas se acontecer basta apenas adiciona-lo adependencies
do pacote.CI/CD
Pra colocar esse fluxo para rodar em uma action do github e fazer o famoso
mergeploy
, precisamos de um token com permissões para fazer umcommit
e criar uma release aqui no repo. Vamos precisar abrir um chamado no SRE equivalente a esse do Zilla: https://queroedu.slack.com/archives/CG8EGB8BF/p1626784435483100 ...ou usar o token pessoal de alguemAutomação nos pacotes de ruby e elixir
O lerna cuida apenas dos pacotes JS mas eu tenho algumas ideia de como utiliza-lo pra publicar as gems do ruby e elixir mas vou deixar pra testar essas coisas depois que o fluxo estiver no CI.
NODE/NPM
Estamos utilizando a versão
14
LTS do node e a versão7
do NPM agora. Quem for trabalhar no pacote precisa utilizar essas versões aqui, porque estamos utilizando alguns recursos que são exclusivos da versão 7 do NPM, como osworkspaces
por exemplo.