Ivy (9.1.5) causes build failure
See original GitHub issueπ bug report
Affected Package
The issue is caused by package @angular/compiler-cli (ngcc)Is this a regression?
Yes, the previous version in which this bug was not present was: `9.1.0`Description
In JIT mode build fails with File name βnode_modules/apollo-angular/selectpipe.d.tsβ differs from already included file name βnode_modules/apollo-angular/SelectPipe.d.tsβ only in casing In AOT mode build fails with Symbol SelectPipe declared in * is not exported from apollo-angular
π¬ Minimal Reproduction
Clone https://github.com/n9niwas/ngccbug Run
yarn
yarn start
π₯ Exception or Error
ERROR in node_modules/apollo-angular/ApolloModule.d.ts:4:25 - error TS1149: File name '/Users/blah/Documents/ngrepros/ngccbug/node_modules/apollo-angular/selectpipe.d.ts' differs from already included file name '/Users/blah/Documents/ngrepros/ngccbug/node_modules/apollo-angular/SelectPipe.d.ts' only in casing.
4 import * as Ι΅ngcc1 from './selectpipe';
Also if I enable aot
the error is different:
ERROR in Symbol SelectPipe declared in /Users/blah/Documents/ngrepros/ngccbug/node_modules/apollo-angular/selectpipe.d.ts is not exported from apollo-angular (import into /Users/blah/Documents/ngrepros/ngccbug/src/app/app.component.ts)
This was also working fine in 9.1.0
π Your Environment
Angular Version:
Angular CLI: 9.1.4
Node: 13.11.0
OS: darwin x64
Angular: 9.1.5
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: Yes
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.901.4
@angular-devkit/build-angular 0.901.4
@angular-devkit/build-optimizer 0.901.4
@angular-devkit/build-webpack 0.901.4
@angular-devkit/core 9.1.4
@angular-devkit/schematics 9.1.4
@angular/cli 9.1.4
@ngtools/webpack 9.1.4
@schematics/angular 9.1.4
@schematics/update 0.901.4
rxjs 6.5.5
typescript 3.8.3
webpack 4.42.0
Anything else relevant?
Issue Analytics
- State:
- Created 3 years ago
- Reactions:3
- Comments:25 (8 by maintainers)
Top Results From Across the Web
Angular 9 application build fails when working with linked ...
I ask because the only way I've successfully linked (and watched changes) in a library in a 9/10 version is by turning ivy...
Read more >Release Notes β Axon.ivy Digital Business Platform 9.1 ...
... Release Notes Axon.ivy 9.1.1 (Weissfluh) ... always PopUp when ivyEngines are started + XIVY-4031 Bug Unexpected error when creating new APP +...
Read more >Spring Boot Reference Documentation
It is possible to build a Spring Boot project using Apache Ant+Ivy. ... But it may also lead to application code inconsistency and...
Read more >FortiNAC 9.1.8 Release Notes - Amazon AWS
New Features in 9.1.5 ... Upgrade failed due to: Operation CREATE USER failed for nac@localhost ... cause Endpoint Compliance scan failures.
Read more >Release Notes | FortiNAC 9.1.8
708671, Resync interfaces scheduled task for modeled FortiGate causes FortiGate SSL VPN ... 709544, Eclipse environment error with non-jar ivy artifacts.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@xiaotaoliu - for now roll-back your Angular versions to 9.1.4. You can do this by changing all the
@angular/...
framework packages in yourpackage.json
to 9.1.4.E.g.
And then re-installing your dependencies (i.e.
yarn
ornpm install
).Thanks for the reproduction @n9niwas. It made all the difference!
I have found the problem. It is a bug in ngcc.
During processing ngcc is spotting that the operating system is case-insensitive and then adding imports to files with canonical paths. E.g.
Note that there are two imports to the same file:
The first is from the original file. The second is added by ngcc.
Working on a fix.