Search code examples
angularconstructoreslint

ESLint complaining about empty constructor and ngOnInit-implementation


In my Angular application, the rule no-empty-function, triggered an error for my constructor. Well, it is indeed an empty body there but the constructor itself needs to be there, because I inject a service.

export class ClientListComponent implements OnInit {
  constructor(service: AuxService) { }
  ngOnInit() { }
  ...
}

Interestingly, it also complains about the implemented method for the interface. However, the error messages vary between those two, which perplexes me additionally.

Unexpected empty constructor.
Unexpected empty method 'ngOnInit'.

So, it clearly distinguishes between a plain method (be that still required one due to the implemented interface, which itself is wrong in my opinion to nag about) and a constructor. I'm sure that the creators have heard about dependency injection, so I can't understand what I'm missing.


Solution

  • I think you need to check below link https://eslint.org/docs/rules/no-empty-function

    Based on the documentation, below are incorrect

        constructor() {}
    
        foo() {}
    

    and these are correct

        constructor() {
            // do nothing.
        }
    
        foo() {
            // do nothing.
        }