{"library":"redux-sagas-injector","title":"redux-sagas-injector","description":"A library for dynamically injecting Redux sagas at runtime, enabling code splitting and lazy loading of sagas. Version 1.1.5 supports redux-saga 1.x and provides helpers for HMR and SSR. Unlike manual store manipulation, it uses a central key-based tracking mechanism and works alongside redux-reducers-injector. It has a small API surface (createInjectSagasStore, injectSaga, injectSagaBulk, reloadSaga) and is popular in universal/isomorphic React apps. Release cadence is irregular; current version fixes security issues in dependencies. Key differentiators: built-in HMR support, context store usage, and compatibility with react-universal-component.","language":"javascript","status":"active","last_verified":"Fri May 01","install":{"commands":["npm install redux-sagas-injector"],"cli":null},"imports":["import { createInjectSagasStore } from 'redux-sagas-injector'","import { injectSaga } from 'redux-sagas-injector'","import { sagaMiddleware } from 'redux-sagas-injector'","import { reloadSaga } from 'redux-sagas-injector'","import { injectSagaBulk } from 'redux-sagas-injector'"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import { createStore, applyMiddleware, compose } from 'redux';\nimport { createInjectSagasStore, sagaMiddleware, reloadSaga, injectSaga } from 'redux-sagas-injector';\n\n// Define a sample saga\nfunction* mySaga() {\n  console.log('Saga started');\n}\n\n// Create store with inject capability (replaces createStore)\nconst rootReducer = (state = {}) => state;\nconst store = createInjectSagasStore(\n  { rootSaga: mySaga },  // initial sagas as object { key: sagaFunc }\n  rootReducer,\n  undefined,\n  compose(applyMiddleware(sagaMiddleware))\n);\n\n// Inject additional saga later\ninjectSaga('anotherSaga', function* () {\n  console.log('Injected saga runs');\n});\n\n// HMR example (in module)\nif (module.hot) {\n  module.hot.accept('./sagas', () => {\n    const newSaga = require('./sagas').default;\n    reloadSaga('rootSaga', newSaga);\n  });\n}","lang":"typescript","description":"Demonstrates creating a store with injected sagas, injecting a saga later, and hot reloading. Uses TypeScript-style imports but works in JavaScript.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}