https://github.com/stringepsilon/verlauf
history v4 reimplementation with some added features.
https://github.com/stringepsilon/verlauf
history history-api typescript
Last synced: 3 months ago
JSON representation
history v4 reimplementation with some added features.
- Host: GitHub
- URL: https://github.com/stringepsilon/verlauf
- Owner: StringEpsilon
- License: mit
- Created: 2020-07-19T22:16:51.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-07-18T23:09:08.000Z (over 2 years ago)
- Last Synced: 2025-08-30T11:16:38.144Z (5 months ago)
- Topics: history, history-api, typescript
- Language: TypeScript
- Homepage:
- Size: 1010 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README

[](https://bundlephobia.com/result?p=verlauf)
[](https://bundlephobia.com/result?p=verlauf)
# Verlauf
Is a reimplementation of history version 4, aiming to keep compatibility while still offering new features and bugfixes that can't be added to history@4 without breaking semantic versioning.
Major differences:
- Modular. You can implement your own middleware to interface with the browser history.
- Removed URL encoding and decoding, though you can work around that, if you need to.
- You can implement your own transition blocking logic.
- Single file bundling. Meaning you can't import `verlauf/createBrowserHistory`.
A complete overview of the differences can [be found here](./docs/differences.md), including all quirks.
## [Complete documentation here](./docs/index.md)
## Roadmap:
**Future**:
- [ ] Replace the code borrowed for unit tests.
- [ ] Make preserveSearch = true the default.
## Name
"Verlauf" is the german term for browser history.
## License
Verlauf is licensed under the MIT license.
The unit tests for createLocation were taken from the history v4 branch and amended. Original copyright: History contributors.
A helper function in basenameUtils (escapeRegex) was taken from the MDN and is licensed under the CC0.