cli Gratis Activo

ls-lint

Para imponer convenciones de nombres (kebab-case, camelCase, PascalCase...) en ficheros y carpetas de un proyecto.

Linter extremadamente rápido para nombres de ficheros y directorios.

Notas y contexto

Qué es

ls-lint es un linter extremadamente rápido para nombres de ficheros y directorios, creado por Lucas Löffel. Está escrito en Go, lo que le permite analizar miles de rutas en milisegundos, y se configura mediante un único fichero YAML (.ls-lint.yml). Funciona en Windows, macOS y Linux, con soporte completo para Unicode.

Para qué sirve

  • Imponer una convención de nombres coherente (kebab-case, camelCase, PascalCase, snake_case, regex…) en todo el árbol de ficheros.
  • Aplicar reglas distintas por extensión o por carpeta dentro del mismo proyecto.
  • Detectar nombres que no cumplen el estándar dentro de un pipeline de CI antes de hacer merge.
  • Mantener orden estructural en monorepos y proyectos grandes con muchos colaboradores.

Cuándo usarlo

Es ideal cuando el equipo quiere acordar una estructura de nombres y garantizar que se respeta de forma automática, sin depender de revisiones manuales. Complementa a linters de contenido como ESLint o Prettier, que no validan los nombres de los ficheros. Encaja bien en monorepos y proyectos con convenciones estrictas; para proyectos pequeños y personales puede resultar excesivo.

Ejemplo

Instalación vía NPM y ejecución:

npm install -D @ls-lint/ls-lint
npx ls-lint

Configuración en .ls-lint.yml:

ls:
  packages/*/src:
    .js: kebab-case
    .ts: camelCase | PascalCase

ignore:
  - node_modules

Puntos clave

  • Escrito en Go: lint de miles de ficheros y directorios en milisegundos.
  • Configuración declarativa en un solo .ls-lint.yml, con reglas por carpeta y por extensión.
  • Distribución multiplataforma vía NPM, Homebrew, Docker, GitHub Actions y binarios directos.
  • Soporta combinaciones de reglas, patrones regex, comprobaciones de existencia y Unicode completo.

Ten en cuenta

Valida únicamente nombres de ficheros y directorios, no el contenido del código, por lo que no sustituye a ESLint, Prettier ni a otros linters. La sintaxis del YAML con reglas combinadas tiene cierta curva de aprendizaje. El proyecto está activo y bajo licencia MIT, con versiones documentadas por rama (actual v2.3).

Volver al directorio
Volver al directorio