@axe-core/watcher 3.15.2 → 3.16.0-next.73def0bf
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 +43 -50
- 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,9 @@ Cypress.Commands.addQuery('__axeRestoreSubject', function (subjectChain, timeout
|
|
|
75
76
|
return () => cy.getSubjectFromChain(subjectChain);
|
|
76
77
|
});
|
|
77
78
|
function axeWatcherFlushCommand() {
|
|
78
|
-
logDebugAxeWatcher({
|
|
79
|
+
logDebugAxeWatcher({
|
|
80
|
+
message: `Flush: Invoked (${isStopped ? 'will not' : 'may'} analyze implicitly)`
|
|
81
|
+
});
|
|
79
82
|
cy.window().then(win => {
|
|
80
83
|
if (!shouldAnalyzeLocation(win.location)) {
|
|
81
84
|
return Promise.resolve();
|
|
@@ -92,7 +95,9 @@ function axeWatcherFlushCommand() {
|
|
|
92
95
|
};
|
|
93
96
|
win.addEventListener('axe:flush-end', onFlushEnd);
|
|
94
97
|
win.addEventListener('axe:result', onAxeResult);
|
|
95
|
-
const event = new CustomEvent('axe:flush-start'
|
|
98
|
+
const event = new CustomEvent('axe:flush-start', {
|
|
99
|
+
detail: { isStopped }
|
|
100
|
+
});
|
|
96
101
|
win.dispatchEvent(event);
|
|
97
102
|
}).then(results => {
|
|
98
103
|
cy.task('__uploadAxeWatcherResults', { results }, { log: false });
|
|
@@ -103,77 +108,65 @@ function axeWatcherFlushCommand() {
|
|
|
103
108
|
const doesCypressCommandExist = (commandName) => {
|
|
104
109
|
return !!Cypress.cy[commandName];
|
|
105
110
|
};
|
|
106
|
-
function axeWatcherAnalyzeCommand({ __Method, __UserRequestedAnalyze = true } = {}) {
|
|
111
|
+
function axeWatcherAnalyzeCommand(subject, { __Method, __UserRequestedAnalyze = true } = {}) {
|
|
112
|
+
const userRequestedAnalyze = __UserRequestedAnalyze;
|
|
113
|
+
const message = userRequestedAnalyze
|
|
114
|
+
? 'User requested analysis'
|
|
115
|
+
: `Invoked${__Method ? ` - ${__Method}` : ''}`;
|
|
107
116
|
logDebugAxeWatcher({
|
|
108
|
-
message: `Analyze:
|
|
117
|
+
message: `Analyze: ${message}`
|
|
109
118
|
});
|
|
110
|
-
const userRequestedAnalyze = __UserRequestedAnalyze;
|
|
111
119
|
cy.window().then(win => {
|
|
112
120
|
if (!shouldAnalyzeLocation(win.location)) {
|
|
113
|
-
|
|
121
|
+
logDebugAxeWatcher({
|
|
122
|
+
message: `Analyze: Skipped - invalid protocol`
|
|
123
|
+
});
|
|
124
|
+
return Promise.resolve({ message: `Skipped - Invalid protocol`, subject });
|
|
114
125
|
}
|
|
115
126
|
if (isStopped && !userRequestedAnalyze) {
|
|
116
|
-
|
|
127
|
+
logDebugAxeWatcher({
|
|
128
|
+
message: `Analyze: Skipped - manual mode`
|
|
129
|
+
});
|
|
130
|
+
return Promise.resolve({ message: `Skipped (Manual mode)`, subject });
|
|
117
131
|
}
|
|
118
132
|
return new Promise(resolve => {
|
|
119
133
|
const fn = (event) => {
|
|
120
134
|
win.removeEventListener('axe:manual-mode-analyze-done', fn);
|
|
121
|
-
resolve(event.detail);
|
|
135
|
+
resolve({ message: event.detail.message, subject });
|
|
122
136
|
};
|
|
123
137
|
win.addEventListener('axe:manual-mode-analyze-done', fn);
|
|
124
138
|
const event = new CustomEvent('axe:manual-mode-analyze', {
|
|
125
|
-
detail: { userRequestedAnalyze }
|
|
139
|
+
detail: { userRequestedAnalyze, isCypress: true }
|
|
126
140
|
});
|
|
127
141
|
win.dispatchEvent(event);
|
|
128
142
|
}).then(result => {
|
|
129
143
|
logDebugAxeWatcher({ message: `Analyze: ${result === null || result === void 0 ? void 0 : result.message}` });
|
|
144
|
+
if (result === null || result === void 0 ? void 0 : result.subject) {
|
|
145
|
+
return result.subject;
|
|
146
|
+
}
|
|
130
147
|
});
|
|
131
148
|
});
|
|
132
149
|
}
|
|
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
|
-
});
|
|
150
|
+
function axeWatcherStartCommand(subject) {
|
|
151
|
+
cy.window().then(() => {
|
|
152
|
+
isStopped = false;
|
|
153
|
+
return Promise.resolve(subject);
|
|
149
154
|
});
|
|
150
155
|
}
|
|
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
|
-
});
|
|
156
|
+
function axeWatcherStopCommand(subject) {
|
|
157
|
+
cy.window().then(() => {
|
|
158
|
+
isStopped = true;
|
|
159
|
+
return Promise.resolve(subject);
|
|
167
160
|
});
|
|
168
161
|
}
|
|
169
162
|
if (!doesCypressCommandExist('axeAnalyze')) {
|
|
170
|
-
Cypress.Commands.add('
|
|
163
|
+
Cypress.Commands.add('axeWatcherAnalyze', { prevSubject: 'optional' }, axeWatcherAnalyzeCommand);
|
|
171
164
|
}
|
|
172
165
|
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);
|
|
166
|
+
Cypress.Commands.add('axeStop', { prevSubject: 'optional' }, axeWatcherStopCommand);
|
|
167
|
+
Cypress.Commands.add('axeStart', { prevSubject: 'optional' }, axeWatcherStartCommand);
|
|
168
|
+
Cypress.Commands.add('axeWatcherAnalyze', { prevSubject: 'optional' }, axeWatcherAnalyzeCommand);
|
|
169
|
+
Cypress.Commands.add('axeWatcherStart', { prevSubject: 'optional' }, axeWatcherStartCommand);
|
|
170
|
+
Cypress.Commands.add('axeWatcherStop', { prevSubject: 'optional' }, axeWatcherStopCommand);
|
|
178
171
|
Cypress.Commands.add('axeWatcherFlush', axeWatcherFlushCommand);
|
|
179
172
|
//# 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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"}
|