@axe-core/watcher 3.10.0-next.f13339ff → 3.10.0-next.fdf19692
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/cypress.js +20 -40
- package/dist/cypress.js.map +1 -1
- package/dist/cypressCommands.js +41 -78
- package/dist/cypressCommands.js.map +1 -1
- package/dist/playwright.js +2 -1
- package/dist/playwright.js.map +1 -1
- package/dist/playwrightTest.js +4 -1
- package/dist/playwrightTest.js.map +1 -1
- package/dist/puppeteer.js +2 -1
- package/dist/puppeteer.js.map +1 -1
- package/dist/sendResultsToServer.js +1 -1
- package/dist/sendResultsToServer.js.map +1 -1
- package/dist/util.d.ts +11 -1
- package/dist/util.js +74 -6
- package/dist/util.js.map +1 -1
- package/dist/wdio.js +2 -2
- package/dist/wdio.js.map +1 -1
- package/dist/webdriver.js +7 -2
- package/dist/webdriver.js.map +1 -1
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/package.json +3 -3
package/dist/cypress.js
CHANGED
|
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.cypressConfig = void 0;
|
|
7
|
-
const fs_1 = __importDefault(require("fs"));
|
|
8
7
|
const util_1 = require("./util");
|
|
9
8
|
const sendResultsToServer_1 = __importDefault(require("./sendResultsToServer"));
|
|
10
9
|
const EventForwarder_1 = __importDefault(require("./EventForwarder"));
|
|
@@ -61,53 +60,34 @@ const cypressConfig = (config) => {
|
|
|
61
60
|
* ensure we wait for the user's `setupNodeEvents` to resolve.
|
|
62
61
|
*/
|
|
63
62
|
const userNodeEventConfig = await ((_b = (_a = userConfig.e2e) === null || _a === void 0 ? void 0 : _a.setupNodeEvents) === null || _b === void 0 ? void 0 : _b.call(_a, on, ...args));
|
|
63
|
+
on('task', {
|
|
64
|
+
__uploadAxeWatcherResults: async (results) => {
|
|
65
|
+
if (!results.length) {
|
|
66
|
+
// Indicates to Cypress that the event has been handled.
|
|
67
|
+
// @see https://docs.cypress.io/api/commands/task#Usage
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
await (0, sendResultsToServer_1.default)(results);
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
64
74
|
on('before:browser:launch', (browser, launchOptions) => {
|
|
65
|
-
|
|
66
|
-
|
|
75
|
+
// We only officially support Chrome, but for backcompat we are permissive and accept other
|
|
76
|
+
// Chromium-based browsers (eg, "chromium", "chrome:beta", "edge").
|
|
77
|
+
if (browser.name.startsWith('firefox') ||
|
|
78
|
+
browser.name.startsWith('electron')) {
|
|
79
|
+
throw new Error(`The @axe-core/watcher package only supports running in Chrome, but Cypress is configured with browser "${browser.name}". Please refer to our System Requirements for more information: https://docs.deque.com/developer-hub/2/en/dh-system-requirements`);
|
|
67
80
|
}
|
|
68
81
|
if (browser.isHeadless && launchOptions.args.includes('--headless')) {
|
|
69
82
|
throw new util_1.HeadlessNotSupportedError('In Cypress, "--headless=new" became the default headless mode in Cypress version 12.15.0. Ensure your Cypress version is up to date and that you are not using a "before:browser:launch" configuration that adds "--headless" to launchOptions.args.');
|
|
70
83
|
}
|
|
71
84
|
// Load the extension. Merge extention args if provided by the user
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const [key, value] = arg.split('=');
|
|
77
|
-
if (!prev[key]) {
|
|
78
|
-
prev[key] = [];
|
|
79
|
-
}
|
|
80
|
-
if (value) {
|
|
81
|
-
prev[key].push(value);
|
|
82
|
-
}
|
|
83
|
-
return prev;
|
|
84
|
-
}, {});
|
|
85
|
-
launchOptions.args = Object.entries(launchOptionsArgs).map(([key, value]) => value.length > 0 ? [key, value.join(',')].join('=') : key);
|
|
85
|
+
const existingArgs = launchOptions.args;
|
|
86
|
+
launchOptions.args = (0, util_1.mergeChromeArgs)(existingArgs, {
|
|
87
|
+
disableOtherExtensions: false
|
|
88
|
+
});
|
|
86
89
|
return launchOptions;
|
|
87
90
|
});
|
|
88
|
-
// Read the results sent from the extension, then forward to the server.
|
|
89
|
-
on('after:run', async () => {
|
|
90
|
-
let results;
|
|
91
|
-
try {
|
|
92
|
-
results = fs_1.default
|
|
93
|
-
.readdirSync('cypress/axe-watcher')
|
|
94
|
-
.filter(f => f.endsWith('.json'));
|
|
95
|
-
}
|
|
96
|
-
catch (error) {
|
|
97
|
-
// this is a non-error; the test suite likely just failed early
|
|
98
|
-
// without running any scans
|
|
99
|
-
if (error.code === 'ENOENT') {
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
throw error;
|
|
103
|
-
}
|
|
104
|
-
for (const result of results) {
|
|
105
|
-
const data = fs_1.default.readFileSync(`cypress/axe-watcher/${result}`, 'utf8');
|
|
106
|
-
const parsed = JSON.parse(data);
|
|
107
|
-
await (0, sendResultsToServer_1.default)(parsed);
|
|
108
|
-
fs_1.default.unlinkSync(`cypress/axe-watcher/${result}`);
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
91
|
/**
|
|
112
92
|
* Forward the accumulated events to cypress.
|
|
113
93
|
* For more information, see comment on #44
|
package/dist/cypress.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../src/cypress.ts"],"names":[],"mappings":";;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../src/cypress.ts"],"names":[],"mappings":";;;;;;AACA,iCAMe;AACf,gFAAwE;AACxE,sEAA6C;AAE7C;;;;GAIG;AAEI,MAAM,aAAa,GAAG,CAC3B,MAA6C,EACtB,EAAE;IACzB,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,MAAM,CAAA;IAErC,IAAA,qBAAc,EAAC;QACb,GAAG,GAAG;QACN,sDAAsD;QACtD,OAAO,EAAE,IAAI;KACd,CAAC,CAAA;IACF,IAAA,oBAAa,EAAC;QACZ,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE;YACb,0BAA0B;YAC1B,4BAA4B;YAC5B,4BAA4B;YAC5B,uBAAuB;SACxB;KACF,CAAC,CAAA;IAEF,OAAO;QACL,GAAG,UAAU;QACb,GAAG,EAAE;YACH,GAAG,UAAU,CAAC,GAAG;YACjB,KAAK,CAAC,eAAe,CACnB,SAAS,EACT,GAAG,IAAI;;gBAEP;;;;;;;;;;mBAUG;gBACH,MAAM,cAAc,GAAG,IAAI,wBAAc,EAAE,CAAA;gBAC3C,MAAM,EAAE,GAAG,cAAc,CAAC,EAAE,CAAA;gBAE5B;;;;;;;;;;;mBAWG;gBACH,MAAM,mBAAmB,GAAG,MAAM,CAAA,MAAA,MAAA,UAAU,CAAC,GAAG,0CAAE,eAAe,mDAC/D,EAAE,EACF,GAAG,IAAI,CACR,CAAA,CAAA;gBAED,EAAE,CAAC,MAAM,EAAE;oBACT,yBAAyB,EAAE,KAAK,EAAE,OAAiB,EAAE,EAAE;wBACrD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;4BACpB,wDAAwD;4BACxD,uDAAuD;4BACvD,OAAO,IAAI,CAAA;wBACb,CAAC;wBAED,MAAM,IAAA,6BAAmB,EAAC,OAAO,CAAC,CAAA;wBAElC,OAAO,IAAI,CAAA;oBACb,CAAC;iBACF,CAAC,CAAA;gBAEF,EAAE,CAAC,uBAAuB,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE;oBACrD,2FAA2F;oBAC3F,mEAAmE;oBACnE,IACE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;wBAClC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EACnC,CAAC;wBACD,MAAM,IAAI,KAAK,CACb,0GAA0G,OAAO,CAAC,IAAI,mIAAmI,CAC1P,CAAA;oBACH,CAAC;oBAED,IAAI,OAAO,CAAC,UAAU,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;wBACpE,MAAM,IAAI,gCAAyB,CACjC,sPAAsP,CACvP,CAAA;oBACH,CAAC;oBAED,mEAAmE;oBACnE,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAA;oBACvC,aAAa,CAAC,IAAI,GAAG,IAAA,sBAAe,EAAC,YAAY,EAAE;wBACjD,sBAAsB,EAAE,KAAK;qBAC9B,CAAC,CAAA;oBAEF,OAAO,aAAa,CAAA;gBACtB,CAAC,CAAC,CAAA;gBAEF;;;mBAGG;gBACH,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;gBAEjC,OAAO,mBAAmB,CAAA;YAC5B,CAAC;SACF;KACF,CAAA;AACH,CAAC,CAAA;AA9GY,QAAA,aAAa,iBA8GzB"}
|
package/dist/cypressCommands.js
CHANGED
|
@@ -27,6 +27,7 @@ exports.WRAPPED_COMMANDS = [
|
|
|
27
27
|
'trigger',
|
|
28
28
|
'type',
|
|
29
29
|
'uncheck',
|
|
30
|
+
'visit',
|
|
30
31
|
'wait'
|
|
31
32
|
];
|
|
32
33
|
const shouldAnalyzeLocation = (location) => ['http:', 'https:', 'file:'].includes(location.protocol);
|
|
@@ -41,6 +42,9 @@ const shouldAnalyzeLocation = (location) => ['http:', 'https:', 'file:'].include
|
|
|
41
42
|
exports.WRAPPED_COMMANDS.forEach(method => Cypress.Commands.overwrite(method, (originalFn, ...args) => {
|
|
42
43
|
var _a, _b, _c, _d, _e, _f;
|
|
43
44
|
const currentCommand = (_b = (_a = cy.state('current')) === null || _a === void 0 ? void 0 : _a.attributes) === null || _b === void 0 ? void 0 : _b.name;
|
|
45
|
+
// TODO: Remove the feature flag once #1109 is fully resolved.
|
|
46
|
+
const tryRequerySubject = !!Cypress.env('__AXE_WATCHER_CYPRESS_REQUERY_SUBJECT_AFTER_ANALYZE') &&
|
|
47
|
+
'getSubjectFromChain' in cy;
|
|
44
48
|
// Some commands, like "type" call other commands internally, like "click".
|
|
45
49
|
// We don't want to enqueue a run in these scenarios because it can cause
|
|
46
50
|
// promises to be returned from commands, which Cypress does not allow.
|
|
@@ -54,84 +58,48 @@ exports.WRAPPED_COMMANDS.forEach(method => Cypress.Commands.overwrite(method, (o
|
|
|
54
58
|
// to finding the "Subject". cy.getSubjectFromChain() requeries those operations to retrieve
|
|
55
59
|
// a fresh "Subject" handle.
|
|
56
60
|
const originalSubjectChain = (_f = (_e = cy).subjectChain) === null || _f === void 0 ? void 0 : _f.call(_e);
|
|
57
|
-
cy
|
|
58
|
-
.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
//
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
// only available in Cypress 12+, and even then we might be wrapping a command that doesn't
|
|
78
|
-
// necessarily operate on a subject.
|
|
79
|
-
.then(() => {
|
|
80
|
-
var _a, _b;
|
|
81
|
-
// Some Cypress commands pick up the subject from cy.subject(), and some pick it up from a
|
|
82
|
-
// subject parameter that's passed to the command. Returning the updated subject from this
|
|
83
|
-
// .then() sets cy.subject() to handle the former...
|
|
84
|
-
return originalSubjectChain &&
|
|
85
|
-
((_b = (_a = cy).getSubjectFromChain) === null || _b === void 0 ? void 0 : _b.call(_a, originalSubjectChain));
|
|
86
|
-
})
|
|
87
|
-
.then(updatedSubject => {
|
|
88
|
-
// ...and this map handles the latter.
|
|
89
|
-
const argsWithRefreshedSubject = args.map(arg => originalSubject && arg === originalSubject ? updatedSubject : arg);
|
|
90
|
-
// originalFn might return a Promise that Cypress needs to be able to track, so it's important
|
|
91
|
-
// to propagate its return value even though we're not chaining any further cypress commands
|
|
92
|
-
// ourselves.
|
|
93
|
-
return originalFn(...argsWithRefreshedSubject);
|
|
94
|
-
});
|
|
95
|
-
}));
|
|
96
|
-
/**
|
|
97
|
-
* The `visit` command is wrapped differently than the other commands. This is because
|
|
98
|
-
* we need to actually visit and load the page before we can run axe.
|
|
99
|
-
*
|
|
100
|
-
* We queue an axe run, run the original visit command, and then mark
|
|
101
|
-
* the page visited before returning visit result.
|
|
102
|
-
*/
|
|
103
|
-
Cypress.Commands.overwrite('visit', (originalFn, ...args) => {
|
|
104
|
-
// We use `cy.wrap(null)` here just to get into the Cypress command queue.
|
|
105
|
-
cy.wrap(null)
|
|
106
|
-
.axeWatcherAnalyze({ __UserRequestedAnalyze: false })
|
|
107
|
-
.then(() => originalFn(...args))
|
|
108
|
-
.then(visitResult => {
|
|
109
|
-
cy.window()
|
|
110
|
-
.then(win => {
|
|
111
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
112
|
-
if (win && !win.__AXE_WATCHER_HAS_VISITED) {
|
|
113
|
-
/**
|
|
114
|
-
* Set a flag on the Window to indicate that a wrapped method has been called.
|
|
115
|
-
* This is used to determine whether we should call `axeFlush` after the test.
|
|
116
|
-
*/
|
|
117
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
118
|
-
;
|
|
119
|
-
win.__AXE_WATCHER_HAS_VISITED = true;
|
|
120
|
-
}
|
|
61
|
+
const commandChain = cy
|
|
62
|
+
.window()
|
|
63
|
+
.axeWatcherAnalyze({ __UserRequestedAnalyze: false });
|
|
64
|
+
if (tryRequerySubject) {
|
|
65
|
+
commandChain
|
|
66
|
+
// axeWatcherAnalyze is slow; it's possible for the Cypress subject to become invalidated
|
|
67
|
+
// while it's running (eg, if the subject is in some sort of remount-loop). To account for
|
|
68
|
+
// this, we ask Cypress to requery the subject object from the subjectChain before returning
|
|
69
|
+
// control to the original function.
|
|
70
|
+
//
|
|
71
|
+
// Note that we don't always have access to an original subjectChain to restore; the API is
|
|
72
|
+
// only available in Cypress 12+, and even then we might be wrapping a command that doesn't
|
|
73
|
+
// necessarily operate on a subject.
|
|
74
|
+
.then(() => {
|
|
75
|
+
var _a, _b;
|
|
76
|
+
// Some Cypress commands pick up the subject from cy.subject(), and some pick it up from a
|
|
77
|
+
// subject parameter that's passed to the command. Returning the updated subject from this
|
|
78
|
+
// .then() sets cy.subject() to handle the former...
|
|
79
|
+
return originalSubjectChain &&
|
|
80
|
+
((_b = (_a = cy).getSubjectFromChain) === null || _b === void 0 ? void 0 : _b.call(_a, originalSubjectChain));
|
|
121
81
|
})
|
|
122
|
-
.then(
|
|
123
|
-
|
|
124
|
-
|
|
82
|
+
.then(updatedSubject => {
|
|
83
|
+
// ...and this map handles the latter.
|
|
84
|
+
const argsWithRefreshedSubject = args.map(arg => originalSubject && arg === originalSubject ? updatedSubject : arg);
|
|
85
|
+
// originalFn might return a Promise that Cypress needs to be able to track, so it's important
|
|
86
|
+
// to propagate its return value even though we're not chaining any further cypress commands
|
|
87
|
+
// ourselves.
|
|
88
|
+
return originalFn(...argsWithRefreshedSubject);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
commandChain
|
|
93
|
+
// Set the subject back to the previous subject
|
|
94
|
+
.then(() => originalSubject)
|
|
95
|
+
.then(() => originalFn(...args));
|
|
96
|
+
}
|
|
97
|
+
}));
|
|
125
98
|
function axeWatcherFlushCommand() {
|
|
126
99
|
cy.window().then(win => {
|
|
127
100
|
if (!shouldAnalyzeLocation(win.location)) {
|
|
128
101
|
return Promise.resolve();
|
|
129
102
|
}
|
|
130
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
131
|
-
const hasVisited = win.__AXE_WATCHER_HAS_VISITED;
|
|
132
|
-
if (!hasVisited) {
|
|
133
|
-
return Promise.resolve();
|
|
134
|
-
}
|
|
135
103
|
return new Promise(resolve => {
|
|
136
104
|
const results = [];
|
|
137
105
|
const onAxeResult = (event) => {
|
|
@@ -140,7 +108,6 @@ function axeWatcherFlushCommand() {
|
|
|
140
108
|
const onFlushEnd = () => {
|
|
141
109
|
win.removeEventListener('axe:flush-end', onFlushEnd);
|
|
142
110
|
win.removeEventListener('axe:result', onAxeResult);
|
|
143
|
-
win.__AXE_WATCHER_HAS_VISITED = false;
|
|
144
111
|
resolve(results);
|
|
145
112
|
};
|
|
146
113
|
win.addEventListener('axe:flush-end', onFlushEnd);
|
|
@@ -148,11 +115,7 @@ function axeWatcherFlushCommand() {
|
|
|
148
115
|
const event = new CustomEvent('axe:flush-start');
|
|
149
116
|
win.dispatchEvent(event);
|
|
150
117
|
}).then(results => {
|
|
151
|
-
|
|
152
|
-
const time = new Date().getTime();
|
|
153
|
-
const rnd = Math.random().toString(36).slice(2);
|
|
154
|
-
const filename = `cypress/axe-watcher/${time}-${rnd}.json`;
|
|
155
|
-
cy.writeFile(filename, JSON.stringify(results, null, 2));
|
|
118
|
+
cy.task('__uploadAxeWatcherResults', results, { log: false });
|
|
156
119
|
});
|
|
157
120
|
});
|
|
158
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":";;;AAqFA;;;;;;;GAOG;AAEH,IAAI,SAAS,GAAG,KAAK,CAAA;AAIrB,4DAA4D;AAC/C,QAAA,gBAAgB,GAAiC;IAC5D,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,IAAI;IACJ,QAAQ;IACR,gBAAgB;IAChB,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;IACN,SAAS;IACT,MAAM;CACP,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,QAAkB,EAAW,EAAE,CAC5D,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAE1D;;;;;;;GAOG;AACH,wBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,GAAG,IAAI,EAAE,EAAE;;IACzD,MAAM,cAAc,GAAG,MAAA,MAAC,EAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,0CAAE,UAAU,0CAAE,IAAI,CAAA;IAE5E,2EAA2E;IAC3E,yEAAyE;IACzE,uEAAuE;IACvE,0DAA0D;IAC1D,IAAI,cAAc,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAChD,OAAO,UAAU,CAAC,GAAG,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,yFAAyF;IACzF,MAAM,eAAe,GAAG,MAAA,MAAC,EAAiB,EAAC,OAAO,kDAAI,CAAA;IACtD,wFAAwF;IACxF,4FAA4F;IAC5F,4BAA4B;IAC5B,MAAM,oBAAoB,GAAG,MAAA,MAAC,EAAiB,EAAC,YAAY,kDAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":"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"}
|
package/dist/playwright.js
CHANGED
|
@@ -18,7 +18,8 @@ function playwrightConfig(opts) {
|
|
|
18
18
|
if (config.headless) {
|
|
19
19
|
throw new util_1.HeadlessNotSupportedError('In Playwright, include "--headless=new" in the "args" property of your options instead of using "headless: true"');
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
const existingArgs = args;
|
|
22
|
+
args = (0, util_1.mergeChromeArgs)(existingArgs, { disableOtherExtensions: true });
|
|
22
23
|
return {
|
|
23
24
|
...config,
|
|
24
25
|
headless: false,
|
package/dist/playwright.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":";;;;;;AACA,iCAKe;AACf,8DAAqC;AAKrC;;;;GAIG;AAEH,SAAgB,gBAAgB,CAAC,IAAa;IAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/B,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;IAE1B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,gCAAyB,CACjC,kHAAkH,CACnH,CAAA;IACH,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":";;;;;;AACA,iCAKe;AACf,8DAAqC;AAKrC;;;;GAIG;AAEH,SAAgB,gBAAgB,CAAC,IAAa;IAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/B,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;IAE1B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,gCAAyB,CACjC,kHAAkH,CACnH,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAA;IACzB,IAAI,GAAG,IAAA,sBAAe,EAAC,YAAY,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtE,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,KAAK;QACf,IAAI;KACL,CAAA;AACH,CAAC;AApBD,4CAoBC;AAED,MAAa,oBAAqB,SAAQ,oBAAU;IAGlD,YAAY,MAAY;QACtB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,EAA+B,EAC/B,GAAG,IAAe;QAElB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAA;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAI,EAAE,EAAE,GAAG,CAAC,CAAA;QACrD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAhBD,oDAgBC;AAED;;GAEG;AACI,MAAM,cAAc,GAAG;AAC5B,6DAA6D;AAC7D,cAA8B;AAC9B,6DAA6D;AAC7D,oBAA0C,EAC1B,EAAE;IAClB,MAAM,IAAI,KAAK,CAAC;;;;;;GAMf,CAAC,CAAA;AACJ,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B;AAED,2DAAqE;AAA5D,wHAAA,QAAQ,OAAsB"}
|
package/dist/playwrightTest.js
CHANGED
|
@@ -17,6 +17,7 @@ const playwrightTest = (options) => {
|
|
|
17
17
|
let base;
|
|
18
18
|
let chromium;
|
|
19
19
|
try {
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
20
21
|
;
|
|
21
22
|
({ test: base, chromium } = require('@playwright/test'));
|
|
22
23
|
}
|
|
@@ -33,7 +34,9 @@ const playwrightTest = (options) => {
|
|
|
33
34
|
context: async ({}, use) => {
|
|
34
35
|
const context = await chromium.launchPersistentContext('', {
|
|
35
36
|
...config,
|
|
36
|
-
args:
|
|
37
|
+
args: (0, util_1.mergeChromeArgs)(config.args || [], {
|
|
38
|
+
disableOtherExtensions: true
|
|
39
|
+
})
|
|
37
40
|
});
|
|
38
41
|
await use(context);
|
|
39
42
|
await context.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwrightTest.js","sourceRoot":"","sources":["../src/playwrightTest.ts"],"names":[],"mappings":";;AAUA,6CAIqB;AACrB,
|
|
1
|
+
{"version":3,"file":"playwrightTest.js","sourceRoot":"","sources":["../src/playwrightTest.ts"],"names":[],"mappings":";;AAUA,6CAIqB;AACrB,iCAAwD;AAYxD;;;;;;GAMG;AAEH,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAe,EAAE;IACvD,IAAI,UAAU,GAAgC,IAAI,CAAA;IAClD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAA;IAElC,4DAA4D;IAC5D,oDAAoD;IACpD,IAAI,IAAU,CAAA;IACd,IAAI,QAAsC,CAAA;IAC1C,IAAI,CAAC;QACH,iEAAiE;QACjE,CAAC;QAAA,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAI,KAAe,CAAC,OAAO,CAC/D,CAAA;IACH,CAAC;IAED,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACvB,0EAA0E;QAC1E,EAAE;QACF,mEAAmE;QACnE,EAAE;QACF,4CAA4C;QAC5C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,EAAE,EAAE;gBACzD,GAAG,MAAM;gBACT,IAAI,EAAE,IAAA,sBAAe,EAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE;oBACvC,sBAAsB,EAAE,IAAI;iBAC7B,CAAC;aACH,CAAC,CAAA;YACF,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA;YAClB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE;YAC5B,UAAU,GAAG,IAAI,iCAAoB,CAAC,IAAI,CAAC,CAAA;YAC3C,IAAI,GAAG,IAAA,+BAAkB,EAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YAC3C,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;QACjB,CAAC;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,EAAE,CAAA,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AACzB,CAAC,CAAA;AAED,kBAAe,cAAc,CAAA"}
|
package/dist/puppeteer.js
CHANGED
|
@@ -25,7 +25,8 @@ function puppeteerConfig(opts) {
|
|
|
25
25
|
let { args = [] } = config;
|
|
26
26
|
(0, util_1.writeVariables)(axe);
|
|
27
27
|
headlessNotSupportedError(config);
|
|
28
|
-
|
|
28
|
+
const existingArgs = args;
|
|
29
|
+
args = (0, util_1.mergeChromeArgs)(existingArgs, { disableOtherExtensions: true });
|
|
29
30
|
return {
|
|
30
31
|
...config,
|
|
31
32
|
headless: false,
|
package/dist/puppeteer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":";;;;;;AAOA,iCAKe;AACf,8DAAqC;AAWrC,SAAS,yBAAyB,CAChC,MAAuD;IAEvD,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QACnD,OAAM;IACR,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,gCAAyB,CACjC,mGAAmG,CACpG,CAAA;IACH,CAAC;IAED,MAAM,IAAI,gCAAyB,CACjC,8HAA8H,CAC/H,CAAA;AACH,CAAC;AAED;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,IAA6B;IAC3D,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/B,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;IAE1B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,yBAAyB,CACvB,MAAyD,CAC1D,CAAA;IAED,
|
|
1
|
+
{"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":";;;;;;AAOA,iCAKe;AACf,8DAAqC;AAWrC,SAAS,yBAAyB,CAChC,MAAuD;IAEvD,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAA,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QACnD,OAAM;IACR,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,gCAAyB,CACjC,mGAAmG,CACpG,CAAA;IACH,CAAC;IAED,MAAM,IAAI,gCAAyB,CACjC,8HAA8H,CAC/H,CAAA;AACH,CAAC;AAED;;;;GAIG;AAEH,SAAgB,eAAe,CAAC,IAA6B;IAC3D,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/B,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;IAE1B,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,yBAAyB,CACvB,MAAyD,CAC1D,CAAA;IAED,MAAM,YAAY,GAAG,IAAI,CAAA;IACzB,IAAI,GAAG,IAAA,sBAAe,EAAC,YAAY,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtE,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,KAAK;QACf,IAAI;KACL,CAAA;AACH,CAAC;AAlBD,0CAkBC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAGjD,YAAY,MAAY;QACtB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,EAA+B,EAC/B,GAAG,IAAe;QAElB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;QACtD,OAAO,MAAW,CAAA;IACpB,CAAC;CACF;AAfD,kDAeC;AAED;;GAEG;AACI,MAAM,aAAa,GAAG;AAC3B,6DAA6D;AAC7D,cAA8B;AAC9B,6DAA6D;AAC7D,UAA+B,EACf,EAAE;IAClB,MAAM,IAAI,KAAK,CAAC;;;;;;KAMb,CAAC,CAAA;AACN,CAAC,CAAA;AAbY,QAAA,aAAa,iBAazB;AAED,yDAAmE;AAA1D,sHAAA,QAAQ,OAAqB"}
|
|
@@ -32,7 +32,7 @@ const uuid_1 = require("uuid");
|
|
|
32
32
|
const util_1 = require("./util");
|
|
33
33
|
const git = __importStar(require("./git"));
|
|
34
34
|
// Read the version from package.json, but do not include the file in the build.
|
|
35
|
-
// eslint-disable-next-line @typescript-eslint/no-
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
36
36
|
const { version } = require('../package.json');
|
|
37
37
|
/**
|
|
38
38
|
* Number of page states to send to the server at once.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendResultsToServer.js","sourceRoot":"","sources":["../src/sendResultsToServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA8B;AAE9B,+BAAiC;AACjC,iCAAsC;AACtC,2CAA4B;AAE5B,gFAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"sendResultsToServer.js","sourceRoot":"","sources":["../src/sendResultsToServer.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ export declare const PATH_TO_EXTENSION: string;
|
|
|
3
3
|
export declare const DEFAULT_SERVER_URL = "https://axe.deque.com/";
|
|
4
4
|
export declare const PATH_TO_SESSION_FILE: string;
|
|
5
5
|
export declare const PATH_TO_EXTENSION_VARIABLES: string;
|
|
6
|
-
export declare const extensionArgs: readonly [`--disable-extensions-except=${string}`, `--load-extension=${string}`];
|
|
7
6
|
export declare class HeadlessNotSupportedError extends Error {
|
|
8
7
|
name: string;
|
|
9
8
|
constructor(extendedMessage?: string);
|
|
@@ -63,4 +62,15 @@ export declare const isWrapped: <T>(o: PossiblyWrapped<T> | null) => boolean;
|
|
|
63
62
|
export declare const markAsWrapped: (o: unknown) => void;
|
|
64
63
|
export declare const proxiedGetFuncWithAnalyze: <T>(target: T, prop: keyof T, controller: Controller) => (...args: unknown[]) => Promise<unknown>;
|
|
65
64
|
export declare const proxiedGetWithoutAnalyze: <T>(target: T, prop: keyof T) => unknown;
|
|
65
|
+
/**
|
|
66
|
+
* A helper function to merge the user provided arguments with the extension args
|
|
67
|
+
* for Chrome.
|
|
68
|
+
*
|
|
69
|
+
* @param args The user provided arguments to merge with the extension args.
|
|
70
|
+
* @param disableOtherExtensions Whether to disable other extensions.
|
|
71
|
+
* @returns The merged arguments to pass to Chrome.
|
|
72
|
+
*/
|
|
73
|
+
export declare const mergeChromeArgs: (userArgs: string[], { disableOtherExtensions }: {
|
|
74
|
+
disableOtherExtensions: boolean;
|
|
75
|
+
}) => string[];
|
|
66
76
|
export {};
|
package/dist/util.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.proxiedGetWithoutAnalyze = exports.proxiedGetFuncWithAnalyze = exports.markAsWrapped = exports.isWrapped = exports.updateAutoAnalyze = exports.readVariables = exports.writeManifest = exports.validateApiKey = exports.writeVariables = exports.HeadlessNotSupportedError = exports.
|
|
6
|
+
exports.mergeChromeArgs = exports.proxiedGetWithoutAnalyze = exports.proxiedGetFuncWithAnalyze = exports.markAsWrapped = exports.isWrapped = exports.updateAutoAnalyze = exports.readVariables = exports.writeManifest = exports.validateApiKey = exports.writeVariables = exports.HeadlessNotSupportedError = exports.PATH_TO_EXTENSION_VARIABLES = exports.PATH_TO_SESSION_FILE = exports.DEFAULT_SERVER_URL = exports.PATH_TO_EXTENSION = void 0;
|
|
7
7
|
const uuid_1 = require("uuid");
|
|
8
8
|
const sync_request_1 = __importDefault(require("sync-request"));
|
|
9
9
|
const assert_1 = __importDefault(require("assert"));
|
|
@@ -14,10 +14,9 @@ exports.PATH_TO_EXTENSION = path_1.default.join(__dirname, '..', 'extension');
|
|
|
14
14
|
exports.DEFAULT_SERVER_URL = 'https://axe.deque.com/';
|
|
15
15
|
exports.PATH_TO_SESSION_FILE = path_1.default.join(os_1.default.tmpdir(), 'axe-watcher-session.json');
|
|
16
16
|
exports.PATH_TO_EXTENSION_VARIABLES = path_1.default.join(exports.PATH_TO_EXTENSION, 'variables.json');
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
];
|
|
17
|
+
// Extension flags for Chrome
|
|
18
|
+
const DISABLE_OTHER_EXTENSIONS_FLAG = '--disable-extensions-except';
|
|
19
|
+
const LOAD_EXTENSION_FLAG = '--load-extension';
|
|
21
20
|
class HeadlessNotSupportedError extends Error {
|
|
22
21
|
constructor(extendedMessage) {
|
|
23
22
|
super('@axe-core/watcher does not support Chrome\'s older "--headless" mode. ' +
|
|
@@ -74,8 +73,11 @@ exports.writeVariables = writeVariables;
|
|
|
74
73
|
/** Validate the given `apiKey`. This method is blocking and should not be called unnecessarily. */
|
|
75
74
|
const validateApiKey = ({ apiKey, serverURL }) => {
|
|
76
75
|
(0, assert_1.default)(apiKey, 'API key is required');
|
|
77
|
-
const url = new URL(`/api/api-keys
|
|
76
|
+
const url = new URL(`/api/api-keys/validate/axe-devtools-watcher`, serverURL);
|
|
78
77
|
const res = (0, sync_request_1.default)('GET', url.toString(), {
|
|
78
|
+
headers: {
|
|
79
|
+
'X-API-Key': apiKey
|
|
80
|
+
},
|
|
79
81
|
maxRedirects: 2,
|
|
80
82
|
followRedirects: true,
|
|
81
83
|
maxRetries: 2,
|
|
@@ -164,4 +166,70 @@ const proxiedGetWithoutAnalyze = (target, prop) => {
|
|
|
164
166
|
return original;
|
|
165
167
|
};
|
|
166
168
|
exports.proxiedGetWithoutAnalyze = proxiedGetWithoutAnalyze;
|
|
169
|
+
/**
|
|
170
|
+
* A helper function to merge the user provided arguments with the extension args
|
|
171
|
+
* for Chrome.
|
|
172
|
+
*
|
|
173
|
+
* @param args The user provided arguments to merge with the extension args.
|
|
174
|
+
* @param disableOtherExtensions Whether to disable other extensions.
|
|
175
|
+
* @returns The merged arguments to pass to Chrome.
|
|
176
|
+
*/
|
|
177
|
+
const mergeChromeArgs = (userArgs, { disableOtherExtensions }) => {
|
|
178
|
+
/**
|
|
179
|
+
* It's possible for the user to do:
|
|
180
|
+
* `--load-extension=/path/A, --load-extension=/path/B`
|
|
181
|
+
*
|
|
182
|
+
* We only want to append our extension path onto
|
|
183
|
+
* the last occurrence of `--load-extension`.
|
|
184
|
+
*/
|
|
185
|
+
let loadExtensionFlagIndex = -1;
|
|
186
|
+
let disableExtensionsFlagIndex = -1;
|
|
187
|
+
/**
|
|
188
|
+
* We do not want to modify the user's args directly.
|
|
189
|
+
* We only want to modify and merge the extension args
|
|
190
|
+
* with the user's args if they exist.
|
|
191
|
+
*
|
|
192
|
+
* It's possible for some integrations like WebDriverJS
|
|
193
|
+
* to optionally include the `--` prefix in the flag,
|
|
194
|
+
* when we check for the extension flag we need to account for this.
|
|
195
|
+
*/
|
|
196
|
+
for (const [index, arg] of userArgs.entries()) {
|
|
197
|
+
if (arg.includes(LOAD_EXTENSION_FLAG) || arg.includes('load-extension')) {
|
|
198
|
+
loadExtensionFlagIndex = index;
|
|
199
|
+
}
|
|
200
|
+
if (arg.includes(DISABLE_OTHER_EXTENSIONS_FLAG) ||
|
|
201
|
+
arg.includes('disable-extensions-except')) {
|
|
202
|
+
disableExtensionsFlagIndex = index;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
// The user has provided a `--load-extension` flag
|
|
206
|
+
// We want to append our extension path to the list of extensions.
|
|
207
|
+
if (loadExtensionFlagIndex !== -1) {
|
|
208
|
+
userArgs[loadExtensionFlagIndex] += `,${exports.PATH_TO_EXTENSION}`;
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
userArgs.push(`${LOAD_EXTENSION_FLAG}=${exports.PATH_TO_EXTENSION}`);
|
|
212
|
+
}
|
|
213
|
+
// If the user has already disabled other extensions, we want to append
|
|
214
|
+
// our extension path to the list of disabled extensions.
|
|
215
|
+
if (disableExtensionsFlagIndex !== -1) {
|
|
216
|
+
userArgs[disableExtensionsFlagIndex] += `,${exports.PATH_TO_EXTENSION}`;
|
|
217
|
+
/**
|
|
218
|
+
* Puppeteer and Playwright by default include `--disable-extensions` which
|
|
219
|
+
* disables all extensions. We need to explicitly enable the axe-core/watcher
|
|
220
|
+
* extension.
|
|
221
|
+
*
|
|
222
|
+
* @see https://github.com/GoogleChrome/chrome-launcher/blob/main/docs/chrome-flags-for-tools.md#sources
|
|
223
|
+
*
|
|
224
|
+
* Cypress does not include `--disable-extensions` by default but does include
|
|
225
|
+
* their own extension outside of `--load-extension` so we do not able to disable it
|
|
226
|
+
* when injecting the axe-core/watcher extension.
|
|
227
|
+
*/
|
|
228
|
+
}
|
|
229
|
+
else if (disableOtherExtensions) {
|
|
230
|
+
userArgs.push(`${DISABLE_OTHER_EXTENSIONS_FLAG}=${exports.PATH_TO_EXTENSION}`);
|
|
231
|
+
}
|
|
232
|
+
return userArgs;
|
|
233
|
+
};
|
|
234
|
+
exports.mergeChromeArgs = mergeChromeArgs;
|
|
167
235
|
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAiC;AACjC,gEAAkC;AAClC,oDAA2B;AAC3B,4CAAmB;AACnB,gDAAuB;AACvB,4CAAmB;AAGN,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;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/dist/wdio.js
CHANGED
|
@@ -31,7 +31,7 @@ function wdioConfig({ axe, ...options }) {
|
|
|
31
31
|
...options === null || options === void 0 ? void 0 : options.capabilities,
|
|
32
32
|
browserName: 'chrome',
|
|
33
33
|
'goog:chromeOptions': {
|
|
34
|
-
args: util_1.
|
|
34
|
+
args: (0, util_1.mergeChromeArgs)(args, { disableOtherExtensions: false })
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
};
|
|
@@ -62,7 +62,7 @@ function wdioTestRunner(...params) {
|
|
|
62
62
|
if (['headless', '--headless'].some(flag => args.includes(flag))) {
|
|
63
63
|
throw new util_1.HeadlessNotSupportedError(`In WebdriverIO, use "headless=new" instead of "headless" in the "args" property of your "${CHROME_OPTIONS}" browser capability configuration.`);
|
|
64
64
|
}
|
|
65
|
-
chromeOpts.args = util_1.
|
|
65
|
+
chromeOpts.args = (0, util_1.mergeChromeArgs)(args, { disableOtherExtensions: false });
|
|
66
66
|
const { onPrepare = noop, onComplete = noop } = config;
|
|
67
67
|
return {
|
|
68
68
|
...config,
|
package/dist/wdio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":";;;;;;AAOA,4CAAmB;AACnB,iCAMe;AACf,8DAAqC;AAErC,MAAM,IAAI,GAAG,GAAS,EAAE;IACtB,WAAW;AACb,CAAC,CAAA;AAID;;;;GAIG;AAEH,SAAgB,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAW;;IACrD,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,iFAAiF;IACjF,uDAAuD;IACvD,MAAM,UAAU,GAAG,CAAA,MAAC,OAAO,CAAC,YAAoB,0CAAG,oBAAoB,CAAC,KAAI,EAAE,CAAA;IAC9E,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAA;IAElC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,gCAAyB,CACjC,4FAA4F,cAAc,qCAAqC,CAChJ,CAAA;IACH,CAAC;IAED,OAAO;QACL,GAAG,OAAO;QACV,YAAY,EAAE;YACZ,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;YACxB,WAAW,EAAE,QAAQ;YACrB,oBAAoB,EAAE;gBACpB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"wdio.js","sourceRoot":"","sources":["../src/wdio.ts"],"names":[],"mappings":"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"}
|
package/dist/webdriver.js
CHANGED
|
@@ -14,13 +14,18 @@ Object.defineProperty(exports, "wrapWebdriver", { enumerable: true, get: functio
|
|
|
14
14
|
* @param arg Config to extend
|
|
15
15
|
*/
|
|
16
16
|
function webdriverConfig(arg) {
|
|
17
|
+
var _a;
|
|
17
18
|
// Lazily require `chrome` to avoid Puppeteer/Playwright/WDIO users from needing `selenium-webdriver` installed.
|
|
18
|
-
// eslint-disable-next-line @typescript-eslint/no-
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
19
20
|
const chrome = require('selenium-webdriver/chrome');
|
|
20
21
|
const { axe, options } = arg;
|
|
21
22
|
(0, util_1.writeVariables)(axe);
|
|
22
23
|
const opts = options ? options : new chrome.Options();
|
|
23
|
-
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
25
|
+
const existingArgs = (((_a = opts === null || opts === void 0 ? void 0 : opts.options_) === null || _a === void 0 ? void 0 : _a.args) || []);
|
|
26
|
+
opts.options_.args = (0, util_1.mergeChromeArgs)(existingArgs, {
|
|
27
|
+
disableOtherExtensions: false
|
|
28
|
+
});
|
|
24
29
|
// Note: fragile, but selenium does not give us a real way to check this
|
|
25
30
|
if (['headless', '--headless'].some(flag => { var _a, _b;
|
|
26
31
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|