html-validate 8.7.4 → 8.8.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 (73) 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 +468 -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 +9512 -10460
  10. package/dist/cjs/core.js.map +1 -1
  11. package/dist/cjs/elements.js +2293 -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 +467 -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 +9507 -10461
  45. package/dist/es/core.js.map +1 -1
  46. package/dist/es/elements.js +2293 -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/tsdoc-metadata.json +1 -1
  71. package/dist/types/browser.d.ts +61 -30
  72. package/dist/types/index.d.ts +88 -32
  73. package/package.json +12 -12
@@ -1 +1 @@
1
- {"version":3,"file":"matchers.js","sources":["../../../src/jest/matchers/to-be-valid.ts","../../../src/jest/matchers/to-be-invalid.ts","../../../src/jest/matchers/to-htmlvalidate.ts","../../../src/jest/matchers/to-have-error.ts","../../../src/jest/matchers/to-have-errors.ts","../../../src/jest/matchers/get-results.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["createMatcher"],"mappings":"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"}
1
+ {"version":3,"file":"matchers.js","sources":["../../src/jest/matchers/to-be-valid.ts","../../src/jest/matchers/to-be-invalid.ts","../../src/jest/matchers/to-htmlvalidate.ts","../../src/jest/matchers/to-have-error.ts","../../src/jest/matchers/to-have-errors.ts","../../src/jest/matchers/get-results.ts"],"sourcesContent":["import { type Report } from \"../../reporter\";\nimport { type MatcherResult, type MaybeAsyncCallback, diverge } from \"../utils\";\n\nfunction createMatcher(): MaybeAsyncCallback<Report, []> {\n\tfunction toBeValid(report: Report): MatcherResult {\n\t\tif (report.valid) {\n\t\t\treturn {\n\t\t\t\tpass: true,\n\t\t\t\tmessage: /* istanbul ignore next */ () => \"Result should not contain error\",\n\t\t\t};\n\t\t} else {\n\t\t\tconst firstError = report.results[0].messages[0];\n\t\t\treturn {\n\t\t\t\tpass: false,\n\t\t\t\tmessage: () => `Result should be valid but had error \"${firstError.message}\"`,\n\t\t\t};\n\t\t}\n\t}\n\treturn diverge(toBeValid);\n}\n\nexport { createMatcher as toBeValid };\n","import { type Report } from \"../../reporter\";\nimport { type MatcherResult, type MaybeAsyncCallback, diverge } from \"../utils\";\n\nfunction createMatcher(): MaybeAsyncCallback<Report, []> {\n\tfunction toBeInvalid(report: Report): MatcherResult {\n\t\tif (report.valid) {\n\t\t\treturn {\n\t\t\t\tpass: false,\n\t\t\t\tmessage: () => \"Result should be invalid but had no errors\",\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tpass: true,\n\t\t\t\tmessage: /* istanbul ignore next */ () => \"Result should not contain error\",\n\t\t\t};\n\t\t}\n\t}\n\treturn diverge(toBeInvalid);\n}\n\nexport { createMatcher as toBeInvalid };\n","import deepmerge from \"deepmerge\";\nimport { type ConfigData } from \"../../config\";\nimport { FileSystemConfigLoader } from \"../../config/loaders/file-system\";\nimport { HtmlValidate } from \"../../htmlvalidate\";\nimport { type Message } from \"../../reporter\";\nimport {\n\ttype DiffFunction,\n\ttype MatcherContext,\n\ttype MatcherExpect,\n\ttype MatcherResult,\n\ttype MaybeAsyncCallback,\n\tdiverge,\n} from \"../utils\";\n\nfunction isMessage(arg: any): arg is Partial<Message> {\n\tif (!arg) {\n\t\treturn false;\n\t}\n\treturn Boolean(\n\t\targ.ruleId ||\n\t\t\targ.severity ||\n\t\t\targ.message ||\n\t\t\targ.offset ||\n\t\t\targ.line ||\n\t\t\targ.column ||\n\t\t\targ.size ||\n\t\t\targ.selector ||\n\t\t\targ.context,\n\t);\n}\n\nfunction isConfig(arg: any): arg is ConfigData {\n\tif (!arg) {\n\t\treturn false;\n\t}\n\treturn Boolean(\n\t\targ.root || arg.extends || arg.elements || arg.plugin || arg.transform || arg.rules,\n\t);\n}\n\nfunction isString(arg: any): arg is string {\n\treturn typeof arg === \"string\";\n}\n\nfunction getMarkup(src: unknown): string {\n\tif (typeof HTMLElement !== \"undefined\" && src instanceof HTMLElement) {\n\t\treturn (src as { outerHTML: string }).outerHTML;\n\t}\n\t/* istanbul ignore else: prototype only allows string or HTMLElement */\n\tif (typeof src === \"string\") {\n\t\treturn src;\n\t} else {\n\t\tthrow new Error(`Failed to get markup from \"${typeof src}\" argument`);\n\t}\n}\n\ntype Arg1 = Partial<Message> | ConfigData | string;\ntype Arg2 = ConfigData | string;\ntype Arg3 = string;\n\nfunction createMatcher(\n\texpect: MatcherExpect,\n\tdiff: DiffFunction | undefined,\n): MaybeAsyncCallback<unknown, [Arg1?, Arg2?, Arg3?]> {\n\tfunction toHTMLValidate(\n\t\tthis: MatcherContext,\n\t\tactual: unknown,\n\t\targ0?: Arg1,\n\t\targ1?: Arg2,\n\t\targ2?: Arg3,\n\t): MatcherResult {\n\t\tconst markup = getMarkup(actual);\n\t\tconst message = isMessage(arg0) ? arg0 : undefined;\n\t\tconst config = isConfig(arg0) ? arg0 : isConfig(arg1) ? arg1 : undefined;\n\t\tconst filename = isString(arg0) ? arg0 : isString(arg1) ? arg1 : arg2;\n\t\treturn toHTMLValidateImpl.call(this, expect, diff, markup, message, config, filename);\n\t}\n\treturn diverge(toHTMLValidate);\n}\n\nfunction toHTMLValidateImpl(\n\tthis: MatcherContext,\n\texpect: MatcherExpect,\n\tdiff: DiffFunction | undefined,\n\tactual: string,\n\texpectedError?: Partial<Message>,\n\tuserConfig?: ConfigData,\n\tfilename?: string,\n): MatcherResult {\n\tconst defaultConfig = {\n\t\trules: {\n\t\t\t/* jsdom normalizes style so disabling rule when using this matcher or it\n\t\t\t * gets quite noisy when configured with self-closing */\n\t\t\t\"void-style\": \"off\",\n\t\t},\n\t};\n\tconst config = deepmerge(defaultConfig, userConfig ?? {});\n\t/* istanbul ignore next: cant figure out when this would be unset */\n\tconst actualFilename = filename ?? this.testPath ?? \"inline\";\n\tconst loader = new FileSystemConfigLoader({\n\t\textends: [\"html-validate:recommended\"],\n\t});\n\tconst htmlvalidate = new HtmlValidate(loader);\n\tconst report = htmlvalidate.validateStringSync(actual, actualFilename, config);\n\tconst pass = report.valid;\n\tconst result = report.results[0];\n\tif (pass) {\n\t\treturn { pass, message: () => \"HTML is valid when an error was expected\" };\n\t} else {\n\t\tif (expectedError) {\n\t\t\tconst actual = result.messages;\n\t\t\tconst expected = expect.arrayContaining([expect.objectContaining(expectedError)]);\n\t\t\tconst errorPass = this.equals(actual, expected);\n\t\t\tconst diffString = diff\n\t\t\t\t? diff(expected, actual, {\n\t\t\t\t\t\texpand: this.expand,\n\t\t\t\t\t\taAnnotation: \"Expected error\",\n\t\t\t\t\t\tbAnnotation: \"Actual error\",\n\t\t\t\t })\n\t\t\t\t: /* istanbul ignore next */ undefined;\n\t\t\tconst hint = this.utils.matcherHint(\".not.toHTMLValidate\", undefined, undefined, {\n\t\t\t\tcomment: \"expected error\",\n\t\t\t});\n\t\t\tconst expectedErrorMessage = (): string =>\n\t\t\t\t[\n\t\t\t\t\thint,\n\t\t\t\t\t\"\",\n\t\t\t\t\t\"Expected error to be present:\",\n\t\t\t\t\tthis.utils.printExpected(expectedError),\n\t\t\t\t\t/* istanbul ignore next */ diffString ? `\\n${diffString}` : \"\",\n\t\t\t\t].join(\"\\n\");\n\t\t\treturn { pass: !errorPass, message: expectedErrorMessage, actual, expected };\n\t\t}\n\n\t\tconst errors = result.messages.map((message) => ` ${message.message} [${message.ruleId}]`);\n\t\treturn {\n\t\t\tpass,\n\t\t\tmessage: () =>\n\t\t\t\t[\"Expected HTML to be valid but had the following errors:\", \"\"].concat(errors).join(\"\\n\"),\n\t\t};\n\t}\n}\n\nexport { createMatcher as toHTMLValidate };\n","import { type Message, type Report } from \"../../reporter\";\nimport {\n\ttype DiffFunction,\n\ttype MatcherContext,\n\ttype MatcherExpect,\n\ttype MatcherResult,\n\ttype MaybeAsyncCallback,\n\tdiverge,\n} from \"../utils\";\nimport { flattenMessages } from \"../utils/flatten-messages\";\n\nfunction toHaveErrorImpl(\n\tcontext: MatcherContext,\n\texpect: MatcherExpect,\n\tdiff: DiffFunction | undefined,\n\tactual: Report,\n\texpected: Partial<Message>,\n): MatcherResult {\n\tconst flattened = flattenMessages(actual);\n\tconst matcher = [expect.objectContaining(expected)];\n\tconst pass = context.equals(flattened, matcher);\n\tconst diffString = diff\n\t\t? diff(matcher, flattened, { expand: context.expand })\n\t\t: /* istanbul ignore next */ undefined;\n\tconst hint = context.utils.matcherHint(\".toHaveError\");\n\tconst prettyExpected = context.utils.printExpected(matcher);\n\tconst prettyReceived = context.utils.printReceived(flattened);\n\tconst resultMessage = (): string => {\n\t\treturn [\n\t\t\thint,\n\t\t\t\"\",\n\t\t\t\"Expected error to equal:\",\n\t\t\t` ${prettyExpected}`,\n\t\t\t\"Received:\",\n\t\t\t` ${prettyReceived}`,\n\t\t\t/* istanbul ignore next */ diffString ? `\\nDifference:\\n\\n${diffString}` : \"\",\n\t\t].join(\"\\n\");\n\t};\n\treturn { pass, message: resultMessage, actual: flattened, expected: matcher };\n}\n\nfunction createMatcher(\n\texpect: MatcherExpect,\n\tdiff: DiffFunction | undefined,\n):\n\t| MaybeAsyncCallback<Report, [Partial<Message>]>\n\t| MaybeAsyncCallback<Report, [string, string, any?]> {\n\tfunction toHaveError(\n\t\tthis: MatcherContext,\n\t\tactual: Report,\n\t\terror: Partial<Message>,\n\t): MatcherResult;\n\tfunction toHaveError(\n\t\tthis: MatcherContext,\n\t\tactual: Report,\n\t\truleId: string,\n\t\tmessage: string,\n\t\tcontext?: any,\n\t): MatcherResult;\n\tfunction toHaveError(\n\t\tthis: MatcherContext,\n\t\tactual: Report,\n\t\targ1: string | Partial<Message>,\n\t\targ2?: string,\n\t\targ3?: any,\n\t): MatcherResult {\n\t\tif (typeof arg1 === \"string\") {\n\t\t\tconst expected: Partial<Message> = {\n\t\t\t\truleId: arg1,\n\t\t\t\tmessage: arg2,\n\t\t\t};\n\t\t\tif (arg3) {\n\t\t\t\t/* eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- this is supposed to accept anything */\n\t\t\t\texpected.context = arg3;\n\t\t\t}\n\t\t\treturn toHaveErrorImpl(this, expect, diff, actual, expected);\n\t\t} else {\n\t\t\treturn toHaveErrorImpl(this, expect, diff, actual, arg1);\n\t\t}\n\t}\n\treturn diverge(toHaveError);\n}\n\nexport { createMatcher as toHaveError };\n","/* eslint-disable prefer-template -- technical debt, should be refactored */\n\nimport { type Report } from \"../../reporter\";\nimport {\n\ttype DiffFunction,\n\ttype MatcherContext,\n\ttype MatcherExpect,\n\ttype MatcherResult,\n\ttype MaybeAsyncCallback,\n\tdiverge,\n\tflattenMessages,\n} from \"../utils\";\n\nfunction createMatcher(\n\texpect: MatcherExpect,\n\tdiff: DiffFunction | undefined,\n): MaybeAsyncCallback<Report, [Array<[string, string] | Record<string, unknown>>]> {\n\tfunction toHaveErrors(\n\t\tthis: MatcherContext,\n\t\treport: Report,\n\t\terrors: Array<[string, string] | Record<string, unknown>>,\n\t): MatcherResult {\n\t\tconst flattened = flattenMessages(report);\n\t\tconst matcher = errors.map((entry) => {\n\t\t\tif (Array.isArray(entry)) {\n\t\t\t\tconst [ruleId, message] = entry;\n\t\t\t\treturn expect.objectContaining({ ruleId, message });\n\t\t\t} else {\n\t\t\t\treturn expect.objectContaining(entry);\n\t\t\t}\n\t\t});\n\t\tconst pass = this.equals(flattened, matcher);\n\t\tconst diffString = diff\n\t\t\t? diff(matcher, flattened, { expand: this.expand })\n\t\t\t: /* istanbul ignore next */ undefined;\n\t\tconst resultMessage = (): string =>\n\t\t\tthis.utils.matcherHint(\".toHaveErrors\") +\n\t\t\t\"\\n\\n\" +\n\t\t\t\"Expected error to equal:\\n\" +\n\t\t\t` ${this.utils.printExpected(matcher)}\\n` +\n\t\t\t\"Received:\\n\" +\n\t\t\t` ${this.utils.printReceived(flattened)}` +\n\t\t\t/* istanbul ignore next */ (diffString ? `\\n\\nDifference:\\n\\n${diffString}` : \"\");\n\n\t\treturn { pass, message: resultMessage };\n\t}\n\treturn diverge(toHaveErrors);\n}\n\nexport { createMatcher as toHaveErrors };\n","import { FileSystemConfigLoader } from \"../../config/loaders/file-system\";\nimport { type Report, type Result } from \"../../reporter\";\nimport { HtmlValidate } from \"../../htmlvalidate\";\n\n/**\n * @internal\n */\nexport function getResults(filename: string, value: Report | string): Result[] {\n\tif (typeof value === \"string\") {\n\t\tconst loader = new FileSystemConfigLoader({\n\t\t\textends: [\"html-validate:recommended\"],\n\t\t});\n\t\tconst htmlvalidate = new HtmlValidate(loader);\n\t\tconst report = htmlvalidate.validateStringSync(value, filename, {\n\t\t\trules: {\n\t\t\t\t\"void-style\": \"off\",\n\t\t\t},\n\t\t});\n\t\treturn report.results.map((it) => {\n\t\t\treturn { ...it, filePath: \"inline\" };\n\t\t});\n\t} else {\n\t\treturn value.results;\n\t}\n}\n"],"names":["createMatcher","actual"],"mappings":"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"}
@@ -1,77 +1,57 @@
1
1
  import { n as naturalJoin } from './utils/natural-join.js';
2
2
 
3
- /**
4
- * Helper function to assist IDE with completion and type-checking.
5
- *
6
- * @public
7
- */
8
3
  function defineMetadata(metatable) {
9
- return metatable;
4
+ return metatable;
10
5
  }
11
6
 
12
- /**
13
- * @internal
14
- */
15
7
  function allowedIfAttributeIsPresent(...attr) {
16
- return (node) => {
17
- if (attr.some((it) => node.hasAttribute(it))) {
18
- return null;
19
- }
20
- const expected = naturalJoin(attr.map((it) => `"${it}"`));
21
- return `requires ${expected} attribute to be present`;
22
- };
8
+ return (node) => {
9
+ if (attr.some((it) => node.hasAttribute(it))) {
10
+ return null;
11
+ }
12
+ const expected = naturalJoin(attr.map((it) => `"${it}"`));
13
+ return `requires ${expected} attribute to be present`;
14
+ };
23
15
  }
24
- /**
25
- * @internal
26
- */
27
16
  function allowedIfAttributeIsAbsent(...attr) {
28
- return (node) => {
29
- const present = attr.filter((it) => node.hasAttribute(it));
30
- if (present.length === 0) {
31
- return null;
32
- }
33
- const expected = naturalJoin(present.map((it) => `"${it}"`));
34
- return `cannot be used at the same time as ${expected}`;
35
- };
17
+ return (node) => {
18
+ const present = attr.filter((it) => node.hasAttribute(it));
19
+ if (present.length === 0) {
20
+ return null;
21
+ }
22
+ const expected = naturalJoin(present.map((it) => `"${it}"`));
23
+ return `cannot be used at the same time as ${expected}`;
24
+ };
36
25
  }
37
- /**
38
- * @internal
39
- */
40
26
  function allowedIfAttributeHasValue(key, expectedValue, { defaultValue } = {}) {
41
- return (node) => {
42
- const attr = node.getAttribute(key);
43
- if (attr && typeof attr !== "string") {
44
- return null;
45
- }
46
- const actualValue = attr ? attr : defaultValue;
47
- if (actualValue && expectedValue.includes(actualValue.toLocaleLowerCase())) {
48
- return null;
49
- }
50
- const expected = naturalJoin(expectedValue.map((it) => `"${it}"`));
51
- return `"${key}" attribute must be ${expected}`;
52
- };
27
+ return (node) => {
28
+ const attr = node.getAttribute(key);
29
+ if (attr && typeof attr !== "string") {
30
+ return null;
31
+ }
32
+ const actualValue = attr ? attr : defaultValue;
33
+ if (actualValue && expectedValue.includes(actualValue.toLocaleLowerCase())) {
34
+ return null;
35
+ }
36
+ const expected = naturalJoin(expectedValue.map((it) => `"${it}"`));
37
+ return `"${key}" attribute must be ${expected}`;
38
+ };
53
39
  }
54
- /**
55
- * @internal
56
- */
57
40
  function allowedIfParentIsPresent(...tags) {
58
- return (node) => {
59
- const match = tags.some((it) => node.closest(it));
60
- if (match) {
61
- return null;
62
- }
63
- const expected = naturalJoin(tags.map((it) => `<${it}>`));
64
- return `requires ${expected} as parent`;
65
- };
41
+ return (node) => {
42
+ const match = tags.some((it) => node.closest(it));
43
+ if (match) {
44
+ return null;
45
+ }
46
+ const expected = naturalJoin(tags.map((it) => `<${it}>`));
47
+ return `requires ${expected} as parent`;
48
+ };
66
49
  }
67
- /**
68
- * @public
69
- */
70
50
  const metadataHelper = {
71
- allowedIfAttributeIsPresent,
72
- allowedIfAttributeIsAbsent,
73
- allowedIfAttributeHasValue,
74
- allowedIfParentIsPresent,
51
+ allowedIfAttributeIsPresent,
52
+ allowedIfAttributeIsAbsent,
53
+ allowedIfAttributeHasValue,
54
+ allowedIfParentIsPresent
75
55
  };
76
56
 
77
57
  export { defineMetadata as d, metadataHelper as m };
@@ -1 +1 @@
1
- {"version":3,"file":"meta-helper.js","sources":["../../../src/meta/define-metadata.ts","../../../src/meta/helper.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta-helper.js","sources":["../../src/meta/define-metadata.ts","../../src/meta/helper.ts"],"sourcesContent":["import { type MetaDataTable } from \"./element\";\n\n/**\n * Helper function to assist IDE with completion and type-checking.\n *\n * @public\n */\nexport function defineMetadata(metatable: MetaDataTable): MetaDataTable {\n\treturn metatable;\n}\n","import { naturalJoin } from \"../utils/natural-join\";\nimport { type MetaAttributeAllowedCallback } from \"./element\";\nimport { type HtmlElementLike } from \"./html-element-like\";\n\n/**\n * Helpers when writing element metadata.\n *\n * @public\n */\nexport interface MetadataHelper {\n\t/** Returns an error if another attribute is omitted, i.e. it requires another attribute to be present to pass. */\n\tallowedIfAttributeIsPresent(this: void, ...attr: string[]): MetaAttributeAllowedCallback;\n\n\t/** Returns an error if another attribute is present, i.e. it requires another attribute to be omitted to pass. */\n\tallowedIfAttributeIsAbsent(this: void, ...attr: string[]): MetaAttributeAllowedCallback;\n\n\t/** Returns an error if another attribute does not have one of the listed values */\n\tallowedIfAttributeHasValue(\n\t\tthis: void,\n\t\tattr: string,\n\t\tvalue: string[],\n\t\toptions?: { defaultValue?: string | null },\n\t): MetaAttributeAllowedCallback;\n\n\t/**\n\t * Returns an error if the node doesn't have any of the given elements as parent\n\t *\n\t * @since 8.2.0\n\t **/\n\tallowedIfParentIsPresent(this: void, ...tags: string[]): MetaAttributeAllowedCallback;\n}\n\n/**\n * @internal\n */\nexport function allowedIfAttributeIsPresent(...attr: string[]) {\n\treturn (node: HtmlElementLike) => {\n\t\tif (attr.some((it) => node.hasAttribute(it))) {\n\t\t\treturn null;\n\t\t}\n\t\tconst expected = naturalJoin(attr.map((it) => `\"${it}\"`));\n\t\treturn `requires ${expected} attribute to be present`;\n\t};\n}\n\n/**\n * @internal\n */\nexport function allowedIfAttributeIsAbsent(...attr: string[]): MetaAttributeAllowedCallback {\n\treturn (node: HtmlElementLike) => {\n\t\tconst present = attr.filter((it) => node.hasAttribute(it));\n\t\tif (present.length === 0) {\n\t\t\treturn null;\n\t\t}\n\t\tconst expected = naturalJoin(present.map((it) => `\"${it}\"`));\n\t\treturn `cannot be used at the same time as ${expected}`;\n\t};\n}\n\n/**\n * @internal\n */\nexport function allowedIfAttributeHasValue(\n\tkey: string,\n\texpectedValue: string[],\n\t{ defaultValue }: { defaultValue?: string | null } = {},\n): MetaAttributeAllowedCallback {\n\treturn (node: HtmlElementLike) => {\n\t\tconst attr = node.getAttribute(key);\n\t\tif (attr && typeof attr !== \"string\") {\n\t\t\treturn null;\n\t\t}\n\t\tconst actualValue = attr ? attr : defaultValue;\n\t\tif (actualValue && expectedValue.includes(actualValue.toLocaleLowerCase())) {\n\t\t\treturn null;\n\t\t}\n\t\tconst expected = naturalJoin(expectedValue.map((it) => `\"${it}\"`));\n\t\treturn `\"${key}\" attribute must be ${expected}`;\n\t};\n}\n\n/**\n * @internal\n */\nexport function allowedIfParentIsPresent(\n\tthis: void,\n\t...tags: string[]\n): MetaAttributeAllowedCallback {\n\treturn (node: HtmlElementLike) => {\n\t\tconst match = tags.some((it) => node.closest(it));\n\t\tif (match) {\n\t\t\treturn null;\n\t\t}\n\t\tconst expected = naturalJoin(tags.map((it) => `<${it}>`));\n\t\treturn `requires ${expected} as parent`;\n\t};\n}\n\n/**\n * @public\n */\nexport const metadataHelper: MetadataHelper = {\n\tallowedIfAttributeIsPresent,\n\tallowedIfAttributeIsAbsent,\n\tallowedIfAttributeHasValue,\n\tallowedIfParentIsPresent,\n};\n"],"names":[],"mappings":";;AAOO,SAAS,eAAe,SAAyC,EAAA;AACvE,EAAO,OAAA,SAAA,CAAA;AACR;;AC0BO,SAAS,+BAA+B,IAAgB,EAAA;AAC9D,EAAA,OAAO,CAAC,IAA0B,KAAA;AACjC,IAAI,IAAA,IAAA,CAAK,KAAK,CAAC,EAAA,KAAO,KAAK,YAAa,CAAA,EAAE,CAAC,CAAG,EAAA;AAC7C,MAAO,OAAA,IAAA,CAAA;AAAA,KACR;AACA,IAAM,MAAA,QAAA,GAAW,YAAY,IAAK,CAAA,GAAA,CAAI,CAAC,EAAO,KAAA,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA;AACxD,IAAA,OAAO,YAAY,QAAQ,CAAA,wBAAA,CAAA,CAAA;AAAA,GAC5B,CAAA;AACD,CAAA;AAKO,SAAS,8BAA8B,IAA8C,EAAA;AAC3F,EAAA,OAAO,CAAC,IAA0B,KAAA;AACjC,IAAM,MAAA,OAAA,GAAU,KAAK,MAAO,CAAA,CAAC,OAAO,IAAK,CAAA,YAAA,CAAa,EAAE,CAAC,CAAA,CAAA;AACzD,IAAI,IAAA,OAAA,CAAQ,WAAW,CAAG,EAAA;AACzB,MAAO,OAAA,IAAA,CAAA;AAAA,KACR;AACA,IAAM,MAAA,QAAA,GAAW,YAAY,OAAQ,CAAA,GAAA,CAAI,CAAC,EAAO,KAAA,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA;AAC3D,IAAA,OAAO,sCAAsC,QAAQ,CAAA,CAAA,CAAA;AAAA,GACtD,CAAA;AACD,CAAA;AAKO,SAAS,2BACf,GACA,EAAA,aAAA,EACA,EAAE,YAAa,EAAA,GAAsC,EACtB,EAAA;AAC/B,EAAA,OAAO,CAAC,IAA0B,KAAA;AACjC,IAAM,MAAA,IAAA,GAAO,IAAK,CAAA,YAAA,CAAa,GAAG,CAAA,CAAA;AAClC,IAAI,IAAA,IAAA,IAAQ,OAAO,IAAA,KAAS,QAAU,EAAA;AACrC,MAAO,OAAA,IAAA,CAAA;AAAA,KACR;AACA,IAAM,MAAA,WAAA,GAAc,OAAO,IAAO,GAAA,YAAA,CAAA;AAClC,IAAA,IAAI,eAAe,aAAc,CAAA,QAAA,CAAS,WAAY,CAAA,iBAAA,EAAmB,CAAG,EAAA;AAC3E,MAAO,OAAA,IAAA,CAAA;AAAA,KACR;AACA,IAAM,MAAA,QAAA,GAAW,YAAY,aAAc,CAAA,GAAA,CAAI,CAAC,EAAO,KAAA,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA;AACjE,IAAO,OAAA,CAAA,CAAA,EAAI,GAAG,CAAA,oBAAA,EAAuB,QAAQ,CAAA,CAAA,CAAA;AAAA,GAC9C,CAAA;AACD,CAAA;AAKO,SAAS,4BAEZ,IAC4B,EAAA;AAC/B,EAAA,OAAO,CAAC,IAA0B,KAAA;AACjC,IAAM,MAAA,KAAA,GAAQ,KAAK,IAAK,CAAA,CAAC,OAAO,IAAK,CAAA,OAAA,CAAQ,EAAE,CAAC,CAAA,CAAA;AAChD,IAAA,IAAI,KAAO,EAAA;AACV,MAAO,OAAA,IAAA,CAAA;AAAA,KACR;AACA,IAAM,MAAA,QAAA,GAAW,YAAY,IAAK,CAAA,GAAA,CAAI,CAAC,EAAO,KAAA,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA;AACxD,IAAA,OAAO,YAAY,QAAQ,CAAA,UAAA,CAAA,CAAA;AAAA,GAC5B,CAAA;AACD,CAAA;AAKO,MAAM,cAAiC,GAAA;AAAA,EAC7C,2BAAA;AAAA,EACA,0BAAA;AAAA,EACA,0BAAA;AAAA,EACA,wBAAA;AACD;;;;"}
@@ -1,57 +1,36 @@
1
1
  import fs from 'fs';
2
2
 
3
- /**
4
- * Helper function to call a transformer function in test-cases.
5
- *
6
- * @public
7
- * @param fn - Transformer function to call.
8
- * @param filename - Filename to read data from. Must be readable.
9
- * @param chain - If set this function is called when chaining transformers. Default is pass-thru.
10
- */
11
3
  function transformFile(fn, filename, chain) {
12
- const data = fs.readFileSync(filename, "utf-8");
13
- const source = {
14
- filename,
15
- line: 1,
16
- column: 1,
17
- offset: 0,
18
- data,
19
- };
20
- return transformSource(fn, source, chain);
4
+ const data = fs.readFileSync(filename, "utf-8");
5
+ const source = {
6
+ filename,
7
+ line: 1,
8
+ column: 1,
9
+ offset: 0,
10
+ data
11
+ };
12
+ return transformSource(fn, source, chain);
21
13
  }
22
- /**
23
- * Helper function to call a transformer function in test-cases.
24
- *
25
- * @public
26
- * @param fn - Transformer function to call.
27
- * @param data - String to transform.
28
- * @param chain - If set this function is called when chaining transformers. Default is pass-thru.
29
- */
30
14
  function transformString(fn, data, chain) {
31
- const source = {
32
- filename: "inline",
33
- line: 1,
34
- column: 1,
35
- offset: 0,
36
- data,
37
- };
38
- return transformSource(fn, source, chain);
15
+ const source = {
16
+ filename: "inline",
17
+ line: 1,
18
+ column: 1,
19
+ offset: 0,
20
+ data
21
+ };
22
+ return transformSource(fn, source, chain);
39
23
  }
40
- /**
41
- * Helper function to call a transformer function in test-cases.
42
- *
43
- * @public
44
- * @param fn - Transformer function to call.
45
- * @param data - Source to transform.
46
- * @param chain - If set this function is called when chaining transformers. Default is pass-thru.
47
- */
48
24
  function transformSource(fn, source, chain) {
49
- const defaultChain = (source) => [source];
50
- const context = {
51
- hasChain: /* istanbul ignore next */ () => true,
52
- chain: chain !== null && chain !== void 0 ? chain : defaultChain,
53
- };
54
- return Array.from(fn.call(context, source));
25
+ const defaultChain = (source2) => [source2];
26
+ const context = {
27
+ hasChain: (
28
+ /* istanbul ignore next */
29
+ () => true
30
+ ),
31
+ chain: chain ?? defaultChain
32
+ };
33
+ return Array.from(fn.call(context, source));
55
34
  }
56
35
 
57
36
  export { transformFile, transformSource, transformString };
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.js","sources":["../../../src/transform/test-utils.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAQA;;;;;;;AAOG;SACa,aAAa,CAC5B,EAAe,EACf,QAAgB,EAChB,KAA8D,EAAA;IAE9D,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAChD,IAAA,MAAM,MAAM,GAAW;QACtB,QAAQ;AACR,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,MAAM,EAAE,CAAC;QACT,IAAI;KACJ,CAAC;IACF,OAAO,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;AAOG;SACa,eAAe,CAC9B,EAAe,EACf,IAAY,EACZ,KAA8D,EAAA;AAE9D,IAAA,MAAM,MAAM,GAAW;AACtB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,MAAM,EAAE,CAAC;QACT,IAAI;KACJ,CAAC;IACF,OAAO,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;AAOG;SACa,eAAe,CAC9B,EAAe,EACf,MAAc,EACd,KAA8D,EAAA;IAE9D,MAAM,YAAY,GAAG,CAAC,MAAc,KAAuB,CAAC,MAAM,CAAC,CAAC;AACpE,IAAA,MAAM,OAAO,GAAqB;AACjC,QAAA,QAAQ,6BAA6B,MAAM,IAAI;AAC/C,QAAA,KAAK,EAAE,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,YAAY;KAC5B,CAAC;AACF,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7C;;;;"}
1
+ {"version":3,"file":"test-utils.js","sources":["../../src/transform/test-utils.ts"],"sourcesContent":["import fs from \"fs\";\nimport { type Source, type TransformContext } from \"html-validate\";\n\n/**\n * @public\n */\nexport type Transformer = (this: TransformContext, source: Source) => Iterable<Source>;\n\n/**\n * Helper function to call a transformer function in test-cases.\n *\n * @public\n * @param fn - Transformer function to call.\n * @param filename - Filename to read data from. Must be readable.\n * @param chain - If set this function is called when chaining transformers. Default is pass-thru.\n */\nexport function transformFile(\n\tfn: Transformer,\n\tfilename: string,\n\tchain?: (source: Source, filename: string) => Iterable<Source>,\n): Source[] {\n\tconst data = fs.readFileSync(filename, \"utf-8\");\n\tconst source: Source = {\n\t\tfilename,\n\t\tline: 1,\n\t\tcolumn: 1,\n\t\toffset: 0,\n\t\tdata,\n\t};\n\treturn transformSource(fn, source, chain);\n}\n\n/**\n * Helper function to call a transformer function in test-cases.\n *\n * @public\n * @param fn - Transformer function to call.\n * @param data - String to transform.\n * @param chain - If set this function is called when chaining transformers. Default is pass-thru.\n */\nexport function transformString(\n\tfn: Transformer,\n\tdata: string,\n\tchain?: (source: Source, filename: string) => Iterable<Source>,\n): Source[] {\n\tconst source: Source = {\n\t\tfilename: \"inline\",\n\t\tline: 1,\n\t\tcolumn: 1,\n\t\toffset: 0,\n\t\tdata,\n\t};\n\treturn transformSource(fn, source, chain);\n}\n\n/**\n * Helper function to call a transformer function in test-cases.\n *\n * @public\n * @param fn - Transformer function to call.\n * @param data - Source to transform.\n * @param chain - If set this function is called when chaining transformers. Default is pass-thru.\n */\nexport function transformSource(\n\tfn: Transformer,\n\tsource: Source,\n\tchain?: (source: Source, filename: string) => Iterable<Source>,\n): Source[] {\n\tconst defaultChain = (source: Source): Iterable<Source> => [source];\n\tconst context: TransformContext = {\n\t\thasChain: /* istanbul ignore next */ () => true,\n\t\tchain: chain ?? defaultChain,\n\t};\n\treturn Array.from(fn.call(context, source));\n}\n"],"names":["source"],"mappings":";;AAgBgB,SAAA,aAAA,CACf,EACA,EAAA,QAAA,EACA,KACW,EAAA;AACX,EAAA,MAAM,IAAO,GAAA,EAAA,CAAG,YAAa,CAAA,QAAA,EAAU,OAAO,CAAA,CAAA;AAC9C,EAAA,MAAM,MAAiB,GAAA;AAAA,IACtB,QAAA;AAAA,IACA,IAAM,EAAA,CAAA;AAAA,IACN,MAAQ,EAAA,CAAA;AAAA,IACR,MAAQ,EAAA,CAAA;AAAA,IACR,IAAA;AAAA,GACD,CAAA;AACA,EAAO,OAAA,eAAA,CAAgB,EAAI,EAAA,MAAA,EAAQ,KAAK,CAAA,CAAA;AACzC,CAAA;AAUgB,SAAA,eAAA,CACf,EACA,EAAA,IAAA,EACA,KACW,EAAA;AACX,EAAA,MAAM,MAAiB,GAAA;AAAA,IACtB,QAAU,EAAA,QAAA;AAAA,IACV,IAAM,EAAA,CAAA;AAAA,IACN,MAAQ,EAAA,CAAA;AAAA,IACR,MAAQ,EAAA,CAAA;AAAA,IACR,IAAA;AAAA,GACD,CAAA;AACA,EAAO,OAAA,eAAA,CAAgB,EAAI,EAAA,MAAA,EAAQ,KAAK,CAAA,CAAA;AACzC,CAAA;AAUgB,SAAA,eAAA,CACf,EACA,EAAA,MAAA,EACA,KACW,EAAA;AACX,EAAA,MAAM,YAAe,GAAA,CAACA,OAAqC,KAAA,CAACA,OAAM,CAAA,CAAA;AAClE,EAAA,MAAM,OAA4B,GAAA;AAAA,IACjC,QAAA;AAAA;AAAA,MAAqC,MAAM,IAAA;AAAA,KAAA;AAAA,IAC3C,OAAO,KAAS,IAAA,YAAA;AAAA,GACjB,CAAA;AACA,EAAA,OAAO,MAAM,IAAK,CAAA,EAAA,CAAG,IAAK,CAAA,OAAA,EAAS,MAAM,CAAC,CAAA,CAAA;AAC3C;;;;"}
@@ -1,27 +1,14 @@
1
- /**
2
- * Joins a list of words into natural language.
3
- *
4
- * - `["foo"]` becomes `"foo"`
5
- * - `["foo", "bar"]` becomes `"foo or bar"`
6
- * - `["foo", "bar", "baz"]` becomes `"foo, bar or baz"`
7
- * - and so on...
8
- *
9
- * @internal
10
- * @param values - List of words to join
11
- * @param conjunction - Conjunction for the last element.
12
- * @returns String with the words naturally joined with a conjunction.
13
- */
14
1
  function naturalJoin(values, conjunction = "or") {
15
- switch (values.length) {
16
- case 0:
17
- return "";
18
- case 1:
19
- return values[0];
20
- case 2:
21
- return `${values[0]} ${conjunction} ${values[1]}`;
22
- default:
23
- return `${values.slice(0, -1).join(", ")} ${conjunction} ${values.slice(-1)[0]}`;
24
- }
2
+ switch (values.length) {
3
+ case 0:
4
+ return "";
5
+ case 1:
6
+ return values[0];
7
+ case 2:
8
+ return `${values[0]} ${conjunction} ${values[1]}`;
9
+ default:
10
+ return `${values.slice(0, -1).join(", ")} ${conjunction} ${values.slice(-1)[0]}`;
11
+ }
25
12
  }
26
13
 
27
14
  export { naturalJoin as n };
@@ -1 +1 @@
1
- {"version":3,"file":"natural-join.js","sources":["../../../../src/utils/natural-join.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;AAYG;SACa,WAAW,CAAC,MAAgB,EAAE,cAAsB,IAAI,EAAA;AACvE,IAAA,QAAQ,MAAM,CAAC,MAAM;AACpB,QAAA,KAAK,CAAC;AACL,YAAA,OAAO,EAAE,CAAC;AACX,QAAA,KAAK,CAAC;AACL,YAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AAClB,QAAA,KAAK,CAAC;AACL,YAAA,OAAO,CAAG,EAAA,MAAM,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,EAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,QAAA;AACC,YAAA,OAAO,CAAG,EAAA,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAClF;AACF;;;;"}
1
+ {"version":3,"file":"natural-join.js","sources":["../../../src/utils/natural-join.ts"],"sourcesContent":["/**\n * Joins a list of words into natural language.\n *\n * - `[\"foo\"]` becomes `\"foo\"`\n * - `[\"foo\", \"bar\"]` becomes `\"foo or bar\"`\n * - `[\"foo\", \"bar\", \"baz\"]` becomes `\"foo, bar or baz\"`\n * - and so on...\n *\n * @internal\n * @param values - List of words to join\n * @param conjunction - Conjunction for the last element.\n * @returns String with the words naturally joined with a conjunction.\n */\nexport function naturalJoin(values: string[], conjunction: string = \"or\"): string {\n\tswitch (values.length) {\n\t\tcase 0:\n\t\t\treturn \"\";\n\t\tcase 1:\n\t\t\treturn values[0];\n\t\tcase 2:\n\t\t\treturn `${values[0]} ${conjunction} ${values[1]}`;\n\t\tdefault:\n\t\t\treturn `${values.slice(0, -1).join(\", \")} ${conjunction} ${values.slice(-1)[0]}`;\n\t}\n}\n"],"names":[],"mappings":"AAagB,SAAA,WAAA,CAAY,MAAkB,EAAA,WAAA,GAAsB,IAAc,EAAA;AACjF,EAAA,QAAQ,OAAO,MAAQ;AAAA,IACtB,KAAK,CAAA;AACJ,MAAO,OAAA,EAAA,CAAA;AAAA,IACR,KAAK,CAAA;AACJ,MAAA,OAAO,OAAO,CAAC,CAAA,CAAA;AAAA,IAChB,KAAK,CAAA;AACJ,MAAO,OAAA,CAAA,EAAG,OAAO,CAAC,CAAC,IAAI,WAAW,CAAA,CAAA,EAAI,MAAO,CAAA,CAAC,CAAC,CAAA,CAAA,CAAA;AAAA,IAChD;AACC,MAAA,OAAO,GAAG,MAAO,CAAA,KAAA,CAAM,CAAG,EAAA,CAAA,CAAE,EAAE,IAAK,CAAA,IAAI,CAAC,CAAA,CAAA,EAAI,WAAW,CAAI,CAAA,EAAA,MAAA,CAAO,MAAM,CAAE,CAAA,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA,CAAA;AAAA,GAChF;AACD;;;;"}
package/dist/es/vitest.js CHANGED
@@ -6,8 +6,8 @@ import 'ajv';
6
6
  import './elements.js';
7
7
  import './meta-helper.js';
8
8
  import './utils/natural-join.js';
9
- import 'fs';
10
9
  import '@sidvind/better-ajv-errors';
10
+ import 'fs';
11
11
  import '@babel/code-frame';
12
12
  import 'kleur';
13
13
  import '@html-validate/stylish';
@@ -18,10 +18,10 @@ import 'node:path';
18
18
  import 'node:module';
19
19
 
20
20
  expect.extend({
21
- toBeValid: createMatcher(),
22
- toBeInvalid: createMatcher$1(),
23
- toHTMLValidate: createMatcher$2(expect, undefined),
24
- toHaveError: createMatcher$3(expect, undefined),
25
- toHaveErrors: createMatcher$4(expect, undefined),
21
+ toBeValid: createMatcher(),
22
+ toBeInvalid: createMatcher$1(),
23
+ toHTMLValidate: createMatcher$2(expect, void 0),
24
+ toHaveError: createMatcher$3(expect, void 0),
25
+ toHaveErrors: createMatcher$4(expect, void 0)
26
26
  });
27
27
  //# sourceMappingURL=vitest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.js","sources":["../../../src/vitest/vitest.ts"],"sourcesContent":[null],"names":["toBeValid","toBeInvalid","toHTMLValidate","toHaveError","toHaveErrors"],"mappings":";;;;;;;;;;;;;;;;;;;AAWA,MAAM,CAAC,MAAM,CAAC;IACb,SAAS,EAAEA,aAAS,EAAE;IACtB,WAAW,EAAEC,eAAW,EAAE;AAC1B,IAAA,cAAc,EAAEC,eAAc,CAAC,MAAM,EAAE,SAAS,CAAC;AACjD,IAAA,WAAW,EAAEC,eAAW,CAAC,MAAM,EAAE,SAAS,CAAC;AAC3C,IAAA,YAAY,EAAEC,eAAY,CAAC,MAAM,EAAE,SAAS,CAAC;AAC7C,CAAA,CAAC"}
1
+ {"version":3,"file":"vitest.js","sources":["../../src/vitest/vitest.ts"],"sourcesContent":["import \"./augmentation\";\n\nimport { expect } from \"vitest\";\nimport {\n\ttoBeValid,\n\ttoBeInvalid,\n\ttoHTMLValidate,\n\ttoHaveError,\n\ttoHaveErrors,\n} from \"../jest/matchers\";\n\nexpect.extend({\n\ttoBeValid: toBeValid(),\n\ttoBeInvalid: toBeInvalid(),\n\ttoHTMLValidate: toHTMLValidate(expect, undefined),\n\ttoHaveError: toHaveError(expect, undefined),\n\ttoHaveErrors: toHaveErrors(expect, undefined),\n});\n"],"names":["toBeValid","toBeInvalid","toHTMLValidate","toHaveError","toHaveErrors"],"mappings":";;;;;;;;;;;;;;;;;;;AAWA,MAAA,CAAO,MAAO,CAAA;AAAA,EACb,WAAWA,aAAU,EAAA;AAAA,EACrB,aAAaC,eAAY,EAAA;AAAA,EACzB,cAAA,EAAgBC,eAAe,CAAA,MAAA,EAAQ,KAAS,CAAA,CAAA;AAAA,EAChD,WAAA,EAAaC,eAAY,CAAA,MAAA,EAAQ,KAAS,CAAA,CAAA;AAAA,EAC1C,YAAA,EAAcC,eAAa,CAAA,MAAA,EAAQ,KAAS,CAAA,CAAA;AAC7C,CAAC,CAAA"}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.38.5"
8
+ "packageVersion": "7.39.0"
9
9
  }
10
10
  ]
11
11
  }
@@ -264,6 +264,16 @@ export declare interface ConfigData {
264
264
  * If set to true no new configurations will be searched.
265
265
  */
266
266
  root?: boolean;
267
+ /**
268
+ * List of configuration presets to extend.
269
+ *
270
+ * The following sources are allowed:
271
+ *
272
+ * - One of the [predefined presets](http://html-validate.org/rules/presets.html).
273
+ * - Node module exporting a preset.
274
+ * - Plugin exporting a named preset.
275
+ * - Local path to a json or js file exporting a preset.
276
+ */
267
277
  extends?: string[];
268
278
  /**
269
279
  * List of sources for element metadata.
@@ -376,6 +386,14 @@ export declare interface DeferredMessage extends Omit<Message, "selector"> {
376
386
  selector: () => string | null;
377
387
  }
378
388
 
389
+ /**
390
+ * Helper function to assist IDE with completion and type-checking.
391
+ *
392
+ * @public
393
+ * @since
394
+ */
395
+ export declare function defineConfig(config: ConfigData): ConfigData;
396
+
379
397
  /**
380
398
  * Helper function to assist IDE with completion and type-checking.
381
399
  *
@@ -930,13 +948,13 @@ export declare class HtmlValidate {
930
948
  * @param hooks - Optional hooks (see [[Source]]) for definition.
931
949
  * @returns Report output.
932
950
  */
933
- validateString(str: string): Promise<Report>;
934
- validateString(str: string, filename: string): Promise<Report>;
935
- validateString(str: string, hooks: SourceHooks): Promise<Report>;
936
- validateString(str: string, options: ConfigData): Promise<Report>;
937
- validateString(str: string, filename: string, hooks: SourceHooks): Promise<Report>;
938
- validateString(str: string, filename: string, options: ConfigData): Promise<Report>;
939
- validateString(str: string, filename: string, options: ConfigData, hooks: SourceHooks): Promise<Report>;
951
+ validateString(str: string): Promise<Report_2>;
952
+ validateString(str: string, filename: string): Promise<Report_2>;
953
+ validateString(str: string, hooks: SourceHooks): Promise<Report_2>;
954
+ validateString(str: string, options: ConfigData): Promise<Report_2>;
955
+ validateString(str: string, filename: string, hooks: SourceHooks): Promise<Report_2>;
956
+ validateString(str: string, filename: string, options: ConfigData): Promise<Report_2>;
957
+ validateString(str: string, filename: string, options: ConfigData, hooks: SourceHooks): Promise<Report_2>;
940
958
  /**
941
959
  * Parse and validate HTML from string.
942
960
  *
@@ -946,13 +964,13 @@ export declare class HtmlValidate {
946
964
  * @param hooks - Optional hooks (see [[Source]]) for definition.
947
965
  * @returns Report output.
948
966
  */
949
- validateStringSync(str: string): Report;
950
- validateStringSync(str: string, filename: string): Report;
951
- validateStringSync(str: string, hooks: SourceHooks): Report;
952
- validateStringSync(str: string, options: ConfigData): Report;
953
- validateStringSync(str: string, filename: string, hooks: SourceHooks): Report;
954
- validateStringSync(str: string, filename: string, options: ConfigData): Report;
955
- validateStringSync(str: string, filename: string, options: ConfigData, hooks: SourceHooks): Report;
967
+ validateStringSync(str: string): Report_2;
968
+ validateStringSync(str: string, filename: string): Report_2;
969
+ validateStringSync(str: string, hooks: SourceHooks): Report_2;
970
+ validateStringSync(str: string, options: ConfigData): Report_2;
971
+ validateStringSync(str: string, filename: string, hooks: SourceHooks): Report_2;
972
+ validateStringSync(str: string, filename: string, options: ConfigData): Report_2;
973
+ validateStringSync(str: string, filename: string, options: ConfigData, hooks: SourceHooks): Report_2;
956
974
  /**
957
975
  * Parse and validate HTML from [[Source]].
958
976
  *
@@ -960,7 +978,7 @@ export declare class HtmlValidate {
960
978
  * @param input - Source to parse.
961
979
  * @returns Report output.
962
980
  */
963
- validateSource(input: Source, configOverride?: ConfigData): Promise<Report>;
981
+ validateSource(input: Source, configOverride?: ConfigData): Promise<Report_2>;
964
982
  /**
965
983
  * Parse and validate HTML from [[Source]].
966
984
  *
@@ -968,7 +986,7 @@ export declare class HtmlValidate {
968
986
  * @param input - Source to parse.
969
987
  * @returns Report output.
970
988
  */
971
- validateSourceSync(input: Source, configOverride?: ConfigData): Report;
989
+ validateSourceSync(input: Source, configOverride?: ConfigData): Report_2;
972
990
  /**
973
991
  * Parse and validate HTML from file.
974
992
  *
@@ -976,7 +994,7 @@ export declare class HtmlValidate {
976
994
  * @param filename - Filename to read and parse.
977
995
  * @returns Report output.
978
996
  */
979
- validateFile(filename: string): Promise<Report>;
997
+ validateFile(filename: string): Promise<Report_2>;
980
998
  /**
981
999
  * Parse and validate HTML from file.
982
1000
  *
@@ -984,7 +1002,7 @@ export declare class HtmlValidate {
984
1002
  * @param filename - Filename to read and parse.
985
1003
  * @returns Report output.
986
1004
  */
987
- validateFileSync(filename: string): Report;
1005
+ validateFileSync(filename: string): Report_2;
988
1006
  /**
989
1007
  * Parse and validate HTML from multiple files. Result is merged together to a
990
1008
  * single report.
@@ -992,7 +1010,7 @@ export declare class HtmlValidate {
992
1010
  * @param filenames - Filenames to read and parse.
993
1011
  * @returns Report output.
994
1012
  */
995
- validateMultipleFiles(filenames: string[]): Promise<Report>;
1013
+ validateMultipleFiles(filenames: string[]): Promise<Report_2>;
996
1014
  /**
997
1015
  * Parse and validate HTML from multiple files. Result is merged together to a
998
1016
  * single report.
@@ -1000,7 +1018,7 @@ export declare class HtmlValidate {
1000
1018
  * @param filenames - Filenames to read and parse.
1001
1019
  * @returns Report output.
1002
1020
  */
1003
- validateMultipleFilesSync(filenames: string[]): Report;
1021
+ validateMultipleFilesSync(filenames: string[]): Report_2;
1004
1022
  /**
1005
1023
  * Returns true if the given filename can be validated.
1006
1024
  *
@@ -1798,7 +1816,7 @@ export declare type PropertyExpression = string | [string, any];
1798
1816
  *
1799
1817
  * @public
1800
1818
  */
1801
- export declare interface Report {
1819
+ declare interface Report_2 {
1802
1820
  /** `true` if validation was successful */
1803
1821
  valid: boolean;
1804
1822
  /** Detailed results per validated source */
@@ -1808,6 +1826,7 @@ export declare interface Report {
1808
1826
  /** Total warnings of errors across all sources */
1809
1827
  warningCount: number;
1810
1828
  }
1829
+ export { Report_2 as Report }
1811
1830
 
1812
1831
  /**
1813
1832
  * @public
@@ -1817,11 +1836,21 @@ export declare class Reporter {
1817
1836
  constructor();
1818
1837
  /**
1819
1838
  * Merge two or more reports into a single one.
1839
+ *
1840
+ * @param reports- Reports to merge.
1841
+ * @returns A merged report.
1842
+ */
1843
+ static merge(reports: Report_2[]): Report_2;
1844
+ /**
1845
+ * Merge two or more reports into a single one.
1846
+ *
1847
+ * @param reports- Reports to merge.
1848
+ * @returns A promise resolved with the merged report.
1820
1849
  */
1821
- static merge(reports: Report[]): Report;
1850
+ static merge(reports: Promise<Report_2[]> | Array<Promise<Report_2>>): Promise<Report_2>;
1822
1851
  add<ContextType, OptionsType>(rule: Rule<ContextType, OptionsType>, message: string, severity: number, node: DOMNode | null, location: Location_2, context: ContextType): void;
1823
1852
  addManual(filename: string, message: DeferredMessage): void;
1824
- save(sources?: Source[]): Report;
1853
+ save(sources?: Source[]): Report_2;
1825
1854
  protected isValid(): boolean;
1826
1855
  }
1827
1856
 
@@ -1904,7 +1933,7 @@ export declare interface Resolver {
1904
1933
  /**
1905
1934
  * Resolve table of element metadata.
1906
1935
  */
1907
- resolveElements?(id: string, options: ResolverOptions): unknown | null;
1936
+ resolveElements?(id: string, options: ResolverOptions): MetaDataTable | null;
1908
1937
  /**
1909
1938
  * Resolve a configuration to extend.
1910
1939
  */
@@ -2129,13 +2158,15 @@ export { SchemaObject }
2129
2158
  * @public
2130
2159
  */
2131
2160
  export declare class SchemaValidationError extends UserError {
2132
- filename: string | null;
2133
- private obj;
2134
- private schema;
2135
- private errors;
2161
+ /** Configuration filename the error originates from */
2162
+ readonly filename: string | null;
2163
+ /** Configuration object the error originates from */
2164
+ readonly obj: unknown;
2165
+ /** JSON schema used when validating the configuration */
2166
+ readonly schema: SchemaObject;
2167
+ /** List of schema validation errors */
2168
+ readonly errors: ErrorObject[];
2136
2169
  constructor(filename: string | null, message: string, obj: unknown, schema: SchemaObject, errors: ErrorObject[]);
2137
- prettyError(): string;
2138
- private getRawJSON;
2139
2170
  }
2140
2171
 
2141
2172
  /**