👋Welcome, Angular Enthusiasts

Welcome to the 14th edition of the Angular Addicts Newsletter — a monthly roundup of high-quality Angular resources that have caught my eye. (You can explore the first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, twelfth, and thirteenth issues here.)


📢Release highlights

📢Angular v16 is now available!

The Angular team shipped version 16 this month. Minko Gechev breaks down the headline features in the official release notes.

I've compiled a rundown of the biggest additions and changes, along with learning resources, in these two follow-up pieces:


💎Angular Gems of May, 2023

📰SignalStore RFC

The NgRx team, together with Marko Stanimirović, put forward a new RFC for SignalStore — a state management solution built around signals. The design closely mirrors @ngrx/component-store. A working prototype is available, along with its API docs, in the NgRx SignalStore playground repo.

To get a better feel for the feature, I put together an “article list” component in two flavors. I started with a ComponentStore-based implementation, then switched it over to a SignalStore-based approach. For a detailed walk-through of the migration steps and the key differences I encountered, you can review my write-up: From NgRx ComponentStore to SignalStore: the key takeaways from my demo project. It covers both the implementation and how SignalStore behaves in practice.


📰Add Superpowers to your Angular Inputs 🔋 (New feature 🎉)

Angular v16.1 will introduce support for transform functions in the @Inputs decorator on components. Enea Jahollari demonstrates with practical examples how these transforms work.

In a related piece, Gaurav Mukherjee shows how to leverage input transforms to create signal-based inputs in your components, titled "How to enjoy signal-based input right now!"

Keep in mind that this capability ships starting with the v16.1.0-next.3 prerelease.


📰Accessing route params in Angular

Thomas Laforge walks through the different ways to read route and query parameters in Angular. He breaks the options down into:

  • ActivatedRoute's snapshot and params properties
  • Ngrx Router Store
  • RouterInput in Angular v16

📰High ROI Testing With Cypress Component Testing

Christian Lüdemann offers a preferred testing approach that is influenced by Kent C. Dodds' testing trophy. The strategy centers on:

  • Keeping a small set of E2E smoke tests (Cypress)
  • Writing integration tests for functionality (Cypress component testing)
  • Handling edge cases, pure functions, and calculations with unit tests (Jest)
  • Relying on static analysis: use strict typing via Eslint and Typescript

In addition, he explains how to set up Cypress and structure your test suites for optimal efficiency.


📰Deactivate Angular NgZone selectively — the easy way

RxAngular's unpatch directive offers a way to run parts of your app without NgZone, giving you finer control over change detection. Daniel Glejzner illustrates how you can put this directive to use in various scenarios.


📰Angular Developer Survey 2022 Results Summary

Almost 12,000 developers answered the call for the Angular Developer Survey. Minko Gechev gives a summary of the findings and outlines how they are shaping Angular's roadmap.


📅Events and recordings

📅Angular at Google I/O 2023

The recorded sessions from Angular at Google I/O 2023 are up on this playlist. Among them you will find:


👨‍💻About the author

I'm Gergely Szerovay, working as a frontend development chapter lead. I'm passionate about both teaching and learning Angular. Every day I absorb whatever I can in the Angular space — articles, podcasts, talk videos — you get the picture.

I started the Angular Addict Newsletter as a way to pass along the most interesting resources I encounter each month. Whether you've been working with Angular for years or you're just starting out, there's something in here for you.

In addition to the newsletter, I also curate a publication — naturally — called Angular Addicts. It gathers the articles I deem most valuable and insightful. If you'd like to contribute, feel free to reach out.

Let’s continue learning Angular together! Subscribe today and stay in the loop 🔥

You can catch me on Medium, Dev.to, Twitter, and LinkedIn. See you there!

📚 Earlier editions

In case any of the prior newsletters slipped past you, the full archive is available here. The three most recent installments are:

📬 Share your Angular finds

Stumbled upon a noteworthy Angular article, tweet, or other resource — or written one yourself? Drop a comment below or reach out on Twitter. Your discovery could land in the next edition of Angular Addicts!