html-validate 8.2.0 → 8.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"meta-helper.js","sources":["../../../src/meta/define-metadata.ts","../../../src/meta/helper.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta-helper.js","sources":["../../src/meta/define-metadata.ts","../../src/meta/helper.ts"],"sourcesContent":["/**\n * Helper function to assist IDE with completion and type-checking.\n *\n * @public\n */\nexport function defineMetadata(metatable) {\n return metatable;\n}\n//# sourceMappingURL=define-metadata.js.map","import { naturalJoin } from \"../utils/natural-join\";\n/**\n * @internal\n */\nexport function allowedIfAttributeIsPresent(...attr) {\n return (node) => {\n if (attr.some((it) => node.hasAttribute(it))) {\n return null;\n }\n const expected = naturalJoin(attr.map((it) => `\"${it}\"`));\n return `requires ${expected} attribute to be present`;\n };\n}\n/**\n * @internal\n */\nexport function allowedIfAttributeIsAbsent(...attr) {\n return (node) => {\n const present = attr.filter((it) => node.hasAttribute(it));\n if (present.length === 0) {\n return null;\n }\n const expected = naturalJoin(present.map((it) => `\"${it}\"`));\n return `cannot be used at the same time as ${expected}`;\n };\n}\n/**\n * @internal\n */\nexport function allowedIfAttributeHasValue(key, expectedValue, { defaultValue } = {}) {\n return (node) => {\n const attr = node.getAttribute(key);\n if (attr && typeof attr !== \"string\") {\n return null;\n }\n const actualValue = attr ? attr : defaultValue;\n if (actualValue && expectedValue.includes(actualValue.toLocaleLowerCase())) {\n return null;\n }\n const expected = naturalJoin(expectedValue.map((it) => `\"${it}\"`));\n return `\"${key}\" attribute must be ${expected}`;\n };\n}\n/**\n * @internal\n */\nexport function allowedIfParentIsPresent(...tags) {\n return (node) => {\n const match = tags.some((it) => node.closest(it));\n if (match) {\n return null;\n }\n const expected = naturalJoin(tags.map((it) => `<${it}>`));\n return `requires ${expected} as parent`;\n };\n}\n/**\n * @public\n */\nexport const metadataHelper = {\n allowedIfAttributeIsPresent,\n allowedIfAttributeIsAbsent,\n allowedIfAttributeHasValue,\n allowedIfParentIsPresent,\n};\n//# sourceMappingURL=helper.js.map"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.js","sources":["../../../src/transform/test-utils.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAQA;;;;;;;AAOG;SACa,aAAa,CAC5B,EAAe,EACf,QAAgB,EAChB,KAA8D,EAAA;IAE9D,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAChD,IAAA,MAAM,MAAM,GAAW;QACtB,QAAQ;AACR,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,MAAM,EAAE,CAAC;QACT,IAAI;KACJ,CAAC;IACF,OAAO,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;AAOG;SACa,eAAe,CAC9B,EAAe,EACf,IAAY,EACZ,KAA8D,EAAA;AAE9D,IAAA,MAAM,MAAM,GAAW;AACtB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,IAAI,EAAE,CAAC;AACP,QAAA,MAAM,EAAE,CAAC;AACT,QAAA,MAAM,EAAE,CAAC;QACT,IAAI;KACJ,CAAC;IACF,OAAO,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;AAOG;SACa,eAAe,CAC9B,EAAe,EACf,MAAc,EACd,KAA8D,EAAA;IAE9D,MAAM,YAAY,GAAG,CAAC,MAAc,KAAuB,CAAC,MAAM,CAAC,CAAC;AACpE,IAAA,MAAM,OAAO,GAAqB;AACjC,QAAA,QAAQ,6BAA6B,MAAM,IAAI;AAC/C,QAAA,KAAK,EAAE,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,YAAY;KAC5B,CAAC;AACF,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7C;;;;"}
1
+ {"version":3,"file":"test-utils.js","sources":["../../src/transform/test-utils.ts"],"sourcesContent":["import fs from \"fs\";\n/**\n * Helper function to call a transformer function in test-cases.\n *\n * @public\n * @param fn - Transformer function to call.\n * @param filename - Filename to read data from. Must be readable.\n * @param chain - If set this function is called when chaining transformers. Default is pass-thru.\n */\nexport function transformFile(fn, filename, chain) {\n const data = fs.readFileSync(filename, \"utf-8\");\n const source = {\n filename,\n line: 1,\n column: 1,\n offset: 0,\n data,\n };\n return transformSource(fn, source, chain);\n}\n/**\n * Helper function to call a transformer function in test-cases.\n *\n * @public\n * @param fn - Transformer function to call.\n * @param data - String to transform.\n * @param chain - If set this function is called when chaining transformers. Default is pass-thru.\n */\nexport function transformString(fn, data, chain) {\n const source = {\n filename: \"inline\",\n line: 1,\n column: 1,\n offset: 0,\n data,\n };\n return transformSource(fn, source, chain);\n}\n/**\n * Helper function to call a transformer function in test-cases.\n *\n * @public\n * @param fn - Transformer function to call.\n * @param data - Source to transform.\n * @param chain - If set this function is called when chaining transformers. Default is pass-thru.\n */\nexport function transformSource(fn, source, chain) {\n const defaultChain = (source) => [source];\n const context = {\n hasChain: /* istanbul ignore next */ () => true,\n chain: chain !== null && chain !== void 0 ? chain : defaultChain,\n };\n return Array.from(fn.call(context, source));\n}\n//# sourceMappingURL=test-utils.js.map"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;AACnD,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACpD,IAAI,MAAM,MAAM,GAAG;AACnB,QAAQ,QAAQ;AAChB,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,MAAM,EAAE,CAAC;AACjB,QAAQ,MAAM,EAAE,CAAC;AACjB,QAAQ,IAAI;AACZ,KAAK,CAAC;AACN,IAAI,OAAO,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,eAAe,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;AACjD,IAAI,MAAM,MAAM,GAAG;AACnB,QAAQ,QAAQ,EAAE,QAAQ;AAC1B,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,MAAM,EAAE,CAAC;AACjB,QAAQ,MAAM,EAAE,CAAC;AACjB,QAAQ,IAAI;AACZ,KAAK,CAAC;AACN,IAAI,OAAO,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;AACnD,IAAI,MAAM,YAAY,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9C,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,QAAQ,6BAA6B,MAAM,IAAI;AACvD,QAAQ,KAAK,EAAE,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,YAAY;AACxE,KAAK,CAAC;AACN,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAChD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"natural-join.js","sources":["../../../../src/utils/natural-join.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;AAYG;SACa,WAAW,CAAC,MAAgB,EAAE,cAAsB,IAAI,EAAA;IACvE,QAAQ,MAAM,CAAC,MAAM;AACpB,QAAA,KAAK,CAAC;AACL,YAAA,OAAO,EAAE,CAAC;AACX,QAAA,KAAK,CAAC;AACL,YAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AAClB,QAAA,KAAK,CAAC;AACL,YAAA,OAAO,CAAG,EAAA,MAAM,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,EAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,QAAA;AACC,YAAA,OAAO,CAAG,EAAA,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAClF,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"natural-join.js","sources":["../../../src/utils/natural-join.ts"],"sourcesContent":["/**\n * Joins a list of words into natural language.\n *\n * - `[\"foo\"]` becomes `\"foo\"`\n * - `[\"foo\", \"bar\"]` becomes `\"foo or bar\"`\n * - `[\"foo\", \"bar\", \"baz\"]` becomes `\"foo, bar or baz\"`\n * - and so on...\n *\n * @internal\n * @param values - List of words to join\n * @param conjunction - Conjunction for the last element.\n * @returns String with the words naturally joined with a conjunction.\n */\nexport function naturalJoin(values, conjunction = \"or\") {\n switch (values.length) {\n case 0:\n return \"\";\n case 1:\n return values[0];\n case 2:\n return `${values[0]} ${conjunction} ${values[1]}`;\n default:\n return `${values.slice(0, -1).join(\", \")} ${conjunction} ${values.slice(-1)[0]}`;\n }\n}\n//# sourceMappingURL=natural-join.js.map"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE;AACxD,IAAI,QAAQ,MAAM,CAAC,MAAM;AACzB,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,EAAE,CAAC;AACtB,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7B,QAAQ,KAAK,CAAC;AACd,YAAY,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,QAAQ;AACR,YAAY,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,KAAK;AACL;;;;"}
@@ -90,6 +90,12 @@
90
90
  "items": { "type": "string" }
91
91
  },
92
92
 
93
+ "implicitRole": {
94
+ "title": "Implicit ARIA role for this element",
95
+ "description": "Some elements have implicit ARIA roles.",
96
+ "function": true
97
+ },
98
+
93
99
  "scriptSupporting": {
94
100
  "title": "Mark element as script-supporting",
95
101
  "description": "Script-supporting elements are elements which can be inserted where othersise not permitted to assist in templating",
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.36.3"
8
+ "packageVersion": "7.36.4"
9
9
  }
10
10
  ]
11
11
  }
@@ -1371,6 +1371,7 @@ export declare interface MetaData {
1371
1371
  /** Mark element as a form-associated element */
1372
1372
  formAssociated?: Partial<FormAssociated>;
1373
1373
  labelable?: boolean | PropertyExpression;
1374
+ implicitRole?: MetaImplicitRoleCallback;
1374
1375
  deprecatedAttributes?: string[];
1375
1376
  requiredAttributes?: string[];
1376
1377
  attributes?: PermittedAttribute;
@@ -1421,10 +1422,22 @@ export declare type MetaDataTable = Record<string, MetaData>;
1421
1422
  export declare interface MetaElement extends Omit<MetaData, "deprecatedAttributes" | "requiredAttributes"> {
1422
1423
  tagName: string;
1423
1424
  formAssociated?: FormAssociated;
1425
+ implicitRole: MetaImplicitRoleCallback;
1424
1426
  attributes: Record<string, MetaAttribute>;
1425
1427
  textContent?: TextContent;
1426
1428
  }
1427
1429
 
1430
+ /**
1431
+ * Callback for the `implicitRole` property of `MetaData`. It takes a node and
1432
+ * returns the implicit ARIA role, if any.
1433
+ *
1434
+ * @public
1435
+ * @since 8.4.0
1436
+ * @param node - The node to get the role from.
1437
+ * @returns Implicit ARIA role or null if there is no implicit role.
1438
+ */
1439
+ export declare type MetaImplicitRoleCallback = (node: HtmlElementLike) => string | null;
1440
+
1428
1441
  /**
1429
1442
  * Properties listed here can be used to reverse search elements with the given
1430
1443
  * property enabled. See [[MetaTable.getTagsWithProperty]].
@@ -1573,6 +1573,7 @@ export declare interface MetaData {
1573
1573
  /** Mark element as a form-associated element */
1574
1574
  formAssociated?: Partial<FormAssociated>;
1575
1575
  labelable?: boolean | PropertyExpression;
1576
+ implicitRole?: MetaImplicitRoleCallback;
1576
1577
  deprecatedAttributes?: string[];
1577
1578
  requiredAttributes?: string[];
1578
1579
  attributes?: PermittedAttribute;
@@ -1623,10 +1624,22 @@ export declare type MetaDataTable = Record<string, MetaData>;
1623
1624
  export declare interface MetaElement extends Omit<MetaData, "deprecatedAttributes" | "requiredAttributes"> {
1624
1625
  tagName: string;
1625
1626
  formAssociated?: FormAssociated;
1627
+ implicitRole: MetaImplicitRoleCallback;
1626
1628
  attributes: Record<string, MetaAttribute>;
1627
1629
  textContent?: TextContent;
1628
1630
  }
1629
1631
 
1632
+ /**
1633
+ * Callback for the `implicitRole` property of `MetaData`. It takes a node and
1634
+ * returns the implicit ARIA role, if any.
1635
+ *
1636
+ * @public
1637
+ * @since 8.4.0
1638
+ * @param node - The node to get the role from.
1639
+ * @returns Implicit ARIA role or null if there is no implicit role.
1640
+ */
1641
+ export declare type MetaImplicitRoleCallback = (node: HtmlElementLike) => string | null;
1642
+
1630
1643
  /**
1631
1644
  * Properties listed here can be used to reverse search elements with the given
1632
1645
  * property enabled. See [[MetaTable.getTagsWithProperty]].
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "html-validate",
3
- "version": "8.2.0",
3
+ "version": "8.4.0",
4
4
  "description": "Offline html5 validator",
5
5
  "keywords": [
6
6
  "html",
@@ -187,42 +187,42 @@
187
187
  "semver": "^7.0.0"
188
188
  },
189
189
  "devDependencies": {
190
- "@html-validate/commitlint-config": "3.0.19",
191
- "@html-validate/eslint-config": "5.10.6",
190
+ "@html-validate/commitlint-config": "3.0.20",
191
+ "@html-validate/eslint-config": "5.10.9",
192
192
  "@html-validate/eslint-config-jest": "5.10.0",
193
- "@html-validate/eslint-config-typescript": "5.10.6",
194
- "@html-validate/eslint-config-typescript-typeinfo": "5.10.6",
193
+ "@html-validate/eslint-config-typescript": "5.10.9",
194
+ "@html-validate/eslint-config-typescript-typeinfo": "5.10.9",
195
195
  "@html-validate/jest-config": "3.7.7",
196
- "@html-validate/prettier-config": "2.4.3",
197
- "@html-validate/release-scripts": "4.1.6",
198
- "@microsoft/api-extractor": "7.36.3",
196
+ "@html-validate/prettier-config": "2.4.7",
197
+ "@html-validate/release-scripts": "4.1.10",
198
+ "@microsoft/api-extractor": "7.36.4",
199
199
  "@rollup/plugin-json": "6.0.0",
200
- "@rollup/plugin-node-resolve": "15.1.0",
200
+ "@rollup/plugin-node-resolve": "15.2.1",
201
201
  "@rollup/plugin-replace": "5.0.2",
202
- "@rollup/plugin-typescript": "11.1.2",
202
+ "@rollup/plugin-typescript": "11.1.3",
203
203
  "@rollup/plugin-virtual": "3.0.1",
204
204
  "@types/babar": "0.2.1",
205
205
  "@types/babel__code-frame": "7.0.3",
206
- "@types/jest": "29.5.3",
206
+ "@types/jest": "29.5.4",
207
207
  "@types/minimist": "1.2.2",
208
- "@types/node": "16.18.39",
208
+ "@types/node": "16.18.48",
209
209
  "@types/prompts": "2.4.4",
210
- "@types/semver": "7.5.0",
210
+ "@types/semver": "7.5.1",
211
211
  "@types/stream-buffers": "3.0.4",
212
212
  "babar": "0.2.3",
213
213
  "husky": "8.0.3",
214
214
  "is-ci": "3.0.1",
215
- "jest": "29.6.2",
216
- "jest-diff": "29.6.2",
217
- "jest-environment-jsdom": "29.6.2",
218
- "jest-snapshot": "29.6.2",
219
- "memfs": "4.2.0",
220
- "npm-pkg-lint": "2.0.0",
215
+ "jest": "29.6.4",
216
+ "jest-diff": "29.6.4",
217
+ "jest-environment-jsdom": "29.6.4",
218
+ "jest-snapshot": "29.6.4",
219
+ "memfs": "4.2.1",
220
+ "npm-pkg-lint": "2.0.2",
221
221
  "npm-run-all": "4.1.5",
222
- "rollup": "3.27.2",
222
+ "rollup": "3.29.0",
223
223
  "stream-buffers": "3.0.2",
224
224
  "ts-jest": "29.1.1",
225
- "typescript": "5.1.6"
225
+ "typescript": "5.2.2"
226
226
  },
227
227
  "peerDependencies": {
228
228
  "jest": "^27.1 || ^28.1.3 || ^29.0.3",