Missing Component Decorator
Description
Angular lifecycle methods are a set of methods that allow you to hook into the lifecycle of an Angular component or directive. They must be used within a class that is decorated with the @Component() decorator.
YAML
This rule illustrates how to use custom labels to highlight specific parts of the code.
yaml
id: missing-component-decorator
message: You're using an Angular lifecycle method, but missing an Angular @Component() decorator.
language: TypeScript
severity: warning
rule:
pattern:
context: 'class Hi { $METHOD() { $$$_} }'
selector: method_definition
inside:
pattern: 'class $KLASS $$$_ { $$$_ }'
stopBy: end
not:
has:
pattern: '@Component($$$_)'
constraints:
METHOD:
regex: ngOnInit|ngOnDestroy
labels:
KLASS:
style: primary
message: "This class is missing the decorator."
METHOD:
style: secondary
message: "This is an Angular lifecycle method."
metadata:
contributedBy: samwighttExample
ts
class NotComponent {
ngOnInit() {}
}
@Component()
class Klass {
ngOnInit() {}
}