@code-pushup/core 0.76.0 → 0.77.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-pushup/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.77.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Core business logic for the used by the Code PushUp CLI",
|
|
6
6
|
"homepage": "https://github.com/code-pushup/cli/tree/main/packages/core#readme",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
},
|
|
40
40
|
"type": "module",
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@code-pushup/models": "0.
|
|
43
|
-
"@code-pushup/utils": "0.
|
|
42
|
+
"@code-pushup/models": "0.77.0",
|
|
43
|
+
"@code-pushup/utils": "0.77.0",
|
|
44
44
|
"ansis": "^3.3.0"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
@@ -32,8 +32,8 @@ export async function executePlugin(pluginConfig, opt) {
|
|
|
32
32
|
? // IF not null, take the result from cache
|
|
33
33
|
((await readRunnerResults(pluginMeta.slug, outputDir)) ??
|
|
34
34
|
// ELSE execute the plugin runner
|
|
35
|
-
(await executePluginRunner(pluginConfig)))
|
|
36
|
-
: await executePluginRunner(pluginConfig);
|
|
35
|
+
(await executePluginRunner(pluginConfig, persist)))
|
|
36
|
+
: await executePluginRunner(pluginConfig, persist);
|
|
37
37
|
if (cacheWrite) {
|
|
38
38
|
await writeRunnerResults(pluginMeta.slug, outputDir, {
|
|
39
39
|
...executionMeta,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-plugin.js","sourceRoot":"","sources":["../../../../src/lib/implementation/execute-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAU7B,OAAO,EAEL,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,YAA0B,EAC1B,GAGC;IAED,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,EACJ,MAAM,EACN,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EACX,OAAO,EACP,MAAM,EACN,YAAY,EACZ,GAAG,UAAU,EACd,GAAG,YAAY,CAAC;IACjB,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IACrE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAE9B,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,GAAG,SAAS;QAC5C,CAAC,CAAC,0CAA0C;YAC1C,CAAC,CAAC,MAAM,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACtD,iCAAiC;gBACjC,CAAC,MAAM,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"execute-plugin.js","sourceRoot":"","sources":["../../../../src/lib/implementation/execute-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AuditOutputs, type PluginConfig, type RunnerConfig, type RunnerFunction } from '@code-pushup/models';
|
|
1
|
+
import { type AuditOutputs, type PersistConfig, type PluginConfig, type RunnerConfig, type RunnerFunction } from '@code-pushup/models';
|
|
2
2
|
export type RunnerResult = {
|
|
3
3
|
date: string;
|
|
4
4
|
duration: number;
|
|
@@ -7,15 +7,15 @@ export type RunnerResult = {
|
|
|
7
7
|
export type ValidatedRunnerResult = Omit<RunnerResult, 'audits'> & {
|
|
8
8
|
audits: AuditOutputs;
|
|
9
9
|
};
|
|
10
|
-
export declare function executeRunnerConfig(cfg: RunnerConfig): Promise<RunnerResult>;
|
|
11
|
-
export declare function executeRunnerFunction(runner: RunnerFunction): Promise<RunnerResult>;
|
|
10
|
+
export declare function executeRunnerConfig(cfg: RunnerConfig, config: Required<Pick<PersistConfig, 'outputDir'>>): Promise<RunnerResult>;
|
|
11
|
+
export declare function executeRunnerFunction(runner: RunnerFunction, config: PersistConfig): Promise<RunnerResult>;
|
|
12
12
|
/**
|
|
13
13
|
* Error thrown when plugin output is invalid.
|
|
14
14
|
*/
|
|
15
15
|
export declare class AuditOutputsMissingAuditError extends Error {
|
|
16
16
|
constructor(auditSlug: string);
|
|
17
17
|
}
|
|
18
|
-
export declare function executePluginRunner(pluginConfig: Pick<PluginConfig, 'audits' | 'runner'
|
|
18
|
+
export declare function executePluginRunner(pluginConfig: Pick<PluginConfig, 'audits' | 'runner'>, persist: Required<Pick<PersistConfig, 'outputDir'>>): Promise<Omit<RunnerResult, 'audits'> & {
|
|
19
19
|
audits: AuditOutputs;
|
|
20
20
|
}>;
|
|
21
21
|
export declare function getRunnerOutputsPath(pluginSlug: string, outputDir: string): string;
|
|
@@ -2,13 +2,13 @@ import { bold } from 'ansis';
|
|
|
2
2
|
import { writeFile } from 'node:fs/promises';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { auditOutputsSchema, } from '@code-pushup/models';
|
|
5
|
-
import { calcDuration, ensureDirectoryExists, executeProcess, fileExists, isVerbose, readJsonFile, removeDirectoryIfExists, ui, } from '@code-pushup/utils';
|
|
5
|
+
import { calcDuration, ensureDirectoryExists, executeProcess, fileExists, isVerbose, objectToCliArgs, readJsonFile, removeDirectoryIfExists, ui, } from '@code-pushup/utils';
|
|
6
6
|
import { normalizeAuditOutputs } from '../normalize.js';
|
|
7
|
-
export async function executeRunnerConfig(cfg) {
|
|
7
|
+
export async function executeRunnerConfig(cfg, config) {
|
|
8
8
|
const { args, command, outputFile, outputTransform } = cfg;
|
|
9
9
|
const { duration, date } = await executeProcess({
|
|
10
10
|
command,
|
|
11
|
-
args,
|
|
11
|
+
args: [...(args ?? []), ...objectToCliArgs(config)],
|
|
12
12
|
observer: {
|
|
13
13
|
onStdout: stdout => {
|
|
14
14
|
if (isVerbose()) {
|
|
@@ -31,11 +31,11 @@ export async function executeRunnerConfig(cfg) {
|
|
|
31
31
|
audits,
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
export async function executeRunnerFunction(runner) {
|
|
34
|
+
export async function executeRunnerFunction(runner, config) {
|
|
35
35
|
const date = new Date().toISOString();
|
|
36
36
|
const start = performance.now();
|
|
37
37
|
// execute plugin runner
|
|
38
|
-
const audits = await runner();
|
|
38
|
+
const audits = await runner(config);
|
|
39
39
|
// create runner result
|
|
40
40
|
return {
|
|
41
41
|
date,
|
|
@@ -51,11 +51,11 @@ export class AuditOutputsMissingAuditError extends Error {
|
|
|
51
51
|
super(`Audit metadata not present in plugin config. Missing slug: ${bold(auditSlug)}`);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
export async function executePluginRunner(pluginConfig) {
|
|
54
|
+
export async function executePluginRunner(pluginConfig, persist) {
|
|
55
55
|
const { audits: pluginConfigAudits, runner } = pluginConfig;
|
|
56
56
|
const runnerResult = typeof runner === 'object'
|
|
57
|
-
? await executeRunnerConfig(runner)
|
|
58
|
-
: await executeRunnerFunction(runner);
|
|
57
|
+
? await executeRunnerConfig(runner, persist)
|
|
58
|
+
: await executeRunnerFunction(runner, persist);
|
|
59
59
|
const { audits: unvalidatedAuditOutputs, ...executionMeta } = runnerResult;
|
|
60
60
|
const result = auditOutputsSchema.safeParse(unvalidatedAuditOutputs);
|
|
61
61
|
if (!result.success) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../src/lib/implementation/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../src/lib/implementation/runner.ts"],"names":[],"mappings":"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"}
|