Как заставить JSHint, работающий в grunt, всегда использовать флаг --verbose
У меня есть особая установка JSHint/Grunt, в которой я хотел бы выполнить следующее:
- Загрузите из единственного файла.jshintrc, чтобы мой линдер IDE мог забрать мои настройки
- Уметь переопределять отдельные параметры из.jshintrc в других рабочих задачах
- Пусть JSHint всегда запускается в подробном режиме, чтобы я всегда мог видеть номера предупреждений, без необходимости выполнять все действия с --verbose
Следующее позволяет мне загружать из.jshintrc и всегда работать в подробном виде, но не позволяет переопределения параметров. Документы упоминают, что это должно быть так, но ничего не говорите о подробном варианте, который работает:
jshint: {
options:{
jshintrc: '.jshintrc',
verbose: true,
},
source: {
options: {
ignores: ['src/**/*.test.js'],
},
files:{
src:['src/**/*.js']
}
},
tests: {
options: {
unused: false
},
files: {
src: ['src/**/*.test.js']
}
}
}
Чтобы обойти ограничения по переопределению, довольно просто grunt вставить содержимое файла.jshintrc в конфигурацию, но по какой-то причине это приводит к тому, что linter теперь выбрасывает "line 0 col 0 Bad option:" verbose ". (E001)"ошибки (это работает правильно, если я удаляю options.verbose = true; строка, но без подробного флага):
jshint: {
options:(function () {
var options = grunt.file.readJSON('.jshintrc');
options.verbose = true;
return options;
}()),
source: {
options: {
ignores: ['src/**/*.test.js'],
},
files:{
src:['src/**/*.js']
}
},
tests: {
options: (function () {
var options = grunt.file.readJSON('.jshintrc');
options.unused = false;
return options;
}()),
files: {
src: ['src/**/*.test.js']
}
}
}
Итак, учитывая мои три критерия, есть ли способ настроить grunt для работы таким образом?
1 ответ
Как запустить jshint для определенного файла, используя grunt-contrib-jshint:
./node_modules/grunt-contrib-jshint/node_modules/jshint/bin/jshint --verbose app/sources/modules/dashboard/views/dashboard-performance/dashboard-performance-ctrl.js
нет способа определить подробный режим для grunt jshint в опциях. И это не будет решено до ворчливых обновлений. (спасибо MaxPRafferty)