StringEpsilon / verlauf

history v4 reimplementation with some added features.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CI Build npm bundle size npm bundle size

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, including all quirks.

Complete documentation here

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.

About

history v4 reimplementation with some added features.

License:MIT License


Languages

Language:TypeScript 99.5%Language:JavaScript 0.5%