Gerenciador de pacotes NPM 7.0 disponível

publicado lançamento do gerenciador de pacotes NPM 7.0, incluído no Node.js e usado para distribuir módulos em JavaScript. O repositório NPM atende mais de 1.3 milhão de pacotes, usados ​​por aproximadamente 12 milhões de desenvolvedores. Cerca de 75 bilhões de downloads são registrados por mês. NPM 7.0 foi o primeiro lançamento significativo formado após compra NPM Inc por GitHub. A nova versão será incluída na entrega de um futuro lançamento da plataforma Node.js 15, que está previsto para 20 de outubro. Para instalar o NPM 7.0 sem esperar por uma nova versão do Node.js, você pode executar o comando “npm i -g npm@7”.

Chave inovações:

  • Espaços de trabalho (Espaços de trabalho), permitindo agregar dependências de vários pacotes em um pacote para instalá-los em uma única etapa.
  • Instalação automática dependências de pares (usado em plugins para determinar os pacotes base com os quais o pacote atual foi projetado para funcionar, mesmo que não seja usado diretamente nele). As dependências de peer são especificadas no arquivo package.json na seção “peerDependencies”. Anteriormente, essas dependências eram instaladas manualmente pelos desenvolvedores, mas o NPM 7.0 implementa um algoritmo para garantir que uma dependência de mesmo nível definida corretamente seja encontrada no mesmo nível ou acima do pacote dependente na árvore node_modules.
  • A segunda versão do formato de bloqueio (package-lock v2) e suporte para o arquivo de bloqueio yarn.lock. O novo formato permite compilações repetíveis e inclui tudo o que é necessário para construir completamente uma árvore de pacotes. O NPM agora também pode usar arquivos yarn.lock como fonte de metadados de pacotes e informações de bloqueio.
  • Foi realizada uma refatoração significativa dos componentes internos, com o objetivo de separar funcionalidades para simplificar a manutenção e aumentar a confiabilidade. Por exemplo, o código para inspecionar e gerenciar a árvore node_modules foi movido para um módulo separado Arborist.
  • Passamos a usar o campo package.exports, o que torna impossível conectar módulos internos por meio da chamada require().
  • O pacote foi completamente reescrito npx, que agora usa o comando “npm exec” para executar executáveis ​​de pacotes.
  • A saída do comando "npm audit" foi significativamente alterada, tanto quando a saída é em formato legível por humanos quanto quando o modo "--json" é selecionado.

Fonte: opennet.ru

Adicionar um comentário