@code-pushup/utils 0.74.1 → 0.76.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 +2 -2
- package/src/index.d.ts +1 -1
- package/src/index.js +1 -1
- package/src/index.js.map +1 -1
- package/src/lib/reports/generate-md-report-category-section.d.ts +1 -1
- package/src/lib/reports/generate-md-report-category-section.js +6 -8
- package/src/lib/reports/generate-md-report-category-section.js.map +1 -1
- package/src/lib/reports/log-stdout-summary.d.ts +1 -1
- package/src/lib/reports/log-stdout-summary.js +5 -6
- package/src/lib/reports/log-stdout-summary.js.map +1 -1
- package/src/lib/reports/scoring.d.ts +15 -1
- package/src/lib/reports/scoring.js +26 -0
- package/src/lib/reports/scoring.js.map +1 -1
- package/src/lib/reports/utils.d.ts +1 -1
- package/src/lib/reports/utils.js +3 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-pushup/utils",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.76.0",
|
|
4
4
|
"description": "Low-level utilities (helper functions, etc.) used by Code PushUp CLI",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/code-pushup/cli/tree/main/packages/utils#readme",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"node": ">=17.0.0"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@code-pushup/models": "0.
|
|
30
|
+
"@code-pushup/models": "0.76.0",
|
|
31
31
|
"@isaacs/cliui": "^8.0.2",
|
|
32
32
|
"@poppinss/cliui": "^6.4.0",
|
|
33
33
|
"ansis": "^3.3.0",
|
package/src/index.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export { generateMdReport } from './lib/reports/generate-md-report.js';
|
|
|
25
25
|
export { generateMdReportsDiff, generateMdReportsDiffForMonorepo, } from './lib/reports/generate-md-reports-diff.js';
|
|
26
26
|
export { loadReport } from './lib/reports/load-report.js';
|
|
27
27
|
export { logStdoutSummary } from './lib/reports/log-stdout-summary.js';
|
|
28
|
-
export { scoreReport } from './lib/reports/scoring.js';
|
|
28
|
+
export { scoreReport, scoreAuditsWithTarget } from './lib/reports/scoring.js';
|
|
29
29
|
export { sortReport } from './lib/reports/sorting.js';
|
|
30
30
|
export type { ScoredCategoryConfig, ScoredGroup, ScoredReport, } from './lib/reports/types.js';
|
|
31
31
|
export { calcDuration, compareIssueSeverity, formatReportScore, } from './lib/reports/utils.js';
|
package/src/index.js
CHANGED
|
@@ -25,7 +25,7 @@ export { generateMdReport } from './lib/reports/generate-md-report.js';
|
|
|
25
25
|
export { generateMdReportsDiff, generateMdReportsDiffForMonorepo, } from './lib/reports/generate-md-reports-diff.js';
|
|
26
26
|
export { loadReport } from './lib/reports/load-report.js';
|
|
27
27
|
export { logStdoutSummary } from './lib/reports/log-stdout-summary.js';
|
|
28
|
-
export { scoreReport } from './lib/reports/scoring.js';
|
|
28
|
+
export { scoreReport, scoreAuditsWithTarget } from './lib/reports/scoring.js';
|
|
29
29
|
export { sortReport } from './lib/reports/sorting.js';
|
|
30
30
|
export { calcDuration, compareIssueSeverity, formatReportScore, } from './lib/reports/utils.js';
|
|
31
31
|
export { isSemver, normalizeSemver, sortSemvers } from './lib/semver.js';
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,WAAW,EACX,SAAS,GACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAqB,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAa,MAAM,eAAe,CAAC;AAC9E,OAAO,EACL,kBAAkB,EAClB,IAAI,EACJ,eAAe,EACf,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,cAAc,EACd,YAAY,GAIb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,uBAAuB,GAIxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,cAAc,EACd,OAAO,EACP,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,eAAe,EACf,aAAa,GAEd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,YAAY,EACZ,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,EAAE,EAA2B,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAoB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EACL,qBAAqB,EACrB,gCAAgC,GACjC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,WAAW,EACX,SAAS,GACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAqB,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAa,MAAM,eAAe,CAAC;AAC9E,OAAO,EACL,kBAAkB,EAClB,IAAI,EACJ,eAAe,EACf,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,cAAc,EACd,YAAY,GAIb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,uBAAuB,GAIxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,cAAc,EACd,OAAO,EACP,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,eAAe,EACf,aAAa,GAEd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,YAAY,EACZ,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,EAAE,EAA2B,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAoB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EACL,qBAAqB,EACrB,gCAAgC,GACjC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAMtD,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzE,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,4BAA4B,EAC5B,OAAO,EACP,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,UAAU,GAEX,MAAM,oBAAoB,CAAC;AAU5B,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -5,4 +5,4 @@ export declare function categoriesOverviewSection(report: Required<Pick<ScoredRe
|
|
|
5
5
|
export declare function categoriesDetailsSection(report: Required<Pick<ScoredReport, 'plugins' | 'categories'>>, options?: ScoreFilter): MarkdownDocument;
|
|
6
6
|
export declare function categoryRef({ title, score, value, displayValue }: AuditReport, pluginTitle: string): InlineText;
|
|
7
7
|
export declare function categoryGroupItem({ score, title }: ScoredGroup, groupAudits: AuditReport[], pluginTitle: string): InlineText;
|
|
8
|
-
export declare function binaryIconSuffix(score: number,
|
|
8
|
+
export declare function binaryIconSuffix(score: number, scoreTarget: number | undefined): string;
|
|
@@ -3,7 +3,7 @@ import { slugify } from '../formatting.js';
|
|
|
3
3
|
import { HIERARCHY } from '../text-formats/index.js';
|
|
4
4
|
import { metaDescription } from './formatting.js';
|
|
5
5
|
import { getSortableAuditByRef, getSortableGroupByRef } from './sorting.js';
|
|
6
|
-
import { countCategoryAudits, formatReportScore, getPluginNameFromSlug, scoreFilter, scoreMarker,
|
|
6
|
+
import { countCategoryAudits, formatReportScore, getPluginNameFromSlug, scoreFilter, scoreMarker, scoreTargetIcon, } from './utils.js';
|
|
7
7
|
export function categoriesOverviewSection(report, options) {
|
|
8
8
|
const { categories, plugins } = report;
|
|
9
9
|
return new MarkdownDocument().table([
|
|
@@ -12,11 +12,10 @@ export function categoriesOverviewSection(report, options) {
|
|
|
12
12
|
{ heading: '🛡 Audits', alignment: 'center' },
|
|
13
13
|
], categories
|
|
14
14
|
.filter(scoreFilter(options))
|
|
15
|
-
.map(({ title, refs, score,
|
|
16
|
-
// @TODO refactor `isBinary: boolean` to `targetScore: number` #713
|
|
15
|
+
.map(({ title, refs, score, scoreTarget }) => [
|
|
17
16
|
// The heading "ID" is inferred from the heading text in Markdown.
|
|
18
17
|
md.link(`#${slugify(title)}`, title),
|
|
19
|
-
md `${scoreMarker(score)} ${md.bold(formatReportScore(score))}${binaryIconSuffix(score,
|
|
18
|
+
md `${scoreMarker(score)} ${md.bold(formatReportScore(score))}${binaryIconSuffix(score, scoreTarget)}`,
|
|
20
19
|
countCategoryAudits(refs, plugins).toString(),
|
|
21
20
|
]));
|
|
22
21
|
}
|
|
@@ -28,7 +27,7 @@ export function categoriesDetailsSection(report, options) {
|
|
|
28
27
|
.$foreach(categories.filter(isScoreDisplayed), (doc, category) => doc
|
|
29
28
|
.heading(HIERARCHY.level_3, category.title)
|
|
30
29
|
.paragraph(metaDescription(category))
|
|
31
|
-
.paragraph(md `${scoreMarker(category.score)} Score: ${md.bold(formatReportScore(category.score))}${binaryIconSuffix(category.score, category.
|
|
30
|
+
.paragraph(md `${scoreMarker(category.score)} Score: ${md.bold(formatReportScore(category.score))}${binaryIconSuffix(category.score, category.scoreTarget)}`)
|
|
32
31
|
.list(category.refs.map(ref => {
|
|
33
32
|
// Add group details
|
|
34
33
|
if (ref.type === 'group') {
|
|
@@ -63,8 +62,7 @@ export function categoryGroupItem({ score = 0, title }, groupAudits, pluginTitle
|
|
|
63
62
|
}));
|
|
64
63
|
return md `${groupTitle}${auditsList}`;
|
|
65
64
|
}
|
|
66
|
-
export function binaryIconSuffix(score,
|
|
67
|
-
|
|
68
|
-
return targetScoreIcon(score, isBinary ? 1 : undefined, { prefix: ' ' });
|
|
65
|
+
export function binaryIconSuffix(score, scoreTarget) {
|
|
66
|
+
return scoreTargetIcon(score, scoreTarget, { prefix: ' ' });
|
|
69
67
|
}
|
|
70
68
|
//# sourceMappingURL=generate-md-report-category-section.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-md-report-category-section.js","sourceRoot":"","sources":["../../../../src/lib/reports/generate-md-report-category-section.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,gBAAgB,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,UAAU,yBAAyB,CACvC,MAA8D,EAC9D,OAAqB;IAErB,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IACvC,OAAO,IAAI,gBAAgB,EAAE,CAAC,KAAK,CACjC;QACE,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE;QAC7C,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE;QAC3C,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE;KAC9C,EACD,UAAU;SACP,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SAC5B,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"generate-md-report-category-section.js","sourceRoot":"","sources":["../../../../src/lib/reports/generate-md-report-category-section.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,4 +2,4 @@ import type { ScoredReport } from './types.js';
|
|
|
2
2
|
export declare function logStdoutSummary(report: ScoredReport): void;
|
|
3
3
|
export declare function logPlugins(plugins: ScoredReport['plugins']): void;
|
|
4
4
|
export declare function logCategories({ plugins, categories, }: Required<Pick<ScoredReport, 'plugins' | 'categories'>>): void;
|
|
5
|
-
export declare function binaryIconPrefix(score: number,
|
|
5
|
+
export declare function binaryIconPrefix(score: number, scoreTarget: number | undefined): string;
|
|
@@ -2,7 +2,7 @@ import { bold, cyan, cyanBright, green, red } from 'ansis';
|
|
|
2
2
|
import { isVerbose } from '../env.js';
|
|
3
3
|
import { ui } from '../logging.js';
|
|
4
4
|
import { CODE_PUSHUP_DOMAIN, FOOTER_PREFIX, REPORT_HEADLINE_TEXT, REPORT_RAW_OVERVIEW_TABLE_HEADERS, TERMINAL_WIDTH, } from './constants.js';
|
|
5
|
-
import { applyScoreColor, countCategoryAudits,
|
|
5
|
+
import { applyScoreColor, countCategoryAudits, scoreTargetIcon, } from './utils.js';
|
|
6
6
|
function log(msg = '') {
|
|
7
7
|
ui().logger.log(msg);
|
|
8
8
|
}
|
|
@@ -71,9 +71,9 @@ function logRow(score, title, value) {
|
|
|
71
71
|
}
|
|
72
72
|
export function logCategories({ plugins, categories, }) {
|
|
73
73
|
const hAlign = (idx) => (idx === 0 ? 'left' : 'right');
|
|
74
|
-
const rows = categories.map(({ title, score,
|
|
74
|
+
const rows = categories.map(({ title, score, scoreTarget, refs }) => [
|
|
75
75
|
title,
|
|
76
|
-
`${binaryIconPrefix(score,
|
|
76
|
+
`${binaryIconPrefix(score, scoreTarget)}${applyScoreColor({ score })}`,
|
|
77
77
|
countCategoryAudits(refs, plugins),
|
|
78
78
|
]);
|
|
79
79
|
const table = ui().table();
|
|
@@ -92,9 +92,8 @@ export function logCategories({ plugins, categories, }) {
|
|
|
92
92
|
table.render();
|
|
93
93
|
log();
|
|
94
94
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
return targetScoreIcon(score, isBinary ? 1 : undefined, {
|
|
95
|
+
export function binaryIconPrefix(score, scoreTarget) {
|
|
96
|
+
return scoreTargetIcon(score, scoreTarget, {
|
|
98
97
|
passIcon: bold(green('✓')),
|
|
99
98
|
failIcon: bold(red('✗')),
|
|
100
99
|
postfix: ' ',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-stdout-summary.js","sourceRoot":"","sources":["../../../../src/lib/reports/log-stdout-summary.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"log-stdout-summary.js","sourceRoot":"","sources":["../../../../src/lib/reports/log-stdout-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Report } from '@code-pushup/models';
|
|
1
|
+
import type { AuditOutput, PluginScoreTargets, Report } from '@code-pushup/models';
|
|
2
2
|
import type { ScoredReport } from './types.js';
|
|
3
3
|
export declare class GroupRefInvalidError extends Error {
|
|
4
4
|
constructor(auditSlug: string, pluginSlug: string);
|
|
@@ -7,3 +7,17 @@ export declare function scoreReport(report: Report): ScoredReport;
|
|
|
7
7
|
export declare function calculateScore<T extends {
|
|
8
8
|
weight: number;
|
|
9
9
|
}>(refs: T[], scoreFn: (ref: T) => number): number;
|
|
10
|
+
/**
|
|
11
|
+
* Sets audit score to 1 if it meets target.
|
|
12
|
+
* @param audit audit output to evaluate
|
|
13
|
+
* @param scoreTarget threshold for perfect score (0-1)
|
|
14
|
+
* @returns Audit with scoreTarget field
|
|
15
|
+
*/
|
|
16
|
+
export declare function scoreAuditWithTarget(audit: AuditOutput, scoreTarget: number): AuditOutput;
|
|
17
|
+
/**
|
|
18
|
+
* Sets audit scores to 1 when targets are met.
|
|
19
|
+
* @param audits audit outputs from plugin execution
|
|
20
|
+
* @param scoreTargets number or { slug: target } mapping
|
|
21
|
+
* @returns Transformed audits with scoreTarget field
|
|
22
|
+
*/
|
|
23
|
+
export declare function scoreAuditsWithTarget(audits: AuditOutput[], scoreTargets: PluginScoreTargets): AuditOutput[];
|
|
@@ -75,4 +75,30 @@ function parseScoringParameters(refs, scoreFn) {
|
|
|
75
75
|
}
|
|
76
76
|
return scoredRefs;
|
|
77
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Sets audit score to 1 if it meets target.
|
|
80
|
+
* @param audit audit output to evaluate
|
|
81
|
+
* @param scoreTarget threshold for perfect score (0-1)
|
|
82
|
+
* @returns Audit with scoreTarget field
|
|
83
|
+
*/
|
|
84
|
+
export function scoreAuditWithTarget(audit, scoreTarget) {
|
|
85
|
+
return audit.score >= scoreTarget
|
|
86
|
+
? { ...audit, score: 1, scoreTarget }
|
|
87
|
+
: { ...audit, scoreTarget };
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Sets audit scores to 1 when targets are met.
|
|
91
|
+
* @param audits audit outputs from plugin execution
|
|
92
|
+
* @param scoreTargets number or { slug: target } mapping
|
|
93
|
+
* @returns Transformed audits with scoreTarget field
|
|
94
|
+
*/
|
|
95
|
+
export function scoreAuditsWithTarget(audits, scoreTargets) {
|
|
96
|
+
if (typeof scoreTargets === 'number') {
|
|
97
|
+
return audits.map(audit => scoreAuditWithTarget(audit, scoreTargets));
|
|
98
|
+
}
|
|
99
|
+
return audits.map(audit => {
|
|
100
|
+
const target = scoreTargets?.[audit.slug];
|
|
101
|
+
return target == null ? audit : scoreAuditWithTarget(audit, target);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
78
104
|
//# sourceMappingURL=scoring.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoring.js","sourceRoot":"","sources":["../../../../src/lib/reports/scoring.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scoring.js","sourceRoot":"","sources":["../../../../src/lib/reports/scoring.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ export declare function applyScoreColor({ score, text }: {
|
|
|
34
34
|
score: number;
|
|
35
35
|
text?: string;
|
|
36
36
|
}, style?: Ansis): string;
|
|
37
|
-
export declare function
|
|
37
|
+
export declare function scoreTargetIcon(score: number, scoreTarget?: number, options?: {
|
|
38
38
|
passIcon?: string;
|
|
39
39
|
failIcon?: string;
|
|
40
40
|
prefix?: string;
|
package/src/lib/reports/utils.js
CHANGED
|
@@ -200,10 +200,10 @@ export function applyScoreColor({ score, text }, style = ansis) {
|
|
|
200
200
|
? style.red(formattedScore)
|
|
201
201
|
: style.bold(style.red(formattedScore));
|
|
202
202
|
}
|
|
203
|
-
export function
|
|
204
|
-
if (
|
|
203
|
+
export function scoreTargetIcon(score, scoreTarget, options = {}) {
|
|
204
|
+
if (scoreTarget != null) {
|
|
205
205
|
const { passIcon = '✅', failIcon = '❌', prefix = '', postfix = '', } = options;
|
|
206
|
-
if (score >=
|
|
206
|
+
if (score >= scoreTarget) {
|
|
207
207
|
return `${prefix}${passIcon}${postfix}`;
|
|
208
208
|
}
|
|
209
209
|
return `${prefix}${failIcon}${postfix}`;
|