@angular-eslint/eslint-plugin 16.2.1-alpha.7 → 17.0.0-alpha.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/README.md +1 -1
- package/dist/configs/recommended.json +2 -2
- package/dist/rules/component-class-suffix.js +1 -1
- package/dist/rules/component-max-inline-declarations.js +0 -1
- package/dist/rules/component-selector.js +1 -1
- package/dist/rules/contextual-decorator.js +0 -1
- package/dist/rules/contextual-lifecycle.js +1 -1
- package/dist/rules/directive-class-suffix.js +1 -1
- package/dist/rules/directive-selector.js +1 -1
- package/dist/rules/no-attribute-decorator.js +0 -1
- package/dist/rules/no-conflicting-lifecycle.js +0 -1
- package/dist/rules/no-empty-lifecycle-method.js +1 -1
- package/dist/rules/no-forward-ref.js +0 -1
- package/dist/rules/no-host-metadata-property.js +1 -1
- package/dist/rules/no-input-prefix.js +0 -1
- package/dist/rules/no-input-rename.js +1 -1
- package/dist/rules/no-inputs-metadata-property.js +1 -1
- package/dist/rules/no-lifecycle-call.js +0 -1
- package/dist/rules/no-output-native.js +1 -1
- package/dist/rules/no-output-on-prefix.js +1 -1
- package/dist/rules/no-output-rename.js +1 -1
- package/dist/rules/no-outputs-metadata-property.js +1 -1
- package/dist/rules/no-pipe-impure.js +0 -1
- package/dist/rules/no-queries-metadata-property.js +0 -1
- package/dist/rules/pipe-prefix.js +0 -2
- package/dist/rules/prefer-on-push-component-change-detection.js +0 -1
- package/dist/rules/prefer-output-readonly.js +1 -2
- package/dist/rules/prefer-standalone-component.js +0 -1
- package/dist/rules/relative-url-prefix.js +0 -1
- package/dist/rules/require-localize-metadata.js +0 -1
- package/dist/rules/sort-lifecycle-methods.js +0 -1
- package/dist/rules/sort-ngmodule-metadata-arrays.js +0 -1
- package/dist/rules/use-component-selector.js +0 -1
- package/dist/rules/use-component-view-encapsulation.js +0 -1
- package/dist/rules/use-injectable-provided-in.js +0 -1
- package/dist/rules/use-lifecycle-interface.js +0 -1
- package/dist/rules/use-pipe-transform-interface.js +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
| [`use-component-selector`](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-component-selector.md) | Component selector must be declared | | | |
|
|
70
70
|
| [`use-component-view-encapsulation`](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-component-view-encapsulation.md) | Disallows using `ViewEncapsulation.None` | | | :bulb: |
|
|
71
71
|
| [`use-injectable-provided-in`](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-injectable-provided-in.md) | Using the `providedIn` property makes `Injectables` tree-shakable | | | :bulb: |
|
|
72
|
-
| [`use-lifecycle-interface`](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-lifecycle-interface.md) | Ensures that classes implement lifecycle interfaces corresponding to the declared lifecycle methods. See more at https://angular.io/styleguide#style-09-01 |
|
|
72
|
+
| [`use-lifecycle-interface`](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-lifecycle-interface.md) | Ensures that classes implement lifecycle interfaces corresponding to the declared lifecycle methods. See more at https://angular.io/styleguide#style-09-01 | | | |
|
|
73
73
|
| [`use-pipe-transform-interface`](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/use-pipe-transform-interface.md) | Ensures that `Pipes` implement `PipeTransform` interface | :white_check_mark: | :wrench: | |
|
|
74
74
|
<!-- prettier-ignore-end -->
|
|
75
75
|
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"@angular-eslint/no-output-on-prefix": "error",
|
|
14
14
|
"@angular-eslint/no-output-rename": "error",
|
|
15
15
|
"@angular-eslint/no-outputs-metadata-property": "error",
|
|
16
|
-
"@angular-eslint/use-
|
|
17
|
-
"@angular-eslint/use-
|
|
16
|
+
"@angular-eslint/use-pipe-transform-interface": "error",
|
|
17
|
+
"@angular-eslint/use-lifecycle-interface": "warn"
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -11,7 +11,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
11
11
|
type: 'suggestion',
|
|
12
12
|
docs: {
|
|
13
13
|
description: `Classes decorated with @Component must have suffix "Component" (or custom) in their name. See more at ${STYLE_GUIDE_LINK}`,
|
|
14
|
-
recommended: '
|
|
14
|
+
recommended: 'recommended',
|
|
15
15
|
},
|
|
16
16
|
schema: [
|
|
17
17
|
{
|
|
@@ -24,7 +24,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
24
24
|
type: 'suggestion',
|
|
25
25
|
docs: {
|
|
26
26
|
description: `Enforces a maximum number of lines in inline template, styles and animations. See more at ${STYLE_GUIDE_LINK}`,
|
|
27
|
-
recommended: false,
|
|
28
27
|
},
|
|
29
28
|
schema: [
|
|
30
29
|
{
|
|
@@ -18,7 +18,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
18
18
|
docs: {
|
|
19
19
|
description: `Component selectors should follow given naming rules. See more at ${STYLE_GUIDE_PREFIX_LINK}, ${STYLE_GUIDE_STYLE_LINK}
|
|
20
20
|
and ${STYLE_GUIDE_TYPE_LINK}.`,
|
|
21
|
-
recommended: false,
|
|
22
21
|
},
|
|
23
22
|
schema: [
|
|
24
23
|
{
|
|
@@ -30,6 +29,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
30
29
|
{
|
|
31
30
|
type: 'array',
|
|
32
31
|
items: {
|
|
32
|
+
type: 'string',
|
|
33
33
|
enum: [
|
|
34
34
|
utils_1.SelectorUtils.OPTION_TYPE_ELEMENT,
|
|
35
35
|
utils_1.SelectorUtils.OPTION_TYPE_ATTRIBUTE,
|
|
@@ -10,7 +10,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
10
10
|
type: 'problem',
|
|
11
11
|
docs: {
|
|
12
12
|
description: 'Ensures that lifecycle methods are used in a correct context',
|
|
13
|
-
recommended: '
|
|
13
|
+
recommended: 'recommended',
|
|
14
14
|
},
|
|
15
15
|
schema: [],
|
|
16
16
|
messages: {
|
|
@@ -13,7 +13,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
13
13
|
type: 'suggestion',
|
|
14
14
|
docs: {
|
|
15
15
|
description: `Classes decorated with @Directive must have suffix "Directive" (or custom) in their name. See more at ${STYLE_GUIDE_LINK}`,
|
|
16
|
-
recommended: '
|
|
16
|
+
recommended: 'recommended',
|
|
17
17
|
},
|
|
18
18
|
schema: [
|
|
19
19
|
{
|
|
@@ -12,7 +12,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
12
12
|
type: 'suggestion',
|
|
13
13
|
docs: {
|
|
14
14
|
description: `Directive selectors should follow given naming rules. See more at ${STYLE_GUIDE_STYLE_TYPE_LINK} and ${STYLE_GUIDE_PREFIX_LINK}.`,
|
|
15
|
-
recommended: false,
|
|
16
15
|
},
|
|
17
16
|
schema: [
|
|
18
17
|
{
|
|
@@ -24,6 +23,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
24
23
|
{
|
|
25
24
|
type: 'array',
|
|
26
25
|
items: {
|
|
26
|
+
type: 'string',
|
|
27
27
|
enum: [
|
|
28
28
|
utils_1.SelectorUtils.OPTION_TYPE_ELEMENT,
|
|
29
29
|
utils_1.SelectorUtils.OPTION_TYPE_ATTRIBUTE,
|
|
@@ -9,7 +9,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
9
9
|
type: 'problem',
|
|
10
10
|
docs: {
|
|
11
11
|
description: `The @Attribute decorator is used to obtain a single value for an attribute. This is a much less common use-case than getting a stream of values (using @Input), so often the @Attribute decorator is mistakenly used when @Input was what was intended. This rule disallows usage of @Attribute decorator altogether in order to prevent these mistakes.`,
|
|
12
|
-
recommended: false,
|
|
13
12
|
},
|
|
14
13
|
schema: [],
|
|
15
14
|
messages: {
|
|
@@ -10,7 +10,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
10
10
|
type: 'suggestion',
|
|
11
11
|
docs: {
|
|
12
12
|
description: 'Disallows declaring empty lifecycle methods',
|
|
13
|
-
recommended: '
|
|
13
|
+
recommended: 'recommended',
|
|
14
14
|
},
|
|
15
15
|
hasSuggestions: true,
|
|
16
16
|
schema: [],
|
|
@@ -14,7 +14,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
14
14
|
type: 'suggestion',
|
|
15
15
|
docs: {
|
|
16
16
|
description: `Disallows usage of the \`${METADATA_PROPERTY_NAME}\` metadata property. See more at ${STYLE_GUIDE_LINK}`,
|
|
17
|
-
recommended: '
|
|
17
|
+
recommended: 'recommended',
|
|
18
18
|
},
|
|
19
19
|
schema: [
|
|
20
20
|
{
|
|
@@ -10,7 +10,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
10
10
|
type: 'suggestion',
|
|
11
11
|
docs: {
|
|
12
12
|
description: 'Ensures that input bindings, including aliases, are not named or prefixed by the configured disallowed prefixes',
|
|
13
|
-
recommended: false,
|
|
14
13
|
},
|
|
15
14
|
schema: [
|
|
16
15
|
{
|
|
@@ -12,7 +12,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
12
12
|
type: 'suggestion',
|
|
13
13
|
docs: {
|
|
14
14
|
description: 'Ensures that input bindings are not aliased',
|
|
15
|
-
recommended: '
|
|
15
|
+
recommended: 'recommended',
|
|
16
16
|
},
|
|
17
17
|
fixable: 'code',
|
|
18
18
|
hasSuggestions: true,
|
|
@@ -13,7 +13,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
13
13
|
type: 'suggestion',
|
|
14
14
|
docs: {
|
|
15
15
|
description: `Disallows usage of the \`${METADATA_PROPERTY_NAME}\` metadata property. See more at ${STYLE_GUIDE_LINK}`,
|
|
16
|
-
recommended: '
|
|
16
|
+
recommended: 'recommended',
|
|
17
17
|
},
|
|
18
18
|
schema: [],
|
|
19
19
|
messages: {
|
|
@@ -10,7 +10,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
10
10
|
type: 'suggestion',
|
|
11
11
|
docs: {
|
|
12
12
|
description: 'Ensures that output bindings, including aliases, are not named as standard DOM events',
|
|
13
|
-
recommended: '
|
|
13
|
+
recommended: 'recommended',
|
|
14
14
|
},
|
|
15
15
|
schema: [],
|
|
16
16
|
messages: {
|
|
@@ -11,7 +11,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
11
11
|
type: 'suggestion',
|
|
12
12
|
docs: {
|
|
13
13
|
description: `Ensures that output bindings, including aliases, are not named "on", nor prefixed with it. See more at ${STYLE_GUIDE_LINK}`,
|
|
14
|
-
recommended: '
|
|
14
|
+
recommended: 'recommended',
|
|
15
15
|
},
|
|
16
16
|
schema: [],
|
|
17
17
|
messages: {
|
|
@@ -12,7 +12,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
12
12
|
type: 'suggestion',
|
|
13
13
|
docs: {
|
|
14
14
|
description: 'Ensures that output bindings are not aliased',
|
|
15
|
-
recommended: '
|
|
15
|
+
recommended: 'recommended',
|
|
16
16
|
},
|
|
17
17
|
fixable: 'code',
|
|
18
18
|
hasSuggestions: true,
|
|
@@ -13,7 +13,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
13
13
|
type: 'suggestion',
|
|
14
14
|
docs: {
|
|
15
15
|
description: `Disallows usage of the \`${METADATA_PROPERTY_NAME}\` metadata property. See more at ${STYLE_GUIDE_LINK}`,
|
|
16
|
-
recommended: '
|
|
16
|
+
recommended: 'recommended',
|
|
17
17
|
},
|
|
18
18
|
schema: [],
|
|
19
19
|
messages: {
|
|
@@ -12,7 +12,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
12
12
|
type: 'suggestion',
|
|
13
13
|
docs: {
|
|
14
14
|
description: `Disallows usage of the \`${METADATA_PROPERTY_NAME}\` metadata property. See more at ${STYLE_GUIDE_LINK}.`,
|
|
15
|
-
recommended: false,
|
|
16
15
|
},
|
|
17
16
|
schema: [],
|
|
18
17
|
messages: {
|
|
@@ -10,7 +10,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
10
10
|
type: 'suggestion',
|
|
11
11
|
docs: {
|
|
12
12
|
description: 'Enforce consistent prefix for pipes.',
|
|
13
|
-
recommended: false,
|
|
14
13
|
},
|
|
15
14
|
schema: [
|
|
16
15
|
{
|
|
@@ -21,7 +20,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
21
20
|
items: {
|
|
22
21
|
type: 'string',
|
|
23
22
|
},
|
|
24
|
-
minimum: 1,
|
|
25
23
|
uniqueItems: true,
|
|
26
24
|
},
|
|
27
25
|
},
|
|
@@ -12,7 +12,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
12
12
|
type: 'suggestion',
|
|
13
13
|
docs: {
|
|
14
14
|
description: `Ensures component's \`${METADATA_PROPERTY_NAME}\` is set to \`${STRATEGY_ON_PUSH}\``,
|
|
15
|
-
recommended: false,
|
|
16
15
|
},
|
|
17
16
|
hasSuggestions: true,
|
|
18
17
|
schema: [],
|
|
@@ -10,7 +10,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
10
10
|
type: 'suggestion',
|
|
11
11
|
docs: {
|
|
12
12
|
description: 'Prefer to declare `@Output` as `readonly` since they are not supposed to be reassigned',
|
|
13
|
-
recommended: false,
|
|
14
13
|
},
|
|
15
14
|
hasSuggestions: true,
|
|
16
15
|
schema: [],
|
|
@@ -22,7 +21,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
22
21
|
defaultOptions: [],
|
|
23
22
|
create(context) {
|
|
24
23
|
return {
|
|
25
|
-
[`PropertyDefinition:not([readonly]) > ${utils_1.Selectors.OUTPUT_DECORATOR}`]({ parent: { key }, }) {
|
|
24
|
+
[`PropertyDefinition:not([readonly=true]) > ${utils_1.Selectors.OUTPUT_DECORATOR}`]({ parent: { key }, }) {
|
|
26
25
|
context.report({
|
|
27
26
|
node: key,
|
|
28
27
|
messageId: 'preferOutputReadonly',
|
|
@@ -12,7 +12,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
12
12
|
type: 'suggestion',
|
|
13
13
|
docs: {
|
|
14
14
|
description: `Ensures component \`${METADATA_PROPERTY_NAME}\` property is set to \`${IS_STANDALONE}\` in the component decorator`,
|
|
15
|
-
recommended: false,
|
|
16
15
|
},
|
|
17
16
|
fixable: 'code',
|
|
18
17
|
schema: [],
|
|
@@ -12,7 +12,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
12
12
|
type: 'suggestion',
|
|
13
13
|
docs: {
|
|
14
14
|
description: `The ./ and ../ prefix is standard syntax for relative URLs; don't depend on Angular's current ability to do without that prefix. See more at ${STYLE_GUIDE_LINK}`,
|
|
15
|
-
recommended: false,
|
|
16
15
|
},
|
|
17
16
|
schema: [],
|
|
18
17
|
messages: {
|
|
@@ -12,7 +12,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
12
12
|
type: 'suggestion',
|
|
13
13
|
docs: {
|
|
14
14
|
description: 'Ensures ASC alphabetical order for `NgModule` metadata arrays for easy visual scanning',
|
|
15
|
-
recommended: false,
|
|
16
15
|
},
|
|
17
16
|
fixable: 'code',
|
|
18
17
|
schema: [
|
|
@@ -11,7 +11,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
11
11
|
type: 'suggestion',
|
|
12
12
|
docs: {
|
|
13
13
|
description: `Using the \`${METADATA_PROPERTY_NAME}\` property makes \`Injectables\` tree-shakable`,
|
|
14
|
-
recommended: false,
|
|
15
14
|
},
|
|
16
15
|
hasSuggestions: true,
|
|
17
16
|
schema: [
|
|
@@ -11,7 +11,6 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
11
11
|
type: 'suggestion',
|
|
12
12
|
docs: {
|
|
13
13
|
description: `Ensures that classes implement lifecycle interfaces corresponding to the declared lifecycle methods. See more at ${STYLE_GUIDE_LINK}`,
|
|
14
|
-
recommended: 'warn',
|
|
15
14
|
},
|
|
16
15
|
schema: [],
|
|
17
16
|
messages: {
|
|
@@ -11,7 +11,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
11
11
|
type: 'suggestion',
|
|
12
12
|
docs: {
|
|
13
13
|
description: `Ensures that \`Pipes\` implement \`${PIPE_TRANSFORM}\` interface`,
|
|
14
|
-
recommended: '
|
|
14
|
+
recommended: 'recommended',
|
|
15
15
|
},
|
|
16
16
|
fixable: 'code',
|
|
17
17
|
schema: [],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular-eslint/eslint-plugin",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "17.0.0-alpha.0",
|
|
4
4
|
"description": "ESLint plugin for Angular applications, following angular.io/styleguide",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
"LICENSE"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@angular-eslint/utils": "
|
|
21
|
-
"@typescript-eslint/utils": "
|
|
20
|
+
"@angular-eslint/utils": "17.0.0-alpha.0",
|
|
21
|
+
"@typescript-eslint/utils": "6.10.0"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"eslint": "^7.20.0 || ^8.0.0",
|
|
25
25
|
"typescript": "*"
|
|
26
26
|
},
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "e0478be1ae5b9010ad1d74eac4d06511250bf13f"
|
|
28
28
|
}
|