@axe-core/watcher 1.0.0 → 1.1.0-next.03d92dc6
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/README.md +1 -1
- package/dist/Controller.js +18 -6
- package/dist/Controller.js.map +1 -1
- package/dist/cypress.js +7 -1
- package/dist/cypress.js.map +1 -1
- package/dist/cypressCommands.js +18 -6
- package/dist/cypressCommands.js.map +1 -1
- package/dist/util.d.ts +26 -1
- package/dist/util.js +13 -3
- package/dist/util.js.map +1 -1
- package/dist/validateApiKey.d.ts +7 -0
- package/dist/validateApiKey.js +24 -0
- package/dist/validateApiKey.js.map +1 -0
- package/extension/content.js +1 -1
- package/extension/content.js.LICENSE.txt +1 -1
- package/extension/manifest.json +1 -4
- package/package.json +12 -5
- package/extension/worker.js +0 -1
- package/extension/worker.js.LICENSE.txt +0 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# axe
|
|
1
|
+
# axe® Watcher
|
|
2
2
|
|
|
3
3
|
Using this module requires an account on the [axe Developer Hub](https://axe.deque.com/axe-watcher/projects). In order to get a trial account, please [contact Deque](https://www.deque.com/company/contact/). For information on how to use this module, please follow the instructions on the [axe Developer Hub](https://axe.deque.com/axe-watcher/projects) projects page.
|
|
4
4
|
|
package/dist/Controller.js
CHANGED
|
@@ -57,9 +57,15 @@ var Controller = /** @class */ (function () {
|
|
|
57
57
|
case 0:
|
|
58
58
|
updateAutoAnalyze(true);
|
|
59
59
|
return [4 /*yield*/, this.executeScript(function () {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
return new Promise(function (resolve) {
|
|
61
|
+
var event = new CustomEvent('axe:start-auto-mode');
|
|
62
|
+
var fn = function () {
|
|
63
|
+
window.removeEventListener('axe:start-auto-mode-done', fn);
|
|
64
|
+
resolve();
|
|
65
|
+
};
|
|
66
|
+
window.addEventListener('axe:start-auto-mode-done', fn);
|
|
67
|
+
window.dispatchEvent(event);
|
|
68
|
+
});
|
|
63
69
|
})];
|
|
64
70
|
case 1:
|
|
65
71
|
_a.sent();
|
|
@@ -75,9 +81,15 @@ var Controller = /** @class */ (function () {
|
|
|
75
81
|
case 0:
|
|
76
82
|
updateAutoAnalyze(false);
|
|
77
83
|
return [4 /*yield*/, this.executeScript(function () {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
84
|
+
return new Promise(function (resolve) {
|
|
85
|
+
var event = new CustomEvent('axe:stop-auto-mode');
|
|
86
|
+
var fn = function () {
|
|
87
|
+
window.removeEventListener('axe:stop-auto-mode-done', fn);
|
|
88
|
+
resolve();
|
|
89
|
+
};
|
|
90
|
+
window.addEventListener('axe:stop-auto-mode-done', fn);
|
|
91
|
+
window.dispatchEvent(event);
|
|
92
|
+
});
|
|
81
93
|
})];
|
|
82
94
|
case 1:
|
|
83
95
|
_a.sent();
|
package/dist/Controller.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Controller.js","sourceRoot":"","sources":["../src/Controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAmB;AACnB,+BAAoD;AAEpD,IAAM,iBAAiB,GAAG,UAAC,GAAY;IACrC,IAAM,YAAY,GAAG,YAAE,CAAC,YAAY,CAAC,kCAA2B,EAAE,OAAO,CAAC,CAAA;IAC1E,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAC1C,SAAS,CAAC,YAAY,GAAG,GAAG,CAAA;IAC5B,YAAE,CAAC,aAAa,CAAC,kCAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;AAC1E,CAAC,CAAA;AAED;IAAA;
|
|
1
|
+
{"version":3,"file":"Controller.js","sourceRoot":"","sources":["../src/Controller.ts"],"names":[],"mappings":"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"}
|
package/dist/cypress.js
CHANGED
|
@@ -23,6 +23,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
exports.cypressConfig = void 0;
|
|
26
|
+
var uuid_1 = require("uuid");
|
|
26
27
|
var util_1 = require("./util");
|
|
27
28
|
/**
|
|
28
29
|
* Create a Cypress config that uses the axe Watcher extension.
|
|
@@ -31,7 +32,12 @@ var util_1 = require("./util");
|
|
|
31
32
|
*/
|
|
32
33
|
var cypressConfig = function (config) {
|
|
33
34
|
var axe = config.axe, userConfig = __rest(config, ["axe"]);
|
|
34
|
-
(0, util_1.writeVariables)(axe)
|
|
35
|
+
(0, util_1.writeVariables)(__assign(__assign({}, axe), {
|
|
36
|
+
// Ensure the session ID persists between tabs.
|
|
37
|
+
// We cannot allow the extension to generate an ID, as each tab would get its own.
|
|
38
|
+
sessionId: axe.sessionId || (0, uuid_1.v4)(),
|
|
39
|
+
// Let the extension know to check for Cypress frames.
|
|
40
|
+
cypress: true }));
|
|
35
41
|
(0, util_1.writeManifest)({
|
|
36
42
|
all_frames: true,
|
|
37
43
|
exclude_globs: [
|
package/dist/cypress.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../src/cypress.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,+BAMe;AAEf;;;;GAIG;AAEI,IAAM,aAAa,GAAG,UAC3B,MAA6C;IAErC,IAAA,GAAG,GAAoB,MAAM,IAA1B,EAAK,UAAU,UAAK,MAAM,EAA/B,OAAsB,CAAF,CAAW;IAErC,IAAA,qBAAc,
|
|
1
|
+
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../src/cypress.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,6BAAiC;AACjC,+BAMe;AAEf;;;;GAIG;AAEI,IAAM,aAAa,GAAG,UAC3B,MAA6C;IAErC,IAAA,GAAG,GAAoB,MAAM,IAA1B,EAAK,UAAU,UAAK,MAAM,EAA/B,OAAsB,CAAF,CAAW;IAErC,IAAA,qBAAc,wBACT,GAAG;QACN,+CAA+C;QAC/C,kFAAkF;QAClF,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,IAAA,SAAI,GAAE;QAClC,sDAAsD;QACtD,OAAO,EAAE,IAAI,IACb,CAAA;IACF,IAAA,oBAAa,EAAC;QACZ,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE;YACb,0BAA0B;YAC1B,4BAA4B;YAC5B,4BAA4B;YAC5B,uBAAuB;SACxB;KACF,CAAC,CAAA;IAEF,6BACK,UAAU,KACb,GAAG,wBACE,UAAU,CAAC,GAAG,KACjB,eAAe,YAAC,EAAE;gBAChB,EAAE,CAAC,uBAAuB,EAAE,UAAC,OAAO,EAAE,aAAa;;oBACjD,0BAA0B;oBAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;wBAC7B,IAAI,OAAO,CAAC,UAAU,EAAE;4BACtB,MAAM,IAAI,gCAAyB,EAAE,CAAA;yBACtC;wBAED,sBAAsB;wBACtB,CAAA,KAAA,aAAa,CAAC,IAAI,CAAA,CAAC,IAAI,WAAI,oBAAa,EAAC;qBAC1C;oBAED,OAAO,aAAa,CAAA;gBACtB,CAAC,CAAC,CAAA;YACJ,CAAC,OAEJ;AACH,CAAC,CAAA;AA5CY,QAAA,aAAa,iBA4CzB"}
|
package/dist/cypressCommands.js
CHANGED
|
@@ -28,16 +28,28 @@ Cypress.Commands.add('axeAnalyze', function () {
|
|
|
28
28
|
});
|
|
29
29
|
Cypress.Commands.add('axeStart', function () {
|
|
30
30
|
cy.window().then(function (win) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
return new Promise(function (resolve) {
|
|
32
|
+
var event = new CustomEvent('axe:start-auto-mode');
|
|
33
|
+
var fn = function () {
|
|
34
|
+
win.removeEventListener('axe:start-auto-mode-done', fn);
|
|
35
|
+
resolve();
|
|
36
|
+
};
|
|
37
|
+
win.addEventListener('axe:start-auto-mode-done', fn);
|
|
38
|
+
win.dispatchEvent(event);
|
|
39
|
+
});
|
|
34
40
|
});
|
|
35
41
|
});
|
|
36
42
|
Cypress.Commands.add('axeStop', function () {
|
|
37
43
|
cy.window().then(function (win) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
return new Promise(function (resolve) {
|
|
45
|
+
var event = new CustomEvent('axe:stop-auto-mode');
|
|
46
|
+
var fn = function () {
|
|
47
|
+
win.removeEventListener('axe:stop-auto-mode-done', fn);
|
|
48
|
+
resolve();
|
|
49
|
+
};
|
|
50
|
+
win.addEventListener('axe:stop-auto-mode-done', fn);
|
|
51
|
+
win.dispatchEvent(event);
|
|
52
|
+
});
|
|
41
53
|
});
|
|
42
54
|
});
|
|
43
55
|
//# sourceMappingURL=cypressCommands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":";;AAmBA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE;IAC/B,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAA,GAAG;QAClB,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;YAC9B,IAAM,EAAE,GAAG;gBACT,GAAG,CAAC,mBAAmB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gBAC5C,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;YACzC,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,iBAAiB,CAAC,CAAA;YAChD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE;IACjC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAA,GAAG;QAClB,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;YAC9B,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,yBAAyB,CAAC,CAAA;YACxD,IAAM,EAAE,GAAG;gBACT,GAAG,CAAC,mBAAmB,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;gBAC3D,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;YACxD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE;IAC/B,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAA,GAAG;QAClB,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":";;AAmBA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE;IAC/B,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAA,GAAG;QAClB,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;YAC9B,IAAM,EAAE,GAAG;gBACT,GAAG,CAAC,mBAAmB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gBAC5C,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;YACzC,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,iBAAiB,CAAC,CAAA;YAChD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE;IACjC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAA,GAAG;QAClB,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;YAC9B,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,yBAAyB,CAAC,CAAA;YACxD,IAAM,EAAE,GAAG;gBACT,GAAG,CAAC,mBAAmB,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;gBAC3D,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;YACxD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE;IAC/B,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAA,GAAG;QAClB,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;YAC9B,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAA;YACpD,IAAM,EAAE,GAAG;gBACT,GAAG,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAA;gBACvD,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAA;YACpD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;IAC9B,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAA,GAAG;QAClB,OAAO,IAAI,OAAO,CAAO,UAAA,OAAO;YAC9B,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,oBAAoB,CAAC,CAAA;YACnD,IAAM,EAAE,GAAG;gBACT,GAAG,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAA;gBACtD,OAAO,EAAE,CAAA;YACX,CAAC,CAAA;YACD,GAAG,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAA;YACnD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/util.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export declare const PATH_TO_EXTENSION: string;
|
|
|
2
2
|
export declare const DEFAULT_SERVER_URL = "https://axe.deque.com/";
|
|
3
3
|
export declare const PATH_TO_SESSION_FILE: string;
|
|
4
4
|
export declare const PATH_TO_EXTENSION_VARIABLES: string;
|
|
5
|
+
export declare const DEFAULT_DEBOUNCE_TIMEOUT = 200;
|
|
5
6
|
export declare const extensionArgs: readonly [`--disable-extensions-except=${string}`, `--load-extension=${string}`];
|
|
6
7
|
export declare class HeadlessNotSupportedError extends Error {
|
|
7
8
|
name: string;
|
|
@@ -20,6 +21,10 @@ export interface Configuration {
|
|
|
20
21
|
* when changes are made.
|
|
21
22
|
*/
|
|
22
23
|
autoAnalyze?: boolean;
|
|
24
|
+
/** Increase / decrease the debounce timeout (ms) between DOM mutations */
|
|
25
|
+
debounceTimeout?: number;
|
|
26
|
+
/** Should the API key be validated before use? Default `true`. */
|
|
27
|
+
validateApiKey?: boolean;
|
|
23
28
|
};
|
|
24
29
|
}
|
|
25
30
|
interface WriteVariablesParams {
|
|
@@ -27,9 +32,29 @@ interface WriteVariablesParams {
|
|
|
27
32
|
serverURL?: string;
|
|
28
33
|
sessionId?: string;
|
|
29
34
|
autoAnalyze?: boolean;
|
|
35
|
+
debounceTimeout?: number;
|
|
36
|
+
cypress?: boolean;
|
|
37
|
+
validateApiKey?: boolean;
|
|
38
|
+
}
|
|
39
|
+
/** variables.json shape. */
|
|
40
|
+
export interface Variables {
|
|
41
|
+
api_key: string;
|
|
42
|
+
server_url: string;
|
|
43
|
+
auto_analyze: boolean;
|
|
44
|
+
debounce_timeout: number;
|
|
45
|
+
session_id?: string;
|
|
46
|
+
cypress: boolean;
|
|
47
|
+
git_branch?: string | null;
|
|
48
|
+
git_default_branch?: string | null;
|
|
49
|
+
git_commit_message?: string | null;
|
|
50
|
+
git_commit_sha?: string | null;
|
|
51
|
+
git_commit_author?: string | null;
|
|
52
|
+
git_commit_email?: string | null;
|
|
53
|
+
git_url?: string | null;
|
|
54
|
+
git_is_dirty?: boolean;
|
|
30
55
|
}
|
|
31
56
|
/** Write the user's settings to the disk, so the extension can load them. */
|
|
32
|
-
export declare function writeVariables({ apiKey, serverURL, sessionId, autoAnalyze }: WriteVariablesParams): void;
|
|
57
|
+
export declare function writeVariables({ apiKey, serverURL, sessionId, autoAnalyze, debounceTimeout, cypress, validateApiKey: shouldValidateApiKey }: WriteVariablesParams): void;
|
|
33
58
|
interface WriteManifestParams {
|
|
34
59
|
all_frames: boolean;
|
|
35
60
|
exclude_globs: string[];
|
package/dist/util.js
CHANGED
|
@@ -41,15 +41,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
41
41
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
42
42
|
};
|
|
43
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
-
exports.writeManifest = exports.writeVariables = exports.HeadlessNotSupportedError = exports.extensionArgs = exports.PATH_TO_EXTENSION_VARIABLES = exports.PATH_TO_SESSION_FILE = exports.DEFAULT_SERVER_URL = exports.PATH_TO_EXTENSION = void 0;
|
|
44
|
+
exports.writeManifest = exports.writeVariables = exports.HeadlessNotSupportedError = exports.extensionArgs = exports.DEFAULT_DEBOUNCE_TIMEOUT = exports.PATH_TO_EXTENSION_VARIABLES = exports.PATH_TO_SESSION_FILE = exports.DEFAULT_SERVER_URL = exports.PATH_TO_EXTENSION = void 0;
|
|
45
45
|
var fs_1 = __importDefault(require("fs"));
|
|
46
46
|
var path_1 = __importDefault(require("path"));
|
|
47
47
|
var os_1 = __importDefault(require("os"));
|
|
48
48
|
var git = __importStar(require("./git"));
|
|
49
|
+
var validateApiKey_1 = __importDefault(require("./validateApiKey"));
|
|
49
50
|
exports.PATH_TO_EXTENSION = path_1.default.join(__dirname, '..', 'extension');
|
|
50
51
|
exports.DEFAULT_SERVER_URL = 'https://axe.deque.com/';
|
|
51
52
|
exports.PATH_TO_SESSION_FILE = path_1.default.join(os_1.default.tmpdir(), 'axe-watcher-session.json');
|
|
52
53
|
exports.PATH_TO_EXTENSION_VARIABLES = path_1.default.join(exports.PATH_TO_EXTENSION, 'variables.json');
|
|
54
|
+
exports.DEFAULT_DEBOUNCE_TIMEOUT = 200;
|
|
53
55
|
exports.extensionArgs = [
|
|
54
56
|
"--disable-extensions-except=".concat(exports.PATH_TO_EXTENSION),
|
|
55
57
|
"--load-extension=".concat(exports.PATH_TO_EXTENSION)
|
|
@@ -66,7 +68,7 @@ var HeadlessNotSupportedError = /** @class */ (function (_super) {
|
|
|
66
68
|
exports.HeadlessNotSupportedError = HeadlessNotSupportedError;
|
|
67
69
|
/** Write the user's settings to the disk, so the extension can load them. */
|
|
68
70
|
function writeVariables(_a) {
|
|
69
|
-
var apiKey = _a.apiKey, serverURL = _a.serverURL, sessionId = _a.sessionId, autoAnalyze = _a.autoAnalyze;
|
|
71
|
+
var apiKey = _a.apiKey, serverURL = _a.serverURL, sessionId = _a.sessionId, autoAnalyze = _a.autoAnalyze, debounceTimeout = _a.debounceTimeout, cypress = _a.cypress, _b = _a.validateApiKey, shouldValidateApiKey = _b === void 0 ? true : _b;
|
|
70
72
|
if (!serverURL) {
|
|
71
73
|
serverURL = exports.DEFAULT_SERVER_URL;
|
|
72
74
|
}
|
|
@@ -77,9 +79,15 @@ function writeVariables(_a) {
|
|
|
77
79
|
catch (err) {
|
|
78
80
|
throw new Error("Error when converting serverURL to URL. Ensure it is formatted properly: ".concat(err));
|
|
79
81
|
}
|
|
82
|
+
if (shouldValidateApiKey) {
|
|
83
|
+
(0, validateApiKey_1.default)({ apiKey: apiKey, serverURL: urlString });
|
|
84
|
+
}
|
|
80
85
|
if (typeof autoAnalyze === 'undefined') {
|
|
81
86
|
autoAnalyze = true;
|
|
82
87
|
}
|
|
88
|
+
if (typeof debounceTimeout === 'undefined') {
|
|
89
|
+
debounceTimeout = exports.DEFAULT_DEBOUNCE_TIMEOUT;
|
|
90
|
+
}
|
|
83
91
|
// When a custom session ID is not provided, attempt to read it from the filesystem.
|
|
84
92
|
// This enables multi-process/multi-browser test suites to all use the same session ID.
|
|
85
93
|
if (!sessionId && fs_1.default.existsSync(exports.PATH_TO_SESSION_FILE)) {
|
|
@@ -95,7 +103,9 @@ function writeVariables(_a) {
|
|
|
95
103
|
api_key: apiKey,
|
|
96
104
|
server_url: urlString,
|
|
97
105
|
session_id: sessionId,
|
|
98
|
-
auto_analyze: !!autoAnalyze
|
|
106
|
+
auto_analyze: !!autoAnalyze,
|
|
107
|
+
debounce_timeout: debounceTimeout,
|
|
108
|
+
cypress: !!cypress
|
|
99
109
|
};
|
|
100
110
|
// If the repository is a git repository, add git info to the variables.
|
|
101
111
|
if (git.isRepository()) {
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAmB;AACnB,8CAAuB;AACvB,0CAAmB;AACnB,yCAA4B;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface Params {
|
|
2
|
+
apiKey: string;
|
|
3
|
+
serverURL: string;
|
|
4
|
+
}
|
|
5
|
+
/** Validate the given `apiKey`. This method is blocking and should not be called unnecessarily. */
|
|
6
|
+
declare const validateApiKey: ({ apiKey, serverURL }: Params) => void;
|
|
7
|
+
export default validateApiKey;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var sync_request_1 = __importDefault(require("sync-request"));
|
|
7
|
+
/** Validate the given `apiKey`. This method is blocking and should not be called unnecessarily. */
|
|
8
|
+
var validateApiKey = function (_a) {
|
|
9
|
+
var apiKey = _a.apiKey, serverURL = _a.serverURL;
|
|
10
|
+
var url = new URL("/api/api-keys/".concat(apiKey, "/validate/axe-devtools-watcher"), serverURL);
|
|
11
|
+
var res = (0, sync_request_1.default)('GET', url.toString(), {
|
|
12
|
+
maxRedirects: 2,
|
|
13
|
+
followRedirects: true,
|
|
14
|
+
maxRetries: 2,
|
|
15
|
+
retry: true,
|
|
16
|
+
retryDelay: 100
|
|
17
|
+
});
|
|
18
|
+
var body = JSON.parse(res.getBody('utf8'));
|
|
19
|
+
if (body.error) {
|
|
20
|
+
throw new Error(body.error);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports.default = validateApiKey;
|
|
24
|
+
//# sourceMappingURL=validateApiKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateApiKey.js","sourceRoot":"","sources":["../src/validateApiKey.ts"],"names":[],"mappings":";;;;;AAAA,8DAAkC;AAOlC,mGAAmG;AACnG,IAAM,cAAc,GAAG,UAAC,EAA6B;QAA3B,MAAM,YAAA,EAAE,SAAS,eAAA;IACzC,IAAM,GAAG,GAAG,IAAI,GAAG,CACjB,wBAAiB,MAAM,mCAAgC,EACvD,SAAS,CACV,CAAA;IACD,IAAM,GAAG,GAAG,IAAA,sBAAO,EAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;QACzC,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,IAAI;QACrB,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,GAAG;KAChB,CAAC,CAAA;IACF,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5C,IAAI,IAAI,CAAC,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAC5B;AACH,CAAC,CAAA;AAED,kBAAe,cAAc,CAAA"}
|