angular 13 ng build library fails (ivy partial compilation mode)

28.5k Views Asked by At

Recently I was having a problem installing an npm package (that used node-gyp). I tried upgrading the minor version of node from version 16.13.0 to 16.13.1 and upgrading my angular cli from 13.0.2 to 13.2.0. Once I got the package to install I generated a library with ng g library new-library. I don't know what what actually broke it, but now whenever I try to build alibrary it produces an error. I try ng build my-lib and get the below error.

✖ Compiling with Angular sources in Ivy partial compilation mode.
Transform failed with 1 error:
error: Invalid version: "15.2-15.3"

I tried reverting the version of node and angular cli but it didn't fix the problem. I even reverted the code to its original state and I get the error now. Is this a problem with my environment? How do I fix this issue?

6

There are 6 best solutions below

4
About Programmer On BEST ANSWER

This was a bug in the Angular CLI that has been fixed. In your package.json, update @angular/cli to either 12.2.16 or 13.2.1.

Source: https://github.com/angular/angular-cli/issues/22606#issuecomment-1026097996

2
m.shakeri On

This is a bug in Angular CLI 13.2.0.

Temporary solution:

Removing content configurating .browserslistrc file from root project. more info

6
Daniel Ehrhardt On

Comment out Safari from the .browserslistrc File, if you use Angular. This is a better Solution until there is a fix.

# last 2 Safari major version
2
Nitesh On

You can try this solution

open .browserslistrc and add

not ios_saf 15.2-15.3
not safari 15.2-15.3

Save the file and run again

ng build
0
A. Agius On

Please follow this Github issue: https://github.com/angular/angular-cli/issues/22606

As a workaround you can add the below to your browserslist configuration.

not safari 15.2-15.3 # TODO: remove once https://github.com/angular/angular-cli/issues/22606 is fixed.
0
Aman Kumar Gupta On

This is happening because the current version of your angular does not support the safari and ios version of 15.2-15.3.

This fix is available with angular version 13.2.1

But to fix this error in your version, what you have to do is to create a file in the root of your project named as .browserslistrc which will contain the following accepted browsers versions :

# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries

# For the full list of supported browsers by the Angular framework, please see:
# https://angular.io/guide/browser-support

# You can see what browsers were selected by your queries by running:
#   npx browserslist

last 1 Chrome version
last 1 Firefox version
last 2 Edge major versions
last 2 Safari major versions
last 2 iOS major versions
Firefox ESR
not IE 9-10 # Angular support for IE 9-10 has been deprecated and will be removed as of Angular v11. To opt-in, remove the 'not' prefix on this line.
not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line.
not ios_saf 15.2-15.3
not safari 15.2-15.3

For more information on accepted browsers versions by angular you can refer :

https://angular.io/guide/browser-support

For bug issue thread visit

https://github.com/angular/angular-cli/issues/22606

Hope it will help you or somebody else...

Thanks!