Comparing version 0.1.0 to 0.1.1-1
33
index.js
@@ -7,3 +7,3 @@ var Module = require('module'); | ||
filename = filename.replace(/\\/g, '\\\\'); | ||
if (!~filename.indexOf(addCoverage.subdir)) { | ||
if (!eligibleForCoverage(filename)) { | ||
return code; | ||
@@ -32,2 +32,15 @@ } | ||
var eligibleForCoverage = exports.eligibleForCoverage = function (filename) { | ||
var p = exports.addCoverage.paths; | ||
if (typeof p === 'string') { | ||
return ~filename.indexOf(p); | ||
} else if (p instanceof RegExp) { | ||
return filename.match(p); | ||
} else if (p instanceof Array) { | ||
return p.some(function(x) { | ||
return !!~filename.indexOf(x); | ||
}); | ||
} | ||
}; | ||
var projectName; | ||
@@ -40,10 +53,20 @@ | ||
subdir = process.cwd(); | ||
} else if (!subdir.match(/^\//)) { | ||
subdir = path.join(process.cwd(), subdir); | ||
} else if (typeof subdir === 'string') { | ||
if (!subdir.match(/^\//)) { | ||
subdir = path.join(process.cwd(), subdir); | ||
} | ||
} else if (subdir instanceof Array) { | ||
subdir = subdir.map(function(x) { | ||
return x.match(/^\//) ? x : path.join(process.cwd(), x); | ||
}); | ||
} | ||
global.__cov = {}; | ||
exports.addCoverage.subdir = subdir; | ||
exports.addCoverage.paths = subdir; | ||
var compile = Module.prototype._compile; | ||
Object.keys(Module._cache).forEach(function (path) { | ||
if (path.match(/node_modules/)) return; | ||
delete Module._cache[path]; | ||
}); | ||
Module.prototype._compile = function (code, filename) { | ||
if (~filename.indexOf(subdir)) { | ||
if (eligibleForCoverage(filename)) { | ||
code = exports.addCoverage(code, filename); | ||
@@ -50,0 +73,0 @@ } |
{ | ||
"author": "Anatoliy Chakkaev <rpm1602@gmail.com>", | ||
"name": "semicov", | ||
"version": "0.1.0", | ||
"version": "0.1.1-1", | ||
"main": "index.js", | ||
@@ -9,5 +9,10 @@ "dependencies": {}, | ||
"optionalDependencies": {}, | ||
"repository": { | ||
"type": "git", | ||
"url": "git://github.com/1602/semicov" | ||
}, | ||
"engines": { | ||
"node": "*" | ||
} | ||
}, | ||
"license": "MIT" | ||
} |
@@ -1,2 +0,2 @@ | ||
Test coverage tool. It can generate nifty html report. | ||
Test coverage tool. It generates html [report like that](http://1602.ws/railwayjs/test-coverage) | ||
@@ -25,9 +25,30 @@ ## Installation | ||
require('semicov').init('lib'); // 'lib' is name of dir with code | ||
var semicov = require('semicov'); | ||
semicov.init('lib', 'My Awesome Lib Name'); // First argument 'lib' is name of dir with code | ||
process.on('exit', semicov.report); | ||
Optionally put this code somewhere | ||
And it will generate `./coverage/index.html` for you. | ||
process.on('exit', require('semicov').report); | ||
## MIT License | ||
And it will generate `./coverage.html` for you. | ||
``` | ||
Copyright (C) 2013 by Anatoliy Chakkaev <mail [åt] anatoliy [døt] in> | ||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
The above copyright notice and this permission notice shall be included in | ||
all copies or substantial portions of the Software. | ||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
THE SOFTWARE. | ||
``` |
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
261240
10
2488
54
6
0
1