An open API service indexing awesome lists of open source software.

https://github.com/raphaelameaume/lemonade

Functional lightweight toolbox for the web 🍋
https://github.com/raphaelameaume/lemonade

Last synced: 3 months ago
JSON representation

Functional lightweight toolbox for the web 🍋

Awesome Lists containing this project

README

        

# lemonade 🍋

> Functional lightweight toolbox for the web

`lemonade-*` are a bunch of tools made to build websites with a strong focus on performance. They are all made following few principes:
- Avoid dependencies as much as possible
- Keep the package size as low as possible
- Support functions and classes
- Make it work with dynamic imports
- Write for the future, not the past

## Tools

So far, `lemonade` is made of:
- [lemonade-events](https://github.com/raphaelameaume/lemonade-events): Minimal event system 👀
- [lemonade-helpers](https://github.com/raphaelameaume/lemonade-helpers): Utility functions for browser and dom events ⚙️
- [lemonade-spring](https://github.com/raphaelameaume/lemonade-spring): Simple spring animations 🌱
- [lemonade-math](https://github.com/raphaelameaume/lemonade-math): Math utility functions 🧮
- [lemonade-component](https://github.com/raphaelameaume/lemonade-component): (alpha) Minimal component library 🏷
- [lemonade-router](https://github.com/raphaelameaume/lemonade-router): (beta) Minimal routing library 🧭

## Release roadmap

- `lemonade-tween`: A lightweight animation engine with an API similar to `gsap`
- `lemonade-loader`: A WebWorker file loader with built-in cache

## Motivation

Over the last years, I built a set of tools embracing classes and inheritage which grew on verbosity and complexity. For the last year, I tried to apply a more composable approach to my code and I found myself writing more reusable, less verbose and complicated code. I also got sick of having a hundred of packages I didn't know and care about in my `node_modules` folder so this is my attempt to avoid that.

## Why lemonade ?

Because it's fresh!