@markuplint/rules 3.4.0 → 3.5.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.
Files changed (81) hide show
  1. package/lib/attr-check.d.ts +9 -19
  2. package/lib/attr-duplication/index.d.ts +1 -1
  3. package/lib/attr-value-quotes/index.d.ts +2 -2
  4. package/lib/case-sensitive-attr-name/index.d.ts +1 -1
  5. package/lib/case-sensitive-tag-name/index.d.ts +1 -1
  6. package/lib/character-reference/index.d.ts +1 -1
  7. package/lib/class-naming/index.d.ts +1 -1
  8. package/lib/create-message.d.ts +3 -12
  9. package/lib/deprecated-attr/index.d.ts +1 -1
  10. package/lib/deprecated-element/index.d.ts +1 -1
  11. package/lib/disallowed-element/index.d.ts +1 -1
  12. package/lib/doctype/index.d.ts +2 -2
  13. package/lib/end-tag/index.d.ts +1 -1
  14. package/lib/helpers.d.ts +18 -35
  15. package/lib/helpers.js +19 -5
  16. package/lib/id-duplication/index.d.ts +1 -1
  17. package/lib/index.d.ts +70 -3
  18. package/lib/index.js +2 -1
  19. package/lib/ineffective-attr/index.d.ts +1 -1
  20. package/lib/invalid-attr/index.d.ts +13 -17
  21. package/lib/label-has-control/index.d.ts +1 -1
  22. package/lib/landmark-roles/index.d.ts +3 -3
  23. package/lib/landmark-roles/index.js +6 -2
  24. package/lib/no-boolean-attr-value/index.d.ts +1 -1
  25. package/lib/no-default-value/index.d.ts +1 -1
  26. package/lib/no-empty-palpable-content/index.d.ts +3 -3
  27. package/lib/no-hard-code-id/index.d.ts +1 -1
  28. package/lib/no-refer-to-non-existent-id/index.d.ts +4 -7
  29. package/lib/no-use-event-handler-attr/index.d.ts +2 -2
  30. package/lib/permitted-contents/choice.d.ts +2 -7
  31. package/lib/permitted-contents/choice.js +3 -1
  32. package/lib/permitted-contents/complex-branch.d.ts +2 -7
  33. package/lib/permitted-contents/complex-branch.js +4 -2
  34. package/lib/permitted-contents/content-model.d.ts +1 -1
  35. package/lib/permitted-contents/content-model.js +6 -2
  36. package/lib/permitted-contents/count-pattern.d.ts +3 -17
  37. package/lib/permitted-contents/count-pattern.js +8 -2
  38. package/lib/permitted-contents/debug.browser.d.ts +15 -15
  39. package/lib/permitted-contents/debug.d.ts +1 -1
  40. package/lib/permitted-contents/index.d.ts +1 -1
  41. package/lib/permitted-contents/index.js +3 -1
  42. package/lib/permitted-contents/matches-selector.d.ts +2 -8
  43. package/lib/permitted-contents/matches-selector.js +3 -1
  44. package/lib/permitted-contents/order.d.ts +2 -7
  45. package/lib/permitted-contents/order.js +3 -1
  46. package/lib/permitted-contents/recursive-branch.d.ts +2 -7
  47. package/lib/permitted-contents/recursive-branch.js +5 -3
  48. package/lib/permitted-contents/represent-transparent-nodes.d.ts +3 -7
  49. package/lib/permitted-contents/represent-transparent-nodes.js +3 -1
  50. package/lib/permitted-contents/start.d.ts +2 -6
  51. package/lib/permitted-contents/start.js +3 -1
  52. package/lib/permitted-contents/transparent.d.ts +2 -2
  53. package/lib/permitted-contents/transparent.js +3 -1
  54. package/lib/permitted-contents/types.d.ts +31 -30
  55. package/lib/permitted-contents/utils.d.ts +44 -80
  56. package/lib/permitted-contents/utils.js +20 -6
  57. package/lib/placeholder-label-option/index.d.ts +1 -1
  58. package/lib/placeholder-label-option/index.js +6 -2
  59. package/lib/require-accessible-name/index.d.ts +2 -2
  60. package/lib/require-datetime/index.d.ts +2 -2
  61. package/lib/require-datetime/types.d.ts +2 -2
  62. package/lib/require-datetime/utils.d.ts +1 -1
  63. package/lib/required-attr/index.d.ts +3 -3
  64. package/lib/required-attr/index.js +1 -1
  65. package/lib/required-element/index.d.ts +2 -2
  66. package/lib/required-h1/index.d.ts +3 -3
  67. package/lib/use-list/index.d.ts +3 -3
  68. package/lib/wai-aria/checkings/default-value.d.ts +3 -7
  69. package/lib/wai-aria/checkings/deprecated-props.d.ts +4 -8
  70. package/lib/wai-aria/checkings/disallowed-prop.d.ts +4 -8
  71. package/lib/wai-aria/checkings/implicit-props.d.ts +4 -8
  72. package/lib/wai-aria/checkings/interaction-in-hidden.js +3 -1
  73. package/lib/wai-aria/checkings/no-global-prop.d.ts +3 -7
  74. package/lib/wai-aria/checkings/presentational-children.js +3 -1
  75. package/lib/wai-aria/checkings/required-owned-elements.d.ts +3 -7
  76. package/lib/wai-aria/checkings/required-owned-elements.js +4 -2
  77. package/lib/wai-aria/checkings/required-prop.d.ts +6 -12
  78. package/lib/wai-aria/checkings/value.d.ts +6 -10
  79. package/lib/wai-aria/index.d.ts +1 -1
  80. package/lib/wai-aria/types.d.ts +10 -10
  81. package/package.json +9 -8
@@ -1,5 +1,5 @@
1
1
  type Options = {
2
- ignoreHasMutableContents: boolean;
2
+ ignoreHasMutableContents: boolean;
3
3
  };
4
- declare const _default: import('@markuplint/ml-core').RuleSeed<string[], Options>;
4
+ declare const _default: Readonly<import("@markuplint/ml-core").RuleSeed<string[], Options>>;
5
5
  export default _default;
@@ -1,6 +1,6 @@
1
1
  export interface Options {
2
- 'expected-once': boolean;
3
- 'in-document-fragment': boolean;
2
+ 'expected-once': boolean;
3
+ 'in-document-fragment': boolean;
4
4
  }
5
- declare const _default: import('@markuplint/ml-core').RuleSeed<boolean, Options>;
5
+ declare const _default: Readonly<import("@markuplint/ml-core").RuleSeed<boolean, Options>>;
6
6
  export default _default;
@@ -1,6 +1,6 @@
1
- type Bullets = string[];
1
+ type Bullets = readonly string[];
2
2
  type Options = {
3
- spaceNeededBullets?: string[];
3
+ spaceNeededBullets?: string[];
4
4
  };
5
- declare const _default: import('@markuplint/ml-core').RuleSeed<Bullets, Options>;
5
+ declare const _default: Readonly<import("@markuplint/ml-core").RuleSeed<Bullets, Options>>;
6
6
  export default _default;
@@ -1,10 +1,6 @@
1
1
  import type { Options } from '../types';
2
2
  import type { AttrChecker } from '@markuplint/ml-core';
3
3
  import type { ARIAProperty } from '@markuplint/ml-spec';
4
- export declare const checkingDefaultValue: AttrChecker<
5
- boolean,
6
- Options,
7
- {
8
- propSpecs: ARIAProperty[];
9
- }
10
- >;
4
+ export declare const checkingDefaultValue: AttrChecker<boolean, Options, {
5
+ propSpecs: readonly ARIAProperty[];
6
+ }>;
@@ -1,11 +1,7 @@
1
1
  import type { Options } from '../types';
2
2
  import type { AttrChecker } from '@markuplint/ml-core';
3
3
  import type { ARIAProperty, ARIARole } from '@markuplint/ml-spec';
4
- export declare const checkingDeprecatedProps: AttrChecker<
5
- boolean,
6
- Options,
7
- {
8
- role: ARIARole | null;
9
- propSpecs: ARIAProperty[];
10
- }
11
- >;
4
+ export declare const checkingDeprecatedProps: AttrChecker<boolean, Options, {
5
+ role: ARIARole | null;
6
+ propSpecs: readonly ARIAProperty[];
7
+ }>;
@@ -1,11 +1,7 @@
1
1
  import type { Options } from '../types';
2
2
  import type { AttrChecker } from '@markuplint/ml-core';
3
3
  import type { ARIAProperty, ARIARole } from '@markuplint/ml-spec';
4
- export declare const checkingDisallowedProp: AttrChecker<
5
- boolean,
6
- Options,
7
- {
8
- role: ARIARole | null;
9
- propSpecs: ARIAProperty[];
10
- }
11
- >;
4
+ export declare const checkingDisallowedProp: AttrChecker<boolean, Options, {
5
+ role: ARIARole | null;
6
+ propSpecs: readonly ARIAProperty[];
7
+ }>;
@@ -1,11 +1,7 @@
1
1
  import type { Options } from '../types';
2
2
  import type { AttrChecker } from '@markuplint/ml-core';
3
3
  import type { ARIAProperty, Attribute } from '@markuplint/ml-spec';
4
- export declare const checkingImplicitProps: AttrChecker<
5
- boolean,
6
- Options,
7
- {
8
- propSpecs: ARIAProperty[];
9
- attrSpecs: Attribute[] | null;
10
- }
11
- >;
4
+ export declare const checkingImplicitProps: AttrChecker<boolean, Options, {
5
+ propSpecs: readonly ARIAProperty[];
6
+ attrSpecs: readonly Attribute[] | null;
7
+ }>;
@@ -34,7 +34,9 @@ const checkingInteractionInHidden = ({ el }) => t => {
34
34
  };
35
35
  };
36
36
  exports.checkingInteractionInHidden = checkingInteractionInHidden;
37
- function getClosestAriaHidden(el) {
37
+ function getClosestAriaHidden(
38
+ // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
39
+ el) {
38
40
  let current = el;
39
41
  while (current) {
40
42
  const ariaHidden = current.getAttributeNode('aria-hidden');
@@ -1,10 +1,6 @@
1
1
  import type { Options } from '../types';
2
2
  import type { AttrChecker } from '@markuplint/ml-core';
3
3
  import type { ARIAProperty } from '@markuplint/ml-spec';
4
- export declare const checkingNoGlobalProp: AttrChecker<
5
- boolean,
6
- Options,
7
- {
8
- propSpecs: ARIAProperty[];
9
- }
10
- >;
4
+ export declare const checkingNoGlobalProp: AttrChecker<boolean, Options, {
5
+ propSpecs: readonly ARIAProperty[];
6
+ }>;
@@ -46,7 +46,9 @@ const checkingPresentationalChildren = ({ el }) => t => {
46
46
  };
47
47
  };
48
48
  exports.checkingPresentationalChildren = checkingPresentationalChildren;
49
- function getAncestorHasPresentationalChildren(el) {
49
+ function getAncestorHasPresentationalChildren(
50
+ // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
51
+ el) {
50
52
  var _a;
51
53
  let current = el.parentElement;
52
54
  while (current) {
@@ -6,10 +6,6 @@ import type { ARIARole } from '@markuplint/ml-spec';
6
6
  *
7
7
  * @see https://w3c.github.io/aria/#mustContain
8
8
  */
9
- export declare const checkingRequiredOwnedElements: ElementChecker<
10
- boolean,
11
- Options,
12
- {
13
- role?: ARIARole | null;
14
- }
15
- >;
9
+ export declare const checkingRequiredOwnedElements: ElementChecker<boolean, Options, {
10
+ role?: ARIARole | null;
11
+ }>;
@@ -34,7 +34,7 @@ const checkingRequiredOwnedElements = ({ el, role }) => t => {
34
34
  return [child, 'BUSY'];
35
35
  }
36
36
  const computedChild = (0, ml_spec_1.getComputedRole)(child.ownerMLDocument.specs, child, child.rule.options.version);
37
- if (role.requiredOwnedElements.some(ownedRole => (0, ml_spec_1.isRequiredOwnedElement)(computedChild, ownedRole, child.ownerMLDocument.specs, child.rule.options.version))) {
37
+ if (role.requiredOwnedElements.some(ownedRole => (0, ml_spec_1.isRequiredOwnedElement)(computedChild.el, computedChild.role, ownedRole, child.ownerMLDocument.specs, child.rule.options.version))) {
38
38
  return [child, 'REQUIRED'];
39
39
  }
40
40
  return [child, 'OTHER'];
@@ -91,7 +91,9 @@ const checkingRequiredOwnedElements = ({ el, role }) => t => {
91
91
  };
92
92
  };
93
93
  exports.checkingRequiredOwnedElements = checkingRequiredOwnedElements;
94
- function mayBeBeforeCreated(el) {
94
+ function mayBeBeforeCreated(
95
+ // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
96
+ el) {
95
97
  if (el.isEmpty()) {
96
98
  return true;
97
99
  }
@@ -1,15 +1,9 @@
1
1
  import type { Options } from '../types';
2
2
  import type { ElementChecker } from '@markuplint/ml-core';
3
3
  import type { ARIAProperty, ARIARole } from '@markuplint/ml-spec';
4
- export declare const checkingRequiredProp: ElementChecker<
5
- boolean,
6
- Options,
7
- {
8
- role?:
9
- | (ARIARole & {
10
- isImplicit?: boolean;
11
- })
12
- | null;
13
- propSpecs: ARIAProperty[];
14
- }
15
- >;
4
+ export declare const checkingRequiredProp: ElementChecker<boolean, Options, {
5
+ role?: (ARIARole & {
6
+ isImplicit?: boolean;
7
+ }) | null;
8
+ propSpecs: readonly ARIAProperty[];
9
+ }>;
@@ -1,17 +1,13 @@
1
1
  import type { Options } from '../types';
2
2
  import type { AttrChecker } from '@markuplint/ml-core';
3
3
  import type { ARIAProperty, ARIARole } from '@markuplint/ml-spec';
4
- export declare const checkingValue: AttrChecker<
5
- boolean,
6
- Options,
7
- {
8
- role?: ARIARole | null;
9
- propSpecs: ARIAProperty[];
10
- booleanish?: boolean;
11
- }
12
- >;
4
+ export declare const checkingValue: AttrChecker<boolean, Options, {
5
+ role?: ARIARole | null;
6
+ propSpecs: readonly ARIAProperty[];
7
+ booleanish?: boolean;
8
+ }>;
13
9
  /**
14
10
  *
15
11
  * @see https://www.w3.org/TR/wai-aria-1.2/#propcharacteristic_value
16
12
  */
17
- export declare function checkAriaValue(type: string, value: string, tokenEnum: string[], booleanish?: boolean): boolean;
13
+ export declare function checkAriaValue(type: string, value: string, tokenEnum: readonly string[], booleanish?: boolean): boolean;
@@ -1,3 +1,3 @@
1
1
  import type { Options } from './types';
2
- declare const _default: import('@markuplint/ml-core').RuleSeed<boolean, Options>;
2
+ declare const _default: Readonly<import("@markuplint/ml-core").RuleSeed<boolean, Options>>;
3
3
  export default _default;
@@ -1,13 +1,13 @@
1
1
  import type { ARIAVersion } from '@markuplint/ml-spec';
2
2
  export type Options = {
3
- checkingValue: boolean;
4
- checkingDeprecatedProps: boolean;
5
- permittedAriaRoles: boolean;
6
- checkingRequiredOwnedElements: boolean;
7
- checkingPresentationalChildren: boolean;
8
- checkingInteractionInHidden: boolean;
9
- disallowSetImplicitRole: boolean;
10
- disallowSetImplicitProps: boolean;
11
- disallowDefaultValue: boolean;
12
- version: ARIAVersion;
3
+ checkingValue: boolean;
4
+ checkingDeprecatedProps: boolean;
5
+ permittedAriaRoles: boolean;
6
+ checkingRequiredOwnedElements: boolean;
7
+ checkingPresentationalChildren: boolean;
8
+ checkingInteractionInHidden: boolean;
9
+ disallowSetImplicitRole: boolean;
10
+ disallowSetImplicitProps: boolean;
11
+ disallowDefaultValue: boolean;
12
+ version: ARIAVersion;
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markuplint/rules",
3
- "version": "3.4.0",
3
+ "version": "3.5.0",
4
4
  "description": "Built-in rules of markuplint",
5
5
  "repository": "git@github.com:markuplint/markuplint.git",
6
6
  "author": "Yusuke Hirao <yusukehirao@me.com>",
@@ -20,11 +20,11 @@
20
20
  "./lib/permitted-contents/debug.js": "./lib/permitted-contents/debug.browser.js"
21
21
  },
22
22
  "dependencies": {
23
- "@markuplint/html-spec": "3.4.0",
24
- "@markuplint/ml-core": "3.4.0",
25
- "@markuplint/ml-spec": "3.4.0",
26
- "@markuplint/selector": "3.4.0",
27
- "@markuplint/types": "3.3.0",
23
+ "@markuplint/html-spec": "3.5.0",
24
+ "@markuplint/ml-core": "3.5.0",
25
+ "@markuplint/ml-spec": "3.5.0",
26
+ "@markuplint/selector": "3.5.0",
27
+ "@markuplint/types": "3.4.0",
28
28
  "@ungap/structured-clone": "^1.0.1",
29
29
  "ansi-colors": "^4.1.3",
30
30
  "chrono-node": "^2.5.0",
@@ -33,7 +33,8 @@
33
33
  "tslib": "^2.4.1"
34
34
  },
35
35
  "devDependencies": {
36
- "@types/debug": "^4.1.7"
36
+ "@types/debug": "^4.1.7",
37
+ "type-fest": "^3.6.1"
37
38
  },
38
- "gitHead": "a83e0f5f214a9bbcc0286b9e269074ddca6189e7"
39
+ "gitHead": "0c47b2c2722f6823a17f36edbab98486275f8ab4"
39
40
  }