UNPKG

dependency-cruiser-fork

Version:

Validate and visualize dependencies. With your rules. JavaScript, TypeScript, CoffeeScript. ES6, CommonJS, AMD.

27 lines (23 loc) 745 B
const matchers = require("./matchers"); const { extractGroups } = require("./utl"); /** * Returns true if the module violates the rule. * Returns false in all other cases. * * @param {import("../../types/rule-set").IRequiredRuleType} pRule * @param {import("../../types/cruise-result").IModule} pModule * @returns {boolean} */ module.exports = function violatesRequiredRule(pRule, pModule) { let lReturnValue = false; if ( matchers.modulePath(pRule, pModule) && matchers.modulePathNot(pRule, pModule) ) { const lGroups = extractGroups(pRule.module, pModule.source); lReturnValue = !pModule.dependencies.some((pDependency) => matchers.toPath(pRule, pDependency, lGroups) ); } return lReturnValue; };