@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,260 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ require("mocha");
7
+ const chai_1 = require("chai");
8
+ const constants_1 = require("./constants");
9
+ const mergeChromeArgs_1 = __importDefault(require("./mergeChromeArgs"));
10
+ describe('mergeChromeArgs', () => {
11
+ describe('given the user has not provided any args', () => {
12
+ describe('when `disableOtherExtensions` is true', () => {
13
+ it('returns the `--load-extension` when `--disable-extensions-except` flags', () => {
14
+ const args = (0, mergeChromeArgs_1.default)([], {
15
+ disableOtherExtensions: true
16
+ });
17
+ const [loadExtension, disableExtensionsExcept] = args;
18
+ chai_1.assert.lengthOf(args, 2);
19
+ chai_1.assert.equal(loadExtension, `--load-extension=${constants_1.PATH_TO_EXTENSION}`);
20
+ chai_1.assert.equal(disableExtensionsExcept, `--disable-extensions-except=${constants_1.PATH_TO_EXTENSION}`);
21
+ });
22
+ });
23
+ describe('and `disableOtherExtensions` is false', () => {
24
+ it('only returns the `--load-extension` flag', () => {
25
+ const args = (0, mergeChromeArgs_1.default)([], {
26
+ disableOtherExtensions: false
27
+ });
28
+ const [loadExtension] = args;
29
+ chai_1.assert.lengthOf(args, 1);
30
+ chai_1.assert.equal(loadExtension, `--load-extension=${constants_1.PATH_TO_EXTENSION}`);
31
+ });
32
+ });
33
+ });
34
+ describe('given the user has provided args', () => {
35
+ describe('when the user has not provided extension flags', () => {
36
+ describe('when `disableOtherExtensions` is true', () => {
37
+ describe('and the user args and not prefixed with `--`', () => {
38
+ it('does not modify the user provided args and appends the extension flags', () => {
39
+ const args = (0, mergeChromeArgs_1.default)(['foo=bar', 'baz=qux,quz', 'quux'], {
40
+ disableOtherExtensions: true
41
+ });
42
+ const [foo, baz, quux, loadExtension, disableExtensionsExcept] = args;
43
+ chai_1.assert.lengthOf(args, 5);
44
+ chai_1.assert.equal(foo, 'foo=bar');
45
+ chai_1.assert.equal(baz, 'baz=qux,quz');
46
+ chai_1.assert.equal(quux, 'quux');
47
+ chai_1.assert.equal(loadExtension, `--load-extension=${constants_1.PATH_TO_EXTENSION}`);
48
+ chai_1.assert.equal(disableExtensionsExcept, `--disable-extensions-except=${constants_1.PATH_TO_EXTENSION}`);
49
+ });
50
+ describe('and the user adds multiple instances of the same flag', () => {
51
+ it('does not modify the user provided args and appends the extension flags', () => {
52
+ const args = (0, mergeChromeArgs_1.default)(['foo=bar', 'foo=baz'], {
53
+ disableOtherExtensions: true
54
+ });
55
+ const [foo1, foo2, loadExtension, disableExtensionsExcept] = args;
56
+ chai_1.assert.lengthOf(args, 4);
57
+ chai_1.assert.equal(foo1, 'foo=bar');
58
+ chai_1.assert.equal(foo2, 'foo=baz');
59
+ chai_1.assert.equal(loadExtension, `--load-extension=${constants_1.PATH_TO_EXTENSION}`);
60
+ chai_1.assert.equal(disableExtensionsExcept, `--disable-extensions-except=${constants_1.PATH_TO_EXTENSION}`);
61
+ });
62
+ describe('and some values are comma-separated', () => {
63
+ it('does not modify the user provided args and appends the extension flags', () => {
64
+ const args = (0, mergeChromeArgs_1.default)(['foo=bar', 'foo=baz,qux'], {
65
+ disableOtherExtensions: true
66
+ });
67
+ const [foo1, foo2, loadExtension, disableExtensionsExcept] = args;
68
+ chai_1.assert.lengthOf(args, 4);
69
+ chai_1.assert.equal(foo1, 'foo=bar');
70
+ chai_1.assert.equal(foo2, 'foo=baz,qux');
71
+ chai_1.assert.equal(loadExtension, `--load-extension=${constants_1.PATH_TO_EXTENSION}`);
72
+ chai_1.assert.equal(disableExtensionsExcept, `--disable-extensions-except=${constants_1.PATH_TO_EXTENSION}`);
73
+ });
74
+ });
75
+ });
76
+ });
77
+ });
78
+ describe('and `disableOtherExtensions` is false', () => {
79
+ it('does not modify the user provided args and appends the extension flags', () => {
80
+ const args = (0, mergeChromeArgs_1.default)(['foo=bar', 'baz=qux,quz', 'quux'], {
81
+ disableOtherExtensions: false
82
+ });
83
+ const [foo, baz, quux, loadExtension] = args;
84
+ chai_1.assert.lengthOf(args, 4);
85
+ chai_1.assert.equal(foo, 'foo=bar');
86
+ chai_1.assert.equal(baz, 'baz=qux,quz');
87
+ chai_1.assert.equal(quux, 'quux');
88
+ chai_1.assert.equal(loadExtension, `--load-extension=${constants_1.PATH_TO_EXTENSION}`);
89
+ });
90
+ describe('and the user adds multiple instances of the same flag', () => {
91
+ it('does not modify the user provided args and appends the extension flags', () => {
92
+ const args = (0, mergeChromeArgs_1.default)(['foo=bar', 'foo=baz'], {
93
+ disableOtherExtensions: false
94
+ });
95
+ chai_1.assert.lengthOf(args, 3);
96
+ const [foo1, foo2, loadExtension] = args;
97
+ chai_1.assert.equal(foo1, 'foo=bar');
98
+ chai_1.assert.equal(foo2, 'foo=baz');
99
+ chai_1.assert.equal(loadExtension, `--load-extension=${constants_1.PATH_TO_EXTENSION}`);
100
+ });
101
+ describe('and some values are comma-separated', () => {
102
+ it('does not modify the user provided args and appends the extension flags', () => {
103
+ const args = (0, mergeChromeArgs_1.default)(['foo=bar', 'foo=baz,qux'], {
104
+ disableOtherExtensions: false
105
+ });
106
+ chai_1.assert.lengthOf(args, 3);
107
+ const [foo1, foo2, loadExtension] = args;
108
+ chai_1.assert.equal(foo1, 'foo=bar');
109
+ chai_1.assert.equal(foo2, 'foo=baz,qux');
110
+ chai_1.assert.equal(loadExtension, `--load-extension=${constants_1.PATH_TO_EXTENSION}`);
111
+ });
112
+ });
113
+ });
114
+ });
115
+ });
116
+ describe('when the user has provided extension flags', () => {
117
+ describe('when `disableOtherExtensions` is true', () => {
118
+ describe('and the user extension flags are not prefixed with `--`', () => {
119
+ it('does not modify the user provided args and appends the extension flags', () => {
120
+ const args = (0, mergeChromeArgs_1.default)(['foo=bar', 'baz=qux,quz', 'quux', 'load-extension=foo'], {
121
+ disableOtherExtensions: true
122
+ });
123
+ const [foo, baz, quux, loadExtension, disableExtensionsExcept] = args;
124
+ chai_1.assert.lengthOf(args, 5);
125
+ chai_1.assert.equal(foo, 'foo=bar');
126
+ chai_1.assert.equal(baz, 'baz=qux,quz');
127
+ chai_1.assert.equal(quux, 'quux');
128
+ chai_1.assert.equal(loadExtension, `load-extension=foo,${constants_1.PATH_TO_EXTENSION}`);
129
+ chai_1.assert.equal(disableExtensionsExcept, `--disable-extensions-except=${constants_1.PATH_TO_EXTENSION}`);
130
+ });
131
+ describe('and the user adds multiple instances of the same flag', () => {
132
+ it('does not modify the user provided args and appends the extension flags', () => {
133
+ const args = (0, mergeChromeArgs_1.default)(['foo=bar', 'load-extension=baz', 'load-extension=qux'], {
134
+ disableOtherExtensions: true
135
+ });
136
+ const [foo, loadExtension1, loadExtension2, disableExtensionsExcept] = args;
137
+ chai_1.assert.lengthOf(args, 4);
138
+ chai_1.assert.equal(foo, 'foo=bar');
139
+ chai_1.assert.equal(loadExtension1, 'load-extension=baz');
140
+ // We append onto the last occurrence of the flag
141
+ chai_1.assert.equal(loadExtension2, `load-extension=qux,${constants_1.PATH_TO_EXTENSION}`);
142
+ chai_1.assert.equal(disableExtensionsExcept, `--disable-extensions-except=${constants_1.PATH_TO_EXTENSION}`);
143
+ });
144
+ describe('and some values are comma-separated', () => {
145
+ it('does not modify the user provided args and appends the extension flags', () => {
146
+ const args = (0, mergeChromeArgs_1.default)([
147
+ 'foo=bar',
148
+ 'foo=baz,qux',
149
+ 'load-extension=foo',
150
+ 'disable-extensions-except=quz,quux'
151
+ ], {
152
+ disableOtherExtensions: true
153
+ });
154
+ const [foo1, foo2, loadExtension, disableExtensionsExcept] = args;
155
+ chai_1.assert.lengthOf(args, 4);
156
+ chai_1.assert.equal(foo1, 'foo=bar');
157
+ chai_1.assert.equal(foo2, 'foo=baz,qux');
158
+ chai_1.assert.equal(loadExtension, `load-extension=foo,${constants_1.PATH_TO_EXTENSION}`);
159
+ chai_1.assert.equal(disableExtensionsExcept, `disable-extensions-except=quz,quux,${constants_1.PATH_TO_EXTENSION}`);
160
+ });
161
+ });
162
+ });
163
+ });
164
+ });
165
+ describe('and `disableOtherExtensions` is false', () => {
166
+ it('does not modify the user provided args and appends the extension flags', () => {
167
+ const args = (0, mergeChromeArgs_1.default)(['foo=bar', 'baz=qux,quz', 'quux', 'load-extension=foo'], {
168
+ disableOtherExtensions: false
169
+ });
170
+ const [foo, baz, quux, loadExtension] = args;
171
+ chai_1.assert.lengthOf(args, 4);
172
+ chai_1.assert.equal(foo, 'foo=bar');
173
+ chai_1.assert.equal(baz, 'baz=qux,quz');
174
+ chai_1.assert.equal(quux, 'quux');
175
+ chai_1.assert.equal(loadExtension, `load-extension=foo,${constants_1.PATH_TO_EXTENSION}`);
176
+ });
177
+ describe('and the user adds multiple instances of the same flag', () => {
178
+ it('does not modify the user provided args and appends the extension flags', () => {
179
+ const args = (0, mergeChromeArgs_1.default)(['foo=bar', 'load-extension=baz', 'load-extension=qux'], {
180
+ disableOtherExtensions: false
181
+ });
182
+ const [foo, loadExtension1, loadExtension2] = args;
183
+ chai_1.assert.lengthOf(args, 3);
184
+ chai_1.assert.equal(foo, 'foo=bar');
185
+ chai_1.assert.equal(loadExtension1, 'load-extension=baz');
186
+ // We append onto the last occurrence of the flag
187
+ chai_1.assert.equal(loadExtension2, `load-extension=qux,${constants_1.PATH_TO_EXTENSION}`);
188
+ });
189
+ describe('and some values are comma-separated', () => {
190
+ it('does not modify the user provided args and appends the extension flags', () => {
191
+ const args = (0, mergeChromeArgs_1.default)(['foo=bar', 'foo=baz,qux', 'load-extension=foo,quz,quux'], {
192
+ disableOtherExtensions: false
193
+ });
194
+ const [foo1, foo2, loadExtension] = args;
195
+ chai_1.assert.lengthOf(args, 3);
196
+ chai_1.assert.equal(foo1, 'foo=bar');
197
+ chai_1.assert.equal(foo2, 'foo=baz,qux');
198
+ chai_1.assert.equal(loadExtension, `load-extension=foo,quz,quux,${constants_1.PATH_TO_EXTENSION}`);
199
+ });
200
+ });
201
+ });
202
+ describe('and the user explicity sets the `--disable-extensions-except` flag', () => {
203
+ it('does not modify the user provided args and appends the extension flags', () => {
204
+ const args = (0, mergeChromeArgs_1.default)([
205
+ 'foo=bar',
206
+ 'baz=qux,quz',
207
+ 'quux',
208
+ 'disable-extensions-except=foo'
209
+ ], {
210
+ disableOtherExtensions: false
211
+ });
212
+ const [foo, baz, quux, disableExtensionsExcept, loadExtension] = args;
213
+ chai_1.assert.lengthOf(args, 5);
214
+ chai_1.assert.equal(foo, 'foo=bar');
215
+ chai_1.assert.equal(baz, 'baz=qux,quz');
216
+ chai_1.assert.equal(quux, 'quux');
217
+ chai_1.assert.equal(disableExtensionsExcept, `disable-extensions-except=foo,${constants_1.PATH_TO_EXTENSION}`);
218
+ chai_1.assert.equal(loadExtension, `--load-extension=${constants_1.PATH_TO_EXTENSION}`);
219
+ });
220
+ describe('and the user adds multiple instances of the same flag', () => {
221
+ it('does not modify the user provided args and appends the extension flags', () => {
222
+ const args = (0, mergeChromeArgs_1.default)([
223
+ 'foo=bar',
224
+ 'disable-extensions-except=baz',
225
+ '--disable-extensions-except=qux'
226
+ ], {
227
+ disableOtherExtensions: false
228
+ });
229
+ const [foo, disableExtensionsExcept1, disableExtensionsExcept2, loadExtension] = args;
230
+ chai_1.assert.lengthOf(args, 4);
231
+ chai_1.assert.equal(foo, 'foo=bar');
232
+ chai_1.assert.equal(disableExtensionsExcept1, 'disable-extensions-except=baz');
233
+ // We append onto the last occurrence of the flag
234
+ chai_1.assert.equal(disableExtensionsExcept2, `--disable-extensions-except=qux,${constants_1.PATH_TO_EXTENSION}`);
235
+ chai_1.assert.equal(loadExtension, `--load-extension=${constants_1.PATH_TO_EXTENSION}`);
236
+ });
237
+ describe('and some values are comma-separated', () => {
238
+ it('does not modify the user provided args and appends the extension flags', () => {
239
+ const args = (0, mergeChromeArgs_1.default)([
240
+ 'foo=bar',
241
+ 'foo=baz,qux',
242
+ 'disable-extensions-except=foo,quz,quux'
243
+ ], {
244
+ disableOtherExtensions: false
245
+ });
246
+ const [foo1, foo2, disableExtensionsExcept, loadExtension] = args;
247
+ chai_1.assert.lengthOf(args, 4);
248
+ chai_1.assert.equal(foo1, 'foo=bar');
249
+ chai_1.assert.equal(foo2, 'foo=baz,qux');
250
+ chai_1.assert.equal(disableExtensionsExcept, `disable-extensions-except=foo,quz,quux,${constants_1.PATH_TO_EXTENSION}`);
251
+ chai_1.assert.equal(loadExtension, `--load-extension=${constants_1.PATH_TO_EXTENSION}`);
252
+ });
253
+ });
254
+ });
255
+ });
256
+ });
257
+ });
258
+ });
259
+ });
260
+ //# sourceMappingURL=mergeChromeArgs.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeChromeArgs.test.js","sourceRoot":"","sources":["../../src/utils/mergeChromeArgs.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type Controller from '../Controller';
2
+ declare const kWrapped: unique symbol;
3
+ export type PossiblyWrapped<T> = T & {
4
+ [kWrapped]?: boolean;
5
+ };
6
+ /** Is the given object wrapped? */
7
+ export declare const isWrapped: <T>(o: PossiblyWrapped<T> | null) => boolean;
8
+ /** Mark the given object as wrapped. */
9
+ export declare const markAsWrapped: (o: unknown) => void;
10
+ export declare const proxiedGetFuncWithAnalyze: <T>(target: T, prop: keyof T, controller: Controller) => (...args: unknown[]) => Promise<unknown>;
11
+ export declare const proxiedGetWithoutAnalyze: <T>(target: T, prop: keyof T) => unknown;
12
+ export {};
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.proxiedGetWithoutAnalyze = exports.proxiedGetFuncWithAnalyze = exports.markAsWrapped = exports.isWrapped = void 0;
4
+ const kWrapped = Symbol('axe watcher wrapped');
5
+ /** Is the given object wrapped? */
6
+ const isWrapped = (o) => {
7
+ if (!o) {
8
+ return false;
9
+ }
10
+ return o[kWrapped] === true;
11
+ };
12
+ exports.isWrapped = isWrapped;
13
+ /** Mark the given object as wrapped. */
14
+ const markAsWrapped = (o) => {
15
+ Object.defineProperty(o, kWrapped, {
16
+ configurable: false,
17
+ enumerable: false,
18
+ value: true
19
+ });
20
+ };
21
+ exports.markAsWrapped = markAsWrapped;
22
+ const proxiedGetFuncWithAnalyze = (target, prop, controller) => async (...args) => {
23
+ await controller.analyze({
24
+ __Method: prop,
25
+ __UserRequestedAnalyze: false
26
+ });
27
+ // We use .call(target, ...) for the same reason that
28
+ // proxiedGetWithoutAnalyze uses .bind(target), see below.
29
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
30
+ const result = await target[prop].call(target, ...args);
31
+ return result;
32
+ };
33
+ exports.proxiedGetFuncWithAnalyze = proxiedGetFuncWithAnalyze;
34
+ const proxiedGetWithoutAnalyze = (target, prop) => {
35
+ const original = target[prop];
36
+ if (typeof original === 'function') {
37
+ // Override the proxied function with the original function bound to the target.
38
+ // This allows the "this" context to mimic the original object, rather than the proxy.
39
+ // Doing it this way still satisfies if:
40
+ // 1. The original function uses a private field of the target,
41
+ // it will throw an error if we try to call it in the context of
42
+ // a proxy rather than the original object. See #1052.
43
+ // 2. The original function is implemented in terms of a different
44
+ // method which we *do* wrap, we *don't* want to hook that inner
45
+ // call with an analyze(); we want to be intentional about the
46
+ // specific user-facing methods that we hook.
47
+ const originalFnName = original.name;
48
+ const boundNameOverride = {
49
+ // ends up identical to the original; JavaScript names anonymous functions
50
+ // in objects after the key they're bound to.
51
+ // @see https://github.com/dequelabs/jazzband/issues/1107
52
+ // @see https://stackoverflow.com/a/41854075
53
+ [originalFnName]: function (...args) {
54
+ return original.call(target, ...args);
55
+ }
56
+ };
57
+ return boundNameOverride[originalFnName];
58
+ }
59
+ return original;
60
+ };
61
+ exports.proxiedGetWithoutAnalyze = proxiedGetWithoutAnalyze;
62
+ //# sourceMappingURL=proxyHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxyHandlers.js","sourceRoot":"","sources":["../../src/utils/proxyHandlers.ts"],"names":[],"mappings":";;;AAEA,MAAM,QAAQ,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAA;AAM9C,mCAAmC;AAC5B,MAAM,SAAS,GAAG,CAAI,CAA4B,EAAW,EAAE;IACpE,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAA;AAC7B,CAAC,CAAA;AALY,QAAA,SAAS,aAKrB;AAED,wCAAwC;AACjC,MAAM,aAAa,GAAG,CAAC,CAAU,EAAQ,EAAE;IAChD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE;QACjC,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,IAAI;KACZ,CAAC,CAAA;AACJ,CAAC,CAAA;AANY,QAAA,aAAa,iBAMzB;AAEM,MAAM,yBAAyB,GACpC,CAAI,MAAS,EAAE,IAAa,EAAE,UAAsB,EAAE,EAAE,CACxD,KAAK,EAAE,GAAG,IAAe,EAAoB,EAAE;IAC7C,MAAM,UAAU,CAAC,OAAO,CAAC;QACvB,QAAQ,EAAE,IAAc;QACxB,sBAAsB,EAAE,KAAK;KAC9B,CAAC,CAAA;IACF,qDAAqD;IACrD,0DAA0D;IAC1D,sEAAsE;IACtE,MAAM,MAAM,GAAG,MAAO,MAAM,CAAC,IAAI,CAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;IACrE,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAZU,QAAA,yBAAyB,6BAYnC;AAEI,MAAM,wBAAwB,GAAG,CACtC,MAAS,EACT,IAAa,EACJ,EAAE;IACX,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAE7B,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,gFAAgF;QAChF,sFAAsF;QACtF,wCAAwC;QACxC,+DAA+D;QAC/D,mEAAmE;QACnE,yDAAyD;QACzD,kEAAkE;QAClE,mEAAmE;QACnE,iEAAiE;QACjE,gDAAgD;QAChD,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAA;QACpC,MAAM,iBAAiB,GAAG;YACxB,0EAA0E;YAC1E,6CAA6C;YAC7C,yDAAyD;YACzD,4CAA4C;YAC5C,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,IAAe;gBAC5C,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;YACvC,CAAC;SACF,CAAA;QAED,OAAO,iBAAiB,CAAC,cAAc,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAhCY,QAAA,wBAAwB,4BAgCpC"}
@@ -0,0 +1 @@
1
+ import 'mocha';
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("mocha");
4
+ const chai_1 = require("chai");
5
+ const proxyHandlers_1 = require("./proxyHandlers");
6
+ // Regression test for https://github.com/dequelabs/jazzband/issues/1107
7
+ describe('proxiedGetWithoutAnalyze', () => {
8
+ it('should ensure proxied function names match originals', () => {
9
+ class Original {
10
+ constructor() {
11
+ this.arrowFn = () => 'hello';
12
+ }
13
+ method() {
14
+ return 'world';
15
+ }
16
+ }
17
+ const original = new Original();
18
+ const proxied = new Proxy(original, {
19
+ get(target, prop) {
20
+ return (0, proxyHandlers_1.proxiedGetWithoutAnalyze)(target, prop);
21
+ }
22
+ });
23
+ chai_1.assert.equal(proxied.arrowFn.name, original.arrowFn.name);
24
+ chai_1.assert.equal(proxied.method.name, original.method.name);
25
+ chai_1.assert.equal(proxied.constructor.name, original.constructor.name);
26
+ });
27
+ });
28
+ //# sourceMappingURL=proxyHandlers.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxyHandlers.test.js","sourceRoot":"","sources":["../../src/utils/proxyHandlers.test.ts"],"names":[],"mappings":";;AAAA,iBAAc;AACd,+BAA6B;AAC7B,mDAA0D;AAE1D,wEAAwE;AACxE,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,QAAQ;YAAd;gBACE,YAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAA;YAIzB,CAAC;YAHC,MAAM;gBACJ,OAAO,OAAO,CAAA;YAChB,CAAC;SACF;QACD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;QAC/B,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClC,GAAG,CAAC,MAAM,EAAE,IAAoB;gBAC9B,OAAO,IAAA,wCAAwB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAC/C,CAAC;SACF,CAAC,CAAA;QACF,aAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACzD,aAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACvD,aAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { Variables } from './writeVariables';
2
+ /**
3
+ * Read the `variables` JSON file from the @axe-core/watcher extension.
4
+ * @returns The variables stored in the extension variables file.
5
+ */
6
+ declare function readVariables(): Variables;
7
+ export default readVariables;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_1 = __importDefault(require("fs"));
7
+ const constants_1 = require("./constants");
8
+ /**
9
+ * Read the `variables` JSON file from the @axe-core/watcher extension.
10
+ * @returns The variables stored in the extension variables file.
11
+ */
12
+ function readVariables() {
13
+ const fileContents = fs_1.default.readFileSync(constants_1.PATH_TO_EXTENSION_VARIABLES, 'utf-8');
14
+ return JSON.parse(fileContents);
15
+ }
16
+ exports.default = readVariables;
17
+ //# sourceMappingURL=readVariables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readVariables.js","sourceRoot":"","sources":["../../src/utils/readVariables.ts"],"names":[],"mappings":";;;;;AAAA,4CAAmB;AACnB,2CAAyD;AAGzD;;;GAGG;AAEH,SAAS,aAAa;IACpB,MAAM,YAAY,GAAG,YAAE,CAAC,YAAY,CAAC,uCAA2B,EAAE,OAAO,CAAC,CAAA;IAC1E,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;AACjC,CAAC;AAED,kBAAe,aAAa,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Update the `auto_analyze` variable in the @axe-core/watcher extension variables file.
3
+ *
4
+ * @param val The new value for the auto_analyze variable.
5
+ */
6
+ declare function updateAutoAnalyze(val: boolean): void;
7
+ export default updateAutoAnalyze;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_1 = __importDefault(require("fs"));
7
+ const constants_1 = require("./constants");
8
+ const readVariables_1 = __importDefault(require("./readVariables"));
9
+ /**
10
+ * Update the `auto_analyze` variable in the @axe-core/watcher extension variables file.
11
+ *
12
+ * @param val The new value for the auto_analyze variable.
13
+ */
14
+ function updateAutoAnalyze(val) {
15
+ const variables = (0, readVariables_1.default)();
16
+ variables.auto_analyze = val;
17
+ fs_1.default.writeFileSync(constants_1.PATH_TO_EXTENSION_VARIABLES, JSON.stringify(variables));
18
+ }
19
+ exports.default = updateAutoAnalyze;
20
+ //# sourceMappingURL=updateAutoAnalyze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateAutoAnalyze.js","sourceRoot":"","sources":["../../src/utils/updateAutoAnalyze.ts"],"names":[],"mappings":";;;;;AAAA,4CAAmB;AACnB,2CAAyD;AACzD,oEAA2C;AAE3C;;;;GAIG;AAEH,SAAS,iBAAiB,CAAC,GAAY;IACrC,MAAM,SAAS,GAAG,IAAA,uBAAa,GAAE,CAAA;IACjC,SAAS,CAAC,YAAY,GAAG,GAAG,CAAA;IAC5B,YAAE,CAAC,aAAa,CAAC,uCAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED,kBAAe,iBAAiB,CAAA"}
@@ -0,0 +1,7 @@
1
+ interface WriteManifestParams {
2
+ all_frames: boolean;
3
+ exclude_globs: string[];
4
+ }
5
+ /** Update the extension manifest file. */
6
+ declare function writeManifest({ all_frames, exclude_globs }: WriteManifestParams): void;
7
+ export default writeManifest;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const path_1 = __importDefault(require("path"));
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const constants_1 = require("./constants");
9
+ /** Update the extension manifest file. */
10
+ function writeManifest({ all_frames, exclude_globs }) {
11
+ const manifestPath = path_1.default.join(constants_1.PATH_TO_EXTENSION, 'manifest.json');
12
+ const manifest = JSON.parse(fs_1.default.readFileSync(manifestPath, 'utf-8'));
13
+ manifest.content_scripts[0].all_frames = all_frames;
14
+ manifest.content_scripts[0].exclude_globs = exclude_globs;
15
+ fs_1.default.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2));
16
+ }
17
+ exports.default = writeManifest;
18
+ //# sourceMappingURL=writeExtensionManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeExtensionManifest.js","sourceRoot":"","sources":["../../src/utils/writeExtensionManifest.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,4CAAmB;AACnB,2CAA+C;AAO/C,0CAA0C;AAC1C,SAAS,aAAa,CAAC,EACrB,UAAU,EACV,aAAa,EACO;IACpB,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,6BAAiB,EAAE,eAAe,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;IACnE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAA;IACnD,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,aAAa,CAAA;IACzD,YAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AACnE,CAAC;AAED,kBAAe,aAAa,CAAA"}
@@ -0,0 +1,88 @@
1
+ import type axe from 'axe-core';
2
+ import { type RunOptions } from './validateAxeRunOptions';
3
+ export interface GitData {
4
+ git_branch?: string | null;
5
+ git_tag?: string | null;
6
+ git_default_branch?: string | null;
7
+ git_commit_message?: string | null;
8
+ git_commit_sha?: string | null;
9
+ git_commit_author?: string | null;
10
+ git_commit_email?: string | null;
11
+ git_url?: string | null;
12
+ git_is_dirty?: boolean;
13
+ }
14
+ interface AxeConfiguration {
15
+ /** Your axe API key. */
16
+ apiKey: string;
17
+ /** Custom axe server URL. */
18
+ serverURL?: string;
19
+ /** @deprecated Please use `buildID` instead */
20
+ sessionId?: string;
21
+ /**
22
+ * Whether or not to automatically run axe on the page when loaded and
23
+ * when changes are made.
24
+ */
25
+ autoAnalyze?: boolean;
26
+ /**
27
+ * By default we'll scan the entire page. Provide a context object to limit
28
+ * the scope of the scan.
29
+ *
30
+ * @see https://www.deque.com/axe/core-documentation/api-documentation/#context-parameter
31
+ */
32
+ runContext?: axe.ElementContext;
33
+ /**
34
+ * Provide options on how to run axe.
35
+ * - `rules`: Enable or disable rules using the enabled property
36
+ * - `runOnly`: Limit which rules are executed, based on names or tags
37
+ * - `ancestry`: Return CSS selector for elements, with all the element's ancestors
38
+ *
39
+ * @see https://www.deque.com/axe/core-documentation/api-documentation/#options-parameter
40
+ */
41
+ runOptions?: RunOptions;
42
+ /**
43
+ * Exclude URLs from being scanned by axe-core/watcher by providing an array of minimatch patterns.
44
+ *
45
+ * @example
46
+ * ```js
47
+ * excludeUrlPatterns: ['example.com', 'example.org']
48
+ * excludeUrlPatterns: ['example.com/*', 'example.org/*']
49
+ * ```
50
+ */
51
+ excludeUrlPatterns?: string[];
52
+ /**
53
+ * A unique identifier for the build or test run. This is useful for:
54
+ *
55
+ * - Grouping `@axe-core/watcher` runs across multiple workers running in parallel
56
+ * - Grouping `@axe-core/watcher` runs across multiple axe Developer Hub projects
57
+ *
58
+ * @example
59
+ * ```js
60
+ * buildID: ${ process.env.GITHUB.RUN_ID }
61
+ * buildID: ${ process.env.CIRCLE_PIPELINE_ID }
62
+ *```
63
+ */
64
+ buildID?: string;
65
+ }
66
+ export interface Configuration {
67
+ axe: AxeConfiguration;
68
+ }
69
+ interface WriteVariablesParams extends AxeConfiguration {
70
+ cypress?: boolean;
71
+ }
72
+ /** variables.json shape. */
73
+ export interface Variables {
74
+ api_key: string;
75
+ server_url: string;
76
+ auto_analyze: boolean;
77
+ cypress: boolean;
78
+ session_id?: string;
79
+ run_context: axe.ElementContext | null;
80
+ run_options: RunOptions | null;
81
+ git_data?: GitData;
82
+ take_screenshots?: boolean;
83
+ experimental_advanced_rules?: boolean;
84
+ exclude_url_patterns: string[] | null;
85
+ }
86
+ /** Write the user's settings to the disk, so the extension can load them. */
87
+ declare function writeVariables({ apiKey, autoAnalyze, cypress, serverURL, sessionId, runContext, runOptions, takeScreenshots, experimentalAdvancedRules, excludeUrlPatterns, buildID }: WriteVariablesParams): void;
88
+ export default writeVariables;