Skip to content

AngularCompiler marks not related files as affected in incremental build #21591

Description

@SebastianPodgajny

Which @angular/* package(s) are the source of the bug?

compiler-cli

Is this a regression?

No

Description

Any change in main.ts/m1.ts/m2.ts eg changing console.log(1) to console.log(2) will cause src/lib/types.ts to be included in affectedFiles (checked here https://github.com/angular/angular-cli/blob/master/packages/ngtools/webpack/src/ivy/plugin.ts#L569)

Looks like type only file is not included in ignoreForEmit Set nor included in emitted files so IncrementalCompilation can't find it previously emitted files and marks it as affected every time

Please provide a link to a minimal reproduction of the bug

https://github.com/SebastianPodgajny/ng42543/tree/affected-type-repro

Please provide the exception or error you saw

No response

Please provide the environment you discovered this bug in

Angular CLI: 12.2.1
Node: 14.16.1
Package Manager: yarn 1.21.1
OS: darwin x64

Angular: 12.2.1
... animations, cli, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1202.1
@angular-devkit/build-angular   12.2.1
@angular-devkit/core            12.2.1
@angular-devkit/schematics      12.2.1
@schematics/angular             12.2.1
rxjs                            6.6.7
typescript                      4.3.5

Anything else?

This is followup to this issue angular/angular#42543 which was partially resolved by JoostK PR angular/angular#42759

Activity

  1. transferred this issue fromangular/angularon Aug 17, 2021
  2. JoostK commented on Aug 17, 2021

    @JoostK
    Member

    Moving to the CLI as it's managing the emission set by itself, so the Angular compiler is not at play here.

    It seems like Webpack never requests that module, so it is in fact never emitted.

  3. modified the milestone: Backlog on Aug 18, 2021
  4. alan-agius4 commented on Jan 11, 2022

    @alan-agius4
    Collaborator

    Had a look at this.

    Webpack will not request the module since the import for the type-only file is dropped when TS is transpiled to JS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions