html-validate 10.12.2 → 10.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) 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 +1 -1
  4. package/dist/cjs/elements.js +7 -2
  5. package/dist/cjs/elements.js.map +1 -1
  6. package/dist/cjs/html-validate.js +1 -0
  7. package/dist/cjs/html-validate.js.map +1 -1
  8. package/dist/cjs/html5.js +1 -0
  9. package/dist/cjs/html5.js.map +1 -1
  10. package/dist/cjs/index.js +1 -0
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/jest-worker.js +1 -0
  13. package/dist/cjs/jest-worker.js.map +1 -1
  14. package/dist/cjs/jest.js +1 -0
  15. package/dist/cjs/jest.js.map +1 -1
  16. package/dist/cjs/utils/parse-image-candidate-string.js +38 -0
  17. package/dist/cjs/utils/parse-image-candidate-string.js.map +1 -0
  18. package/dist/cjs/vitest.js +1 -0
  19. package/dist/cjs/vitest.js.map +1 -1
  20. package/dist/esm/browser.js +1 -0
  21. package/dist/esm/browser.js.map +1 -1
  22. package/dist/esm/core.js +1 -1
  23. package/dist/esm/elements.js +7 -2
  24. package/dist/esm/elements.js.map +1 -1
  25. package/dist/esm/html-validate.js +1 -0
  26. package/dist/esm/html-validate.js.map +1 -1
  27. package/dist/esm/html5.js +1 -0
  28. package/dist/esm/html5.js.map +1 -1
  29. package/dist/esm/index.js +1 -0
  30. package/dist/esm/index.js.map +1 -1
  31. package/dist/esm/jest-worker.js +1 -0
  32. package/dist/esm/jest-worker.js.map +1 -1
  33. package/dist/esm/jest.js +1 -0
  34. package/dist/esm/jest.js.map +1 -1
  35. package/dist/esm/utils/parse-image-candidate-string.js +36 -0
  36. package/dist/esm/utils/parse-image-candidate-string.js.map +1 -0
  37. package/dist/esm/vitest.js +1 -0
  38. package/dist/esm/vitest.js.map +1 -1
  39. package/package.json +2 -2
@@ -5,6 +5,7 @@ var core = require('./core.js');
5
5
  var metaHelper = require('./meta-helper.js');
6
6
  require('ajv');
7
7
  require('./elements.js');
8
+ require('./utils/parse-image-candidate-string.js');
8
9
  require('@sidvind/better-ajv-errors');
9
10
  require('./utils/natural-join.js');
10
11
  require('kleur');
@@ -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/core.js CHANGED
@@ -12485,7 +12485,7 @@ class EventHandler {
12485
12485
  }
12486
12486
 
12487
12487
  const name = "html-validate";
12488
- const version = "10.12.2";
12488
+ const version = "10.13.0";
12489
12489
  const bugs = "https://gitlab.com/html-validate/html-validate/issues/new";
12490
12490
 
12491
12491
  function freeze(src) {
@@ -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;
@@ -1706,8 +1710,9 @@ var html5 = {
1706
1710
  return null;
1707
1711
  },
1708
1712
  required(node) {
1709
- if (node.hasAttribute("imagesrcset")) {
1710
- return `{{ tagName }} requires "{{ attr }}" attribute when "imagesrcset" attribute is set`;
1713
+ const imagesrcset = node.getAttribute("imagesrcset");
1714
+ if (typeof imagesrcset === "string" && hasWidthDescriptor(imagesrcset)) {
1715
+ return `{{ tagName }} requires "{{ attr }}" attribute when "imagesrcset" uses width descriptors`;
1711
1716
  }
1712
1717
  return false;
1713
1718
  }