0.11.3 • Published 1 year ago

npkill v0.11.3

Weekly downloads
2,059
License
MIT
Repository
github
Last release
1 year ago

Encuentra y destruye directorios node_modules viejos y pesados :sparkles:

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

:heavy_check_mark: 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.

:cloud: 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

:clipboard: 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.

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 :warning: para que sepas que tienes que tener cuidado.

Opciones

ARGUMENTODESCRIPCIÓN
-c, --bg-colorCambia el color de selección de la fila. (Colores disponibles: azul, cyan, magenta, blanco, rojo y amarillo)
-d, --directoryPermite seleccionar el directorio desde el que comienza la búsqueda. Por defecto, se empieza en .
-D, --delete-allACTUALMENTE DESHABILITADA. Borra automáticamente todos los node_modules que se encuentran
-e, --hide-errorsEsconde los errores en el caso de que ocurra alguno
-E, --excludeExcluye directorios de la búsqueda (la lista de directorios debe estar entre comillas dobles "", cada directorio separado por ',' Ejemplo: "ignore1, ignore2")
-f, --fullComienza la búsqueda en el home del usuario (ejemplo: "/home/user" en Linux)
-gbMuestra el tamaño en Gigabytes en lugar de en Megabytes.
-h, --help, ?Muestra esta página de ayuda y finaliza
-nu, --no-check-updateNo comprobar si hay actualizaciones al iniciar la aplicación
-s, --sortOrdena los resultados por: size, path or last-mod
-t, --targetEspecifica el nombre del directorio que se buscará (por defecto es node_modules)
-x, --exclude-hidden-directoriesExcluye directorios ocultos (directorios "dot") de la búsqueda
-v, --versionMuestra 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:
# Deshabilitado por razones de seguridad (puedes utilizar esta opción en la versión 0.2.4 bajo tu propia responsabilidad)
npkill -d ~/backups/ --delete-all

:pager: 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

:crystal_ball: 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 (?)

:bug: Bugs conocidos :bug:

  • 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 :)

:revolving_hearts: Cómo contribuir

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

:coffee: Invítanos a un café

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é).

¡¡Mil gracias!!

Muchísimas gracias a todos los que nos han apoyado :heart:


Alternativa cripto

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

:scroll: Licencia

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

:cat::baby_chick:


0.11.2

1 year ago

0.11.3

1 year ago

0.11.0-0

1 year ago

0.11.0-1

1 year ago

0.11.0

1 year ago

0.11.1

1 year ago

0.10.1-0

1 year ago

0.10.0-0

1 year ago

0.10.1-1

1 year ago

0.10.0

1 year ago

0.9.0

2 years ago

0.9.0-1

2 years ago

0.9.0-0

2 years ago

0.8.3

2 years ago

0.8.2

3 years ago

0.8.1

3 years ago

0.8.0

3 years ago

0.7.4

3 years ago

0.7.3

3 years ago

0.7.2

4 years ago

0.7.1

4 years ago

0.7.0

4 years ago

0.6.0

5 years ago

0.5.2

5 years ago

0.5.1

5 years ago

0.5.0

5 years ago

0.4.3

5 years ago

0.4.2

5 years ago

0.4.1

5 years ago

0.4.0

5 years ago

0.3.0

5 years ago

0.2.5

5 years ago

0.2.4

5 years ago

0.2.3

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.0

5 years ago

0.1.1

5 years ago