Angular 10 Released
Since Angular v9 and Ivy were only released 4 month ago, it is very exciting to see Angular v10.0.0 released on June 25th. v10 doesn't have a ton of features, but still it offer several improvements!
What's new in the release
Angular Material New Date Range Picker
Angular material introduces a new date range picker component. For more information, please check the doc here.
Warnings about CommonJS imports
If you use a dependency which is packaged with CommonJS, it can result in a larger bundle size, since it will be harder for webpack to tree shake. Minko wrote a great article about why this is, here.
In Angular v10, if the dependency is CommonJS packaged, the CLI will give you a warning. I, for one, hope more and more libraries will use the ESM bundle instead.
Strict settings
Angular CLI introduces a --strict
option when you create a new project.
ng new --strict
It will do the following things:
- Enable strict mode in Typescript compile options
- Enable strict template check of Angular. For details, check the doc here.
- Reduce default bundle budgets by ~75%.
- Config linting rules to prevent declarations of type 'any'.
- Config your app as side effect free to enable advanced tree shaking. For more detail, check the doc here.
Update the version of the dependencies
- Typescript has been updated to 3.9
- TSLib has updated to 2.0
- TSLint has updated to v6
Update the browser configuration
Also the default supported browsers have been updated to exclude some old browsers, and include the new version. And you can update the browsers support by updating the .browserslistrc
file.
Deprecations
Angular Package Format no longer includes ESM5
or FESM5
bundles. It saves a lot of download and installation time. Those bundles are no longer needed, since now, the ES5 support is done at the end of the build by babel.
And also finally IE 9, 10, and Internet Explorer Mobile, are marked as deprecation, and will not be supported at v11.
The @angular/bazel
package is also deprecated in v10. Instead, Angular Bazel support will continue in rules_NodeJS Angular. For more details, please check Alex Eagle's blog here.
Performance improvements
There are several performance improvements about ngcc
and compiler-cli
. So now, build
will be faster than v9.
How to update to v10
Just use Angular CLI, and run
ng update @angular/cli @angular/core
For more details, please check the official blog here.