html-validate 11.4.0 → 11.5.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.
- package/dist/cjs/browser.js +1 -1
- package/dist/cjs/cli.js +7 -0
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/core-nodejs.js +212 -2
- package/dist/cjs/core-nodejs.js.map +1 -1
- package/dist/cjs/core.js +85 -30
- package/dist/cjs/core.js.map +1 -1
- package/dist/cjs/elements.js +429 -58
- package/dist/cjs/elements.js.map +1 -1
- package/dist/cjs/html-validate.js +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/jest-worker.js +1 -1
- package/dist/cjs/jest.js +1 -1
- package/dist/cjs/presets.d.ts +1 -0
- package/dist/cjs/presets.js +22 -0
- package/dist/cjs/presets.js.map +1 -0
- package/dist/cjs/vitest-matchers.js +20 -4
- package/dist/cjs/vitest-matchers.js.map +1 -1
- package/dist/cjs/vitest-worker.js +1 -1
- package/dist/cjs/vitest.js +1 -1
- package/dist/esm/browser.js +2 -2
- package/dist/esm/cli.js +10 -3
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/core-browser.js +1 -1
- package/dist/esm/core-nodejs.js +212 -4
- package/dist/esm/core-nodejs.js.map +1 -1
- package/dist/esm/core.js +78 -30
- package/dist/esm/core.js.map +1 -1
- package/dist/esm/elements.js +429 -58
- package/dist/esm/elements.js.map +1 -1
- package/dist/esm/html-validate.js +3 -3
- package/dist/esm/index.js +3 -3
- package/dist/esm/jest-matchers.js +2 -2
- package/dist/esm/jest-utils.js +2 -2
- package/dist/esm/jest-worker.js +2 -2
- package/dist/esm/jest.js +1 -1
- package/dist/esm/presets.d.ts +1 -0
- package/dist/esm/presets.js +11 -0
- package/dist/esm/presets.js.map +1 -0
- package/dist/esm/vitest-matchers.js +23 -7
- package/dist/esm/vitest-matchers.js.map +1 -1
- package/dist/esm/vitest-utils.js +2 -2
- package/dist/esm/vitest-worker.js +2 -2
- package/dist/esm/vitest.js +1 -1
- package/dist/schema/elements.json +14 -1
- package/dist/types/browser.d.ts +88 -4
- package/dist/types/index.d.ts +154 -4
- package/dist/types/presets.d.ts +8 -0
- package/package.json +7 -2
package/dist/cjs/core.js
CHANGED
|
@@ -4,16 +4,16 @@ var Ajv = require('ajv');
|
|
|
4
4
|
var elements = require('./elements.js');
|
|
5
5
|
var betterAjvErrors = require('@sidvind/better-ajv-errors');
|
|
6
6
|
var utils_naturalJoin = require('./utils/natural-join.js');
|
|
7
|
+
var semver = require('semver');
|
|
7
8
|
var kleur = require('kleur');
|
|
8
9
|
var stylish$1 = require('@html-validate/stylish');
|
|
9
|
-
var semver = require('semver');
|
|
10
10
|
|
|
11
11
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
12
|
|
|
13
13
|
var Ajv__default = /*#__PURE__*/_interopDefault(Ajv);
|
|
14
14
|
var betterAjvErrors__default = /*#__PURE__*/_interopDefault(betterAjvErrors);
|
|
15
|
-
var kleur__default = /*#__PURE__*/_interopDefault(kleur);
|
|
16
15
|
var semver__default = /*#__PURE__*/_interopDefault(semver);
|
|
16
|
+
var kleur__default = /*#__PURE__*/_interopDefault(kleur);
|
|
17
17
|
|
|
18
18
|
const $schema$2 = "http://json-schema.org/draft-06/schema#";
|
|
19
19
|
const $id$2 = "http://json-schema.org/draft-06/schema#";
|
|
@@ -898,6 +898,31 @@ const definitions = {
|
|
|
898
898
|
},
|
|
899
899
|
{
|
|
900
900
|
regexp: true
|
|
901
|
+
},
|
|
902
|
+
{
|
|
903
|
+
type: "object",
|
|
904
|
+
title: "Named regular expression",
|
|
905
|
+
required: [
|
|
906
|
+
"name",
|
|
907
|
+
"pattern"
|
|
908
|
+
],
|
|
909
|
+
additionalProperties: false,
|
|
910
|
+
properties: {
|
|
911
|
+
name: {
|
|
912
|
+
type: "string",
|
|
913
|
+
minLength: 1
|
|
914
|
+
},
|
|
915
|
+
pattern: {
|
|
916
|
+
anyOf: [
|
|
917
|
+
{
|
|
918
|
+
type: "string"
|
|
919
|
+
},
|
|
920
|
+
{
|
|
921
|
+
regexp: true
|
|
922
|
+
}
|
|
923
|
+
]
|
|
924
|
+
}
|
|
925
|
+
}
|
|
901
926
|
}
|
|
902
927
|
]
|
|
903
928
|
}
|
|
@@ -1500,10 +1525,7 @@ function expandProperties(node, entry) {
|
|
|
1500
1525
|
setMetaProperty(entry, "focusable", entry.focusable(node._adapter));
|
|
1501
1526
|
}
|
|
1502
1527
|
}
|
|
1503
|
-
function
|
|
1504
|
-
if (value instanceof RegExp) {
|
|
1505
|
-
return value;
|
|
1506
|
-
}
|
|
1528
|
+
function compileRegexString(value) {
|
|
1507
1529
|
const match = /^\/(.*(?=\/))\/(i?)$/.exec(value);
|
|
1508
1530
|
if (match) {
|
|
1509
1531
|
const [, expr, flags] = match;
|
|
@@ -1512,9 +1534,28 @@ function expandRegexValue(value) {
|
|
|
1512
1534
|
} else {
|
|
1513
1535
|
return new RegExp(`^${expr}$`, flags);
|
|
1514
1536
|
}
|
|
1515
|
-
} else {
|
|
1516
|
-
return value;
|
|
1517
1537
|
}
|
|
1538
|
+
return null;
|
|
1539
|
+
}
|
|
1540
|
+
function expandRegexValue(value) {
|
|
1541
|
+
if (value instanceof RegExp) {
|
|
1542
|
+
return { name: value.toString(), pattern: value };
|
|
1543
|
+
}
|
|
1544
|
+
if (typeof value === "object") {
|
|
1545
|
+
if (value.pattern instanceof RegExp) {
|
|
1546
|
+
return { name: value.name, pattern: value.pattern };
|
|
1547
|
+
}
|
|
1548
|
+
const compiled = compileRegexString(value.pattern);
|
|
1549
|
+
if (!compiled) {
|
|
1550
|
+
throw new Error(`Failed to create regular expression from "${value.pattern}"`);
|
|
1551
|
+
}
|
|
1552
|
+
return { name: value.name, pattern: compiled };
|
|
1553
|
+
}
|
|
1554
|
+
const regex = compileRegexString(value);
|
|
1555
|
+
if (regex) {
|
|
1556
|
+
return { name: regex.toString(), pattern: regex };
|
|
1557
|
+
}
|
|
1558
|
+
return value;
|
|
1518
1559
|
}
|
|
1519
1560
|
function expandRegex(entry) {
|
|
1520
1561
|
for (const [name, values] of Object.entries(entry.attributes)) {
|
|
@@ -3332,10 +3373,14 @@ class Validator {
|
|
|
3332
3373
|
}
|
|
3333
3374
|
const caseInsensitiveValue = value.toLowerCase();
|
|
3334
3375
|
return rule.enum.some((entry) => {
|
|
3335
|
-
if (entry
|
|
3376
|
+
if (typeof entry === "string") {
|
|
3377
|
+
return caseInsensitiveValue === entry;
|
|
3378
|
+
} else if (entry instanceof RegExp) {
|
|
3336
3379
|
return entry.test(value);
|
|
3380
|
+
} else if (entry.pattern instanceof RegExp) {
|
|
3381
|
+
return entry.pattern.test(value);
|
|
3337
3382
|
} else {
|
|
3338
|
-
|
|
3383
|
+
throw new TypeError("RegExp was not precompiled when it should have been");
|
|
3339
3384
|
}
|
|
3340
3385
|
});
|
|
3341
3386
|
}
|
|
@@ -5406,8 +5451,10 @@ class AttributeAllowedValues extends Rule {
|
|
|
5406
5451
|
const allowedList = allowed.enum.map((value2) => {
|
|
5407
5452
|
if (typeof value2 === "string") {
|
|
5408
5453
|
return `- \`"${value2}"\``;
|
|
5409
|
-
} else {
|
|
5454
|
+
} else if (value2 instanceof RegExp) {
|
|
5410
5455
|
return `- \`${value2.toString()}\``;
|
|
5456
|
+
} else {
|
|
5457
|
+
return `- ${value2.name}`;
|
|
5411
5458
|
}
|
|
5412
5459
|
});
|
|
5413
5460
|
docs.description = [
|
|
@@ -11882,7 +11929,8 @@ class ResolvedConfig {
|
|
|
11882
11929
|
/**
|
|
11883
11930
|
* @internal
|
|
11884
11931
|
*/
|
|
11885
|
-
constructor(
|
|
11932
|
+
constructor(options, original) {
|
|
11933
|
+
const { metaTable, plugins, rules, transformers } = options;
|
|
11886
11934
|
this.metaTable = metaTable;
|
|
11887
11935
|
this.plugins = plugins;
|
|
11888
11936
|
this.rules = rules;
|
|
@@ -12784,7 +12832,7 @@ class EventHandler {
|
|
|
12784
12832
|
}
|
|
12785
12833
|
|
|
12786
12834
|
const name = "html-validate";
|
|
12787
|
-
const version = "11.
|
|
12835
|
+
const version = "11.5.1";
|
|
12788
12836
|
const bugs = "https://gitlab.com/html-validate/html-validate/issues/new";
|
|
12789
12837
|
|
|
12790
12838
|
function freeze(src) {
|
|
@@ -14384,6 +14432,22 @@ function transformFilenameSync(resolvers, config, filename, fs) {
|
|
|
14384
14432
|
return transformSourceSync(resolvers, config, source, filename);
|
|
14385
14433
|
}
|
|
14386
14434
|
|
|
14435
|
+
function compatibilityCheckImpl(name, declared, options) {
|
|
14436
|
+
const { silent, version: current, logger } = options;
|
|
14437
|
+
const valid = semver__default.default.satisfies(current, declared);
|
|
14438
|
+
if (valid || silent) {
|
|
14439
|
+
return valid;
|
|
14440
|
+
}
|
|
14441
|
+
const text = [
|
|
14442
|
+
"-----------------------------------------------------------------------------------------------------",
|
|
14443
|
+
`${name} requires html-validate version "${declared}" but current installed version is ${current}`,
|
|
14444
|
+
"This is not a supported configuration. Please install a supported version before reporting bugs.",
|
|
14445
|
+
"-----------------------------------------------------------------------------------------------------"
|
|
14446
|
+
].join("\n");
|
|
14447
|
+
logger(text);
|
|
14448
|
+
return false;
|
|
14449
|
+
}
|
|
14450
|
+
|
|
14387
14451
|
const entities = {
|
|
14388
14452
|
">": ">",
|
|
14389
14453
|
"<": "<",
|
|
@@ -14675,22 +14739,6 @@ function getFormatter(name) {
|
|
|
14675
14739
|
return availableFormatters[name] ?? null;
|
|
14676
14740
|
}
|
|
14677
14741
|
|
|
14678
|
-
function compatibilityCheckImpl(name, declared, options) {
|
|
14679
|
-
const { silent, version: current, logger } = options;
|
|
14680
|
-
const valid = semver__default.default.satisfies(current, declared);
|
|
14681
|
-
if (valid || silent) {
|
|
14682
|
-
return valid;
|
|
14683
|
-
}
|
|
14684
|
-
const text = [
|
|
14685
|
-
"-----------------------------------------------------------------------------------------------------",
|
|
14686
|
-
`${name} requires html-validate version "${declared}" but current installed version is ${current}`,
|
|
14687
|
-
"This is not a supported configuration. Please install a supported version before reporting bugs.",
|
|
14688
|
-
"-----------------------------------------------------------------------------------------------------"
|
|
14689
|
-
].join("\n");
|
|
14690
|
-
logger(text);
|
|
14691
|
-
return false;
|
|
14692
|
-
}
|
|
14693
|
-
|
|
14694
14742
|
var ignore$1 = {exports: {}};
|
|
14695
14743
|
|
|
14696
14744
|
var hasRequiredIgnore;
|
|
@@ -15491,7 +15539,7 @@ var ignoreExports = /*@__PURE__*/ requireIgnore();
|
|
|
15491
15539
|
var ignore = /*@__PURE__*/getDefaultExportFromCjs(ignoreExports);
|
|
15492
15540
|
|
|
15493
15541
|
const engines = {
|
|
15494
|
-
node: "^22.
|
|
15542
|
+
node: "^22.22.0 || >= 24.8.0"
|
|
15495
15543
|
};
|
|
15496
15544
|
|
|
15497
15545
|
var jestWorkerPath = "./jest-worker.js";
|
|
@@ -15531,6 +15579,12 @@ exports.bugs = bugs;
|
|
|
15531
15579
|
exports.classifyNodeText = classifyNodeText;
|
|
15532
15580
|
exports.codeFrameColumns = codeFrameColumns;
|
|
15533
15581
|
exports.compatibilityCheckImpl = compatibilityCheckImpl;
|
|
15582
|
+
exports.config = config$5;
|
|
15583
|
+
exports.config$1 = config$4;
|
|
15584
|
+
exports.config$2 = config$3;
|
|
15585
|
+
exports.config$3 = config$2;
|
|
15586
|
+
exports.config$4 = config$1;
|
|
15587
|
+
exports.config$5 = config;
|
|
15534
15588
|
exports.configurationSchema = configurationSchema;
|
|
15535
15589
|
exports.deepmerge = deepmerge;
|
|
15536
15590
|
exports.defineConfig = defineConfig;
|
|
@@ -15547,6 +15601,7 @@ exports.jestWorkerPath = jestWorkerPath;
|
|
|
15547
15601
|
exports.keywordPatternMatcher = keywordPatternMatcher;
|
|
15548
15602
|
exports.name = name;
|
|
15549
15603
|
exports.normalizeSource = normalizeSource;
|
|
15604
|
+
exports.parseSeverity = parseSeverity;
|
|
15550
15605
|
exports.presets = presets;
|
|
15551
15606
|
exports.ruleExists = ruleExists;
|
|
15552
15607
|
exports.sliceLocation = sliceLocation;
|