Sobre o projeto

Yarn 1.x é um gerenciador de pacotes para projetos JavaScript, descrito em seu README como gerenciamento de dependências rápido, confiável e seguro. Este repositório contém os fontes da linha 1.x (versão mais recente no momento da escrita sendo 1.22) e está explicitamente congelado: novos recursos e correções de bugs agora acontecem no repositório yarnpkg/berry, enquanto este é mantido principalmente para fins históricos e correções pontuais ocasionais para facilitar a migração de 1.x para versões posteriores. Principais recursos documentados no README: - Cache: cada pacote baixado é armazenado em cache, para que o mesmo pacote nunca precise ser baixado novamente. - Concorrência: a maioria das operações é executada simultaneamente para maximizar a utilização de recursos, o que, segundo o projeto, resulta em instalações mais rápidas. - Instalações determinísticas: um formato de lockfile detalhado, porém conciso, além de um algoritmo de instalação determinístico, visa garantir que uma instalação que funciona em um sistema funcione da mesma forma em outro, independentemente da ordem de instalação. - Verificações de integridade: somas de verificação são usadas para verificar cada pacote instalado antes que seu código seja executado. - Modo offline: pacotes instalados anteriormente podem ser instalados novamente sem conexão com a internet. - Desempenho e resiliência de rede: as solicitações são enfileiradas de forma eficiente para evitar cascatas de solicitações, e uma única solicitação com falha não faz com que toda a instalação falhe, pois as solicitações são automaticamente repetidas. - Modo plano: versões de dependências incompatíveis são resolvidas para uma única versão para evitar duplicatas. As instruções de instalação e uso não estão incluídas no próprio README; ele aponta para o Guia de Instalação e o Guia de Uso no site yarnpkg.com. O README também observa que o código da versão 1.x é bastante antigo e só aceitará correções de segurança, recomendando a migração para a versão mais recente, onde a configuração nodeLinker permite escolher entre node_modules (como npm), symlinks (como pnpm) ou arquivos de manifesto via Yarn PnP. O crédito de trabalhos anteriores é atribuído a Bundler, Cargo e npm, e o README agradece a Sam Holmes por doar o nome do pacote npm. As seções de patrocínio mencionam Doppler e WorkOS.