@axe-core/watcher 0.0.1-next.71c683f1 → 0.0.1-next.7a1a8b53

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/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/cli.js ADDED
@@ -0,0 +1,134 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __assign = (this && this.__assign) || function () {
4
+ __assign = Object.assign || function(t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
8
+ t[p] = s[p];
9
+ }
10
+ return t;
11
+ };
12
+ return __assign.apply(this, arguments);
13
+ };
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ var __generator = (this && this.__generator) || function (thisArg, body) {
24
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
25
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
26
+ function verb(n) { return function (v) { return step([n, v]); }; }
27
+ function step(op) {
28
+ if (f) throw new TypeError("Generator is already executing.");
29
+ while (_) try {
30
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
31
+ if (y = 0, t) op = [op[0] & 2, t.value];
32
+ switch (op[0]) {
33
+ case 0: case 1: t = op; break;
34
+ case 4: _.label++; return { value: op[1], done: false };
35
+ case 5: _.label++; y = op[1]; op = [0]; continue;
36
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
37
+ default:
38
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
39
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
40
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
41
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
42
+ if (t[2]) _.ops.pop();
43
+ _.trys.pop(); continue;
44
+ }
45
+ op = body.call(thisArg, _);
46
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
47
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
48
+ }
49
+ };
50
+ var __importDefault = (this && this.__importDefault) || function (mod) {
51
+ return (mod && mod.__esModule) ? mod : { "default": mod };
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ var uuid_1 = require("uuid");
55
+ var pkg_up_1 = __importDefault(require("pkg-up"));
56
+ var fs_1 = __importDefault(require("fs"));
57
+ var assert_1 = __importDefault(require("assert"));
58
+ var util_1 = require("./util");
59
+ var start = function () {
60
+ var sessionId = (0, uuid_1.v4)();
61
+ fs_1.default.writeFileSync(util_1.PATH_TO_SESSION_FILE, JSON.stringify({ id: sessionId }));
62
+ };
63
+ var stop = function () {
64
+ try {
65
+ fs_1.default.unlinkSync(util_1.PATH_TO_SESSION_FILE);
66
+ }
67
+ catch (_a) {
68
+ // Oh well.
69
+ }
70
+ };
71
+ var init = function () { return __awaiter(void 0, void 0, void 0, function () {
72
+ var packageJSON, pkg, _a, _b, pretest, _c, test, _d, posttest;
73
+ return __generator(this, function (_e) {
74
+ switch (_e.label) {
75
+ case 0: return [4 /*yield*/, (0, pkg_up_1.default)()];
76
+ case 1:
77
+ packageJSON = _e.sent();
78
+ (0, assert_1.default)(packageJSON, 'Unable to find package.json');
79
+ pkg = JSON.parse(fs_1.default.readFileSync(packageJSON, 'utf8'));
80
+ _a = pkg.scripts || {}, _b = _a.pretest, pretest = _b === void 0 ? '' : _b, _c = _a.test, test = _c === void 0 ? '' : _c, _d = _a.posttest, posttest = _d === void 0 ? '' : _d;
81
+ if (!pretest.includes('axe-watcher start')) {
82
+ if (pretest) {
83
+ pretest += ' && ';
84
+ }
85
+ pretest += 'axe-watcher start';
86
+ }
87
+ if (!(test === null || test === void 0 ? void 0 : test.trim())) {
88
+ test = 'echo "Error: no test specified" && exit 1';
89
+ }
90
+ if (!posttest.includes('axe-watcher stop')) {
91
+ if (posttest) {
92
+ posttest += ' && ';
93
+ }
94
+ posttest += 'axe-watcher stop';
95
+ }
96
+ fs_1.default.writeFileSync(packageJSON, JSON.stringify(__assign(__assign({}, pkg), { scripts: __assign(__assign({}, pkg.scripts), { pretest: pretest, test: test, posttest: posttest }) }), null, 2));
97
+ return [2 /*return*/];
98
+ }
99
+ });
100
+ }); };
101
+ var main = function (command) { return __awaiter(void 0, void 0, void 0, function () {
102
+ var _a;
103
+ return __generator(this, function (_b) {
104
+ switch (_b.label) {
105
+ case 0:
106
+ _a = command;
107
+ switch (_a) {
108
+ case 'start': return [3 /*break*/, 1];
109
+ case 'stop': return [3 /*break*/, 2];
110
+ case 'init': return [3 /*break*/, 3];
111
+ }
112
+ return [3 /*break*/, 5];
113
+ case 1:
114
+ start();
115
+ return [3 /*break*/, 6];
116
+ case 2:
117
+ stop();
118
+ return [3 /*break*/, 6];
119
+ case 3: return [4 /*yield*/, init()];
120
+ case 4:
121
+ _b.sent();
122
+ return [3 /*break*/, 6];
123
+ case 5: throw new Error('Unsupported or missing subcommand');
124
+ case 6: return [2 /*return*/];
125
+ }
126
+ });
127
+ }); };
128
+ var command = process.argv.slice(2)[0];
129
+ main(command).catch(function (error) {
130
+ // eslint-disable-next-line no-console
131
+ console.error(error);
132
+ process.exit(1);
133
+ });
134
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,6BAAiC;AACjC,kDAA0B;AAC1B,0CAAmB;AACnB,kDAA2B;AAC3B,+BAA6C;AAE7C,IAAM,KAAK,GAAG;IACZ,IAAM,SAAS,GAAG,IAAA,SAAI,GAAE,CAAA;IACxB,YAAE,CAAC,aAAa,CAAC,2BAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;AAC3E,CAAC,CAAA;AAED,IAAM,IAAI,GAAG;IACX,IAAI;QACF,YAAE,CAAC,UAAU,CAAC,2BAAoB,CAAC,CAAA;KACpC;IAAC,WAAM;QACN,WAAW;KACZ;AACH,CAAC,CAAA;AAED,IAAM,IAAI,GAAG;;;;oBACS,qBAAM,IAAA,gBAAK,GAAE,EAAA;;gBAA3B,WAAW,GAAG,SAAa;gBACjC,IAAA,gBAAM,EAAC,WAAW,EAAE,6BAA6B,CAAC,CAAA;gBAE5C,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;gBACxD,KAA6C,GAAG,CAAC,OAAO,IAAI,EAAE,EAA5D,eAAY,EAAZ,OAAO,mBAAG,EAAE,KAAA,EAAE,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EAAE,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA,CAAsB;gBAElE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;oBAC1C,IAAI,OAAO,EAAE;wBACX,OAAO,IAAI,MAAM,CAAA;qBAClB;oBACD,OAAO,IAAI,mBAAmB,CAAA;iBAC/B;gBAED,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,CAAA,EAAE;oBACjB,IAAI,GAAG,2CAA2C,CAAA;iBACnD;gBAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;oBAC1C,IAAI,QAAQ,EAAE;wBACZ,QAAQ,IAAI,MAAM,CAAA;qBACnB;oBACD,QAAQ,IAAI,kBAAkB,CAAA;iBAC/B;gBAED,YAAE,CAAC,aAAa,CACd,WAAW,EACX,IAAI,CAAC,SAAS,uBACP,GAAG,KAAE,OAAO,wBAAO,GAAG,CAAC,OAAO,KAAE,OAAO,SAAA,EAAE,IAAI,MAAA,EAAE,QAAQ,UAAA,QAC5D,IAAI,EACJ,CAAC,CACF,CACF,CAAA;;;;KACF,CAAA;AAED,IAAM,IAAI,GAAG,UAAO,OAAe;;;;;gBACzB,KAAA,OAAO,CAAA;;yBACR,OAAO,CAAC,CAAR,wBAAO;yBAGP,MAAM,CAAC,CAAP,wBAAM;yBAGN,MAAM,CAAC,CAAP,wBAAM;;;;gBALT,KAAK,EAAE,CAAA;gBACP,wBAAK;;gBAEL,IAAI,EAAE,CAAA;gBACN,wBAAK;oBAEL,qBAAM,IAAI,EAAE,EAAA;;gBAAZ,SAAY,CAAA;gBACZ,wBAAK;oBAEL,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;;;;KAEzD,CAAA;AAED,IAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACxC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAA,KAAK;IACvB,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type Cypress from 'cypress';
2
+ import { Configuration } from './util';
3
+ /**
4
+ * Create a Cypress config that uses the axe Watcher extension.
5
+ *
6
+ * @param config Cypress config to extend
7
+ */
8
+ export declare const cypressConfig: (config: Cypress.ConfigOptions & Configuration) => Cypress.ConfigOptions;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.cypressConfig = void 0;
26
+ var util_1 = require("./util");
27
+ /**
28
+ * Create a Cypress config that uses the axe Watcher extension.
29
+ *
30
+ * @param config Cypress config to extend
31
+ */
32
+ var cypressConfig = function (config) {
33
+ var axe = config.axe, userConfig = __rest(config, ["axe"]);
34
+ (0, util_1.writeVariables)(axe);
35
+ (0, util_1.writeManifest)({
36
+ all_frames: true,
37
+ exclude_globs: [
38
+ // Top-level Cypress page.
39
+ '*/__/#/specs/runner?file=*',
40
+ // Cypress-specific iframes.
41
+ '*/__cypress/iframes/*'
42
+ ]
43
+ });
44
+ return __assign(__assign({}, userConfig), { e2e: __assign(__assign({}, userConfig.e2e), { setupNodeEvents: function (on) {
45
+ on('before:browser:launch', function (browser, launchOptions) {
46
+ var _a;
47
+ // We only support Chrome.
48
+ if (browser.name === 'chrome') {
49
+ if (browser.isHeadless) {
50
+ throw new util_1.HeadlessNotSupportedError();
51
+ }
52
+ // Load the extension.
53
+ (_a = launchOptions.args).push.apply(_a, util_1.extensionArgs);
54
+ }
55
+ return launchOptions;
56
+ });
57
+ } }) });
58
+ };
59
+ exports.cypressConfig = cypressConfig;
60
+ //# sourceMappingURL=cypress.js.map
@@ -0,0 +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,EAAC,GAAG,CAAC,CAAA;IACnB,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;AArCY,QAAA,aAAa,iBAqCzB"}
@@ -0,0 +1,15 @@
1
+ export {};
2
+ declare global {
3
+ namespace Cypress {
4
+ interface Chainable {
5
+ /** Flush the axe-core result queue by sending results to the server. */
6
+ axeFlush(): Chainable<void>;
7
+ /** Perform a manual axe-core analysis. */
8
+ axeAnalyze(): Chainable<void>;
9
+ /** Start automatic analysis mode. */
10
+ axeStart(): Chainable<void>;
11
+ /** Stop automatic analysis mode. */
12
+ axeStop(): Chainable<void>;
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ Cypress.Commands.add('axeFlush', function () {
4
+ cy.window().then(function (win) {
5
+ return new Promise(function (resolve) {
6
+ var fn = function () {
7
+ win.removeEventListener('axe:flush-end', fn);
8
+ resolve();
9
+ };
10
+ win.addEventListener('axe:flush-end', fn);
11
+ var event = new CustomEvent('axe:flush-start');
12
+ win.dispatchEvent(event);
13
+ });
14
+ });
15
+ });
16
+ Cypress.Commands.add('axeAnalyze', function () {
17
+ cy.window().then(function (win) {
18
+ return new Promise(function (resolve) {
19
+ var event = new CustomEvent('axe:manual-mode-analyze');
20
+ var fn = function () {
21
+ win.removeEventListener('axe:manual-mode-analyze-done', fn);
22
+ resolve();
23
+ };
24
+ win.addEventListener('axe:manual-mode-analyze-done', fn);
25
+ win.dispatchEvent(event);
26
+ });
27
+ });
28
+ });
29
+ Cypress.Commands.add('axeStart', function () {
30
+ cy.window().then(function (win) {
31
+ var event = new CustomEvent('axe:start-auto-mode');
32
+ win.dispatchEvent(event);
33
+ return Promise.resolve();
34
+ });
35
+ });
36
+ Cypress.Commands.add('axeStop', function () {
37
+ cy.window().then(function (win) {
38
+ var event = new CustomEvent('axe:stop-auto-mode');
39
+ win.dispatchEvent(event);
40
+ return Promise.resolve();
41
+ });
42
+ });
43
+ //# sourceMappingURL=cypressCommands.js.map
@@ -0,0 +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;QACpD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACxB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,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,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,oBAAoB,CAAC,CAAA;QACnD,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACxB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
+ /*! Copyright Deque 2021-2022 All Rights Reserved */
1
2
  export { puppeteerConfig, PuppeteerController } from './puppeteer';
2
3
  export { wdioConfig, wdioTestRunner, WdioController } from './wdio';
3
4
  export { webdriverConfig, WebdriverController } from './webdriver';
4
5
  export { playwrightConfig, PlaywrightController } from './playwright';
6
+ export { cypressConfig } from './cypress';
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
+ /*! Copyright Deque 2021-2022 All Rights Reserved */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PlaywrightController = exports.playwrightConfig = exports.WebdriverController = exports.webdriverConfig = exports.WdioController = exports.wdioTestRunner = exports.wdioConfig = exports.PuppeteerController = exports.puppeteerConfig = void 0;
4
+ exports.cypressConfig = exports.PlaywrightController = exports.playwrightConfig = exports.WebdriverController = exports.webdriverConfig = exports.WdioController = exports.wdioTestRunner = exports.wdioConfig = exports.PuppeteerController = exports.puppeteerConfig = void 0;
4
5
  var puppeteer_1 = require("./puppeteer");
5
6
  Object.defineProperty(exports, "puppeteerConfig", { enumerable: true, get: function () { return puppeteer_1.puppeteerConfig; } });
6
7
  Object.defineProperty(exports, "PuppeteerController", { enumerable: true, get: function () { return puppeteer_1.PuppeteerController; } });
@@ -14,4 +15,6 @@ Object.defineProperty(exports, "WebdriverController", { enumerable: true, get: f
14
15
  var playwright_1 = require("./playwright");
15
16
  Object.defineProperty(exports, "playwrightConfig", { enumerable: true, get: function () { return playwright_1.playwrightConfig; } });
16
17
  Object.defineProperty(exports, "PlaywrightController", { enumerable: true, get: function () { return playwright_1.PlaywrightController; } });
18
+ var cypress_1 = require("./cypress");
19
+ Object.defineProperty(exports, "cypressConfig", { enumerable: true, get: function () { return cypress_1.cypressConfig; } });
17
20
  //# 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,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"}
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,qCAAyC;AAAhC,wGAAA,aAAa,OAAA"}
@@ -1,5 +1,5 @@
1
- import { Configuration, Controller } from './util';
2
1
  import type { LaunchOptions, Page } from 'playwright';
2
+ import { Configuration, Controller } from './util';
3
3
  /**
4
4
  * Creates a Playwright config that uses axe extension
5
5
  *
@@ -85,7 +85,7 @@ function playwrightConfig(opts) {
85
85
  var _a = config.args, args = _a === void 0 ? [] : _a;
86
86
  (0, util_1.writeVariables)(axe);
87
87
  if (config.headless) {
88
- throw new Error('Cannot use extension while headless.');
88
+ throw new util_1.HeadlessNotSupportedError();
89
89
  }
90
90
  args = args.concat(util_1.extensionArgs);
91
91
  return __assign(__assign({}, config), { headless: false, args: args });
@@ -1 +1 @@
1
- {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAKe;AAGf;;;;GAIG;AAEH,SAAgB,gBAAgB,CAC9B,IAAmC;IAE3B,IAAA,GAAG,GAAgB,IAAI,IAApB,EAAK,MAAM,UAAK,IAAI,EAAzB,OAAkB,CAAF,CAAS;IACzB,IAAA,KAAc,MAAM,KAAX,EAAT,IAAI,mBAAG,EAAE,KAAA,CAAW;IAC1B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;KACxD;IAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAa,CAAC,CAAA;IAEjC,6BACK,MAAM,KACT,QAAQ,EAAE,KAAK,EACf,IAAI,MAAA,IACL;AACH,CAAC;AAlBD,4CAkBC;AAED;IAA0C,wCAAU;IAGlD,8BAAY,MAAY;QAAxB,YACE,iBAAO,SAER;QADC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAA;;IACtB,CAAC;IAEe,4CAAa,GAA7B,UACE,EAAkC;;;;4BAElC,qBAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAA;;wBAA9B,SAA8B,CAAA;;;;;KAC/B;IACH,2BAAC;AAAD,CAAC,AAbD,CAA0C,iBAAU,GAanD;AAbY,oDAAoB"}
1
+ {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+BAMe;AAEf;;;;GAIG;AAEH,SAAgB,gBAAgB,CAC9B,IAAmC;IAE3B,IAAA,GAAG,GAAgB,IAAI,IAApB,EAAK,MAAM,UAAK,IAAI,EAAzB,OAAkB,CAAF,CAAS;IACzB,IAAA,KAAc,MAAM,KAAX,EAAT,IAAI,mBAAG,EAAE,KAAA,CAAW;IAC1B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAa,CAAC,CAAA;IAEjC,6BACK,MAAM,KACT,QAAQ,EAAE,KAAK,EACf,IAAI,MAAA,IACL;AACH,CAAC;AAlBD,4CAkBC;AAED;IAA0C,wCAAU;IAGlD,8BAAY,MAAY;QAAxB,YACE,iBAAO,SAER;QADC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAA;;IACtB,CAAC;IAEe,4CAAa,GAA7B,UACE,EAAkC;;;;4BAElC,qBAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAA;;wBAA9B,SAA8B,CAAA;;;;;KAC/B;IACH,2BAAC;AAAD,CAAC,AAbD,CAA0C,iBAAU,GAanD;AAbY,oDAAoB"}
@@ -1,5 +1,5 @@
1
- import { Configuration, Controller } from './util';
2
1
  import type { LaunchOptions, BrowserLaunchArgumentOptions, BrowserConnectOptions, Page } from 'puppeteer';
2
+ import { Configuration, Controller } from './util';
3
3
  declare type Options = LaunchOptions & BrowserLaunchArgumentOptions & BrowserConnectOptions;
4
4
  /**
5
5
  * Creates a Puppeteer config that uses axe extension.
package/dist/puppeteer.js CHANGED
@@ -85,7 +85,7 @@ function puppeteerConfig(opts) {
85
85
  var _a = config.args, args = _a === void 0 ? [] : _a;
86
86
  (0, util_1.writeVariables)(axe);
87
87
  if (config.headless) {
88
- throw new Error('Cannot use extension while headless.');
88
+ throw new util_1.HeadlessNotSupportedError();
89
89
  }
90
90
  args = args.concat(util_1.extensionArgs);
91
91
  return __assign(__assign({}, config), { headless: false, args: args });
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAKe;AAYf;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,IAA6B;IACnD,IAAA,GAAG,GAAgB,IAAI,IAApB,EAAK,MAAM,UAAK,IAAI,EAAzB,OAAkB,CAAF,CAAS;IACzB,IAAA,KAAc,MAAM,KAAX,EAAT,IAAI,mBAAG,EAAE,KAAA,CAAW;IAC1B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;KACxD;IAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAa,CAAC,CAAA;IAEjC,6BACK,MAAM,KACT,QAAQ,EAAE,KAAK,EACf,IAAI,MAAA,IACL;AACH,CAAC;AAhBD,0CAgBC;AAED;IAAyC,uCAAU;IAGjD,6BAAY,MAAY;QAAxB,YACE,iBAAO,SAER;QADC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAA;;IACtB,CAAC;IAEe,2CAAa,GAA7B,UACE,EAAkC;;;;4BAElC,qBAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAA;;wBAA9B,SAA8B,CAAA;;;;;KAC/B;IACH,0BAAC;AAAD,CAAC,AAbD,CAAyC,iBAAU,GAalD;AAbY,kDAAmB"}
1
+ {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,+BAMe;AAMf;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,IAA6B;IACnD,IAAA,GAAG,GAAgB,IAAI,IAApB,EAAK,MAAM,UAAK,IAAI,EAAzB,OAAkB,CAAF,CAAS;IACzB,IAAA,KAAc,MAAM,KAAX,EAAT,IAAI,mBAAG,EAAE,KAAA,CAAW;IAC1B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAa,CAAC,CAAA;IAEjC,6BACK,MAAM,KACT,QAAQ,EAAE,KAAK,EACf,IAAI,MAAA,IACL;AACH,CAAC;AAhBD,0CAgBC;AAED;IAAyC,uCAAU;IAGjD,6BAAY,MAAY;QAAxB,YACE,iBAAO,SAER;QADC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAA;;IACtB,CAAC;IAEe,2CAAa,GAA7B,UACE,EAAkC;;;;4BAElC,qBAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAA;;wBAA9B,SAA8B,CAAA;;;;;KAC/B;IACH,0BAAC;AAAD,CAAC,AAbD,CAAyC,iBAAU,GAalD;AAbY,kDAAmB"}
package/dist/util.d.ts CHANGED
@@ -1,6 +1,12 @@
1
1
  export declare const PATH_TO_EXTENSION: string;
2
2
  export declare const DEFAULT_SERVER_URL = "https://axe.deque.com/";
3
+ export declare const PATH_TO_SESSION_FILE: string;
4
+ export declare const PATH_TO_EXTENSION_VARIABLES: string;
3
5
  export declare const extensionArgs: readonly [`--disable-extensions-except=${string}`, `--load-extension=${string}`];
6
+ export declare class HeadlessNotSupportedError extends Error {
7
+ name: string;
8
+ constructor();
9
+ }
4
10
  export interface Configuration {
5
11
  axe: {
6
12
  /** Your axe API key. */
@@ -22,7 +28,14 @@ interface WriteVariablesParams {
22
28
  sessionId?: string;
23
29
  autoAnalyze?: boolean;
24
30
  }
31
+ /** Write the user's settings to the disk, so the extension can load them. */
25
32
  export declare function writeVariables({ apiKey, serverURL, sessionId, autoAnalyze }: WriteVariablesParams): void;
33
+ interface WriteManifestParams {
34
+ all_frames: boolean;
35
+ exclude_globs: string[];
36
+ }
37
+ /** Update the extension manifest file. */
38
+ export declare function writeManifest({ all_frames, exclude_globs }: WriteManifestParams): void;
26
39
  export declare abstract class Controller {
27
40
  protected abstract executeScript(fn: string | (() => Promise<void>)): Promise<void>;
28
41
  start(): Promise<void>;
package/dist/util.js CHANGED
@@ -1,27 +1,19 @@
1
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
25
17
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
18
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
19
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -58,17 +50,33 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
58
50
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
51
  }
60
52
  };
53
+ var __importDefault = (this && this.__importDefault) || function (mod) {
54
+ return (mod && mod.__esModule) ? mod : { "default": mod };
55
+ };
61
56
  Object.defineProperty(exports, "__esModule", { value: true });
62
- exports.Controller = exports.writeVariables = exports.extensionArgs = exports.DEFAULT_SERVER_URL = exports.PATH_TO_EXTENSION = void 0;
63
- var fs = __importStar(require("fs"));
64
- var path = __importStar(require("path"));
65
- exports.PATH_TO_EXTENSION = path.join(__dirname, '..', 'extension');
57
+ exports.Controller = 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;
58
+ var fs_1 = __importDefault(require("fs"));
59
+ var path_1 = __importDefault(require("path"));
60
+ var os_1 = __importDefault(require("os"));
61
+ exports.PATH_TO_EXTENSION = path_1.default.join(__dirname, '..', 'extension');
66
62
  exports.DEFAULT_SERVER_URL = 'https://axe.deque.com/';
63
+ exports.PATH_TO_SESSION_FILE = path_1.default.join(os_1.default.tmpdir(), 'axe-watcher-session.json');
64
+ exports.PATH_TO_EXTENSION_VARIABLES = path_1.default.join(exports.PATH_TO_EXTENSION, 'variables.json');
67
65
  exports.extensionArgs = [
68
66
  "--disable-extensions-except=".concat(exports.PATH_TO_EXTENSION),
69
67
  "--load-extension=".concat(exports.PATH_TO_EXTENSION)
70
68
  ];
71
- // Write the user's settings to the disk, so the extension can load them
69
+ var HeadlessNotSupportedError = /** @class */ (function (_super) {
70
+ __extends(HeadlessNotSupportedError, _super);
71
+ function HeadlessNotSupportedError() {
72
+ var _this = _super.call(this, 'Cannot use extension while headless.') || this;
73
+ _this.name = 'HeadlessNotSupportedError';
74
+ return _this;
75
+ }
76
+ return HeadlessNotSupportedError;
77
+ }(Error));
78
+ exports.HeadlessNotSupportedError = HeadlessNotSupportedError;
79
+ /** Write the user's settings to the disk, so the extension can load them. */
72
80
  function writeVariables(_a) {
73
81
  var apiKey = _a.apiKey, serverURL = _a.serverURL, sessionId = _a.sessionId, autoAnalyze = _a.autoAnalyze;
74
82
  if (!serverURL) {
@@ -84,8 +92,18 @@ function writeVariables(_a) {
84
92
  if (typeof autoAnalyze === 'undefined') {
85
93
  autoAnalyze = true;
86
94
  }
87
- var filePath = path.join(exports.PATH_TO_EXTENSION, 'variables.json');
88
- fs.writeFileSync(filePath, JSON.stringify({
95
+ // When a custom session ID is not provided, attempt to read it from the filesystem.
96
+ // This enables multi-process/multi-browser test suites to all use the same session ID.
97
+ if (!sessionId && fs_1.default.existsSync(exports.PATH_TO_SESSION_FILE)) {
98
+ try {
99
+ var data = JSON.parse(fs_1.default.readFileSync(exports.PATH_TO_SESSION_FILE, 'utf8'));
100
+ sessionId = data.id;
101
+ }
102
+ catch (error) {
103
+ throw new Error("Unable to read session configuration: ".concat(error));
104
+ }
105
+ }
106
+ fs_1.default.writeFileSync(exports.PATH_TO_EXTENSION_VARIABLES, JSON.stringify({
89
107
  api_key: apiKey,
90
108
  server_url: urlString,
91
109
  session_id: sessionId,
@@ -93,12 +111,21 @@ function writeVariables(_a) {
93
111
  }));
94
112
  }
95
113
  exports.writeVariables = writeVariables;
114
+ /** Update the extension manifest file. */
115
+ function writeManifest(_a) {
116
+ var all_frames = _a.all_frames, exclude_globs = _a.exclude_globs;
117
+ var manifestPath = path_1.default.join(exports.PATH_TO_EXTENSION, 'manifest.json');
118
+ var manifest = JSON.parse(fs_1.default.readFileSync(manifestPath, 'utf-8'));
119
+ manifest.content_scripts[0].all_frames = all_frames;
120
+ manifest.content_scripts[0].exclude_globs = exclude_globs;
121
+ fs_1.default.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2));
122
+ }
123
+ exports.writeManifest = writeManifest;
96
124
  function updateAutoAnalyze(newVal) {
97
- var filePath = path.join(exports.PATH_TO_EXTENSION, 'variables.json');
98
- var fileContents = fs.readFileSync(filePath, 'utf-8');
125
+ var fileContents = fs_1.default.readFileSync(exports.PATH_TO_EXTENSION_VARIABLES, 'utf-8');
99
126
  var jsonValue = JSON.parse(fileContents);
100
127
  jsonValue['auto_analyze'] = newVal;
101
- fs.writeFileSync(filePath, JSON.stringify(jsonValue));
128
+ fs_1.default.writeFileSync(exports.PATH_TO_EXTENSION_VARIABLES, JSON.stringify(jsonValue));
102
129
  }
103
130
  var Controller = /** @class */ (function () {
104
131
  function Controller() {
@@ -146,12 +173,12 @@ var Controller = /** @class */ (function () {
146
173
  case 0: return [4 /*yield*/, this.executeScript(function () {
147
174
  return new Promise(function (resolve) {
148
175
  var event = new CustomEvent('axe:manual-mode-analyze');
149
- window.dispatchEvent(event);
150
- var p = function () {
151
- window.removeEventListener('axe:manual-mode-analyze-done', p);
176
+ var fn = function () {
177
+ window.removeEventListener('axe:manual-mode-analyze-done', fn);
152
178
  resolve();
153
179
  };
154
- window.addEventListener('axe:manual-mode-analyze-done', p);
180
+ window.addEventListener('axe:manual-mode-analyze-done', fn);
181
+ window.dispatchEvent(event);
155
182
  });
156
183
  })];
157
184
  case 1:
@@ -166,7 +193,17 @@ var Controller = /** @class */ (function () {
166
193
  return __awaiter(this, void 0, void 0, function () {
167
194
  return __generator(this, function (_a) {
168
195
  switch (_a.label) {
169
- case 0: return [4 /*yield*/, this.executeScript("\n new Promise(resolve => {\n const fn = () => {\n window.removeEventListener('axe:flush-end', fn)\n resolve()\n }\n window.addEventListener('axe:flush-end', fn)\n const event = new CustomEvent('axe:flush-start')\n window.dispatchEvent(event)\n })\n ")];
196
+ case 0: return [4 /*yield*/, this.executeScript(function () {
197
+ return new Promise(function (resolve) {
198
+ var fn = function () {
199
+ window.removeEventListener('axe:flush-end', fn);
200
+ resolve();
201
+ };
202
+ window.addEventListener('axe:flush-end', fn);
203
+ var event = new CustomEvent('axe:flush-start');
204
+ window.dispatchEvent(event);
205
+ });
206
+ })];
170
207
  case 1:
171
208
  _a.sent();
172
209
  return [2 /*return*/];
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAwB;AACxB,yCAA4B;AAEf,QAAA,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;AAC3D,QAAA,kBAAkB,GAAG,wBAAwB,CAAA;AAE7C,QAAA,aAAa,GAAG;IAC3B,sCAA+B,yBAAiB,CAAE;IAClD,2BAAoB,yBAAiB,CAAE;CAC/B,CAAA;AAyBV,wEAAwE;AACxE,SAAgB,cAAc,CAAC,EAKR;QAJrB,MAAM,YAAA,EACN,SAAS,eAAA,EACT,SAAS,eAAA,EACT,WAAW,iBAAA;IAEX,IAAI,CAAC,SAAS,EAAE;QACd,SAAS,GAAG,0BAAkB,CAAA;KAC/B;IAED,IAAI,SAAS,CAAA;IACb,IAAI;QACF,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAA;KAC1C;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,mFAA4E,GAAG,CAAE,CAClF,CAAA;KACF;IAED,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE;QACtC,WAAW,GAAG,IAAI,CAAA;KACnB;IAED,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,yBAAiB,EAAE,gBAAgB,CAAC,CAAA;IAC/D,EAAE,CAAC,aAAa,CACd,QAAQ,EACR,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,YAAY,EAAE,CAAC,CAAC,WAAW;KAC5B,CAAC,CACH,CAAA;AACH,CAAC;AAjCD,wCAiCC;AAED,SAAS,iBAAiB,CAAC,MAAe;IACxC,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,yBAAiB,EAAE,gBAAgB,CAAC,CAAA;IAC/D,IAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACvD,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAC1C,SAAS,CAAC,cAAc,CAAC,GAAG,MAAM,CAAA;IAElC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;AACvD,CAAC;AAED;IAAA;IAqDA,CAAC;IAhDc,0BAAK,GAAlB;;;;;wBACE,iBAAiB,CAAC,IAAI,CAAC,CAAA;wBACvB,qBAAM,IAAI,CAAC,aAAa,CAAC;gCACvB,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAA;gCACpD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gCAC3B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;4BAC1B,CAAC,CAAC,EAAA;;wBAJF,SAIE,CAAA;;;;;KACH;IAEY,yBAAI,GAAjB;;;;;wBACE,iBAAiB,CAAC,KAAK,CAAC,CAAA;wBACxB,qBAAM,IAAI,CAAC,aAAa,CAAC;gCACvB,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,oBAAoB,CAAC,CAAA;gCACnD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gCAC3B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;4BAC1B,CAAC,CAAC,EAAA;;wBAJF,SAIE,CAAA;;;;;KACH;IAEY,4BAAO,GAApB;;;;4BACE,qBAAM,IAAI,CAAC,aAAa,CAAC;4BACvB,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO;gCACxB,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,yBAAyB,CAAC,CAAA;gCACxD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gCAC3B,IAAM,CAAC,GAAG;oCACR,MAAM,CAAC,mBAAmB,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAA;oCAC7D,OAAO,EAAE,CAAA;gCACX,CAAC,CAAA;gCACD,MAAM,CAAC,gBAAgB,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAA;4BAC5D,CAAC,CAAC,CAAA;wBACJ,CAAC,CAAC,EAAA;;wBAVF,SAUE,CAAA;;;;;KACH;IAED,gEAAgE;IACnD,0BAAK,GAAlB;;;;4BACE,qBAAM,IAAI,CAAC,aAAa,CACtB,gUAUC,CACF,EAAA;;wBAZD,SAYC,CAAA;;;;;KACF;IACH,iBAAC;AAAD,CAAC,AArDD,IAqDC;AArDqB,gCAAU"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAmB;AACnB,8CAAuB;AACvB,0CAAmB;AAEN,QAAA,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;AAC3D,QAAA,kBAAkB,GAAG,wBAAwB,CAAA;AAC7C,QAAA,oBAAoB,GAAG,cAAI,CAAC,IAAI,CAC3C,YAAE,CAAC,MAAM,EAAE,EACX,0BAA0B,CAC3B,CAAA;AACY,QAAA,2BAA2B,GAAG,cAAI,CAAC,IAAI,CAClD,yBAAiB,EACjB,gBAAgB,CACjB,CAAA;AAEY,QAAA,aAAa,GAAG;IAC3B,sCAA+B,yBAAiB,CAAE;IAClD,2BAAoB,yBAAiB,CAAE;CAC/B,CAAA;AAEV;IAA+C,6CAAK;IAGlD;QAAA,YACE,kBAAM,sCAAsC,CAAC,SAC9C;QAJM,UAAI,GAAG,2BAA2B,CAAA;;IAIzC,CAAC;IACH,gCAAC;AAAD,CAAC,AAND,CAA+C,KAAK,GAMnD;AANY,8DAAyB;AA+BtC,6EAA6E;AAC7E,SAAgB,cAAc,CAAC,EAKR;QAJrB,MAAM,YAAA,EACN,SAAS,eAAA,EACT,SAAS,eAAA,EACT,WAAW,iBAAA;IAEX,IAAI,CAAC,SAAS,EAAE;QACd,SAAS,GAAG,0BAAkB,CAAA;KAC/B;IAED,IAAI,SAAS,CAAA;IACb,IAAI;QACF,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAA;KAC1C;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,mFAA4E,GAAG,CAAE,CAClF,CAAA;KACF;IAED,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE;QACtC,WAAW,GAAG,IAAI,CAAA;KACnB;IAED,oFAAoF;IACpF,uFAAuF;IACvF,IAAI,CAAC,SAAS,IAAI,YAAE,CAAC,UAAU,CAAC,4BAAoB,CAAC,EAAE;QACrD,IAAI;YACF,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,4BAAoB,EAAE,MAAM,CAAC,CAAC,CAAA;YACtE,SAAS,GAAG,IAAI,CAAC,EAAY,CAAA;SAC9B;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,gDAAyC,KAAK,CAAE,CAAC,CAAA;SAClE;KACF;IAED,YAAE,CAAC,aAAa,CACd,mCAA2B,EAC3B,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,YAAY,EAAE,CAAC,CAAC,WAAW;KAC5B,CAAC,CACH,CAAA;AACH,CAAC;AA3CD,wCA2CC;AAOD,0CAA0C;AAC1C,SAAgB,aAAa,CAAC,EAGR;QAFpB,UAAU,gBAAA,EACV,aAAa,mBAAA;IAEb,IAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,yBAAiB,EAAE,eAAe,CAAC,CAAA;IAClE,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;IACnE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAA;IACnD,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,aAAa,CAAA;IACzD,YAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AACnE,CAAC;AATD,sCASC;AAED,SAAS,iBAAiB,CAAC,MAAe;IACxC,IAAM,YAAY,GAAG,YAAE,CAAC,YAAY,CAAC,mCAA2B,EAAE,OAAO,CAAC,CAAA;IAC1E,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAC1C,SAAS,CAAC,cAAc,CAAC,GAAG,MAAM,CAAA;IAElC,YAAE,CAAC,aAAa,CAAC,mCAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED;IAAA;IAmDA,CAAC;IA9Cc,0BAAK,GAAlB;;;;;wBACE,iBAAiB,CAAC,IAAI,CAAC,CAAA;wBACvB,qBAAM,IAAI,CAAC,aAAa,CAAC;gCACvB,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAA;gCACpD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gCAC3B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;4BAC1B,CAAC,CAAC,EAAA;;wBAJF,SAIE,CAAA;;;;;KACH;IAEY,yBAAI,GAAjB;;;;;wBACE,iBAAiB,CAAC,KAAK,CAAC,CAAA;wBACxB,qBAAM,IAAI,CAAC,aAAa,CAAC;gCACvB,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,oBAAoB,CAAC,CAAA;gCACnD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;gCAC3B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;4BAC1B,CAAC,CAAC,EAAA;;wBAJF,SAIE,CAAA;;;;;KACH;IAEY,4BAAO,GAApB;;;;4BACE,qBAAM,IAAI,CAAC,aAAa,CAAC;4BACvB,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO;gCACxB,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,yBAAyB,CAAC,CAAA;gCACxD,IAAM,EAAE,GAAG;oCACT,MAAM,CAAC,mBAAmB,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;oCAC9D,OAAO,EAAE,CAAA;gCACX,CAAC,CAAA;gCACD,MAAM,CAAC,gBAAgB,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAA;gCAC3D,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;4BAC7B,CAAC,CAAC,CAAA;wBACJ,CAAC,CAAC,EAAA;;wBAVF,SAUE,CAAA;;;;;KACH;IAED,gEAAgE;IACnD,0BAAK,GAAlB;;;;4BACE,qBAAM,IAAI,CAAC,aAAa,CAAC;4BACvB,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO;gCACxB,IAAM,EAAE,GAAG;oCACT,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;oCAC/C,OAAO,EAAE,CAAA;gCACX,CAAC,CAAA;gCACD,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gCAC5C,IAAM,KAAK,GAAG,IAAI,WAAW,CAAC,iBAAiB,CAAC,CAAA;gCAChD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;4BAC7B,CAAC,CAAC,CAAA;wBACJ,CAAC,CAAC,EAAA;;wBAVF,SAUE,CAAA;;;;;KACH;IACH,iBAAC;AAAD,CAAC,AAnDD,IAmDC;AAnDqB,gCAAU"}
package/dist/wdio.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Configuration, Controller } from './util';
2
1
  import type { Options } from '@wdio/types';
2
+ import { Configuration, Controller } from './util';
3
3
  interface Browser {
4
4
  executeAsyncScript(script: string, args: object[]): void;
5
5
  }
package/dist/wdio.js CHANGED
@@ -77,7 +77,7 @@ function wdioConfig(arg) {
77
77
  var chromeOpts = ((_b = (_a = arg.options) === null || _a === void 0 ? void 0 : _a.capabilities) === null || _b === void 0 ? void 0 : _b['goog:chromeOptions']) || {};
78
78
  var args = chromeOpts.args || [];
79
79
  if (args.includes('--headless')) {
80
- throw new Error('Cannot use extension while headless.');
80
+ throw new util_1.HeadlessNotSupportedError();
81
81
  }
82
82
  return __assign(__assign({}, arg.options), { capabilities: __assign(__assign({}, (_c = arg.options) === null || _c === void 0 ? void 0 : _c.capabilities), { browserName: 'chrome', 'goog:chromeOptions': {
83
83
  args: util_1.extensionArgs.concat(args)
@@ -102,7 +102,7 @@ function wdioTestRunner(axe, config) {
102
102
  chromeOpts.args = chromeOpts.args || [];
103
103
  var args = chromeOpts.args;
104
104
  if (args.includes('--headless')) {
105
- throw new Error('Cannot use extension while headless.');
105
+ throw new util_1.HeadlessNotSupportedError();
106
106
  }
107
107
  chromeOpts.args = util_1.extensionArgs.concat(args);
108
108
  return __assign(__assign({}, config), { capabilities: capabilities });
package/dist/wdio.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAKe;AAWf;;;;GAIG;AAEH,SAAgB,UAAU,CAAC,GAAY;;IACrC,IAAA,qBAAc,EAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAEvB,iFAAiF;IACjF,uDAAuD;IACvD,IAAM,UAAU,GACd,CAAA,MAAC,MAAA,GAAG,CAAC,OAAO,0CAAE,YAAoB,0CAAG,oBAAoB,CAAC,KAAI,EAAE,CAAA;IAClE,IAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAA;IAElC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;KACxD;IAED,6BACK,GAAG,CAAC,OAAO,KACd,YAAY,wBACP,MAAA,GAAG,CAAC,OAAO,0CAAE,YAAY,KAC5B,WAAW,EAAE,QAAQ,EACrB,oBAAoB,EAAE;gBACpB,IAAI,EAAE,oBAAa,CAAC,MAAM,CAAC,IAAI,CAAC;aACjC,OAEJ;AACH,CAAC;AAvBD,gCAuBC;AAED,sFAAsF;AACtF,SAAgB,cAAc,CAC5B,GAAyB,EACzB,MAA0B;IAE1B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IACnB,IAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI;QAC1C;YACE,oBAAoB,EAAE;gBACpB,IAAI,EAAE,EAAE;aACT;SACF;KACF,CAAA;IACD,6CAA6C;IAC7C,IAAM,eAAe,GAAI,YAAoB,CAAC,CAAC,CAAC,CAAA;IAChD,eAAe,CAAC,oBAAoB,CAAC;QACnC,eAAe,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAA;IAC7C,IAAM,UAAU,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAA;IACxD,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAA;IACvC,IAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;IAE5B,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;KACxD;IAED,UAAU,CAAC,IAAI,GAAG,oBAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAE5C,6BACK,MAAM,KACT,YAAY,cAAA,IACb;AACH,CAAC;AA9BD,wCA8BC;AAED;IAAoC,kCAAU;IAG5C,wBAAY,MAAe;QAA3B,YACE,iBAAO,SAER;QADC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAA;;IACtB,CAAC;IAEe,sCAAa,GAA7B,UACE,EAAkC;;;;;;wBAE5B,MAAM,GAAG,4GAGH,EAAE,sCAEb,CAAA;wBACD,qBAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAA;;wBAAhD,SAAgD,CAAA;;;;;KACjD;IACH,qBAAC;AAAD,CAAC,AAnBD,CAAoC,iBAAU,GAmB7C;AAnBY,wCAAc"}
1
+ {"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,+BAMe;AAUf;;;;GAIG;AAEH,SAAgB,UAAU,CAAC,GAAY;;IACrC,IAAA,qBAAc,EAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAEvB,iFAAiF;IACjF,uDAAuD;IACvD,IAAM,UAAU,GACd,CAAA,MAAC,MAAA,GAAG,CAAC,OAAO,0CAAE,YAAoB,0CAAG,oBAAoB,CAAC,KAAI,EAAE,CAAA;IAClE,IAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAA;IAElC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;QAC/B,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,6BACK,GAAG,CAAC,OAAO,KACd,YAAY,wBACP,MAAA,GAAG,CAAC,OAAO,0CAAE,YAAY,KAC5B,WAAW,EAAE,QAAQ,EACrB,oBAAoB,EAAE;gBACpB,IAAI,EAAE,oBAAa,CAAC,MAAM,CAAC,IAAI,CAAC;aACjC,OAEJ;AACH,CAAC;AAvBD,gCAuBC;AAED,sFAAsF;AACtF,SAAgB,cAAc,CAC5B,GAAyB,EACzB,MAA0B;IAE1B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IACnB,IAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI;QAC1C;YACE,oBAAoB,EAAE;gBACpB,IAAI,EAAE,EAAE;aACT;SACF;KACF,CAAA;IACD,6CAA6C;IAC7C,IAAM,eAAe,GAAI,YAAoB,CAAC,CAAC,CAAC,CAAA;IAChD,eAAe,CAAC,oBAAoB,CAAC;QACnC,eAAe,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAA;IAC7C,IAAM,UAAU,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAA;IACxD,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAA;IACvC,IAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;IAE5B,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;QAC/B,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,UAAU,CAAC,IAAI,GAAG,oBAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAE5C,6BACK,MAAM,KACT,YAAY,cAAA,IACb;AACH,CAAC;AA9BD,wCA8BC;AAED;IAAoC,kCAAU;IAG5C,wBAAY,MAAe;QAA3B,YACE,iBAAO,SAER;QADC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAA;;IACtB,CAAC;IAEe,sCAAa,GAA7B,UACE,EAAkC;;;;;;wBAE5B,MAAM,GAAG,4GAGH,EAAE,sCAEb,CAAA;wBACD,qBAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAA;;wBAAhD,SAAgD,CAAA;;;;;KACjD;IACH,qBAAC;AAAD,CAAC,AAnBD,CAAoC,iBAAU,GAmB7C;AAnBY,wCAAc"}
@@ -1,6 +1,6 @@
1
- import { Configuration, Controller } from './util';
2
1
  import type { WebDriver } from 'selenium-webdriver';
3
2
  import type { Options } from 'selenium-webdriver/chrome';
3
+ import { Configuration, Controller } from './util';
4
4
  interface WebDriverArgs extends Configuration {
5
5
  options?: Options;
6
6
  }