title: How to lazy load angular core modules (FormsModule)
body: <p>I'm trying to make my bundle size as small as possible. I have an application that all routes are lazy loaded.</p>
  
  <p>My AppModule looks like this:</p>
  
  <pre><code>@NgModule({
      declarations: [
          AppComponent
      ],
      imports: [
          routing,
          CommonModule
      ],
      providers: [
      ]
  })
  export class AppModule { }
  </code></pre>
  
  <p>And I got a lazy loaded module that looks like this:</p>
  
  <pre><code>
  @NgModule({
    declarations: [
      LoginComponent
    ],
    exports: [
      LoginComponent
    ],
    imports: [
      CommonModule,
      ModalsModule,
      FormsModule,
      ReactiveFormsModule
    ]
  })
  export class LoginModalModule {
  }
  </code></pre>
  
  <p>My only dependency on <code>FormsModule</code> comes from lazy-loaded feature modules like this one, that only loads on some user interaction - like a click/touch event. But when I look in main.js, angular always bundles <code>@angular/forms</code>, even when the modules that uses it haven't been imported yet.</p>
  
  <p>Is is possible to load <code>@angular/forms</code> only when a module that uses it is created?</p>
  
  <p>I'm using Angular 9 under Ivy.</p>