MCPcopy Create free account
hub / github.com/code-pushup/cli / loadArtifacts

Function loadArtifacts

packages/plugin-eslint/src/lib/runner/utils.ts:14–50  ·  view source on GitHub ↗
(
  artifacts: PluginArtifactOptions,
)

Source from the content-addressed store, hash-verified

12import type { LinterOutput } from './types.js';
13
14export async function loadArtifacts(
15 artifacts: PluginArtifactOptions,
16): Promise<LinterOutput[]> {
17 if (artifacts.generateArtifactsCommand) {
18 const { command, args = [] } =
19 typeof artifacts.generateArtifactsCommand === 'string'
20 ? { command: artifacts.generateArtifactsCommand }
21 : artifacts.generateArtifactsCommand;
22
23 await executeProcess({
24 command,
25 args,
26 ignoreExitCode: true,
27 });
28 }
29
30 const artifactPatterns = toArray(artifacts.artifactsPaths);
31
32 const artifactPaths = await glob(artifactPatterns);
33
34 const outputs = await Promise.all(
35 artifactPaths.map(async artifactPath => {
36 // ESLint CLI outputs raw ESLint.LintResult[], but we need LinterOutput format
37 const results = await readJsonFile<ESLint.LintResult[]>(artifactPath);
38 return {
39 results,
40 ruleOptionsPerFile: {}, // TODO
41 };
42 }),
43 );
44
45 logger.info(
46 `Loaded lint outputs from ${pluralizeToken('artifact', artifactPaths.length)} matching ${pluralize('pattern', artifactPatterns.length)}: ${artifactPatterns.join(' ')}`,
47 );
48
49 return outputs;
50}

Callers 2

createRunnerFunctionFunction · 0.85
utils.unit.test.tsFile · 0.85

Calls 5

executeProcessFunction · 0.90
toArrayFunction · 0.90
pluralizeTokenFunction · 0.90
pluralizeFunction · 0.90
infoMethod · 0.80

Tested by

no test coverage detected