html-validate 6.1.4 → 6.3.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.
@@ -9,7 +9,6 @@ require('kleur');
9
9
  require('@sidvind/better-ajv-errors');
10
10
  require('ajv');
11
11
  require('deepmerge');
12
- require('json-merge-patch');
13
12
  require('path');
14
13
  require('@babel/code-frame');
15
14
  require('@html-validate/stylish');
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"browser.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/cjs/cli.js CHANGED
@@ -7,7 +7,6 @@ require('kleur');
7
7
  require('@sidvind/better-ajv-errors');
8
8
  require('ajv');
9
9
  var deepmerge = require('deepmerge');
10
- require('json-merge-patch');
11
10
  var path = require('path');
12
11
  var glob = require('glob');
13
12
  var ignore = require('ignore');
@@ -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/json.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["fs","path","glob","formatterFactory","legacyRequire","UserError","ignore","deepmerge","prompts","FileSystemConfigLoader","HtmlValidate","readFileSync"],"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/json.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["fs","path","glob","formatterFactory","legacyRequire","UserError","ignore","deepmerge","prompts","FileSystemConfigLoader","HtmlValidate","readFileSync"],"mappings":"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"}
@@ -1575,7 +1575,8 @@ declare class MetaTable {
1575
1575
  */
1576
1576
  loadFromFile(filename: string): void;
1577
1577
  /**
1578
- * Get [[MetaElement]] for the given tag or null if the element doesn't exist.
1578
+ * Get [[MetaElement]] for the given tag. If no specific metadata is present
1579
+ * the global metadata is returned or null if no global is present.
1579
1580
  *
1580
1581
  * @public
1581
1582
  * @returns A shallow copy of metadata.
package/dist/cjs/core.js CHANGED
@@ -4,7 +4,6 @@ var fs = require('fs');
4
4
  var betterAjvErrors = require('@sidvind/better-ajv-errors');
5
5
  var Ajv = require('ajv');
6
6
  var deepmerge = require('deepmerge');
7
- var jsonMergePatch = require('json-merge-patch');
8
7
  var path = require('path');
9
8
  var semver = require('semver');
10
9
  var kleur = require('kleur');
@@ -17,7 +16,6 @@ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
17
16
  var betterAjvErrors__default = /*#__PURE__*/_interopDefaultLegacy(betterAjvErrors);
18
17
  var Ajv__default = /*#__PURE__*/_interopDefaultLegacy(Ajv);
19
18
  var deepmerge__default = /*#__PURE__*/_interopDefaultLegacy(deepmerge);
20
- var jsonMergePatch__default = /*#__PURE__*/_interopDefaultLegacy(jsonMergePatch);
21
19
  var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
22
20
  var semver__default = /*#__PURE__*/_interopDefaultLegacy(semver);
23
21
  var kleur__default = /*#__PURE__*/_interopDefaultLegacy(kleur);
@@ -433,6 +431,18 @@ const patternProperties = {
433
431
  title: "Mark element as a submittable form element",
434
432
  type: "boolean"
435
433
  },
434
+ labelable: {
435
+ title: "Mark this element as labelable",
436
+ description: "This element may contain an associated label element.",
437
+ anyOf: [
438
+ {
439
+ type: "boolean"
440
+ },
441
+ {
442
+ $ref: "#/definitions/expression"
443
+ }
444
+ ]
445
+ },
436
446
  deprecatedAttributes: {
437
447
  title: "List of deprecated attributes",
438
448
  type: "array",
@@ -484,7 +494,7 @@ const patternProperties = {
484
494
  ]
485
495
  }
486
496
  },
487
- additionalProperties: true
497
+ additionalProperties: false
488
498
  }
489
499
  };
490
500
  const definitions = {
@@ -879,7 +889,7 @@ class MetaTable {
879
889
  */
880
890
  extendValidationSchema(patch) {
881
891
  if (patch.properties) {
882
- this.schema = jsonMergePatch__default["default"].apply(this.schema, {
892
+ this.schema = deepmerge__default["default"](this.schema, {
883
893
  patternProperties: {
884
894
  "^[^$].*$": {
885
895
  properties: patch.properties,
@@ -888,7 +898,7 @@ class MetaTable {
888
898
  });
889
899
  }
890
900
  if (patch.definitions) {
891
- this.schema = jsonMergePatch__default["default"].apply(this.schema, {
901
+ this.schema = deepmerge__default["default"](this.schema, {
892
902
  definitions: patch.definitions,
893
903
  });
894
904
  }
@@ -934,14 +944,23 @@ class MetaTable {
934
944
  }
935
945
  }
936
946
  /**
937
- * Get [[MetaElement]] for the given tag or null if the element doesn't exist.
947
+ * Get [[MetaElement]] for the given tag. If no specific metadata is present
948
+ * the global metadata is returned or null if no global is present.
938
949
  *
939
950
  * @public
940
951
  * @returns A shallow copy of metadata.
941
952
  */
942
953
  getMetaFor(tagName) {
954
+ /* try to locate by tagname */
943
955
  tagName = tagName.toLowerCase();
944
- return this.elements[tagName] ? { ...this.elements[tagName] } : null;
956
+ if (this.elements[tagName]) {
957
+ return { ...this.elements[tagName] };
958
+ }
959
+ /* try to locate global element */
960
+ if (this.elements["*"]) {
961
+ return { ...this.elements["*"] };
962
+ }
963
+ return null;
945
964
  }
946
965
  /**
947
966
  * Find all tags which has enabled given property.
@@ -1773,6 +1792,14 @@ class Selector {
1773
1792
  }
1774
1793
 
1775
1794
  const TEXT_NODE_NAME = "#text";
1795
+ /**
1796
+ * Returns true if the node is a text node.
1797
+ *
1798
+ * @public
1799
+ */
1800
+ function isTextNode(node) {
1801
+ return Boolean(node && node.nodeType === NodeType.TEXT_NODE);
1802
+ }
1776
1803
  /**
1777
1804
  * Represents a text in the HTML document.
1778
1805
  *
@@ -2929,7 +2956,7 @@ var TRANSFORMER_API;
2929
2956
  /** @public */
2930
2957
  const name = "html-validate";
2931
2958
  /** @public */
2932
- const version = "6.1.4";
2959
+ const version = "6.3.0";
2933
2960
  /** @public */
2934
2961
  const homepage = "https://html-validate.org";
2935
2962
  /** @public */
@@ -3399,6 +3426,28 @@ class AllowedLinks extends Rule {
3399
3426
  }
3400
3427
  }
3401
3428
 
3429
+ class AriaHiddenBody extends Rule {
3430
+ documentation() {
3431
+ return {
3432
+ description: "`aria-hidden` must not be used on the `<body>` element as it makes the page inaccessible to assistive technology such as screenreaders",
3433
+ url: ruleDocumentationUrl("@/rules/aria-hidden-body.ts"),
3434
+ };
3435
+ }
3436
+ setup() {
3437
+ this.on("tag:ready", this.isRelevant, (event) => {
3438
+ const { target } = event;
3439
+ const attr = target.getAttribute("aria-hidden");
3440
+ if (!attr || !attr.valueMatches("true", true)) {
3441
+ return;
3442
+ }
3443
+ this.report(target, "aria-hidden must not be used on <body>", attr.keyLocation);
3444
+ });
3445
+ }
3446
+ isRelevant(event) {
3447
+ return event.target.is("body");
3448
+ }
3449
+ }
3450
+
3402
3451
  const whitelisted = [
3403
3452
  "main",
3404
3453
  "nav",
@@ -4075,12 +4124,26 @@ class AttributeAllowedValues extends Rule {
4075
4124
  if (!context) {
4076
4125
  return docs;
4077
4126
  }
4078
- if (context.allowed.enum) {
4079
- const allowed = context.allowed.enum.map((val) => `- \`${val}\``);
4080
- docs.description = `Element <${context.element}> does not allow attribute \`${context.attribute}\` to have the value \`"${context.value}"\`, it must match one of the following:\n\n${allowed.join("\n")}`;
4127
+ const { allowed, attribute, element, value } = context;
4128
+ if (allowed.enum) {
4129
+ const allowedList = allowed.enum.map((value) => {
4130
+ if (typeof value === "string") {
4131
+ return `- \`"${value}"\``;
4132
+ }
4133
+ else {
4134
+ return `- \`${value.toString()}\``;
4135
+ }
4136
+ });
4137
+ docs.description = [
4138
+ `The \`<${element}>\` element does not allow the attribute \`${attribute}\` to have the value \`"${value}"\`.`,
4139
+ "",
4140
+ "It must match one of the following:",
4141
+ "",
4142
+ ...allowedList,
4143
+ ].join("\n");
4081
4144
  }
4082
- else if (context.allowed.boolean) {
4083
- docs.description = `Element <${context.element}> attribute \`${context.attribute}\` must be a boolean attribute, e.g. \`<${context.element} ${context.attribute}>\``;
4145
+ else if (allowed.boolean) {
4146
+ docs.description = `The \`<${context.element}>\` attribute \`${context.attribute}\` must be a boolean attribute, e.g. \`<${context.element} ${context.attribute}>\``;
4084
4147
  }
4085
4148
  return docs;
4086
4149
  }
@@ -5012,8 +5075,9 @@ class ElementRequiredAttributes extends Rule {
5012
5075
  class ElementRequiredContent extends Rule {
5013
5076
  documentation(context) {
5014
5077
  if (context) {
5078
+ const { element, missing } = context;
5015
5079
  return {
5016
- description: `The <${context.node} element requires a <${context.missing}> to be present as content.`,
5080
+ description: `The \`${element}\` element requires a \`${missing}\` to be present as content.`,
5017
5081
  url: ruleDocumentationUrl("@/rules/element-required-content.ts"),
5018
5082
  };
5019
5083
  }
@@ -5039,10 +5103,11 @@ class ElementRequiredContent extends Rule {
5039
5103
  }
5040
5104
  for (const missing of Validator.validateRequiredContent(node, rules)) {
5041
5105
  const context = {
5042
- node: node.tagName,
5043
- missing,
5106
+ element: node.annotatedName,
5107
+ missing: `<${missing}>`,
5044
5108
  };
5045
- this.report(node, `${node.annotatedName} element must have <${missing}> as content`, null, context);
5109
+ const message = `${node.annotatedName} element must have <${missing}> as content`;
5110
+ this.report(node, message, null, context);
5046
5111
  }
5047
5112
  });
5048
5113
  });
@@ -5125,7 +5190,14 @@ class EmptyHeading extends Rule {
5125
5190
  class EmptyTitle extends Rule {
5126
5191
  documentation() {
5127
5192
  return {
5128
- description: `The <title> element is used to describe the document and is shown in the browser tab and titlebar. WCAG and SEO requires a descriptive title and preferably unique within the site. Whitespace only is considered empty.`,
5193
+ description: [
5194
+ "The `<title>` element cannot be empty, it must have textual content.",
5195
+ "",
5196
+ "It is used to describe the document and is shown in the browser tab and titlebar.",
5197
+ "WCAG and SEO requires a descriptive title and preferably unique within the site.",
5198
+ "",
5199
+ "Whitespace is ignored.",
5200
+ ].join("\n"),
5129
5201
  url: ruleDocumentationUrl("@/rules/empty-title.ts"),
5130
5202
  };
5131
5203
  }
@@ -5141,7 +5213,10 @@ class EmptyTitle extends Rule {
5141
5213
  break;
5142
5214
  case TextClassification.EMPTY_TEXT:
5143
5215
  /* no content or whitespace only */
5144
- this.report(node, `<${node.tagName}> cannot be empty, must have text content`);
5216
+ {
5217
+ const message = `<${node.tagName}> cannot be empty, must have text content`;
5218
+ this.report(node, message, node.location);
5219
+ }
5145
5220
  break;
5146
5221
  }
5147
5222
  });
@@ -7057,9 +7132,6 @@ function hasDefaultText(node) {
7057
7132
  const type = node.getAttribute("type");
7058
7133
  return Boolean(type && type.valueMatches(/submit|reset/, false));
7059
7134
  }
7060
- function isTextNode(node) {
7061
- return node.nodeType === NodeType.TEXT_NODE;
7062
- }
7063
7135
  function isNonEmptyText(node) {
7064
7136
  if (isTextNode(node)) {
7065
7137
  return node.isDynamic || node.textContent.trim() !== "";
@@ -9422,6 +9494,7 @@ const bundledRules$1 = {
9422
9494
 
9423
9495
  const bundledRules = {
9424
9496
  "allowed-links": AllowedLinks,
9497
+ "aria-hidden-body": AriaHiddenBody,
9425
9498
  "aria-label-misuse": AriaLabelMisuse,
9426
9499
  "attr-case": AttrCase,
9427
9500
  "attr-delimiter": AttrDelimiter,
@@ -9492,6 +9565,7 @@ var defaultConfig = {};
9492
9565
 
9493
9566
  const config$3 = {
9494
9567
  rules: {
9568
+ "aria-hidden-body": "error",
9495
9569
  "aria-label-misuse": "error",
9496
9570
  "deprecated-rule": "warn",
9497
9571
  "empty-heading": "error",
@@ -9526,6 +9600,7 @@ const config$2 = {
9526
9600
 
9527
9601
  const config$1 = {
9528
9602
  rules: {
9603
+ "aria-hidden-body": "error",
9529
9604
  "aria-label-misuse": "error",
9530
9605
  "attr-case": "error",
9531
9606
  "attr-delimiter": "error",
@@ -9790,9 +9865,11 @@ class Config {
9790
9865
  this.configurations = this.loadConfigurations(this.plugins);
9791
9866
  this.extendMeta(this.plugins);
9792
9867
  /* process extended configs */
9793
- for (const extend of (_a = this.config.extends) !== null && _a !== void 0 ? _a : []) {
9794
- this.config = this.extendConfig(extend);
9795
- }
9868
+ this.config = this.extendConfig((_a = this.config.extends) !== null && _a !== void 0 ? _a : []);
9869
+ /* reset extends as we already processed them, this prevents the next config
9870
+ * from reapplying config from extended config as well as duplicate entries
9871
+ * when merging arrays */
9872
+ this.config.extends = [];
9796
9873
  /* rules explicitly set by passed options should have precedence over any
9797
9874
  * extended rules, not the other way around. */
9798
9875
  if (options && options.rules) {
@@ -9890,15 +9967,23 @@ class Config {
9890
9967
  merge(rhs) {
9891
9968
  return new Config(mergeInternal(this.config, rhs.config));
9892
9969
  }
9893
- extendConfig(entry) {
9894
- let base;
9895
- if (this.configurations.has(entry)) {
9896
- base = this.configurations.get(entry);
9970
+ extendConfig(entries) {
9971
+ if (entries.length === 0) {
9972
+ return this.config;
9897
9973
  }
9898
- else {
9899
- base = Config.fromFile(entry).config;
9974
+ let base = {};
9975
+ for (let i = 0; i < entries.length; i++) {
9976
+ const entry = entries[i];
9977
+ let extended;
9978
+ if (this.configurations.has(entry)) {
9979
+ extended = this.configurations.get(entry);
9980
+ }
9981
+ else {
9982
+ extended = Config.fromFile(entry).config;
9983
+ }
9984
+ base = mergeInternal(base, extended);
9900
9985
  }
9901
- return mergeInternal(this.config, base);
9986
+ return mergeInternal(base, this.config);
9902
9987
  }
9903
9988
  /**
9904
9989
  * Get element metadata.
@@ -9973,6 +10058,7 @@ class Config {
9973
10058
  }
9974
10059
  });
9975
10060
  }
10061
+ delete config.extends;
9976
10062
  return config;
9977
10063
  }
9978
10064
  /**