It is a caching mechanism based on plugins. It's core concept is to stay simple, small and easily extendable using plugins.
write handlers for hook'able methods
extend API of cache object
stash-it can be used in various environments (client, server or native), depending on what adapter you use.
It's written in ES6, so if you want to use it in an environment that does not understands it, you need to compile it to older ES version (e.g. by using Babel).
It's also very small - 1.6kB minified and gzipped.
At one time, I was looking for a cache mechanism for node, that would allow me to add tags to stored items. I found some solutions. But when I dug deeper and began to find various modules that were either too big, had too few / many methods, were hard to use or were not maintained for a very long time.
Then I thought - if there isn't anything close to what I am looking for, why not create something of my own.
That's how stash-it came to be.