{"_id":"react-redux-history","_rev":"62-b2aeef52caa58473c9f4334744441aa3","time":{"created":"2022-07-22T14:58:27.223Z","0.1.0":"2022-07-20T23:11:25.519Z","modified":"2023-09-19T06:21:59.279Z","0.1.1":"2022-07-20T23:26:33.293Z","0.1.2":"2022-07-21T01:16:29.679Z","0.1.3":"2022-07-21T01:36:41.554Z","0.1.4":"2022-07-21T01:42:55.754Z","0.1.5":"2022-07-21T01:45:26.882Z","0.1.6":"2022-07-21T02:17:01.589Z","0.1.7":"2022-07-21T02:20:35.408Z","0.1.8":"2022-07-22T14:58:27.383Z","1.0.1-0":"2022-12-12T08:40:19.955Z","1.0.1":"2022-12-12T08:52:33.718Z","1.0.2":"2022-12-22T16:15:37.280Z","1.1.0":"2023-01-27T04:43:39.012Z","1.2.0-0":"2023-02-04T08:50:05.364Z","1.2.0-1":"2023-02-04T10:21:50.660Z","1.2.0":"2023-02-04T12:15:43.468Z","1.2.1":"2023-02-04T12:56:05.298Z","1.2.2":"2023-02-04T19:38:40.252Z","1.3.0":"2023-02-08T00:25:09.293Z","1.4.0-0":"2023-02-11T19:23:41.386Z","1.4.0":"2023-02-11T21:12:58.855Z","1.4.1":"2023-04-04T07:30:25.058Z","1.5.0-0":"2023-04-09T03:39:48.534Z","1.5.0-1":"2023-04-09T04:15:30.996Z","1.5.0-2":"2023-04-09T04:53:28.158Z","1.0.0-0":"2023-04-09T09:11:31.484Z","1.5.0-3":"2023-04-09T09:35:33.774Z","1.5.0":"2023-04-09T09:47:32.886Z","1.5.1":"2023-04-09T10:00:44.829Z","1.5.2":"2023-04-09T10:31:01.248Z","1.5.3":"2023-04-09T10:51:17.989Z","1.5.4":"2023-04-09T11:17:57.921Z","1.5.5":"2023-04-09T11:36:33.967Z","1.5.6":"2023-04-09T15:03:04.129Z","1.5.7":"2023-04-09T15:27:18.999Z","1.5.8":"2023-04-09T21:38:08.775Z","2.0.0":"2023-04-10T00:14:24.996Z","2.0.1":"2023-04-10T00:46:51.987Z","2.0.2":"2023-04-14T08:09:49.475Z","2.0.3":"2023-04-14T08:39:38.673Z","2.0.4":"2023-04-14T08:59:44.427Z","2.0.5":"2023-05-16T06:16:57.164Z","3.0.0-rc.1":"2023-05-19T05:03:54.731Z","2.1.0":"2023-05-19T08:14:46.368Z","2.1.1":"2023-05-19T08:20:51.758Z","2.1.2":"2023-05-19T08:26:59.283Z","2.1.3":"2023-05-20T09:45:35.727Z","2.1.4":"2023-05-20T10:03:12.812Z","2.1.5":"2023-05-20T10:09:20.192Z","2.1.6":"2023-05-20T13:41:57.530Z","2.1.7":"2023-05-20T13:52:19.931Z","2.1.8":"2023-05-20T13:54:12.325Z","2.1.9":"2023-05-20T14:00:46.095Z","2.1.10":"2023-05-22T06:35:08.508Z","2.1.11":"2023-05-23T16:03:10.758Z","2.1.12":"2023-05-23T16:51:07.474Z","2.1.13":"2023-05-23T16:59:15.120Z","2.1.14":"2023-05-23T17:17:57.258Z","2.1.15":"2023-05-30T21:13:20.992Z","2.1.16":"2023-09-18T17:02:56.940Z","3.0.0-rc.2":"2023-09-18T20:00:15.459Z","3.0.0":"2023-09-19T06:21:59.054Z"},"name":"react-redux-history","dist-tags":{"latest":"3.0.0","next":"3.0.0-rc.1","rc":"3.0.0-rc.2"},"versions":{"0.1.8":{"name":"react-redux-history","version":"0.1.8","description":"Redux history made easy","main":"lib/index.js","module":"lib/index.js","scripts":{"build":"rm -rf dist && NODE_ENV=production tsc"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"react":"^16.4.0 || ^17.0.0 || ^18.2.0","react-redux":"^6.0.0 || ^7.1.0 || ^8.0.2","react-router":"^4.3.1 || ^5.0.0","redux":"^3.6.0 || ^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^4.7.11","typescript":"^4.7.4"},"dependencies":{"connected-react-router":"^6.9.3","lodash":"^4.17.21"},"gitHead":"e3cb81047c8efa624f9f7742ce8affe8fe646a77","_id":"react-redux-history@0.1.8","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-76QftYlspqUXcoFGlTz+77h0bj7RXYWuZDdgvCZF0UvVPZ29OsfTIn682w8KSlDQB9CcBxICBf5jZ98y42L6zA==","shasum":"09840e322e06b02d2c37fa181f08dbda19122f53","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-0.1.8.tgz","fileCount":13,"unpackedSize":27245,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGiqATe2GmGyhbaAkJX0vvfu36VURzZSGakmqG06fUe0AiEAnKN8cetFJ4bqYVogawrIfHWHHszwn/3vCliGmokdXes="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2rsTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrFNA//fF3wCxK5As2FnHI1+Wst8v9W0ob2wlN9J/Ts+GbJyfjFCshM\r\n0r7nadilME8ZVHTeKQpfqYvPHxAZK04gXgON3A4MKCJjh7rYRHuFLU8CNnKZ\r\nf4VLlLfPucfDtMRz2Kakqt4J6RaGZYWB3rv86mAbDnbBbVYjdhjiR/IWHAyK\r\ng5e/VnLxhxu59TeTKIqlNgtFY0lPo/OiCRodyyxJbNNL0ThKUjM+n1ls3hhK\r\nDVLw/PoyXKpQ8Z5ASh2ZzrI1uoDrJwwfkBuMMOljVHAwA1575TOctZ2QOQhx\r\nXU08e5sWL12chDHxci4nH2lomFEilOlp2R6OEj7lN8zGihmPIOAPV6PKigI6\r\nG3pYKs38SbWFWC/RS1GI978nqfDkriQRvvYAa31Fz7r31HO23SIYwu831X5w\r\nToLMNBCuCldMdrBciISQRAtVQdwrCszNzjuXacExekdjky65w/C8MYMeh6MX\r\n3EqirwzQBqDzbC+e78ZGkfK8ABtRhCtzTRcfIJD39iUcQltl94nYBRZ8iN98\r\nPTdXo2aZgNqlRfQxYZK4akyc/vbPSQFEe5CpHPYlhIuot0MWtR30LvUW/1BR\r\nohMRt9+hKaLJIG+upFB2QxzfE7moJ5yK+Ikll2t+RySOawgYKkWgEFb2So/M\r\nr63xNCwHp+yp10zE7JUoyNmNkR+DBGVZl2w=\r\n=E1h2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_0.1.8_1658501907223_0.7538408208703506"},"_hasShrinkwrap":false},"1.0.1-0":{"name":"react-redux-history","version":"1.0.1-0","description":"Redux history made easy","main":"lib/index.js","module":"lib/index.js","scripts":{"build":"rm -rf lib && NODE_ENV=production tsc","release":"release-it"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^4.7.11","release-it":"^15.5.1","typescript":"^4.7.4"},"readme":"<img src=\"https://i.ibb.co/LnwWJ0g/react-redux-history.png\" alt=\"react-redux-history-logo\" />\n\n<div>\n    <img src=\"https://img.shields.io/maintenance/yes/2030\" alt=\"maintained\" />\n    <img src=\"https://img.shields.io/bundlephobia/min/react-redux-history\" alt=\"minsize\" />\n    <img src=\"https://img.shields.io/npm/l/react-redux-history\" alt=\"license\" />\n    <img src=\"https://img.shields.io/github/issues-raw/fum4/react-redux-history\" alt=\"issues\" />\n    <img src=\"https://img.shields.io/npm/v/react-redux-history?color=red\" alt=\"version\" />\n</div>\n\n# ⚛ Navigation history made easy!\n\nA simple, lightweight library for managing navigation history in React and Redux.\n\n### Used in production by [Utilmond](https://utilmond.com). Check it out!\n\n## 👌 Have any requests?\nFor any requests such as new features, backwards compatibility with `react-router 5`, other routing libraries or environments such as `Cordova` please [open a GitHub issue](https://github.com/fum4/react-redux-history/issues). \n\nSome of them are already implemented and will be incrementally added. \n\nIf you are in a rush though please [open an issue](https://github.com/fum4/react-redux-history/issues), this way we can prioritize correspondingly :)\n\n## ✨ Features\n\n📜 Saves all routing history in store and offers selectors for easy access\n\n🌲 History is persisted even after reloading the page\n\n⏭️ Skipping screens capability out of the box just by passing a flag when navigating\n\n👀 Everything you need to know about your navigation state and history directly in your favorite developer tools\n\n<img src=\"https://i.ibb.co/Y7xv9W9/react-redux-history-store-snapshot.png\" alt=\"Redux DevTools with router history\" width=\"500\" />\n\n## 📤 Installation\n\n```shell\nnpm install react-redux-history react react-redux react-router history\n```\n\n## 🔗 Setup\n\n### Step 1)\n\nCreate a history object:\n\n```javascript\n// store.js\nimport { createBrowserHistory } from 'history'\n\nexport const history = createBrowserHistory() // export this as we will need it later\n```\n\n### Step 2)\n\nPass the `history` object as an argument to `configureRouterHistory`. The returned reducer and middleware will be used to connect to the store.\n\n```javascript\n// store.js\nimport { configureRouterHistory } from 'react-router-redux-history'\n\nconst { routerReducer, routerMiddleware } = configureRouterHistory(history)\n```\n\n### Step 3)\n\nAdd the reducer and middleware to your store. If you are using Redux Toolkit it might look something like this:\n\n```javascript\n// store.js\nconst store = configureStore({\n  reducer: combineReducers({\n    // ...other reducers\n    router: routerReducer\n  }),\n  middleware: (getDefaultMiddleware) => getDefaultMiddleware()\n    // ...other middleware\n    .prepend(routerMiddleware)\n});\n\nexport default store\n```\n\n### Step 4)\n\nLastly, add either `<LocationListener history={history} />` or `useLocationListener(history)` somewhere at the root of your app.\n\n**Only use one of the approaches!** They are only exported like this for flexibility :)\n\n```javascript\n// App.tsx\nimport { useLocationListener, LocationListener } from 'react-redux-history'\nimport { history } from 'src/store'\n\nconst App = () => {\n  useLocationListener(history) // Use either this or the component below, not both!\n  \n  return (\n    <>\n      ...\n      <LocationListener history={history} />\n      ...\n    </>\n  )\n}\n```\n\n**Note**: the `history` object provided to `configureRouterHistory` and `useLocationListener` / `LocationListener` must be the same `history` object !\n\n## ⏭️ Skip back / forward\n\nBy setting a `skipBack` / `skipForward` flag on a specific route the user will be automatically skipped over certain routes.\n\n```javascript\nhistory.push({\n  pathname: 'page_5',\n  state: { skipBack: 4 }\n});\n```\n\nIn this example, every time the user will try to go back from *page_5* he will be skipped back 4 pages, reaching *page_1*. The same behaviour will apply when going forward from *page_1*, the user will be skipped forward to *page_5*.\n\n**Note**: Due to the restrictive nature of browser navigation, back or forward actions cannot be stopped. That means that in the previous example the user will actually reach *page_4* before being redirected to *page_1*. If there is conflicting logic (such as extra redirects) in *page_4*, it will be fired before the middleware manages to completely skip all screens. In order to get past this issue we can use the `isSkipping` flag to, for instance, not render the component tree while skipping. You can find a selector for this in the selectors section.\n\n## 🌲 Persistent history\n\nHistory is persisted even after page refresh by using local storage to save the state on page hide.\n\n## 🚦 Selectors for easy access\n\nThere are also a few useful selectors for easy access:\n\n- selectAction\n- selectIsSkipping\n- selectLocationHistory\n- selectCurrentIndex\n- selectCurrentLocation\n- selectCurrentLocationState\n- selectPreviousLocation\n- selectNextLocation\n\n### Huge thanks going to [Utilmond team](https://utilmond.com/about-us) for making this possible! 🍻\n","readmeFilename":"README.md","gitHead":"71a10794a85235177fc88dc0c4710ed8ed953cc4","_id":"react-redux-history@1.0.1-0","_nodeVersion":"18.11.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-T4O5gRt8YgQetwuJHptk18SA1cb4TKlRkejF/tU0//tNZVjITshJEaHONqJ8odx0V5ktbYJZHTyLzdSCmZ6C8w==","shasum":"6c2d8a34f32e9bfaceea900315d2b9c2b93d8acb","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.0.1-0.tgz","fileCount":13,"unpackedSize":28466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3xg9HCy6YnoFoDbWLdCZBqBvIWzYFjfaheaNd1HeSKAIgW4AG/Pt6q+Ltx4OWN6WL/rEikFz2brlyHw79tjxMohE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjlujzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrrng/+OUfa7v1DYGXIWkb1QDbuiU4cWUo9RmMOiK3rsNgHNNat9fs4\r\nmPoXM/A8jJSuMPoqo9rfdtREkJU2Flk/LLLkq8u/d6pZIYACK/0O9xTGY5Gp\r\nRmVg51wEWFE+VYCOnfgMpxxb0xX0Mmja+cfXGcM+Ho4OP6nwm0LAQYiIQuXJ\r\nF3aSp2kJxC6JT9e+j6ysbecMSdoGCwuXNnMQIkKwQsp9F/vQmApLclsVFsTE\r\n8EzHaeoRFAEg8sMSGeTI88qPBq+NMftZpUTFomdoTE3zJXvydVHDfRryUmVJ\r\nGwwdTK5OFZ0TGbxBa+F6toVDSremxSmAORITd1NDpMET3LsRqQgweU3mPoMp\r\n6SbGeTdUiZ1BS23+gw3i/T40iYK25Y4Y0Hn4POGmBct5zR87y7AYOchAdJQC\r\nhj5k4zk/iscS0wUwJ0wXtoGu5o7zbn13lkCb0iWn0/T2DdEI7l5V6fg8xSd+\r\nFhXqD0BH03x5wDv+SXX/M2mTcXWd4e5OC+5/7hrhgwmfcnXMjvgLdz0GRd8+\r\nOvpvCQfdx1H5QNYA9jGbTO/XXnGHqLEy1CCubFiz75LaeN+8nUTqs6BaMerh\r\nGntm4S+dgcs/e1gDgTEpNXuWQkVgJHLz3PGZ9Uvh1rTO3CPP3adPnxscFyXF\r\nm9NLX0q1tAGLxL5S3vWBWHxLFsPQtwzuYO4=\r\n=B9zX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.0.1-0_1670834419772_0.5831180634900104"},"_hasShrinkwrap":false},"1.0.1":{"name":"react-redux-history","version":"1.0.1","description":"Redux history made easy","main":"lib/index.js","module":"lib/index.js","scripts":{"build":"rm -rf lib && NODE_ENV=production tsc","release":"release-it"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^4.7.11","release-it":"^15.5.1","typescript":"^4.7.4"},"gitHead":"6619638911a2a16eba21e7070529e333580934c9","_id":"react-redux-history@1.0.1","_nodeVersion":"18.11.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Ovcu+CuIXaz/xV2/2oBEm+RU1RI5my3arL+Y0/1BzPw/oiOIcebUQYORxazSlERQkz7GkVwKkpAGZbMOP7azYQ==","shasum":"bac6773324c027e007c2a3061d12e2cfa47d7f6c","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.0.1.tgz","fileCount":13,"unpackedSize":28464,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3wWflnbwDzA0MjgVNuY3Z/yq8sJxlztR+U/z/HmF7YAIgbs7RhsbWgpuLsbncjF0jYKqNQUH8xd5xD1Up6GgsXP8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjluvRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq59Q/+MfFC2obRPBFFDjceOYS9/7K0afLAEok08TQDLFbE+Ct9/CUZ\r\nc0Puo0GluSq4OQ7qXpbvGNWtH8XzxKnPXsAoS/RTS+MOet+yUQUTCI0LOma5\r\nth95auI3dDZGcbG5Z+QCBbucwHVFMx5oq9R6nGY0rGihZWRb6E8qq3OSE54B\r\nE9BxzGD8tLTrp9fYwuNb/MDiHokRnnj5Om3BhWSJ42wLGIy8LVgel7s91QAy\r\nl0FcI2pH9OLafVOtbQCBzyiZBD03bvKBRLo9gF3YbSUQH85MMYAsk5gIZMYw\r\nD63nRDktFhZ0KuqsX9OYj/8VNGVahNQSJR7hfIMtn7VStHDv4PDFcKNzrIKs\r\n8e3t6TP8A2zw3rDJCP/yOUeNLjF1JxmmqxyVUfu2Bk30xt1H4T6Q6Un8gb+v\r\nz5JlRdhI2Kq7rFVgqB926MTerERLsJ4vbOfwfM51XfjIGKFXh6RhUIkdQOE0\r\nd7Q597mdcxDsejFSHmAjWDxlLU0fmysnFO1eItDlkeUsNU7V0/tMBaTi8LDb\r\njKPFlgsbMk41mMI5Rzqhncv3XMkBVvq6AbTPU1zBRjvkaEy3SceQLqg5DXfz\r\n1+HzWDXruG1oOcyamBWLBFC8+3k8x2LoOa/SqBIo78WQN3uaW8z8Uy0APazw\r\nu4MUQJVp6xh2QIuEs5QQQ3BMBdWxBVjXo/0=\r\n=Xaw5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.0.1_1670835153542_0.7245120740081035"},"_hasShrinkwrap":false},"1.0.2":{"name":"react-redux-history","version":"1.0.2","description":"Redux history made easy","main":"lib/index.js","module":"lib/index.js","scripts":{"build":"rm -rf lib && NODE_ENV=production tsc","release":"release-it"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^4.7.11","release-it":"^15.5.1","typescript":"^4.7.4"},"gitHead":"e03fe02ca0d45c2632234a5462a6a97ac9d46126","_id":"react-redux-history@1.0.2","_nodeVersion":"18.11.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-zgl5VQKs/2hDxbe/KXhluWulb9ol2vT4BuAz63DhXwpOS8ucss8XgyiZgJ89GABiY8miGDzBXa0HcTf+HZHbMQ==","shasum":"61c90817416f5d445ff6a089b7db4d9b6c3bc6fb","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.0.2.tgz","fileCount":14,"unpackedSize":29549,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSfatFSmeQXZj7uo1W8N4ZwEzsU0K+N97jxa0s4+DZKAIgf1lE0LLXl2xYML6gQMYvPS2ov1lZm/zvBzcm+LUfDuI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpIKpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqTHBAAmHX0Frl/kDOzLHq74d+JeuVOL32aTTRnnUgfqM30QlfrWAWY\r\nQOtVpAwe+wPPFtRWTbcQfZ7NCGmPw4eLNKsb+j9FP6GHP55GTul390Q+dV+L\r\nGkVmQzreeYdvVyM0QfEAcUzcLIz5NDiqGQ3T6vpTuhmiAXMad3AvKUoRS1aR\r\nSXh3r2JrIR/iRwBUI3Jn0+cOdx8cfY9yvZNf7WWPHseYdy03XLagUF3V4nt8\r\nNN6xPruoNYfP/5DwQl3KyV6Oq6VYPv21GT9Q1OBNKogiw0lebibTkXIxNkQq\r\n3KlJ4EqOSCPu9cVY1soTzwiNmH8flEBz63RxOrjfLbv2yqPP1KVpMmtbyWuo\r\n6dDZ6BP28IEOEzgxFnDFaF5tvneDu4JssF3AFLN7PE8l9E5y+a6SgkPvPMFw\r\nv+ZJfJ3X93oluewFF/xf4e+aqzzoySrGKFjihR3xmw3/ux2mJ4r0r3gyWOdK\r\nYqohxmLj93vaZ7sst1nUvVxcMsyjqxAJKMX5bCFAi5PO/sEKT2o/cHfo70DW\r\nd2xxUMXN1iMaaAUKOMmVeI3KucNtrcFSPuhLD3ky7xpTKXfn3ChsskkcHOIf\r\n7GRPCurL91ZWuJHsa9Q/ZHmtbZqDFdM1LtYQb9Ux170Z5QAg2J6a33olvLzh\r\na1KfuhqH5egXq1bgA503IwjEAKsYuQA7aX4=\r\n=fMC2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.0.2_1671725737114_0.8092904298519465"},"_hasShrinkwrap":false},"1.1.0":{"name":"react-redux-history","version":"1.1.0","description":"Navigation history made easy","main":"lib/index.js","module":"lib/index.js","scripts":{"build":"rm -rf lib && NODE_ENV=production tsc","release":"release-it"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^4.7.11","release-it":"^15.5.1","typescript":"^4.7.4"},"gitHead":"25b39a6e15e9b694c36a03b213300dd9c57e37c5","_id":"react-redux-history@1.1.0","_nodeVersion":"18.11.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-a2b/HgERGYkOwAT3/0wunGAbcM1APY/KJWeJrkpko1QwU7Lipn1upaAdhSp9RG4R7IItIaNdZ8h5R6JT5r8jLw==","shasum":"3478ef47ef20cde3a4763a9ef98be09bcf041ca7","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.1.0.tgz","fileCount":19,"unpackedSize":37174,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2D43MxOwrqU+TCQUt+4RuJLnGKsNaNwpmDSq1XkBzxAIhAJ95qn8fjZFHchWvBUSsxXhA0gnfOyy6Q1t+9TBWOClK"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj01Z7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvgxAAhOT5NN64/mUEapy6ORa2y91MUayXYwPKhsixUjBVenBk+vl2\r\nbQTGgNx2c3bZuS4uNoRODC3Nb93/VZljgmE7aH/Ml8caHb7vkaFcw4f1C+B1\r\nd+VVx/I7HXvyEp/EdOrbDgbDaD1y7PyvAQCNyvmYIMwYZWi90W7RGQc++1n4\r\n1dkNsSlVMLRNnkVhoRrIcuTpAVhJPZz3aBa5V2h69o/PXnI5tli25sNDeLV0\r\nhdTVLGAOYG1azCdBIK8vwOtP4LjGix91d5O28guj4JgqJpo7j5uLnLLBzCYr\r\nZrjlcfrMYIK64YQe+lRDzSo2j1NrsGrTLmGi2fXtx3NdIxxOJUp/UrWjcLg+\r\ne/lrq6xaASGHFC4+DpBBFjwM2Sp1ADLuvPYr4U9SnH/oY8laPK+Wlqj/3Fp7\r\nztP4wDoQTZYvh48gJDaBuKKzq1LkrLitKQ6boaaUDdgnfC6NXL9AwgQfB6UN\r\nSvyUnRdOaprNC3hVQ2vIwart9956HN6vXYGLZAoKBSqaW5cCAJgho2iVMQQa\r\nt1EMLdfPw7ijihiIihdPiFCuxK8Bf4H30jfobuEGOTpQX/SO4sjtpLNbR/ZW\r\nSuWZnPgBslMOO5dc+Uwy33XnAYy8JUP5uyrGXDnqdY4vqmQPf1WRlgMdHuwB\r\nR0CDbReWgXfHS1StVFkgp4YLnumJ/fCDygc=\r\n=sz2W\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.1.0_1674794618809_0.1662816339167772"},"_hasShrinkwrap":false},"1.2.0-0":{"name":"react-redux-history","version":"1.2.0-0","description":"Navigation history made easy","main":"lib/index.js","module":"lib/index.js","scripts":{"build":"rm -rf lib && NODE_ENV=production tsc","release":"release-it"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^4.7.11","release-it":"^15.5.1","typescript":"^4.7.4"},"readme":"<img src=\"https://i.ibb.co/LnwWJ0g/react-redux-history.png\" alt=\"react-redux-history-logo\" />\n\n<!-- Shields -->\n\n![maintained][1]\n![minsize][2]\n[![npm][3]][4]\n[![license][5]][6]\n\n# ⚛ Navigation history made easy!\n\n### A simple, lightweight library for managing navigation history in React and Redux.\n\n#### Used in production by [Utilmond][13]. Check it out!\n\n<br>\n\n## 👌 Have any requests?\nFor any requests such as new features, backwards compatibility with `react-router 5`, other routing libraries or environments such as `Cordova` please [open a GitHub issue][15]. \n\nSome of them are already implemented and will be incrementally added. \n\nIf you are in a rush though please [open an issue][15], this way we can prioritize correspondingly :)\n\n<br>\n\n## ✨ Features\n\n📜 Saves all routing history in store and offers selectors for easy access\n\n🌲 History is persisted even after reloading the page\n\n💪 Force current route to re-render capability\n\n⏭️ Skipping screens capability out of the box just by passing a flag when navigating\n\n👀 Everything you need to know about your navigation state and history directly in your favorite developer tools\n\n<br>\n\n<img src=\"https://i.ibb.co/Y7xv9W9/react-redux-history-store-snapshot.png\" alt=\"Redux DevTools with router history\" width=\"500\" />\n\n<br>\n\n## 📤 Installation\n\n```shell\nnpm install react-redux-history react react-redux react-router history\n```\n\n<br>\n\n## 🔗 Setup\n\n### Step 1)\n\nCreate a history object:\n\n```javascript\n// store.js\nimport { createBrowserHistory } from 'history'\n\nexport const history = createBrowserHistory() // export this as we will need it later\n```\n\n### Step 2)\n\nPass the `history` object as an argument to `configureRouterHistory`. The returned reducer and middleware will be used to connect to the store.\n\n```javascript\n// store.js\nimport { configureRouterHistory } from 'react-router-redux-history'\n\nconst { routerReducer, routerMiddleware } = configureRouterHistory(history)\n```\n\n### Step 3)\n\nAdd the reducer and middleware to your store. If you are using Redux Toolkit it might look something like this:\n\n```javascript\n// store.js\nconst store = configureStore({\n  reducer: combineReducers({\n    // ...other reducers\n    router: routerReducer\n  }),\n  middleware: (getDefaultMiddleware) => getDefaultMiddleware()\n    // ...other middleware\n    .prepend(routerMiddleware)\n});\n\nexport default store\n```\n\n### Step 4)\n\nLastly, add either `<LocationListener history={history} />` or `useLocationListener(history)` somewhere at the root of your app.\n\n**Only use one of the approaches!** They are only exported like this for flexibility :)\n\n```javascript\n// App.tsx\nimport { useLocationListener, LocationListener } from 'react-redux-history'\nimport { history } from 'src/store'\n\nconst App = () => {\n  useLocationListener(history) // Use either this or the component below, not both!\n  \n  return (\n    <>\n      ...\n      <LocationListener history={history} />\n      ...\n    </>\n  )\n}\n```\n\n**Note**: the `history` object provided to `configureRouterHistory` and `useLocationListener` / `LocationListener` must be the same `history` object !\n\n<br>\n\n## ⏭️ Skip back / forward\n\nBy setting a `skipBack` / `skipForward` flag on a specific route the user will be automatically skipped over certain routes.\n\n```javascript\nhistory.push({\n  pathname: 'page_5',\n  state: { skipBack: 4 }\n});\n```\n\nIn this example, every time the user will try to go back from *page_5* he will be skipped back 4 pages, reaching *page_1*. The same behaviour will apply when going forward from *page_1*, the user will be skipped forward to *page_5*.\n\n**Note**: Due to the restrictive nature of browser navigation, back or forward actions cannot be stopped. That means that in the previous example the user will actually reach *page_4* before being redirected to *page_1*. If there is conflicting logic (such as extra redirects) in *page_4*, it will be fired before the middleware manages to completely skip all screens. In order to get past this issue we can use the `isSkipping` flag to, for instance, not render the component tree while skipping. You can find a selector for this in the selectors section.\n\n<br>\n\n## 💪 Force current route to re-render\n\nSometimes you might want to force the current route to re-render, a behaviour which is not possible out of the box with `react-router`.\n\nThis can be achieved by selecting the `forceRender` state in the component you wish to re-render. Then simply 're-navigate' to the route while passing `forceRender: {}` in the state object. \n\n*The `forceRender` flag can also be used as a dependency in order to re-trigger effects.*\n\n<br>\n\n## 🌲 Persistent history\n\nHistory is persisted even after page refresh by using local storage to save the state on page hide.\n\n<br>\n\n## 🚦 Selectors for easy access\n\nThere are also a few useful selectors for easy access:\n\n- selectAction\n- selectIsSkipping\n- selectForceRender\n- selectLocationHistory\n- selectCurrentIndex\n- selectCurrentLocation\n- selectCurrentLocationState\n- selectPreviousLocation\n- selectNextLocation\n\n<br><br><br>\n\n### Huge thanks going to [Utilmond team][14] for making this possible! 🍻\n\n<hr>\n\n[![react][7]][8]\n[![redux][9]][10]\n[![react-router][11]][12]\n\n[1]: https://img.shields.io/maintenance/yes/2030\n[2]: https://img.shields.io/bundlephobia/min/react-redux-history\n[3]: https://img.shields.io/npm/v/react-redux-history?color=white\n[4]: https://www.npmjs.com/package/react-redux-history\n[5]: https://img.shields.io/npm/l/react-redux-history\n[6]: https://github.com/fum4/react-redux-history/blob/master/LICENSE.md\n[7]: https://camo.githubusercontent.com/67a01fa7cf337616274f39c070a11638f2e65720e414ef55b8dd3f9c2a803b2a/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526561637426636f6c6f723d323232323232266c6f676f3d5265616374266c6f676f436f6c6f723d363144414642266c6162656c3d\n[8]: https://reactjs.org/\n[9]: https://camo.githubusercontent.com/3a2650b6854cb790e3af41a1cefa87df32efc07aad12d0c0f128a7fbc5998ac3/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526564757826636f6c6f723d373634414243266c6f676f3d5265647578266c6f676f436f6c6f723d464646464646266c6162656c3d\n[10]: https://redux.js.org/\n[11]: https://camo.githubusercontent.com/a5f1968a99631284ca552953929cff7b6abb375853bb0944fae0dc520c45c73b/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d52656163742b526f7574657226636f6c6f723d434134323435266c6f676f3d52656163742b526f75746572266c6f676f436f6c6f723d464646464646266c6162656c3d\n[12]: https://reactrouter.com/en/main\n[13]: https://utilmond.com\n[14]: https://utilmond.com/about-us\n[15]: https://github.com/fum4/react-redux-history/issues\n","readmeFilename":"README.md","gitHead":"f818fbc1291072fef7e1add84279e280f867812e","_id":"react-redux-history@1.2.0-0","_nodeVersion":"18.11.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-7tBW8FlycYYEql10wuBDoJl6bilHrXdv+AlbVUZsXxDnkl6ewpB+j5LXQ6iXSrLD+txTpvvnSYm2PQYwU/7OxA==","shasum":"531f366d2255618e5c7260dd4ceac92e52d5421b","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.2.0-0.tgz","fileCount":14,"unpackedSize":31382,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHGeXGGCuRtWU/M6MfuHkF63n5RFMhBemlxfNypWL684AiANTrV/fk002LNBT2SyYn3gbM/kSMaqN16WyUMngSjZqA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3hw9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpT4RAAklsjSy8rVJBqJG4u7PmHziQCgI6b5L9XZc3C8Q3fG4Bas4f8\r\nW+BFozuVcYUUukWuHTzFhK4FPz2MCFwQgoLyGPLsHrf+9hlyS62ePMAVxCc9\r\n9FSDMoCy0aJ+k3ZdaWHwN/IN5iYFHxdG/mYTun18Os4TQ+HY8gOxkd609G6U\r\ncvXuHl7vBzT/TZHlP/i3cMKCkVxREmv6Wuikf2cyVTBOUb8nQ1j9i9zgEGFC\r\nBWMKOPUTAjobLP9Y9LGDmaGTVvZwS5b9UNW6WJ09wLzkDpW0DHLQqJMRoHg9\r\nCllBFDG92gNNcb1v98BP0kqB8V5d1jVht3grX2pKEKbQtchFAu0DIqoDff2M\r\n7GMsTqyHTaIJY+SJvxXVe1VmCH4ZwkTojwpYWyG+LMHu57t1vCgmF+tHy28y\r\nJE32bNvrxockwAVaziKRQfqTfOBhvCZzf8BpYnwDu+0fyAltfWgirs7S+ApW\r\njoCpCXgwhd7FiCoU2mK3nkxYV8JQOSa5naKMpo8plCbc6A1J9ZA4qM1KtU+H\r\nzCyXCCm8S7ET8D7HHqttSP6mD4e6gdcb/Q/CfP73lHXoWO2wKa2Ho30hPKed\r\nCGhnn8xnGbWyeBelbiaE8CgvxHkbim53JCBcfpHh6BFYN12noB3EgNpgA+Ib\r\nLLa6h/XyDX1oHdr+4n5kOBHdW+BoDG7rTQM=\r\n=4kfY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.2.0-0_1675500605150_0.009831411855367289"},"_hasShrinkwrap":false},"1.2.0-1":{"name":"react-redux-history","version":"1.2.0-1","description":"Navigation history made easy","main":"lib/index.js","module":"lib/index.js","scripts":{"build":"rm -rf lib && NODE_ENV=production tsc","release":"release-it"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^5.0.0","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","@types/react-router":"^5.1.20","release-it":"^15.5.1","typescript":"^4.7.4"},"readme":"<img src=\"https://i.ibb.co/LnwWJ0g/react-redux-history.png\" alt=\"react-redux-history-logo\" />\n\n<!-- Shields -->\n\n![maintained][1]\n![minsize][2]\n[![npm][3]][4]\n[![license][5]][6]\n\n# ⚛ Navigation history made easy!\n\n### A simple, lightweight library for managing navigation history in React and Redux.\n\n#### Used in production by [Utilmond][13]. Check it out!\n\n<br>\n\n## 👌 Have any requests?\nFor any requests such as new features, backwards compatibility with `react-router 5`, other routing libraries or environments such as `Cordova` please [open a GitHub issue][15]. \n\nSome of them are already implemented and will be incrementally added. \n\nIf you are in a rush though please [open an issue][15], this way we can prioritize correspondingly :)\n\n<br>\n\n## ✨ Features\n\n📜 Saves all routing history in store and offers selectors for easy access\n\n🌲 History is persisted even after reloading the page\n\n💪 Force current route to re-render capability\n\n⏭️ Skipping screens capability out of the box just by passing a flag when navigating\n\n👀 Everything you need to know about your navigation state and history directly in your favorite developer tools\n\n<br>\n\n<img src=\"https://i.ibb.co/Y7xv9W9/react-redux-history-store-snapshot.png\" alt=\"Redux DevTools with router history\" width=\"500\" />\n\n<br>\n\n## 📤 Installation\n\n```shell\nnpm install react-redux-history react react-redux react-router history\n```\n\n<br>\n\n## 🔗 Setup\n\n### Step 1)\n\nCreate a history object:\n\n```javascript\n// store.js\nimport { createBrowserHistory } from 'history'\n\nexport const history = createBrowserHistory() // export this as we will need it later\n```\n\n### Step 2)\n\nPass the `history` object as an argument to `configureRouterHistory`. The returned reducer and middleware will be used to connect to the store.\n\n```javascript\n// store.js\nimport { configureRouterHistory } from 'react-router-redux-history'\n\nconst { routerReducer, routerMiddleware } = configureRouterHistory(history)\n```\n\n### Step 3)\n\nAdd the reducer and middleware to your store. If you are using Redux Toolkit it might look something like this:\n\n```javascript\n// store.js\nconst store = configureStore({\n  reducer: combineReducers({\n    // ...other reducers\n    router: routerReducer\n  }),\n  middleware: (getDefaultMiddleware) => getDefaultMiddleware()\n    // ...other middleware\n    .prepend(routerMiddleware)\n});\n\nexport default store\n```\n\n### Step 4)\n\nLastly, add either `<LocationListener history={history} />` or `useLocationListener(history)` somewhere at the root of your app.\n\n**Only use one of the approaches!** They are only exported like this for flexibility :)\n\n```javascript\n// App.tsx\nimport { useLocationListener, LocationListener } from 'react-redux-history'\nimport { history } from 'src/store'\n\nconst App = () => {\n  useLocationListener(history) // Use either this or the component below, not both!\n  \n  return (\n    <>\n      ...\n      <LocationListener history={history} />\n      ...\n    </>\n  )\n}\n```\n\n**Note**: the `history` object provided to `configureRouterHistory` and `useLocationListener` / `LocationListener` must be the same `history` object !\n\n<br>\n\n## ⏭️ Skip back / forward\n\nBy setting a `skipBack` / `skipForward` flag on a specific route the user will be automatically skipped over certain routes.\n\n```javascript\nhistory.push({\n  pathname: 'page_5',\n  state: { skipBack: 4 }\n});\n```\n\nIn this example, every time the user will try to go back from *page_5* he will be skipped back 4 pages, reaching *page_1*. The same behaviour will apply when going forward from *page_1*, the user will be skipped forward to *page_5*.\n\n**Note**: Due to the restrictive nature of browser navigation, back or forward actions cannot be stopped. That means that in the previous example the user will actually reach *page_4* before being redirected to *page_1*. If there is conflicting logic (such as extra redirects) in *page_4*, it will be fired before the middleware manages to completely skip all screens. In order to get past this issue we can use the `isSkipping` flag to, for instance, not render the component tree while skipping. You can find a selector for this in the selectors section.\n\n<br>\n\n## 💪 Force current route to re-render\n\nSometimes you might want to force the current route to re-render, a behaviour which is not possible out of the box with `react-router`.\n\nThis can be achieved by selecting the `forceRender` state in the component you wish to re-render. Then simply 're-navigate' to the route while passing `forceRender: {}` in the state object. \n\n*The `forceRender` flag can also be used as a dependency in order to re-trigger effects.*\n\n<br>\n\n## 🌲 Persistent history\n\nHistory is persisted even after page refresh by using local storage to save the state on page hide.\n\n<br>\n\n## 🚦 Selectors for easy access\n\nThere are also a few useful selectors for easy access:\n\n- selectAction\n- selectIsSkipping\n- selectForceRender\n- selectLocationHistory\n- selectCurrentIndex\n- selectCurrentLocation\n- selectCurrentLocationState\n- selectPreviousLocation\n- selectNextLocation\n\n<br><br><br>\n\n### Huge thanks going to [Utilmond team][14] for making this possible! 🍻\n\n<hr>\n\n[![react][7]][8]\n[![redux][9]][10]\n[![react-router][11]][12]\n\n[1]: https://img.shields.io/maintenance/yes/2030\n[2]: https://img.shields.io/bundlephobia/min/react-redux-history\n[3]: https://img.shields.io/npm/v/react-redux-history?color=white\n[4]: https://www.npmjs.com/package/react-redux-history\n[5]: https://img.shields.io/npm/l/react-redux-history\n[6]: https://github.com/fum4/react-redux-history/blob/master/LICENSE.md\n[7]: https://camo.githubusercontent.com/67a01fa7cf337616274f39c070a11638f2e65720e414ef55b8dd3f9c2a803b2a/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526561637426636f6c6f723d323232323232266c6f676f3d5265616374266c6f676f436f6c6f723d363144414642266c6162656c3d\n[8]: https://reactjs.org/\n[9]: https://camo.githubusercontent.com/3a2650b6854cb790e3af41a1cefa87df32efc07aad12d0c0f128a7fbc5998ac3/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526564757826636f6c6f723d373634414243266c6f676f3d5265647578266c6f676f436f6c6f723d464646464646266c6162656c3d\n[10]: https://redux.js.org/\n[11]: https://camo.githubusercontent.com/a5f1968a99631284ca552953929cff7b6abb375853bb0944fae0dc520c45c73b/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d52656163742b526f7574657226636f6c6f723d434134323435266c6f676f3d52656163742b526f75746572266c6f676f436f6c6f723d464646464646266c6162656c3d\n[12]: https://reactrouter.com/en/main\n[13]: https://utilmond.com\n[14]: https://utilmond.com/about-us\n[15]: https://github.com/fum4/react-redux-history/issues\n","readmeFilename":"README.md","gitHead":"9493b094617c600c681fa3ddd6347d2695472aad","_id":"react-redux-history@1.2.0-1","_nodeVersion":"18.11.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-E3x7iwIrVjfqXOGaQRf2rG/1QcsF4cQXyoPqwRGhek41nkXnoPVmermNEVKqQ7yyFpkU5GgaZQ0M4Mj3fjVg8g==","shasum":"7e52ae8f9663310323390d96b933c65964283a84","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.2.0-1.tgz","fileCount":15,"unpackedSize":33699,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHY5TyAXQtyqvqaN3LNzwooJO8k+4xml+1Cz+B3NvX+ZAiEAjfgeEny0DCEJNJrqWB1cGsvv+eqNO4WmAXMJn2knmHc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3jG+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqFtQ//SgyNKkEZAG8LY+gSiKRH3QB3QHS0rjyp+9FU9AVvfb6K70FV\r\n+N3X2kRYi5iovi8B3bmns6mGyIFiwV+YS1exBK5AgLL8AWYs00LnNWRPVWpc\r\n++NO4kMbWsmI678up9XDAVp2cBzLFEANQ8OSYKy7tIpVCsv/2I9xeKF/Hz4i\r\nTWNE3cBlQjeyxqHsIu+EgGzmHcGkJzjpSoOobx0vjAmqhGvsZeD78P1pn4x3\r\nJFfGFJfZVUgHnGpDxtckltARpP4Hn8gyhuFVwTReH5ly17JLIG069yEl9+SW\r\nqC5BZtoWGXwZSkOl3ucyTi0aGKpTWMI7GQTo07piCQy5uIujSA+9bC0j+UuO\r\nFJ1MDqjuzPdCo/sohd/YdhlAlcHkhY6a8esnkRKOe4lknaHAmWR731JT+9Dh\r\ngJtby73ervJ9/EILPuLSMbit+bsLt4SPwC1nV7hh0L7tA/bzr8SWjfIcb0ST\r\nOQxp09SJ2PSTbIxfAS39CfcL6772mricboQyY2LiCQdZCofoWh+iK7ncB51P\r\nX2Ik8HM1gUnDEaiShxkuYxXQjS+BQ3yBc221J2LDlJwM5x6f/bdlzeyZJVJ7\r\n9epy/ANzKXt5QtXJsCv4fBqmNxbDDMhMmWfxvr7rjavfLnQY75q5aanYRXxc\r\nw5Wzdt2WSTkCQRr5thozjjg1WXKCYgTgq1k=\r\n=Fhwc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.2.0-1_1675506110487_0.325554293678326"},"_hasShrinkwrap":false},"1.2.0":{"name":"react-redux-history","version":"1.2.0","description":"Navigation history made easy","main":"lib/index.js","module":"lib/index.js","scripts":{"build":"rm -rf lib && NODE_ENV=production tsc","release":"release-it"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^5.0.0","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","@types/react-router":"^5.1.20","release-it":"^15.5.1","typescript":"^4.7.4"},"gitHead":"0c1d355a05ca55d9d79aa2b7260b1ea8579da8e7","_id":"react-redux-history@1.2.0","_nodeVersion":"18.11.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-p5Fm4lTt6KxLbRjORFBxjsBEGhY7SwJK523n07FKHXoarIn8ZORIVZXAVKT1qdrSFEk5HCkkN/apFx1FrUrZkQ==","shasum":"368a40912b90c64476b37cba3957ceea67d4ff2d","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.2.0.tgz","fileCount":15,"unpackedSize":34454,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB+jVZicNtQlZDYuOvMaZcXq9ZBeikEr5zfw8n9HYrpGAiBYvGyx7yx7BH/GcctQt4II9VvA+KduS1t7BUw6C3wLdA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3kxvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrOJRAAlk+cWuXXDGnWM80u/xxYP+ldiya4FStyXLYbWwKGIBCqCP35\r\n73NSNfPn4uBY/fON9MdEhhSyeEIAfh8yjCcR5vWPbqNchExL2V3VNGNWz0Z+\r\nopv40uUJRWA1aQ1bkJgMQhUGnwnosjuFl9rfTngyAVk3Gy3sQ0ac9CDgTwqb\r\nTs3EaLTOUwR7GLrS/P8zcnrGgUo5OKYGJnUAhRAOHj5ap2J2aWZubwNtNFhR\r\nyDuDskXQl32KKFf2OJaWS82uPkDpHVlyE6lcCixJ8PJ3QiRF9kPwa17qHetc\r\nRlg75f0WPse4jEvVXERwCKqrIsRnn3oNkV8m2znO8lWIGfL17kr1FnYyYkGa\r\nw/fZSx41kYtCT6PRDXHme7L/dvLwS9HXi7uUdzZ4PS6ITpTSqbXlUKFnI289\r\nXrvVdGSEnA6G6kBLOCi3LDnHNNHTNxnQJYofD2iTTDdIK5OiSFd7xxEvu3Ee\r\nAC17hW5yUdvBVd0JtYZ+xhpsxGCRDUum9KzXYUd/PBWpm/KhUaQLKZX8C/OW\r\nUzaIX3TmfFvyHD5J5xSpi9pprHNvMrYjetAK0DitDSB6J5Pl3c/aWS1Pvfu3\r\nVn2I5WNfGSe0uMP7kOhAam4hwVzRXaR8Py1TOItzJdgQQPtHX6/RIKHo4qmE\r\nRGCBa+a/AjwTkYezyuUk1HpCLFEu2dae62Y=\r\n=71TG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.2.0_1675512943262_0.02088159962022007"},"_hasShrinkwrap":false},"1.2.1":{"name":"react-redux-history","version":"1.2.1","description":"Navigation history made easy","main":"lib/index.js","module":"lib/index.js","scripts":{"build":"rm -rf lib && NODE_ENV=production tsc","release":"release-it"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^5.0.0","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","@types/react-router":"^5.1.20","release-it":"^15.5.1","typescript":"^4.7.4"},"gitHead":"8dd56ad248844811e96f00df540b6715b818ad67","_id":"react-redux-history@1.2.1","_nodeVersion":"18.11.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-2Sz1o2A0leHOy4HL7GNEb/N3mY+D0nd3UK+xOp1JcTN++EYvDHsmdg68O5FcwxfzwBrDLm4g+dNjqUS1uvEzXg==","shasum":"f861f9bc0f491bee6178722bc3d15b14bf1cda26","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.2.1.tgz","fileCount":15,"unpackedSize":36224,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB6znrPHbH2yqrkwRfvRnLiIUDCH2DogUgzGxxrQyhJ1AiA7EkeO1X1YEiMUeO6s1fwZoFF3P/K8R9TaGWcjAJa34g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3lXlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrq+w/+LNA9tY8sdnjGd8PDhDrPh18Smy6U/b/XdVWIk7CrcxbNoKPI\r\n8qcbiXIOkflVw6EKCw+jCwf/pAG/VforBBOj5JbqyASY7wVI2JFNe90Ug65C\r\n7XW9LlfWQWIbivYoSrH9MRmzF+mIRgOWHiJ3WnHusTFqXveeSOKO3WPr/ME/\r\n+CRYK118s4yp/FBvco5s3aRLKsY0ccBukHO5juWrsNJe7rCZb2D63C0zvbXp\r\nkBPwgzpbQRJxPi9fk75p2XadVqWEkc0KolTkL551Zi8whokXHytGINDwjNvU\r\nJ3WWmp9Zj1HGUkpJn19pUhmz4qOdxJhLW8ifmyS9XCSXc+uaYAPcfZI9N0xN\r\n3jbcr93Sk0jnNId7JPi2EQEaTN7UqELWfUQm4knWoM3K88YHfRaIrIbfQVxR\r\nqI4WjBvnDo2qggJyfcjWl9ICcZVPTk8vbccE/sNHvhbsJOuumwsHheLZvdEI\r\nEijj6aic5+5pVRie4Ks4UVoaOfTaLmYDQqmK2EBoAKVgVDIGNVQlSY4dA8IF\r\n/Cb6TXDo3CaqvIeEk1E3/I/Vbwk930ft3PeniTGWKC+DNaTnCkt/A1UQl5zP\r\nCo6fqlMmTSLliqIZi1mZM8LzrrLI4u7mUmF6httXcBOM5ZWVRjKVpOiZLqk4\r\nNNGG7YuDUGHPc1KsdZEEAE6wqlUIfX0RcTk=\r\n=Ztwe\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.2.1_1675515365059_0.022887629704678725"},"_hasShrinkwrap":false},"1.2.2":{"name":"react-redux-history","version":"1.2.2","description":"Navigation history made easy","main":"lib/index.js","module":"lib/index.js","scripts":{"build":"rm -rf lib && NODE_ENV=production tsc","release":"release-it"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^5.0.0","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","@types/react-router":"^5.1.20","release-it":"^15.5.1","typescript":"^4.7.4"},"gitHead":"9920247ae2837e2562c1e450348668e55cf0186d","_id":"react-redux-history@1.2.2","_nodeVersion":"18.11.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-/tbeMDR4B9vB7T1IQrYA9OxVblMPTxe9KwqaKDsYcB9/lkd21ICsVd5JUd1DD+sDdQvcnAHobfCCFzhUI+gNQA==","shasum":"a4f5c88f6c38a3486ab7e5eda51030b91fc4b432","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.2.2.tgz","fileCount":15,"unpackedSize":37064,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCScjPZtBF5z/Gp5lMOnVbR8Qk1MyRgFOFgEVMReJTjxQIgQiTmlfN7w4l5pw0Sw+QqTt6jkCyrlXRC0Pzip8vmVmk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3rRAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqRkA//UAj04lgLbNRPJolYElAX4vyhNiqfBPo7V+fL3ayIXxXzxvF0\r\nNXp3WkqgfF5P4b7xK5QNrO8CBoMHGq+m107KSpES1ZAtbkxfnhaQiUfQkvgI\r\ne0hFU0yD15cUHa5xQrD0+rGplJvz8V0dRsBGfwDeVEzew/kEnEvH0KmeuNlk\r\nPYHDrn61DF7doNcuA6jI3z9wmZaCkssHFt1uS4rmuTXrz4j2bCynWhpMPcA6\r\nyUayZVCQlZKbZ9KMJULQ05ANisz4Ln0WpBUwFlyxClQc2sZiS6RjyyReF5zP\r\nK4arD7yoLutzu0UncOtFCfncu0Ez/rqjqYi9osWEyf25u5EeYPmHAwFJjJm5\r\n79GX43xHxWKdXswpjpK7PhZFkyqTMpt7l8k/9k8gdsrVQA8W+20oi8iFosmj\r\nEN5zYDLVZj8V3KTQPSiqScnWerpyrC5TL5oKShuTHqSLm4Zfrfe3e3m8bTof\r\nTnAImqmGAfDizziZxlJkyey3Pib3+BTvBcnrJ2OFGqgk66zSnbmxmNV9tEU9\r\nf3DEhYVrIENZlacu0yJ+cKSFcbeqnbfAyum16WHljlISynhOKi+mjzGQsX7h\r\n9a8EthPimDk+f9VocSmNTdFjM3tdhVSqhdcRIpyOHDFno2DhkMhHuXdWCNw/\r\nw5XJlg1j7IETNAgrtvmt2kkgE2g2fM7tvh8=\r\n=OU8y\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.2.2_1675539520038_0.7620767232122554"},"_hasShrinkwrap":false},"1.3.0":{"name":"react-redux-history","version":"1.3.0","description":"Navigation history made easy","main":"lib/index.js","module":"lib/index.js","scripts":{"build":"rm -rf lib && NODE_ENV=production tsc","release":"release-it"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^5.0.0","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","@types/react-router":"^5.1.20","release-it":"^15.5.1","typescript":"^4.7.4"},"gitHead":"ca7ecff70be991b3eab3eea50537e46f0d5de793","_id":"react-redux-history@1.3.0","_nodeVersion":"18.11.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-icBJprEbmpELUPB6lxtQhqGxb2FUfk9d2s37xxkU6ZARlsObuHOgM+rcg1ikfg3nXLxNyPu3kNUv7gaVT1AYrg==","shasum":"5d7ac48ac4464b2027df58f4d2053a3c7ff6e21c","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.3.0.tgz","fileCount":15,"unpackedSize":37175,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHvwbPmwwclmpt/ouEyt0Y67UhKjlNXJh4S2eUG4ljtAIgdh5LgSc6M7iPY6QtODLetWyOtWy0iSZmpHl9Rh6x7C4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj4uvlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr54g//cyTNyWf29lU3INYajsqKb21uOlW7axwZtlt5PqrQw/3Gcj6F\r\nwipCyV3b7bomQ5aUeGX9eQY1KO7HVwqOmOVNftqwf1NBvLyxH/c9COCnXPYJ\r\ng5PgiA945MyiTbnrt51O5PXA2/pp6QuPDgleGljmn+b18gMUD39lBPWpGKex\r\n0rV+w10p407jVIA4OLrFAWYHZ/Q5AUU1IylEYXP6p5BeJco/J/BKfCD7gF4X\r\nDTKNRixFxqkcXTX8K4x/CcHv7x8YVYqCHelFL/+r3kdS9xhsrKkBVoMYR+3T\r\n/3fMf00/cmyaEbGIT5mkG6V+sMr4DUMok/pdLTYtyZNZsygJePhuprGGlh9H\r\niXEakTDi8EV3KfSUYpCrOQSt/K0xGglqFtSkliwv4s4yVr2txXE6cEFYAImL\r\nAcepPOo56OMh4pnxw2V/HTtT63Pu6K1SwMRrnDzJ7sfptZnNN4WLV2kXi5Ts\r\ndShMIRT1i6ROIQ3j4EXPOEjfPF46/vc4kKHCHryKEpJP7kKYFcGS0WdsOMjz\r\nhqP7KOD3aLO/46gHWTr7CB3WwKxKiF9fL3xqnuxOaR+DQQ/k3Y9OMCjwQE5U\r\nfmtWqLJ/mBkvYev6kToC0LLyHqDqJNAuZTz6Oj5KgjPjHNnvUAin1UXaocFl\r\nhiP7rnQbRy4Csec6PUdWxJGlh2CFqjoJrqY=\r\n=lE+9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.3.0_1675815909113_0.016495279695969645"},"_hasShrinkwrap":false},"1.4.0-0":{"name":"react-redux-history","version":"1.4.0-0","description":"Navigation history made easy","main":"lib/index.js","module":"lib/index.js","types":"lib/index.d.ts","scripts":{"prepare":"npm run build","prebuild":"rimraf lib","build":"rm -rf lib && NODE_ENV=production tsc","release":"release-it"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^5.0.0","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","@types/react-router":"^5.1.20","release-it":"^15.5.1","rimraf":"^4.1.2","typescript":"^4.7.4"},"readme":"<img src=\"https://i.ibb.co/LnwWJ0g/react-redux-history.png\" alt=\"react-redux-history-logo\" />\n\n<!-- Shields -->\n\n![maintained][1]\n![minsize][2]\n[![npm][3]][4]\n[![license][5]][6]\n\n<br>\n\n# ⚛ Navigation history made easy!\n\n## A powerful, lightweight library for managing navigation history in React and Redux.\n\n### Used in production by [Utilmond][13]. Check it out!\n\n<br>\n\n## 👌 Have any requests?\n\nFor any requests such as new features, compatibility with other routing libraries or environments such as Cordova please [open a GitHub issue][15]. \n\nSome of them are already implemented and will be incrementally added. \n\nIf you are in a rush though you can [open an issue][15], this way we can prioritize correspondingly :)\n\n<br>\n\n## ✨ Features\n\n📜 Save all navigation history in store. [Get started](#setup)\n\n🌲 Persist history after reloading the page. [Read more](#persist)\n\n⏭️ Skipping screens capability out of the box just by passing a flag when navigating. [Read more](#skip-back)\n\n⛵ Intercept location changes before they are rendered on screen. [Read more](#navigate-away)\n\n💪 Force current route to re-render capability. [Read more](#force-render)\n\n🚦 Selectors for easy access. [Read more](#selectors)\n\n<br>\n\n...and last but not least\n\n👀 Everything you need to know about your navigation state in your favorite developer tools:\n\n<br>\n\n<img src=\"https://i.imgur.com/K2fjcwH.png\" alt=\"Redux DevTools with router history\" width=\"500\" />\n\n<br>\n<br>\n\n# Setup <a id=\"setup\"></a>\n\n### Step 1)\n\nLet's get started by installing the package:\n\n```shell\nnpm install react-redux-history react react-redux react-router history\n```\n\n<br>\n\n### Step 2)\n\nCreate a `history` object and pass it to `configureRouterHistory`. The returned reducer and middleware will be used to connect to the store.\n\n```javascript\n// store.js\nimport { createBrowserHistory } from 'history'\nimport { configureRouterHistory } from 'react-redux-history'\n\nexport const history = createBrowserHistory() // export this as we will need it later\n\n// optional, defaults are listed below\nconst options = {\n  storageKey: 'routerState',\n  storageLimit: Infinity,\n}\n\nconst { \n  routerReducer, \n  routerMiddleware \n} = configureRouterHistory(history, options)\n```\n\n<br>\n\n### Step 3)\n\nAdd the reducer and middleware to your store. If you are using Redux Toolkit it should look something like this:\n\n```javascript\n// store.js\nconst store = configureStore({\n  reducer: combineReducers({\n    // ...other reducers\n    router: routerReducer\n  }),\n  middleware: (getDefaultMiddleware) => getDefaultMiddleware()\n    // ...other middleware\n    .prepend(routerMiddleware)\n});\n\nexport default store\n```\n\n<br>\n\n### Step 4)\n\nLastly, add either `<LocationListener history={history} />` or `useLocationListener(history)` somewhere at the root of your app.\n\n**Only use one of the approaches!** They are only exported like this for flexibility :)\n\n```javascript\n// App.tsx\nimport { useLocationListener, LocationListener } from 'react-redux-history'\nimport { history } from 'src/store'\n\nconst App = () => {\n  useLocationListener(history) // Use either this or the component below, not both!\n  \n  return (\n    <>\n      ...\n      <LocationListener history={history} />\n      ...\n    </>\n  )\n}\n```\n\n**Note**: the `history` object provided to `configureRouterHistory` and `useLocationListener` / `LocationListener` must be the same `history` object !\n\n<br><br>\n\n# Configuration\n\nThe middleware can be configured by passing an options object as the second argument to `configureRouterHistory`. \n\nThe following options are available:\n\n- `storageKey` - the key to use when saving the state to session storage. Defaults to `routerState`\n- `storageLimit` - the maximum number of entries to save in session storage. Defaults to `Infinity`\n\n<br><br>\n\n# Features <a id=\"features\"></a>\n\nThis package comes with several built-in features.\n\nThey helped us a lot in our projects and we hope they will help you too!\n\n<br>\n\n## 🌲 Persistent history <a id=\"persist\"></a>\n\nHistory is persisted out of the box after page refresh by leveraging session storage on page hide. \n\nThis helps provide a better user experience and allows you to build a more robust navigation system.\n\n<br>\n\n## ⏭️ Skip back / forward <a id=\"skip-back\"></a>\n\nBy setting a `skipBack` / `skipForward` flag on a specific route the user will be automatically skipped over certain routes.\n\n```javascript\nhistory.push({\n  pathname: 'page_5',\n  state: { skipBack: 4 }\n});\n```\n\nIn this example, every time the user will try to go back from *page_5* he will be skipped back 4 pages, reaching *page_1*. The same behaviour will apply when going forward from *page_1*, the user will be skipped forward to *page_5*.\n\n**Note**: Due to the restrictive nature of browser navigation, back or forward actions cannot be stopped. That means that in the previous example the user will actually reach *page_4* before being redirected to *page_1*. If there is conflicting logic (such as extra redirects) in *page_4*, it will be fired before the middleware manages to completely skip all screens. In order to get past this issue we can use the `isSkipping` flag to, for instance, not render the component tree while skipping. You can find a selector for this in the selectors section.\n\n<br>\n\n## ⛵ Navigate away <a id=\"navigate-away\"></a>\n\nWe provide the `useNavigateAway` hook in order to intercept location changes before React gets a chance to paint them on screen.\n\n**Context:** Historically, react-router has provided a way to block user navigation. Even so, this is a bad practice and provides a bad experience to the user. More than that, it has been heavily misused. The feature was therefore removed and added back later because lots of users already relied on it.\n\nWe do not endorse this approach, but we do understand that sometimes it is necessary. However, we suggest using this hook more as a solution to **manipulating** the navigation flow, rather than **blocking** it. An example would be replacing the next location or editing its state.\n\n```javascript\nimport { useNavigateAway } from 'react-redux-history'\nimport { history } from 'src/store'\n\nconst Component = () => {\n  useNavigateAway(({ nextLocation, action, navigate }) => {\n    if (action === 'POP') {\n      const updatedLocation = {\n        ...nextLocation,\n        state: {\n          ...nextLocation.state,\n          someFlag: true\n        }\n      }\n\n      navigate(updatedLocation) \n    }\n  }, history)\n  \n  // ...\n}\n```\n\nThere is also a _component_ version of the hook.\n\nIt comes handy when dealing with libraries such as Formik and you need to pass Formik props to the hook:\n\n```javascript\nimport { NavigateAway } from 'react-redux-history'\nimport { history } from 'src/store'\n\nconst Component = () => {\n  // ...\n  \n  return (\n    <Formik>\n      {(formikProps) => (\n        <NavigateAway\n          history={history}\n          callback={({ nextLocation, action, navigate }) => {\n            // Pass the Formik props to the callback\n          }}\n       />\n      )}\n    </Formik>\n  )\n}\n```\n\n<br>\n\n## 💪 Force current route to re-render <a id=\"force-render\"></a>\n\nSometimes you might want to force the current route to re-render, a behaviour which is not possible out of the box with react-router.\n\nThis can be achieved by selecting the `forceRender` state in the component you wish to re-render. Then simply 're-navigate' to the route while passing `forceRender: {}` in the state object. \n\n```javascript\nimport { useSelector } from 'react-redux'\nimport { selectForceRender } from 'react-redux-history'\n\nconst Component = () => {\n    // The component will re-render every time the `forceRender` flag reference changes\n    const forceRender = useSelector(selectForceRender)\n    \n    useEffect(() => {\n      // The flag can also be used as a dependency in order to re-trigger effects\n    }, [ forceRender ])\n    \n    return (\n      <button onClick={() => {\n        history.push({\n          // By default `react-router` will not trigger re-rendering when the pathname is the same\n          pathname: 'current_pathname', \n          state: { \n            // Simply pass a new object to force re-rendering\n            forceRender: {} \n          } \n        })\n      }}>\n        Re-render\n      </button>\n    )\n}\n```\n\n<br>\n\n## 🚦 Selectors for easy access <a id=\"selectors\"></a>\n\nThere are also a few useful selectors for easy access:\n\n- `selectAction`\n- `selectIsSkipping`\n- `selectForceRender`\n- `selectLocationHistory`\n- `selectCurrentIndex`\n- `selectCurrentLocation`\n- `selectCurrentLocationState`\n- `selectPreviousLocation`\n- `selectNextLocation`\n\n<br><br><br>\n\n### Huge thanks going to [Utilmond team][14] for making this possible! 🍻\n\n<hr>\n\n[![react][7]][8]\n[![redux][9]][10]\n[![react-router][11]][12]\n\n[1]: https://img.shields.io/maintenance/yes/2030\n[2]: https://img.shields.io/bundlephobia/min/react-redux-history\n[3]: https://img.shields.io/npm/v/react-redux-history?color=white\n[4]: https://www.npmjs.com/package/react-redux-history\n[5]: https://img.shields.io/npm/l/react-redux-history\n[6]: https://github.com/fum4/react-redux-history/blob/master/LICENSE.md\n[7]: https://camo.githubusercontent.com/67a01fa7cf337616274f39c070a11638f2e65720e414ef55b8dd3f9c2a803b2a/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526561637426636f6c6f723d323232323232266c6f676f3d5265616374266c6f676f436f6c6f723d363144414642266c6162656c3d\n[8]: https://reactjs.org/\n[9]: https://camo.githubusercontent.com/3a2650b6854cb790e3af41a1cefa87df32efc07aad12d0c0f128a7fbc5998ac3/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526564757826636f6c6f723d373634414243266c6f676f3d5265647578266c6f676f436f6c6f723d464646464646266c6162656c3d\n[10]: https://redux.js.org/\n[11]: https://camo.githubusercontent.com/a5f1968a99631284ca552953929cff7b6abb375853bb0944fae0dc520c45c73b/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d52656163742b526f7574657226636f6c6f723d434134323435266c6f676f3d52656163742b526f75746572266c6f676f436f6c6f723d464646464646266c6162656c3d\n[12]: https://reactrouter.com/en/main\n[13]: https://utilmond.com\n[14]: https://utilmond.com/about-us\n[15]: https://github.com/fum4/react-redux-history/issues\n[16]: https://github.com/fum4/react-redux-history/pulls\n[17]: https://www.npmjs.com/package/connected-react-router\n[18]: https://www.npmjs.com/package/redux-first-history\n","readmeFilename":"README.md","gitHead":"956c6a6501f9c0a23606362915bdfe7bfd7f2335","_id":"react-redux-history@1.4.0-0","_nodeVersion":"18.11.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-2QxBvMZE1A8T1A4+wT6RiI78BolORqK0J31gssdab6vSoYYTj/n5CBt/Ako92ZzumXV5tnF+tac80090wS8uCg==","shasum":"888faf9a85303bde5ed84fc303807b400f8468fa","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.4.0-0.tgz","fileCount":23,"unpackedSize":42145,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQKiGSK9XhkfC/4lGtHTRJunfDu/DeNyE78SupzGrwRgIgZXYo6/D+SDJbTsbhjefbI9fIEYz+rm4skd5qZnpq8lU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5+s9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQIg/9ENG6Tlz1HW9TXb8d8OS70XA9ljILDq0gLY0z6Hbvq33aE2AV\r\ne17aorhTX/pYqyJYE8VPCOxILNw5EtiPVjtmxzbpwrfUA9So9eDA4NR5YZ1y\r\nAaR5mH6RHZNuwYhhvOD+aeBBwbifpb2dF6KKG5ns0BJ2i+UF5awnfZR2hJ9E\r\n6hHnpxQnSbdwIECmou/QECOE7BlzMEsfLL58YWGsuO6UahVthskDMAX6pbgE\r\np5TvXiHWI0+WimBBQjUn9bWWkD2tU2frYGde3u551gly/ynIPoPEjNmsT18y\r\nlVKjbYu9RP1Xyt/wRXR88iZyJ+xpHYRVnMC3kDUh0dnQBSUY2bBEULjgGRQE\r\nc+XtgHwdxh2/O5GKUGQHtnEvwjLSyAlJsQHN7vzhsRZgilNhN0uCjYikeaQP\r\n7vI62XUbrFIWbMKcGgfd7WoGrDvd6uzYgZYzGiNGg+nMuy+BFi3wRjPwJJ5B\r\nmuPSml7iJbl6nRn9rYtw7i4qWsEEM0yyoBUco1AWPBExzhqWOz5s7QJoQGlA\r\nLjpCa4Dc7CcCyvRobxMWtuSXnc7/jDx69oWHRPxXioPjd1hz2gd7ou3QOjUQ\r\ns7h7UyulnJtH7nAz7VQd3TuKtUYoeJl+JO2yD/DnFZlwn/EQ/QAEMMW21kiI\r\n7JeGUQmCYjEWyOEdFJqWf35NlTkNgArqoEc=\r\n=KuvC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.4.0-0_1676143421103_0.1484005765170977"},"_hasShrinkwrap":false},"1.4.0":{"name":"react-redux-history","version":"1.4.0","description":"Navigation history made easy","main":"lib/index.js","module":"lib/index.js","types":"lib/index.d.ts","scripts":{"prepare":"npm run build","prebuild":"rimraf lib","build":"NODE_ENV=production tsc","release":"release-it"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^5.0.0","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","@types/react-router":"^5.1.20","release-it":"^15.5.1","rimraf":"^4.1.2","typescript":"^4.7.4"},"gitHead":"4b334b4023b907873b1e60ba81e69ffb46c469b3","_id":"react-redux-history@1.4.0","_nodeVersion":"18.11.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-BwkQm2towN7klSCqLqjt0CXe7IIt8C5bW748iSmYEVpg3mCgITFRZffPS6epJSnFbJFKJHoS1EfCvThHt9m82A==","shasum":"476538e6ff92fd74a66c29a2e4470811cb1258bf","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.4.0.tgz","fileCount":23,"unpackedSize":42811,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAmIwE6hDg/V26Z7tb0u+w8EljlQXmhFPMCmSTsw2p0AIhAPmzPUC5oWhbuHmrgFOy/44iN/tk671j6k6/oWAGifP/"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6ATaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp6CA//Y/Fn6JAmg6NeiD6qrnXBFKKgqUEEz1ju6lbmzeJM/0L4/EeX\r\nA77NT3rX+SzTzpRz9f9mW0U19tPMjbZcFWpiT+2c5jgbZVPayr4B5jzFDpzZ\r\nMQx4zB+SycgqNLYO3CpCya1U+FiTJ5nXJ2oZxvpJLygB1la1ZGSAKuXvEmvS\r\n4v6SI/eViRiRGqpCc4qhOXv7e5h1hUJ+IKlYgS40t2srPTcJlSfxYSZaI52Q\r\nx31LZMIcchN0JwqF6J6/3PuxSheImBNU9RtfodRLt0z4v7TVqUwpNH2cmXVm\r\npfS0FfvosovzWm5uAS81JuU48lVIfSduJzlMb/vf2CGN/SFt/rSOH/EclNcx\r\nWv+UGwI8TS3gDt9bn+9Ygnz8n3u8K+UPN+rYUitzrkQPMK+dzunJ9KMjR4J7\r\nzJ5yemOXFXpjqtDhM+4R48RbRz5vO+r7YSXJQT7ylxskIuEktg/9UAYes1Vz\r\nf/0CoJbVsmrYJwfIyEpRregM2m3S6jXT6vu1NXdjdnpqkJpXGhx7lT0AffiK\r\nKhf/ur08joUAnLYkptOqW90Ll1jCrRpNwa/DI5aKY2c89stu6ud+qP8pMIQS\r\nz+MFy5fYJE/mv9/Tc3p0P26zQ70cSn3sctTGD3m62iBjh8r0n3wvf3Mx76qU\r\neAkKY9bPTlDi4jMZq+js2QffJIcIf8f6ck0=\r\n=di0v\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.4.0_1676149978676_0.08641277348224596"},"_hasShrinkwrap":false},"1.4.1":{"name":"react-redux-history","version":"1.4.1","description":"Navigation history made easy","main":"lib/index.js","module":"lib/index.js","types":"lib/index.d.ts","scripts":{"prepare":"npm run build","prebuild":"rimraf lib","build":"NODE_ENV=production tsc","release":"release-it"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^5.0.0","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","@types/react-router":"^5.1.20","release-it":"^15.5.1","rimraf":"^4.1.2","typescript":"^4.7.4"},"gitHead":"28a0e5a2f37ed6b7dc828d297e6b3b90cbdf630b","_id":"react-redux-history@1.4.1","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-JKb0EorG0EY8u2Qeemr1UkkuVOqDqq/HNZXjU0dcArA8iUg7eClqxymbAX7Vy+k3dGZp24sT1bCUvLOANdcJ4w==","shasum":"004623896c5b040d77ab99b704cc9ffbb50f9201","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.4.1.tgz","fileCount":23,"unpackedSize":43045,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDXVvj2i6c3AdwLvPYGwVHqDLvNSMhlJDzM8YLSK67b8AiEAjT/zpAzvCqkFRAm0y1AjBcYAyUXHYbJLu4bukpPNBxQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkK9IRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp8TRAAmRfKwgK7xK4KM9DZeP44hlujUDDUNfie5xFFWlcf7rgYDJS7\r\n5p5xhjGEKGUb9Lc+D/j23SRTnq3VayEygw2rL5mt07PgxlYm2Ma+3xUSCFNn\r\nQTX4Fwecj3XyIGgsZkUS17gs2yeZPytvkBq6AM5TERgQVo/0474niRJAtnGd\r\nKjrFlLJ54tLFRYputRvvsSpUqNcakHJ04eUfAgFVls/++jDRFzpxrgCA6TPJ\r\n1mOoqLWKqlk0+UM5bJWfVByuWdG4CZz31bvmVQVtq17zbL78xmwj8R7p0Sn8\r\nlyJCg9D0KJKBb9uDY8RWjZUPdAIcsALp2wJhPSA5UPtabdtvcLqLo6ZrSGG+\r\n/H37hc8ah4GXK3W0pu9uP9MHYQkjtHCr5RLmOXQ1wwukSxDm9Fjr5QF1fPiX\r\nlcaUmxJ0OjeQUiHTtZIJKKVfQOPlJi0peHWYpsCIj0VrXVYr/daXhiPHT+gX\r\nNedgSWmWJV/f0jpdxSFNqVR/GKeBbiFHVFL22MjIAUf4nE6g5q8Q8fOCQ5ac\r\nKdkEGqk3a3rcnm/oVk0Qg8Lhwy8Au6Pq1irGAYcq8Ivum0a9La4PLNGWc0dK\r\n4yWmxZhditO/GW/UJRGJjYjTEf1cg3d5mLqtqrhTSYZzAqrStlGZ9u6bZdAS\r\nJqOLWuAV2GR3bFnrT5HPC09PVUhkHrIMSgg=\r\n=BlvP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.4.1_1680593424926_0.6438576049523246"},"_hasShrinkwrap":false},"1.5.0-0":{"name":"react-redux-history","version":"1.5.0-0","description":"Navigation history made easy","main":"lib/index.js","module":"lib/index.js","types":"lib/index.d.ts","scripts":{"prebuild":"rimraf lib","build":"NODE_ENV=production tsc","release":"release-it","preview":"rimraf node_modules && npm i && npm run build && rimraf node_modules"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^5.0.0","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","@types/react-router":"^5.1.20","release-it":"^15.5.1","rimraf":"^4.1.2","typescript":"^4.7.4"},"readme":"<img src=\"https://i.ibb.co/LnwWJ0g/react-redux-history.png\" alt=\"react-redux-history-logo\" />\n\n<!-- Shields -->\n\n![maintained][1]\n![minsize][2]\n[![npm][3]][4]\n[![license][5]][6]\n\n<br>\n\n# ⚛ Navigation history made easy!\n\n## A lightweight library for managing navigation history in React and Redux.\n\n### Used in production by [Utilmond][13]. Check it out!\n\n<br>\n\n## 👌 Have any requests?\n\nFor any requests such as new features, compatibility with other routing libraries or environments such as Cordova please [open a GitHub issue][15]. \n\nSome of them are already implemented and will be incrementally added. \n\nIf you are in a rush though you can [open an issue][15], this way we can prioritize correspondingly :)\n\n<br>\n\n## ✨ Features\n\n📜 Save all navigation history in store. [Get started](#setup)\n\n🌲 Persist history after reloading the page. [Read more](#persist)\n\n⏭️ Skipping screens capability out of the box just by passing a flag when navigating. [Read more](#skip-back)\n\n⛵ Intercept location changes before they are rendered on screen. [Read more](#navigate-away)\n\n💪 Force current route to re-render capability. [Read more](#force-render)\n\n🚦 Selectors for easy access. [Read more](#selectors)\n\n<br>\n\n...and last but not least\n\n👀 Everything you need to know about your navigation state in your favorite developer tools:\n\n<br>\n\n<img src=\"https://i.imgur.com/K2fjcwH.png\" alt=\"Redux DevTools with router history\" width=\"500\" />\n\n<br>\n<br>\n\n# Setup <a id=\"setup\"></a>\n\n### Step 1)\n\nLet's get started by installing the package:\n\n```shell\nnpm install react-redux-history react react-redux react-router history\n```\n\n<br>\n\n### Step 2)\n\nCreate a `history` object and pass it to `configureRouterHistory`. The returned reducer and middleware will be used to connect to the store.\n\n```javascript\n// store.js\nimport { createBrowserHistory } from 'history'\nimport { configureRouterHistory } from 'react-redux-history'\n\nexport const history = createBrowserHistory() // export this as we will need it later\n\n// optional, defaults are listed below\nconst options = {\n  storageKey: 'routerState',\n  storageLimit: Infinity,\n}\n\nconst { \n  routerReducer, \n  routerMiddleware \n} = configureRouterHistory(history, options)\n```\n\n<br>\n\n### Step 3)\n\nAdd the reducer and middleware to your store. If you are using Redux Toolkit it should look something like this:\n\n```javascript\n// store.js\nconst store = configureStore({\n  reducer: combineReducers({\n    // ...other reducers\n    router: routerReducer\n  }),\n  middleware: (getDefaultMiddleware) => getDefaultMiddleware()\n    // ...other middleware\n    .prepend(routerMiddleware)\n});\n\nexport default store\n```\n\n<br>\n\n### Step 4)\n\nLastly, add either `<LocationListener history={history} />` or `useLocationListener(history)` somewhere at the root of your app.\n\n**Only use one of the approaches!** They are only exported like this for flexibility :)\n\n```javascript\n// App.tsx\nimport { useLocationListener, LocationListener } from 'react-redux-history'\nimport { history } from 'src/store'\n\nconst App = () => {\n  useLocationListener(history) // Use either this or the component below, not both!\n  \n  return (\n    <>\n      ...\n      <LocationListener history={history} />\n      ...\n    </>\n  )\n}\n```\n\n**Note**: the `history` object provided to `configureRouterHistory` and `useLocationListener` / `LocationListener` must be the same `history` object !\n\n<br><br>\n\n# Configuration\n\nThe middleware can be configured by passing an options object as the second argument to `configureRouterHistory`. \n\nThe following options are available:\n\n- `storageKey` - the key to use when saving the state to session storage. Defaults to `routerState`\n- `storageLimit` - the maximum number of entries to save in session storage. Defaults to `Infinity`\n\n<br>\n\n**Be careful when limiting session storage entries**. The user is still able to go back to previous pages even if they are not saved in session storage. This can cause unexpected behaviour on page reload, especially if you use `skipBack` / `skipForward` or similar logic that alters the navigation flow.\n\nWe recommend leaving it as `Infinity` unless you have a good reason to limit it. If you do need to limit it though, we suggest choosing a large enough value such that users cannot easily manage to get past it.\n\n<br><br>\n\n# Features <a id=\"features\"></a>\n\nThis package comes with several built-in features.\n\nThey helped us a lot in our projects and we hope they will help you too!\n\n<br>\n\n## 🌲 Persistent history <a id=\"persist\"></a>\n\nHistory is persisted out of the box after page refresh by leveraging session storage on page hide. \n\nThis helps provide a better user experience and allows you to build a more robust navigation system.\n\n<br>\n\n## ⏭️ Skip back / forward <a id=\"skip-back\"></a>\n\nBy setting a `skipBack` / `skipForward` flag on a specific route the user will be automatically skipped over certain routes.\n\n```javascript\nhistory.push({\n  pathname: 'page_5',\n  state: { skipBack: 4 }\n});\n```\n\nIn this example, every time the user will try to go back from *page_5* he will be skipped back 4 pages, reaching *page_1*. The same behaviour will apply when going forward from *page_1*, the user will be skipped forward to *page_5*.\n\n**Note**: Due to the restrictive nature of browser navigation, back or forward actions cannot be stopped. That means that in the previous example the user will actually reach *page_4* before being redirected to *page_1*. If there is conflicting logic (such as extra redirects) in *page_4*, it will be fired before the middleware manages to completely skip all screens. In order to get past this issue we can use the `isSkipping` flag to, for instance, not render the component tree while skipping. You can find a selector for this in the selectors section.\n\n<br>\n\n## ⛵ Navigate away <a id=\"navigate-away\"></a>\n\nWe provide the `useNavigateAway` hook in order to intercept location changes before React gets a chance to paint them on screen.\n\n**Context:** Historically, react-router has provided a way to block user navigation. Even so, this is a bad practice and provides a bad experience to the user. More than that, it has been heavily misused. The feature was therefore removed and added back later because lots of users already relied on it.\n\nWe do not endorse this approach, but we do understand that sometimes it is necessary. However, we suggest using this hook more as a solution to **manipulating** the navigation flow, rather than **blocking** it. An example would be replacing the next location or editing its state.\n\n```javascript\nimport { useNavigateAway } from 'react-redux-history'\nimport { history } from 'src/store'\n\nconst Component = () => {\n  useNavigateAway(({ nextLocation, action, navigate }) => {\n    if (action === 'POP') {\n      const updatedLocation = {\n        ...nextLocation,\n        state: {\n          ...nextLocation.state,\n          someFlag: true\n        }\n      }\n\n      navigate(updatedLocation) \n    }\n  }, history)\n  \n  // ...\n}\n```\n\nThere is also a _component_ version of the hook.\n\nIt comes handy when dealing with libraries such as Formik and you need to pass Formik props to the hook:\n\n```javascript\nimport { NavigateAway } from 'react-redux-history'\nimport { history } from 'src/store'\n\nconst Component = () => {\n  // ...\n  \n  return (\n    <Formik>\n      {(formikProps) => (\n        <NavigateAway\n          history={history}\n          callback={({ nextLocation, action, navigate }) => {\n            // Pass the Formik props to the callback\n          }}\n       />\n      )}\n    </Formik>\n  )\n}\n```\n\n<br>\n\n## 💪 Force current route to re-render <a id=\"force-render\"></a>\n\nSometimes you might want to force the current route to re-render, a behaviour which is not possible out of the box with react-router.\n\nThis can be achieved by selecting the `forceRender` state in the component you wish to re-render. Then simply 're-navigate' to the route while passing `forceRender: {}` in the state object. \n\n```javascript\nimport { useSelector } from 'react-redux'\nimport { selectForceRender } from 'react-redux-history'\n\nconst Component = () => {\n    // The component will re-render every time the `forceRender` flag reference changes\n    const forceRender = useSelector(selectForceRender)\n    \n    useEffect(() => {\n      // The flag can also be used as a dependency in order to re-trigger effects\n    }, [ forceRender ])\n    \n    return (\n      <button onClick={() => {\n        history.push({\n          // By default `react-router` will not trigger re-rendering when the pathname is the same\n          pathname: 'current_pathname', \n          state: { \n            // Simply pass a new object to force re-rendering\n            forceRender: {} \n          } \n        })\n      }}>\n        Re-render\n      </button>\n    )\n}\n```\n\n<br>\n\n## 🚦 Selectors for easy access <a id=\"selectors\"></a>\n\nThere are also a few useful selectors for easy access:\n\n- `selectAction`\n- `selectIsSkipping`\n- `selectForceRender`\n- `selectLocationHistory`\n- `selectCurrentIndex`\n- `selectCurrentLocation`\n- `selectCurrentLocationState`\n- `selectPreviousLocation`\n- `selectNextLocation`\n\n<br><br><br>\n\n### Huge thanks going to [Utilmond team][14] for making this possible! 🍻\n\n<hr>\n\n[![react][7]][8]\n[![redux][9]][10]\n[![react-router][11]][12]\n\n[1]: https://img.shields.io/maintenance/yes/2030\n[2]: https://img.shields.io/bundlephobia/min/react-redux-history\n[3]: https://img.shields.io/npm/v/react-redux-history?color=white\n[4]: https://www.npmjs.com/package/react-redux-history\n[5]: https://img.shields.io/npm/l/react-redux-history\n[6]: https://github.com/fum4/react-redux-history/blob/master/LICENSE.md\n[7]: https://camo.githubusercontent.com/67a01fa7cf337616274f39c070a11638f2e65720e414ef55b8dd3f9c2a803b2a/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526561637426636f6c6f723d323232323232266c6f676f3d5265616374266c6f676f436f6c6f723d363144414642266c6162656c3d\n[8]: https://reactjs.org/\n[9]: https://camo.githubusercontent.com/3a2650b6854cb790e3af41a1cefa87df32efc07aad12d0c0f128a7fbc5998ac3/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526564757826636f6c6f723d373634414243266c6f676f3d5265647578266c6f676f436f6c6f723d464646464646266c6162656c3d\n[10]: https://redux.js.org/\n[11]: https://camo.githubusercontent.com/a5f1968a99631284ca552953929cff7b6abb375853bb0944fae0dc520c45c73b/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d52656163742b526f7574657226636f6c6f723d434134323435266c6f676f3d52656163742b526f75746572266c6f676f436f6c6f723d464646464646266c6162656c3d\n[12]: https://reactrouter.com/en/main\n[13]: https://utilmond.com\n[14]: https://utilmond.com/about-us\n[15]: https://github.com/fum4/react-redux-history/issues\n[16]: https://github.com/fum4/react-redux-history/pulls\n[17]: https://www.npmjs.com/package/connected-react-router\n[18]: https://www.npmjs.com/package/redux-first-history\n","readmeFilename":"README.md","gitHead":"ecebe6d889e59aa8789ee9746b90e3fb499e2097","_id":"react-redux-history@1.5.0-0","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-j50DjvF6Rc6huLuP7dfbz6ZajTNFCRAt37CDgXHq+IE8+2mVSWV6Bq+l/l4ao+QQe/+NHud6Vrq4+YkCo7D5wA==","shasum":"cd9d668f80ca6f4dfdcff855a9f5c5861fe08edc","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.5.0-0.tgz","fileCount":25,"unpackedSize":45392,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDAkk+XmGjRxbjGFhi09o4dKdfgurOPvyvGPMrZ+kDqmAiEA+9vVGSIWQiayp/ikcWlrAvAlcu/PU3MNyImcC71AUW4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMjOEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmquDw/+IlIFiZi2IHD9nIRREr0jj4YNQgOXyhmmoQpWASIyF5f6ynDH\r\n6l48OxSR2vuSTkJb66w3tW4VBa91pmOSIC1rfunR/aT4/KQO0NhgU0qh6hbV\r\nMPv8MTuWVJIYiferFFqNy+lajftAhSeuqLVe7CnG671Ybws6lwW67soLBUWc\r\nLg99xAai43O/fM0NO3OXqBLSxty6CFRAL3JWZBxj1JEFroHLp+NK9nGWw84E\r\nbcEJLySRGsq0ZoREy+8Z2LDDV2Ryqqy0m4nSFbuE63aeycqsQxV/cMs3tpn/\r\ngDqkb5EA+f8RIv4v0dEANkghHysqslieQhi3zAj2B33/KgWuqaROLDpiAaWw\r\n8VOgdLyVF7Q1VIqnEExL5LMpZh/awpS4tzeuckq5Jqh9QI4hfgbMgIeJZDST\r\n6eWJ/qQx/PhVr9NmDAuWWV72kT1s3RzKbo18pQ0zo4W8GiA/ZDld/0xaX9Bk\r\nBkEnI44Cy5qeKUa97xTgbWhOuf1QfFRzwQtrAl4ffNvcaCVvvdSQg5NXHSYg\r\nMT5suxJGRWUiHw1afRGCoolhxgcSxblZ6LcU2gcObxRt8V8Lwoh8h5TwfvR6\r\njrGMqZf/K1hAyATc0T4FGrG8RwVknbNHiYoQK3jfjHeoPv3JrvjiQjL3BxJR\r\nE2B59RCSEf7V0MJCMv5mDyKSNmt4gp1XNfc=\r\n=eFKv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.5.0-0_1681011588257_0.08082630970648452"},"_hasShrinkwrap":false},"1.5.0-1":{"name":"react-redux-history","version":"1.5.0-1","description":"Navigation history made easy","main":"lib/index.js","module":"lib/index.js","types":"lib/index.d.ts","scripts":{"prebuild":"rimraf lib","build":"NODE_ENV=production tsc","release":"release-it","preview":"rimraf node_modules && npm i && npm run build && rimraf node_modules"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^5.0.0","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","@types/react-router":"^5.1.20","release-it":"^15.5.1","rimraf":"^4.1.2","typescript":"^4.7.4"},"readme":"<img src=\"https://i.ibb.co/LnwWJ0g/react-redux-history.png\" alt=\"react-redux-history-logo\" />\n\n<!-- Shields -->\n\n![maintained][1]\n![minsize][2]\n[![npm][3]][4]\n[![license][5]][6]\n\n<br>\n\n# ⚛ Navigation history made easy!\n\n## A lightweight library for managing navigation history in React and Redux.\n\n### Used in production by [Utilmond][13]. Check it out!\n\n<br>\n\n## 👌 Have any requests?\n\nFor any requests such as new features, compatibility with other routing libraries or environments such as Cordova please [open a GitHub issue][15]. \n\nSome of them are already implemented and will be incrementally added. \n\nIf you are in a rush though you can [open an issue][15], this way we can prioritize correspondingly :)\n\n<br>\n\n## ✨ Features\n\n📜 Save all navigation history in store. [Get started](#setup)\n\n🌲 Persist history after reloading the page. [Read more](#persist)\n\n⏭️ Skipping screens capability out of the box just by passing a flag when navigating. [Read more](#skip-back)\n\n⛵ Intercept location changes before they are rendered on screen. [Read more](#navigate-away)\n\n💪 Force current route to re-render capability. [Read more](#force-render)\n\n🚦 Selectors for easy access. [Read more](#selectors)\n\n<br>\n\n...and last but not least\n\n👀 Everything you need to know about your navigation state in your favorite developer tools:\n\n<br>\n\n<img src=\"https://i.imgur.com/K2fjcwH.png\" alt=\"Redux DevTools with router history\" width=\"500\" />\n\n<br>\n<br>\n\n# Setup <a id=\"setup\"></a>\n\n### Step 1)\n\nLet's get started by installing the package:\n\n```shell\nnpm install react-redux-history react react-redux react-router history\n```\n\n<br>\n\n### Step 2)\n\nCreate a `history` object and pass it to `configureRouterHistory`. The returned reducer and middleware will be used to connect to the store.\n\n```javascript\n// store.js\nimport { createBrowserHistory } from 'history'\nimport { configureRouterHistory } from 'react-redux-history'\n\nexport const history = createBrowserHistory() // export this as we will need it later\n\n// optional, defaults are listed below\nconst options = {\n  storageKey: 'routerState',\n  storageLimit: Infinity,\n}\n\nconst { \n  routerReducer, \n  routerMiddleware \n} = configureRouterHistory(history, options)\n```\n\n<br>\n\n### Step 3)\n\nAdd the reducer and middleware to your store. If you are using Redux Toolkit it should look something like this:\n\n```javascript\n// store.js\nconst store = configureStore({\n  reducer: combineReducers({\n    // ...other reducers\n    router: routerReducer\n  }),\n  middleware: (getDefaultMiddleware) => getDefaultMiddleware()\n    // ...other middleware\n    .prepend(routerMiddleware)\n});\n\nexport default store\n```\n\n<br>\n\n### Step 4)\n\nLastly, add either `<LocationListener history={history} />` or `useLocationListener(history)` somewhere at the root of your app.\n\n**Only use one of the approaches!** They are only exported like this for flexibility :)\n\n```javascript\n// App.tsx\nimport { useLocationListener, LocationListener } from 'react-redux-history'\nimport { history } from 'src/store'\n\nconst App = () => {\n  useLocationListener(history) // Use either this or the component below, not both!\n  \n  return (\n    <>\n      ...\n      <LocationListener history={history} />\n      ...\n    </>\n  )\n}\n```\n\n**Note**: the `history` object provided to `configureRouterHistory` and `useLocationListener` / `LocationListener` must be the same `history` object !\n\n<br><br>\n\n# Configuration\n\nThe middleware can be configured by passing an options object as the second argument to `configureRouterHistory`. \n\nThe following options are available:\n\n- `storageKey` - the key to use when saving the state to session storage. Defaults to `routerState`\n- `storageLimit` - the maximum number of entries to save in session storage. Defaults to `Infinity`\n\n<br>\n\n**Be careful when limiting session storage entries**. The user is still able to go back to previous pages even if they are not saved in session storage. This can cause unexpected behaviour on page reload, especially if you use `skipBack` / `skipForward` or similar logic that alters the navigation flow.\n\nWe recommend leaving it as `Infinity` unless you have a good reason to limit it. If you do need to limit it though, we suggest choosing a large enough value such that users cannot easily manage to get past it.\n\n<br><br>\n\n# Features <a id=\"features\"></a>\n\nThis package comes with several built-in features.\n\nThey helped us a lot in our projects and we hope they will help you too!\n\n<br>\n\n## 🌲 Persistent history <a id=\"persist\"></a>\n\nHistory is persisted out of the box after page refresh by leveraging session storage on page hide. \n\nThis helps provide a better user experience and allows you to build a more robust navigation system.\n\n<br>\n\n## ⏭️ Skip back / forward <a id=\"skip-back\"></a>\n\nBy setting a `skipBack` / `skipForward` flag on a specific route the user will be automatically skipped over certain routes.\n\n```javascript\nhistory.push({\n  pathname: 'page_5',\n  state: { skipBack: 4 }\n});\n```\n\nIn this example, every time the user will try to go back from *page_5* he will be skipped back 4 pages, reaching *page_1*. The same behaviour will apply when going forward from *page_1*, the user will be skipped forward to *page_5*.\n\n**Note**: Due to the restrictive nature of browser navigation, back or forward actions cannot be stopped. That means that in the previous example the user will actually reach *page_4* before being redirected to *page_1*. If there is conflicting logic (such as extra redirects) in *page_4*, it will be fired before the middleware manages to completely skip all screens. In order to get past this issue we can use the `isSkipping` flag to, for instance, not render the component tree while skipping. You can find a selector for this in the selectors section.\n\n<br>\n\n## ⛵ Navigate away <a id=\"navigate-away\"></a>\n\nWe provide the `useNavigateAway` hook in order to intercept location changes before React gets a chance to paint them on screen.\n\n**Context:** Historically, react-router has provided a way to block user navigation. Even so, this is a bad practice and provides a bad experience to the user. More than that, it has been heavily misused. The feature was therefore removed and added back later because lots of users already relied on it.\n\nWe do not endorse this approach, but we do understand that sometimes it is necessary. However, we suggest using this hook more as a solution to **manipulating** the navigation flow, rather than **blocking** it. An example would be replacing the next location or editing its state.\n\n```javascript\nimport { useNavigateAway } from 'react-redux-history'\nimport { history } from 'src/store'\n\nconst Component = () => {\n  useNavigateAway(({ nextLocation, action, navigate }) => {\n    if (action === 'POP') {\n      const updatedLocation = {\n        ...nextLocation,\n        state: {\n          ...nextLocation.state,\n          someFlag: true\n        }\n      }\n\n      navigate(updatedLocation) \n    }\n  }, history)\n  \n  // ...\n}\n```\n\nThere is also a _component_ version of the hook.\n\nIt comes handy when dealing with libraries such as Formik and you need to pass Formik props to the hook:\n\n```javascript\nimport { NavigateAway } from 'react-redux-history'\nimport { history } from 'src/store'\n\nconst Component = () => {\n  // ...\n  \n  return (\n    <Formik>\n      {(formikProps) => (\n        <NavigateAway\n          history={history}\n          callback={({ nextLocation, action, navigate }) => {\n            // Pass the Formik props to the callback\n          }}\n       />\n      )}\n    </Formik>\n  )\n}\n```\n\n<br>\n\n## 💪 Force current route to re-render <a id=\"force-render\"></a>\n\nSometimes you might want to force the current route to re-render, a behaviour which is not possible out of the box with react-router.\n\nThis can be achieved by selecting the `forceRender` state in the component you wish to re-render. Then simply 're-navigate' to the route while passing `forceRender: {}` in the state object. \n\n```javascript\nimport { useSelector } from 'react-redux'\nimport { selectForceRender } from 'react-redux-history'\n\nconst Component = () => {\n    // The component will re-render every time the `forceRender` flag reference changes\n    const forceRender = useSelector(selectForceRender)\n    \n    useEffect(() => {\n      // The flag can also be used as a dependency in order to re-trigger effects\n    }, [ forceRender ])\n    \n    return (\n      <button onClick={() => {\n        history.push({\n          // By default `react-router` will not trigger re-rendering when the pathname is the same\n          pathname: 'current_pathname', \n          state: { \n            // Simply pass a new object to force re-rendering\n            forceRender: {} \n          } \n        })\n      }}>\n        Re-render\n      </button>\n    )\n}\n```\n\n<br>\n\n## 🚦 Selectors for easy access <a id=\"selectors\"></a>\n\nThere are also a few useful selectors for easy access:\n\n- `selectHistoryAction`\n- `selectIsSkippingRoutes`\n- `selectForceRender`\n- `selectLocationHistory`\n- `selectCurrentLocation`\n- `selectCurrentLocationState`\n- `selectCurrentLocationIndex`\n- `selectPreviousLocation`\n- `selectNextLocation`\n- `selectIsNewSession`\n\n<br><br><br>\n\n### Huge thanks going to [Utilmond team][14] for making this possible! 🍻\n\n<hr>\n\n[![react][7]][8]\n[![redux][9]][10]\n[![react-router][11]][12]\n\n<br>\n\n## 🏅 Sponsors\n\n<img alt=\"Sponsor - JetBrains\" width=\"250px\" height=\"250px\" src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png?_ga=2.63300143.1068496944.1680591996-1938842262.1680591996\" />\n\n[1]: https://img.shields.io/maintenance/yes/2030\n[2]: https://img.shields.io/bundlephobia/min/react-redux-history\n[3]: https://img.shields.io/npm/v/react-redux-history?color=white\n[4]: https://www.npmjs.com/package/react-redux-history\n[5]: https://img.shields.io/npm/l/react-redux-history\n[6]: https://github.com/fum4/react-redux-history/blob/master/LICENSE.md\n[7]: https://camo.githubusercontent.com/67a01fa7cf337616274f39c070a11638f2e65720e414ef55b8dd3f9c2a803b2a/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526561637426636f6c6f723d323232323232266c6f676f3d5265616374266c6f676f436f6c6f723d363144414642266c6162656c3d\n[8]: https://reactjs.org/\n[9]: https://camo.githubusercontent.com/3a2650b6854cb790e3af41a1cefa87df32efc07aad12d0c0f128a7fbc5998ac3/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526564757826636f6c6f723d373634414243266c6f676f3d5265647578266c6f676f436f6c6f723d464646464646266c6162656c3d\n[10]: https://redux.js.org/\n[11]: https://camo.githubusercontent.com/a5f1968a99631284ca552953929cff7b6abb375853bb0944fae0dc520c45c73b/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d52656163742b526f7574657226636f6c6f723d434134323435266c6f676f3d52656163742b526f75746572266c6f676f436f6c6f723d464646464646266c6162656c3d\n[12]: https://reactrouter.com/en/main\n[13]: https://utilmond.com\n[14]: https://utilmond.com/about-us\n[15]: https://github.com/fum4/react-redux-history/issues\n[16]: https://github.com/fum4/react-redux-history/pulls\n[17]: https://www.npmjs.com/package/connected-react-router\n[18]: https://www.npmjs.com/package/redux-first-history\n","readmeFilename":"README.md","gitHead":"a25fd71bc96bdf0a33487b865a188f5922d8a66c","_id":"react-redux-history@1.5.0-1","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-6ywYbS7uohui7J0w4GIeTneHRQ++EIb1WQRSYKaE/JI0rMbhyXI3kZR5BjtBH+Ldt1UvpaCuR4vjy81a1b8YCw==","shasum":"bdb056bfc8bfb8c0518efdd6ff9845372dc983cd","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.5.0-1.tgz","fileCount":25,"unpackedSize":46478,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICy5I0sQhb1gsqymdTg25n7Xl4/HLsgBvMrXUa2jsIPhAiEA/ETIuLtTq1e+Js3tYJL/WPVTw6X6sCDSPSfCBCoKRIo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMjvjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrAihAAjLLUo90Kozs0oxR71JgGyeDCwZepQubo/PmmtsUBVb2gfJoc\r\nrFA3D14yErNTPqA8SAkDjJcfL/glna3r2iztlysvllxIkKPIn6/eHK9xic7S\r\n5/s632yqKfSjZBDIhdUQwj3VXNSzs6S+hMWMBqpEjttfMXaGSmXiivHLJ/B5\r\n+o9/8vUUiml/hC6NsYaQMRgCMUZpNrnxvLy8IcSl2CHh8Jcfn+Y+LDBtRYDO\r\nAVkB7utq0Y/pV5p87eIEePDQ2NPbTi2UW43niFg4432iGoA1NAFgAeD+0w3a\r\nH8nCa9KHGh3cBP/84iStfC4ngMaI0qt/Uak/s+SpIOZFQyuKoY6gg7M9tB1A\r\nDH+ZJb21SfckC5SvsVAgzH/YgFnFmaBvd361KJvNpMho9hKLLDsyKehZVxpl\r\nbb1a9Kzo5qidoJCSYqZ5y3ykUGhWc9YXD0JolsnzxZkGDga15jDH0PfYc6mx\r\nIS1b6s0EzEmJlKIDhN8wSNaz3wblwA94wOxsObUudWdTD48ydIk7pj61CEI4\r\nZUELRzD9LbISKtMuvH7B1lM1EN+MhPwmWZIHIgon/UHfXnyaGixL8GsS8sQj\r\nSCFgKhe+qMqX27rhrobWAG1H/6aADjTknbIjkLixw+KHiglEEWgeyVjTnIp9\r\nKRPNpemCjlOl+NUj8tnfIxUwDBj8LiaHX6k=\r\n=Wedf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.5.0-1_1681013730794_0.0546389771804503"},"_hasShrinkwrap":false},"1.5.0-2":{"name":"react-redux-history","version":"1.5.0-2","description":"Navigation history made easy","main":"lib/index.js","module":"lib/index.js","types":"lib/index.d.ts","scripts":{"prebuild":"rimraf lib","build":"NODE_ENV=production tsc","release":"release-it","preview":"rimraf node_modules && npm i && npm run build && rimraf node_modules"},"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"author":{"name":"fum4"},"license":"MIT","bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"homepage":"https://github.com/fum4/react-redux-history#readme","peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","react-router":"^6.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@tsconfig/recommended":"^1.0.1","@types/history":"^5.0.0","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","@types/react-router":"^5.1.20","release-it":"^15.5.1","rimraf":"^4.1.2","typescript":"^4.7.4"},"gitHead":"eb020680a3d7033c2e41a4f7b3998557abb72724","readme":"<img src=\"https://i.ibb.co/LnwWJ0g/react-redux-history.png\" alt=\"react-redux-history-logo\" />\n\n<!-- Shields -->\n\n![maintained][1]\n![minsize][2]\n[![npm][3]][4]\n[![license][5]][6]\n\n<br>\n\n# ⚛ Navigation history made easy!\n\n## A lightweight library for managing navigation history in React and Redux.\n\n### Used in production by [Utilmond][13]. Check it out!\n\n<br>\n\n## 👌 Have any requests?\n\nFor any requests such as new features, compatibility with other routing libraries or environments such as Cordova please [open a GitHub issue][15]. \n\nSome of them are already implemented and will be incrementally added. \n\nIf you are in a rush though you can [open an issue][15], this way we can prioritize correspondingly :)\n\n<br>\n\n## ✨ Features\n\n📜 Save all navigation history in store. [Get started](#setup)\n\n🌲 Persist history after reloading the page. [Read more](#persist)\n\n⏭️ Skipping screens capability out of the box just by passing a flag when navigating. [Read more](#skip-back)\n\n⛵ Intercept location changes before they are rendered on screen. [Read more](#navigate-away)\n\n💪 Force current route to re-render capability. [Read more](#force-render)\n\n🚦 Selectors for easy access. [Read more](#selectors)\n\n<br>\n\n...and last but not least\n\n👀 Everything you need to know about your navigation state in your favorite developer tools:\n\n<br>\n\n<img src=\"https://i.imgur.com/K2fjcwH.png\" alt=\"Redux DevTools with router history\" width=\"500\" />\n\n<br>\n<br>\n\n# Setup <a id=\"setup\"></a>\n\n### Step 1)\n\nLet's get started by installing the package:\n\n```shell\nnpm install react-redux-history react react-redux react-router history\n```\n\n<br>\n\n### Step 2)\n\nCreate a `history` object and pass it to `configureRouterHistory`. The returned reducer and middleware will be used to connect to the store.\n\n```javascript\n// store.js\nimport { createBrowserHistory } from 'history'\nimport { configureRouterHistory } from 'react-redux-history'\n\nexport const history = createBrowserHistory() // export this as we will need it later\n\n// optional, defaults are listed below\nconst options = {\n  storageKey: 'routerState',\n  storageLimit: Infinity,\n}\n\nconst { \n  routerReducer, \n  routerMiddleware \n} = configureRouterHistory(history, options)\n```\n\n<br>\n\n### Step 3)\n\nAdd the reducer and middleware to your store. If you are using Redux Toolkit it should look something like this:\n\n```javascript\n// store.js\nconst store = configureStore({\n  reducer: combineReducers({\n    // ...other reducers\n    router: routerReducer\n  }),\n  middleware: (getDefaultMiddleware) => getDefaultMiddleware()\n    // ...other middleware\n    .prepend(routerMiddleware)\n});\n\nexport default store\n```\n\n<br>\n\n### Step 4)\n\nLastly, add either `<LocationListener history={history} />` or `useLocationListener(history)` somewhere at the root of your app.\n\n**Only use one of the approaches!** They are only exported like this for flexibility :)\n\n```javascript\n// App.tsx\nimport { useLocationListener, LocationListener } from 'react-redux-history'\nimport { history } from 'src/store'\n\nconst App = () => {\n  useLocationListener(history) // Use either this or the component below, not both!\n  \n  return (\n    <>\n      ...\n      <LocationListener history={history} />\n      ...\n    </>\n  )\n}\n```\n\n**Note**: the `history` object provided to `configureRouterHistory` and `useLocationListener` / `LocationListener` must be the same `history` object !\n\n<br><br>\n\n# Configuration\n\nThe middleware can be configured by passing an options object as the second argument to `configureRouterHistory`. \n\nThe following options are available:\n\n- `storageKey` - the key to use when saving the state to session storage. Defaults to `routerState`\n- `storageLimit` - the maximum number of entries to save in session storage. Defaults to `Infinity`\n\n<br>\n\n**Be careful when limiting session storage entries**. The user is still able to go back to previous pages even if they are not saved in session storage. This can cause unexpected behaviour on page reload, especially if you use `skipBack` / `skipForward` or similar logic that alters the navigation flow.\n\nWe recommend leaving it as `Infinity` unless you have a good reason to limit it. If you do need to limit it though, we suggest choosing a large enough value such that users cannot easily manage to get past it.\n\n<br><br>\n\n# Features <a id=\"features\"></a>\n\nThis package comes with several built-in features.\n\nThey helped us a lot in our projects and we hope they will help you too!\n\n<br>\n\n## 🌲 Persistent history <a id=\"persist\"></a>\n\nHistory is persisted out of the box after page refresh by leveraging session storage on page hide. \n\nThis helps provide a better user experience and allows you to build a more robust navigation system.\n\n<br>\n\n## ⏭️ Skip back / forward <a id=\"skip-back\"></a>\n\nBy setting a `skipBack` / `skipForward` flag on a specific route the user will be automatically skipped over certain routes.\n\n```javascript\nhistory.push({\n  pathname: 'page_5',\n  state: { skipBack: 4 }\n});\n```\n\nIn this example, every time the user will try to go back from *page_5* he will be skipped back 4 pages, reaching *page_1*. The same behaviour will apply when going forward from *page_1*, the user will be skipped forward to *page_5*.\n\n**Note**: Due to the restrictive nature of browser navigation, back or forward actions cannot be stopped. That means that in the previous example the user will actually reach *page_4* before being redirected to *page_1*. If there is conflicting logic (such as extra redirects) in *page_4*, it will be fired before the middleware manages to completely skip all screens. In order to get past this issue we can use the `isSkipping` flag to, for instance, not render the component tree while skipping. You can find a selector for this in the selectors section.\n\n<br>\n\n## ⛵ Navigate away <a id=\"navigate-away\"></a>\n\nWe provide the `useNavigateAway` hook in order to intercept location changes before React gets a chance to paint them on screen.\n\n**Context:** Historically, react-router has provided a way to block user navigation. Even so, this is a bad practice and provides a bad experience to the user. More than that, it has been heavily misused. The feature was therefore removed and added back later because lots of users already relied on it.\n\nWe do not endorse this approach, but we do understand that sometimes it is necessary. However, we suggest using this hook more as a solution to **manipulating** the navigation flow, rather than **blocking** it. An example would be replacing the next location or editing its state.\n\n```javascript\nimport { useNavigateAway } from 'react-redux-history'\nimport { history } from 'src/store'\n\nconst Component = () => {\n  useNavigateAway(({ nextLocation, action, navigate }) => {\n    if (action === 'POP') {\n      const updatedLocation = {\n        ...nextLocation,\n        state: {\n          ...nextLocation.state,\n          someFlag: true\n        }\n      }\n\n      navigate(updatedLocation) \n    }\n  }, history)\n  \n  // ...\n}\n```\n\nThere is also a _component_ version of the hook.\n\nIt comes handy when dealing with libraries such as Formik and you need to pass Formik props to the hook:\n\n```javascript\nimport { NavigateAway } from 'react-redux-history'\nimport { history } from 'src/store'\n\nconst Component = () => {\n  // ...\n  \n  return (\n    <Formik>\n      {(formikProps) => (\n        <NavigateAway\n          history={history}\n          callback={({ nextLocation, action, navigate }) => {\n            // Pass the Formik props to the callback\n          }}\n       />\n      )}\n    </Formik>\n  )\n}\n```\n\n<br>\n\n## 💪 Force current route to re-render <a id=\"force-render\"></a>\n\nSometimes you might want to force the current route to re-render, a behaviour which is not possible out of the box with react-router.\n\nThis can be achieved by selecting the `forceRender` state in the component you wish to re-render. Then simply 're-navigate' to the route while passing `forceRender: {}` in the state object. \n\n```javascript\nimport { useSelector } from 'react-redux'\nimport { selectForceRender } from 'react-redux-history'\n\nconst Component = () => {\n    // The component will re-render every time the `forceRender` flag reference changes\n    const forceRender = useSelector(selectForceRender)\n    \n    useEffect(() => {\n      // The flag can also be used as a dependency in order to re-trigger effects\n    }, [ forceRender ])\n    \n    return (\n      <button onClick={() => {\n        history.push({\n          // By default `react-router` will not trigger re-rendering when the pathname is the same\n          pathname: 'current_pathname', \n          state: { \n            // Simply pass a new object to force re-rendering\n            forceRender: {} \n          } \n        })\n      }}>\n        Re-render\n      </button>\n    )\n}\n```\n\n<br>\n\n## 🚦 Selectors for easy access <a id=\"selectors\"></a>\n\nThere are also a few useful selectors for easy access:\n\n- `selectHistoryAction`\n- `selectIsSkippingRoutes`\n- `selectForceRender`\n- `selectLocationHistory`\n- `selectCurrentLocation`\n- `selectCurrentLocationState`\n- `selectCurrentLocationIndex`\n- `selectPreviousLocation`\n- `selectNextLocation`\n- `selectIsNewSession`\n\n<br><br><br>\n\n### Huge thanks going to [Utilmond team][14] for making this possible! 🍻\n\n<hr>\n\n[![react][7]][8]\n[![redux][9]][10]\n[![react-router][11]][12]\n\n<br>\n\n## 🏅 Sponsors\n\n<img alt=\"Sponsor - JetBrains\" width=\"250px\" height=\"250px\" src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png?_ga=2.63300143.1068496944.1680591996-1938842262.1680591996\" />\n\n[1]: https://img.shields.io/maintenance/yes/2030\n[2]: https://img.shields.io/bundlephobia/min/react-redux-history\n[3]: https://img.shields.io/npm/v/react-redux-history?color=white\n[4]: https://www.npmjs.com/package/react-redux-history\n[5]: https://img.shields.io/npm/l/react-redux-history\n[6]: https://github.com/fum4/react-redux-history/blob/master/LICENSE.md\n[7]: https://camo.githubusercontent.com/67a01fa7cf337616274f39c070a11638f2e65720e414ef55b8dd3f9c2a803b2a/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526561637426636f6c6f723d323232323232266c6f676f3d5265616374266c6f676f436f6c6f723d363144414642266c6162656c3d\n[8]: https://reactjs.org/\n[9]: https://camo.githubusercontent.com/3a2650b6854cb790e3af41a1cefa87df32efc07aad12d0c0f128a7fbc5998ac3/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526564757826636f6c6f723d373634414243266c6f676f3d5265647578266c6f676f436f6c6f723d464646464646266c6162656c3d\n[10]: https://redux.js.org/\n[11]: https://camo.githubusercontent.com/a5f1968a99631284ca552953929cff7b6abb375853bb0944fae0dc520c45c73b/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d52656163742b526f7574657226636f6c6f723d434134323435266c6f676f3d52656163742b526f75746572266c6f676f436f6c6f723d464646464646266c6162656c3d\n[12]: https://reactrouter.com/en/main\n[13]: https://utilmond.com\n[14]: https://utilmond.com/about-us\n[15]: https://github.com/fum4/react-redux-history/issues\n[16]: https://github.com/fum4/react-redux-history/pulls\n[17]: https://www.npmjs.com/package/connected-react-router\n[18]: https://www.npmjs.com/package/redux-first-history\n","readmeFilename":"README.md","_id":"react-redux-history@1.5.0-2","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-hUguLUw8FHEY90uETb38+b16+I8U0nimwb205ZM0iGnpwuVQYwSvQeaxCsdLP0pflTyH3c4AEfZAw4fkusqXyg==","shasum":"8e84cc60ecba485ed3eff103e6f1dac9b7b48fed","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.5.0-2.tgz","fileCount":25,"unpackedSize":47111,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEi+aO/Zmrfilm8fDmuYaxk8LVshlcuygChlLwt8b69EAiEA7Ter6T5Vj4+nFp7nCtZdnC+gFOsbu0o9ihGuN8WbRBM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMkTIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLPQ//U/C1RfOitm41wwGx+rCcNonnf8JWFoNWEvY3r42ROOBUUpdR\r\nZV8fFbEJabfCzfULp6xqS0HLNqb/fuJ3latb64bfAGUMWsD1VWaWvsrVzcgC\r\n9zpJPnTto7bKDNTRlUh+KxgIenEOvXwrX/VHi6XwF9HgSI3aLCLpkBeW7/V6\r\nzMXtifCR28aLAoMlcki5TEHR1N3TO/N5ZVQ7MtMFTyyDvERuY8qt0x9PDI3p\r\nwV4rG1nbCKAByHW7SSZGxJr+TTFWDi2TjLFY2iUmHTZv8qm0ibe7kSV5uf7U\r\nJf26PnI59G0hypNGhhZKQXWV4h/vWmXuHamGOU7hEyHIsxO4VK0SULj2tscF\r\n+VztguIOi8UD1jXf9jpV7ngYgztPdRNHpXL7SLk1Weoiv93VbSFT9CwqVLI/\r\nUI/ZhrNuE0AdHOu+Yc4jAJDtMz6i+VPOOlMFwyrhbAbUdb04jkSODAuQYqjP\r\nqOt0k30Otc0gmD/PO8BeKIU3EQqWeqhtaL4i0NWahsDt+3x4sr+KtMOrIzUi\r\n/vg0EA8KQVhHmbE/PZq2aAf4icFYogxBGjLzF0MxYaWCRwDA/YhvogXVD0Zk\r\n+EHDG7prKOdiiqCy6Ex6mNEa8sR6cD4EBvZNLMJovNsg5L+RPdR2+s1ADa14\r\n7p5eEE2D1x1RpTVgYByqf+N2MR1JmggyfNQ=\r\n=sJze\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.5.0-2_1681016008011_0.6944579447293424"},"_hasShrinkwrap":false},"1.0.0-0":{"name":"react-redux-history","version":"1.0.0-0","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/react-redux-history#readme","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nomadware.io/eslint-config":"1.0.0-0","@nomadware.io/tsconfig":"1.0.0-0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf lib","build":"tsup src/index.ts --format esm,cjs","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@1.0.0-0","_integrity":"sha512-nZx2QHsSuCVlJ974S3FE1B5/+p2EcnQxksHbnGhCs1cEKpWHa+EsHCE21sAPn3VqkulyuOL6bBl+W/l3WGhQ1g==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/fcdcfccdd07a311fcdb9b0e83cec9de8/react-redux-history-1.0.0-0.tgz","_from":"file:react-redux-history-1.0.0-0.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-nZx2QHsSuCVlJ974S3FE1B5/+p2EcnQxksHbnGhCs1cEKpWHa+EsHCE21sAPn3VqkulyuOL6bBl+W/l3WGhQ1g==","shasum":"f41f46b187dc0c6266f100c049f62ba2bba100f6","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.0.0-0.tgz","fileCount":7,"unpackedSize":1103656,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFrdm/ZEY9bNKrBRzKDmBggWtTv+pa/05aEe1J87xgdcAiEAv0ZpXfBa8GTcHBxbGimPhMYxdmA5uJuvDaaXq4qxxXw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMoFDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpqUA//aSJBzS9Kg11GfHQhG5W1NEuOJDaSTwwT35vW4Atc3lpCpnOz\r\n7qP42YOt1x2Vw8rnl3ZmNBtgESkfPLTJgemMgDqGx/owYlQKs5CpAve5/3xb\r\no1qpdXYyzjttyWzHSzE3vJnaT5rRP9F5hIN+rDdEIBbDgq1xgD/xgPgCb1Xz\r\nTR4UcWO6XxaW+eiSukMjDyPfuRpwmGbKcztkWtsATpaeiTyi8Nvxo5vQNzf9\r\nK9G71XlXdBnq1E4CP7SPqfLZ8KXAJDcQHAr3yHgOiFPJ7RujWBMaYgj+w7Fx\r\nqxTKhTWMvw1PY6bfdHxgu5FS/YHrdsxXRrBtyajXv2PkfV+mOjSFwQibHNhp\r\nOhlszTsHiA7vJDycnomYP74hl+R50qI146FkOrmZ/JrphNDherroa4rGfrQY\r\nEeIpk0yXHb6Wywq60OL9whTVRgAVhvsRXUt6OJcpQwAk6Mi5JvUiI6uzumnx\r\nC11ddOH0XmJSNR5w5pKG8GjN0YNaVWsZkf4zxJ2CX2MZfBN43l0qge7w0qtI\r\nOaRL2USB6RSsqnQjrSiOgAWFsMthqAKNaAfil4ozfQnWUsl5FVnfZlK5QAXC\r\nvmVWbqzIomaq73W5dHVvAj4DwlyTaE3NWoTOE/yzGHf41wq6CzMkdbfXsaCb\r\n4IWQUrAQgmtIjqWdxt2HSzaxtVf/Ey0cs/0=\r\n=6hD8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.0.0-0_1681031491265_0.6674744269706858"},"_hasShrinkwrap":false},"1.5.0-3":{"name":"react-redux-history","version":"1.5.0-3","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/react-redux-history#readme","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nomadware.io/eslint-config":"1.0.0-1","@nomadware.io/tsconfig":"1.0.0-1"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf lib","build":"tsup src/index.ts --format esm,cjs","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@1.5.0-3","_integrity":"sha512-kHenBVFcrwBvR71NYqbS5t1vi1KGAVrMwHij7EbAVpsXeHPoWQlLqiMYMsle6cltQbX8DLY9vZlskAJgfNmEPg==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/dc5a93234540992460c47f935c1b056a/react-redux-history-1.5.0-3.tgz","_from":"file:react-redux-history-1.5.0-3.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-kHenBVFcrwBvR71NYqbS5t1vi1KGAVrMwHij7EbAVpsXeHPoWQlLqiMYMsle6cltQbX8DLY9vZlskAJgfNmEPg==","shasum":"133a27ba8c927a8124d03436e332ada9a30059e3","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.5.0-3.tgz","fileCount":8,"unpackedSize":1113120,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC820ecGXcqqhqqMh+qULJ/xSXIYJ4EeiMUf+4qzyWLbAIhAI6gn4Z4JwIapGxyOiTfo2y1aiKDy7NDilCMULmzD0lQ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMoblACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpk7w//VSI/bRiuNYYryLFvlJlPkS9GMXhFbKE55RXFjNpmhEAixKW8\r\nUeIFwEsXz7J7qopFHnsqQ5Pg1gguZJ4MUTqN3MpMtaSRFiysZqI/GFqp6dDv\r\nHvhmYDSzeegTSF64nsijdpcfLA8gpw0Y9VuqxOLCCrmPi2saE/EtRkPeRn6b\r\n0+SbtBQi7u0Z/VaJPiggnLHwoHoAa74Spcm9YxumdkjBPR1wwKAf8rFkD5mY\r\n71+C7D5FY2fT+GF0SXBuHmljAgMnwpUZsrMGNwyvTettA+4ZZoM/WL0utZ/d\r\nCtC1CwigFBaHwOP5RkYhMU4PLtR5UN5o1kf+9H2TBFyQagVn6z7r9ipONDGT\r\nMKJ59QKKo4ooL6o/Ngz2XHxzKNpZUL9wg0Ti38nXXhnWV9MWiXd0RJq5I4v2\r\nWjyAeDu61xZgaFSu0HPzXcCyNsNZtLgH32IYUT5diBUfFkmdkFz8b/YoR2kb\r\n0VchHOeMke5gGYX3vRxBqSIeWey42H87MAXAg01qaFYnragV9hfFh4A9t+3Z\r\n8ocsMd/8D+klHh1nkpQrsCaXS/h1kNoMSNEWU0hNPG7qjtdekN4080S5Cf+H\r\njQ3HbT6eUu50/b8OeRIyA/rijsjxWCvHsJMsw3DtFAw+eWNqYoAYKJuRqFOh\r\n/NdRStmeetx4RG+KZbMWse8OUyr2ecH4SUg=\r\n=40S3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.5.0-3_1681032933568_0.316094317010178"},"_hasShrinkwrap":false},"1.5.0":{"name":"react-redux-history","version":"1.5.0","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/react-redux-history#readme","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nomadware.io/eslint-config":"1.0.0","@nomadware.io/tsconfig":"1.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf lib","build":"tsup src/index.ts --format esm,cjs","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@1.5.0","_integrity":"sha512-Pwr3IOepm2IsHq+NtBIFB1HjoZwn09uT3lVfL6xx4QozWjaSt45MHENqYI+Mf4g1Q81B32DB7st9nSImPdGNuA==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/ce66eb754ae16b66b339959b95a3a3d6/react-redux-history-1.5.0.tgz","_from":"file:react-redux-history-1.5.0.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-Pwr3IOepm2IsHq+NtBIFB1HjoZwn09uT3lVfL6xx4QozWjaSt45MHENqYI+Mf4g1Q81B32DB7st9nSImPdGNuA==","shasum":"b433881a79a42654e27734d8807b30e95d1fb0ff","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.5.0.tgz","fileCount":8,"unpackedSize":1113114,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAp1HU9b1CqGhXQMrNakqZosdymPLZltTKiAD6X5U45GAiAL9iWSaUF8noDF2mnRG+u4oXKto3Et7nICGTmytwh5cw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMom0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoIcg/9G8qTR3kpRe8mGSGjwX6b3MumdLKtdLPmHS+QBKa7e4MhJizJ\r\nWNR3zxKUYx3sUU4JTT9x0gIKnh2xOpBqak/UWO1fPp3vmY39Mit8J5XvC39A\r\naTaqhQWotKIaV4Z6baDDngEgU6oGO8oCTgwPlx7F6+Hjf2rU8ienGY5e/lan\r\nENjmPi3pwZVqNURY/SzAj1KgrFVwM3ikA6PQJz544GBQ520JTmd35HGkIZIb\r\nEZfzuXmdrZV1nvqXSnLWtkgRXAWS/qgk1IhCz5nRvOcNTFaHTAYIEKFK5EFL\r\nEjGF3yJAvw80O5/ZS5KOmQcnzkC/xQmH4kvB/NmhECAK0VJ6SbrcT5RUlnic\r\nxvLvNjZpm26Uga5/rtbNQJC5/TdrJMZbjyQg28YL1IYNN5xZ4uskvmJQljBq\r\nBoV5nmR1oFtxPLmJU4UnG3ynfFSlak+BO5lui8USlaZmFAnw7L7LWUcpnYFd\r\nAqAwWmR4N7n1LRuarDhHwF5SW7Z6XukQmq7SDh5KYfD4eCkVM7c12+UpVvIX\r\nUAl1hVYMaffqQ6IOxtsGfFLbKxP+oR6sCV0r8hDf+Zf1WJ1MKEY692UnWyBU\r\nY88XhUjf9vWxQxzSmZviGLu3f1tZ/gFR2xfpKNleb7NUA4pLfMiMrt9s6Eb0\r\n66dNX9hZmIm7v4hAMwIXibVBybI0xQQcpfQ=\r\n=5Cv6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.5.0_1681033652676_0.8343144227190014"},"_hasShrinkwrap":false},"1.5.1":{"name":"react-redux-history","version":"1.5.1","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/react-redux-history#readme","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/fum4/react-redux-history.git"},"bugs":{"url":"https://github.com/fum4/react-redux-history/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nomadware.io/eslint-config":"1.0.1","@nomadware.io/tsconfig":"1.0.1"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf lib","build":"tsup src/index.ts --format esm,cjs","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@1.5.1","_integrity":"sha512-I9hrTGFiXlHtRUKnwrEa9AS+675p2QLZhnXmAqkAqHND8M0KxJRfmdUJyOZ+rZSBlTvxA0i6Wui/o5UmniCicg==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/570f29f61eccdad2ba1c9c5fc80c7812/react-redux-history-1.5.1.tgz","_from":"file:react-redux-history-1.5.1.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-I9hrTGFiXlHtRUKnwrEa9AS+675p2QLZhnXmAqkAqHND8M0KxJRfmdUJyOZ+rZSBlTvxA0i6Wui/o5UmniCicg==","shasum":"2cc308807fc813d7e5ceca4bede9ae2897e66e9f","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.5.1.tgz","fileCount":8,"unpackedSize":1113255,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICZxOO0NRdwYeNwTBT2To0tkUGA06wXNi3xJtKndFd7CAiEA/Fa0FOa6bIj2bRYLzojEYVkal8+ygJqQsthEoXu440Q="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMozMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqVhA//TVxHMKk3lnEBnD1t1tl3KukCfMnMCklmmS41rUgkPsJfcPZb\r\nQqPuXpzbnrClGFF24eYBARrZzqAAHydnK0y/kvqmdcJ3KBXHmoa35fKBDOk8\r\nSK9R+Bd25BrurC7n558CSccY+5MSSBGTNXyxaW1lpvdRUNIRyCp40yqFVIFz\r\njVYK0chtUzCnJGhEtnaoLlibEnLw01XCfIP/hb2KDYTzDEB4rIS8TkkniUx+\r\nrIr4KO+EfcbJPt4/Iz+GqEWMLUSsVFOM48yvRW6a26U0sRJmOmhWLNEclDfs\r\n/S9KBypISudXNyTuWCaP2IjQ/fdLToH+y0VK5upfyEpjHC2rlgk2TsfkDMOU\r\nnrjNnSNxGk5eRiGTjS9jKgqYsrWK+Y+Wjnq16kvf+a2oiNo/WdIo8PVnFUJ3\r\nSDZxrl9H++Nvt30AOATWcobDQaoANCxZF6mhbHV7XHVlNR/9H4fWIc9ERsyr\r\nkFdjCnBdIX61O02nRCXEzhvVdZg9PgjD0etjZgzucmDhXN+Aui68XfJZGtoR\r\nNRUor5moAuStVEvGpEQAokw81dkhuBKGCaZ4DnRP32RezKd/UjUeY9MLWywr\r\nYtH2M0sDwI6eh1RKQCgNNKnGfraTlaVwsNyVRaKGlWJWY57qQmfAPya4rrOy\r\nDa6CPDgSOs6KKxIuiVojGgbIPBdThEVq1LM=\r\n=O3Ow\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.5.1_1681034444566_0.11864143339855748"},"_hasShrinkwrap":false},"1.5.2":{"name":"react-redux-history","version":"1.5.2","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/nomadware-oss/blob/master/packages/react-redux-history","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/fum4/nomadware-oss.git"},"bugs":{"url":"https://github.com/fum4/nomadware-oss/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nomadware.io/eslint-config":"1.0.2","@nomadware.io/tsconfig":"1.0.2"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf lib","build":"tsup src/index.ts --format esm,cjs","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@1.5.2","_integrity":"sha512-BYNuhSIRuYjFMMCip+V5H2+svAIn7on2aBqqSmF6zjDxdYqKlzow4RDbzm6Iqcn+hbpUUyXV787GwMjzuFVgpA==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/8c0fe82320b1dca49814bb8c32f8e703/react-redux-history-1.5.2.tgz","_from":"file:react-redux-history-1.5.2.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-BYNuhSIRuYjFMMCip+V5H2+svAIn7on2aBqqSmF6zjDxdYqKlzow4RDbzm6Iqcn+hbpUUyXV787GwMjzuFVgpA==","shasum":"32c40d096f14b98d524980ad3471c3e862d7c5fa","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.5.2.tgz","fileCount":8,"unpackedSize":1113271,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAZtTSdEtlN/rAz3ZB3ysVgReUM8AVvXSgfGtLwUpA2gIhAOV2iGAb9EMLOJRbUALH/1D+TIoJ6CUneZGlPiPi1w8U"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMpPlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrKzg//Y0oTunXt6O43J/piPGu4xkNkDI+dmfOYQ4ODDJwx1rmoS/qW\r\nihoqbBf5TY0TQwmezmxxW8aX5IJxb7DJLPePJSvIQlV+iNE+SqxMj4hwDKZ4\r\n6SzOFDTK/fPqAnbLNxFwTstTOFzRRCkwOcglAbkWu9eguMmZ23nCVlOc4df+\r\nkc1squ6ZtOaIvNpL+Kfj7ctItr7Br1jQVTLgdtKleoKCtJVkQfhrikdenB++\r\nWpYFDAvpH40cNYLABOoUy9C8OAZSa7j1xaK5I8fr7ZAuYJ8y+B2AXFZkQ+MN\r\nJwufi6iRukrtpg9hqRUfuUJ/3OsqspYVZHTDlbfLXZDXy8rblJvpyPp/d4AZ\r\nT0bU7BiiBreMx0weAfMZhEzm0Con51USrcVRKwKBOPNmw72pgG9thqdigT2l\r\nSHfwpyXORaXBKptccy5BcJUohUn2bQE4teq7szOWmV06NnRxhEpqYLvmVo6T\r\nrCoC0+NFnCZdrk6uispipDAeXx8NDecEHes07UM63MJbIT7r6+byg3i0hstX\r\nuiXVcAbNwUeZkyHoaw1o9YxD3xZGNW0G/O5+7Q5U4H8YZjBJY+5cdJhIMctN\r\nKaKtXXoDTj6s0v9Do7DBZ+SVtOaSu1+MVMUpB/0hZ7Ai1UNEcuyXTtgYpAqC\r\nK0QijAEvgbzyPY1SJPRRPIh5ZhT5CTrxfD8=\r\n=4gUY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.5.2_1681036261016_0.6497315123082201"},"_hasShrinkwrap":false},"1.5.3":{"name":"react-redux-history","version":"1.5.3","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/nomadware-oss/blob/master/packages/react-redux-history","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/fum4/nomadware-oss.git"},"bugs":{"url":"https://github.com/fum4/nomadware-oss/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nomadware.io/eslint-config":"1.0.2","@nomadware.io/tsconfig":"1.0.2"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf lib","build":"tsup src/index.ts --format esm,cjs --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@1.5.3","_integrity":"sha512-FbrynV+FeKifUYSO9nTEb/3JJ1b+JDp8+/0A/mFIhRGWpwjTXTdODvxjGE/O7Bi1+gyeK0QDOLvywhITO+56vA==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/7277a680980ce4896777a0cbc8aa4607/react-redux-history-1.5.3.tgz","_from":"file:react-redux-history-1.5.3.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-FbrynV+FeKifUYSO9nTEb/3JJ1b+JDp8+/0A/mFIhRGWpwjTXTdODvxjGE/O7Bi1+gyeK0QDOLvywhITO+56vA==","shasum":"31fa4ff880aa208ab77648ead48056b0ec5f288c","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.5.3.tgz","fileCount":9,"unpackedSize":1118597,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGae1QK2i4fHHsETLOSDoZ0Qxi37sEvPCjdSutK/wDlfAiBZfm/iDUlHU4E7PBkmAZNQaH6WgiVr1bn0PrFm+gMRVg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMpimACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoquQ/9He2AVWuv6hfrVQlJkd7RxdgsI1Hpfu/yo2TtsCE/Ru6cW9YT\r\na3xIhtTVND0ZkLTi8DQEKrFhrmDdAmbAuYz2yX6Y2YgwY1zIr1QeZPqH5psB\r\nJWRTAClicQQCAtKorWxzw/zx5pMe7jSfgh/K7WD7xpUsVQRbvqDtnFDl9jvq\r\nAuz4wnRkaKMEgxAslgM64I96LeLcHx0hj9NOZrzexlPVUXU9H3wvv6m7HM4E\r\n9Uv4ZPDzabXuWe1u5YkTDhp3x9jP2Pfki16BtuQBYMml+kT3bdQsn+9FZLsQ\r\nHbfh95/fAiV0h2L5AxdMj/5deIhE8+AJQ7CeftEHwU+xCh3Z7tnl8lntSJ/S\r\ndqcwJcn7qJ5bpFkIpD3b1eiZb+NurCLs+tK2D/98U6VVj2tYZ+P4PskerUUw\r\nMNsBmFKk2w2kWu3PplV4TG4/sEgUYz9S8KYHNkmiNqmzvR2x0EGAaOVDVgNp\r\nfRR2EZQTJzFgprs2OHCTK56xyUAhooW6byaPChBYDKXpaazxH7xBgqHwOPEE\r\nTARw+DUoLPm0bx2yf8QuyrKkdSOZqzsq8R943Dw4/+582gXZ04+c5xizHPIm\r\n4o5g68Mk9GUehSTt1AqdtV6PaC1P5ycaqDnBUQkNumrzgOnUSQFjFmqoSfF7\r\nqzKnI0fmqzFHRIwK5e9FxT8a44FR90uJhY8=\r\n=2qRs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.5.3_1681037477781_0.7955435179344414"},"_hasShrinkwrap":false},"1.5.4":{"name":"react-redux-history","version":"1.5.4","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/nomadware-oss/blob/master/packages/react-redux-history","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/fum4/nomadware-oss.git"},"bugs":{"url":"https://github.com/fum4/nomadware-oss/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nomadware-oss/eslint-config":"1.0.2","@nomadware-oss/tsconfig":"1.0.2"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf lib","build":"tsup src/index.ts --format esm,cjs --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@1.5.4","_integrity":"sha512-0p3pyti7RIMIOGMZbW8iLI5dP6zFo8rjV7ybVoycdjhAQwHrE2pE9BrVENK0vd7yDh0qUU78maXbzgNvPLB5Tw==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/09314ae2210229d780a391819f3b2273/react-redux-history-1.5.4.tgz","_from":"file:react-redux-history-1.5.4.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-0p3pyti7RIMIOGMZbW8iLI5dP6zFo8rjV7ybVoycdjhAQwHrE2pE9BrVENK0vd7yDh0qUU78maXbzgNvPLB5Tw==","shasum":"a63835fd9c469244b376dd587db2f367510673cd","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.5.4.tgz","fileCount":7,"unpackedSize":374519,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC3Spr4hOIpqmaVvw3P8LUjcgMpmSSRN0FarMVZUmNrOAiBhSceRlxFfWdBfRphS7CDAD9CWLIeRlyOLDUAzRnJ3wg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMp7lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmobQQ//XdGEMbyHA87PapdnnyIMHCvtYeDp5n42ZZKowpI1iS9QdmkN\r\naevv3mg3Gsmq9m8q77uV3B9Hk03O3IPRdDS0dWxPW0u5AQ3jBFxY3ft0mHQT\r\ngPWy9neCxnzzOx0lgIFj+3EsIwEZQLakdD5cz2gkBeWrwTyxIQfnHyTafZQ/\r\n5Z6LJ4snqoDldhBTptOb5iUTAYa/ET5oL2j9P7I+TqA7wpA3rplKi/Zs5BIJ\r\nVElq2Y/mOORnUJysDMJR1HtjTNSMdoLuOSuwpvVdE+5mtno/02RoMOC5iDRa\r\nkYjXIMdBqMyBcy1ddtBxyMVStW4qychGf6JOQYvQ0decj4xHqh5cMu2ZKYU3\r\n5qh66OJUNemELvsL8h3bKhi2mgtRtOxzieylgU6pURipA1Yu0JAbhXC7FmXX\r\n79p7JfhcDcilnq5dW4lNm4+lUNFZFqpqv8WF+Hg1VdFgDwhypj9zVIqlIeMx\r\nVf1USaFdvCW/OQD95trDgf5kbEtwm5AyAKPk8F0LTTaM6Gp60potYF86oF72\r\n0pfR2St3SS5eGTacj0Sbx+Yi5KNf019zdb7OxAcBFcCnxS72r5FZ9I6tfmz8\r\ndf6z+NNQkSAuh1RWkbDutSCTlau+a8GCneY20lsFVLD7V6YGbm1XiFRuy3f3\r\nLqz2JMruIjS1ULQY8FqhVA2+z/YdzyNXLYs=\r\n=d3KB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.5.4_1681039077761_0.6714444393227583"},"_hasShrinkwrap":false},"1.5.5":{"name":"react-redux-history","version":"1.5.5","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/nomadware-oss/blob/master/packages/react-redux-history","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/fum4/nomadware-oss.git"},"bugs":{"url":"https://github.com/fum4/nomadware-oss/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nomadware-oss/eslint-config":"1.0.2","@nomadware-oss/tsconfig":"1.0.2"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf lib","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@1.5.5","_integrity":"sha512-CkNclnVEZ2WxdbjpGRgJPuqXaFjaYEdMikTrd5wMI8G+Gh9J4hTlZmzfCsvHTfQF6/jqixppr9ixQ+UPRdhJxA==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/db7a7f6d6210f927a221b151ca07108f/react-redux-history-1.5.5.tgz","_from":"file:react-redux-history-1.5.5.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-CkNclnVEZ2WxdbjpGRgJPuqXaFjaYEdMikTrd5wMI8G+Gh9J4hTlZmzfCsvHTfQF6/jqixppr9ixQ+UPRdhJxA==","shasum":"5edf431d48c6128000f1ab87080f661b3ebe6ed6","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.5.5.tgz","fileCount":7,"unpackedSize":182215,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKK8uRwpFvsVfKp0LXcnEp1T3QfS7BjQlTadlMotq5KAIgdWOcRLFk93Uwo9QrrVEdzeSNS4eZyqXK+051no0pxks="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMqNCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrHSBAAjcDDWhuggNakZbPJTiLRvydpHESCucLxNRyZ/hswkQFRp064\r\ndwlO1Ae73B1/4+jXyaToS4QIaKbmckz3oK6yVvBEfAFO4Zrnshufyyv0EPbY\r\nxOWZ7xdwBs+ozjymYoYOPyCTPHSVYogDJMnboEmNn0JrUTcgllRc1jIEcUdK\r\n8FvKjS11abU9W3bo36GadL3aTU4qsvTy26oHXBUeucxX9qEQSnzCZSJly+eU\r\n5iV40RNx3VSZbusD0u49CLNYNuCp5GEQ3DL4xTBKJuwC0eGuXyYqY5a+5ZUX\r\noY7VXAB5iFh0f/B0KZFKr6W3e6HJuaNPVPoBXjlm7LK24Yu7Eqg42XSm85/i\r\n0dF0GZh+ZZglidJxUshzc0AS7Q6ytsmiHsDTvd75OBSTavwoaCx9krwCApNI\r\negefvWAebOneM+7KlcIIP2BNolNFfHp7ITIY4BkTTJ+8SBBPXdHGEwnjQYFy\r\nVX5g0X3DMPTrmBaEq9NwiH7g86ykf8L9WMXBztygn0ngojx60YGi6pFI5Azq\r\nIlLlnESJdrq3egpnRjr4518C5Xxh6hBYPFkPg41SH9y1kTtLL1WYclekqx19\r\nkGXHY4Yg8wBl3Vw6jJ1StMD4r4WKcjcpZaF4DZAIL1vh/uVoo3m4QR1rqbRw\r\nNDbttdo60mGyAPlHvjnmbpQjgVx2s/+CCp8=\r\n=Si9q\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.5.5_1681040193752_0.3732794122066252"},"_hasShrinkwrap":false},"1.5.6":{"name":"react-redux-history","version":"1.5.6","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/nomadware-oss/blob/master/packages/react-redux-history","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/fum4/nomadware-oss.git"},"bugs":{"url":"https://github.com/fum4/nomadware-oss/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nomadware-oss/eslint-config":"1.0.3","@nomadware-oss/tsconfig":"1.0.3"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf lib","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@1.5.6","_integrity":"sha512-PrJS0rq7mEX3q4C1Em5YfhOxXTdYhWQwtXojIPqNQWXr6iNT5ueddqjTf8NSFdLLghVuZ8SByTJnaEFc4b0bCw==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/f3568009b733bf3b070238978156e0f3/react-redux-history-1.5.6.tgz","_from":"file:react-redux-history-1.5.6.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-PrJS0rq7mEX3q4C1Em5YfhOxXTdYhWQwtXojIPqNQWXr6iNT5ueddqjTf8NSFdLLghVuZ8SByTJnaEFc4b0bCw==","shasum":"19a07a86669b075a6bcedccff5b91f16eee53317","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.5.6.tgz","fileCount":7,"unpackedSize":193422,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1xPjUCTaDL6irIiOULwI0rrKntpqQm4KIHnI631iavAIgSiFlDxZV0KL4ZD4WMDKSDmdLYRDjo1WBvXMTDalffJs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMtOoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrFRBAApHMU1+M9PPTkYnbjMDtmJcusAvj+q3g2cA9xxSzloqvKmYCI\r\nRzsdVltdwA126NfHbBh0n+ZqPrfBZbjVhoD8zl/DrKmEuoPJ+SvsyQGBYNrR\r\n+K6Plgmf2CF9F2NXUMzZzZzb+9T0+uFcwtO/0lOQueh6hp3HzIUqSxVQanO/\r\nutMNhGFj0zh7rK16ny77oIJKAA1NHGgBYoUHZiDVHNw/b0G2imXLWKMFCVrm\r\nh+Q+xIp1yBHWgTfAKhRUkMg+ORuuWS22z/Itg37kRaT+fQI7AADEguuV7h9Y\r\nyxTbh4BokH/7c9IYWeQXyLxAaQrARZGi6v03Xc8KxNpd9qHQx74e/WwYuZvV\r\nWrNWP4C+xmWxSNyFCmZ8RNksGU/c0htKOrrnBAYf5BehAmWA8NBxE1pR4Hid\r\n4YHbj1fpQ3y/devUrEovpGBpMl3jJClqnIQsgrEOmdUZVG1T68vOxsXtePM5\r\n9jrc6KbUOwccHrP479RglJL2BiV7OyLrbPdRoU2+B+RDNc3jYTb7PPmSQP5M\r\nYV/pQ63oJ5iKW3GiPW2nYHl4aGKxj22cO1bxm2vMhA6zw49OLi/ov9Ji0U48\r\nBZBeDdBwEOdP+E6wCyflwDVIIa+uKpyI0v9EHkqAPCc7s8qU5eXoMuE8ECKH\r\nFx5ahZLvMYEAqZ4nzveUmvcYw/xVKzu/BTw=\r\n=1sd6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.5.6_1681052583932_0.2766818808471059"},"_hasShrinkwrap":false},"1.5.7":{"name":"react-redux-history","version":"1.5.7","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/nomadware-oss/blob/master/packages/react-redux-history","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/fum4/nomadware-oss.git"},"bugs":{"url":"https://github.com/fum4/nomadware-oss/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nomadware-oss/tsconfig":"1.0.3","@nomadware-oss/eslint-config":"1.0.3"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf lib","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@1.5.7","_integrity":"sha512-TEzdQjBrssnQz65yssf+7/2AuSxg90J9GJMUxNUlxwn1Hn1nstE/uSN4kDa2epT9sjB31t5O1+u+09mHuPHsXg==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/7079552da9c391382a465a7d61c8abc8/react-redux-history-1.5.7.tgz","_from":"file:react-redux-history-1.5.7.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-TEzdQjBrssnQz65yssf+7/2AuSxg90J9GJMUxNUlxwn1Hn1nstE/uSN4kDa2epT9sjB31t5O1+u+09mHuPHsXg==","shasum":"d1f5c37fb4f82de8053cd4dd122aef43a1a03b4d","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.5.7.tgz","fileCount":7,"unpackedSize":193422,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEE8AosQ7k/Zfu4NKOaij0Q+v1eHs35p4Zkgb6t7MaYcAiEAjGZYXITuUlBDKTwOAj/gxmDtJ4r1Bdoyl2yTO173UJ0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMtlXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrkyQ//Y3Mi77Bs7fhZSQGQKQ+d2LEwtDB0HI+zPCvRd/TMLbOBr6/M\r\nbS/hzae1GuuovzU0DFjbMXKkuRyck4nb3hAQLXa75F/qTCqtDKEFMUmTaFQv\r\nvDXlQUT5kVhwaRDal/mHt2uYJOz/llTGnuYIJ4D1G8apP/aFA5c2L7rt1YE8\r\nE7UfvlVVfEJNXkAPKaYv/akLQspxBtmIOeQkA6P0Y095xqtH7pXeaqnFVfur\r\nx2T4L4TAiHAgOqc/MPC3CINYQmD34wRtRdSjqbAolD0YpbfvI2OMvSUGYKTC\r\nRw3+eW54RnwVqM9OIvkVBFrMpb7zYWPZWCT/tDzsMXAgM5fAE+X8JoCgGOK2\r\nEE90We5/LGy1px2lVVAzsk8UDDi9p+Hb5wvsqAN+e/gOpvPq/KR+L3D+j8FP\r\nNgeZY2BMi6v73559c02VYdNaLnzq9OXCDp0nQExVK+YM8RQMTaw4Q2mgdPot\r\nPpUVv5nSfA1PXQzj2pbDOjsUZGussvTI5voYLiprFDKNneD+Q5DOOjIFHOFg\r\nXowotVjPFVBNc67zSurg4h54SdbRLPtOyrUA9DvY7Ml1uYdNyYPUG9Fb27In\r\n1FzB5MxAnAghTf/K+Weozy7tfBRF9KfhinGmaTdHD4BSUBbcfMVnChWo+nNs\r\nGkl9IFDjVsslXivHO5w8oBUgVB/Zs3pSE+I=\r\n=3i7/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.5.7_1681054038772_0.7668616800155532"},"_hasShrinkwrap":false},"1.5.8":{"name":"react-redux-history","version":"1.5.8","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/nomadware-oss/blob/master/packages/react-redux-history","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/fum4/nomadware-oss.git"},"bugs":{"url":"https://github.com/fum4/nomadware-oss/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nomadware-oss/eslint-config":"1.0.3","@nomadware-oss/tsconfig":"1.0.3"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf lib","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@1.5.8","_integrity":"sha512-BEEeTt/y60JsMZqZcrDpLu5s15qUa8uMQtRCyZ5QxztvK5s590ym1KJ790HRxc8tghdNMNaQaa2L9fTlLz2KVw==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/a7c26a1292d6fc830fdfc8e6cf7766d2/react-redux-history-1.5.8.tgz","_from":"file:react-redux-history-1.5.8.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-BEEeTt/y60JsMZqZcrDpLu5s15qUa8uMQtRCyZ5QxztvK5s590ym1KJ790HRxc8tghdNMNaQaa2L9fTlLz2KVw==","shasum":"ed9b9f60bdfd79ec0064f7828f40a156a24876fc","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-1.5.8.tgz","fileCount":7,"unpackedSize":192119,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHez87b/vZMDGvRPh0yqTkfTI5yV860mTQ9L3LFVNs/jAiA/YCZPJFRNr42XIRML/zGz+KYGFWWDW6hPk8QyCxO2Yg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkMzBAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr8gw//SpQw8IxpeNUDDZt9MzmzcpPXS5sTDUzhf1RsDCjdI9nVrkac\r\n+pxjT07qCJVR9tNGnLo/bzafMWvD56mF4p3LYycVKFQrtAYKdJoZL0irE9EQ\r\nAywY2xNEmTbvjn0AjsaDVPSEEV6DnZpHVHTPU9OlsQ5n6kT+LLB1VJc/QlLF\r\nWh8Ig5SCEJMBhWf06nfqrPZrFkLAJlY7qGnKQW2OQzn39A957X3SpLE0UV+v\r\n8WnrYIx+rxQVSvpH+rUHMNhHDwNgNbqjRccDwUK+0ujv43dDUcaB8SO9L4e3\r\nD0Z8DklOeu6PKPisrJHLY9UNwVh/rlmvHhkUesdE9JrWqLGFV56C9CLrBZpR\r\njB8VK3d8piutHsKpaf5GH/UmxubdKBTKzcTHQcIik6hzzeRgcvfk0ity+juK\r\nj2WLiMRStFa8kbIzgODkgbmvI1E1in7XikjN5W//lQfVyXEBcm5z/m5GPhRy\r\npdVVcjAUYFkxFPc7BcDrDZiOy9KM+IyiwIaxVXt1xtAwdge516kSr+ALVPyc\r\nla2wfg8g6IoI+3iGntnMdHGkupyCnVi/kFC3Lj7OrQN0J7vhDbgfyF9PTnUf\r\n3UE+Dag8AhHl9LT9TpNMqL45zlqpscUKloF5zxZLLzQgPTQm8G0UlDxzXwsN\r\nNOj8eea5we6ZEyLlMrlyFV7AogBIT5mNNO0=\r\n=CcwE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_1.5.8_1681076288557_0.4833012444234124"},"_hasShrinkwrap":false},"2.0.0":{"name":"react-redux-history","version":"2.0.0","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/nomadware-oss/blob/master/packages/react-redux-history","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/fum4/nomadware-oss.git"},"bugs":{"url":"https://github.com/fum4/nomadware-oss/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-dom":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nomadware-oss/tsconfig":"2.0.0","@nomadware-oss/eslint-config":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf lib","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.0.0","_integrity":"sha512-s8TTp42fy6Ui52VgT1xg97R2RibfGOvvq9bPOglKLaj6JTYbGtHyvOz8W52mVjBQLUL+i90X5iQuopMRJVJNvQ==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/cf0145bea433d69db6114398a41dc000/react-redux-history-2.0.0.tgz","_from":"file:react-redux-history-2.0.0.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-s8TTp42fy6Ui52VgT1xg97R2RibfGOvvq9bPOglKLaj6JTYbGtHyvOz8W52mVjBQLUL+i90X5iQuopMRJVJNvQ==","shasum":"943ffb43e08e816cbc32727463cf5342e72d0223","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.0.0.tgz","fileCount":7,"unpackedSize":190056,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDT3Z+IS0Jxoq7UivPxBv9wx7/vrf/3No0/5NAFRGgcUQIhAI/1THyQIPjyfXKdGUpdKianoALQvZzZkYieAzLISEU1"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkM1ThACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYvw//arExepyyHBeXaBUGrAGY2Z/wz0ruYe6LgtnrGWrYYCWko2tZ\r\n2zM8/2YIGRKFZSGIzdMg3IMuTtLZMvxBbf1ut8L3fD6EZaBL+fiEWOSG7fbc\r\nHVKt3+NpdSnCcEJBy3mi6EZSLuZbbS50MDbLFxJ0sOe6BQlR6qO0dph77pr2\r\n0rnN4Vo530VPTBL2JrKSoq+jC4GxD/P4rnZ/G5k0wQ/xR6ytY397LJCc7aDE\r\n99qAbZokUIF6F0qn7BdPpKI7tLXjmC7y2T3Mz9pE0cirSFCxau5jLYi2KlLt\r\nKadC/XFSjzZ0gcdbj96HwQ3Qv766+bBOKdvmIyWBN2IpdDXW+7nlxHbQMngP\r\nbFzxBFfQI3C9WLHZ0eLRAxb7B/vS4x/iFvMTmwv+JmYnkbXnGscbVy7pRH+0\r\ngb0rKOaZBedBQAF5iNrUuOXVD4WcFmS+t01fr0DlbH9dZvoLMRUXihHQVpej\r\nj8uihSm3ITouqRBXRYSEkhViXBe6pp5WK7pcTntgacL527G1qR8679ZDRXLY\r\noBAn6BEOd0SmKMQHySQPBv0xnQcaTBisyG7C+GIEI7ILJ6YHv1wvLAsijpGQ\r\nb5fPrjb/sKUGqOXz+s+gT4FLjmXHdGx3jYnM4OIu9Y4+NUIOEqCm1VWjcvYP\r\n8xRGhF1xILnkof58N+2A4N9bFnAcLERDLZE=\r\n=jgnx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.0.0_1681085664768_0.7275262929003112"},"_hasShrinkwrap":false},"2.0.1":{"name":"react-redux-history","version":"2.0.1","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/nomadware-oss/blob/master/packages/react-redux-history","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/fum4/nomadware-oss.git"},"bugs":{"url":"https://github.com/fum4/nomadware-oss/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-dom":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nomadware-oss/eslint-config":"2.0.0","@nomadware-oss/tsconfig":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","away","block","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf lib","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.0.1","_integrity":"sha512-5UAlzSL9sSclnUsdSnDFr7/hs5sQ93uVZMb/P/5lcFGh9FAaDF+yhoVzRV4l9uMn4WsUzaKMAonM2fCYvyqm9A==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/b32b0ae1bf65bc3f41581192b22fe519/react-redux-history-2.0.1.tgz","_from":"file:react-redux-history-2.0.1.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-5UAlzSL9sSclnUsdSnDFr7/hs5sQ93uVZMb/P/5lcFGh9FAaDF+yhoVzRV4l9uMn4WsUzaKMAonM2fCYvyqm9A==","shasum":"efff8d28f1add1ce1740a6e9130157d90831f2fd","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.0.1.tgz","fileCount":7,"unpackedSize":190056,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFgWjaQgYC0aDDZA/Y7jcFW//+cQbxcb8JT2wZ8QjYcgAiBArWoyk2TPyReISFhWZaAtpI7cLo2Gg1XiOC2SvzGc7g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkM1x8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPKQ//WjnT2fitf/LUcqNZ603BRL0PddtS3kiAaatM9V30nJ24cp3D\r\nOYu0rMEa76VVjEGhpMJTe9gJLJCTwlFZixVjJtEOH5qIun4zpV9fFrV1BXFV\r\nfAkD4VuihxxpDaAydURJRZFNVr2Gwc9ikkEammmOdFSi1wwp8YCARpJjjSBn\r\nfXDX15Njf4vhZJ1YyAF4fzxUaBaKxNFRQzS5yWxdpe6mzsBiv94Fz5oYR6Q9\r\nNQBUqQyOV8dC/nrp8Y//Vc/NOpf+BkeIQYLobPNBhuEEz3g7/rRX+XDfiL1U\r\nsqR2FDe925tLxU4oI2SjFvrurzXm49nHo4UzBEw+rfCJG1HPfBFsUi1zhSqX\r\n6haTRRzi2DXYbfdjq4D5oH3amLXCNceIMulmdjiVStl6YOVxdg3+lzhfsrVG\r\nzmEKmcVcgerQCT2XCf21Xazr/DTdEDdzcxmDYiPKiVlG0IKUc536NB1oKdoO\r\nWsA6bCJaoT48zKVT6VdfOw20m2hO7Hklt3U3DlTLVb7FgYaUzXrDacxY6bMS\r\n7/4laqXtQurnIR/JwJN6wD4prfOLBUyJMNdMH8GB7BY5uhmpo44Mybe53Qp3\r\nSS/Cp55PDQxyM7aS83lmm37Lj1NQ6MZqyvGj4yAOM2lrRvS0XazrhgK7K0oy\r\nZwk/f6+7rSUl50o2STz4wzOV/lm8ruzpvIw=\r\n=QOvO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.0.1_1681087611871_0.00025590079300275015"},"_hasShrinkwrap":false},"2.0.2":{"name":"react-redux-history","version":"2.0.2","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-dom":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^18.0.27","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nw/eslint-config":"2.0.0","@nw/tsconfig":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.0.2","_integrity":"sha512-i9gTwooEZIXwW9JxZdDiehnou4LEX1HwmpVCJbBugnbhiUXZJMQ3q/WfaiLnxzZDDm1sDeo/90HddYzByIZTqg==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/d1efd64c8c41215bfdd81d89f3b7bcea/react-redux-history-2.0.2.tgz","_from":"file:react-redux-history-2.0.2.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-i9gTwooEZIXwW9JxZdDiehnou4LEX1HwmpVCJbBugnbhiUXZJMQ3q/WfaiLnxzZDDm1sDeo/90HddYzByIZTqg==","shasum":"141b907964e32ed41d64c5b8db87784cc81fc26e","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.0.2.tgz","fileCount":7,"unpackedSize":189346,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE7SY4KqmYYlS+sAWGEQRQ2R38snjfwgaXJGrH9mZ2yUAiEAtSaF3RtWLIt9PaW2sIj0M8AA6w65VikZ3pBizYOQUGM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOQpNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmocRQ//bzmPzWgVdLV3CVURCatQYfVf4HN84I1qBIwPslNXLP0iZ5Sc\r\nnB/4ewJ2YRIc8Bh5Bn74RgNtq1S5lmokKIa481sYEEEYRJVtHXWu1dOpzXKJ\r\ng1nB7xCl5Sq+ekS73awwmF/r3XR3Jk/TaWd4ks3lm29j1F8nseMgXrYljP+h\r\nju67J8vqXrgoRDIDNExYlitDbgJpGQFua97a8MEsXpzAvEPbtf9JCgOc0Ozh\r\nyVXn7aWvc5yj8uh/rL7X0BvT/rSHYvPdYeKE/qFcTD5NzJSuRr7zCpktjq9i\r\nm0qsXpY6gmE46c9nq56pW4DxU3sUXlS1/I1v39KI5nliE0gvRPALSc1pm0ac\r\nYBQDOVaOGAJHrQXCD9X5OKCy+mxxya/bclKthtecDfYMJDgDOhLDYO+tJTNP\r\nSgzdjbe280K9jMPlufS3AMfDW31Vyhnv6cVm/yTJYp0LPiznYnlmlWxq4GnH\r\nwzfpJuOqs55izWVf9PcXT0ZFRZO7J2JI11U7rc02VCiLhnG7Hj2geE8eiTUb\r\nWtkNomcDeKXIStyDyADOXzPBwsUMMEj+6Yt1Vzt+zuK2yj8n7tOhGJLQsERp\r\nshiQZhCmLwlq4OdW5RLzXr00xWcPv+NPMKe5zSLSzHMWkyNHEQe+zZiwg4yi\r\nH4PkL8mBF0qRC1OT4M5COSeoqkTn3UXHluY=\r\n=c0pm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.0.2_1681459789279_0.4177485047216116"},"_hasShrinkwrap":false},"2.0.3":{"name":"react-redux-history","version":"2.0.3","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-dom":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^18.0.27","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nw/eslint-config":"2.0.0","@nw/tsconfig":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.0.3","_integrity":"sha512-BGHcY7QKy8ic96opANJy7OSPpFohotcW5sL5R87p+XACVtE6gYf0yE+hSI0s9AGDEreobYeN29Mja5LlhMpARQ==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/753faee95f093841342a136b27b111ad/react-redux-history-2.0.3.tgz","_from":"file:react-redux-history-2.0.3.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-BGHcY7QKy8ic96opANJy7OSPpFohotcW5sL5R87p+XACVtE6gYf0yE+hSI0s9AGDEreobYeN29Mja5LlhMpARQ==","shasum":"0fe5cf0fec80dc32aba66c708ceccc03e738c3a0","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.0.3.tgz","fileCount":7,"unpackedSize":189832,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfsrNQduY8+C3hBTIH6DhTRI+quOWiuqor1vBkTbmIPwIhANXeNjEN7g8/xLf4E0wpaAWf3M2bGCbcIeHWbRoZtWPG"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkORFKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpd0A//Qov+kPd7FyqdUfb1gzssyfMMTEubpekldxVcaN1ApFSIUE37\r\na33InnVV1eymlft6+cW3EKO9x9E7N+F2/h/vzWupcdBkoy+vHCaqktMs3u2o\r\nelrBDjDZBhR9l0xJwFARhrcPLun286VqGKPo2Oto3huIdfnlj9ttxsZLILQW\r\nr5ocIm3t2CBaaQsH3hL+SdgR3aAkkaCQx0wpsfyVyjpa/7hJ/l0xWrKdKBMQ\r\nIy4PmJHvA0jjPugPRzKKagWyJtj9iudUvUW9U0wdc9VvEqWJlNElsJgFJpxn\r\nFXhJpcZxFRkQMK8ZOD+CsbxvIlUrr+qJuNKMy6jLaG30nvMp8LGrEKW8xDTM\r\nhtlJX2YBQxWnZ7VzGYsHwU6vFRXxulQswmngsUesFQ/LKwuKbRC3Hf0tS4mQ\r\n01HHtJKInsq/wFZf0YAeAhrSi4ruZwyfXFjVIpcpduge8nfBnjlp1i/h/DGi\r\nNBuVh1mJHmzb1bteKnIrf2kALyIgdKN/mNCcv4vPF3vGDTQs8y2pUnS2Bgpw\r\nNHHhcX2OqHl2H41r0xkXpXYdlO7E3FzQlXWhDomM5nJwZIoANN45XocvNJUO\r\nzVXTdB0fx4Zx0a/PiCXrtYrfKNn+1M98R47nlS3h/zNCT+s59e8I2a7zlnJq\r\nOkHYKj+zNc85nkwbH2/KFNvnEbIjwiOK+4M=\r\n=YY2J\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.0.3_1681461578468_0.5812784598592062"},"_hasShrinkwrap":false},"2.0.4":{"name":"react-redux-history","version":"2.0.4","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^18.0.0","react-dom":"^18.0.0","react-redux":"^8.0.0","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^18.0.27","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^4.1.2","tsup":"^6.7.0","typescript":"^4.7.4","@nw/eslint-config":"2.0.0","@nw/tsconfig":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.0.4","_integrity":"sha512-3S/dWYXXci/Zq+2P8ulVv6nDKzWbMUKDVO2CMglFm9C3h22cvql0jPJ2lIWFL6aNBSJV2XGzsG/qJYVhY9bYEw==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/500ca826bc8973a053785ae395960529/react-redux-history-2.0.4.tgz","_from":"file:react-redux-history-2.0.4.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.5.0","dist":{"integrity":"sha512-3S/dWYXXci/Zq+2P8ulVv6nDKzWbMUKDVO2CMglFm9C3h22cvql0jPJ2lIWFL6aNBSJV2XGzsG/qJYVhY9bYEw==","shasum":"fbbffdab22617bb1df3b33c8c66dce73846ab1a2","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.0.4.tgz","fileCount":6,"unpackedSize":129171,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAiGO3i1sdN7k/zJUqqoqGNqr5bbC6sahglkHaY33Qz/AiAkv3JRuCbjRt8PzpICaSvxUWY5jU2bHL7Pm+qhupAvqQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkORYAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqGZA//WCFt5ZqX/dtws0dtt0AiKvVbk061eXznEjYkb1Hopn+giEfo\r\nb/5CHquU2ssBOc4NOsWiU0eEbPXUnbce/PHBOkN5Xh/q4iT9omtzesWwR+KT\r\nlSFjxjWrj3aHFBTc8O2LUUJIk3TYxuS/uCL3PCPdtrhVxmMOK8D4m3x/ChnQ\r\n02qgyCKqJxKMnuFqxDF8E4oa5xDFx05PAo1JIU2huLaIRmEdjtiHAwtSe48u\r\nuZ23g8W68j/8BxK1dMafqJ1/lx7ivBIgDNMPafmuMZFl4ws4JwXGtpEi8RXu\r\nheez+Y7xfdYQU2BrL1HWt5Rvc9I7Yt8DikaBhFAjhalxOWjPIFWSrwK9ZePv\r\nIxsQZxAZYK+HpXMtrsfbEvQhkOgcmWLiF+k6o7ucsABELhvfU+LD51U65n0N\r\n9w1Bg8aYEzmDvSkK1meobG/9b0s5hrha1jO2Q/XXeNxEWGTG5IOXjYlMZLQj\r\nhbjxPlOwRHqJn6UtSiDivLQxsnEqV3WyqWOHRoDCZZd0xEoZCLsGH82EJw8U\r\n7FnOP2mnhCIODKwv4ObLs+1aMmUtZ9P7/OiO9z4mZOJ02virEc+0b+LIV7lD\r\nGe3yb2cpREPjm+S3o5WJBcnFJ4oM8A3Hwr++GtkfsxIkCEqLv9I6X5hpxeYP\r\nLkqwhG+MSeOv8kEEQd0smJPV/FkgTZCBPIw=\r\n=zyVV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.0.4_1681462784304_0.20700904020571498"},"_hasShrinkwrap":false},"2.0.5":{"name":"react-redux-history","version":"2.0.5","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/tsconfig":"2.0.0","@nw/eslint-config":"2.0.1"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.0.5","_integrity":"sha512-7gbLrWtNMR/HrSvwm0YgmKh75Nvxq4Hs+7KjyujcxQ7F55QI1KqcOvATvk4UDgPxj5vfAW3+tICTjw1PrkswRw==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/11728f9dfa6e3386a334eb11416ae410/react-redux-history-2.0.5.tgz","_from":"file:react-redux-history-2.0.5.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-7gbLrWtNMR/HrSvwm0YgmKh75Nvxq4Hs+7KjyujcxQ7F55QI1KqcOvATvk4UDgPxj5vfAW3+tICTjw1PrkswRw==","shasum":"8f192228f0c3286f08f0e965dcb8e80c71fe7300","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.0.5.tgz","fileCount":6,"unpackedSize":130950,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdo3tYXS43pcqj3xcqpcmd1hL24pb2Vgliv810fB8PrAIhAJK8Z/+liXXY66X1lRH+qrYzJY5licjiU4kXKb3WDs/e"}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.0.5_1684217816963_0.6759797068725284"},"_hasShrinkwrap":false},"3.0.0-rc.1":{"name":"react-redux-history","version":"3.0.0-rc.1","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@nw/eslint-config":"workspace:*","@nw/tsconfig":"workspace:*","@reduxjs/toolkit":"^1.8.3","@remix-run/router":"^1.5.0","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"readme":"<img src=\"https://i.ibb.co/LnwWJ0g/react-redux-history.png\" alt=\"react-redux-history-logo\" />\n\n<!-- Shields -->\n\n[![build][1]][12]\n[![license][5]][6]\n[![npm][3]][4]\n![minsize][2]\n\n<br>\n\n# ⚛ Navigation history made easy!\n\n## A lightweight library for managing navigation history\n\n<br><br>\n\n## ✨ Features\n\n📜 Save all navigation history in store. [Get started](#setup)\n\n🌲 Persist history after reloading the page. [Read more](#persist)\n\n⏭️ Skipping screens capability out of the box just by passing a flag when navigating. [Read more](#skip-back)\n\n🔀 Dispatch location changes [Read more](#redux-first)\n\n💪 Force current route to re-render capability. [Read more](#force-render)\n\n🚦 Selectors for easy access. [Read more](#selectors)\n\n👀 Easy debug. Find everything you need to know about navigation in your favorite dev tools:\n\n<br>\n\n<img src=\"https://i.imgur.com/K2fjcwH.png\" alt=\"Redux DevTools with router history\" width=\"500\" />\n\n<br><br><br>\n\n# Setup <a id=\"setup\"></a>\n\n### Step 1)\n\nLet's get started by installing the package:\n\n```shell\npnpm add react-redux-history\n```\n\n```shell\nyarn add react-redux-history\n```\n\n```shell\nnpm i react-redux-history\n```\n\n<br>\n\n### Step 2)\n\nCreate a `history` object and pass it to `configureRouterHistory`. The returned reducer and middleware will be used to connect to the store.\n\n```javascript\n// store.js\nimport { createBrowserHistory } from \"history\"\nimport { configureRouterHistory } from \"react-redux-history\"\n\nexport const history = createBrowserHistory() // export this as we will need it later\n\n// optional, defaults are listed below\nconst options = {\n  storageKey: \"routerState\",\n  storageLimit: Infinity\n}\n\nconst { routerReducer, routerMiddleware } = configureRouterHistory(\n  history,\n  options\n)\n```\n\n<br>\n\n### Step 3)\n\nAdd the reducer and middleware to your store. If you are using Redux Toolkit it should look something like this:\n\n```javascript\n// store.js\nconst store = configureStore({\n  reducer: combineReducers({\n    // ...other reducers\n    router: routerReducer\n  }),\n  middleware: (getDefaultMiddleware) =>\n    getDefaultMiddleware()\n      // ...other middleware\n      .prepend(routerMiddleware)\n});\n\nexport default store\n```\n\n<br>\n\n### Step 4)\n\nLastly, add either `<LocationListener history={history} />` or `useLocationListener(history)` somewhere at the root of your app.\n\n```javascript\n// App.tsx\nimport { useLocationListener, LocationListener } from \"react-redux-history\"\nimport { history } from \"src/store\"\n\nconst App = () => {\n  useLocationListener(history) // Use either this or the component below, not both!\n\n  return (\n    <>\n      ...\n      <LocationListener history={history} />\n      ...\n    </>\n  );\n};\n```\n\n**Note**: the `history` object provided to `configureRouterHistory` and `useLocationListener` / `LocationListener` must be the same `history` object !\n\n<br><br><br>\n\n# Configuration\n\nThe middleware can be configured by passing an options object as the second argument to `configureRouterHistory`.\n\nThe following options are available:\n\n- `storageKey` - the key to use when saving the state to session storage. Defaults to `routerState`\n- `storageLimit` - the maximum number of entries to save in session storage. Defaults to `Infinity`\n\n<br>\n\n**Be careful when limiting session storage entries**. The user is still able to go back to previous pages even if they are not saved in session storage. This can cause unexpected behaviour on page reload, especially if you use `skipBack` / `skipForward` or similar logic that alters the navigation flow.\n\n<br><br><br>\n\n# Features <a id=\"features\"></a>\n\n\n## 🌲 Persistent history <a id=\"persist\"></a>\n\nHistory is persisted after page refresh by leveraging session storage.\n\nThis helps provide a better user experience and allows you to build a more robust navigation system.\n\n<br>\n\n## ⏭️ Skip back / forward <a id=\"skip-back\"></a>\n\nBy setting a `skipBack` / `skipForward` flag on a specific route the user will be automatically skipped over certain routes.\n\n```javascript\nhistory.push({\n  pathname: \"page_5\",\n  state: { skipBack: 4 }\n})\n```\n\nIn this example, every time the user will try to go back from _page_5_ he will be skipped back 4 pages, reaching _page_1_. The same behaviour will apply when going forward from _page_1_, the user will be skipped forward to _page_5_.\n\n**Note**: Due to the restrictive nature of browser navigation, back or forward actions cannot be stopped. That means that in the previous example the user will actually reach _page_4_ before being redirected to _page_1_. If there is conflicting logic (such as extra redirects) in _page_4_, it will be fired before the middleware manages to completely skip all screens. In order to get past this issue we can `selectIsSkipping` to not render the component tree while skipping.\n\n<br>\n\n## 🔀 Dispatch location changes <a id=\"redux-first\"></a>\n\nChange current location using redux actions anywhere in your app.\n\nThe API is compatible with `history`, it can be used as a drop-in replacement.\n\n```javascript\nimport { push, replace, forward, back, go } from 'react-redux-history'\n\ndispatch(push({\n  pathname: 'homepage',\n  state: {\n    ...\n  }\n}))\n\n// or use the short version\n\ndispatch(push('homepage'))\n```\n\n<br>\n\n## 💪 Force current route to re-render <a id=\"force-render\"></a>\n\nForce current route to re-render by using `selectForceRender`. Navigate to the same route while passing `forceRender: {}` in location state.\n\n```javascript\nimport { useSelector } from \"react-redux\"\nimport { selectForceRender } from \"react-redux-history\"\n\nconst Component = () => {\n  // The component will re-render every time the `forceRender` flag reference changes\n  const forceRender = useSelector(selectForceRender)\n\n  useEffect(() => {\n    // The flag can also be used as a dependency in order to re-trigger effects\n  }, [forceRender])\n\n  return (\n    <button\n      onClick={() => {\n        history.push({\n          // By default `react-router` will not trigger re-rendering when the pathname is the same\n          pathname: \"current_pathname\",\n          state: {\n            // Simply pass a new object to force re-rendering\n            forceRender: {}\n          },\n        });\n      }}\n    >\n      Re-render\n    </button>\n  )\n}\n```\n\n<br>\n\n## 🚦 Selectors for easy access <a id=\"selectors\"></a>\n\nThere are also a few useful selectors for easy access:\n\n- `selectHistoryAction`\n- `selectIsSkippingRoutes`\n- `selectForceRender`\n- `selectLocationHistory`\n- `selectCurrentLocation`\n- `selectCurrentLocationState`\n- `selectCurrentLocationIndex`\n- `selectPreviousLocation`\n- `selectNextLocation`\n- `selectIsNewSession`\n\n<br><br><br>\n\n### Used in production by [Utilmond][11]\n\n<hr>\n\n[![react][7]][8]\n[![redux][9]][10]\n[![react-router][13]][14]\n\n<br>\n<br>\n<br>\n<br>\n\n## 🏅 Sponsors\n\n<br>\n\n<a alt=\"used by Utilmond\" href=\"https://utilmond.com\"><img src=\"https://utilmond.com/static/images/utilmond_whitebg.svg\" width=\"250px\" /></a>\n\n<img alt=\"Sponsor - JetBrains\" width=\"250px\" height=\"250px\" src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png?_ga=2.63300143.1068496944.1680591996-1938842262.1680591996\" />\n\n[1]: https://img.shields.io/github/actions/workflow/status/fum4/npm/test.yml?branch=master&logo=github&color=029e2b\n[2]: https://img.shields.io/bundlephobia/min/react-redux-history?logo=supabase&logoColor=yellow\n[3]: https://img.shields.io/npm/v/react-redux-history?color=white&logo=npm\n[4]: https://www.npmjs.com/package/react-redux-history\n[5]: https://img.shields.io/npm/l/react-redux-history?logo=coursera&color=f2ed88\n[6]: https://github.com/fum4/npm/blob/master/LICENSE.md\n[7]: https://camo.githubusercontent.com/67a01fa7cf337616274f39c070a11638f2e65720e414ef55b8dd3f9c2a803b2a/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526561637426636f6c6f723d323232323232266c6f676f3d5265616374266c6f676f436f6c6f723d363144414642266c6162656c3d\n[8]: https://reactjs.org/\n[9]: https://camo.githubusercontent.com/3a2650b6854cb790e3af41a1cefa87df32efc07aad12d0c0f128a7fbc5998ac3/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526564757826636f6c6f723d373634414243266c6f676f3d5265647578266c6f676f436f6c6f723d464646464646266c6162656c3d\n[10]: https://redux.js.org/\n[11]: https://utilmond.com\n[12]: https://github.com/fum4/npm/actions\n[13]: https://camo.githubusercontent.com/a5f1968a99631284ca552953929cff7b6abb375853bb0944fae0dc520c45c73b/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d52656163742b526f7574657226636f6c6f723d434134323435266c6f676f3d52656163742b526f75746572266c6f676f436f6c6f723d464646464646266c6162656c3d\n[14]: https://reactrouter.com/en/main\n","readmeFilename":"README.md","gitHead":"ca888c87901d5acb3f5408605c627f7377539b91","_id":"react-redux-history@3.0.0-rc.1","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-c/92jW88tBvcc+3kXmQiSiXwO2B4q/Hs+BcwkGYxxs7srIdcISQRooAE6jJBD74zgjo54EYRWv7psPdbtWYHwA==","shasum":"f55fdcc5027f4a5ee6c725a06f95c6ed443e639d","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-3.0.0-rc.1.tgz","fileCount":5,"unpackedSize":131977,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG26+AEZNJVSw5B3d1jcmA6uuR1AmAQ+bQtAODeXxJs4AiAg0ej1fjrW7lhFU2a7IZ1Wm2PQazRVTYeiYdCKAUFzwA=="}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_3.0.0-rc.1_1684472634522_0.3369005282908262"},"_hasShrinkwrap":false},"2.1.0":{"name":"react-redux-history","version":"2.1.0","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/tsconfig":"2.0.0","@nw/eslint-config":"2.0.1"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.0","_integrity":"sha512-7fpqPoxmSLBmAIOEHgimhuoGeTVFiRwNB66uZWADkJOjKP8MZ9Bs1KJZDzDcT2dAzY7Erbzup6OxrBSLhgtYjw==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/e909d5ae55050acfbbef8f15460f3a98/react-redux-history-2.1.0.tgz","_from":"file:react-redux-history-2.1.0.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-7fpqPoxmSLBmAIOEHgimhuoGeTVFiRwNB66uZWADkJOjKP8MZ9Bs1KJZDzDcT2dAzY7Erbzup6OxrBSLhgtYjw==","shasum":"1a6570f491844946d3ee4ae722344d6b5fe49615","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.0.tgz","fileCount":6,"unpackedSize":131717,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB94RB4YYN+eAGPiBKmLWUoR4uHeMFvj8kqkosHvpiZ5AiEAojiTRBBP0xIzmWzgiyWFfdShyrFnVbaLeRcEJmkWiYQ="}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.0_1684484086109_0.8531836897063534"},"_hasShrinkwrap":false},"2.1.1":{"name":"react-redux-history","version":"2.1.1","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/eslint-config":"2.0.1","@nw/tsconfig":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.1","_integrity":"sha512-vPvkKGbeZZeMot+sSHUAuvXmSo5sL/Br+oUMKs99F2l9Xf3b5IQxKBgrVRPoeA0Q857bLpZfSBHymLBYB6tsew==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/096661e7a8919e24a1ada1c7f7a7cf38/react-redux-history-2.1.1.tgz","_from":"file:react-redux-history-2.1.1.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-vPvkKGbeZZeMot+sSHUAuvXmSo5sL/Br+oUMKs99F2l9Xf3b5IQxKBgrVRPoeA0Q857bLpZfSBHymLBYB6tsew==","shasum":"63a6dd6f46f79af536a7daff2c245104d519507b","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.1.tgz","fileCount":6,"unpackedSize":131720,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrtjpde/Fqok7ncO172D1HLpqGrVndbfv0OXHPEaTAHwIgEKdePhmmlY3D4SNx9uWlbmzKwoPwRTBBmKeprAKDPUU="}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.1_1684484451472_0.2003881229684119"},"_hasShrinkwrap":false},"2.1.2":{"name":"react-redux-history","version":"2.1.2","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/eslint-config":"2.0.1","@nw/tsconfig":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.2","_integrity":"sha512-Hvvml2i5UBSaxO4CVStYipVUgoOr0Heha8H/9TlgWqiMAzvil0uEcaygiMl9amMQNMZnmhNNLSgy0A3ITXwqmQ==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/7104689e6d31f165eb5240f83c4448dc/react-redux-history-2.1.2.tgz","_from":"file:react-redux-history-2.1.2.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-Hvvml2i5UBSaxO4CVStYipVUgoOr0Heha8H/9TlgWqiMAzvil0uEcaygiMl9amMQNMZnmhNNLSgy0A3ITXwqmQ==","shasum":"ebe6e7c2d6a8d3b54f68bf47650d19bfdf424556","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.2.tgz","fileCount":6,"unpackedSize":131717,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDQNQ0ui17TYv/aIpfki2TtimqjH0Uo78O7pyoJoockfAiBRZqE/g7xuIjbP2lAmyvRry3CiSe4p4ZAnYLKKUqAhDw=="}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.2_1684484819107_0.40707812053094394"},"_hasShrinkwrap":false},"2.1.3":{"name":"react-redux-history","version":"2.1.3","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/eslint-config":"2.0.1","@nw/tsconfig":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.3","_integrity":"sha512-U3uROOGmClTJ27CF/5OAa+iYRpMjn1f7Q9cbz7s+CJSp/s1AbFms/4VniA/cbM8GyZCT/43hILFZnkWUl2mEYw==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/fc3c64baf04afc984624c8e010efd921/react-redux-history-2.1.3.tgz","_from":"file:react-redux-history-2.1.3.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-U3uROOGmClTJ27CF/5OAa+iYRpMjn1f7Q9cbz7s+CJSp/s1AbFms/4VniA/cbM8GyZCT/43hILFZnkWUl2mEYw==","shasum":"a579c54d645e553b4b6d6ee961cf86ca59bed208","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.3.tgz","fileCount":6,"unpackedSize":131978,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICGwJ3f4KD5R8rbIbVsLkbZPI1734Edxq9sYKLu8PQkFAiEA7LdHZx4drkxD/RHWlzvJd1bR+bM+Dk/+m6Riox3v/WA="}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.3_1684575935506_0.549396093872579"},"_hasShrinkwrap":false},"2.1.4":{"name":"react-redux-history","version":"2.1.4","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/eslint-config":"2.0.1","@nw/tsconfig":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.4","_integrity":"sha512-81Tfg4dOO9JeO80qIPZifkxzz2YDh1pqzutG/6BOcpYJ8ER9uOz80yo9/Z+2bmObetpyCQYiKE+7LJikdZR4DQ==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/b408dbe51263e012a0333d94e8478978/react-redux-history-2.1.4.tgz","_from":"file:react-redux-history-2.1.4.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-81Tfg4dOO9JeO80qIPZifkxzz2YDh1pqzutG/6BOcpYJ8ER9uOz80yo9/Z+2bmObetpyCQYiKE+7LJikdZR4DQ==","shasum":"4f4c8313eacefc3b1108d0896619d69c70772d97","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.4.tgz","fileCount":6,"unpackedSize":132109,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHGf2+4wpme9oXk/CztuL3wTN/fwJ+f5JwtCL2o/WySTAiEA56F2cm1abzkm88C3ctCFnXetrflbI8f2DuxXuGO2eak="}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.4_1684576992586_0.33560801608323776"},"_hasShrinkwrap":false},"2.1.5":{"name":"react-redux-history","version":"2.1.5","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/eslint-config":"2.0.1","@nw/tsconfig":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.5","_integrity":"sha512-TZtmyAxmEeWxerZEX+vvxg2rLwnZzKbCgm6edm0xbJNxIYWCIfBUFFJVAogiVwqOSjOUwaNTExMBD2NNd0MWMw==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/6509b36c93e22b51edbdeeeaa24d60db/react-redux-history-2.1.5.tgz","_from":"file:react-redux-history-2.1.5.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-TZtmyAxmEeWxerZEX+vvxg2rLwnZzKbCgm6edm0xbJNxIYWCIfBUFFJVAogiVwqOSjOUwaNTExMBD2NNd0MWMw==","shasum":"91c81b2a4ae4cb3237c19f224f46c75339d7a6f4","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.5.tgz","fileCount":6,"unpackedSize":132103,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9otlSy+7oHc0p7yvQgln32E9uZ6vSLijtFFFga3KjMwIhAK5UCvcDXgHFHqL5e3lzd937cnT0ijYw/+ZLcZjTB/a5"}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.5_1684577359982_0.6723182613071352"},"_hasShrinkwrap":false},"2.1.6":{"name":"react-redux-history","version":"2.1.6","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/tsconfig":"2.0.0","@nw/eslint-config":"2.0.1"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.6","_integrity":"sha512-iAtSQkIAJ7p9OIhvtYXRzCWbz30+NoLdiPhUIwhpUGb9K+MR6Lc/qUvI1mS4JiUr8KUQoty14NKc2qbL8zImaA==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/cebf5a9a074200b94e6df8df996d02be/react-redux-history-2.1.6.tgz","_from":"file:react-redux-history-2.1.6.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-iAtSQkIAJ7p9OIhvtYXRzCWbz30+NoLdiPhUIwhpUGb9K+MR6Lc/qUvI1mS4JiUr8KUQoty14NKc2qbL8zImaA==","shasum":"e1da046f31f0e0e868cbdceb2179878f273c278d","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.6.tgz","fileCount":6,"unpackedSize":132115,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7/CDfLPW4AZE+G16N69XjrDr461KdUyMIPNQT3s/BkwIgL0aSehTZ5l5zLWOkhoutHggnHijuOCzeH7dBZjMR9z0="}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.6_1684590117374_0.6536637844338093"},"_hasShrinkwrap":false},"2.1.7":{"name":"react-redux-history","version":"2.1.7","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/tsconfig":"2.0.0","@nw/eslint-config":"2.0.1"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.7","_integrity":"sha512-qbLcYDLQB8rit3RcF0kRuJxT1kbHGwjVMZjgFZXi6dfXI8GlNpth83NQsTcjmKmbv7TzLEBgONZMhGoqJdMpmw==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/8d4e33549faefbd429162d28ebf8088c/react-redux-history-2.1.7.tgz","_from":"file:react-redux-history-2.1.7.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-qbLcYDLQB8rit3RcF0kRuJxT1kbHGwjVMZjgFZXi6dfXI8GlNpth83NQsTcjmKmbv7TzLEBgONZMhGoqJdMpmw==","shasum":"214056990edc027c336e8e9f0bfa5bc3a6f6633d","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.7.tgz","fileCount":6,"unpackedSize":132094,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE/WfAgfSVsmORr2FSDr2bm7oZJ1unKeF/oEcSEqJck+AiBBGAoiP1UfAIa3RSkAbi/QrmS+hUQb48O6cH2OW4j1Ug=="}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.7_1684590739742_0.21811925359638362"},"_hasShrinkwrap":false},"2.1.8":{"name":"react-redux-history","version":"2.1.8","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/eslint-config":"2.0.1","@nw/tsconfig":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.8","_integrity":"sha512-d1VwKFU3OLAuEc+wcGezY5UUiF408WUKPicvLFAFvxuPkIORp1b2USeko7cGlAd7Au1PELmqzxwCaXEX+5fpgA==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/86ac72870d6acdd13b388ef7828682ac/react-redux-history-2.1.8.tgz","_from":"file:react-redux-history-2.1.8.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-d1VwKFU3OLAuEc+wcGezY5UUiF408WUKPicvLFAFvxuPkIORp1b2USeko7cGlAd7Au1PELmqzxwCaXEX+5fpgA==","shasum":"def8b1f6d1b4bd4b221c5b7b48450ecf9803637a","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.8.tgz","fileCount":6,"unpackedSize":132100,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4qeJYLwUqTKHAsqUCdaAZjRwHEwGGXR+pun0Vr1+HBgIgcjD0DbkbsrsbN3tAOW/5CKcevh8LIVQoq6yrxcVV9kw="}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.8_1684590852101_0.8214969407575674"},"_hasShrinkwrap":false},"2.1.9":{"name":"react-redux-history","version":"2.1.9","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/eslint-config":"2.0.1","@nw/tsconfig":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.9","_integrity":"sha512-OqK9xkKVufgRuhQNH31o5d20R97c3WmRT45W1HlNrSiKDr9YJVtmiVpJCA5FAH4Sney3u+NpEe7QTC8Mnm9VCQ==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/58e608bb00b47572021dda336ab66fb4/react-redux-history-2.1.9.tgz","_from":"file:react-redux-history-2.1.9.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-OqK9xkKVufgRuhQNH31o5d20R97c3WmRT45W1HlNrSiKDr9YJVtmiVpJCA5FAH4Sney3u+NpEe7QTC8Mnm9VCQ==","shasum":"36eea91c1f7122658e10d84ca7a971e630ccc2f5","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.9.tgz","fileCount":6,"unpackedSize":132061,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXpogRJSh1+JpnygPbQRXBdWnfXwKtDy2pdsLmyXZhpgIgLmgKo+0k5X4hDrs8mSJkLmZBc+1wLAasXsT6Hiqqt98="}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.9_1684591245855_0.5277375686581187"},"_hasShrinkwrap":false},"2.1.10":{"name":"react-redux-history","version":"2.1.10","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/eslint-config":"2.0.1","@nw/tsconfig":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.10","_integrity":"sha512-5aa2OnHuhyKDpYMGoAVfT98pWA7zKMhWGvSnva/Bz6ZC4C60pnf3WivWwFo9/JOKEx+r0fW/Zy7yus44HGArhA==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/f81cf404c2fc0f82825e90aac7e075e3/react-redux-history-2.1.10.tgz","_from":"file:react-redux-history-2.1.10.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-5aa2OnHuhyKDpYMGoAVfT98pWA7zKMhWGvSnva/Bz6ZC4C60pnf3WivWwFo9/JOKEx+r0fW/Zy7yus44HGArhA==","shasum":"8e5350c3ec8491e1178f6770a3a5548fa6bf56f0","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.10.tgz","fileCount":6,"unpackedSize":131998,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKdhKvj1eJEaVJT0BHvBfU7RSOQLb+GW7ipx5ljZMnvwIhAOoNRjYldPWbynOA5W3bEfDOvbLEnJT0pXWz4c+GYhCb"}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.10_1684737308302_0.3883524180856923"},"_hasShrinkwrap":false},"2.1.11":{"name":"react-redux-history","version":"2.1.11","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/tsconfig":"2.0.0","@nw/eslint-config":"2.0.1"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.11","_integrity":"sha512-bL+2mjTks0F/2qjdaUJoAArwTOezXYMmxEcHQEAV9ItgAjbZRk3pLmoaRSKN4DkLH7vdksHcxf2hApds/x3zDw==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/36b1fc9b54c7af7193e80bf0b439fbdc/react-redux-history-2.1.11.tgz","_from":"file:react-redux-history-2.1.11.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-bL+2mjTks0F/2qjdaUJoAArwTOezXYMmxEcHQEAV9ItgAjbZRk3pLmoaRSKN4DkLH7vdksHcxf2hApds/x3zDw==","shasum":"7b19a8d186a144e08bb28e3b6960024af587e075","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.11.tgz","fileCount":6,"unpackedSize":132352,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNRssfdiW1uTOUMxpZSreVzQAGFyvNoxv77Uf/Tzj5PQIhAL7SiAkxZIbf52cbDt1GgXsLdlYhAPreMEwxJoqIhpQr"}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.11_1684857790565_0.3700217198074056"},"_hasShrinkwrap":false},"2.1.12":{"name":"react-redux-history","version":"2.1.12","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/eslint-config":"2.0.1","@nw/tsconfig":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.12","_integrity":"sha512-TzVgRkI4kb+8zH04IrWMY/lyqiDotrm6GhkX+O8Ze3rdjhb96tG+hHxhzKQhXSWFmCpBclviVwYHGi3B6Kd+AQ==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/775ec8a9b21ece51bc843dff416ccaab/react-redux-history-2.1.12.tgz","_from":"file:react-redux-history-2.1.12.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-TzVgRkI4kb+8zH04IrWMY/lyqiDotrm6GhkX+O8Ze3rdjhb96tG+hHxhzKQhXSWFmCpBclviVwYHGi3B6Kd+AQ==","shasum":"55e669f6333cfd25d21ec4f32204068e1eca4329","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.12.tgz","fileCount":6,"unpackedSize":132349,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICqiChI6a7/06WZx47R3mK4PUwhZ/PNNtt+0uyQApLKGAiEAmVqcRssqcE5Fe/51cPxqokON7mrqGhlestlEjPkBv6E="}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.12_1684860667271_0.6621644070254569"},"_hasShrinkwrap":false},"2.1.13":{"name":"react-redux-history","version":"2.1.13","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/eslint-config":"2.0.1","@nw/tsconfig":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.13","_integrity":"sha512-PJxRt8NWCGgXM72oFPNX0xzyajrWY245SaPa7C3AiDgSuqCf4JSkEAtBD2lirN+MmNGSfSzhCdea4+TnkjuxPw==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/b74147fa270237d970519ab8e23c10be/react-redux-history-2.1.13.tgz","_from":"file:react-redux-history-2.1.13.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-PJxRt8NWCGgXM72oFPNX0xzyajrWY245SaPa7C3AiDgSuqCf4JSkEAtBD2lirN+MmNGSfSzhCdea4+TnkjuxPw==","shasum":"30cb07d2941393cac0378f95787215a9b970f2f0","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.13.tgz","fileCount":6,"unpackedSize":132375,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC1OJFuk7fc22Qt3yLBjXyz60jIDE2dNhxLv4KXi/b/JAiEA1R51Xk/28t/Gwu39Tsh1HTmin3YQclNsgeWnjuWZxbE="}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.13_1684861154904_0.8692273075474664"},"_hasShrinkwrap":false},"2.1.14":{"name":"react-redux-history","version":"2.1.14","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/tsconfig":"2.0.0","@nw/eslint-config":"2.0.1"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.14","_integrity":"sha512-7/vLJ4qfi7exyj4UuIxSuYYUf2cMIB5j4qc9HFNW36nqLqBYjJZ3fEAXAdw15oPgbAPAgagouB0vPOUn++eBtg==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/18c62735df9f0a07a21854c4119af2f1/react-redux-history-2.1.14.tgz","_from":"file:react-redux-history-2.1.14.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-7/vLJ4qfi7exyj4UuIxSuYYUf2cMIB5j4qc9HFNW36nqLqBYjJZ3fEAXAdw15oPgbAPAgagouB0vPOUn++eBtg==","shasum":"e5e9042d2eeea47ab3a01992c8ce7ad24b3a8415","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.14.tgz","fileCount":6,"unpackedSize":132368,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQChiu12bM/hiFiE2b5Q5e9+uzpCDF3NheCImR5PSgGCtQIhAOpipAaitlebTGgaIn3gZsMf2yJtSy3elEh092jHHVpK"}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.14_1684862277064_0.13500623124189848"},"_hasShrinkwrap":false},"2.1.15":{"name":"react-redux-history","version":"2.1.15","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.46","@tsconfig/recommended":"^1.0.1","@types/node":"^20.1.5","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/eslint-config":"2.0.1","@nw/tsconfig":"2.0.0"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_id":"react-redux-history@2.1.15","_integrity":"sha512-B5am+41KU1cFYmf+2tT0q5yFbcBKxXKg7QD5rCQdPsPe/kaxCEt/RAp8zkKsv/zzuhTQyOSdhCW5A//sYzQ35A==","_resolved":"/private/var/folders/5c/r7k2hs2n27502h8_zpc38bvw0000gn/T/a4742a146c85bc46883c8b31ea65b77d/react-redux-history-2.1.15.tgz","_from":"file:react-redux-history-2.1.15.tgz","_nodeVersion":"18.14.2","_npmVersion":"9.6.4","dist":{"integrity":"sha512-B5am+41KU1cFYmf+2tT0q5yFbcBKxXKg7QD5rCQdPsPe/kaxCEt/RAp8zkKsv/zzuhTQyOSdhCW5A//sYzQ35A==","shasum":"525a61186342aa9fba6510d9ab5e63798dddebae","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.15.tgz","fileCount":6,"unpackedSize":132367,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsN9vmavAd4hxelRn7GpeP28wWvwAIRwTG5X3ZM+91wwIhAP7CKYHPPy07vNPIVkjgJahZiw7S2ZHXPZlxIlFQcAjK"}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.15_1685481200812_0.03544172247530941"},"_hasShrinkwrap":false},"2.1.16":{"name":"react-redux-history","version":"2.1.16","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/preset-env":"^7.22.20","@babel/preset-react":"^7.18.6","@reduxjs/toolkit":"^1.8.3","@swc/core":"^1.3.85","@tsconfig/recommended":"^1.0.1","@types/node":"^20.4.4","@types/react":"^18.0.27","@types/react-dom":"^18.0.10","@types/react-redux":"^7.1.25","rimraf":"^5.0.0","tsup":"^6.7.0","typescript":"^5.0.4","@nw/tsconfig":"2.0.0","@nw/eslint-config":"2.0.1"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"_resolved":"","_integrity":"","_from":"file:react-redux-history-2.1.16.tgz","_id":"react-redux-history@2.1.16","_nodeVersion":"18.17.1","_npmVersion":"6.14.18","dist":{"integrity":"sha512-wla1ZHUOiYBxxiSdT0OCenSjP7TTT8kk2zq1j0P0+4lePsNul4aqj4LtE9yS5pdu4/X1H85bcIB7Q+xw514uSA==","shasum":"ef27f4c7958bb735c5db88f44e9f8bf0c8a47f4f","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-2.1.16.tgz","fileCount":6,"unpackedSize":132362,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLLOvFqaUqZeVgin1/0oCk+nijH7GkcgO80XXCbbRffgIhAJ/UCS0gP+KATKH6cypB8l2W+ZhKPeepx3U3Lz+pbdD6"}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_2.1.16_1695056576700_0.5410867684949656"},"_hasShrinkwrap":false},"3.0.0-rc.2":{"name":"react-redux-history","version":"3.0.0-rc.2","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.22.15","@babel/core":"^7.22.20","@babel/preset-env":"^7.22.20","@babel/preset-react":"^7.22.15","@nw/eslint-config":"workspace:*","@nw/tsconfig":"workspace:*","@reduxjs/toolkit":"^1.8.3","@remix-run/router":"^1.9.0","@swc/core":"^1.3.85","@tsconfig/recommended":"^1.0.3","@types/node":"^20.6.2","@types/react":"^18.2.22","@types/react-dom":"^18.2.7","@types/react-redux":"^7.1.26","rimraf":"^5.0.1","tsup":"^7.2.0","typescript":"^5.2.2"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"readme":"<img src=\"https://i.ibb.co/LnwWJ0g/react-redux-history.png\" alt=\"react-redux-history-logo\" />\n\n<!-- Shields -->\n\n[![build][1]][12]\n[![license][5]][6]\n[![npm][3]][4]\n![minsize][2]\n\n<br>\n\n# ⚛ Navigation history made easy!\n\nLots of applications need more control over their navigation than what their router provides\n\nNo worries, we are here to help\n\n<hr>\n\n<br>\n\n📜 Save all navigation history in store   [Get started](#setup)\n\n🌲 Persist history after reloading the page   [Read more](#persist)\n\n⏭️ Skipping screens capability out of the box   [Read more](#skip-back)\n\n🔀 Dispatch location changes   [Read more](#redux-first)\n\n👊 Force current route to re-render   [Read more](#force-render)\n\n🚦 Selectors for easy access   [Read more](#selectors)\n\n🐛 Easy debug, find everything you need to know about navigation in your favorite dev tools:\n\n<br>\n\n<img src=\"https://i.imgur.com/K2fjcwH.png\" alt=\"Redux DevTools with router history\" width=\"500\" />\n\n<br><br><br>\n\n# Setup <a id=\"setup\"></a>\n\n### Step 1)\n\nLet's get started by installing the package:\n\n```shell\npnpm add react-redux-history\n```\n\n```shell\nnpm i react-redux-history\n```\n\n```shell\nyarn add react-redux-history\n```\n\n<br>\n\n### Step 2)\n\nCreate a `history` object and pass it to `configureRouterHistory`. The returned reducer and middleware will be used to connect to the store.\n\n```javascript\n// store.js\nimport { createBrowserHistory } from \"history\"\nimport { configureRouterHistory } from \"react-redux-history\"\n\nexport const history = createBrowserHistory() // export this as we will need it later\n\n// optional, defaults are listed below\nconst options = {\n  storageKey: \"routerState\",\n  storageLimit: Infinity\n}\n\nconst { \n  routerReducer, \n  routerMiddleware \n} = configureRouterHistory(history, options)\n```\n\n<br>\n\n### Step 3)\n\nAdd the reducer and middleware to your store. If you are using Redux Toolkit it should look something like this:\n\n```javascript\n// store.js\nconst store = configureStore({\n  reducer: combineReducers({\n    // ...other reducers\n    router: routerReducer\n  }),\n  middleware: (getDefaultMiddleware) =>\n    getDefaultMiddleware()\n      // ...other middleware\n      .prepend(routerMiddleware)\n})\n\nexport default store\n```\n\n<br>\n\n### Step 4)\n\nLastly, add either `<LocationListener history={history} />` or `useLocationListener(history)` somewhere at the root of your app.\n\n```javascript\n// App.tsx\nimport { useLocationListener, LocationListener } from \"react-redux-history\"\nimport { history } from \"src/store\"\n\nconst App = () => {\n  useLocationListener(history) // Use either this or the component below, not both!\n\n  return (\n    <>\n      ...\n      <LocationListener history={history} />\n      ...\n    </>\n  )\n}\n```\n\n**Note**: the `history` object provided to `configureRouterHistory` and `useLocationListener` / `LocationListener` must be the same `history` object !\n\n<br><br><br>\n\n# Configuration\n\nThe middleware can be configured by passing an options object as the second argument to `configureRouterHistory`.\n\nThe following options are available:\n\n- `storageKey` - the key to use when saving the state to session storage. Defaults to `routerState`\n- `storageLimit` - the maximum number of entries to save in session storage. Defaults to `Infinity`\n\n<br>\n\n**Be careful when limiting session storage entries**. The user is still able to go back to previous pages even if they are not saved in session storage. This can cause unexpected behaviour on page reload, especially if you use `skipBack` / `skipForward` or similar logic that alters the navigation flow.\n\n<br><br><br>\n\n# Features <a id=\"features\"></a>\n\n\n## 🌲 Persistent history <a id=\"persist\"></a>\n\nHistory is persisted after page refresh by leveraging session storage.\n\nThis helps provide a better user experience and allows you to build a more robust navigation system.\n\n<br>\n\n## ⏭️ Skip back / forward <a id=\"skip-back\"></a>\n\nBy setting a `skipBack` / `skipForward` flag on a specific route the user will be automatically skipped over certain routes.\n\n```javascript\nhistory.push({\n  pathname: \"page_5\",\n  state: { skipBack: 4 }\n})\n```\n\nIn this example, every time the user will try to go back from _page_5_ he will be skipped back 4 pages, reaching _page_1_. The same behaviour will apply when going forward from _page_1_, the user will be skipped forward to _page_5_.\n\n**Note**: Due to the restrictive nature of browser navigation, back or forward actions cannot be stopped. That means that in the previous example the user will actually reach _page_4_ before being redirected to _page_1_. If there is conflicting logic (such as extra redirects) in _page_4_, it will be fired before the middleware manages to completely skip all screens. In order to get past this issue we can `selectIsSkipping` to not render the component tree while skipping.\n\n*We managed this at Utilmond by leveraging the selector in our general purpose loading component. When the flag is `true`, we render a loading backdrop instead of the current route. This prevents any conflicting logic to be fired and mess with the redirects.*\n\n<br>\n\n## 🔀 Dispatch location changes <a id=\"redux-first\"></a>\n\nChange current location using redux actions anywhere in your app.\n\nThe API is compatible with `history`, it can be used as a drop-in replacement.\n\n```javascript\nimport { push, replace, forward, back, go } from 'react-redux-history'\n\ndispatch(push({\n  pathname: 'homepage',\n  state: {\n    ...\n  }\n}))\n\n// or use the short version\n\ndispatch(push('homepage'))\n```\n\n<br>\n\n## 👊 Force current route to re-render <a id=\"force-render\"></a>\n\nForce current route to re-render by using `selectForceRender`. Navigate to the same route while passing `forceRender: {}` in location state.\n\n```javascript\nimport { useSelector } from \"react-redux\"\nimport { selectForceRender } from \"react-redux-history\"\n\nconst Component = () => {\n  // The component will re-render every time the `forceRender` flag reference changes\n  const forceRender = useSelector(selectForceRender)\n\n  useEffect(() => {\n    // The flag can also be used as a dependency in order to re-trigger effects\n  }, [forceRender])\n\n  return (\n    <button\n      onClick={() => {\n        history.push({\n          // By default `react-router` will not trigger re-rendering when the pathname is the same\n          pathname: \"current_pathname\",\n          state: {\n            // Simply pass a new object to force re-rendering\n            forceRender: {}\n          },\n        })\n      }}\n    >\n      Re-render\n    </button>\n  )\n}\n```\n\n<br>\n\n## 🚦 Selectors for easy access <a id=\"selectors\"></a>\n\nThere are also a few useful selectors for easy access:\n\n- `selectLocationHistory`\n- `selectCurrentLocation`\n- `selectCurrentLocationState`\n- `selectCurrentLocationIndex`\n- `selectNextLocation`\n- `selectPreviousLocation`\n- `selectBackLocation`\n- `selectHistoryAction`\n- `selectIsSkippingRoutes`\n- `selectIsNewSession`\n- `selectForceRender`\n\n<br><br><br><br>\n\n## 🚀 Powered by\n\n<br>\n\n<a href=\"https://www.utilmond.com\"><img alt=\"used by Utilmond\" src=\"https://utilmond.com/static/images/utilmond_whitebg.svg\" width=\"250px\" /></a>\n\n<a href=\"https://www.jetbrains.com/\"><img alt=\"Sponsor - JetBrains\" width=\"250px\" src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png?_ga=2.63300143.1068496944.1680591996-1938842262.1680591996\" /></a>\n\n<a href=\"https://www.sentry.io\"><img alt=\"Sponsor - Sentry\" width=\"250px\" src=\"https://i.ibb.co/1v7GSBd/sentry.png\" /></a>\n\n<br><br><br>\n\n### Used in production by [Utilmond][11]\n\n<hr>\n\n[![react][7]][8]\n[![redux][9]][10]\n[![react-router][13]][14]\n\n[1]: https://img.shields.io/github/actions/workflow/status/fum4/npm/test.yml?branch=master&logo=github&color=029e2b\n[2]: https://img.shields.io/bundlephobia/min/react-redux-history?logo=supabase&logoColor=yellow\n[3]: https://img.shields.io/npm/v/react-redux-history?color=white&logo=npm\n[4]: https://www.npmjs.com/package/react-redux-history\n[5]: https://img.shields.io/npm/l/react-redux-history?logo=coursera&color=f2ed88\n[6]: https://github.com/fum4/npm/blob/master/LICENSE.md\n[7]: https://camo.githubusercontent.com/67a01fa7cf337616274f39c070a11638f2e65720e414ef55b8dd3f9c2a803b2a/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526561637426636f6c6f723d323232323232266c6f676f3d5265616374266c6f676f436f6c6f723d363144414642266c6162656c3d\n[8]: https://reactjs.org/\n[9]: https://camo.githubusercontent.com/3a2650b6854cb790e3af41a1cefa87df32efc07aad12d0c0f128a7fbc5998ac3/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526564757826636f6c6f723d373634414243266c6f676f3d5265647578266c6f676f436f6c6f723d464646464646266c6162656c3d\n[10]: https://redux.js.org/\n[11]: https://utilmond.com\n[12]: https://github.com/fum4/npm/actions\n[13]: https://camo.githubusercontent.com/a5f1968a99631284ca552953929cff7b6abb375853bb0944fae0dc520c45c73b/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d52656163742b526f7574657226636f6c6f723d434134323435266c6f676f3d52656163742b526f75746572266c6f676f436f6c6f723d464646464646266c6162656c3d\n[14]: https://reactrouter.com/en/main\n","readmeFilename":"README.md","_id":"react-redux-history@3.0.0-rc.2","_nodeVersion":"18.17.1","_npmVersion":"6.14.18","dist":{"integrity":"sha512-Utmfc/AQyizC+1xCx9a+8+gTOuvC4tP0VAMRkzL6mq1zlwcuXUHPp5549sewat4EDRpkTkhv+9OG5EMQob+Nzw==","shasum":"950481d3ea9ae2254ec05a82769e5a4f00d98e2e","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-3.0.0-rc.2.tgz","fileCount":6,"unpackedSize":138205,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqjp6QMQSAqaMKPLQG7bf8Fwp0SgaApyfAKudxvNAyxwIhAIlOelNz24s4CvWt5rixngkfCgtuiyGzyGpwSAvXUwgf"}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_3.0.0-rc.2_1695067215151_0.5029151340503308"},"_hasShrinkwrap":false},"3.0.0":{"name":"react-redux-history","version":"3.0.0","description":"Navigation history made easy","author":{"name":"fum4"},"license":"MIT","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","sideEffects":false,"scripts":{"prebuild":"rimraf dist","build":"tsup src/index.ts --format esm,cjs --minify --dts","dev":"tsup src/index.ts --format esm,cjs --watch"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"peerDependencies":{"history":"^5.0.0","react":"^16.8.4 || ^17.0.0 || ^18.0.0","react-dom":"^16.8.4 || ^17.0.0 || ^18.0.0","react-redux":"^7.2.1 || ^8.0.2","redux":"^4.0.0"},"devDependencies":{"@babel/cli":"^7.22.15","@babel/core":"^7.22.20","@babel/preset-env":"^7.22.20","@babel/preset-react":"^7.22.15","@nw/eslint-config":"workspace:*","@nw/tsconfig":"workspace:*","@reduxjs/toolkit":"^1.8.3","@remix-run/router":"^1.9.0","@swc/core":"^1.3.85","@tsconfig/recommended":"^1.0.3","@types/node":"^20.6.2","@types/react":"^18.2.22","@types/react-dom":"^18.2.7","@types/react-redux":"^7.1.26","rimraf":"^5.0.1","tsup":"^7.2.0","typescript":"^5.2.2"},"keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"_id":"react-redux-history@3.0.0","_nodeVersion":"18.17.1","_npmVersion":"6.14.18","dist":{"integrity":"sha512-V3CTG8g6lA4OarHASIQh9Cvfa3dCOIHcmgS1jnG9vD7bNTV3hrKnnwvew1Z5Bgovn/RqjnlhWRMe3zaQWQWxmQ==","shasum":"2e0801e7515dc02b995f239ae1c2aa5c5a9aa069","tarball":"https://registry.npmjs.org/react-redux-history/-/react-redux-history-3.0.0.tgz","fileCount":6,"unpackedSize":138722,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICMLguNepqjSg/lsAVZ43eOHiG8ztjVv3CX4yFzv6qozAiAoX/7PQwpnReuCdXxlMQYW5BibmR6t8dv+2eQMgqxP8Q=="}]},"_npmUser":{"name":"fum4","email":"andronache.alex22@gmail.com"},"directories":{},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-redux-history_3.0.0_1695104518851_0.8620328389902026"},"_hasShrinkwrap":false}},"maintainers":[{"name":"fum4","email":"andronache.alex22@gmail.com"}],"description":"Navigation history made easy","homepage":"https://github.com/fum4/npm/blob/master/packages/react-redux-history","keywords":["react","router","redux","history","store","url","middleware","navigation","navigate","react-router","connected","connected-react-router","redux-history","redux-first-history"],"repository":{"type":"git","url":"git+https://github.com/fum4/npm.git"},"author":{"name":"fum4"},"bugs":{"url":"https://github.com/fum4/npm/issues"},"license":"MIT","readme":"<img src=\"https://i.ibb.co/LnwWJ0g/react-redux-history.png\" alt=\"react-redux-history-logo\" />\n\n<!-- Shields -->\n\n[![build][1]][12]\n[![license][5]][6]\n[![npm][3]][4]\n![minsize][2]\n\n<br>\n\n# ⚛ Navigation history made easy!\n\nLots of applications need more control over their navigation than what their router provides\n\nNo worries, we are here to help\n\n<hr>\n\n#### Compatible with both react-router v6 and v5 API\n\n<hr>\n\n<br>\n\n📜 Save all navigation history in store   [Get started](#setup)\n\n🌲 Persist history after reloading the page   [Read more](#persist)\n\n⏭️ Skipping screens capability out of the box   [Read more](#skip-back)\n\n🔀 Dispatch location changes   [Read more](#redux-first)\n\n👊 Force current route to re-render   [Read more](#force-render)\n\n🚦 Selectors for easy access   [Read more](#selectors)\n\n🐛 Easy debug, find everything you need to know about navigation in your favorite dev tools:\n\n<br>\n\n<img src=\"https://i.imgur.com/K2fjcwH.png\" alt=\"Redux DevTools with router history\" width=\"500\" />\n\n<br><br><br>\n\n# Setup <a id=\"setup\"></a>\n\n### Step 1)\n\nLet's get started by installing the package:\n\n```shell\npnpm add react-redux-history\n```\n\n```shell\nnpm i react-redux-history\n```\n\n```shell\nyarn add react-redux-history\n```\n\n<br>\n\n### Step 2)\n\nCreate a browser router and pass it to `configureRouterHistory`. The returned reducer and middleware will be used to connect to the store:\n\n```javascript\n// store.js\nimport { configureRouterHistory } from 'react-redux-history'\nimport { createBrowserRouter } from 'react-router-dom'\nimport { routes } from 'src/routes'\n\n// optional, defaults are listed below\nconst options = {\n  storageKey: 'routerState',\n  storageLimit: Infinity\n}\n\nexport const router = createBrowserRouter(routes);\nexport const { routerReducer, routerMiddleware } = configureRouterHistory({ router, ...options })\n```\n\n\nBackwards compatibility with `react-router` legacy v5 API is also supported:\n\n```javascript\n// store.js\nimport { configureRouterHistory } from 'react-redux-history'\nimport { createBrowserHistory } from 'history'\n\nconst options = { ... }\n\nexport const history = createBrowserHistory() // react-router legacy v5 API\nexport const { routerReducer, routerMiddleware } = configureRouterHistory({ history, ...options })\n```\nFor more info regarding differences between react-router v5 and v6 API check out the [official docs][15]\n\n<br>\n\n### Step 3)\n\nAdd the reducer and middleware to your store. If you are using Redux Toolkit it should look something like this:\n\n```javascript\n// store.js\nconst store = configureStore({\n  reducer: combineReducers({\n    // ...other reducers\n    router: routerReducer\n  }),\n  middleware: (getDefaultMiddleware) =>\n    getDefaultMiddleware()\n      // ...other middleware\n      .concat(routerMiddleware)\n})\n\nexport default store\n```\n\n<br>\n\n### Step 4)\n\nLastly, add either `<LocationListener />` or `useLocationListener` somewhere at the root of your app:\n\n```javascript\n// App.tsx\nimport { useLocationListener, LocationListener } from 'react-redux-history'\n// use the `history` object if working with `react-router` v5 API\nimport { router } from 'src/store'\n\nconst App = () => {\n  useLocationListener(router) // use either this or the component below, not both!\n  \n  return (\n    <>\n      ...\n      <LocationListener router={router} /> \n      ...\n    </>\n  )\n}\n```\n\n**Note**: the `router` / `history` objects provided to `configureRouterHistory` and `useLocationListener` / `LocationListener` must be the same objects !\n\n<br><br><br>\n\n# Configuration\n\nThe middleware can be configured by passing an options object as the second argument to `configureRouterHistory`.\n\nThe following options are available:\n\n- `storageKey` - the key to use when saving the state to session storage. Defaults to `routerState`\n- `storageLimit` - the maximum number of entries to save in session storage. Defaults to `Infinity`\n\n<br>\n\n**Be careful when limiting session storage entries**. The user is still able to go back to previous pages even if they are not saved in session storage. This can cause unexpected behaviour on page reload, especially if you use `skipBack` / `skipForward` or similar logic that alters the navigation flow.\n\n<br><br><br>\n\n# Features <a id=\"features\"></a>\n\n\n## 🌲 Persistent history <a id=\"persist\"></a>\n\nHistory is persisted after page refresh by leveraging session storage.\n\nThis helps provide a better user experience and allows you to build a more robust navigation system.\n\n<br>\n\n## ⏭️ Skip back / forward <a id=\"skip-back\"></a>\n\nBy setting a `skipBack` / `skipForward` flag on a specific route the user will be automatically skipped over certain routes.\n\n```javascript\nhistory.push({\n  pathname: 'page_5',\n  state: { skipBack: 4 }\n})\n```\n\nIn this example, every time the user will try to go back from _page_5_ he will be skipped back 4 pages, reaching _page_1_. The same behaviour will apply when going forward from _page_1_, the user will be skipped forward to _page_5_.\n\n**Note**: Due to the restrictive nature of browser navigation, back or forward actions cannot be stopped. That means that in the previous example the user will actually reach _page_4_ before being redirected to _page_1_. If there is conflicting logic (such as extra redirects) in _page_4_, it will be fired before the middleware manages to completely skip all screens. In order to get past this issue we can `selectIsSkipping` to not render the component tree while skipping.\n\n*We managed this at Utilmond by leveraging the selector in our general purpose loading component. When the flag is `true`, we render a loading backdrop instead of the current route. This prevents any conflicting logic to be fired and mess with the redirects.*\n\n<br>\n\n## 🔀 Dispatch location changes <a id=\"redux-first\"></a>\n\nChange current location using redux actions anywhere in your app.\n\nThe API is compatible with `history`, it can be used as a drop-in replacement.\n\n```javascript\nimport { push, replace, forward, back, go } from 'react-redux-history'\n\ndispatch(push({\n  pathname: 'homepage',\n  state: {\n    ...\n  }\n}))\n\n// or use the short version\n\ndispatch(push('homepage'))\n```\n\n<br>\n\n## 👊 Force current route to re-render <a id=\"force-render\"></a>\n\nForce current route to re-render by using `selectForceRender`. Navigate to the same route while passing `forceRender: {}` in location state.\n\n```javascript\nimport { useSelector } from 'react-redux'\nimport { selectForceRender } from 'react-redux-history'\n\nconst Component = () => {\n  // The component will re-render every time the `forceRender` flag reference changes\n  const forceRender = useSelector(selectForceRender)\n\n  useEffect(() => {\n    // The flag can also be used as a dependency in order to re-trigger effects\n  }, [forceRender])\n\n  return (\n    <button\n      onClick={() => {\n        history.push({\n          // By default `react-router` will not trigger re-rendering when the pathname is the same\n          pathname: 'current_pathname',\n          state: {\n            // Simply pass a new object to force re-rendering\n            forceRender: {}\n          },\n        })\n      }}\n    >\n      Re-render\n    </button>\n  )\n}\n```\n\n<br>\n\n## 🚦 Selectors for easy access <a id=\"selectors\"></a>\n\nThere are also a few useful selectors for easy access:\n\n- `selectLocationHistory`\n- `selectCurrentLocation`\n- `selectCurrentLocationState`\n- `selectCurrentLocationIndex`\n- `selectNextLocation`\n- `selectPreviousLocation`\n- `selectBackLocation`\n- `selectHistoryAction`\n- `selectIsSkippingRoutes`\n- `selectIsNewSession`\n- `selectForceRender`\n\n<br><br><br><br>\n\n## 🚀 Powered by\n\n<br>\n\n<a href=\"https://www.utilmond.com\"><img alt=\"used by Utilmond\" src=\"https://utilmond.com/static/images/utilmond_whitebg.svg\" width=\"250px\" /></a>\n\n<a href=\"https://www.jetbrains.com/\"><img alt=\"Sponsor - JetBrains\" width=\"250px\" src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png?_ga=2.63300143.1068496944.1680591996-1938842262.1680591996\" /></a>\n\n<a href=\"https://www.sentry.io\"><img alt=\"Sponsor - Sentry\" width=\"250px\" src=\"https://i.ibb.co/1v7GSBd/sentry.png\" /></a>\n\n<br><br><br>\n\n### Used in production by [Utilmond][11]\n\n<hr>\n\n[![react][7]][8]\n[![redux][9]][10]\n[![react-router][13]][14]\n\n[1]: https://img.shields.io/github/actions/workflow/status/fum4/npm/test.yml?branch=master&logo=github&color=029e2b\n[2]: https://img.shields.io/bundlephobia/min/react-redux-history?logo=supabase&logoColor=yellow\n[3]: https://img.shields.io/npm/v/react-redux-history?color=white&logo=npm\n[4]: https://www.npmjs.com/package/react-redux-history\n[5]: https://img.shields.io/npm/l/react-redux-history?logo=coursera&color=f2ed88\n[6]: https://github.com/fum4/npm/blob/master/LICENSE.md\n[7]: https://camo.githubusercontent.com/67a01fa7cf337616274f39c070a11638f2e65720e414ef55b8dd3f9c2a803b2a/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526561637426636f6c6f723d323232323232266c6f676f3d5265616374266c6f676f436f6c6f723d363144414642266c6162656c3d\n[8]: https://reactjs.org/\n[9]: https://camo.githubusercontent.com/3a2650b6854cb790e3af41a1cefa87df32efc07aad12d0c0f128a7fbc5998ac3/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d526564757826636f6c6f723d373634414243266c6f676f3d5265647578266c6f676f436f6c6f723d464646464646266c6162656c3d\n[10]: https://redux.js.org/\n[11]: https://utilmond.com\n[12]: https://github.com/fum4/npm/actions\n[13]: https://camo.githubusercontent.com/a5f1968a99631284ca552953929cff7b6abb375853bb0944fae0dc520c45c73b/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f7374796c653d666f722d7468652d6261646765266d6573736167653d52656163742b526f7574657226636f6c6f723d434134323435266c6f676f3d52656163742b526f75746572266c6f676f436f6c6f723d464646464646266c6162656c3d\n[14]: https://reactrouter.com/en/main\n[15]: https://reactrouter.com/en/main/upgrading/v5#introduction\n","readmeFilename":"README.md"}