@axe-core/cli 4.7.3 → 4.7.4-2456ed6.0

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 (55) hide show
  1. package/CHANGELOG.md +11 -45
  2. package/package.json +8 -11
  3. package/src/bin/cli.test.ts +32 -1
  4. package/src/bin/cli.ts +4 -0
  5. package/src/bin/index.ts +53 -3
  6. package/src/lib/events.ts +1 -11
  7. package/src/lib/utils.test.ts +45 -15
  8. package/src/lib/utils.ts +21 -17
  9. package/src/lib/webdriver.ts +6 -1
  10. package/src/testutils/axe-core@2.5.0.js +54 -66
  11. package/src/testutils/simple-clean.html +11 -0
  12. package/src/types.ts +2 -1
  13. package/dist/package.json +0 -91
  14. package/dist/src/bin/cli.d.ts +0 -2
  15. package/dist/src/bin/cli.js +0 -39
  16. package/dist/src/bin/cli.js.map +0 -1
  17. package/dist/src/bin/cli.test.d.ts +0 -1
  18. package/dist/src/bin/cli.test.js +0 -241
  19. package/dist/src/bin/cli.test.js.map +0 -1
  20. package/dist/src/bin/index.d.ts +0 -5
  21. package/dist/src/bin/index.js +0 -120
  22. package/dist/src/bin/index.js.map +0 -1
  23. package/dist/src/lib/axe-test-urls.d.ts +0 -4
  24. package/dist/src/lib/axe-test-urls.js +0 -89
  25. package/dist/src/lib/axe-test-urls.js.map +0 -1
  26. package/dist/src/lib/axe-test-urls.test.d.ts +0 -1
  27. package/dist/src/lib/axe-test-urls.test.js +0 -73
  28. package/dist/src/lib/axe-test-urls.test.js.map +0 -1
  29. package/dist/src/lib/events.d.ts +0 -10
  30. package/dist/src/lib/events.js +0 -57
  31. package/dist/src/lib/events.js.map +0 -1
  32. package/dist/src/lib/events.test.d.ts +0 -1
  33. package/dist/src/lib/events.test.js +0 -31
  34. package/dist/src/lib/events.test.js.map +0 -1
  35. package/dist/src/lib/index.d.ts +0 -4
  36. package/dist/src/lib/index.js +0 -36
  37. package/dist/src/lib/index.js.map +0 -1
  38. package/dist/src/lib/utils.d.ts +0 -15
  39. package/dist/src/lib/utils.js +0 -120
  40. package/dist/src/lib/utils.js.map +0 -1
  41. package/dist/src/lib/utils.test.d.ts +0 -1
  42. package/dist/src/lib/utils.test.js +0 -140
  43. package/dist/src/lib/utils.test.js.map +0 -1
  44. package/dist/src/lib/webdriver.d.ts +0 -4
  45. package/dist/src/lib/webdriver.js +0 -46
  46. package/dist/src/lib/webdriver.js.map +0 -1
  47. package/dist/src/lib/webdriver.test.d.ts +0 -1
  48. package/dist/src/lib/webdriver.test.js +0 -102
  49. package/dist/src/lib/webdriver.test.js.map +0 -1
  50. package/dist/src/testutils/index.d.ts +0 -19
  51. package/dist/src/testutils/index.js +0 -51
  52. package/dist/src/testutils/index.js.map +0 -1
  53. package/dist/src/types.d.ts +0 -36
  54. package/dist/src/types.js +0 -18
  55. package/dist/src/types.js.map +0 -1
@@ -1,5 +0,0 @@
1
- import type { OptionValues } from 'commander';
2
- declare const cli: (args: OptionValues, url: {
3
- args: string[];
4
- }) => Promise<void>;
5
- export default cli;
@@ -1,120 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const colors_1 = __importDefault(require("colors"));
16
- const utils_1 = require("../lib/utils");
17
- const axe_test_urls_1 = __importDefault(require("../lib/axe-test-urls"));
18
- const events_1 = __importDefault(require("../lib/events"));
19
- const webdriver_1 = require("../lib/webdriver");
20
- const cli = (args, url) => __awaiter(void 0, void 0, void 0, function* () {
21
- const { save, stdout, dir, exit, timer, reporter: noReporter, chromeOptions, verbose, timeout, include, exclude, tags, rules, disable, loadDelay, chromedriverPath } = args;
22
- const showErrors = args.showErrors === true;
23
- const silentMode = !!stdout;
24
- args.axeSource = (0, utils_1.getAxeSource)(args.axeSource);
25
- if (!args.axeSource) {
26
- console.error((0, utils_1.error)('Unable to find the axe-core source file'));
27
- process.exit(2);
28
- }
29
- args.browser = (0, utils_1.parseBrowser)(args.browser);
30
- /* istanbul ignore if */
31
- if (chromeOptions) {
32
- /* istanbul ignore if */
33
- if (args.browser !== 'chrome-headless') {
34
- console.error((0, utils_1.error)('You may only provide --chrome-options when using headless chrome'));
35
- process.exit(2);
36
- }
37
- }
38
- const driverConfigs = {
39
- browser: args.browser,
40
- timeout,
41
- chromeOptions,
42
- chromedriverPath
43
- };
44
- args.driver = (0, webdriver_1.startDriver)(driverConfigs);
45
- const cliReporter = (0, utils_1.reporter)(noReporter, silentMode);
46
- const axeVersion = (0, utils_1.getAxeVersion)(args.axeSource);
47
- if (!silentMode) {
48
- console.log(colors_1.default.bold('Running axe-core ' + axeVersion + ' in ' + args.browser));
49
- }
50
- const urls = url.args.map(utils_1.parseUrl);
51
- /* istanbul ignore if */
52
- if (urls.length === 0) {
53
- console.error((0, utils_1.error)('No url was specified. Check `axe --help` for help\n'));
54
- }
55
- const events = (0, events_1.default)({
56
- silentMode,
57
- timer,
58
- cliReporter,
59
- verbose,
60
- exit
61
- });
62
- const testPageConfigParams = {
63
- driver: args.driver,
64
- timer,
65
- loadDelay,
66
- axeSource: args.axeSource,
67
- include,
68
- exclude,
69
- tags,
70
- rules,
71
- disable
72
- };
73
- try {
74
- const outcome = yield (0, axe_test_urls_1.default)(urls, testPageConfigParams, events);
75
- if (silentMode) {
76
- process.stdout.write(JSON.stringify(outcome, null, 2));
77
- return;
78
- }
79
- if (timer) {
80
- console.timeEnd('Total test time');
81
- }
82
- /* istanbul ignore if */
83
- if (Array.isArray(outcome)) {
84
- console.log((0, utils_1.bold)('Testing complete of %d pages\n'), outcome.length);
85
- }
86
- if (save || dir) {
87
- try {
88
- const fileName = (0, utils_1.saveOutcome)(outcome, save, dir);
89
- console.log('Saved file at', fileName, '\n');
90
- }
91
- catch (e) {
92
- /* istanbul ignore next */
93
- console.error((0, utils_1.error)('Unable to save file!\n') + e);
94
- process.exit(1);
95
- }
96
- }
97
- /* istanbul ignore if */
98
- if (silentMode) {
99
- return;
100
- }
101
- console.log((0, utils_1.italics)('Please note that only 20% to 50% of all accessibility ' +
102
- 'issues can automatically be detected. \nManual testing is ' +
103
- 'always required. For more information see:\n%s\n'), (0, utils_1.link)('https://dequeuniversity.com/curriculum/courses/testingmethods'));
104
- }
105
- catch (e) {
106
- /* istanbul ignore else */
107
- if (!showErrors) {
108
- console.error((0, utils_1.error)('An error occurred while testing this page.'));
109
- }
110
- else {
111
- console.error((0, utils_1.error)('Error: %s'), e);
112
- }
113
- console.error('Please report the problem to: ' +
114
- (0, utils_1.link)('https://github.com/dequelabs/axe-core-npm/issues/') +
115
- '\n');
116
- process.exit(1);
117
- }
118
- });
119
- exports.default = cli;
120
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bin/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { AxeResults } from 'axe-core';
2
- import { EventResponse, ConfigParams } from '../types';
3
- declare const testPages: (urls: string | string[], config: ConfigParams, events?: EventResponse) => Promise<AxeResults[] | AxeResults>;
4
- export default testPages;
@@ -1,89 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const webdriverjs_1 = __importDefault(require("@axe-core/webdriverjs"));
16
- const testPages = (urls, config, events) => __awaiter(void 0, void 0, void 0, function* () {
17
- const driver = yield config.driver;
18
- if (urls.length === 0) {
19
- yield driver.quit();
20
- return Promise.resolve([]);
21
- }
22
- return new Promise((resolve, reject) => {
23
- const currentUrl = urls[0].replace(/[,;]$/, '');
24
- if (events === null || events === void 0 ? void 0 : events.onTestStart) {
25
- events === null || events === void 0 ? void 0 : events.onTestStart(currentUrl);
26
- }
27
- if (config.timer) {
28
- events === null || events === void 0 ? void 0 : events.startTimer('axe page load time');
29
- }
30
- driver
31
- .get(currentUrl)
32
- .then(() => {
33
- if (config.timer) {
34
- events === null || events === void 0 ? void 0 : events.endTimer('axe page load time');
35
- }
36
- if (config.loadDelay) {
37
- events === null || events === void 0 ? void 0 : events.waitingMessage(config.loadDelay);
38
- }
39
- return new Promise(resolve => {
40
- setTimeout(resolve, config.loadDelay);
41
- });
42
- })
43
- .then(() => {
44
- const axe = new webdriverjs_1.default(driver, config.axeSource);
45
- if (Array.isArray(config.include)) {
46
- config.include.forEach((include) => axe.include(include));
47
- }
48
- if (Array.isArray(config.exclude)) {
49
- config.exclude.forEach((exclude) => axe.exclude(exclude));
50
- }
51
- if (config.tags) {
52
- axe.withTags(config.tags);
53
- }
54
- else if (config.rules) {
55
- axe.withRules(config.rules);
56
- }
57
- /* istanbul ignore if */
58
- if (config.disable) {
59
- axe.disableRules(config.disable);
60
- }
61
- if (config.timer) {
62
- events === null || events === void 0 ? void 0 : events.startTimer('axe-core execution time');
63
- }
64
- axe.analyze((err, results) => {
65
- if (config.timer) {
66
- events === null || events === void 0 ? void 0 : events.endTimer('axe-core execution time');
67
- }
68
- /* istanbul ignore if */
69
- if (err) {
70
- return reject(err);
71
- }
72
- // Notify about the update
73
- if (events === null || events === void 0 ? void 0 : events.onTestComplete) {
74
- events === null || events === void 0 ? void 0 : events.onTestComplete(results);
75
- }
76
- // Move to the next item
77
- testPages(urls.slice(1), config, events).then((out) => {
78
- resolve([results].concat(out));
79
- });
80
- });
81
- })
82
- .catch((e) => __awaiter(void 0, void 0, void 0, function* () {
83
- yield driver.quit();
84
- reject(e);
85
- }));
86
- });
87
- });
88
- exports.default = testPages;
89
- //# sourceMappingURL=axe-test-urls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"axe-test-urls.js","sourceRoot":"","sources":["../../../src/lib/axe-test-urls.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- import 'mocha';
@@ -1,73 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- require("mocha");
16
- const chai_1 = require("chai");
17
- const axe_test_urls_1 = __importDefault(require("./axe-test-urls"));
18
- describe('testPages', function () {
19
- this.timeout(10000);
20
- let config;
21
- let mockDriver;
22
- beforeEach(() => {
23
- const func = (arg) => __awaiter(this, void 0, void 0, function* () { return '{}'; });
24
- mockDriver = {
25
- get: func,
26
- executeAsyncScript: func,
27
- executeScript: func,
28
- wait: func,
29
- switchTo: () => ({ defaultContent: () => { } }),
30
- findElements: () => __awaiter(this, void 0, void 0, function* () { return []; }),
31
- quit: func,
32
- manage: () => ({
33
- setTimeouts: func
34
- })
35
- };
36
- config = { driver: mockDriver };
37
- });
38
- it('return a promise', () => {
39
- chai_1.assert.instanceOf((0, axe_test_urls_1.default)([], config), Promise);
40
- });
41
- it('calls driver.get() for each URL', () => __awaiter(this, void 0, void 0, function* () {
42
- const urlsCalled = [];
43
- const urls = ['http://foo', 'http://bar', 'http://baz'];
44
- mockDriver.get = (url) => __awaiter(this, void 0, void 0, function* () {
45
- urlsCalled.push(url);
46
- return url;
47
- });
48
- yield (0, axe_test_urls_1.default)(urls, config);
49
- chai_1.assert.deepEqual(urlsCalled, urls);
50
- }));
51
- it('injects axe into the page', () => __awaiter(this, void 0, void 0, function* () {
52
- const scripts = [];
53
- config.axeSource = 'axe="hi, I am axe"';
54
- mockDriver.executeScript = (script) => __awaiter(this, void 0, void 0, function* () {
55
- scripts.push(script);
56
- return script;
57
- });
58
- yield (0, axe_test_urls_1.default)(['http://foo'], config);
59
- chai_1.assert.include(scripts[0].toString(), config.axeSource);
60
- }));
61
- it('runs axe once the page is loaded', () => __awaiter(this, void 0, void 0, function* () {
62
- const asyncScripts = [];
63
- mockDriver.executeAsyncScript = (script) => __awaiter(this, void 0, void 0, function* () {
64
- asyncScripts.push(script);
65
- return '{}';
66
- });
67
- yield (0, axe_test_urls_1.default)(['http://foo'], config);
68
- chai_1.assert.isDefined(asyncScripts
69
- .map(script => script.toString())
70
- .find(script => script.match(/(axe\.run)|(axe\.a11yCheck)/)));
71
- }));
72
- });
73
- //# sourceMappingURL=axe-test-urls.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"axe-test-urls.test.js","sourceRoot":"","sources":["../../../src/lib/axe-test-urls.test.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { AxeResults } from 'axe-core';
2
- import type { EventParams } from '../types';
3
- declare const _default: ({ silentMode, timer, cliReporter, verbose, exit }: EventParams) => {
4
- startTimer: (message: string) => void;
5
- endTimer: (message: string) => void;
6
- waitingMessage: (loadDelayTime: number) => void;
7
- onTestStart: (url: string) => void;
8
- onTestComplete: (results: AxeResults) => void;
9
- };
10
- export default _default;
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const utils_1 = require("./utils");
4
- exports.default = ({ silentMode, timer, cliReporter, verbose, exit }) => {
5
- return {
6
- startTimer: (message) => {
7
- console.time(message);
8
- },
9
- endTimer: (message) => {
10
- console.timeEnd(message);
11
- },
12
- waitingMessage: (loadDelayTime) => {
13
- console.log('Waiting for ' + loadDelayTime + ' milliseconds after page loads...');
14
- },
15
- onTestStart: (url) => {
16
- if (silentMode) {
17
- return;
18
- }
19
- console.log((0, utils_1.bold)('\nTesting ' + (0, utils_1.link)(url)) +
20
- ' ... please wait, this may take a minute.');
21
- if (timer) {
22
- console.time('Total test time');
23
- }
24
- },
25
- onTestComplete: (results) => {
26
- const { violations, testEngine, testEnvironment, testRunner } = results;
27
- /* istanbul ignore if */
28
- if (violations.length === 0) {
29
- cliReporter((0, utils_1.green)(' 0 violations found!'));
30
- return;
31
- }
32
- const issueCount = violations.reduce((count, violation) => {
33
- cliReporter('\n' +
34
- (0, utils_1.error)(' Violation of %j with %d occurrences!\n') +
35
- ' %s. Correct invalid elements at:\n' +
36
- violation.nodes
37
- .map(node => ' - ' + (0, utils_1.selectorToString)(node.target) + '\n')
38
- .join('') +
39
- ' For details, see: %s', violation.id, violation.nodes.length, violation.description, (0, utils_1.link)(violation.helpUrl.split('?')[0]));
40
- return count + violation.nodes.length;
41
- }, 0);
42
- cliReporter((0, utils_1.error)('\n%d Accessibility issues detected.'), issueCount);
43
- if (verbose) {
44
- const metadata = {
45
- 'Test Runner': testRunner,
46
- 'Test Engine': testEngine,
47
- 'Test Environment': testEnvironment
48
- };
49
- cliReporter(`\n${JSON.stringify(metadata, null, 2)}`);
50
- }
51
- if (exit) {
52
- process.exit(1);
53
- }
54
- }
55
- };
56
- };
57
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/lib/events.ts"],"names":[],"mappings":";;AAEA,mCAAqE;AAErE,kBAAe,CAAC,EACd,UAAU,EACV,KAAK,EACL,WAAW,EACX,OAAO,EACP,IAAI,EACQ,EAAE,EAAE;IAChB,OAAO;QACL,UAAU,EAAE,CAAC,OAAe,EAAE,EAAE;YAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,QAAQ,EAAE,CAAC,OAAe,EAAE,EAAE;YAC5B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,cAAc,EAAE,CAAC,aAAqB,EAAE,EAAE;YACxC,OAAO,CAAC,GAAG,CACT,cAAc,GAAG,aAAa,GAAG,mCAAmC,CACrE,CAAC;QACJ,CAAC;QACD,WAAW,EAAE,CAAC,GAAW,EAAE,EAAE;YAC3B,IAAI,UAAU,EAAE;gBACd,OAAO;aACR;YACD,OAAO,CAAC,GAAG,CACT,IAAA,YAAI,EAAC,YAAY,GAAG,IAAA,YAAI,EAAC,GAAG,CAAC,CAAC;gBAC5B,2CAA2C,CAC9C,CAAC;YACF,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACjC;QACH,CAAC;QACD,cAAc,EAAE,CAAC,OAAmB,EAAE,EAAE;YACtC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YAExE,wBAAwB;YACxB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3B,WAAW,CAAC,IAAA,aAAK,EAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC3C,OAAO;aACR;YAED,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;gBACxD,WAAW,CACT,IAAI;oBACF,IAAA,aAAK,EAAC,0CAA0C,CAAC;oBACjD,wCAAwC;oBACxC,SAAS,CAAC,KAAK;yBACZ,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;yBAC7D,IAAI,CAAC,EAAE,CAAC;oBACX,0BAA0B,EAC5B,SAAS,CAAC,EAAE,EACZ,SAAS,CAAC,KAAK,CAAC,MAAM,EACtB,SAAS,CAAC,WAAW,EACrB,IAAA,YAAI,EAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CACtC,CAAC;gBACF,OAAO,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;YACxC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEN,WAAW,CAAC,IAAA,aAAK,EAAC,qCAAqC,CAAC,EAAE,UAAU,CAAC,CAAC;YAEtE,IAAI,OAAO,EAAE;gBACX,MAAM,QAAQ,GAAG;oBACf,aAAa,EAAE,UAAU;oBACzB,aAAa,EAAE,UAAU;oBACzB,kBAAkB,EAAE,eAAe;iBACpC,CAAC;gBACF,WAAW,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aACvD;YAED,IAAI,IAAI,EAAE;gBACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- import 'mocha';
@@ -1,31 +0,0 @@
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 events_1 = __importDefault(require("./events"));
9
- describe('events()', () => {
10
- const event = (0, events_1.default)({
11
- silentMode: false,
12
- timer: false,
13
- cliReporter: () => { },
14
- verbose: false,
15
- exit: false
16
- });
17
- const functions = [
18
- 'startTimer',
19
- 'endTimer',
20
- 'waitingMessage',
21
- 'onTestStart',
22
- 'onTestComplete'
23
- ];
24
- for (const eventFunction of functions) {
25
- it(`${eventFunction} is a typeof function`, () => {
26
- // @ts-ignore
27
- chai_1.assert.isFunction(event[eventFunction]);
28
- });
29
- }
30
- });
31
- //# sourceMappingURL=events.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.test.js","sourceRoot":"","sources":["../../../src/lib/events.test.ts"],"names":[],"mappings":";;;;;AAAA,iBAAe;AACf,+BAA8B;AAC9B,sDAA8B;AAE9B,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,MAAM,KAAK,GAAG,IAAA,gBAAM,EAAC;QACnB,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;QACrB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;IACH,MAAM,SAAS,GAAG;QAChB,YAAY;QACZ,UAAU;QACV,gBAAgB;QAChB,aAAa;QACb,gBAAgB;KACjB,CAAC;IACF,KAAK,MAAM,aAAa,IAAI,SAAS,EAAE;QACrC,EAAE,CAAC,GAAG,aAAa,uBAAuB,EAAE,GAAG,EAAE;YAC/C,aAAa;YACb,aAAM,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;KACJ;AACH,CAAC,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- import testPages from './axe-test-urls';
2
- import { saveOutcome } from './utils';
3
- import * as utils from './utils';
4
- export { saveOutcome, testPages, utils };
@@ -1,36 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.utils = exports.testPages = exports.saveOutcome = void 0;
30
- const axe_test_urls_1 = __importDefault(require("./axe-test-urls"));
31
- exports.testPages = axe_test_urls_1.default;
32
- const utils_1 = require("./utils");
33
- Object.defineProperty(exports, "saveOutcome", { enumerable: true, get: function () { return utils_1.saveOutcome; } });
34
- const utils = __importStar(require("./utils"));
35
- exports.utils = utils;
36
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAwC;AAIlB,oBAJf,uBAAS,CAIe;AAH/B,mCAAsC;AAG7B,4FAHA,mBAAW,OAGA;AAFpB,+CAAiC;AAEA,sBAAK"}
@@ -1,15 +0,0 @@
1
- import colors from 'colors';
2
- import { AxeResults } from 'axe-core';
3
- export declare const saveOutcome: (outcome: AxeResults | AxeResults[], fileName?: string, dir?: string) => string;
4
- export declare const parseUrl: (url: string) => string;
5
- export declare const parseBrowser: (browser?: string) => string | Error;
6
- export declare const getAxeSource: (axePath?: string) => string | void;
7
- export declare const getAxeVersion: (source: string) => string;
8
- export declare const splitList: (val: string) => string[];
9
- export declare const selectorToString: (selectors: string[], separator?: string) => string;
10
- export declare const reporter: (noReporter: boolean, silentMode: boolean) => (() => void);
11
- export declare const link: colors.Color;
12
- export declare const error: colors.Color;
13
- export declare const bold: colors.Color;
14
- export declare const green: colors.Color;
15
- export declare const italics: colors.Color;
@@ -1,120 +0,0 @@
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
- exports.italics = exports.green = exports.bold = exports.error = exports.link = exports.reporter = exports.selectorToString = exports.splitList = exports.getAxeVersion = exports.getAxeSource = exports.parseBrowser = exports.parseUrl = exports.saveOutcome = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const colors_1 = __importDefault(require("colors"));
10
- const saveOutcome = (outcome, fileName, dir) => {
11
- if (typeof fileName !== 'string') {
12
- fileName = 'axe-results-' + Date.now() + '.json';
13
- }
14
- /* istanbul ignore if */
15
- if (typeof dir !== 'string') {
16
- dir = process.cwd();
17
- }
18
- else if (!path_1.default.isAbsolute(dir)) {
19
- dir = path_1.default.join(process.cwd(), dir);
20
- }
21
- const filePath = path_1.default.join(dir, fileName);
22
- /* istanbul ignore else */
23
- if (!fs_1.default.existsSync(filePath)) {
24
- fs_1.default.mkdirSync(dir, { recursive: true });
25
- }
26
- fs_1.default.writeFileSync(filePath, JSON.stringify(outcome, null, 2), 'utf-8');
27
- return filePath;
28
- };
29
- exports.saveOutcome = saveOutcome;
30
- const parseUrl = (url) => {
31
- if (!/[a-z]+:\/\//.test(url)) {
32
- return 'http://' + url;
33
- }
34
- return url;
35
- };
36
- exports.parseUrl = parseUrl;
37
- const parseBrowser = (browser) => {
38
- if (!browser) {
39
- return 'chrome-headless';
40
- }
41
- const l = browser.length;
42
- switch (browser.toLowerCase()) {
43
- case 'ff':
44
- case 'firefox'.substr(0, l):
45
- case 'gecko'.substr(0, l):
46
- case 'marionette'.substr(0, l):
47
- return 'firefox';
48
- case 'chrome'.substr(0, l):
49
- return 'chrome';
50
- case 'ie':
51
- case 'explorer'.substr(0, l):
52
- case 'internetexplorer'.substr(0, l):
53
- case 'internet_explorer'.substr(0, l):
54
- case 'internet-explorer'.substr(0, l):
55
- return 'ie';
56
- case 'safari'.substr(0, l):
57
- return 'safari';
58
- case 'edge'.substr(0, l):
59
- case 'microsoftedge'.substr(0, l):
60
- return 'MicrosoftEdge';
61
- default:
62
- throw new Error('Unknown browser ' + browser);
63
- }
64
- };
65
- exports.parseBrowser = parseBrowser;
66
- const getAxeSource = (axePath) => {
67
- // Abort if axePath should exist, and it isn't
68
- if (axePath && !fs_1.default.existsSync(axePath)) {
69
- return;
70
- }
71
- // Look for axe in current working directory
72
- if (!axePath) {
73
- axePath = path_1.default.join(process.cwd(), 'axe.js');
74
- }
75
- if (!fs_1.default.existsSync(axePath)) {
76
- // Look for axe in CWD ./node_modules
77
- axePath = path_1.default.join(process.cwd(), 'node_modules', 'axe-core', 'axe.js');
78
- }
79
- if (!fs_1.default.existsSync(axePath)) {
80
- // `__dirname` is /@axe-core/cli/dist/src/lib when installed globally
81
- // to access the locally installed axe-core package we need to go up 3 levels
82
- // if all else fails, use the locally installed axe
83
- axePath = path_1.default.join(__dirname, '..', '..', '..', 'node_modules', 'axe-core', 'axe.js');
84
- }
85
- return fs_1.default.readFileSync(axePath, 'utf-8');
86
- };
87
- exports.getAxeSource = getAxeSource;
88
- const getAxeVersion = (source) => {
89
- const match = source.match(/\.version\s*=\s'([^']+)'/);
90
- return match ? match[1] : 'unknown version';
91
- };
92
- exports.getAxeVersion = getAxeVersion;
93
- const splitList = (val) => {
94
- return val.split(/[,;]/).map(str => str.trim());
95
- };
96
- exports.splitList = splitList;
97
- const selectorToString = (selectors, separator) => {
98
- separator = separator || ' ';
99
- return selectors
100
- .reduce((prev, curr) => prev.concat(curr), [])
101
- .join(separator);
102
- };
103
- exports.selectorToString = selectorToString;
104
- const reporter = (noReporter, silentMode) => {
105
- if (!noReporter || silentMode) {
106
- return () => { };
107
- }
108
- else {
109
- return (...args) => {
110
- console.log(...args);
111
- };
112
- }
113
- };
114
- exports.reporter = reporter;
115
- exports.link = colors_1.default.underline.blue;
116
- exports.error = colors_1.default.red.bold;
117
- exports.bold = colors_1.default.bold;
118
- exports.green = colors_1.default.green;
119
- exports.italics = colors_1.default.italic;
120
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- import 'mocha';