Socket
Book a DemoInstallSign in
Socket

@ngrx/router-store

Package Overview
Dependencies
Maintainers
4
Versions
147
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ngrx/router-store - npm Package Versions

2345
15

20.0.0

Diff
b
brandonroberts
published 20.0.0 •

Changelog

Source

20.0.0 (2025-06-09)

Bug Fixes

  • www: Add padding to code snippets (#4812) (9e942db), closes #4811
  • www: remove horizontal scrollbar (#4808) (2639f67)

build

Features

  • eslint-plugin: add new rule enforce type call (#4809) (9b82e67), closes #4797
  • www: add sidebar for mobile view and make home page responsive (#4813) (4397bfb), closes #4807

BREAKING CHANGES

  • The minimum required version of Angular has been updated.

BEFORE:

The minimum required version is Angular 19.x

AFTER:

The minimum required version is Angular 20.x

<a name="19.2.1"></a>

b
brandonroberts
published 20.0.0-rc.0 •

Changelog

Source

20.0.0-rc.0 (2025-07-14)

Bug Fixes

  • signals: allow generic template literals as state keys (#4871) (9fefc77), closes #4638
  • signals: allow lazy initialization of DeepSignal (#4866) (cb1a2ba), closes #4749
  • signals: do not create deep signals for empty objects and unknown records with symbol keys (#4880) (bae9f18)
  • signals: remove internal Signal type (#4867) (4a4a5db)

Features

  • operators: add migration for deprecated tapResponse signature (#4858) (551ceb4)
  • signals: add withLinkedState() (#4818) (4bb7fdd)
  • signals: allow access to methods in withComputed (#4864) (e11c23f), closes #4846
  • signals: disallow user-defined signals in withState and signalState (#4879) (306ed5a)

<a name="20.0.0-beta.0"></a>

b
brandonroberts
published 20.0.0-beta.0 •

Changelog

Source

20.0.0-beta.0 (2025-06-10)

Bug Fixes

build

Features

  • eslint-plugin: add new rule enforce type call (#4809) (9b82e67), closes #4797
  • www: add sidebar for mobile view and make home page responsive (#4813) (4397bfb), closes #4807

BREAKING CHANGES

  • The minimum required version of Angular has been updated.

BEFORE:

The minimum required version is Angular 19.x

AFTER:

The minimum required version is Angular 20.x

<a name="20.0.0"></a>

b
brandonroberts
published 19.2.1 •

Changelog

Source

19.2.1 (2025-05-29)

Bug Fixes

  • signals: add current state as second argument of case reducer (#4800) (95dbbfa)
  • signals: expose WritableStateSource to withFeature callback (#4792) (afb6528), closes #4766

<a name="19.2.0"></a>

b
brandonroberts
published 19.2.0 •

Changelog

Source

19.2.0 (2025-05-12)

Features

<a name="19.1.0"></a>

b
brandonroberts
published 19.1.0 •

Changelog

Source

19.1.0 (2025-04-01)

Bug Fixes

  • signals: skip assertions when ngDevMode is not defined (#4703) (0b43014), closes #4699

Features

<a name="19.0.1"></a>

b
brandonroberts
published 19.0.1 •

Changelog

Source

19.0.1 (2025-01-31)

Bug Fixes

  • signals: enable withProps to handle Symbols (#4656) (02320b3), closes #4655
  • signals: remove signalMethod instance watcher on destroy (#4648) (7f42065), closes #4644
  • signals: revert the protection for state mutation in dev mode (#4686) (ae7922e), closes #4683

<a name="19.0.0"></a>

b
brandonroberts
published 19.0.0 •

Changelog

Source

19.0.0 (2024-12-17)

<a name="19.0.0-rc.0"></a>

b
brandonroberts
published 19.0.0-rc.0 •

Changelog

Source

19.0.0-rc.0 (2024-12-10)

Bug Fixes

  • eslint-plugin: support ESM modudule syntax (.mjs) (e2f35c8)
  • signals: create deep signals for custom class instances (#4614) (4d34dc4), closes #4604

Features

BREAKING CHANGES

  • signals: - The computed property in SignalStoreFeatureResult type is renamed to props.
  • The EntityComputed and NamedEntityComputed types in the entities plugin are renamed to EntityProps and NamedEntityProps.

BEFORE:

import { computed, Signal } from '@angular/core';
import {
  signalStoreFeature,
  SignalStoreFeature,
  type,
  withComputed,
} from '@ngrx/signals';
import { EntityComputed } from '@ngrx/signals/entities';

export function withTotalEntities<Entity>(): SignalStoreFeature<
  { state: {}; computed: EntityComputed<Entity>; methods: {} },
  { state: {}; computed: { total: Signal<number> }; methods: {} }
> {
  return signalStoreFeature(
    { computed: type<EntityComputed<Entity>>() },
    withComputed(({ entities }) => ({
      total: computed(() => entities().length),
    }))
  );
}

AFTER:

import { computed, Signal } from '@angular/core';
import {
  signalStoreFeature,
  SignalStoreFeature,
  type,
  withComputed,
} from '@ngrx/signals';
import { EntityProps } from '@ngrx/signals/entities';

export function withTotalEntities<Entity>(): SignalStoreFeature<
  { state: {}; props: EntityProps<Entity>; methods: {} },
  { state: {}; props: { total: Signal<number> }; methods: {} }
> {
  return signalStoreFeature(
    { props: type<EntityProps<Entity>>() },
    withComputed(({ entities }) => ({
      total: computed(() => entities().length),
    }))
  );
}

<a name="19.0.0-beta.0"></a>

b
brandonroberts
published 19.0.0-beta.0 •

Changelog

Source

19.0.0-beta.0 (2024-11-20)

Features

  • schematics: change standalone default to true for components (#4569) (c7d0ce6)
  • signals: rename rxMethod.unsubscribe to destroy (#4584) (57ad5c5)
  • signals: throw error in dev mode on state mutation (#4526) (7a84209)

BREAKING CHANGES

  • signals: The signalState/signalStore state object is frozen in development mode. If a mutable change occurs to the state object, an error will be thrown.

BEFORE:

const userState = signalState(initialState);
patchState(userState, (state) => {
  state.user.firstName = 'mutable change'; // mutable change which went through
  return state;
});

AFTER:

const userState = signalState(initialState);
patchState(userState, (state) => {
  state.user.firstName = 'mutable change'; // throws in dev mode
  return state;
});
  • signals: The unsubscribe method from rxMethod is renamed to destroy.

BEFORE:

const logNumber = rxMethod<number>(tap(console.log));

const num1Ref = logNumber(interval(1_000));
const num2Ref = logNumber(interval(2_000));

// destroy `num1Ref` after 2 seconds
setTimeout(() => num1Ref.unsubscribe(), 2_000);

// destroy all reactive method refs after 5 seconds
setTimeout(() => logNumber.unsubscribe(), 5_000);

AFTER:

const logNumber = rxMethod<number>(tap(console.log));

const num1Ref = logNumber(interval(1_000));
const num2Ref = logNumber(interval(2_000));

// destroy `num1Ref` after 2 seconds
setTimeout(() => num1Ref.destroy(), 2_000);

// destroy all reactive method refs after 5 seconds
setTimeout(() => logNumber.destroy(), 5_000);
  • schematics: The default setting for generating components using schematics is updated.

BEFORE:

The default setting for generating components using schematics does not use standalone components.

AFTER:

The default setting for generating components using schematics uses standalone components.

  • The minimum required version of Angular has been updated.

BEFORE:

The minimum required version is Angular 18.x

AFTER:

The minimum required version is Angular 19.x

<a name="18.1.1"></a>

2345
15
SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.