@axe-core/watcher 0.0.1-next.71c683f1 → 0.0.1-next.797585aa

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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /*! Copyright Deque 2001-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';
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /*! Copyright Deque 2001-2022 All Rights Reserved */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  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");
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"}
package/dist/util.d.ts CHANGED
@@ -1,5 +1,7 @@
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}`];
4
6
  export interface Configuration {
5
7
  axe: {
@@ -22,6 +24,7 @@ interface WriteVariablesParams {
22
24
  sessionId?: string;
23
25
  autoAnalyze?: boolean;
24
26
  }
27
+ /** Write the user's settings to the disk, so the extension can load them. */
25
28
  export declare function writeVariables({ apiKey, serverURL, sessionId, autoAnalyze }: WriteVariablesParams): void;
26
29
  export declare abstract class Controller {
27
30
  protected abstract executeScript(fn: string | (() => Promise<void>)): Promise<void>;
package/dist/util.js CHANGED
@@ -1,27 +1,4 @@
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
- };
25
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -58,17 +35,23 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
58
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
36
  }
60
37
  };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
61
41
  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');
42
+ exports.Controller = exports.writeVariables = exports.extensionArgs = exports.PATH_TO_EXTENSION_VARIABLES = exports.PATH_TO_SESSION_FILE = exports.DEFAULT_SERVER_URL = exports.PATH_TO_EXTENSION = void 0;
43
+ var fs_1 = __importDefault(require("fs"));
44
+ var path_1 = __importDefault(require("path"));
45
+ var os_1 = __importDefault(require("os"));
46
+ exports.PATH_TO_EXTENSION = path_1.default.join(__dirname, '..', 'extension');
66
47
  exports.DEFAULT_SERVER_URL = 'https://axe.deque.com/';
48
+ exports.PATH_TO_SESSION_FILE = path_1.default.join(os_1.default.tmpdir(), 'axe-watcher-session.json');
49
+ exports.PATH_TO_EXTENSION_VARIABLES = path_1.default.join(exports.PATH_TO_EXTENSION, 'variables.json');
67
50
  exports.extensionArgs = [
68
51
  "--disable-extensions-except=".concat(exports.PATH_TO_EXTENSION),
69
52
  "--load-extension=".concat(exports.PATH_TO_EXTENSION)
70
53
  ];
71
- // Write the user's settings to the disk, so the extension can load them
54
+ /** Write the user's settings to the disk, so the extension can load them. */
72
55
  function writeVariables(_a) {
73
56
  var apiKey = _a.apiKey, serverURL = _a.serverURL, sessionId = _a.sessionId, autoAnalyze = _a.autoAnalyze;
74
57
  if (!serverURL) {
@@ -84,8 +67,18 @@ function writeVariables(_a) {
84
67
  if (typeof autoAnalyze === 'undefined') {
85
68
  autoAnalyze = true;
86
69
  }
87
- var filePath = path.join(exports.PATH_TO_EXTENSION, 'variables.json');
88
- fs.writeFileSync(filePath, JSON.stringify({
70
+ // When a custom session ID is not provided, attempt to read it from the filesystem.
71
+ // This enables multi-process/multi-browser test suites to all use the same session ID.
72
+ if (!sessionId && fs_1.default.existsSync(exports.PATH_TO_SESSION_FILE)) {
73
+ try {
74
+ var data = JSON.parse(fs_1.default.readFileSync(exports.PATH_TO_SESSION_FILE, 'utf8'));
75
+ sessionId = data.id;
76
+ }
77
+ catch (error) {
78
+ throw new Error("Unable to read session configuration: ".concat(error));
79
+ }
80
+ }
81
+ fs_1.default.writeFileSync(exports.PATH_TO_EXTENSION_VARIABLES, JSON.stringify({
89
82
  api_key: apiKey,
90
83
  server_url: urlString,
91
84
  session_id: sessionId,
@@ -94,11 +87,10 @@ function writeVariables(_a) {
94
87
  }
95
88
  exports.writeVariables = writeVariables;
96
89
  function updateAutoAnalyze(newVal) {
97
- var filePath = path.join(exports.PATH_TO_EXTENSION, 'variables.json');
98
- var fileContents = fs.readFileSync(filePath, 'utf-8');
90
+ var fileContents = fs_1.default.readFileSync(exports.PATH_TO_EXTENSION_VARIABLES, 'utf-8');
99
91
  var jsonValue = JSON.parse(fileContents);
100
92
  jsonValue['auto_analyze'] = newVal;
101
- fs.writeFileSync(filePath, JSON.stringify(jsonValue));
93
+ fs_1.default.writeFileSync(exports.PATH_TO_EXTENSION_VARIABLES, JSON.stringify(jsonValue));
102
94
  }
103
95
  var Controller = /** @class */ (function () {
104
96
  function Controller() {
@@ -146,12 +138,12 @@ var Controller = /** @class */ (function () {
146
138
  case 0: return [4 /*yield*/, this.executeScript(function () {
147
139
  return new Promise(function (resolve) {
148
140
  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);
141
+ var fn = function () {
142
+ window.removeEventListener('axe:manual-mode-analyze-done', fn);
152
143
  resolve();
153
144
  };
154
- window.addEventListener('axe:manual-mode-analyze-done', p);
145
+ window.addEventListener('axe:manual-mode-analyze-done', fn);
146
+ window.dispatchEvent(event);
155
147
  });
156
148
  })];
157
149
  case 1:
@@ -166,7 +158,17 @@ var Controller = /** @class */ (function () {
166
158
  return __awaiter(this, void 0, void 0, function () {
167
159
  return __generator(this, function (_a) {
168
160
  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 ")];
161
+ case 0: return [4 /*yield*/, this.executeScript(function () {
162
+ return new Promise(function (resolve) {
163
+ var fn = function () {
164
+ window.removeEventListener('axe:flush-end', fn);
165
+ resolve();
166
+ };
167
+ window.addEventListener('axe:flush-end', fn);
168
+ var event = new CustomEvent('axe:flush-start');
169
+ window.dispatchEvent(event);
170
+ });
171
+ })];
170
172
  case 1:
171
173
  _a.sent();
172
174
  return [2 /*return*/];
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}