html-validate 10.12.2 → 10.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/cjs/browser.js +1 -0
  2. package/dist/cjs/browser.js.map +1 -1
  3. package/dist/cjs/core.js +116 -5
  4. package/dist/cjs/core.js.map +1 -1
  5. package/dist/cjs/elements.js +12 -3
  6. package/dist/cjs/elements.js.map +1 -1
  7. package/dist/cjs/html-validate.js +1 -0
  8. package/dist/cjs/html-validate.js.map +1 -1
  9. package/dist/cjs/html5.js +1 -0
  10. package/dist/cjs/html5.js.map +1 -1
  11. package/dist/cjs/index.js +1 -0
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/cjs/jest-worker.js +1 -0
  14. package/dist/cjs/jest-worker.js.map +1 -1
  15. package/dist/cjs/jest.js +1 -0
  16. package/dist/cjs/jest.js.map +1 -1
  17. package/dist/cjs/utils/parse-image-candidate-string.js +38 -0
  18. package/dist/cjs/utils/parse-image-candidate-string.js.map +1 -0
  19. package/dist/cjs/vitest.js +1 -0
  20. package/dist/cjs/vitest.js.map +1 -1
  21. package/dist/esm/browser.js +1 -0
  22. package/dist/esm/browser.js.map +1 -1
  23. package/dist/esm/core.js +116 -5
  24. package/dist/esm/core.js.map +1 -1
  25. package/dist/esm/elements.js +12 -3
  26. package/dist/esm/elements.js.map +1 -1
  27. package/dist/esm/html-validate.js +1 -0
  28. package/dist/esm/html-validate.js.map +1 -1
  29. package/dist/esm/html5.js +1 -0
  30. package/dist/esm/html5.js.map +1 -1
  31. package/dist/esm/index.js +1 -0
  32. package/dist/esm/index.js.map +1 -1
  33. package/dist/esm/jest-worker.js +1 -0
  34. package/dist/esm/jest-worker.js.map +1 -1
  35. package/dist/esm/jest.js +1 -0
  36. package/dist/esm/jest.js.map +1 -1
  37. package/dist/esm/utils/parse-image-candidate-string.js +36 -0
  38. package/dist/esm/utils/parse-image-candidate-string.js.map +1 -0
  39. package/dist/esm/vitest.js +1 -0
  40. package/dist/esm/vitest.js.map +1 -1
  41. package/dist/schema/elements.json +25 -1
  42. package/dist/types/browser.d.ts +43 -0
  43. package/dist/types/index.d.ts +43 -0
  44. package/package.json +2 -2
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var metaHelper = require('./meta-helper.js');
4
+ var utils_parseImageCandidateString = require('./utils/parse-image-candidate-string.js');
4
5
 
5
6
  const {
6
7
  allowedIfAttributeIsPresent,
@@ -36,6 +37,9 @@ function isInsideLandmark(node) {
36
37
  ];
37
38
  return Boolean(node.closest(selectors.join(",")));
38
39
  }
40
+ function hasWidthDescriptor(srcset) {
41
+ return utils_parseImageCandidateString.parseImageCandidateString(srcset).some((it) => it.descriptor === "width");
42
+ }
39
43
  function linkBodyOk(node) {
40
44
  if (node.hasAttribute("itemprop")) {
41
45
  return true;
@@ -1106,7 +1110,7 @@ var html5 = {
1106
1110
  }
1107
1111
  },
1108
1112
  head: {
1109
- implicitClosed: ["body"],
1113
+ implicitClosed: ["body", "@flow-not-meta"],
1110
1114
  optionalEnd: true,
1111
1115
  permittedContent: ["base?", "title?", "@meta"],
1112
1116
  permittedParent: ["html"],
@@ -1176,6 +1180,10 @@ var html5 = {
1176
1180
  }
1177
1181
  },
1178
1182
  html: {
1183
+ implicitOpen: [
1184
+ { for: ["@meta"], open: "head" },
1185
+ { for: ["@flow-not-meta"], open: "body" }
1186
+ ],
1179
1187
  optionalEnd: true,
1180
1188
  permittedContent: ["head?", "body?"],
1181
1189
  permittedOrder: ["head", "body"],
@@ -1706,8 +1714,9 @@ var html5 = {
1706
1714
  return null;
1707
1715
  },
1708
1716
  required(node) {
1709
- if (node.hasAttribute("imagesrcset")) {
1710
- return `{{ tagName }} requires "{{ attr }}" attribute when "imagesrcset" attribute is set`;
1717
+ const imagesrcset = node.getAttribute("imagesrcset");
1718
+ if (typeof imagesrcset === "string" && hasWidthDescriptor(imagesrcset)) {
1719
+ return `{{ tagName }} requires "{{ attr }}" attribute when "imagesrcset" uses width descriptors`;
1711
1720
  }
1712
1721
  return false;
1713
1722
  }