{"bugs":{"url":"https://github.com/zalmoxisus/remote-redux-devtools/issues"},"dist":{"shasum":"f186aacfd2ae0bd6ce9e49a0225fd9517370ab1a","tarball":"https://registry.npmjs.org/remote-redux-devtools/-/remote-redux-devtools-0.6.0-beta.tgz","fileCount":7,"integrity":"sha512-eZ2pr21mXnkeEmR92G3ze0xDFeQ94s2ldlTt9Ebp8PXJkaaQe0htAozw7apcT0KxC70s66Z4XAcBqBM2tyQV9Q==","signatures":[{"sig":"MEUCIQCC1vSqZC/pRET6ka5BSQuop+fjgZtaA2mz0QWo1zCIrwIgCWHCXIZkcKi6cO9Mz/cubtA9p8jaKTiNtThGHjJ1i0U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27657,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5EwtCRA9TVsSAnZWagAAlY8P/A0HhQWN6WT+8ab9lKQ3\n+sWpFfCW2XW4RnKaYLq/Qc/UXLscMwy7YgSV5VBh9/wF8t/h0fdV2Ai6iqoF\nDouP/o63qAaUus87lvGJwKT/CHkP3+w81xEn3AJkwPsV2WxlmN18Gg2Q8q4I\ndrrT+Q7Bc4L1PnwFSbydU9U2hiKo248cL7zg1Wx83jzIo5N4xq/6FPG+FZ8Z\nuh+6l+OcbHdks6zOfwjbDumJ1otIwYz/GMz+JDGPn9BSs8ZVf1dhDcik/RIw\nrc1LABcCo/dicFla1CMlbcLbj7ulTNtv7BPQMEmnCd8RbsVJ1w2q3SbeMPTv\nv2pGVpyBznAdFj6xpFMlew/nsQV/fvl0n0eaQzM9y4pZ5GhwdJJMnUljFn6r\n7gi8uNJtD05xaYkY31zvmwpl7GkPmsIYEfBp86ZniUTjsn9MwVpWJb1UUO2i\nCODwfA3phdxbZQYhs22X0rT/8o29ucCGX0iTHJJ1+DoDvVebuHCLsT8NhyzO\nxd0S5s7bXgzpIUnRQ1leGo6f64IfpBl7u/oIvftwpH4ru5Kv0ty1G1dy1bv5\n/5kx7wHkE8J/4gUhbxv4Hih+fj55PgC4EBmskKSA1sxU+Q6wBG7NmO72yVnN\nT2KMsy/Be3reCUz2oUtp0EJZzQLe/h12491mo+yy/C4CEXBhJ3J4diVeVeHi\nzlj+\r\n=iPnR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","name":"remote-redux-devtools","author":{"url":"https://github.com/zalmoxisus","name":"Mihail Diordiev","email":"zalmoxisus@gmail.com"},"readme":"Remote Redux DevTools\n=====================\n\n![Demo](demo.gif)\n\nUse [Redux DevTools](https://github.com/gaearon/redux-devtools) remotely for React Native, hybrid, desktop and server side Redux apps.\n\n### Installation\n\n```\nnpm install --save-dev remote-redux-devtools\n```\n\n> Note: for Windows use `remote-redux-devtools@0.5.0` (newer versions will not work due to a Windows issue fixed in `react-native`).\n\n### Usage\n\nThere are 2 ways of usage depending if you're using other store enhancers (middlewares) or not.\n\n#### Add DevTools enhancer to your store\n\nIf you have a 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  ```javascript\n  import { createStore } from 'redux';\n  const store = createStore(reducer);\n  ```\n  with\n  ```javascript\n  import { createStore } from 'redux';\n  import devToolsEnhancer from 'remote-redux-devtools';\n  const store = createStore(reducer, devToolsEnhancer());\n  // or const store = createStore(reducer, preloadedState, devToolsEnhancer());\n  ```\n  \n> Note: passing enhancer as last argument requires redux@>=3.1.0\n\n#### When to use DevTools compose helper\n\n  If 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\n  In that case change this:\n  ```javascript\n  import { createStore, applyMiddleware, compose } from 'redux';\n  \n  const store = createStore(reducer, preloadedState, compose(\n    applyMiddleware(...middleware),\n    // other store enhancers if any\n  ));\n  ```\n  to:\n  ```javascript\n  import { createStore, applyMiddleware } from 'redux';\n  import { composeWithDevTools } from 'remote-redux-devtools';\n  \n  const store = createStore(reducer, /* preloadedState, */ composeWithDevTools(\n    applyMiddleware(...middleware),\n    // other store enhancers if any\n  ));\n  ```\n  or with devTools' options:\n  ```javascript\n  import { createStore, applyMiddleware } from 'redux';\n  import { composeWithDevTools } from 'remote-redux-devtools';\n  \n  const composeEnhancers = composeWithDevTools({ realtime: true, port: 8000 });\n  const store = createStore(reducer, /* preloadedState, */ composeEnhancers(\n    applyMiddleware(...middleware),\n    // other store enhancers if any\n  ));\n  ```\n\n### Enabling\n\nIn order not to allow it in production by default, the enhancer will have effect only when `process.env.NODE_ENV === 'development'`.\n\nFor Webpack you should add it as following (`webpack.config.dev.js`):\n```js\n// ...\nplugins: [\n  new webpack.DefinePlugin({\n    'process.env.NODE_ENV': JSON.stringify('development')\n  })\n],\n// ...\n```\n\nIn case you don't set `NODE_ENV`, you can set `realtime` parameter to `true` or to other global variable to turn it off in production:\n\n```js\nconst store = createStore(reducer, devToolsEnhancer({ realtime: true }));\n```\n\n### Monitoring\n\nUse one of our monitor apps to inspect and dispatch actions:\n* [web](http://remotedev.io/local)\n* [redux-devtools-extension](https://github.com/zalmoxisus/redux-devtools-extension) - Click \"Remote\" button (or press [`Cmd+Ctrl+Arrow up`](https://github.com/zalmoxisus/redux-devtools-extension#keyboard-shortcuts)) to open remote monitoring.\n* [remotedev-rn-debugger](https://github.com/jhen0409/remotedev-rn-debugger) - Used in React Native debugger as a dock monitor.\n* [atom-redux-devtools](https://github.com/zalmoxisus/atom-redux-devtools) - Used in Atom editor.\n* [redux-dispatch-cli](https://github.com/jhen0409/redux-dispatch-cli) - A CLI tool for Redux remote dispatch.\n* [vscode-redux-devtools](https://github.com/jkzing/vscode-redux-devtools) - Used in Visual Studio Code.\n\nUse [remotedev-app](https://github.com/zalmoxisus/remotedev-app) to create your own monitor app.\n\n### Communicate via local server\n\nIn order to make it simple to use, by default, the module and the monitor app communicate via [remotedev.io](http://remotedev.io) server. Use [remotedev-server](https://github.com/zalmoxisus/remotedev-server) cli to run it locally in order to make the connection faster and not to require an internet connection.\nYou can import it in your `server.js` script and start remotedev server together with your development server:\n```js\nvar remotedev = require('remotedev-server');\nremotedev({ hostname: 'localhost', port: 8000 });\n```\nSee [remotedev-server](https://github.com/zalmoxisus/remotedev-server) repository for more details.\nFor React Native you can use [remotedev-rn-debugger](https://github.com/jhen0409/remotedev-rn-debugger), which already include `remotedev-server`.\n\n\n### Parameters\n\nName                    | Description\n-------------           | -------------\n`name`                  | *String* representing the instance name to be shown on the remote monitor.\n`realtime`              | *Boolean* specifies whether to allow remote monitoring. By default is `process.env.NODE_ENV === 'development'`. \n`hostname`              | *String* used to specify host for [`remotedev-server`](https://github.com/zalmoxisus/remotedev-server). If `port` is specified, default value is `localhost`.\n`port`                  | *Number* used to specify host's port for [`remotedev-server`](https://github.com/zalmoxisus/remotedev-server).\n`secure`                | *Boolean* specifies whether to use `https` protocol for [`remotedev-server`](https://github.com/zalmoxisus/remotedev-server).\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`actionsBlacklist`      | *array* of actions to be hidden in DevTools. Overwrites corresponding global setting in the options page. See the example bellow.\n`actionsWhitelist`      | *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. By default is `${secure ? 'https' : 'http'}://${hostname}:${port}`.\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`suppressConnectErrors` | *Boolean* - if set to `false`, all socket errors thrown while trying to connect will be printed to the console, regardless of if they've been thrown before. This is primarily for suppressing `SocketProtocolError` errors, which get repeatedly thrown when trying to make a connection.  Default is `true`.\n\nAll parameters are optional. You have to provide at least `port` property to use `localhost` instead of `remotedev.io` server.\n\nExample:\n```js\nexport default function configureStore(preloadedState) {\n  const store = createStore(\n    reducer,\n    preloadedState,\n    devToolsEnhancer({\n      name: 'Android app', realtime: true,\n      hostname: 'localhost', port: 8000,\n      maxAge: 30, actionsBlacklist: ['EFFECT_RESOLVED'],\n      actionSanitizer: (action) => (\n       action.type === 'FILE_DOWNLOAD_SUCCESS' && action.data ?\n       { ...action, data: '<<LONG_BLOB>>' } : action\n      ),\n      stateSanitizer: (state) => state.data ? { ...state, data: '<<LONG_BLOB>>' } : state\n    })\n  );\n  return store;\n}\n```\n\n### Demo\n- [Toggle monitoring](http://zalmoxisus.github.io/monitoring/)\n\n### Examples\n- [Web](https://github.com/zalmoxisus/remote-redux-devtools/tree/master/examples)\n- [React Native](https://github.com/chentsulin/react-native-counter-ios-android)\n\n### License\n\nMIT\n","gitHead":"c9c1600d71edc34e585ec8e3006d847a975fcea0","license":"MIT","scripts":{"lint":"eslint src test","test":"NODE_ENV=test mocha --compilers js:babel-core/register --recursive","build":"babel src --out-dir lib","clean":"rimraf lib","prepublish":"npm run lint && npm run test && npm run clean && npm run build","test:watch":"NODE_ENV=test mocha --compilers js:babel-core/register --recursive --watch","build:examples":"babel-node examples/buildAll.js"},"_npmUser":{"name":"zalmoxisus","email":"zalmoxisus@gmail.com"},"homepage":"https://github.com/zalmoxisus/remote-redux-devtools","keywords":["redux","devtools","flux","react","hot reloading","time travel","live edit"],"repository":{"url":"git+https://github.com/zalmoxisus/remote-redux-devtools.git","type":"git"},"_npmVersion":"6.4.1","description":"Relay Redux actions to remote Redux DevTools.","directories":{},"maintainers":[{"name":"zalmoxisus","email":"zalmoxisus@gmail.com"}],"_nodeVersion":"8.12.0","dependencies":{"jsan":"^3.1.13","querystring":"^0.2.0","rn-host-detect":"^1.1.5","redux-devtools-core":"^0.2.1","socketcluster-client":"^14.2.1","redux-devtools-instrument":"^1.9.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"mocha":"^2.2.5","eslint":"^1.10.3","expect":"^1.6.0","rimraf":"^2.3.4","webpack":"^1.11.0","babel-cli":"^6.3.15","babel-core":"^6.1.20","mocha-jsdom":"^1.0.0","babel-eslint":"^5.0.0-beta6","babel-loader":"^6.2.0","babel-preset-react":"^6.3.13","eslint-plugin-react":"^3.11.3","babel-preset-stage-0":"^6.3.13","eslint-config-airbnb":"^2.1.1","babel-preset-es2015-loose":"^6.1.3"},"_npmOperationalInternal":{"tmp":"tmp/remote-redux-devtools_0.6.0-beta_1558465580235_0.498518938593405","host":"s3://npm-registry-packages"},"_id":"remote-redux-devtools@0.6.0-beta","version":"0.6.0-beta"}