@axe-core/watcher 4.5.0 → 4.5.1-next.02b1b3eb
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/EXTENSION-LICENSES-3RD-PARTY.md +2 -2
- package/dist/Controller.js.map +1 -1
- package/dist/cypress/cypress.js +3 -2
- package/dist/cypress/cypress.js.map +1 -1
- package/dist/cypressCommands.js +4 -10
- package/dist/cypressCommands.js.map +1 -1
- package/dist/utils/assertVariablesWereWritten.d.ts +1 -1
- package/dist/utils/assertVariablesWereWritten.js +8 -7
- package/dist/utils/assertVariablesWereWritten.js.map +1 -1
- package/dist/utils/mergeChromeArgs.js +6 -5
- package/dist/utils/mergeChromeArgs.js.map +1 -1
- package/dist/utils/normalizeAllowedOrigins.d.ts +13 -0
- package/dist/utils/normalizeAllowedOrigins.js +49 -0
- package/dist/utils/normalizeAllowedOrigins.js.map +1 -0
- package/dist/utils/readVariables.js +3 -2
- package/dist/utils/readVariables.js.map +1 -1
- package/dist/utils/runExtensionDir.d.ts +43 -0
- package/dist/utils/runExtensionDir.js +86 -0
- package/dist/utils/runExtensionDir.js.map +1 -0
- package/dist/utils/sync-fetch.js +1 -0
- package/dist/utils/sync-fetch.js.map +1 -1
- package/dist/utils/test-constants.d.ts +1 -0
- package/dist/utils/test-constants.js +1 -0
- package/dist/utils/test-constants.js.map +1 -1
- package/dist/utils/writeExtensionManifest.js +2 -2
- package/dist/utils/writeExtensionManifest.js.map +1 -1
- package/dist/utils/writeVariables.d.ts +43 -1
- package/dist/utils/writeVariables.js +25 -2
- package/dist/utils/writeVariables.js.map +1 -1
- package/extension/axe-versions/axe-core@4.13.0/axe.min.js +12 -0
- package/extension/axe-versions/axe-core@4.13.0/gather-internals.js +219 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/README.md +9 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/_template.json +1157 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/da.json +799 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/de.json +1127 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/el.json +1069 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/es.json +790 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/eu.json +789 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/fr.json +994 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/he.json +1017 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/it.json +1108 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/ja.json +1128 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/ko.json +1003 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/nb.json +799 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/nl.json +48 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/pl.json +1109 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/pt_BR.json +970 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/pt_PT.json +1123 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/ru.json +1127 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/sv.json +1147 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/zh_CN.json +1116 -0
- package/extension/axe-versions/axe-core@4.13.0/locales/zh_TW.json +1108 -0
- package/extension/axe-versions-mapper.js +2 -0
- package/extension/axe.js +1 -1
- package/extension/axe.js.LICENSE.txt +1 -1
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/extension/gather-internals.js +1 -1
- package/package.json +15 -19
|
@@ -5,9 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const path_1 = __importDefault(require("path"));
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
const
|
|
8
|
+
const runExtensionDir_1 = require("./runExtensionDir");
|
|
9
9
|
function writeManifest({ all_frames, exclude_globs, resources, js }) {
|
|
10
|
-
const manifestPath = path_1.default.join(
|
|
10
|
+
const manifestPath = path_1.default.join((0, runExtensionDir_1.ensureRunExtensionDir)(), 'manifest.json');
|
|
11
11
|
const manifest = JSON.parse(fs_1.default.readFileSync(manifestPath, 'utf-8'));
|
|
12
12
|
if (all_frames) {
|
|
13
13
|
manifest.content_scripts[0].all_frames = all_frames;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeExtensionManifest.js","sourceRoot":"","sources":["../../src/utils/writeExtensionManifest.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,4CAAmB;AACnB,
|
|
1
|
+
{"version":3,"file":"writeExtensionManifest.js","sourceRoot":"","sources":["../../src/utils/writeExtensionManifest.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,4CAAmB;AACnB,uDAAyD;AAUzD,SAAS,aAAa,CAAC,EACrB,UAAU,EACV,aAAa,EACb,SAAS,EACT,EAAE,EACkB;IAGpB,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,IAAA,uCAAqB,GAAE,EAAE,eAAe,CAAC,CAAA;IACxE,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"}
|
|
@@ -85,6 +85,47 @@ interface AxeConfiguration {
|
|
|
85
85
|
* ```
|
|
86
86
|
*/
|
|
87
87
|
excludeUrlPatterns?: string[];
|
|
88
|
+
/**
|
|
89
|
+
* Opt in to scanning cross-origin `<iframe>`s by listing the origins you want
|
|
90
|
+
* scanned. Same-origin iframes are always scanned; cross-origin iframes are
|
|
91
|
+
* skipped unless their origin appears here.
|
|
92
|
+
*
|
|
93
|
+
* Wildcards are not supported — every origin must be named explicitly, so
|
|
94
|
+
* page content is only ever shared with frames you listed.
|
|
95
|
+
*
|
|
96
|
+
* Every origin you list can be driven by, and return this document's markup
|
|
97
|
+
* to, any frame that directly embeds it and is itself either the top-level
|
|
98
|
+
* page or another origin you listed. List only embeds you trust jointly.
|
|
99
|
+
*
|
|
100
|
+
* This is axe-core's `allowedOrigins`, with two differences. Your own origin
|
|
101
|
+
* is always allowed, so you only list the embedded origins you want covered
|
|
102
|
+
* (axe-core replaces its list wholesale, and requiring you to re-list your own
|
|
103
|
+
* origin would mean re-stating a URL that changes between local, CI and
|
|
104
|
+
* staging). And `<unsafe_all_origins>` is rejected rather than honoured, since
|
|
105
|
+
* an allowlist you cannot enumerate is not an allowlist. `<same_origin>` is
|
|
106
|
+
* accepted but redundant.
|
|
107
|
+
*
|
|
108
|
+
* Scan time grows with every frame you add: each contributes its whole DOM,
|
|
109
|
+
* and the child payload is stringified, posted, parsed and merged serially on
|
|
110
|
+
* the parent's main thread. Measured at roughly +330ms per 300-row frame
|
|
111
|
+
* against a 1550ms baseline — about +21% for one frame, +65% for three — and
|
|
112
|
+
* with `autoAnalyze` that cost recurs on every wrapped interaction, so a
|
|
113
|
+
* 200-interaction suite with three frames adds minutes of wall clock. Scope
|
|
114
|
+
* the list to the embeds you actually need covered.
|
|
115
|
+
*
|
|
116
|
+
* Note that auto-analysis cannot see changes made *inside* a frame — the
|
|
117
|
+
* watcher's DOM observer only runs in the top frame, and a `MutationObserver`
|
|
118
|
+
* cannot observe a child document. An allowlisted frame is therefore scanned as
|
|
119
|
+
* of the last change to the top document. After interacting inside a frame,
|
|
120
|
+
* call `controller.analyze()` to capture the resulting state.
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```js
|
|
124
|
+
* allowedOrigins: ['https://pay.example.com']
|
|
125
|
+
* allowedOrigins: ['https://pay.example.com', 'https://docs.example.com']
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
allowedOrigins?: string[];
|
|
88
129
|
/**
|
|
89
130
|
* A unique identifier for the build or test run. This is useful for:
|
|
90
131
|
*
|
|
@@ -193,9 +234,10 @@ export interface Variables {
|
|
|
193
234
|
experimental_advanced_rules?: boolean;
|
|
194
235
|
element_internals?: boolean;
|
|
195
236
|
exclude_url_patterns: string[] | null;
|
|
237
|
+
allowed_origins: string[] | null;
|
|
196
238
|
axe_core_settings?: AxeCoreSettings | null;
|
|
197
239
|
timeout: Required<Timeouts>;
|
|
198
240
|
}
|
|
199
241
|
/** Write the user's settings to the disk, so the extension can load them. */
|
|
200
|
-
declare function writeVariables({ apiKey, autoAnalyze, configurationOverrides, cypress, isPlaywrightTest, isWdioTestrunner, serverURL, sessionId, runContext, runOptions, excludeUrlPatterns, buildID, timeout, takeScreenshots, screenshotDir, experimentalAdvancedRules, elementInternals, projectId, git: gitConfig }: WriteVariablesParams): void;
|
|
242
|
+
declare function writeVariables({ apiKey, autoAnalyze, configurationOverrides, cypress, isPlaywrightTest, isWdioTestrunner, serverURL, sessionId, runContext, runOptions, excludeUrlPatterns, allowedOrigins, buildID, timeout, takeScreenshots, screenshotDir, experimentalAdvancedRules, elementInternals, projectId, git: gitConfig }: WriteVariablesParams): void;
|
|
201
243
|
export default writeVariables;
|
|
@@ -38,14 +38,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
const git = __importStar(require("../git"));
|
|
40
40
|
const fs_1 = __importDefault(require("fs"));
|
|
41
|
+
const path_1 = __importDefault(require("path"));
|
|
41
42
|
const constants_1 = require("./constants");
|
|
42
43
|
const constantsNode_1 = require("./constantsNode");
|
|
44
|
+
const runExtensionDir_1 = require("./runExtensionDir");
|
|
43
45
|
const getBundledAxeCoreVersions_1 = require("./getBundledAxeCoreVersions");
|
|
44
46
|
const validateAxeRunOptions_1 = require("./validateAxeRunOptions");
|
|
45
47
|
const createDebugger_1 = __importDefault(require("../createDebugger"));
|
|
46
48
|
const initializeSession_1 = __importDefault(require("./initializeSession"));
|
|
47
49
|
const validateAxeRunContext_1 = require("./validateAxeRunContext");
|
|
48
50
|
const isValidExcludePattern_1 = __importDefault(require("./isValidExcludePattern"));
|
|
51
|
+
const normalizeAllowedOrigins_1 = __importDefault(require("./normalizeAllowedOrigins"));
|
|
49
52
|
const writeExtensionManifest_1 = __importDefault(require("./writeExtensionManifest"));
|
|
50
53
|
const isCI_1 = require("./isCI");
|
|
51
54
|
const debugLogger = (0, createDebugger_1.default)('config:writeVariables');
|
|
@@ -71,7 +74,17 @@ const DEFAULT_TIMEOUT = {
|
|
|
71
74
|
analyze: 5000,
|
|
72
75
|
flush: 5000
|
|
73
76
|
};
|
|
74
|
-
function
|
|
77
|
+
function crossOriginTimeouts(allowed) {
|
|
78
|
+
if (!allowed?.length) {
|
|
79
|
+
return {};
|
|
80
|
+
}
|
|
81
|
+
const scanBound = 10000;
|
|
82
|
+
return {
|
|
83
|
+
analyze: Math.max(DEFAULT_TIMEOUT.analyze, scanBound),
|
|
84
|
+
flush: Math.max(DEFAULT_TIMEOUT.flush, scanBound)
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
function writeVariables({ apiKey, autoAnalyze, configurationOverrides, cypress, isPlaywrightTest, isWdioTestrunner, serverURL, sessionId, runContext, runOptions, excludeUrlPatterns, allowedOrigins, buildID, timeout = {}, takeScreenshots, screenshotDir, experimentalAdvancedRules, elementInternals, projectId, git: gitConfig }) {
|
|
75
88
|
const screenshotsEnabled = !!takeScreenshots;
|
|
76
89
|
debugLogger('Received configuration:', {
|
|
77
90
|
apiKey: '<redacted>',
|
|
@@ -82,6 +95,7 @@ function writeVariables({ apiKey, autoAnalyze, configurationOverrides, cypress,
|
|
|
82
95
|
...(runOptions !== undefined && { runOptions }),
|
|
83
96
|
...(configurationOverrides !== undefined && { configurationOverrides }),
|
|
84
97
|
...(excludeUrlPatterns !== undefined && { excludeUrlPatterns }),
|
|
98
|
+
...(allowedOrigins !== undefined && { allowedOrigins }),
|
|
85
99
|
...(buildID !== undefined && { buildID }),
|
|
86
100
|
...(projectId !== undefined && { projectId }),
|
|
87
101
|
...(gitConfig !== undefined && { git: gitConfig }),
|
|
@@ -109,6 +123,12 @@ function writeVariables({ apiKey, autoAnalyze, configurationOverrides, cypress,
|
|
|
109
123
|
(0, validateAxeRunOptions_1.validateAxeRunOptions)(runOptions);
|
|
110
124
|
debugLogger('Validated runOptions:', runOptions);
|
|
111
125
|
}
|
|
126
|
+
let normalizedCrossOrigins = null;
|
|
127
|
+
if (allowedOrigins !== undefined) {
|
|
128
|
+
const normalized = (0, normalizeAllowedOrigins_1.default)(allowedOrigins);
|
|
129
|
+
normalizedCrossOrigins = normalized.length ? normalized : null;
|
|
130
|
+
debugLogger('Validated allowedOrigins:', normalizedCrossOrigins);
|
|
131
|
+
}
|
|
112
132
|
if (configurationOverrides) {
|
|
113
133
|
debugLogger('configurationOverrides:', configurationOverrides);
|
|
114
134
|
const hasInvalidAccessibilityStandard = configurationOverrides.accessibilityStandard &&
|
|
@@ -206,13 +226,16 @@ function writeVariables({ apiKey, autoAnalyze, configurationOverrides, cypress,
|
|
|
206
226
|
run_options: runOptions || null,
|
|
207
227
|
git_data: gitData,
|
|
208
228
|
exclude_url_patterns: excludeUrlPatterns || null,
|
|
229
|
+
allowed_origins: normalizedCrossOrigins,
|
|
209
230
|
axe_core_settings: axe_core_settings || null,
|
|
210
231
|
timeout: {
|
|
211
232
|
...DEFAULT_TIMEOUT,
|
|
233
|
+
...crossOriginTimeouts(normalizedCrossOrigins),
|
|
212
234
|
...timeout
|
|
213
235
|
}
|
|
214
236
|
};
|
|
215
|
-
|
|
237
|
+
const extensionDir = (0, runExtensionDir_1.ensureRunExtensionDir)();
|
|
238
|
+
fs_1.default.writeFileSync(path_1.default.join(extensionDir, 'variables.json'), JSON.stringify(variables));
|
|
216
239
|
if (axe_core_settings?.axe_core_version) {
|
|
217
240
|
(0, writeExtensionManifest_1.default)({
|
|
218
241
|
js: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeVariables.js","sourceRoot":"","sources":["../../src/utils/writeVariables.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4CAA6B;AAC7B,4CAAmB;AACnB,2CAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"writeVariables.js","sourceRoot":"","sources":["../../src/utils/writeVariables.ts"],"names":[],"mappings":"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"}
|