Saltar al contenido

ESLint: configuración de “no-unused-vars” para TypeScript

Posterior a de esta prolongada compilación de datos dimos con la respuesta esta traba que pueden tener muchos los usuarios. Te brindamos la respuesta y deseamos serte de gran ayuda.

Solución:

Está un poco oculto en la documentación, pero si agrega algunas cosas a la propiedad ‘extiende’, puede usar las reglas recomendadas por ESLint como no-unused-vars, y hacer que realmente funcione en Typescript. Al igual que:

"extends": [
        "eslint:recommended",
        "plugin:@typescript-eslint/eslint-recommended",
        "plugin:@typescript-eslint/recommended"
    ],

@typescript-eslint/recommended parece ser lo que permite que eslint:recommended se ocupe de las construcciones de Typescript de manera efectiva. Sin embargo, no estoy seguro de cómo afectaría a sus otras extensiones.

creo que el uso de "plugin:@typescript-eslint/recommended" introduce un montón de reglas no deseadas. Uno es probablemente mejor usando "@typescript-eslint/no-unused-vars" regla ESLint en su lugar.

"rules": 
  "no-unused-vars": "off",
  "@typescript-eslint/no-unused-vars": [
    "error"
  ]

Referencia: https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unused-vars.md

tengo mucho false errores con las últimas versiones de TypeScript/ES-Lint y descubrí que propusieron una regla experimental para corregir el no-unused-vars que se rompe y con la regla experimental @typescript-eslint/no-unused-vars-experimental finalmente funciona como esperaba.

Antes del cambio de mi lado, tenía múltiples false errores al usar interfaces/tipos que dicen que estos vars no se usaron (que, por supuesto, nunca se usarán ya que no son variables sino interfaces/tipos)… y en caso de que tenga curiosidad sobre el código en sí, aquí es el PR agregando esta regla experimental que es como encontré la regla.

Aquí hay un subconjunto de mi actualizado .eslintrc expediente


  "parser": "@typescript-eslint/parser",
  "extends": [
    "plugin:@typescript-eslint/recommended"
  ],
  "rules": 
    "@typescript-eslint/no-unused-vars": "off",
    "@typescript-eslint/no-unused-vars-experimental": "error",
    "no-unused-vars": "off"
  

y ahora por fin he vuelto a la normalidad 🙂

EDITAR (enero de 2021)

Como lo mencionó Brad (un mantenedor del proyecto) en el comentario a continuación, esta es (era) una solución temporal y ahora está obsoleta. De su comentario (abajo), ahora podemos usar directamente @typescript-eslint/no-unused-vars por el mismo comportamiento previsto. Gracias a Brad por la información. También puedo confirmar que cambiar de nuevo a @typescript-eslint/no-unused-vars ahora funciona para mí (actualicé mi código y todo está bien ahora).

Este no es el camino a seguir, y debe evitarlo. @typescript-eslint/no-unused-vars-experimental está en desuso y se eliminará en la próxima versión principal. Actualice a la última versión de las herramientas y simplemente use @typescript-eslint/no-unused-vars. Fuente: Soy el mantenedor del proyecto.

RESPUESTA ACTUALIZADA desde enero de 2021

Así que aquí está la última actualización de mi .eslintrc expediente


  "parser": "@typescript-eslint/parser",
  "extends": [
    "plugin:@typescript-eslint/recommended"
  ],
  "rules": 
    "@typescript-eslint/no-unused-vars": "error",
    "no-unused-vars": "off"
  

Nos encantaría que puedieras dar visibilidad a esta reseña si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *