A própria lint-staged (estamos usando ela afinal?)
etc.
Corrigir exigências do npm audit
Depois que estivermos usando uma versão mais recente do node, poderemos provavelmente atualizar muitas bibliotecas para versões mais recentes e mais seguras.
Eu suspeito que de uma versão para outra do Yarn algo tenha mudado no formato do arquivo yarn.lock e é por isso que temos tantos conflitos entre PRs. Eu ainda não encontrei nada no site deles dizendo algo sobre isso, mas pelo diff, é o que eu acho que está acontecendo:
Outro ponto é que, pelo que entendo, a versão do Yarn é independente da versão do Node que estamos usando, então estas duas coisas podem mudar de forma independente. Para evitar bugs e inconsistências como os conflitos que temos, eu sugeriria que o time inteiro usasse a mesma versão de Yarn (e de Node)
Problema
Em algumas situações, vemos um erro ao executar
yarn install
. Isso ocorre por causa de uma dependência que é incompatível com nosso projeto.Nosso
package.json
exige que usemos uma versão de node que esteja entre14
e16
.Entretanto, nas nossas dependências, temos o
lint-staged@15.0.2
, que exige o node18
: https://github.com/lint-staged/lint-staged/commit/66b93aac870d155ca81302b2574617da99409ca7Logo, não é possível satisfazer as exigências do nosso próprio projeto e do lint-staged 15 ao mesmo tempo, pois elas são mutuamente exclusivas.
Solução
Como solução temporária, fizemos o downgrade da biblioteca
lint-staged
para a versão14.0.1
, que exige o uso do node16.0.
https://github.com/lint-staged/lint-staged/commit/66b93aac870d155ca81302b2574617da99409ca7
Solução ideal
Idealmente, precisamos resolver algumas questões:
Atualizar versão do Node no Projeto
Atualizar o nosso projeto para exigir versões mais recentes do Node, pois versões 14 e 16 já chegaram o fim da vida.
Remover dependências não usadas
Coisas como:
Corrigir exigências do
npm audit
Depois que estivermos usando uma versão mais recente do node, poderemos provavelmente atualizar muitas bibliotecas para versões mais recentes e mais seguras.
Trancar a versão do yarn
Eu suspeito que de uma versão para outra do Yarn algo tenha mudado no formato do arquivo
yarn.lock
e é por isso que temos tantos conflitos entre PRs. Eu ainda não encontrei nada no site deles dizendo algo sobre isso, mas pelo diff, é o que eu acho que está acontecendo:Outro ponto é que, pelo que entendo, a versão do Yarn é independente da versão do Node que estamos usando, então estas duas coisas podem mudar de forma independente. Para evitar bugs e inconsistências como os conflitos que temos, eu sugeriria que o time inteiro usasse a mesma versão de Yarn (e de Node)