it-swarm-pt.tech

Como vejo o tamanho dos pacotes npm?

Quando procuro por pacotes no NPM, gostaria de ver os tamanhos dos pacotes (em KB ou MB, etc). O NPM parece não mostrar essa informação.

Como posso determinar quanto inchaço um pacote NPM adicionará ao meu projeto?

90
arielorvits

O que você provavelmente quer medir é o impacto que um pacote tem se você adicioná-lo ao seu pacote de aplicativos. A maioria das outras respostas estimará apenas o tamanho dos arquivos de origem, o que pode ser impreciso devido a comentários embutidos, nomes longos de var. Etc.

Há um pequeno utilitário que eu fiz que lhe dirá o tamanho min + gzipped do pacote após entrar no pacote -

https://bundlephobia.com

113
Shubham Kanodia

Dê uma olhada neste projeto custo-de-módulos . É um pacote npm que listará o tamanho de um pacote e o número de filhos.

Instalação: npm install -g cost-of-modules

Uso: Execute cost-of-modules no diretório em que você está trabalhando.

enter image description here

59
Liron Yahdav

Eu criei uma ferramenta, tamanho do download npm , que inspeciona o tamanho do tarball para um determinado pacote npm, incluindo todos os tarballs na árvore de dependência.

download size of webpack

Na imagem acima, Tamanho do tarball é tar.gz do pacote e Tamanho total é o tamanho de todos os tarballs. A ferramenta é bem básica, mas faz o que diz.

A ferramenta cli também está disponível. Você pode instalá-lo assim:

npm i -g download-size

E usá-lo assim:

$ download-size request
[email protected]: 1.08 MiB

Aqui está um demo asciinema .

O código fonte está disponível no Github: api , ferramenta cli e web client .

16
arve0

Eu criei o Package Phobia no início deste ano com a esperança de obter as informações sobre o tamanho do pacote em npmjs.com e também rastrear o inchaço do pacote ao longo do tempo.

https://packagephobia.now.sh

img

Isso é projetado para medir o espaço em disco depois de executar npm install para dependências do lado do servidor como express ou dependências dev como jest.

Você pode ler mais sobre esta ferramenta e outras ferramentas semelhantes no readme aqui: https://github.com/styfle/packagephobia


Nota: Embora não haja movimento da equipe npm para alterar o site, eles estão olhando para adicionar o tamanho instalado ao CLI. Veja RFC 1 para mais informações

10
styfle

Caso você esteja usando o webpack como seu módulo bundler, dê uma olhada em:

Eu definitivamente recomendo a primeira opção. Ele mostra o tamanho no mapa de árvore interativo. Isso ajuda você a encontrar o tamanho do pacote no seu arquivo incluído.

Webpack Bundle Analyzer

As outras respostas neste post mostram o tamanho do projeto, mas você pode não estar usando todas as partes do projeto, por exemplo, com o tremor da árvore. Outras abordagens podem não mostrar o tamanho exato.

10
Black

Tente usar tamanho do pacote .

yarn global add package-size

https://github.com/egoist/package-sizepackage-size npm

4
c01nd01r

Você pode verificar npm-module-stats . É um módulo npm que obtém o tamanho de um módulo npm e suas dependências sem instalar ou baixar o módulo.

Uso:

var stats = require("npm-module-stats");

stats.getStats("glob").then((stack) => {

  let dependencies = Object.keys(stack);
  let totalSize = dependencies.reduce((result, key, index) => {
    return result + stack[key].size;
  }, 0);

  console.log('Total Size in Bytes ', totalSize);
  console.log('Total Dependencies ', dependencies.length-1);

}).catch((err) => {
  console.error(err);
});

Pode parecer um pouco detalhado, mas resolve o problema que você descreveu adequadamente.

2
bkk

Se você usar o Visual Studio Code, poderá usar uma extensão chamada Import Cost .

Esta extensão exibirá in-line no editor o tamanho do pacote importado. A extensão utiliza o webpack com o plugin babili-webpack para detectar o tamanho importado.

2
kyw

Uma maneira "rápida e suja" é usar curl e wzrd.in para baixar rapidamente o pacote reduzido e, em seguida, grep o tamanho do arquivo:

curl -i https://wzrd.in/standalone/[email protected] | grep Content-Length

O download é reduzido, mas não é compactado, mas você tem uma boa idéia do tamanho relativo dos pacotes quando compara dois ou mais deles.

2
thoragio