@axe-core/watcher 3.23.0-next.e129a7dc → 3.23.0-next.e49ae57f

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 (50) hide show
  1. package/dist/cypressCommandsDeprecated.d.ts +1 -0
  2. package/dist/cypressCommandsDeprecated.js +25 -0
  3. package/dist/cypressCommandsDeprecated.js.map +1 -0
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +8 -4
  6. package/dist/index.js.map +1 -1
  7. package/dist/playwright-test/playwrightTest.d.ts +4 -4
  8. package/dist/playwright-test/playwrightTest.js +2 -1
  9. package/dist/playwright-test/playwrightTest.js.map +1 -1
  10. package/dist/sendResultsToServer.js +12 -4
  11. package/dist/sendResultsToServer.js.map +1 -1
  12. package/dist/utils/initializeSession.js +6 -3
  13. package/dist/utils/initializeSession.js.map +1 -1
  14. package/dist/utils/shouldUseEnvProxy.d.ts +5 -0
  15. package/dist/utils/shouldUseEnvProxy.js +22 -0
  16. package/dist/utils/shouldUseEnvProxy.js.map +1 -0
  17. package/dist/utils/sync-fetch-worker.mjs +136 -43
  18. package/dist/utils/sync-fetch.d.ts +1 -1
  19. package/dist/utils/sync-fetch.js +52 -44
  20. package/dist/utils/sync-fetch.js.map +1 -1
  21. package/dist/utils/test-constants.d.ts +14 -0
  22. package/dist/utils/test-constants.js +12 -0
  23. package/dist/utils/test-constants.js.map +1 -0
  24. package/extension/axe-versions/axe-core@4.11.0/axe.min.js +12 -0
  25. package/extension/axe-versions/axe-core@4.11.0/locales/README.md +9 -0
  26. package/extension/axe-versions/axe-core@4.11.0/locales/_template.json +1131 -0
  27. package/extension/axe-versions/axe-core@4.11.0/locales/da.json +799 -0
  28. package/extension/axe-versions/axe-core@4.11.0/locales/de.json +1127 -0
  29. package/extension/axe-versions/axe-core@4.11.0/locales/el.json +1069 -0
  30. package/extension/axe-versions/axe-core@4.11.0/locales/es.json +790 -0
  31. package/extension/axe-versions/axe-core@4.11.0/locales/eu.json +789 -0
  32. package/extension/axe-versions/axe-core@4.11.0/locales/fr.json +994 -0
  33. package/extension/axe-versions/axe-core@4.11.0/locales/he.json +1017 -0
  34. package/extension/axe-versions/axe-core@4.11.0/locales/it.json +1108 -0
  35. package/extension/axe-versions/axe-core@4.11.0/locales/ja.json +1127 -0
  36. package/extension/axe-versions/axe-core@4.11.0/locales/ko.json +1003 -0
  37. package/extension/axe-versions/axe-core@4.11.0/locales/nl.json +48 -0
  38. package/extension/axe-versions/axe-core@4.11.0/locales/no_NB.json +799 -0
  39. package/extension/axe-versions/axe-core@4.11.0/locales/pl.json +1109 -0
  40. package/extension/axe-versions/axe-core@4.11.0/locales/pt_BR.json +970 -0
  41. package/extension/axe-versions/axe-core@4.11.0/locales/pt_PT.json +1123 -0
  42. package/extension/axe-versions/axe-core@4.11.0/locales/ru.json +1127 -0
  43. package/extension/axe-versions/axe-core@4.11.0/locales/zh_CN.json +1116 -0
  44. package/extension/axe-versions/axe-core@4.11.0/locales/zh_TW.json +1108 -0
  45. package/extension/axe-versions-mapper.js +2 -0
  46. package/extension/axe.js +1 -1
  47. package/extension/axe.js.LICENSE.txt +1 -1
  48. package/extension/background.js +1 -1
  49. package/extension/content.js +1 -1
  50. package/package.json +76 -6
@@ -0,0 +1 @@
1
+ export * from './cypressCommands';
@@ -0,0 +1,25 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ let _axeCoreWatcherCypressDeprecationWarningLogged = false;
18
+ if (!_axeCoreWatcherCypressDeprecationWarningLogged) {
19
+ _axeCoreWatcherCypressDeprecationWarningLogged = true;
20
+ console.warn('Deprecation Warning: Importing from @axe-core/watcher/dist/* is deprecated. ' +
21
+ 'Please import from @axe-core/watcher/cypress/support instead. ' +
22
+ 'This legacy import will be removed in version 5.');
23
+ }
24
+ __exportStar(require("./cypressCommands"), exports);
25
+ //# sourceMappingURL=cypressCommandsDeprecated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cypressCommandsDeprecated.js","sourceRoot":"","sources":["../src/cypressCommandsDeprecated.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAI,8CAA8C,GAAG,KAAK,CAAA;AAC1D,IAAI,CAAC,8CAA8C,EAAE,CAAC;IACpD,8CAA8C,GAAG,IAAI,CAAA;IAErD,OAAO,CAAC,IAAI,CACV,8EAA8E;QAC5E,gEAAgE;QAChE,kDAAkD,CACrD,CAAA;AACH,CAAC;AAGD,oDAAiC"}
package/dist/index.d.ts CHANGED
@@ -3,5 +3,5 @@ export { puppeteerConfig, PuppeteerController, wrapPuppeteer, wrapPuppeteerPage
3
3
  export { wdioConfig, wdioTestRunner, WdioController, wrapWdio } from './wdio/wdio';
4
4
  export { webdriverConfig, WebdriverController, wrapWebdriver } from './webdriver/webdriver';
5
5
  export { playwrightConfig, PlaywrightController, wrapPlaywright, wrapPlaywrightPage } from './playwright/playwright';
6
- export { default as playwrightTest, type PageWithAxeWatcher as PlaywrightTestPageWithAxeWatcher } from './playwright-test/playwrightTest';
6
+ export { playwrightTest } from './playwright-test/playwrightTest';
7
7
  export { cypressConfig } from './cypress/cypress';
package/dist/index.js CHANGED
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
  /*! Copyright Deque 2021-2025 All Rights Reserved */
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
3
  Object.defineProperty(exports, "__esModule", { value: true });
7
4
  exports.cypressConfig = exports.playwrightTest = exports.wrapPlaywrightPage = exports.wrapPlaywright = exports.PlaywrightController = exports.playwrightConfig = exports.wrapWebdriver = exports.WebdriverController = exports.webdriverConfig = exports.wrapWdio = exports.WdioController = exports.wdioTestRunner = exports.wdioConfig = exports.wrapPuppeteerPage = exports.wrapPuppeteer = exports.PuppeteerController = exports.puppeteerConfig = void 0;
5
+ let _axeCoreWatcherDeprecationWarningLogged = false;
6
+ if (!_axeCoreWatcherDeprecationWarningLogged) {
7
+ _axeCoreWatcherDeprecationWarningLogged = true;
8
+ console.warn('Deprecation Warning: Importing from @axe-core/watcher is deprecated. ' +
9
+ 'Please import directly from framework-specific entry points instead. ' +
10
+ 'This legacy import will be removed in version 5.');
11
+ }
8
12
  var puppeteer_1 = require("./puppeteer/puppeteer");
9
13
  Object.defineProperty(exports, "puppeteerConfig", { enumerable: true, get: function () { return puppeteer_1.puppeteerConfig; } });
10
14
  Object.defineProperty(exports, "PuppeteerController", { enumerable: true, get: function () { return puppeteer_1.PuppeteerController; } });
@@ -25,7 +29,7 @@ Object.defineProperty(exports, "PlaywrightController", { enumerable: true, get:
25
29
  Object.defineProperty(exports, "wrapPlaywright", { enumerable: true, get: function () { return playwright_1.wrapPlaywright; } });
26
30
  Object.defineProperty(exports, "wrapPlaywrightPage", { enumerable: true, get: function () { return playwright_1.wrapPlaywrightPage; } });
27
31
  var playwrightTest_1 = require("./playwright-test/playwrightTest");
28
- Object.defineProperty(exports, "playwrightTest", { enumerable: true, get: function () { return __importDefault(playwrightTest_1).default; } });
32
+ Object.defineProperty(exports, "playwrightTest", { enumerable: true, get: function () { return playwrightTest_1.playwrightTest; } });
29
33
  var cypress_1 = require("./cypress/cypress");
30
34
  Object.defineProperty(exports, "cypressConfig", { enumerable: true, get: function () { return cypress_1.cypressConfig; } });
31
35
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;AAEpD,mDAK8B;AAJ5B,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,0GAAA,aAAa,OAAA;AACb,8GAAA,iBAAiB,OAAA;AAEnB,oCAKoB;AAJlB,kGAAA,UAAU,OAAA;AACV,sGAAA,cAAc,OAAA;AACd,sGAAA,cAAc,OAAA;AACd,gGAAA,QAAQ,OAAA;AAEV,mDAI8B;AAH5B,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,0GAAA,aAAa,OAAA;AAEf,sDAKgC;AAJ9B,8GAAA,gBAAgB,OAAA;AAChB,kHAAA,oBAAoB,OAAA;AACpB,4GAAA,cAAc,OAAA;AACd,gHAAA,kBAAkB,OAAA;AAEpB,mEAGyC;AAFvC,iIAAA,OAAO,OAAkB;AAG3B,6CAAiD;AAAxC,wGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,IAAI,uCAAuC,GAAG,KAAK,CAAA;AACnD,IAAI,CAAC,uCAAuC,EAAE,CAAC;IAC7C,uCAAuC,GAAG,IAAI,CAAA;IAE9C,OAAO,CAAC,IAAI,CACV,uEAAuE;QACrE,uEAAuE;QACvE,kDAAkD,CACrD,CAAA;AACH,CAAC;AAED,mDAK8B;AAJ5B,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,0GAAA,aAAa,OAAA;AACb,8GAAA,iBAAiB,OAAA;AAEnB,oCAKoB;AAJlB,kGAAA,UAAU,OAAA;AACV,sGAAA,cAAc,OAAA;AACd,sGAAA,cAAc,OAAA;AACd,gGAAA,QAAQ,OAAA;AAEV,mDAI8B;AAH5B,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,0GAAA,aAAa,OAAA;AAEf,sDAKgC;AAJ9B,8GAAA,gBAAgB,OAAA;AAChB,kHAAA,oBAAoB,OAAA;AACpB,4GAAA,cAAc,OAAA;AACd,gHAAA,kBAAkB,OAAA;AAEpB,mEAAiE;AAAxD,gHAAA,cAAc,OAAA;AACvB,6CAAiD;AAAxC,wGAAA,aAAa,OAAA"}
@@ -3,10 +3,10 @@ import { PlaywrightController, type Options } from '../playwright/playwright';
3
3
  export type PageWithAxeWatcher = Page & {
4
4
  axeWatcher: PlaywrightController;
5
5
  };
6
- type Test = TestType<PlaywrightTestArgs & PlaywrightTestOptions & Fixtures, PlaywrightWorkerArgs & PlaywrightWorkerOptions>;
7
- type Fixtures = {
6
+ export type Fixtures = {
8
7
  page: PageWithAxeWatcher;
9
8
  };
9
+ type Test = TestType<PlaywrightTestArgs & PlaywrightTestOptions & Fixtures, PlaywrightWorkerArgs & PlaywrightWorkerOptions>;
10
10
  interface ReturnValue {
11
11
  test: Test;
12
12
  expect: Expect;
@@ -18,5 +18,5 @@ interface ReturnValue {
18
18
  * @see https://playwright.dev/docs/api/class-test#test-call
19
19
  * @see https://playwright.dev/docs/api/class-test#test-expect
20
20
  */
21
- declare const playwrightTest: (options: Options) => ReturnValue;
22
- export default playwrightTest;
21
+ export declare const playwrightTest: (options: Options) => ReturnValue;
22
+ export {};
@@ -3,6 +3,7 @@ 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.playwrightTest = void 0;
6
7
  const playwright_1 = require("../playwright/playwright");
7
8
  const node_fs_1 = __importDefault(require("node:fs"));
8
9
  const mergeChromeArgs_1 = __importDefault(require("../utils/mergeChromeArgs"));
@@ -63,5 +64,5 @@ const playwrightTest = (options) => {
63
64
  const expect = test.expect;
64
65
  return { test, expect };
65
66
  };
66
- exports.default = playwrightTest;
67
+ exports.playwrightTest = playwrightTest;
67
68
  //# sourceMappingURL=playwrightTest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"playwrightTest.js","sourceRoot":"","sources":["../../src/playwright-test/playwrightTest.ts"],"names":[],"mappings":";;;;;AAWA,yDAIiC;AACjC,sDAAwB;AACxB,+EAAsD;AACtD,6EAAoD;AACpD,0DAAsD;AACtD,0DAA6D;AAC7D,qGAA4E;AAC5E,uEAA8C;AAC9C,iFAAwD;AACxD,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,gBAAgB,CAAC,CAAA;AA4BpD,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAe,EAAE;IACvD,IAAI,UAAU,GAAgC,IAAI,CAAA;IAClD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAA;IAElC,IAAA,oCAA0B,EAAC;QACzB,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,OAAO;KAC1B,CAAC,CAAA;IAIF,IAAI,IAAU,CAAA;IACd,IAAI,QAAsC,CAAA;IAC1C,IAAI,CAAC;QAEH,CAAC;QAAA,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAI,KAAe,CAAC,OAAO,CAC/D,CAAA;IACH,CAAC;IAED,IAAA,6BAAa,EAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAChC,IAAA,0BAAgB,EAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1C,IAAA,wBAAc,EAAC,EAAE,GAAG,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAA;IAElD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAW;QAMjC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,EAAE,EAAE;gBACzD,GAAG,MAAM;gBACT,IAAI,EAAE,IAAA,yBAAe,EAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE;oBACvC,sBAAsB,EAAE,IAAI;iBAC7B,CAAC;aACH,CAAC,CAAA;YACF,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA;YAClB,IAAI,CAAC;gBACH,iBAAE,CAAC,UAAU,CAAC,oCAAoB,CAAC,CAAA;YACrC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,WAAW,CACT,gDAAiD,CAAW,CAAC,OAAO,EAAE,CACvE,CAAA;YACH,CAAC;YACD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE;YAC5B,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;YAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,UAAU,GAAG,IAAI,iCAAoB,CAAC,IAAI,CAAC,CAAA;gBAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;gBAC5B,IAAI,GAAG,IAAA,+BAAkB,EAAC,IAAI,EAAE,UAAU,CAAuB,CAAA;YACnE,CAAC;YAED,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;YAEf,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;QAC1B,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AACzB,CAAC,CAAA;AAED,kBAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"playwrightTest.js","sourceRoot":"","sources":["../../src/playwright-test/playwrightTest.ts"],"names":[],"mappings":";;;;;;AAWA,yDAIiC;AACjC,sDAAwB;AACxB,+EAAsD;AACtD,6EAAoD;AACpD,0DAAsD;AACtD,0DAA6D;AAC7D,qGAA4E;AAC5E,uEAA8C;AAC9C,iFAAwD;AACxD,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,gBAAgB,CAAC,CAAA;AA4B7C,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAe,EAAE;IAC9D,IAAI,UAAU,GAAgC,IAAI,CAAA;IAClD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAA;IAElC,IAAA,oCAA0B,EAAC;QACzB,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,OAAO;KAC1B,CAAC,CAAA;IAIF,IAAI,IAAU,CAAA;IACd,IAAI,QAAsC,CAAA;IAC1C,IAAI,CAAC;QAEH,CAAC;QAAA,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAI,KAAe,CAAC,OAAO,CAC/D,CAAA;IACH,CAAC;IAED,IAAA,6BAAa,EAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAChC,IAAA,0BAAgB,EAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1C,IAAA,wBAAc,EAAC,EAAE,GAAG,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAA;IAElD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAW;QAMjC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,EAAE,EAAE;gBACzD,GAAG,MAAM;gBACT,IAAI,EAAE,IAAA,yBAAe,EAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE;oBACvC,sBAAsB,EAAE,IAAI;iBAC7B,CAAC;aACH,CAAC,CAAA;YACF,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA;YAClB,IAAI,CAAC;gBACH,iBAAE,CAAC,UAAU,CAAC,oCAAoB,CAAC,CAAA;YACrC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,WAAW,CACT,gDAAiD,CAAW,CAAC,OAAO,EAAE,CACvE,CAAA;YACH,CAAC;YACD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE;YAC5B,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;YAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,UAAU,GAAG,IAAI,iCAAoB,CAAC,IAAI,CAAC,CAAA;gBAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;gBAC5B,IAAI,GAAG,IAAA,+BAAkB,EAAC,IAAI,EAAE,UAAU,CAAuB,CAAA;YACnE,CAAC;YAED,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;YAEf,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;QAC1B,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AACzB,CAAC,CAAA;AAlEY,QAAA,cAAc,kBAkE1B"}
@@ -38,11 +38,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.MaximumRetriesReached = exports.sendResultsToServer = exports.MAX_RETRIES = exports.MAX_PAGE_STATES_PER_REQUEST = void 0;
40
40
  const undici_1 = require("undici");
41
- const uuid_1 = require("uuid");
42
41
  const readVariables_1 = __importDefault(require("./utils/readVariables"));
43
42
  const linearBackoff_1 = __importDefault(require("./utils/linearBackoff"));
44
43
  const createAbortController_1 = __importStar(require("./utils/createAbortController"));
45
44
  const isCI_1 = require("./utils/isCI");
45
+ const shouldUseEnvProxy_1 = require("./utils/shouldUseEnvProxy");
46
46
  const { version } = require('../package.json');
47
47
  exports.MAX_PAGE_STATES_PER_REQUEST = 5;
48
48
  exports.MAX_RETRIES = 3;
@@ -65,6 +65,10 @@ const sendResultsToServer = async ({ results, debugLogger }) => {
65
65
  ...git_data
66
66
  };
67
67
  const { signal, cleanup } = (0, createAbortController_1.default)();
68
+ let dispatcher = (0, undici_1.getGlobalDispatcher)();
69
+ if ((0, shouldUseEnvProxy_1.shouldUseEnvProxy)()) {
70
+ dispatcher = new undici_1.EnvHttpProxyAgent();
71
+ }
68
72
  try {
69
73
  const res = await fetch(resultsURL, {
70
74
  method: 'PUT',
@@ -73,7 +77,7 @@ const sendResultsToServer = async ({ results, debugLogger }) => {
73
77
  'Content-Type': 'application/json',
74
78
  'X-API-Key': api_key
75
79
  },
76
- dispatcher: new undici_1.EnvHttpProxyAgent(),
80
+ dispatcher,
77
81
  body: JSON.stringify(body),
78
82
  signal
79
83
  });
@@ -153,7 +157,7 @@ const sendResultsToServer = async ({ results, debugLogger }) => {
153
157
  };
154
158
  results.forEach(result => {
155
159
  if (result.screenshot) {
156
- result.screenshot_id = (0, uuid_1.v4)();
160
+ result.screenshot_id = crypto.randomUUID();
157
161
  }
158
162
  });
159
163
  const requestErrorHandler = (error) => {
@@ -175,6 +179,10 @@ const sendResultsToServer = async ({ results, debugLogger }) => {
175
179
  if (catchResult) {
176
180
  return Promise.resolve(catchResult);
177
181
  }
182
+ let dispatcher = (0, undici_1.getGlobalDispatcher)();
183
+ if ((0, shouldUseEnvProxy_1.shouldUseEnvProxy)()) {
184
+ dispatcher = new undici_1.EnvHttpProxyAgent();
185
+ }
178
186
  await Promise.all(results.map(async ({ screenshot, screenshot_id }) => {
179
187
  if (!screenshot) {
180
188
  return;
@@ -184,7 +192,7 @@ const sendResultsToServer = async ({ results, debugLogger }) => {
184
192
  const { ok } = await fetch(url, {
185
193
  method: 'POST',
186
194
  redirect: 'follow',
187
- dispatcher: new undici_1.EnvHttpProxyAgent(),
195
+ dispatcher,
188
196
  headers: {
189
197
  'Content-Type': 'image/png',
190
198
  'X-API-Key': api_key
@@ -1 +1 @@
1
- {"version":3,"file":"sendResultsToServer.js","sourceRoot":"","sources":["../src/sendResultsToServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sendResultsToServer.js","sourceRoot":"","sources":["../src/sendResultsToServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mCAA+D;AAG/D,0EAAiD;AACjD,0EAAiD;AAEjD,uFAEsC;AACtC,uCAAmC;AACnC,iEAA6D;AAI7D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AASjC,QAAA,2BAA2B,GAAG,CAAC,CAAA;AAM/B,QAAA,WAAW,GAAG,CAAC,CAAA;AAyBrB,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,OAAO,EACP,WAAW,EACe,EAA4C,EAAE;IACxE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAA,uBAAa,GAAE,CAAA;IAErE,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,6BAA6B,UAAU,EAAE,EACzC,UAAU,CACX,CAAA;IACD,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,6BAA6B,UAAU,cAAc,EACrD,UAAU,CACX,CAAA;IACD,MAAM,iBAAiB,GAAG,IAAA,WAAI,GAAE,CAAA;IAEhC,WAAW,CAAC,uCAAuC,EAAE;QACnD,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;KACvD,CAAC,CAAA;IACF,WAAW,CAAC,iCAAiC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;IAC9D,WAAW,CAAC,0CAA0C,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAA;IAE9E,MAAM,UAAU,GAAG,KAAK,EACtB,cAAwB,EAAE,EAC1B,YAAY,GAAG,CAAC,EACD,EAAE;QACjB,MAAM,IAAI,GAAS;YACjB,mBAAmB,EAAE,OAAO;YAC5B,OAAO,EAAE,WAAW;YACpB,mBAAmB,EAAE,iBAAiB;YACtC,GAAG,QAAQ;SACZ,CAAA;QAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,+BAAqB,GAAE,CAAA;QAEnD,IAAI,UAAU,GAAG,IAAA,4BAAmB,GAAE,CAAA;QAEtC,IAAI,IAAA,qCAAiB,GAAE,EAAE,CAAC;YACxB,UAAU,GAAG,IAAI,0BAAiB,EAAE,CAAA;QACtC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE;gBAClC,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,QAAQ;gBAClB,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,WAAW,EAAE,OAAO;iBACrB;gBACD,UAAU;gBACV,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM;aAC4C,CAAC,CAAA;YAErD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,WAAW,CAAC,6CAA6C,EAAE;oBACzD,YAAY,EAAE,WAAW,CAAC,MAAM;oBAChC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAChD,SAAS,EAAE,GAAG,CAAC,MAAM;oBACrB,aAAa,EAAE,GAAG,CAAC,UAAU;iBAC9B,CAAC,CAAA;gBAGF,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;YACrE,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,wCAAwC,EAAE;oBACpD,YAAY,EAAE,WAAW,CAAC,MAAM;oBAChC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAChD,SAAS,EAAE,GAAG,CAAC,MAAM;oBACrB,aAAa,EAAE,GAAG,CAAC,UAAU;iBAC9B,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,KAAK,GAAG,CAAA;YAChC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,KAAK,GAAG,CAAA;YAChC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,KAAK,GAAG,CAAA;YAEhC,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,YAAY,KAAK,mBAAW,EAAE,CAAC;gBAC9D,MAAM,cAAc,GAAG,YAAY,GAAG,CAAC,CAAA;gBAEvC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;gBAC9C,WAAW,CAAC,kCAAkC,EAAE;oBAC9C,YAAY,EAAE,cAAc;oBAC5B,SAAS,EAAE,GAAG,CAAC,MAAM;oBACrB,YAAY,EAAE,WAAW,CAAC,MAAM;oBAChC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;iBACjD,CAAC,CAAA;gBAEF,MAAM,IAAA,uBAAa,EAAC,cAAc,CAAC,CAAA;gBACnC,MAAM,UAAU,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;YAC/C,CAAC;iBAAM,IAAI,YAAY,KAAK,mBAAW,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACnD,WAAW,CAAC,0CAA0C,EAAE;oBACtD,YAAY;oBACZ,SAAS,EAAE,GAAG,CAAC,MAAM;iBACtB,CAAC,CAAA;gBAEF,OAAO,CAAC,IAAI,CACV,0EAA0E,CAC3E,CAAA;gBACD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAA;YACpD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAAe,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC3C,WAAW,CAAC,qDAAqD,EAAE;oBACjE,YAAY,EAAE,gDAAwB;oBACtC,YAAY;oBACZ,YAAY,EAAE,WAAW,CAAC,MAAM;oBAChC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;iBACjD,CAAC,CAAA;gBAEF,IAAI,YAAY,KAAK,mBAAW,EAAE,CAAC;oBACjC,MAAM,cAAc,GAAG,YAAY,GAAG,CAAC,CAAA;oBAEvC,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;oBAC5D,WAAW,CAAC,gDAAgD,EAAE;wBAC5D,YAAY,EAAE,cAAc;wBAC5B,YAAY,EAAE,WAAW,CAAC,MAAM;wBAChC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;qBACjD,CAAC,CAAA;oBAEF,MAAM,IAAA,uBAAa,EAAC,cAAc,CAAC,CAAA;oBACnC,MAAM,UAAU,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;gBAC/C,CAAC;qBAAM,CAAC;oBACN,WAAW,CACT,wDAAwD,EACxD;wBACE,YAAY;qBACb,CACF,CAAA;oBAED,OAAO,CAAC,IAAI,CACV,2DAA2D,CAC5D,CAAA;oBACD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAA;gBACpD,CAAC;YACH,CAAC;YAGD,MAAM,KAAK,CAAA;QACb,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC,CAAA;IAGD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACvB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;QAC5C,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,mBAAmB,GAAG,CAC1B,KAAoC,EACH,EAAE;QAMnC,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;YAC3C,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,CAAA;QACzC,CAAC;QAED,WAAW,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAA;IACxD,CAAC,CAAA;IAED,IAAI,WAAW,CAAA;IAGf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,mCAA2B,EAAE,CAAC;QAErE,MAAM,KAAK,GAAG,OAAO;aAClB,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,mCAA2B,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACzC,WAAW,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAChE,IAAI,WAAW,EAAE,CAAC;YAChB,MAAK;QACP,CAAC;IACH,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACrC,CAAC;IAED,IAAI,UAAU,GAAG,IAAA,4BAAmB,GAAE,CAAA;IAEtC,IAAI,IAAA,qCAAiB,GAAE,EAAE,CAAC;QACxB,UAAU,GAAG,IAAI,0BAAiB,EAAE,CAAA;IACtC,CAAC;IAGD,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAM;QACR,CAAC;QAGD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACxC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,aAAuB,CAAC,CAAA;QAE9D,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,QAAQ;YAClB,UAAU;YACV,OAAO,EAAE;gBACP,cAAc,EAAE,WAAW;gBAC3B,WAAW,EAAE,OAAO;aACrB;YACD,IAAI,EAAE,UAAU;SACkC,CAAC,CAAA;QAErD,IAAI,CAAC,EAAE,EAAE,CAAC;YAER,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAA;QACxE,CAAC;IACH,CAAC,CAAC,CACH,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;AAC9B,CAAC,CAAA;AA3NY,QAAA,mBAAmB,uBA2N/B;AAED,MAAa,qBAAsB,SAAQ,KAAK;IAC9C;QACE,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AALD,sDAKC;AAED,kBAAe,2BAAmB,CAAA"}
@@ -4,10 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const assert_1 = __importDefault(require("assert"));
7
- const uuid_1 = require("uuid");
8
7
  const createDebugger_1 = __importDefault(require("../createDebugger"));
9
8
  const sync_fetch_1 = require("./sync-fetch");
10
9
  const debugLogger = (0, createDebugger_1.default)('config:initializeSession');
10
+ const uuidRegex = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;
11
+ const validateUUID = (uuid) => {
12
+ return typeof uuid === 'string' && uuidRegex.test(uuid);
13
+ };
11
14
  function initializeSession({ apiKey, projectId, serverURL, watcherVersion, sessionID, buildID, gitCommitSha, gitUrl, gitBranch, gitCommitAuthor, gitIsDirty, gitDefaultBranch, gitCommitMessage, gitTag, gitCommitEmail, configOverrides, runOptions, isCanonicalSource }) {
12
15
  (0, assert_1.default)(apiKey, 'API key is required');
13
16
  (0, assert_1.default)(serverURL, 'Server URL is required');
@@ -26,7 +29,7 @@ function initializeSession({ apiKey, projectId, serverURL, watcherVersion, sessi
26
29
  (0, assert_1.default)(gitCommitEmail === null || typeof gitCommitEmail === 'string', 'Git Commit Email must be a string or null');
27
30
  (0, assert_1.default)(configOverrides === null || typeof configOverrides === 'object', 'Configuration Overrides must be an object or null');
28
31
  (0, assert_1.default)(runOptions === null || typeof runOptions === 'object', 'Run Options must be an object or null');
29
- (0, assert_1.default)(projectId === null || (0, uuid_1.validate)(projectId), 'Project ID must be a valid v4 UUID or null');
32
+ (0, assert_1.default)(projectId === null || validateUUID(projectId), 'Project ID must be a valid v4 UUID or null');
30
33
  const url = new URL(`/api-pub/watcher/sessions`, serverURL);
31
34
  if (isCanonicalSource) {
32
35
  debugLogger('Initializing session from canonical source');
@@ -66,7 +69,7 @@ function initializeSession({ apiKey, projectId, serverURL, watcherVersion, sessi
66
69
  method: 'POST',
67
70
  body: JSON.stringify(payload)
68
71
  });
69
- const body = JSON.parse(res.body);
72
+ const body = res.body;
70
73
  const error = body.error || (body.errors?.length && body.errors[0]);
71
74
  if (error) {
72
75
  debugLogger('Error initializing session:', error);
@@ -1 +1 @@
1
- {"version":3,"file":"initializeSession.js","sourceRoot":"","sources":["../../src/utils/initializeSession.ts"],"names":[],"mappings":";;;;;AAAA,oDAA2B;AAC3B,+BAA+C;AAC/C,uEAA8C;AAG9C,6CAAwC;AACxC,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,0BAA0B,CAAC,CAAA;AAqE9D,SAAS,iBAAiB,CAAC,EACzB,MAAM,EACN,SAAS,EACT,SAAS,EACT,cAAc,EACd,SAAS,EACT,OAAO,EACP,YAAY,EACZ,MAAM,EACN,SAAS,EACT,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,EACN,cAAc,EACd,eAAe,EACf,UAAU,EACV,iBAAiB,EACO;IAIxB,IAAA,gBAAM,EAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IACrC,IAAA,gBAAM,EAAC,SAAS,EAAE,wBAAwB,CAAC,CAAA;IAC3C,IAAA,gBAAM,EAAC,cAAc,EAAE,6BAA6B,CAAC,CAAA;IACrD,IAAA,gBAAM,EACJ,CAAC,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,CAAC,EAC7C,6BAA6B,CAC9B,CAAA;IACD,IAAA,gBAAM,EAAC,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,EAAE,2BAA2B,CAAC,CAAA;IAC9E,IAAA,gBAAM,EACJ,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,EACvB,yGAAyG,CAC1G,CAAA;IACD,IAAA,gBAAM,EACJ,CAAC,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,CAAC,EACnD,iCAAiC,CAClC,CAAA;IACD,IAAA,gBAAM,EACJ,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAC7C,kCAAkC,CACnC,CAAA;IACD,IAAA,gBAAM,EACJ,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EACnD,qCAAqC,CACtC,CAAA;IACD,IAAA,gBAAM,EACJ,eAAe,KAAK,IAAI,IAAI,OAAO,eAAe,KAAK,QAAQ,EAC/D,4CAA4C,CAC7C,CAAA;IACD,IAAA,gBAAM,EACJ,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,SAAS,EACtD,wCAAwC,CACzC,CAAA;IACD,IAAA,gBAAM,EACJ,gBAAgB,KAAK,IAAI,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EACjE,6CAA6C,CAC9C,CAAA;IACD,IAAA,gBAAM,EACJ,gBAAgB,KAAK,IAAI,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EACjE,6CAA6C,CAC9C,CAAA;IACD,IAAA,gBAAM,EACJ,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAC7C,kCAAkC,CACnC,CAAA;IACD,IAAA,gBAAM,EACJ,cAAc,KAAK,IAAI,IAAI,OAAO,cAAc,KAAK,QAAQ,EAC7D,2CAA2C,CAC5C,CAAA;IACD,IAAA,gBAAM,EACJ,eAAe,KAAK,IAAI,IAAI,OAAO,eAAe,KAAK,QAAQ,EAC/D,mDAAmD,CACpD,CAAA;IACD,IAAA,gBAAM,EACJ,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,EACrD,uCAAuC,CACxC,CAAA;IAED,IAAA,gBAAM,EACJ,SAAS,KAAK,IAAI,IAAI,IAAA,eAAY,EAAC,SAAS,CAAC,EAC7C,4CAA4C,CAC7C,CAAA;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAA;IAC3D,IAAI,iBAAiB,EAAE,CAAC;QACtB,WAAW,CAAC,4CAA4C,CAAC,CAAA;IAC3D,CAAC;IACD,MAAM,OAAO,GAA6B;QACxC,eAAe,EAAE,cAAc;QAC/B,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,OAAO;QACjB,cAAc,EAAE,YAAY;QAC5B,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,SAAS;QACrB,iBAAiB,EAAE,eAAe;QAClC,YAAY,EAAE,UAAU;QACxB,kBAAkB,EAAE,gBAAgB;QACpC,kBAAkB,EAAE,gBAAgB;QACpC,OAAO,EAAE,MAAM;QACf,gBAAgB,EAAE,cAAc;QAChC,cAAc,EAAE;YACd,uBAAuB,EAAE,eAAe;gBACtC,CAAC,CAAC;oBACE,sBAAsB,EAAE,eAAe,EAAE,qBAAqB;oBAC9D,gBAAgB,EAAE,eAAe,EAAE,cAAc;oBACjD,cAAc,EAAE,eAAe,EAAE,aAAa;oBAC9C,kBAAkB,EAAE,eAAe,EAAE,iBAAiB;iBACvD;gBACH,CAAC,CAAC,IAAI;YACR,WAAW,EAAE,UAAU;SACxB;QAED,GAAG,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QAC3C,mBAAmB,EAAE,iBAAiB;KACvC,CAAA;IAED,MAAM,GAAG,GAAG,IAAA,sBAAS,EAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QACpC,OAAO,EAAE;YACP,WAAW,EAAE,MAAM;YACnB,cAAc,EAAE,kBAAkB;SACnC;QACD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAA8B,CAAA;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,IAAI,KAAK,EAAE,CAAC;QACV,WAAW,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAA;QACjD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACzB,WAAW,CAAC,+BAA+B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAG3D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACxC,CAAC;IAED,WAAW,CAAC,mCAAmC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAEjE,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAA;AACH,CAAC;AAED,kBAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"initializeSession.js","sourceRoot":"","sources":["../../src/utils/initializeSession.ts"],"names":[],"mappings":";;;;;AAAA,oDAA2B;AAC3B,uEAA8C;AAG9C,6CAAwC;AACxC,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,0BAA0B,CAAC,CAAA;AAG9D,MAAM,SAAS,GACb,0JAA0J,CAAA;AAE5J,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE;IAC7C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzD,CAAC,CAAA;AAqED,SAAS,iBAAiB,CAAC,EACzB,MAAM,EACN,SAAS,EACT,SAAS,EACT,cAAc,EACd,SAAS,EACT,OAAO,EACP,YAAY,EACZ,MAAM,EACN,SAAS,EACT,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,EACN,cAAc,EACd,eAAe,EACf,UAAU,EACV,iBAAiB,EACO;IAIxB,IAAA,gBAAM,EAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IACrC,IAAA,gBAAM,EAAC,SAAS,EAAE,wBAAwB,CAAC,CAAA;IAC3C,IAAA,gBAAM,EAAC,cAAc,EAAE,6BAA6B,CAAC,CAAA;IACrD,IAAA,gBAAM,EACJ,CAAC,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,CAAC,EAC7C,6BAA6B,CAC9B,CAAA;IACD,IAAA,gBAAM,EAAC,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,EAAE,2BAA2B,CAAC,CAAA;IAC9E,IAAA,gBAAM,EACJ,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,EACvB,yGAAyG,CAC1G,CAAA;IACD,IAAA,gBAAM,EACJ,CAAC,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,CAAC,EACnD,iCAAiC,CAClC,CAAA;IACD,IAAA,gBAAM,EACJ,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAC7C,kCAAkC,CACnC,CAAA;IACD,IAAA,gBAAM,EACJ,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EACnD,qCAAqC,CACtC,CAAA;IACD,IAAA,gBAAM,EACJ,eAAe,KAAK,IAAI,IAAI,OAAO,eAAe,KAAK,QAAQ,EAC/D,4CAA4C,CAC7C,CAAA;IACD,IAAA,gBAAM,EACJ,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,SAAS,EACtD,wCAAwC,CACzC,CAAA;IACD,IAAA,gBAAM,EACJ,gBAAgB,KAAK,IAAI,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EACjE,6CAA6C,CAC9C,CAAA;IACD,IAAA,gBAAM,EACJ,gBAAgB,KAAK,IAAI,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EACjE,6CAA6C,CAC9C,CAAA;IACD,IAAA,gBAAM,EACJ,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAC7C,kCAAkC,CACnC,CAAA;IACD,IAAA,gBAAM,EACJ,cAAc,KAAK,IAAI,IAAI,OAAO,cAAc,KAAK,QAAQ,EAC7D,2CAA2C,CAC5C,CAAA;IACD,IAAA,gBAAM,EACJ,eAAe,KAAK,IAAI,IAAI,OAAO,eAAe,KAAK,QAAQ,EAC/D,mDAAmD,CACpD,CAAA;IACD,IAAA,gBAAM,EACJ,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,EACrD,uCAAuC,CACxC,CAAA;IAED,IAAA,gBAAM,EACJ,SAAS,KAAK,IAAI,IAAI,YAAY,CAAC,SAAS,CAAC,EAC7C,4CAA4C,CAC7C,CAAA;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAA;IAC3D,IAAI,iBAAiB,EAAE,CAAC;QACtB,WAAW,CAAC,4CAA4C,CAAC,CAAA;IAC3D,CAAC;IACD,MAAM,OAAO,GAA6B;QACxC,eAAe,EAAE,cAAc;QAC/B,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,OAAO;QACjB,cAAc,EAAE,YAAY;QAC5B,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,SAAS;QACrB,iBAAiB,EAAE,eAAe;QAClC,YAAY,EAAE,UAAU;QACxB,kBAAkB,EAAE,gBAAgB;QACpC,kBAAkB,EAAE,gBAAgB;QACpC,OAAO,EAAE,MAAM;QACf,gBAAgB,EAAE,cAAc;QAChC,cAAc,EAAE;YACd,uBAAuB,EAAE,eAAe;gBACtC,CAAC,CAAC;oBACE,sBAAsB,EAAE,eAAe,EAAE,qBAAqB;oBAC9D,gBAAgB,EAAE,eAAe,EAAE,cAAc;oBACjD,cAAc,EAAE,eAAe,EAAE,aAAa;oBAC9C,kBAAkB,EAAE,eAAe,EAAE,iBAAiB;iBACvD;gBACH,CAAC,CAAC,IAAI;YACR,WAAW,EAAE,UAAU;SACxB;QAED,GAAG,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QAC3C,mBAAmB,EAAE,iBAAiB;KACvC,CAAA;IAED,MAAM,GAAG,GAAG,IAAA,sBAAS,EAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QACpC,OAAO,EAAE;YACP,WAAW,EAAE,MAAM;YACnB,cAAc,EAAE,kBAAkB;SACnC;QACD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,GAAG,CAAC,IAAiC,CAAA;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,IAAI,KAAK,EAAE,CAAC;QACV,WAAW,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAA;QACjD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;IACxB,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACzB,WAAW,CAAC,+BAA+B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAG3D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACxC,CAAC;IAED,WAAW,CAAC,mCAAmC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IAEjE,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAA;AACH,CAAC;AAED,kBAAe,iBAAiB,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Determine if the environment proxy should be used based on
3
+ * opt-in environment variables.
4
+ */
5
+ export declare const shouldUseEnvProxy: () => boolean;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shouldUseEnvProxy = void 0;
4
+ const shouldUseEnvProxy = function () {
5
+ const envVars = [
6
+ 'AXE_WATCHER_USE_ENV_PROXY',
7
+ 'AXE_USE_ENV_PROXY',
8
+ 'NODE_USE_ENV_PROXY'
9
+ ];
10
+ for (const envVar of envVars) {
11
+ const value = (process.env[envVar.toLowerCase()] ?? process.env[envVar])?.trim();
12
+ if (value === '0') {
13
+ return false;
14
+ }
15
+ if (value === '1') {
16
+ return true;
17
+ }
18
+ }
19
+ return false;
20
+ };
21
+ exports.shouldUseEnvProxy = shouldUseEnvProxy;
22
+ //# sourceMappingURL=shouldUseEnvProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shouldUseEnvProxy.js","sourceRoot":"","sources":["../../src/utils/shouldUseEnvProxy.ts"],"names":[],"mappings":";;;AAIO,MAAM,iBAAiB,GAAG;IAC/B,MAAM,OAAO,GAAG;QACd,2BAA2B;QAC3B,mBAAmB;QACnB,oBAAoB;KACrB,CAAA;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,CACZ,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CACzD,EAAE,IAAI,EAAE,CAAA;QAET,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAtBY,QAAA,iBAAiB,qBAsB7B"}
@@ -6,72 +6,165 @@
6
6
  */
7
7
 
8
8
  import { isMainThread, workerData } from 'node:worker_threads'
9
- import { EnvHttpProxyAgent } from 'undici'
9
+ import { EnvHttpProxyAgent, getGlobalDispatcher } from 'undici'
10
10
 
11
11
  if (isMainThread) {
12
12
  throw new Error('This script should only be run as a worker thread')
13
13
  }
14
14
 
15
- const { url, options, sharedBuffer, timeout, WORKER_STATUS, BUFFER_LAYOUT } =
16
- workerData
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
+ export const shouldUseEnvProxy = function () {
75
+ const envVars = [
76
+ 'AXE_WATCHER_USE_ENV_PROXY',
77
+ 'AXE_USE_ENV_PROXY',
78
+ 'NODE_USE_ENV_PROXY'
79
+ ]
17
80
 
18
- const int32Array = new Int32Array(sharedBuffer)
19
- const responseBuffer = new Uint8Array(
20
- sharedBuffer,
21
- BUFFER_LAYOUT.RESPONSE_OFFSET
22
- )
81
+ for (const envVar of envVars) {
82
+ const value = (
83
+ process.env[envVar.toLowerCase()] ?? process.env[envVar]
84
+ )?.trim()
85
+
86
+ if (value === '0') {
87
+ return false
88
+ }
89
+
90
+ if (value === '1') {
91
+ return true
92
+ }
93
+ }
94
+
95
+ return false
96
+ }
97
+
98
+ /**
99
+ * @typedef {Object} WorkerData
100
+ * @property {string} url - The URL to fetch.
101
+ * @property {Object} options - The fetch options.
102
+ * @property {number} timeout - The timeout in milliseconds.
103
+ * @property {MessagePort} port - The message port for communication.
104
+ */
105
+ const { url, options, timeout, port } = workerData
23
106
 
24
107
  try {
108
+ let dispatcher = getGlobalDispatcher()
109
+
110
+ if (shouldUseEnvProxy()) {
111
+ dispatcher = new EnvHttpProxyAgent()
112
+ }
113
+
25
114
  const response = await fetch(url, {
26
115
  ...options,
27
- dispatcher: new EnvHttpProxyAgent(),
116
+ dispatcher,
28
117
  signal: AbortSignal.timeout(timeout)
29
118
  })
30
119
 
31
- const body = await response.text()
32
- const responseData = JSON.stringify({
120
+ const contentType = response.headers.get('Content-Type')
121
+ const isResponseJson = contentType?.startsWith('application/json') ?? false
122
+ const body = isResponseJson ? await response.json() : await response.text()
123
+
124
+ const responseData = {
33
125
  status: response.status,
34
126
  statusText: response.statusText,
127
+ // Headers can't be serialized directly
35
128
  headers: Object.fromEntries(response.headers.entries()),
36
129
  body,
37
130
  ok: response.ok
38
- })
131
+ }
39
132
 
40
- const encoder = new TextEncoder()
41
- const encoded = encoder.encode(responseData)
133
+ port.postMessage({
134
+ data: responseData
135
+ })
136
+ } catch (error) {
137
+ const HTTP_PROXY = process.env.http_proxy || process.env.HTTP_PROXY
138
+ const HTTPS_PROXY = process.env.https_proxy || process.env.HTTPS_PROXY
139
+ const NO_PROXY = process.env.no_proxy || process.env.NO_PROXY
42
140
 
43
- if (encoded.length > responseBuffer.length - 4) {
44
- throw new Error('Response too large for shared buffer')
141
+ const context = {
142
+ url: sanitizeUrl(url),
143
+ env: {
144
+ HTTP_PROXY: HTTP_PROXY ? sanitizeUrl(HTTP_PROXY) : undefined,
145
+ HTTPS_PROXY: HTTPS_PROXY ? sanitizeUrl(HTTPS_PROXY) : undefined,
146
+ NO_PROXY,
147
+ NODE_EXTRA_CA_CERTS: process.env.NODE_EXTRA_CA_CERTS,
148
+ NODE_TLS_REJECT_UNAUTHORIZED: process.env.NODE_TLS_REJECT_UNAUTHORIZED
149
+ }
45
150
  }
46
151
 
47
- const lengthView = new Uint32Array(
48
- sharedBuffer,
49
- BUFFER_LAYOUT.LENGTH_OFFSET,
50
- BUFFER_LAYOUT.LENGTH_VIEW_SIZE
51
- )
52
- lengthView[0] = encoded.length
53
- responseBuffer.set(encoded)
152
+ const err = new FetchWorkerError(context)
153
+ err.cause = error
54
154
 
55
- Atomics.store(int32Array, BUFFER_LAYOUT.STATUS_INDEX, WORKER_STATUS.SUCCESS)
56
- Atomics.notify(int32Array, BUFFER_LAYOUT.STATUS_INDEX)
57
- } catch (error) {
58
- let errorMessage = error.message || 'Unknown error'
59
- if (error.name === 'TimeoutError') {
60
- errorMessage = 'Fetch request timed out after ' + timeout + 'ms'
61
- }
62
- const encoder = new TextEncoder()
63
- const encoded = encoder.encode(errorMessage)
64
-
65
- if (encoded.length <= responseBuffer.length - 4) {
66
- const lengthView = new Uint32Array(
67
- sharedBuffer,
68
- BUFFER_LAYOUT.LENGTH_OFFSET,
69
- BUFFER_LAYOUT.LENGTH_VIEW_SIZE
70
- )
71
- lengthView[0] = encoded.length
72
- responseBuffer.set(encoded)
155
+ if (error instanceof DOMException) {
156
+ if (error.name === 'TimeoutError') {
157
+ const timeoutError = new OverrideError(
158
+ `The operation was aborted due to timeout (${timeout}ms)`,
159
+ 'TimeoutError'
160
+ )
161
+ err.cause = timeoutError
162
+ }
73
163
  }
74
164
 
75
- Atomics.store(int32Array, BUFFER_LAYOUT.STATUS_INDEX, WORKER_STATUS.ERROR)
76
- Atomics.notify(int32Array, BUFFER_LAYOUT.STATUS_INDEX)
165
+ port.postMessage({
166
+ error: err
167
+ })
168
+ } finally {
169
+ port.close()
77
170
  }
@@ -5,7 +5,7 @@ export interface SyncFetchResponse {
5
5
  status: number;
6
6
  statusText: string;
7
7
  headers: Record<string, string>;
8
- body: string;
8
+ body: unknown;
9
9
  ok: boolean;
10
10
  }
11
11
  export declare function syncFetch(url: string, options?: RequestInit, customOptions?: SyncFetchCustomOptions): SyncFetchResponse;
@@ -3,70 +3,78 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.syncFetch = syncFetch;
4
4
  const node_worker_threads_1 = require("node:worker_threads");
5
5
  const node_path_1 = require("node:path");
6
- const WORKER_STATUS = {
7
- PENDING: 0,
8
- SUCCESS: 1,
9
- ERROR: 2
10
- };
11
- const BUFFER_LAYOUT = {
12
- STATUS_INDEX: 0,
13
- LENGTH_OFFSET: 12,
14
- RESPONSE_OFFSET: 16,
15
- LENGTH_VIEW_SIZE: 1,
16
- DEFAULT_BUFFER_SIZE: 1024 * 1024
17
- };
18
6
  function syncFetch(url, options = {}, customOptions = {
19
7
  timeout: 30000
20
8
  }) {
21
9
  const timeout = customOptions.timeout || 30000;
22
10
  const processingBuffer = 3000;
23
11
  const mainThreadTimeout = timeout + processingBuffer;
24
- const sharedBuffer = new SharedArrayBuffer(BUFFER_LAYOUT.RESPONSE_OFFSET + BUFFER_LAYOUT.DEFAULT_BUFFER_SIZE);
25
- const int32Array = new Int32Array(sharedBuffer);
26
- Atomics.store(int32Array, BUFFER_LAYOUT.STATUS_INDEX, WORKER_STATUS.PENDING);
12
+ const { port1, port2 } = new node_worker_threads_1.MessageChannel();
13
+ const sleepBuffer = new SharedArrayBuffer(4);
14
+ const sleepArray = new Int32Array(sleepBuffer);
27
15
  const worker = new node_worker_threads_1.Worker((0, node_path_1.join)(__dirname, 'sync-fetch-worker.mjs'), {
28
16
  name: 'sync-fetch',
29
17
  eval: false,
30
18
  workerData: {
31
19
  url,
32
20
  options,
33
- sharedBuffer,
34
21
  timeout,
35
- WORKER_STATUS,
36
- BUFFER_LAYOUT
37
- }
22
+ port: port2
23
+ },
24
+ transferList: [port2]
38
25
  });
26
+ const { startTime } = performance.mark('axe-watcher:sync-fetch:start');
27
+ let message;
39
28
  try {
40
- const result = Atomics.wait(int32Array, BUFFER_LAYOUT.STATUS_INDEX, WORKER_STATUS.PENDING, mainThreadTimeout);
41
- if (result === 'timed-out') {
42
- throw new Error(`Request timed out - worker thread did not respond within ${mainThreadTimeout}ms`);
43
- }
44
- const status = Atomics.load(int32Array, BUFFER_LAYOUT.STATUS_INDEX);
45
- if (status === WORKER_STATUS.ERROR) {
46
- const lengthView = new Uint32Array(sharedBuffer, BUFFER_LAYOUT.LENGTH_OFFSET, BUFFER_LAYOUT.LENGTH_VIEW_SIZE);
47
- const responseLength = lengthView[0];
48
- const responseBuffer = new Uint8Array(sharedBuffer, BUFFER_LAYOUT.RESPONSE_OFFSET, responseLength);
49
- const decoder = new TextDecoder();
50
- const errorMessage = decoder.decode(responseBuffer);
51
- throw new Error(`Fetch failed: ${errorMessage}`);
52
- }
53
- if (status === WORKER_STATUS.SUCCESS) {
54
- const lengthView = new Uint32Array(sharedBuffer, BUFFER_LAYOUT.LENGTH_OFFSET, BUFFER_LAYOUT.LENGTH_VIEW_SIZE);
55
- const responseLength = lengthView[0];
56
- const responseBuffer = new Uint8Array(sharedBuffer, BUFFER_LAYOUT.RESPONSE_OFFSET, responseLength);
57
- const decoder = new TextDecoder();
58
- const responseText = decoder.decode(responseBuffer);
59
- try {
60
- return JSON.parse(responseText);
61
- }
62
- catch {
63
- throw new Error('Failed to parse response data');
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`);
64
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;
65
41
  }
66
- throw new Error('Unknown response status');
42
+ return data;
67
43
  }
68
44
  finally {
45
+ performance.mark('axe-watcher:sync-fetch:end');
46
+ port1.close();
69
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;
70
77
  }
78
+ return sanitized;
71
79
  }
72
80
  //# sourceMappingURL=sync-fetch.js.map