html-validate 10.12.1 → 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.
- package/dist/cjs/browser.js +1 -0
- package/dist/cjs/browser.js.map +1 -1
- package/dist/cjs/core.js +13 -6
- package/dist/cjs/core.js.map +1 -1
- package/dist/cjs/elements.js +11 -2
- package/dist/cjs/elements.js.map +1 -1
- package/dist/cjs/html-validate.js +1 -0
- package/dist/cjs/html-validate.js.map +1 -1
- package/dist/cjs/html5.js +1 -0
- package/dist/cjs/html5.js.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/jest-worker.js +1 -0
- package/dist/cjs/jest-worker.js.map +1 -1
- package/dist/cjs/jest.js +1 -0
- package/dist/cjs/jest.js.map +1 -1
- package/dist/cjs/utils/parse-image-candidate-string.js +38 -0
- package/dist/cjs/utils/parse-image-candidate-string.js.map +1 -0
- package/dist/cjs/vitest.js +1 -0
- package/dist/cjs/vitest.js.map +1 -1
- package/dist/esm/browser.js +1 -0
- package/dist/esm/browser.js.map +1 -1
- package/dist/esm/core.js +13 -6
- package/dist/esm/core.js.map +1 -1
- package/dist/esm/elements.js +11 -2
- package/dist/esm/elements.js.map +1 -1
- package/dist/esm/html-validate.js +1 -0
- package/dist/esm/html-validate.js.map +1 -1
- package/dist/esm/html5.js +1 -0
- package/dist/esm/html5.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/jest-worker.js +1 -0
- package/dist/esm/jest-worker.js.map +1 -1
- package/dist/esm/jest.js +1 -0
- package/dist/esm/jest.js.map +1 -1
- package/dist/esm/utils/parse-image-candidate-string.js +36 -0
- package/dist/esm/utils/parse-image-candidate-string.js.map +1 -0
- package/dist/esm/vitest.js +1 -0
- package/dist/esm/vitest.js.map +1 -1
- package/dist/schema/elements.json +6 -0
- package/dist/types/browser.d.ts +9 -0
- package/dist/types/index.d.ts +9 -0
- package/package.json +2 -2
package/dist/cjs/elements.js
CHANGED
|
@@ -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;
|
|
@@ -535,6 +539,7 @@ var html5 = {
|
|
|
535
539
|
permittedContent: ["@flow"]
|
|
536
540
|
},
|
|
537
541
|
body: {
|
|
542
|
+
optionalEnd: true,
|
|
538
543
|
permittedContent: ["@flow"],
|
|
539
544
|
permittedParent: ["html"],
|
|
540
545
|
attributes: {
|
|
@@ -1105,6 +1110,8 @@ var html5 = {
|
|
|
1105
1110
|
}
|
|
1106
1111
|
},
|
|
1107
1112
|
head: {
|
|
1113
|
+
implicitClosed: ["body"],
|
|
1114
|
+
optionalEnd: true,
|
|
1108
1115
|
permittedContent: ["base?", "title?", "@meta"],
|
|
1109
1116
|
permittedParent: ["html"],
|
|
1110
1117
|
requiredContent: ["title"],
|
|
@@ -1173,6 +1180,7 @@ var html5 = {
|
|
|
1173
1180
|
}
|
|
1174
1181
|
},
|
|
1175
1182
|
html: {
|
|
1183
|
+
optionalEnd: true,
|
|
1176
1184
|
permittedContent: ["head?", "body?"],
|
|
1177
1185
|
permittedOrder: ["head", "body"],
|
|
1178
1186
|
requiredContent: ["head", "body"],
|
|
@@ -1702,8 +1710,9 @@ var html5 = {
|
|
|
1702
1710
|
return null;
|
|
1703
1711
|
},
|
|
1704
1712
|
required(node) {
|
|
1705
|
-
|
|
1706
|
-
|
|
1713
|
+
const imagesrcset = node.getAttribute("imagesrcset");
|
|
1714
|
+
if (typeof imagesrcset === "string" && hasWidthDescriptor(imagesrcset)) {
|
|
1715
|
+
return `{{ tagName }} requires "{{ attr }}" attribute when "imagesrcset" uses width descriptors`;
|
|
1707
1716
|
}
|
|
1708
1717
|
return false;
|
|
1709
1718
|
}
|