@code-pushup/axe-plugin 0.101.0 → 0.102.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/axe-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.102.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Code PushUp plugin for detecting accessibility issues using Axe 🌐",
|
|
6
6
|
"homepage": "https://github.com/code-pushup/cli/tree/main/packages/plugin-axe#readme",
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
"type": "module",
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@axe-core/playwright": "^4.11.0",
|
|
45
|
-
"@code-pushup/models": "0.
|
|
46
|
-
"@code-pushup/utils": "0.
|
|
45
|
+
"@code-pushup/models": "0.102.0",
|
|
46
|
+
"@code-pushup/utils": "0.102.0",
|
|
47
47
|
"axe-core": "^4.11.0",
|
|
48
48
|
"playwright-core": "^1.56.1",
|
|
49
49
|
"zod": "^4.1.12"
|
|
@@ -4,7 +4,7 @@ import { createRequire } from 'node:module';
|
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { chromium } from 'playwright-core';
|
|
6
6
|
import { executeProcess, formatAsciiTable, indentLines, logger, pluralizeToken, } from '@code-pushup/utils';
|
|
7
|
-
import { toAuditOutputs } from './transform.js';
|
|
7
|
+
import { createUrlSuffix, toAuditOutputs } from './transform.js';
|
|
8
8
|
/* eslint-disable functional/no-let */
|
|
9
9
|
let browser;
|
|
10
10
|
let browserChecked = false;
|
|
@@ -25,7 +25,7 @@ export async function runAxeForUrl(args) {
|
|
|
25
25
|
const page = await context.newPage();
|
|
26
26
|
try {
|
|
27
27
|
const axeResults = await runAxeForPage(page, args);
|
|
28
|
-
const auditOutputs = toAuditOutputs(axeResults, url);
|
|
28
|
+
const auditOutputs = toAuditOutputs(axeResults, createUrlSuffix(url, urlsCount));
|
|
29
29
|
return {
|
|
30
30
|
message: `${prefix} Analyzed URL ${url}`,
|
|
31
31
|
result: { url, axeResults, auditOutputs },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-axe.js","sourceRoot":"","sources":["../../../../src/lib/runner/run-axe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAA2B,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-axe.js","sourceRoot":"","sources":["../../../../src/lib/runner/run-axe.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,4 +4,6 @@ import type { AuditOutputs } from '@code-pushup/models';
|
|
|
4
4
|
* Transforms Axe results into audit outputs.
|
|
5
5
|
* Priority: violations > incomplete > passes > inapplicable
|
|
6
6
|
*/
|
|
7
|
-
export declare function toAuditOutputs({ passes, violations, incomplete, inapplicable }: axe.AxeResults,
|
|
7
|
+
export declare function toAuditOutputs({ passes, violations, incomplete, inapplicable }: axe.AxeResults, urlSuffix: string): AuditOutputs;
|
|
8
|
+
/** Creates a URL suffix for issue messages, only included when analyzing multiple URLs. */
|
|
9
|
+
export declare function createUrlSuffix(url: string, urlsCount: number): string;
|
|
@@ -4,27 +4,33 @@ import { formatIssueSeverities, getUrlIdentifier, pluralizeToken, truncateIssueM
|
|
|
4
4
|
* Transforms Axe results into audit outputs.
|
|
5
5
|
* Priority: violations > incomplete > passes > inapplicable
|
|
6
6
|
*/
|
|
7
|
-
export function toAuditOutputs({ passes, violations, incomplete, inapplicable },
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
...
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
export function toAuditOutputs({ passes, violations, incomplete, inapplicable }, urlSuffix) {
|
|
8
|
+
const toEntries = (results, score) => results.map(res => [res.id, toAuditOutput(res, urlSuffix, score)]);
|
|
9
|
+
return [
|
|
10
|
+
...new Map([
|
|
11
|
+
...toEntries(inapplicable, 1),
|
|
12
|
+
...toEntries(passes, 1),
|
|
13
|
+
...toEntries(incomplete, 0),
|
|
14
|
+
...toEntries(violations, 0),
|
|
15
|
+
]).values(),
|
|
16
|
+
];
|
|
17
|
+
}
|
|
18
|
+
/** Creates a URL suffix for issue messages, only included when analyzing multiple URLs. */
|
|
19
|
+
export function createUrlSuffix(url, urlsCount) {
|
|
20
|
+
return urlsCount > 1 ? ` ([${getUrlIdentifier(url)}](${url}))` : '';
|
|
15
21
|
}
|
|
16
22
|
/**
|
|
17
23
|
* For failing audits (score 0), includes detailed issues with locations and severities.
|
|
18
24
|
* For passing audits (score 1), only includes element count.
|
|
19
25
|
*/
|
|
20
|
-
function toAuditOutput(result,
|
|
26
|
+
function toAuditOutput(result, urlSuffix, score) {
|
|
21
27
|
const base = {
|
|
22
28
|
slug: result.id,
|
|
23
29
|
score,
|
|
24
30
|
value: result.nodes.length,
|
|
25
31
|
};
|
|
26
32
|
if (score === 0 && result.nodes.length > 0) {
|
|
27
|
-
const issues = result.nodes.map(node => toIssue(node, result,
|
|
33
|
+
const issues = result.nodes.map(node => toIssue(node, result, urlSuffix));
|
|
28
34
|
return {
|
|
29
35
|
...base,
|
|
30
36
|
displayValue: formatIssueSeverities(issues),
|
|
@@ -42,13 +48,12 @@ function formatSelector(selector) {
|
|
|
42
48
|
}
|
|
43
49
|
return selector.join(' >> ');
|
|
44
50
|
}
|
|
45
|
-
function toIssue(node, result,
|
|
51
|
+
function toIssue(node, result, urlSuffix) {
|
|
46
52
|
const selector = formatSelector(node.target?.[0] || node.html);
|
|
47
53
|
const rawMessage = node.failureSummary || result.help;
|
|
48
54
|
const cleanedMessage = rawMessage.replace(/\s+/g, ' ').trim();
|
|
49
|
-
const message = `[\`${selector}\`] ${cleanedMessage} ([${getUrlIdentifier(url)}](${url}))`;
|
|
50
55
|
return {
|
|
51
|
-
message: truncateIssueMessage(
|
|
56
|
+
message: truncateIssueMessage(`[\`${selector}\`] ${cleanedMessage}${urlSuffix}`),
|
|
52
57
|
severity: impactToSeverity(node.impact),
|
|
53
58
|
};
|
|
54
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../src/lib/runner/transform.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAO3B,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAkB,EAChE,
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../src/lib/runner/transform.ts"],"names":[],"mappings":"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"}
|