I was reading through a really well written article about Angular's module loading here - https://medium.com/@cyrilletuzi/understanding-angular-modules-ngmodule-and-their-scopes-81e4ed6f7407
Since providers at feature modules' NgModule are actually injected globally (and eagerly), the article talks about the "forRoot" pattern used in modules like RouterModule.
I came across ReactiveFormsModule - https://angular.io/api/forms/ReactiveFormsModule - which has the FormBuilder provider, but it doesn't seem to use the forRoot pattern. Doesn't this mean every feature module using ReactiveFormsModule will end up re-creating the FormBuilder provider? Am I missing something?
forRoot
usage in depth - Max Koretskyi