@axe-core/watcher 3.12.0 → 3.13.1-next.13e7eef5

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 (97) hide show
  1. package/dist/Controller.js +3 -3
  2. package/dist/Controller.js.map +1 -1
  3. package/dist/cypress.d.ts +2 -1
  4. package/dist/cypress.js +39 -14
  5. package/dist/cypress.js.map +1 -1
  6. package/dist/cypressCommands.js +7 -2
  7. package/dist/cypressCommands.js.map +1 -1
  8. package/dist/git.d.ts +2 -1
  9. package/dist/git.js +5 -4
  10. package/dist/git.js.map +1 -1
  11. package/dist/playwright.d.ts +1 -1
  12. package/dist/playwright.js +6 -4
  13. package/dist/playwright.js.map +1 -1
  14. package/dist/playwrightTest.js +7 -3
  15. package/dist/playwrightTest.js.map +1 -1
  16. package/dist/playwrightWrapping.d.ts +1 -1
  17. package/dist/playwrightWrapping.js +41 -41
  18. package/dist/playwrightWrapping.js.map +1 -1
  19. package/dist/puppeteer.d.ts +1 -1
  20. package/dist/puppeteer.js +7 -5
  21. package/dist/puppeteer.js.map +1 -1
  22. package/dist/puppeteerWrapping.d.ts +1 -1
  23. package/dist/puppeteerWrapping.js +45 -46
  24. package/dist/puppeteerWrapping.js.map +1 -1
  25. package/dist/sendResultsToServer.d.ts +2 -0
  26. package/dist/sendResultsToServer.js +21 -58
  27. package/dist/sendResultsToServer.js.map +1 -1
  28. package/dist/utils/constants.d.ts +4 -0
  29. package/dist/utils/constants.js +39 -0
  30. package/dist/utils/constants.js.map +1 -0
  31. package/dist/utils/headlessNotSupportedError.d.ts +5 -0
  32. package/dist/utils/headlessNotSupportedError.js +17 -0
  33. package/dist/utils/headlessNotSupportedError.js.map +1 -0
  34. package/dist/utils/headlessNotSupportedError.test.d.ts +1 -0
  35. package/dist/utils/headlessNotSupportedError.test.js +21 -0
  36. package/dist/utils/headlessNotSupportedError.test.js.map +1 -0
  37. package/dist/utils/initializeSession.d.ts +11 -0
  38. package/dist/utils/initializeSession.js +64 -0
  39. package/dist/utils/initializeSession.js.map +1 -0
  40. package/dist/utils/initializeSession.test.d.ts +1 -0
  41. package/dist/utils/initializeSession.test.js +183 -0
  42. package/dist/utils/initializeSession.test.js.map +1 -0
  43. package/dist/utils/isValidExcludePattern.d.ts +2 -0
  44. package/dist/utils/isValidExcludePattern.js +10 -0
  45. package/dist/utils/isValidExcludePattern.js.map +1 -0
  46. package/dist/utils/isValidExcludePattern.test.d.ts +1 -0
  47. package/dist/utils/isValidExcludePattern.test.js +17 -0
  48. package/dist/utils/isValidExcludePattern.test.js.map +1 -0
  49. package/dist/utils/mergeChromeArgs.d.ts +12 -0
  50. package/dist/utils/mergeChromeArgs.js +73 -0
  51. package/dist/utils/mergeChromeArgs.js.map +1 -0
  52. package/dist/utils/mergeChromeArgs.test.d.ts +1 -0
  53. package/dist/utils/mergeChromeArgs.test.js +260 -0
  54. package/dist/utils/mergeChromeArgs.test.js.map +1 -0
  55. package/dist/utils/proxyHandlers.d.ts +12 -0
  56. package/dist/utils/proxyHandlers.js +62 -0
  57. package/dist/utils/proxyHandlers.js.map +1 -0
  58. package/dist/utils/proxyHandlers.test.d.ts +1 -0
  59. package/dist/utils/proxyHandlers.test.js +28 -0
  60. package/dist/utils/proxyHandlers.test.js.map +1 -0
  61. package/dist/utils/readVariables.d.ts +7 -0
  62. package/dist/utils/readVariables.js +17 -0
  63. package/dist/utils/readVariables.js.map +1 -0
  64. package/dist/utils/updateAutoAnalyze.d.ts +7 -0
  65. package/dist/utils/updateAutoAnalyze.js +20 -0
  66. package/dist/utils/updateAutoAnalyze.js.map +1 -0
  67. package/dist/utils/writeExtensionManifest.d.ts +7 -0
  68. package/dist/utils/writeExtensionManifest.js +18 -0
  69. package/dist/utils/writeExtensionManifest.js.map +1 -0
  70. package/dist/utils/writeVariables.d.ts +88 -0
  71. package/dist/utils/writeVariables.js +139 -0
  72. package/dist/utils/writeVariables.js.map +1 -0
  73. package/dist/utils/writeVariables.test.d.ts +1 -0
  74. package/dist/utils/writeVariables.test.js +201 -0
  75. package/dist/utils/writeVariables.test.js.map +1 -0
  76. package/dist/wdio.d.ts +1 -1
  77. package/dist/wdio.js +17 -9
  78. package/dist/wdio.js.map +1 -1
  79. package/dist/webdriver.d.ts +1 -1
  80. package/dist/webdriver.js +6 -4
  81. package/dist/webdriver.js.map +1 -1
  82. package/dist/webdriverWrapping.d.ts +1 -1
  83. package/dist/webdriverWrapping.js +16 -16
  84. package/dist/webdriverWrapping.js.map +1 -1
  85. package/extension/axe.js +2 -0
  86. package/extension/axe.js.LICENSE.txt +11 -0
  87. package/extension/background.js +1 -1
  88. package/extension/content.js +1 -1
  89. package/extension/content.js.LICENSE.txt +0 -12
  90. package/extension/manifest.json +1 -1
  91. package/package.json +2 -2
  92. package/dist/util.d.ts +0 -96
  93. package/dist/util.js +0 -243
  94. package/dist/util.js.map +0 -1
  95. package/dist/utils/index.d.ts +0 -2
  96. package/dist/utils/index.js +0 -20
  97. package/dist/utils/index.js.map +0 -1
@@ -0,0 +1,139 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const git = __importStar(require("../git"));
30
+ const fs_1 = __importDefault(require("fs"));
31
+ const constants_1 = require("./constants");
32
+ const validateAxeRunOptions_1 = require("./validateAxeRunOptions");
33
+ const createDebugger_1 = __importDefault(require("../createDebugger"));
34
+ const initializeSession_1 = __importDefault(require("./initializeSession"));
35
+ const validateAxeRunContext_1 = require("./validateAxeRunContext");
36
+ const isValidExcludePattern_1 = __importDefault(require("./isValidExcludePattern"));
37
+ const debugLogger = (0, createDebugger_1.default)('config:writeVariables');
38
+ // Read the version from package.json, but do not include the file in the build.
39
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
40
+ const { version } = require('../../package.json');
41
+ /** Write the user's settings to the disk, so the extension can load them. */
42
+ function writeVariables({ apiKey, autoAnalyze, cypress, serverURL, sessionId, runContext, runOptions,
43
+ // @ts-expect-error Feature flag, not part of public type
44
+ takeScreenshots,
45
+ // @ts-expect-error Feature flag, not part of public type
46
+ experimentalAdvancedRules, excludeUrlPatterns, buildID }) {
47
+ // only log the properties if they are not undefined
48
+ debugLogger('Received configuration:', {
49
+ apiKey: '<redacted>',
50
+ ...(autoAnalyze !== undefined && { autoAnalyze }),
51
+ ...(serverURL !== undefined && { serverURL }),
52
+ ...(sessionId !== undefined && { sessionId }),
53
+ ...(runContext !== undefined && { runContext }),
54
+ ...(runOptions !== undefined && { runOptions }),
55
+ ...(excludeUrlPatterns !== undefined && { excludeUrlPatterns }),
56
+ ...(buildID !== undefined && { buildID })
57
+ });
58
+ if (!serverURL) {
59
+ serverURL = constants_1.DEFAULT_SERVER_URL;
60
+ }
61
+ let urlString;
62
+ try {
63
+ urlString = new URL(serverURL).toString();
64
+ }
65
+ catch (err) {
66
+ throw new Error(`Error when converting serverURL to URL. Ensure it is formatted properly: ${err}`);
67
+ }
68
+ if (typeof runContext !== 'undefined') {
69
+ (0, validateAxeRunContext_1.validateAxeRunContext)(runContext);
70
+ debugLogger('Validated runContext:', runContext);
71
+ }
72
+ if (typeof runOptions !== 'undefined') {
73
+ (0, validateAxeRunOptions_1.validateAxeRunOptions)(runOptions);
74
+ debugLogger('Validated runOptions:', runOptions);
75
+ }
76
+ const gitData = {};
77
+ const isGitRepo = git.isRepository();
78
+ if (isGitRepo) {
79
+ debugLogger('Is this a git project?', { isGitRepo });
80
+ gitData.git_branch = git.getBranchName();
81
+ gitData.git_tag = git.getTag();
82
+ gitData.git_default_branch = git.getDefaultBranchName();
83
+ gitData.git_url = git.getRemoteURL();
84
+ gitData.git_is_dirty = git.isDirty();
85
+ const info = git.getCommitInfo();
86
+ gitData.git_commit_sha = info === null || info === void 0 ? void 0 : info.hash;
87
+ gitData.git_commit_author = info === null || info === void 0 ? void 0 : info.author;
88
+ gitData.git_commit_email = info === null || info === void 0 ? void 0 : info.email;
89
+ gitData.git_commit_message = info === null || info === void 0 ? void 0 : info.message;
90
+ }
91
+ debugLogger('Initializing axe Watcher session');
92
+ const session_id = (0, initializeSession_1.default)({
93
+ apiKey,
94
+ serverURL: urlString,
95
+ watcherVersion: version,
96
+ sessionID: sessionId || null,
97
+ buildID: buildID || null,
98
+ gitCommitSha: gitData.git_commit_sha || null
99
+ });
100
+ if (typeof autoAnalyze === 'undefined') {
101
+ autoAnalyze = true;
102
+ }
103
+ if (excludeUrlPatterns === null || excludeUrlPatterns === void 0 ? void 0 : excludeUrlPatterns.length) {
104
+ (0, isValidExcludePattern_1.default)(excludeUrlPatterns);
105
+ }
106
+ // Note: If a build ID is provided the session ID will be consistent
107
+ // so there is no need to write to the file.
108
+ // between workers/machines (parallel runners)
109
+ if (!buildID) {
110
+ // When a custom session ID is not provided, attempt to read it from the filesystem.
111
+ // This enables multi-process/multi-browser test suites to all use the same session ID.
112
+ if (!sessionId && fs_1.default.existsSync(constants_1.PATH_TO_SESSION_FILE)) {
113
+ debugLogger('Reading session ID from file for WDIO Test Runner');
114
+ try {
115
+ const data = JSON.parse(fs_1.default.readFileSync(constants_1.PATH_TO_SESSION_FILE, 'utf8'));
116
+ sessionId = data.id;
117
+ }
118
+ catch (error) {
119
+ throw new Error(`Unable to read session configuration: ${error}`);
120
+ }
121
+ }
122
+ }
123
+ const variables = {
124
+ api_key: apiKey,
125
+ server_url: urlString,
126
+ session_id: session_id || sessionId,
127
+ take_screenshots: !!takeScreenshots,
128
+ auto_analyze: !!autoAnalyze,
129
+ cypress: !!cypress,
130
+ experimental_advanced_rules: !!experimentalAdvancedRules,
131
+ run_context: runContext || null,
132
+ run_options: runOptions || null,
133
+ git_data: gitData,
134
+ exclude_url_patterns: excludeUrlPatterns || null
135
+ };
136
+ fs_1.default.writeFileSync(constants_1.PATH_TO_EXTENSION_VARIABLES, JSON.stringify(variables));
137
+ }
138
+ exports.default = writeVariables;
139
+ //# sourceMappingURL=writeVariables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeVariables.js","sourceRoot":"","sources":["../../src/utils/writeVariables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import 'mocha';
@@ -0,0 +1,201 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ require("mocha");
30
+ const chai_1 = require("chai");
31
+ const sinon_1 = __importDefault(require("sinon"));
32
+ const fs_1 = __importDefault(require("fs"));
33
+ const git = __importStar(require("../git"));
34
+ const initializeSessionImp = __importStar(require("./initializeSession"));
35
+ const writeVariables_1 = __importDefault(require("./writeVariables"));
36
+ describe('writeVariables', () => {
37
+ beforeEach(() => {
38
+ sinon_1.default.stub(initializeSessionImp, 'default').returns('123');
39
+ });
40
+ afterEach(() => {
41
+ sinon_1.default.restore();
42
+ });
43
+ describe('given `sessionId` variable', () => {
44
+ describe('when provided', () => {
45
+ it('should write to variables.json', () => {
46
+ const gitStub = sinon_1.default.stub(git);
47
+ gitStub.getBranchName.returns('main');
48
+ gitStub.getDefaultBranchName.returns('main');
49
+ gitStub.getRemoteURL.returns('url');
50
+ gitStub.isRepository.returns(true);
51
+ gitStub.isDirty.returns(false);
52
+ gitStub.getTag.returns(null);
53
+ gitStub.getCommitInfo.returns({
54
+ message: 'message',
55
+ author: 'author',
56
+ email: 'email',
57
+ hash: 'hash'
58
+ });
59
+ const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
60
+ (0, writeVariables_1.default)({
61
+ apiKey: 'abc',
62
+ serverURL: 'http://localhost:3000/',
63
+ sessionId: '123',
64
+ // @ts-expect-error // Feature flag, not part of public type
65
+ takeScreenshots: true,
66
+ experimentalAdvancedRules: true
67
+ });
68
+ chai_1.assert.isTrue(writeFileSync.calledOnce);
69
+ const stored = JSON.parse(writeFileSync.args[0][1]);
70
+ chai_1.assert.deepEqual(stored, {
71
+ api_key: 'abc',
72
+ server_url: 'http://localhost:3000/',
73
+ auto_analyze: true,
74
+ session_id: '123',
75
+ cypress: false,
76
+ take_screenshots: true,
77
+ experimental_advanced_rules: true,
78
+ run_context: null,
79
+ run_options: null,
80
+ exclude_url_patterns: null,
81
+ git_data: {
82
+ git_branch: 'main',
83
+ git_default_branch: 'main',
84
+ git_url: 'url',
85
+ git_tag: null,
86
+ git_commit_message: 'message',
87
+ git_commit_author: 'author',
88
+ git_commit_email: 'email',
89
+ git_commit_sha: 'hash',
90
+ git_is_dirty: false
91
+ }
92
+ });
93
+ });
94
+ });
95
+ describe('when not provided', () => {
96
+ it('creates a session ID and writes it to variables.json', () => {
97
+ const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
98
+ (0, writeVariables_1.default)({
99
+ apiKey: 'abc'
100
+ });
101
+ chai_1.assert.isTrue(writeFileSync.calledOnce);
102
+ const variables = JSON.parse(writeFileSync.args[0][1]);
103
+ chai_1.assert.exists(variables.session_id);
104
+ });
105
+ });
106
+ });
107
+ describe(`runContext`, () => {
108
+ describe('when provided', () => {
109
+ it('should write to variables.json', () => {
110
+ const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
111
+ (0, writeVariables_1.default)({
112
+ apiKey: 'abc',
113
+ runContext: { include: 'foo', exclude: 'bar' }
114
+ });
115
+ const stored = JSON.parse(writeFileSync.args[0][1]);
116
+ const runContext = stored.run_context;
117
+ chai_1.assert.isDefined(runContext);
118
+ chai_1.assert.deepEqual(runContext, { include: 'foo', exclude: 'bar' });
119
+ });
120
+ });
121
+ describe('when not provided', () => {
122
+ it('should not write to variables.json', () => {
123
+ const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
124
+ (0, writeVariables_1.default)({
125
+ apiKey: 'abc'
126
+ });
127
+ const stored = JSON.parse(writeFileSync.args[0][1]);
128
+ chai_1.assert.isNull(stored.run_context);
129
+ });
130
+ });
131
+ });
132
+ describe(`runOptions`, () => {
133
+ describe('when provided', () => {
134
+ it('should write to variables.json', () => {
135
+ const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
136
+ (0, writeVariables_1.default)({
137
+ apiKey: 'abc',
138
+ runOptions: {
139
+ ancestry: true,
140
+ rules: { 'color-contrast': { enabled: false } },
141
+ runOnly: { type: 'rules', values: ['color-contrast'] }
142
+ }
143
+ });
144
+ const stored = JSON.parse(writeFileSync.args[0][1]);
145
+ const runOptions = stored.run_options;
146
+ chai_1.assert.isDefined(runOptions);
147
+ chai_1.assert.deepEqual(runOptions, {
148
+ ancestry: true,
149
+ rules: { 'color-contrast': { enabled: false } },
150
+ runOnly: { type: 'rules', values: ['color-contrast'] }
151
+ });
152
+ });
153
+ });
154
+ describe('when not provided', () => {
155
+ it('should not write to variables.json', () => {
156
+ const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
157
+ (0, writeVariables_1.default)({
158
+ apiKey: 'abc'
159
+ });
160
+ const stored = JSON.parse(writeFileSync.args[0][1]);
161
+ chai_1.assert.isNull(stored.run_options);
162
+ });
163
+ });
164
+ });
165
+ describe(`excludeUrlPatterns`, () => {
166
+ describe('when provided', () => {
167
+ it('should write to variables.json', () => {
168
+ const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
169
+ (0, writeVariables_1.default)({
170
+ apiKey: 'abc',
171
+ excludeUrlPatterns: ['foo', 'bar']
172
+ });
173
+ const stored = JSON.parse(writeFileSync.args[0][1]);
174
+ const excludeUrlPatterns = stored.exclude_url_patterns;
175
+ chai_1.assert.isDefined(excludeUrlPatterns);
176
+ chai_1.assert.deepEqual(excludeUrlPatterns, ['foo', 'bar']);
177
+ });
178
+ });
179
+ describe('when not provided', () => {
180
+ it('should not write to variables.json', () => {
181
+ const writeFileSync = sinon_1.default.stub(fs_1.default, 'writeFileSync');
182
+ (0, writeVariables_1.default)({
183
+ apiKey: 'abc'
184
+ });
185
+ const stored = JSON.parse(writeFileSync.args[0][1]);
186
+ chai_1.assert.isNull(stored.exclude_url_patterns);
187
+ });
188
+ });
189
+ describe('throws when invalid', () => {
190
+ it('should throw', () => {
191
+ chai_1.assert.throws(() => {
192
+ (0, writeVariables_1.default)({
193
+ apiKey: 'abc',
194
+ excludeUrlPatterns: ['foo', 'bar', 1]
195
+ });
196
+ });
197
+ });
198
+ });
199
+ });
200
+ });
201
+ //# sourceMappingURL=writeVariables.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeVariables.test.js","sourceRoot":"","sources":["../../src/utils/writeVariables.test.ts"],"names":[],"mappings":"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"}
package/dist/wdio.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { Options } from '@wdio/types';
2
2
  import type { Browser, BrowserCommandsType, ElementCommandsType, RemoteOptions } from 'webdriverio';
3
- import { type Configuration } from './util';
4
3
  import Controller from './Controller';
4
+ import { type Configuration } from './utils/writeVariables';
5
5
  type Options = RemoteOptions & Configuration;
6
6
  /**
7
7
  * Creates a WebDriverIO config that uses axe extension
package/dist/wdio.js CHANGED
@@ -7,8 +7,11 @@ exports.wrapWdio = exports.WRAPPED_ELEMENT_METHODS = exports.WRAPPED_BROWSER_MET
7
7
  exports.wdioConfig = wdioConfig;
8
8
  exports.wdioTestRunner = wdioTestRunner;
9
9
  const fs_1 = __importDefault(require("fs"));
10
- const util_1 = require("./util");
11
10
  const Controller_1 = __importDefault(require("./Controller"));
11
+ const writeVariables_1 = __importDefault(require("./utils/writeVariables"));
12
+ const constants_1 = require("./utils/constants");
13
+ const headlessNotSupportedError_1 = require("./utils/headlessNotSupportedError");
14
+ const mergeChromeArgs_1 = __importDefault(require("./utils/mergeChromeArgs"));
12
15
  const noop = () => {
13
16
  // Nothing.
14
17
  };
@@ -19,13 +22,13 @@ const noop = () => {
19
22
  */
20
23
  function wdioConfig({ axe, ...options }) {
21
24
  var _a;
22
- (0, util_1.writeVariables)(axe);
25
+ (0, writeVariables_1.default)(axe);
23
26
  // Disable eslint. Wdio doesn't export this property even though they support it.
24
27
  /* eslint-disable @typescript-eslint/no-explicit-any */
25
28
  const chromeOpts = ((_a = options.capabilities) === null || _a === void 0 ? void 0 : _a['goog:chromeOptions']) || {};
26
29
  const args = chromeOpts.args || [];
27
30
  if (['headless', '--headless'].some(flag => args.includes(flag))) {
28
- throw new util_1.HeadlessNotSupportedError(`In WebdriverIO, use "headless=new" instead of "headless" in the "args" property of your "${CHROME_OPTIONS}" browser capability configuration.`);
31
+ throw new headlessNotSupportedError_1.HeadlessNotSupportedError(`In WebdriverIO, use "headless=new" instead of "headless" in the "args" property of your "${CHROME_OPTIONS}" browser capability configuration.`);
29
32
  }
30
33
  return {
31
34
  ...options,
@@ -35,7 +38,7 @@ function wdioConfig({ axe, ...options }) {
35
38
  'goog:chromeOptions': {
36
39
  // Note: wdio v7 passes `--disable-extensions` as one of the default args.
37
40
  // we need to make sure we still append our args to the list.
38
- args: (0, util_1.mergeChromeArgs)(args, { disableOtherExtensions: true })
41
+ args: (0, mergeChromeArgs_1.default)(args, { disableOtherExtensions: true })
39
42
  }
40
43
  }
41
44
  };
@@ -52,7 +55,7 @@ function wdioTestRunner(...params) {
52
55
  ;
53
56
  [axe, config] = params;
54
57
  }
55
- (0, util_1.writeVariables)(axe);
58
+ (0, writeVariables_1.default)(axe);
56
59
  const capabilities = config.capabilities || [
57
60
  { [CHROME_OPTIONS]: { args: [] } }
58
61
  ];
@@ -63,23 +66,28 @@ function wdioTestRunner(...params) {
63
66
  chromeOpts.args = chromeOpts.args || [];
64
67
  const args = chromeOpts.args;
65
68
  if (['headless', '--headless'].some(flag => args.includes(flag))) {
66
- throw new util_1.HeadlessNotSupportedError(`In WebdriverIO, use "headless=new" instead of "headless" in the "args" property of your "${CHROME_OPTIONS}" browser capability configuration.`);
69
+ throw new headlessNotSupportedError_1.HeadlessNotSupportedError(`In WebdriverIO, use "headless=new" instead of "headless" in the "args" property of your "${CHROME_OPTIONS}" browser capability configuration.`);
67
70
  }
68
- chromeOpts.args = (0, util_1.mergeChromeArgs)(args, { disableOtherExtensions: false });
71
+ chromeOpts.args = (0, mergeChromeArgs_1.default)(args, { disableOtherExtensions: false });
69
72
  const { onPrepare = noop, onComplete = noop } = config;
70
73
  return {
71
74
  ...config,
72
75
  capabilities,
73
76
  onPrepare(...prepareParams) {
74
77
  const sessionId = axe.sessionId;
75
- fs_1.default.writeFileSync(util_1.PATH_TO_SESSION_FILE, JSON.stringify({ id: sessionId }));
78
+ const buildID = axe.buildID;
79
+ // Note: we only want to write a file if a build ID is not provided.
80
+ // as the build ID will ensure the session ID is consistent between workers/machines.
81
+ if (!buildID) {
82
+ fs_1.default.writeFileSync(constants_1.PATH_TO_SESSION_FILE, JSON.stringify({ id: sessionId }));
83
+ }
76
84
  // @ts-expect-error TS is angry about calling this ¯\_(ツ)_/¯
77
85
  return onPrepare(...prepareParams);
78
86
  },
79
87
  // Remove the file, preventing other sessions from reusing its ID.
80
88
  onComplete(...completeParams) {
81
89
  try {
82
- fs_1.default.unlinkSync(util_1.PATH_TO_SESSION_FILE);
90
+ fs_1.default.unlinkSync(constants_1.PATH_TO_SESSION_FILE);
83
91
  }
84
92
  catch (_a) {
85
93
  // Oh well.
package/dist/wdio.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { WebDriver } from 'selenium-webdriver';
2
2
  import type { Options } from 'selenium-webdriver/chrome';
3
- import { type Configuration } from './util';
4
3
  import Controller from './Controller';
4
+ import { type Configuration } from './utils/writeVariables';
5
5
  export { wrapDriver as wrapWebdriver } from './webdriverWrapping';
6
6
  interface WebDriverArgs extends Configuration {
7
7
  options?: Options;
package/dist/webdriver.js CHANGED
@@ -5,8 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.WebdriverController = exports.wrapWebdriver = void 0;
7
7
  exports.webdriverConfig = webdriverConfig;
8
- const util_1 = require("./util");
9
8
  const Controller_1 = __importDefault(require("./Controller"));
9
+ const writeVariables_1 = __importDefault(require("./utils/writeVariables"));
10
+ const headlessNotSupportedError_1 = require("./utils/headlessNotSupportedError");
11
+ const mergeChromeArgs_1 = __importDefault(require("./utils/mergeChromeArgs"));
10
12
  var webdriverWrapping_1 = require("./webdriverWrapping");
11
13
  Object.defineProperty(exports, "wrapWebdriver", { enumerable: true, get: function () { return webdriverWrapping_1.wrapDriver; } });
12
14
  /**
@@ -20,18 +22,18 @@ function webdriverConfig(arg) {
20
22
  // eslint-disable-next-line import/no-extraneous-dependencies, @typescript-eslint/no-require-imports
21
23
  const chrome = require('selenium-webdriver/chrome');
22
24
  const { axe, options } = arg;
23
- (0, util_1.writeVariables)(axe);
25
+ (0, writeVariables_1.default)(axe);
24
26
  const opts = options ? options : new chrome.Options();
25
27
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
28
  const existingArgs = (((_a = opts === null || opts === void 0 ? void 0 : opts.options_) === null || _a === void 0 ? void 0 : _a.args) || []);
27
- opts.options_.args = (0, util_1.mergeChromeArgs)(existingArgs, {
29
+ opts.options_.args = (0, mergeChromeArgs_1.default)(existingArgs, {
28
30
  disableOtherExtensions: false
29
31
  });
30
32
  // Note: fragile, but selenium does not give us a real way to check this
31
33
  if (['headless', '--headless'].some(flag => { var _a, _b;
32
34
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
33
35
  return (_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(flag); })) {
34
- throw new util_1.HeadlessNotSupportedError('In WebdriverJS, use "chromeOptions.addArguments(\'--headless=new\')" instead of "setHeadless(true)" or "addArguments(\'--headless\')"');
36
+ throw new headlessNotSupportedError_1.HeadlessNotSupportedError('In WebdriverJS, use "chromeOptions.addArguments(\'--headless=new\')" instead of "setHeadless(true)" or "addArguments(\'--headless\')"');
35
37
  }
36
38
  return opts;
37
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../src/webdriver.ts"],"names":[],"mappings":";;;;;;AAsBA,0CA6BC;AAjDD,iCAKe;AACf,8DAAqC;AAErC,yDAAiE;AAAxD,kHAAA,UAAU,OAAiB;AAMpC;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,GAAkB;;IAChD,gHAAgH;IAChH,oGAAoG;IACpG,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,8DAA8D;IAC9D,MAAM,YAAY,GAAG,CAAC,CAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,KAAI,EAAE,CAAa,CAErE;IAAC,IAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAA,sBAAe,EAAC,YAAY,EAAE;QAC3D,sBAAsB,EAAE,KAAK;KAC9B,CAAC,CAAA;IAEF,wEAAwE;IACxE,IACE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IACrC,8DAA8D;IAC9D,OAAA,MAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,0CAAE,QAAQ,CAAC,IAAI,CAAC,CAAA,EAAA,CAC9C,EACD,CAAC;QACD,MAAM,IAAI,gCAAyB,CACjC,wIAAwI,CACzI,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAGjD,YAAY,MAAiB;QAC3B,KAAK,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,EAA+B,EAC/B,GAAG,IAAe;QAElB,MAAM,MAAM,GAAG;;;gBAGH,EAAE;;KAEb,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;QACpE,OAAO,MAAW,CAAA;IACpB,CAAC;CACF;AArBD,kDAqBC"}
1
+ {"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../src/webdriver.ts"],"names":[],"mappings":";;;;;;AAmBA,0CA6BC;AA9CD,8DAAqC;AACrC,4EAA2E;AAC3E,iFAA6E;AAC7E,8EAAqD;AAErD,yDAAiE;AAAxD,kHAAA,UAAU,OAAiB;AAMpC;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,GAAkB;;IAChD,gHAAgH;IAChH,oGAAoG;IACpG,MAAM,MAAM,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAEnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;IAC5B,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;IAC9D,8DAA8D;IAC9D,MAAM,YAAY,GAAG,CAAC,CAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,KAAI,EAAE,CAAa,CAErE;IAAC,IAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAA,yBAAe,EAAC,YAAY,EAAE;QAC3D,sBAAsB,EAAE,KAAK;KAC9B,CAAC,CAAA;IAEF,wEAAwE;IACxE,IACE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IACrC,8DAA8D;IAC9D,OAAA,MAAA,MAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,QAAQ,0CAAE,IAAI,0CAAE,QAAQ,CAAC,IAAI,CAAC,CAAA,EAAA,CAC9C,EACD,CAAC;QACD,MAAM,IAAI,qDAAyB,CACjC,wIAAwI,CACzI,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAGjD,YAAY,MAAiB;QAC3B,KAAK,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,CAAA;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,EAA+B,EAC/B,GAAG,IAAe;QAElB,MAAM,MAAM,GAAG;;;gBAGH,EAAE;;KAEb,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;QACpE,OAAO,MAAW,CAAA;IACpB,CAAC;CACF;AArBD,kDAqBC"}
@@ -1,6 +1,6 @@
1
1
  import type { WebDriver, Navigation, WebElement, TargetLocator } from 'selenium-webdriver';
2
- import { type PossiblyWrapped } from './util';
3
2
  import type { WebdriverController } from './webdriver';
3
+ import { type PossiblyWrapped } from './utils/proxyHandlers';
4
4
  export declare const wrapDriver: (driver: PossiblyWrapped<WebDriver>, controller: WebdriverController) => WebDriver;
5
5
  export declare const wrapNavigation: (navigation: PossiblyWrapped<Navigation>, controller: WebdriverController) => Navigation;
6
6
  export declare const wrapTargetLocator: (locator: PossiblyWrapped<TargetLocator>, controller: WebdriverController) => TargetLocator;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.wrapElement = exports.wrapTargetLocator = exports.wrapNavigation = exports.wrapDriver = void 0;
4
- const util_1 = require("./util");
4
+ const proxyHandlers_1 = require("./utils/proxyHandlers");
5
5
  const wrapDriver = (driver, controller) => {
6
- if ((0, util_1.isWrapped)(driver)) {
6
+ if ((0, proxyHandlers_1.isWrapped)(driver)) {
7
7
  return driver;
8
8
  }
9
9
  const proxy = new Proxy(driver, {
@@ -34,18 +34,18 @@ const wrapDriver = (driver, controller) => {
34
34
  case 'navigate':
35
35
  return () => (0, exports.wrapNavigation)(target.navigate(), controller);
36
36
  case 'get':
37
- return (0, util_1.proxiedGetFuncWithAnalyze)(target, prop, controller);
37
+ return (0, proxyHandlers_1.proxiedGetFuncWithAnalyze)(target, prop, controller);
38
38
  default:
39
- return (0, util_1.proxiedGetWithoutAnalyze)(target, prop);
39
+ return (0, proxyHandlers_1.proxiedGetWithoutAnalyze)(target, prop);
40
40
  }
41
41
  }
42
42
  });
43
- (0, util_1.markAsWrapped)(proxy);
43
+ (0, proxyHandlers_1.markAsWrapped)(proxy);
44
44
  return proxy;
45
45
  };
46
46
  exports.wrapDriver = wrapDriver;
47
47
  const wrapNavigation = (navigation, controller) => {
48
- if ((0, util_1.isWrapped)(navigation)) {
48
+ if ((0, proxyHandlers_1.isWrapped)(navigation)) {
49
49
  return navigation;
50
50
  }
51
51
  const proxy = new Proxy(navigation, {
@@ -55,18 +55,18 @@ const wrapNavigation = (navigation, controller) => {
55
55
  case 'forward':
56
56
  case 'refresh':
57
57
  case 'to':
58
- return (0, util_1.proxiedGetFuncWithAnalyze)(target, prop, controller);
58
+ return (0, proxyHandlers_1.proxiedGetFuncWithAnalyze)(target, prop, controller);
59
59
  default:
60
- return (0, util_1.proxiedGetWithoutAnalyze)(target, prop);
60
+ return (0, proxyHandlers_1.proxiedGetWithoutAnalyze)(target, prop);
61
61
  }
62
62
  }
63
63
  });
64
- (0, util_1.markAsWrapped)(proxy);
64
+ (0, proxyHandlers_1.markAsWrapped)(proxy);
65
65
  return proxy;
66
66
  };
67
67
  exports.wrapNavigation = wrapNavigation;
68
68
  const wrapTargetLocator = (locator, controller) => {
69
- if ((0, util_1.isWrapped)(locator)) {
69
+ if ((0, proxyHandlers_1.isWrapped)(locator)) {
70
70
  return locator;
71
71
  }
72
72
  const proxy = new Proxy(locator, {
@@ -78,16 +78,16 @@ const wrapTargetLocator = (locator, controller) => {
78
78
  return (0, exports.wrapElement)(el, controller);
79
79
  };
80
80
  default:
81
- return (0, util_1.proxiedGetWithoutAnalyze)(target, prop);
81
+ return (0, proxyHandlers_1.proxiedGetWithoutAnalyze)(target, prop);
82
82
  }
83
83
  }
84
84
  });
85
- (0, util_1.markAsWrapped)(proxy);
85
+ (0, proxyHandlers_1.markAsWrapped)(proxy);
86
86
  return proxy;
87
87
  };
88
88
  exports.wrapTargetLocator = wrapTargetLocator;
89
89
  const wrapElement = (element, controller) => {
90
- if ((0, util_1.isWrapped)(element)) {
90
+ if ((0, proxyHandlers_1.isWrapped)(element)) {
91
91
  return element;
92
92
  }
93
93
  const proxy = new Proxy(element, {
@@ -109,13 +109,13 @@ const wrapElement = (element, controller) => {
109
109
  case 'click':
110
110
  case 'sendKeys':
111
111
  case 'submit':
112
- return (0, util_1.proxiedGetFuncWithAnalyze)(target, prop, controller);
112
+ return (0, proxyHandlers_1.proxiedGetFuncWithAnalyze)(target, prop, controller);
113
113
  default:
114
- return (0, util_1.proxiedGetWithoutAnalyze)(target, prop);
114
+ return (0, proxyHandlers_1.proxiedGetWithoutAnalyze)(target, prop);
115
115
  }
116
116
  }
117
117
  });
118
- (0, util_1.markAsWrapped)(proxy);
118
+ (0, proxyHandlers_1.markAsWrapped)(proxy);
119
119
  return proxy;
120
120
  };
121
121
  exports.wrapElement = wrapElement;