# @nodecfdi/eslint-config

> Configuración base de Eslint para proyectos NodeCfdi

Latest version **3.5.1** (published 2025-07-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install @nodecfdi/eslint-config
pnpm add @nodecfdi/eslint-config
yarn add @nodecfdi/eslint-config
bun add @nodecfdi/eslint-config
```

## Health

**Score 35/100 (D)** — status: maintenance-mode.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 3.5.1 |
| Published | 2025-07-21 |
| First published | 2024-03-15 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM |
| Node | >=20.11 |
| Dependencies | 20 |
| Unpacked size | 49.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Fernando Isidro |
| Maintainers | luffynando, celli33 |
| Keywords | eslint, eslint_config, nodecfdi, shared, config |

## Links

- npm: https://www.npmjs.com/package/@nodecfdi/eslint-config
- Repository: https://github.com/nodecfdi/eslint-config
- Issues: https://github.com/nodecfdi/eslint-config/issues
- npm.io page: https://npm.io/package/@nodecfdi/eslint-config

## Dependencies (20)

- [globals](https://npm.io/package/globals.md) ^16.3.0
- [@eslint/js](https://npm.io/package/@eslint/js.md) ^9.31.0
- [eslint-plugin-n](https://npm.io/package/eslint-plugin-n.md) ^17.21.0
- [@nx/eslint-plugin](https://npm.io/package/@nx/eslint-plugin.md) ^21.3.1
- [eslint-plugin-vue](https://npm.io/package/eslint-plugin-vue.md) ^10.3.0
- [typescript-eslint](https://npm.io/package/typescript-eslint.md) ^8.37.0
- [vue-eslint-parser](https://npm.io/package/vue-eslint-parser.md) ^10.2.0
- [@nuxt/eslint-plugin](https://npm.io/package/@nuxt/eslint-plugin.md) ^1.6.0
- [eslint-plugin-import](https://npm.io/package/eslint-plugin-import.md) ^2.32.0
- [@vitest/eslint-plugin](https://npm.io/package/@vitest/eslint-plugin.md) ^1.3.4
- [eslint-plugin-promise](https://npm.io/package/eslint-plugin-promise.md) ^7.2.1
- [eslint-plugin-sonarjs](https://npm.io/package/eslint-plugin-sonarjs.md) ^3.0.4
- [eslint-plugin-unicorn](https://npm.io/package/eslint-plugin-unicorn.md) ^60.0.0
- [eslint-config-prettier](https://npm.io/package/eslint-config-prettier.md) ^10.1.8
- [@adonisjs/eslint-plugin](https://npm.io/package/@adonisjs/eslint-plugin.md) ^2.0.0
- [@stylistic/eslint-plugin](https://npm.io/package/@stylistic/eslint-plugin.md) ^5.2.1
- [eslint-config-flat-gitignore](https://npm.io/package/eslint-config-flat-gitignore.md) ^2.1.0
- [eslint-plugin-simple-import-sort](https://npm.io/package/eslint-plugin-simple-import-sort.md) ^12.1.1
- [eslint-import-resolver-typescript](https://npm.io/package/eslint-import-resolver-typescript.md) ^4.4.4
- [@eslint-community/eslint-plugin-eslint-comments](https://npm.io/package/@eslint-community/eslint-plugin-eslint-comments.md) ^4.5.0

## Alternatives

- [eslint-plugin-sonarjs](https://npm.io/package/eslint-plugin-sonarjs.md) — 2.9M weekly downloads
- [eslint-config-expo](https://npm.io/package/eslint-config-expo.md) — 1.5M weekly downloads
- [@matter/protocol](https://npm.io/package/@matter/protocol.md) — 63.5K weekly downloads
- [@eventcatalog/linter](https://npm.io/package/@eventcatalog/linter.md) — 24.8K weekly downloads
- [@inrupt/eslint-config-base](https://npm.io/package/@inrupt/eslint-config-base.md) — 4.5K weekly downloads

## Recent versions

- 3.5.1 (latest) — 2025-07-21
- 3.5.0 — 2025-07-11
- 3.5.0-0 — 2025-07-08
- 3.4.1 — 2025-06-26
- 3.4.0 — 2025-06-23
- 3.3.1 — 2025-06-23
- 3.3.0 — 2025-05-29
- 3.2.1 — 2025-05-06
- 3.2.0 — 2025-04-09
- 3.1.1 — 2025-03-24
- 3.1.0 — 2025-03-10
- 3.0.0 — 2025-02-27
- 2.4.4 — 2025-02-11
- 2.4.3 — 2025-01-27
- 2.4.2 — 2024-12-24
- … 62 more at https://npm.io/package/@nodecfdi/eslint-config/versions

## README

# @nodecfdi/eslint-config

[![Source Code][badge-source]][source]
[![Discord][badge-discord]][discord]
[![Latest Version][badge-release]][release]
[![Software License][badge-license]][license]
[![Total Downloads][badge-downloads]][downloads]

> La libreria `@nodecfdi/eslint-config` exporta la configuración base para eslint usada en los proyectos de NodeCfdi.

:us: The documentation of this project is in spanish as this is the natural language for intended audience.

:mexico: La documentación del proyecto está en español porque ese es el lenguaje principal de los usuarios.

> [!WARNING]
> This package is native [ESM](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) and no longer provides a CommonJS export. If your project uses CommonJS, you will have to [convert to ESM](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c). Please don't open issues for questions regarding CommonJS / ESM.

## Instalación

### NPM

```shell
npm i -D eslint @nodecfdi/eslint-config
```

### Yarn

```shell
yarn add -D eslint @nodecfdi/eslint-config
```

### PNPM

```shell
pnpm add -D eslint @nodecfdi/eslint-config
```

## Uso básico

Para habilitar está configuración crea un archivo `eslint.config.js` en el root del proyecto y copia y pega el siguiente contenido:

```js
// @ts-check
import nodecfdiConfig from '@nodecfdi/eslint-config';

const { defineConfig } = nodecfdiConfig(import.meta.dirname);

export default defineConfig(); // Puedes agregar mas reglas o bloques de configuracion dentro de esta funcion
```

> [!NOTE]  
> Por defecto tiene habilitado las siguientes opciones: projectService -> true, sonarjs -> true

Si deseas aplicar algun ajuste puedes y/o personalización puedes hacerlo de la siguiente manera:

```js
// @ts-check
import nodecfdiConfig from '@nodecfdi/eslint-config';

const { defineConfig } = nodecfdiConfig(import.meta.dirname, {
  vitest: true,
  adonisjs: true,
  sonarjs: true,
  n: true,
});

export default defineConfig(); // Puedes agregar mas reglas o bloques de configuracion dentro de esta funcion
```

## Ajustes y personalizaciones

```ts
type NodecfdiSettings = {
  /**
   * Vitest support.
   */
  vitest?: boolean;
  /**
   * AdonisJS support.
   */
  adonisjs?: boolean;
  /**
   * Vue3 Support.
   */
  vue?:
    | boolean
    | {
        globalComponentsPatterns?: string[];
        globalPropertiesPatterns?: string[];
      };
  /**
   * SonarJS support
   */
  sonarjs?: boolean;
  /**
   * N support
   */
  n?: boolean;
  /**
   * NX support
   */
  nx?: boolean;
  /**
   * Nuxt support
   */
  nuxt?: boolean;
  /**
   * Typescript eslint project service option
   */
  projectService?: boolean | ProjectServiceOptions;
  /**
   * This setting apply some ignore patterns to the whole config.
   */
  ignores?: {
    /**
     * Some commonly ignored folders.
     */
    recommended?: boolean;
    /**
     * With this setting, Nodecfdi will ignore all the files that are currently ignored by git. Chances are that if you are ignoring a file in git, you don't want to lint it, which usually is the case with temporary and autogenerated files.
     */
    inheritedFromGitignore?: boolean;
    /**
     * Include additional ignore files paths or regex paths to ignore on current eslint config
     */
    additional?: string[];
  };
};
```

## Soporte

Puedes obtener soporte abriendo un ticket en Github.

## Compatibilidad

Esta librería se mantendrá compatible con al menos la versión con
[soporte activo de Node](https://nodejs.org/es/about/releases/) más reciente y [soporte activo de Typescript](https://www.typescriptlang.org/) más reciente.

También utilizamos [Versionado Semántico 2.0.0](https://semver.org/lang/es/) por lo que puedes usar esta librería sin temor a romper tu aplicación.

## Contribuciones

Las contribuciones con bienvenidas. Por favor lee [CONTRIBUTING][] para más detalles y recuerda revisar el archivo [CHANGELOG][].

## Copyright and License

The `@nodecfdi/eslint-config` library is copyright © [NodeCfdi](https://github.com/nodecfdi) and licensed for use under the MIT License (MIT). Please see [LICENSE][] for more information.

[contributing]: https://github.com/nodecfdi/.github/blob/main/docs/CONTRIBUTING.md
[changelog]: https://github.com/nodecfdi/eslint-config/blob/main/CHANGELOG.md
[source]: https://github.com/nodecfdi/eslint-config
[discord]: https://discord.gg/AsqX8fkW2k
[release]: https://www.npmjs.com/package/@nodecfdi/eslint-config
[license]: https://github.com/nodecfdi/eslint-config/blob/main/LICENSE.md
[downloads]: https://www.npmjs.com/package/@nodecfdi/eslint-config
[badge-source]: https://img.shields.io/badge/source-nodecfdi/eslint--config-blue?logo=github
[badge-discord]: https://img.shields.io/discord/459860554090283019?logo=discord
[badge-release]: https://img.shields.io/npm/v/@nodecfdi/eslint-config?logo=npm
[badge-license]: https://img.shields.io/github/license/nodecfdi/eslint-config?logo=open-source-initiative
[badge-downloads]: https://img.shields.io/npm/dm/@nodecfdi/eslint-config?logo=npm

---
_Source: https://npm.io/package/@nodecfdi/eslint-config · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
