A little background
I've had experience building with Strapi
and Express.js
,
and what I really loved about both projects is their routing
and middleware systems.
These patterns offer several benefits, including:
- Enhanced code readability
- Increased modularity
- Cleaner API syntax
- More robust implementations
- Maximum code reusability
With the introduction of server actions
in Next.js
,
writing APIs has become much easier.
However, the advanced routing and middleware patterns
I valued in Strapi and Express.js are still not natively supported by Next.js.
A few months ago, when I started building a full-stack e-commerce website, I quickly realized the need for these abstractions. Unfortunately, I couldn't find any simple and useful solutions. So, I created a bare minimum implementation of this library for my project. Drawing on the lessons and ideas from that draft implementation, I developed this library with more advanced, type-safe features.
I've got more ideas but for now let's get started!
Aim
This library aims to simplify working with nextjs server actions. One can easily compose complex server actions using the provided abstractions.
Features
- 🔀 Action Routing
- ⚙️ Input Validation
- 🪶 Light weight
- 🗒️ Logging
- ⛓️ Middleware Chaining
- 🔥 Robust error handling
- ⚡ Snappy DX
- 🇹 Type Safety