MCPcopy Index your code
hub / github.com/code-pushup/cli / processAudit

Function processAudit

packages/plugin-js-packages/src/lib/runner/runner.ts:95–139  ·  view source on GitHub ↗
(
  id: PackageManagerId,
  depGroups: DependencyGroup[],
  auditLevelMapping: AuditSeverity,
  packageJsonPath: PackageJsonPath,
)

Source from the content-addressed store, hash-verified

93}
94
95async function processAudit(
96 id: PackageManagerId,
97 depGroups: DependencyGroup[],
98 auditLevelMapping: AuditSeverity,
99 packageJsonPath: PackageJsonPath,
100) {
101 const pm = packageManagers[id];
102 const supportedAuditDepGroups =
103 pm.audit.supportedDepGroups ?? dependencyGroups;
104 const compatibleAuditDepGroups = depGroups.filter(group =>
105 supportedAuditDepGroups.includes(group),
106 );
107
108 logger.info(
109 `Auditing packages for ${pluralizeToken('dependency group', compatibleAuditDepGroups.length)} (${compatibleAuditDepGroups.join(', ')}) ...`,
110 );
111
112 const auditResults = await asyncSequential(
113 compatibleAuditDepGroups,
114 async (depGroup): Promise<[DependencyGroup, AuditResult]> => {
115 const { stdout } = await executeProcess({
116 command: pm.command,
117 args: pm.audit.getCommandArgs(depGroup),
118 cwd: packageJsonPath ? path.dirname(packageJsonPath) : process.cwd(),
119 ignoreExitCode: pm.audit.ignoreExitCode,
120 });
121 return [depGroup, pm.audit.unifyResult(stdout)];
122 },
123 );
124
125 const resultsMap = objectFromEntries(auditResults);
126 const uniqueResults = pm.audit.postProcessResult?.(resultsMap) ?? resultsMap;
127
128 logAuditSummary(uniqueResults);
129
130 return compatibleAuditDepGroups.map(depGroup =>
131 auditResultToAuditOutput(
132 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
133 uniqueResults[depGroup]!,
134 id,
135 depGroup,
136 auditLevelMapping,
137 ),
138 );
139}
140
141function logAuditSummary(
142 results: Partial<Record<DependencyGroup, AuditResult>>,

Callers 1

createRunnerFunctionFunction · 0.85

Calls 7

pluralizeTokenFunction · 0.90
asyncSequentialFunction · 0.90
executeProcessFunction · 0.90
objectFromEntriesFunction · 0.90
auditResultToAuditOutputFunction · 0.90
logAuditSummaryFunction · 0.85
infoMethod · 0.80

Tested by

no test coverage detected