Gathering detailed insights and metrics for @angular-eslint/eslint-plugin
Gathering detailed insights and metrics for @angular-eslint/eslint-plugin
Gathering detailed insights and metrics for @angular-eslint/eslint-plugin
Gathering detailed insights and metrics for @angular-eslint/eslint-plugin
✨ Monorepo for all the tooling related to using ESLint with Angular
npm install @angular-eslint/eslint-plugin
Typescript
Module System
Node Version
NPM Version
TypeScript (99.58%)
JavaScript (0.42%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
MIT License
1,730 Stars
1,841 Commits
244 Forks
26 Watchers
24 Branches
111 Contributors
Updated on Jul 12, 2025
Latest Version
20.1.1
Package Id
@angular-eslint/eslint-plugin@20.1.1
Unpacked Size
229.28 kB
Size
36.76 kB
File Count
153
NPM Version
10.9.2
Node Version
22.16.0
Published on
Jun 19, 2025
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
3
1
Please see https://github.com/angular-eslint/angular-eslint for full usage instructions and guidance.
Key
Rule | Description | :white_check_mark: | :wrench: | :bulb: |
---|---|---|---|---|
contextual-lifecycle | Ensures that lifecycle methods are used in a correct context | :white_check_mark: | ||
no-async-lifecycle-method | Angular Lifecycle methods should not be async. Angular does not wait for async lifecycle but the code incorrectly suggests it does. | |||
no-attribute-decorator | 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. | |||
no-developer-preview | Disallow using code which is marked as developer preview | |||
no-experimental | Disallow using code which is marked as experimental | |||
require-lifecycle-on-prototype | Ensures that lifecycle methods are defined on the object's prototype instead of on an instance. | |||
sort-lifecycle-methods | Ensures that lifecycle methods are declared in order of execution |
Key
Rule | Description | :white_check_mark: | :wrench: | :bulb: |
---|---|---|---|---|
component-class-suffix | Classes decorated with @Component must have suffix "Component" (or custom) in their name. Note: As of v20, this is no longer recommended by the Angular Team. | |||
component-max-inline-declarations | Enforces a maximum number of lines in inline template, styles and animations. See more at https://angular.dev/style-guide#style-05-04 | |||
component-selector | Component selectors should follow given naming rules. See more at https://angular.dev/style-guide#style-02-07, https://angular.dev/style-guide#style-05-02 and https://angular.dev/style-guide#style-05-03. | |||
consistent-component-styles | Ensures consistent usage of styles /styleUrls /styleUrl within Component metadata | :wrench: | ||
contextual-decorator | Ensures that classes use contextual decorators in its body | |||
directive-class-suffix | Classes decorated with @Directive must have suffix "Directive" (or custom) in their name. Note: As of v20, this is no longer recommended by the Angular Team. | |||
directive-selector | Directive selectors should follow given naming rules. See more at https://angular.dev/style-guide#style-02-06 and https://angular.dev/style-guide#style-02-08. | |||
no-conflicting-lifecycle | Ensures that directives not implement conflicting lifecycle interfaces. | |||
no-duplicates-in-metadata-arrays | Ensures that metadata arrays do not contain duplicate entries. | |||
no-empty-lifecycle-method | Disallows declaring empty lifecycle methods | :white_check_mark: | :bulb: | |
no-forward-ref | Disallows usage of forwardRef references for DI | |||
no-input-prefix | Ensures that input bindings, including aliases, are not named or prefixed by the configured disallowed prefixes | |||
no-input-rename | Ensures that input bindings are not aliased | :white_check_mark: | :wrench: | :bulb: |
no-inputs-metadata-property | Disallows usage of the inputs metadata property. See more at https://angular.dev/style-guide#style-05-12 | :white_check_mark: | ||
no-lifecycle-call | Disallows explicit calls to lifecycle methods | |||
no-output-native | Ensures that output bindings, including aliases, are not named as standard DOM events | :white_check_mark: | ||
no-output-on-prefix | Ensures that output bindings, including aliases, are not named "on", nor prefixed with it. See more at https://angular.dev/guide/components/outputs#choosing-event-names | :white_check_mark: | ||
no-output-rename | Ensures that output bindings are not aliased | :white_check_mark: | :wrench: | :bulb: |
no-outputs-metadata-property | Disallows usage of the outputs metadata property. See more at https://angular.dev/style-guide#style-05-12 | :white_check_mark: | ||
no-pipe-impure | Disallows the declaration of impure pipes | :bulb: | ||
no-queries-metadata-property | Disallows usage of the queries metadata property. See more at https://angular.dev/style-guide#style-05-12. | |||
no-uncalled-signals | Warns user about unintentionally doing logic on the signal, rather than the signal's value | :bulb: | ||
pipe-prefix | Enforce consistent prefix for pipes. | |||
prefer-inject | Prefer using the inject() function over constructor parameter injection | :white_check_mark: | ||
prefer-on-push-component-change-detection | Ensures component's changeDetection is set to ChangeDetectionStrategy.OnPush | :bulb: | ||
prefer-output-emitter-ref | Use OutputEmitterRef instead of @Output() | |||
prefer-output-readonly | Prefer to declare @Output , OutputEmitterRef and OutputRef as readonly since they are not supposed to be reassigned | :bulb: | ||
prefer-signals | Use readonly signals instead of @Input() , @ViewChild() and other legacy decorators | :wrench: | ||
prefer-standalone | Ensures Components, Directives and Pipes do not opt out of standalone. | :white_check_mark: | :bulb: | |
relative-url-prefix | 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 https://angular.dev/style-guide#style-05-04 | |||
require-localize-metadata | Ensures that $localize tagged messages contain helpful metadata to aid with translations. | |||
runtime-localize | Ensures that $localize tagged messages can use runtime-loaded translations. | |||
sort-keys-in-type-decorator | Ensures that keys in type decorators (Component, Directive, NgModule, Pipe) are sorted in a consistent order | :wrench: | ||
use-component-selector | Component selector must be declared | |||
use-component-view-encapsulation | Disallows using ViewEncapsulation.None | :bulb: | ||
use-injectable-provided-in | Using the providedIn property makes Injectables tree-shakable | :bulb: | ||
use-lifecycle-interface | Ensures that classes implement lifecycle interfaces corresponding to the declared lifecycle methods. See more at https://angular.dev/style-guide#style-09-01 | :wrench: | ||
use-pipe-transform-interface | Ensures that Pipes implement PipeTransform interface | :white_check_mark: | :wrench: |
No vulnerabilities found.
Reason
30 commit(s) and 23 issue activity found in the last 90 days -- score normalized to 10
Reason
security policy file detected
Details
Reason
no dangerous workflow patterns detected
Reason
no binaries found in the repo
Reason
license file detected
Details
Reason
2 existing vulnerabilities detected
Details
Reason
Found 1/4 approved changesets -- score normalized to 2
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
detected GitHub workflow tokens with excessive permissions
Details
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
Reason
project is not fuzzed
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Score
Last Scanned on 2025-07-07
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More