@axe-core/watcher 3.23.0-next.c950b475 → 3.23.0-next.ce484b6f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cypress/cypress.js +4 -7
- package/dist/cypress/cypress.js.map +1 -1
- package/dist/cypressCommandsDeprecated.d.ts +1 -0
- package/dist/cypressCommandsDeprecated.js +25 -0
- package/dist/cypressCommandsDeprecated.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +8 -4
- package/dist/index.js.map +1 -1
- package/dist/playwright/playwright.d.ts +8 -3
- package/dist/playwright/playwright.js.map +1 -1
- package/dist/playwright-test/playwrightTest.d.ts +4 -4
- package/dist/playwright-test/playwrightTest.js +2 -1
- package/dist/playwright-test/playwrightTest.js.map +1 -1
- package/dist/sendResultsToServer.js +12 -4
- package/dist/sendResultsToServer.js.map +1 -1
- package/dist/utils/initializeSession.js +6 -3
- package/dist/utils/initializeSession.js.map +1 -1
- package/dist/utils/shouldUseEnvProxy.d.ts +5 -0
- package/dist/utils/shouldUseEnvProxy.js +22 -0
- package/dist/utils/shouldUseEnvProxy.js.map +1 -0
- package/dist/utils/sync-fetch-worker.mjs +136 -43
- package/dist/utils/sync-fetch.d.ts +1 -1
- package/dist/utils/sync-fetch.js +52 -44
- package/dist/utils/sync-fetch.js.map +1 -1
- package/dist/utils/test-constants.d.ts +14 -0
- package/dist/utils/test-constants.js +12 -0
- package/dist/utils/test-constants.js.map +1 -0
- package/dist/utils/writeVariables.d.ts +5 -0
- package/dist/utils/writeVariables.js +2 -4
- package/dist/utils/writeVariables.js.map +1 -1
- package/extension/axe-versions/axe-core@4.11.0/axe.min.js +12 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/README.md +9 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/_template.json +1131 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/da.json +799 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/de.json +1127 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/el.json +1069 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/es.json +790 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/eu.json +789 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/fr.json +994 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/he.json +1017 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/it.json +1108 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/ja.json +1127 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/ko.json +1003 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/nl.json +48 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/no_NB.json +799 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/pl.json +1109 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/pt_BR.json +970 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/pt_PT.json +1123 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/ru.json +1127 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/zh_CN.json +1116 -0
- package/extension/axe-versions/axe-core@4.11.0/locales/zh_TW.json +1108 -0
- package/extension/axe-versions-mapper.js +2 -0
- package/extension/axe.js +1 -1
- package/extension/axe.js.LICENSE.txt +1 -1
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/package.json +78 -8
package/dist/cypress/cypress.js
CHANGED
|
@@ -23,18 +23,15 @@ exports.cypressEnabledTestingModes = '__AXE_WATCHER_CYPRESS_TESTING_TYPES';
|
|
|
23
23
|
exports.cypressAxeWatcherDebug = '__AXE_WATCHER_DEBUG';
|
|
24
24
|
const cypressConfig = (config) => {
|
|
25
25
|
const { axe, ...userConfig } = config;
|
|
26
|
-
const { DEBUG
|
|
26
|
+
const { DEBUG } = process.env;
|
|
27
27
|
const hasWatcherDebug = DEBUG && DEBUG.includes('axe-watcher');
|
|
28
|
-
const isProjectIdFeatureFlagEnabled = AXE_WATCHER_PROJECT_ID && AXE_WATCHER_PROJECT_ID.toLowerCase() === 'true';
|
|
29
28
|
const testingTypes = (0, exports.normalizeTestingTypes)(axe.testingTypes);
|
|
30
|
-
if (
|
|
29
|
+
if (!axe.projectId) {
|
|
31
30
|
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');
|
|
32
31
|
}
|
|
33
|
-
const { projectId, ...axeCommonConfig } = axe;
|
|
34
32
|
(0, writeVariables_1.default)({
|
|
35
|
-
...
|
|
36
|
-
cypress: true
|
|
37
|
-
...(isProjectIdFeatureFlagEnabled && { projectId })
|
|
33
|
+
...axe,
|
|
34
|
+
cypress: true
|
|
38
35
|
});
|
|
39
36
|
(0, writeExtensionManifest_1.default)({
|
|
40
37
|
all_frames: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../../src/cypress/cypress.ts"],"names":[],"mappings":";;;;;;AAAA,iFAAwD;AACxD,uEAA8C;AAC9C,6EAEgC;AAChC,6FAA2D;AAC3D,kFAA8E;AAC9E,+EAAsD;AACtD,uEAA8C;AAC9C,2EAAkD;AAClD,0DAAsD;AAEtD,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,mBAAmB,CAAC,CAAA;AAE1C,QAAA,aAAa,GAAG,8BAA8B,CAAA;AAC9C,QAAA,oBAAoB,GAAG,kCAAkC,CAAA;AACzD,QAAA,4BAA4B,GAAG,4BAA4B,CAAA;AAC3D,QAAA,0BAA0B,GAAG,iCAAiC,CAAA;AAC9D,QAAA,qBAAqB,GAAG,2BAA2B,CAAA;AACnD,QAAA,0BAA0B,GAAG,qCAAqC,CAAA;AAClE,QAAA,sBAAsB,GAAG,qBAAqB,CAAA;AAQpD,MAAM,aAAa,GAAG,CAC3B,MAAoD,EAC7B,EAAE;IACzB,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAA;IACrC,MAAM,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../../src/cypress/cypress.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 {
|
|
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
|
|
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
|
|
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"}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Page, BrowserContext, BrowserType } from 'playwright-core';
|
|
2
2
|
import Controller from '../Controller';
|
|
3
3
|
import { type Configuration } from '../utils/writeVariables';
|
|
4
|
+
/**
|
|
5
|
+
* Pull the options for `launchPersistentContext` from Playwright
|
|
6
|
+
* since it is not defined as an individual type.
|
|
7
|
+
*/
|
|
8
|
+
type LaunchPersistentContextOptions = NonNullable<Parameters<BrowserType['launchPersistentContext']>[1]>;
|
|
4
9
|
/** Options for configuring Playwright and @axe-core/watcher. */
|
|
5
|
-
export type Options = Configuration &
|
|
10
|
+
export type Options = Configuration & LaunchPersistentContextOptions;
|
|
6
11
|
/**
|
|
7
12
|
* Creates a Playwright config that uses axe extension
|
|
8
13
|
*
|
|
9
14
|
* @param opts Playwright config to extend
|
|
10
15
|
*/
|
|
11
|
-
export declare function playwrightConfig(opts: Options):
|
|
16
|
+
export declare function playwrightConfig(opts: Options): LaunchPersistentContextOptions;
|
|
12
17
|
export declare class PlaywrightController extends Controller {
|
|
13
18
|
private driver;
|
|
14
19
|
constructor(driver: Page);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright.js","sourceRoot":"","sources":["../../src/playwright/playwright.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"playwright.js","sourceRoot":"","sources":["../../src/playwright/playwright.ts"],"names":[],"mappings":";;;;;;AAwBA,4CAqBC;AA5CD,+DAAsC;AACtC,+EAAsD;AACtD,6EAA4E;AAC5E,0DAAsD;AACtD,qGAA4E;AAmB5E,SAAgB,gBAAgB,CAC9B,IAAa;IAEb,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/B,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;IAE1B,IAAA,oCAA0B,EAAC;QACzB,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAA;IAEF,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAA;IACnB,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,YAAY,GAAG,IAAI,CAAA;IACzB,IAAI,GAAG,IAAA,yBAAe,EAAC,YAAY,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtE,OAAO;QACL,GAAG,MAAM;QACT,IAAI;KACL,CAAA;AACH,CAAC;AAED,MAAa,oBAAqB,SAAQ,oBAAU;IAGlD,YAAY,MAAY;QACtB,KAAK,CAAC;YACJ,eAAe,EAAE,sBAAsB;YACvC,eAAe,EAAE,YAAY;YAC7B,qBAAqB,EAAE,oBAAoB;SAC5C,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,EAA+B,EAC/B,GAAG,IAAe;QAElB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAA;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAI,EAAE,EAAE,GAAG,CAAC,CAAA;QACrD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AArBD,oDAqBC;AAKM,MAAM,cAAc,GAAG,CAE5B,cAA8B,EAE9B,oBAA0C,EAC1B,EAAE;IAClB,MAAM,IAAI,KAAK,CAAC;;;;;;GAMf,CAAC,CAAA;AACJ,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B;AAED,2DAAqE;AAA5D,wHAAA,QAAQ,OAAsB"}
|
|
@@ -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
|
|
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
|
|
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.
|
|
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":"
|
|
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
|
|
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 =
|
|
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
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"sendResultsToServer.js","sourceRoot":"","sources":["../src/sendResultsToServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 || (
|
|
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 =
|
|
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
|
|
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,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
|
-
|
|
16
|
-
|
|
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
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
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
|
|
116
|
+
dispatcher,
|
|
28
117
|
signal: AbortSignal.timeout(timeout)
|
|
29
118
|
})
|
|
30
119
|
|
|
31
|
-
const
|
|
32
|
-
const
|
|
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
|
-
|
|
41
|
-
|
|
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
|
-
|
|
44
|
-
|
|
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
|
|
48
|
-
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
76
|
-
|
|
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:
|
|
8
|
+
body: unknown;
|
|
9
9
|
ok: boolean;
|
|
10
10
|
}
|
|
11
11
|
export declare function syncFetch(url: string, options?: RequestInit, customOptions?: SyncFetchCustomOptions): SyncFetchResponse;
|