html-validate 10.9.0 → 10.11.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 +10 -10
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/core-browser.js +1 -1
- package/dist/cjs/core-browser.js.map +1 -1
- package/dist/cjs/core-nodejs.js +1 -1
- package/dist/cjs/core-nodejs.js.map +1 -1
- package/dist/cjs/core.js +286 -189
- package/dist/cjs/core.js.map +1 -1
- package/dist/cjs/elements.js +24 -16
- package/dist/cjs/elements.js.map +1 -1
- package/dist/cjs/html-validate.js +23 -15
- package/dist/cjs/html-validate.js.map +1 -1
- package/dist/cjs/matchers-jestonly.js +2 -2
- package/dist/cjs/matchers-jestonly.js.map +1 -1
- package/dist/cjs/tsdoc-metadata.json +1 -1
- package/dist/cjs/utils/natural-join.js +1 -1
- package/dist/cjs/utils/natural-join.js.map +1 -1
- package/dist/esm/cli.js +10 -10
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/core-browser.js +1 -1
- package/dist/esm/core-browser.js.map +1 -1
- package/dist/esm/core-nodejs.js +1 -1
- package/dist/esm/core-nodejs.js.map +1 -1
- package/dist/esm/core.js +286 -189
- package/dist/esm/core.js.map +1 -1
- package/dist/esm/elements.js +24 -16
- package/dist/esm/elements.js.map +1 -1
- package/dist/esm/html-validate.js +24 -16
- package/dist/esm/html-validate.js.map +1 -1
- package/dist/esm/matchers-jestonly.js +2 -2
- package/dist/esm/matchers-jestonly.js.map +1 -1
- package/dist/esm/utils/natural-join.js +1 -1
- package/dist/esm/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 +24 -9
- package/dist/types/index.d.ts +24 -9
- package/package.json +3 -3
package/dist/cjs/elements.js
CHANGED
|
@@ -47,7 +47,7 @@ function linkBodyOk(node) {
|
|
|
47
47
|
if (typeof rel !== "string") {
|
|
48
48
|
return false;
|
|
49
49
|
}
|
|
50
|
-
const bodyOk = [
|
|
50
|
+
const bodyOk = /* @__PURE__ */ new Set([
|
|
51
51
|
"dns-prefetch",
|
|
52
52
|
"modulepreload",
|
|
53
53
|
"pingback",
|
|
@@ -55,9 +55,9 @@ function linkBodyOk(node) {
|
|
|
55
55
|
"prefetch",
|
|
56
56
|
"preload",
|
|
57
57
|
"stylesheet"
|
|
58
|
-
];
|
|
58
|
+
]);
|
|
59
59
|
const tokens = rel.toLowerCase().split(/\s+/);
|
|
60
|
-
return tokens.some((keyword) => bodyOk.
|
|
60
|
+
return tokens.some((keyword) => bodyOk.has(keyword));
|
|
61
61
|
}
|
|
62
62
|
var html5 = {
|
|
63
63
|
"*": {
|
|
@@ -152,7 +152,7 @@ var html5 = {
|
|
|
152
152
|
if (!attr || attr === "" || typeof attr !== "string") {
|
|
153
153
|
return null;
|
|
154
154
|
}
|
|
155
|
-
const disallowed = [
|
|
155
|
+
const disallowed = /* @__PURE__ */ new Set([
|
|
156
156
|
/* whatwg */
|
|
157
157
|
"canonical",
|
|
158
158
|
"dns-prefetch",
|
|
@@ -199,10 +199,10 @@ var html5 = {
|
|
|
199
199
|
"stylesheet/less",
|
|
200
200
|
"token_endpoint",
|
|
201
201
|
"yandex-tableau-widget"
|
|
202
|
-
];
|
|
202
|
+
]);
|
|
203
203
|
const tokens = attr.toLowerCase().split(/\s+/);
|
|
204
204
|
for (const keyword of tokens) {
|
|
205
|
-
if (disallowed.
|
|
205
|
+
if (disallowed.has(keyword)) {
|
|
206
206
|
return `<a> does not allow rel="${keyword}"`;
|
|
207
207
|
}
|
|
208
208
|
if (keyword.startsWith("dcterms.")) {
|
|
@@ -326,7 +326,7 @@ var html5 = {
|
|
|
326
326
|
if (!attr || attr === "" || typeof attr !== "string") {
|
|
327
327
|
return null;
|
|
328
328
|
}
|
|
329
|
-
const disallowed = [
|
|
329
|
+
const disallowed = /* @__PURE__ */ new Set([
|
|
330
330
|
/* whatwg */
|
|
331
331
|
"canonical",
|
|
332
332
|
"dns-prefetch",
|
|
@@ -373,10 +373,10 @@ var html5 = {
|
|
|
373
373
|
"stylesheet/less",
|
|
374
374
|
"token_endpoint",
|
|
375
375
|
"yandex-tableau-widget"
|
|
376
|
-
];
|
|
376
|
+
]);
|
|
377
377
|
const tokens = attr.toLowerCase().split(/\s+/);
|
|
378
378
|
for (const keyword of tokens) {
|
|
379
|
-
if (disallowed.
|
|
379
|
+
if (disallowed.has(keyword)) {
|
|
380
380
|
return `<area> does not allow rel="${keyword}"`;
|
|
381
381
|
}
|
|
382
382
|
if (keyword.startsWith("dcterms.")) {
|
|
@@ -603,6 +603,10 @@ var html5 = {
|
|
|
603
603
|
listed: true
|
|
604
604
|
},
|
|
605
605
|
labelable: true,
|
|
606
|
+
submitButton(node) {
|
|
607
|
+
const type = node.getAttribute("type");
|
|
608
|
+
return !type || type === "submit";
|
|
609
|
+
},
|
|
606
610
|
attributes: {
|
|
607
611
|
autofocus: {
|
|
608
612
|
boolean: true
|
|
@@ -958,7 +962,7 @@ var html5 = {
|
|
|
958
962
|
if (!attr || attr === "" || typeof attr !== "string") {
|
|
959
963
|
return null;
|
|
960
964
|
}
|
|
961
|
-
const disallowed = [
|
|
965
|
+
const disallowed = /* @__PURE__ */ new Set([
|
|
962
966
|
/* whatwg */
|
|
963
967
|
"alternate",
|
|
964
968
|
"canonical",
|
|
@@ -977,10 +981,10 @@ var html5 = {
|
|
|
977
981
|
"stylesheet",
|
|
978
982
|
"tag",
|
|
979
983
|
"terms-of-service"
|
|
980
|
-
];
|
|
984
|
+
]);
|
|
981
985
|
const tokens = attr.toLowerCase().split(/\s+/);
|
|
982
986
|
for (const keyword of tokens) {
|
|
983
|
-
if (disallowed.
|
|
987
|
+
if (disallowed.has(keyword)) {
|
|
984
988
|
return `<form> does not allow rel="${keyword}"`;
|
|
985
989
|
}
|
|
986
990
|
}
|
|
@@ -1350,6 +1354,10 @@ var html5 = {
|
|
|
1350
1354
|
labelable(node) {
|
|
1351
1355
|
return node.getAttribute("type") !== "hidden";
|
|
1352
1356
|
},
|
|
1357
|
+
submitButton(node) {
|
|
1358
|
+
const type = node.getAttribute("type");
|
|
1359
|
+
return type === "submit" || type === "image";
|
|
1360
|
+
},
|
|
1353
1361
|
attributes: {
|
|
1354
1362
|
align: {
|
|
1355
1363
|
deprecated: true
|
|
@@ -1715,7 +1723,7 @@ var html5 = {
|
|
|
1715
1723
|
if (!attr || attr === "" || typeof attr !== "string") {
|
|
1716
1724
|
return null;
|
|
1717
1725
|
}
|
|
1718
|
-
const disallowed = [
|
|
1726
|
+
const disallowed = /* @__PURE__ */ new Set([
|
|
1719
1727
|
/* whatwg */
|
|
1720
1728
|
"bookmark",
|
|
1721
1729
|
"external",
|
|
@@ -1729,10 +1737,10 @@ var html5 = {
|
|
|
1729
1737
|
"entry-content",
|
|
1730
1738
|
"lightbox",
|
|
1731
1739
|
"lightvideo"
|
|
1732
|
-
];
|
|
1740
|
+
]);
|
|
1733
1741
|
const tokens = attr.toLowerCase().split(/\s+/);
|
|
1734
1742
|
for (const keyword of tokens) {
|
|
1735
|
-
if (disallowed.
|
|
1743
|
+
if (disallowed.has(keyword)) {
|
|
1736
1744
|
return `<link> does not allow rel="${keyword}"`;
|
|
1737
1745
|
}
|
|
1738
1746
|
}
|
|
@@ -2323,7 +2331,7 @@ var html5 = {
|
|
|
2323
2331
|
}
|
|
2324
2332
|
const size = node.getAttribute("size");
|
|
2325
2333
|
if (typeof size === "string") {
|
|
2326
|
-
const parsed = parseInt(size, 10);
|
|
2334
|
+
const parsed = Number.parseInt(size, 10);
|
|
2327
2335
|
if (parsed > 1) {
|
|
2328
2336
|
return "listbox";
|
|
2329
2337
|
}
|