$ $(yarn bin)/tslint --version
5.7.0
$ $(yarn bin)/tsc --version
Version 2.5.2
Estou executando tslint
sobre uma base de código existente.
Meu projeto tem o conjunto de regras no-unused-variable
(por meio do uso de um pacote do tipo predefinido).
Meu projeto também tem as opções de compilador noUnusedLocals
e noUnusedParameters
habilitadas para TypeScript (contra, por meio do uso de um pacote do tipo predefinido).
Ocasionalmente, atualizo minhas regras e executo tslint
a opção --fix
para corrigir automaticamente meu código.
Isso inclui o benefício do recurso de correção automática da regra no-unused-variable
.
Exemplo de saída ao executar tslint --fix
na minha base de código:
$ $(yarn bin)/tslint --project tsconfig.json --config tslint.json --fix src/**/*.ts
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
Conforme observado aqui, a regra no-unused-variable
não foi descontinuada porque os usuários (incluindo eu) se beneficiam do recurso de correção automática.
No entanto, o aviso implica que eu não deveria estar usando a regra de forma alguma e causa uma grande quantidade de saída desnecessária para o console, o que pode obscurecer outras informações importantes, como problemas não corrigíveis no código.
Acredito que não haveria problema em remover o aviso.
Para mim, a variável não não utilizada simplesmente não faz nada; (
Versão 5.7.0
Esta é a minha configuração
{
"extends": [
"tslint:latest",
"tslint-react",
"tslint-config-prettier"
],
"rules": {
"ban-types": false,
"interface-name": null,
"interface-over-type-literal": false,
"jsx-boolean-value": null,
"jsx-no-lambda": null,
"max-classes-per-file": [],
"member-access": false,
"no-namespace": null,
"no-unused-expression": [false],
"no-unused-variable": true,
"no-var-requires": false,
"object-literal-shorthand": false,
"object-literal-sort-keys": false,
"only-arrow-functions": null,
"ordered-imports": null,
"prefer-const": false,
"variable-name": false,
"no-invalid-template-strings": false,
"no-submodule-imports": false
}
}
@destroyerofbuilds que parece um bom ponto - você está usando no-unused-variable
principalmente para a funcionalidade de correção automática, então o aviso é irrelevante. Acho que devemos remover o aviso (aceitar PRs). Seria bom também atualizar os documentos de regras para descrever esse padrão de uso.
@tomitrescak, como você está executando o TSLint? Isso soa como um problema separado da postagem original; Eu o encorajaria a abrir outra edição, se ainda não o fez.
Comentários muito úteis
@destroyerofbuilds que parece um bom ponto - você está usando
no-unused-variable
principalmente para a funcionalidade de correção automática, então o aviso é irrelevante. Acho que devemos remover o aviso (aceitar PRs). Seria bom também atualizar os documentos de regras para descrever esse padrão de uso.