Awesome
Cycle Utility Libraries
Motivation
I've used CycleJS for a while now. Although CycleJS has some very good ideas and practices, I've noticed that the current architectural decisions and solutions of Cycle apps can't respond to the complex requirements that I face every day in my work. I've also followed Cycle's Gitter channel quite intensively and noticed that I'm not the only one having these issues. That's why I'm releasing this collection of Cycle utility libraries: their goal is to provide some well-thought and battle-proven architectural choices I've succesfully used when building web applications (in personal and commercial projects).
The most important design goals of these utility libraries are:
- Consistency: whether you're building small or huge apps, the application structure and codebase should always follow same conventions and practices
- Minimalistic API surface: each library feature should have one, and only one, domain it solves. And it should solve it as well as possible.
- Performance: theory and practice are two different things. Something that looks good in paper doesn't work in practice. Library design should be such that user don't need to worry about performance or scalability
I hope by releasing these utility libraries, also other people can enjoy the results of my findings and hopefully give some new ideas that can added to these utilities.
Available packages
The following utilities are available as npm packages:
Package | Version | Description |
---|---|---|
dom [WIP] | Utilities for DOM manipulation | |
store | Utilities for state management and storage |
Dev quickstart
git clone git@github.com:milankinen/culli.git
cd culli && npm i
npm t
Creating new package
npm run newpkg
Updating dependencies
npm run upd
Commiting changes
npm run ci
ATTENTION: Please use this command instead of git commit
License
MIT