update - npm version
¿Cómo veo el tamaño de los paquetes npm? (9)
Creé Package Phobia a principios de este año con la esperanza de obtener la información del tamaño del paquete en npmjs.com y también rastrear la hinchazón del paquete con el tiempo.
Está diseñado para medir el espacio en disco después de ejecutar
npm install
para dependencias del lado del servidor, como las dependencias
express
o dev, como
jest
.
Puede leer más sobre esta herramienta y otras herramientas similares en el archivo Léame aquí: https://github.com/styfle/packagephobia
Nota: Aunque no hay movimiento del equipo de npm para cambiar el sitio web, están buscando agregar el tamaño instalado al cli. Ver RFC 1 para más información.
Cuando busco paquetes en NPM, me gustaría ver los tamaños de los paquetes (en KB o MB, etc.). NPM no parece mostrar esta información.
¿Cómo puedo determinar cuánta hinchazón agregará un paquete NPM a mi proyecto?
Eche un vistazo a este proyecto de cost-of-modules . Es un paquete npm que enumerará el tamaño de un paquete y la cantidad de hijos.
Instalación:
npm install -g cost-of-modules
Uso: Ejecute el
cost-of-modules
en el directorio en el que está trabajando.
En caso de que esté utilizando webpack como paquete de módulos, eche un vistazo a:
Definitivamente recomiendo la primera opción. Muestra el tamaño en el mapa de árbol interactivo. Esto le ayuda a encontrar el tamaño del paquete en su archivo incluido.
Las otras respuestas en esta publicación muestran el tamaño del proyecto, pero es posible que no esté utilizando todas las partes del proyecto, por ejemplo, con sacudidas de árboles. Otros enfoques podrían no mostrarle el tamaño exacto.
Intenta usar el tamaño del paquete .
yarn global add package-size
Lo que probablemente quiera medir es el impacto que tiene un paquete si lo agrega a su paquete de aplicaciones. La mayoría de las otras respuestas solo estimarán el tamaño de los archivos de origen, que pueden ser inexactos debido a comentarios en línea, nombres largos de var, etc.
Hice una pequeña utilidad que le dirá el tamaño min + gzipped del paquete después de que entre en su paquete:
Puede consultar npm-module-stats . Es un módulo npm que obtiene el tamaño de un módulo npm y sus dependencias sin instalar o descargar el 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);
});
Puede parecer un poco detallado, pero resuelve el problema que describió adecuadamente.
Si usa Visual Studio Code, puede usar una extensión llamada Import Cost .
Esta extensión mostrará en línea en el editor el tamaño del paquete importado. La extensión utiliza webpack con babili-webpack-plugin para detectar el tamaño importado.
Una forma "rápida y sucia" es usar curl y wzrd.in para descargar rápidamente el paquete minimizado y luego seleccionar el tamaño del archivo:
curl -i https://wzrd.in/standalone/axios@latest | grep Content-Length
La descarga se minimiza pero no se comprime, pero tiene una buena idea del tamaño relativo de los paquetes cuando compara dos o más de ellos.
Creé una herramienta, npm download size , que inspecciona el tamaño del tarball para un paquete npm dado, que incluye todos los tarballs en el árbol de dependencias.
En la imagen de arriba, el tamaño del tarball es tar.gz del paquete, y el tamaño total es el tamaño de todos los tarballs. La herramienta es bastante básica, pero hace lo que dice.
Una herramienta cli también está disponible. Puedes instalarlo así:
npm i -g download-size
Y úsalo así:
$ download-size request
[email protected]: 1.08 MiB
Aquí hay una demostración de asciinema .
El código fuente está disponible en Github: api , herramienta cli y cliente web .