25 lines
716 B
JavaScript
25 lines
716 B
JavaScript
'use strict';
|
|
|
|
var matchdep = require('matchdep');
|
|
|
|
/**
|
|
* Given a collection of plugin names verifies this collection against
|
|
* the blacklist. Returns an object with:
|
|
* [plugin name]=>[blacklisting reason]
|
|
* or an empty object if none of the dependencies to check are blacklisted.
|
|
*
|
|
* @param pkg - package.json contents
|
|
* @param blacklist - contents of the blacklist in JSON format
|
|
*/
|
|
function verifyDependencies(pkg, blacklist) {
|
|
var blacklisted = matchdep
|
|
.filterAll(Object.keys(blacklist), pkg)
|
|
.reduce(function(blacklisted, pluginName) {
|
|
blacklisted[pluginName] = blacklist[pluginName];
|
|
return blacklisted;
|
|
}, {});
|
|
|
|
return blacklisted;
|
|
}
|
|
|
|
module.exports = verifyDependencies;
|