← All stories
● Covered by 1 source · 1 reportMedium impact1 neutral

NgRx v22 Released with Resource Extensions and Dynamic Deep Signals for Angular

🔄 Updated 15d ago
New to BrevFeed? We gather this story from every outlet covering it into one summary — ranked by real-world impact, not just the latest headline — so you never miss what matters. What is BrevFeed? →

Key points

  • NgRx v22 introduces experimental resource extensions.
  • Resource extensions modify Angular's resource and httpResource APIs.
  • Dynamic deep signals now support union types for state slices.
  • New SignalStore typing helper and ESLint v10 compatibility are included.

NgRx v22 Key Features

NgRx, the reactive state management framework for Angular, has released version 22. This update includes utilities for customizing Angular's resource API, dynamic deep signals for union types, a new SignalStore typing helper, and ESLint v10 compatibility.

Resource Extensions for Angular's Resource API

The primary new addition in NgRx v22 is resource extensions, available through the experimental @ngrx/signals/resource entry point. Angular's resource and httpResource APIs reset value() to undefined during reloads and throw errors when read in an error state. Resource extensions wrap existing resources to patch these behaviors while preserving the original resource type. Four built-in extensions are included, along with a provideResourceExtensions function to register defaults at various application levels.

This change is significant for deeper SignalStore integration, as the previous error behavior could cause subsequent patchState calls to throw errors when reading value().

Dynamic Deep Signals and Typing Improvements

Version 22 also introduces dynamic deep signals. Previously, a state slice typed as a union would collapse into a single flat Signal. Now, each object literal member within a union type gets its own DeepSignal, accessible after narrowing with an 'in' check. This allows for more precise modeling of 'not loaded yet' states.

Additionally, a new SignalStoreFeatureType utility extracts state and members from a feature factory, enabling custom features to reuse these types as input without manual re-declaration.

Developer Tooling and Compatibility

The @ngrx/store-devtools package now includes an actionCreators option, allowing dispatching actions directly from Redux DevTools. The @ngrx/eslint-plugin has been updated to support ESLint v10, while simultaneously dropping support for ESLint v8 and the legacy .eslintrc format.

✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →

The daily brief

One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.

One email a day. Unsubscribe in one click, any time.

Today's brief

Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.

~4 min · 3 stories · Nov 07

▶ Play today's brief Listen on Spotify

New every morning, and the back catalogue is archived by date.

Reporting from

NgRx, an Angular state management framework, released version 22, introducing resource extensions for customizing Angular's resource API and dynamic deep signals for union types. These updates address limitations in error handling and state modeling, providing more flexible and robust state management within Angular applications.