{"id":18509,"library":"logrocket-ngrx","title":"LogRocket ngrx Middleware","description":"LogRocket ngrx middleware (v0.2.1) is a companion package for LogRocket that augments session recordings with Redux actions and state from @ngrx/store. It integrates as an ngrx meta reducer to capture dispatched actions and store state snapshots, enabling developers to replay user sessions alongside application state changes. Requires LogRocket >=2 and @ngrx/store >=4. Minimal setup: add `logrocket-ngrx` to your meta reducers. Actively maintained by LogRocket, with weekly releases. Differentiates from generic Redux devtools by integrating directly with LogRocket's session replay and performance monitoring.","status":"active","version":"0.2.1","language":"javascript","source_language":"en","source_url":"https://github.com/LogRocket/logrocket-ngrx","tags":["javascript","typescript"],"install":[{"cmd":"npm install logrocket-ngrx","lang":"bash","label":"npm"},{"cmd":"yarn add logrocket-ngrx","lang":"bash","label":"yarn"},{"cmd":"pnpm add logrocket-ngrx","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency: required for session recording (must be installed separately)","package":"logrocket","optional":false},{"reason":"Peer dependency: required for ngrx integration (must be installed separately)","package":"@ngrx/store","optional":false}],"imports":[{"note":"Package ships TypeScript types, but is CJS-compatible. Named export only.","wrong":"const { createLogRocketMetaReducer } = require('logrocket-ngrx');","symbol":"createLogRocketMetaReducer","correct":"import { createLogRocketMetaReducer } from 'logrocket-ngrx';"}],"quickstart":{"code":"import LogRocket from 'logrocket';\nimport { createLogRocketMetaReducer } from 'logrocket-ngrx';\nimport { StoreModule, MetaReducer } from '@ngrx/store';\n\nLogRocket.init('your-app-id');\n\nexport const metaReducers: MetaReducer[] = [\n  createLogRocketMetaReducer(LogRocket)\n];\n\n@NgModule({\n  imports: [\n    StoreModule.forRoot(reducers, { metaReducers })\n  ]\n})\nexport class AppModule {}","lang":"typescript","description":"Demonstrates how to add LogRocket ngrx middleware as a meta reducer in an Angular app with @ngrx/store."},"warnings":[{"fix":"Update to v0.1.1 or later.","message":"Initial state may not be recorded correctly in versions <0.1.1.","severity":"gotcha","affected_versions":"<0.1.1"},{"fix":"Update to v0.1.1 or later.","message":"Feature state may resend initial state events in versions <0.1.1.","severity":"gotcha","affected_versions":"<0.1.1"},{"fix":"Ensure import is 'logrocket-ngrx' (no subpath).","message":"The old main entry file location changed in v0.1.0.","severity":"deprecated","affected_versions":">=0.1.0"},{"fix":"Upgrade logrocket and @ngrx/store to meet peer requirements.","message":"Peer dependency on logrocket >=2 and @ngrx/store >=4. Incompatible with older versions.","severity":"breaking","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run `npm install logrocket-ngrx` and ensure it's in package.json dependencies.","cause":"Package not installed or missing from node_modules.","error":"Cannot find module 'logrocket-ngrx'"},{"fix":"Use `import { createLogRocketMetaReducer } from 'logrocket-ngrx';` with v0.1.0+.","cause":"Using wrong import syntax or old version without named export.","error":"'createLogRocketMetaReducer' is not exported from 'logrocket-ngrx'"},{"fix":"Import and initialize LogRocket with `LogRocket.init('your-app-id')` before using `createLogRocketMetaReducer`.","cause":"LogRocket library not imported or initialized before meta reducer creation.","error":"LogRocket is not defined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}