This repository was archived by the owner on Dec 18, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 67
/
Copy patha11ym
executable file
·126 lines (121 loc) · 4.52 KB
/
a11ym
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#!/usr/bin/env node
'use strict';
/**
* Copyright (c) 2016, Ivan Enderlin and Liip
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3. Neither the name of the copyright holder nor the names of its contributors
* may be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
var a11ym = require('./lib/a11ym');
var program = require('commander');
// Define all the options, with their description and default value.
program
.usage('[options] url …')
.option(
'-b, --bootstrap <path>',
'Bootstrap file, i.e. the configuration file. All CLI options will overwrite options defined in the configuration file.'
)
.option(
'-e, --error-level <error_level>',
'Minimum error level: In ascending order, `notice` (default), `warning`, and `error` (e.g. `warning` includes all warnings and errors).',
/^notice|warning|error$/i
)
.option(
'-c, --filter-by-codes <codes>',
'Filter results by comma-separated WCAG codes (e.g. `H25,H91,G18`).'
)
.option(
'-C, --exclude-by-codes <codes>',
'Exclude results by comma-separated WCAG codes (e.g. `H25,H91,G18`).'
)
.option(
'-d, --maximum-depth <depth>',
'Explore up to a maximum depth (hops).',
/^\d+$/
)
.option(
'-m, --maximum-urls <maximum_urls>',
'Maximum number of URLs to compute.',
/^\d+$/
)
.option(
'-o, --output-directory <output_directory>',
'Output directory.'
)
.option(
'-r, --report <report>',
'Report format: `cli`, `csv`, `html` (default), `json` or `markdown`, or your own absolute path to a reporter.'
)
.option(
'--report-options <options>',
'Report options, as a JSON formatted object.'
)
.option(
'-s, --standards <standards>',
'Standard to use: `WCAG2A`, `WCAG2AA` (default), ` WCAG2AAA`, `Section508`, `HTML` or your own (see `--sniffers`). `HTML` can be combined with any other by a comma.'
)
.option(
'-S, --sniffers <sniffers>',
'Path to the sniffers file, e.g. `resource/sniffers.js` (default).'
)
.option(
'-u, --filter-by-urls <urls>',
'Filter URL to test by using a regular expression without delimiters (e.g. \'news|contact\').'
)
.option(
'-U, --exclude-by-urls <urls>',
'Exclude URL to test by using a regular expression without delimiters (e.g. \'news|contact\').'
)
.option(
'-w, --workers <workers>',
'Number of workers, i.e. number of URLs computed in parallel.',
/^\d+$/i
)
.option(
'--http-auth-user <http_auth_user>',
'Username to authenticate all HTTP requests.'
)
.option(
'--http-auth-password <http_auth_password>',
'Password to authenticate all HTTP requests.'
)
.option(
'--http-tls-disable',
'Disable TLS/SSL when crawling or downloading pages.'
)
.option(
'-V, --no-verbose',
'Make the program silent.'
)
.option(
'--ignore-robots-txt',
'Ignore robots.txt file.'
)
.parse(process.argv);
if (false === a11ym.start(program.opts(), program.args)) {
program.help();
process.exit(1);
}