Skip to content

Latest commit

 

History

History
252 lines (169 loc) · 10.8 KB

README.es.md

File metadata and controls

252 lines (169 loc) · 10.8 KB

npkill logo npkill logo scope

npm Donations Badge npm version NPM

Encuentra y destruye directorios node_modules viejos y pesados ✨

npkill demo GIF

Esta herramienta te permite listar cualquier directorio node_modules que haya en tu sistema, además del espacio que ocupa. Entonces puedes seleccionar los que quieras borrar para liberar espacio. ¡Yay!

Table of Contents

✔️ Características

  • Libera espacio: Elimina tus directorios node_modules viejos y polvorientos que le roban espacio a tu máquina.

  • Último uso del Workspace: Comprueba cuándo ha sido la última vez que has modificado un fichero en el workspace (indicado en la columna last_mod).

  • Rapidez: NPKILL está escrito en TypeScript, pero las búsquedas se llevan a cabo a bajo nivel, lo que supone una mejora considerable del rendimiento.

  • Fácil de utilizar: Despídete de comandos largos y difíciles. Utilizar Npkill es tan sencillo como leer la lista de tus node_modules, y pulsar la tecla Del para eliminarlos. ¿Podría ser más fácil? ;)

  • Minificado: Apenas tiene dependencias.

☁️ Instalación

¡Lo mejor es que no tienes que instalar Npkill para utilizarlo! Simplemente utiliza el siguiente comando:

$ npx npkill

O, si por alguna razón te apetece instalarlo:

$ npm i -g npkill
# Los usuarios de Unix quizá tengan que ejecutar el comando con sudo. Ve con cuidado

NPKILL no tiene soporte para node<v14. Si esto te afecta puedes utilizar npkill@0.8.3

📋 Uso

$ npx npkill
# o solo npkill si está instalado de forma global

Por defecto, Npkill comenzará la búsqueda de node_modules comenzando en la ruta donde se ejecute el comando npkill.

Muévete por los distintos directorios listados con , y utiliza Space para borrar el directorio seleccionado.

También puedes usar j y k para moverte por los resultados.

Puedes abrir el directorio donde se aloja el resultado seleccionado pulsando o.

Para salir de Npkill, utiliza Q, o si te sientes valiente, Ctrl + c.

¡Importante! Algunas aplicaciones que están instaladas en el sistema necesitan su directorio node_modules para funcionar, y borrarlo puede romperlas. NPKILL te mostrará un ⚠️ para que sepas que tienes que tener cuidado.

Opciones

ARGUMENTO DESCRIPCIÓN
-c, --bg-color Cambia el color de selección de la fila. (Colores disponibles: azul, cyan, magenta, blanco, rojo y amarillo)
-d, --directory Permite seleccionar el directorio desde el que comienza la búsqueda. Por defecto, se empieza en .
-D, --delete-all Borra automáticamente todos los node_modules que se encuentren. Recomendable utilizar junto a -x
-e, --hide-errors Esconde los errores en el caso de que ocurra alguno
-E, --exclude Excluye directorios de la búsqueda (la lista de directorios debe estar entre comillas dobles "", cada directorio separado por ',' Ejemplo: "ignore1, ignore2")
-f, --full Comienza la búsqueda en el home del usuario (ejemplo: "/home/user" en Linux)
-gb Muestra el tamaño en Gigabytes en lugar de en Megabytes.
-h, --help, ? Muestra esta página de ayuda y finaliza
-nu, --no-check-update No comprobar si hay actualizaciones al iniciar la aplicación
-s, --sort Ordena los resultados por: size, path or last-mod
-t, --target Especifica el nombre del directorio que se buscará (por defecto es node_modules)
-x, --exclude-hidden-directories Excluye directorios ocultos (directorios "dot") de la búsqueda
--dry-run No borra nada (simula un tiempo de borrado aleatorio)
-v, --version Muestra la versión de Npkill

Precaución: Algunos comandos pueden cambiar en versiones futuras

Ejemplo

  • Busca y encuentra los directorios node_modules en un directorio projects :
npkill -d ~/projects

# otra alternativa:
cd ~/projects
npkill
  • Lista los directorios llamados "dist" y muestra los errores que ocurran:
npkill --target dist -e
  • Muestra el cursor de color magenta... ¡Porque me gusta el magenta!
npkill --color magenta
  • Lista los directorios vendor en un directorio projects, ordenados por tamaño y mostrando el tamaño en gb:
npkill -d '~/more projects' -gb --sort size --target vendor
  • Lista los node_modules en el directorio projects, excluyendo los que están en los directorios progress e ignore-this:
npkill -d 'projects' --exclude "progress, ignore-this"
  • Borra automáticamente todos los node_modules que se encuentren en el directorio backups:
npkill -d ~/backups/ --delete-all

📟 Configuración local

# -- Primero, clona el repositorio
git clone https://github.com/voidcosmos/npkill.git

# -- Navega al dir
cd npkill

# -- Instala las dependencias
npm install

# -- ¡Y ejecuta!
npm run start


# -- Si quieres ejecutar con algún parámetro, hay que añadir "--", tal y como se muestra a continuación:
npm run start -- -f -e

🔮 Roadmap

  • Lanzar la versión 0.1.0 !
  • Mejorar el código
    • Mejorar el rendimiento
    • ¡Mejorar el rendimiento aún más!
  • Ordenar los resultados por tamaño y ruta
  • Permitir la búsqueda de otro tipo de directorios (targets)
  • Reducir las dependencies para ser un módulo más minimalista
  • Permitir el filtrado por directorios que no se hayan utilizado en un periodo de tiempo determinado
  • Crear una opción para mostrar los directorios en formato árbol
  • Añadir menús
  • Añadir un servicio de logs
  • Limpieza periódica y automática (?)

🐛 Bugs conocidos 🐛

  • A veces, el CLI se bloquea mientras un directorio se está borrando.
  • Algunas terminales que no utilizan TTY (como git bash en Windows) no funcionan.
  • La ordenación, especialmente por rutas, puede ralentizar la terminal cuando haya muchos resultados al mismo tiempo.
  • A veces, los cálculos de tamaño son mayores de lo que deberían ser.
  • (RESUELTO) Problemas de rendimiento al hacer la búsqueda desde directorios de alto nivel (como / en Linux).
  • (RESUELTO) A veces el texto se colapsa al actualizar el CLI.
  • (RESUELTO) Analizar el tamaño de los directorios tarda más de lo que debería.

Si encuentras algún bug, no dudes en abrir un issue :)

💞 Cómo contribuir

Si quieres contribuir, échale un vistazo al CONTRIBUTING.md

☕ Invítanos a un café

Hemos desarrollado Npkill en nuestro tiempo libre, porque nos apasiona la programación.

El día de mañana nos gustaría dedicarnos al open source completamente, pero antes, nos queda un largo camino por recorrer.

Seguiremos contribuyendo al open source por y para siempre, pero las donaciones son una de las muchas formas de apoyarnos.

¡Invítanos a un café! (O a un té para Nya, la única programadora a la que no le gusta el café).

Botón de donar con Open Collective

¡¡Mil gracias!!

Muchísimas gracias a todos los que nos han apoyado ❤️


Alternativa cripto

  • btc: 1ML2DihUoFTqhoQnrWy4WLxKbVYkUXpMAX
  • bch: 1HVpaicQL5jWKkbChgPf6cvkH8nyktVnVk
  • eth: 0x7668e86c8bdb52034606db5aa0d2d4d73a0d4259

📜 Licencia

MIT © Nya García Gallardo y Juan Torres Gómez

🐱🐤