core/adapters/tool.dependency-cruiser.adapter.ts
core/adapters/tool.dependency-cruiser.adapter.ts is a file in GovLab Quality. 18 lines of code and 4 definitions.
import type { AdvisoryToolSpec, RunnerContext } from "#types/tool.types";
import type { RunResult } from "#types/finding.types";
import { defineTool } from "#core/registries/tool.registry";
import { parseDependencyCruiserOutput } from "#core/parsers/tool.dependency-cruiser.parser";
import { runAdvisory } from "#core/adapters/tool.adapter";
const TOOL = "dependency-cruiser";
const BIN = "depcruise";
const DEPENDENCY_CRUISER_SPEC: AdvisoryToolSpec = {
argsFor: (context) => ["--output-type", "json", ...context.paths],
cwdFor: (context) => context.root,
parse: parseDependencyCruiserOutput,
statusOk: () => true,
tool: BIN,
};
const runDependencyCruiser = function runDependencyCruiser(context: RunnerContext): RunResult {
return runAdvisory(DEPENDENCY_CRUISER_SPEC, context);
};
defineTool({ ecosystems: ["javascript", "typescript"], run: runDependencyCruiser, tool: TOOL });