{"_id":"@ilteoood/zorro","_rev":"2-54b815d62fb77ce265d05bcf5e6aaa99","name":"@ilteoood/zorro","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@ilteoood/zorro","version":"0.1.0","keywords":["zustand","redux-devtools","remote","react-native","debugging","state-management","devtools"],"author":{"name":"Matteo Pietro Dazzi"},"license":"MIT","_id":"@ilteoood/zorro@0.1.0","maintainers":[{"name":"ilteoood","email":"matteopietro.dazzi@gmail.com"}],"homepage":"https://github.com/ilteoood/zorro#readme","bugs":{"url":"https://github.com/ilteoood/zorro/issues"},"dist":{"shasum":"88ad89ed42811afd5ba4fe6414a9d291af5a682b","tarball":"https://registry.npmjs.org/@ilteoood/zorro/-/zorro-0.1.0.tgz","fileCount":19,"integrity":"sha512-LG9nETTXjOSDbBX1bh0d+cHO29TAeTNSSC5kBRhLRPdGvKxy6wjG617uIGfnBQhj4Z2YyO6DGnBeHm1w2/ItdA==","signatures":[{"sig":"MEUCIQDMWT88XADgwMVxC2wFTLxTiT8tjfPGB9B4YuEZwwdBEwIgVHMrI5H2qVhaYrmnAjpKzeylGROc1t/WON6mlSkmsrI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232944},"main":"./dist/react-native.cjs","type":"module","types":"./dist/react-native.d.ts","module":"./dist/react-native","exports":{".":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","require":"./dist/react-native.cjs"},"./metro":{"types":"./dist/metro.d.ts","import":"./dist/metro.js","require":"./dist/metro.cjs"}},"gitHead":"e440b523710fbabb95cd28ba3b4f0be18aae3495","private":false,"scripts":{"dev":"redux-devtools --hostname=localhost --port=8000 & rozenite dev","lint":"biome check","build":"rozenite build","lint:fix":"biome check --write"},"_npmUser":{"name":"ilteoood","email":"matteopietro.dazzi@gmail.com"},"repository":{"url":"git+https://github.com/ilteoood/zorro.git","type":"git"},"_npmVersion":"10.9.2","description":"A powerful adapter that enables Zustand stores to connect to Redux DevTools remote server for debugging and state inspection.","directories":{},"_nodeVersion":"22.16.0","dependencies":{"zustand":">=5.0.0","socketcluster-client":"^19.2.7","@rozenite/plugin-bridge":"1.0.0-alpha.12"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.6","react":"18.3.1","rozenite":"1.0.0-alpha.12","react-dom":"18.3.1","typescript":"^5.9.2","@types/node":"^22.18.1","@types/react":"~18.3.24","react-native":"0.76.0","@biomejs/biome":"2.2.3","react-native-web":"0.21.0","@types/css-modules":"^1.0.5","@redux-devtools/cli":"^4.0.3","@rozenite/vite-plugin":"1.0.0-alpha.12","@types/socketcluster-client":"^19.1.0"},"peerDependencies":{"react":">=19.0.0","zustand":">=5.0.0","react-native":">=0.81.0","@redux-devtools/cli":">=4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zorro_0.1.0_1757325363620_0.7009811679486007","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ilteoood/zorro","version":"0.1.1","type":"module","description":"A powerful adapter that enables Zustand stores to connect to Redux DevTools remote server for debugging and state inspection.","private":false,"scripts":{"build":"rozenite build","dev":"redux-devtools --hostname=localhost --port=8000 & rozenite dev","lint":"biome check","lint:fix":"biome check --write"},"main":"./dist/react-native.cjs","module":"./dist/react-native","types":"./dist/react-native.d.ts","exports":{".":{"types":"./dist/react-native.d.ts","import":"./dist/react-native.js","require":"./dist/react-native.cjs"},"./metro":{"types":"./dist/metro.d.ts","import":"./dist/metro.js","require":"./dist/metro.cjs"}},"keywords":["zustand","redux-devtools","remote","react-native","debugging","state-management","devtools"],"author":{"name":"Matteo Pietro Dazzi"},"license":"MIT","dependencies":{"@rozenite/plugin-bridge":"1.0.0-alpha.12","socketcluster-client":"^19.2.7","zustand":">=5.0.0"},"devDependencies":{"@biomejs/biome":"2.2.3","@redux-devtools/cli":"^4.0.3","@rozenite/vite-plugin":"1.0.0-alpha.12","@types/css-modules":"^1.0.5","@types/node":"^22.18.1","@types/react":"~18.3.24","@types/socketcluster-client":"^19.1.0","react":"18.3.1","react-dom":"18.3.1","react-native":"0.76.0","react-native-web":"0.21.0","rozenite":"1.0.0-alpha.12","typescript":"^5.9.2","vite":"^6.3.6"},"peerDependencies":{"@redux-devtools/cli":">=4.0.0","react":">=19.0.0","react-native":">=0.81.0","zustand":">=5.0.0"},"repository":{"type":"git","url":"git+https://github.com/ilteoood/zorro.git"},"bugs":{"url":"https://github.com/ilteoood/zorro/issues"},"homepage":"https://github.com/ilteoood/zorro#readme","_id":"@ilteoood/zorro@0.1.1","gitHead":"ca4de974ffbf83a24a535d52395a519e07b1bb9e","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-UnAvU0arKMEEsKytifCs+FrtuiSjcold9VBtotEG81tHTbEz77RDn9EZJQudZx9JUgV1aG2gvogQfrpFnaP7RA==","shasum":"e47ddf63664e1dc5ba85ad33c7ef51f2a7e9eb4d","tarball":"https://registry.npmjs.org/@ilteoood/zorro/-/zorro-0.1.1.tgz","fileCount":19,"unpackedSize":233058,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA8NSYrQ48vnW0LZC1wu5Af2EK0heaxa1tfjixG2BeF6AiEAxn5eJpcDdbIAh/H15FpyRIms0UohUCXO/Z1nThDnRgY="}]},"_npmUser":{"name":"ilteoood","email":"matteopietro.dazzi@gmail.com"},"directories":{},"maintainers":[{"name":"ilteoood","email":"matteopietro.dazzi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/zorro_0.1.1_1757406942112_0.009489367687307348"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-08T09:56:03.492Z","modified":"2025-09-09T08:35:42.458Z","0.1.0":"2025-09-08T09:56:03.794Z","0.1.1":"2025-09-09T08:35:42.286Z"},"bugs":{"url":"https://github.com/ilteoood/zorro/issues"},"author":{"name":"Matteo Pietro Dazzi"},"license":"MIT","homepage":"https://github.com/ilteoood/zorro#readme","keywords":["zustand","redux-devtools","remote","react-native","debugging","state-management","devtools"],"repository":{"type":"git","url":"git+https://github.com/ilteoood/zorro.git"},"description":"A powerful adapter that enables Zustand stores to connect to Redux DevTools remote server for debugging and state inspection.","maintainers":[{"name":"ilteoood","email":"matteopietro.dazzi@gmail.com"}],"readme":"# Zorro\n\nZustand Over Redux Remote Overwatch\n\nA powerful adapter that enables [Zustand](https://github.com/pmndrs/zustand) stores to connect to [Redux DevTools](https://github.com/reduxjs/redux-devtools) remote server for debugging and state inspections.\n\n## Features\n\n- 🔄 **Real-time state monitoring** - See your Zustand state changes in Redux DevTools\n- 🌐 **Remote debugging** - Perfect for scenarios in which the Redux DevTools extension is not available, like React Native\n- 📱 **Rozenite compatible** - Works seamlessly with Rozenite plugin framework\n\n## Installation\n\nFirst, install the required dependencies:\n\n```bash\n# Install Zustand if you haven't already\nnpm install zustand\n\n# Install Redux DevTools CLI for the remote server (not needed if you re using Rozenite)\nnpm install -g @redux-devtools/cli\n\n# Install Zorro\nnpm install @ilteoood/zorro\n```\n\n## Setup\n\n### 1. Start the Redux DevTools Remote Server\n\n```bash\n# Start the remote server on default port 8000\nredux-devtools --hostname=localhost --port=8000\n```\n\n### 2. Configure Your Zustand Store\n\n```javascript\nimport { create } from 'zustand';\nimport { remoteDevtools } from '@ilteoood/zorro';\n\nconst useStore = create(\n  remoteDevtools(\n    (set, get) => ({\n      count: 0,\n      increment: () => set((state) => ({ count: state.count + 1 })),\n      decrement: () => set((state) => ({ count: state.count - 1 })),\n    }),\n    {\n      // All the following parameters are optional\n      name: 'My Store',\n      hostname: 'localhost'\n      port: 8000,\n      realtime: true,\n      secure: false\n    }\n  )\n);\n```\n\n### 3. Configure with Rozenite (optional)\n\n```javascript\nimport { withRozeniteReduxDevTools } from '@ilteoood/zorro/metro'\n\n# Wrap your `withRozenite` config with `withRozeniteReduxDevTools`\nexport default withRozeniteReduxDevTools(withRozenite(...))\n```\n\n## Configuration Options\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `name` | `string` | `'Zustand Store'` | Instance name shown in DevTools |\n| `hostname` | `string` | `'localhost'` | DevTools server hostname, for React Native it is automatically converted to 10.0.2.2 when running on Android |\n| `port` | `number` | `8000` | DevTools server port |\n| `secure` | `boolean` | `false` | Use HTTPS/WSS connection |\n| `realtime` | `boolean` | `false` | Enable/disable realtime connection to DevTools |\n| `enabled` | `boolean` | `true` | Enable/disable DevTools |\n\n## Limitations\n\nDue to limitations with the Remote DevTools, time travel features like reset, commit, rollback and jump to state are not available.\n\n## Troubleshooting\n\n### Connection Issues\n\n1. **Can't connect to DevTools server:**\n   - Make sure the Redux DevTools CLI is running\n   - Check that the hostname and port match your configuration\n\n2. **Actions not showing:**\n   - Verify that `realtime` is enabled (enabled by default)\n   - Check that the Redx DevTools app is connecting to the remote server\n\n3. **State not updating:**\n   - Make sure you're updating your Zustand's state\n   - Check that the Redx DevTools app is connecting to the remote server\n\n### Performance Considerations\n- This middleware should be disabled in release mode\n\n## License\n\nMIT\n\n## Contributing\n\nContributions are welcome! Please feel free to open an issue or submit a pull request.\n\n## Acknowledgments\n\nThis project is kindly sponsored by [Nearform](https://nearform.com).","readmeFilename":"README.md"}