17.0.0-beta.0 (2023-10-30)
Bug Fixes
- entity: set correct return type for getSelectors signature with parent selector (#4074) (b3b571e)
- signals: do not create nested signals for STATE_SIGNAL property (#4062) (71a9d7f)
- signals: improve state type and add type tests (#4064) (10c93ed), closes #4065
Features
BREAKING CHANGES
- component: The LetModule is removed in favor of the standalone LetDirective.
BEFORE:
import { LetModule } from '@ngrx/component';
@NgModule({
imports: [
// ... other imports
LetModule,
],
})
export class MyFeatureModule {}
AFTER:
import { LetDirective } from '@ngrx/component';
@NgModule({
imports: [
// ... other imports
LetDirective,
],
})
export class MyFeatureModule {}
- component: The
PushModule
is deprecated in favor of the standalone PushPipe
.
BEFORE:
import { PushModule } from '@ngrx/component';
@NgModule({
imports: [
// ... other imports
PushModule,
],
})
export class MyFeatureModule {}
AFTER:
import { Component } from '@angular/core';
import { PushPipe } from '@ngrx/component';
@Component({
// ... other metadata
standalone: true,
imports: [
// ... other imports
PushPipe,
],
})
export class MyStandaloneComponent {}
- entity: Selectors returned by the
adapter.getSelectors
signature that accepts a parent selector are strongly typed.
BEFORE:
const {
selectIds, // type: (state: object) => string[] | number[]
selectEntities, // type: (state: object) => Dictionary<Book>
selectAll, // type: (state: object) => Book[]
selectTotal, // type: (state: object) => number
} = adapter.getSelectors(selectBooksState);
AFTER:
const {
selectIds, // type: MemoizedSelector<object, string[] | number[]>
selectEntities, // type: MemoizedSelector<object, Dictionary<Book>>
selectAll, // type: MemoizedSelector<object, Book[]>
selectTotal, // type: MemoizedSelector<object, number>
} = adapter.getSelectors(selectBooksState);
- The minimum required version of Angular has been updated
BEFORE:
The minimum required version of Angular is 16.x
AFTER:
The minimum required version of Angular is 17.x
<a name="16.3.0"></a>