Episode 23/08: Angular 15.2, Content on Signals
Tags: webdev, javascript, angular, programming
Published: 2023-02-27 20:39:20

Angular 15.2 was released with an automatic standalone migration schematic. In addition, quite a lot of content about the upcoming Angular Signals was published, including 5,5 hours of video streaming featuring Ryan Carniato (SolidJS), Alex Rickabaugh (Angular Team), and Pawel Kozlowski (Angular Team).

{% embed https://youtu.be/Hxfhf0c4ssM %}

## Angular 15.2

Angular 15.2 is out. Its main and quite powerful feature is a schematic that automatically migrates your NgModule-based code to standalone components. 

That's not all of it. The schematic also replaces the AppModule with the bootstrapApplication function. Standalone Components became already stable in version 15.0.

We also got deprecations for class-based router guards and resolvers. You have to replace them with their functional counterparts.

In terms of testing, we got a RouterTestingHarness. It simplifies those test where navigation plays a role and the component makes use of the ActivatedRoute service.

For more information, checkout the official [ChangeLog](https://github.com/angular/angular/releases/tag/15.2.0) or the Ninja's Squad blog article.

{% embed https://blog.ninja-squad.com/2023/02/23/what-is-new-angular-15.2/ %}

## Pre-Release Angular 16

We also have a first pre-release for Angular 16. Minko Gechev, the Angular product lead, indicated that this version will already include parts of the improved hydration feature. We can expect a detailed RFC soon.

{% embed https://twitter.com/mgechev/status/1628838885227917315 %}

## Content on Signals

And the Signal's RFC triggered a hype that overshadows the one we got with standalone components. The RFC is also heavily perceived outside of Angular.

Quite a lot of signal-based content was published. For example from Sander Elias, a well-known GDE, Sarah Drasner, Director of Engineering at Google Core Developer Web, and Joshua Morony. 

Joshua focuses on signal's impact on the usage of RxJs. He suggests that RxJs is required for asynchronous tasks, that both techniques can be used together and that signals make's Angular fully reactive.

{% embed https://youtu.be/4FkFmn0LmLI %}

Sarah Drasner came up with a visually appealing application that showcases Signal's functionality.

{% embed https://angular-signals.netlify.app/ %}

Sander Elias' article can be seen as a signal's FAQ. Similar to Joshua, he also focuses on the relation to RxJs and explains the need for signals.

[Angular Signals](https://github.com/SanderElias/Samples/tree/main/Angular-Signals)

The most detailed one though, was the video stream of Ryan Carniato, who championed the signal's approach by inventing the framework SolidJS.

He was joined by two members of the Angular team, namely Alex Rickabaugh and Pawel Koszlowski. So a massive amount of knowledge packed into one place. There was just one drawback. The videos lasted 5 and a half hours, but it comes with chapters 😉.

{% embed https://www.youtube.com/watch?v=HstDoVQeP9g %}

## Minor Releases

Other than that, the two testing frameworks Cypress and Playwright had new minor version releases.

Cypress 12.7 contains bug fixes and some new features for their commercial product Cypress Cloud. Additionally, it has an API that allows third parties to integrate a framework into the Component Test Runner.

[Cypress 12.7](https://docs.cypress.io/guides/references/changelog#12-7-0)

Playwright 1.31 offers a new matcher to check if an element is inside a viewport and has a feature which allows to setup dependencies for projects.

[Playwright 1.31](https://github.com/microsoft/playwright/releases/tag/v1.31.0)