UNPKG

1.89 kBJavaScriptView Raw
1#!/usr/bin/env node
2(function (program, logger, util, lib) {
3 'use strict';
4 process.stdin.resume();
5 process.stdin.setEncoding('utf8');
6
7 var input = '';
8 var loggerImpl;
9
10 process.stdin.on('data', function (chunk) {
11 input += chunk;
12 if (loggerImpl) {
13 loggerImpl.trace('Got chunk');
14 }
15 });
16
17 program
18 .version(require('../package').version)
19 .usage('[options]')
20 .option('-f, --format [value]', 'Coverage input format')
21 .option('-t, --token [value]', 'Codacy Project API Token')
22 .option('-c, --commit [value]', 'Commit SHA hash')
23 .option('-l, --language [value', 'Project Language')
24 .option('-e, --endpoint [value]', 'Codacy API Endpoint')
25 .option('-p, --prefix [value]', 'Project path prefix')
26 .option('-v, --verbose', 'Display verbose output')
27 .option('-d, --debug', 'Display debug output')
28 .parse(process.argv);
29
30 loggerImpl = logger({
31 verbose: program.verbose,
32 debug: program.debug
33 });
34
35 loggerImpl.info(util.format('Started with: token [%j], commitId [%j], language [%j], endpoint [%j], format [%j], path prefix [%j], verbose [%j], debug [%j]',
36 program.token, program.commit, program.language, program.endpoint, program.format, program.prefix, program.verbose, program.debug));
37
38 process.stdin.on('end', function () {
39 loggerImpl.trace('Received file through stdin');
40
41 if (program.help === true) {
42 return;
43 }
44
45 return lib.handleInput(input, program).then(function () {
46 loggerImpl.debug('Successfully sent coverage');
47 }, function (err) {
48 loggerImpl.error('Error sending coverage');
49 loggerImpl.error(err);
50 });
51 });
52
53}(require('commander'), require('../lib/logger'), require('util'), require('../index')));