@axe-core/watcher 3.23.0-next.a168ffff → 3.23.0-next.a6256b7c

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.
Files changed (57) hide show
  1. package/dist/Controller.d.ts +0 -1
  2. package/dist/Controller.js +0 -7
  3. package/dist/Controller.js.map +1 -1
  4. package/dist/cypress/cypress.js +4 -11
  5. package/dist/cypress/cypress.js.map +1 -1
  6. package/dist/playwright/playwright.d.ts +8 -3
  7. package/dist/playwright/playwright.js.map +1 -1
  8. package/dist/sendResultsToServer.d.ts +3 -0
  9. package/dist/sendResultsToServer.js +31 -17
  10. package/dist/sendResultsToServer.js.map +1 -1
  11. package/dist/utils/initializeSession.d.ts +2 -1
  12. package/dist/utils/initializeSession.js +18 -9
  13. package/dist/utils/initializeSession.js.map +1 -1
  14. package/dist/utils/isCI.d.ts +1 -0
  15. package/dist/utils/isCI.js +11 -0
  16. package/dist/utils/isCI.js.map +1 -0
  17. package/dist/utils/shouldUseEnvProxy.d.ts +5 -0
  18. package/dist/utils/shouldUseEnvProxy.js +24 -0
  19. package/dist/utils/shouldUseEnvProxy.js.map +1 -0
  20. package/dist/utils/sync-fetch-worker.mjs +169 -0
  21. package/dist/utils/sync-fetch.d.ts +11 -0
  22. package/dist/utils/sync-fetch.js +80 -0
  23. package/dist/utils/sync-fetch.js.map +1 -0
  24. package/dist/utils/test-constants.d.ts +14 -0
  25. package/dist/utils/test-constants.js +12 -0
  26. package/dist/utils/test-constants.js.map +1 -0
  27. package/dist/utils/writeVariables.d.ts +5 -0
  28. package/dist/utils/writeVariables.js +5 -5
  29. package/dist/utils/writeVariables.js.map +1 -1
  30. package/extension/axe-versions/axe-core@4.11.0/axe.min.js +12 -0
  31. package/extension/axe-versions/axe-core@4.11.0/locales/README.md +9 -0
  32. package/extension/axe-versions/axe-core@4.11.0/locales/_template.json +1131 -0
  33. package/extension/axe-versions/axe-core@4.11.0/locales/da.json +799 -0
  34. package/extension/axe-versions/axe-core@4.11.0/locales/de.json +1127 -0
  35. package/extension/axe-versions/axe-core@4.11.0/locales/el.json +1069 -0
  36. package/extension/axe-versions/axe-core@4.11.0/locales/es.json +790 -0
  37. package/extension/axe-versions/axe-core@4.11.0/locales/eu.json +789 -0
  38. package/extension/axe-versions/axe-core@4.11.0/locales/fr.json +994 -0
  39. package/extension/axe-versions/axe-core@4.11.0/locales/he.json +1017 -0
  40. package/extension/axe-versions/axe-core@4.11.0/locales/it.json +1108 -0
  41. package/extension/axe-versions/axe-core@4.11.0/locales/ja.json +1127 -0
  42. package/extension/axe-versions/axe-core@4.11.0/locales/ko.json +1003 -0
  43. package/extension/axe-versions/axe-core@4.11.0/locales/nl.json +48 -0
  44. package/extension/axe-versions/axe-core@4.11.0/locales/no_NB.json +799 -0
  45. package/extension/axe-versions/axe-core@4.11.0/locales/pl.json +1109 -0
  46. package/extension/axe-versions/axe-core@4.11.0/locales/pt_BR.json +970 -0
  47. package/extension/axe-versions/axe-core@4.11.0/locales/pt_PT.json +1123 -0
  48. package/extension/axe-versions/axe-core@4.11.0/locales/ru.json +1127 -0
  49. package/extension/axe-versions/axe-core@4.11.0/locales/zh_CN.json +1116 -0
  50. package/extension/axe-versions/axe-core@4.11.0/locales/zh_TW.json +1108 -0
  51. package/extension/axe-versions-mapper.js +2 -0
  52. package/extension/background.js +1 -1
  53. package/extension/content.js +1 -1
  54. package/package.json +8 -9
  55. package/dist/shared/strings.d.ts +0 -1
  56. package/dist/shared/strings.js +0 -5
  57. package/dist/shared/strings.js.map +0 -1
@@ -0,0 +1,169 @@
1
+ /**
2
+ * This is implemented as an mjs file explicitly since it
3
+ * needs to be loaded as a worker thread. It can't be
4
+ * TypeScript for unit testing reasons. It also can't be
5
+ * TS in production since Node 20 does not have type stripping.
6
+ */
7
+
8
+ import { isMainThread, workerData } from 'node:worker_threads'
9
+ import { EnvHttpProxyAgent, getGlobalDispatcher } from 'undici'
10
+
11
+ if (isMainThread) {
12
+ throw new Error('This script should only be run as a worker thread')
13
+ }
14
+
15
+ /**
16
+ * The core Error type used when this worker fails.
17
+ * It is the only error to exit the message bus.
18
+ * Any other errors are causes of this one.
19
+ */
20
+ class FetchWorkerError extends Error {
21
+ constructor(context) {
22
+ super('FetchWorkerError')
23
+ this.name = 'FetchWorkerError'
24
+ this.context = context
25
+ }
26
+ }
27
+
28
+ /**
29
+ * A specific error used when we encounter an error that
30
+ * can not be serialized.
31
+ */
32
+ class OverrideError extends Error {
33
+ constructor(message, sourceName) {
34
+ super(message)
35
+ this.name = 'OverrideError'
36
+ this.sourceName = sourceName
37
+ }
38
+ }
39
+
40
+ /**
41
+ * Attempt to sanitize a URL by redacting sensitive information.
42
+ * If the URL cannot be parsed, it is returned as-is.
43
+ *
44
+ * @internal
45
+ *
46
+ * @param {string} url - The URL to sanitize.
47
+ *
48
+ * @returns {string} The sanitized URL with sensitive information redacted.
49
+ */
50
+ const sanitizeUrl = url => {
51
+ try {
52
+ const parsedUrl = new URL(url)
53
+
54
+ if (parsedUrl.username !== '') {
55
+ parsedUrl.username = 'REDACTED'
56
+ }
57
+ if (parsedUrl.password !== '') {
58
+ parsedUrl.password = 'REDACTED'
59
+ }
60
+
61
+ return parsedUrl.toString()
62
+ } catch {
63
+ return url
64
+ }
65
+ }
66
+
67
+ /**
68
+ * Tested source in ./shouldUseEnvProxy.ts
69
+ * This has to be duplicated since we can't import here and
70
+ * it is ran in a worker thread. Once Node 22+ is our
71
+ * minimum, we can convert this file to TS since that has
72
+ * erasable types.
73
+ */
74
+ const shouldUseEnvProxy = function () {
75
+ const envVars = [
76
+ 'NODE_USE_ENV_PROXY',
77
+ 'AXE_WATCHER_USE_ENV_PROXY',
78
+ 'AXE_USE_ENV_PROXY'
79
+ ]
80
+
81
+ for (const envVar of envVars) {
82
+ const value = process.env[envVar.toLowerCase()] ?? process.env[envVar]
83
+
84
+ if (value !== undefined) {
85
+ if (value === '0') {
86
+ return false
87
+ }
88
+ if (value !== '') {
89
+ return true
90
+ }
91
+ }
92
+ }
93
+
94
+ return false
95
+ }
96
+
97
+ /**
98
+ * @typedef {Object} WorkerData
99
+ * @property {string} url - The URL to fetch.
100
+ * @property {Object} options - The fetch options.
101
+ * @property {number} timeout - The timeout in milliseconds.
102
+ * @property {MessagePort} port - The message port for communication.
103
+ */
104
+ const { url, options, timeout, port } = workerData
105
+
106
+ try {
107
+ let dispatcher = getGlobalDispatcher()
108
+
109
+ if (shouldUseEnvProxy()) {
110
+ dispatcher = new EnvHttpProxyAgent()
111
+ }
112
+
113
+ const response = await fetch(url, {
114
+ ...options,
115
+ dispatcher,
116
+ signal: AbortSignal.timeout(timeout)
117
+ })
118
+
119
+ const contentType = response.headers.get('Content-Type')
120
+ const isResponseJson = contentType?.startsWith('application/json') ?? false
121
+ const body = isResponseJson ? await response.json() : await response.text()
122
+
123
+ const responseData = {
124
+ status: response.status,
125
+ statusText: response.statusText,
126
+ // Headers can't be serialized directly
127
+ headers: Object.fromEntries(response.headers.entries()),
128
+ body,
129
+ ok: response.ok
130
+ }
131
+
132
+ port.postMessage({
133
+ data: responseData
134
+ })
135
+ } catch (error) {
136
+ const HTTP_PROXY = process.env.http_proxy || process.env.HTTP_PROXY
137
+ const HTTPS_PROXY = process.env.https_proxy || process.env.HTTPS_PROXY
138
+ const NO_PROXY = process.env.no_proxy || process.env.NO_PROXY
139
+
140
+ const context = {
141
+ url: sanitizeUrl(url),
142
+ env: {
143
+ HTTP_PROXY: HTTP_PROXY ? sanitizeUrl(HTTP_PROXY) : undefined,
144
+ HTTPS_PROXY: HTTPS_PROXY ? sanitizeUrl(HTTPS_PROXY) : undefined,
145
+ NO_PROXY,
146
+ NODE_EXTRA_CA_CERTS: process.env.NODE_EXTRA_CA_CERTS,
147
+ NODE_TLS_REJECT_UNAUTHORIZED: process.env.NODE_TLS_REJECT_UNAUTHORIZED
148
+ }
149
+ }
150
+
151
+ const err = new FetchWorkerError(context)
152
+ err.cause = error
153
+
154
+ if (error instanceof DOMException) {
155
+ if (error.name === 'TimeoutError') {
156
+ const timeoutError = new OverrideError(
157
+ `The operation was aborted due to timeout (${timeout}ms)`,
158
+ 'TimeoutError'
159
+ )
160
+ err.cause = timeoutError
161
+ }
162
+ }
163
+
164
+ port.postMessage({
165
+ error: err
166
+ })
167
+ } finally {
168
+ port.close()
169
+ }
@@ -0,0 +1,11 @@
1
+ export interface SyncFetchCustomOptions {
2
+ timeout?: number;
3
+ }
4
+ export interface SyncFetchResponse {
5
+ status: number;
6
+ statusText: string;
7
+ headers: Record<string, string>;
8
+ body: unknown;
9
+ ok: boolean;
10
+ }
11
+ export declare function syncFetch(url: string, options?: RequestInit, customOptions?: SyncFetchCustomOptions): SyncFetchResponse;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.syncFetch = syncFetch;
4
+ const node_worker_threads_1 = require("node:worker_threads");
5
+ const node_path_1 = require("node:path");
6
+ function syncFetch(url, options = {}, customOptions = {
7
+ timeout: 30000
8
+ }) {
9
+ const timeout = customOptions.timeout || 30000;
10
+ const processingBuffer = 3000;
11
+ const mainThreadTimeout = timeout + processingBuffer;
12
+ const { port1, port2 } = new node_worker_threads_1.MessageChannel();
13
+ const sleepBuffer = new SharedArrayBuffer(4);
14
+ const sleepArray = new Int32Array(sleepBuffer);
15
+ const worker = new node_worker_threads_1.Worker((0, node_path_1.join)(__dirname, 'sync-fetch-worker.mjs'), {
16
+ name: 'sync-fetch',
17
+ eval: false,
18
+ workerData: {
19
+ url,
20
+ options,
21
+ timeout,
22
+ port: port2
23
+ },
24
+ transferList: [port2]
25
+ });
26
+ const { startTime } = performance.mark('axe-watcher:sync-fetch:start');
27
+ let message;
28
+ try {
29
+ while (message === undefined) {
30
+ if (performance.now() - startTime > mainThreadTimeout) {
31
+ throw new Error(`Request timed out - worker thread did not respond within ${mainThreadTimeout}ms`);
32
+ }
33
+ Atomics.wait(sleepArray, 0, 0, 5);
34
+ message = (0, node_worker_threads_1.receiveMessageOnPort)(port1);
35
+ }
36
+ const { data, error } = message.message;
37
+ if (error) {
38
+ const syncErr = new Error('Sync Fetch Failed');
39
+ syncErr.cause = error;
40
+ throw syncErr;
41
+ }
42
+ return data;
43
+ }
44
+ finally {
45
+ performance.mark('axe-watcher:sync-fetch:end');
46
+ port1.close();
47
+ worker.terminate();
48
+ const clone = structuredClone(options);
49
+ clone.headers = sanitizeHeaders(clone.headers);
50
+ performance.measure('axe-watcher:sync-fetch', {
51
+ start: 'axe-watcher:sync-fetch:start',
52
+ end: 'axe-watcher:sync-fetch:end',
53
+ detail: {
54
+ url,
55
+ options: clone,
56
+ timeout,
57
+ status: message?.message.type || 'no-response',
58
+ response: {
59
+ status: message?.message.data?.status,
60
+ statusText: message?.message.data?.statusText
61
+ }
62
+ }
63
+ });
64
+ }
65
+ }
66
+ function sanitizeHeaders(headers) {
67
+ if (!headers) {
68
+ return undefined;
69
+ }
70
+ const sanitized = {};
71
+ for (const [key, value] of Object.entries(headers)) {
72
+ if (key.toLowerCase() === 'x-api-key'.toLowerCase()) {
73
+ sanitized[key.toLowerCase()] = 'REDACTED';
74
+ continue;
75
+ }
76
+ sanitized[key.toLowerCase()] = value;
77
+ }
78
+ return sanitized;
79
+ }
80
+ //# sourceMappingURL=sync-fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-fetch.js","sourceRoot":"","sources":["../../src/utils/sync-fetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Session IDs to be shared throughout tests that need to
3
+ * simulate various behaviors of initializing a session.
4
+ * Independently exported so importing from other files
5
+ * doesn't create side effects.
6
+ */
7
+ export declare const specialResponseSessionIds: {
8
+ readonly 'fail-server-error': "fail-server-error";
9
+ readonly 'fail-legacy-errors': "fail-legacy-errors";
10
+ readonly 'fail-timeout': "fail-timeout";
11
+ readonly 'success-project-id-included': "success-project-id-included";
12
+ readonly 'success-project-id-excluded': "success-project-id-excluded";
13
+ readonly 'mock-session-id': "mock-session-id";
14
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.specialResponseSessionIds = void 0;
4
+ exports.specialResponseSessionIds = {
5
+ 'fail-server-error': 'fail-server-error',
6
+ 'fail-legacy-errors': 'fail-legacy-errors',
7
+ 'fail-timeout': 'fail-timeout',
8
+ 'success-project-id-included': 'success-project-id-included',
9
+ 'success-project-id-excluded': 'success-project-id-excluded',
10
+ 'mock-session-id': 'mock-session-id'
11
+ };
12
+ //# sourceMappingURL=test-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-constants.js","sourceRoot":"","sources":["../../src/utils/test-constants.ts"],"names":[],"mappings":";;;AAMa,QAAA,yBAAyB,GAAG;IAEvC,mBAAmB,EAAE,mBAAmB;IACxC,oBAAoB,EAAE,oBAAoB;IAC1C,cAAc,EAAE,cAAc;IAC9B,6BAA6B,EAAE,6BAA6B;IAC5D,6BAA6B,EAAE,6BAA6B;IAC5D,iBAAiB,EAAE,iBAAiB;CAC5B,CAAA"}
@@ -112,6 +112,11 @@ export interface CypressAxeConfiguration extends AxeConfiguration {
112
112
  * Default: 'e2e'
113
113
  */
114
114
  testingTypes?: CypressTestingType | CypressTestingType[];
115
+ /**
116
+ * Associates the test run with a specific project.
117
+ * Should be the UUID provided in your Axe account.
118
+ */
119
+ projectId?: string;
115
120
  }
116
121
  export interface CypressConfiguration {
117
122
  axe: CypressAxeConfiguration;
@@ -46,6 +46,7 @@ const initializeSession_1 = __importDefault(require("./initializeSession"));
46
46
  const validateAxeRunContext_1 = require("./validateAxeRunContext");
47
47
  const isValidExcludePattern_1 = __importDefault(require("./isValidExcludePattern"));
48
48
  const writeExtensionManifest_1 = __importDefault(require("./writeExtensionManifest"));
49
+ const isCI_1 = require("./isCI");
49
50
  const debugLogger = (0, createDebugger_1.default)('config:writeVariables');
50
51
  const { version } = require('../../package.json');
51
52
  const allowedAccessibilityStandards = [
@@ -81,7 +82,6 @@ function writeVariables({ apiKey, autoAnalyze, configurationOverrides, cypress,
81
82
  ...(buildID !== undefined && { buildID }),
82
83
  ...(projectId !== undefined && { projectId })
83
84
  });
84
- const { AXE_WATCHER_PROJECT_ID } = process.env;
85
85
  if (configurationOverrides && runOptions?.runOnly) {
86
86
  throw new Error('You cannot use `configurationOverrides` and `runOptions.runOnly` together. These configuration options are mutually exclusive.');
87
87
  }
@@ -138,12 +138,11 @@ function writeVariables({ apiKey, autoAnalyze, configurationOverrides, cypress,
138
138
  }
139
139
  }
140
140
  }
141
- const isProjectIdFeatureFlagEnabled = AXE_WATCHER_PROJECT_ID && AXE_WATCHER_PROJECT_ID.toLowerCase() === 'true';
142
- if (isProjectIdFeatureFlagEnabled && !projectId) {
141
+ if (!projectId) {
143
142
  console.warn('Warning: `projectId` within axe configuration will become a mandatory field in a future release. Please supply your `projectId` found on your projects page');
144
143
  }
145
144
  debugLogger('Initializing axe Watcher session');
146
- const projectIdValue = isProjectIdFeatureFlagEnabled && projectId ? projectId : null;
145
+ const projectIdValue = projectId || null;
147
146
  const { axe_core_settings, session_id } = (0, initializeSession_1.default)({
148
147
  apiKey,
149
148
  projectId: projectIdValue,
@@ -161,7 +160,8 @@ function writeVariables({ apiKey, autoAnalyze, configurationOverrides, cypress,
161
160
  gitTag: gitData.git_tag || null,
162
161
  gitCommitEmail: gitData.git_commit_email || null,
163
162
  configOverrides: configurationOverrides || null,
164
- runOptions: runOptions || null
163
+ runOptions: runOptions || null,
164
+ isCanonicalSource: (0, isCI_1.isCI)()
165
165
  });
166
166
  if (typeof autoAnalyze === 'undefined') {
167
167
  autoAnalyze = true;
@@ -1 +1 @@
1
- {"version":3,"file":"writeVariables.js","sourceRoot":"","sources":["../../src/utils/writeVariables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writeVariables.js","sourceRoot":"","sources":["../../src/utils/writeVariables.ts"],"names":[],"mappings":"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"}