Возможно ли иметь более одного репортера и репортера в jshint?

В моих опциях у меня есть репортер и репортерВыход, определенные для моей задачи ворчания для jshint. Но я хотел бы записать два файла из одних и тех же данных. Возможно ли с помощью jshint использовать параметры или мне просто нужно определить 2 задачи grunt, которые будут делать одно и то же, но выводить одни и те же результаты в разных форматах?

Я также хочу сделать то же самое с выводом jscs.


person whatsTheDiff    schedule 25.02.2016    source источник


Ответы (1)


В вашем пользовательском репортере для создания выходного файла вы просто возвращаете следующий код:

process.stdout.write(reportHtmlJS);

Давайте представим, что reporterHTMLJS — это ваш собственный вывод HTML. Что вы можете сделать до этого, так это просто использовать этот HTML и создать второй файл до того, как модуль JSHint или JSCS создаст его. Что-то похожее на это:

fs = require('fs');
fs.writeFile("./jshint/secondJSHintReport.html", reportHtmlJS, function (err) {
    if (err) {
        console.log(err);
    }
});

Вы также можете использовать какой-нибудь модуль Grunt, например grunt-contrib-copy и grunt-contrib-rename и создайте новую задачу grunt, которая сначала выполнит jshint/jscs, а затем скопирует файл и переименовать его.

grunt.task.run("jshint copy:jshint rename:jshint");
grunt.task.run("jscs copy:jscs rename:jscs");
person Lipata    schedule 30.03.2016