I'm just starting out with learning nestjs and playing around with examples from the docs
This snippet of code works, cats module defines providers and controllers etc.
@Controller('cats')
export class CatsController {
constructor(private readonly catsService: CatsService) {}
// etc...
BUT
If I remove the type annotation
@Controller('cats')
export class CatsController {
constructor(private readonly catsService) {}
// etc...
The app breaks - since I'm used to type annotations not affecting runtime at all I have to wonder why does it matter. My only guess would be that Nestjs implements its own compiler? or I've heard typescript allows to write plugins to the compiler - something like that?