DEV Community

Cover image for Reduciendo Tamaño Paquete NPM en un 83%
Keff
Keff

Posted on

1 1

Reduciendo Tamaño Paquete NPM en un 83%

Este articulo a sido traducido a partir de este articulo:

NPM hace ya algun tiempo añadio Unpacked Size a los detalles de los paquetes, gracias a esto me di cuenta que una de mis libreria pesaba demasiado para lo que hacia (350kb).

Comence a investigar un poco, I me di cuenta que habia muchos archivos que se estaban publicando, pero no eran necesarios para el correcto funcionamiento del paquete, aparte estaban ignorados en .gitignore...

La solucion fue hacer uso de .npmignore e ignorar todos los archivos que no eran necesarios. Había oído y visto el archivo .npmignore en otros proyectos, pero nunca tuve razon para probarlo.

Como me comentaron en el post original, esta podría ser solucionado haciendo uso del campo files en el archivo package.json.

Aparte de esto use una herramienta llamada size-limit calcula el coste real de correr tu aplicación o modulo y sus dependencias, gracias a esto detecte que tenia un par de dependencias que pesaban excesivamente mucho para lo que las necesitaba. Al cambiar las librerias consegui reducir el tamaño todavía mas.

Algunas librerías que cambie:

Antes Tamaño despues Tamaño
cli-color 98.7 kb colors 39.5 kb
requests 201 kb phin 10.1 kb

Como puedes ver, esto hace una gran diferencia para una pequeña librería (-250 kb).

Reduci el paquete de 359 kb a 59 kb, alrededor de -83 % :P

Aviso

Si estas comenzando o no sabes si deberías optimizar, no pierda el tiempo optimizando tu código hasta que comprendas por qué y cómo se está optimizando, la optimizacion precoz o incecesaria puede causar errores y comportamientos no esperados.

AWS Q Developer image

Your AI Code Assistant

Automate your code reviews. Catch bugs before your coworkers. Fix security issues in your code. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay