O comando yarn upgrade
vai respeitar as versões no arquivo package.json
e
atualizar as dependências no package.json. O problema é que ele não marca as
atualizações no package.json
, nem excede as versões especificadas. Quando se
tem testes apropriadamente escritos, é conveniente atualizar tudo e ver se algo
quebra.
Eu vi que o yarn oferece um comando yarn outdated
, que lista as dependências
desatualizadas. Como eu sou fã de linha de comando, pensei em usar a saída dele
como entrada para o yarn upgrade
. Meu problema é que a saída é num formato
ruim de processar.
Então eu usei a saída em json: yarn outdated --json
e uma ferramenta de linha
de comando para processar json: jq. Isso permite pegar o json e
filtrar exatamente o que eu preciso: os nomes dos pacotes. Aí eu uso o xargs
pra juntar tudo como parametros do yarn
. É uma linha só:
yarn outdated --json | jq '.data.body[][0]' | xargs yarn upgrade
Ponto pro time da linha de comando :)