eslint-bamboo-formatter
Version:
A reporter for eslint which produces a report compatible with Atlassian Bamboo Mocha Test Parser.
57 lines (50 loc) • 1.3 kB
JavaScript
var fs = require('fs');
var path = require('path');
var util = require('./util');
var filename = process.env.ESLINT_FILE || 'eslint.json';
var warningAsError = process.env.ESLINT_WARNING_AS_ERROR || false;
module.exports = function reporter(results) {
var output = {
stats: {
tests: 0,
passes: 0,
failures: 0,
duration: 0,
start: new global.Date(),
end: new global.Date(),
},
failures: [],
passes: [],
skipped: [],
};
results.forEach(function iterator(result) {
var errorCount = warningAsError
? result.errorCount + result.warningCount
: result.errorCount;
output.stats.tests++;
if (errorCount) {
output.stats.failures++;
output.failures.push({
title: path.basename(result.filePath),
fullTitle: result.filePath,
duration: 0,
errorCount: errorCount,
error: util.format(result),
});
} else {
output.stats.passes++;
output.passes.push({
title: path.basename(result.filePath),
fullTitle: result.filePath,
duration: 0,
errorCount: 0,
});
}
});
try {
fs.writeFileSync(filename, JSON.stringify(output, null, 2), 'utf-8');
process.exit();
} catch (err) {
process.exit(1);
}
};