@axe-core/watcher 1.8.2 → 2.0.0-next.0f47d4bc

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/Controller.js +71 -131
  2. package/dist/Controller.js.map +1 -1
  3. package/dist/cypress.d.ts +1 -5
  4. package/dist/cypress.js +9 -95
  5. package/dist/cypress.js.map +1 -1
  6. package/dist/cypressCommands.d.ts +6 -0
  7. package/dist/cypressCommands.js +112 -43
  8. package/dist/cypressCommands.js.map +1 -1
  9. package/dist/git.d.ts +2 -0
  10. package/dist/git.js +31 -22
  11. package/dist/git.js.map +1 -1
  12. package/dist/index.d.ts +5 -4
  13. package/dist/index.js +9 -2
  14. package/dist/index.js.map +1 -1
  15. package/dist/playwright.d.ts +7 -3
  16. package/dist/playwright.js +17 -82
  17. package/dist/playwright.js.map +1 -1
  18. package/dist/playwrightTest.d.ts +16 -0
  19. package/dist/playwrightTest.js +74 -0
  20. package/dist/playwrightTest.js.map +1 -0
  21. package/dist/playwrightWrapping.d.ts +14 -0
  22. package/dist/playwrightWrapping.js +548 -0
  23. package/dist/playwrightWrapping.js.map +1 -0
  24. package/dist/puppeteer.d.ts +2 -2
  25. package/dist/puppeteer.js +17 -92
  26. package/dist/puppeteer.js.map +1 -1
  27. package/dist/puppeteerWrapping.d.ts +14 -0
  28. package/dist/puppeteerWrapping.js +426 -0
  29. package/dist/puppeteerWrapping.js.map +1 -0
  30. package/dist/util.d.ts +11 -0
  31. package/dist/util.js +62 -45
  32. package/dist/util.js.map +1 -1
  33. package/dist/validateApiKey.js +6 -7
  34. package/dist/validateApiKey.js.map +1 -1
  35. package/dist/wdio.d.ts +1 -1
  36. package/dist/wdio.js +44 -138
  37. package/dist/wdio.js.map +1 -1
  38. package/dist/webdriver.d.ts +2 -2
  39. package/dist/webdriver.js +24 -85
  40. package/dist/webdriver.js.map +1 -1
  41. package/dist/webdriverWrapping.d.ts +7 -0
  42. package/dist/webdriverWrapping.js +131 -0
  43. package/dist/webdriverWrapping.js.map +1 -0
  44. package/extension/background.js +1 -1
  45. package/extension/content.js +1 -1
  46. package/extension/manifest.json +2 -3
  47. package/package.json +6 -7
package/dist/webdriver.js CHANGED
@@ -1,19 +1,4 @@
1
1
  "use strict";
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
- })();
17
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -23,49 +8,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
23
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
24
9
  });
25
10
  };
26
- var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
- function verb(n) { return function (v) { return step([n, v]); }; }
30
- function step(op) {
31
- if (f) throw new TypeError("Generator is already executing.");
32
- while (_) try {
33
- 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;
34
- if (y = 0, t) op = [op[0] & 2, t.value];
35
- switch (op[0]) {
36
- case 0: case 1: t = op; break;
37
- case 4: _.label++; return { value: op[1], done: false };
38
- case 5: _.label++; y = op[1]; op = [0]; continue;
39
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
- default:
41
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
- if (t[2]) _.ops.pop();
46
- _.trys.pop(); continue;
47
- }
48
- op = body.call(thisArg, _);
49
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
- }
52
- };
53
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
54
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
55
- if (ar || !(i in from)) {
56
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
57
- ar[i] = from[i];
58
- }
59
- }
60
- return to.concat(ar || Array.prototype.slice.call(from));
61
- };
62
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
63
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
64
13
  };
65
14
  Object.defineProperty(exports, "__esModule", { value: true });
66
- exports.WebdriverController = exports.webdriverConfig = void 0;
67
- var util_1 = require("./util");
68
- var Controller_1 = __importDefault(require("./Controller"));
15
+ exports.WebdriverController = exports.webdriverConfig = exports.wrapWebdriver = void 0;
16
+ const util_1 = require("./util");
17
+ const Controller_1 = __importDefault(require("./Controller"));
18
+ var webdriverWrapping_1 = require("./webdriverWrapping");
19
+ Object.defineProperty(exports, "wrapWebdriver", { enumerable: true, get: function () { return webdriverWrapping_1.wrapDriver; } });
69
20
  /**
70
21
  * Creates a Selenium config that uses axe extension
71
22
  *
@@ -75,11 +26,11 @@ function webdriverConfig(arg) {
75
26
  var _a, _b;
76
27
  // Lazily require `chrome` to avoid Puppeteer/Playwright/WDIO users from needing `selenium-webdriver` installed.
77
28
  // eslint-disable-next-line @typescript-eslint/no-var-requires
78
- var chrome = require('selenium-webdriver/chrome');
79
- var axe = arg.axe, options = arg.options;
29
+ const chrome = require('selenium-webdriver/chrome');
30
+ const { axe, options } = arg;
80
31
  (0, util_1.writeVariables)(axe);
81
- var opts = options ? options : new chrome.Options();
82
- opts.addArguments.apply(opts, util_1.extensionArgs);
32
+ const opts = options ? options : new chrome.Options();
33
+ opts.addArguments(...util_1.extensionArgs);
83
34
  // Note: fragile, but selenium does not give us a real way to check this
84
35
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
36
  if ((_b = (_a = opts === null || opts === void 0 ? void 0 : opts.options_) === null || _a === void 0 ? void 0 : _a.args) === null || _b === void 0 ? void 0 : _b.includes('headless')) {
@@ -88,34 +39,22 @@ function webdriverConfig(arg) {
88
39
  return opts;
89
40
  }
90
41
  exports.webdriverConfig = webdriverConfig;
91
- var WebdriverController = /** @class */ (function (_super) {
92
- __extends(WebdriverController, _super);
93
- function WebdriverController(driver) {
94
- var _this = _super.call(this) || this;
95
- _this.driver = driver;
96
- return _this;
42
+ class WebdriverController extends Controller_1.default {
43
+ constructor(driver) {
44
+ super();
45
+ this.driver = driver;
97
46
  }
98
- WebdriverController.prototype.executeScript = function (fn) {
99
- var args = [];
100
- for (var _i = 1; _i < arguments.length; _i++) {
101
- args[_i - 1] = arguments[_i];
102
- }
103
- return __awaiter(this, void 0, void 0, function () {
104
- var script;
105
- var _a;
106
- return __generator(this, function (_b) {
107
- switch (_b.label) {
108
- case 0:
109
- script = "\n const callback = arguments[arguments.length - 1];\n Promise.resolve(...arguments)\n .then(".concat(fn, ")\n .then(callback);\n ");
110
- return [4 /*yield*/, (_a = this.driver).executeAsyncScript.apply(_a, __spreadArray([script], args, false))];
111
- case 1:
112
- _b.sent();
113
- return [2 /*return*/];
114
- }
115
- });
47
+ executeScript(fn, ...args) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ const script = `
50
+ const callback = arguments[arguments.length - 1];
51
+ Promise.resolve(...arguments)
52
+ .then(${fn})
53
+ .then(callback);
54
+ `;
55
+ yield this.driver.executeAsyncScript(script, ...args);
116
56
  });
117
- };
118
- return WebdriverController;
119
- }(Controller_1.default));
57
+ }
58
+ }
120
59
  exports.WebdriverController = WebdriverController;
121
60
  //# sourceMappingURL=webdriver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../src/webdriver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+BAKe;AACf,4DAAqC;AAMrC;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,GAAkB;;IAChD,gHAAgH;IAChH,8DAA8D;IAC9D,IAAM,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAE3C,IAAA,GAAG,GAAc,GAAG,IAAjB,EAAE,OAAO,GAAK,GAAG,QAAR,CAAQ;IAC5B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAM,IAAI,GAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;IAC9D,IAAI,CAAC,YAAY,OAAjB,IAAI,EAAiB,oBAAa,EAAC;IAEnC,wEAAwE;IACxE,8DAA8D;IAC9D,IAAI,MAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,0CAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;QACvD,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAlBD,0CAkBC;AAED;IAAyC,uCAAU;IAGjD,6BAAY,MAAiB;QAA7B,YACE,iBAAO,SAER;QADC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAA;;IACtB,CAAC;IAEe,2CAAa,GAA7B,UACE,EAAkC;QAClC,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;;;;;;;wBAEZ,MAAM,GAAG,wHAGH,EAAE,sCAEb,CAAA;wBACD,qBAAM,CAAA,KAAA,IAAI,CAAC,MAAM,CAAA,CAAC,kBAAkB,0BAAC,MAAM,GAAK,IAAI,WAAC;;wBAArD,SAAqD,CAAA;;;;;KACtD;IACH,0BAAC;AAAD,CAAC,AApBD,CAAyC,oBAAU,GAoBlD;AApBY,kDAAmB"}
1
+ {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../src/webdriver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,iCAKe;AACf,8DAAqC;AAErC,yDAAiE;AAAxD,kHAAA,UAAU,OAAiB;AAMpC;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,GAAkB;;IAChD,gHAAgH;IAChH,8DAA8D;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAEnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAC5B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;IAC9D,IAAI,CAAC,YAAY,CAAC,GAAG,oBAAa,CAAC,CAAA;IAEnC,wEAAwE;IACxE,8DAA8D;IAC9D,IAAI,MAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,0CAAE,QAAQ,CAAC,UAAU,CAAC,EAAE;QACvD,MAAM,IAAI,gCAAyB,EAAE,CAAA;KACtC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAlBD,0CAkBC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAGjD,YAAY,MAAiB;QAC3B,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEe,aAAa,CAC3B,EAAkC,EAClC,GAAG,IAAe;;YAElB,MAAM,MAAM,GAAG;;;gBAGH,EAAE;;KAEb,CAAA;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;QACvD,CAAC;KAAA;CACF;AApBD,kDAoBC"}
@@ -0,0 +1,7 @@
1
+ import type { WebDriver, Navigation, WebElement, TargetLocator } from 'selenium-webdriver';
2
+ import { type PossiblyWrapped } from './util';
3
+ import type { WebdriverController } from './webdriver';
4
+ export declare const wrapDriver: (driver: PossiblyWrapped<WebDriver>, controller: WebdriverController) => WebDriver;
5
+ export declare const wrapNavigation: (navigation: PossiblyWrapped<Navigation>, controller: WebdriverController) => Navigation;
6
+ export declare const wrapTargetLocator: (locator: PossiblyWrapped<TargetLocator>, controller: WebdriverController) => TargetLocator;
7
+ export declare const wrapElement: (element: PossiblyWrapped<WebElement>, controller: WebdriverController) => WebElement;
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.wrapElement = exports.wrapTargetLocator = exports.wrapNavigation = exports.wrapDriver = void 0;
13
+ const util_1 = require("./util");
14
+ const wrapDriver = (driver, controller) => {
15
+ if ((0, util_1.isWrapped)(driver)) {
16
+ return driver;
17
+ }
18
+ const proxy = new Proxy(driver, {
19
+ get(target, prop, receiver) {
20
+ switch (prop) {
21
+ case 'findElement':
22
+ return (locator) => __awaiter(this, void 0, void 0, function* () {
23
+ const el = yield target.findElement(locator);
24
+ return (0, exports.wrapElement)(el, controller);
25
+ });
26
+ case 'quit':
27
+ return () => __awaiter(this, void 0, void 0, function* () {
28
+ yield controller.flush();
29
+ return target.quit();
30
+ });
31
+ case 'close':
32
+ return () => __awaiter(this, void 0, void 0, function* () {
33
+ yield controller.flush();
34
+ return target.close();
35
+ });
36
+ case 'findElements':
37
+ return (locator) => __awaiter(this, void 0, void 0, function* () {
38
+ const els = yield target.findElements(locator);
39
+ return els.map(el => (0, exports.wrapElement)(el, controller));
40
+ });
41
+ case 'switchTo':
42
+ return () => (0, exports.wrapTargetLocator)(target.switchTo(), controller);
43
+ case 'navigate':
44
+ return () => (0, exports.wrapNavigation)(target.navigate(), controller);
45
+ case 'get':
46
+ return (0, util_1.wrappedCallWithSideEffects)(target, prop, controller);
47
+ default:
48
+ return Reflect.get(target, prop, receiver);
49
+ }
50
+ }
51
+ });
52
+ (0, util_1.markAsWrapped)(proxy);
53
+ return proxy;
54
+ };
55
+ exports.wrapDriver = wrapDriver;
56
+ const wrapNavigation = (navigation, controller) => {
57
+ if ((0, util_1.isWrapped)(navigation)) {
58
+ return navigation;
59
+ }
60
+ const proxy = new Proxy(navigation, {
61
+ get(target, prop, receiver) {
62
+ switch (prop) {
63
+ case 'back':
64
+ case 'forward':
65
+ case 'refresh':
66
+ case 'to':
67
+ return (0, util_1.wrappedCallWithSideEffects)(target, prop, controller);
68
+ default:
69
+ return Reflect.get(target, prop, receiver);
70
+ }
71
+ }
72
+ });
73
+ (0, util_1.markAsWrapped)(proxy);
74
+ return proxy;
75
+ };
76
+ exports.wrapNavigation = wrapNavigation;
77
+ const wrapTargetLocator = (locator, controller) => {
78
+ if ((0, util_1.isWrapped)(locator)) {
79
+ return locator;
80
+ }
81
+ const proxy = new Proxy(locator, {
82
+ get(target, prop, receiver) {
83
+ switch (prop) {
84
+ case 'activeElement':
85
+ return () => __awaiter(this, void 0, void 0, function* () {
86
+ const el = yield target.activeElement();
87
+ return (0, exports.wrapElement)(el, controller);
88
+ });
89
+ default:
90
+ return Reflect.get(target, prop, receiver);
91
+ }
92
+ }
93
+ });
94
+ (0, util_1.markAsWrapped)(proxy);
95
+ return proxy;
96
+ };
97
+ exports.wrapTargetLocator = wrapTargetLocator;
98
+ const wrapElement = (element, controller) => {
99
+ if ((0, util_1.isWrapped)(element)) {
100
+ return element;
101
+ }
102
+ const proxy = new Proxy(element, {
103
+ get(target, prop, receiver) {
104
+ switch (prop) {
105
+ case 'getDriver':
106
+ return () => (0, exports.wrapDriver)(target.getDriver(), controller);
107
+ case 'findElement':
108
+ return (locator) => __awaiter(this, void 0, void 0, function* () {
109
+ const el = yield target.findElement(locator);
110
+ return (0, exports.wrapElement)(el, controller);
111
+ });
112
+ case 'findElements':
113
+ return (locator) => __awaiter(this, void 0, void 0, function* () {
114
+ const els = yield target.findElements(locator);
115
+ return els.map(el => (0, exports.wrapElement)(el, controller));
116
+ });
117
+ case 'clear':
118
+ case 'click':
119
+ case 'sendKeys':
120
+ case 'submit':
121
+ return (0, util_1.wrappedCallWithSideEffects)(target, prop, controller);
122
+ default:
123
+ return Reflect.get(target, prop, receiver);
124
+ }
125
+ }
126
+ });
127
+ (0, util_1.markAsWrapped)(proxy);
128
+ return proxy;
129
+ };
130
+ exports.wrapElement = wrapElement;
131
+ //# sourceMappingURL=webdriverWrapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webdriverWrapping.js","sourceRoot":"","sources":["../src/webdriverWrapping.ts"],"names":[],"mappings":"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"}