Socket
Socket
Sign inDemoInstall

coverage-blamer

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

coverage-blamer - npm Package Compare versions

Comparing version 0.1.7 to 0.1.8

25

lib/Processors.js
// Generated by CoffeeScript 1.10.0
(function() {
var _, getAuthorTemplate, normalizeAuthorName, prepareDate, process, sortByCoverage, sortObjectByCoverage;
var _, calculateCoverage, getAuthorTemplate, normalizeAuthorName, prepareDate, process, sortByCoverage, sortObjectByCoverage;
_ = require('lodash');
calculateCoverage = function(object) {
object.coverage = 100 - (object.uncoveredLines / object.lines) * 100;
return object;
};
prepareDate = function(string) {

@@ -44,3 +49,4 @@ var d;

name = name.replace(/^\s*|\s*$/g, '');
return name.toUpperCase();
name = name.replace(/\ /g, '_');
return name.toLowerCase();
};

@@ -103,6 +109,4 @@

author.lines++;
author.coverage = 100 - (author.uncoveredLines / author.lines) * 100;
dates[date].coverage = 100 - (dates[date].uncoveredLines / dates[date].lines) * 100;
dates[date].lines++;
author.dates[date].lines++;
dates[date].lines++;
}

@@ -112,10 +116,11 @@ if (line.coverage === 0) {

file.uncoveredLines++;
dates[date].uncoveredLines++;
author.uncoveredLines++;
author.dates[date].uncoveredLines++;
dates[date].uncoveredLines++;
author.coverage = 100 - (author.uncoveredLines / author.lines) * 100;
return dates[date].coverage = 100 - (dates[date].uncoveredLines / dates[date].lines) * 100;
}
author.dates[date] = calculateCoverage(author.dates[date]);
dates[date] = calculateCoverage(dates[date]);
return author = calculateCoverage(author);
});
file.coverage = 100 - (file.uncoveredLines / file.lines) * 100;
file = calculateCoverage(file);
}

@@ -129,3 +134,3 @@ result.dates = dates;

result.lines = lines;
result.coverage = 100 - (uncoveredLines / lines) * 100;
result = calculateCoverage(result);
return result;

@@ -132,0 +137,0 @@ };

64

lib/Reports.js
// Generated by CoffeeScript 1.10.0
(function() {
var Table, createOutputDir, fs, mkdirp;
var Table, createDir, fs, jade, koutoSwiss, mkdirp, path, stylus, writeFile;
path = require('path');
fs = require('fs');

@@ -11,22 +13,54 @@

createOutputDir = function(options) {
if (!fs.existsSync(options.output)) {
return mkdirp.sync(options.output);
jade = require('jade');
stylus = require('stylus');
koutoSwiss = require('kouto-swiss');
createDir = function(dirname) {
if (!fs.existsSync(dirname)) {
return mkdirp.sync(dirname);
}
};
writeFile = function(file, content) {
createDir(path.dirname(file));
return fs.writeFile(file, content, function(err) {
if (err) {
return console.log(err);
} else {
return console.log('File ' + file + ' created!');
}
});
};
module.exports = {
html: function(result, options) {
return createOutputDir(options);
},
json: function(result, options) {
createOutputDir(options);
return fs.writeFile(options.output + '/coverage-blamer.json', JSON.stringify(result), function(err) {
if (err) {
var author, coverage, fileObject, i, len, ref, ref1, results, str;
str = fs.readFileSync(__dirname + "/assets/styles/main.styl", 'utf8');
stylus(str).set('filename', __dirname + "/assets/styles/main.styl").use(koutoSwiss()).render(function(err, css) {
if (!err) {
return writeFile(options.output + "/css/main.css", css);
} else {
return console.log(err);
} else {
return console.log('File ' + options.output + '/coverage-blamer.json created!');
}
});
writeFile(options.output + "/index.html", jade.renderFile(__dirname + "/assets/templates/index.jade", result));
ref = result.authors;
for (author in ref) {
coverage = ref[author];
writeFile(options.output + "/authors/" + author + ".html", jade.renderFile(__dirname + "/assets/templates/author.jade", result.authors[author]));
}
ref1 = result.files;
results = [];
for (i = 0, len = ref1.length; i < len; i++) {
fileObject = ref1[i];
fileObject.name = fileObject.filename;
results.push(writeFile(options.output + "/files/" + (fileObject.filename.replace(/\//g, '_')) + ".html", jade.renderFile(__dirname + "/assets/templates/file.jade", fileObject)));
}
return results;
},
json: function(result, options) {
return writeFile(options.output + '/coverage-blamer.json', JSON.stringify(result));
},
cli: function(result, options) {

@@ -50,3 +84,3 @@ var author, authorsTable, coverage, dateString, datesTable, file, filesTable;

for (author in result.authors) {
results.push([result.authors[author].author, result.authors[author].lines, result.authors[author].uncoveredLines, result.authors[author].coverage + "%"]);
results.push([result.authors[author].author, result.authors[author].lines, result.authors[author].uncoveredLines, result.authors[author].coverage.toFixed(2) + "%"]);
}

@@ -62,3 +96,3 @@ return results;

if (file.coverage !== 100) {
results.push([file.filename, file.lines, file.uncoveredLines, file.coverage + "%"]);
results.push([file.filename, file.lines, file.uncoveredLines, file.coverage.toFixed(2) + "%"]);
}

@@ -74,3 +108,3 @@ }

coverage = ref[dateString];
results.push([(new Date(parseInt(dateString + "000"))).toDateString(), coverage.lines, coverage.uncoveredLines, coverage.coverage + "%"]);
results.push([(new Date(parseInt(dateString + "000"))).toDateString(), coverage.lines, coverage.uncoveredLines, coverage.coverage ? coverage.coverage.toFixed(2) + "%" : '100.00%']);
}

@@ -77,0 +111,0 @@ return results;

{
"name": "coverage-blamer",
"version": "0.1.7",
"version": "0.1.8",
"description": "coverage-blamer is tool for get information about authors of uncovered code",

@@ -21,2 +21,3 @@ "main": "index.js",

"keywords": [
"code coverage",
"blame",

@@ -26,7 +27,11 @@ "code",

"tests",
"jscoverage",
"coffee-coverage",
"mocha",
"istanbul",
"nyc",
"jasmine"
],
"dependencies": {
"blamer": "~0.1.x",
"blamer": "^0.1.11",
"bluebird": "~3.0.x",

@@ -36,5 +41,8 @@ "cli-table": "^0.3.1",

"glob": "^6.0.x",
"jade": "^1.11.0",
"kouto-swiss": "^0.11.13",
"lcov-parse": "^0.0.x",
"lodash": "~3.10.x",
"mkdirp": "^0.5.x"
"mkdirp": "^0.5.x",
"stylus": "^0.53.0"
},

@@ -41,0 +49,0 @@ "devDependencies": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc