Tslint: Algumas mensagens de erro exibidas parecem irrelevantes

Criado em 19 nov. 2017  ·  3Comentários  ·  Fonte: palantir/tslint

Relatório de erro

  • __TSLint version__: 5.8.0
  • __TypeScript version__: 2.6.1
  • __Executando TSLint via__: CLI / Node.js API / VSCode

Código TypeScript sendo vinculado

(function () {
    console.log('Hello World!');
})();

Comportamento real

sem a configuração tslint.json , mostra a mensagem de erro:

> tslint test.ts

Could not find implementations for the following rules specified in the configuration:
    label-undefined
    no-duplicate-key
    no-trailing-comma
    no-unreachable
    use-strict
Try upgrading TSLint and/or ensuring that you have all necessary custom rules installed.
If TSLint was recently upgraded, you may have old rules configured which need to be cleaned up.

Warning: The 'no-unused-variable' rule requires type information.
Warning: The 'no-use-before-declare' rule requires type information.

ERROR: test.ts[1, 11]: expected call-signature to have a typedef
ERROR: test.ts[2, 17]: ' should be "

Por que ele reclama sobre não conseguir encontrar implementações para as regras label-undefined , no-duplicate-key , no-trailing-vírgula , no-unreachable , use-strict especificado na configuração? Como não há regras personalizadas definidas, nem regras estendidas também, ele deve vir do TSLint, mas eu pesquisei no pacote TSLint baixado do npm, além de terem sido mencionados em CHANGELOG.md , nenhum outro lugar foi definido / referenciado em Fonte TSLint. Então de onde eles vêm?

Mas com configuração abaixo de tslint.json , ele mostra OK:

{
    "defaultSeverity": "error",
    "extends": [
        "tslint:recommended"
    ],
    "jsRules": {},
    "rules": {},
    "rulesDirectory": []
}

Comportamento esperado

sem a configuração tslint.json , ele não deve reclamar de não conseguir encontrar implementações para essas regras.

Not A Bug

Comentários muito úteis

Você tem um tslint.json desatualizado em um diretório pai ou em seu diretório inicial.

Todos 3 comentários

Você tem um tslint.json desatualizado em um diretório pai ou em seu diretório inicial.

@ajafff Obrigado, você está certo. de alguma forma na minha pasta de usuário já existe um \Users\<MyUserName>\tslint.json antes de eu instalar TSLint desta vez. Então feche.

De alguma forma, algo também criou um tslint.json na minha pasta pessoal e causou esse problema. Seria bom se o tslint tivesse a opção de não pescar no diretório inicial do usuário. Ou se a mensagem de erro indicou a origem das regras listadas. Obrigado pela dica @ajafff! Eu estava batendo minha cabeça com esse erro.

Esta página foi útil?
0 / 5 - 0 avaliações