Sitemap

Yarn, o pulo do gato no JavaScript

2 min readJun 21, 2017

--

Em outubro de 2016, o Facebook publicou seu gerenciador de pacotes JavaScript trazendo uma proposta muito promissora de performance, segurança e maior confiabilidade em relação ao npm.

Mas será que o Yarn realmente é tudo isso? Vale a pena usá-lo?

Para responder isso é preciso primeiro entender um pouco sobre como o Yarn funciona!

Sistema de cache simples e eficiente

O Yarn pode te poupar um bom tempo de download e uma boa quantidade de banda através de um sistema de cache muito simples e eficiente. Como funciona? O Yarn faz uma cópia de cada pacote baixado no diretório “~/.yarn-cache”

Na próxima vez que você tentar baixar um pacote que já esteja neste diretório ele simplesmente faz um cópia!

Confiabilidade na instalação de dependências utilizando lockfile

O Yarn utiliza uma solução de arquitetura bem parecida com outros gerenciadores de pacotes bem robustos do mercado, como o Bundler do ruby e o Composer do PHP, que é a utilização de um lockfile.

Na prática ele salva o histórico de tudo o que aconteceu durante a instalação de pacotes dentro de um arquivo chamado yarn.lock para garantir que quando este mesmo comando de instalação for executado em seu servidor de produção, sejam baixadas as mesmas versões dos pacotes e dependências contidos no lockfile.

Alta performance através de download em paralelo

O Yarn por padrão realiza o download de dependências de um pacote de forma paralela. O que em alguns casos faz com que ele seja até 10x mais rápido que o NPM que realiza a mesma tarefa de forma sequencial.

Compatibilidade com NPM (Migração sem dor)

O Yarn é compativel com projetos que utilizam npm. Basta você instalar o Yarn e executa-lo no diretório raiz do seu projeto que ele funciona.

Essa característica acaba de vez com qualquer desculpa para testar o Yarn em seu projeto, já que não precisa alterar nenhuma linha de código!

Conclusão

Eu não poderia finalizar este post sem responder às duas perguntas que fiz no começo.

Yarn é tudo isso? Vale a pena usá-lo? Sim! Ele traz pro ecossistema do JavaScript o que temos de melhor em arquitetura de gerenciamento de pacotes e por isso vale muito a pena pelo menos testá-lo. Caso você não goste, basta simplesmente você continuar utilizando o NPM. Não precisa fazer mais nada!

Observação

A versão 5 do NPM está por vir e deve trazer muitas features do Yarn. Podemos acompanhar o andamento nas issues do github do npm. Vamos aguardar, a briga é boa e quem ganha com isso é a comunidade!

--

--

Dayvson Lima
Dayvson Lima

Written by Dayvson Lima

Software Architect and Full Stack Developer in Ignição Digital

No responses yet