@angular-eslint/eslint-plugin-template 16.3.2-alpha.0 → 17.0.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/rules/alt-text.js +0 -1
- package/dist/rules/attributes-order.js +1 -1
- package/dist/rules/banana-in-box.js +1 -1
- package/dist/rules/button-has-type.js +0 -1
- package/dist/rules/click-events-have-key-events.js +0 -1
- package/dist/rules/conditional-complexity.js +0 -1
- package/dist/rules/cyclomatic-complexity.js +0 -1
- package/dist/rules/elements-content.js +0 -1
- package/dist/rules/eqeqeq.js +1 -1
- package/dist/rules/i18n.js +0 -1
- package/dist/rules/interactive-supports-focus.js +0 -1
- package/dist/rules/label-has-associated-control.js +0 -1
- package/dist/rules/mouse-events-have-key-events.js +0 -1
- package/dist/rules/no-any.js +0 -1
- package/dist/rules/no-autofocus.js +0 -1
- package/dist/rules/no-call-expression.js +0 -1
- package/dist/rules/no-distracting-elements.js +0 -1
- package/dist/rules/no-duplicate-attributes.js +0 -1
- package/dist/rules/no-inline-styles.js +0 -1
- package/dist/rules/no-interpolation-in-attributes.js +0 -1
- package/dist/rules/no-negated-async.js +1 -1
- package/dist/rules/no-positive-tabindex.js +0 -1
- package/dist/rules/prefer-ngsrc.js +0 -1
- package/dist/rules/prefer-self-closing-tags.js +79 -25
- package/dist/rules/role-has-required-aria.js +0 -1
- package/dist/rules/table-scope.js +0 -1
- package/dist/rules/use-track-by-function.js +0 -1
- package/dist/rules/valid-aria.js +0 -1
- package/package.json +6 -6
- package/dist/index.d.ts +0 -149
- package/dist/processors.d.ts +0 -37
- package/dist/rules/alt-text.d.ts +0 -4
- package/dist/rules/attributes-order.d.ts +0 -18
- package/dist/rules/banana-in-box.d.ts +0 -4
- package/dist/rules/button-has-type.d.ts +0 -5
- package/dist/rules/click-events-have-key-events.d.ts +0 -4
- package/dist/rules/conditional-complexity.d.ts +0 -7
- package/dist/rules/cyclomatic-complexity.d.ts +0 -7
- package/dist/rules/elements-content.d.ts +0 -9
- package/dist/rules/eqeqeq.d.ts +0 -8
- package/dist/rules/i18n.d.ts +0 -18
- package/dist/rules/interactive-supports-focus.d.ts +0 -4
- package/dist/rules/label-has-associated-control.d.ts +0 -14
- package/dist/rules/mouse-events-have-key-events.d.ts +0 -5
- package/dist/rules/no-any.d.ts +0 -4
- package/dist/rules/no-autofocus.d.ts +0 -4
- package/dist/rules/no-call-expression.d.ts +0 -9
- package/dist/rules/no-distracting-elements.d.ts +0 -4
- package/dist/rules/no-duplicate-attributes.d.ts +0 -11
- package/dist/rules/no-inline-styles.d.ts +0 -10
- package/dist/rules/no-interpolation-in-attributes.d.ts +0 -4
- package/dist/rules/no-negated-async.d.ts +0 -7
- package/dist/rules/no-positive-tabindex.d.ts +0 -4
- package/dist/rules/prefer-ngsrc.d.ts +0 -4
- package/dist/rules/prefer-self-closing-tags.d.ts +0 -4
- package/dist/rules/role-has-required-aria.d.ts +0 -4
- package/dist/rules/table-scope.d.ts +0 -4
- package/dist/rules/use-track-by-function.d.ts +0 -7
- package/dist/rules/valid-aria.d.ts +0 -4
- package/dist/utils/attributes-comparator.d.ts +0 -3
- package/dist/utils/constants.d.ts +0 -8
- package/dist/utils/create-eslint-rule.d.ts +0 -2
- package/dist/utils/get-attribute-value.d.ts +0 -12
- package/dist/utils/get-dom-elements.d.ts +0 -1
- package/dist/utils/get-nearest-node-from.d.ts +0 -6
- package/dist/utils/get-original-attribute-name.d.ts +0 -13
- package/dist/utils/is-child-node-of.d.ts +0 -2
- package/dist/utils/is-content-editable.d.ts +0 -2
- package/dist/utils/is-disabled-element.d.ts +0 -2
- package/dist/utils/is-hidden-from-screen-reader.d.ts +0 -9
- package/dist/utils/is-interactive-element/get-interactive-element-ax-object-schemas.d.ts +0 -9
- package/dist/utils/is-interactive-element/get-interactive-element-role-schemas.d.ts +0 -2
- package/dist/utils/is-interactive-element/get-non-interactive-element-role-schemas.d.ts +0 -3
- package/dist/utils/is-interactive-element/index.d.ts +0 -9
- package/dist/utils/is-presentation-role.d.ts +0 -2
- package/dist/utils/is-semantic-role-element.d.ts +0 -2
- package/dist/utils/to-pattern.d.ts +0 -1
package/dist/rules/alt-text.js
CHANGED
|
@@ -11,7 +11,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
11
11
|
type: 'suggestion',
|
|
12
12
|
docs: {
|
|
13
13
|
description: '[Accessibility] Enforces alternate text for elements which require the alt, aria-label, aria-labelledby attributes.',
|
|
14
|
-
recommended: false,
|
|
15
14
|
},
|
|
16
15
|
schema: [],
|
|
17
16
|
messages: {
|
|
@@ -23,7 +23,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
23
23
|
type: 'layout',
|
|
24
24
|
docs: {
|
|
25
25
|
description: 'Ensures that HTML attributes and Angular bindings are sorted based on an expected order',
|
|
26
|
-
recommended: false,
|
|
27
26
|
},
|
|
28
27
|
fixable: 'code',
|
|
29
28
|
schema: [
|
|
@@ -37,6 +36,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
37
36
|
order: {
|
|
38
37
|
type: 'array',
|
|
39
38
|
items: {
|
|
39
|
+
type: 'string',
|
|
40
40
|
enum: DEFAULT_OPTIONS.order,
|
|
41
41
|
},
|
|
42
42
|
default: DEFAULT_OPTIONS.order,
|
|
@@ -13,7 +13,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
13
13
|
type: 'suggestion',
|
|
14
14
|
docs: {
|
|
15
15
|
description: 'Ensures that the two-way data binding syntax is correct',
|
|
16
|
-
recommended: '
|
|
16
|
+
recommended: 'recommended',
|
|
17
17
|
},
|
|
18
18
|
fixable: 'code',
|
|
19
19
|
schema: [],
|
|
@@ -14,7 +14,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
14
14
|
type: 'suggestion',
|
|
15
15
|
docs: {
|
|
16
16
|
description: '[Accessibility] Ensures that the click event is accompanied with at least one key event keyup, keydown or keypress.',
|
|
17
|
-
recommended: false,
|
|
18
17
|
},
|
|
19
18
|
schema: [],
|
|
20
19
|
messages: {
|
|
@@ -11,7 +11,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
11
11
|
type: 'suggestion',
|
|
12
12
|
docs: {
|
|
13
13
|
description: `Checks cyclomatic complexity against a specified limit. It is a quantitative measure of the number of linearly independent paths through a program's source code`,
|
|
14
|
-
recommended: false,
|
|
15
14
|
},
|
|
16
15
|
schema: [
|
|
17
16
|
{
|
package/dist/rules/eqeqeq.js
CHANGED
|
@@ -13,7 +13,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
13
13
|
type: 'suggestion',
|
|
14
14
|
docs: {
|
|
15
15
|
description: 'Requires `===` and `!==` in place of `==` and `!=`',
|
|
16
|
-
recommended: '
|
|
16
|
+
recommended: 'recommended',
|
|
17
17
|
},
|
|
18
18
|
hasSuggestions: true,
|
|
19
19
|
fixable: 'code',
|
package/dist/rules/i18n.js
CHANGED
|
@@ -70,7 +70,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
70
70
|
'texts. ' +
|
|
71
71
|
'Can also check for texts without i18n attribute, elements that do not ' +
|
|
72
72
|
'use custom ID (@@) feature and duplicate custom IDs',
|
|
73
|
-
recommended: false,
|
|
74
73
|
},
|
|
75
74
|
fixable: 'code',
|
|
76
75
|
hasSuggestions: true,
|
|
@@ -16,7 +16,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
16
16
|
type: 'suggestion',
|
|
17
17
|
docs: {
|
|
18
18
|
description: '[Accessibility] Ensures that elements with interactive handlers like `(click)` are focusable.',
|
|
19
|
-
recommended: false,
|
|
20
19
|
},
|
|
21
20
|
schema: [],
|
|
22
21
|
messages: {
|
|
@@ -13,7 +13,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
13
13
|
type: 'suggestion',
|
|
14
14
|
docs: {
|
|
15
15
|
description: `[Accessibility] Ensures that the mouse events \`${"mouseout" /* MouseEvents.MouseOut */}\` and \`${"mouseover" /* MouseEvents.MouseOver */}\` are accompanied by \`${"focus" /* KeyEvents.Focus */}\` and \`${"blur" /* KeyEvents.Blur */}\` events respectively. Coding for the keyboard is important for users with physical disabilities who cannot use a mouse, AT compatibility, and screenreader users. See more at ${STYLE_GUIDE_LINK}`,
|
|
16
|
-
recommended: false,
|
|
17
16
|
},
|
|
18
17
|
schema: [],
|
|
19
18
|
messages: {
|
package/dist/rules/no-any.js
CHANGED
|
@@ -12,7 +12,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
12
12
|
type: 'suggestion',
|
|
13
13
|
docs: {
|
|
14
14
|
description: `The use of "${ANY_TYPE_CAST_FUNCTION_NAME}" nullifies the compile-time benefits of Angular's type system`,
|
|
15
|
-
recommended: false,
|
|
16
15
|
},
|
|
17
16
|
hasSuggestions: true,
|
|
18
17
|
schema: [],
|
|
@@ -10,7 +10,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
10
10
|
type: 'suggestion',
|
|
11
11
|
docs: {
|
|
12
12
|
description: 'Ensures that async pipe results are not negated',
|
|
13
|
-
recommended: '
|
|
13
|
+
recommended: 'recommended',
|
|
14
14
|
},
|
|
15
15
|
hasSuggestions: true,
|
|
16
16
|
schema: [],
|
|
@@ -12,7 +12,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
12
12
|
type: 'layout',
|
|
13
13
|
docs: {
|
|
14
14
|
description: 'Ensures that self-closing tags are used for elements with a closing tag but no content.',
|
|
15
|
-
recommended: false,
|
|
16
15
|
},
|
|
17
16
|
fixable: 'code',
|
|
18
17
|
schema: [],
|
|
@@ -24,35 +23,90 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
24
23
|
create(context) {
|
|
25
24
|
const parserServices = (0, utils_1.getTemplateParserServices)(context);
|
|
26
25
|
return {
|
|
27
|
-
Element$1
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return;
|
|
26
|
+
'Element$1, Template, Content'(node) {
|
|
27
|
+
if (isContentNode(node)) {
|
|
28
|
+
processContentNode(node);
|
|
31
29
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
});
|
|
39
|
-
const noCloseTag = !endSourceSpan ||
|
|
40
|
-
(startSourceSpan.start.offset === endSourceSpan.start.offset &&
|
|
41
|
-
startSourceSpan.end.offset === endSourceSpan.end.offset);
|
|
42
|
-
if (!noContent || noCloseTag) {
|
|
43
|
-
return;
|
|
30
|
+
else {
|
|
31
|
+
// Ignore native elements.
|
|
32
|
+
if ('name' in node && (0, get_dom_elements_1.getDomElements)().has(node.name)) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
processElementOrTemplateNode(node);
|
|
44
36
|
}
|
|
45
|
-
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
function processElementOrTemplateNode(node) {
|
|
40
|
+
const { children, startSourceSpan, endSourceSpan } = node;
|
|
41
|
+
const noContent = !children.length ||
|
|
42
|
+
children.every((node) => {
|
|
43
|
+
const text = node.value;
|
|
44
|
+
// If the node has no value, or only whitespace,
|
|
45
|
+
// we can consider it empty.
|
|
46
|
+
return (typeof text === 'string' && text.replace(/\n/g, '').trim() === '');
|
|
47
|
+
});
|
|
48
|
+
const noCloseTag = !endSourceSpan ||
|
|
49
|
+
(startSourceSpan.start.offset === endSourceSpan.start.offset &&
|
|
50
|
+
startSourceSpan.end.offset === endSourceSpan.end.offset);
|
|
51
|
+
if (!noContent || noCloseTag) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
// HTML tags always have more than two characters
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
56
|
+
const openingTagLastChar = startSourceSpan.toString().at(-2);
|
|
57
|
+
const closingTagPrefix = getClosingTagPrefix(openingTagLastChar);
|
|
58
|
+
context.report({
|
|
59
|
+
loc: parserServices.convertNodeSourceSpanToLoc(endSourceSpan),
|
|
60
|
+
messageId: exports.MESSAGE_ID,
|
|
61
|
+
fix: (fixer) => fixer.replaceTextRange([startSourceSpan.end.offset - 1, endSourceSpan.end.offset], closingTagPrefix + '/>'),
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
function processContentNode(node) {
|
|
65
|
+
var _a, _b;
|
|
66
|
+
const { sourceSpan } = node;
|
|
67
|
+
const ngContentCloseTag = '</ng-content>';
|
|
68
|
+
if (sourceSpan.toString().includes(ngContentCloseTag)) {
|
|
69
|
+
// content nodes can only contain whitespaces
|
|
70
|
+
const content = (_b = (_a = sourceSpan
|
|
71
|
+
.toString()
|
|
72
|
+
.match(/>(\s*)</m)) === null || _a === void 0 ? void 0 : _a.at(1)) !== null && _b !== void 0 ? _b : '';
|
|
73
|
+
const openingTagLastChar =
|
|
74
|
+
// This is more than the minimum length of a ng-content element
|
|
46
75
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
76
|
+
sourceSpan
|
|
77
|
+
.toString()
|
|
78
|
+
.at(-2 - ngContentCloseTag.length - content.length);
|
|
79
|
+
const closingTagPrefix = getClosingTagPrefix(openingTagLastChar);
|
|
50
80
|
context.report({
|
|
51
|
-
|
|
81
|
+
// content nodes don't have information about startSourceSpan and endSourceSpan,
|
|
82
|
+
// so we need to calculate it by our own
|
|
83
|
+
loc: {
|
|
84
|
+
start: {
|
|
85
|
+
line: sourceSpan.end.line + 1,
|
|
86
|
+
column: sourceSpan.end.col - ngContentCloseTag.length,
|
|
87
|
+
},
|
|
88
|
+
end: {
|
|
89
|
+
line: sourceSpan.end.line + 1,
|
|
90
|
+
column: sourceSpan.end.col,
|
|
91
|
+
},
|
|
92
|
+
},
|
|
52
93
|
messageId: exports.MESSAGE_ID,
|
|
53
|
-
fix: (fixer) => fixer.replaceTextRange([
|
|
94
|
+
fix: (fixer) => fixer.replaceTextRange([
|
|
95
|
+
sourceSpan.end.offset -
|
|
96
|
+
ngContentCloseTag.length -
|
|
97
|
+
content.length -
|
|
98
|
+
1,
|
|
99
|
+
sourceSpan.end.offset,
|
|
100
|
+
], closingTagPrefix + '/>'),
|
|
54
101
|
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
57
104
|
},
|
|
58
105
|
});
|
|
106
|
+
function isContentNode(node) {
|
|
107
|
+
return 'name' in node && node.name === 'ng-content';
|
|
108
|
+
}
|
|
109
|
+
function getClosingTagPrefix(openingTagLastChar) {
|
|
110
|
+
const hasOwnWhitespace = openingTagLastChar.trim() === '';
|
|
111
|
+
return hasOwnWhitespace ? '' : ' ';
|
|
112
|
+
}
|
|
@@ -14,7 +14,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
14
14
|
type: 'suggestion',
|
|
15
15
|
docs: {
|
|
16
16
|
description: '[Accessibility] Ensures elements with ARIA roles have all required properties for that role.',
|
|
17
|
-
recommended: false,
|
|
18
17
|
},
|
|
19
18
|
hasSuggestions: true,
|
|
20
19
|
schema: [],
|
|
@@ -12,7 +12,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
12
12
|
type: 'suggestion',
|
|
13
13
|
docs: {
|
|
14
14
|
description: '[Accessibility] Ensures that the `scope` attribute is only used on the `<th>` element',
|
|
15
|
-
recommended: false,
|
|
16
15
|
},
|
|
17
16
|
fixable: 'code',
|
|
18
17
|
schema: [],
|
package/dist/rules/valid-aria.js
CHANGED
|
@@ -14,7 +14,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
14
14
|
type: 'suggestion',
|
|
15
15
|
docs: {
|
|
16
16
|
description: '[Accessibility] Ensures that correct ARIA attributes and respective values are used',
|
|
17
|
-
recommended: false,
|
|
18
17
|
},
|
|
19
18
|
hasSuggestions: true,
|
|
20
19
|
schema: [],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular-eslint/eslint-plugin-template",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "17.0.0",
|
|
4
4
|
"description": "ESLint plugin for Angular Templates",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
"LICENSE"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@angular-eslint/bundled-angular-compiler": "
|
|
21
|
-
"@angular-eslint/utils": "
|
|
22
|
-
"@typescript-eslint/type-utils": "
|
|
23
|
-
"@typescript-eslint/utils": "
|
|
20
|
+
"@angular-eslint/bundled-angular-compiler": "17.0.0",
|
|
21
|
+
"@angular-eslint/utils": "17.0.0",
|
|
22
|
+
"@typescript-eslint/type-utils": "6.10.0",
|
|
23
|
+
"@typescript-eslint/utils": "6.10.0",
|
|
24
24
|
"aria-query": "5.3.0",
|
|
25
25
|
"axobject-query": "4.0.0"
|
|
26
26
|
},
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
"eslint": "^7.20.0 || ^8.0.0",
|
|
32
32
|
"typescript": "*"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "7121d78c95eefc01c306503b22cc9c7526c50633"
|
|
35
35
|
}
|
package/dist/index.d.ts
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
configs: {
|
|
3
|
-
all: {
|
|
4
|
-
parser: string;
|
|
5
|
-
plugins: string[];
|
|
6
|
-
rules: {
|
|
7
|
-
"@angular-eslint/template/alt-text": string;
|
|
8
|
-
"@angular-eslint/template/attributes-order": string;
|
|
9
|
-
"@angular-eslint/template/banana-in-box": string;
|
|
10
|
-
"@angular-eslint/template/button-has-type": string;
|
|
11
|
-
"@angular-eslint/template/click-events-have-key-events": string;
|
|
12
|
-
"@angular-eslint/template/conditional-complexity": string;
|
|
13
|
-
"@angular-eslint/template/cyclomatic-complexity": string;
|
|
14
|
-
"@angular-eslint/template/elements-content": string;
|
|
15
|
-
"@angular-eslint/template/eqeqeq": string;
|
|
16
|
-
"@angular-eslint/template/i18n": string;
|
|
17
|
-
"@angular-eslint/template/interactive-supports-focus": string;
|
|
18
|
-
"@angular-eslint/template/label-has-associated-control": string;
|
|
19
|
-
"@angular-eslint/template/mouse-events-have-key-events": string;
|
|
20
|
-
"@angular-eslint/template/no-any": string;
|
|
21
|
-
"@angular-eslint/template/no-autofocus": string;
|
|
22
|
-
"@angular-eslint/template/no-call-expression": string;
|
|
23
|
-
"@angular-eslint/template/no-distracting-elements": string;
|
|
24
|
-
"@angular-eslint/template/no-duplicate-attributes": string;
|
|
25
|
-
"@angular-eslint/template/no-inline-styles": string;
|
|
26
|
-
"@angular-eslint/template/no-interpolation-in-attributes": string;
|
|
27
|
-
"@angular-eslint/template/no-negated-async": string;
|
|
28
|
-
"@angular-eslint/template/no-positive-tabindex": string;
|
|
29
|
-
"@angular-eslint/template/prefer-ngsrc": string;
|
|
30
|
-
"@angular-eslint/template/prefer-self-closing-tags": string;
|
|
31
|
-
"@angular-eslint/template/role-has-required-aria": string;
|
|
32
|
-
"@angular-eslint/template/table-scope": string;
|
|
33
|
-
"@angular-eslint/template/use-track-by-function": string;
|
|
34
|
-
"@angular-eslint/template/valid-aria": string;
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
recommended: {
|
|
38
|
-
parser: string;
|
|
39
|
-
plugins: string[];
|
|
40
|
-
rules: {
|
|
41
|
-
"@angular-eslint/template/banana-in-box": string;
|
|
42
|
-
"@angular-eslint/template/eqeqeq": string;
|
|
43
|
-
"@angular-eslint/template/no-negated-async": string;
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
accessibility: {
|
|
47
|
-
parser: string;
|
|
48
|
-
plugins: string[];
|
|
49
|
-
rules: {
|
|
50
|
-
"@angular-eslint/template/alt-text": string;
|
|
51
|
-
"@angular-eslint/template/click-events-have-key-events": string;
|
|
52
|
-
"@angular-eslint/template/elements-content": string;
|
|
53
|
-
"@angular-eslint/template/interactive-supports-focus": string;
|
|
54
|
-
"@angular-eslint/template/label-has-associated-control": string;
|
|
55
|
-
"@angular-eslint/template/mouse-events-have-key-events": string;
|
|
56
|
-
"@angular-eslint/template/no-autofocus": string;
|
|
57
|
-
"@angular-eslint/template/no-distracting-elements": string;
|
|
58
|
-
"@angular-eslint/template/role-has-required-aria": string;
|
|
59
|
-
"@angular-eslint/template/table-scope": string;
|
|
60
|
-
"@angular-eslint/template/valid-aria": string;
|
|
61
|
-
};
|
|
62
|
-
};
|
|
63
|
-
'process-inline-templates': {
|
|
64
|
-
parser: string;
|
|
65
|
-
parserOptions: {
|
|
66
|
-
ecmaVersion: number;
|
|
67
|
-
sourceType: string;
|
|
68
|
-
};
|
|
69
|
-
plugins: string[];
|
|
70
|
-
processor: string;
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
processors: {
|
|
74
|
-
'extract-inline-html': {
|
|
75
|
-
preprocess: typeof import("./processors").preprocessComponentFile;
|
|
76
|
-
postprocess: typeof import("./processors").postprocessComponentFile;
|
|
77
|
-
supportsAutofix: boolean;
|
|
78
|
-
};
|
|
79
|
-
};
|
|
80
|
-
rules: {
|
|
81
|
-
"alt-text": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"altText", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
82
|
-
"attributes-order": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"attributesOrder", [{
|
|
83
|
-
readonly alphabetical: boolean;
|
|
84
|
-
readonly order: readonly import("./rules/attributes-order").OrderType[];
|
|
85
|
-
}], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
86
|
-
"banana-in-box": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"bananaInBox", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
87
|
-
"button-has-type": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<import("./rules/button-has-type").MessageIds, [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
88
|
-
"click-events-have-key-events": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"clickEventsHaveKeyEvents", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
89
|
-
"conditional-complexity": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"conditionalComplexity", [{
|
|
90
|
-
maxComplexity: number;
|
|
91
|
-
}], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
92
|
-
"cyclomatic-complexity": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"cyclomaticComplexity", [{
|
|
93
|
-
maxComplexity: number;
|
|
94
|
-
}], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
95
|
-
"elements-content": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"elementsContent", [{
|
|
96
|
-
readonly allowList?: readonly string[] | undefined;
|
|
97
|
-
}], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
98
|
-
eqeqeq: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<import("./rules/eqeqeq").MessageIds, [{
|
|
99
|
-
readonly allowNullOrUndefined?: boolean | undefined;
|
|
100
|
-
}], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
101
|
-
i18n: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<import("./rules/i18n").MessageIds, [{
|
|
102
|
-
readonly boundTextAllowedPattern?: string | undefined;
|
|
103
|
-
readonly checkAttributes?: boolean | undefined;
|
|
104
|
-
readonly checkDuplicateId?: boolean | undefined;
|
|
105
|
-
readonly checkId?: boolean | undefined;
|
|
106
|
-
readonly checkText?: boolean | undefined;
|
|
107
|
-
readonly ignoreAttributes?: readonly string[] | undefined;
|
|
108
|
-
readonly ignoreTags?: readonly string[] | undefined;
|
|
109
|
-
readonly requireDescription?: boolean | undefined;
|
|
110
|
-
readonly requireMeaning?: boolean | undefined;
|
|
111
|
-
}], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
112
|
-
"interactive-supports-focus": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"interactiveSupportsFocus", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
113
|
-
"label-has-associated-control": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"labelHasAssociatedControl", [{
|
|
114
|
-
readonly controlComponents?: readonly string[] | undefined;
|
|
115
|
-
readonly labelComponents?: readonly {
|
|
116
|
-
readonly inputs?: readonly string[] | undefined;
|
|
117
|
-
readonly selector: string;
|
|
118
|
-
}[] | undefined;
|
|
119
|
-
}], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
120
|
-
"mouse-events-have-key-events": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"mouseEventsHaveKeyEvents", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
121
|
-
"no-any": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<import("./rules/no-any").MessageIds, [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
122
|
-
"no-autofocus": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"noAutofocus", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
123
|
-
"no-call-expression": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"noCallExpression", [{
|
|
124
|
-
readonly allowList?: readonly string[] | undefined;
|
|
125
|
-
}], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
126
|
-
"no-distracting-elements": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"noDistractingElements", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
127
|
-
"no-duplicate-attributes": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<import("./rules/no-duplicate-attributes").MessageIds, [{
|
|
128
|
-
readonly allowTwoWayDataBinding?: boolean | undefined;
|
|
129
|
-
readonly allowStylePrecedenceDuplicates?: boolean | undefined;
|
|
130
|
-
readonly ignore?: readonly string[] | undefined;
|
|
131
|
-
}], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
132
|
-
"no-inline-styles": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"noInlineStyles", [{
|
|
133
|
-
readonly allowNgStyle?: boolean | undefined;
|
|
134
|
-
readonly allowBindToStyle?: boolean | undefined;
|
|
135
|
-
}], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
136
|
-
"no-interpolation-in-attributes": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"noInterpolationInAttributes", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
137
|
-
"no-negated-async": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<import("./rules/no-negated-async").MessageIds, [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
138
|
-
"no-positive-tabindex": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<import("./rules/no-positive-tabindex").MessageIds, [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
139
|
-
"prefer-self-closing-tags": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"preferSelfClosingTags", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
140
|
-
"prefer-ngsrc": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<import("./rules/prefer-ngsrc").MessageIds, [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
141
|
-
"role-has-required-aria": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<import("./rules/role-has-required-aria").MessageIds, [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
142
|
-
"table-scope": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"tableScope", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
143
|
-
"use-track-by-function": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"useTrackByFunction", [{
|
|
144
|
-
readonly alias: readonly string[];
|
|
145
|
-
}], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
146
|
-
"valid-aria": import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<import("./rules/valid-aria").MessageIds, [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
147
|
-
};
|
|
148
|
-
};
|
|
149
|
-
export = _default;
|
package/dist/processors.d.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Because ultimately a user is in control of how and when this processor gets invoked,
|
|
3
|
-
* we can't fully protect them against doing more work than is necessary in all cases.
|
|
4
|
-
*
|
|
5
|
-
* Therefore, before we do a full parse of a TypeScript file to try and extract one or
|
|
6
|
-
* more Component declarations we want to do a really quick check for whether or not
|
|
7
|
-
* a file is likely to contain them.
|
|
8
|
-
*/
|
|
9
|
-
export declare function isFileLikelyToContainComponentDeclarations(text: string, filename: string): boolean;
|
|
10
|
-
type PreprocessResult = (string | {
|
|
11
|
-
text: string;
|
|
12
|
-
filename: string;
|
|
13
|
-
})[];
|
|
14
|
-
export declare function preprocessComponentFile(text: string, filename: string): PreprocessResult;
|
|
15
|
-
export declare function postprocessComponentFile(multiDimensionalMessages: {
|
|
16
|
-
ruleId: string;
|
|
17
|
-
severity: number;
|
|
18
|
-
message: string;
|
|
19
|
-
line: number;
|
|
20
|
-
column: number;
|
|
21
|
-
nodeType: string;
|
|
22
|
-
messageId: string;
|
|
23
|
-
endLine: number;
|
|
24
|
-
endColumn: number;
|
|
25
|
-
fix?: {
|
|
26
|
-
range: number[];
|
|
27
|
-
text: string;
|
|
28
|
-
};
|
|
29
|
-
}[][], filename: string): readonly unknown[];
|
|
30
|
-
declare const _default: {
|
|
31
|
-
'extract-inline-html': {
|
|
32
|
-
preprocess: typeof preprocessComponentFile;
|
|
33
|
-
postprocess: typeof postprocessComponentFile;
|
|
34
|
-
supportsAutofix: boolean;
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
export default _default;
|
package/dist/rules/alt-text.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export type MessageIds = 'altText';
|
|
2
|
-
export declare const RULE_NAME = "alt-text";
|
|
3
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"altText", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
4
|
-
export default _default;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export declare const enum OrderType {
|
|
2
|
-
TemplateReferenceVariable = "TEMPLATE_REFERENCE",
|
|
3
|
-
StructuralDirective = "STRUCTURAL_DIRECTIVE",
|
|
4
|
-
AttributeBinding = "ATTRIBUTE_BINDING",
|
|
5
|
-
InputBinding = "INPUT_BINDING",
|
|
6
|
-
OutputBinding = "OUTPUT_BINDING",
|
|
7
|
-
TwoWayBinding = "TWO_WAY_BINDING"
|
|
8
|
-
}
|
|
9
|
-
type Options = [
|
|
10
|
-
{
|
|
11
|
-
readonly alphabetical: boolean;
|
|
12
|
-
readonly order: readonly OrderType[];
|
|
13
|
-
}
|
|
14
|
-
];
|
|
15
|
-
export type MessageIds = 'attributesOrder';
|
|
16
|
-
export declare const RULE_NAME = "attributes-order";
|
|
17
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"attributesOrder", Options, import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
18
|
-
export default _default;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export type MessageIds = 'bananaInBox';
|
|
2
|
-
export declare const RULE_NAME = "banana-in-box";
|
|
3
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"bananaInBox", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
4
|
-
export default _default;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export declare const RULE_NAME = "button-has-type";
|
|
2
|
-
export declare const INVALID_TYPE_DATA_KEY = "type";
|
|
3
|
-
export type MessageIds = 'invalidType' | 'missingType';
|
|
4
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<MessageIds, [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
5
|
-
export default _default;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export type MessageIds = 'clickEventsHaveKeyEvents';
|
|
2
|
-
export declare const RULE_NAME = "click-events-have-key-events";
|
|
3
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"clickEventsHaveKeyEvents", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
4
|
-
export default _default;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
type Options = [{
|
|
2
|
-
maxComplexity: number;
|
|
3
|
-
}];
|
|
4
|
-
export type MessageIds = 'conditionalComplexity';
|
|
5
|
-
export declare const RULE_NAME = "conditional-complexity";
|
|
6
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"conditionalComplexity", Options, import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
7
|
-
export default _default;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
type Options = [{
|
|
2
|
-
maxComplexity: number;
|
|
3
|
-
}];
|
|
4
|
-
export type MessageIds = 'cyclomaticComplexity';
|
|
5
|
-
export declare const RULE_NAME = "cyclomatic-complexity";
|
|
6
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"cyclomaticComplexity", Options, import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
7
|
-
export default _default;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
type Options = [
|
|
2
|
-
{
|
|
3
|
-
readonly allowList?: readonly string[];
|
|
4
|
-
}
|
|
5
|
-
];
|
|
6
|
-
export type MessageIds = 'elementsContent';
|
|
7
|
-
export declare const RULE_NAME = "elements-content";
|
|
8
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"elementsContent", Options, import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
9
|
-
export default _default;
|
package/dist/rules/eqeqeq.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { TSESLint } from '@typescript-eslint/utils';
|
|
2
|
-
type Options = [{
|
|
3
|
-
readonly allowNullOrUndefined?: boolean;
|
|
4
|
-
}];
|
|
5
|
-
export type MessageIds = 'eqeqeq' | 'suggestStrictEquality';
|
|
6
|
-
export declare const RULE_NAME = "eqeqeq";
|
|
7
|
-
declare const _default: TSESLint.RuleModule<MessageIds, Options, TSESLint.RuleListener>;
|
|
8
|
-
export default _default;
|
package/dist/rules/i18n.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { TSESLint } from '@typescript-eslint/utils';
|
|
2
|
-
type Options = [
|
|
3
|
-
{
|
|
4
|
-
readonly boundTextAllowedPattern?: string;
|
|
5
|
-
readonly checkAttributes?: boolean;
|
|
6
|
-
readonly checkDuplicateId?: boolean;
|
|
7
|
-
readonly checkId?: boolean;
|
|
8
|
-
readonly checkText?: boolean;
|
|
9
|
-
readonly ignoreAttributes?: readonly string[];
|
|
10
|
-
readonly ignoreTags?: readonly string[];
|
|
11
|
-
readonly requireDescription?: boolean;
|
|
12
|
-
readonly requireMeaning?: boolean;
|
|
13
|
-
}
|
|
14
|
-
];
|
|
15
|
-
export type MessageIds = 'i18nAttribute' | 'i18nAttributeOnIcuOrText' | 'i18nCustomIdOnAttribute' | 'i18nCustomIdOnElement' | 'i18nDuplicateCustomId' | 'suggestAddI18nAttribute' | 'i18nMissingDescription' | 'i18nMissingMeaning';
|
|
16
|
-
export declare const RULE_NAME = "i18n";
|
|
17
|
-
declare const _default: TSESLint.RuleModule<MessageIds, Options, TSESLint.RuleListener>;
|
|
18
|
-
export default _default;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export type MessageIds = 'interactiveSupportsFocus';
|
|
2
|
-
export declare const RULE_NAME = "interactive-supports-focus";
|
|
3
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"interactiveSupportsFocus", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
4
|
-
export default _default;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
type LabelComponent = {
|
|
2
|
-
readonly inputs?: readonly string[];
|
|
3
|
-
readonly selector: string;
|
|
4
|
-
};
|
|
5
|
-
type Options = [
|
|
6
|
-
{
|
|
7
|
-
readonly controlComponents?: readonly string[];
|
|
8
|
-
readonly labelComponents?: readonly LabelComponent[];
|
|
9
|
-
}
|
|
10
|
-
];
|
|
11
|
-
export type MessageIds = 'labelHasAssociatedControl';
|
|
12
|
-
export declare const RULE_NAME = "label-has-associated-control";
|
|
13
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"labelHasAssociatedControl", Options, import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
14
|
-
export default _default;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { TSESLint } from '@typescript-eslint/utils';
|
|
2
|
-
export type MessageIds = 'mouseEventsHaveKeyEvents';
|
|
3
|
-
export declare const RULE_NAME = "mouse-events-have-key-events";
|
|
4
|
-
declare const _default: TSESLint.RuleModule<"mouseEventsHaveKeyEvents", [], TSESLint.RuleListener>;
|
|
5
|
-
export default _default;
|
package/dist/rules/no-any.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export type MessageIds = 'noAny' | 'suggestRemoveAny';
|
|
2
|
-
export declare const RULE_NAME = "no-any";
|
|
3
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<MessageIds, [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
4
|
-
export default _default;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export type MessageIds = 'noAutofocus';
|
|
2
|
-
export declare const RULE_NAME = "no-autofocus";
|
|
3
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"noAutofocus", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
4
|
-
export default _default;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
type Options = [
|
|
2
|
-
{
|
|
3
|
-
readonly allowList?: readonly string[];
|
|
4
|
-
}
|
|
5
|
-
];
|
|
6
|
-
export type MessageIds = 'noCallExpression';
|
|
7
|
-
export declare const RULE_NAME = "no-call-expression";
|
|
8
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"noCallExpression", Options, import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
9
|
-
export default _default;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export type MessageIds = 'noDistractingElements';
|
|
2
|
-
export declare const RULE_NAME = "no-distracting-elements";
|
|
3
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"noDistractingElements", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
4
|
-
export default _default;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
type Options = [
|
|
2
|
-
{
|
|
3
|
-
readonly allowTwoWayDataBinding?: boolean;
|
|
4
|
-
readonly allowStylePrecedenceDuplicates?: boolean;
|
|
5
|
-
readonly ignore?: readonly string[];
|
|
6
|
-
}
|
|
7
|
-
];
|
|
8
|
-
export type MessageIds = 'noDuplicateAttributes' | 'suggestRemoveAttribute';
|
|
9
|
-
export declare const RULE_NAME = "no-duplicate-attributes";
|
|
10
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<MessageIds, Options, import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
11
|
-
export default _default;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
type Options = [
|
|
2
|
-
{
|
|
3
|
-
readonly allowNgStyle?: boolean;
|
|
4
|
-
readonly allowBindToStyle?: boolean;
|
|
5
|
-
}
|
|
6
|
-
];
|
|
7
|
-
export type MessageIds = 'noInlineStyles';
|
|
8
|
-
export declare const RULE_NAME = "no-inline-styles";
|
|
9
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"noInlineStyles", Options, import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
10
|
-
export default _default;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export declare const MESSAGE_ID = "noInterpolationInAttributes";
|
|
2
|
-
export declare const RULE_NAME = "no-interpolation-in-attributes";
|
|
3
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"noInterpolationInAttributes", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
4
|
-
export default _default;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export type MessageIds = 'noNegatedAsync' | 'suggestFalseComparison' | 'suggestNullComparison' | 'suggestUndefinedComparison';
|
|
2
|
-
export declare const RULE_NAME = "no-negated-async";
|
|
3
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<MessageIds, [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
4
|
-
export default _default;
|
|
5
|
-
export declare const RULE_DOCS_EXTENSION: {
|
|
6
|
-
rationale: string;
|
|
7
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export type MessageIds = 'noPositiveTabindex' | 'suggestNonNegativeTabindex';
|
|
2
|
-
export declare const RULE_NAME = "no-positive-tabindex";
|
|
3
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<MessageIds, [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
4
|
-
export default _default;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export type MessageIds = 'missingAttribute' | 'invalidDoubleSource';
|
|
2
|
-
export declare const RULE_NAME = "prefer-ngsrc";
|
|
3
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<MessageIds, [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
4
|
-
export default _default;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export declare const MESSAGE_ID = "preferSelfClosingTags";
|
|
2
|
-
export declare const RULE_NAME = "prefer-self-closing-tags";
|
|
3
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"preferSelfClosingTags", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
4
|
-
export default _default;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export type MessageIds = 'roleHasRequiredAria' | 'suggestRemoveRole';
|
|
2
|
-
export declare const RULE_NAME = "role-has-required-aria";
|
|
3
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<MessageIds, [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
4
|
-
export default _default;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export type MessageIds = 'tableScope';
|
|
2
|
-
export declare const RULE_NAME = "table-scope";
|
|
3
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"tableScope", [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
4
|
-
export default _default;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
type Options = [{
|
|
2
|
-
readonly alias: readonly string[];
|
|
3
|
-
}];
|
|
4
|
-
export type MessageIds = 'useTrackByFunction';
|
|
5
|
-
export declare const RULE_NAME = "use-track-by-function";
|
|
6
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"useTrackByFunction", Options, import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
7
|
-
export default _default;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export type MessageIds = 'validAria' | 'validAriaValue' | 'suggestRemoveInvalidAria';
|
|
2
|
-
export declare const RULE_NAME = "valid-aria";
|
|
3
|
-
declare const _default: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<MessageIds, [], import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>;
|
|
4
|
-
export default _default;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { TmplAstElement } from '@angular-eslint/bundled-angular-compiler';
|
|
2
|
-
import type { ARIARoleRelationConceptAttribute } from 'aria-query';
|
|
3
|
-
export declare function attributesComparator(ariaRoleRelationConceptAttributes: readonly ARIARoleRelationConceptAttribute[], node: TmplAstElement): boolean;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { ESLintUtils } from '@typescript-eslint/utils';
|
|
2
|
-
export declare const createESLintRule: <TOptions extends readonly unknown[], TMessageIds extends string, TRuleListener extends import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener = import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleListener>({ name, meta, ...rule }: Readonly<ESLintUtils.RuleWithMetaAndName<TOptions, TMessageIds, TRuleListener>>) => import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<TMessageIds, TOptions, TRuleListener>;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { TmplAstElement } from '@angular-eslint/bundled-angular-compiler';
|
|
2
|
-
/**
|
|
3
|
-
* Extracts the attribute value.
|
|
4
|
-
* @example
|
|
5
|
-
* ```ts
|
|
6
|
-
* getAttributeValue(Element(`<div property="test"></div>`), 'nonExistent'); // null
|
|
7
|
-
* getAttributeValue(Element(`<div aria-role="none"></div>`), 'role'); // 'none'
|
|
8
|
-
* getAttributeValue(Element(`<div [attr.aria-checked]="true"></div>`), 'aria-checked'); // true
|
|
9
|
-
* getAttributeValue(Element(`<button [variant]="variant"></button>`), 'variant'); // PROPERTY
|
|
10
|
-
* ```
|
|
11
|
-
*/
|
|
12
|
-
export declare function getAttributeValue({ attributes, inputs }: TmplAstElement, attributeName: string): unknown;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function getDomElements(): ReadonlySet<string>;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { AST, TmplAstNode } from '@angular-eslint/bundled-angular-compiler';
|
|
2
|
-
type ASTOrNodeWithParent = (AST | TmplAstNode) & {
|
|
3
|
-
parent?: ASTOrNodeWithParent;
|
|
4
|
-
};
|
|
5
|
-
export declare function getNearestNodeFrom<T extends ASTOrNodeWithParent>({ parent }: ASTOrNodeWithParent, predicate: (parent: ASTOrNodeWithParent) => parent is T): T | null;
|
|
6
|
-
export {};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { TmplAstBoundAttribute, TmplAstTextAttribute } from '@angular-eslint/bundled-angular-compiler';
|
|
2
|
-
import { TmplAstBoundEvent } from '@angular-eslint/bundled-angular-compiler';
|
|
3
|
-
/**
|
|
4
|
-
* Returns the original attribute name.
|
|
5
|
-
* @example
|
|
6
|
-
* ```html
|
|
7
|
-
* <div [style.display.none]="test"></div> <!-- Instead of "display", "style.display.none" -->
|
|
8
|
-
* <div [attr.role]="'none'"></div> <!-- Instead of "attr.role", "role" -->
|
|
9
|
-
* <div ([ngModel])="test"></div> <!-- Instead of "ngModel", "ngModelChange" -->
|
|
10
|
-
* <div (@fade.start)="handle()"></div> <!-- Instead of "fade", "@fade.start" -->
|
|
11
|
-
* ```
|
|
12
|
-
*/
|
|
13
|
-
export declare function getOriginalAttributeName(attribute: TmplAstBoundAttribute | TmplAstBoundEvent | TmplAstTextAttribute): string;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { TmplAstElement } from '@angular-eslint/bundled-angular-compiler';
|
|
2
|
-
/**
|
|
3
|
-
* Whether an element content cannot be read by a screen reader. It can happen in the following situations:
|
|
4
|
-
* - It has `display: none` or `visibility: hidden` style;
|
|
5
|
-
* - It has `aria-hidden` or `hidden` attribute;
|
|
6
|
-
* - It's an `<input type="hidden">`;
|
|
7
|
-
* - One of its ancestors met one of the following situations above.
|
|
8
|
-
*/
|
|
9
|
-
export declare function isHiddenFromScreenReader(node: TmplAstElement): boolean;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { TmplAstElement } from '@angular-eslint/bundled-angular-compiler';
|
|
2
|
-
/**
|
|
3
|
-
* Returns boolean indicating whether the given element is
|
|
4
|
-
* interactive on the DOM or not. Usually used when an element
|
|
5
|
-
* has a dynamic handler on it and we need to discern whether or not
|
|
6
|
-
* it's intention is to be interacted with on the DOM.
|
|
7
|
-
*/
|
|
8
|
-
export declare function isInteractiveElement(node: TmplAstElement): boolean;
|
|
9
|
-
export declare function isNonInteractiveRole(node: TmplAstElement): boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function toPattern(value: readonly unknown[]): RegExp;
|