html-validate 8.21.0 → 8.23.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 +0 -1
- package/dist/cjs/browser.js.map +1 -1
- package/dist/cjs/core.js +184 -52
- package/dist/cjs/core.js.map +1 -1
- package/dist/cjs/html-validate.js +0 -1
- package/dist/cjs/html-validate.js.map +1 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/jest.js +0 -1
- package/dist/cjs/jest.js.map +1 -1
- package/dist/cjs/tsdoc-metadata.json +1 -1
- package/dist/cjs/vitest.js +0 -1
- package/dist/cjs/vitest.js.map +1 -1
- package/dist/es/browser.js +0 -1
- package/dist/es/browser.js.map +1 -1
- package/dist/es/core.js +184 -52
- package/dist/es/core.js.map +1 -1
- package/dist/es/html-validate.js +0 -1
- package/dist/es/html-validate.js.map +1 -1
- package/dist/es/index.js +0 -1
- package/dist/es/index.js.map +1 -1
- package/dist/es/jest.js +0 -1
- package/dist/es/jest.js.map +1 -1
- package/dist/es/vitest.js +0 -1
- package/dist/es/vitest.js.map +1 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/types/browser.d.ts +28 -11
- package/dist/types/index.d.ts +28 -11
- package/package.json +25 -28
package/dist/es/html-validate.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-validate.js","sources":["../../src/cli/html-validate.ts"],"sourcesContent":["/* eslint-disable no-console, n/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: unknown) => {\n\tconsole.error(err);\n\tprocess.exit(1);\n});\n"],"names":["argv","mode","pkgBugs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"html-validate.js","sources":["../../src/cli/html-validate.ts"],"sourcesContent":["/* eslint-disable no-console, n/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: unknown) => {\n\tconsole.error(err);\n\tprocess.exit(1);\n});\n"],"names":["argv","mode","pkgBugs"],"mappings":"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"}
|
package/dist/es/index.js
CHANGED
package/dist/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
package/dist/es/jest.js
CHANGED
package/dist/es/jest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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":"
|
|
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/vitest.js
CHANGED
package/dist/es/vitest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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":"
|
|
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"}
|
package/dist/tsdoc-metadata.json
CHANGED
package/dist/types/browser.d.ts
CHANGED
|
@@ -346,7 +346,13 @@ export declare class ConfigError extends UserError {
|
|
|
346
346
|
export declare abstract class ConfigLoader {
|
|
347
347
|
protected readonly resolvers: Resolver[];
|
|
348
348
|
protected globalConfig: Config;
|
|
349
|
-
|
|
349
|
+
/**
|
|
350
|
+
* Create a new ConfigLoader.
|
|
351
|
+
*
|
|
352
|
+
* @param resolvers - Sorted list of resolvers to use (in order).
|
|
353
|
+
* @param configData - Default configuration (which all configurations will inherit from).
|
|
354
|
+
*/
|
|
355
|
+
constructor(resolvers: Resolver[], configData?: ConfigData);
|
|
350
356
|
/**
|
|
351
357
|
* Get configuration for given handle.
|
|
352
358
|
*
|
|
@@ -517,15 +523,7 @@ export declare class DOMNode {
|
|
|
517
523
|
* Rules blocked by using directives are added here.
|
|
518
524
|
*/
|
|
519
525
|
private blockedRules;
|
|
520
|
-
|
|
521
|
-
* Create a new DOMNode.
|
|
522
|
-
*
|
|
523
|
-
* @param nodeType - What node type to create.
|
|
524
|
-
* @param nodeName - What node name to use. For `HtmlElement` this corresponds
|
|
525
|
-
* to the tagName but other node types have specific predefined values.
|
|
526
|
-
* @param location - Source code location of this node.
|
|
527
|
-
*/
|
|
528
|
-
constructor(nodeType: NodeType, nodeName: string | undefined, location: Location_2);
|
|
526
|
+
/* Excluded from this release type: __constructor */
|
|
529
527
|
/* Excluded from this release type: cacheEnable */
|
|
530
528
|
/**
|
|
531
529
|
* Fetch cached value from this DOM node.
|
|
@@ -768,7 +766,26 @@ export declare class HtmlElement extends DOMNode {
|
|
|
768
766
|
private metaElement;
|
|
769
767
|
private annotation;
|
|
770
768
|
/* Excluded from this release type: _adapter */
|
|
771
|
-
constructor(
|
|
769
|
+
private constructor();
|
|
770
|
+
/**
|
|
771
|
+
* Manually create a new element. This is primary useful for test-cases. While
|
|
772
|
+
* the API is public it is not meant for general consumption and is not
|
|
773
|
+
* guaranteed to be stable across versions.
|
|
774
|
+
*
|
|
775
|
+
* Use at your own risk. Prefer to use [[Parser]] to parse a string of markup
|
|
776
|
+
* instead.
|
|
777
|
+
*
|
|
778
|
+
* @public
|
|
779
|
+
* @since 8.22.0
|
|
780
|
+
* @param tagName - Element tagname.
|
|
781
|
+
* @param location - Element location.
|
|
782
|
+
* @param details - Additional element details.
|
|
783
|
+
*/
|
|
784
|
+
static createElement(tagName: string, location: Location_2, details?: {
|
|
785
|
+
closed?: NodeClosed;
|
|
786
|
+
meta?: MetaElement | null;
|
|
787
|
+
parent?: HtmlElement;
|
|
788
|
+
}): HtmlElement;
|
|
772
789
|
/* Excluded from this release type: rootNode */
|
|
773
790
|
/* Excluded from this release type: fromTokens */
|
|
774
791
|
/**
|
package/dist/types/index.d.ts
CHANGED
|
@@ -442,7 +442,13 @@ export declare class ConfigError extends UserError {
|
|
|
442
442
|
export declare abstract class ConfigLoader {
|
|
443
443
|
protected readonly resolvers: Resolver[];
|
|
444
444
|
protected globalConfig: Config;
|
|
445
|
-
|
|
445
|
+
/**
|
|
446
|
+
* Create a new ConfigLoader.
|
|
447
|
+
*
|
|
448
|
+
* @param resolvers - Sorted list of resolvers to use (in order).
|
|
449
|
+
* @param configData - Default configuration (which all configurations will inherit from).
|
|
450
|
+
*/
|
|
451
|
+
constructor(resolvers: Resolver[], configData?: ConfigData);
|
|
446
452
|
/**
|
|
447
453
|
* Get configuration for given handle.
|
|
448
454
|
*
|
|
@@ -613,15 +619,7 @@ export declare class DOMNode {
|
|
|
613
619
|
* Rules blocked by using directives are added here.
|
|
614
620
|
*/
|
|
615
621
|
private blockedRules;
|
|
616
|
-
|
|
617
|
-
* Create a new DOMNode.
|
|
618
|
-
*
|
|
619
|
-
* @param nodeType - What node type to create.
|
|
620
|
-
* @param nodeName - What node name to use. For `HtmlElement` this corresponds
|
|
621
|
-
* to the tagName but other node types have specific predefined values.
|
|
622
|
-
* @param location - Source code location of this node.
|
|
623
|
-
*/
|
|
624
|
-
constructor(nodeType: NodeType, nodeName: string | undefined, location: Location_2);
|
|
622
|
+
/* Excluded from this release type: __constructor */
|
|
625
623
|
/* Excluded from this release type: cacheEnable */
|
|
626
624
|
/**
|
|
627
625
|
* Fetch cached value from this DOM node.
|
|
@@ -986,7 +984,26 @@ export declare class HtmlElement extends DOMNode {
|
|
|
986
984
|
private metaElement;
|
|
987
985
|
private annotation;
|
|
988
986
|
/* Excluded from this release type: _adapter */
|
|
989
|
-
constructor(
|
|
987
|
+
private constructor();
|
|
988
|
+
/**
|
|
989
|
+
* Manually create a new element. This is primary useful for test-cases. While
|
|
990
|
+
* the API is public it is not meant for general consumption and is not
|
|
991
|
+
* guaranteed to be stable across versions.
|
|
992
|
+
*
|
|
993
|
+
* Use at your own risk. Prefer to use [[Parser]] to parse a string of markup
|
|
994
|
+
* instead.
|
|
995
|
+
*
|
|
996
|
+
* @public
|
|
997
|
+
* @since 8.22.0
|
|
998
|
+
* @param tagName - Element tagname.
|
|
999
|
+
* @param location - Element location.
|
|
1000
|
+
* @param details - Additional element details.
|
|
1001
|
+
*/
|
|
1002
|
+
static createElement(tagName: string, location: Location_2, details?: {
|
|
1003
|
+
closed?: NodeClosed;
|
|
1004
|
+
meta?: MetaElement | null;
|
|
1005
|
+
parent?: HtmlElement;
|
|
1006
|
+
}): HtmlElement;
|
|
990
1007
|
/* Excluded from this release type: rootNode */
|
|
991
1008
|
/* Excluded from this release type: fromTokens */
|
|
992
1009
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "html-validate",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.23.0",
|
|
4
4
|
"description": "Offline html5 validator",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"html",
|
|
@@ -194,28 +194,28 @@
|
|
|
194
194
|
]
|
|
195
195
|
},
|
|
196
196
|
"dependencies": {
|
|
197
|
-
"@babel/code-frame": "^7.10.0",
|
|
198
197
|
"@html-validate/stylish": "^4.1.0",
|
|
199
|
-
"@sidvind/better-ajv-errors": "
|
|
198
|
+
"@sidvind/better-ajv-errors": "3.0.1",
|
|
200
199
|
"ajv": "^8.0.0",
|
|
201
200
|
"deepmerge": "4.3.1",
|
|
202
201
|
"glob": "^10.0.0",
|
|
203
|
-
"ignore": "5.3.
|
|
202
|
+
"ignore": "5.3.2",
|
|
204
203
|
"kleur": "^4.1.0",
|
|
205
204
|
"minimist": "^1.2.0",
|
|
206
205
|
"prompts": "^2.0.0",
|
|
207
206
|
"semver": "^7.0.0"
|
|
208
207
|
},
|
|
209
208
|
"devDependencies": {
|
|
209
|
+
"@babel/code-frame": "7.24.7",
|
|
210
210
|
"@html-validate/commitlint-config": "3.2.5",
|
|
211
|
-
"@html-validate/eslint-config": "5.21.
|
|
212
|
-
"@html-validate/eslint-config-jest": "5.21.
|
|
213
|
-
"@html-validate/eslint-config-typescript": "5.21.
|
|
214
|
-
"@html-validate/eslint-config-typescript-typeinfo": "5.21.
|
|
211
|
+
"@html-validate/eslint-config": "5.21.8",
|
|
212
|
+
"@html-validate/eslint-config-jest": "5.21.7",
|
|
213
|
+
"@html-validate/eslint-config-typescript": "5.21.6",
|
|
214
|
+
"@html-validate/eslint-config-typescript-typeinfo": "5.21.6",
|
|
215
215
|
"@html-validate/jest-config": "3.10.0",
|
|
216
|
-
"@html-validate/prettier-config": "2.5.
|
|
217
|
-
"@html-validate/release-scripts": "6.
|
|
218
|
-
"@microsoft/api-extractor": "7.47.
|
|
216
|
+
"@html-validate/prettier-config": "2.5.5",
|
|
217
|
+
"@html-validate/release-scripts": "6.6.0",
|
|
218
|
+
"@microsoft/api-extractor": "7.47.9",
|
|
219
219
|
"@rollup/plugin-commonjs": "26.0.1",
|
|
220
220
|
"@rollup/plugin-json": "6.1.0",
|
|
221
221
|
"@rollup/plugin-node-resolve": "15.2.3",
|
|
@@ -223,36 +223,36 @@
|
|
|
223
223
|
"@rollup/plugin-virtual": "3.0.2",
|
|
224
224
|
"@types/babar": "0.2.4",
|
|
225
225
|
"@types/babel__code-frame": "7.0.6",
|
|
226
|
-
"@types/jest": "29.5.
|
|
226
|
+
"@types/jest": "29.5.13",
|
|
227
227
|
"@types/minimist": "1.2.5",
|
|
228
|
-
"@types/node": "16.18.
|
|
228
|
+
"@types/node": "16.18.108",
|
|
229
229
|
"@types/prompts": "2.4.9",
|
|
230
230
|
"@types/semver": "7.5.8",
|
|
231
231
|
"@types/stream-buffers": "3.0.7",
|
|
232
232
|
"babar": "0.2.3",
|
|
233
|
-
"husky": "9.1.
|
|
233
|
+
"husky": "9.1.6",
|
|
234
234
|
"is-ci": "3.0.1",
|
|
235
235
|
"jest": "29.7.0",
|
|
236
236
|
"jest-diff": "29.7.0",
|
|
237
237
|
"jest-environment-jsdom": "29.7.0",
|
|
238
238
|
"jest-snapshot": "29.7.0",
|
|
239
|
-
"jsdom": "
|
|
240
|
-
"
|
|
241
|
-
"
|
|
242
|
-
"npm-
|
|
243
|
-
"
|
|
244
|
-
"rollup": "4.18.1",
|
|
239
|
+
"jsdom": "25.0.0",
|
|
240
|
+
"memfs": "4.12.0",
|
|
241
|
+
"npm-pkg-lint": "3.9.0",
|
|
242
|
+
"npm-run-all2": "6.2.3",
|
|
243
|
+
"rollup": "4.22.2",
|
|
245
244
|
"rollup-plugin-esbuild": "6.1.1",
|
|
246
245
|
"stream-buffers": "3.0.3",
|
|
247
|
-
"ts-jest": "29.2.
|
|
248
|
-
"typescript": "5.
|
|
249
|
-
"vite": "4.5.
|
|
246
|
+
"ts-jest": "29.2.5",
|
|
247
|
+
"typescript": "5.6.2",
|
|
248
|
+
"vite": "4.5.5",
|
|
249
|
+
"vitest": "0.34.6"
|
|
250
250
|
},
|
|
251
251
|
"peerDependencies": {
|
|
252
252
|
"jest": "^27.1 || ^28.1.3 || ^29.0.3",
|
|
253
253
|
"jest-diff": "^27.1 || ^28.1.3 || ^29.0.3",
|
|
254
254
|
"jest-snapshot": "^27.1 || ^28.1.3 || ^29.0.3",
|
|
255
|
-
"vitest": "^0.34 || ^1"
|
|
255
|
+
"vitest": "^0.34.0 || ^1.0.0 || ^2.0.0"
|
|
256
256
|
},
|
|
257
257
|
"peerDependenciesMeta": {
|
|
258
258
|
"jest": {
|
|
@@ -281,8 +281,5 @@
|
|
|
281
281
|
"minimist",
|
|
282
282
|
"prompts",
|
|
283
283
|
"semver"
|
|
284
|
-
]
|
|
285
|
-
"overrides": {
|
|
286
|
-
"marked": "13.0.2"
|
|
287
|
-
}
|
|
284
|
+
]
|
|
288
285
|
}
|