@axe-core/watcher 4.1.0 → 4.2.0-next.02d1a0ef

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 (123) hide show
  1. package/EXTENSION-LICENSES-3RD-PARTY.md +4 -4
  2. package/dist/Controller.d.ts +23 -0
  3. package/dist/Controller.js +98 -10
  4. package/dist/Controller.js.map +1 -1
  5. package/dist/cypress/cypress.d.ts +2 -1
  6. package/dist/cypress/cypress.js +74 -4
  7. package/dist/cypress/cypress.js.map +1 -1
  8. package/dist/cypressCommands.js +66 -6
  9. package/dist/cypressCommands.js.map +1 -1
  10. package/dist/playwright/playwright.d.ts +1 -0
  11. package/dist/playwright/playwright.js +4 -0
  12. package/dist/playwright/playwright.js.map +1 -1
  13. package/dist/puppeteer/puppeteer.d.ts +1 -0
  14. package/dist/puppeteer/puppeteer.js +3 -0
  15. package/dist/puppeteer/puppeteer.js.map +1 -1
  16. package/dist/sendResultsToServer.d.ts +3 -0
  17. package/dist/sendResultsToServer.js +11 -50
  18. package/dist/sendResultsToServer.js.map +1 -1
  19. package/dist/utils/constants.d.ts +1 -0
  20. package/dist/utils/constants.js +2 -1
  21. package/dist/utils/constants.js.map +1 -1
  22. package/dist/utils/getBundledAxeCoreVersions.d.ts +5 -0
  23. package/dist/utils/getBundledAxeCoreVersions.js +27 -0
  24. package/dist/utils/getBundledAxeCoreVersions.js.map +1 -0
  25. package/dist/utils/initializeSession.d.ts +2 -1
  26. package/dist/utils/initializeSession.js +3 -2
  27. package/dist/utils/initializeSession.js.map +1 -1
  28. package/dist/utils/saveScreenshotsLocally.d.ts +2 -0
  29. package/dist/utils/saveScreenshotsLocally.js +38 -0
  30. package/dist/utils/saveScreenshotsLocally.js.map +1 -0
  31. package/dist/utils/semver.d.ts +2 -0
  32. package/dist/utils/semver.js +13 -0
  33. package/dist/utils/semver.js.map +1 -0
  34. package/dist/utils/sync-fetch-worker.mjs +1 -1
  35. package/dist/utils/test-constants.d.ts +1 -0
  36. package/dist/utils/test-constants.js +1 -0
  37. package/dist/utils/test-constants.js.map +1 -1
  38. package/dist/utils/testContext.d.ts +37 -0
  39. package/dist/utils/testContext.js +57 -0
  40. package/dist/utils/testContext.js.map +1 -0
  41. package/dist/utils/writeVariables.d.ts +46 -6
  42. package/dist/utils/writeVariables.js +38 -17
  43. package/dist/utils/writeVariables.js.map +1 -1
  44. package/dist/wdio/wdio.d.ts +1 -0
  45. package/dist/wdio/wdio.js +3 -0
  46. package/dist/wdio/wdio.js.map +1 -1
  47. package/dist/webdriver/webdriver.d.ts +1 -0
  48. package/dist/webdriver/webdriver.js +3 -0
  49. package/dist/webdriver/webdriver.js.map +1 -1
  50. package/extension/axe-versions/axe-core@4.11.2/axe.min.js +12 -0
  51. package/extension/axe-versions/axe-core@4.11.2/locales/README.md +9 -0
  52. package/extension/axe-versions/axe-core@4.11.2/locales/_template.json +1135 -0
  53. package/extension/axe-versions/axe-core@4.11.2/locales/da.json +799 -0
  54. package/extension/axe-versions/axe-core@4.11.2/locales/de.json +1127 -0
  55. package/extension/axe-versions/axe-core@4.11.2/locales/el.json +1069 -0
  56. package/extension/axe-versions/axe-core@4.11.2/locales/es.json +790 -0
  57. package/extension/axe-versions/axe-core@4.11.2/locales/eu.json +789 -0
  58. package/extension/axe-versions/axe-core@4.11.2/locales/fr.json +994 -0
  59. package/extension/axe-versions/axe-core@4.11.2/locales/he.json +1017 -0
  60. package/extension/axe-versions/axe-core@4.11.2/locales/it.json +1108 -0
  61. package/extension/axe-versions/axe-core@4.11.2/locales/ja.json +1127 -0
  62. package/extension/axe-versions/axe-core@4.11.2/locales/ko.json +1003 -0
  63. package/extension/axe-versions/axe-core@4.11.2/locales/nl.json +48 -0
  64. package/extension/axe-versions/axe-core@4.11.2/locales/no_NB.json +799 -0
  65. package/extension/axe-versions/axe-core@4.11.2/locales/pl.json +1109 -0
  66. package/extension/axe-versions/axe-core@4.11.2/locales/pt_BR.json +970 -0
  67. package/extension/axe-versions/axe-core@4.11.2/locales/pt_PT.json +1123 -0
  68. package/extension/axe-versions/axe-core@4.11.2/locales/ru.json +1127 -0
  69. package/extension/axe-versions/axe-core@4.11.2/locales/zh_CN.json +1116 -0
  70. package/extension/axe-versions/axe-core@4.11.2/locales/zh_TW.json +1108 -0
  71. package/extension/axe-versions/axe-core@4.11.3/axe.min.js +12 -0
  72. package/extension/axe-versions/axe-core@4.11.3/locales/README.md +9 -0
  73. package/extension/axe-versions/axe-core@4.11.3/locales/_template.json +1142 -0
  74. package/extension/axe-versions/axe-core@4.11.3/locales/da.json +799 -0
  75. package/extension/axe-versions/axe-core@4.11.3/locales/de.json +1127 -0
  76. package/extension/axe-versions/axe-core@4.11.3/locales/el.json +1069 -0
  77. package/extension/axe-versions/axe-core@4.11.3/locales/es.json +790 -0
  78. package/extension/axe-versions/axe-core@4.11.3/locales/eu.json +789 -0
  79. package/extension/axe-versions/axe-core@4.11.3/locales/fr.json +994 -0
  80. package/extension/axe-versions/axe-core@4.11.3/locales/he.json +1017 -0
  81. package/extension/axe-versions/axe-core@4.11.3/locales/it.json +1108 -0
  82. package/extension/axe-versions/axe-core@4.11.3/locales/ja.json +1127 -0
  83. package/extension/axe-versions/axe-core@4.11.3/locales/ko.json +1003 -0
  84. package/extension/axe-versions/axe-core@4.11.3/locales/nl.json +48 -0
  85. package/extension/axe-versions/axe-core@4.11.3/locales/no_NB.json +799 -0
  86. package/extension/axe-versions/axe-core@4.11.3/locales/pl.json +1109 -0
  87. package/extension/axe-versions/axe-core@4.11.3/locales/pt_BR.json +970 -0
  88. package/extension/axe-versions/axe-core@4.11.3/locales/pt_PT.json +1123 -0
  89. package/extension/axe-versions/axe-core@4.11.3/locales/ru.json +1127 -0
  90. package/extension/axe-versions/axe-core@4.11.3/locales/zh_CN.json +1116 -0
  91. package/extension/axe-versions/axe-core@4.11.3/locales/zh_TW.json +1108 -0
  92. package/extension/axe-versions/axe-core@4.11.4/axe.min.js +12 -0
  93. package/extension/axe-versions/axe-core@4.11.4/locales/README.md +9 -0
  94. package/extension/axe-versions/axe-core@4.11.4/locales/_template.json +1142 -0
  95. package/extension/axe-versions/axe-core@4.11.4/locales/da.json +799 -0
  96. package/extension/axe-versions/axe-core@4.11.4/locales/de.json +1127 -0
  97. package/extension/axe-versions/axe-core@4.11.4/locales/el.json +1069 -0
  98. package/extension/axe-versions/axe-core@4.11.4/locales/es.json +790 -0
  99. package/extension/axe-versions/axe-core@4.11.4/locales/eu.json +789 -0
  100. package/extension/axe-versions/axe-core@4.11.4/locales/fr.json +994 -0
  101. package/extension/axe-versions/axe-core@4.11.4/locales/he.json +1017 -0
  102. package/extension/axe-versions/axe-core@4.11.4/locales/it.json +1108 -0
  103. package/extension/axe-versions/axe-core@4.11.4/locales/ja.json +1127 -0
  104. package/extension/axe-versions/axe-core@4.11.4/locales/ko.json +1003 -0
  105. package/extension/axe-versions/axe-core@4.11.4/locales/nl.json +48 -0
  106. package/extension/axe-versions/axe-core@4.11.4/locales/no_NB.json +799 -0
  107. package/extension/axe-versions/axe-core@4.11.4/locales/pl.json +1109 -0
  108. package/extension/axe-versions/axe-core@4.11.4/locales/pt_BR.json +970 -0
  109. package/extension/axe-versions/axe-core@4.11.4/locales/pt_PT.json +1123 -0
  110. package/extension/axe-versions/axe-core@4.11.4/locales/ru.json +1127 -0
  111. package/extension/axe-versions/axe-core@4.11.4/locales/zh_CN.json +1116 -0
  112. package/extension/axe-versions/axe-core@4.11.4/locales/zh_TW.json +1108 -0
  113. package/extension/axe-versions-mapper.js +4 -1
  114. package/extension/axe.js +1 -1
  115. package/extension/axe.js.LICENSE.txt +1 -1
  116. package/extension/content.js +1 -1
  117. package/extension/manifest.json +2 -5
  118. package/package.json +13 -11
  119. package/dist/utils/createAbortController.d.ts +0 -11
  120. package/dist/utils/createAbortController.js +0 -14
  121. package/dist/utils/createAbortController.js.map +0 -1
  122. package/extension/background.js +0 -1
  123. package/extension/background.js.LICENSE.txt +0 -1
@@ -424,7 +424,7 @@
424
424
 
425
425
  ## balanced-match
426
426
 
427
- **Version**: 4.0.3
427
+ **Version**: 4.0.4
428
428
 
429
429
  **License**: MIT
430
430
 
@@ -457,7 +457,7 @@ SOFTWARE.
457
457
 
458
458
  ## brace-expansion
459
459
 
460
- **Version**: 5.0.2
460
+ **Version**: 5.0.5
461
461
 
462
462
  **License**: MIT
463
463
 
@@ -490,7 +490,7 @@ SOFTWARE.
490
490
 
491
491
  ## css-selector-parser
492
492
 
493
- **Version**: 3.1.3
493
+ **Version**: 3.3.0
494
494
 
495
495
  **License**: MIT
496
496
 
@@ -610,7 +610,7 @@ SOFTWARE.
610
610
 
611
611
  ## minimatch
612
612
 
613
- **Version**: 10.2.2
613
+ **Version**: 10.2.5
614
614
 
615
615
  **License**: BlueOak-1.0.0
616
616
 
@@ -1,6 +1,7 @@
1
1
  import type { Debugger } from 'debug';
2
2
  import { type Variables } from './utils/writeVariables';
3
3
  import { type AxeCoreSettings } from './utils/initializeSession';
4
+ import { type TestContext } from './utils/testContext';
4
5
  interface ControllerParams {
5
6
  /** The namespace for the debug logger. */
6
7
  debugLoggerName: string;
@@ -13,13 +14,35 @@ interface ControllerActionOptions {
13
14
  timeout?: number;
14
15
  }
15
16
  declare abstract class Controller {
17
+ #private;
16
18
  protected abstract executeScript<A = unknown, T = void>(fn: string | ((...args: A[]) => Promise<T>), ...args: unknown[]): Promise<T>;
19
+ /**
20
+ * Capture a screenshot using the test framework's native API.
21
+ * Subclasses override this to provide framework-specific implementations.
22
+ * Returns a base64-encoded PNG string.
23
+ */
24
+ abstract captureScreenshot(): Promise<string>;
17
25
  protected isStopped: boolean;
18
26
  protected debugLogger: Debugger;
19
27
  protected timeout: Variables['timeout'];
20
28
  protected axeCoreSettings?: AxeCoreSettings;
21
29
  protected runOptions?: Variables['run_options'];
30
+ /**
31
+ * Per-instance test attribution. Set by framework-aware adapters
32
+ * (Playwright Test, WDIO runner) via `setTestContext()`. Vanilla
33
+ * Playwright / WDIO users don't set this — they populate the global
34
+ * sink instead, and `analyze`/`flush`/`stop` fall back to
35
+ * `this.testContext ?? getGlobalTestContext()`.
36
+ */
37
+ protected testContext: TestContext | null;
22
38
  constructor({ debugLoggerName, integrationName, configurationFunction }: ControllerParams);
39
+ /**
40
+ * Set or clear per-instance test attribution. Called by framework-aware
41
+ * adapters (Playwright Test, WDIO runner) at each test's start/end.
42
+ * Routes through `normalizeTestContext()` so input matches the global
43
+ * sink path. Pass `null` to clear.
44
+ */
45
+ setTestContext(context: TestContext | null): void;
23
46
  start({ timeout }?: ControllerActionOptions): Promise<void>;
24
47
  stop({ timeout }?: ControllerActionOptions): Promise<void>;
25
48
  analyze({ __Method, __UserRequestedAnalyze }?: {
@@ -1,15 +1,31 @@
1
1
  "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
2
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
15
  };
16
+ var _Controller_takeScreenshots, _Controller_screenshots;
5
17
  Object.defineProperty(exports, "__esModule", { value: true });
6
18
  const readVariables_1 = __importDefault(require("./utils/readVariables"));
7
19
  const sendResultsToServer_1 = __importDefault(require("./sendResultsToServer"));
8
20
  const createDebugger_1 = __importDefault(require("./createDebugger"));
9
21
  const assertVariablesWereWritten_1 = require("./utils/assertVariablesWereWritten");
10
22
  const constants_1 = require("./utils/constants");
23
+ const testContext_1 = require("./utils/testContext");
11
24
  class Controller {
12
25
  constructor({ debugLoggerName, integrationName, configurationFunction }) {
26
+ this.testContext = null;
27
+ _Controller_takeScreenshots.set(this, false);
28
+ _Controller_screenshots.set(this, {});
13
29
  (0, assertVariablesWereWritten_1.assertVariablesWereWritten)(integrationName, configurationFunction);
14
30
  const variables = (0, readVariables_1.default)();
15
31
  this.axeCoreSettings = variables.axe_core_settings;
@@ -17,6 +33,10 @@ class Controller {
17
33
  this.isStopped = !variables?.auto_analyze;
18
34
  this.timeout = variables.timeout;
19
35
  this.debugLogger = (0, createDebugger_1.default)(debugLoggerName);
36
+ __classPrivateFieldSet(this, _Controller_takeScreenshots, !!variables.take_screenshots, "f");
37
+ }
38
+ setTestContext(context) {
39
+ this.testContext = (0, testContext_1.normalizeTestContext)(context);
20
40
  }
21
41
  async start({ timeout } = {}) {
22
42
  this.debugLogger(`Start: Invoked`);
@@ -63,8 +83,9 @@ class Controller {
63
83
  return Promise.resolve();
64
84
  }
65
85
  let timer = null;
86
+ const screenshotId = __classPrivateFieldGet(this, _Controller_takeScreenshots, "f") ? crypto.randomUUID() : undefined;
66
87
  await Promise.race([
67
- this.executeScript(() => {
88
+ this.executeScript(({ testContext, screenshot_id }) => {
68
89
  if (!['http:', 'https:', 'file:'].includes(window.location.protocol)) {
69
90
  return Promise.resolve({ message: 'Skipped - Invalid protocol' });
70
91
  }
@@ -80,10 +101,17 @@ class Controller {
80
101
  };
81
102
  window.addEventListener('axe:manual-mode-analyze-done', fn);
82
103
  const event = new CustomEvent('axe:manual-mode-analyze', {
83
- detail: { userRequestedAnalyze: false }
104
+ detail: {
105
+ userRequestedAnalyze: false,
106
+ testContext,
107
+ screenshot_id
108
+ }
84
109
  });
85
110
  window.dispatchEvent(event);
86
111
  });
112
+ }, {
113
+ testContext: this.testContext ?? (0, testContext_1.getGlobalTestContext)(),
114
+ screenshot_id: screenshotId
87
115
  }),
88
116
  new Promise((_, reject) => {
89
117
  timer = setTimeout(() => {
@@ -91,8 +119,18 @@ class Controller {
91
119
  }, timeout || this.timeout.stop);
92
120
  })
93
121
  ])
94
- .then(result => {
122
+ .then(async (result) => {
95
123
  this.debugLogger(`Stop: ${result.message}`);
124
+ if (__classPrivateFieldGet(this, _Controller_takeScreenshots, "f") && result.hasViolations && screenshotId) {
125
+ this.debugLogger('Stop: Capturing screenshot');
126
+ try {
127
+ __classPrivateFieldGet(this, _Controller_screenshots, "f")[screenshotId] = await this.captureScreenshot();
128
+ this.debugLogger('Stop: Screenshot captured');
129
+ }
130
+ catch (error) {
131
+ this.debugLogger('Stop: Screenshot capture failed', { error });
132
+ }
133
+ }
96
134
  })
97
135
  .finally(() => {
98
136
  if (timer) {
@@ -114,8 +152,9 @@ class Controller {
114
152
  return;
115
153
  }
116
154
  let timer = null;
155
+ const screenshotId = __classPrivateFieldGet(this, _Controller_takeScreenshots, "f") ? crypto.randomUUID() : undefined;
117
156
  await Promise.race([
118
- this.executeScript(({ userRequestedAnalyze, isStopped, axeCoreSettings, runOptions }) => {
157
+ this.executeScript(({ userRequestedAnalyze, isStopped, axeCoreSettings, runOptions, testContext, screenshot_id }) => {
119
158
  if (!['http:', 'https:', 'file:'].includes(window.location.protocol)) {
120
159
  if (userRequestedAnalyze) {
121
160
  return Promise.resolve({
@@ -141,7 +180,9 @@ class Controller {
141
180
  userRequestedAnalyze,
142
181
  isStopped,
143
182
  axeCoreSettings,
144
- runOptions
183
+ runOptions,
184
+ testContext,
185
+ screenshot_id
145
186
  }
146
187
  });
147
188
  window.dispatchEvent(event);
@@ -150,7 +191,9 @@ class Controller {
150
191
  userRequestedAnalyze: __UserRequestedAnalyze,
151
192
  isStopped: this.isStopped,
152
193
  axeCoreSettings: this.axeCoreSettings,
153
- runOptions: this.runOptions
194
+ runOptions: this.runOptions,
195
+ testContext: this.testContext ?? (0, testContext_1.getGlobalTestContext)(),
196
+ screenshot_id: screenshotId
154
197
  }),
155
198
  new Promise((_, reject) => {
156
199
  timer = setTimeout(() => {
@@ -158,11 +201,21 @@ class Controller {
158
201
  }, timeout || this.timeout.analyze);
159
202
  })
160
203
  ])
161
- .then(result => {
204
+ .then(async (result) => {
162
205
  this.debugLogger(`Analyze: ${result.message}`);
163
206
  if (result.error) {
164
207
  throw new Error(result.message);
165
208
  }
209
+ if (__classPrivateFieldGet(this, _Controller_takeScreenshots, "f") && result.hasViolations && screenshotId) {
210
+ this.debugLogger('Analyze: Capturing screenshot');
211
+ try {
212
+ __classPrivateFieldGet(this, _Controller_screenshots, "f")[screenshotId] = await this.captureScreenshot();
213
+ this.debugLogger('Analyze: Screenshot captured');
214
+ }
215
+ catch (error) {
216
+ this.debugLogger('Analyze: Screenshot capture failed', { error });
217
+ }
218
+ }
166
219
  })
167
220
  .finally(() => {
168
221
  if (timer) {
@@ -173,8 +226,9 @@ class Controller {
173
226
  async flush({ timeout } = {}) {
174
227
  this.debugLogger(`Flush: Invoked (${this.isStopped ? 'auto-analysis stopped' : 'may analyze implicitly'})`);
175
228
  let timer = null;
229
+ const screenshotId = __classPrivateFieldGet(this, _Controller_takeScreenshots, "f") ? crypto.randomUUID() : undefined;
176
230
  await Promise.race([
177
- this.executeScript(({ isStopped, axeCoreSettings, runOptions }) => {
231
+ this.executeScript(({ isStopped, axeCoreSettings, runOptions, testContext, screenshot_id }) => {
178
232
  if (!['http:', 'https:', 'file:'].includes(window.location.protocol)) {
179
233
  return Promise.resolve([]);
180
234
  }
@@ -197,7 +251,9 @@ class Controller {
197
251
  detail: {
198
252
  isStopped,
199
253
  axeCoreSettings,
200
- runOptions
254
+ runOptions,
255
+ testContext,
256
+ screenshot_id
201
257
  }
202
258
  });
203
259
  window.dispatchEvent(event);
@@ -205,7 +261,9 @@ class Controller {
205
261
  }, {
206
262
  isStopped: this.isStopped,
207
263
  axeCoreSettings: this.axeCoreSettings,
208
- runOptions: this.runOptions
264
+ runOptions: this.runOptions,
265
+ testContext: this.testContext ?? (0, testContext_1.getGlobalTestContext)(),
266
+ screenshot_id: screenshotId
209
267
  }),
210
268
  new Promise((_, reject) => {
211
269
  timer = setTimeout(() => {
@@ -215,6 +273,35 @@ class Controller {
215
273
  ])
216
274
  .then(async (results) => {
217
275
  this.debugLogger(`Flush: Received ${results.length} results`);
276
+ if (__classPrivateFieldGet(this, _Controller_takeScreenshots, "f")) {
277
+ for (const result of results) {
278
+ const hasViolations = (result.results?.violations?.length ?? 0) > 0;
279
+ if (!hasViolations) {
280
+ continue;
281
+ }
282
+ if (result.screenshot_id &&
283
+ result.screenshot_id in __classPrivateFieldGet(this, _Controller_screenshots, "f")) {
284
+ result.screenshot = __classPrivateFieldGet(this, _Controller_screenshots, "f")[result.screenshot_id];
285
+ }
286
+ else if (result.screenshot_id === screenshotId) {
287
+ this.debugLogger('Flush: Capturing screenshot');
288
+ try {
289
+ result.screenshot = await this.captureScreenshot();
290
+ this.debugLogger('Flush: Screenshot captured');
291
+ }
292
+ catch (error) {
293
+ this.debugLogger('Flush: Screenshot capture failed', {
294
+ error
295
+ });
296
+ result.screenshot_id = null;
297
+ }
298
+ }
299
+ else {
300
+ result.screenshot_id = null;
301
+ }
302
+ }
303
+ __classPrivateFieldSet(this, _Controller_screenshots, {}, "f");
304
+ }
218
305
  await (0, sendResultsToServer_1.default)({
219
306
  results,
220
307
  debugLogger: this.debugLogger
@@ -228,5 +315,6 @@ class Controller {
228
315
  });
229
316
  }
230
317
  }
318
+ _Controller_takeScreenshots = new WeakMap(), _Controller_screenshots = new WeakMap();
231
319
  exports.default = Controller;
232
320
  //# sourceMappingURL=Controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Controller.js","sourceRoot":"","sources":["../src/Controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Controller.js","sourceRoot":"","sources":["../src/Controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0EAAiD;AACjD,gFAAwE;AACxE,sEAA6C;AAE7C,mFAA+E;AAE/E,iDAA6C;AAE7C,qDAI4B;AAe5B,MAAe,UAAU;IA8BvB,YAAY,EACV,eAAe,EACf,eAAe,EACf,qBAAqB,EACJ;QATT,gBAAW,GAAuB,IAAI,CAAA;QAEhD,sCAAmB,KAAK,EAAA;QACxB,kCAAuC,EAAE,EAAA;QAOvC,IAAA,uDAA0B,EAAC,eAAe,EAAE,qBAAqB,CAAC,CAAA;QAClE,MAAM,SAAS,GAAG,IAAA,uBAAa,GAAE,CAAA;QACjC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,iBAAoC,CAAA;QACrE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,WAAW,CAAA;QACvC,IAAI,CAAC,SAAS,GAAG,CAAC,SAAS,EAAE,YAAY,CAAA;QACzC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;QAChC,IAAI,CAAC,WAAW,GAAG,IAAA,wBAAc,EAAC,eAAe,CAAC,CAAA;QAClD,uBAAA,IAAI,+BAAoB,CAAC,CAAC,SAAS,CAAC,gBAAgB,MAAA,CAAA;IACtD,CAAC;IAQM,cAAc,CAAC,OAA2B;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAA,kCAAoB,EAAC,OAAO,CAAC,CAAA;IAClD,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,KAA8B,EAAE;QAC1D,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;QAClC,IAAI,KAAK,GAA0B,IAAI,CAAA;QAEvC,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE;gBACtB,OAAO,IAAI,OAAO,CAAsB,OAAO,CAAC,EAAE;oBAChD,IACE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAChE,CAAC;wBACD,OAAO,CAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAA;oBAC1D,CAAC;oBAED,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC/B,OAAO,CAAC;4BACN,OAAO,EACL,2DAA2D;yBAC9D,CAAC,CAAA;oBACJ,CAAC;oBAED,MAAM,EAAE,GAAG,CAAC,KAAkB,EAAQ,EAAE;wBACtC,MAAM,CAAC,mBAAmB,CACxB,4BAA4B,EAC5B,EAAgB,CACjB,CAAA;wBACD,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;oBAC5C,CAAC,CAAA;oBACD,MAAM,CAAC,gBAAgB,CACrB,4BAA4B,EAC5B,EAAgB,CACjB,CAAA;oBACD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,uBAAuB,CAAC,CAAA;oBACtD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gBAC7B,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC;YACF,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtB,MAAM,CACJ,IAAI,KAAK,CACP,yKAAyK,qBAAS,4BAA4B,CAC/M,CACF,CAAA;gBACH,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACnC,CAAC,CAAC;SACH,CAAC;aACC,IAAI,CAAC,MAAM,CAAC,EAAE;YACb,IAAI,CAAC,WAAW,CAAC,UAAU,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9C,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACxB,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,KAA8B,EAAE;QACzD,IAAI,CAAC,WAAW,CACd,kBAAkB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,wBAAwB,GAAG,CACjF,CAAA;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;QAED,IAAI,KAAK,GAA0B,IAAI,CAAA;QACvC,MAAM,YAAY,GAAG,uBAAA,IAAI,mCAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAE5E,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,aAAa,CAChB,CAAC,EACC,WAAW,EACX,aAAa,EAId,EAAyD,EAAE;gBAC1D,IACE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAChE,CAAC;oBACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAA;gBACnE,CAAC;gBAED,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC/B,OAAO,OAAO,CAAC,OAAO,CAAC;wBACrB,OAAO,EAAE,qDAAqD;qBAC/D,CAAC,CAAA;gBACJ,CAAC;gBAED,OAAO,IAAI,OAAO,CAChB,OAAO,CAAC,EAAE;oBACR,MAAM,EAAE,GAAG,CAAC,KAAkB,EAAQ,EAAE;wBACtC,MAAM,CAAC,mBAAmB,CACxB,8BAA8B,EAC9B,EAAgB,CACjB,CAAA;wBACD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;oBACvB,CAAC,CAAA;oBACD,MAAM,CAAC,gBAAgB,CACrB,8BAA8B,EAC9B,EAAgB,CACjB,CAAA;oBACD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,yBAAyB,EAAE;wBACvD,MAAM,EAAE;4BACN,oBAAoB,EAAE,KAAK;4BAC3B,WAAW;4BACX,aAAa;yBACd;qBACF,CAAC,CAAA;oBACF,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gBAC7B,CAAC,CACF,CAAA;YACH,CAAC,EACD;gBACE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAA,kCAAoB,GAAE;gBACvD,aAAa,EAAE,YAAY;aAC5B,CACF;YACD,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtB,MAAM,CACJ,IAAI,KAAK,CACP,sKAAsK,qBAAS,4BAA4B,CAC5M,CACF,CAAA;gBACH,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC,CAAC;SACH,CAAC;aACC,IAAI,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YACnB,IAAI,CAAC,WAAW,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;YAE3C,IAAI,uBAAA,IAAI,mCAAiB,IAAI,MAAM,CAAC,aAAa,IAAI,YAAY,EAAE,CAAC;gBAClE,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAA;gBAC9C,IAAI,CAAC;oBACH,uBAAA,IAAI,+BAAa,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;oBAChE,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAA;gBAC/C,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,IAAI,CAAC,WAAW,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;gBAChE,CAAC;YACH,CAAC;QACH,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACvB,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,EACE,QAAQ,EACR,sBAAsB,GAAG,IAAI,KAI3B,EAAE,EACN,EAAE,OAAO,KAA8B,EAAE;QAEzC,IAAI,CAAC,WAAW,CAAC,mBAAmB,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;YACtE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,oBAAoB,EAAE,sBAAsB;SAC7C,CAAC,CAAA;QAEF,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE;gBACnC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,oBAAoB,EAAE,sBAAsB;aAC7C,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,IAAI,KAAK,GAA0B,IAAI,CAAA;QACvC,MAAM,YAAY,GAAG,uBAAA,IAAI,mCAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAE5E,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,aAAa,CAChB,CAAC,EACC,oBAAoB,EACpB,SAAS,EACT,eAAe,EACf,UAAU,EACV,WAAW,EACX,aAAa,EAQd,EAIE,EAAE;gBACH,IACE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAChE,CAAC;oBACD,IAAI,oBAAoB,EAAE,CAAC;wBACzB,OAAO,OAAO,CAAC,OAAO,CAAC;4BACrB,OAAO,EAAE,+CAA+C,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;4BAClF,KAAK,EAAE,IAAI;yBACZ,CAAC,CAAA;oBACJ,CAAC;oBACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAA;gBACnE,CAAC;gBAED,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC/B,OAAO,OAAO,CAAC,OAAO,CAAC;wBACrB,OAAO,EAAE,qDAAqD;qBAC/D,CAAC,CAAA;gBACJ,CAAC;gBAED,OAAO,IAAI,OAAO,CAIf,OAAO,CAAC,EAAE;oBACX,MAAM,EAAE,GAAG,CAAC,KAAkB,EAAQ,EAAE;wBACtC,MAAM,CAAC,mBAAmB,CACxB,8BAA8B,EAC9B,EAAgB,CACjB,CAAA;wBACD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;oBACvB,CAAC,CAAA;oBACD,MAAM,CAAC,gBAAgB,CACrB,8BAA8B,EAC9B,EAAgB,CACjB,CAAA;oBACD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,yBAAyB,EAAE;wBACvD,MAAM,EAAE;4BACN,oBAAoB;4BACpB,SAAS;4BACT,eAAe;4BACf,UAAU;4BACV,WAAW;4BACX,aAAa;yBACd;qBACF,CAAC,CAAA;oBACF,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gBAC7B,CAAC,CAAC,CAAA;YACJ,CAAC,EACD;gBACE,oBAAoB,EAAE,sBAAsB;gBAC5C,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAA,kCAAoB,GAAE;gBACvD,aAAa,EAAE,YAAY;aAC5B,CACF;YACD,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtB,MAAM,CACJ,IAAI,KAAK,CACP,0KAA0K,qBAAS,4BAA4B,CAChN,CACF,CAAA;gBACH,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YACrC,CAAC,CAAC;SACH,CAAC;aACC,IAAI,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YACnB,IAAI,CAAC,WAAW,CAAC,YAAY,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;YAE9C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACjC,CAAC;YAED,IAAI,uBAAA,IAAI,mCAAiB,IAAI,MAAM,CAAC,aAAa,IAAI,YAAY,EAAE,CAAC;gBAClE,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAA;gBACjD,IAAI,CAAC;oBACH,uBAAA,IAAI,+BAAa,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;oBAChE,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAA;gBAClD,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,IAAI,CAAC,WAAW,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;gBACnE,CAAC;YACH,CAAC;QACH,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC;QACH,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,KAA8B,EAAE;QAC1D,IAAI,CAAC,WAAW,CACd,mBAAmB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,wBAAwB,GAAG,CAC1F,CAAA;QAED,IAAI,KAAK,GAA0B,IAAI,CAAA;QACvC,MAAM,YAAY,GAAG,uBAAA,IAAI,mCAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAE5E,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,aAAa,CAChB,CAAC,EACC,SAAS,EACT,eAAe,EACf,UAAU,EACV,WAAW,EACX,aAAa,EAOd,EAAE,EAAE;gBACH,IACE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAChE,CAAC;oBACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;gBAC5B,CAAC;gBAED,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;gBAC5B,CAAC;gBAED,OAAO,IAAI,OAAO,CAAW,OAAO,CAAC,EAAE;oBACrC,MAAM,eAAe,GAAa,EAAE,CAAA;oBAEpC,MAAM,UAAU,GAAG,GAAS,EAAE;wBAC5B,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;wBACvD,MAAM,CAAC,mBAAmB,CACxB,YAAY,EACZ,WAAyB,CAC1B,CAAA;wBACD,OAAO,CAAC,eAAe,CAAC,CAAA;oBAC1B,CAAC,CAAA;oBAED,MAAM,WAAW,GAAG,CAAC,CAAwB,EAAQ,EAAE;wBACrD,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;oBACnC,CAAC,CAAA;oBAED,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,WAAyB,CAAC,CAAA;oBAChE,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;oBAEpD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE;wBAC/C,MAAM,EAAE;4BACN,SAAS;4BACT,eAAe;4BACf,UAAU;4BACV,WAAW;4BACX,aAAa;yBACd;qBACF,CAAC,CAAA;oBACF,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gBAC7B,CAAC,CAAC,CAAA;YACJ,CAAC,EACD;gBACE,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAA,kCAAoB,GAAE;gBACvD,aAAa,EAAE,YAAY;aAC5B,CACF;YACD,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtB,MAAM,CACJ,IAAI,KAAK,CACP,sJAAsJ,qBAAS,4BAA4B,CAC5L,CACF,CAAA;gBACH,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACnC,CAAC,CAAC;SACH,CAAC;aACC,IAAI,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,mBAAmB,OAAO,CAAC,MAAM,UAAU,CAAC,CAAA;YAE7D,IAAI,uBAAA,IAAI,mCAAiB,EAAE,CAAC;gBAC1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;oBAEnE,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,SAAQ;oBACV,CAAC;oBAED,IACE,MAAM,CAAC,aAAa;wBACpB,MAAM,CAAC,aAAa,IAAI,uBAAA,IAAI,+BAAa,EACzC,CAAC;wBACD,MAAM,CAAC,UAAU,GAAG,uBAAA,IAAI,+BAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;oBAC7D,CAAC;yBAAM,IAAI,MAAM,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;wBAEjD,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAA;wBAC/C,IAAI,CAAC;4BACH,MAAM,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;4BAClD,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAA;wBAChD,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,IAAI,CAAC,WAAW,CAAC,kCAAkC,EAAE;gCACnD,KAAK;6BACN,CAAC,CAAA;4BACF,MAAM,CAAC,aAAa,GAAG,IAAI,CAAA;wBAC7B,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,aAAa,GAAG,IAAI,CAAA;oBAC7B,CAAC;gBACH,CAAC;gBACD,uBAAA,IAAI,2BAAgB,EAAE,MAAA,CAAA;YACxB,CAAC;YAED,MAAM,IAAA,6BAAmB,EAAC;gBACxB,OAAO;gBACP,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAA;YACF,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;QACrC,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC;QACH,CAAC,CAAC,CAAA;IACN,CAAC;CACF;;AAED,kBAAe,UAAU,CAAA"}
@@ -5,6 +5,7 @@ export declare const cypressConfigAutoAnalyzeFlag = "__AXE_WATCHER_AUTO_ANALYZE"
5
5
  export declare const cypressAxeCoreSettingsFlag = "__AXE_WATCHER_AXE_CORE_SETTINGS";
6
6
  export declare const cypressRunOptionsFlag = "__AXE_WATCHER_RUN_OPTIONS";
7
7
  export declare const cypressEnabledTestingModes = "__AXE_WATCHER_CYPRESS_TESTING_TYPES";
8
+ export declare const cypressTakeScreenshotsFlag = "__AXE_WATCHER_TAKE_SCREENSHOTS";
8
9
  export declare const cypressAxeWatcherDebug = "__AXE_WATCHER_DEBUG";
9
10
  /**
10
11
  * Create a Cypress config that uses the axe Watcher extension.
@@ -18,5 +19,5 @@ export declare const cypressConfig: (config: Cypress.ConfigOptions & CypressConf
18
19
  * @param userConfig The user's Cypress configuration
19
20
  * @returns A setupNodeEvents function configured for the specified test type
20
21
  */
21
- export declare const createSetupNodeEvents: (testType: "e2e" | "component", userConfig: Cypress.ConfigOptions) => (cypressOn: Cypress.PluginEvents, ...args: unknown[]) => Promise<void | undefined | Cypress.PluginConfigOptions>;
22
+ export declare const createSetupNodeEvents: (testType: "e2e" | "component", userConfig: Cypress.ConfigOptions, screenshotDir?: string) => (cypressOn: Cypress.PluginEvents, ...args: unknown[]) => Promise<void | undefined | Cypress.PluginConfigOptions>;
22
23
  export declare const normalizeTestingTypes: (testingTypes: string | string[] | undefined) => string[];
@@ -3,7 +3,9 @@ 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.normalizeTestingTypes = exports.createSetupNodeEvents = exports.cypressConfig = exports.cypressAxeWatcherDebug = exports.cypressEnabledTestingModes = exports.cypressRunOptionsFlag = exports.cypressAxeCoreSettingsFlag = exports.cypressConfigAutoAnalyzeFlag = exports.cypressConfigRunFlag = exports.configTimeout = void 0;
6
+ exports.normalizeTestingTypes = exports.createSetupNodeEvents = exports.cypressConfig = exports.cypressAxeWatcherDebug = exports.cypressTakeScreenshotsFlag = exports.cypressEnabledTestingModes = exports.cypressRunOptionsFlag = exports.cypressAxeCoreSettingsFlag = exports.cypressConfigAutoAnalyzeFlag = exports.cypressConfigRunFlag = exports.configTimeout = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
7
9
  const sendResultsToServer_1 = __importDefault(require("../sendResultsToServer"));
8
10
  const EventForwarder_1 = __importDefault(require("../EventForwarder"));
9
11
  const writeVariables_1 = __importDefault(require("../utils/writeVariables"));
@@ -13,6 +15,7 @@ const mergeChromeArgs_1 = __importDefault(require("../utils/mergeChromeArgs"));
13
15
  const createDebugger_1 = __importDefault(require("../createDebugger"));
14
16
  const readVariables_1 = __importDefault(require("../utils/readVariables"));
15
17
  const checkUserArgs_1 = require("../utils/checkUserArgs");
18
+ const constants_1 = require("../utils/constants");
16
19
  const debugLogger = (0, createDebugger_1.default)('CypressController');
17
20
  exports.configTimeout = '__AXE_WATCHER_TIMEOUT_CONFIG';
18
21
  exports.cypressConfigRunFlag = '__AXE_WATCHER_CYPRESS_CONFIG_RUN';
@@ -20,7 +23,25 @@ exports.cypressConfigAutoAnalyzeFlag = '__AXE_WATCHER_AUTO_ANALYZE';
20
23
  exports.cypressAxeCoreSettingsFlag = '__AXE_WATCHER_AXE_CORE_SETTINGS';
21
24
  exports.cypressRunOptionsFlag = '__AXE_WATCHER_RUN_OPTIONS';
22
25
  exports.cypressEnabledTestingModes = '__AXE_WATCHER_CYPRESS_TESTING_TYPES';
26
+ exports.cypressTakeScreenshotsFlag = '__AXE_WATCHER_TAKE_SCREENSHOTS';
23
27
  exports.cypressAxeWatcherDebug = '__AXE_WATCHER_DEBUG';
28
+ function isErrnoException(error) {
29
+ return error instanceof Error && 'code' in error;
30
+ }
31
+ function moveFile(src, dest) {
32
+ try {
33
+ fs_1.default.renameSync(src, dest);
34
+ }
35
+ catch (error) {
36
+ if (isErrnoException(error) && error.code === 'EXDEV') {
37
+ fs_1.default.copyFileSync(src, dest);
38
+ fs_1.default.unlinkSync(src);
39
+ }
40
+ else {
41
+ throw error;
42
+ }
43
+ }
44
+ }
24
45
  const cypressConfig = (config) => {
25
46
  const { axe, ...userConfig } = config;
26
47
  const { DEBUG } = process.env;
@@ -48,6 +69,7 @@ const cypressConfig = (config) => {
48
69
  [exports.cypressRunOptionsFlag]: variables.run_options,
49
70
  [exports.cypressEnabledTestingModes]: testingTypes,
50
71
  [exports.cypressAxeWatcherDebug]: hasWatcherDebug,
72
+ [exports.cypressTakeScreenshotsFlag]: !!variables.take_screenshots,
51
73
  [exports.cypressConfigAutoAnalyzeFlag]: axe.autoAnalyze === undefined ? true : axe.autoAnalyze
52
74
  };
53
75
  if (userConfig.e2e?.env) {
@@ -64,19 +86,19 @@ const cypressConfig = (config) => {
64
86
  ...userConfig,
65
87
  e2e: {
66
88
  ...userConfig.e2e,
67
- setupNodeEvents: (0, exports.createSetupNodeEvents)('e2e', userConfig)
89
+ setupNodeEvents: (0, exports.createSetupNodeEvents)('e2e', userConfig, variables.screenshot_dir)
68
90
  },
69
91
  ...(shouldRunWatcherInComponentMode &&
70
92
  userConfig.component?.devServer && {
71
93
  component: {
72
94
  ...userConfig.component,
73
- setupNodeEvents: (0, exports.createSetupNodeEvents)('component', userConfig)
95
+ setupNodeEvents: (0, exports.createSetupNodeEvents)('component', userConfig, variables.screenshot_dir)
74
96
  }
75
97
  })
76
98
  };
77
99
  };
78
100
  exports.cypressConfig = cypressConfig;
79
- const createSetupNodeEvents = (testType, userConfig) => {
101
+ const createSetupNodeEvents = (testType, userConfig, screenshotDir) => {
80
102
  return async function setupNodeEvents(cypressOn, ...args) {
81
103
  const eventForwarder = new EventForwarder_1.default();
82
104
  const on = eventForwarder.on;
@@ -86,11 +108,59 @@ const createSetupNodeEvents = (testType, userConfig) => {
86
108
  [exports.cypressConfigRunFlag]: true
87
109
  });
88
110
  }
111
+ const screenshotStore = {};
112
+ on('after:screenshot', details => {
113
+ if (!details.name ||
114
+ !details.name.startsWith(constants_1.AXE_WATCHER_SCREENSHOT_PREFIX)) {
115
+ return details;
116
+ }
117
+ try {
118
+ const base64 = fs_1.default.readFileSync(details.path).toString('base64');
119
+ if (screenshotDir) {
120
+ fs_1.default.mkdirSync(screenshotDir, { recursive: true });
121
+ const dest = path_1.default.join(screenshotDir, `${details.name}.png`);
122
+ moveFile(details.path, dest);
123
+ screenshotStore[details.name] = { base64, path: dest };
124
+ debugLogger('Screenshot captured and moved', {
125
+ name: details.name,
126
+ dest
127
+ });
128
+ }
129
+ else {
130
+ fs_1.default.unlinkSync(details.path);
131
+ screenshotStore[details.name] = { base64 };
132
+ debugLogger('Screenshot captured', { name: details.name });
133
+ }
134
+ }
135
+ catch (error) {
136
+ debugLogger('Failed to process screenshot file', { error });
137
+ }
138
+ return details;
139
+ });
89
140
  on('task', {
90
141
  __uploadAxeWatcherResults: async ({ results, skipped_url }) => {
91
142
  if (!results?.length && !skipped_url) {
92
143
  return null;
93
144
  }
145
+ for (const result of results ?? []) {
146
+ if (!result.screenshot_id) {
147
+ continue;
148
+ }
149
+ if (!(result.screenshot_id in screenshotStore)) {
150
+ debugLogger('Screenshot missing for result; clearing screenshot_id', {
151
+ screenshot_id: result.screenshot_id
152
+ });
153
+ result.screenshot_id = null;
154
+ continue;
155
+ }
156
+ const stored = screenshotStore[result.screenshot_id];
157
+ result.screenshot = stored.base64;
158
+ result.screenshot_path = stored.path ?? null;
159
+ delete screenshotStore[result.screenshot_id];
160
+ debugLogger('Screenshot attached for result', {
161
+ screenshot_id: result.screenshot_id
162
+ });
163
+ }
94
164
  const sentResult = await (0, sendResultsToServer_1.default)({
95
165
  skipped_url,
96
166
  results,
@@ -1 +1 @@
1
- {"version":3,"file":"cypress.js","sourceRoot":"","sources":["../../src/cypress/cypress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cypress.js","sourceRoot":"","sources":["../../src/cypress/cypress.ts"],"names":[],"mappings":"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"}