👋 Welcome, Angular Enthusiasts

Welcome to the 16th edition of the Angular Addicts Newsletter — a monthly roundup of hand-picked Angular resources that have caught my attention. (Catch up on the thirteenth, fourteenth, and fifteenth issues if you missed them.)


📢 Version Updates

📢 Nx 16.5

Zack DeRose highlights the key features introduced in Nx 16.5:

  • Task targeting using tags
  • NextJS 13 compatibility
  • Fresh Nx recipes
  • Angular 16 support and migration paths
  • Verdaccio integration
  • Custom CLI creation through Nx
  • New externalDependencies input type
  • Latest @nx/dependency-checks ESLint rule
  • Enhanced performance
  • Redesigned Nx Console
  • Launch of Nx Changelog

📢 Storybook 7.1

Michael Shilman walks through what's new in Storybook 7.1:

  • Guided onboarding directly inside the app
  • Out-of-the-box styling for Tailwind, Material UI, styled-components, and Emotion
  • Complete API reference docs
  • Code snippets optimized for TypeScript
  • Improved Vue 3 source snippets and reactivity
  • Table of contents in documentation
  • Official Figma Design addon
  • Numerous additional fixes and refinements

💎 July 2023 Angular Highlights

📰 Signals vs RxJS

Mike Pearson has put together a three-part series examining when RxJS is the right choice versus when Angular Signals fit better:

The first two installments compare RxJS and Signals for both synchronous and asynchronous reactivity. The final piece advocates for the "auto-signal pattern," which offers advantages over toSignal(). This approach allows RxJS streams to connect with Signals while retaining RxJS's built-in capabilities for:

  • automatic cleanup
  • resetting and re-fetching, and
  • request cancellation

📰 Handling RxJS Data with Signals and Suspensify

Angular's new toSignal() function converts observables into Signals, yet it struggles with observables that lack an initial value or emit errors. Younes Jaaidi demonstrates how the suspensify() operator resolves these issues by creating an observable that always starts with a value and never throws. This utility is available in the @jscutlery/operators package.


📰 Combining Coverage from Cypress (E2E and Component Testing) with Jest in Nx

Christian Lüdemann explains how to merge coverage data from:

  • Jest unit tests
  • Cypress component tests
  • Jest e2e tests

This gives you a comprehensive view of your Angular app's test coverage. He also provides a complete demo application for reference.


📰 The NGRX Signal Store for Angular: 2 + 1 Variants

Manfred Steyer delves into the in-development NgRx Signal Store, showcasing 2+1 distinct ways to use it:

  • Variant 1: Minimalist with signalState
  • Variant 2: Feature-rich with signalStore
  • Coming Variant 3: Entity Management

👨‍💻 About the Author

I'm Gergely Szerovay, serving as a frontend development chapter lead. Teaching and mastering Angular is one of my greatest passions, and I stay up to date by consuming Angular content daily — articles, podcasts, conference talks, you name it.

The Angular Addict Newsletter was born from my desire to share the best resources I encounter each month. Whether you're a seasoned pro or just starting out, there's something here for you.

Beyond the newsletter, I run a publication fittingly called Angular Addicts, a curated hub of the most insightful resources I find. Reach out if you'd like to contribute as a writer.

Let's dive into Angular together! Subscribe here 🔥

Connect with me on Medium, Dev.to, Twitter, or LinkedIn for more Angular insights!

🕹️ Earlier Editions

Missed a prior issue? Browse them all here, with the most recent three being:

📨 Share Your Angular Finds

Stumbled upon or authored a noteworthy Angular article, tweet, or resource? Drop it in the comments or message me on Twitter — it could be featured in an upcoming Angular Addicts issue!