UNPKG

2.25 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('-a, --accountToken [value]', 'Codacy Account Token')
23 .option('-u, --username [value]', 'Codacy Username/Organization')
24 .option('-n, --projectName [value]', 'Codacy Project Name')
25 .option('-c, --commit [value]', 'Commit SHA hash')
26 .option('-l, --language [value', 'Project Language')
27 .option('-e, --endpoint [value]', 'Codacy API Endpoint')
28 .option('-p, --prefix [value]', 'Project path prefix')
29 .option('-v, --verbose', 'Display verbose output')
30 .option('-d, --debug', 'Display debug output')
31 .parse(process.argv);
32
33 loggerImpl = logger({
34 verbose: program.verbose,
35 debug: program.debug
36 });
37
38 loggerImpl.info(util.format('Started with: token [%j], accountToken [%j], username [%j], projectName [%j], commitId [%j], language [%j], endpoint [%j], format [%j], path prefix [%j], verbose [%j], debug [%j]',
39 program.token, program.accountToken, program.username, program.projectName, program.commit, program.language, program.endpoint, program.format, program.prefix, program.verbose, program.debug));
40
41 process.stdin.on('end', function () {
42 loggerImpl.trace('Received file through stdin');
43
44 if (program.help === true) {
45 return;
46 }
47
48 return lib.handleInput(input, program).then(function () {
49 loggerImpl.debug('Successfully sent coverage');
50 }, function (err) {
51 loggerImpl.error('Error sending coverage');
52 loggerImpl.error(err);
53 process.exitCode = 1;
54 });
55 });
56
57}(require('commander'), require('../lib/logger'), require('util'), require('../index')));