UNPKG

kudo

Version:

check someone's code quality in git repository

439 lines (437 loc) 18.9 kB
<!doctype html> <html lang="en"> <head> <title>Code coverage report for lib/git.js</title> <meta charset="utf-8"> <link rel="stylesheet" href="../prettify.css"> <link rel="stylesheet" href="../base.css"> <style type='text/css'> div.coverage-summary .sorter { background-image: url(../sort-arrow-sprite.png); } </style> </head> <body> <div class="header high"> <h1>Code coverage report for <span class="entity">lib/git.js</span></h1> <h2> Statements: <span class="metric">98.28% <small>(57 / 58)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Branches: <span class="metric">75% <small>(6 / 8)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Functions: <span class="metric">100% <small>(13 / 13)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Lines: <span class="metric">98.28% <small>(57 / 58)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Ignored: <span class="metric">4 statements, 2 functions, 1 branch</span> &nbsp;&nbsp;&nbsp;&nbsp; </h2> <div class="path"><a href="../index.html">All files</a> &#187; <a href="index.html">lib/</a> &#187; git.js</div> </div> <div class="body"> <pre><table class="coverage"> <tr><td class="line-count">1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132</td><td class="line-coverage"><span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">12</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">12</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">8</span> <span class="cline-any cline-yes">21</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">8</span> <span class="cline-any cline-yes">8</span> <span class="cline-any cline-yes">8</span> <span class="cline-any cline-yes">8</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">11</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">11</span> <span class="cline-any cline-yes">7</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-yes">3</span> <span class="cline-any cline-yes">3</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">3</span> <span class="cline-any cline-yes">3</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-yes">26</span> <span class="cline-any cline-yes">26</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-yes">3</span> <span class="cline-any cline-yes">3</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/** * @file git 运行辅助类 * @author chris&lt;wfsr@foxmail.com&gt; */ &nbsp; 'use strict'; &nbsp; var _createClass = require('babel-runtime/helpers/create-class')['default']; &nbsp; var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default']; &nbsp; var _slicedToArray = require('babel-runtime/helpers/sliced-to-array')['default']; &nbsp; var _Symbol = require('babel-runtime/core-js/symbol')['default']; &nbsp; var _Promise = require('babel-runtime/core-js/promise')['default']; &nbsp; Object.defineProperty(exports, '__esModule', { value: true }); &nbsp; var _config = require('./config'); &nbsp; var spawn = (function () { // istanbul ignore next return process.env.comspec ? <span class="fstat-skip" title="function not covered" ><span class="branch-0 cbranch-skip" title="branch not covered" >function (command, args, options) {</span></span> <span class="cstat-skip" title="statement not covered" > var spawn = require('child_process').spawn;</span> <span class="cstat-skip" title="statement not covered" > return spawn(process.env.comspec, ['/c', command].concat(args), options);</span> } : function (command, args, options) { var spawn = require('child_process').spawn; return spawn(command, args, options); }; })(); &nbsp; var queue = _Symbol('queue'); var _run = _Symbol('run'); &nbsp; var Git = (function () { function Git() { _classCallCheck(this, Git); &nbsp; this[queue] = []; } &nbsp; /** * 执行 git 子命令 * * @public * @param {string[]} args 命令参数 * @return {Promise.&lt;string&gt;} */ &nbsp; _createClass(Git, [{ key: 'run', value: function run() { for (var _len = arguments.length, args = Array(_len), _key = 0; _key &lt; _len; _key++) { args[_key] = arguments[_key]; } &nbsp; var self = this; return new _Promise(function (resolve, reject) { self[queue].push([resolve, reject, args]); self[_run](); }); } &nbsp; /** * 执行命令队列 * * @private */ }, { key: _run, value: function value() { var list = this[queue]; &nbsp; if (!list.length || list.child) { return; } &nbsp; var buffer = []; var length = 0; &nbsp; var _list$shift = list.shift(); &nbsp; var _list$shift2 = _slicedToArray(_list$shift, 3); &nbsp; var resolve = _list$shift2[0]; var reject = _list$shift2[1]; var args = _list$shift2[2]; &nbsp; var child = list.child = spawn('git', args); &nbsp; // istanbul ignore next child.on('error', <span class="fstat-skip" title="function not covered" >function (error) {</span> <span class="cstat-skip" title="statement not covered" > child.stdout.removeAllListeners();</span> <span class="cstat-skip" title="statement not covered" > reject(error);</span> }); &nbsp; var self = this; child.on('exit', function () { child.removeAllListeners(); list.child = null; &nbsp; process.nextTick(function () { self[_run](); }); }); &nbsp; child.stdout.on('data', function (data) { buffer.push(data); length += data.length; }); &nbsp; child.stdout.on('finish', function () { child.stdout.removeAllListeners(); resolve(Buffer.concat(buffer, length).toString()); }); &nbsp; if (_config.options.logit) { <span class="cstat-no" title="statement not covered" > console.log('git', args.join(' '));</span> } } }]); &nbsp; return Git; })(); &nbsp; exports['default'] = Git; var git = new Git(); exports.git = git; //# sourceMappingURL=data:application/json;base64,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RSxDQUFDLE1BQU0sRUFBRSxVQUFVLElBQUksRUFBRTtBQUNwQyxzQkFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNsQixzQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUM7YUFDekIsQ0FBQyxDQUFDOztBQUVILGlCQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWTtBQUNsQyxxQkFBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0FBQ2xDLHVCQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUNyRCxDQUFDLENBQUM7O0FBRUgsZ0JBQUksZ0JBQVEsS0FBSyxFQUFFO0FBQ2YsdUJBQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUN0QztTQUNKOzs7V0FwRWdCLEdBQUc7OztxQkFBSCxHQUFHO0FBd0VqQixJQUFJLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDIiwiZmlsZSI6ImdpdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGUgZ2l0IOi/kOihjOi+heWKqeexu1xuICogQGF1dGhvciBjaHJpczx3ZnNyQGZveG1haWwuY29tPlxuICovXG5cbmltcG9ydCB7b3B0aW9uc30gZnJvbSAnLi9jb25maWcnO1xuXG5sZXQgc3Bhd24gPSAoZnVuY3Rpb24gKCkge1xuICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gICAgcmV0dXJuIHByb2Nlc3MuZW52LmNvbXNwZWNcbiAgICA/IGZ1bmN0aW9uIChjb21tYW5kLCBhcmdzLCBvcHRpb25zKSB7XG4gICAgICAgIHZhciBzcGF3biA9IHJlcXVpcmUoJ2NoaWxkX3Byb2Nlc3MnKS5zcGF3bjtcbiAgICAgICAgcmV0dXJuIHNwYXduKFxuICAgICAgICAgICAgcHJvY2Vzcy5lbnYuY29tc3BlYyxcbiAgICAgICAgICAgIFsnL2MnLCBjb21tYW5kXS5jb25jYXQoYXJncyksXG4gICAgICAgICAgICBvcHRpb25zXG4gICAgICAgICk7XG4gICAgfVxuICAgIDogZnVuY3Rpb24gKGNvbW1hbmQsIGFyZ3MsIG9wdGlvbnMpIHtcbiAgICAgICAgdmFyIHNwYXduID0gcmVxdWlyZSgnY2hpbGRfcHJvY2VzcycpLnNwYXduO1xuICAgICAgICByZXR1cm4gc3Bhd24oY29tbWFuZCwgYXJncywgb3B0aW9ucyk7XG4gICAgfTtcbn0pKCk7XG5cbmxldCBxdWV1ZSA9IFN5bWJvbCgncXVldWUnKTtcbmxldCBydW4gPSBTeW1ib2woJ3J1bicpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHaXQge1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXNbcXVldWVdID0gW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5omn6KGMIGdpdCDlrZDlkb3ku6RcbiAgICAgKlxuICAgICAqIEBwdWJsaWNcbiAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBhcmdzICDlkb3ku6Tlj4LmlbBcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlLjxzdHJpbmc+fVxuICAgICAqL1xuICAgIHJ1biguLi5hcmdzKSB7XG4gICAgICAgIGxldCBzZWxmID0gdGhpcztcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgICAgIHNlbGZbcXVldWVdLnB1c2goW3Jlc29sdmUsIHJlamVjdCwgYXJnc10pO1xuICAgICAgICAgICAgc2VsZltydW5dKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaJp+ihjOWRveS7pOmYn+WIl1xuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBbcnVuXSgpIHtcbiAgICAgICAgbGV0IGxpc3QgPSB0aGlzW3F1ZXVlXTtcblxuICAgICAgICBpZiAoIWxpc3QubGVuZ3RoIHx8IGxpc3QuY2hpbGQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBidWZmZXIgPSBbXTtcbiAgICAgICAgbGV0IGxlbmd0aCA9IDA7XG4gICAgICAgIGxldCBbcmVzb2x2ZSwgcmVqZWN0LCBhcmdzXSA9IGxpc3Quc2hpZnQoKTtcblxuICAgICAgICBsZXQgY2hpbGQgPSBsaXN0LmNoaWxkID0gc3Bhd24oJ2dpdCcsIGFyZ3MpO1xuXG4gICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gICAgICAgIGNoaWxkLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgY2hpbGQuc3Rkb3V0LnJlbW92ZUFsbExpc3RlbmVycygpO1xuICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xuICAgICAgICBjaGlsZC5vbignZXhpdCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGNoaWxkLnJlbW92ZUFsbExpc3RlbmVycygpO1xuICAgICAgICAgICAgbGlzdC5jaGlsZCA9IG51bGw7XG5cbiAgICAgICAgICAgIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHNlbGZbcnVuXSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNoaWxkLnN0ZG91dC5vbignZGF0YScsIGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgICAgICBidWZmZXIucHVzaChkYXRhKTtcbiAgICAgICAgICAgIGxlbmd0aCArPSBkYXRhLmxlbmd0aDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY2hpbGQuc3Rkb3V0Lm9uKCdmaW5pc2gnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjaGlsZC5zdGRvdXQucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG4gICAgICAgICAgICByZXNvbHZlKEJ1ZmZlci5jb25jYXQoYnVmZmVyLCBsZW5ndGgpLnRvU3RyaW5nKCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAob3B0aW9ucy5sb2dpdCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ2dpdCcsIGFyZ3Muam9pbignICcpKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5leHBvcnQgbGV0IGdpdCA9IG5ldyBHaXQoKTtcbiJdfQ==</pre></td></tr> </table></pre> </div> <div class="footer"> <div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Sep 17 2015 10:53:44 GMT+0800 (CST)</div> </div> <script src="../prettify.js"></script> <script> window.onload = function () { if (typeof prettyPrint === 'function') { prettyPrint(); } }; </script> <script src="../sorter.js"></script> </body> </html>