@axe-core/watcher 1.1.0 → 1.2.0-next.08289f24
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 +3 -1
- package/dist/Controller.js.map +1 -1
- package/dist/cypress.d.ts +4 -0
- package/dist/cypress.js +45 -1
- package/dist/cypress.js.map +1 -1
- package/dist/cypressCommands.d.ts +6 -2
- package/dist/cypressCommands.js +22 -2
- package/dist/cypressCommands.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/util.d.ts +4 -1
- package/dist/util.js +5 -1
- package/dist/util.js.map +1 -1
- package/dist/validateApiKey.d.ts +7 -0
- package/dist/validateApiKey.js +26 -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 +2 -1
- package/package.json +6 -3
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
|
@@ -104,7 +104,9 @@ var Controller = /** @class */ (function () {
|
|
|
104
104
|
switch (_a.label) {
|
|
105
105
|
case 0: return [4 /*yield*/, this.executeScript(function () {
|
|
106
106
|
return new Promise(function (resolve) {
|
|
107
|
-
var event = new CustomEvent('axe:manual-mode-analyze'
|
|
107
|
+
var event = new CustomEvent('axe:manual-mode-analyze', {
|
|
108
|
+
detail: { userRequestedAnalyze: true }
|
|
109
|
+
});
|
|
108
110
|
var fn = function () {
|
|
109
111
|
window.removeEventListener('axe:manual-mode-analyze-done', fn);
|
|
110
112
|
resolve();
|
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.d.ts
CHANGED
|
@@ -6,3 +6,7 @@ import { Configuration } from './util';
|
|
|
6
6
|
* @param config Cypress config to extend
|
|
7
7
|
*/
|
|
8
8
|
export declare const cypressConfig: (config: Cypress.ConfigOptions & Configuration) => Cypress.ConfigOptions;
|
|
9
|
+
/** Methods we wrap on the provided `cy` instance. */
|
|
10
|
+
export declare const WRAPPED_METHODS: ReadonlyArray<keyof Cypress.cy>;
|
|
11
|
+
/** Wrap the given Cypress `cy` object, ensuring axe-core analysis is run after each command. */
|
|
12
|
+
export declare const wrapCy: (cy: Cypress.cy) => Cypress.cy;
|
package/dist/cypress.js
CHANGED
|
@@ -22,7 +22,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
22
22
|
return t;
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.cypressConfig = void 0;
|
|
25
|
+
exports.wrapCy = exports.WRAPPED_METHODS = exports.cypressConfig = void 0;
|
|
26
26
|
var uuid_1 = require("uuid");
|
|
27
27
|
var util_1 = require("./util");
|
|
28
28
|
/**
|
|
@@ -63,4 +63,48 @@ var cypressConfig = function (config) {
|
|
|
63
63
|
} }) });
|
|
64
64
|
};
|
|
65
65
|
exports.cypressConfig = cypressConfig;
|
|
66
|
+
/** Methods we wrap on the provided `cy` instance. */
|
|
67
|
+
exports.WRAPPED_METHODS = [
|
|
68
|
+
'blur',
|
|
69
|
+
'check',
|
|
70
|
+
'clear',
|
|
71
|
+
'click',
|
|
72
|
+
'dblclick',
|
|
73
|
+
'focus',
|
|
74
|
+
'go',
|
|
75
|
+
'invoke',
|
|
76
|
+
'reload',
|
|
77
|
+
'scrollIntoView',
|
|
78
|
+
'scrollTo',
|
|
79
|
+
'select',
|
|
80
|
+
'submit',
|
|
81
|
+
'trigger',
|
|
82
|
+
'type',
|
|
83
|
+
'uncheck',
|
|
84
|
+
'visit',
|
|
85
|
+
'wait'
|
|
86
|
+
];
|
|
87
|
+
/** Wrap the given Cypress `cy` object, ensuring axe-core analysis is run after each command. */
|
|
88
|
+
var wrapCy = function (cy) {
|
|
89
|
+
// We cannot wrap the `cy` instance itself, but instead, wrap its prototype.
|
|
90
|
+
// We don't have access to the $Chainer prototype, so use the returned value from `cy.wrap('')`.
|
|
91
|
+
var proto = Object.getPrototypeOf(cy.wrap(''));
|
|
92
|
+
var _loop_1 = function (method) {
|
|
93
|
+
var old = proto[method];
|
|
94
|
+
proto[method] = function () {
|
|
95
|
+
var params = [];
|
|
96
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
97
|
+
params[_i] = arguments[_i];
|
|
98
|
+
}
|
|
99
|
+
var c = old.apply(this, params);
|
|
100
|
+
return c.axeAnalyze({ __UserRequestedAnalyze: false });
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
for (var _i = 0, WRAPPED_METHODS_1 = exports.WRAPPED_METHODS; _i < WRAPPED_METHODS_1.length; _i++) {
|
|
104
|
+
var method = WRAPPED_METHODS_1[_i];
|
|
105
|
+
_loop_1(method);
|
|
106
|
+
}
|
|
107
|
+
return cy;
|
|
108
|
+
};
|
|
109
|
+
exports.wrapCy = wrapCy;
|
|
66
110
|
//# sourceMappingURL=cypress.js.map
|
package/dist/cypress.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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"}
|
|
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;AAED,qDAAqD;AACxC,QAAA,eAAe,GAAoC;IAC9D,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,IAAI;IACJ,QAAQ;IACR,QAAQ;IACR,gBAAgB;IAChB,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;CACP,CAAA;AAED,gGAAgG;AACzF,IAAM,MAAM,GAAG,UAAC,EAAc;IACnC,4EAA4E;IAC5E,gGAAgG;IAChG,IAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;4BAErC,MAAM;QACf,IAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;QACzB,KAAK,CAAC,MAAM,CAAC,GAAG;YAAU,gBAAoB;iBAApB,UAAoB,EAApB,qBAAoB,EAApB,IAAoB;gBAApB,2BAAoB;;YAC5C,IAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACjC,OAAO,CAAC,CAAC,UAAU,CAAC,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,CAAA;QACxD,CAAC,CAAA;;IALH,KAAqB,UAAe,EAAf,oBAAA,uBAAe,EAAf,6BAAe,EAAf,IAAe;QAA/B,IAAM,MAAM,wBAAA;gBAAN,MAAM;KAMhB;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAdY,QAAA,MAAM,UAclB"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
export {};
|
|
2
|
+
interface AxeAnalyzeParams {
|
|
3
|
+
/** Was this analyze call created internally or by the end-user. */
|
|
4
|
+
__UserRequestedAnalyze?: boolean;
|
|
5
|
+
}
|
|
2
6
|
declare global {
|
|
3
7
|
namespace Cypress {
|
|
4
8
|
interface Chainable {
|
|
5
9
|
/** Flush the axe-core result queue by sending results to the server. */
|
|
6
10
|
axeFlush(): Chainable<void>;
|
|
7
|
-
/** Perform
|
|
8
|
-
axeAnalyze(): Chainable<void>;
|
|
11
|
+
/** Perform an axe-core analysis. */
|
|
12
|
+
axeAnalyze(params?: AxeAnalyzeParams): Chainable<void>;
|
|
9
13
|
/** Start automatic analysis mode. */
|
|
10
14
|
axeStart(): Chainable<void>;
|
|
11
15
|
/** Stop automatic analysis mode. */
|
package/dist/cypressCommands.js
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/* istanbul ignore file: This file is basically untestable due to how Cypress works. Instead, it's covered by our E2E suite and manual testing. */
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
/**
|
|
5
|
+
* Has the user stopped automatic mode.
|
|
6
|
+
*
|
|
7
|
+
* This code runs in the Cypress browser, so we're unable to
|
|
8
|
+
* read `variables.json` like we do with other integrations.
|
|
9
|
+
* As result, we need this top-level state for managing
|
|
10
|
+
* analyze calls created by "wrapped" methods.
|
|
11
|
+
*/
|
|
12
|
+
var isStopped = false;
|
|
3
13
|
Cypress.Commands.add('axeFlush', function () {
|
|
4
14
|
cy.window().then(function (win) {
|
|
5
15
|
return new Promise(function (resolve) {
|
|
@@ -13,10 +23,18 @@ Cypress.Commands.add('axeFlush', function () {
|
|
|
13
23
|
});
|
|
14
24
|
});
|
|
15
25
|
});
|
|
16
|
-
Cypress.Commands.add('axeAnalyze',
|
|
26
|
+
Cypress.Commands.add('axeAnalyze',
|
|
27
|
+
// __UserRequestedAnalyze allows us to differentiate between user-initiated and automatic analysis.
|
|
28
|
+
function (_a) {
|
|
29
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.__UserRequestedAnalyze, __UserRequestedAnalyze = _c === void 0 ? true : _c;
|
|
30
|
+
if (!__UserRequestedAnalyze && isStopped) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
17
33
|
cy.window().then(function (win) {
|
|
18
34
|
return new Promise(function (resolve) {
|
|
19
|
-
var event = new CustomEvent('axe:manual-mode-analyze'
|
|
35
|
+
var event = new CustomEvent('axe:manual-mode-analyze', {
|
|
36
|
+
detail: { userRequestedAnalyze: __UserRequestedAnalyze }
|
|
37
|
+
});
|
|
20
38
|
var fn = function () {
|
|
21
39
|
win.removeEventListener('axe:manual-mode-analyze-done', fn);
|
|
22
40
|
resolve();
|
|
@@ -31,6 +49,7 @@ Cypress.Commands.add('axeStart', function () {
|
|
|
31
49
|
return new Promise(function (resolve) {
|
|
32
50
|
var event = new CustomEvent('axe:start-auto-mode');
|
|
33
51
|
var fn = function () {
|
|
52
|
+
isStopped = false;
|
|
34
53
|
win.removeEventListener('axe:start-auto-mode-done', fn);
|
|
35
54
|
resolve();
|
|
36
55
|
};
|
|
@@ -44,6 +63,7 @@ Cypress.Commands.add('axeStop', function () {
|
|
|
44
63
|
return new Promise(function (resolve) {
|
|
45
64
|
var event = new CustomEvent('axe:stop-auto-mode');
|
|
46
65
|
var fn = function () {
|
|
66
|
+
isStopped = true;
|
|
47
67
|
win.removeEventListener('axe:stop-auto-mode-done', fn);
|
|
48
68
|
resolve();
|
|
49
69
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,4 +3,4 @@ export { puppeteerConfig, PuppeteerController } from './puppeteer';
|
|
|
3
3
|
export { wdioConfig, wdioTestRunner, WdioController } from './wdio';
|
|
4
4
|
export { webdriverConfig, WebdriverController } from './webdriver';
|
|
5
5
|
export { playwrightConfig, PlaywrightController } from './playwright';
|
|
6
|
-
export { cypressConfig } from './cypress';
|
|
6
|
+
export { cypressConfig, wrapCy } from './cypress';
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*! Copyright Deque 2021-2022 All Rights Reserved */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.cypressConfig = exports.PlaywrightController = exports.playwrightConfig = exports.WebdriverController = exports.webdriverConfig = exports.WdioController = exports.wdioTestRunner = exports.wdioConfig = exports.PuppeteerController = exports.puppeteerConfig = void 0;
|
|
4
|
+
exports.wrapCy = exports.cypressConfig = exports.PlaywrightController = exports.playwrightConfig = exports.WebdriverController = exports.webdriverConfig = exports.WdioController = exports.wdioTestRunner = exports.wdioConfig = exports.PuppeteerController = exports.puppeteerConfig = void 0;
|
|
5
5
|
var puppeteer_1 = require("./puppeteer");
|
|
6
6
|
Object.defineProperty(exports, "puppeteerConfig", { enumerable: true, get: function () { return puppeteer_1.puppeteerConfig; } });
|
|
7
7
|
Object.defineProperty(exports, "PuppeteerController", { enumerable: true, get: function () { return puppeteer_1.PuppeteerController; } });
|
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "playwrightConfig", { enumerable: true, get: func
|
|
|
17
17
|
Object.defineProperty(exports, "PlaywrightController", { enumerable: true, get: function () { return playwright_1.PlaywrightController; } });
|
|
18
18
|
var cypress_1 = require("./cypress");
|
|
19
19
|
Object.defineProperty(exports, "cypressConfig", { enumerable: true, get: function () { return cypress_1.cypressConfig; } });
|
|
20
|
+
Object.defineProperty(exports, "wrapCy", { enumerable: true, get: function () { return cypress_1.wrapCy; } });
|
|
20
21
|
//# 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,yCAAkE;AAAzD,4GAAA,eAAe,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAC7C,+BAAmE;AAA1D,kGAAA,UAAU,OAAA;AAAE,sGAAA,cAAc,OAAA;AAAE,sGAAA,cAAc,OAAA;AACnD,yCAAkE;AAAzD,4GAAA,eAAe,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAC7C,2CAAqE;AAA5D,8GAAA,gBAAgB,OAAA;AAAE,kHAAA,oBAAoB,OAAA;AAC/C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,yCAAkE;AAAzD,4GAAA,eAAe,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAC7C,+BAAmE;AAA1D,kGAAA,UAAU,OAAA;AAAE,sGAAA,cAAc,OAAA;AAAE,sGAAA,cAAc,OAAA;AACnD,yCAAkE;AAAzD,4GAAA,eAAe,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAC7C,2CAAqE;AAA5D,8GAAA,gBAAgB,OAAA;AAAE,kHAAA,oBAAoB,OAAA;AAC/C,qCAAiD;AAAxC,wGAAA,aAAa,OAAA;AAAE,iGAAA,MAAM,OAAA"}
|
package/dist/util.d.ts
CHANGED
|
@@ -23,6 +23,8 @@ export interface Configuration {
|
|
|
23
23
|
autoAnalyze?: boolean;
|
|
24
24
|
/** Increase / decrease the debounce timeout (ms) between DOM mutations */
|
|
25
25
|
debounceTimeout?: number;
|
|
26
|
+
/** Should the API key be validated before use? Default `true`. */
|
|
27
|
+
validateApiKey?: boolean;
|
|
26
28
|
};
|
|
27
29
|
}
|
|
28
30
|
interface WriteVariablesParams {
|
|
@@ -32,6 +34,7 @@ interface WriteVariablesParams {
|
|
|
32
34
|
autoAnalyze?: boolean;
|
|
33
35
|
debounceTimeout?: number;
|
|
34
36
|
cypress?: boolean;
|
|
37
|
+
validateApiKey?: boolean;
|
|
35
38
|
}
|
|
36
39
|
/** variables.json shape. */
|
|
37
40
|
export interface Variables {
|
|
@@ -51,7 +54,7 @@ export interface Variables {
|
|
|
51
54
|
git_is_dirty?: boolean;
|
|
52
55
|
}
|
|
53
56
|
/** Write the user's settings to the disk, so the extension can load them. */
|
|
54
|
-
export declare function writeVariables({ apiKey, serverURL, sessionId, autoAnalyze, debounceTimeout, cypress }: WriteVariablesParams): void;
|
|
57
|
+
export declare function writeVariables({ apiKey, serverURL, sessionId, autoAnalyze, debounceTimeout, cypress, validateApiKey: shouldValidateApiKey }: WriteVariablesParams): void;
|
|
55
58
|
interface WriteManifestParams {
|
|
56
59
|
all_frames: boolean;
|
|
57
60
|
exclude_globs: string[];
|
package/dist/util.js
CHANGED
|
@@ -46,6 +46,7 @@ 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');
|
|
@@ -67,7 +68,7 @@ var HeadlessNotSupportedError = /** @class */ (function (_super) {
|
|
|
67
68
|
exports.HeadlessNotSupportedError = HeadlessNotSupportedError;
|
|
68
69
|
/** Write the user's settings to the disk, so the extension can load them. */
|
|
69
70
|
function writeVariables(_a) {
|
|
70
|
-
var apiKey = _a.apiKey, serverURL = _a.serverURL, sessionId = _a.sessionId, autoAnalyze = _a.autoAnalyze, debounceTimeout = _a.debounceTimeout, cypress = _a.cypress;
|
|
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;
|
|
71
72
|
if (!serverURL) {
|
|
72
73
|
serverURL = exports.DEFAULT_SERVER_URL;
|
|
73
74
|
}
|
|
@@ -78,6 +79,9 @@ function writeVariables(_a) {
|
|
|
78
79
|
catch (err) {
|
|
79
80
|
throw new Error("Error when converting serverURL to URL. Ensure it is formatted properly: ".concat(err));
|
|
80
81
|
}
|
|
82
|
+
if (shouldValidateApiKey) {
|
|
83
|
+
(0, validateApiKey_1.default)({ apiKey: apiKey, serverURL: urlString });
|
|
84
|
+
}
|
|
81
85
|
if (typeof autoAnalyze === 'undefined') {
|
|
82
86
|
autoAnalyze = true;
|
|
83
87
|
}
|
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,26 @@
|
|
|
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
|
+
var assert_1 = __importDefault(require("assert"));
|
|
8
|
+
/** Validate the given `apiKey`. This method is blocking and should not be called unnecessarily. */
|
|
9
|
+
var validateApiKey = function (_a) {
|
|
10
|
+
var apiKey = _a.apiKey, serverURL = _a.serverURL;
|
|
11
|
+
(0, assert_1.default)(apiKey, 'API key is required');
|
|
12
|
+
var url = new URL("/api/api-keys/".concat(apiKey, "/validate/axe-devtools-watcher"), serverURL);
|
|
13
|
+
var res = (0, sync_request_1.default)('GET', url.toString(), {
|
|
14
|
+
maxRedirects: 2,
|
|
15
|
+
followRedirects: true,
|
|
16
|
+
maxRetries: 2,
|
|
17
|
+
retry: true,
|
|
18
|
+
retryDelay: 100
|
|
19
|
+
});
|
|
20
|
+
var body = JSON.parse(res.getBody('utf8'));
|
|
21
|
+
if (body.error) {
|
|
22
|
+
throw new Error(body.error);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.default = validateApiKey;
|
|
26
|
+
//# sourceMappingURL=validateApiKey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateApiKey.js","sourceRoot":"","sources":["../src/validateApiKey.ts"],"names":[],"mappings":";;;;;AAAA,8DAAkC;AAClC,kDAA2B;AAO3B,mGAAmG;AACnG,IAAM,cAAc,GAAG,UAAC,EAA6B;QAA3B,MAAM,YAAA,EAAE,SAAS,eAAA;IACzC,IAAA,gBAAM,EAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IACrC,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"}
|