O IDE usado é o WebStorm 11.0.3, o tslint está configurado e funciona, mas trava porque tenta analisar grandes arquivos de biblioteca * .d.ts.
Existe uma maneira de ignorar um arquivo ou diretório específico?
O IDE usado é o WebStorm 11.0.3, o tslint está configurado e funciona, mas trava porque tenta analisar grandes arquivos de biblioteca * .d.ts.
Existe uma maneira de ignorar um arquivo ou diretório específico?
Respostas:
Atualização para tslint v5.8.0
Conforme mencionado por Saugat Acharya , agora você pode atualizar as opções da CLI do tslint.json :
{
"extends": "tslint:latest",
"linterOptions": {
"exclude": [
"bin",
"lib/*generated.js"
]
}
}
Mais informações nesta solicitação de recebimento .
Este recurso foi introduzido com o tslint 3.6
tslint \"src/**/*.ts\" -e \"**/__test__/**\"
Agora você pode adicionar --exclude (ou -e) veja PR aqui.
CLI
usage: tslint [options] file ...
Options:
-c, --config configuration file
--force return status code 0 even if there are lint errors
-h, --help display detailed help
-i, --init generate a tslint.json config file in the current working directory
-o, --out output file
-r, --rules-dir rules directory
-s, --formatters-dir formatters directory
-e, --exclude exclude globs from path expansion
-t, --format output format (prose, json, verbose, pmd, msbuild, checkstyle) [default: "prose"]
--test test that tslint produces the correct output for the specified directory
-v, --version current version
você está olhando usando
-e, --exclude exclude globs from path expansion
linterOptions
e nãocliOptions
tslint.json
Atualmente, usando o Visual Studio Code e o comando para desativar o tslint é
/* tslint:disable */
trabalhou para mim. Confira esta página, cerca de 3/4 do caminho existem alguns comandos de desativação https://c9.io/lijunle/tslint
Algo a notar. A desativação acima desativa TODAS as regras tslint nessa página. Se você deseja desativar uma regra específica no meio da página, há uma lista de regras. Assim, você pode desativar itens específicos, como
/* tslint:disable comment-format */
Além da resposta de Michael, considere uma segunda maneira: adicionar linterOptions.exclude a tslint.json
Por exemplo, você pode ter as tslint.json
seguintes linhas:
{
"linterOptions": {
"exclude": [
"someDirectory/*.d.ts"
]
}
}
A partir de tslint v5.8.0
você pode definir uma exclude
propriedade sob sua linterOptions
chave no seu tslint.json
arquivo:
{
"extends": "tslint:latest",
"linterOptions": {
"exclude": [
"bin",
"**/__test__",
"lib/*generated.js"
]
}
}
Mais informações aqui .
cliOptions
por linterOptions
.
Não são os outros que encontraram o problema. Infelizmente, há apenas um problema em aberto para excluir arquivos: https://github.com/palantir/tslint/issues/73
Então, eu tenho medo que a resposta seja não.
Eu tive que usar a sintaxe ** / * para excluir os arquivos em uma pasta:
"linterOptions": {
"exclude": [
"src/auto-generated/**/*",
"src/app/auto-generated/**/*"
]
},
Pode confirmar que, na versão tslint 5.11.0, ele funciona modificando o script lint no package.json, definindo o argumento exclude:
"lint": "ng lint --exclude src/models/** --exclude package.json"
Felicidades!!
Como complemento
Para desabilitar todas as regras da próxima linha // tslint:disable-next-line
Para desativar regras específicas para a próxima linha :// tslint:disable-next-line:rule1 rule2...
Para desativar todas as regras da linha atual :someCode(); // tslint:disable-line
Para desativar regras específicas para a linha atual :someCode(); // tslint:disable-line:rule1