title: Simple Angular 9 project compiles whole Angular Material (es2015 as esm2015)
body: <p>I've created a simple Angular 9 project with only few simple components. I've added angular material using:</p>
  
  <pre><code>ng add @angular/material
  </code></pre>
  
  <p>And after I've done it I run <strong>npm start</strong> and noticed it started to compile the whole @angular with a bunch of @angular/material/* components that I don't use in my app:</p>
  
  <pre><code>Compiling @angular/cdk/keycodes : es2015 as esm2015
  Compiling @angular/animations : es2015 as esm2015
  Compiling @angular/compiler/testing : es2015 as esm2015
  Compiling @angular/core : es2015 as esm2015
  Compiling @angular/cdk/collections : es2015 as esm2015
  Compiling @angular/common : es2015 as esm2015
  Compiling @angular/animations/browser : es2015 as esm2015
  Compiling @angular/cdk/observers : es2015 as esm2015
  Compiling @angular/core/testing : es2015 as esm2015
  Compiling @angular/cdk/platform : es2015 as esm2015
  Compiling @angular/cdk/accordion : es2015 as esm2015
  Compiling @angular/cdk/portal : es2015 as esm2015
  Compiling @angular/common/http : es2015 as esm2015
  Compiling @angular/cdk/bidi : es2015 as esm2015
  Compiling @angular/cdk/a11y : es2015 as esm2015
  Compiling @angular/cdk/text-field : es2015 as esm2015
  Compiling @angular/cdk/layout : es2015 as esm2015
  Compiling @angular/common/testing : es2015 as esm2015
  Compiling @angular/platform-browser : es2015 as esm2015
  Compiling @angular/forms : es2015 as esm2015
  Compiling @angular/router : es2015 as esm2015
  Compiling @angular/cdk/stepper : es2015 as esm2015
  Compiling @angular/cdk/table : es2015 as esm2015
  Compiling @angular/cdk/tree : es2015 as esm2015
  Compiling @angular/animations/browser/testing : es2015 as esm2015
  Compiling @angular/cdk/scrolling : es2015 as esm2015
  Compiling @angular/platform-browser/animations : es2015 as esm2015
  Compiling @angular/cdk/clipboard : es2015 as esm2015
  Compiling @angular/platform-browser/testing : es2015 as esm2015
  Compiling @angular/router/testing : es2015 as esm2015
  Compiling @angular/common/http/testing : es2015 as esm2015
  Compiling @angular/platform-browser-dynamic : es2015 as esm2015
  Compiling @angular/cdk/drag-drop : es2015 as esm2015
  Compiling @angular/cdk/overlay : es2015 as esm2015
  Compiling @angular/material/core : es2015 as esm2015
  Compiling @angular/material/expansion : es2015 as esm2015
  Compiling @angular/platform-browser-dynamic/testing : es2015 as esm2015
  Compiling @angular/material/divider : es2015 as esm2015
  Compiling @angular/material/button : es2015 as esm2015
  Compiling @angular/material/sort : es2015 as esm2015
  Compiling @angular/material/form-field : es2015 as esm2015
  Compiling @angular/material/icon : es2015 as esm2015
  Compiling @angular/material/tooltip : es2015 as esm2015
  Compiling @angular/material/dialog : es2015 as esm2015
  Compiling @angular/material/badge : es2015 as esm2015
  Compiling @angular/material/card : es2015 as esm2015
  Compiling @angular/material/button-toggle : es2015 as esm2015
  Compiling @angular/material/bottom-sheet : es2015 as esm2015
  Compiling @angular/material/select : es2015 as esm2015
  Compiling @angular/material/checkbox : es2015 as esm2015
  Compiling @angular/material/input : es2015 as esm2015
  Compiling @angular/material/chips : es2015 as esm2015
  Compiling @angular/material/autocomplete : es2015 as esm2015
  Compiling @angular/material/grid-list : es2015 as esm2015
  Compiling @angular/material/icon/testing : es2015 as esm2015
  Compiling @angular/material/list : es2015 as esm2015
  Compiling @angular/material/paginator : es2015 as esm2015
  Compiling @angular/material/progress-spinner : es2015 as esm2015
  Compiling @angular/material/menu : es2015 as esm2015
  Compiling @angular/material/progress-bar : es2015 as esm2015
  Compiling @angular/material/radio : es2015 as esm2015
  Compiling @angular/material/datepicker : es2015 as esm2015
  Compiling @angular/material/sidenav : es2015 as esm2015
  Compiling @angular/material/slider : es2015 as esm2015
  Compiling @angular/material/slide-toggle : es2015 as esm2015
  Compiling @angular/material/snack-bar : es2015 as esm2015
  Compiling @angular/material/stepper : es2015 as esm2015
  Compiling @angular/material/table : es2015 as esm2015
  Compiling @angular/material/toolbar : es2015 as esm2015
  Compiling @angular/material/tabs : es2015 as esm2015
  Compiling @angular/material/tree : es2015 as esm2015
  </code></pre>
  
  <p>My question is: why it happened? Why does that need to happen?</p>
  
  <p>Before having @angular/material in my project nothing like that had to happen on running <strong>npm start</strong>. Here is my <strong>app.module.ts</strong>:</p>
  
  <pre><code>@NgModule({
    declarations: [
      AppComponent,
      ParentCompComponent,
      ChildCompComponent,
      MainComponent
    ],
    imports: [
      BrowserModule,
      AppRoutingModule,
      FormsModule,
      ReactiveFormsModule,
      MatButtonModule,
      MatToolbarModule
    ],
    providers: [],
    bootstrap: [AppComponent]
  })
  export class AppModule { }
  </code></pre>