Picture

Oi, eu sou Capi Etheriel.

Web Developer, Web Designer, Web Scraper. Consultor em tecnologias Livres para Web. Contribuidor Drupal, Scrapy, Javascript.

Atualizando o package.json com yarn

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