Number one this week, Robot is a library to create finite state machines in a functional way.
The documentation explains clearly how state machines can help build more resilient applications, showing a very concrete example: an inline field to edit the title of a page.
Maintaining the state of your application by handling a collection of attributes and writing imperative code to toggle the attributes is error-prone because it’s hard to track all the possible combinations.
With Robot, you start by defining all the states of your application (given them a name) and the events that can trigger a transition from one state to another one.
Robot shines with a compact and elegant API and the way it handles asynchronous operations, using the invoke
keyword to trigger a transition when a Promise resolves.
Integrations as “hooks” are available for popular frameworks such as React or Preact.
Growing Fast This Week
1 | Robot A functional, immutable Finite State Machine library | Homepage | +47.8% | |
2 | Geometric.js A JavaScript library for doing geometry. | GitHub | +11.3% | |
3 | Analytics Lightweight analytics library for tracking events, page views... | Homepage | +10.2% | |
4 | NodeGUI A library for building cross-platform native desktop applications with Java... | Homepage | +7.6% | |
5 | node-rate-limiter-flexible Node.js rate limit requests by key and protection from DDoS and Brute-Force... | GitHub | +7.3% | |
6 | Goober A less than 1KB css-in-js alternative with a familiar API | GitHub | +6.8% | |
7 | oidc-provider OpenID Certified™ OAuth 2.0 Authorization Server implementation for Node.js | GitHub | +6.2% | |
8 | webhint A hinting engine for the web | Homepage | +6.0% | |
9 | Moveable Draggable! Resizable! Scalable! Rotatable! | Homepage | +5.8% | |
10 | React Hook Form React hooks for form validation without the hassle. | Homepage | +5.8% |
Trending This Week
1 | You Don't Know JS A book series on JavaScript | GitHub | +402 ★ | |
2 | Vue.js A progressive, incrementally-adoptable framework for building UI on the web | Homepage | +401 ★ | |
3 | React A declarative, efficient, and flexible JavaScript library for building user... | Homepage | +377 ★ | |
4 | Node.js Best Practices The largest Node.js best practices list (September 2019) | GitHub | +376 ★ | |
5 | Awesome Awesome lists about all kinds of interesting topics | GitHub | +375 ★ | |
6 | Svelte Cybernetically enhanced web apps | Homepage | +313 ★ | |
7 | Eclipse Theia A cloud & desktop IDE framework implemented in TypeScript. | Homepage | +304 ★ | |
8 | VS Code Visual Studio Code | Homepage | +296 ★ | |
9 | Angular One framework. Mobile & desktop. | Homepage | +287 ★ | |
10 | Gatsby Build blazing fast, modern apps and websites with React | Homepage | +279 ★ |
Any question or feedback? Reach us on GitHub.
Best of JavaScript is a project created by Michael Rambeau, made in Osaka, Japan.