@axe-core/watcher 3.19.0 → 3.19.1-next.0ef1b231
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/LICENSES-3RD-PARTY.md +1 -1
- package/dist/Controller.d.ts +2 -0
- package/dist/Controller.js +39 -11
- package/dist/Controller.js.map +1 -1
- package/dist/cypress.js +3 -5
- package/dist/cypress.js.map +1 -1
- package/dist/cypressCommands.js +22 -22
- package/dist/cypressCommands.js.map +1 -1
- package/dist/git.js +7 -7
- package/dist/git.js.map +1 -1
- package/dist/puppeteer.d.ts +3 -3
- package/dist/puppeteer.js +1 -1
- package/dist/puppeteer.js.map +1 -1
- package/dist/sendResultsToServer.d.ts +4 -1
- package/dist/sendResultsToServer.js +37 -4
- package/dist/sendResultsToServer.js.map +1 -1
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/constants.js +2 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/initializeSession.d.ts +4 -5
- package/dist/utils/initializeSession.js +31 -66
- package/dist/utils/initializeSession.js.map +1 -1
- package/dist/utils/linearBackoff.d.ts +10 -0
- package/dist/utils/linearBackoff.js +47 -0
- package/dist/utils/linearBackoff.js.map +1 -0
- package/dist/utils/mergeChromeArgs.js +18 -8
- package/dist/utils/mergeChromeArgs.js.map +1 -1
- package/dist/utils/validateHeadlessPlaywright.js +9 -3
- package/dist/utils/validateHeadlessPlaywright.js.map +1 -1
- package/dist/utils/writeExtensionManifest.d.ts +6 -4
- package/dist/utils/writeExtensionManifest.js +13 -3
- package/dist/utils/writeExtensionManifest.js.map +1 -1
- package/dist/utils/writeVariables.d.ts +16 -7
- package/dist/utils/writeVariables.js +41 -15
- package/dist/utils/writeVariables.js.map +1 -1
- package/dist/wdio.js +3 -4
- package/dist/wdio.js.map +1 -1
- package/dist/webdriver.js +2 -3
- package/dist/webdriver.js.map +1 -1
- package/extension/axe-versions/axe-core@4.10.3/axe.min.js +12 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/README.md +9 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/_template.json +1123 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/da.json +799 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/de.json +1123 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/el.json +1069 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/es.json +790 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/eu.json +789 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/fr.json +994 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/he.json +1017 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/it.json +1108 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/ja.json +1118 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/ko.json +1003 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/nl.json +48 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/no_NB.json +799 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/pl.json +1109 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/pt_BR.json +970 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/zh_CN.json +1116 -0
- package/extension/axe-versions/axe-core@4.10.3/locales/zh_TW.json +1108 -0
- package/extension/axe-versions-mapper.js +2 -1
- package/extension/axe.js +1 -1
- package/extension/axe.js.LICENSE.txt +2 -2
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/package.json +8 -8
@@ -3,12 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.sendResultsToServer = exports.MAX_PAGE_STATES_PER_REQUEST = void 0;
|
6
|
+
exports.sendResultsToServer = exports.MAX_RETRIES = exports.MAX_PAGE_STATES_PER_REQUEST = void 0;
|
7
7
|
const node_fetch_1 = __importDefault(require("node-fetch"));
|
8
8
|
const uuid_1 = require("uuid");
|
9
9
|
const readVariables_1 = __importDefault(require("./utils/readVariables"));
|
10
|
+
const linearBackoff_1 = __importDefault(require("./utils/linearBackoff"));
|
10
11
|
const { version } = require('../package.json');
|
11
12
|
exports.MAX_PAGE_STATES_PER_REQUEST = 5;
|
13
|
+
exports.MAX_RETRIES = 3;
|
12
14
|
const sendResultsToServer = async ({ results, debugLogger }) => {
|
13
15
|
const { server_url, api_key, session_id, git_data } = (0, readVariables_1.default)();
|
14
16
|
const resultsURL = new URL(`/api-pub/watcher/sessions/${session_id}`, server_url);
|
@@ -18,7 +20,7 @@ const sendResultsToServer = async ({ results, debugLogger }) => {
|
|
18
20
|
totalBytes: Buffer.byteLength(JSON.stringify(results))
|
19
21
|
});
|
20
22
|
debugLogger('SendResultsToServer: Session ID', { session_id });
|
21
|
-
const putResults = async (bodyResults = []) => {
|
23
|
+
const putResults = async (bodyResults = [], retryAttempt = 0) => {
|
22
24
|
const body = {
|
23
25
|
axe_watcher_version: version,
|
24
26
|
results: bodyResults,
|
@@ -50,17 +52,48 @@ const sendResultsToServer = async ({ results, debugLogger }) => {
|
|
50
52
|
resStatusText: res.statusText
|
51
53
|
});
|
52
54
|
}
|
55
|
+
const is500 = res.status === 500;
|
56
|
+
const is408 = res.status === 408;
|
57
|
+
const is429 = res.status === 429;
|
58
|
+
if ((is500 || is408 || is429) && retryAttempt !== exports.MAX_RETRIES) {
|
59
|
+
const incrementRetry = retryAttempt + 1;
|
60
|
+
console.warn('@axe-core/watcher: Retrying...');
|
61
|
+
debugLogger('SendResultsToServer: Retrying...', {
|
62
|
+
retryAttempt: incrementRetry,
|
63
|
+
resStatus: res.status,
|
64
|
+
batchResults: bodyResults.length,
|
65
|
+
reqSize: Buffer.byteLength(JSON.stringify(body))
|
66
|
+
});
|
67
|
+
await (0, linearBackoff_1.default)(incrementRetry);
|
68
|
+
await putResults(bodyResults, incrementRetry);
|
69
|
+
}
|
70
|
+
else if (retryAttempt === exports.MAX_RETRIES) {
|
71
|
+
debugLogger('SendResultsToServer: Max retries reached', {
|
72
|
+
retryAttempt,
|
73
|
+
resStatus: res.status
|
74
|
+
});
|
75
|
+
console.warn('@axe-core/watcher: Unable to send results to server, max retries reached');
|
76
|
+
}
|
53
77
|
};
|
54
78
|
results.forEach(result => {
|
55
79
|
if (result.screenshot) {
|
56
80
|
result.screenshot_id = (0, uuid_1.v4)();
|
57
81
|
}
|
58
82
|
});
|
83
|
+
const requestErrorHandler = (error) => {
|
84
|
+
debugLogger('SendResultsToServer: Fetch error', {
|
85
|
+
message: error.message,
|
86
|
+
type: error.type || 'NA',
|
87
|
+
code: error.code || 'NA',
|
88
|
+
stack: error.stack || 'NA',
|
89
|
+
errno: error.errno || 'NA'
|
90
|
+
});
|
91
|
+
};
|
59
92
|
for (let i = 0; i < results.length; i += exports.MAX_PAGE_STATES_PER_REQUEST) {
|
60
93
|
const batch = results
|
61
94
|
.slice(i, i + exports.MAX_PAGE_STATES_PER_REQUEST)
|
62
95
|
.map(r => ({ ...r, screenshot: null }));
|
63
|
-
await putResults(batch);
|
96
|
+
await putResults(batch).catch(requestErrorHandler);
|
64
97
|
}
|
65
98
|
await Promise.all(results.map(async ({ screenshot, screenshot_id }) => {
|
66
99
|
if (!screenshot) {
|
@@ -80,7 +113,7 @@ const sendResultsToServer = async ({ results, debugLogger }) => {
|
|
80
113
|
if (!ok) {
|
81
114
|
console.warn('@axe-core/watcher: Unable to send screenshot to server');
|
82
115
|
}
|
83
|
-
}));
|
116
|
+
})).catch(requestErrorHandler);
|
84
117
|
};
|
85
118
|
exports.sendResultsToServer = sendResultsToServer;
|
86
119
|
exports.default = exports.sendResultsToServer;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sendResultsToServer.js","sourceRoot":"","sources":["../src/sendResultsToServer.ts"],"names":[],"mappings":";;;;;;AAAA,
|
1
|
+
{"version":3,"file":"sendResultsToServer.js","sourceRoot":"","sources":["../src/sendResultsToServer.ts"],"names":[],"mappings":"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"}
|
@@ -2,3 +2,4 @@ export declare const DEFAULT_SERVER_URL = "https://axe.deque.com/";
|
|
2
2
|
export declare const PATH_TO_EXTENSION: string;
|
3
3
|
export declare const PATH_TO_SESSION_FILE: string;
|
4
4
|
export declare const PATH_TO_EXTENSION_VARIABLES: string;
|
5
|
+
export declare const DOCS_LINK = "https://docs.deque.com/developer-hub/2/en/dh-troubleshooting";
|
package/dist/utils/constants.js
CHANGED
@@ -3,10 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.PATH_TO_EXTENSION_VARIABLES = exports.PATH_TO_SESSION_FILE = exports.PATH_TO_EXTENSION = exports.DEFAULT_SERVER_URL = void 0;
|
6
|
+
exports.DOCS_LINK = exports.PATH_TO_EXTENSION_VARIABLES = exports.PATH_TO_SESSION_FILE = exports.PATH_TO_EXTENSION = exports.DEFAULT_SERVER_URL = void 0;
|
7
7
|
const path_1 = __importDefault(require("path"));
|
8
8
|
exports.DEFAULT_SERVER_URL = 'https://axe.deque.com/';
|
9
9
|
exports.PATH_TO_EXTENSION = path_1.default.join(__dirname, '..', '..', 'extension');
|
10
10
|
exports.PATH_TO_SESSION_FILE = path_1.default.join(exports.PATH_TO_EXTENSION, 'axe-watcher-session.json');
|
11
11
|
exports.PATH_TO_EXTENSION_VARIABLES = path_1.default.join(exports.PATH_TO_EXTENSION, 'variables.json');
|
12
|
+
exports.DOCS_LINK = 'https://docs.deque.com/developer-hub/2/en/dh-troubleshooting';
|
12
13
|
//# sourceMappingURL=constants.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAEV,QAAA,kBAAkB,GAAG,wBAAwB,CAAA;AAG7C,QAAA,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;AAGjE,QAAA,oBAAoB,GAAG,cAAI,CAAC,IAAI,CAC3C,yBAAiB,EACjB,0BAA0B,CAC3B,CAAA;AAGY,QAAA,2BAA2B,GAAG,cAAI,CAAC,IAAI,CAClD,yBAAiB,EACjB,gBAAgB,CACjB,CAAA"}
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAEV,QAAA,kBAAkB,GAAG,wBAAwB,CAAA;AAG7C,QAAA,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;AAGjE,QAAA,oBAAoB,GAAG,cAAI,CAAC,IAAI,CAC3C,yBAAiB,EACjB,0BAA0B,CAC3B,CAAA;AAGY,QAAA,2BAA2B,GAAG,cAAI,CAAC,IAAI,CAClD,yBAAiB,EACjB,gBAAgB,CACjB,CAAA;AAEY,QAAA,SAAS,GACpB,8DAA8D,CAAA"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { ConfigurationOverrides } from './writeVariables';
|
2
2
|
import type { RunOptions } from './runOptions';
|
3
3
|
export interface AxeCoreSettings {
|
4
|
-
|
4
|
+
axe_core_version?: string;
|
5
5
|
tags?: string[];
|
6
6
|
}
|
7
7
|
export interface InitializeSessionParams {
|
@@ -19,12 +19,11 @@ export interface InitializeSessionParams {
|
|
19
19
|
gitCommitMessage: string | null;
|
20
20
|
gitTag: string | null;
|
21
21
|
gitCommitEmail: string | null;
|
22
|
-
|
23
|
-
runOptions
|
22
|
+
configOverrides: ConfigurationOverrides | null;
|
23
|
+
runOptions: RunOptions | null;
|
24
24
|
}
|
25
|
-
export declare const accessibilityStandardsError: string;
|
26
25
|
/** Initialize a new session. */
|
27
|
-
declare function initializeSession({ apiKey, serverURL, watcherVersion, sessionID, buildID, gitCommitSha, gitUrl, gitBranch, gitCommitAuthor, gitIsDirty, gitDefaultBranch, gitCommitMessage, gitTag, gitCommitEmail,
|
26
|
+
declare function initializeSession({ apiKey, serverURL, watcherVersion, sessionID, buildID, gitCommitSha, gitUrl, gitBranch, gitCommitAuthor, gitIsDirty, gitDefaultBranch, gitCommitMessage, gitTag, gitCommitEmail, configOverrides, runOptions }: InitializeSessionParams): {
|
28
27
|
axe_core_settings?: AxeCoreSettings;
|
29
28
|
session_id: string;
|
30
29
|
};
|
@@ -3,51 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.accessibilityStandardsError = void 0;
|
7
6
|
const sync_request_1 = __importDefault(require("sync-request"));
|
8
7
|
const assert_1 = __importDefault(require("assert"));
|
9
8
|
const createDebugger_1 = __importDefault(require("../createDebugger"));
|
10
9
|
const debugLogger = (0, createDebugger_1.default)('config:initializeSession');
|
11
|
-
|
12
|
-
All: 'all',
|
13
|
-
'WCAG 2.2 AAA': 'wcag22aaa',
|
14
|
-
'WCAG 2.2 AA': 'wcag22aa',
|
15
|
-
'WCAG 2.2 A': 'wcag22a',
|
16
|
-
'WCAG 2.1 AAA': 'wcag21aaa',
|
17
|
-
'WCAG 2.1 AA': 'wcag21aa',
|
18
|
-
'WCAG 2.1 A': 'wcag21a',
|
19
|
-
'WCAG 2.0 AAA': 'wcag2aaa',
|
20
|
-
'WCAG 2.0 AA': 'wcag2aa',
|
21
|
-
'WCAG 2.0 A': 'wcag2a',
|
22
|
-
'Trusted Tester v5': 'TTv5',
|
23
|
-
'EN 301 549': 'EN-301-549'
|
24
|
-
};
|
25
|
-
exports.accessibilityStandardsError = `Invalid accessibility standard provided. Must be one of: ${Object.keys(accessibilityStandardMap).join(', ')}`;
|
26
|
-
const convertConfigOverridesForRequest = (overrides) => {
|
27
|
-
if (!overrides)
|
28
|
-
return {};
|
29
|
-
const { accessibilityStandard, axeCoreVersion, bestPractices, experimentalRules } = overrides;
|
30
|
-
const configuration_overrides = {};
|
31
|
-
if (accessibilityStandard) {
|
32
|
-
(0, assert_1.default)(Object.keys(accessibilityStandardMap).includes(accessibilityStandard), exports.accessibilityStandardsError);
|
33
|
-
configuration_overrides.accessibility_standard =
|
34
|
-
accessibilityStandardMap[accessibilityStandard];
|
35
|
-
}
|
36
|
-
if (axeCoreVersion) {
|
37
|
-
configuration_overrides.axe_core_version = axeCoreVersion;
|
38
|
-
}
|
39
|
-
if (bestPractices !== undefined) {
|
40
|
-
configuration_overrides.best_practices = bestPractices;
|
41
|
-
}
|
42
|
-
if (experimentalRules !== undefined) {
|
43
|
-
configuration_overrides.experimental_rules = experimentalRules;
|
44
|
-
}
|
45
|
-
return {
|
46
|
-
configuration_overrides
|
47
|
-
};
|
48
|
-
};
|
49
|
-
function initializeSession({ apiKey, serverURL, watcherVersion, sessionID, buildID, gitCommitSha, gitUrl, gitBranch, gitCommitAuthor, gitIsDirty, gitDefaultBranch, gitCommitMessage, gitTag, gitCommitEmail, configurationOverrides, runOptions }) {
|
50
|
-
var _a;
|
10
|
+
function initializeSession({ apiKey, serverURL, watcherVersion, sessionID, buildID, gitCommitSha, gitUrl, gitBranch, gitCommitAuthor, gitIsDirty, gitDefaultBranch, gitCommitMessage, gitTag, gitCommitEmail, configOverrides, runOptions }) {
|
51
11
|
(0, assert_1.default)(apiKey, 'API key is required');
|
52
12
|
(0, assert_1.default)(serverURL, 'Server URL is required');
|
53
13
|
(0, assert_1.default)(watcherVersion, 'Watcher version is required');
|
@@ -63,35 +23,42 @@ function initializeSession({ apiKey, serverURL, watcherVersion, sessionID, build
|
|
63
23
|
(0, assert_1.default)(gitCommitMessage === null || typeof gitCommitMessage === 'string', 'Git Commit Message must be a string or null');
|
64
24
|
(0, assert_1.default)(gitTag === null || typeof gitTag === 'string', 'Git Tag must be a string or null');
|
65
25
|
(0, assert_1.default)(gitCommitEmail === null || typeof gitCommitEmail === 'string', 'Git Commit Email must be a string or null');
|
66
|
-
|
26
|
+
(0, assert_1.default)(configOverrides === null || typeof configOverrides === 'object', 'Configuration Overrides must be an object or null');
|
27
|
+
(0, assert_1.default)(runOptions === null || typeof runOptions === 'object', 'Run Options must be an object or null');
|
67
28
|
const url = new URL(`/api-pub/watcher/sessions`, serverURL);
|
29
|
+
const payload = {
|
30
|
+
watcher_version: watcherVersion,
|
31
|
+
session_id: sessionID,
|
32
|
+
build_id: buildID,
|
33
|
+
git_commit_sha: gitCommitSha,
|
34
|
+
git_url: gitUrl,
|
35
|
+
git_branch: gitBranch,
|
36
|
+
git_commit_author: gitCommitAuthor,
|
37
|
+
git_is_dirty: gitIsDirty,
|
38
|
+
git_default_branch: gitDefaultBranch,
|
39
|
+
git_commit_message: gitCommitMessage,
|
40
|
+
git_tag: gitTag,
|
41
|
+
git_commit_email: gitCommitEmail,
|
42
|
+
watcher_config: {
|
43
|
+
configuration_overrides: configOverrides
|
44
|
+
? {
|
45
|
+
accessibility_standard: configOverrides?.accessibilityStandard,
|
46
|
+
axe_core_version: configOverrides?.axeCoreVersion,
|
47
|
+
best_practices: configOverrides?.bestPractices,
|
48
|
+
experimental_rules: configOverrides?.experimentalRules
|
49
|
+
}
|
50
|
+
: null,
|
51
|
+
run_options: runOptions
|
52
|
+
}
|
53
|
+
};
|
68
54
|
const res = (0, sync_request_1.default)('POST', url.toString(), {
|
69
55
|
headers: {
|
70
56
|
'X-API-Key': apiKey
|
71
57
|
},
|
72
|
-
json:
|
73
|
-
watcher_version: watcherVersion,
|
74
|
-
session_id: sessionID,
|
75
|
-
build_id: buildID,
|
76
|
-
git_commit_sha: gitCommitSha,
|
77
|
-
git_url: gitUrl,
|
78
|
-
git_branch: gitBranch,
|
79
|
-
git_commit_author: gitCommitAuthor,
|
80
|
-
git_is_dirty: gitIsDirty,
|
81
|
-
git_default_branch: gitDefaultBranch,
|
82
|
-
git_commit_message: gitCommitMessage,
|
83
|
-
git_tag: gitTag,
|
84
|
-
git_commit_email: gitCommitEmail,
|
85
|
-
...(useGlobalConfigReconciliaton && {
|
86
|
-
watcher_config: {
|
87
|
-
...convertConfigOverridesForRequest(configurationOverrides),
|
88
|
-
runOptions
|
89
|
-
}
|
90
|
-
})
|
91
|
-
}
|
58
|
+
json: payload
|
92
59
|
});
|
93
60
|
const body = JSON.parse(res.getBody('utf8'));
|
94
|
-
const error = body.error || (
|
61
|
+
const error = body.error || (body.errors?.length && body.errors[0]);
|
95
62
|
if (error) {
|
96
63
|
debugLogger('Error initializing session:', error);
|
97
64
|
throw new Error(error);
|
@@ -106,9 +73,7 @@ function initializeSession({ apiKey, serverURL, watcherVersion, sessionID, build
|
|
106
73
|
}
|
107
74
|
return {
|
108
75
|
session_id: body.session_id,
|
109
|
-
|
110
|
-
axe_core_settings: body.axe_core_settings
|
111
|
-
})
|
76
|
+
axe_core_settings: body.axe_core_settings
|
112
77
|
};
|
113
78
|
}
|
114
79
|
exports.default = initializeSession;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"initializeSession.js","sourceRoot":"","sources":["../../src/utils/initializeSession.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"initializeSession.js","sourceRoot":"","sources":["../../src/utils/initializeSession.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
export declare const BACKOFF_FACTOR = 1000;
|
2
|
+
/**
|
3
|
+
* Linear backoff function that waits for a given amount of time
|
4
|
+
* before resolving
|
5
|
+
*
|
6
|
+
* @param retryAttempts The number of retry attempts (default 1)
|
7
|
+
*
|
8
|
+
*/
|
9
|
+
declare function linearBackoff(retryAttempts?: number): Promise<void>;
|
10
|
+
export default linearBackoff;
|
@@ -0,0 +1,47 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
19
|
+
var ownKeys = function(o) {
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
21
|
+
var ar = [];
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
23
|
+
return ar;
|
24
|
+
};
|
25
|
+
return ownKeys(o);
|
26
|
+
};
|
27
|
+
return function (mod) {
|
28
|
+
if (mod && mod.__esModule) return mod;
|
29
|
+
var result = {};
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
31
|
+
__setModuleDefault(result, mod);
|
32
|
+
return result;
|
33
|
+
};
|
34
|
+
})();
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
36
|
+
exports.BACKOFF_FACTOR = void 0;
|
37
|
+
const timersPromises = __importStar(require("timers/promises"));
|
38
|
+
exports.BACKOFF_FACTOR = 1000;
|
39
|
+
async function linearBackoff(retryAttempts = 1) {
|
40
|
+
if (retryAttempts <= 0) {
|
41
|
+
throw new Error('retryAttempts must be greater than 0');
|
42
|
+
}
|
43
|
+
const delay = retryAttempts * exports.BACKOFF_FACTOR;
|
44
|
+
await timersPromises.setTimeout(delay);
|
45
|
+
}
|
46
|
+
exports.default = linearBackoff;
|
47
|
+
//# sourceMappingURL=linearBackoff.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"linearBackoff.js","sourceRoot":"","sources":["../../src/utils/linearBackoff.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAiD;AAGpC,QAAA,cAAc,GAAG,IAAI,CAAA;AAUlC,KAAK,UAAU,aAAa,CAAC,gBAAwB,CAAC;IACpD,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,GAAG,sBAAc,CAAA;IAC5C,MAAM,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AACxC,CAAC;AAED,kBAAe,aAAa,CAAA"}
|
@@ -3,16 +3,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const constants_1 = require("./constants");
|
4
4
|
const DISABLE_OTHER_EXTENSIONS_FLAG = '--disable-extensions-except';
|
5
5
|
const LOAD_EXTENSION_FLAG = '--load-extension';
|
6
|
+
const DISABLE_EXTENSIONS_FLAG = '--disable-extensions';
|
6
7
|
function mergeChromeArgs(userArgs, { disableOtherExtensions }) {
|
7
8
|
let loadExtensionFlagIndex = -1;
|
8
|
-
let
|
9
|
+
let disableExtensionsExceptFlagIndex = -1;
|
10
|
+
let disableExtensionFlagIndex = -1;
|
9
11
|
for (const [index, arg] of userArgs.entries()) {
|
10
|
-
|
12
|
+
const hasLoadExtension = arg.includes(LOAD_EXTENSION_FLAG) || arg.includes('load-extension');
|
13
|
+
const hasDisableExtensionsExcept = arg.includes(DISABLE_OTHER_EXTENSIONS_FLAG) ||
|
14
|
+
arg.includes('disable-extensions-except');
|
15
|
+
const hasDisableExtensions = (arg.includes(DISABLE_EXTENSIONS_FLAG) ||
|
16
|
+
arg.includes('disable-extensions')) &&
|
17
|
+
!hasDisableExtensionsExcept;
|
18
|
+
if (hasLoadExtension) {
|
11
19
|
loadExtensionFlagIndex = index;
|
12
20
|
}
|
13
|
-
if (
|
14
|
-
|
15
|
-
|
21
|
+
if (hasDisableExtensionsExcept) {
|
22
|
+
disableExtensionsExceptFlagIndex = index;
|
23
|
+
}
|
24
|
+
if (hasDisableExtensions) {
|
25
|
+
disableExtensionFlagIndex = index;
|
16
26
|
}
|
17
27
|
}
|
18
28
|
if (loadExtensionFlagIndex !== -1) {
|
@@ -21,10 +31,10 @@ function mergeChromeArgs(userArgs, { disableOtherExtensions }) {
|
|
21
31
|
else {
|
22
32
|
userArgs.push(`${LOAD_EXTENSION_FLAG}=${constants_1.PATH_TO_EXTENSION}`);
|
23
33
|
}
|
24
|
-
if (
|
25
|
-
userArgs[
|
34
|
+
if (disableExtensionsExceptFlagIndex !== -1) {
|
35
|
+
userArgs[disableExtensionsExceptFlagIndex] += `,${constants_1.PATH_TO_EXTENSION}`;
|
26
36
|
}
|
27
|
-
else if (disableOtherExtensions) {
|
37
|
+
else if (disableOtherExtensions || disableExtensionFlagIndex !== -1) {
|
28
38
|
userArgs.push(`${DISABLE_OTHER_EXTENSIONS_FLAG}=${constants_1.PATH_TO_EXTENSION}`);
|
29
39
|
}
|
30
40
|
return userArgs;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mergeChromeArgs.js","sourceRoot":"","sources":["../../src/utils/mergeChromeArgs.ts"],"names":[],"mappings":";;AAAA,2CAA+C;AAG/C,MAAM,6BAA6B,GAAG,6BAA6B,CAAA;AACnE,MAAM,mBAAmB,GAAG,kBAAkB,CAAA;
|
1
|
+
{"version":3,"file":"mergeChromeArgs.js","sourceRoot":"","sources":["../../src/utils/mergeChromeArgs.ts"],"names":[],"mappings":";;AAAA,2CAA+C;AAG/C,MAAM,6BAA6B,GAAG,6BAA6B,CAAA;AACnE,MAAM,mBAAmB,GAAG,kBAAkB,CAAA;AAC9C,MAAM,uBAAuB,GAAG,sBAAsB,CAAA;AAWtD,SAAS,eAAe,CACtB,QAAkB,EAClB,EACE,sBAAsB,EAGvB;IASD,IAAI,sBAAsB,GAAG,CAAC,CAAC,CAAA;IAC/B,IAAI,gCAAgC,GAAG,CAAC,CAAC,CAAA;IACzC,IAAI,yBAAyB,GAAG,CAAC,CAAC,CAAA;IAWlC,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,MAAM,gBAAgB,GACpB,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QACrE,MAAM,0BAA0B,GAC9B,GAAG,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YAC3C,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAA;QAC3C,MAAM,oBAAoB,GACxB,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACpC,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YACrC,CAAC,0BAA0B,CAAA;QAE7B,IAAI,gBAAgB,EAAE,CAAC;YACrB,sBAAsB,GAAG,KAAK,CAAA;QAChC,CAAC;QAED,IAAI,0BAA0B,EAAE,CAAC;YAC/B,gCAAgC,GAAG,KAAK,CAAA;QAC1C,CAAC;QAED,IAAI,oBAAoB,EAAE,CAAC;YACzB,yBAAyB,GAAG,KAAK,CAAA;QACnC,CAAC;IACH,CAAC;IAID,IAAI,sBAAsB,KAAK,CAAC,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,IAAI,6BAAiB,EAAE,CAAA;IAC7D,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,GAAG,mBAAmB,IAAI,6BAAiB,EAAE,CAAC,CAAA;IAC9D,CAAC;IAID,IAAI,gCAAgC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC5C,QAAQ,CAAC,gCAAgC,CAAC,IAAI,IAAI,6BAAiB,EAAE,CAAA;IAiBvE,CAAC;SAAM,IAAI,sBAAsB,IAAI,yBAAyB,KAAK,CAAC,CAAC,EAAE,CAAC;QACtE,QAAQ,CAAC,IAAI,CAAC,GAAG,6BAA6B,IAAI,6BAAiB,EAAE,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,kBAAe,eAAe,CAAA"}
|
@@ -11,16 +11,16 @@ function validateHeadlessPlaywright({ isPlaywrightTest, playwrightConfig }) {
|
|
11
11
|
if (playwrightConfig.headless) {
|
12
12
|
throw new headlessNotSupportedError_1.HeadlessNotSupportedError(preHeadlessChangeMessage());
|
13
13
|
}
|
14
|
+
validatePlaywrightChannel(playwrightConfig.channel);
|
14
15
|
return;
|
15
16
|
}
|
16
17
|
if (playwrightConfig.headless === undefined) {
|
17
18
|
throw new newHeadlessPlaywrightNotSupportedError_1.HeadlessPlaywrightNotSupportedError('@axe-core/watcher is not supported in chromium-headless-shell mode.');
|
18
19
|
}
|
19
|
-
|
20
|
-
const isChromeChannel = playwrightConfig.channel === 'chrome';
|
21
|
-
if (playwrightConfig.headless && !(isChromiumChannel || isChromeChannel)) {
|
20
|
+
if (playwrightConfig.headless && !playwrightConfig.channel) {
|
22
21
|
throw new newHeadlessPlaywrightNotSupportedError_1.HeadlessPlaywrightNotSupportedError('@axe-core/watcher requires either fully headed mode or new headless mode.');
|
23
22
|
}
|
23
|
+
validatePlaywrightChannel(playwrightConfig.channel);
|
24
24
|
}
|
25
25
|
catch (error) {
|
26
26
|
if (error instanceof headlessNotSupportedError_1.HeadlessNotSupportedError ||
|
@@ -32,5 +32,11 @@ function validateHeadlessPlaywright({ isPlaywrightTest, playwrightConfig }) {
|
|
32
32
|
}
|
33
33
|
}
|
34
34
|
}
|
35
|
+
function validatePlaywrightChannel(channel) {
|
36
|
+
const SUPPORTED_CHANNELS = ['chromium', 'chrome'];
|
37
|
+
if (channel && !SUPPORTED_CHANNELS.includes(channel)) {
|
38
|
+
throw new newHeadlessPlaywrightNotSupportedError_1.HeadlessPlaywrightNotSupportedError('@axe-core/watcher requires either fully headed mode or new headless mode.');
|
39
|
+
}
|
40
|
+
}
|
35
41
|
exports.default = validateHeadlessPlaywright;
|
36
42
|
//# sourceMappingURL=validateHeadlessPlaywright.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"validateHeadlessPlaywright.js","sourceRoot":"","sources":["../../src/utils/validateHeadlessPlaywright.ts"],"names":[],"mappings":";;AACA,2EAAuE;AACvE,qGAA8F;AAO9F,SAAS,0BAA0B,CAAC,EAClC,gBAAgB,EAChB,gBAAgB,EACiB;IACjC,MAAM,wBAAwB,GAAG,GAAW,EAAE,CAC5C,OAAO,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,sGAAsG,CAAA;IAMnK,IAAI,CAAC;QACH,MAAM,qBAAqB,GAEzB,OAAO,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAA;QACjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAGjE,CAAA;QAGD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YAC/B,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,qDAAyB,CAAC,wBAAwB,EAAE,CAAC,CAAA;YACjE,CAAC;
|
1
|
+
{"version":3,"file":"validateHeadlessPlaywright.js","sourceRoot":"","sources":["../../src/utils/validateHeadlessPlaywright.ts"],"names":[],"mappings":";;AACA,2EAAuE;AACvE,qGAA8F;AAO9F,SAAS,0BAA0B,CAAC,EAClC,gBAAgB,EAChB,gBAAgB,EACiB;IACjC,MAAM,wBAAwB,GAAG,GAAW,EAAE,CAC5C,OAAO,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,sGAAsG,CAAA;IAMnK,IAAI,CAAC;QACH,MAAM,qBAAqB,GAEzB,OAAO,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAA;QACjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAGjE,CAAA;QAGD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YAC/B,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,qDAAyB,CAAC,wBAAwB,EAAE,CAAC,CAAA;YACjE,CAAC;YAGD,yBAAyB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;YAEnD,OAAM;QACR,CAAC;QAGD,IAAI,gBAAgB,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,4EAAmC,CAC3C,qEAAqE,CACtE,CAAA;QACH,CAAC;QAGD,IAAI,gBAAgB,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC3D,MAAM,IAAI,4EAAmC,CAC3C,2EAA2E,CAC5E,CAAA;QACH,CAAC;QAID,yBAAyB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,qDAAyB;YAC1C,KAAK,YAAY,4EAAmC,EACpD,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;QAID,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,qDAAyB,CAAC,wBAAwB,EAAE,CAAC,CAAA;QACjE,CAAC;IACH,CAAC;AACH,CAAC;AAGD,SAAS,yBAAyB,CAAC,OAA2B;IAC5D,MAAM,kBAAkB,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAEjD,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,4EAAmC,CAC3C,2EAA2E,CAC5E,CAAA;IACH,CAAC;AACH,CAAC;AAED,kBAAe,0BAA0B,CAAA"}
|
@@ -1,7 +1,9 @@
|
|
1
|
-
interface WriteManifestParams {
|
2
|
-
all_frames
|
3
|
-
exclude_globs
|
1
|
+
export interface WriteManifestParams {
|
2
|
+
all_frames?: boolean;
|
3
|
+
exclude_globs?: string[];
|
4
|
+
js?: string[];
|
5
|
+
resources?: string[];
|
4
6
|
}
|
5
7
|
/** Update the extension manifest file. */
|
6
|
-
declare function writeManifest({ all_frames, exclude_globs }: WriteManifestParams): void;
|
8
|
+
declare function writeManifest({ all_frames, exclude_globs, resources, js }: WriteManifestParams): void;
|
7
9
|
export default writeManifest;
|
@@ -6,11 +6,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const path_1 = __importDefault(require("path"));
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
8
8
|
const constants_1 = require("./constants");
|
9
|
-
function writeManifest({ all_frames, exclude_globs }) {
|
9
|
+
function writeManifest({ all_frames, exclude_globs, resources, js }) {
|
10
10
|
const manifestPath = path_1.default.join(constants_1.PATH_TO_EXTENSION, 'manifest.json');
|
11
11
|
const manifest = JSON.parse(fs_1.default.readFileSync(manifestPath, 'utf-8'));
|
12
|
-
|
13
|
-
|
12
|
+
if (all_frames) {
|
13
|
+
manifest.content_scripts[0].all_frames = all_frames;
|
14
|
+
}
|
15
|
+
if (exclude_globs) {
|
16
|
+
manifest.content_scripts[0].exclude_globs = exclude_globs;
|
17
|
+
}
|
18
|
+
if (resources && resources.length) {
|
19
|
+
manifest.web_accessible_resources[0].resources = resources;
|
20
|
+
}
|
21
|
+
if (js && js.length) {
|
22
|
+
manifest.content_scripts[0].js = js;
|
23
|
+
}
|
14
24
|
fs_1.default.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2));
|
15
25
|
}
|
16
26
|
exports.default = writeManifest;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"writeExtensionManifest.js","sourceRoot":"","sources":["../../src/utils/writeExtensionManifest.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,4CAAmB;AACnB,2CAA+C;
|
1
|
+
{"version":3,"file":"writeExtensionManifest.js","sourceRoot":"","sources":["../../src/utils/writeExtensionManifest.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,4CAAmB;AACnB,2CAA+C;AAU/C,SAAS,aAAa,CAAC,EACrB,UAAU,EACV,aAAa,EACb,SAAS,EACT,EAAE,EACkB;IACpB,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,6BAAiB,EAAE,eAAe,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;IAEnE,IAAI,UAAU,EAAE,CAAC;QACf,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAA;IACrD,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,aAAa,CAAA;IAC3D,CAAC;IACD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QAClC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5D,CAAC;IAED,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACpB,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAA;IACrC,CAAC;IAED,YAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AACnE,CAAC;AAED,kBAAe,aAAa,CAAA"}
|
@@ -12,8 +12,9 @@ export interface GitData {
|
|
12
12
|
git_url?: string | null;
|
13
13
|
git_is_dirty?: boolean;
|
14
14
|
}
|
15
|
+
type AccessibilityStandard = 'All' | 'WCAG 2.2 AAA' | 'WCAG 2.2 AA' | 'WCAG 2.2 A' | 'WCAG 2.1 AAA' | 'WCAG 2.1 AA' | 'WCAG 2.1 A' | 'WCAG 2.0 AAA' | 'WCAG 2.0 AA' | 'WCAG 2.0 A' | 'Trusted Tester v5' | 'EN-301-549';
|
15
16
|
export interface ConfigurationOverrides {
|
16
|
-
accessibilityStandard?:
|
17
|
+
accessibilityStandard?: AccessibilityStandard;
|
17
18
|
axeCoreVersion?: string;
|
18
19
|
bestPractices?: boolean;
|
19
20
|
experimentalRules?: boolean;
|
@@ -49,6 +50,7 @@ interface AxeConfiguration {
|
|
49
50
|
* - `runOnly`: Limit which rules are executed, based on names or tags
|
50
51
|
* - `ancestry`: Return CSS selector for elements, with all the element's ancestors
|
51
52
|
*
|
53
|
+
* @remarks For advanced usage only. Consider using `configurationOverrides` for most cases.
|
52
54
|
* @see https://www.deque.com/axe/core-documentation/api-documentation/#options-parameter
|
53
55
|
*/
|
54
56
|
runOptions?: RunOptions;
|
@@ -78,6 +80,19 @@ interface AxeConfiguration {
|
|
78
80
|
/** Whether to take and send screenshots to the perf endpoint */
|
79
81
|
/** Run experimental advanced rules */
|
80
82
|
timeout?: Timeouts;
|
83
|
+
/**
|
84
|
+
* Allows a user to override org-wide settings configured in axe Account
|
85
|
+
* @example
|
86
|
+
* ```js
|
87
|
+
* configurationOverrides: {
|
88
|
+
* accessibilityStandard: 'WCAG 2.2 AAA',
|
89
|
+
* axeCoreVersion: '4.10.2',
|
90
|
+
* bestPractices: true,
|
91
|
+
* experimentalRules: false
|
92
|
+
* }
|
93
|
+
* ```
|
94
|
+
*/
|
95
|
+
configurationOverrides?: ConfigurationOverrides;
|
81
96
|
}
|
82
97
|
export interface Configuration {
|
83
98
|
axe: AxeConfiguration;
|
@@ -88,12 +103,6 @@ interface WriteVariablesParams extends AxeConfiguration {
|
|
88
103
|
isWdioTestrunner?: boolean;
|
89
104
|
takeScreenshots?: boolean;
|
90
105
|
experimentalAdvancedRules?: boolean;
|
91
|
-
/**
|
92
|
-
* This is not currently part of the public API and will not work in production.
|
93
|
-
* Until fully released, it is intended for internal use only.
|
94
|
-
* Configuration overrides for axe-core.
|
95
|
-
*/
|
96
|
-
configurationOverrides?: ConfigurationOverrides;
|
97
106
|
}
|
98
107
|
/** variables.json shape. */
|
99
108
|
export interface Variables {
|