@code-pushup/core 0.84.0 → 0.86.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 +3 -3
- package/src/index.d.ts +3 -3
- package/src/index.js +2 -2
- package/src/index.js.map +1 -1
- package/src/lib/collect-and-persist.js +3 -6
- package/src/lib/collect-and-persist.js.map +1 -1
- package/src/lib/compare.js +2 -2
- package/src/lib/compare.js.map +1 -1
- package/src/lib/history.js +4 -4
- package/src/lib/history.js.map +1 -1
- package/src/lib/implementation/persist.d.ts +0 -6
- package/src/lib/implementation/persist.js +6 -17
- package/src/lib/implementation/persist.js.map +1 -1
- package/src/lib/implementation/runner.d.ts +5 -10
- package/src/lib/implementation/runner.js +10 -27
- package/src/lib/implementation/runner.js.map +1 -1
- package/src/lib/load-portal-client.js +3 -3
- package/src/lib/load-portal-client.js.map +1 -1
- package/src/lib/merge-diffs.js +2 -2
- package/src/lib/merge-diffs.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-pushup/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.86.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.86.0",
|
|
43
|
+
"@code-pushup/utils": "0.86.0",
|
|
44
44
|
"ansis": "^3.3.0"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
package/src/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export { collectAndPersistReports, type CollectAndPersistReportsOptions, } from './lib/collect-and-persist.js';
|
|
2
2
|
export { compareReportFiles, compareReports, type CompareOptions, } from './lib/compare.js';
|
|
3
|
-
export { getRunnerOutputsPath, type
|
|
3
|
+
export { getRunnerOutputsPath, type RunnerResult, } from './lib/implementation/runner.js';
|
|
4
4
|
export { history, type HistoryOnlyOptions, type HistoryOptions, } from './lib/history.js';
|
|
5
5
|
export { collect, type CollectOptions } from './lib/implementation/collect.js';
|
|
6
6
|
export type { ReportsToCompare } from './lib/implementation/compare-scorables.js';
|
|
7
7
|
export { executePlugin, executePlugins, } from './lib/implementation/execute-plugin.js';
|
|
8
|
-
export {
|
|
9
|
-
export { PersistDirError, PersistError, persistReport, } from './lib/implementation/persist.js';
|
|
8
|
+
export { persistReport } from './lib/implementation/persist.js';
|
|
10
9
|
export { autoloadRc, ConfigPathError, readRcByPath, } from './lib/implementation/read-rc-file.js';
|
|
10
|
+
export { AuditOutputsMissingAuditError } from './lib/implementation/runner.js';
|
|
11
11
|
export { mergeDiffs } from './lib/merge-diffs.js';
|
|
12
12
|
export type { GlobalOptions } from './lib/types.js';
|
|
13
13
|
export { upload, type UploadOptions } from './lib/upload.js';
|
package/src/index.js
CHANGED
|
@@ -4,9 +4,9 @@ export { getRunnerOutputsPath, } from './lib/implementation/runner.js';
|
|
|
4
4
|
export { history, } from './lib/history.js';
|
|
5
5
|
export { collect } from './lib/implementation/collect.js';
|
|
6
6
|
export { executePlugin, executePlugins, } from './lib/implementation/execute-plugin.js';
|
|
7
|
-
export {
|
|
8
|
-
export { PersistDirError, PersistError, persistReport, } from './lib/implementation/persist.js';
|
|
7
|
+
export { persistReport } from './lib/implementation/persist.js';
|
|
9
8
|
export { autoloadRc, ConfigPathError, readRcByPath, } from './lib/implementation/read-rc-file.js';
|
|
9
|
+
export { AuditOutputsMissingAuditError } from './lib/implementation/runner.js';
|
|
10
10
|
export { mergeDiffs } from './lib/merge-diffs.js';
|
|
11
11
|
export { upload } from './lib/upload.js';
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,GAEzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,cAAc,GAEf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,GAErB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,OAAO,GAGR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAuB,MAAM,iCAAiC,CAAC;AAE/E,OAAO,EACL,aAAa,EACb,cAAc,GACf,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,GAEzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,cAAc,GAEf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,GAErB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,OAAO,GAGR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAuB,MAAM,iCAAiC,CAAC;AAE/E,OAAO,EACL,aAAa,EACb,cAAc,GACf,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EACL,UAAU,EACV,eAAe,EACf,YAAY,GACb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,MAAM,EAAsB,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
import { pluginReportSchema, validate, } from '@code-pushup/models';
|
|
2
|
-
import {
|
|
2
|
+
import { logStdoutSummary, logger, scoreReport, sortReport, } from '@code-pushup/utils';
|
|
3
3
|
import { collect } from './implementation/collect.js';
|
|
4
4
|
import { logPersistedResults, persistReport, } from './implementation/persist.js';
|
|
5
5
|
export async function collectAndPersistReports(options) {
|
|
6
|
-
const logger = ui().logger;
|
|
7
6
|
const reportResult = await collect(options);
|
|
8
7
|
const sortedScoredReport = sortReport(scoreReport(reportResult));
|
|
9
8
|
const { persist } = options;
|
|
10
9
|
const { skipReports = false, ...persistOptions } = persist ?? {};
|
|
11
|
-
if (skipReports
|
|
10
|
+
if (skipReports) {
|
|
12
11
|
logger.info('Skipping saving reports as `persist.skipReports` is true');
|
|
13
12
|
}
|
|
14
13
|
else {
|
|
15
14
|
const persistResults = await persistReport(reportResult, sortedScoredReport, persistOptions);
|
|
16
|
-
|
|
17
|
-
logPersistedResults(persistResults);
|
|
18
|
-
}
|
|
15
|
+
logPersistedResults(persistResults);
|
|
19
16
|
}
|
|
20
17
|
// terminal output
|
|
21
18
|
logStdoutSummary(sortedScoredReport);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect-and-persist.js","sourceRoot":"","sources":["../../../src/lib/collect-and-persist.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,kBAAkB,EAClB,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"collect-and-persist.js","sourceRoot":"","sources":["../../../src/lib/collect-and-persist.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,kBAAkB,EAClB,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,aAAa,GACd,MAAM,6BAA6B,CAAC;AAYrC,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAwC;IAExC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,kBAAkB,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;IAEjE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAEjE,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,MAAM,aAAa,CACxC,YAAY,EACZ,kBAAkB,EAClB,cAAc,CACf,CAAC;QACF,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB;IAClB,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IAErC,uCAAuC;IACvC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACpC,sHAAsH;QACtH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/src/lib/compare.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { writeFile } from 'node:fs/promises';
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { reportSchema, validate, } from '@code-pushup/models';
|
|
4
|
-
import { calcDuration, createReportPath, ensureDirectoryExists, generateMdReportsDiff, readJsonFile, scoreReport,
|
|
4
|
+
import { calcDuration, createReportPath, ensureDirectoryExists, generateMdReportsDiff, logger, readJsonFile, scoreReport, } from '@code-pushup/utils';
|
|
5
5
|
import { compareAudits, compareCategories, compareGroups, } from './implementation/compare-scorables.js';
|
|
6
6
|
import { loadPortalClient } from './load-portal-client.js';
|
|
7
7
|
export async function compareReportFiles(config, options) {
|
|
@@ -91,7 +91,7 @@ async function fetchPortalComparisonLink(uploadConfig, commits) {
|
|
|
91
91
|
}
|
|
92
92
|
catch (error) {
|
|
93
93
|
if (error instanceof PortalOperationError) {
|
|
94
|
-
|
|
94
|
+
logger.warn(`Failed to fetch portal comparison link - ${error.message}`);
|
|
95
95
|
return undefined;
|
|
96
96
|
}
|
|
97
97
|
throw error;
|
package/src/lib/compare.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../src/lib/compare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAML,YAAY,EACZ,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,WAAW,
|
|
1
|
+
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../src/lib/compare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAML,YAAY,EACZ,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,MAAM,EACN,YAAY,EACZ,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,aAAa,EACb,iBAAiB,EACjB,aAAa,GACd,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAQ3D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAGC,EACD,OAAwB;IAExB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;IAEvD,MAAM,gBAAgB,GAAG,CAAC,MAA0B,EAAE,EAAE,CACtD,gBAAgB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAEpE,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpD,YAAY,CAAC,OAAO,EAAE,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3D,YAAY,CAAC,OAAO,EAAE,KAAK,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;KAC1D,CAAC,CAAC;IACH,MAAM,OAAO,GAAiB;QAC5B,MAAM,EAAE,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;QAC5C,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC;KAC3C,CAAC;IAEF,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAErC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,SAAS,GACb,MAAM,CAAC,MAAM;QACb,IAAI,CAAC,OAAO;QACZ,CAAC,MAAM,yBAAyB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjE,MAAM,aAAa,GACjB,KAAK,IAAI,SAAS;QAChB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;QACvE,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;QACrB,MAAM,UAAU,GAAG,gBAAgB,CAAC;YAClC,SAAS;YACT,QAAQ;YACR,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,wBAAwB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAqB;IAClD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEtC,MAAM,OAAO,GACX,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI;QAC3D,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE;QAChE,CAAC,CAAC,IAAI,CAAC;IAEX,MAAM,aAAa,GAAqB;QACtC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;KAClC,CAAC;IAEF,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAErC,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAChD,oBAAoB,CACkB,CAAC;IAEzC,OAAO;QACL,OAAO;QACP,UAAU;QACV,MAAM;QACN,MAAM;QACN,WAAW,EAAE,WAAW,CAAC,IAAI;QAC7B,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,IAAI;QACJ,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,WAAwB,EACxB,MAAc;IAEd,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9C,KAAK,IAAI;YACP,OAAO,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,YAA0B,EAC1B,OAA4C;IAE5C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IAC/D,MAAM,YAAY,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IACD,MAAM,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,GAAG,YAAY,CAAC;IACvE,IAAI,CAAC;QACH,OAAO,MAAM,uBAAuB,CAAC;YACnC,MAAM;YACN,MAAM;YACN,UAAU,EAAE;gBACV,YAAY;gBACZ,OAAO;gBACP,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;gBAC3B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;aAC1B;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,4CAA4C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAqB;IAChD,IACE,OAAO,CAAC,MAAM,CAAC,KAAK;QACpB,OAAO,CAAC,KAAK,CAAC,KAAK;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,KAAK,EAC5C,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;IAC7B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/src/lib/history.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getCurrentBranchOrTag, safeCheckout,
|
|
1
|
+
import { getCurrentBranchOrTag, logger, safeCheckout, } from '@code-pushup/utils';
|
|
2
2
|
import { collectAndPersistReports } from './collect-and-persist.js';
|
|
3
3
|
import { upload } from './upload.js';
|
|
4
4
|
export async function history(config, commits) {
|
|
@@ -7,7 +7,7 @@ export async function history(config, commits) {
|
|
|
7
7
|
const reports = [];
|
|
8
8
|
// eslint-disable-next-line functional/no-loop-statements
|
|
9
9
|
for (const commit of commits) {
|
|
10
|
-
|
|
10
|
+
logger.info(`Collecting for commit ${commit}`);
|
|
11
11
|
await safeCheckout(commit, forceCleanStatus);
|
|
12
12
|
const currentConfig = {
|
|
13
13
|
...config,
|
|
@@ -23,14 +23,14 @@ export async function history(config, commits) {
|
|
|
23
23
|
};
|
|
24
24
|
await collectAndPersistReports(currentConfig);
|
|
25
25
|
if (skipUploads) {
|
|
26
|
-
|
|
26
|
+
logger.info('Upload is skipped because skipUploads is set to true.');
|
|
27
27
|
}
|
|
28
28
|
else {
|
|
29
29
|
if (currentConfig.upload) {
|
|
30
30
|
await upload(currentConfig);
|
|
31
31
|
}
|
|
32
32
|
else {
|
|
33
|
-
|
|
33
|
+
logger.info('Upload is skipped because upload config is undefined.');
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
// eslint-disable-next-line functional/immutable-data
|
package/src/lib/history.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/lib/history.ts"],"names":[],"mappings":"AAMA,OAAO,
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/lib/history.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,qBAAqB,EACrB,MAAM,EACN,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAcrC,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAsB,EACtB,OAAiB;IAEjB,MAAM,aAAa,GAAW,MAAM,qBAAqB,EAAE,CAAC;IAE5D,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAElE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,yDAAyD;IACzD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QAC/C,MAAM,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAE7C,MAAM,aAAa,GAAmB;YACpC,GAAG,MAAM;YACT,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,MAAM,EAAE,CAAC,MAAM,CAAC;gBAChB,QAAQ,EAAE,GAAG,MAAM,SAAS;aAC7B;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK;aACb;SACF,CAAC;QAEF,MAAM,wBAAwB,CAAC,aAAa,CAAC,CAAC;QAE9C,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,YAAY,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAEpD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
import type { PersistConfig, Report } from '@code-pushup/models';
|
|
2
2
|
import { type MultipleFileResults, type ScoredReport } from '@code-pushup/utils';
|
|
3
|
-
export declare class PersistDirError extends Error {
|
|
4
|
-
constructor(outputDir: string);
|
|
5
|
-
}
|
|
6
|
-
export declare class PersistError extends Error {
|
|
7
|
-
constructor(reportPath: string);
|
|
8
|
-
}
|
|
9
3
|
export declare function persistReport(report: Report, sortedScoredReport: ScoredReport, options: Required<Omit<PersistConfig, 'skipReports'>>): Promise<MultipleFileResults>;
|
|
10
4
|
export declare function logPersistedResults(persistResults: MultipleFileResults): void;
|
|
@@ -1,15 +1,6 @@
|
|
|
1
|
+
import ansis from 'ansis';
|
|
1
2
|
import { mkdir, stat, writeFile } from 'node:fs/promises';
|
|
2
|
-
import { createReportPath, directoryExists, generateMdReport, logMultipleFileResults, stringifyError,
|
|
3
|
-
export class PersistDirError extends Error {
|
|
4
|
-
constructor(outputDir) {
|
|
5
|
-
super(`outPath: ${outputDir} is no directory.`);
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
export class PersistError extends Error {
|
|
9
|
-
constructor(reportPath) {
|
|
10
|
-
super(`fileName: ${reportPath} could not be saved.`);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
3
|
+
import { createReportPath, directoryExists, generateMdReport, logMultipleFileResults, stringifyError, } from '@code-pushup/utils';
|
|
13
4
|
export async function persistReport(report, sortedScoredReport, options) {
|
|
14
5
|
const { outputDir, filename, format } = options;
|
|
15
6
|
// collect physical format outputs
|
|
@@ -32,21 +23,19 @@ export async function persistReport(report, sortedScoredReport, options) {
|
|
|
32
23
|
await mkdir(outputDir, { recursive: true });
|
|
33
24
|
}
|
|
34
25
|
catch (error) {
|
|
35
|
-
|
|
36
|
-
throw new PersistDirError(outputDir);
|
|
26
|
+
throw new Error(`Failed to create output directory in ${ansis.bold(outputDir)} - ${stringifyError(error)}`);
|
|
37
27
|
}
|
|
38
28
|
}
|
|
39
29
|
// write relevant format outputs to file system
|
|
40
30
|
return Promise.allSettled(results.map(result => persistResult(createReportPath({ outputDir, filename, format: result.format }), result.content)));
|
|
41
31
|
}
|
|
42
|
-
|
|
32
|
+
function persistResult(reportPath, content) {
|
|
43
33
|
return (writeFile(reportPath, content)
|
|
44
34
|
// return reportPath instead of void
|
|
45
35
|
.then(() => stat(reportPath))
|
|
46
36
|
.then(stats => [reportPath, stats.size])
|
|
47
|
-
.catch(error => {
|
|
48
|
-
|
|
49
|
-
throw new PersistError(reportPath);
|
|
37
|
+
.catch((error) => {
|
|
38
|
+
throw new Error(`Failed to persist report in ${ansis.bold(reportPath)} - ${stringifyError(error)}`);
|
|
50
39
|
}));
|
|
51
40
|
}
|
|
52
41
|
export function logPersistedResults(persistResults) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persist.js","sourceRoot":"","sources":["../../../../src/lib/implementation/persist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAGL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,
|
|
1
|
+
{"version":3,"file":"persist.js","sourceRoot":"","sources":["../../../../src/lib/implementation/persist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAGL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,kBAAgC,EAChC,OAAqD;IAErD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEhD,kCAAkC;IAClC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CACxB,CAAC,UAAU,EAAuC,EAAE;QAClD,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,MAAM;gBACT,OAAO;oBACL,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACzC,CAAC;YACJ,KAAK,IAAI;gBACP,OAAO;oBACL,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,CAAC;iBAC7D,CAAC;QACN,CAAC;IACH,CAAC,CACF,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,wCAAwC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,EAAE,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,OAAO,OAAO,CAAC,UAAU,CACvB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CACnB,aAAa,CACX,gBAAgB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAChE,MAAM,CAAC,OAAO,CACf,CACF,CACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,UAAkB,EAAE,OAAe;IACxD,OAAO,CACL,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;QAC5B,oCAAoC;SACnC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAU,CAAC;SAChD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,+BAA+B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,EAAE,CACnF,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,cAAmC;IACrE,sBAAsB,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -2,22 +2,17 @@ import { type AuditOutputs, type PluginConfig, type RunnerArgs, type RunnerConfi
|
|
|
2
2
|
export type RunnerResult = {
|
|
3
3
|
date: string;
|
|
4
4
|
duration: number;
|
|
5
|
-
audits: unknown;
|
|
6
|
-
};
|
|
7
|
-
export type ValidatedRunnerResult = Omit<RunnerResult, 'audits'> & {
|
|
8
5
|
audits: AuditOutputs;
|
|
9
6
|
};
|
|
10
|
-
export declare function executeRunnerConfig(config: RunnerConfig, args: RunnerArgs): Promise<
|
|
11
|
-
export declare function executeRunnerFunction(runner: RunnerFunction, args: RunnerArgs): Promise<
|
|
7
|
+
export declare function executeRunnerConfig(config: RunnerConfig, args: RunnerArgs): Promise<unknown>;
|
|
8
|
+
export declare function executeRunnerFunction(runner: RunnerFunction, args: RunnerArgs): Promise<unknown>;
|
|
12
9
|
/**
|
|
13
10
|
* Error thrown when plugin output is invalid.
|
|
14
11
|
*/
|
|
15
12
|
export declare class AuditOutputsMissingAuditError extends Error {
|
|
16
13
|
constructor(auditSlug: string);
|
|
17
14
|
}
|
|
18
|
-
export declare function executePluginRunner(pluginConfig: Pick<PluginConfig, 'audits' | 'runner'>, args: RunnerArgs): Promise<
|
|
19
|
-
audits: AuditOutputs;
|
|
20
|
-
}>;
|
|
15
|
+
export declare function executePluginRunner(pluginConfig: Pick<PluginConfig, 'audits' | 'runner'>, args: RunnerArgs): Promise<RunnerResult>;
|
|
21
16
|
export declare function getRunnerOutputsPath(pluginSlug: string, outputDir: string): string;
|
|
22
17
|
/**
|
|
23
18
|
* Save audit outputs to a file to be able to cache the results
|
|
@@ -25,5 +20,5 @@ export declare function getRunnerOutputsPath(pluginSlug: string, outputDir: stri
|
|
|
25
20
|
* @param pluginSlug
|
|
26
21
|
* @param outputDir
|
|
27
22
|
*/
|
|
28
|
-
export declare function writeRunnerResults(pluginSlug: string, outputDir: string, runnerResult:
|
|
29
|
-
export declare function readRunnerResults(pluginSlug: string, outputDir: string): Promise<
|
|
23
|
+
export declare function writeRunnerResults(pluginSlug: string, outputDir: string, runnerResult: RunnerResult): Promise<void>;
|
|
24
|
+
export declare function readRunnerResults(pluginSlug: string, outputDir: string): Promise<RunnerResult | null>;
|
|
@@ -2,21 +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,
|
|
5
|
+
import { calcDuration, ensureDirectoryExists, executeProcess, fileExists, readJsonFile, removeDirectoryIfExists, runnerArgsToEnv, } from '@code-pushup/utils';
|
|
6
6
|
import { normalizeAuditOutputs } from '../normalize.js';
|
|
7
7
|
export async function executeRunnerConfig(config, args) {
|
|
8
8
|
const { outputFile, outputTransform } = config;
|
|
9
|
-
|
|
9
|
+
await executeProcess({
|
|
10
10
|
command: config.command,
|
|
11
11
|
args: config.args,
|
|
12
|
-
observer: {
|
|
13
|
-
onStdout: stdout => {
|
|
14
|
-
if (isVerbose()) {
|
|
15
|
-
ui().logger.log(stdout);
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
onStderr: stderr => ui().logger.error(stderr),
|
|
19
|
-
},
|
|
20
12
|
env: { ...process.env, ...runnerArgsToEnv(args) },
|
|
21
13
|
});
|
|
22
14
|
// read process output from the file system and parse it
|
|
@@ -25,24 +17,12 @@ export async function executeRunnerConfig(config, args) {
|
|
|
25
17
|
await removeDirectoryIfExists(path.dirname(outputFile));
|
|
26
18
|
// transform unknownAuditOutputs to auditOutputs
|
|
27
19
|
const audits = outputTransform ? await outputTransform(outputs) : outputs;
|
|
28
|
-
|
|
29
|
-
return {
|
|
30
|
-
duration,
|
|
31
|
-
date,
|
|
32
|
-
audits,
|
|
33
|
-
};
|
|
20
|
+
return audits;
|
|
34
21
|
}
|
|
35
22
|
export async function executeRunnerFunction(runner, args) {
|
|
36
|
-
const date = new Date().toISOString();
|
|
37
|
-
const start = performance.now();
|
|
38
23
|
// execute plugin runner
|
|
39
24
|
const audits = await runner(args);
|
|
40
|
-
|
|
41
|
-
return {
|
|
42
|
-
date,
|
|
43
|
-
duration: calcDuration(start),
|
|
44
|
-
audits,
|
|
45
|
-
};
|
|
25
|
+
return audits;
|
|
46
26
|
}
|
|
47
27
|
/**
|
|
48
28
|
* Error thrown when plugin output is invalid.
|
|
@@ -54,10 +34,12 @@ export class AuditOutputsMissingAuditError extends Error {
|
|
|
54
34
|
}
|
|
55
35
|
export async function executePluginRunner(pluginConfig, args) {
|
|
56
36
|
const { audits: pluginConfigAudits, runner } = pluginConfig;
|
|
57
|
-
const
|
|
37
|
+
const date = new Date().toISOString();
|
|
38
|
+
const start = performance.now();
|
|
39
|
+
const unvalidatedAuditOutputs = typeof runner === 'object'
|
|
58
40
|
? await executeRunnerConfig(runner, args)
|
|
59
41
|
: await executeRunnerFunction(runner, args);
|
|
60
|
-
const
|
|
42
|
+
const duration = calcDuration(start);
|
|
61
43
|
const result = auditOutputsSchema.safeParse(unvalidatedAuditOutputs);
|
|
62
44
|
if (!result.success) {
|
|
63
45
|
throw new Error(`Audit output is invalid: ${result.error.message}`);
|
|
@@ -65,7 +47,8 @@ export async function executePluginRunner(pluginConfig, args) {
|
|
|
65
47
|
const auditOutputs = result.data;
|
|
66
48
|
auditOutputsCorrelateWithPluginOutput(auditOutputs, pluginConfigAudits);
|
|
67
49
|
return {
|
|
68
|
-
|
|
50
|
+
date,
|
|
51
|
+
duration,
|
|
69
52
|
audits: await normalizeAuditOutputs(auditOutputs),
|
|
70
53
|
};
|
|
71
54
|
}
|
|
@@ -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,EAML,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../src/lib/implementation/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { logger, stringifyError } from '@code-pushup/utils';
|
|
2
2
|
export async function loadPortalClient() {
|
|
3
3
|
try {
|
|
4
4
|
return await import('@code-pushup/portal-client');
|
|
5
5
|
}
|
|
6
6
|
catch (error) {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
logger.warn(`Failed to import @code-pushup/portal-client - ${stringifyError(error)}`);
|
|
8
|
+
logger.error('Optional peer dependency @code-pushup/portal-client is not available. Make sure it is installed to enable upload functionality.');
|
|
9
9
|
return null;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-portal-client.js","sourceRoot":"","sources":["../../../src/lib/load-portal-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"load-portal-client.js","sourceRoot":"","sources":["../../../src/lib/load-portal-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAGpC,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CACT,iDAAiD,cAAc,CAAC,KAAK,CAAC,EAAE,CACzE,CAAC;QACF,MAAM,CAAC,KAAK,CACV,iIAAiI,CAClI,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/src/lib/merge-diffs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { writeFile } from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { reportsDiffSchema } from '@code-pushup/models';
|
|
4
|
-
import { ensureDirectoryExists, generateMdReportsDiffForMonorepo, isPromiseFulfilledResult, isPromiseRejectedResult, readJsonFile, stringifyError,
|
|
4
|
+
import { ensureDirectoryExists, generateMdReportsDiffForMonorepo, isPromiseFulfilledResult, isPromiseRejectedResult, logger, readJsonFile, stringifyError, } from '@code-pushup/utils';
|
|
5
5
|
export async function mergeDiffs(files, persistConfig) {
|
|
6
6
|
const results = await Promise.allSettled(files.map(async (file) => {
|
|
7
7
|
const json = await readJsonFile(file).catch((error) => {
|
|
@@ -14,7 +14,7 @@ export async function mergeDiffs(files, persistConfig) {
|
|
|
14
14
|
return { ...result.data, file };
|
|
15
15
|
}));
|
|
16
16
|
results.filter(isPromiseRejectedResult).forEach(({ reason }) => {
|
|
17
|
-
|
|
17
|
+
logger.warn(`Skipped invalid report diff - ${stringifyError(reason)}`);
|
|
18
18
|
});
|
|
19
19
|
const diffs = results
|
|
20
20
|
.filter(isPromiseFulfilledResult)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-diffs.js","sourceRoot":"","sources":["../../../src/lib/merge-diffs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAsB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACL,qBAAqB,EACrB,gCAAgC,EAChC,wBAAwB,EACxB,uBAAuB,EACvB,YAAY,EACZ,cAAc,
|
|
1
|
+
{"version":3,"file":"merge-diffs.js","sourceRoot":"","sources":["../../../src/lib/merge-diffs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAsB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACL,qBAAqB,EACrB,gCAAgC,EAChC,wBAAwB,EACxB,uBAAuB,EACvB,MAAM,EACN,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAe,EACf,aAAsC;IAEtC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC7D,MAAM,IAAI,KAAK,CACb,4BAA4B,IAAI,MAAM,cAAc,CAAC,KAAK,CAAC,EAAE,CAC9D,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAC5D,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAClC,CAAC,CAAC,CACH,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAC7D,MAAM,CAAC,IAAI,CAAC,iCAAiC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,OAAO;SAClB,MAAM,CAAC,wBAAwB,CAAC;SAChC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAE7B,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,GAAG,IAAI;QACP,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,iCAAiC;KAC/F,CAAC,CAAC,CAAC;IAEJ,MAAM,QAAQ,GAAG,gCAAgC,CAAC,YAAY,CAAC,CAAC;IAEhE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,UAAU,CAAC,CAAC;IAC/D,MAAM,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEtC,OAAO,UAAU,CAAC;AACpB,CAAC"}
|