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/esm/elements.js
CHANGED
|
@@ -45,7 +45,7 @@ function linkBodyOk(node) {
|
|
|
45
45
|
if (typeof rel !== "string") {
|
|
46
46
|
return false;
|
|
47
47
|
}
|
|
48
|
-
const bodyOk = [
|
|
48
|
+
const bodyOk = /* @__PURE__ */ new Set([
|
|
49
49
|
"dns-prefetch",
|
|
50
50
|
"modulepreload",
|
|
51
51
|
"pingback",
|
|
@@ -53,9 +53,9 @@ function linkBodyOk(node) {
|
|
|
53
53
|
"prefetch",
|
|
54
54
|
"preload",
|
|
55
55
|
"stylesheet"
|
|
56
|
-
];
|
|
56
|
+
]);
|
|
57
57
|
const tokens = rel.toLowerCase().split(/\s+/);
|
|
58
|
-
return tokens.some((keyword) => bodyOk.
|
|
58
|
+
return tokens.some((keyword) => bodyOk.has(keyword));
|
|
59
59
|
}
|
|
60
60
|
var html5 = {
|
|
61
61
|
"*": {
|
|
@@ -150,7 +150,7 @@ var html5 = {
|
|
|
150
150
|
if (!attr || attr === "" || typeof attr !== "string") {
|
|
151
151
|
return null;
|
|
152
152
|
}
|
|
153
|
-
const disallowed = [
|
|
153
|
+
const disallowed = /* @__PURE__ */ new Set([
|
|
154
154
|
/* whatwg */
|
|
155
155
|
"canonical",
|
|
156
156
|
"dns-prefetch",
|
|
@@ -197,10 +197,10 @@ var html5 = {
|
|
|
197
197
|
"stylesheet/less",
|
|
198
198
|
"token_endpoint",
|
|
199
199
|
"yandex-tableau-widget"
|
|
200
|
-
];
|
|
200
|
+
]);
|
|
201
201
|
const tokens = attr.toLowerCase().split(/\s+/);
|
|
202
202
|
for (const keyword of tokens) {
|
|
203
|
-
if (disallowed.
|
|
203
|
+
if (disallowed.has(keyword)) {
|
|
204
204
|
return `<a> does not allow rel="${keyword}"`;
|
|
205
205
|
}
|
|
206
206
|
if (keyword.startsWith("dcterms.")) {
|
|
@@ -324,7 +324,7 @@ var html5 = {
|
|
|
324
324
|
if (!attr || attr === "" || typeof attr !== "string") {
|
|
325
325
|
return null;
|
|
326
326
|
}
|
|
327
|
-
const disallowed = [
|
|
327
|
+
const disallowed = /* @__PURE__ */ new Set([
|
|
328
328
|
/* whatwg */
|
|
329
329
|
"canonical",
|
|
330
330
|
"dns-prefetch",
|
|
@@ -371,10 +371,10 @@ var html5 = {
|
|
|
371
371
|
"stylesheet/less",
|
|
372
372
|
"token_endpoint",
|
|
373
373
|
"yandex-tableau-widget"
|
|
374
|
-
];
|
|
374
|
+
]);
|
|
375
375
|
const tokens = attr.toLowerCase().split(/\s+/);
|
|
376
376
|
for (const keyword of tokens) {
|
|
377
|
-
if (disallowed.
|
|
377
|
+
if (disallowed.has(keyword)) {
|
|
378
378
|
return `<area> does not allow rel="${keyword}"`;
|
|
379
379
|
}
|
|
380
380
|
if (keyword.startsWith("dcterms.")) {
|
|
@@ -601,6 +601,10 @@ var html5 = {
|
|
|
601
601
|
listed: true
|
|
602
602
|
},
|
|
603
603
|
labelable: true,
|
|
604
|
+
submitButton(node) {
|
|
605
|
+
const type = node.getAttribute("type");
|
|
606
|
+
return !type || type === "submit";
|
|
607
|
+
},
|
|
604
608
|
attributes: {
|
|
605
609
|
autofocus: {
|
|
606
610
|
boolean: true
|
|
@@ -956,7 +960,7 @@ var html5 = {
|
|
|
956
960
|
if (!attr || attr === "" || typeof attr !== "string") {
|
|
957
961
|
return null;
|
|
958
962
|
}
|
|
959
|
-
const disallowed = [
|
|
963
|
+
const disallowed = /* @__PURE__ */ new Set([
|
|
960
964
|
/* whatwg */
|
|
961
965
|
"alternate",
|
|
962
966
|
"canonical",
|
|
@@ -975,10 +979,10 @@ var html5 = {
|
|
|
975
979
|
"stylesheet",
|
|
976
980
|
"tag",
|
|
977
981
|
"terms-of-service"
|
|
978
|
-
];
|
|
982
|
+
]);
|
|
979
983
|
const tokens = attr.toLowerCase().split(/\s+/);
|
|
980
984
|
for (const keyword of tokens) {
|
|
981
|
-
if (disallowed.
|
|
985
|
+
if (disallowed.has(keyword)) {
|
|
982
986
|
return `<form> does not allow rel="${keyword}"`;
|
|
983
987
|
}
|
|
984
988
|
}
|
|
@@ -1348,6 +1352,10 @@ var html5 = {
|
|
|
1348
1352
|
labelable(node) {
|
|
1349
1353
|
return node.getAttribute("type") !== "hidden";
|
|
1350
1354
|
},
|
|
1355
|
+
submitButton(node) {
|
|
1356
|
+
const type = node.getAttribute("type");
|
|
1357
|
+
return type === "submit" || type === "image";
|
|
1358
|
+
},
|
|
1351
1359
|
attributes: {
|
|
1352
1360
|
align: {
|
|
1353
1361
|
deprecated: true
|
|
@@ -1713,7 +1721,7 @@ var html5 = {
|
|
|
1713
1721
|
if (!attr || attr === "" || typeof attr !== "string") {
|
|
1714
1722
|
return null;
|
|
1715
1723
|
}
|
|
1716
|
-
const disallowed = [
|
|
1724
|
+
const disallowed = /* @__PURE__ */ new Set([
|
|
1717
1725
|
/* whatwg */
|
|
1718
1726
|
"bookmark",
|
|
1719
1727
|
"external",
|
|
@@ -1727,10 +1735,10 @@ var html5 = {
|
|
|
1727
1735
|
"entry-content",
|
|
1728
1736
|
"lightbox",
|
|
1729
1737
|
"lightvideo"
|
|
1730
|
-
];
|
|
1738
|
+
]);
|
|
1731
1739
|
const tokens = attr.toLowerCase().split(/\s+/);
|
|
1732
1740
|
for (const keyword of tokens) {
|
|
1733
|
-
if (disallowed.
|
|
1741
|
+
if (disallowed.has(keyword)) {
|
|
1734
1742
|
return `<link> does not allow rel="${keyword}"`;
|
|
1735
1743
|
}
|
|
1736
1744
|
}
|
|
@@ -2321,7 +2329,7 @@ var html5 = {
|
|
|
2321
2329
|
}
|
|
2322
2330
|
const size = node.getAttribute("size");
|
|
2323
2331
|
if (typeof size === "string") {
|
|
2324
|
-
const parsed = parseInt(size, 10);
|
|
2332
|
+
const parsed = Number.parseInt(size, 10);
|
|
2325
2333
|
if (parsed > 1) {
|
|
2326
2334
|
return "listbox";
|
|
2327
2335
|
}
|