angular-13-begins-to-take-shape

Angular 13 begins to take shape

The development of next major version of the TypeScript-based web framework is underway.




Angular 13 begins to take shape

Marina_Skoropadskaya / Getty Images

Angular 13, a planned upgrade to Google’s popular TypeScript-based web framework, is starting to take shape. Two beta releases, published on August 4 and August 11 and accessible on GitHub, introduce changes to forms and the router.

For forms, Angular 13 debuts a new type, FormControlStatus, which is a union of all possible status strings for form controls. Also, AbstractControl.status has been narrowed from string to FormControlStatus and StatusChanges have been narrowed from Observable to Observable. Most applications should consume these new types seamlessly, according the Angular changelog.

For the router, a change has been proposed to fix a situation in which the default URL serializer would drop everything afterward, including a question mark in query parameters, resulting in incorrect parsing for a navigation to /path?q=hello?&other=123. This change provides for correct parsing.

Production releases of Angular are targeted for every six months, meaning version 13 would be published by November. The predecessor Angular 12 release arrived May 12.

Other changes proposed for Angular 13 include:

  • For the compiler-cli, a fix has been proposed to use correct module resolution context for absolute imports in d.ts files.
  • Also for the compiler-cli, analysis would be skipped for incremental builds for files without Angular behavior. In an incremental build, the compiler tries to reuse as much analysis data from a prior compilation as possible to avoid doing the analysis work again. For source files without Angular behavior, however, no analysis data would be recorded, with the result that the source file would be reanalyzed each build, even if nothing had changed. This commit avoids the analysis of such source files.
  • For the language service, support would be offered for autocomplete string literal union types in templates.
  • For the router, missing outlet events would be added to RouterOutletContract. This will be needed when components are rendered dynamically via the module federation at some point in the future.

Paul Krill is an editor at large at InfoWorld, whose coverage focuses on application development.

Copyright © 2021 IDG Communications, Inc.