Respostas:
Sim, há um jeito. Dois de fato. Em outubro de 2013, o jshint adicionou uma maneira de ignorar blocos de código como este:
// Code here will be linted with JSHint.
/* jshint ignore:start */
// Code here will be ignored by JSHint.
/* jshint ignore:end */
// Code here will be linted with JSHint.
Você também pode ignorar uma única linha com um comentário à direita como este:
ignoreThis(); // jshint ignore:line
// jshint ignore:line
- funciona muito bem com;(function() { // jshint ignore:line
bad option: 'ignore'
usando a opção específica para a linha que eu quero que seja ignorada. No meu caso, eu queria ignorar if (x == null)
porque quero que ele seja igual a mais do que nulo e usado /* jshint eqnull:true */
na mesma função que o if
silenciar JSHint.
A resposta "má" não funcionou para mim. Em vez disso, usei o que foi recomendado na página de documentos JSHints . Se você souber o aviso emitido, poderá desativá-lo para um bloco de código. Por exemplo, estou usando algum código de terceiros que não usa funções de maiúsculas e minúsculas, mas minhas regras JSHint exigem, o que levou a um aviso. Para silenciá-lo, escrevi:
/*jshint -W106 */
save_state(id);
/*jshint +W106 */
--verbose
ao comando para obter o número de aviso.
Como você pode ver no documentação do JSHint, você pode alterar as opções por função ou por arquivo . No seu caso, basta colocar um comentário no seu arquivo ou ainda mais local apenas na função que usa eval
:
/*jshint evil:true */
function helloEval(str) {
/*jshint evil:true */
eval(str);
}