I think this is a little strange, and I really don't understand why they are telling you to add it for best practice. If you add it to each class, this is the best practice, I do not understand why this is necessary at all. It would be easier if the infrastructure checked each class, if the designer needs injected materials or not. This could be resolved using the typescript command line property to always generate (mock) metadata.
Advice to always add it, I think it seems that the compiler always adds metadata (which is impossible, as far as I know). You can also (with vigilance) only (and always) add it to classes that need injected material, even if they have a different decorator. That would probably be the most obvious decision - but hey - being sloppy can be both a bad and a good thing. In this case, you will be the judge.
TL DR If you do not have other decorators AND , if your constructor needs / etc services , then you need it.
source share