@qualweb/cli 0.0.0-develop-20231205163610 → 0.0.0-develop-20241204125016
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/README.md +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +36 -0
- package/dist/cli.js.map +1 -0
- package/dist/lib/commands/listActRules.d.ts +3 -0
- package/dist/lib/commands/listActRules.d.ts.map +1 -0
- package/dist/lib/commands/listActRules.js +18 -0
- package/dist/lib/commands/listActRules.js.map +1 -0
- package/dist/lib/commands/listBestPractices.d.ts +3 -0
- package/dist/lib/commands/listBestPractices.d.ts.map +1 -0
- package/dist/lib/commands/listBestPractices.js +21 -0
- package/dist/lib/commands/listBestPractices.js.map +1 -0
- package/dist/lib/commands/listWcagTechniques.d.ts +3 -0
- package/dist/lib/commands/listWcagTechniques.d.ts.map +1 -0
- package/dist/lib/commands/listWcagTechniques.js +18 -0
- package/dist/lib/commands/listWcagTechniques.js.map +1 -0
- package/dist/lib/evaluateAction.d.ts +3 -0
- package/dist/lib/evaluateAction.d.ts.map +1 -0
- package/dist/lib/evaluateAction.js +157 -0
- package/dist/lib/evaluateAction.js.map +1 -0
- package/dist/lib/options/actRules.d.ts +10 -0
- package/dist/lib/options/actRules.d.ts.map +1 -0
- package/dist/lib/options/actRules.js +66 -0
- package/dist/lib/options/actRules.js.map +1 -0
- package/dist/lib/options/bestPractices.d.ts +8 -0
- package/dist/lib/options/bestPractices.d.ts.map +1 -0
- package/dist/lib/options/bestPractices.js +55 -0
- package/dist/lib/options/bestPractices.js.map +1 -0
- package/dist/lib/options/input.d.ts +8 -0
- package/dist/lib/options/input.d.ts.map +1 -0
- package/dist/lib/options/input.js +27 -0
- package/dist/lib/options/input.js.map +1 -0
- package/dist/lib/options/output.d.ts +11 -0
- package/dist/lib/options/output.d.ts.map +1 -0
- package/dist/lib/options/output.js +21 -0
- package/dist/lib/options/output.js.map +1 -0
- package/dist/lib/options/puppeteer.d.ts +9 -0
- package/dist/lib/options/puppeteer.d.ts.map +1 -0
- package/dist/lib/options/puppeteer.js +24 -0
- package/dist/lib/options/puppeteer.js.map +1 -0
- package/dist/lib/options/viewport.d.ts +12 -0
- package/dist/lib/options/viewport.d.ts.map +1 -0
- package/dist/lib/options/viewport.js +26 -0
- package/dist/lib/options/viewport.js.map +1 -0
- package/dist/lib/options/wcagTechniques.d.ts +10 -0
- package/dist/lib/options/wcagTechniques.d.ts.map +1 -0
- package/dist/lib/options/wcagTechniques.js +63 -0
- package/dist/lib/options/wcagTechniques.js.map +1 -0
- package/dist/lib/types.d.ts +22 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +27 -0
- package/dist/lib/types.js.map +1 -0
- package/package.json +20 -23
- package/bin/cli.js +0 -16
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -73
- package/dist/index.js.map +0 -1
- package/dist/lib/act-rules.options.json +0 -149
- package/dist/lib/actParser.d.ts +0 -6
- package/dist/lib/actParser.d.ts.map +0 -1
- package/dist/lib/actParser.js +0 -69
- package/dist/lib/actParser.js.map +0 -1
- package/dist/lib/bpParser.d.ts +0 -6
- package/dist/lib/bpParser.d.ts.map +0 -1
- package/dist/lib/bpParser.js +0 -53
- package/dist/lib/bpParser.js.map +0 -1
- package/dist/lib/fileUtils.d.ts +0 -20
- package/dist/lib/fileUtils.d.ts.map +0 -1
- package/dist/lib/fileUtils.js +0 -48
- package/dist/lib/fileUtils.js.map +0 -1
- package/dist/lib/options.d.ts +0 -156
- package/dist/lib/options.d.ts.map +0 -1
- package/dist/lib/options.js +0 -299
- package/dist/lib/options.js.map +0 -1
- package/dist/lib/parser.d.ts +0 -5
- package/dist/lib/parser.d.ts.map +0 -1
- package/dist/lib/parser.js +0 -133
- package/dist/lib/parser.js.map +0 -1
- package/dist/lib/parserUtils.d.ts +0 -9
- package/dist/lib/parserUtils.d.ts.map +0 -1
- package/dist/lib/parserUtils.js +0 -69
- package/dist/lib/parserUtils.js.map +0 -1
- package/dist/lib/wcagParser.d.ts +0 -6
- package/dist/lib/wcagParser.d.ts.map +0 -1
- package/dist/lib/wcagParser.js +0 -69
- package/dist/lib/wcagParser.js.map +0 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addPuppeteerOptions = addPuppeteerOptions;
|
|
4
|
+
const commander_1 = require("commander");
|
|
5
|
+
function addPuppeteerOptions(command) {
|
|
6
|
+
command.addOption(new commander_1.Option('--wait-until', 'Puppeteer lifecycle event to wait for before starting evaluation')
|
|
7
|
+
.choices(['load', 'domcontentloaded', 'networkidle0', 'networkidle2']));
|
|
8
|
+
command.option('--max-parallel-evaluations <number>', 'Maximum number of parallel evaluations to run.', (value) => {
|
|
9
|
+
const parsed = Number.parseInt(value);
|
|
10
|
+
if (Number.isNaN(parsed) || parsed < 1) {
|
|
11
|
+
throw new commander_1.InvalidOptionArgumentError('Max parallel evaluations must be a number greater than 0');
|
|
12
|
+
}
|
|
13
|
+
return parsed;
|
|
14
|
+
});
|
|
15
|
+
command.option('--timeout', 'Maximum time to wait for the evaluation to finish or try to connect to URL.', (value) => {
|
|
16
|
+
const parsed = Number.parseInt(value);
|
|
17
|
+
if (Number.isNaN(parsed) || parsed < 1) {
|
|
18
|
+
throw new commander_1.InvalidOptionArgumentError('Timeout must be a number greater than 0');
|
|
19
|
+
}
|
|
20
|
+
return parsed;
|
|
21
|
+
});
|
|
22
|
+
return command;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=puppeteer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../../../src/lib/options/puppeteer.ts"],"names":[],"mappings":";;AASA,kDAmCC;AA3CD,yCAAwE;AAQxE,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,OAAO,CAAC,SAAS,CACf,IAAI,kBAAM,CAAC,cAAc,EAAE,kEAAkE,CAAC;SAC3F,OAAO,CAA4B,CAAC,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CACpG,CAAC;IAEF,OAAO,CAAC,MAAM,CACZ,qCAAqC,EACrC,gDAAgD,EAChD,CAAC,KAAK,EAAE,EAAE;QACR,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,sCAA0B,CAAC,0DAA0D,CAAC,CAAC;QACnG,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CACF,CAAC;IAEF,OAAO,CAAC,MAAM,CACZ,WAAW,EACX,6EAA6E,EAC7E,CAAC,KAAK,EAAE,EAAE;QACR,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,sCAA0B,CAAC,yCAAyC,CAAC,CAAC;QAClF,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CACF,CAAA;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
export type ViewportOptions = {
|
|
3
|
+
mobile?: boolean;
|
|
4
|
+
orientation?: 'portrait' | 'landscape';
|
|
5
|
+
userAgent?: string;
|
|
6
|
+
viewportResolution?: {
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export declare function addViewportOptions(command: Command): Command;
|
|
12
|
+
//# sourceMappingURL=viewport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../../src/lib/options/viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAsC,MAAM,WAAW,CAAC;AAExE,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CA2B5D"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addViewportOptions = addViewportOptions;
|
|
4
|
+
const commander_1 = require("commander");
|
|
5
|
+
function addViewportOptions(command) {
|
|
6
|
+
command.option('--mobile', 'Use mobile mode in the browser viewport');
|
|
7
|
+
const orientationOption = new commander_1.Option('--orientation <orientation>', 'Orientation of the screen.')
|
|
8
|
+
.choices(['portrait', 'landscape'])
|
|
9
|
+
.default('portrait');
|
|
10
|
+
command.addOption(orientationOption);
|
|
11
|
+
command.option('--user-agent <user-agent>', 'Sets a custom user agent for the browser.');
|
|
12
|
+
command.option('--viewport-resolution <WIDTHxHEIGHT>', 'Resolution of the browser viewport', (value) => {
|
|
13
|
+
const matches = /^(?<width>\d+)x(?<height>\d+)$/.exec(value);
|
|
14
|
+
if (matches === null) {
|
|
15
|
+
throw new commander_1.InvalidOptionArgumentError('Viewport resolution must be in the format WIDTHxHEIGHT. Both values must be integers.');
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
return {
|
|
19
|
+
width: Number.parseInt(matches.groups.width),
|
|
20
|
+
height: Number.parseInt(matches.groups.height),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
return command;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=viewport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport.js","sourceRoot":"","sources":["../../../src/lib/options/viewport.ts"],"names":[],"mappings":";;AASA,gDA2BC;AApCD,yCAAwE;AASxE,SAAgB,kBAAkB,CAAC,OAAgB;IACjD,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,yCAAyC,CAAC,CAAC;IAEtE,MAAM,iBAAiB,GAAG,IAAI,kBAAM,CAAC,6BAA6B,EAAE,4BAA4B,CAAC;SAC9F,OAAO,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;SAClC,OAAO,CAAC,UAAU,CAAC,CACnB;IAEH,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAErC,OAAO,CAAC,MAAM,CAAC,2BAA2B,EAAE,2CAA2C,CAAC,CAAC;IAGzF,OAAO,CAAC,MAAM,CAAC,sCAAsC,EAAE,oCAAoC,EAAE,CAAC,KAAa,EAAqC,EAAE;QAChJ,MAAM,OAAO,GAAG,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,sCAA0B,CAAC,uFAAuF,CAAC,CAAC;QAChI,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAO,CAAC,KAAK,CAAC;gBAC7C,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAO,CAAC,MAAM,CAAC;aAChD,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { ConformanceLevelEnum, PrincipleEnum, RuleListParseResult } from '../types';
|
|
3
|
+
export type WcagTechniqueOptions = {
|
|
4
|
+
wcagTechniques?: RuleListParseResult;
|
|
5
|
+
excludeWcag?: RuleListParseResult;
|
|
6
|
+
wcagLevels?: ConformanceLevelEnum[];
|
|
7
|
+
wcagPrinciples?: PrincipleEnum[];
|
|
8
|
+
};
|
|
9
|
+
export declare function addWcagTechniqueOptionsToCommand(command: Command): Command;
|
|
10
|
+
//# sourceMappingURL=wcagTechniques.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wcagTechniques.d.ts","sourceRoot":"","sources":["../../../src/lib/options/wcagTechniques.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EAER,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,oBAAoB,EAAqB,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAiEvG,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACpC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,CAAA;AAQD,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CA2B1E"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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.addWcagTechniqueOptionsToCommand = addWcagTechniqueOptionsToCommand;
|
|
7
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
|
+
const commander_1 = require("commander");
|
|
9
|
+
const techniques_json_1 = __importDefault(require("@qualweb/wcag-techniques/lib/techniques.json"));
|
|
10
|
+
const types_1 = require("../types");
|
|
11
|
+
function wcagTechniquesListParseHelper(value, previousValue) {
|
|
12
|
+
if (!previousValue)
|
|
13
|
+
previousValue = { error: [], ok: [] };
|
|
14
|
+
const allWcagTechniques = Object.values(techniques_json_1.default);
|
|
15
|
+
if (/^QW-WCAG-T\d+$/i.exec(value)) {
|
|
16
|
+
value = value.toUpperCase();
|
|
17
|
+
const foundWcagTechnique = allWcagTechniques.find(rule => rule.code === value);
|
|
18
|
+
if (foundWcagTechnique) {
|
|
19
|
+
previousValue.ok.push(foundWcagTechnique.code);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
previousValue.error.push(value);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
value = value.toUpperCase();
|
|
27
|
+
const foundTechnique = allWcagTechniques.find(rule => rule.mapping === value);
|
|
28
|
+
if (foundTechnique) {
|
|
29
|
+
previousValue.ok.push(foundTechnique.code);
|
|
30
|
+
}
|
|
31
|
+
else if (node_fs_1.default.existsSync(value)) {
|
|
32
|
+
const fileContents = node_fs_1.default.readFileSync(value, 'utf8')
|
|
33
|
+
.split(/\r?\n/)
|
|
34
|
+
.map(line => line.trim())
|
|
35
|
+
.filter(line => line.length > 0);
|
|
36
|
+
return fileContents.reduce((prev, current) => wcagTechniquesListParseHelper(current, prev), previousValue);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
previousValue.error.push(value);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return previousValue;
|
|
43
|
+
}
|
|
44
|
+
function addWcagTechniqueOptionsToCommand(command) {
|
|
45
|
+
const wcagTechniqueIncludeOption = new commander_1.Option('--wcag-techniques <techniques...>', 'Which WCAG techniques to execute. Can be multiple. If a path to a FILE, it will be read as a newline-separated list of techniques.')
|
|
46
|
+
.argParser(wcagTechniquesListParseHelper)
|
|
47
|
+
.implies({ module: [types_1.ModuleOptionsEnum.WCAGTechniques] });
|
|
48
|
+
const wcagTechniqueExcludeOption = new commander_1.Option('--exclude-wcag <techniques...>', 'Which WCAG techniques to not execute. Can be multiple. If a path to a FILE, it will be read as a newline-separated list of techniques.')
|
|
49
|
+
.argParser(wcagTechniquesListParseHelper)
|
|
50
|
+
.implies({ module: [types_1.ModuleOptionsEnum.WCAGTechniques] });
|
|
51
|
+
const wcagTechniqueLevelOption = new commander_1.Option('--wcag-levels <levels...>', 'Which conformance levels to test for WCAG techniques. Will include all techniques that match the level. Can be multiple.')
|
|
52
|
+
.choices(Object.values(types_1.ConformanceLevelEnum))
|
|
53
|
+
.implies({ module: [types_1.ModuleOptionsEnum.WCAGTechniques] });
|
|
54
|
+
const wcagTechniquePrincipleOption = new commander_1.Option('--wcag-principles <principles...>', 'Which principles to test for in WCAG techniques. Only techniques matching the principle will be tested.')
|
|
55
|
+
.choices(Object.values(types_1.PrincipleEnum))
|
|
56
|
+
.implies({ module: [types_1.ModuleOptionsEnum.WCAGTechniques] });
|
|
57
|
+
command.addOption(wcagTechniqueIncludeOption);
|
|
58
|
+
command.addOption(wcagTechniqueExcludeOption);
|
|
59
|
+
command.addOption(wcagTechniqueLevelOption);
|
|
60
|
+
command.addOption(wcagTechniquePrincipleOption);
|
|
61
|
+
return command;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=wcagTechniques.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wcagTechniques.js","sourceRoot":"","sources":["../../../src/lib/options/wcagTechniques.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare enum ModuleOptionsEnum {
|
|
2
|
+
ACTRules = "act-rules",
|
|
3
|
+
BestPractices = "best-practices",
|
|
4
|
+
WCAGTechniques = "wcag-techniques",
|
|
5
|
+
Counter = "counter"
|
|
6
|
+
}
|
|
7
|
+
export declare enum ConformanceLevelEnum {
|
|
8
|
+
A = "A",
|
|
9
|
+
AA = "AA",
|
|
10
|
+
AAA = "AAA"
|
|
11
|
+
}
|
|
12
|
+
export declare enum PrincipleEnum {
|
|
13
|
+
Perceivable = "Perceivable",
|
|
14
|
+
Operable = "Operable",
|
|
15
|
+
Understandable = "Understandable",
|
|
16
|
+
Robust = "Robust"
|
|
17
|
+
}
|
|
18
|
+
export type RuleListParseResult = {
|
|
19
|
+
ok: string[];
|
|
20
|
+
error: string[];
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAGA,oBAAY,iBAAiB;IAC3B,QAAQ,cAAc;IACtB,aAAa,mBAAmB;IAChC,cAAc,oBAAoB;IAClC,OAAO,YAAY;CACpB;AAED,oBAAY,oBAAoB;IAC9B,CAAC,MAAM;IACP,EAAE,OAAO;IACT,GAAG,QAAQ;CACZ;AAED,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,MAAM,WAAW;CAClB;AAMD,MAAM,MAAM,mBAAmB,GAAG;IAIhC,EAAE,EAAE,MAAM,EAAE,CAAC;IAKb,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PrincipleEnum = exports.ConformanceLevelEnum = exports.ModuleOptionsEnum = void 0;
|
|
4
|
+
var ModuleOptionsEnum;
|
|
5
|
+
(function (ModuleOptionsEnum) {
|
|
6
|
+
ModuleOptionsEnum["ACTRules"] = "act-rules";
|
|
7
|
+
ModuleOptionsEnum["BestPractices"] = "best-practices";
|
|
8
|
+
ModuleOptionsEnum["WCAGTechniques"] = "wcag-techniques";
|
|
9
|
+
ModuleOptionsEnum["Counter"] = "counter";
|
|
10
|
+
})(ModuleOptionsEnum || (exports.ModuleOptionsEnum = ModuleOptionsEnum = {}));
|
|
11
|
+
;
|
|
12
|
+
var ConformanceLevelEnum;
|
|
13
|
+
(function (ConformanceLevelEnum) {
|
|
14
|
+
ConformanceLevelEnum["A"] = "A";
|
|
15
|
+
ConformanceLevelEnum["AA"] = "AA";
|
|
16
|
+
ConformanceLevelEnum["AAA"] = "AAA";
|
|
17
|
+
})(ConformanceLevelEnum || (exports.ConformanceLevelEnum = ConformanceLevelEnum = {}));
|
|
18
|
+
;
|
|
19
|
+
var PrincipleEnum;
|
|
20
|
+
(function (PrincipleEnum) {
|
|
21
|
+
PrincipleEnum["Perceivable"] = "Perceivable";
|
|
22
|
+
PrincipleEnum["Operable"] = "Operable";
|
|
23
|
+
PrincipleEnum["Understandable"] = "Understandable";
|
|
24
|
+
PrincipleEnum["Robust"] = "Robust";
|
|
25
|
+
})(PrincipleEnum || (exports.PrincipleEnum = PrincipleEnum = {}));
|
|
26
|
+
;
|
|
27
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":";;;AAGA,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,2CAAsB,CAAA;IACtB,qDAAgC,CAAA;IAChC,uDAAkC,CAAA;IAClC,wCAAmB,CAAA;AACrB,CAAC,EALW,iBAAiB,iCAAjB,iBAAiB,QAK5B;AAAA,CAAC;AAEF,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC9B,+BAAO,CAAA;IACP,iCAAS,CAAA;IACT,mCAAW,CAAA;AACb,CAAC,EAJW,oBAAoB,oCAApB,oBAAoB,QAI/B;AAAA,CAAC;AAEF,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,4CAA2B,CAAA;IAC3B,sCAAqB,CAAA;IACrB,kDAAiC,CAAA;IACjC,kCAAiB,CAAA;AACnB,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB;AAAA,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qualweb/cli",
|
|
3
|
-
"version": "0.0.0-develop-
|
|
3
|
+
"version": "0.0.0-develop-20241204125016",
|
|
4
4
|
"description": "QualWeb evaluator command line interface",
|
|
5
|
-
"main": "dist/
|
|
5
|
+
"main": "dist/cli.js",
|
|
6
6
|
"bin": {
|
|
7
|
-
"qw": "./
|
|
7
|
+
"qw": "./dist/cli.js"
|
|
8
8
|
},
|
|
9
9
|
"files": [
|
|
10
10
|
"dist/*"
|
|
@@ -13,11 +13,9 @@
|
|
|
13
13
|
"tsc": "tsc",
|
|
14
14
|
"test": "mocha",
|
|
15
15
|
"prebuild": "rimraf dist",
|
|
16
|
-
"lint": "eslint
|
|
17
|
-
"lint:fix": "eslint src --ext .ts --fix",
|
|
16
|
+
"lint": "eslint .",
|
|
18
17
|
"format": "prettier src/**/*.ts --write",
|
|
19
|
-
"build": "
|
|
20
|
-
"typedoc": "typedoc --out docs src/index.ts",
|
|
18
|
+
"build": "tsc --build tsconfig.prod.json",
|
|
21
19
|
"prepublishOnly": "npm run build"
|
|
22
20
|
},
|
|
23
21
|
"keywords": [
|
|
@@ -36,30 +34,29 @@
|
|
|
36
34
|
"url": "https://github.com/qualweb/cli.git"
|
|
37
35
|
},
|
|
38
36
|
"engines": {
|
|
39
|
-
"node": ">=
|
|
37
|
+
"node": ">=18.0.0"
|
|
40
38
|
},
|
|
41
39
|
"author": "João Vicente",
|
|
42
40
|
"license": "ISC",
|
|
43
41
|
"dependencies": {
|
|
44
|
-
"@qualweb/
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
42
|
+
"@qualweb/act-rules": "0.0.0-develop-20241204125016",
|
|
43
|
+
"@qualweb/best-practices": "0.0.0-develop-20241204125016",
|
|
44
|
+
"@qualweb/core": "0.0.0-develop-20241204125016",
|
|
45
|
+
"@qualweb/counter": "0.0.0-develop-20241204125016",
|
|
46
|
+
"@qualweb/earl-reporter": "0.0.0-develop-20241204125016",
|
|
47
|
+
"@qualweb/wcag-techniques": "0.0.0-develop-20241204125016",
|
|
48
|
+
"commander": "^12.1.0",
|
|
49
|
+
"log-update": "^4.0.0"
|
|
49
50
|
},
|
|
50
51
|
"devDependencies": {
|
|
51
|
-
"@qualweb/types": "0.7.24",
|
|
52
52
|
"@tsconfig/recommended": "^1.0.3",
|
|
53
|
-
"@types/
|
|
54
|
-
"@types/command-line-usage": "^5.0.1",
|
|
53
|
+
"@types/mocha": "^10.0.6",
|
|
55
54
|
"@types/node": "^16.4.1",
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"mocha": "^9.0.2",
|
|
60
|
-
"prettier": "^3.1.0",
|
|
55
|
+
"chai": "4.5.0",
|
|
56
|
+
"mocha": "^10.2.0",
|
|
57
|
+
"prettier": "^3.1.1",
|
|
61
58
|
"rimraf": "^5.0.5",
|
|
62
|
-
"
|
|
63
|
-
"typescript": "^
|
|
59
|
+
"tsx": "^4.19.2",
|
|
60
|
+
"typescript": "^5.6.3"
|
|
64
61
|
}
|
|
65
62
|
}
|
package/bin/cli.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
const cli = require('../dist/index');
|
|
5
|
-
|
|
6
|
-
(async () => {
|
|
7
|
-
const args = Array.from(process.argv).slice(2);
|
|
8
|
-
|
|
9
|
-
try {
|
|
10
|
-
process.title = 'qw ' + args.join(' ');
|
|
11
|
-
} catch(err) {
|
|
12
|
-
process.title = 'qw';
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
await cli(args);
|
|
16
|
-
})();
|
package/dist/index.d.ts
DELETED
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,iBAAe,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA+BlC;AA0CD,SAAS,GAAG,CAAC"}
|
package/dist/index.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
const core_1 = require("@qualweb/core");
|
|
6
|
-
const parser_1 = __importDefault(require("./lib/parser"));
|
|
7
|
-
const fileUtils_1 = require("./lib/fileUtils");
|
|
8
|
-
const parserUtils_1 = require("./lib/parserUtils");
|
|
9
|
-
async function cli() {
|
|
10
|
-
try {
|
|
11
|
-
const options = await (0, parser_1.default)();
|
|
12
|
-
const qualweb = new core_1.QualWeb({ adBlock: true, stealth: true });
|
|
13
|
-
await qualweb.start({ maxConcurrency: options.maxParallelEvaluations, timeout: options.timeout }, { args: ['--no-sandbox', '--ignore-certificate-errors'] });
|
|
14
|
-
if (!options['wcag-techniques']) {
|
|
15
|
-
options['wcag-techniques'] = {};
|
|
16
|
-
}
|
|
17
|
-
options['wcag-techniques'].exclude = ['QW-WCAG-T16'];
|
|
18
|
-
const reports = await qualweb.evaluate(options);
|
|
19
|
-
await qualweb.stop();
|
|
20
|
-
await handleReporting(reports, options);
|
|
21
|
-
}
|
|
22
|
-
catch (err) {
|
|
23
|
-
if ((err === null || err === void 0 ? void 0 : err.message) === 'Invalid input method') {
|
|
24
|
-
(0, parserUtils_1.printHelp)();
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
console.error(err);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
process.exit(0);
|
|
31
|
-
}
|
|
32
|
-
async function handleReporting(reports, options) {
|
|
33
|
-
const reportType = options.report;
|
|
34
|
-
const saveName = options['save-name'];
|
|
35
|
-
delete options.report;
|
|
36
|
-
delete options['save-name'];
|
|
37
|
-
if (reportType) {
|
|
38
|
-
if (reportType === 'earl') {
|
|
39
|
-
const earlReports = (0, core_1.generateEARLReport)(reports);
|
|
40
|
-
for (const url in earlReports || {}) {
|
|
41
|
-
await (0, fileUtils_1.saveReport)(url, earlReports[url]);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
else if (reportType === 'earl-a') {
|
|
45
|
-
const earlOptions = checkEarlOptions(options, saveName);
|
|
46
|
-
const earlReport = (0, core_1.generateEARLReport)(reports, earlOptions);
|
|
47
|
-
const name = Object.keys(earlReport)[0];
|
|
48
|
-
await (0, fileUtils_1.saveReport)(name, earlReport[name], !!saveName);
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
throw new Error('Invalid reporter format');
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
for (const url in reports !== null && reports !== void 0 ? reports : {}) {
|
|
56
|
-
const report = reports[url];
|
|
57
|
-
await (0, fileUtils_1.saveReport)(url, report);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
function checkEarlOptions(options, saveName) {
|
|
62
|
-
var _a, _b, _c;
|
|
63
|
-
const earlOptions = { aggregated: true, aggregatedName: saveName };
|
|
64
|
-
if (options.execute) {
|
|
65
|
-
earlOptions.modules = {};
|
|
66
|
-
earlOptions.modules.act = !!((_a = options === null || options === void 0 ? void 0 : options.execute) === null || _a === void 0 ? void 0 : _a.act);
|
|
67
|
-
earlOptions.modules.wcag = !!((_b = options === null || options === void 0 ? void 0 : options.execute) === null || _b === void 0 ? void 0 : _b.wcag);
|
|
68
|
-
earlOptions.modules['best-practices'] = !!((_c = options === null || options === void 0 ? void 0 : options.execute) === null || _c === void 0 ? void 0 : _c.bp);
|
|
69
|
-
}
|
|
70
|
-
return earlOptions;
|
|
71
|
-
}
|
|
72
|
-
module.exports = cli;
|
|
73
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"qualweb_id": [
|
|
3
|
-
"QW-ACT-R1",
|
|
4
|
-
"QW-ACT-R2",
|
|
5
|
-
"QW-ACT-R3",
|
|
6
|
-
"QW-ACT-R4",
|
|
7
|
-
"QW-ACT-R5",
|
|
8
|
-
"QW-ACT-R6",
|
|
9
|
-
"QW-ACT-R7",
|
|
10
|
-
"QW-ACT-R9",
|
|
11
|
-
"QW-ACT-R10",
|
|
12
|
-
"QW-ACT-R11",
|
|
13
|
-
"QW-ACT-R12",
|
|
14
|
-
"QW-ACT-R13",
|
|
15
|
-
"QW-ACT-R14",
|
|
16
|
-
"QW-ACT-R15",
|
|
17
|
-
"QW-ACT-R16",
|
|
18
|
-
"QW-ACT-R17",
|
|
19
|
-
"QW-ACT-R18",
|
|
20
|
-
"QW-ACT-R19",
|
|
21
|
-
"QW-ACT-R20",
|
|
22
|
-
"QW-ACT-R21",
|
|
23
|
-
"QW-ACT-R22",
|
|
24
|
-
"QW-ACT-R23",
|
|
25
|
-
"QW-ACT-R24",
|
|
26
|
-
"QW-ACT-R25",
|
|
27
|
-
"QW-ACT-R26",
|
|
28
|
-
"QW-ACT-R27",
|
|
29
|
-
"QW-ACT-R28",
|
|
30
|
-
"QW-ACT-R29",
|
|
31
|
-
"QW-ACT-R30",
|
|
32
|
-
"QW-ACT-R31",
|
|
33
|
-
"QW-ACT-R32",
|
|
34
|
-
"QW-ACT-R33",
|
|
35
|
-
"QW-ACT-R34",
|
|
36
|
-
"QW-ACT-R35",
|
|
37
|
-
"QW-ACT-R36",
|
|
38
|
-
"QW-ACT-R37",
|
|
39
|
-
"QW-ACT-R38",
|
|
40
|
-
"QW-ACT-R39",
|
|
41
|
-
"QW-ACT-R40",
|
|
42
|
-
"QW-ACT-R41",
|
|
43
|
-
"QW-ACT-R42",
|
|
44
|
-
"QW-ACT-R43",
|
|
45
|
-
"QW-ACT-R44",
|
|
46
|
-
"QW-ACT-R48",
|
|
47
|
-
"QW-ACT-R49",
|
|
48
|
-
"QW-ACT-R50",
|
|
49
|
-
"QW-ACT-R51",
|
|
50
|
-
"QW-ACT-R52",
|
|
51
|
-
"QW-ACT-R53",
|
|
52
|
-
"QW-ACT-R54",
|
|
53
|
-
"QW-ACT-R56",
|
|
54
|
-
"QW-ACT-R57",
|
|
55
|
-
"QW-ACT-R58",
|
|
56
|
-
"QW-ACT-R59",
|
|
57
|
-
"QW-ACT-R60",
|
|
58
|
-
"QW-ACT-R61",
|
|
59
|
-
"QW-ACT-R62",
|
|
60
|
-
"QW-ACT-R63",
|
|
61
|
-
"QW-ACT-R64",
|
|
62
|
-
"QW-ACT-R65",
|
|
63
|
-
"QW-ACT-R66",
|
|
64
|
-
"QW-ACT-R67",
|
|
65
|
-
"QW-ACT-R68",
|
|
66
|
-
"QW-ACT-R69",
|
|
67
|
-
"QW-ACT-R70",
|
|
68
|
-
"QW-ACT-R71",
|
|
69
|
-
"QW-ACT-R72",
|
|
70
|
-
"QW-ACT-R73",
|
|
71
|
-
"QW-ACT-R74",
|
|
72
|
-
"QW-ACT-R75",
|
|
73
|
-
"QW-ACT-R76"
|
|
74
|
-
],
|
|
75
|
-
"act_id": [
|
|
76
|
-
"2779a5",
|
|
77
|
-
"b5c3f8",
|
|
78
|
-
"5b7ae0",
|
|
79
|
-
"bc659a",
|
|
80
|
-
"bf051a",
|
|
81
|
-
"59796f",
|
|
82
|
-
"b33eff",
|
|
83
|
-
"b20e66",
|
|
84
|
-
"4b1c6c",
|
|
85
|
-
"97a4e1",
|
|
86
|
-
"c487ae",
|
|
87
|
-
"6cfa84",
|
|
88
|
-
"b4f0c3",
|
|
89
|
-
"80f0bf",
|
|
90
|
-
"e086e5",
|
|
91
|
-
"23a2a8",
|
|
92
|
-
"3ea0c8",
|
|
93
|
-
"cae760",
|
|
94
|
-
"674b10",
|
|
95
|
-
"7d6734",
|
|
96
|
-
"de46e4",
|
|
97
|
-
"c5a4ea",
|
|
98
|
-
"73f2c2",
|
|
99
|
-
"5c01ea",
|
|
100
|
-
"eac66b",
|
|
101
|
-
"5f99a7",
|
|
102
|
-
"4e8ab6",
|
|
103
|
-
"e7aa44",
|
|
104
|
-
"2ee8b8",
|
|
105
|
-
"c3232f",
|
|
106
|
-
"1ec09b",
|
|
107
|
-
"ff89c9",
|
|
108
|
-
"6a7281",
|
|
109
|
-
"ffd0e9",
|
|
110
|
-
"a25f45",
|
|
111
|
-
"afw4f7",
|
|
112
|
-
"bc4a75",
|
|
113
|
-
"d0f69e",
|
|
114
|
-
"59br37",
|
|
115
|
-
"36b590",
|
|
116
|
-
"8fc3b6",
|
|
117
|
-
"0ssw9k",
|
|
118
|
-
"fd3a94",
|
|
119
|
-
"46ca7f",
|
|
120
|
-
"aaa1bf",
|
|
121
|
-
"4c31df",
|
|
122
|
-
"fd26cf",
|
|
123
|
-
"ac7dc6",
|
|
124
|
-
"ee13b5",
|
|
125
|
-
"d7ba54",
|
|
126
|
-
"1ea59c",
|
|
127
|
-
"ab4d13",
|
|
128
|
-
"f196ce",
|
|
129
|
-
"2eb176",
|
|
130
|
-
"afb423",
|
|
131
|
-
"f51b46",
|
|
132
|
-
"1a02b0",
|
|
133
|
-
"oj04fd",
|
|
134
|
-
"b40fd1",
|
|
135
|
-
"047fe0",
|
|
136
|
-
"307n5z",
|
|
137
|
-
"m6b1q3",
|
|
138
|
-
"24afc2",
|
|
139
|
-
"78fd32",
|
|
140
|
-
"9e45ec",
|
|
141
|
-
"akn7bn",
|
|
142
|
-
"bisz58",
|
|
143
|
-
"8a213c",
|
|
144
|
-
"3e12e1",
|
|
145
|
-
"ye5d6e",
|
|
146
|
-
"cf77f2",
|
|
147
|
-
"09o5cg"
|
|
148
|
-
]
|
|
149
|
-
}
|
package/dist/lib/actParser.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/// <reference types="@qualweb/types" />
|
|
2
|
-
import { CommandLineOptions } from 'command-line-args';
|
|
3
|
-
import { QualwebOptions } from '@qualweb/core';
|
|
4
|
-
declare function parseACT(mainOptions: CommandLineOptions, options: QualwebOptions): Promise<void>;
|
|
5
|
-
export = parseACT;
|
|
6
|
-
//# sourceMappingURL=actParser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"actParser.d.ts","sourceRoot":"","sources":["../../src/lib/actParser.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,iBAAe,QAAQ,CAAC,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAW/F;AAsDD,SAAS,QAAQ,CAAC"}
|
package/dist/lib/actParser.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
const parserUtils_1 = require("./parserUtils");
|
|
6
|
-
const fileUtils_1 = require("./fileUtils");
|
|
7
|
-
const set_value_1 = __importDefault(require("set-value"));
|
|
8
|
-
async function parseACT(mainOptions, options) {
|
|
9
|
-
options['act-rules'] = {};
|
|
10
|
-
await validateACTRules(mainOptions, options);
|
|
11
|
-
validateACTExclusions(mainOptions, options);
|
|
12
|
-
validateACTLevels(mainOptions, options);
|
|
13
|
-
validateACTPrinciples(mainOptions, options);
|
|
14
|
-
if (Object.keys(options['act-rules']).length === 0) {
|
|
15
|
-
delete options['act-rules'];
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
function validateModule(mainOptions, options) {
|
|
19
|
-
var _a;
|
|
20
|
-
if (mainOptions.module && ((_a = options === null || options === void 0 ? void 0 : options.execute) === null || _a === void 0 ? void 0 : _a.act) === undefined) {
|
|
21
|
-
(0, parserUtils_1.printError)('The "--act-rules" option doesn\'t match any of the modules selected.');
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
console.warn('Warning: Module act has options but is not select. Will be select automatically.');
|
|
25
|
-
(0, set_value_1.default)(options, 'execute.act', true);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
async function validateACTRules(mainOptions, options) {
|
|
29
|
-
var _a;
|
|
30
|
-
if (mainOptions['act-rules'] && options['act-rules']) {
|
|
31
|
-
validateModule(mainOptions, options);
|
|
32
|
-
if (mainOptions['act-rules'].length === 1) {
|
|
33
|
-
if (await (0, fileUtils_1.fileExists)(mainOptions['act-rules'][0])) {
|
|
34
|
-
const rules = await (0, fileUtils_1.readJsonFile)(mainOptions['act-rules'][0]);
|
|
35
|
-
options['act-rules'].rules = [...((_a = rules['act-rules'].rules) !== null && _a !== void 0 ? _a : [])];
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
options['act-rules'].rules = [...mainOptions['act-rules']];
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
options['act-rules'].rules = [...mainOptions['act-rules']];
|
|
43
|
-
}
|
|
44
|
-
(0, parserUtils_1.validateACT)(options['act-rules'].rules);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
function validateACTExclusions(mainOptions, options) {
|
|
48
|
-
if (mainOptions['exclude-act'] && options['act-rules']) {
|
|
49
|
-
validateModule(mainOptions, options);
|
|
50
|
-
options['act-rules'].exclude = [...mainOptions['exclude-act']];
|
|
51
|
-
(0, parserUtils_1.validateACT)(options['act-rules'].exclude);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
function validateACTLevels(mainOptions, options) {
|
|
55
|
-
if (mainOptions['act-levels'] && options['act-rules']) {
|
|
56
|
-
validateModule(mainOptions, options);
|
|
57
|
-
options['act-rules'].levels = [...mainOptions['act-levels']];
|
|
58
|
-
(0, parserUtils_1.validateLevels)(options['act-rules'].levels);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
function validateACTPrinciples(mainOptions, options) {
|
|
62
|
-
if (mainOptions['act-principles'] && options['act-rules']) {
|
|
63
|
-
validateModule(mainOptions, options);
|
|
64
|
-
options['act-rules'].principles = [...mainOptions['act-principles']];
|
|
65
|
-
(0, parserUtils_1.validatePrinciples)(options['act-rules'].principles);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
module.exports = parseACT;
|
|
69
|
-
//# sourceMappingURL=actParser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"actParser.js","sourceRoot":"","sources":["../../src/lib/actParser.ts"],"names":[],"mappings":"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"}
|