{"_id":"redux-devtools-expo-dev-plugin","_rev":"5-a6af850131eb780fceb1a04100df135b","name":"redux-devtools-expo-dev-plugin","dist-tags":{"latest":"2.0.0"},"versions":{"0.1.0":{"name":"redux-devtools-expo-dev-plugin","version":"0.1.0","keywords":["expo","devtools","redux"],"license":"MIT","_id":"redux-devtools-expo-dev-plugin@0.1.0","maintainers":[{"name":"mattoakes","email":"hello@mattoakes.net"}],"homepage":"https://github.com/matt-oakes/redux-devtools-expo-dev-plugin","dist":{"shasum":"86f32130aa2d5962e51f1b061a12628cc48e59ef","tarball":"https://registry.npmjs.org/redux-devtools-expo-dev-plugin/-/redux-devtools-expo-dev-plugin-0.1.0.tgz","fileCount":22,"integrity":"sha512-KG8iv1w0saGKeysG0Te7hIiFmlchgPzRcfHP6C+yXqoaLPpmnx+MhiEjjRihNyMpc7/8mUoxJ37mx0fcbmx5CA==","signatures":[{"sig":"MEUCIC7brCek1Vengqz3/A+OpWmb7tJCHssQElDpV5JATj51AiEAnyg/Lov0KGq2zsLrXjOjdY/ztv9xQ+Kqy+5/68yFQws=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8945161},"main":"build/index.js","types":"build/index.d.ts","gitHead":"befa7c93abf565b3a43ea2a6e4c449ccede47c0a","scripts":{"test":"npm run test:types && npm run test:lint","build":"expo-module build","clean":"expo-module clean","prepare":" patch-package && expo-module prepare && npm run web:install","web:dev":"cd webui && npm start","test:lint":"expo-module lint","test:types":"expo-module tsc --noEmit","web:export":"cd webui && npm run export","web:install":"cd webui && npm install","prepublishOnly":"expo-module prepublishOnly && npm run web:export"},"_npmUser":{"name":"mattoakes","email":"hello@mattoakes.net"},"_npmVersion":"10.5.0","description":"The full Redux DevTools for Expo as a dev plugin","directories":{},"sideEffects":false,"_nodeVersion":"21.7.2","dependencies":{"jsan":"^3.1.14","@redux-devtools/utils":"^3.0.0","@redux-devtools/instrument":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"expo":"~50.0.17","redux":"^5.0.1","typescript":"^5.4.5","@types/jsan":"^3.1.5","patch-package":"^8.0.0","expo-module-scripts":"^3.4.2"},"peerDependencies":{"expo":"*","redux":"*"},"_npmOperationalInternal":{"tmp":"tmp/redux-devtools-expo-dev-plugin_0.1.0_1713368985272_0.5045561594861272","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"redux-devtools-expo-dev-plugin","version":"0.2.0","keywords":["expo","devtools","redux"],"license":"MIT","_id":"redux-devtools-expo-dev-plugin@0.2.0","homepage":"https://github.com/matt-oakes/redux-devtools-expo-dev-plugin","dist":{"shasum":"87cfb918172de086731c5ccd2540d0903c2742c5","tarball":"https://registry.npmjs.org/redux-devtools-expo-dev-plugin/-/redux-devtools-expo-dev-plugin-0.2.0.tgz","fileCount":22,"integrity":"sha512-gZ+LghwtSqtclfIkejzECtV02lgm5kEhv5ktf39PjuHPCWhsq43PPxVhFaTMGGImAxsxmn1S++9i3Zst855yCA==","signatures":[{"sig":"MEUCIEdoKQX24X6hqHyAS20LbasRFRo5RptJW2Tnw73lve59AiEAylvBPu3lAJ1Dum/EQca2NrY+XHqSEkvpbtTmYV2wsuA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8945522},"main":"build/index.js","types":"build/index.d.ts","gitHead":"afe62ff76191324e493174c1e689a44d38f528b1","scripts":{"test":"npm run test:types && npm run test:lint","build":"expo-module build","clean":"expo-module clean","prepare":" patch-package && expo-module prepare && npm run web:install","web:dev":"cd webui && npm start","test:lint":"expo-module lint","test:types":"expo-module tsc --noEmit","web:export":"cd webui && npm run export","web:install":"cd webui && npm install","prepublishOnly":"expo-module prepublishOnly && npm run web:export"},"_npmUser":{"name":"mattoakes","email":"hello@mattoakes.net"},"_npmVersion":"10.2.4","description":"The full Redux DevTools for Expo as a dev plugin","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","dependencies":{"jsan":"^3.1.14","@redux-devtools/utils":"^3.0.0","@redux-devtools/instrument":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"expo":"~50.0.17","redux":"^5.0.1","typescript":"^5.4.5","@types/jsan":"^3.1.5","patch-package":"^8.0.0","expo-module-scripts":"^3.4.2"},"peerDependencies":{"expo":"*","redux":"*"},"_npmOperationalInternal":{"tmp":"tmp/redux-devtools-expo-dev-plugin_0.2.0_1719139076706_0.14079892544235273","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"redux-devtools-expo-dev-plugin","version":"0.2.1","keywords":["expo","devtools","redux"],"license":"MIT","_id":"redux-devtools-expo-dev-plugin@0.2.1","maintainers":[{"name":"mattoakes","email":"hello@mattoakes.net"}],"homepage":"https://github.com/matt-oakes/redux-devtools-expo-dev-plugin","dist":{"shasum":"7bffc1c8e4c0113c63d8a1fdd4adb3ad3747e807","tarball":"https://registry.npmjs.org/redux-devtools-expo-dev-plugin/-/redux-devtools-expo-dev-plugin-0.2.1.tgz","fileCount":22,"integrity":"sha512-wzSZ/DDa1QoQ/Uh1BdtJJdFDj0URXXknkHNcO+Q2A3Pbt7LTku1gAuzIMdy36ET7Pp7ge+UDj2OAEpe6kyQqPA==","signatures":[{"sig":"MEQCIHT7CiEupZ02WZsg/A5PXr8tCI4jLPXtWs0NyIKTLAYzAiAGjkyVW5wrg0oTTcvPwqjep9cKbD9fwynme9slVCV6zQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8791456},"main":"build/index.js","types":"build/index.d.ts","gitHead":"49cb8313f62e3de11fbfcf87a4c72d436f5e4ac0","scripts":{"test":"npm run test:types && npm run test:lint","build":"expo-module build","clean":"expo-module clean","prepare":" patch-package && expo-module prepare && npm run web:install","web:dev":"cd webui && npm start","test:lint":"expo-module lint","test:types":"expo-module tsc --noEmit","web:export":"cd webui && npm run export","web:install":"cd webui && npm install","prepublishOnly":"expo-module prepublishOnly && npm run web:export"},"_npmUser":{"name":"mattoakes","email":"hello@mattoakes.net"},"_npmVersion":"10.2.4","description":"The full Redux DevTools for Expo as a dev plugin","directories":{},"sideEffects":false,"_nodeVersion":"18.18.2","dependencies":{"jsan":"^3.1.14","@redux-devtools/utils":"^3.0.0","@redux-devtools/instrument":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"expo":"~51.0.18","redux":"^5.0.1","typescript":"^5.5.3","@types/jsan":"^3.1.5","patch-package":"^8.0.0","expo-module-scripts":"^3.5.2"},"peerDependencies":{"expo":"*","redux":"*"},"_npmOperationalInternal":{"tmp":"tmp/redux-devtools-expo-dev-plugin_0.2.1_1720349579039_0.13405926853123473","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"redux-devtools-expo-dev-plugin","version":"1.0.0","keywords":["expo","devtools","redux"],"license":"MIT","_id":"redux-devtools-expo-dev-plugin@1.0.0","maintainers":[{"name":"mattoakes","email":"hello@mattoakes.net"}],"homepage":"https://github.com/matt-oakes/redux-devtools-expo-dev-plugin","dist":{"shasum":"ea34e6ff5f8e661e6a460e17e35b42bbac4a8bfe","tarball":"https://registry.npmjs.org/redux-devtools-expo-dev-plugin/-/redux-devtools-expo-dev-plugin-1.0.0.tgz","fileCount":22,"integrity":"sha512-E97ZAlswpkSE5ZwcWTKCFT9PEwDs2JBS8UvmW99PWtN3i6BRLmDo+iUwjIlMIfCEHkYiWtWE9JoYflNN3v57Ow==","signatures":[{"sig":"MEQCIFwUNUhA4I3Emc6TAJZ4ECoS9F4eP+LFkOzvaM15IWF3AiATZDjbBdQi0f3QW8wPF6FxB2D/N1N+65WoMMQe5DO3Lg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8759831},"main":"build/index.js","types":"build/index.d.ts","gitHead":"159843bb59418f59460a8dea4b6980fa327d1f38","scripts":{"test":"npm run test:types && npm run test:lint","build":"expo-module build","clean":"expo-module clean","prepare":" patch-package && expo-module prepare && npm run web:install","web:dev":"cd webui && npm start","test:lint":"expo-module lint","test:types":"expo-module tsc --noEmit","web:export":"cd webui && npm run export","web:install":"cd webui && npm install","prepublishOnly":"expo-module prepublishOnly && npm run web:export"},"_npmUser":{"name":"mattoakes","email":"hello@mattoakes.net"},"_npmVersion":"10.8.2","description":"The full Redux DevTools for Expo as a dev plugin","directories":{},"sideEffects":false,"_nodeVersion":"20.14.0","dependencies":{"jsan":"^3.1.14","@redux-devtools/utils":"^3.0.0","@redux-devtools/instrument":"^2.2.0"},"_hasShrinkwrap":false,"devDependencies":{"expo":"~52.0.3","redux":"^5.0.1","typescript":"^5.5.3","@types/jsan":"^3.1.5","patch-package":"^8.0.0","expo-module-scripts":"^4.0.2"},"peerDependencies":{"expo":">=52","redux":"*"},"_npmOperationalInternal":{"tmp":"tmp/redux-devtools-expo-dev-plugin_1.0.0_1732044797676_0.8158768060310659","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"redux-devtools-expo-dev-plugin","version":"2.0.0","description":"The full Redux DevTools for Expo as a dev plugin","homepage":"https://github.com/matt-oakes/redux-devtools-expo-dev-plugin","license":"MIT","main":"build/index.js","types":"build/index.d.ts","sideEffects":false,"scripts":{"build":"expo-module build","test:types":"expo-module tsc --noEmit","test:lint":"expo-module lint","test":"npm run test:types && npm run test:lint","clean":"expo-module clean","prepare":" patch-package && expo-module prepare && npm run web:install","prepublishOnly":"expo-module prepublishOnly && npm run web:export","web:install":"cd webui && npm install","web:dev":"cd webui && npm start","web:export":"cd webui && npm run export"},"keywords":["expo","devtools","redux"],"dependencies":{"@redux-devtools/instrument":"^2.2.0","@redux-devtools/utils":"^3.1.1","jsan":"^3.1.14"},"devDependencies":{"@types/jsan":"^3.1.5","expo":"~53.0.9","expo-module-scripts":"^4.1.7","patch-package":"^8.0.0","redux":"^5.0.1","typescript":"^5.8.3"},"peerDependencies":{"expo":">=53","redux":"*"},"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","_id":"redux-devtools-expo-dev-plugin@2.0.0","gitHead":"c793ef10b63e3b1c83e1be1bd9cde098c63d2712","_nodeVersion":"22.14.0","_npmVersion":"11.2.0","dist":{"integrity":"sha512-Oipyxpsb6GibKu+VWWrArS+FF+oltUjf2ZW6lETs5h6jIXSqAEKzkgEHqkrauKGmeSyjbo2w3vedJJUbebCsqQ==","shasum":"96e5d9184e05c957a68ebfb07bddc43fd860dfc0","tarball":"https://registry.npmjs.org/redux-devtools-expo-dev-plugin/-/redux-devtools-expo-dev-plugin-2.0.0.tgz","fileCount":22,"unpackedSize":7025006,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA7I8Lgo+s85bk8+m/TBHFQL0iL4xvn0XELb5pW45nrdAiEAj25Aee6lNmkHIvq70XViQE8CpQ9V1r7q/FNEDpyDYKY="}]},"_npmUser":{"name":"mattoakes","email":"hello@mattoakes.net"},"directories":{},"maintainers":[{"name":"mattoakes","email":"hello@mattoakes.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/redux-devtools-expo-dev-plugin_2.0.0_1746982170917_0.36608440028420897"},"_hasShrinkwrap":false}},"time":{"created":"2024-04-17T15:49:45.271Z","modified":"2025-05-11T16:49:31.410Z","0.1.0":"2024-04-17T15:49:45.491Z","0.2.0":"2024-06-23T10:37:57.031Z","0.2.1":"2024-07-07T10:52:59.213Z","1.0.0":"2024-11-19T19:33:17.963Z","2.0.0":"2025-05-11T16:49:31.211Z"},"license":"MIT","homepage":"https://github.com/matt-oakes/redux-devtools-expo-dev-plugin","keywords":["expo","devtools","redux"],"description":"The full Redux DevTools for Expo as a dev plugin","maintainers":[{"name":"mattoakes","email":"hello@mattoakes.net"}],"readme":"# Redux DevTools for Expo (or React Native)\n\nThe full [Redux DevTools](https://github.com/reduxjs/redux-devtools/) (from the Chrome extension) as an Expo Dev Plugin.\n\n- Easy to install and run.\n- Live list of actions and how it affects the state.\n- Ability to rewind, replay, and dispatch actions from the devtools.\n\n![Demo of redux-devtools-expo-dev-plugin](./.github/images/demo.gif)\n\n## Installation\n\nThis package requires that [Expo Dev Plugins](https://docs.expo.dev/debugging/devtools-plugins/) are available. If you are using Expo 50 or above then it will already be available. It will work with either [Expo Go](https://docs.expo.dev/get-started/expo-go/) or [Development Builds](https://docs.expo.dev/develop/development-builds/introduction/).\n\nFor bare React Native projects, you must ensure that you have [installed and configured the `expo` package](https://docs.expo.dev/bare/installing-expo-modules/) before continuing.\n\n### Install the package\n\nIf you are setup with Expo Dev Plugins, then you can install the package using these commands and then follow the usage guide below.\n\n```\nnpm install redux-devtools-expo-dev-plugin\n```\n\nor with Yarn:\n\n```\nyarn add redux-devtools-expo-dev-plugin\n```\n\n### Link the DevTools to Redux\n\nThere are multiple ways of using this package depending if you're using Redux Toolkit or legacy Redux.\n\n#### Using Redux Toolkit\n\nYou need to modify your call to `configureStore` to disable the built in devtools (by passing in `devTools: false`) and add in the Expo Devtools plugin enhancer (by concatenating the `devToolsEnhancer()`).\n\nYour call to `configureStore` will end up looking like this:\n\n```javascript\nimport devToolsEnhancer from \"redux-devtools-expo-dev-plugin\";\n\nconst store = configureStore({\n  reducer: rootReducer,\n  devTools: false,\n  enhancers: (getDefaultEnhancers) =>\n    getDefaultEnhancers().concat(devToolsEnhancer()),\n});\n```\n\nThe `enhancers` property will call `getDefaultEnhancers()` to get the default enhancers from Redux Toolkit and then concatenate the `devToolsEnhancer` to the end. If you already have some other enhancers, such as the one for Redux Saga, then you should make sure `devToolsEnhancer` is the last in the list.\n\nYou can also pass in options for the `devToolsEnhancer` such as:\n\n```javascript\ndevToolsEnhancer({ trace: true });\n```\n\n#### Legacy installation with `redux` package\n\nIf you have the legacy basic [store](http://redux.js.org/docs/api/createStore.html) as described in the official [redux-docs](http://redux.js.org/index.html) then the installation is as follows:\n\n<details>\n<summary>Click me to view the legacy installation instructions</summary>\n\nIf you have the legacy basic [store](http://redux.js.org/docs/api/createStore.html) as described in the official [redux-docs](http://redux.js.org/index.html), simply replace:\n\n```javascript\nimport { createStore } from \"redux\";\nconst store = createStore(reducer);\n```\n\nwith:\n\n```javascript\nimport { createStore } from \"redux\";\nimport { devToolsEnhancer } from \"redux-devtools-expo-dev-plugin\";\nconst store = createStore(reducer, devToolsEnhancer());\n// or const store = createStore(reducer, preloadedState, devToolsEnhancer());\n```\n\nor with options:\n\n```javascript\nimport { createStore } from \"redux\";\nimport { devToolsEnhancer } from \"redux-devtools-expo-dev-plugin\";\nconst store = createStore(reducer, devToolsEnhancer({ trace: true }));\n```\n\nIf you setup your store with [middlewares and enhancers](http://redux.js.org/docs/api/applyMiddleware.html) like [redux-saga](https://github.com/redux-saga/redux-saga) and similar, it is crucial to use `composeWithDevTools` export. Otherwise, actions dispatched from Redux DevTools will not flow to your middlewares.\n\nIn that case change this:\n\n```javascript\nimport { createStore, applyMiddleware, compose } from \"redux\";\n\nconst store = createStore(\n  reducer,\n  preloadedState,\n  compose(\n    applyMiddleware(...middleware),\n    // other store enhancers if any\n  ),\n);\n```\n\nto:\n\n```javascript\nimport { createStore, applyMiddleware } from \"redux\";\nimport { composeWithDevTools } from \"redux-devtools-expo-dev-plugin\";\n\nconst store = createStore(\n  reducer,\n  /* preloadedState, */ composeWithDevTools(\n    applyMiddleware(...middleware),\n    // other store enhancers if any\n  ),\n);\n```\n\nor with options:\n\n```javascript\nimport { createStore, applyMiddleware } from \"redux\";\nimport { composeWithDevTools } from \"redux-devtools-expo-dev-plugin\";\n\nconst composeEnhancers = composeWithDevTools({ trace: true });\nconst store = createStore(\n  reducer,\n  /* preloadedState, */ composeEnhancers(\n    applyMiddleware(...middleware),\n    // other store enhancers if any\n  ),\n);\n```\n\n</details>\n\n## Using the DevTools\n\nOnce you have followed the installation instructions above, you need to restart the Expo CLI and reload your app. Once it has loaded you need to open the `More tools` menu in the Expo CLI with `shift+m` and then select `Open devtools plugin - redux-devtools-expo-dev-plugin`.\n\nThis will open a browser window with the Redux DevTools link to your app. As actions are dispatched you can view them, along with the changes in state. You can also dispatch actions directly from the web interface with the \"dispatcher\" button in the bottom bar.\n\n## Options\n\nWhen creating the enhancer you can optionally pass in options to change the behavior of the dev tools. All of these are optional.\n\n| Name                  | Description                                                                                                                                                                                                       |\n| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `name`                | _String_ representing the instance name to be shown on the remote monitor.                                                                                                                                        |\n| `maxAge`              | _Number_ of maximum allowed actions to be stored on the history tree, the oldest actions are removed once maxAge is reached. Default is `30`.                                                                     |\n| `actionsDenylist`     | _array_ of actions to be hidden in DevTools. Overwrites corresponding global setting in the options page. See the example bellow.                                                                                 |\n| `actionsAllowlist`    | _array_ of actions to be shown. All other actions will be hidden in DevTools.                                                                                                                                     |\n| `actionSanitizer`     | _Function_ which takes action object and id number as arguments, and should return action object back. See the example bellow.                                                                                    |\n| `stateSanitizer`      | _Function_ which takes state object and index as arguments, and should return state object back. See the example bellow.                                                                                          |\n| `startOn`             | _String_ or _Array of strings_ indicating an action or a list of actions, which should start remote monitoring (when `realtime` is `false`).                                                                      |\n| `stopOn`              | _String_ or _Array of strings_ indicating an action or a list of actions, which should stop remote monitoring.                                                                                                    |\n| `sendOn`              | _String_ or _Array of strings_ indicating an action or a list of actions, which should trigger sending the history to the monitor (without starting it). _Note_: when using it, add a `fetch` polyfill if needed. |\n| `sendOnError`         | _Numeric_ code: `0` - disabled (default), `1` - send all uncaught exception messages, `2` - send only reducers error messages.                                                                                    |\n| `sendTo`              | _String_ url of the monitor to send the history when `sendOn` is triggered. Required if you specify `sendOn` or `sendOnError`                                                                                     |\n| `actionCreators`      | _Array_ or _Object_ of action creators to dispatch remotely. See [the example](https://github.com/zalmoxisus/remote-redux-devtools/commit/b54652930dfd4e057991df8471c343957fd7bff7).                              |\n| `shouldHotReload`     | _Boolean_ - if set to `false`, will not recompute the states on hot reloading (or on replacing the reducers). Default to `true`.                                                                                  |\n| `shouldRecordChanges` | _Boolean_ - if specified as `false`, it will not record the changes till clicked on \"Start recording\" button on the monitor app. Default is `true`.                                                               |\n| `shouldStartLocked`   | _Boolean_ - if specified as `true`, it will not allow any non-monitor actions to be dispatched till `lockChanges(false)` is dispatched. Default is `false`.                                                       |\n| `id`                  | _String_ to identify the instance when sending the history triggered by `sendOn`. You can use, for example, user id here, to know who sent the data.                                                              |\n\n## License\n\nMIT\n","readmeFilename":"README.md"}