@tinkin/eslint-config

The shared eslint configuration for all the projects of tinkin.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@tinkin/eslint-config
1.0.03 months ago2 years agoMinified + gzip package size for @tinkin/eslint-config in KB

Readme

Esta configuración debería estar compartida en todos nuestros proyectos.
Antes de hacer cualquier cambio a la configuración del eslint de un proyecto, primero uno se debería preguntar si esta modificación no debería ir aquí.
Ahora se habilitan todas las reglas, en un futuro podremos ofrecer varias configuraciones, según si está instalado react o si estamos trabajando en código para el navegador por ejemplo.

Instalación y uso

Instalar eslint y @tinkin/eslint-config:
npm i -D eslint @tinkin/eslint-config

Generar un archivo .eslintrc.cjs con el siguiente contenido:
module.exports = {
  root: true,
  extends: [
    '@tinkin'
  ],
}

Extender las reglas

Para utilizar las reglas extendidas se debe declarar en el archivo de configuraciones de eslint: .eslintrc.cjs.
Actualmente cuenta con tres extensiones, una para ReactJS, NextJS y NestJS.
Se debe importar siempre primero las reglas generales y luego las extendidas, ya que estas últimas sobre escriben algunas reglas generales.

Extender las reglas de react

Para utilizar correctamente las reglas generales de eslint y de react se debe importar de la siguiente forma en el mismo orden presentado:
module.exports = {
  root: true,
  extends: [
    '@tinkin', '@tinkin/eslint-config/react'
  ]
}

Extender las reglas de nest

Para utilizar correctamente las reglas generales de eslint y de nest se debe importar de la siguiente forma en el mismo orden presentado:
module.exports = {
  root: true,
  extends: [
    '@tinkin', '@tinkin/eslint-config/nest'
  ]
}

Extender las reglas de next

Para utilizar correctamente las reglas se debe extender de las reglas generales, de react y next. En este mismo orden.
module.exports = {
  root: true,
  extends: [
    '@tinkin', '@tinkin/eslint-config/react', '@tinkin/eslint-config/next'
  ]
}

Nota: la extensión .cjs permite de decir a node que tiene que importar este archivo como un módulo CommonJS y no como un ES Module. Ver esta incidencia.