grunt-nsp-shrinkwrap
Version:
Grunt plugin for Node Security Project npm-shrinkwrap.json validation
42 lines (31 loc) • 1.18 kB
JavaScript
var fs = require('fs');
var path = require('path');
var Nsp = require('nsp');
module.exports = function (grunt) {
grunt.registerTask('validate-shrinkwrap', 'Submits npm-shrinkwrap.json to nodesecurity.io for validation', function () {
var done = this.async();
var file = path.resolve(process.cwd(), 'npm-shrinkwrap.json');
grunt.log.writeln(file);
grunt.log.writeln('THIS MODULE IS DEPRECATED UPDATE TO GRUNT-NSP');
// Check if file exists
var exists = fs.existsSync(file);
if (!exists) {
grunt.warn('Can\'t load ' + file + '\nMake sure you have run \'npm shrinkwrap\'');
}
var shrinkwrap = require(file);
var payload = {
package: {name: shrinkwrap.name || 'placeholder'},
shrinkwrap: shrinkwrap
}
Nsp.check(payload, function (err, data) {
var output = Nsp.formatters.summary(err, data);
if (err || data.length > 0) {
grunt.fail.warn(output);
return done();
}
// No error or findings
grunt.log.write(output);
return done();
});
});
};