Передача цветного вывода stdout на вывод grunt

Я пытаюсь создать настраиваемую задачу grunt, которая запускает тесты мокко, но я не могу понять, как сделать так, чтобы хрюканье брало цветной вывод из мокко и отображало его, как при непосредственном запуске команды мокко. Т.е.: хрюканье зачищает цвета или не пропускает их. Вот грубая задача:

var exec = require("child_process").exec;
grunt.registerTask('mocha', 'Run unit (Mocha) tests.', function () {
    var done = this.async();
    var cmd = "mocha -R Spec tests/mocha/*.js";
    exec(cmd, function (error, stdout, stderr) {
        if (stdout) {
            grunt.verbose.or.write(stdout);
            done();
        }
    });
});

Я понимаю, что есть плагин grunt-mocha, который я мог бы использовать (и использовал), но я пытаюсь устранить зависимости, а также буду выполнять некоторые настройки для этой задачи.

Спасибо!


person luisgo    schedule 27.12.2012    source источник


Ответы (1)


В основном это дубликат этого вопроса.

Вам нужно добавить --colors, чтобы заставить Mocha выводить цветовые коды ANSI, в противном случае он автоматически отключает цвета, поскольку он не выводится на фактический терминал.

var cmd = "mocha --colors -R Spec tests/mocha/*.js";
person loganfsmyth    schedule 27.12.2012
comment
Нашел это, когда искал, как отключить цвета. Пробовал --no-colors, и это сработало. Спасибо! - person Igor Malyk; 08.02.2016