@axe-core/watcher 3.15.2 → 3.16.0-next.bc42b90e
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.d.ts +1 -0
- package/dist/cypress.js +5 -1
- package/dist/cypress.js.map +1 -1
- package/dist/cypressCommands.js +40 -49
- package/dist/cypressCommands.js.map +1 -1
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/package.json +5 -5
package/dist/cypress.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type Configuration } from './utils/writeVariables';
|
|
2
2
|
export declare const cypressConfigRunFlag = "__AXE_WATCHER_CYPRESS_CONFIG_RUN";
|
|
3
|
+
export declare const cypressConfigAutoAnalyzeFlag = "__AXE_WATCHER_AUTO_ANALYZE";
|
|
3
4
|
/**
|
|
4
5
|
* Create a Cypress config that uses the axe Watcher extension.
|
|
5
6
|
*
|
package/dist/cypress.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.cypressConfig = exports.cypressConfigRunFlag = void 0;
|
|
6
|
+
exports.cypressConfig = exports.cypressConfigAutoAnalyzeFlag = exports.cypressConfigRunFlag = void 0;
|
|
7
7
|
const sendResultsToServer_1 = __importDefault(require("./sendResultsToServer"));
|
|
8
8
|
const EventForwarder_1 = __importDefault(require("./EventForwarder"));
|
|
9
9
|
const writeVariables_1 = __importDefault(require("./utils/writeVariables"));
|
|
@@ -13,6 +13,7 @@ const mergeChromeArgs_1 = __importDefault(require("./utils/mergeChromeArgs"));
|
|
|
13
13
|
const createDebugger_1 = __importDefault(require("./createDebugger"));
|
|
14
14
|
const debugLogger = (0, createDebugger_1.default)('CypressController');
|
|
15
15
|
exports.cypressConfigRunFlag = '__AXE_WATCHER_CYPRESS_CONFIG_RUN';
|
|
16
|
+
exports.cypressConfigAutoAnalyzeFlag = '__AXE_WATCHER_AUTO_ANALYZE';
|
|
16
17
|
const cypressConfig = (config) => {
|
|
17
18
|
var _a;
|
|
18
19
|
const { axe, ...userConfig } = config;
|
|
@@ -44,6 +45,9 @@ const cypressConfig = (config) => {
|
|
|
44
45
|
__AXE_WATCHER_DEBUG: hasWatcherDebug
|
|
45
46
|
});
|
|
46
47
|
}
|
|
48
|
+
userConfig.env = Object.assign({}, userConfig.env, {
|
|
49
|
+
[exports.cypressConfigAutoAnalyzeFlag]: axe.autoAnalyze === undefined ? true : axe.autoAnalyze
|
|
50
|
+
});
|
|
47
51
|
return {
|
|
48
52
|
...userConfig,
|
|
49
53
|
e2e: {
|
package/dist/cypress.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../src/cypress.ts"],"names":[],"mappings":";;;;;;AACA,gFAAuD;AACvD,sEAA6C;AAC7C,4EAA2E;AAC3E,4FAA0D;AAC1D,iFAA6E;AAC7E,8EAAqD;AACrD,sEAA6C;AAE7C,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,mBAAmB,CAAC,CAAA;AAE1C,QAAA,oBAAoB,GAAG,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"cypress.js","sourceRoot":"","sources":["../src/cypress.ts"],"names":[],"mappings":"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"}
|
package/dist/cypressCommands.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WRAPPED_COMMANDS = void 0;
|
|
4
|
-
const
|
|
5
|
-
|
|
4
|
+
const cypressConfigRunFlag = '__AXE_WATCHER_CYPRESS_CONFIG_RUN';
|
|
5
|
+
const cypressConfigAutoAnalyzeFlag = '__AXE_WATCHER_AUTO_ANALYZE';
|
|
6
|
+
let isStopped = !Cypress.env(cypressConfigAutoAnalyzeFlag);
|
|
6
7
|
exports.WRAPPED_COMMANDS = [
|
|
7
8
|
'blur',
|
|
8
9
|
'check',
|
|
@@ -28,7 +29,7 @@ const logDebugAxeWatcher = ({ message }) => {
|
|
|
28
29
|
}
|
|
29
30
|
};
|
|
30
31
|
const shouldAnalyzeLocation = (location) => ['http:', 'https:', 'file:'].includes(location.protocol);
|
|
31
|
-
if (!Cypress.env(
|
|
32
|
+
if (!Cypress.env(cypressConfigRunFlag)) {
|
|
32
33
|
throw new Error(`Cypress is not configured for axe watcher. Please ensure that axe watcher's cypressConfig() is invoked within Cypress' defineConfig() in your ${Cypress.config('configFile')}. All tests will fail with this error.`);
|
|
33
34
|
}
|
|
34
35
|
exports.WRAPPED_COMMANDS.forEach(method => Cypress.Commands.overwrite(method, (originalFn, ...args) => {
|
|
@@ -75,7 +76,7 @@ Cypress.Commands.addQuery('__axeRestoreSubject', function (subjectChain, timeout
|
|
|
75
76
|
return () => cy.getSubjectFromChain(subjectChain);
|
|
76
77
|
});
|
|
77
78
|
function axeWatcherFlushCommand() {
|
|
78
|
-
logDebugAxeWatcher({ message: 'Flush: Invoked
|
|
79
|
+
logDebugAxeWatcher({ message: 'Flush: Invoked' });
|
|
79
80
|
cy.window().then(win => {
|
|
80
81
|
if (!shouldAnalyzeLocation(win.location)) {
|
|
81
82
|
return Promise.resolve();
|
|
@@ -92,7 +93,9 @@ function axeWatcherFlushCommand() {
|
|
|
92
93
|
};
|
|
93
94
|
win.addEventListener('axe:flush-end', onFlushEnd);
|
|
94
95
|
win.addEventListener('axe:result', onAxeResult);
|
|
95
|
-
const event = new CustomEvent('axe:flush-start'
|
|
96
|
+
const event = new CustomEvent('axe:flush-start', {
|
|
97
|
+
detail: { isStopped }
|
|
98
|
+
});
|
|
96
99
|
win.dispatchEvent(event);
|
|
97
100
|
}).then(results => {
|
|
98
101
|
cy.task('__uploadAxeWatcherResults', { results }, { log: false });
|
|
@@ -103,22 +106,31 @@ function axeWatcherFlushCommand() {
|
|
|
103
106
|
const doesCypressCommandExist = (commandName) => {
|
|
104
107
|
return !!Cypress.cy[commandName];
|
|
105
108
|
};
|
|
106
|
-
function axeWatcherAnalyzeCommand({ __Method, __UserRequestedAnalyze = true } = {}) {
|
|
109
|
+
function axeWatcherAnalyzeCommand(subject, { __Method, __UserRequestedAnalyze = true } = {}) {
|
|
110
|
+
const userRequestedAnalyze = __UserRequestedAnalyze;
|
|
111
|
+
const message = userRequestedAnalyze
|
|
112
|
+
? 'User requested analysis'
|
|
113
|
+
: `Invoked${__Method ? ` - ${__Method}` : ''}`;
|
|
107
114
|
logDebugAxeWatcher({
|
|
108
|
-
message: `Analyze:
|
|
115
|
+
message: `Analyze: ${message}`
|
|
109
116
|
});
|
|
110
|
-
const userRequestedAnalyze = __UserRequestedAnalyze;
|
|
111
117
|
cy.window().then(win => {
|
|
112
118
|
if (!shouldAnalyzeLocation(win.location)) {
|
|
113
|
-
|
|
119
|
+
logDebugAxeWatcher({
|
|
120
|
+
message: `Analyze: Skipped - invalid protocol`
|
|
121
|
+
});
|
|
122
|
+
return Promise.resolve({ message: `Skipped - Invalid protocol`, subject });
|
|
114
123
|
}
|
|
115
124
|
if (isStopped && !userRequestedAnalyze) {
|
|
116
|
-
|
|
125
|
+
logDebugAxeWatcher({
|
|
126
|
+
message: `Analyze: Skipped - manual mode`
|
|
127
|
+
});
|
|
128
|
+
return Promise.resolve({ message: `Skipped (Manual mode)`, subject });
|
|
117
129
|
}
|
|
118
130
|
return new Promise(resolve => {
|
|
119
131
|
const fn = (event) => {
|
|
120
132
|
win.removeEventListener('axe:manual-mode-analyze-done', fn);
|
|
121
|
-
resolve(event.detail);
|
|
133
|
+
resolve({ message: event.detail.message, subject });
|
|
122
134
|
};
|
|
123
135
|
win.addEventListener('axe:manual-mode-analyze-done', fn);
|
|
124
136
|
const event = new CustomEvent('axe:manual-mode-analyze', {
|
|
@@ -127,53 +139,32 @@ function axeWatcherAnalyzeCommand({ __Method, __UserRequestedAnalyze = true } =
|
|
|
127
139
|
win.dispatchEvent(event);
|
|
128
140
|
}).then(result => {
|
|
129
141
|
logDebugAxeWatcher({ message: `Analyze: ${result === null || result === void 0 ? void 0 : result.message}` });
|
|
142
|
+
if (result === null || result === void 0 ? void 0 : result.subject) {
|
|
143
|
+
return result.subject;
|
|
144
|
+
}
|
|
130
145
|
});
|
|
131
146
|
});
|
|
132
147
|
}
|
|
133
|
-
function axeWatcherStartCommand() {
|
|
134
|
-
cy.window().then(
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
138
|
-
return new Promise(resolve => {
|
|
139
|
-
const fn = () => {
|
|
140
|
-
win.removeEventListener('axe:start-auto-mode-done', fn);
|
|
141
|
-
resolve();
|
|
142
|
-
};
|
|
143
|
-
win.addEventListener('axe:start-auto-mode-done', fn);
|
|
144
|
-
const event = new CustomEvent('axe:start-auto-mode');
|
|
145
|
-
win.dispatchEvent(event);
|
|
146
|
-
}).then(() => {
|
|
147
|
-
isStopped = false;
|
|
148
|
-
});
|
|
148
|
+
function axeWatcherStartCommand(subject) {
|
|
149
|
+
cy.window().then(() => {
|
|
150
|
+
isStopped = false;
|
|
151
|
+
return Promise.resolve(subject);
|
|
149
152
|
});
|
|
150
153
|
}
|
|
151
|
-
function axeWatcherStopCommand() {
|
|
152
|
-
cy.window().then(
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
}
|
|
156
|
-
return new Promise(resolve => {
|
|
157
|
-
const fn = () => {
|
|
158
|
-
win.removeEventListener('axe:stop-auto-mode-done', fn);
|
|
159
|
-
resolve();
|
|
160
|
-
};
|
|
161
|
-
win.addEventListener('axe:stop-auto-mode-done', fn);
|
|
162
|
-
const event = new CustomEvent('axe:stop-auto-mode');
|
|
163
|
-
win.dispatchEvent(event);
|
|
164
|
-
}).then(() => {
|
|
165
|
-
isStopped = true;
|
|
166
|
-
});
|
|
154
|
+
function axeWatcherStopCommand(subject) {
|
|
155
|
+
cy.window().then(() => {
|
|
156
|
+
isStopped = true;
|
|
157
|
+
return Promise.resolve(subject);
|
|
167
158
|
});
|
|
168
159
|
}
|
|
169
160
|
if (!doesCypressCommandExist('axeAnalyze')) {
|
|
170
|
-
Cypress.Commands.add('
|
|
161
|
+
Cypress.Commands.add('axeWatcherAnalyze', { prevSubject: 'optional' }, axeWatcherAnalyzeCommand);
|
|
171
162
|
}
|
|
172
163
|
Cypress.Commands.add('axeFlush', axeWatcherFlushCommand);
|
|
173
|
-
Cypress.Commands.add('axeStop', axeWatcherStopCommand);
|
|
174
|
-
Cypress.Commands.add('axeStart', axeWatcherStartCommand);
|
|
175
|
-
Cypress.Commands.add('axeWatcherAnalyze', axeWatcherAnalyzeCommand);
|
|
176
|
-
Cypress.Commands.add('axeWatcherStart', axeWatcherStartCommand);
|
|
177
|
-
Cypress.Commands.add('axeWatcherStop', axeWatcherStopCommand);
|
|
164
|
+
Cypress.Commands.add('axeStop', { prevSubject: 'optional' }, axeWatcherStopCommand);
|
|
165
|
+
Cypress.Commands.add('axeStart', { prevSubject: 'optional' }, axeWatcherStartCommand);
|
|
166
|
+
Cypress.Commands.add('axeWatcherAnalyze', { prevSubject: 'optional' }, axeWatcherAnalyzeCommand);
|
|
167
|
+
Cypress.Commands.add('axeWatcherStart', { prevSubject: 'optional' }, axeWatcherStartCommand);
|
|
168
|
+
Cypress.Commands.add('axeWatcherStop', { prevSubject: 'optional' }, axeWatcherStopCommand);
|
|
178
169
|
Cypress.Commands.add('axeWatcherFlush', axeWatcherFlushCommand);
|
|
179
170
|
//# sourceMappingURL=cypressCommands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"cypressCommands.js","sourceRoot":"","sources":["../src/cypressCommands.ts"],"names":[],"mappings":"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"}
|