UNPKG

kudo

Version:

check someone's code quality in git repository

349 lines (347 loc) 18.6 kB
<!doctype html> <html lang="en"> <head> <title>Code coverage report for lib/check.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 low"> <h1>Code coverage report for <span class="entity">lib/check.js</span></h1> <h2> Statements: <span class="metric">44.23% <small>(23 / 52)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Branches: <span class="metric">0% <small>(0 / 4)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Functions: <span class="metric">33.33% <small>(3 / 9)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Lines: <span class="metric">44.23% <small>(23 / 52)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Ignored: <span class="metric"><span class="ignore-none">none</span></span> &nbsp;&nbsp;&nbsp;&nbsp; </h2> <div class="path"><a href="../index.html">All files</a> &#187; <a href="index.html">lib/</a> &#187; check.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</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-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</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-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-yes">2</span> <span class="cline-any cline-yes">2</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">2</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">2</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">2</span> <span class="cline-any cline-yes">2</span> <span class="cline-any cline-yes">2</span> <span class="cline-any cline-yes">2</span> <span class="cline-any cline-yes">2</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</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-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</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-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-no">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</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></td><td class="text"><pre class="prettyprint lang-js">/** * @file 校验并过滤出错误行 * @author chris&lt;wfsr@foxmail.com&gt; */ &nbsp; 'use strict'; &nbsp; var _Promise = require('babel-runtime/core-js/promise')['default']; &nbsp; var _Map = require('babel-runtime/core-js/map')['default']; &nbsp; var _Object$create = require('babel-runtime/core-js/object/create')['default']; &nbsp; var _Set = require('babel-runtime/core-js/set')['default']; &nbsp; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; &nbsp; Object.defineProperty(exports, '__esModule', { value: true }); &nbsp; var _fecs = require('fecs'); &nbsp; var _fecs2 = _interopRequireDefault(_fecs); &nbsp; var _config = require('./config'); &nbsp; <span class="fstat-no" title="function not covered" >function formatMonth(date) {</span> <span class="cstat-no" title="statement not covered" > return date.getFullYear() * 100 + (date.getMonth() + 1);</span> } &nbsp; /** * 使用 fecs 检查所有提交涉及到的文件 * * @param {Array.&lt;File[]&gt;} commits 所有提交的文件 * @return {Promise.&lt;Object&gt;} */ &nbsp; exports['default'] = function (commits) { var through = require('through2'); var stream = through.obj({ highWaterMark: 10000 }); &nbsp; commits.forEach(function (files) { files.forEach(function (file) { stream.write(file); }); }); &nbsp; stream.end(null); &nbsp; var options = _fecs2['default'].getOptions(); options.command = 'check'; options.stream = stream; options.rule = true; options.lookup = _config.options.lookup; <span class="cstat-no" title="statement not covered" > options.reporter = 'baidu';</span> &nbsp; <span class="cstat-no" title="statement not covered" > return new _Promise(<span class="fstat-no" title="function not covered" >function (resolve, reject) {</span></span> <span class="cstat-no" title="statement not covered" > var meta = { lines: 0, files: 0, errors: 0, errorLines: 0 };</span> <span class="cstat-no" title="statement not covered" > var collector = new _Map();</span> <span class="cstat-no" title="statement not covered" > var total = _Object$create(meta);</span> &nbsp; <span class="cstat-no" title="statement not covered" > collector.total = total;</span> &nbsp; <span class="cstat-no" title="statement not covered" > var finish = <span class="fstat-no" title="function not covered" >function finish(success, json, files, errors) {</span></span> <span class="cstat-no" title="statement not covered" > total.success = success;</span> <span class="cstat-no" title="statement not covered" > total.files = files;</span> <span class="cstat-no" title="statement not covered" > total.errors = errors;</span> }; &nbsp; <span class="cstat-no" title="statement not covered" > _fecs2['default'].check(options, finish).pipe(through.obj({ highWaterMark: 10000 }, <span class="fstat-no" title="function not covered" >function (file, enc, cb) {</span></span> &nbsp; <span class="cstat-no" title="statement not covered" > var set = new _Set();</span> <span class="cstat-no" title="statement not covered" > var errorLines = file.errors.reduce(<span class="fstat-no" title="function not covered" >function (i, error) {</span></span> <span class="cstat-no" title="statement not covered" > if (!set.has(error.line)) {</span> <span class="cstat-no" title="statement not covered" > i++;</span> <span class="cstat-no" title="statement not covered" > set.add(error.line);</span> } <span class="cstat-no" title="statement not covered" > return i;</span> }, 0); &nbsp; <span class="cstat-no" title="statement not covered" > var month = formatMonth(file.date);</span> <span class="cstat-no" title="statement not covered" > var monthData = collector.get(month) || _Object$create(meta);</span> &nbsp; <span class="cstat-no" title="statement not covered" > monthData.files++;</span> <span class="cstat-no" title="statement not covered" > monthData.errors += file.errors.length;</span> <span class="cstat-no" title="statement not covered" > monthData.errorLines += errorLines;</span> <span class="cstat-no" title="statement not covered" > monthData.lines += file.stat.lines;</span> <span class="cstat-no" title="statement not covered" > total.errorLines += errorLines;</span> <span class="cstat-no" title="statement not covered" > total.lines += file.stat.lines;</span> &nbsp; <span class="cstat-no" title="statement not covered" > collector.set(month, monthData);</span> &nbsp; <span class="cstat-no" title="statement not covered" > cb(null, file);</span> })).once('finish', <span class="fstat-no" title="function not covered" >function () {</span> <span class="cstat-no" title="statement not covered" > resolve(collector);</span> }); }); }; &nbsp; module.exports = exports['default']; //# sourceMappingURL=data:application/json;base64,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QUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksZUFBYyxJQUFJLENBQUMsQ0FBQzs7QUFFNUQscUJBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUNsQixxQkFBUyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUN2QyxxQkFBUyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUM7QUFDbkMscUJBQVMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDbkMsaUJBQUssQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDO0FBQy9CLGlCQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDOztBQUUvQixxQkFBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7O0FBRWhDLGNBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbEIsQ0FBQyxDQUNMLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxZQUFZO0FBQ3pCLG1CQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdEIsQ0FBQyxDQUFDO0tBQ04sQ0FBQyxDQUFDO0NBQ04iLCJmaWxlIjoiY2hlY2suanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlIOagoemqjOW5tui/h+a7pOWHuumUmeivr+ihjFxuICogQGF1dGhvciBjaHJpczx3ZnNyQGZveG1haWwuY29tPlxuICovXG5cbmltcG9ydCBmZWNzIGZyb20gJ2ZlY3MnO1xuaW1wb3J0IHtvcHRpb25zIGFzIGNsaU9wdGlvbnN9IGZyb20gJy4vY29uZmlnJztcblxuZnVuY3Rpb24gZm9ybWF0TW9udGgoZGF0ZSkge1xuICAgIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCkgKiAxMDAgKyAoZGF0ZS5nZXRNb250aCgpICsgMSk7XG59XG5cblxuLyoqXG4gKiDkvb/nlKggZmVjcyDmo4Dmn6XmiYDmnInmj5DkuqTmtonlj4rliLDnmoTmlofku7ZcbiAqXG4gKiBAcGFyYW0ge0FycmF5LjxGaWxlW10+fSBjb21taXRzIOaJgOacieaPkOS6pOeahOaWh+S7tlxuICogQHJldHVybiB7UHJvbWlzZS48T2JqZWN0Pn1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGNvbW1pdHMpIHtcbiAgICBsZXQgdGhyb3VnaCA9IHJlcXVpcmUoJ3Rocm91Z2gyJyk7XG4gICAgbGV0IHN0cmVhbSA9IHRocm91Z2gub2JqKHtoaWdoV2F0ZXJNYXJrOiAxMDAwMH0pO1xuXG4gICAgY29tbWl0cy5mb3JFYWNoKGZ1bmN0aW9uIChmaWxlcykge1xuICAgICAgICBmaWxlcy5mb3JFYWNoKGZ1bmN0aW9uIChmaWxlKSB7XG4gICAgICAgICAgICBzdHJlYW0ud3JpdGUoZmlsZSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgc3RyZWFtLmVuZChudWxsKTtcblxuXG4gICAgbGV0IG9wdGlvbnMgPSBmZWNzLmdldE9wdGlvbnMoKTtcbiAgICBvcHRpb25zLmNvbW1hbmQgPSAnY2hlY2snO1xuICAgIG9wdGlvbnMuc3RyZWFtID0gc3RyZWFtO1xuICAgIG9wdGlvbnMucnVsZSA9IHRydWU7XG4gICAgb3B0aW9ucy5sb29rdXAgPSBjbGlPcHRpb25zLmxvb2t1cDtcbiAgICBvcHRpb25zLnJlcG9ydGVyID0gJ2JhaWR1JztcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGxldCBtZXRhID0ge2xpbmVzOiAwLCBmaWxlczogMCwgZXJyb3JzOiAwLCBlcnJvckxpbmVzOiAwfTtcbiAgICAgICAgbGV0IGNvbGxlY3RvciA9IG5ldyBNYXAoKTtcbiAgICAgICAgbGV0IHRvdGFsID0gT2JqZWN0LmNyZWF0ZShtZXRhKTtcblxuICAgICAgICBjb2xsZWN0b3IudG90YWwgPSB0b3RhbDtcblxuICAgICAgICBsZXQgZmluaXNoID0gZnVuY3Rpb24gKHN1Y2Nlc3MsIGpzb24sIGZpbGVzLCBlcnJvcnMpIHtcbiAgICAgICAgICAgIHRvdGFsLnN1Y2Nlc3MgPSBzdWNjZXNzO1xuICAgICAgICAgICAgdG90YWwuZmlsZXMgPSBmaWxlcztcbiAgICAgICAgICAgIHRvdGFsLmVycm9ycyA9IGVycm9ycztcbiAgICAgICAgfTtcblxuICAgICAgICBmZWNzLmNoZWNrKG9wdGlvbnMsIGZpbmlzaCkucGlwZShcbiAgICAgICAgICAgIHRocm91Z2gub2JqKHtoaWdoV2F0ZXJNYXJrOiAxMDAwMH0sIGZ1bmN0aW9uIChmaWxlLCBlbmMsIGNiKSB7XG5cbiAgICAgICAgICAgICAgICBsZXQgc2V0ID0gbmV3IFNldCgpO1xuICAgICAgICAgICAgICAgIGxldCBlcnJvckxpbmVzID0gZmlsZS5lcnJvcnMucmVkdWNlKGZ1bmN0aW9uIChpLCBlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXNldC5oYXMoZXJyb3IubGluZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGkrKztcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldC5hZGQoZXJyb3IubGluZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGk7XG4gICAgICAgICAgICAgICAgfSwgMCk7XG5cbiAgICAgICAgICAgICAgICBsZXQgbW9udGggPSBmb3JtYXRNb250aChmaWxlLmRhdGUpO1xuICAgICAgICAgICAgICAgIGxldCBtb250aERhdGEgPSBjb2xsZWN0b3IuZ2V0KG1vbnRoKSB8fCBPYmplY3QuY3JlYXRlKG1ldGEpO1xuXG4gICAgICAgICAgICAgICAgbW9udGhEYXRhLmZpbGVzKys7XG4gICAgICAgICAgICAgICAgbW9udGhEYXRhLmVycm9ycyArPSBmaWxlLmVycm9ycy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgbW9udGhEYXRhLmVycm9yTGluZXMgKz0gZXJyb3JMaW5lcztcbiAgICAgICAgICAgICAgICBtb250aERhdGEubGluZXMgKz0gZmlsZS5zdGF0LmxpbmVzO1xuICAgICAgICAgICAgICAgIHRvdGFsLmVycm9yTGluZXMgKz0gZXJyb3JMaW5lcztcbiAgICAgICAgICAgICAgICB0b3RhbC5saW5lcyArPSBmaWxlLnN0YXQubGluZXM7XG5cbiAgICAgICAgICAgICAgICBjb2xsZWN0b3Iuc2V0KG1vbnRoLCBtb250aERhdGEpO1xuXG4gICAgICAgICAgICAgICAgY2IobnVsbCwgZmlsZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApLm9uY2UoJ2ZpbmlzaCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJlc29sdmUoY29sbGVjdG9yKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG4iXX0=</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>