Libreria Gratis Activo
eslint-plugin-check-file
Para imponer convenciones de nomenclatura de archivos y carpetas en un proyecto mediante reglas de ESLint.
Plugin de ESLint que obliga a seguir convenciones de nombres consistentes en archivos y carpetas.
Notas y contexto
Qué es
eslint-plugin-check-file es un plugin de ESLint, creado y mantenido por Duke Luo (dukeluo), que valida los nombres de archivos y carpetas de un proyecto. En lugar de comprobar el contenido del código, aplica reglas sobre la estructura del sistema de archivos para que todo el equipo siga la misma nomenclatura. Está escrito en JavaScript, se empaqueta con Rollup y soporta la configuración plana (flat config) de ESLint.
Para qué sirve
- Forzar un patrón de nombres concreto para los archivos (por ejemplo PASCAL_CASE para componentes y CAMEL_CASE para utilidades).
- Imponer convenciones de nombres en las carpetas del proyecto.
- Bloquear nombres de archivo no deseados mediante listas negras o evitar archivos llamados index.
- Mantener la coherencia entre el nombre de una carpeta y los archivos que contiene.
Cuándo usarlo
- En proyectos con varios desarrolladores donde la consistencia de nombres tiende a perderse y se quiere automatizar su control en el linter o en CI.
- Cuando ya usas ESLint y prefieres añadir esta validación a tu pipeline existente en lugar de incorporar una herramienta aparte.
- Si necesitas algo más completo que las reglas de nombres nativas, alternativas son configurar manualmente convenciones por proyecto o usar plugins específicos del framework.
Ejemplo
Instalación:
npm install eslint-plugin-check-file --save-dev
Uso básico con flat config en eslint.config.js:
import checkFile from 'eslint-plugin-check-file';
export default [
{
files: ['src/**/*.*'],
plugins: {
'check-file': checkFile,
},
rules: {
'check-file/filename-naming-convention': [
'error',
{
'**/*.{jsx,tsx}': 'PASCAL_CASE',
'**/*.{js,ts}': 'CAMEL_CASE',
},
],
},
},
];
Puntos clave
- Aporta cinco reglas: filename-naming-convention, folder-naming-convention, folder-match-with-fex, filename-blocklist y no-index.
- Soporta la configuración plana (flat config) de ESLint además del formato clásico.
- Admite patrones glob y convenciones predefinidas (PASCAL_CASE, CAMEL_CASE, KEBAB_CASE, etc.) o expresiones propias.
Ten en cuenta
- Es un plugin de ESLint, así que necesitas tener ESLint configurado en el proyecto; no funciona de forma independiente.
- Solo valida nombres de archivos y carpetas, no el contenido del código.
- Se distribuye bajo licencia Apache-2.0 y se mantiene de forma activa (última versión v3.3.1).