Skip to content

Commit

Permalink
feat(stark-all): remove ngrx-store-freeze dependency thanks to `@ng…
Browse files Browse the repository at this point in the history
…rx/store` 8.x upgrade

BREAKING CHANGE:
Remove `ngrx-store-freeze` dependency in favor of new built-in runtime checks in `@ngrx/store@8.x`.

  Adapt code as follows:

  ```ts
  // Before
  import { storeFreeze } from "ngrx-store-freeze";
  //...
  export const metaReducers: MetaReducer<State>[] =
    ENV === "development" ? [logger, storeFreeze] : [];

  @NgModule({
      imports: [
        CommonModule,
        StoreModule.forRoot(reducer, {
          metaReducers: metaReducers
        }),
      ]
    })
    export class AppModule {}

  // After
  export const metaReducers: MetaReducer<State>[] = ENV === "development" ? [logger] : [];

  @NgModule({
    imports: [
      CommonModule,
      StoreModule.forRoot(rootReducer, {
        metaReducers: metaReducers,
        runtimeChecks: {
          strictStateImmutability: true,
          strictActionImmutability: true
        }
      }),
    ]
  })
  export class AppModule {}
  ```

  See: https://ngrx.io/guide/migration/v8#deprecation-of-ngrx-store-freeze
  • Loading branch information
SuperITMan committed May 3, 2021
1 parent 7dd7c09 commit 4af3e25
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 16 deletions.
8 changes: 0 additions & 8 deletions showcase/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion showcase/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,6 @@
"event-source-polyfill": "~1.0.22",
"hammerjs": "^2.0.8",
"http-server": "~0.12.3",
"ngrx-store-freeze": "~0.2.4",
"ngrx-store-logger": "~0.2.2",
"reflect-metadata": "~0.1.13",
"rxjs": "^6.6.7",
Expand Down
9 changes: 6 additions & 3 deletions showcase/src/app/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { UIRouter, UIRouterModule } from "@uirouter/angular";
import { ActionReducer, ActionReducerMap, MetaReducer, StoreModule } from "@ngrx/store";
import { StoreDevtoolsModule } from "@ngrx/store-devtools";
import { EffectsModule } from "@ngrx/effects";
import { storeFreeze } from "ngrx-store-freeze";
import { storeLogger } from "ngrx-store-logger";
import { MatIconRegistry } from "@angular/material/icon";
import { DateAdapter } from "@angular/material/core";
Expand Down Expand Up @@ -152,7 +151,7 @@ export function logger(reducer: ActionReducer<State>): any {
})(reducer);
}

export const metaReducers: MetaReducer<State>[] = ENV === "development" ? [logger, storeFreeze] : [];
export const metaReducers: MetaReducer<State>[] = ENV === "development" ? [logger] : [];

/**
* `AppModule` is the main entry point into Angular's bootstrapping process
Expand All @@ -167,7 +166,11 @@ export const metaReducers: MetaReducer<State>[] = ENV === "development" ? [logge
BrowserModule,
BrowserAnimationsModule,
StoreModule.forRoot(reducers, {
metaReducers
metaReducers,
runtimeChecks: {
strictActionImmutability: true,
strictStateImmutability: true
}
}),
// store dev tools instrumentation must be imported AFTER StoreModule
StoreDevtoolsModule.instrument({
Expand Down
1 change: 0 additions & 1 deletion starter/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,6 @@
"event-source-polyfill": "~1.0.22",
"hammerjs": "^2.0.8",
"http-server": "~0.12.0",
"ngrx-store-freeze": "~0.2.4",
"ngrx-store-logger": "~0.2.2",
"reflect-metadata": "~0.1.13",
"rxjs": "^6.6.6",
Expand Down
9 changes: 6 additions & 3 deletions starter/src/app/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { UIRouter, UIRouterModule } from "@uirouter/angular";
import { ActionReducer, ActionReducerMap, MetaReducer, StoreModule } from "@ngrx/store";
import { StoreDevtoolsModule } from "@ngrx/store-devtools";
import { EffectsModule } from "@ngrx/effects";
import { storeFreeze } from "ngrx-store-freeze";
import { storeLogger } from "ngrx-store-logger";
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { MatIconModule, MatIconRegistry } from "@angular/material/icon";
Expand Down Expand Up @@ -129,7 +128,7 @@ export function logger(reducer: ActionReducer<State>): any {
})(reducer);
}

export const metaReducers: MetaReducer<State>[] = ENV === "development" ? [logger, storeFreeze] : [];
export const metaReducers: MetaReducer<State>[] = ENV === "development" ? [logger] : [];

/**
* `AppModule` is the main entry point into Angular's bootstrapping process
Expand All @@ -152,7 +151,11 @@ export const metaReducers: MetaReducer<State>[] = ENV === "development" ? [logge
MatSidenavModule,
MatTooltipModule,
StoreModule.forRoot(reducers, {
metaReducers
metaReducers,
runtimeChecks: {
strictActionImmutability: true,
strictStateImmutability: true
}
}),
// store dev tools instrumentation must be imported AFTER StoreModule
StoreDevtoolsModule.instrument({
Expand Down

0 comments on commit 4af3e25

Please sign in to comment.