UNPKG

dependency-cruiser-fork

Version:

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

34 lines (28 loc) 1.02 kB
const dependencyToIncidenceTransformer = require("./utl/dependency-to-incidence-transformer"); function renderHeader(pModules) { return pModules.map((pModule) => `"${pModule.source}"`).join(","); } function mapIncidences(pIncidences) { return pIncidences.map((pIncidence) => `"${pIncidence.incidence}"`).join(","); } function renderBody(pModules) { return pModules.reduce( (pAll, pModule) => `${pAll}\n"${pModule.source}",${mapIncidences(pModule.incidences)},""`, "" ); } function report(pModules) { return `"",${renderHeader(pModules)},""${renderBody(pModules)}\n`; } /** * Returns the results of a cruise in an 'incidence matrix' * * @param {ICruiseResult} pResults - the output of a dependency-cruise adhering to ../../schema/cruise-result.schema.json * @returns {IReporterOutput} - output: incidence matrix in csv format * exitCode: 0 */ module.exports = (pResults) => ({ output: report(dependencyToIncidenceTransformer(pResults.modules)), exitCode: 0, });