dependency-cruiser
Version:
Visualize and validate javascript dependencies. With your rules. ES6, CommonJS, AMD
28 lines (23 loc) • 615 B
JavaScript
;
const safeRegex = require('safe-regex');
function checkRuleSafety(pRule) {
if (
!(
safeRegex(pRule.from) &&
safeRegex(pRule.to)
)
){
throw new Error(
`rule ${JSON.stringify(pRule, null, "")} has an unsafe regular expression. Bailing out.\n`
);
}
}
function validate(pRuleSet) {
if (pRuleSet.hasOwnProperty("allowed")){
pRuleSet.allowed.forEach(checkRuleSafety);
}
if (pRuleSet.hasOwnProperty("forbidden")){
pRuleSet.forbidden.forEach(checkRuleSafety);
}
}
exports.validate = validate;