UNPKG

dependency-cruiser

Version:

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

27 lines (23 loc) 758 B
import { extractGroups } from "../utl/regex-util.mjs"; import matchers from "./matchers.mjs"; /** * Returns true if the module violates the rule. * Returns false in all other cases. * * @param {import("../../types/rule-set.js").IRequiredRuleType} pRule * @param {import("../../types/cruise-result.js").IModule} pModule * @returns {boolean} */ export default 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; }