4 pontos por GN⁺ 2025-03-26 | Ainda não há comentários. | Compartilhar no WhatsApp
  • O Comitê Diretor Técnico (TSC) do Node.js decidiu oficialmente, por votação, que o Corepack não será mais incluído na distribuição do Node.js
  • A mudança passa a valer a partir do Node.js 25, enquanto no Node.js 24 e anteriores ele continuará sendo oferecido como recurso experimental

Papel e limitações do Corepack

  • O Corepack é uma ferramenta experimental introduzida no Node.js 16.9.0 que permite usar gerenciadores de pacotes como Yarn e pnpm sem instalação separada
  • Ele ajuda a impor o uso de uma versão específica do gerenciador de pacotes em um projeto
  • No entanto, não foi amplamente adotado devido à baixa familiaridade dos usuários e a mal-entendidos sobre seu propósito
  • Também há ceticismo quanto a incluir no Node.js gerenciadores de pacotes que deveriam funcionar de forma independente do runtime

Como ocorreu o processo até a remoção do Corepack

  • As discussões sobre o futuro do Corepack se estenderam por anos, e em novembro de 2023 uma proposta para ativá-lo por padrão gerou controvérsia
  • Em fevereiro de 2024, surgiram preocupações de que o Corepack pudesse ser usado como meio de desfazer o acoplamento entre npm e Node.js
  • Em março de 2024, embora tenha sido esclarecido que o npm continuaria incluído no Node.js, a possibilidade de remover o Corepack ganhou força
  • O TSC delegou a decisão ao Package Maintenance Working Group (PMWG)
  • O PMWG apresentou o seguinte roteiro de remoção:
    • destacar ferramentas de gerenciamento de versão como nvm e fnm na página de downloads do Node.js
    • separar a documentação do Corepack da documentação da API do Node.js e movê-la para um repositório próprio
    • remover o Corepack da distribuição do Node.js a partir da próxima grande versão
  • Esse roteiro recebeu forte apoio dentro do PMWG e levou à votação final

Motivos para a decisão de remover o Corepack

  • Baixa adoção: muitos desenvolvedores preferem instalar e usar diretamente o gerenciador de pacotes de sua escolha em vez do Corepack
  • Preocupações com distribuição: há quem considere desnecessário que o Corepack venha embutido no binário do Node.js
  • Problemas de manutenção de longo prazo: se separado do Node.js, o Corepack poderá evoluir de forma mais independente
  • Como resultado da votação, foi adotada a proposta de "remoção gradual no futuro"
  • Outras propostas, como mantê-lo desativado por padrão, não receberam apoio suficiente
  • Alguns desenvolvedores avaliaram a decisão como um retrocesso, pois usavam o Corepack para adotar o pnpm no lugar do npm
  • O projeto Node.js enfatiza que o Corepack nunca foi pensado como um recurso permanente e que sua manutenção separada é mais desejável

O que muda daqui para frente

  • No futuro, o Corepack não virá mais incluído por padrão no Node.js
  • Quando necessário, ele deverá ser instalado manualmente com o seguinte comando:
    • npm install -g corepack
  • Projetos que usam Corepack precisarão atualizar sua documentação e seus fluxos de trabalho
  • Ainda assim, a decisão não significa o fim do suporte ao Corepack, apenas sua remoção do Node.js
  • A manutenção do Corepack continuará até que o Node.js 24.x atinja EOL

Contexto histórico do Node.js e dos gerenciadores de pacotes

  • Já houve no passado debates sobre o que deveria ser incluído no Node.js, e a inclusão do npm era um deles
  • Com o surgimento de gerenciadores de pacotes alternativos, como Yarn e pnpm, surgiram mais opções para os desenvolvedores
  • A remoção do Corepack faz parte de um movimento para tornar a distribuição do Node.js mais enxuta
  • Isso também acompanha a tendência de outros ecossistemas de linguagens de separar o runtime dos gerenciadores de pacotes
  • Os desenvolvedores devem preparar seus ambientes levando em conta que o Corepack não virá mais incluído no Node.js no futuro

Ainda não há comentários.

Ainda não há comentários.