@axe-core/watcher 3.11.1 → 3.12.0-next.121bbe5f
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/Controller.d.ts +9 -1
- package/dist/Controller.js +24 -10
- package/dist/Controller.js.map +1 -1
- package/dist/createDebugger.d.ts +9 -0
- package/dist/createDebugger.js +27 -0
- package/dist/createDebugger.js.map +1 -0
- package/dist/cypress.d.ts +1 -1
- package/dist/cypress.js +27 -7
- package/dist/cypress.js.map +1 -1
- package/dist/cypressCommands.d.ts +3 -1
- package/dist/cypressCommands.js +78 -39
- package/dist/cypressCommands.js.map +1 -1
- package/dist/git.d.ts +2 -1
- package/dist/git.js +5 -4
- package/dist/git.js.map +1 -1
- package/dist/playwright.d.ts +1 -1
- package/dist/playwright.js +9 -7
- package/dist/playwright.js.map +1 -1
- package/dist/playwrightTest.js +8 -4
- package/dist/playwrightTest.js.map +1 -1
- package/dist/playwrightWrapping.d.ts +1 -1
- package/dist/playwrightWrapping.js +41 -41
- package/dist/playwrightWrapping.js.map +1 -1
- package/dist/puppeteer.d.ts +1 -1
- package/dist/puppeteer.js +10 -8
- package/dist/puppeteer.js.map +1 -1
- package/dist/puppeteerWrapping.d.ts +3 -2
- package/dist/puppeteerWrapping.js +100 -42
- package/dist/puppeteerWrapping.js.map +1 -1
- package/dist/sendResultsToServer.d.ts +9 -2
- package/dist/sendResultsToServer.js +25 -43
- package/dist/sendResultsToServer.js.map +1 -1
- package/dist/utils/constants.d.ts +4 -0
- package/dist/utils/constants.js +16 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/headlessNotSupportedError.d.ts +5 -0
- package/dist/utils/headlessNotSupportedError.js +17 -0
- package/dist/utils/headlessNotSupportedError.js.map +1 -0
- package/dist/utils/headlessNotSupportedError.test.d.ts +1 -0
- package/dist/utils/headlessNotSupportedError.test.js +21 -0
- package/dist/utils/headlessNotSupportedError.test.js.map +1 -0
- package/dist/utils/isValidExcludePattern.d.ts +2 -0
- package/dist/utils/isValidExcludePattern.js +10 -0
- package/dist/utils/isValidExcludePattern.js.map +1 -0
- package/dist/utils/isValidExcludePattern.test.d.ts +1 -0
- package/dist/utils/isValidExcludePattern.test.js +17 -0
- package/dist/utils/isValidExcludePattern.test.js.map +1 -0
- package/dist/utils/mergeChromeArgs.d.ts +12 -0
- package/dist/utils/mergeChromeArgs.js +73 -0
- package/dist/utils/mergeChromeArgs.js.map +1 -0
- package/dist/utils/mergeChromeArgs.test.d.ts +1 -0
- package/dist/utils/mergeChromeArgs.test.js +260 -0
- package/dist/utils/mergeChromeArgs.test.js.map +1 -0
- package/dist/utils/proxyHandlers.d.ts +12 -0
- package/dist/utils/proxyHandlers.js +62 -0
- package/dist/utils/proxyHandlers.js.map +1 -0
- package/dist/utils/proxyHandlers.test.d.ts +1 -0
- package/dist/utils/proxyHandlers.test.js +28 -0
- package/dist/utils/proxyHandlers.test.js.map +1 -0
- package/dist/utils/readVariables.d.ts +7 -0
- package/dist/utils/readVariables.js +17 -0
- package/dist/utils/readVariables.js.map +1 -0
- package/dist/utils/updateAutoAnalyze.d.ts +7 -0
- package/dist/utils/updateAutoAnalyze.js +20 -0
- package/dist/utils/updateAutoAnalyze.js.map +1 -0
- package/dist/utils/validateApiKey.d.ts +7 -0
- package/dist/utils/validateApiKey.js +34 -0
- package/dist/utils/validateApiKey.js.map +1 -0
- package/dist/utils/validateApiKey.test.d.ts +1 -0
- package/dist/utils/validateApiKey.test.js +66 -0
- package/dist/utils/validateApiKey.test.js.map +1 -0
- package/dist/utils/validateAxeRunContext.d.ts +2 -0
- package/dist/utils/validateAxeRunContext.js +59 -0
- package/dist/utils/validateAxeRunContext.js.map +1 -0
- package/dist/utils/validateAxeRunContext.test.d.ts +1 -0
- package/dist/utils/validateAxeRunContext.test.js +100 -0
- package/dist/utils/validateAxeRunContext.test.js.map +1 -0
- package/dist/utils/validateAxeRunOptions.d.ts +13 -0
- package/dist/utils/validateAxeRunOptions.js +161 -0
- package/dist/utils/validateAxeRunOptions.js.map +1 -0
- package/dist/utils/validateAxeRunOptions.test.d.ts +1 -0
- package/dist/utils/validateAxeRunOptions.test.js +230 -0
- package/dist/utils/validateAxeRunOptions.test.js.map +1 -0
- package/dist/utils/writeExtensionManifest.d.ts +7 -0
- package/dist/utils/writeExtensionManifest.js +18 -0
- package/dist/utils/writeExtensionManifest.js.map +1 -0
- package/dist/utils/writeVariables.d.ts +77 -0
- package/dist/utils/writeVariables.js +124 -0
- package/dist/utils/writeVariables.js.map +1 -0
- package/dist/utils/writeVariables.test.d.ts +1 -0
- package/dist/utils/writeVariables.test.js +220 -0
- package/dist/utils/writeVariables.test.js.map +1 -0
- package/dist/wdio.d.ts +1 -1
- package/dist/wdio.js +18 -13
- package/dist/wdio.js.map +1 -1
- package/dist/webdriver.d.ts +1 -1
- package/dist/webdriver.js +10 -8
- package/dist/webdriver.js.map +1 -1
- package/dist/webdriverWrapping.d.ts +1 -1
- package/dist/webdriverWrapping.js +16 -16
- package/dist/webdriverWrapping.js.map +1 -1
- package/extension/axe.js +2 -0
- package/extension/axe.js.LICENSE.txt +11 -0
- package/extension/background.js +1 -1
- package/extension/content.js +1 -1
- package/extension/content.js.LICENSE.txt +0 -12
- package/extension/manifest.json +1 -1
- package/package.json +10 -7
- package/dist/util.d.ts +0 -76
- package/dist/util.js +0 -235
- package/dist/util.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isValidExcludePattern.js","sourceRoot":"","sources":["../../src/utils/isValidExcludePattern.ts"],"names":[],"mappings":";;AAAA,MAAM,qBAAqB,GAAG,CAAC,OAAkB,EAAQ,EAAE;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAA;IAEzD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,4BAA4B,OAAO,sDAAsD,CAC1F,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAED,kBAAe,qBAAqB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import 'mocha';
|
|
@@ -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
|
+
require("mocha");
|
|
7
|
+
const chai_1 = require("chai");
|
|
8
|
+
const isValidExcludePattern_1 = __importDefault(require("./isValidExcludePattern"));
|
|
9
|
+
describe('isValidExcludePattern', () => {
|
|
10
|
+
it('returns true for valid exclude patterns', () => {
|
|
11
|
+
chai_1.assert.doesNotThrow(() => (0, isValidExcludePattern_1.default)(['foo', 'bar']));
|
|
12
|
+
});
|
|
13
|
+
it('returns false for invalid exclude patterns', () => {
|
|
14
|
+
chai_1.assert.throws(() => (0, isValidExcludePattern_1.default)(['foo', 'bar', 1]));
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=isValidExcludePattern.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isValidExcludePattern.test.js","sourceRoot":"","sources":["../../src/utils/isValidExcludePattern.test.ts"],"names":[],"mappings":";;;;;AAAA,iBAAc;AACd,+BAA6B;AAC7B,oFAA2D;AAE3D,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,aAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAA,+BAAqB,EAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,aAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,+BAAqB,EAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A helper function to merge the user provided arguments with the extension args
|
|
3
|
+
* for Chrome.
|
|
4
|
+
*
|
|
5
|
+
* @param args The user provided arguments to merge with the extension args.
|
|
6
|
+
* @param disableOtherExtensions Whether to disable other extensions.
|
|
7
|
+
* @returns The merged arguments to pass to Chrome.
|
|
8
|
+
*/
|
|
9
|
+
declare function mergeChromeArgs(userArgs: string[], { disableOtherExtensions }: {
|
|
10
|
+
disableOtherExtensions: boolean;
|
|
11
|
+
}): string[];
|
|
12
|
+
export default mergeChromeArgs;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const constants_1 = require("./constants");
|
|
4
|
+
// Extension flags for Chrome
|
|
5
|
+
const DISABLE_OTHER_EXTENSIONS_FLAG = '--disable-extensions-except';
|
|
6
|
+
const LOAD_EXTENSION_FLAG = '--load-extension';
|
|
7
|
+
/**
|
|
8
|
+
* A helper function to merge the user provided arguments with the extension args
|
|
9
|
+
* for Chrome.
|
|
10
|
+
*
|
|
11
|
+
* @param args The user provided arguments to merge with the extension args.
|
|
12
|
+
* @param disableOtherExtensions Whether to disable other extensions.
|
|
13
|
+
* @returns The merged arguments to pass to Chrome.
|
|
14
|
+
*/
|
|
15
|
+
function mergeChromeArgs(userArgs, { disableOtherExtensions }) {
|
|
16
|
+
/**
|
|
17
|
+
* It's possible for the user to do:
|
|
18
|
+
* `--load-extension=/path/A, --load-extension=/path/B`
|
|
19
|
+
*
|
|
20
|
+
* We only want to append our extension path onto
|
|
21
|
+
* the last occurrence of `--load-extension`.
|
|
22
|
+
*/
|
|
23
|
+
let loadExtensionFlagIndex = -1;
|
|
24
|
+
let disableExtensionsFlagIndex = -1;
|
|
25
|
+
/**
|
|
26
|
+
* We do not want to modify the user's args directly.
|
|
27
|
+
* We only want to modify and merge the extension args
|
|
28
|
+
* with the user's args if they exist.
|
|
29
|
+
*
|
|
30
|
+
* It's possible for some integrations like WebDriverJS
|
|
31
|
+
* to optionally include the `--` prefix in the flag,
|
|
32
|
+
* when we check for the extension flag we need to account for this.
|
|
33
|
+
*/
|
|
34
|
+
for (const [index, arg] of userArgs.entries()) {
|
|
35
|
+
if (arg.includes(LOAD_EXTENSION_FLAG) || arg.includes('load-extension')) {
|
|
36
|
+
loadExtensionFlagIndex = index;
|
|
37
|
+
}
|
|
38
|
+
if (arg.includes(DISABLE_OTHER_EXTENSIONS_FLAG) ||
|
|
39
|
+
arg.includes('disable-extensions-except')) {
|
|
40
|
+
disableExtensionsFlagIndex = index;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// The user has provided a `--load-extension` flag
|
|
44
|
+
// We want to append our extension path to the list of extensions.
|
|
45
|
+
if (loadExtensionFlagIndex !== -1) {
|
|
46
|
+
userArgs[loadExtensionFlagIndex] += `,${constants_1.PATH_TO_EXTENSION}`;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
userArgs.push(`${LOAD_EXTENSION_FLAG}=${constants_1.PATH_TO_EXTENSION}`);
|
|
50
|
+
}
|
|
51
|
+
// If the user has already disabled other extensions, we want to append
|
|
52
|
+
// our extension path to the list of disabled extensions.
|
|
53
|
+
if (disableExtensionsFlagIndex !== -1) {
|
|
54
|
+
userArgs[disableExtensionsFlagIndex] += `,${constants_1.PATH_TO_EXTENSION}`;
|
|
55
|
+
/**
|
|
56
|
+
* Puppeteer and Playwright by default include `--disable-extensions` which
|
|
57
|
+
* disables all extensions. We need to explicitly enable the axe-core/watcher
|
|
58
|
+
* extension.
|
|
59
|
+
*
|
|
60
|
+
* @see https://github.com/GoogleChrome/chrome-launcher/blob/main/docs/chrome-flags-for-tools.md#sources
|
|
61
|
+
*
|
|
62
|
+
* Cypress does not include `--disable-extensions` by default but does include
|
|
63
|
+
* their own extension outside of `--load-extension` so we do not able to disable it
|
|
64
|
+
* when injecting the axe-core/watcher extension.
|
|
65
|
+
*/
|
|
66
|
+
}
|
|
67
|
+
else if (disableOtherExtensions) {
|
|
68
|
+
userArgs.push(`${DISABLE_OTHER_EXTENSIONS_FLAG}=${constants_1.PATH_TO_EXTENSION}`);
|
|
69
|
+
}
|
|
70
|
+
return userArgs;
|
|
71
|
+
}
|
|
72
|
+
exports.default = mergeChromeArgs;
|
|
73
|
+
//# sourceMappingURL=mergeChromeArgs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeChromeArgs.js","sourceRoot":"","sources":["../../src/utils/mergeChromeArgs.ts"],"names":[],"mappings":";;AAAA,2CAA+C;AAE/C,6BAA6B;AAC7B,MAAM,6BAA6B,GAAG,6BAA6B,CAAA;AACnE,MAAM,mBAAmB,GAAG,kBAAkB,CAAA;AAE9C;;;;;;;GAOG;AAEH,SAAS,eAAe,CACtB,QAAkB,EAClB,EACE,sBAAsB,EAGvB;IAED;;;;;;OAMG;IACH,IAAI,sBAAsB,GAAG,CAAC,CAAC,CAAA;IAC/B,IAAI,0BAA0B,GAAG,CAAC,CAAC,CAAA;IAEnC;;;;;;;;OAQG;IACH,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,IAAI,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACxE,sBAAsB,GAAG,KAAK,CAAA;QAChC,CAAC;QAED,IACE,GAAG,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YAC3C,GAAG,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EACzC,CAAC;YACD,0BAA0B,GAAG,KAAK,CAAA;QACpC,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,kEAAkE;IAClE,IAAI,sBAAsB,KAAK,CAAC,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,IAAI,6BAAiB,EAAE,CAAA;IAC7D,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,GAAG,mBAAmB,IAAI,6BAAiB,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,uEAAuE;IACvE,yDAAyD;IACzD,IAAI,0BAA0B,KAAK,CAAC,CAAC,EAAE,CAAC;QACtC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,IAAI,6BAAiB,EAAE,CAAA;QAE/D;;;;;;;;;;WAUG;IACL,CAAC;SAAM,IAAI,sBAAsB,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,GAAG,6BAA6B,IAAI,6BAAiB,EAAE,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,kBAAe,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import 'mocha';
|
|
@@ -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,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 ValidateApiKeyParams {
|
|
2
|
+
apiKey: string;
|
|
3
|
+
serverURL: string;
|
|
4
|
+
}
|
|
5
|
+
/** Validate the given `apiKey`. This method is blocking and should not be called unnecessarily. */
|
|
6
|
+
declare function validateApiKey({ apiKey, serverURL }: ValidateApiKeyParams): void;
|
|
7
|
+
export default validateApiKey;
|