@axe-core/cli 4.7.3 → 4.7.4-480fb12.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.
- package/CHANGELOG.md +11 -45
- package/dist/package.json +6 -8
- package/dist/src/bin/cli.js +1 -0
- package/dist/src/bin/cli.js.map +1 -1
- package/dist/src/bin/cli.test.js +16 -0
- package/dist/src/bin/cli.test.js.map +1 -1
- package/dist/src/bin/index.js +51 -3
- package/dist/src/bin/index.js.map +1 -1
- package/dist/src/lib/events.d.ts +1 -1
- package/dist/src/lib/events.js +1 -4
- package/dist/src/lib/events.js.map +1 -1
- package/dist/src/lib/utils.d.ts +1 -1
- package/dist/src/lib/utils.js +11 -4
- package/dist/src/lib/utils.js.map +1 -1
- package/dist/src/lib/utils.test.js +40 -15
- package/dist/src/lib/utils.test.js.map +1 -1
- package/dist/src/lib/webdriver.d.ts +1 -1
- package/dist/src/lib/webdriver.js +4 -0
- package/dist/src/lib/webdriver.js.map +1 -1
- package/dist/src/types.d.ts +2 -1
- package/package.json +6 -8
- package/src/bin/cli.test.ts +29 -0
- package/src/bin/cli.ts +4 -0
- package/src/bin/index.ts +53 -3
- package/src/lib/events.ts +1 -11
- package/src/lib/utils.test.ts +45 -15
- package/src/lib/utils.ts +16 -4
- package/src/lib/webdriver.ts +6 -1
- package/src/testutils/axe-core@2.5.0.js +54 -66
- package/src/testutils/simple-clean.html +11 -0
- package/src/types.ts +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,82 +7,48 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @axe-core/cli
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
10
|
## [4.7.2](https://github.com/dequelabs/axe-core-npm/compare/v4.7.1...v4.7.2) (2023-06-01)
|
|
15
11
|
|
|
16
|
-
|
|
17
12
|
### Bug Fixes
|
|
18
13
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
14
|
+
- **packages/cli:** revert ESM ([#730](https://github.com/dequelabs/axe-core-npm/issues/730)) ([4e1fb95](https://github.com/dequelabs/axe-core-npm/commit/4e1fb958fa251db7eea3433f91f2a2f3adbda1e8))
|
|
24
15
|
|
|
25
16
|
## [4.7.1](https://github.com/dequelabs/axe-core-npm/compare/v4.7.0...v4.7.1) (2023-05-02)
|
|
26
17
|
|
|
27
18
|
**Note:** Version bump only for package @axe-core/cli
|
|
28
19
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
20
|
# [4.7.0](https://github.com/dequelabs/axe-core-npm/compare/v4.6.1...v4.7.0) (2023-04-28)
|
|
34
21
|
|
|
35
|
-
|
|
36
22
|
### Bug Fixes
|
|
37
23
|
|
|
38
|
-
|
|
39
|
-
|
|
24
|
+
- **cli:** do not inject script tags due to pages not allowing script tags ([#710](https://github.com/dequelabs/axe-core-npm/issues/710)) ([2e0fdb4](https://github.com/dequelabs/axe-core-npm/commit/2e0fdb4a4661040b9b8dbb91bed1a96142e4fe0c))
|
|
40
25
|
|
|
41
26
|
### Features
|
|
42
27
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
28
|
+
- enable esm import ([#713](https://github.com/dequelabs/axe-core-npm/issues/713)) ([076bfa9](https://github.com/dequelabs/axe-core-npm/commit/076bfa99f27f416b4eaff6d24cc23e8573fc72ee))
|
|
29
|
+
- Update axe-core to v4.7.0 ([#709](https://github.com/dequelabs/axe-core-npm/issues/709)) ([d418d09](https://github.com/dequelabs/axe-core-npm/commit/d418d093b4c462d5d60e0f7ad3d5147bcaf52aa2))
|
|
49
30
|
|
|
50
31
|
## [4.6.1](https://github.com/dequelabs/axe-core-npm/compare/v4.6.0...v4.6.1) (2023-03-28)
|
|
51
32
|
|
|
52
|
-
|
|
53
33
|
### Bug Fixes
|
|
54
34
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
35
|
+
- **cli:** increase --timeout default to 90 seconds (to match --help) ([#683](https://github.com/dequelabs/axe-core-npm/issues/683)) ([d11481b](https://github.com/dequelabs/axe-core-npm/commit/d11481b8c74598617260586fe14c8ceba32c6792))
|
|
36
|
+
- Update axe-core to v4.6.3 ([#698](https://github.com/dequelabs/axe-core-npm/issues/698)) ([a7d53a4](https://github.com/dequelabs/axe-core-npm/commit/a7d53a4876237c74bb8dc2836b703cdaf2f7ace5))
|
|
61
37
|
|
|
62
38
|
# [4.6.0](https://github.com/dequelabs/axe-core-npm/compare/v4.5.2...v4.6.0) (2023-01-19)
|
|
63
39
|
|
|
64
|
-
|
|
65
40
|
### Features
|
|
66
41
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
42
|
+
- support shadow dom selectors ([#619](https://github.com/dequelabs/axe-core-npm/issues/619)) ([6065b56](https://github.com/dequelabs/axe-core-npm/commit/6065b562adf289341033a7233426ba3dcfb8a24b))
|
|
43
|
+
- Update axe-core to v4.6.1 ([#633](https://github.com/dequelabs/axe-core-npm/issues/633)) ([8bab5b2](https://github.com/dequelabs/axe-core-npm/commit/8bab5b23b3653a6a0603f10d889e22418a4fff3e))
|
|
73
44
|
|
|
74
45
|
## [4.5.2](https://github.com/dequelabs/axe-core-npm/compare/v4.5.1...v4.5.2) (2022-11-15)
|
|
75
46
|
|
|
76
|
-
|
|
77
47
|
### Bug Fixes
|
|
78
48
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
49
|
+
- **cli:** include all functions in types file ([#603](https://github.com/dequelabs/axe-core-npm/issues/603)) ([30042ef](https://github.com/dequelabs/axe-core-npm/commit/30042ef3acc0cab7f67ddcf284df089f243f53e6))
|
|
50
|
+
- **cli:** use correct driver typings ([#604](https://github.com/dequelabs/axe-core-npm/issues/604)) ([d33bbdf](https://github.com/dequelabs/axe-core-npm/commit/d33bbdf2b3d05c3ba0106d717ba1c8d706c5e05c))
|
|
51
|
+
- update to use axe-core 4.5.2 ([#607](https://github.com/dequelabs/axe-core-npm/issues/607)) ([61312ff](https://github.com/dequelabs/axe-core-npm/commit/61312fff2e9ee4e0f218a29a1608f69b45206fad))
|
|
86
52
|
|
|
87
53
|
## [4.5.1](https://github.com/dequelabs/axe-core-npm/compare/v4.5.0...v4.5.1) (2022-11-03)
|
|
88
54
|
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axe-core/cli",
|
|
3
|
-
"version": "4.7.
|
|
3
|
+
"version": "4.7.4-480fb12.0+480fb12",
|
|
4
4
|
"description": "A CLI for accessibility testing using axe-core",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Wilco Fiers",
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
"testing"
|
|
45
45
|
],
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@axe-core/webdriverjs": "
|
|
47
|
+
"@axe-core/webdriverjs": "4.7.4-480fb12.0+480fb12",
|
|
48
48
|
"axe-core": "^4.7.0",
|
|
49
|
-
"chromedriver": "
|
|
49
|
+
"chromedriver": "latest",
|
|
50
50
|
"colors": "^1.4.0",
|
|
51
51
|
"commander": "^9.4.1",
|
|
52
52
|
"selenium-webdriver": "^4.8.1"
|
|
@@ -55,15 +55,13 @@
|
|
|
55
55
|
"@types/chai": "^4.3.3",
|
|
56
56
|
"@types/chromedriver": "^81.0.1",
|
|
57
57
|
"@types/mocha": "^10.0.0",
|
|
58
|
-
"@types/mock-fs": "^4.13.1",
|
|
59
58
|
"@types/selenium-webdriver": "^4.1.5",
|
|
60
59
|
"chai": "^4.3.6",
|
|
61
60
|
"execa": "5.1.0",
|
|
62
61
|
"mocha": "^10.0.0",
|
|
63
|
-
"mock-fs": "^5.1.4",
|
|
64
62
|
"nyc": "^15.1.0",
|
|
65
63
|
"rimraf": "^3.0.2",
|
|
66
|
-
"tempy": "1.0.0",
|
|
64
|
+
"tempy": "^1.0.0",
|
|
67
65
|
"ts-node": "^10.9.1",
|
|
68
66
|
"typescript": "^4.8.4"
|
|
69
67
|
},
|
|
@@ -77,7 +75,7 @@
|
|
|
77
75
|
"html"
|
|
78
76
|
],
|
|
79
77
|
"statements": 95,
|
|
80
|
-
"branches":
|
|
78
|
+
"branches": 91,
|
|
81
79
|
"functions": 94,
|
|
82
80
|
"lines": 95,
|
|
83
81
|
"exclude": [
|
|
@@ -87,5 +85,5 @@
|
|
|
87
85
|
"src/testutils"
|
|
88
86
|
]
|
|
89
87
|
},
|
|
90
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "480fb1268ffa3547a8d056a7c274607fca3ca274"
|
|
91
89
|
}
|
package/dist/src/bin/cli.js
CHANGED
|
@@ -34,6 +34,7 @@ program
|
|
|
34
34
|
.option('--no-reporter', 'Turn the CLI reporter off')
|
|
35
35
|
.option('--chrome-options [options]', 'Options to provide to headless Chrome', utils_1.splitList)
|
|
36
36
|
.option('--chromedriver-path <path>', 'Absolute path to the desired chromedriver executable')
|
|
37
|
+
.option('--chrome-path <path>', 'Path to the desired chrome executable')
|
|
37
38
|
.action(_1.default);
|
|
38
39
|
program.parse(process.argv);
|
|
39
40
|
//# sourceMappingURL=cli.js.map
|
package/dist/src/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/bin/cli.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,qDAA6C;AAC7C,wCAAyC;AACzC,yCAAoB;AAEpB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,OAAO,CAAC,sBAAO,CAAC;KAChB,KAAK,CAAC,oBAAoB,CAAC;KAC3B,MAAM,CACL,sBAAsB,EACtB,oDAAoD,EACpD,iBAAS,CACV;KACA,MAAM,CACL,sBAAsB,EACtB,oDAAoD,EACpD,iBAAS,CACV;KACA,MAAM,CACL,oBAAoB,EACpB,sCAAsC,EACtC,iBAAS,CACV;KACA,MAAM,CACL,mBAAmB,EACnB,uCAAuC,EACvC,iBAAS,CACV;KACA,MAAM,CACL,sBAAsB,EACtB,0CAA0C,EAC1C,iBAAS,CACV;KACA,MAAM,CACL,8BAA8B,EAC9B,2CAA2C,CAC5C;KACA,MAAM,CACL,uBAAuB,EACvB,sDAAsD,CACvD;KACA,MAAM,CACL,cAAc,EACd,uDAAuD,CACxD;KACA,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;KAC9C,MAAM,CAAC,yBAAyB,EAAE,qBAAqB,CAAC;KACxD,MAAM,CAAC,YAAY,EAAE,mDAAmD,CAAC;KACzE,MAAM,CACL,eAAe,EACf,8DAA8D,CAC/D;KACA,MAAM,CACL,kBAAkB,EAClB,sGAAsG,CACvG;KACA,MAAM,CACL,eAAe,EACf,4CAA4C;AAC5C,aAAa;AACb,EAAE,CACH;KACA,MAAM,CAAC,SAAS,EAAE,8BAA8B,CAAC;KACjD,MAAM,CAAC,yBAAyB,EAAE,8BAA8B,EAAE,IAAI,CAAC;IACxE,kEAAkE;KACjE,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC;KACpD,MAAM,CACL,4BAA4B,EAC5B,uCAAuC,EACvC,iBAAS,CACV;KACA,MAAM,CACL,4BAA4B,EAC5B,sDAAsD,CACvD;KACA,MAAM,CAAC,UAAG,CAAC,CAAC;AAEf,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/bin/cli.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,qDAA6C;AAC7C,wCAAyC;AACzC,yCAAoB;AAEpB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,OAAO,CAAC,sBAAO,CAAC;KAChB,KAAK,CAAC,oBAAoB,CAAC;KAC3B,MAAM,CACL,sBAAsB,EACtB,oDAAoD,EACpD,iBAAS,CACV;KACA,MAAM,CACL,sBAAsB,EACtB,oDAAoD,EACpD,iBAAS,CACV;KACA,MAAM,CACL,oBAAoB,EACpB,sCAAsC,EACtC,iBAAS,CACV;KACA,MAAM,CACL,mBAAmB,EACnB,uCAAuC,EACvC,iBAAS,CACV;KACA,MAAM,CACL,sBAAsB,EACtB,0CAA0C,EAC1C,iBAAS,CACV;KACA,MAAM,CACL,8BAA8B,EAC9B,2CAA2C,CAC5C;KACA,MAAM,CACL,uBAAuB,EACvB,sDAAsD,CACvD;KACA,MAAM,CACL,cAAc,EACd,uDAAuD,CACxD;KACA,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;KAC9C,MAAM,CAAC,yBAAyB,EAAE,qBAAqB,CAAC;KACxD,MAAM,CAAC,YAAY,EAAE,mDAAmD,CAAC;KACzE,MAAM,CACL,eAAe,EACf,8DAA8D,CAC/D;KACA,MAAM,CACL,kBAAkB,EAClB,sGAAsG,CACvG;KACA,MAAM,CACL,eAAe,EACf,4CAA4C;AAC5C,aAAa;AACb,EAAE,CACH;KACA,MAAM,CAAC,SAAS,EAAE,8BAA8B,CAAC;KACjD,MAAM,CAAC,yBAAyB,EAAE,8BAA8B,EAAE,IAAI,CAAC;IACxE,kEAAkE;KACjE,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC;KACpD,MAAM,CACL,4BAA4B,EAC5B,uCAAuC,EACvC,iBAAS,CACV;KACA,MAAM,CACL,4BAA4B,EAC5B,sDAAsD,CACvD;KACA,MAAM,CACL,sBAAsB,EACtB,uCAAuC,CACxC;KACA,MAAM,CAAC,UAAG,CAAC,CAAC;AAEf,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
package/dist/src/bin/cli.test.js
CHANGED
|
@@ -21,6 +21,7 @@ const fs_1 = __importDefault(require("fs"));
|
|
|
21
21
|
const package_json_1 = require("../../package.json");
|
|
22
22
|
const testutils_1 = __importDefault(require("../testutils/"));
|
|
23
23
|
const SIMPLE_HTML_FILE = path_1.default.join(__dirname, '..', 'testutils', 'simple.html');
|
|
24
|
+
const SIMPLE_CLEAN_HTML_FILE = path_1.default.join(__dirname, '..', 'testutils', 'simple-clean.html');
|
|
24
25
|
const SIMPLE_HTML_SOURCE = fs_1.default.readFileSync(SIMPLE_HTML_FILE, 'utf8');
|
|
25
26
|
const PATH_TO_AXE_250 = path_1.default.resolve(__dirname, '..', 'testutils', 'axe-core@2.5.0.js');
|
|
26
27
|
describe('cli', () => {
|
|
@@ -108,6 +109,15 @@ describe('cli', () => {
|
|
|
108
109
|
chai_1.assert.include(error.stdout, 'Violation of "marquee" with 1 occurrences!');
|
|
109
110
|
}
|
|
110
111
|
}));
|
|
112
|
+
it('should exit zero if violations are found', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
113
|
+
try {
|
|
114
|
+
yield (0, testutils_1.default)(`file://${SIMPLE_CLEAN_HTML_FILE}`, '--exit');
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
chai_1.assert.equal(error.exitCode, 0);
|
|
118
|
+
chai_1.assert.include(error.stdout, 'Violation of "marquee" with 1 occurrences!');
|
|
119
|
+
}
|
|
120
|
+
}));
|
|
111
121
|
});
|
|
112
122
|
describe('--dir', () => {
|
|
113
123
|
let reportDir;
|
|
@@ -237,5 +247,11 @@ describe('cli', () => {
|
|
|
237
247
|
chai_1.assert.include(result.stderr, 'The specified executable path does not exist');
|
|
238
248
|
}));
|
|
239
249
|
});
|
|
250
|
+
describe('--chrome-path', () => {
|
|
251
|
+
it('should throw error if path does not exist', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
252
|
+
const result = yield (0, testutils_1.default)(`file://${SIMPLE_HTML_FILE}`, '--chrome-path="someinvalidpath"', '--show-errors');
|
|
253
|
+
chai_1.assert.include(result.stderr, 'no chrome binary at');
|
|
254
|
+
}));
|
|
255
|
+
});
|
|
240
256
|
});
|
|
241
257
|
//# sourceMappingURL=cli.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../../../src/bin/cli.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,iBAAe;AACf,+BAA8B;AAC9B,kDAA0B;AAC1B,gDAAwB;AAExB,gDAAwB;AACxB,4CAAoB;AACpB,qDAA6C;AAC7C,8DAAmC;AAEnC,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AAChF,MAAM,kBAAkB,GAAG,YAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AACrE,MAAM,eAAe,GAAG,cAAI,CAAC,OAAO,CAClC,SAAS,EACT,IAAI,EACJ,WAAW,EACX,mBAAmB,CACpB,CAAC;AAEF,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;IACnB,EAAE,CAAC,QAAQ,EAAE,GAAS,EAAE;QACtB,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EAAC,QAAQ,CAAC,CAAC;QACtC,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACjC,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,WAAW,EAAE,GAAS,EAAE;QACzB,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EAAC,WAAW,CAAC,CAAC;QACzC,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACjC,aAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAO,CAAC,CAAC;IAC3C,CAAC,CAAA,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,wBAAwB,EAAE,GAAS,EAAE;YACtC,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EAAC,UAAU,gBAAgB,EAAE,CAAC,CAAC;YAC1D,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,4CAA4C,CAC7C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,IAAI,IAAY,CAAC;QACjB,IAAI,MAAmB,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,EAAE;YACZ,MAAM,GAAG,cAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACtC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gBAC3C,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAC9B,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE;gBACpB,IAAI,GAAI,MAAM,CAAC,OAAO,EAAsB,CAAC,IAAI,CAAC;gBAClD,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAElC,EAAE,CAAC,wBAAwB,EAAE,GAAS,EAAE;YACtC,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EAAC,oBAAoB,IAAI,GAAG,CAAC,CAAC;YACzD,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,4CAA4C,CAC7C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,6CAA6C,EAAE,GAAS,EAAE;YAC3D,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,cAAc,EACd,eAAe,CAChB,CAAC;YAEF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,4CAA4C,CAC7C,CAAC;YACF,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC1D,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;YACxD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,cAAc,EACd,QAAQ,CACT,CAAC;YAEF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,yCAAyC,CAAC,CAAC;QAC3E,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,gIAAgI;IAChI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,2BAA2B,EAAE,GAAS,EAAE;YACzC,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,SAAS,EACT,WAAW,CACZ,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,iDAAiD,EAAE,GAAS,EAAE;YAC/D,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,SAAS,EACT,QAAQ,CACT,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QAC9D,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;YAC5D,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,QAAQ,EACR,qBAAqB,CACtB,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,wDAAwD;YACxD,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QACjE,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;YAC5D,IAAI;gBACF,MAAM,IAAA,mBAAM,EAAC,UAAU,gBAAgB,EAAE,EAAE,QAAQ,CAAC,CAAC;aACtD;YAAC,OAAO,KAAK,EAAE;gBACd,aAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAChC,aAAM,CAAC,OAAO,CACZ,KAAK,CAAC,MAAM,EACZ,4CAA4C,CAC7C,CAAC;aACH;QACH,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,IAAI,SAAiB,CAAC;QACtB,UAAU,CAAC,GAAG,EAAE;YACd,SAAS,GAAG,eAAK,CAAC,SAAS,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAS,EAAE;YACnE,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,OAAO,EACP,SAAS,CACV,CAAC;YAEF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,YAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACpD,IAAA,aAAM,EAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QAC/C,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;YACxD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,SAAS,CACV,CAAC;YACF,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;YAC1D,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,4CAA4C,CAC7C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAS,EAAE;YAC/D,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,SAAS,EACT,eAAe,CAChB,CAAC;YAEF,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,iEAAiE,CAClE,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAS,EAAE;YAClE,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,MAAM,EACN,eAAe,CAChB,CAAC;YAEF,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;YACzD,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;YACxD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,SAAS,CACV,CAAC;YACF,aAAM,CAAC,UAAU,CACf,MAAM,CAAC,MAAM,EACb,4CAA4C,CAC7C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAS,EAAE;YAClE,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,MAAM,EACN,eAAe,CAChB,CAAC;YAEF,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;YACzD,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,4CAA4C,EAAE,GAAS,EAAE;YAC1D,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,QAAQ,CACT,CAAC;YACF,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QACjE,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,iCAAiC,EAAE,GAAS,EAAE;YAC/C,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EAAC,UAAU,gBAAgB,EAAE,EAAE,UAAU,CAAC,CAAC;YACtE,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,YAAY,CACjB,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAC/B,sBAAsB,CACvB,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;YACnD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EAAC,UAAU,gBAAgB,EAAE,EAAE,SAAS,CAAC,CAAC;YACrE,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;YACzD,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACnD,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;YACnD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,eAAe,CAChB,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,UAAU,CACf,MAAM,CAAC,MAAM,EACb,4CAA4C,CAC7C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,6DAA6D,EAAE,GAAS,EAAE;YAC3E,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,SAAS,CACV,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,2CAA2C,CAC5C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAS,EAAE;YACpD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,SAAS,EACT,eAAe,EACf,OAAO,CACR,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,4CAA4C,CAC7C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,IAAI,SAAiB,CAAC;QACtB,UAAU,CAAC,GAAG,EAAE;YACd,SAAS,GAAG,eAAK,CAAC,SAAS,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAS,EAAE;YACrD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,SAAS,CACV,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,GAAG,YAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC3C,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACzC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,oFAAoF,EAAE,GAAS,EAAE;YAClG,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,cAAc,EACd,MAAM,CACP,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,+CAA+C,CAChD,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,wEAAwE,EAAE,GAAS,EAAE;YACtF,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EAAC,UAAU,gBAAgB,EAAE,EAAE,WAAW,CAAC,CAAC;YACvE,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAC7C,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAC7C,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QACpD,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,oIAAoI;QACpI,EAAE,CAAC,kCAAkC,EAAE,GAAS,EAAE;YAChD,IAAI;gBACF,MAAM,IAAA,mBAAM,EAAC,UAAU,gBAAgB,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;aAC9D;YAAC,OAAO,KAAK,EAAE;gBACd,aAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACnC,aAAM,CAAC,OAAO,CACZ,KAAK,CAAC,MAAM,EACZ,4CAA4C,CAC7C,CAAC;aACH;QACH,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;YACzD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,uCAAuC,EACvC,eAAe,CAChB,CAAC;YACF,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,8CAA8C,CAC/C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../../../src/bin/cli.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,iBAAe;AACf,+BAA8B;AAC9B,kDAA0B;AAC1B,gDAAwB;AAExB,gDAAwB;AACxB,4CAAoB;AACpB,qDAA6C;AAC7C,8DAAmC;AAEnC,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AAChF,MAAM,sBAAsB,GAAG,cAAI,CAAC,IAAI,CACtC,SAAS,EACT,IAAI,EACJ,WAAW,EACX,mBAAmB,CACpB,CAAC;AACF,MAAM,kBAAkB,GAAG,YAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AACrE,MAAM,eAAe,GAAG,cAAI,CAAC,OAAO,CAClC,SAAS,EACT,IAAI,EACJ,WAAW,EACX,mBAAmB,CACpB,CAAC;AAEF,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;IACnB,EAAE,CAAC,QAAQ,EAAE,GAAS,EAAE;QACtB,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EAAC,QAAQ,CAAC,CAAC;QACtC,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACjC,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,WAAW,EAAE,GAAS,EAAE;QACzB,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EAAC,WAAW,CAAC,CAAC;QACzC,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACjC,aAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAO,CAAC,CAAC;IAC3C,CAAC,CAAA,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,wBAAwB,EAAE,GAAS,EAAE;YACtC,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EAAC,UAAU,gBAAgB,EAAE,CAAC,CAAC;YAC1D,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,4CAA4C,CAC7C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,IAAI,IAAY,CAAC;QACjB,IAAI,MAAmB,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,EAAE;YACZ,MAAM,GAAG,cAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACtC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gBAC3C,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAC9B,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE;gBACpB,IAAI,GAAI,MAAM,CAAC,OAAO,EAAsB,CAAC,IAAI,CAAC;gBAClD,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAElC,EAAE,CAAC,wBAAwB,EAAE,GAAS,EAAE;YACtC,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EAAC,oBAAoB,IAAI,GAAG,CAAC,CAAC;YACzD,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,4CAA4C,CAC7C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,6CAA6C,EAAE,GAAS,EAAE;YAC3D,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,cAAc,EACd,eAAe,CAChB,CAAC;YAEF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,4CAA4C,CAC7C,CAAC;YACF,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC1D,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;YACxD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,cAAc,EACd,QAAQ,CACT,CAAC;YAEF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,yCAAyC,CAAC,CAAC;QAC3E,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,gIAAgI;IAChI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,2BAA2B,EAAE,GAAS,EAAE;YACzC,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,SAAS,EACT,WAAW,CACZ,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,iDAAiD,EAAE,GAAS,EAAE;YAC/D,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,SAAS,EACT,QAAQ,CACT,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QAC9D,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;YAC5D,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,QAAQ,EACR,qBAAqB,CACtB,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,wDAAwD;YACxD,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QACjE,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;YAC5D,IAAI;gBACF,MAAM,IAAA,mBAAM,EAAC,UAAU,gBAAgB,EAAE,EAAE,QAAQ,CAAC,CAAC;aACtD;YAAC,OAAO,KAAK,EAAE;gBACd,aAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAChC,aAAM,CAAC,OAAO,CACZ,KAAK,CAAC,MAAM,EACZ,4CAA4C,CAC7C,CAAC;aACH;QACH,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;YACxD,IAAI;gBACF,MAAM,IAAA,mBAAM,EAAC,UAAU,sBAAsB,EAAE,EAAE,QAAQ,CAAC,CAAC;aAC5D;YAAC,OAAO,KAAK,EAAE;gBACd,aAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAChC,aAAM,CAAC,OAAO,CACZ,KAAK,CAAC,MAAM,EACZ,4CAA4C,CAC7C,CAAC;aACH;QACH,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,IAAI,SAAiB,CAAC;QACtB,UAAU,CAAC,GAAG,EAAE;YACd,SAAS,GAAG,eAAK,CAAC,SAAS,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAS,EAAE;YACnE,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,OAAO,EACP,SAAS,CACV,CAAC;YAEF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,YAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACpD,IAAA,aAAM,EAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QAC/C,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;YACxD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,SAAS,CACV,CAAC;YACF,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;YAC1D,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,4CAA4C,CAC7C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAS,EAAE;YAC/D,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,SAAS,EACT,eAAe,CAChB,CAAC;YAEF,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,iEAAiE,CAClE,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAS,EAAE;YAClE,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,MAAM,EACN,eAAe,CAChB,CAAC;YAEF,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;YACzD,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;YACxD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,SAAS,CACV,CAAC;YACF,aAAM,CAAC,UAAU,CACf,MAAM,CAAC,MAAM,EACb,4CAA4C,CAC7C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAS,EAAE;YAClE,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,MAAM,EACN,eAAe,CAChB,CAAC;YAEF,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;YACzD,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,4CAA4C,EAAE,GAAS,EAAE;YAC1D,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,QAAQ,CACT,CAAC;YACF,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QACjE,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,iCAAiC,EAAE,GAAS,EAAE;YAC/C,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EAAC,UAAU,gBAAgB,EAAE,EAAE,UAAU,CAAC,CAAC;YACtE,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,YAAY,CACjB,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAC/B,sBAAsB,CACvB,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;YACnD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EAAC,UAAU,gBAAgB,EAAE,EAAE,SAAS,CAAC,CAAC;YACrE,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;YACzD,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACnD,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;YACnD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,eAAe,CAChB,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,UAAU,CACf,MAAM,CAAC,MAAM,EACb,4CAA4C,CAC7C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,6DAA6D,EAAE,GAAS,EAAE;YAC3E,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,SAAS,CACV,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,2CAA2C,CAC5C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAS,EAAE;YACpD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,WAAW,EACX,SAAS,EACT,eAAe,EACf,OAAO,CACR,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,4CAA4C,CAC7C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,IAAI,SAAiB,CAAC;QACtB,UAAU,CAAC,GAAG,EAAE;YACd,SAAS,GAAG,eAAK,CAAC,SAAS,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAS,EAAE;YACrD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,SAAS,CACV,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,GAAG,YAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC3C,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACzC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,oFAAoF,EAAE,GAAS,EAAE;YAClG,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,cAAc,EACd,MAAM,CACP,CAAC;YACF,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,+CAA+C,CAChD,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,wEAAwE,EAAE,GAAS,EAAE;YACtF,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EAAC,UAAU,gBAAgB,EAAE,EAAE,WAAW,CAAC,CAAC;YACvE,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjC,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAC7C,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAC7C,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QACpD,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,oIAAoI;QACpI,EAAE,CAAC,kCAAkC,EAAE,GAAS,EAAE;YAChD,IAAI;gBACF,MAAM,IAAA,mBAAM,EAAC,UAAU,gBAAgB,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;aAC9D;YAAC,OAAO,KAAK,EAAE;gBACd,aAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACnC,aAAM,CAAC,OAAO,CACZ,KAAK,CAAC,MAAM,EACZ,4CAA4C,CAC7C,CAAC;aACH;QACH,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;YACzD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,uCAAuC,EACvC,eAAe,CAChB,CAAC;YACF,aAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,8CAA8C,CAC/C,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;YACzD,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAM,EACzB,UAAU,gBAAgB,EAAE,EAC5B,iCAAiC,EACjC,eAAe,CAChB,CAAC;YACF,aAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QACvD,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/src/bin/index.js
CHANGED
|
@@ -17,8 +17,9 @@ const utils_1 = require("../lib/utils");
|
|
|
17
17
|
const axe_test_urls_1 = __importDefault(require("../lib/axe-test-urls"));
|
|
18
18
|
const events_1 = __importDefault(require("../lib/events"));
|
|
19
19
|
const webdriver_1 = require("../lib/webdriver");
|
|
20
|
+
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
20
21
|
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 { save, stdout, dir, exit, timer, reporter: noReporter, chromeOptions, verbose, timeout, include, exclude, tags, rules, disable, loadDelay, chromedriverPath, chromePath } = args;
|
|
22
23
|
const showErrors = args.showErrors === true;
|
|
23
24
|
const silentMode = !!stdout;
|
|
24
25
|
args.axeSource = (0, utils_1.getAxeSource)(args.axeSource);
|
|
@@ -39,7 +40,8 @@ const cli = (args, url) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
39
40
|
browser: args.browser,
|
|
40
41
|
timeout,
|
|
41
42
|
chromeOptions,
|
|
42
|
-
chromedriverPath
|
|
43
|
+
chromedriverPath,
|
|
44
|
+
chromePath
|
|
43
45
|
};
|
|
44
46
|
args.driver = (0, webdriver_1.startDriver)(driverConfigs);
|
|
45
47
|
const cliReporter = (0, utils_1.reporter)(noReporter, silentMode);
|
|
@@ -70,8 +72,36 @@ const cli = (args, url) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
70
72
|
rules,
|
|
71
73
|
disable
|
|
72
74
|
};
|
|
75
|
+
let outcome;
|
|
73
76
|
try {
|
|
74
|
-
|
|
77
|
+
try {
|
|
78
|
+
outcome = yield (0, axe_test_urls_1.default)(urls, testPageConfigParams, events);
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
if (e instanceof selenium_webdriver_1.error.ScriptTimeoutError) {
|
|
82
|
+
console.error((0, utils_1.error)('Error: %s'), e.message);
|
|
83
|
+
console.log(`The timeout is currently configured to be ${timeout} seconds (you can change it with --timeout).`);
|
|
84
|
+
process.exit(2);
|
|
85
|
+
}
|
|
86
|
+
// Provide a more user-friendly error message when there's a ChromeDriver/Chrome version mismatch.
|
|
87
|
+
else if (e instanceof selenium_webdriver_1.error.SessionNotCreatedError &&
|
|
88
|
+
e.message.includes('This version of ChromeDriver only supports'
|
|
89
|
+
// This string has to match the error message printed by chromedriver, see
|
|
90
|
+
// https://chromium.googlesource.com/chromium/src/+/refs/tags/110.0.5481.194/chrome/test/chromedriver/chrome_launcher.cc#300.
|
|
91
|
+
)) {
|
|
92
|
+
console.error((0, utils_1.error)('Error: %s'), e.message);
|
|
93
|
+
console.log(`\nPlease install a matching version of ChromeDriver and run axe with the --chromedriver-path option:
|
|
94
|
+
|
|
95
|
+
$ npm install -g chromedriver@<version>
|
|
96
|
+
$ axe --chromedriver-path $(npm root -g)/chromedriver/bin/chromedriver <url...>
|
|
97
|
+
|
|
98
|
+
(where <version> is the first number of the "current browser version" reported above.)`);
|
|
99
|
+
process.exit(2);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
throw e;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
75
105
|
if (silentMode) {
|
|
76
106
|
process.stdout.write(JSON.stringify(outcome, null, 2));
|
|
77
107
|
return;
|
|
@@ -94,6 +124,24 @@ const cli = (args, url) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
94
124
|
process.exit(1);
|
|
95
125
|
}
|
|
96
126
|
}
|
|
127
|
+
if (exit) {
|
|
128
|
+
let exitErr = false;
|
|
129
|
+
/* istanbul ignore if */
|
|
130
|
+
if (Array.isArray(outcome)) {
|
|
131
|
+
for (const res of outcome) {
|
|
132
|
+
if (res.violations.length > 0) {
|
|
133
|
+
exitErr = true;
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
exitErr = outcome.violations.length > 0;
|
|
140
|
+
}
|
|
141
|
+
if (exitErr) {
|
|
142
|
+
process.exit(1);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
97
145
|
/* istanbul ignore if */
|
|
98
146
|
if (silentMode) {
|
|
99
147
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bin/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,oDAA4B;AAC5B,wCAWsB;AACtB,yEAA+C;AAC/C,2DAAkC;AAClC,gDAA+C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bin/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lib/events.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AxeResults } from 'axe-core';
|
|
2
2
|
import type { EventParams } from '../types';
|
|
3
|
-
declare const _default: ({ silentMode, timer, cliReporter, verbose
|
|
3
|
+
declare const _default: ({ silentMode, timer, cliReporter, verbose }: EventParams) => {
|
|
4
4
|
startTimer: (message: string) => void;
|
|
5
5
|
endTimer: (message: string) => void;
|
|
6
6
|
waitingMessage: (loadDelayTime: number) => void;
|
package/dist/src/lib/events.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const utils_1 = require("./utils");
|
|
4
|
-
exports.default = ({ silentMode, timer, cliReporter, verbose
|
|
4
|
+
exports.default = ({ silentMode, timer, cliReporter, verbose }) => {
|
|
5
5
|
return {
|
|
6
6
|
startTimer: (message) => {
|
|
7
7
|
console.time(message);
|
|
@@ -48,9 +48,6 @@ exports.default = ({ silentMode, timer, cliReporter, verbose, exit }) => {
|
|
|
48
48
|
};
|
|
49
49
|
cliReporter(`\n${JSON.stringify(metadata, null, 2)}`);
|
|
50
50
|
}
|
|
51
|
-
if (exit) {
|
|
52
|
-
process.exit(1);
|
|
53
|
-
}
|
|
54
51
|
}
|
|
55
52
|
};
|
|
56
53
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/lib/events.ts"],"names":[],"mappings":";;AAEA,mCAAqE;AAErE,kBAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/lib/events.ts"],"names":[],"mappings":";;AAEA,mCAAqE;AAErE,kBAAe,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAe,EAAE,EAAE;IAC1E,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;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/src/lib/utils.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { AxeResults } from 'axe-core';
|
|
|
3
3
|
export declare const saveOutcome: (outcome: AxeResults | AxeResults[], fileName?: string, dir?: string) => string;
|
|
4
4
|
export declare const parseUrl: (url: string) => string;
|
|
5
5
|
export declare const parseBrowser: (browser?: string) => string | Error;
|
|
6
|
-
export declare const getAxeSource: (axePath?: string) => string | void;
|
|
6
|
+
export declare const getAxeSource: (axePath?: string, dirname?: string) => string | void;
|
|
7
7
|
export declare const getAxeVersion: (source: string) => string;
|
|
8
8
|
export declare const splitList: (val: string) => string[];
|
|
9
9
|
export declare const selectorToString: (selectors: string[], separator?: string) => string;
|
package/dist/src/lib/utils.js
CHANGED
|
@@ -63,24 +63,31 @@ const parseBrowser = (browser) => {
|
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
65
|
exports.parseBrowser = parseBrowser;
|
|
66
|
-
const getAxeSource = (axePath) => {
|
|
66
|
+
const getAxeSource = (axePath, dirname) => {
|
|
67
67
|
// Abort if axePath should exist, and it isn't
|
|
68
68
|
if (axePath && !fs_1.default.existsSync(axePath)) {
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
71
|
+
let cwd = dirname;
|
|
72
|
+
if (!cwd) {
|
|
73
|
+
cwd = process.cwd();
|
|
74
|
+
}
|
|
75
|
+
if (!dirname) {
|
|
76
|
+
dirname = __dirname;
|
|
77
|
+
}
|
|
71
78
|
// Look for axe in current working directory
|
|
72
79
|
if (!axePath) {
|
|
73
|
-
axePath = path_1.default.join(
|
|
80
|
+
axePath = path_1.default.join(cwd, 'axe.js');
|
|
74
81
|
}
|
|
75
82
|
if (!fs_1.default.existsSync(axePath)) {
|
|
76
83
|
// Look for axe in CWD ./node_modules
|
|
77
|
-
axePath = path_1.default.join(
|
|
84
|
+
axePath = path_1.default.join(cwd, 'node_modules', 'axe-core', 'axe.js');
|
|
78
85
|
}
|
|
79
86
|
if (!fs_1.default.existsSync(axePath)) {
|
|
80
87
|
// `__dirname` is /@axe-core/cli/dist/src/lib when installed globally
|
|
81
88
|
// to access the locally installed axe-core package we need to go up 3 levels
|
|
82
89
|
// if all else fails, use the locally installed axe
|
|
83
|
-
axePath = path_1.default.join(
|
|
90
|
+
axePath = path_1.default.join(dirname, '..', '..', '..', 'node_modules', 'axe-core', 'axe.js');
|
|
84
91
|
}
|
|
85
92
|
return fs_1.default.readFileSync(axePath, 'utf-8');
|
|
86
93
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,11 +22,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
25
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
29
|
require("mocha");
|
|
27
30
|
const chai_1 = require("chai");
|
|
28
|
-
const
|
|
29
|
-
const
|
|
31
|
+
const tempy_1 = __importDefault(require("tempy"));
|
|
32
|
+
const path_1 = require("path");
|
|
33
|
+
const fs_1 = require("fs");
|
|
30
34
|
const utils = __importStar(require("./utils"));
|
|
31
35
|
describe('utils', () => {
|
|
32
36
|
describe('parseUrl', () => {
|
|
@@ -89,21 +93,42 @@ describe('utils', () => {
|
|
|
89
93
|
});
|
|
90
94
|
describe('getAxeSource', () => {
|
|
91
95
|
describe('mock file', () => {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
function setupTree() {
|
|
97
|
+
const tempDir = tempy_1.default.directory();
|
|
98
|
+
const parentDirname = (0, path_1.join)(tempDir, 'node_modules', 'axe-core');
|
|
99
|
+
(0, fs_1.mkdirSync)(parentDirname, { recursive: true });
|
|
100
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(parentDirname, 'axe.js'), 'parent');
|
|
101
|
+
const cliDirname = (0, path_1.join)(tempDir, 'packages', 'cli');
|
|
102
|
+
const nodeModDirname = (0, path_1.join)(cliDirname, 'node_modules', 'axe-core');
|
|
103
|
+
(0, fs_1.mkdirSync)(nodeModDirname, { recursive: true });
|
|
104
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(nodeModDirname, 'axe.js'), 'node modules');
|
|
105
|
+
const cwdDirname = (0, path_1.join)(tempDir, 'packages', 'cli', 'lib');
|
|
106
|
+
(0, fs_1.mkdirSync)(cwdDirname);
|
|
107
|
+
(0, fs_1.writeFileSync)((0, path_1.join)(cwdDirname, 'axe.js'), 'cwd');
|
|
108
|
+
return {
|
|
109
|
+
cliDirname,
|
|
110
|
+
parentDirname,
|
|
111
|
+
nodeModDirname,
|
|
112
|
+
cwdDirname
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
it('uses axe.js from the working directory if it exists', () => {
|
|
116
|
+
const { cwdDirname } = setupTree();
|
|
117
|
+
const axeSource = utils.getAxeSource(undefined, cwdDirname);
|
|
118
|
+
chai_1.assert.include(axeSource, 'cwd');
|
|
99
119
|
});
|
|
100
|
-
|
|
101
|
-
|
|
120
|
+
it("falls back to axe-core from the working directory's node_modules if axe.js doesn't exist in the working directory", () => {
|
|
121
|
+
const { cliDirname, cwdDirname } = setupTree();
|
|
122
|
+
(0, fs_1.rmSync)((0, path_1.join)(cwdDirname, 'axe.js'));
|
|
123
|
+
const axeSource = utils.getAxeSource(undefined, cliDirname);
|
|
124
|
+
chai_1.assert.include(axeSource, 'node modules');
|
|
102
125
|
});
|
|
103
|
-
it(
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
|
|
126
|
+
it("falls back to axe-core from our own package's node_modules if no working-directory based implementation exists", () => {
|
|
127
|
+
const { cwdDirname, nodeModDirname } = setupTree();
|
|
128
|
+
(0, fs_1.rmSync)((0, path_1.join)(cwdDirname, 'axe.js'));
|
|
129
|
+
(0, fs_1.rmSync)((0, path_1.join)(nodeModDirname, 'axe.js'));
|
|
130
|
+
const axeSource = utils.getAxeSource(undefined, cwdDirname);
|
|
131
|
+
chai_1.assert.include(axeSource, 'parent');
|
|
107
132
|
});
|
|
108
133
|
});
|
|
109
134
|
it('given no axe source use local source', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../src/lib/utils.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../src/lib/utils.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.startDriver = void 0;
|
|
16
|
+
const path_1 = __importDefault(require("path"));
|
|
16
17
|
const chromedriver_1 = __importDefault(require("chromedriver"));
|
|
17
18
|
const selenium_webdriver_1 = require("selenium-webdriver");
|
|
18
19
|
const chrome_1 = __importDefault(require("selenium-webdriver/chrome"));
|
|
@@ -29,6 +30,9 @@ const startDriver = (config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
29
30
|
return options.addArguments(arg);
|
|
30
31
|
}, options);
|
|
31
32
|
}
|
|
33
|
+
if (config.chromePath) {
|
|
34
|
+
options.setChromeBinaryPath(path_1.default.resolve(config.chromePath));
|
|
35
|
+
}
|
|
32
36
|
builder = new selenium_webdriver_1.Builder()
|
|
33
37
|
.forBrowser('chrome')
|
|
34
38
|
.setChromeOptions(options)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../../../src/lib/webdriver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"webdriver.js","sourceRoot":"","sources":["../../../src/lib/webdriver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,gEAAwC;AACxC,2DAA6D;AAC7D,uEAA+C;AAG/C,MAAM,WAAW,GAAG,CAClB,MAA6B,EACT,EAAE;;IACtB,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;IAC9C,IAAI,OAAgB,CAAC;IACrB,0BAA0B;IAC1B,IAAI,MAAM,CAAC,OAAO,KAAK,iBAAiB,EAAE;QACxC,MAAM,OAAO,GAAG,IAAI,gBAAM,CAAC,cAAc,CACvC,MAAM,CAAC,gBAAgB,IAAI,sBAAY,CAAC,IAAI,CAC7C,CAAC;QAEF,IAAI,OAAO,GAAG,IAAI,gBAAM,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC9C,IAAI,MAAA,MAAM,CAAC,aAAa,0CAAE,MAAM,EAAE;YAChC,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,OAAO,EAAE,GAAG;gBAC1D,OAAO,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC,EAAE,OAAO,CAAC,CAAC;SACb;QAED,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,OAAO,CAAC,mBAAmB,CAAC,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;SAC9D;QAED,OAAO,GAAG,IAAI,4BAAO,EAAE;aACpB,UAAU,CAAC,QAAQ,CAAC;aACpB,gBAAgB,CAAC,OAAO,CAAC;aACzB,gBAAgB,CAAC,OAAO,CAAC,CAAC;KAC9B;SAAM;QACL,OAAO,GAAG,IAAI,4BAAO,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACpD;IAED,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAC/B,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC;AAChB,CAAC,CAAA,CAAC;AAEO,kCAAW"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export * from './lib';
|
|
|
4
4
|
export interface EventParams {
|
|
5
5
|
silentMode: boolean;
|
|
6
6
|
timer: boolean;
|
|
7
|
-
cliReporter: (...args:
|
|
7
|
+
cliReporter: (...args: unknown[]) => void;
|
|
8
8
|
verbose: boolean;
|
|
9
9
|
exit: boolean;
|
|
10
10
|
}
|
|
@@ -19,6 +19,7 @@ export interface WebdriverConfigParams {
|
|
|
19
19
|
browser: string;
|
|
20
20
|
timeout: number;
|
|
21
21
|
chromedriverPath?: string;
|
|
22
|
+
chromePath?: string;
|
|
22
23
|
path?: string;
|
|
23
24
|
chromeOptions?: string[];
|
|
24
25
|
builder?: Builder;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axe-core/cli",
|
|
3
|
-
"version": "4.7.
|
|
3
|
+
"version": "4.7.4-480fb12.0+480fb12",
|
|
4
4
|
"description": "A CLI for accessibility testing using axe-core",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Wilco Fiers",
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
"testing"
|
|
45
45
|
],
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@axe-core/webdriverjs": "
|
|
47
|
+
"@axe-core/webdriverjs": "4.7.4-480fb12.0+480fb12",
|
|
48
48
|
"axe-core": "^4.7.0",
|
|
49
|
-
"chromedriver": "
|
|
49
|
+
"chromedriver": "latest",
|
|
50
50
|
"colors": "^1.4.0",
|
|
51
51
|
"commander": "^9.4.1",
|
|
52
52
|
"selenium-webdriver": "^4.8.1"
|
|
@@ -55,15 +55,13 @@
|
|
|
55
55
|
"@types/chai": "^4.3.3",
|
|
56
56
|
"@types/chromedriver": "^81.0.1",
|
|
57
57
|
"@types/mocha": "^10.0.0",
|
|
58
|
-
"@types/mock-fs": "^4.13.1",
|
|
59
58
|
"@types/selenium-webdriver": "^4.1.5",
|
|
60
59
|
"chai": "^4.3.6",
|
|
61
60
|
"execa": "5.1.0",
|
|
62
61
|
"mocha": "^10.0.0",
|
|
63
|
-
"mock-fs": "^5.1.4",
|
|
64
62
|
"nyc": "^15.1.0",
|
|
65
63
|
"rimraf": "^3.0.2",
|
|
66
|
-
"tempy": "1.0.0",
|
|
64
|
+
"tempy": "^1.0.0",
|
|
67
65
|
"ts-node": "^10.9.1",
|
|
68
66
|
"typescript": "^4.8.4"
|
|
69
67
|
},
|
|
@@ -77,7 +75,7 @@
|
|
|
77
75
|
"html"
|
|
78
76
|
],
|
|
79
77
|
"statements": 95,
|
|
80
|
-
"branches":
|
|
78
|
+
"branches": 91,
|
|
81
79
|
"functions": 94,
|
|
82
80
|
"lines": 95,
|
|
83
81
|
"exclude": [
|
|
@@ -87,5 +85,5 @@
|
|
|
87
85
|
"src/testutils"
|
|
88
86
|
]
|
|
89
87
|
},
|
|
90
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "480fb1268ffa3547a8d056a7c274607fca3ca274"
|
|
91
89
|
}
|
package/src/bin/cli.test.ts
CHANGED
|
@@ -9,6 +9,12 @@ import { version } from '../../package.json';
|
|
|
9
9
|
import runCLI from '../testutils/';
|
|
10
10
|
|
|
11
11
|
const SIMPLE_HTML_FILE = path.join(__dirname, '..', 'testutils', 'simple.html');
|
|
12
|
+
const SIMPLE_CLEAN_HTML_FILE = path.join(
|
|
13
|
+
__dirname,
|
|
14
|
+
'..',
|
|
15
|
+
'testutils',
|
|
16
|
+
'simple-clean.html'
|
|
17
|
+
);
|
|
12
18
|
const SIMPLE_HTML_SOURCE = fs.readFileSync(SIMPLE_HTML_FILE, 'utf8');
|
|
13
19
|
const PATH_TO_AXE_250 = path.resolve(
|
|
14
20
|
__dirname,
|
|
@@ -147,6 +153,18 @@ describe('cli', () => {
|
|
|
147
153
|
);
|
|
148
154
|
}
|
|
149
155
|
});
|
|
156
|
+
|
|
157
|
+
it('should exit zero if violations are found', async () => {
|
|
158
|
+
try {
|
|
159
|
+
await runCLI(`file://${SIMPLE_CLEAN_HTML_FILE}`, '--exit');
|
|
160
|
+
} catch (error) {
|
|
161
|
+
assert.equal(error.exitCode, 0);
|
|
162
|
+
assert.include(
|
|
163
|
+
error.stdout,
|
|
164
|
+
'Violation of "marquee" with 1 occurrences!'
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
});
|
|
150
168
|
});
|
|
151
169
|
|
|
152
170
|
describe('--dir', () => {
|
|
@@ -386,4 +404,15 @@ describe('cli', () => {
|
|
|
386
404
|
);
|
|
387
405
|
});
|
|
388
406
|
});
|
|
407
|
+
|
|
408
|
+
describe('--chrome-path', () => {
|
|
409
|
+
it('should throw error if path does not exist', async () => {
|
|
410
|
+
const result = await runCLI(
|
|
411
|
+
`file://${SIMPLE_HTML_FILE}`,
|
|
412
|
+
'--chrome-path="someinvalidpath"',
|
|
413
|
+
'--show-errors'
|
|
414
|
+
);
|
|
415
|
+
assert.include(result.stderr, 'no chrome binary at');
|
|
416
|
+
});
|
|
417
|
+
});
|
|
389
418
|
});
|
package/src/bin/cli.ts
CHANGED
package/src/bin/index.ts
CHANGED
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
import axeTestUrls from '../lib/axe-test-urls';
|
|
16
16
|
import event from '../lib/events';
|
|
17
17
|
import { startDriver } from '../lib/webdriver';
|
|
18
|
+
import { error as selenium_error } from 'selenium-webdriver';
|
|
18
19
|
|
|
19
20
|
const cli = async (
|
|
20
21
|
args: OptionValues,
|
|
@@ -36,7 +37,8 @@ const cli = async (
|
|
|
36
37
|
rules,
|
|
37
38
|
disable,
|
|
38
39
|
loadDelay,
|
|
39
|
-
chromedriverPath
|
|
40
|
+
chromedriverPath,
|
|
41
|
+
chromePath
|
|
40
42
|
} = args;
|
|
41
43
|
|
|
42
44
|
const showErrors = args.showErrors === true;
|
|
@@ -67,7 +69,8 @@ const cli = async (
|
|
|
67
69
|
browser: args.browser,
|
|
68
70
|
timeout,
|
|
69
71
|
chromeOptions,
|
|
70
|
-
chromedriverPath
|
|
72
|
+
chromedriverPath,
|
|
73
|
+
chromePath
|
|
71
74
|
};
|
|
72
75
|
|
|
73
76
|
args.driver = startDriver(driverConfigs);
|
|
@@ -106,8 +109,37 @@ const cli = async (
|
|
|
106
109
|
rules,
|
|
107
110
|
disable
|
|
108
111
|
};
|
|
112
|
+
let outcome;
|
|
109
113
|
try {
|
|
110
|
-
|
|
114
|
+
try {
|
|
115
|
+
outcome = await axeTestUrls(urls, testPageConfigParams, events);
|
|
116
|
+
} catch (e) {
|
|
117
|
+
if (e instanceof selenium_error.ScriptTimeoutError) {
|
|
118
|
+
console.error(error('Error: %s'), e.message);
|
|
119
|
+
console.log(`The timeout is currently configured to be ${timeout} seconds (you can change it with --timeout).`)
|
|
120
|
+
process.exit(2);
|
|
121
|
+
}
|
|
122
|
+
// Provide a more user-friendly error message when there's a ChromeDriver/Chrome version mismatch.
|
|
123
|
+
else if (
|
|
124
|
+
e instanceof selenium_error.SessionNotCreatedError &&
|
|
125
|
+
e.message.includes(
|
|
126
|
+
'This version of ChromeDriver only supports'
|
|
127
|
+
// This string has to match the error message printed by chromedriver, see
|
|
128
|
+
// https://chromium.googlesource.com/chromium/src/+/refs/tags/110.0.5481.194/chrome/test/chromedriver/chrome_launcher.cc#300.
|
|
129
|
+
)
|
|
130
|
+
) {
|
|
131
|
+
console.error(error('Error: %s'), e.message);
|
|
132
|
+
console.log(`\nPlease install a matching version of ChromeDriver and run axe with the --chromedriver-path option:
|
|
133
|
+
|
|
134
|
+
$ npm install -g chromedriver@<version>
|
|
135
|
+
$ axe --chromedriver-path $(npm root -g)/chromedriver/bin/chromedriver <url...>
|
|
136
|
+
|
|
137
|
+
(where <version> is the first number of the "current browser version" reported above.)`);
|
|
138
|
+
process.exit(2);
|
|
139
|
+
} else {
|
|
140
|
+
throw e;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
111
143
|
if (silentMode) {
|
|
112
144
|
process.stdout.write(JSON.stringify(outcome, null, 2));
|
|
113
145
|
return;
|
|
@@ -133,6 +165,24 @@ const cli = async (
|
|
|
133
165
|
}
|
|
134
166
|
}
|
|
135
167
|
|
|
168
|
+
if (exit) {
|
|
169
|
+
let exitErr = false;
|
|
170
|
+
/* istanbul ignore if */
|
|
171
|
+
if (Array.isArray(outcome)) {
|
|
172
|
+
for (const res of outcome) {
|
|
173
|
+
if (res.violations.length > 0) {
|
|
174
|
+
exitErr = true;
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
} else {
|
|
179
|
+
exitErr = outcome.violations.length > 0;
|
|
180
|
+
}
|
|
181
|
+
if (exitErr) {
|
|
182
|
+
process.exit(1);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
136
186
|
/* istanbul ignore if */
|
|
137
187
|
if (silentMode) {
|
|
138
188
|
return;
|
package/src/lib/events.ts
CHANGED
|
@@ -2,13 +2,7 @@ import type { AxeResults } from 'axe-core';
|
|
|
2
2
|
import type { EventParams } from '../types';
|
|
3
3
|
import { selectorToString, error, link, bold, green } from './utils';
|
|
4
4
|
|
|
5
|
-
export default ({
|
|
6
|
-
silentMode,
|
|
7
|
-
timer,
|
|
8
|
-
cliReporter,
|
|
9
|
-
verbose,
|
|
10
|
-
exit
|
|
11
|
-
}: EventParams) => {
|
|
5
|
+
export default ({ silentMode, timer, cliReporter, verbose }: EventParams) => {
|
|
12
6
|
return {
|
|
13
7
|
startTimer: (message: string) => {
|
|
14
8
|
console.time(message);
|
|
@@ -69,10 +63,6 @@ export default ({
|
|
|
69
63
|
};
|
|
70
64
|
cliReporter(`\n${JSON.stringify(metadata, null, 2)}`);
|
|
71
65
|
}
|
|
72
|
-
|
|
73
|
-
if (exit) {
|
|
74
|
-
process.exit(1);
|
|
75
|
-
}
|
|
76
66
|
}
|
|
77
67
|
};
|
|
78
68
|
};
|
package/src/lib/utils.test.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import 'mocha';
|
|
2
2
|
import { assert } from 'chai';
|
|
3
|
-
import
|
|
3
|
+
import tempy from 'tempy';
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
import { mkdirSync, writeFileSync, rmSync } from 'fs';
|
|
4
6
|
import { dependencies } from '../../package.json';
|
|
5
7
|
import * as utils from './utils';
|
|
6
8
|
|
|
@@ -74,24 +76,52 @@ describe('utils', () => {
|
|
|
74
76
|
|
|
75
77
|
describe('getAxeSource', () => {
|
|
76
78
|
describe('mock file', () => {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
79
|
+
function setupTree() {
|
|
80
|
+
const tempDir = tempy.directory();
|
|
81
|
+
const parentDirname = join(tempDir, 'node_modules', 'axe-core');
|
|
82
|
+
mkdirSync(parentDirname, { recursive: true });
|
|
83
|
+
writeFileSync(join(parentDirname, 'axe.js'), 'parent');
|
|
84
|
+
|
|
85
|
+
const cliDirname = join(tempDir, 'packages', 'cli');
|
|
86
|
+
const nodeModDirname = join(
|
|
87
|
+
cliDirname,
|
|
88
|
+
'node_modules',
|
|
89
|
+
'axe-core'
|
|
90
|
+
);
|
|
91
|
+
mkdirSync(nodeModDirname, { recursive: true });
|
|
92
|
+
writeFileSync(join(nodeModDirname, 'axe.js'), 'node modules');
|
|
93
|
+
|
|
94
|
+
const cwdDirname = join(tempDir, 'packages', 'cli', 'lib');
|
|
95
|
+
mkdirSync(cwdDirname);
|
|
96
|
+
writeFileSync(join(cwdDirname, 'axe.js'), 'cwd');
|
|
97
|
+
return {
|
|
98
|
+
cliDirname,
|
|
99
|
+
parentDirname,
|
|
100
|
+
nodeModDirname,
|
|
101
|
+
cwdDirname
|
|
102
|
+
};
|
|
103
|
+
}
|
|
85
104
|
|
|
86
|
-
|
|
87
|
-
|
|
105
|
+
it('uses axe.js from the working directory if it exists', () => {
|
|
106
|
+
const { cwdDirname } = setupTree();
|
|
107
|
+
const axeSource = utils.getAxeSource(undefined, cwdDirname);
|
|
108
|
+
assert.include(axeSource, 'cwd');
|
|
88
109
|
});
|
|
89
|
-
it(
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
110
|
+
it("falls back to axe-core from the working directory's node_modules if axe.js doesn't exist in the working directory", () => {
|
|
111
|
+
const { cliDirname, cwdDirname } = setupTree();
|
|
112
|
+
rmSync(join(cwdDirname, 'axe.js'));
|
|
113
|
+
const axeSource = utils.getAxeSource(undefined, cliDirname);
|
|
114
|
+
assert.include(axeSource, 'node modules');
|
|
115
|
+
});
|
|
116
|
+
it("falls back to axe-core from our own package's node_modules if no working-directory based implementation exists", () => {
|
|
117
|
+
const { cwdDirname, nodeModDirname } = setupTree();
|
|
118
|
+
rmSync(join(cwdDirname, 'axe.js'));
|
|
119
|
+
rmSync(join(nodeModDirname, 'axe.js'));
|
|
120
|
+
const axeSource = utils.getAxeSource(undefined, cwdDirname);
|
|
121
|
+
assert.include(axeSource, 'parent');
|
|
93
122
|
});
|
|
94
123
|
});
|
|
124
|
+
|
|
95
125
|
it('given no axe source use local source', () => {
|
|
96
126
|
const axeSource = utils.getAxeSource();
|
|
97
127
|
assert.isNotNull(axeSource);
|
package/src/lib/utils.ts
CHANGED
|
@@ -70,20 +70,32 @@ export const parseBrowser = (browser?: string): string | Error => {
|
|
|
70
70
|
}
|
|
71
71
|
};
|
|
72
72
|
|
|
73
|
-
export const getAxeSource = (
|
|
73
|
+
export const getAxeSource = (
|
|
74
|
+
axePath?: string,
|
|
75
|
+
dirname?: string
|
|
76
|
+
): string | void => {
|
|
74
77
|
// Abort if axePath should exist, and it isn't
|
|
75
78
|
if (axePath && !fs.existsSync(axePath)) {
|
|
76
79
|
return;
|
|
77
80
|
}
|
|
78
81
|
|
|
82
|
+
let cwd = dirname;
|
|
83
|
+
if (!cwd) {
|
|
84
|
+
cwd = process.cwd();
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (!dirname) {
|
|
88
|
+
dirname = __dirname;
|
|
89
|
+
}
|
|
90
|
+
|
|
79
91
|
// Look for axe in current working directory
|
|
80
92
|
if (!axePath) {
|
|
81
|
-
axePath = path.join(
|
|
93
|
+
axePath = path.join(cwd, 'axe.js');
|
|
82
94
|
}
|
|
83
95
|
|
|
84
96
|
if (!fs.existsSync(axePath)) {
|
|
85
97
|
// Look for axe in CWD ./node_modules
|
|
86
|
-
axePath = path.join(
|
|
98
|
+
axePath = path.join(cwd, 'node_modules', 'axe-core', 'axe.js');
|
|
87
99
|
}
|
|
88
100
|
|
|
89
101
|
if (!fs.existsSync(axePath)) {
|
|
@@ -91,7 +103,7 @@ export const getAxeSource = (axePath?: string): string | void => {
|
|
|
91
103
|
// to access the locally installed axe-core package we need to go up 3 levels
|
|
92
104
|
// if all else fails, use the locally installed axe
|
|
93
105
|
axePath = path.join(
|
|
94
|
-
|
|
106
|
+
dirname,
|
|
95
107
|
'..',
|
|
96
108
|
'..',
|
|
97
109
|
'..',
|
package/src/lib/webdriver.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import path from 'path';
|
|
1
2
|
import chromedriver from 'chromedriver';
|
|
2
|
-
import { Builder,
|
|
3
|
+
import { Builder, type WebDriver } from 'selenium-webdriver';
|
|
3
4
|
import chrome from 'selenium-webdriver/chrome';
|
|
4
5
|
import { WebdriverConfigParams } from '../types';
|
|
5
6
|
|
|
@@ -21,6 +22,10 @@ const startDriver = async (
|
|
|
21
22
|
}, options);
|
|
22
23
|
}
|
|
23
24
|
|
|
25
|
+
if (config.chromePath) {
|
|
26
|
+
options.setChromeBinaryPath(path.resolve(config.chromePath));
|
|
27
|
+
}
|
|
28
|
+
|
|
24
29
|
builder = new Builder()
|
|
25
30
|
.forBrowser('chrome')
|
|
26
31
|
.setChromeOptions(options)
|
|
@@ -1096,15 +1096,14 @@
|
|
|
1096
1096
|
}
|
|
1097
1097
|
axe._load = function (audit) {
|
|
1098
1098
|
'use strict';
|
|
1099
|
-
axe.utils.respondable.subscribe(
|
|
1100
|
-
|
|
1101
|
-
keepalive,
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
});
|
|
1099
|
+
axe.utils.respondable.subscribe(
|
|
1100
|
+
'axe.ping',
|
|
1101
|
+
function (data, keepalive, respond) {
|
|
1102
|
+
respond({
|
|
1103
|
+
axe: true
|
|
1104
|
+
});
|
|
1105
|
+
}
|
|
1106
|
+
);
|
|
1108
1107
|
axe.utils.respondable.subscribe('axe.start', runCommand);
|
|
1109
1108
|
axe._audit = new Audit(audit);
|
|
1110
1109
|
};
|
|
@@ -1843,16 +1842,20 @@
|
|
|
1843
1842
|
timeout = setTimeout(function () {
|
|
1844
1843
|
reject(err('Axe in frame timed out', node));
|
|
1845
1844
|
}, 3e4);
|
|
1846
|
-
axe.utils.respondable(
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1845
|
+
axe.utils.respondable(
|
|
1846
|
+
win,
|
|
1847
|
+
'axe.start',
|
|
1848
|
+
parameters,
|
|
1849
|
+
undefined,
|
|
1850
|
+
function (data) {
|
|
1851
|
+
clearTimeout(timeout);
|
|
1852
|
+
if (data instanceof Error === false) {
|
|
1853
|
+
resolve(data);
|
|
1854
|
+
} else {
|
|
1855
|
+
reject(data);
|
|
1856
|
+
}
|
|
1854
1857
|
}
|
|
1855
|
-
|
|
1858
|
+
);
|
|
1856
1859
|
});
|
|
1857
1860
|
};
|
|
1858
1861
|
function collectResultsFromFrames(
|
|
@@ -3779,8 +3782,7 @@
|
|
|
3779
3782
|
checkboxgroup: {
|
|
3780
3783
|
description:
|
|
3781
3784
|
'Ensures related <input type="checkbox"> elements have a group and that that group designation is consistent',
|
|
3782
|
-
help:
|
|
3783
|
-
'Checkbox inputs with the same name attribute value must be part of a group'
|
|
3785
|
+
help: 'Checkbox inputs with the same name attribute value must be part of a group'
|
|
3784
3786
|
},
|
|
3785
3787
|
'color-contrast': {
|
|
3786
3788
|
description:
|
|
@@ -3789,8 +3791,7 @@
|
|
|
3789
3791
|
},
|
|
3790
3792
|
'definition-list': {
|
|
3791
3793
|
description: 'Ensures <dl> elements are structured correctly',
|
|
3792
|
-
help:
|
|
3793
|
-
'<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script> or <template> elements'
|
|
3794
|
+
help: '<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script> or <template> elements'
|
|
3794
3795
|
},
|
|
3795
3796
|
dlitem: {
|
|
3796
3797
|
description: 'Ensures <dt> and <dd> elements are contained by a <dl>',
|
|
@@ -3830,8 +3831,7 @@
|
|
|
3830
3831
|
'href-no-hash': {
|
|
3831
3832
|
description:
|
|
3832
3833
|
'Ensures that href values are valid link references to promote only using anchors as links',
|
|
3833
|
-
help:
|
|
3834
|
-
'Anchors must only be used as links with valid URLs or URL fragments'
|
|
3834
|
+
help: 'Anchors must only be used as links with valid URLs or URL fragments'
|
|
3835
3835
|
},
|
|
3836
3836
|
'html-has-lang': {
|
|
3837
3837
|
description: 'Ensures every HTML document has a lang attribute',
|
|
@@ -3850,8 +3850,7 @@
|
|
|
3850
3850
|
'image-redundant-alt': {
|
|
3851
3851
|
description:
|
|
3852
3852
|
'Ensure button and link text is not repeated as image alternative',
|
|
3853
|
-
help:
|
|
3854
|
-
'Text of buttons and links should not be repeated in the image alternative'
|
|
3853
|
+
help: 'Text of buttons and links should not be repeated in the image alternative'
|
|
3855
3854
|
},
|
|
3856
3855
|
'input-image-alt': {
|
|
3857
3856
|
description:
|
|
@@ -3874,8 +3873,7 @@
|
|
|
3874
3873
|
},
|
|
3875
3874
|
'link-in-text-block': {
|
|
3876
3875
|
description: 'Links can be distinguished without relying on color',
|
|
3877
|
-
help:
|
|
3878
|
-
'Links must be distinguished from surrounding text in a way that does not rely on color'
|
|
3876
|
+
help: 'Links must be distinguished from surrounding text in a way that does not rely on color'
|
|
3879
3877
|
},
|
|
3880
3878
|
'link-name': {
|
|
3881
3879
|
description: 'Ensures links have discernible text',
|
|
@@ -3883,8 +3881,7 @@
|
|
|
3883
3881
|
},
|
|
3884
3882
|
list: {
|
|
3885
3883
|
description: 'Ensures that lists are structured correctly',
|
|
3886
|
-
help:
|
|
3887
|
-
'<ul> and <ol> must only directly contain <li>, <script> or <template> elements'
|
|
3884
|
+
help: '<ul> and <ol> must only directly contain <li>, <script> or <template> elements'
|
|
3888
3885
|
},
|
|
3889
3886
|
listitem: {
|
|
3890
3887
|
description: 'Ensures <li> elements are used semantically',
|
|
@@ -3914,14 +3911,12 @@
|
|
|
3914
3911
|
},
|
|
3915
3912
|
'p-as-heading': {
|
|
3916
3913
|
description: 'Ensure p elements are not used to style headings',
|
|
3917
|
-
help:
|
|
3918
|
-
'Bold, italic text and font-size are not used to style p elements as a heading'
|
|
3914
|
+
help: 'Bold, italic text and font-size are not used to style p elements as a heading'
|
|
3919
3915
|
},
|
|
3920
3916
|
radiogroup: {
|
|
3921
3917
|
description:
|
|
3922
3918
|
'Ensures related <input type="radio"> elements have a group and that the group designation is consistent',
|
|
3923
|
-
help:
|
|
3924
|
-
'Radio inputs with the same name attribute value must be part of a group'
|
|
3919
|
+
help: 'Radio inputs with the same name attribute value must be part of a group'
|
|
3925
3920
|
},
|
|
3926
3921
|
region: {
|
|
3927
3922
|
description:
|
|
@@ -3949,32 +3944,27 @@
|
|
|
3949
3944
|
'table-duplicate-name': {
|
|
3950
3945
|
description:
|
|
3951
3946
|
'Ensure that tables do not have the same summary and caption',
|
|
3952
|
-
help:
|
|
3953
|
-
'The <caption> element should not contain the same text as the summary attribute'
|
|
3947
|
+
help: 'The <caption> element should not contain the same text as the summary attribute'
|
|
3954
3948
|
},
|
|
3955
3949
|
'table-fake-caption': {
|
|
3956
3950
|
description:
|
|
3957
3951
|
'Ensure that tables with a caption use the <caption> element.',
|
|
3958
|
-
help:
|
|
3959
|
-
'Data or header cells should not be used to give caption to a data table.'
|
|
3952
|
+
help: 'Data or header cells should not be used to give caption to a data table.'
|
|
3960
3953
|
},
|
|
3961
3954
|
'td-has-header': {
|
|
3962
3955
|
description:
|
|
3963
3956
|
'Ensure that each non-empty data cell in a large table has one or more table headers',
|
|
3964
|
-
help:
|
|
3965
|
-
'All non-empty td element in table larger than 3 by 3 must have an associated table header'
|
|
3957
|
+
help: 'All non-empty td element in table larger than 3 by 3 must have an associated table header'
|
|
3966
3958
|
},
|
|
3967
3959
|
'td-headers-attr': {
|
|
3968
3960
|
description:
|
|
3969
3961
|
'Ensure that each cell in a table using the headers refers to another cell in that table',
|
|
3970
|
-
help:
|
|
3971
|
-
'All cells in a table element that use the headers attribute must only refer to other cells of that same table'
|
|
3962
|
+
help: 'All cells in a table element that use the headers attribute must only refer to other cells of that same table'
|
|
3972
3963
|
},
|
|
3973
3964
|
'th-has-data-cells': {
|
|
3974
3965
|
description:
|
|
3975
3966
|
'Ensure that each table header in a data table refers to data cells',
|
|
3976
|
-
help:
|
|
3977
|
-
'All th elements and elements with role=columnheader/rowheader must have data cells they describe'
|
|
3967
|
+
help: 'All th elements and elements with role=columnheader/rowheader must have data cells they describe'
|
|
3978
3968
|
},
|
|
3979
3969
|
'valid-lang': {
|
|
3980
3970
|
description: 'Ensures lang attributes have valid values',
|
|
@@ -9136,29 +9126,27 @@
|
|
|
9136
9126
|
}
|
|
9137
9127
|
return set;
|
|
9138
9128
|
};
|
|
9139
|
-
var sortRolesByOptimalAriaContext =
|
|
9140
|
-
roles,
|
|
9141
|
-
|
|
9142
|
-
|
|
9143
|
-
|
|
9144
|
-
|
|
9145
|
-
|
|
9146
|
-
return score + (ariaAttributes.indexOf(attribute) > -1 ? 1 : 0);
|
|
9147
|
-
}, 0);
|
|
9148
|
-
};
|
|
9149
|
-
var scored = roles.map(function (role) {
|
|
9150
|
-
return {
|
|
9151
|
-
score: getScore(role),
|
|
9152
|
-
name: role
|
|
9129
|
+
var sortRolesByOptimalAriaContext =
|
|
9130
|
+
function sortRolesByOptimalAriaContext(roles, ariaAttributes) {
|
|
9131
|
+
var getScore = function getScore(role) {
|
|
9132
|
+
var allowedAriaAttributes = aria.allowedAttr(role);
|
|
9133
|
+
return allowedAriaAttributes.reduce(function (score, attribute) {
|
|
9134
|
+
return score + (ariaAttributes.indexOf(attribute) > -1 ? 1 : 0);
|
|
9135
|
+
}, 0);
|
|
9153
9136
|
};
|
|
9154
|
-
|
|
9155
|
-
|
|
9156
|
-
|
|
9157
|
-
|
|
9158
|
-
|
|
9159
|
-
|
|
9160
|
-
|
|
9161
|
-
|
|
9137
|
+
var scored = roles.map(function (role) {
|
|
9138
|
+
return {
|
|
9139
|
+
score: getScore(role),
|
|
9140
|
+
name: role
|
|
9141
|
+
};
|
|
9142
|
+
});
|
|
9143
|
+
var sorted = scored.sort(function (scoredRoleA, scoredRoleB) {
|
|
9144
|
+
return scoredRoleB.score - scoredRoleA.score;
|
|
9145
|
+
});
|
|
9146
|
+
return sorted.map(function (sortedRole) {
|
|
9147
|
+
return sortedRole.name;
|
|
9148
|
+
});
|
|
9149
|
+
};
|
|
9162
9150
|
var roles = Object.keys(lookupTables.role).map(function (role) {
|
|
9163
9151
|
var lookup = lookupTables.role[role];
|
|
9164
9152
|
return {
|
package/src/types.ts
CHANGED
|
@@ -6,7 +6,7 @@ export * from './lib';
|
|
|
6
6
|
export interface EventParams {
|
|
7
7
|
silentMode: boolean;
|
|
8
8
|
timer: boolean;
|
|
9
|
-
cliReporter: (...args:
|
|
9
|
+
cliReporter: (...args: unknown[]) => void;
|
|
10
10
|
verbose: boolean;
|
|
11
11
|
exit: boolean;
|
|
12
12
|
}
|
|
@@ -23,6 +23,7 @@ export interface WebdriverConfigParams {
|
|
|
23
23
|
browser: string;
|
|
24
24
|
timeout: number;
|
|
25
25
|
chromedriverPath?: string;
|
|
26
|
+
chromePath?: string;
|
|
26
27
|
path?: string;
|
|
27
28
|
chromeOptions?: string[];
|
|
28
29
|
builder?: Builder;
|