html-validate 8.7.4 → 8.9.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/dist/cjs/browser.js +7 -21
- package/dist/cjs/browser.js.map +1 -1
- package/dist/cjs/cli.js +483 -451
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/core-browser.js +9 -20
- package/dist/cjs/core-browser.js.map +1 -1
- package/dist/cjs/core-nodejs.js +203 -297
- package/dist/cjs/core-nodejs.js.map +1 -1
- package/dist/cjs/core.js +9735 -10454
- package/dist/cjs/core.js.map +1 -1
- package/dist/cjs/elements.js +2311 -2296
- package/dist/cjs/elements.js.map +1 -1
- package/dist/cjs/html-validate.js +148 -169
- package/dist/cjs/html-validate.js.map +1 -1
- package/dist/cjs/html5.js.map +1 -1
- package/dist/cjs/index.js +8 -21
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/jest-diff.js +26 -36
- package/dist/cjs/jest-diff.js.map +1 -1
- package/dist/cjs/jest.js +8 -8
- package/dist/cjs/jest.js.map +1 -1
- package/dist/cjs/matcher-utils.js +12 -28
- package/dist/cjs/matcher-utils.js.map +1 -1
- package/dist/cjs/matchers-jestonly.js +38 -47
- package/dist/cjs/matchers-jestonly.js.map +1 -1
- package/dist/cjs/matchers.js +196 -196
- package/dist/cjs/matchers.js.map +1 -1
- package/dist/cjs/meta-helper.js +40 -60
- package/dist/cjs/meta-helper.js.map +1 -1
- package/dist/cjs/test-utils.js +26 -47
- package/dist/cjs/test-utils.js.map +1 -1
- package/dist/cjs/tsdoc-metadata.json +1 -1
- package/dist/cjs/utils/natural-join.js +10 -23
- package/dist/cjs/utils/natural-join.js.map +1 -1
- package/dist/cjs/vitest.js +6 -6
- package/dist/cjs/vitest.js.map +1 -1
- package/dist/es/browser.js +2 -2
- package/dist/es/cli.js +482 -454
- package/dist/es/cli.js.map +1 -1
- package/dist/es/core-browser.js +10 -21
- package/dist/es/core-browser.js.map +1 -1
- package/dist/es/core-nodejs.js +204 -299
- package/dist/es/core-nodejs.js.map +1 -1
- package/dist/es/core.js +9730 -10455
- package/dist/es/core.js.map +1 -1
- package/dist/es/elements.js +2311 -2296
- package/dist/es/elements.js.map +1 -1
- package/dist/es/html-validate.js +150 -171
- package/dist/es/html-validate.js.map +1 -1
- package/dist/es/html5.js.map +1 -1
- package/dist/es/index.js +3 -3
- package/dist/es/jest-diff.js +11 -21
- package/dist/es/jest-diff.js.map +1 -1
- package/dist/es/jest.js +8 -8
- package/dist/es/jest.js.map +1 -1
- package/dist/es/matcher-utils.js +12 -28
- package/dist/es/matcher-utils.js.map +1 -1
- package/dist/es/matchers-jestonly.js +39 -48
- package/dist/es/matchers-jestonly.js.map +1 -1
- package/dist/es/matchers.js +196 -196
- package/dist/es/matchers.js.map +1 -1
- package/dist/es/meta-helper.js +40 -60
- package/dist/es/meta-helper.js.map +1 -1
- package/dist/es/test-utils.js +26 -47
- package/dist/es/test-utils.js.map +1 -1
- package/dist/es/utils/natural-join.js +10 -23
- package/dist/es/utils/natural-join.js.map +1 -1
- package/dist/es/vitest.js +6 -6
- package/dist/es/vitest.js.map +1 -1
- package/dist/schema/elements.json +6 -0
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/types/browser.d.ts +78 -32
- package/dist/types/index.d.ts +105 -34
- package/package.json +15 -15
package/dist/es/html-validate.js
CHANGED
|
@@ -2,8 +2,8 @@ import fs from 'fs';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import kleur from 'kleur';
|
|
4
4
|
import minimist from 'minimist';
|
|
5
|
-
import {
|
|
6
|
-
import { M as Mode,
|
|
5
|
+
import { J as name, v as version, o as SchemaValidationError, U as UserError, K as bugs } from './core.js';
|
|
6
|
+
import { M as Mode, m as modeToFlag, C as CLI, l as lint, i as init, p as printConfig, d as dump, h as handleSchemaValidationError } from './cli.js';
|
|
7
7
|
import 'ajv';
|
|
8
8
|
import './elements.js';
|
|
9
9
|
import './meta-helper.js';
|
|
@@ -18,119 +18,108 @@ import 'node:module';
|
|
|
18
18
|
import 'glob';
|
|
19
19
|
import 'prompts';
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return Mode.LINT;
|
|
21
|
+
function getMode(argv2) {
|
|
22
|
+
if (argv2.init) {
|
|
23
|
+
return Mode.INIT;
|
|
24
|
+
}
|
|
25
|
+
if (argv2["dump-events"]) {
|
|
26
|
+
return Mode.DUMP_EVENTS;
|
|
27
|
+
}
|
|
28
|
+
if (argv2["dump-source"]) {
|
|
29
|
+
return Mode.DUMP_SOURCE;
|
|
30
|
+
}
|
|
31
|
+
if (argv2["dump-tokens"]) {
|
|
32
|
+
return Mode.DUMP_TOKENS;
|
|
33
|
+
}
|
|
34
|
+
if (argv2["dump-tree"]) {
|
|
35
|
+
return Mode.DUMP_TREE;
|
|
36
|
+
}
|
|
37
|
+
if (argv2["print-config"]) {
|
|
38
|
+
return Mode.PRINT_CONFIG;
|
|
39
|
+
}
|
|
40
|
+
return Mode.LINT;
|
|
42
41
|
}
|
|
43
|
-
function requiresFilename(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
function handleValidationError(err) {
|
|
58
|
-
if (err.filename) {
|
|
59
|
-
const filename = path.relative(process.cwd(), err.filename);
|
|
60
|
-
console.log(kleur.red(`A configuration error was found in "${filename}":`));
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
console.log(kleur.red(`A configuration error was found:`));
|
|
64
|
-
}
|
|
65
|
-
console.group();
|
|
66
|
-
{
|
|
67
|
-
console.log(err.prettyError());
|
|
68
|
-
}
|
|
69
|
-
console.groupEnd();
|
|
42
|
+
function requiresFilename(mode2) {
|
|
43
|
+
switch (mode2) {
|
|
44
|
+
case Mode.LINT:
|
|
45
|
+
return true;
|
|
46
|
+
case Mode.INIT:
|
|
47
|
+
return false;
|
|
48
|
+
case Mode.DUMP_EVENTS:
|
|
49
|
+
case Mode.DUMP_TOKENS:
|
|
50
|
+
case Mode.DUMP_TREE:
|
|
51
|
+
case Mode.DUMP_SOURCE:
|
|
52
|
+
case Mode.PRINT_CONFIG:
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
70
55
|
}
|
|
71
56
|
function handleUserError(err) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
console.groupEnd();
|
|
57
|
+
const formatted = err.prettyFormat();
|
|
58
|
+
if (formatted) {
|
|
59
|
+
console.error();
|
|
60
|
+
console.error(formatted);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
console.error(kleur.red("Caught exception:"));
|
|
64
|
+
console.group();
|
|
65
|
+
{
|
|
66
|
+
console.error(err.prettyFormat() ?? err);
|
|
67
|
+
}
|
|
68
|
+
console.groupEnd();
|
|
85
69
|
}
|
|
86
70
|
function handleUnknownError(err) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
71
|
+
console.error(kleur.red("Caught exception:"));
|
|
72
|
+
console.group();
|
|
73
|
+
{
|
|
74
|
+
console.error(err);
|
|
75
|
+
}
|
|
76
|
+
console.groupEnd();
|
|
77
|
+
const bugUrl = `${bugs}?issuable_template=Bug`;
|
|
78
|
+
console.error(kleur.red(`This is a bug in ${name}-${version}.`));
|
|
79
|
+
console.error(
|
|
80
|
+
kleur.red(
|
|
81
|
+
[
|
|
96
82
|
`Please file a bug at ${bugUrl}`,
|
|
97
83
|
`and include this message in full and if possible the content of the`,
|
|
98
|
-
`file being parsed (or a reduced testcase)
|
|
99
|
-
|
|
84
|
+
`file being parsed (or a reduced testcase).`
|
|
85
|
+
].join("\n")
|
|
86
|
+
)
|
|
87
|
+
);
|
|
100
88
|
}
|
|
101
89
|
const argv = minimist(process.argv.slice(2), {
|
|
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
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
90
|
+
string: ["c", "config", "ext", "f", "formatter", "max-warnings", "rule", "stdin-filename"],
|
|
91
|
+
boolean: [
|
|
92
|
+
"init",
|
|
93
|
+
"dump-events",
|
|
94
|
+
"dump-source",
|
|
95
|
+
"dump-tokens",
|
|
96
|
+
"dump-tree",
|
|
97
|
+
"h",
|
|
98
|
+
"help",
|
|
99
|
+
"print-config",
|
|
100
|
+
"stdin",
|
|
101
|
+
"version"
|
|
102
|
+
],
|
|
103
|
+
alias: {
|
|
104
|
+
c: "config",
|
|
105
|
+
f: "formatter",
|
|
106
|
+
h: "help"
|
|
107
|
+
},
|
|
108
|
+
default: {
|
|
109
|
+
ext: "html",
|
|
110
|
+
formatter: "stylish"
|
|
111
|
+
},
|
|
112
|
+
unknown: (opt) => {
|
|
113
|
+
if (opt.startsWith("-")) {
|
|
114
|
+
process.stderr.write(`unknown option ${opt}
|
|
115
|
+
`);
|
|
116
|
+
process.exit(1);
|
|
117
|
+
}
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
131
120
|
});
|
|
132
121
|
function showUsage() {
|
|
133
|
-
|
|
122
|
+
process.stdout.write(`${name}-${version}
|
|
134
123
|
Usage: html-validate [OPTIONS] [FILENAME..] [DIR..]
|
|
135
124
|
|
|
136
125
|
Common options:
|
|
@@ -165,99 +154,89 @@ e.g. "checkstyle=dist/html-validate.xml"
|
|
|
165
154
|
`);
|
|
166
155
|
}
|
|
167
156
|
function showVersion() {
|
|
168
|
-
|
|
157
|
+
process.stdout.write(`${name}-${version}
|
|
158
|
+
`);
|
|
169
159
|
}
|
|
170
160
|
if (argv.stdin) {
|
|
171
|
-
|
|
161
|
+
argv._.push("-");
|
|
172
162
|
}
|
|
173
163
|
if (argv.version) {
|
|
174
|
-
|
|
175
|
-
|
|
164
|
+
showVersion();
|
|
165
|
+
process.exit();
|
|
176
166
|
}
|
|
177
167
|
if (argv.help) {
|
|
178
|
-
|
|
179
|
-
|
|
168
|
+
showUsage();
|
|
169
|
+
process.exit();
|
|
180
170
|
}
|
|
181
171
|
if (argv._.length === 0) {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}
|
|
172
|
+
const mode2 = getMode(argv);
|
|
173
|
+
if (mode2 === Mode.LINT) {
|
|
174
|
+
showUsage();
|
|
175
|
+
process.exit(0);
|
|
176
|
+
} else if (requiresFilename(mode2)) {
|
|
177
|
+
const flag = modeToFlag(mode2);
|
|
178
|
+
console.error(`\`${flag}\` requires a filename.`);
|
|
179
|
+
process.exit(1);
|
|
180
|
+
}
|
|
192
181
|
}
|
|
193
|
-
/* check that supplied config file exists before creating CLI */
|
|
194
182
|
if (typeof argv.config !== "undefined") {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
183
|
+
const checkPath = path.resolve(argv.config);
|
|
184
|
+
if (!fs.existsSync(checkPath)) {
|
|
185
|
+
console.log(`The file "${String(argv.config)}" was not found.`);
|
|
186
|
+
console.log(`The location this file was checked for at was: "${String(checkPath)}"`);
|
|
187
|
+
process.exit(1);
|
|
188
|
+
}
|
|
201
189
|
}
|
|
202
190
|
const cli = new CLI({
|
|
203
|
-
|
|
204
|
-
|
|
191
|
+
configFile: argv.config,
|
|
192
|
+
rules: argv.rule
|
|
205
193
|
});
|
|
206
194
|
const mode = getMode(argv);
|
|
207
195
|
const formatter = cli.getFormatter(argv.formatter);
|
|
208
|
-
const maxWarnings = parseInt(
|
|
196
|
+
const maxWarnings = parseInt(argv["max-warnings"] ?? "-1", 10);
|
|
209
197
|
const htmlvalidate = cli.getValidator();
|
|
210
|
-
/* sanity check: ensure maxWarnings has a valid value */
|
|
211
198
|
if (isNaN(maxWarnings)) {
|
|
212
|
-
|
|
213
|
-
|
|
199
|
+
console.log(`Invalid value "${String(argv["max-warnings"])}" given to --max-warnings`);
|
|
200
|
+
process.exit(1);
|
|
214
201
|
}
|
|
215
|
-
/* parse extensions (used when expanding directories) */
|
|
216
202
|
const extensions = argv.ext.split(",").map((cur) => {
|
|
217
|
-
|
|
203
|
+
return cur.startsWith(".") ? cur.slice(1) : cur;
|
|
218
204
|
});
|
|
219
205
|
const files = cli.expandFiles(argv._, { extensions });
|
|
220
206
|
if (files.length === 0 && mode !== Mode.INIT) {
|
|
221
|
-
|
|
222
|
-
|
|
207
|
+
console.error("No files matching patterns", argv._);
|
|
208
|
+
process.exit(1);
|
|
223
209
|
}
|
|
224
210
|
async function run() {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
handleValidationError(err);
|
|
249
|
-
}
|
|
250
|
-
else if (err instanceof UserError) {
|
|
251
|
-
handleUserError(err);
|
|
252
|
-
}
|
|
253
|
-
else {
|
|
254
|
-
handleUnknownError(err);
|
|
255
|
-
}
|
|
256
|
-
process.exit(1);
|
|
211
|
+
try {
|
|
212
|
+
let success;
|
|
213
|
+
if (mode === Mode.LINT) {
|
|
214
|
+
success = await lint(htmlvalidate, process.stdout, files, {
|
|
215
|
+
formatter,
|
|
216
|
+
maxWarnings,
|
|
217
|
+
stdinFilename: argv["stdin-filename"] ?? false
|
|
218
|
+
});
|
|
219
|
+
} else if (mode === Mode.INIT) {
|
|
220
|
+
success = await init(cli, process.stdout, { cwd: process.cwd() });
|
|
221
|
+
} else if (mode === Mode.PRINT_CONFIG) {
|
|
222
|
+
success = await printConfig(htmlvalidate, process.stdout, files);
|
|
223
|
+
} else {
|
|
224
|
+
success = await dump(htmlvalidate, process.stdout, files, mode);
|
|
225
|
+
}
|
|
226
|
+
process.exit(success ? 0 : 1);
|
|
227
|
+
} catch (err) {
|
|
228
|
+
if (err instanceof SchemaValidationError) {
|
|
229
|
+
handleSchemaValidationError(console, err);
|
|
230
|
+
} else if (err instanceof UserError) {
|
|
231
|
+
handleUserError(err);
|
|
232
|
+
} else {
|
|
233
|
+
handleUnknownError(err);
|
|
257
234
|
}
|
|
235
|
+
process.exit(1);
|
|
236
|
+
}
|
|
258
237
|
}
|
|
259
238
|
run().catch((err) => {
|
|
260
|
-
|
|
261
|
-
|
|
239
|
+
console.error(err);
|
|
240
|
+
process.exit(1);
|
|
262
241
|
});
|
|
263
242
|
//# sourceMappingURL=html-validate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-validate.js","sources":["../../../src/cli/html-validate.ts"],"sourcesContent":[null],"names":["pkgBugs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"html-validate.js","sources":["../../src/cli/html-validate.ts"],"sourcesContent":["/* eslint-disable no-console, no-process-exit, sonarjs/no-duplicate-string -- as expected from a cli app */\nimport fs from \"fs\";\nimport path from \"node:path\";\nimport kleur from \"kleur\";\nimport minimist from \"minimist\";\nimport { SchemaValidationError, UserError } from \"..\";\nimport { name, version, bugs as pkgBugs } from \"../generated/package\";\nimport { CLI } from \"./cli\";\nimport { handleSchemaValidationError } from \"./errors\";\nimport { Mode, modeToFlag } from \"./mode\";\nimport { lint } from \"./actions/lint\";\nimport { init } from \"./actions/init\";\nimport { printConfig } from \"./actions/print-config\";\nimport { dump } from \"./actions/dump\";\n\ninterface ParsedArgs {\n\tconfig?: string;\n\t\"dump-events\": boolean;\n\t\"dump-source\": boolean;\n\t\"dump-tokens\": boolean;\n\t\"dump-tree\": boolean;\n\text: string;\n\tformatter: string;\n\thelp: boolean;\n\tinit: boolean;\n\t\"max-warnings\"?: string;\n\t\"print-config\": boolean;\n\trule?: string;\n\tstdin: boolean;\n\t\"stdin-filename\"?: string;\n\tversion: boolean;\n}\n\nfunction getMode(argv: Record<string, any>): Mode {\n\tif (argv.init) {\n\t\treturn Mode.INIT;\n\t}\n\n\tif (argv[\"dump-events\"]) {\n\t\treturn Mode.DUMP_EVENTS;\n\t}\n\n\tif (argv[\"dump-source\"]) {\n\t\treturn Mode.DUMP_SOURCE;\n\t}\n\n\tif (argv[\"dump-tokens\"]) {\n\t\treturn Mode.DUMP_TOKENS;\n\t}\n\n\tif (argv[\"dump-tree\"]) {\n\t\treturn Mode.DUMP_TREE;\n\t}\n\n\tif (argv[\"print-config\"]) {\n\t\treturn Mode.PRINT_CONFIG;\n\t}\n\n\treturn Mode.LINT;\n}\n\nfunction requiresFilename(mode: Mode): boolean {\n\tswitch (mode) {\n\t\tcase Mode.LINT:\n\t\t\treturn true;\n\t\tcase Mode.INIT:\n\t\t\treturn false;\n\t\tcase Mode.DUMP_EVENTS:\n\t\tcase Mode.DUMP_TOKENS:\n\t\tcase Mode.DUMP_TREE:\n\t\tcase Mode.DUMP_SOURCE:\n\t\tcase Mode.PRINT_CONFIG:\n\t\t\treturn true;\n\t}\n}\n\nfunction handleUserError(err: UserError): void {\n\tconst formatted = err.prettyFormat();\n\tif (formatted) {\n\t\tconsole.error(); /* blank line */\n\t\tconsole.error(formatted);\n\t\treturn;\n\t}\n\n\tconsole.error(kleur.red(\"Caught exception:\"));\n\tconsole.group();\n\t{\n\t\tconsole.error(err.prettyFormat() ?? err);\n\t}\n\tconsole.groupEnd();\n}\n\nfunction handleUnknownError(err: unknown): void {\n\tconsole.error(kleur.red(\"Caught exception:\"));\n\tconsole.group();\n\t{\n\t\tconsole.error(err);\n\t}\n\tconsole.groupEnd();\n\tconst bugUrl = `${pkgBugs}?issuable_template=Bug`;\n\tconsole.error(kleur.red(`This is a bug in ${name}-${version}.`));\n\tconsole.error(\n\t\tkleur.red(\n\t\t\t[\n\t\t\t\t`Please file a bug at ${bugUrl}`,\n\t\t\t\t`and include this message in full and if possible the content of the`,\n\t\t\t\t`file being parsed (or a reduced testcase).`,\n\t\t\t].join(\"\\n\"),\n\t\t),\n\t);\n}\n\nconst argv = minimist<ParsedArgs>(process.argv.slice(2), {\n\tstring: [\"c\", \"config\", \"ext\", \"f\", \"formatter\", \"max-warnings\", \"rule\", \"stdin-filename\"],\n\tboolean: [\n\t\t\"init\",\n\t\t\"dump-events\",\n\t\t\"dump-source\",\n\t\t\"dump-tokens\",\n\t\t\"dump-tree\",\n\t\t\"h\",\n\t\t\"help\",\n\t\t\"print-config\",\n\t\t\"stdin\",\n\t\t\"version\",\n\t],\n\talias: {\n\t\tc: \"config\",\n\t\tf: \"formatter\",\n\t\th: \"help\",\n\t},\n\tdefault: {\n\t\text: \"html\",\n\t\tformatter: \"stylish\",\n\t},\n\tunknown: (opt: string) => {\n\t\tif (opt.startsWith(\"-\")) {\n\t\t\tprocess.stderr.write(`unknown option ${opt}\\n`);\n\t\t\tprocess.exit(1);\n\t\t}\n\t\treturn true;\n\t},\n});\n\nfunction showUsage(): void {\n\tprocess.stdout.write(`${name}-${version}\nUsage: html-validate [OPTIONS] [FILENAME..] [DIR..]\n\nCommon options:\n --ext=STRING specify file extensions (commaseparated).\n -f, --formatter=FORMATTER specify the formatter to use.\n --max-warnings=INT number of warnings to trigger nonzero exit code\n --rule=RULE:SEVERITY set additional rule, use comma separator for\n multiple.\n --stdin process markup from stdin.\n --stdin-filename=STRING specify filename to report when using stdin\n\nMiscellaneous:\n -c, --config=STRING use custom configuration file.\n --init initialize project with a new configuration\n --print-config output configuration for given file.\n -h, --help show help.\n --version show version.\n\nDebugging options:\n --dump-events output events during parsing.\n --dump-source output post-transformed source data.\n --dump-tokens output tokens from lexing stage.\n --dump-tree output nodes from the dom tree.\n\nFormatters:\n\nMultiple formatters can be specified with a comma-separated list,\ne.g. \"json,checkstyle\" to enable both.\n\nTo capture output to a file use \"formatter=/path/to/file\",\ne.g. \"checkstyle=dist/html-validate.xml\"\n`);\n}\n\nfunction showVersion(): void {\n\tprocess.stdout.write(`${name}-${version}\\n`);\n}\n\nif (argv.stdin) {\n\targv._.push(\"-\");\n}\n\nif (argv.version) {\n\tshowVersion();\n\tprocess.exit();\n}\n\nif (argv.help) {\n\tshowUsage();\n\tprocess.exit();\n}\n\nif (argv._.length === 0) {\n\tconst mode = getMode(argv);\n\tif (mode === Mode.LINT) {\n\t\tshowUsage();\n\t\tprocess.exit(0);\n\t} else if (requiresFilename(mode)) {\n\t\tconst flag = modeToFlag(mode);\n\t\tconsole.error(`\\`${flag}\\` requires a filename.`);\n\t\tprocess.exit(1);\n\t}\n}\n\n/* check that supplied config file exists before creating CLI */\nif (typeof argv.config !== \"undefined\") {\n\tconst checkPath = path.resolve(argv.config);\n\tif (!fs.existsSync(checkPath)) {\n\t\tconsole.log(`The file \"${String(argv.config)}\" was not found.`);\n\t\tconsole.log(`The location this file was checked for at was: \"${String(checkPath)}\"`);\n\t\tprocess.exit(1);\n\t}\n}\n\nconst cli = new CLI({\n\tconfigFile: argv.config,\n\trules: argv.rule,\n});\nconst mode = getMode(argv);\nconst formatter = cli.getFormatter(argv.formatter);\nconst maxWarnings = parseInt(argv[\"max-warnings\"] ?? \"-1\", 10);\nconst htmlvalidate = cli.getValidator();\n\n/* sanity check: ensure maxWarnings has a valid value */\nif (isNaN(maxWarnings)) {\n\tconsole.log(`Invalid value \"${String(argv[\"max-warnings\"])}\" given to --max-warnings`);\n\tprocess.exit(1);\n}\n\n/* parse extensions (used when expanding directories) */\nconst extensions = argv.ext.split(\",\").map((cur: string) => {\n\treturn cur.startsWith(\".\") ? cur.slice(1) : cur;\n});\n\nconst files = cli.expandFiles(argv._, { extensions });\nif (files.length === 0 && mode !== Mode.INIT) {\n\tconsole.error(\"No files matching patterns\", argv._);\n\tprocess.exit(1);\n}\n\nasync function run(): Promise<void> {\n\ttry {\n\t\tlet success: boolean;\n\t\tif (mode === Mode.LINT) {\n\t\t\tsuccess = await lint(htmlvalidate, process.stdout, files, {\n\t\t\t\tformatter,\n\t\t\t\tmaxWarnings,\n\t\t\t\tstdinFilename: argv[\"stdin-filename\"] ?? false,\n\t\t\t});\n\t\t} else if (mode === Mode.INIT) {\n\t\t\tsuccess = await init(cli, process.stdout, { cwd: process.cwd() });\n\t\t} else if (mode === Mode.PRINT_CONFIG) {\n\t\t\tsuccess = await printConfig(htmlvalidate, process.stdout, files);\n\t\t} else {\n\t\t\tsuccess = await dump(htmlvalidate, process.stdout, files, mode);\n\t\t}\n\t\tprocess.exit(success ? 0 : 1);\n\t} catch (err) {\n\t\tif (err instanceof SchemaValidationError) {\n\t\t\thandleSchemaValidationError(console, err);\n\t\t} else if (err instanceof UserError) {\n\t\t\thandleUserError(err);\n\t\t} else {\n\t\t\thandleUnknownError(err);\n\t\t}\n\t\tprocess.exit(1);\n\t}\n}\n\nrun().catch((err) => {\n\tconsole.error(err);\n\tprocess.exit(1);\n});\n"],"names":["argv","mode","pkgBugs"],"mappings":"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"}
|
package/dist/es/html5.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html5.js","sources":["
|
|
1
|
+
{"version":3,"file":"html5.js","sources":["../../src/html5.ts"],"sourcesContent":["import { bundledElements } from \"./elements\";\n\nexport default bundledElements.html5;\n"],"names":[],"mappings":";;;;AAEA,YAAe,eAAgB,CAAA,KAAA;;;;"}
|
package/dist/es/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { F as FileSystemConfigLoader, c as compatibilityCheck, n as nodejsResolver } from './core-nodejs.js';
|
|
2
|
-
export { A as Attribute, C as Config, a as ConfigError, b as ConfigLoader, D as DOMNode,
|
|
1
|
+
export { F as FileSystemConfigLoader, c as cjsResolver, a as compatibilityCheck, n as nodejsResolver } from './core-nodejs.js';
|
|
2
|
+
export { A as Attribute, C as Config, a as ConfigError, b as ConfigLoader, D as DOMNode, h as DOMTokenList, j as DOMTree, k as DynamicValue, F as EventHandler, l as HtmlElement, H as HtmlValidate, M as MetaCopyableProperty, p as MetaTable, n as NestedError, N as NodeClosed, m as NodeType, B as Parser, y as Reporter, R as ResolvedConfig, r as Rule, o as SchemaValidationError, S as Severity, f as StaticConfigLoader, t as TextClassification, q as TextContent, T as TextNode, U as UserError, V as Validator, W as WrappedError, u as classifyNodeText, P as configPresets, c as defineConfig, z as definePlugin, g as formatterFactory, w as keywordPatternMatcher, E as ruleExists, x as sliceLocation, s as staticResolver, v as version } from './core.js';
|
|
3
3
|
export { C as CLI } from './cli.js';
|
|
4
4
|
export { d as defineMetadata, m as metadataHelper } from './meta-helper.js';
|
|
5
5
|
import 'node:fs';
|
|
@@ -8,9 +8,9 @@ import 'node:module';
|
|
|
8
8
|
import 'kleur';
|
|
9
9
|
import 'ajv';
|
|
10
10
|
import './elements.js';
|
|
11
|
-
import 'fs';
|
|
12
11
|
import '@sidvind/better-ajv-errors';
|
|
13
12
|
import './utils/natural-join.js';
|
|
13
|
+
import 'fs';
|
|
14
14
|
import '@babel/code-frame';
|
|
15
15
|
import '@html-validate/stylish';
|
|
16
16
|
import 'semver';
|
package/dist/es/jest-diff.js
CHANGED
|
@@ -1,28 +1,18 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import
|
|
1
|
+
import * as jestDiff from 'jest-diff';
|
|
2
|
+
import jestDiff__default from 'jest-diff';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
* with multiple different versions of jest and it does verification of which
|
|
6
|
-
* one is actually present but the other variants will cause errors, as is expected */
|
|
7
|
-
/* eslint-disable @typescript-eslint/prefer-ts-expect-error -- one of the
|
|
8
|
-
* variants will always not be an error */
|
|
9
|
-
/* ignore typing for compatibility so it will seem "impossible" but different
|
|
10
|
-
* version will yield different source */
|
|
11
|
-
/* istanbul ignore next: this is covered by integration tests */
|
|
4
|
+
var _a;
|
|
12
5
|
const diffCandidates = [
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
6
|
+
// @ts-ignore
|
|
7
|
+
(_a = jestDiff__default) == null ? void 0 : _a.diff,
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
jestDiff__default,
|
|
10
|
+
// @ts-ignore
|
|
11
|
+
jestDiff == null ? void 0 : jestDiff.diff,
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
jestDiff
|
|
21
14
|
];
|
|
22
15
|
const isFunction = (fn) => typeof fn === "function";
|
|
23
|
-
/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- assume
|
|
24
|
-
* one of the candidate matches, there will be a reasonable error later on if
|
|
25
|
-
* not */
|
|
26
16
|
const diff = diffCandidates.find(isFunction);
|
|
27
17
|
|
|
28
18
|
export { diff as d };
|
package/dist/es/jest-diff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jest-diff.js","sources":["
|
|
1
|
+
{"version":3,"file":"jest-diff.js","sources":["../../src/jest/utils/diff.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment -- this code needs to work\n * with multiple different versions of jest and it does verification of which\n * one is actually present but the other variants will cause errors, as is expected */\n/* eslint-disable @typescript-eslint/prefer-ts-expect-error -- one of the\n * variants will always not be an error */\n\nimport jestDiffDefault, * as jestDiff from \"jest-diff\";\n\n/**\n * @internal\n */\nexport interface DiffOptions {\n\taAnnotation?: string;\n\tbAnnotation?: string;\n\texpand?: boolean;\n}\n\n/**\n * @internal\n */\nexport type DiffFunction = (a: any, b: any, options?: DiffOptions) => string | null;\n\n/* ignore typing for compatibility so it will seem \"impossible\" but different\n * version will yield different source */\n/* istanbul ignore next: this is covered by integration tests */\nconst diffCandidates: Array<DiffFunction | undefined> = [\n\t// @ts-ignore\n\tjestDiffDefault?.diff,\n\t// @ts-ignore\n\tjestDiffDefault,\n\t// @ts-ignore\n\tjestDiff?.diff,\n\t// @ts-ignore\n\tjestDiff,\n];\n\nconst isFunction = (fn: unknown): boolean => typeof fn === \"function\";\n\n/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- assume\n * one of the candidate matches, there will be a reasonable error later on if\n * not */\nexport const diff: DiffFunction = diffCandidates.find(isFunction)!;\n"],"names":["jestDiffDefault"],"mappings":";;;AAAA,IAAA,EAAA,CAAA;AAyBA,MAAM,cAAkD,GAAA;AAAA;AAAA,EAAA,CAEvD,EAAiB,GAAAA,iBAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA;AAAA;AAAA,EAEjBA,iBAAA;AAAA;AAAA,EAEA,QAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,IAAA;AAAA;AAAA,EAEV,QAAA;AACD,CAAA,CAAA;AAEA,MAAM,UAAa,GAAA,CAAC,EAAyB,KAAA,OAAO,EAAO,KAAA,UAAA,CAAA;AAK9C,MAAA,IAAA,GAAqB,cAAe,CAAA,IAAA,CAAK,UAAU;;;;"}
|
package/dist/es/jest.js
CHANGED
|
@@ -7,8 +7,8 @@ import 'ajv';
|
|
|
7
7
|
import './elements.js';
|
|
8
8
|
import './meta-helper.js';
|
|
9
9
|
import './utils/natural-join.js';
|
|
10
|
-
import 'fs';
|
|
11
10
|
import '@sidvind/better-ajv-errors';
|
|
11
|
+
import 'fs';
|
|
12
12
|
import '@babel/code-frame';
|
|
13
13
|
import 'kleur';
|
|
14
14
|
import '@html-validate/stylish';
|
|
@@ -21,12 +21,12 @@ import 'jest-snapshot';
|
|
|
21
21
|
import 'jest-diff';
|
|
22
22
|
|
|
23
23
|
expect.extend({
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
toBeValid: createMatcher(),
|
|
25
|
+
toBeInvalid: createMatcher$1(),
|
|
26
|
+
toHTMLValidate: createMatcher$2(expect, diff),
|
|
27
|
+
toHaveError: createMatcher$3(expect, diff),
|
|
28
|
+
toHaveErrors: createMatcher$4(expect, diff),
|
|
29
|
+
toMatchCodeframe: createMatcher$5(),
|
|
30
|
+
toMatchInlineCodeframe: createMatcher$6()
|
|
31
31
|
});
|
|
32
32
|
//# sourceMappingURL=jest.js.map
|
package/dist/es/jest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jest.js","sources":["
|
|
1
|
+
{"version":3,"file":"jest.js","sources":["../../src/jest/jest.ts"],"sourcesContent":["import \"./augmentation\";\n\nimport {\n\ttoBeValid,\n\ttoBeInvalid,\n\ttoHTMLValidate,\n\ttoHaveError,\n\ttoHaveErrors,\n\ttoMatchCodeframe,\n\ttoMatchInlineCodeframe,\n} from \"./matchers\";\nimport { diff } from \"./utils\";\n\nexpect.extend({\n\ttoBeValid: toBeValid(),\n\ttoBeInvalid: toBeInvalid(),\n\ttoHTMLValidate: toHTMLValidate(expect, diff),\n\ttoHaveError: toHaveError(expect, diff),\n\ttoHaveErrors: toHaveErrors(expect, diff),\n\ttoMatchCodeframe: toMatchCodeframe(),\n\ttoMatchInlineCodeframe: toMatchInlineCodeframe(),\n});\n"],"names":["toBeValid","toBeInvalid","toHTMLValidate","toHaveError","toHaveErrors","toMatchCodeframe","toMatchInlineCodeframe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAaA,MAAA,CAAO,MAAO,CAAA;AAAA,EACb,WAAWA,aAAU,EAAA;AAAA,EACrB,aAAaC,eAAY,EAAA;AAAA,EACzB,cAAA,EAAgBC,eAAe,CAAA,MAAA,EAAQ,IAAI,CAAA;AAAA,EAC3C,WAAA,EAAaC,eAAY,CAAA,MAAA,EAAQ,IAAI,CAAA;AAAA,EACrC,YAAA,EAAcC,eAAa,CAAA,MAAA,EAAQ,IAAI,CAAA;AAAA,EACvC,kBAAkBC,eAAiB,EAAA;AAAA,EACnC,wBAAwBC,eAAuB,EAAA;AAChD,CAAC,CAAA"}
|
package/dist/es/matcher-utils.js
CHANGED
|
@@ -1,38 +1,22 @@
|
|
|
1
|
-
function isThenable(
|
|
2
|
-
|
|
1
|
+
function isThenable(value) {
|
|
2
|
+
return value && typeof value === "object" && "then" in value && typeof value.then === "function";
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
/**
|
|
6
|
-
* Creates a wrapped function based on the passed function.
|
|
7
|
-
*
|
|
8
|
-
* The returned function takes either a `T` or `Promise<T>`. If `T` the result
|
|
9
|
-
* will be synchronous or if `Promise<T>` the result will be asynchronous.
|
|
10
|
-
*
|
|
11
|
-
* In practice this means that if you pass a synchronous object into it you will
|
|
12
|
-
* maintain synchronous code but if you pass an asynchronous object you must
|
|
13
|
-
* await the result.
|
|
14
|
-
*
|
|
15
|
-
* @internal
|
|
16
|
-
*/
|
|
17
5
|
function diverge(fn) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return fn.call(this, actual, ...args);
|
|
24
|
-
}
|
|
6
|
+
function diverged(actual, ...args) {
|
|
7
|
+
if (isThenable(actual)) {
|
|
8
|
+
return actual.then((resolved) => fn.call(this, resolved, ...args));
|
|
9
|
+
} else {
|
|
10
|
+
return fn.call(this, actual, ...args);
|
|
25
11
|
}
|
|
26
|
-
|
|
12
|
+
}
|
|
13
|
+
return diverged;
|
|
27
14
|
}
|
|
28
15
|
|
|
29
|
-
/**
|
|
30
|
-
* Takes all messages from all files and flattens to a single array.
|
|
31
|
-
*/
|
|
32
16
|
function flattenMessages(report) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
17
|
+
return report.results.reduce((aggregated, result) => {
|
|
18
|
+
return aggregated.concat(result.messages);
|
|
19
|
+
}, []);
|
|
36
20
|
}
|
|
37
21
|
|
|
38
22
|
export { diverge as d, flattenMessages as f, isThenable as i };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matcher-utils.js","sources":["
|
|
1
|
+
{"version":3,"file":"matcher-utils.js","sources":["../../src/jest/utils/is-thenable.ts","../../src/jest/utils/diverge.ts","../../src/jest/utils/flatten-messages.ts"],"sourcesContent":["/**\n * @internal\n */\nexport function isThenable<T>(value: T | Promise<T>): value is Promise<T> {\n\treturn value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\n","import { isThenable } from \"./is-thenable\";\nimport { type MatcherContext } from \"./matcher-context\";\nimport { type MatcherResult } from \"./matcher-result\";\n\ntype SyncCallback<T, TArgs extends any[]> = (\n\tthis: MatcherContext,\n\tactual: T,\n\t...args: TArgs\n) => MatcherResult;\n\n/**\n * @internal\n */\nexport interface MaybeAsyncCallback<TActual, TArgs extends any[]> {\n\t(this: MatcherContext, actual: TActual, ...args: TArgs): MatcherResult;\n\t(this: MatcherContext, actual: Promise<TActual>, ...args: TArgs): Promise<MatcherResult>;\n}\n\n/**\n * Creates a wrapped function based on the passed function.\n *\n * The returned function takes either a `T` or `Promise<T>`. If `T` the result\n * will be synchronous or if `Promise<T>` the result will be asynchronous.\n *\n * In practice this means that if you pass a synchronous object into it you will\n * maintain synchronous code but if you pass an asynchronous object you must\n * await the result.\n *\n * @internal\n */\nexport function diverge<T, TArgs extends any[]>(\n\tfn: SyncCallback<T, TArgs>,\n): MaybeAsyncCallback<T, TArgs> {\n\tfunction diverged(this: MatcherContext, actual: T, ...args: TArgs): MatcherResult;\n\tfunction diverged(\n\t\tthis: MatcherContext,\n\t\tactual: Promise<T>,\n\t\t...args: TArgs\n\t): Promise<MatcherResult>;\n\tfunction diverged(\n\t\tthis: MatcherContext,\n\t\tactual: T | Promise<T>,\n\t\t...args: TArgs\n\t): MatcherResult | Promise<MatcherResult> {\n\t\tif (isThenable(actual)) {\n\t\t\treturn actual.then((resolved) => fn.call(this, resolved, ...args));\n\t\t} else {\n\t\t\treturn fn.call(this, actual, ...args);\n\t\t}\n\t}\n\treturn diverged;\n}\n","import { type Message, type Report, type Result } from \"../../reporter\";\n\n/**\n * Takes all messages from all files and flattens to a single array.\n */\nexport function flattenMessages(report: Report): Message[] {\n\treturn report.results.reduce((aggregated: Message[], result: Result) => {\n\t\treturn aggregated.concat(result.messages);\n\t}, []);\n}\n"],"names":[],"mappings":"AAGO,SAAS,WAAc,KAA4C,EAAA;AACzE,EAAO,OAAA,KAAA,IAAS,OAAO,KAAU,KAAA,QAAA,IAAY,UAAU,KAAS,IAAA,OAAO,MAAM,IAAS,KAAA,UAAA,CAAA;AACvF;;ACyBO,SAAS,QACf,EAC+B,EAAA;AAO/B,EAAS,SAAA,QAAA,CAER,WACG,IACsC,EAAA;AACzC,IAAI,IAAA,UAAA,CAAW,MAAM,CAAG,EAAA;AACvB,MAAO,OAAA,MAAA,CAAO,IAAK,CAAA,CAAC,QAAa,KAAA,EAAA,CAAG,KAAK,IAAM,EAAA,QAAA,EAAU,GAAG,IAAI,CAAC,CAAA,CAAA;AAAA,KAC3D,MAAA;AACN,MAAA,OAAO,EAAG,CAAA,IAAA,CAAK,IAAM,EAAA,MAAA,EAAQ,GAAG,IAAI,CAAA,CAAA;AAAA,KACrC;AAAA,GACD;AACA,EAAO,OAAA,QAAA,CAAA;AACR;;AC9CO,SAAS,gBAAgB,MAA2B,EAAA;AAC1D,EAAA,OAAO,MAAO,CAAA,OAAA,CAAQ,MAAO,CAAA,CAAC,YAAuB,MAAmB,KAAA;AACvE,IAAO,OAAA,UAAA,CAAW,MAAO,CAAA,MAAA,CAAO,QAAQ,CAAA,CAAA;AAAA,GACzC,EAAG,EAAE,CAAA,CAAA;AACN;;;;"}
|