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.
Files changed (74) hide show
  1. package/dist/cjs/browser.js +7 -21
  2. package/dist/cjs/browser.js.map +1 -1
  3. package/dist/cjs/cli.js +483 -451
  4. package/dist/cjs/cli.js.map +1 -1
  5. package/dist/cjs/core-browser.js +9 -20
  6. package/dist/cjs/core-browser.js.map +1 -1
  7. package/dist/cjs/core-nodejs.js +203 -297
  8. package/dist/cjs/core-nodejs.js.map +1 -1
  9. package/dist/cjs/core.js +9735 -10454
  10. package/dist/cjs/core.js.map +1 -1
  11. package/dist/cjs/elements.js +2311 -2296
  12. package/dist/cjs/elements.js.map +1 -1
  13. package/dist/cjs/html-validate.js +148 -169
  14. package/dist/cjs/html-validate.js.map +1 -1
  15. package/dist/cjs/html5.js.map +1 -1
  16. package/dist/cjs/index.js +8 -21
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/jest-diff.js +26 -36
  19. package/dist/cjs/jest-diff.js.map +1 -1
  20. package/dist/cjs/jest.js +8 -8
  21. package/dist/cjs/jest.js.map +1 -1
  22. package/dist/cjs/matcher-utils.js +12 -28
  23. package/dist/cjs/matcher-utils.js.map +1 -1
  24. package/dist/cjs/matchers-jestonly.js +38 -47
  25. package/dist/cjs/matchers-jestonly.js.map +1 -1
  26. package/dist/cjs/matchers.js +196 -196
  27. package/dist/cjs/matchers.js.map +1 -1
  28. package/dist/cjs/meta-helper.js +40 -60
  29. package/dist/cjs/meta-helper.js.map +1 -1
  30. package/dist/cjs/test-utils.js +26 -47
  31. package/dist/cjs/test-utils.js.map +1 -1
  32. package/dist/cjs/tsdoc-metadata.json +1 -1
  33. package/dist/cjs/utils/natural-join.js +10 -23
  34. package/dist/cjs/utils/natural-join.js.map +1 -1
  35. package/dist/cjs/vitest.js +6 -6
  36. package/dist/cjs/vitest.js.map +1 -1
  37. package/dist/es/browser.js +2 -2
  38. package/dist/es/cli.js +482 -454
  39. package/dist/es/cli.js.map +1 -1
  40. package/dist/es/core-browser.js +10 -21
  41. package/dist/es/core-browser.js.map +1 -1
  42. package/dist/es/core-nodejs.js +204 -299
  43. package/dist/es/core-nodejs.js.map +1 -1
  44. package/dist/es/core.js +9730 -10455
  45. package/dist/es/core.js.map +1 -1
  46. package/dist/es/elements.js +2311 -2296
  47. package/dist/es/elements.js.map +1 -1
  48. package/dist/es/html-validate.js +150 -171
  49. package/dist/es/html-validate.js.map +1 -1
  50. package/dist/es/html5.js.map +1 -1
  51. package/dist/es/index.js +3 -3
  52. package/dist/es/jest-diff.js +11 -21
  53. package/dist/es/jest-diff.js.map +1 -1
  54. package/dist/es/jest.js +8 -8
  55. package/dist/es/jest.js.map +1 -1
  56. package/dist/es/matcher-utils.js +12 -28
  57. package/dist/es/matcher-utils.js.map +1 -1
  58. package/dist/es/matchers-jestonly.js +39 -48
  59. package/dist/es/matchers-jestonly.js.map +1 -1
  60. package/dist/es/matchers.js +196 -196
  61. package/dist/es/matchers.js.map +1 -1
  62. package/dist/es/meta-helper.js +40 -60
  63. package/dist/es/meta-helper.js.map +1 -1
  64. package/dist/es/test-utils.js +26 -47
  65. package/dist/es/test-utils.js.map +1 -1
  66. package/dist/es/utils/natural-join.js +10 -23
  67. package/dist/es/utils/natural-join.js.map +1 -1
  68. package/dist/es/vitest.js +6 -6
  69. package/dist/es/vitest.js.map +1 -1
  70. package/dist/schema/elements.json +6 -0
  71. package/dist/tsdoc-metadata.json +1 -1
  72. package/dist/types/browser.d.ts +78 -32
  73. package/dist/types/index.d.ts +105 -34
  74. package/package.json +15 -15
@@ -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 { I as name, v as version, n as SchemaValidationError, U as UserError, J as bugs } from './core.js';
6
- import { M as Mode, C as CLI, m as modeToFlag, l as lint, i as init, p as printConfig, d as dump } from './cli.js';
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
- var _a;
22
- function getMode(argv) {
23
- if (argv.init) {
24
- return Mode.INIT;
25
- }
26
- if (argv["dump-events"]) {
27
- return Mode.DUMP_EVENTS;
28
- }
29
- if (argv["dump-source"]) {
30
- return Mode.DUMP_SOURCE;
31
- }
32
- if (argv["dump-tokens"]) {
33
- return Mode.DUMP_TOKENS;
34
- }
35
- if (argv["dump-tree"]) {
36
- return Mode.DUMP_TREE;
37
- }
38
- if (argv["print-config"]) {
39
- return Mode.PRINT_CONFIG;
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(mode) {
44
- switch (mode) {
45
- case Mode.LINT:
46
- return true;
47
- case Mode.INIT:
48
- return false;
49
- case Mode.DUMP_EVENTS:
50
- case Mode.DUMP_TOKENS:
51
- case Mode.DUMP_TREE:
52
- case Mode.DUMP_SOURCE:
53
- case Mode.PRINT_CONFIG:
54
- return true;
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
- var _a;
73
- const formatted = err.prettyFormat();
74
- if (formatted) {
75
- console.error(); /* blank line */
76
- console.error(formatted);
77
- return;
78
- }
79
- console.error(kleur.red("Caught exception:"));
80
- console.group();
81
- {
82
- console.error((_a = err.prettyFormat()) !== null && _a !== void 0 ? _a : err);
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
- console.error(kleur.red("Caught exception:"));
88
- console.group();
89
- {
90
- console.error(err);
91
- }
92
- console.groupEnd();
93
- const bugUrl = `${bugs}?issuable_template=Bug`;
94
- console.error(kleur.red(`This is a bug in ${name}-${version}.`));
95
- console.error(kleur.red([
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
- ].join("\n")));
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
- string: ["c", "config", "ext", "f", "formatter", "max-warnings", "rule", "stdin-filename"],
103
- boolean: [
104
- "init",
105
- "dump-events",
106
- "dump-source",
107
- "dump-tokens",
108
- "dump-tree",
109
- "h",
110
- "help",
111
- "print-config",
112
- "stdin",
113
- "version",
114
- ],
115
- alias: {
116
- c: "config",
117
- f: "formatter",
118
- h: "help",
119
- },
120
- default: {
121
- ext: "html",
122
- formatter: "stylish",
123
- },
124
- unknown: (opt) => {
125
- if (opt.startsWith("-")) {
126
- process.stderr.write(`unknown option ${opt}\n`);
127
- process.exit(1);
128
- }
129
- return true;
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
- process.stdout.write(`${name}-${version}
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
- process.stdout.write(`${name}-${version}\n`);
157
+ process.stdout.write(`${name}-${version}
158
+ `);
169
159
  }
170
160
  if (argv.stdin) {
171
- argv._.push("-");
161
+ argv._.push("-");
172
162
  }
173
163
  if (argv.version) {
174
- showVersion();
175
- process.exit();
164
+ showVersion();
165
+ process.exit();
176
166
  }
177
167
  if (argv.help) {
178
- showUsage();
179
- process.exit();
168
+ showUsage();
169
+ process.exit();
180
170
  }
181
171
  if (argv._.length === 0) {
182
- const mode = getMode(argv);
183
- if (mode === Mode.LINT) {
184
- showUsage();
185
- process.exit(0);
186
- }
187
- else if (requiresFilename(mode)) {
188
- const flag = modeToFlag(mode);
189
- console.error(`\`${flag}\` requires a filename.`);
190
- process.exit(1);
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
- const checkPath = path.resolve(argv.config);
196
- if (!fs.existsSync(checkPath)) {
197
- console.log(`The file "${String(argv.config)}" was not found.`);
198
- console.log(`The location this file was checked for at was: "${String(checkPath)}"`);
199
- process.exit(1);
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
- configFile: argv.config,
204
- rules: argv.rule,
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((_a = argv["max-warnings"]) !== null && _a !== void 0 ? _a : "-1", 10);
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
- console.log(`Invalid value "${String(argv["max-warnings"])}" given to --max-warnings`);
213
- process.exit(1);
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
- return cur.startsWith(".") ? cur.slice(1) : cur;
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
- console.error("No files matching patterns", argv._);
222
- process.exit(1);
207
+ console.error("No files matching patterns", argv._);
208
+ process.exit(1);
223
209
  }
224
210
  async function run() {
225
- var _a;
226
- try {
227
- let success;
228
- if (mode === Mode.LINT) {
229
- success = await lint(htmlvalidate, process.stdout, files, {
230
- formatter,
231
- maxWarnings,
232
- stdinFilename: (_a = argv["stdin-filename"]) !== null && _a !== void 0 ? _a : false,
233
- });
234
- }
235
- else if (mode === Mode.INIT) {
236
- success = await init(cli, process.stdout, { cwd: process.cwd() });
237
- }
238
- else if (mode === Mode.PRINT_CONFIG) {
239
- success = await printConfig(htmlvalidate, process.stdout, files);
240
- }
241
- else {
242
- success = await dump(htmlvalidate, process.stdout, files, mode);
243
- }
244
- process.exit(success ? 0 : 1);
245
- }
246
- catch (err) {
247
- if (err instanceof SchemaValidationError) {
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
- console.error(err);
261
- process.exit(1);
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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"html5.js","sources":["../../../src/html5.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAEA,YAAe,eAAe,CAAC,KAAK;;;;"}
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, f as DOMTokenList, h as DOMTree, j as DynamicValue, E as EventHandler, k as HtmlElement, H as HtmlValidate, M as MetaCopyableProperty, o as MetaTable, m as NestedError, N as NodeClosed, l as NodeType, z as Parser, x as Reporter, R as ResolvedConfig, q as Rule, n as SchemaValidationError, S as Severity, c as StaticConfigLoader, r as TextClassification, p as TextContent, T as TextNode, U as UserError, V as Validator, W as WrappedError, t as classifyNodeText, P as configPresets, y as definePlugin, g as formatterFactory, u as keywordPatternMatcher, B as ruleExists, w as sliceLocation, s as staticResolver, v as version } from './core.js';
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';
@@ -1,28 +1,18 @@
1
- import * as jestDiffDefault from 'jest-diff';
2
- import jestDiffDefault__default from 'jest-diff';
1
+ import * as jestDiff from 'jest-diff';
2
+ import jestDiff__default from 'jest-diff';
3
3
 
4
- /* eslint-disable @typescript-eslint/ban-ts-comment -- this code needs to work
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
- // @ts-ignore
14
- jestDiffDefault__default === null || jestDiffDefault__default === void 0 ? void 0 : jestDiffDefault__default.diff,
15
- // @ts-ignore
16
- jestDiffDefault__default,
17
- // @ts-ignore
18
- jestDiffDefault === null || jestDiffDefault === void 0 ? void 0 : jestDiffDefault.diff,
19
- // @ts-ignore
20
- jestDiffDefault,
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 };
@@ -1 +1 @@
1
- {"version":3,"file":"jest-diff.js","sources":["../../../src/jest/utils/diff.ts"],"sourcesContent":[null],"names":["jestDiffDefault","jestDiff"],"mappings":";;;AAAA;;AAEsF;AACtF;AAC0C;AAkB1C;AACyC;AACzC;AACA,MAAM,cAAc,GAAoC;;AAEvD,IAAAA,wBAAe,KAAf,IAAA,IAAAA,wBAAe,KAAf,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,wBAAe,CAAE,IAAI;;IAErBA,wBAAe;;AAEf,IAAAC,eAAQ,KAAR,IAAA,IAAAA,eAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,eAAQ,CAAE,IAAI;;IAEdA,eAAQ;CACR,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,EAAW,KAAc,OAAO,EAAE,KAAK,UAAU,CAAC;AAEtE;;AAES;AACI,MAAA,IAAI,GAAiB,cAAc,CAAC,IAAI,CAAC,UAAU;;;;"}
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
- 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(),
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
@@ -1 +1 @@
1
- {"version":3,"file":"jest.js","sources":["../../../src/jest/jest.ts"],"sourcesContent":[null],"names":["toBeValid","toBeInvalid","toHTMLValidate","toHaveError","toHaveErrors","toMatchCodeframe","toMatchInlineCodeframe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,CAAC,MAAM,CAAC;IACb,SAAS,EAAEA,aAAS,EAAE;IACtB,WAAW,EAAEC,eAAW,EAAE;AAC1B,IAAA,cAAc,EAAEC,eAAc,CAAC,MAAM,EAAE,IAAI,CAAC;AAC5C,IAAA,WAAW,EAAEC,eAAW,CAAC,MAAM,EAAE,IAAI,CAAC;AACtC,IAAA,YAAY,EAAEC,eAAY,CAAC,MAAM,EAAE,IAAI,CAAC;IACxC,gBAAgB,EAAEC,eAAgB,EAAE;IACpC,sBAAsB,EAAEC,eAAsB,EAAE;AAChD,CAAA,CAAC"}
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"}
@@ -1,38 +1,22 @@
1
- function isThenable(src) {
2
- return src && typeof src === "object" && typeof src.then === "function";
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
- function diverged(actual, ...args) {
19
- if (isThenable(actual)) {
20
- return actual.then((resolved) => fn.call(this, resolved, ...args));
21
- }
22
- else {
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
- return diverged;
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
- return report.results.reduce((aggregated, result) => {
34
- return aggregated.concat(result.messages);
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":["../../../src/jest/utils/is-thenable.ts","../../../src/jest/utils/diverge.ts","../../../src/jest/utils/flatten-messages.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"AAAM,SAAU,UAAU,CAAI,GAAmB,EAAA;AAChD,IAAA,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAQ,GAAW,CAAC,IAAI,KAAK,UAAU,CAAC;AAClF;;ACgBA;;;;;;;;;;;AAWG;AACG,SAAU,OAAO,CACtB,EAA0B,EAAA;AAQ1B,IAAA,SAAS,QAAQ,CAEhB,MAAsB,EACtB,GAAG,IAAW,EAAA;AAEd,QAAA,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;YACvB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;SACnE;aAAM;YACN,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;SACtC;KACD;AACD,IAAA,OAAO,QAAQ,CAAC;AACjB;;ACjDA;;AAEG;AACG,SAAU,eAAe,CAAC,MAAc,EAAA;IAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAqB,EAAE,MAAc,KAAI;QACtE,OAAO,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KAC1C,EAAE,EAAE,CAAC,CAAC;AACR;;;;"}
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;;;;"}