CLI tool to count lines of code and show top files, respecting .gitignore
npm install @hernando15/count-lines-cliCLI tool para contar líneas de código en tu proyecto y mostrar el top de archivos con más líneas, respetando las reglas del .gitignore.
- Cuenta líneas de código en todos los archivos del proyecto
- Respeta las reglas del .gitignore automáticamente
- Ignora automáticamente archivos comunes (lock files, configs, builds)
- Soporte para archivo .countlinesignore con reglas personalizadas
- Muestra un ranking de archivos ordenados por número de líneas
- Estadísticas totales del proyecto
``bash`
npm install
`bash`
npm install -g .
`bash`
npm start
o directamente:
`bash`
node cli.js
`bash`
count-lines
Por defecto muestra el top 20, pero puedes especificar otro número:
`bash`
node cli.js 10 # Muestra top 10
node cli.js 50 # Muestra top 50
`
🔍 Contando líneas de código...
✓ Patrones por defecto cargados (lock files, configs, etc.)
✓ .gitignore cargado
✓ .countlinesignore cargado
📊 Top 6 archivos con más líneas:
────────────────────────────────────────────────────────────────────────────────
Líneas Archivo
────────────────────────────────────────────────────────────────────────────────
1. 117 cli.js
2. 29 package-lock.json
3. 26 package.json
4. 21 test-file-2.js
5. 11 test-file-1.js
6. 8 .gitignore
────────────────────────────────────────────────────────────────────────────────
📈 Resumen:
Total de archivos: 6
Total de líneas: 212
Promedio de líneas por archivo: 35
`
El CLI tiene 3 niveles de ignorado que se combinan:
Estos archivos siempre se ignoran automáticamente:
- node_modules/, .git/package-lock.json
- Lock files: , pnpm-lock.yaml, yarn.lock, bun.lockb.config.js
- Configs comunes: , .config.ts, tsconfig.json, jsconfig.jsondist/
- Build outputs: , build/, .next/, .nuxt/, out/.DS_Store
- Otros: , Thumbs.db
Si existe un .gitignore en tu proyecto, todas sus reglas se respetan automáticamente.
Puedes crear un archivo .countlinesignore en la raíz de tu proyecto para agregar reglas adicionales específicas para el contador de líneas.
Ejemplo de .countlinesignore:
`gitignoreIgnorar archivos de prueba
*.test.js
*.spec.ts
Este archivo es completamente opcional y complementa (no reemplaza) el
.gitignore.Publicar en npm
Para publicar este paquete en npm:
`bash
npm login
npm publish
``MIT