UNPKG

dependency-cruiser

Version:

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

46 lines (40 loc) 1.16 kB
import assertFileExistence from "./utl/assert-file-existence.mjs"; import normalizeOptions from "./normalize-cli-options.mjs"; import { getInStream, write } from "./utl/io.mjs"; import _format from "#main/format.mjs"; /** * * @param {string} pResultFile the name of the file with cruise results * @param {import("../../types/dependency-cruiser").IFormatOptions} pOptions * @returns {Promise<Number>} an exitCode */ export default async function format(pResultFile, pOptions) { const lOptions = await normalizeOptions(pOptions); if (pResultFile !== "-") { assertFileExistence(pResultFile); } return new Promise((pResolve, pReject) => { let lInputAsString = ""; const lInStream = getInStream(pResultFile); lInStream .on("data", (pChunk) => { lInputAsString += pChunk; }) .on( "error", /* c8 ignore start */ (pError) => { pReject(pError); }, /* c8 ignore stop */ ) .on("end", async () => { const lReportingResult = await _format( JSON.parse(lInputAsString), lOptions, ); write(lOptions.outputTo, lReportingResult.output); pResolve(lReportingResult.exitCode); }); }); }