html-validate 8.2.0 → 8.4.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/cli.js +1 -1
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/core-browser.js.map +1 -1
- package/dist/cjs/core-nodejs.js.map +1 -1
- package/dist/cjs/core.js +74 -57
- package/dist/cjs/core.js.map +1 -1
- package/dist/cjs/elements.js +269 -2
- package/dist/cjs/elements.js.map +1 -1
- package/dist/cjs/html-validate.js.map +1 -1
- package/dist/cjs/html5.js.map +1 -1
- package/dist/cjs/jest-lib.js.map +1 -1
- package/dist/cjs/jest.js.map +1 -1
- package/dist/cjs/meta-helper.js.map +1 -1
- package/dist/cjs/test-utils.js.map +1 -1
- package/dist/cjs/tsdoc-metadata.json +1 -1
- package/dist/cjs/utils/natural-join.js.map +1 -1
- package/dist/es/cli.js +1 -1
- package/dist/es/cli.js.map +1 -1
- package/dist/es/core-browser.js.map +1 -1
- package/dist/es/core-nodejs.js.map +1 -1
- package/dist/es/core.js +74 -57
- package/dist/es/core.js.map +1 -1
- package/dist/es/elements.js +269 -2
- package/dist/es/elements.js.map +1 -1
- package/dist/es/html-validate.js.map +1 -1
- package/dist/es/html5.js.map +1 -1
- package/dist/es/jest-lib.js.map +1 -1
- package/dist/es/jest.js.map +1 -1
- package/dist/es/meta-helper.js.map +1 -1
- package/dist/es/test-utils.js.map +1 -1
- package/dist/es/utils/natural-join.js.map +1 -1
- package/dist/schema/elements.json +6 -0
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/types/browser.d.ts +13 -0
- package/dist/types/index.d.ts +13 -0
- package/package.json +21 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta-helper.js","sources":["
|
|
1
|
+
{"version":3,"file":"meta-helper.js","sources":["../../src/meta/define-metadata.ts","../../src/meta/helper.ts"],"sourcesContent":["/**\n * Helper function to assist IDE with completion and type-checking.\n *\n * @public\n */\nexport function defineMetadata(metatable) {\n return metatable;\n}\n//# sourceMappingURL=define-metadata.js.map","import { naturalJoin } from \"../utils/natural-join\";\n/**\n * @internal\n */\nexport function allowedIfAttributeIsPresent(...attr) {\n return (node) => {\n if (attr.some((it) => node.hasAttribute(it))) {\n return null;\n }\n const expected = naturalJoin(attr.map((it) => `\"${it}\"`));\n return `requires ${expected} attribute to be present`;\n };\n}\n/**\n * @internal\n */\nexport function allowedIfAttributeIsAbsent(...attr) {\n return (node) => {\n const present = attr.filter((it) => node.hasAttribute(it));\n if (present.length === 0) {\n return null;\n }\n const expected = naturalJoin(present.map((it) => `\"${it}\"`));\n return `cannot be used at the same time as ${expected}`;\n };\n}\n/**\n * @internal\n */\nexport function allowedIfAttributeHasValue(key, expectedValue, { defaultValue } = {}) {\n return (node) => {\n const attr = node.getAttribute(key);\n if (attr && typeof attr !== \"string\") {\n return null;\n }\n const actualValue = attr ? attr : defaultValue;\n if (actualValue && expectedValue.includes(actualValue.toLocaleLowerCase())) {\n return null;\n }\n const expected = naturalJoin(expectedValue.map((it) => `\"${it}\"`));\n return `\"${key}\" attribute must be ${expected}`;\n };\n}\n/**\n * @internal\n */\nexport function allowedIfParentIsPresent(...tags) {\n return (node) => {\n const match = tags.some((it) => node.closest(it));\n if (match) {\n return null;\n }\n const expected = naturalJoin(tags.map((it) => `<${it}>`));\n return `requires ${expected} as parent`;\n };\n}\n/**\n * @public\n */\nexport const metadataHelper = {\n allowedIfAttributeIsPresent,\n allowedIfAttributeIsAbsent,\n allowedIfAttributeHasValue,\n allowedIfParentIsPresent,\n};\n//# sourceMappingURL=helper.js.map"],"names":["naturalJoin"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.js","sources":["
|
|
1
|
+
{"version":3,"file":"test-utils.js","sources":["../../src/transform/test-utils.ts"],"sourcesContent":["import fs from \"fs\";\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(fn, filename, chain) {\n const data = fs.readFileSync(filename, \"utf-8\");\n const source = {\n filename,\n line: 1,\n column: 1,\n offset: 0,\n data,\n };\n return transformSource(fn, source, chain);\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(fn, data, chain) {\n const source = {\n filename: \"inline\",\n line: 1,\n column: 1,\n offset: 0,\n data,\n };\n return transformSource(fn, source, chain);\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(fn, source, chain) {\n const defaultChain = (source) => [source];\n const context = {\n hasChain: /* istanbul ignore next */ () => true,\n chain: chain !== null && chain !== void 0 ? chain : defaultChain,\n };\n return Array.from(fn.call(context, source));\n}\n//# sourceMappingURL=test-utils.js.map"],"names":["fs"],"mappings":";;;;;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;AACnD,IAAI,MAAM,IAAI,GAAGA,mBAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACpD,IAAI,MAAM,MAAM,GAAG;AACnB,QAAQ,QAAQ;AAChB,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,MAAM,EAAE,CAAC;AACjB,QAAQ,MAAM,EAAE,CAAC;AACjB,QAAQ,IAAI;AACZ,KAAK,CAAC;AACN,IAAI,OAAO,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;AACjD,IAAI,MAAM,MAAM,GAAG;AACnB,QAAQ,QAAQ,EAAE,QAAQ;AAC1B,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,MAAM,EAAE,CAAC;AACjB,QAAQ,MAAM,EAAE,CAAC;AACjB,QAAQ,IAAI;AACZ,KAAK,CAAC;AACN,IAAI,OAAO,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;AACnD,IAAI,MAAM,YAAY,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9C,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,QAAQ,6BAA6B,MAAM,IAAI;AACvD,QAAQ,KAAK,EAAE,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,YAAY;AACxE,KAAK,CAAC;AACN,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAChD;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"natural-join.js","sources":["
|
|
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, conjunction = \"or\") {\n switch (values.length) {\n case 0:\n return \"\";\n case 1:\n return values[0];\n case 2:\n return `${values[0]} ${conjunction} ${values[1]}`;\n default:\n return `${values.slice(0, -1).join(\", \")} ${conjunction} ${values.slice(-1)[0]}`;\n }\n}\n//# sourceMappingURL=natural-join.js.map"],"names":[],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE;AACxD,IAAI,QAAQ,MAAM,CAAC,MAAM;AACzB,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,EAAE,CAAC;AACtB,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7B,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,QAAQ;AACR,YAAY,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,KAAK;AACL;;;;"}
|
package/dist/es/cli.js
CHANGED
package/dist/es/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sources":["../../../src/cli/expand-files.ts","../../../src/cli/formatter.ts","../../../src/cli/is-ignored.ts","../../../src/cli/init.ts","../../../src/cli/cli.ts","../../../src/cli/mode.ts","../../../src/cli/actions/lint.ts","../../../src/cli/actions/init.ts","../../../src/cli/actions/print-config.ts","../../../src/cli/json.ts","../../../src/cli/actions/dump.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["formatterFactory","init"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sources":["../../src/cli/expand-files.ts","../../src/cli/formatter.ts","../../src/cli/is-ignored.ts","../../src/cli/init.ts","../../src/cli/cli.ts","../../src/cli/mode.ts","../../src/cli/actions/lint.ts","../../src/cli/actions/init.ts","../../src/cli/actions/print-config.ts","../../src/cli/json.ts","../../src/cli/actions/dump.ts"],"sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\nimport { globSync } from \"glob\";\nconst DEFAULT_EXTENSIONS = [\"html\"];\nfunction isDirectory(filename) {\n const st = fs.statSync(filename);\n return st.isDirectory();\n}\nfunction join(stem, filename) {\n if (path.isAbsolute(filename)) {\n return path.normalize(filename);\n }\n else {\n return path.normalize(path.join(stem, filename));\n }\n}\nfunction directoryPattern(extensions) {\n switch (extensions.length) {\n case 0:\n return \"**/*\";\n case 1:\n return `**/*.${extensions[0]}`;\n default:\n return `**/*.{${extensions.join(\",\")}}`;\n }\n}\n/**\n * Takes a number of file patterns (globs) and returns array of expanded\n * filenames.\n */\nexport function expandFiles(patterns, options) {\n var _a, _b;\n const cwd = (_a = options.cwd) !== null && _a !== void 0 ? _a : process.cwd();\n const extensions = (_b = options.extensions) !== null && _b !== void 0 ? _b : DEFAULT_EXTENSIONS;\n const files = patterns.reduce((result, pattern) => {\n /* process - as standard input */\n if (pattern === \"-\") {\n result.push(\"/dev/stdin\");\n return result;\n }\n for (const filename of globSync(pattern, { cwd })) {\n /* if file is a directory recursively expand files from it */\n const fullpath = join(cwd, filename);\n if (isDirectory(fullpath)) {\n const dir = expandFiles([directoryPattern(extensions)], { ...options, cwd: fullpath });\n result = result.concat(dir.map((cur) => join(filename, cur)));\n continue;\n }\n result.push(fullpath);\n }\n return result.sort((a, b) => {\n const pa = a.split(\"/\").length;\n const pb = b.split(\"/\").length;\n if (pa !== pb) {\n return pa - pb;\n }\n else {\n return a > b ? 1 : -1;\n }\n });\n }, []);\n /* only return unique matches */\n return Array.from(new Set(files));\n}\n//# sourceMappingURL=expand-files.js.map","import fs from \"fs\";\nimport path from \"path\";\nimport { UserError, formatterFactory } from \"..\";\nimport { ensureError } from \"../error\";\nimport { legacyRequire } from \"../resolve\";\nfunction wrap(formatter, dst) {\n return (results) => {\n const output = formatter(results);\n if (dst) {\n const dir = path.dirname(dst);\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir, { recursive: true });\n }\n fs.writeFileSync(dst, output, \"utf-8\");\n return \"\";\n }\n else {\n return output;\n }\n };\n}\nfunction loadFormatter(name) {\n const fn = formatterFactory(name);\n if (fn) {\n return fn;\n }\n try {\n return legacyRequire(name);\n }\n catch (error) {\n throw new UserError(`No formatter named \"${name}\"`, ensureError(error));\n }\n}\nexport function getFormatter(formatters) {\n const fn = formatters.split(\",\").map((cur) => {\n const [name, dst] = cur.split(\"=\", 2);\n const fn = loadFormatter(name);\n return wrap(fn, dst);\n });\n return (report) => {\n return fn\n .map((formatter) => formatter(report.results))\n .filter(Boolean)\n .join(\"\\n\");\n };\n}\n//# sourceMappingURL=formatter.js.map","import fs from \"fs\";\nimport path from \"path\";\nimport ignore from \"ignore\";\nexport class IsIgnored {\n constructor() {\n this.cacheIgnore = new Map();\n }\n /**\n * Searches \".htmlvalidateignore\" files from filesystem and returns `true` if\n * one of them contains a pattern matching given filename.\n */\n isIgnored(filename) {\n return this.match(filename);\n }\n /**\n * Clear cache\n */\n clearCache() {\n this.cacheIgnore.clear();\n }\n match(target) {\n let current = path.dirname(target);\n // eslint-disable-next-line no-constant-condition -- breaks out when filesystem is traversed\n while (true) {\n const relative = path.relative(current, target);\n const filename = path.join(current, \".htmlvalidateignore\");\n /* test filename (relative to the ignore file) against the patterns */\n const ig = this.parseFile(filename);\n if (ig && ig.ignores(relative)) {\n return true;\n }\n /* get the parent directory */\n const child = current;\n current = path.dirname(current);\n /* stop if this is the root directory */\n if (current === child) {\n break;\n }\n }\n return false;\n }\n parseFile(filename) {\n if (this.cacheIgnore.has(filename)) {\n return this.cacheIgnore.get(filename);\n }\n if (!fs.existsSync(filename)) {\n this.cacheIgnore.set(filename, undefined);\n return undefined;\n }\n const content = fs.readFileSync(filename, \"utf-8\");\n const ig = ignore().add(content);\n this.cacheIgnore.set(filename, ig);\n return ig;\n }\n}\n//# sourceMappingURL=is-ignored.js.map","import fs from \"fs\";\nimport deepmerge from \"deepmerge\";\nimport prompts from \"prompts\";\nexport var Frameworks;\n(function (Frameworks) {\n Frameworks[\"angularjs\"] = \"AngularJS\";\n Frameworks[\"vuejs\"] = \"Vue.js\";\n Frameworks[\"markdown\"] = \"Markdown\";\n})(Frameworks || (Frameworks = {}));\nconst frameworkConfig = {\n [Frameworks.angularjs]: {\n transform: {\n \"^.*\\\\.js$\": \"html-validate-angular/js\",\n \"^.*\\\\.html$\": \"html-validate-angular/html\",\n },\n },\n [Frameworks.vuejs]: {\n plugins: [\"html-validate-vue\"],\n extends: [\"html-validate-vue:recommended\"],\n transform: {\n \"^.*\\\\.vue$\": \"html-validate-vue\",\n },\n },\n [Frameworks.markdown]: {\n transform: {\n \"^.*\\\\.md$\": \"html-validate-markdown\",\n },\n },\n};\nfunction addFrameworks(src, frameworks) {\n let config = src;\n for (const framework of frameworks) {\n config = deepmerge(config, frameworkConfig[framework]);\n }\n return config;\n}\nfunction writeConfig(dst, config) {\n return new Promise((resolve, reject) => {\n fs.writeFile(dst, JSON.stringify(config, null, 2), (err) => {\n if (err)\n reject(err);\n resolve();\n });\n });\n}\nexport async function init(cwd) {\n const filename = `${cwd}/.htmlvalidate.json`;\n const exists = fs.existsSync(filename);\n const initialConfig = {\n elements: [\"html5\"],\n extends: [\"html-validate:recommended\"],\n };\n /* confirm overwrite */\n if (exists) {\n const result = await prompts({\n name: \"overwrite\",\n type: \"confirm\",\n message: \"A .htmlvalidate.json file already exists, do you want to overwrite it?\",\n });\n if (!result.overwrite) {\n return Promise.reject();\n }\n }\n const questions = [\n {\n name: \"frameworks\",\n type: \"multiselect\",\n choices: [\n { title: Frameworks.angularjs, value: Frameworks.angularjs },\n { title: Frameworks.vuejs, value: Frameworks.vuejs },\n { title: Frameworks.markdown, value: Frameworks.markdown },\n ],\n message: \"Support additional frameworks?\",\n },\n ];\n /* prompt user for questions */\n const answers = await prompts(questions);\n /* write configuration to file */\n let config = initialConfig;\n config = addFrameworks(config, answers.frameworks);\n await writeConfig(filename, config);\n return {\n filename,\n };\n}\n//# sourceMappingURL=init.js.map","import path from \"path\";\nimport { FileSystemConfigLoader, UserError, HtmlValidate, nodejsResolver, } from \"..\";\nimport { expandFiles } from \"./expand-files\";\nimport { getFormatter } from \"./formatter\";\nimport { IsIgnored } from \"./is-ignored\";\nimport { init } from \"./init\";\nconst defaultConfig = {\n extends: [\"html-validate:recommended\"],\n};\nfunction getBaseConfig(filename) {\n if (filename) {\n const resolver = nodejsResolver();\n const configData = resolver.resolveConfig(path.resolve(filename), { cache: false });\n if (!configData) {\n throw new UserError(`Failed to read configuration from \"${filename}\"`);\n }\n return configData;\n }\n else {\n return defaultConfig;\n }\n}\n/**\n * @public\n */\nexport class CLI {\n /**\n * Create new CLI helper.\n *\n * Can be used to create tooling with similar properties to bundled CLI\n * script.\n */\n constructor(options) {\n this.options = options !== null && options !== void 0 ? options : {};\n this.config = this.resolveConfig();\n this.loader = new FileSystemConfigLoader(this.config);\n this.ignored = new IsIgnored();\n }\n /**\n * Returns list of files matching patterns and are not ignored. Filenames will\n * have absolute paths.\n *\n * @public\n */\n expandFiles(patterns, options = {}) {\n return expandFiles(patterns, options).filter((filename) => !this.isIgnored(filename));\n }\n getFormatter(formatters) {\n return getFormatter(formatters);\n }\n /**\n * Initialize project with a new configuration.\n *\n * A new `.htmlvalidate.json` file will be placed in the path provided by\n * `cwd`.\n */\n init(cwd) {\n return init(cwd);\n }\n /**\n * Searches \".htmlvalidateignore\" files from filesystem and returns `true` if\n * one of them contains a pattern matching given filename.\n */\n isIgnored(filename) {\n return this.ignored.isIgnored(filename);\n }\n /**\n * Clear cache.\n *\n * Previously fetched [[HtmlValidate]] instances must either be fetched again\n * or call [[HtmlValidate.flushConfigCache]].\n */\n /* istanbul ignore next: each method is tested separately */\n clearCache() {\n this.loader.flushCache();\n this.ignored.clearCache();\n }\n /**\n * Get HtmlValidate instance with configuration based on options passed to the\n * constructor.\n *\n * @internal\n */\n getLoader() {\n return this.loader;\n }\n /**\n * Get HtmlValidate instance with configuration based on options passed to the\n * constructor.\n *\n * @public\n */\n getValidator() {\n const loader = this.getLoader();\n return new HtmlValidate(loader);\n }\n /**\n * @internal\n */\n getConfig() {\n return this.config;\n }\n resolveConfig() {\n const { options } = this;\n const config = getBaseConfig(options.configFile);\n let rules = options.rules;\n if (rules) {\n if (Array.isArray(rules)) {\n rules = rules.join(\",\");\n }\n const raw = rules\n .split(\",\")\n .map((it) => it.trim().replace(/([^:]*):/, '\"$1\":'))\n .join(\",\");\n try {\n const rules = JSON.parse(`{${raw}}`);\n config.extends = [];\n config.rules = rules;\n }\n catch (err) /* istanbul ignore next */ {\n const message = err instanceof Error ? err.message : String(err);\n throw new UserError(`Error while parsing --rule option \"{${raw}}\": ${message}.\\n`);\n }\n }\n return config;\n }\n}\n//# sourceMappingURL=cli.js.map","/**\n * @internal\n */\nexport var Mode;\n(function (Mode) {\n Mode[Mode[\"LINT\"] = 0] = \"LINT\";\n Mode[Mode[\"INIT\"] = 1] = \"INIT\";\n Mode[Mode[\"DUMP_EVENTS\"] = 2] = \"DUMP_EVENTS\";\n Mode[Mode[\"DUMP_TOKENS\"] = 3] = \"DUMP_TOKENS\";\n Mode[Mode[\"DUMP_TREE\"] = 4] = \"DUMP_TREE\";\n Mode[Mode[\"DUMP_SOURCE\"] = 5] = \"DUMP_SOURCE\";\n Mode[Mode[\"PRINT_CONFIG\"] = 6] = \"PRINT_CONFIG\";\n})(Mode || (Mode = {}));\nexport function modeToFlag(mode) {\n switch (mode) {\n case Mode.LINT:\n return null;\n case Mode.INIT:\n return \"--init\";\n case Mode.DUMP_EVENTS:\n return \"--dump-events\";\n case Mode.DUMP_TOKENS:\n return \"--dump-tokens\";\n case Mode.DUMP_TREE:\n return \"--dump-tree\";\n case Mode.DUMP_SOURCE:\n return \"--dump-source\";\n case Mode.PRINT_CONFIG:\n return \"--print-config\";\n }\n}\n//# sourceMappingURL=mode.js.map","import kleur from \"kleur\";\nimport { Reporter } from \"../..\";\nfunction renameStdin(report, filename) {\n const stdin = report.results.find((cur) => cur.filePath === \"/dev/stdin\");\n if (stdin) {\n stdin.filePath = filename;\n }\n}\nexport function lint(htmlvalidate, output, files, options) {\n const reports = files.map((filename) => {\n try {\n return htmlvalidate.validateFileSync(filename);\n }\n catch (err) {\n const message = kleur.red(`Validator crashed when parsing \"${filename}\"`);\n output.write(`${message}\\n`);\n throw err;\n }\n });\n const merged = Reporter.merge(reports);\n /* rename stdin if an explicit filename was passed */\n if (options.stdinFilename) {\n renameStdin(merged, options.stdinFilename);\n }\n output.write(options.formatter(merged));\n if (options.maxWarnings >= 0 && merged.warningCount > options.maxWarnings) {\n output.write(`\\nhtml-validate found too many warnings (maximum: ${options.maxWarnings}).\\n`);\n return Promise.resolve(false);\n }\n return Promise.resolve(merged.valid);\n}\n//# sourceMappingURL=lint.js.map","export async function init(cli, output, options) {\n const result = await cli.init(options.cwd);\n output.write(`Configuration written to \"${result.filename}\"\\n`);\n return true;\n}\n//# sourceMappingURL=init.js.map","export async function printConfig(htmlvalidate, output, files) {\n if (files.length > 1) {\n output.write(`\\`--print-config\\` expected a single filename but got multiple:\\n\\n`);\n for (const filename of files) {\n output.write(` - ${filename}\\n`);\n }\n output.write(\"\\n\");\n return false;\n }\n const config = await htmlvalidate.getConfigFor(files[0]);\n const json = JSON.stringify(config.getConfigData(), null, 2);\n output.write(`${json}\\n`);\n return true;\n}\n//# sourceMappingURL=print-config.js.map","const jsonIgnored = [\n \"annotation\",\n \"blockedRules\",\n \"cache\",\n \"closed\",\n \"depth\",\n \"disabledRules\",\n \"nodeType\",\n \"unique\",\n \"voidElement\",\n];\nconst jsonFiltered = [\n \"childNodes\",\n \"children\",\n \"data\",\n \"meta\",\n \"metaElement\",\n \"originalData\",\n \"parent\",\n];\nfunction isLocation(key, value) {\n return Boolean(value && (key === \"location\" || key.endsWith(\"Location\")));\n}\nfunction isIgnored(key) {\n return Boolean(key.startsWith(\"_\") || jsonIgnored.includes(key));\n}\nfunction isFiltered(key, value) {\n return Boolean(value && jsonFiltered.includes(key));\n}\nexport function eventReplacer(key, value) {\n if (isLocation(key, value)) {\n return `${value.filename}:${value.line}:${value.column}`;\n }\n if (isIgnored(key)) {\n return undefined;\n }\n if (isFiltered(key, value)) {\n return \"[truncated]\";\n }\n return value;\n}\nexport function eventFormatter(entry) {\n const strdata = JSON.stringify(entry.data, eventReplacer, 2);\n return `${entry.event}: ${strdata}`;\n}\n//# sourceMappingURL=json.js.map","import { eventFormatter } from \"../json\";\nimport { Mode } from \"../mode\";\nexport function dump(htmlvalidate, output, files, mode) {\n let lines = [];\n switch (mode) {\n case Mode.DUMP_EVENTS:\n lines = files.map((filename) => htmlvalidate.dumpEvents(filename).map(eventFormatter));\n break;\n case Mode.DUMP_TOKENS:\n lines = files.map((filename) => htmlvalidate.dumpTokens(filename).map((entry) => {\n const data = JSON.stringify(entry.data);\n return `TOKEN: ${entry.token}\\n Data: ${data}\\n Location: ${entry.location}`;\n }));\n break;\n case Mode.DUMP_TREE:\n lines = files.map((filename) => htmlvalidate.dumpTree(filename));\n break;\n case Mode.DUMP_SOURCE:\n lines = files.map((filename) => htmlvalidate.dumpSource(filename));\n break;\n default:\n throw new Error(`Unknown mode \"${mode}\"`);\n }\n const flat = lines.reduce((s, c) => s.concat(c), []);\n output.write(flat.join(\"\\n\"));\n output.write(\"\\n\");\n return Promise.resolve(true);\n}\n//# sourceMappingURL=dump.js.map"],"names":["formatterFactory","init"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-browser.js","sources":["
|
|
1
|
+
{"version":3,"file":"core-browser.js","sources":["../../src/utils/compatibility-check.browser.ts"],"sourcesContent":["import { version } from \"../generated/package\";\nimport { compatibilityCheckImpl } from \"./compatibility-check\";\nconst defaults = {\n silent: false,\n version,\n logger(text) {\n /* eslint-disable-next-line no-console -- expected to log */\n console.error(text);\n },\n};\n/**\n * Tests if plugin is compatible with html-validate library. Unless the `silent`\n * option is used a warning is displayed on the console.\n *\n * @public\n * @since v5.0.0\n * @param name - Name of plugin\n * @param declared - What library versions the plugin support (e.g. declared peerDependencies)\n * @returns - `true` if version is compatible\n */\nexport function compatibilityCheck(name, declared, options) {\n return compatibilityCheckImpl(name, declared, {\n ...defaults,\n ...options,\n });\n}\n//# sourceMappingURL=compatibility-check.browser.js.map"],"names":[],"mappings":";;AAEA,MAAM,QAAQ,GAAG;AACjB,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,OAAO;AACX,IAAI,MAAM,CAAC,IAAI,EAAE;AACjB;AACA,QAAQ,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5B,KAAK;AACL,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;AAC5D,IAAI,OAAO,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE;AAClD,QAAQ,GAAG,QAAQ;AACnB,QAAQ,GAAG,OAAO;AAClB,KAAK,CAAC,CAAC;AACP;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-nodejs.js","sources":["../../../src/utils/require-uncached.ts","../../../src/config/resolver/nodejs/determine-root-dir.ts","../../../src/config/resolver/nodejs/expand-relative-path.ts","../../../src/config/resolver/nodejs/nodejs-resolver.ts","../../../src/config/loaders/file-system.ts","../../../src/utils/compatibility-check.nodejs.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core-nodejs.js","sources":["../../src/utils/require-uncached.ts","../../src/config/resolver/nodejs/determine-root-dir.ts","../../src/config/resolver/nodejs/expand-relative-path.ts","../../src/config/resolver/nodejs/nodejs-resolver.ts","../../src/config/loaders/file-system.ts","../../src/utils/compatibility-check.nodejs.ts"],"sourcesContent":["/**\n * Similar to `require(..)` but removes the cached copy first.\n */\nexport function requireUncached(require, moduleId) {\n const filename = require.resolve(moduleId);\n /* remove references from the parent module to prevent memory leak */\n const m = require.cache[filename];\n if (m === null || m === void 0 ? void 0 : m.parent) {\n const { parent } = m;\n for (let i = parent.children.length - 1; i >= 0; i--) {\n if (parent.children[i].id === filename) {\n parent.children.splice(i, 1);\n }\n }\n }\n /* remove old module from cache */\n /* eslint-disable-next-line @typescript-eslint/no-dynamic-delete -- needed to perform its function */\n delete require.cache[filename];\n /* eslint-disable-next-line import/no-dynamic-require, security/detect-non-literal-require -- as expected but should be moved to upcoming resolver class */\n return require(filename);\n}\n//# sourceMappingURL=require-uncached.js.map","import fs from \"node:fs\";\nimport path from \"node:path\";\nlet cachedRootDir = null;\n/**\n * @internal\n */\nexport function determineRootDirImpl(intial, fs) {\n /* try to locate package.json */\n let current = intial;\n // eslint-disable-next-line no-constant-condition -- break outs when filesystem is traversed\n while (true) {\n const search = path.join(current, \"package.json\");\n if (fs.existsSync(search)) {\n return current;\n }\n /* get the parent directory */\n const child = current;\n current = path.dirname(current);\n /* stop if this is the root directory */\n if (current === child) {\n break;\n }\n }\n /* default to working directory if no package.json is found */\n return intial;\n}\n/**\n * Try to determine root directory based on the location of the closest\n * `package.json`. Fallbacks on `process.cwd()` if no package.json was found.\n *\n * @internal\n */\n/* istanbul ignore next: cached version of determineRootDirImpl, no need to test */\nexport function determineRootDir() {\n if (cachedRootDir === null) {\n cachedRootDir = determineRootDirImpl(process.cwd(), fs);\n }\n return cachedRootDir;\n}\n//# sourceMappingURL=determine-root-dir.js.map","import path from \"node:path\";\n/**\n * @internal\n */\nexport function expandRelativePath(value, { cwd }) {\n if (typeof value === \"string\" && value.startsWith(\".\")) {\n return path.normalize(path.join(cwd, value));\n }\n else {\n return value;\n }\n}\n//# sourceMappingURL=expand-relative-path.js.map","import path from \"node:path\";\nimport { legacyRequire } from \"../../../resolve\";\nimport { requireUncached } from \"../../../utils\";\nimport { ConfigError } from \"../../error\";\nimport { determineRootDir } from \"./determine-root-dir\";\nimport { expandRelativePath } from \"./expand-relative-path\";\nfunction isRequireError(error) {\n return Boolean(error && typeof error === \"object\" && \"code\" in error);\n}\nfunction isTransformer(value) {\n return typeof value === \"function\";\n}\n/**\n * Create a new resolver for NodeJS packages using `require(..)`.\n *\n * If the module name contains `<rootDir>` (e.g. `<rootDir/foo`) it will be\n * expanded relative to the root directory either explicitly set by the\n * `rootDir` parameter or determined automatically by the closest `package.json`\n * file (starting at the current working directory).\n *\n * @public\n * @since 8.0.0\n */\nexport function nodejsResolver(options = {}) {\n var _a;\n const rootDir = (_a = options.rootDir) !== null && _a !== void 0 ? _a : determineRootDir();\n function internalRequire(id, { cache }) {\n const moduleName = id.replace(\"<rootDir>\", rootDir);\n try {\n /* istanbul ignore else: the tests only runs the cached versions to get\n * unmodified access to `require`, the implementation of `requireUncached`\n * is assumed to be tested elsewhere */\n if (cache) {\n return legacyRequire(moduleName);\n }\n else {\n return requireUncached(legacyRequire, moduleName);\n }\n }\n catch (err) {\n if (isRequireError(err) && err.code === \"MODULE_NOT_FOUND\") {\n return null;\n }\n throw err;\n }\n }\n return {\n name: \"nodejs-resolver\",\n resolveElements(id, options) {\n return internalRequire(id, options);\n },\n resolveConfig(id, options) {\n const configData = internalRequire(id, options);\n if (!configData) {\n return null;\n }\n /* expand any relative paths */\n const cwd = path.dirname(id);\n const expand = (value) => expandRelativePath(value, { cwd });\n if (configData.elements) {\n configData.elements = configData.elements.map(expand);\n }\n if (configData.extends) {\n configData.extends = configData.extends.map(expand);\n }\n if (configData.plugins) {\n configData.plugins = configData.plugins.map(expand);\n }\n return configData;\n },\n resolvePlugin(id, options) {\n return internalRequire(id, options);\n },\n resolveTransformer(id, options) {\n const mod = internalRequire(id, options);\n if (!mod) {\n return null;\n }\n if (isTransformer(mod)) {\n return mod;\n }\n /* this is not a proper transformer, is it a plugin exposing a transformer? */\n if (mod.transformer) {\n throw new ConfigError(`Module \"${id}\" is not a valid transformer. This looks like a plugin, did you forget to load the plugin first?`);\n }\n throw new ConfigError(`Module \"${id}\" is not a valid transformer.`);\n },\n };\n}\n//# sourceMappingURL=nodejs-resolver.js.map","import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { Config } from \"../config\";\nimport { ConfigLoader } from \"../config-loader\";\nimport { nodejsResolver } from \"../resolver/nodejs\";\n/**\n * @internal\n */\nfunction findConfigurationFiles(fs, directory) {\n return [\"json\", \"cjs\", \"js\"]\n .map((extension) => path.join(directory, `.htmlvalidate.${extension}`))\n .filter((filePath) => fs.existsSync(filePath));\n}\nconst defaultResolvers = [nodejsResolver()];\nfunction hasResolver(value) {\n return Array.isArray(value[0]);\n}\n/**\n * Loads configuration by traversing filesystem.\n *\n * Configuration is read from three sources and in the following order:\n *\n * 1. Global configuration passed to constructor.\n * 2. Configuration files found when traversing the directory structure.\n * 3. Override passed to this function.\n *\n * The following configuration filenames are searched:\n *\n * - `.htmlvalidate.json`\n * - `.htmlvalidate.js`\n * - `.htmlvalidate.cjs`\n *\n * Global configuration is used when no configuration file is found. The\n * result is always merged with override if present.\n *\n * The `root` property set to `true` affects the configuration as following:\n *\n * 1. If set in override the override is returned as-is.\n * 2. If set in the global config the override is merged into global and\n * returned. No configuration files are searched.\n * 3. Setting `root` in configuration file only stops directory traversal.\n *\n * @public\n */\nexport class FileSystemConfigLoader extends ConfigLoader {\n constructor(...args) {\n var _a, _b;\n if (hasResolver(args)) {\n /* istanbul ignore next */\n const [resolvers, config, options = {}] = args;\n super(resolvers, config);\n this.fs = /* istanbul ignore next */ (_a = options.fs) !== null && _a !== void 0 ? _a : fs;\n }\n else {\n /* istanbul ignore next */\n const [config, options = {}] = args;\n super(defaultResolvers, config);\n this.fs = /* istanbul ignore next */ (_b = options.fs) !== null && _b !== void 0 ? _b : fs;\n }\n this.cache = new Map();\n }\n /**\n * Get configuration for given filename.\n *\n * @param filename - Filename to get configuration for.\n * @param configOverride - Configuration to merge final result with.\n */\n getConfigFor(filename, configOverride) {\n /* special case when the overridden configuration is marked as root, should\n * not try to load any more configuration files */\n const override = this.loadFromObject(configOverride !== null && configOverride !== void 0 ? configOverride : {});\n if (override.isRootFound()) {\n override.init();\n return override.resolve();\n }\n /* special case when the global configuration is marked as root, should not\n * try to load and more configuration files */\n if (this.globalConfig.isRootFound()) {\n const merged = this.globalConfig.merge(this.resolvers, override);\n merged.init();\n return merged.resolve();\n }\n const config = this.fromFilename(filename);\n const merged = config\n ? config.merge(this.resolvers, override)\n : this.globalConfig.merge(this.resolvers, override);\n merged.init();\n return merged.resolve();\n }\n /**\n * Flush configuration cache.\n *\n * @param filename - If given only the cache for that file is flushed.\n */\n flushCache(filename) {\n if (filename) {\n this.cache.delete(filename);\n }\n else {\n this.cache.clear();\n }\n }\n /**\n * Load raw configuration from directory traversal.\n *\n * This configuration is not merged with global configuration and may return\n * `null` if no configuration files are found.\n */\n fromFilename(filename) {\n if (filename === \"inline\") {\n return null;\n }\n const cache = this.cache.get(filename);\n if (cache) {\n return cache;\n }\n let found = false;\n let current = path.resolve(path.dirname(filename));\n let config = this.empty();\n // eslint-disable-next-line no-constant-condition -- it will break out when filesystem is traversed\n while (true) {\n /* search configuration files in current directory */\n for (const configFile of findConfigurationFiles(this.fs, current)) {\n const local = this.loadFromFile(configFile);\n found = true;\n config = local.merge(this.resolvers, config);\n }\n /* stop if a configuration with \"root\" is set to true */\n if (config.isRootFound()) {\n break;\n }\n /* get the parent directory */\n const child = current;\n current = path.dirname(current);\n /* stop if this is the root directory */\n if (current === child) {\n break;\n }\n }\n /* no config was found by loader, return null and let caller decide what to do */\n if (!found) {\n this.cache.set(filename, null);\n return null;\n }\n this.cache.set(filename, config);\n return config;\n }\n /**\n * @internal For testing only\n */\n _getInternalCache() {\n return this.cache;\n }\n defaultConfig() {\n return Config.defaultConfig();\n }\n}\n//# sourceMappingURL=file-system.js.map","import kleur from \"kleur\";\nimport { version } from \"../generated/package\";\nimport { compatibilityCheckImpl } from \"./compatibility-check\";\nconst defaults = {\n silent: false,\n version,\n logger(text) {\n /* eslint-disable-next-line no-console -- expected to log */\n console.error(kleur.red(text));\n },\n};\n/**\n * Tests if plugin is compatible with html-validate library. Unless the `silent`\n * option is used a warning is displayed on the console.\n *\n * @public\n * @since v5.0.0\n * @param name - Name of plugin\n * @param declared - What library versions the plugin support (e.g. declared peerDependencies)\n * @returns - `true` if version is compatible\n */\nexport function compatibilityCheck(name, declared, options) {\n return compatibilityCheckImpl(name, declared, {\n ...defaults,\n ...options,\n });\n}\n//# sourceMappingURL=compatibility-check.nodejs.js.map"],"names":[],"mappings":";;;;;;AAAA;AACA;AACA;AACO,SAAS,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE;AACnD,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/C;AACA,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACtC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;AACxD,QAAQ,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AAC7B,QAAQ,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9D,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE;AACpD,gBAAgB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7C,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACnC;AACA,IAAI,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7B;;;;AClBA,IAAI,aAAa,GAAG,IAAI,CAAC;AACzB;AACA;AACA;AACO,SAAS,oBAAoB,CAAC,MAAM,EAAE,EAAE,EAAE;AACjD;AACA,IAAI,IAAI,OAAO,GAAG,MAAM,CAAC;AACzB;AACA,IAAI,OAAO,IAAI,EAAE;AACjB,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAC1D,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACnC,YAAY,OAAO,OAAO,CAAC;AAC3B,SAAS;AACT;AACA,QAAQ,MAAM,KAAK,GAAG,OAAO,CAAC;AAC9B,QAAQ,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACxC;AACA,QAAQ,IAAI,OAAO,KAAK,KAAK,EAAE;AAC/B,YAAY,MAAM;AAClB,SAAS;AACT,KAAK;AACL;AACA,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,gBAAgB,GAAG;AACnC,IAAI,IAAI,aAAa,KAAK,IAAI,EAAE;AAChC,QAAQ,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;AAChE,KAAK;AACL,IAAI,OAAO,aAAa,CAAC;AACzB;;ACrCA;AACA;AACA;AACO,SAAS,kBAAkB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;AACnD,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC5D,QAAQ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACrD,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL;;ACLA,SAAS,cAAc,CAAC,KAAK,EAAE;AAC/B,IAAI,OAAO,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC;AAC1E,CAAC;AACD,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,IAAI,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACvC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,cAAc,CAAC,OAAO,GAAG,EAAE,EAAE;AAC7C,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,MAAM,OAAO,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;AAC/F,IAAI,SAAS,eAAe,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;AAC5C,QAAQ,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAC5D,QAAQ,IAAI;AACZ;AACA;AACA;AACA,YAAY,IAAI,KAAK,EAAE;AACvB,gBAAgB,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;AACjD,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,eAAe,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AAClE,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,GAAG,EAAE;AACpB,YAAY,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE;AACxE,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,YAAY,MAAM,GAAG,CAAC;AACtB,SAAS;AACT,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,IAAI,EAAE,iBAAiB;AAC/B,QAAQ,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE;AACrC,YAAY,OAAO,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAChD,SAAS;AACT,QAAQ,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE;AACnC,YAAY,MAAM,UAAU,GAAG,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAC5D,YAAY,IAAI,CAAC,UAAU,EAAE;AAC7B,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb;AACA,YAAY,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACzC,YAAY,MAAM,MAAM,GAAG,CAAC,KAAK,KAAK,kBAAkB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;AACzE,YAAY,IAAI,UAAU,CAAC,QAAQ,EAAE;AACrC,gBAAgB,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtE,aAAa;AACb,YAAY,IAAI,UAAU,CAAC,OAAO,EAAE;AACpC,gBAAgB,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpE,aAAa;AACb,YAAY,IAAI,UAAU,CAAC,OAAO,EAAE;AACpC,gBAAgB,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpE,aAAa;AACb,YAAY,OAAO,UAAU,CAAC;AAC9B,SAAS;AACT,QAAQ,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE;AACnC,YAAY,OAAO,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAChD,SAAS;AACT,QAAQ,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE;AACxC,YAAY,MAAM,GAAG,GAAG,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AACrD,YAAY,IAAI,CAAC,GAAG,EAAE;AACtB,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,YAAY,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;AACpC,gBAAgB,OAAO,GAAG,CAAC;AAC3B,aAAa;AACb;AACA,YAAY,IAAI,GAAG,CAAC,WAAW,EAAE;AACjC,gBAAgB,MAAM,IAAI,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,gGAAgG,CAAC,CAAC,CAAC;AACvJ,aAAa;AACb,YAAY,MAAM,IAAI,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAChF,SAAS;AACT,KAAK,CAAC;AACN;;ACnFA;AACA;AACA;AACA,SAAS,sBAAsB,CAAC,EAAE,EAAE,SAAS,EAAE;AAC/C,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC;AAChC,SAAS,GAAG,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAC/E,SAAS,MAAM,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,CAAC;AACD,MAAM,gBAAgB,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;AAC5C,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,sBAAsB,SAAS,YAAY,CAAC;AACzD,IAAI,WAAW,CAAC,GAAG,IAAI,EAAE;AACzB,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;AACnB,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;AAC/B;AACA,YAAY,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;AAC3D,YAAY,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACrC,YAAY,IAAI,CAAC,EAAE,8BAA8B,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AACvG,SAAS;AACT,aAAa;AACb;AACA,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;AAChD,YAAY,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAC5C,YAAY,IAAI,CAAC,EAAE,8BAA8B,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AACvG,SAAS;AACT,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AAC/B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE;AAC3C;AACA;AACA,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,KAAK,CAAC,GAAG,cAAc,GAAG,EAAE,CAAC,CAAC;AACzH,QAAQ,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE;AACpC,YAAY,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC5B,YAAY,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;AACtC,SAAS;AACT;AACA;AACA,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE;AAC7C,YAAY,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC7E,YAAY,MAAM,CAAC,IAAI,EAAE,CAAC;AAC1B,YAAY,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;AACpC,SAAS;AACT,QAAQ,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACnD,QAAQ,MAAM,MAAM,GAAG,MAAM;AAC7B,cAAc,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;AACpD,cAAc,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAChE,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;AACtB,QAAQ,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;AAChC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,UAAU,CAAC,QAAQ,EAAE;AACzB,QAAQ,IAAI,QAAQ,EAAE;AACtB,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxC,SAAS;AACT,aAAa;AACb,YAAY,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AAC/B,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,YAAY,CAAC,QAAQ,EAAE;AAC3B,QAAQ,IAAI,QAAQ,KAAK,QAAQ,EAAE;AACnC,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/C,QAAQ,IAAI,KAAK,EAAE;AACnB,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,QAAQ,IAAI,KAAK,GAAG,KAAK,CAAC;AAC1B,QAAQ,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3D,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;AAClC;AACA,QAAQ,OAAO,IAAI,EAAE;AACrB;AACA,YAAY,KAAK,MAAM,UAAU,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE;AAC/E,gBAAgB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAC5D,gBAAgB,KAAK,GAAG,IAAI,CAAC;AAC7B,gBAAgB,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC7D,aAAa;AACb;AACA,YAAY,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;AACtC,gBAAgB,MAAM;AACtB,aAAa;AACb;AACA,YAAY,MAAM,KAAK,GAAG,OAAO,CAAC;AAClC,YAAY,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC5C;AACA,YAAY,IAAI,OAAO,KAAK,KAAK,EAAE;AACnC,gBAAgB,MAAM;AACtB,aAAa;AACb,SAAS;AACT;AACA,QAAQ,IAAI,CAAC,KAAK,EAAE;AACpB,YAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC3C,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACzC,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK;AACL;AACA;AACA;AACA,IAAI,iBAAiB,GAAG;AACxB,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC;AAC1B,KAAK;AACL,IAAI,aAAa,GAAG;AACpB,QAAQ,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;AACtC,KAAK;AACL;;ACzJA,MAAM,QAAQ,GAAG;AACjB,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,OAAO;AACX,IAAI,MAAM,CAAC,IAAI,EAAE;AACjB;AACA,QAAQ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,KAAK;AACL,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;AAC5D,IAAI,OAAO,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE;AAClD,QAAQ,GAAG,QAAQ;AACnB,QAAQ,GAAG,OAAO;AAClB,KAAK,CAAC,CAAC;AACP;;;;"}
|
package/dist/es/core.js
CHANGED
|
@@ -494,6 +494,11 @@ const patternProperties = {
|
|
|
494
494
|
type: "string"
|
|
495
495
|
}
|
|
496
496
|
},
|
|
497
|
+
implicitRole: {
|
|
498
|
+
title: "Implicit ARIA role for this element",
|
|
499
|
+
description: "Some elements have implicit ARIA roles.",
|
|
500
|
+
"function": true
|
|
501
|
+
},
|
|
497
502
|
scriptSupporting: {
|
|
498
503
|
title: "Mark element as script-supporting",
|
|
499
504
|
description: "Script-supporting elements are elements which can be inserted where othersise not permitted to assist in templating",
|
|
@@ -965,6 +970,7 @@ function migrateAttributes(src) {
|
|
|
965
970
|
return Object.fromEntries(entries);
|
|
966
971
|
}
|
|
967
972
|
function migrateElement(src) {
|
|
973
|
+
var _a;
|
|
968
974
|
const result = {
|
|
969
975
|
...src,
|
|
970
976
|
...{
|
|
@@ -972,6 +978,7 @@ function migrateElement(src) {
|
|
|
972
978
|
},
|
|
973
979
|
attributes: migrateAttributes(src),
|
|
974
980
|
textContent: src.textContent,
|
|
981
|
+
implicitRole: (_a = src.implicitRole) !== null && _a !== void 0 ? _a : (() => null),
|
|
975
982
|
};
|
|
976
983
|
/* removed properties */
|
|
977
984
|
delete result.deprecatedAttributes;
|
|
@@ -3222,7 +3229,7 @@ function parseSeverity(value) {
|
|
|
3222
3229
|
}
|
|
3223
3230
|
|
|
3224
3231
|
function escape(value) {
|
|
3225
|
-
return
|
|
3232
|
+
return JSON.stringify(value);
|
|
3226
3233
|
}
|
|
3227
3234
|
function format(value, quote = false) {
|
|
3228
3235
|
if (value === null) {
|
|
@@ -3232,7 +3239,7 @@ function format(value, quote = false) {
|
|
|
3232
3239
|
return value.toString();
|
|
3233
3240
|
}
|
|
3234
3241
|
if (typeof value === "string") {
|
|
3235
|
-
return quote ?
|
|
3242
|
+
return quote ? escape(value) : value;
|
|
3236
3243
|
}
|
|
3237
3244
|
if (Array.isArray(value)) {
|
|
3238
3245
|
const content = value.map((it) => format(it, true)).join(", ");
|
|
@@ -3252,7 +3259,7 @@ function format(value, quote = false) {
|
|
|
3252
3259
|
* @internal
|
|
3253
3260
|
*/
|
|
3254
3261
|
function interpolate(text, data) {
|
|
3255
|
-
return text.replace(/{{\s*([^\s]+)\s*}}/g, (match, key) => {
|
|
3262
|
+
return text.replace(/{{\s*([^\s{}]+)\s*}}/g, (match, key) => {
|
|
3256
3263
|
return typeof data[key] !== "undefined" ? format(data[key]) : match;
|
|
3257
3264
|
});
|
|
3258
3265
|
}
|
|
@@ -3848,7 +3855,7 @@ const defaults$u = {
|
|
|
3848
3855
|
allowAbsolute: true,
|
|
3849
3856
|
allowBase: true,
|
|
3850
3857
|
};
|
|
3851
|
-
const mapping
|
|
3858
|
+
const mapping = {
|
|
3852
3859
|
a: "href",
|
|
3853
3860
|
img: "src",
|
|
3854
3861
|
link: "href",
|
|
@@ -3957,7 +3964,7 @@ class AllowedLinks extends Rule {
|
|
|
3957
3964
|
if (value instanceof DynamicValue) {
|
|
3958
3965
|
return false;
|
|
3959
3966
|
}
|
|
3960
|
-
const attr = mapping
|
|
3967
|
+
const attr = mapping[target.tagName];
|
|
3961
3968
|
return Boolean(attr && attr === key);
|
|
3962
3969
|
}
|
|
3963
3970
|
getStyle(value) {
|
|
@@ -6411,7 +6418,7 @@ const defaults$h = {
|
|
|
6411
6418
|
minInitialRank: "h1",
|
|
6412
6419
|
sectioningRoots: ["dialog", '[role="dialog"]', '[role="alertdialog"]'],
|
|
6413
6420
|
};
|
|
6414
|
-
function isRelevant$
|
|
6421
|
+
function isRelevant$4(event) {
|
|
6415
6422
|
const node = event.target;
|
|
6416
6423
|
return Boolean(node.meta && node.meta.heading);
|
|
6417
6424
|
}
|
|
@@ -6479,7 +6486,7 @@ class HeadingLevel extends Rule {
|
|
|
6479
6486
|
};
|
|
6480
6487
|
}
|
|
6481
6488
|
setup() {
|
|
6482
|
-
this.on("tag:start", isRelevant$
|
|
6489
|
+
this.on("tag:start", isRelevant$4, (event) => {
|
|
6483
6490
|
this.onTagStart(event);
|
|
6484
6491
|
});
|
|
6485
6492
|
this.on("tag:ready", (event) => {
|
|
@@ -7139,7 +7146,7 @@ class MapDupName extends Rule {
|
|
|
7139
7146
|
}
|
|
7140
7147
|
}
|
|
7141
7148
|
|
|
7142
|
-
function isRelevant$
|
|
7149
|
+
function isRelevant$3(event) {
|
|
7143
7150
|
return event.target.is("map");
|
|
7144
7151
|
}
|
|
7145
7152
|
function hasStaticValue(attr) {
|
|
@@ -7153,7 +7160,7 @@ class MapIdName extends Rule {
|
|
|
7153
7160
|
};
|
|
7154
7161
|
}
|
|
7155
7162
|
setup() {
|
|
7156
|
-
this.on("tag:ready", isRelevant$
|
|
7163
|
+
this.on("tag:ready", isRelevant$3, (event) => {
|
|
7157
7164
|
var _a;
|
|
7158
7165
|
const { target } = event;
|
|
7159
7166
|
const id = target.getAttribute("id");
|
|
@@ -7417,7 +7424,7 @@ class NoDupID extends Rule {
|
|
|
7417
7424
|
const { document } = event;
|
|
7418
7425
|
const existing = new Set();
|
|
7419
7426
|
const elements = document.querySelectorAll("[id]");
|
|
7420
|
-
const relevant = elements.filter(isRelevant$
|
|
7427
|
+
const relevant = elements.filter(isRelevant$2);
|
|
7421
7428
|
for (const el of relevant) {
|
|
7422
7429
|
const attr = el.getAttribute("id");
|
|
7423
7430
|
/* istanbul ignore next: this has already been tested in isRelevant once but for type-safety it is checked again */
|
|
@@ -7433,7 +7440,7 @@ class NoDupID extends Rule {
|
|
|
7433
7440
|
});
|
|
7434
7441
|
}
|
|
7435
7442
|
}
|
|
7436
|
-
function isRelevant$
|
|
7443
|
+
function isRelevant$2(element) {
|
|
7437
7444
|
const attr = element.getAttribute("id");
|
|
7438
7445
|
/* istanbul ignore next: can not really happen as querySelector will only return elements with id present */
|
|
7439
7446
|
if (!attr) {
|
|
@@ -7450,6 +7457,41 @@ function isRelevant$1(element) {
|
|
|
7450
7457
|
return true;
|
|
7451
7458
|
}
|
|
7452
7459
|
|
|
7460
|
+
function isRelevant$1(event) {
|
|
7461
|
+
return event.target.is("button");
|
|
7462
|
+
}
|
|
7463
|
+
class NoImplicitButtonType extends Rule {
|
|
7464
|
+
documentation() {
|
|
7465
|
+
return {
|
|
7466
|
+
description: [
|
|
7467
|
+
"`<button>` is missing required `type` attribute",
|
|
7468
|
+
"",
|
|
7469
|
+
"When the `type` attribute is omitted it defaults to `submit`.",
|
|
7470
|
+
"Submit buttons are triggered when a keyboard user presses <kbd>Enter</kbd>.",
|
|
7471
|
+
"",
|
|
7472
|
+
"As this may or may not be inteded this rule enforces that the `type` attribute be explicitly set to one of the valid types:",
|
|
7473
|
+
"",
|
|
7474
|
+
"- `button` - a generic button.",
|
|
7475
|
+
"- `submit` - a submit button.",
|
|
7476
|
+
"- `reset`- a button to reset form fields.",
|
|
7477
|
+
].join("\n"),
|
|
7478
|
+
url: "https://html-validate.org/rules/no-implicit-button-type.html",
|
|
7479
|
+
};
|
|
7480
|
+
}
|
|
7481
|
+
setup() {
|
|
7482
|
+
this.on("element:ready", isRelevant$1, (event) => {
|
|
7483
|
+
const { target } = event;
|
|
7484
|
+
const attr = target.getAttribute("type");
|
|
7485
|
+
if (!attr) {
|
|
7486
|
+
this.report({
|
|
7487
|
+
node: event.target,
|
|
7488
|
+
message: `<button> is missing required "type" attribute`,
|
|
7489
|
+
});
|
|
7490
|
+
}
|
|
7491
|
+
});
|
|
7492
|
+
}
|
|
7493
|
+
}
|
|
7494
|
+
|
|
7453
7495
|
class NoImplicitClose extends Rule {
|
|
7454
7496
|
documentation() {
|
|
7455
7497
|
return {
|
|
@@ -7856,70 +7898,42 @@ class NoRedundantFor extends Rule {
|
|
|
7856
7898
|
}
|
|
7857
7899
|
}
|
|
7858
7900
|
|
|
7859
|
-
const mapping = {
|
|
7860
|
-
article: ["article"],
|
|
7861
|
-
header: ["banner"],
|
|
7862
|
-
button: ["button"],
|
|
7863
|
-
td: ["cell"],
|
|
7864
|
-
input: ["checkbox", "radio", "input"],
|
|
7865
|
-
aside: ["complementary"],
|
|
7866
|
-
footer: ["contentinfo"],
|
|
7867
|
-
figure: ["figure"],
|
|
7868
|
-
form: ["form"],
|
|
7869
|
-
h1: ["heading"],
|
|
7870
|
-
h2: ["heading"],
|
|
7871
|
-
h3: ["heading"],
|
|
7872
|
-
h4: ["heading"],
|
|
7873
|
-
h5: ["heading"],
|
|
7874
|
-
h6: ["heading"],
|
|
7875
|
-
a: ["link"],
|
|
7876
|
-
ul: ["list"],
|
|
7877
|
-
select: ["listbox"],
|
|
7878
|
-
li: ["listitem"],
|
|
7879
|
-
main: ["main"],
|
|
7880
|
-
nav: ["navigation"],
|
|
7881
|
-
progress: ["progressbar"],
|
|
7882
|
-
section: ["region"],
|
|
7883
|
-
table: ["table"],
|
|
7884
|
-
textarea: ["textbox"],
|
|
7885
|
-
};
|
|
7886
7901
|
class NoRedundantRole extends Rule {
|
|
7887
7902
|
documentation(context) {
|
|
7888
|
-
const
|
|
7889
|
-
|
|
7903
|
+
const { role, tagName } = context;
|
|
7904
|
+
return {
|
|
7905
|
+
description: `Using the \`${role}\` role is redundant as it is already implied by the \`<${tagName}>\` element.`,
|
|
7890
7906
|
url: "https://html-validate.org/rules/no-redundant-role.html",
|
|
7891
7907
|
};
|
|
7892
|
-
if (context) {
|
|
7893
|
-
doc.description = `Using the "${context.role}" role is redundant as it is already implied by the <${context.tagname}> element.`;
|
|
7894
|
-
}
|
|
7895
|
-
return doc;
|
|
7896
7908
|
}
|
|
7897
7909
|
setup() {
|
|
7898
|
-
this.on("
|
|
7910
|
+
this.on("tag:ready", (event) => {
|
|
7899
7911
|
const { target } = event;
|
|
7900
|
-
|
|
7901
|
-
|
|
7912
|
+
const role = target.getAttribute("role");
|
|
7913
|
+
/* ignore missing and dynamic values */
|
|
7914
|
+
if (!(role === null || role === void 0 ? void 0 : role.value) || role.value instanceof DynamicValue) {
|
|
7902
7915
|
return;
|
|
7903
7916
|
}
|
|
7904
|
-
/* ignore
|
|
7905
|
-
|
|
7917
|
+
/* ignore elements without metadata */
|
|
7918
|
+
const { meta } = target;
|
|
7919
|
+
if (!meta) {
|
|
7906
7920
|
return;
|
|
7907
7921
|
}
|
|
7908
|
-
/* ignore elements without
|
|
7909
|
-
const
|
|
7910
|
-
if (!
|
|
7922
|
+
/* ignore elements without implicit role */
|
|
7923
|
+
const implicitRole = meta.implicitRole(target._adapter);
|
|
7924
|
+
if (!implicitRole) {
|
|
7911
7925
|
return;
|
|
7912
7926
|
}
|
|
7913
7927
|
/* ignore elements with non-redundant roles */
|
|
7914
|
-
if (
|
|
7928
|
+
if (role.value !== implicitRole) {
|
|
7915
7929
|
return;
|
|
7916
7930
|
}
|
|
7917
7931
|
/* report error */
|
|
7918
7932
|
const context = {
|
|
7919
|
-
|
|
7920
|
-
role:
|
|
7933
|
+
tagName: target.tagName,
|
|
7934
|
+
role: role.value,
|
|
7921
7935
|
};
|
|
7922
|
-
this.report(event.target, `Redundant role "${
|
|
7936
|
+
this.report(event.target, `Redundant role "${role.value}" on <${target.tagName}>`, role.valueLocation, context);
|
|
7923
7937
|
});
|
|
7924
7938
|
}
|
|
7925
7939
|
}
|
|
@@ -9624,6 +9638,7 @@ const bundledRules = {
|
|
|
9624
9638
|
"no-dup-attr": NoDupAttr,
|
|
9625
9639
|
"no-dup-class": NoDupClass,
|
|
9626
9640
|
"no-dup-id": NoDupID,
|
|
9641
|
+
"no-implicit-button-type": NoImplicitButtonType,
|
|
9627
9642
|
"no-implicit-close": NoImplicitClose,
|
|
9628
9643
|
"no-inline-style": NoInlineStyle,
|
|
9629
9644
|
"no-missing-references": NoMissingReferences,
|
|
@@ -9670,6 +9685,7 @@ const config$4 = {
|
|
|
9670
9685
|
"multiple-labeled-controls": "error",
|
|
9671
9686
|
"no-autoplay": ["error", { include: ["audio", "video"] }],
|
|
9672
9687
|
"no-dup-id": "error",
|
|
9688
|
+
"no-implicit-button-type": "error",
|
|
9673
9689
|
"no-redundant-aria-label": "error",
|
|
9674
9690
|
"no-redundant-for": "error",
|
|
9675
9691
|
"no-redundant-role": "error",
|
|
@@ -9749,6 +9765,7 @@ const config$1 = {
|
|
|
9749
9765
|
"no-dup-attr": "error",
|
|
9750
9766
|
"no-dup-class": "error",
|
|
9751
9767
|
"no-dup-id": "error",
|
|
9768
|
+
"no-implicit-button-type": "error",
|
|
9752
9769
|
"no-implicit-close": "error",
|
|
9753
9770
|
"no-inline-style": "error",
|
|
9754
9771
|
"no-multiple-main": "error",
|
|
@@ -12207,7 +12224,7 @@ class HtmlValidate {
|
|
|
12207
12224
|
/** @public */
|
|
12208
12225
|
const name = "html-validate";
|
|
12209
12226
|
/** @public */
|
|
12210
|
-
const version = "8.
|
|
12227
|
+
const version = "8.4.0";
|
|
12211
12228
|
/** @public */
|
|
12212
12229
|
const bugs = "https://gitlab.com/html-validate/html-validate/issues/new";
|
|
12213
12230
|
|