Angular CLI version | Angular version | Node.js version | TypeScript version | RxJS version | |
---|---|---|---|---|---|
1.0.0-beta.17 (package name: angular-cli) | ~2.0.2 | ^6.9.5 | ~2.0.10 | ^5.0.3 | |
1.0.0-beta.20-1 (package name: angular-cli) | ~2.1.2 | ^6.9.5 | ~2.0.10 | ^5.0.3 | |
1.0.0-beta.22-1 (package name: angular-cli) | ~2.2.4 | ^6.9.5 | ~2.0.10 | ^5.0.3 | |
1.0.0-beta.30 | ~2.3.1 | ^6.9.5 | ~2.0.10 | ^5.0.3 | |
1.0.0-rc.4 | ~2.4.10 | ^6.9.5 | ~2.0.10 | ^5.0.3 | |
~1.0.6 | >= 4.0.3 <= 4.1.3 | ^6.9.5 | ~2.2.2 | ^5.0.3 | |
~1.1.3 | >= 4.0.3 <= 4.1.3 | ^6.9.5 | ~2.3.4 | ^5.0.3 | |
~1.2.7 | >= 4.0.3 <= 4.1.3 | ^6.9.5 | ~2.3.4 | ^5.0.3 | |
~1.3.2 | >= 4.2.6 <= 4.4.7 | ^6.9.5 | ~2.4.2 | ^5.0.3 | |
~1.4.10 | >= 4.2.6 <= 4.4.7 | ^6.9.5 || ^8.9.4 | ~2.4.2 | ^5.0.3 | |
~1.5.6 | >= 5.0.5 <= 5.1.3 | ^6.9.5 || ^8.9.4 | >= 2.4.2 <= 2.5.3 | <= 5.5.12 < 6.0.0 | |
~1.6.7 | ~5.2.11 | ^6.9.5 || ^8.9.4 | ~2.5.3 | <= 5.5.12 < 6.0.0 | |
~1.7.4 | ~5.2.11 | ^6.9.5 || ^8.9.4 | ~2.5.3 | <= 5.5.12 < 6.0.0 | |
~6.0.8 | ~6.0.9 | ^8.9.4 | ~2.7.2 | ^6.0.0 | |
~6.1.5 | ~6.1.10 | ^8.9.4 | ~2.7.2 | ^6.2.2 | |
~6.2.9 | ~6.1.10 | ^8.9.4 | ~2.9.2 | ^6.2.2 | |
~7.0.7 | ~7.0.4 | ^8.9.4 || ^10.9.0 | ~3.1.6 | ^6.3.3 | |
~7.1.4 | ~7.1.4 | ^8.9.4 || ^10.9.0 | ~3.1.6 | ^6.3.3 | |
~7.2.4 | ~7.2.15 | ^8.9.4 || ^10.9.0 | ~3.2.4 | ^6.3.3 | |
~7.3.9 | ~7.2.15 | ^8.9.4 || ^10.9.0 | ~3.2.4 | ^6.3.3 | |
~8.0.6 | ~8.0.3 | ^10.9.0 | ~3.4.5 | ^6.4.0 | |
~8.1.3 | ~8.1.3 | ^10.9.0 | ~3.4.5 | ^6.4.0 | |
~8.2.2 | ~8.2.14 | ^10.9.0 | ~3.4.5 | ^6.4.0 | |
~8.3.29 | ~8.2.14 | ^10.9.0 | ~3.5.3 | ^6.4.0 | |
~9.0.7 | ~9.0.7 | ^10.13.0 || ^12.11.1 | >= 3.6.5 <= 3.7.7 | ^6.5.5 | |
~9.1.15 | ~9.1.13 | ^10.13.0 || ^12.11.1 | >= 3.6.5 <= 3.8.3 | ^6.5.5 | |
~10.0.8 | ~10.0.14 | ^10.13.0 || ^12.11.1 | ~3.9.4 | ^6.5.5 | |
~10.1.7 | ~10.1.6 | ^10.13.0 || ^12.11.1 | >= 3.9.4 <= 4.0.8 | ^6.5.5 | |
~10.2.4 | ~10.2.5 | ^10.13.0 || ^12.11.1 | >= 3.9.4 <= 4.0.8 | ^6.5.5 | |
~11.0.7 | ~11.0.9 | ^10.13.0 || ^12.11.1 | ~4.0.8 | ^6.5.5 | |
~11.1.4 | ~11.1.2 | ^10.13.0 || ^12.11.1 | >= 4.0.8 <= 4.1.6 | ^6.5.5 | |
~11.2.19 | ~11.2.14 | ^10.13.0 || ^12.11.1 | >= 4.0.8 <= 4.1.6 | ^6.5.5 | |
~12.0.5 | ~12.0.5 | ^12.14.1 || ^14.15.5 | ~4.2.4 | ^6.5.5 | |
~12.1.4 | ~12.1.5 | ^12.14.1 || ^14.15.5 | >= 4.2.4 <= 4.3.5 | ^6.5.5 | |
~12.2.0 | ~12.2.0 | ^12.14.1 || ^14.15.5 | >= 4.2.4 <= 4.3.5 | ^6.5.5 || ^7.0.1 | |
~13.0.4 | ~13.0.3 | ^12.20.2 || ^14.15.5 || ^16.10.0 | ~4.4.4 | ^6.5.5 || ^7.4.0 | |
~13.1.4 | ~13.1.3 | ^12.20.2 || ^14.15.5 || ^16.10.0 | >= 4.4.4 <= 4.5.5 | ^6.5.5 || ^7.4.0 | |
~13.2.6 | ~13.2.7 | ^12.20.2 || ^14.15.5 || ^16.10.0 | >= 4.4.4 <= 4.5.5 | ^6.5.5 || ^7.4.0 | |
~13.3.0 | ~13.3.0 | ^12.20.2 || ^14.15.5 || ^16.10.0 | >= 4.4.4 < 4.7.0 | ^6.5.5 || ^7.4.0 | |
~14.0.0 | ~14.0.0 | ^14.15.5 || ^16.10.0 | >= 4.6.0 < 4.8.0 | ^6.5.5 || ^7.4.0 |
@LayZeeDK First of all thank you very much for such detailed information. Coming to my problem where I have a big project built in Angular 7 and it needs to have typescript version of at least 3.6.3(as per okta auth library), so i have updated typescript (from 3.2.2 to ^3.6.3), tslib (from 1.9.3 to ^2.3.1) and @types/node (from 8.9.5 to 10.17.60) under dev dependency then auth library seems working fine as per update configuration. Actual question comes in my mind is: would it break somewhere because of these updates?
ng version just for your information.
Lots of risks for breakage, @shripadgodse . Almost every minor version of TypeScript has breaking changes as described at https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes. Happy reading and migrating! Or hopefully you have a good test suite and CI process to rely on.
Your tslib version must support your TypeScript version. tslib 2.x is incompatible with TypeScript 3.8 and older. Stick with tslib 1.13.0 or older.
Angular CLI 7.x supports Node.js ^10.9.x so you should be good in terms of Node.js if you remember to pin the version locally and in CI.
Thanks for this great list!
Angular 13.3.x appears to work with Typescript 4.6
Gleaned from https://github.com/angular/angular-cli/blob/13.3.x/package.json
Appears to work in production grade project:
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 13.3.0
Node: 16.13.1
Package Manager: npm 8.1.2
OS: darwin x64
Angular: 13.3.0
... animations, cli, common, compiler, compiler-cli, core
... elements, forms, platform-browser, platform-browser-dynamic
... router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1303.0
@angular-devkit/build-angular 13.3.0
@angular-devkit/core 13.3.0
@angular-devkit/schematics 13.3.0
@schematics/angular 13.3.0
rxjs 7.5.5
typescript 4.6.2
Angular 13.3.x appears to work with Typescript 4.6
Correct: https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#13.3.0 & angular/angular#45190
Got it, thanks
hi all,
I have below query on ES6 modules(.mjs files) in Angular 13. Please let me know your inputs on this issue.
I have updated the Angular from 12 to 13 (Node version is 12.20.2). When I run the app I am getting the error "Uncaught SyntaxError: Unexpected token 'export". in browser
Adding below few details to get the context.
In angular.json config, I had below entry in scripts section(while I was using Angular 12).
"./node_modules/@angular/core/bundles/core.umd.js"
After the angular update to 13, I noticed that in place of umd JS files we have .mjs file "./node_modules/@angular/core/esm2020/core.mjs".
Note: Error is from scripts.js and it's pointing to the line "export * from './index';" (this line is from core.mjs file which has many other dependent files under node_modules/@angular/core/esm2020/ that uses export keyword)
Please let me know if anybody has faced this issue and solution for the same?
I tried adding the type "module" in main package.json. But still getting the same issue.
@deepak-prabhu
As of Angular 13.0, the Angular Package Format (APF) no longer supports UMD, see ng-packagr 13.0 release notes.
hi @LayZeeDK Thank you for reply. Yes, I have replaced those with .mjs files eg: ./node_modules/@angular/core/esm2020/core.mjs in angular.json (scripts section). Build is working fine. However when I run the app I'm getting "Uncaught SyntaxError: Unexpected token 'export". in browser. Please suggest if you have come across such issues or any workaround for this?
@deepak-prabhu
Node.js 12 only has experimental support for ES Modules when passing the --experimental-modules
flag.
@LayZeeDK Thank you for reply.
My use case is little different. I have single page application build using angular 13 (Node version is 12.20.2).
Inside scripts section of angular.json I have below entries:
"scripts": [
"./node_modules/@angular/core/esm2020/core.mjs",
"./node_modules/@angular/common/esm2020/common.mjs"
]
If I execute the above script manually eg: node --es-module-specifier-resolution=node ./node_modules/@angular/core/esm2020/core.mjs works fine.
ng build is also working fine. However when I run the app I'm getting "Uncaught SyntaxError: Unexpected token 'export". in browser. Browser throws an error for export keyword that is used inside core.mjs
@deepak-prabhu
Oh, that scripts section! I don't know if Angular CLI can add those scripts with type=module
attributes. If not, you will have to add them yourself.
But what are you're trying to do? Why do you need Angular in the global scope? Did you consider JIT compilation?
hi @LayZeeDK
Earlier we had Angular 8 with below code in Angular.json. As part of Angular 13 update, I have just updated the paths for scripts
"scripts": [
"./node_modules/@angular/core/bundles/core.umd.min.js",
"./node_modules/@angular/common/bundles/common.umd.min.js",
]
@deepak-prabhu
Those were not ES Modules.
Hi @LayZeeDK yes. Now with angular 13, I see only .mjs files in those node modules angular core location and no js files so I have added .mjs file location inside scripts section of angular json configuration
I've angular v4 project, @LayZeeDK please help me to run project
Hi, @vn2509671vn
Which issues are you facing?
This is really helpful. Thanks a lot!
Hi @vn2509671vn,
This matrix so useful!! Thanks a lot for putting in the time and sharing!
@mkadev commented on Apr 29, 2022, 9:49 AM GMT+2:
Hi @vn2509671vn,
This matrix so useful!! Thanks a lot for putting in the time and sharing!
@LayZeeDK you probably mean.
@LayZeeDK The following packages are somewhat coupled with Angular:
- tslib
- zone.js
- core.js
How tightly coupled are they with Angular and would it be useful to include those in the matrix?
Thanks for the feature request, @jerone! Lately, I have been considering adding zone.js
and tslib
.
core-js
is about polyfills so its usage largely depends on your needs. Even then, alternatives are available, it's not a requirement.
Thanks for the feature request, @jerone! Lately, I have been considering adding
zone.js
andtslib
.
core-js
is about polyfills so its usage largely depends on your needs. Even then, alternatives are available, it's not a requirement.
Makes sense. It looks like they stopped using/integrating core.js
when Angular removed support for IE.
If someone is up for the task, fork the Gist, add zone.js
and/or tslib
columns and comment a link in this thread.
@mkadev commented on Apr 29, 2022, 9:49 AM GMT+2:
Hi @vn2509671vn,
This matrix so useful!! Thanks a lot for putting in the time and sharing!@LayZeeDK you probably mean.
Gah, yes, of course :-(
Node.js version 18 is now the "current" version: https://nodejs.org/en/about/releases/
Can this be updated to show what is compatible with that?
Thank you!!
@tcsdmaic
The Angular CLI adds support for Node.js (Active) LTS versions, not Node.js Current versions.
From your link:
Production applications should only use Active LTS or Maintenance LTS releases.
Hello, I currently have a project that is made with Angular v9.1.13, the Typescript is v3.8 and the Node is v12. On my PC I have Angular v14, Node v16 and Typescript 4.7 installed. I had a problem compiling it and I was wondering, will I have to download the version of Angular from v14 that I have installed to v12, so that I can compile that project made in v9?
@JuanDMoreno04
Your issue is that Angular 9.1 only supports Node.js 10 and 12. You must downgrade to Node.js 12 and a package manager version compatible with whatever is used in that project. Then install node_modules from scratch in the project directory and hopefully you are good to go. Your global version of Angular CLI doesn't impact local versions except if you have an ancient global version. Your global version of TypeScript doesn't impact local versions.
Here you go, @BruneXX. Angular CLI 13.2.x has official support for Node.js v16.10.x and up, including 16.14.x.