Lighter-than-air node.js server framework.
The main goal of
paperplane is to make building a
node.js server easy, without all of the configuration or imperative boilerplate required for other server frameworks. If you prefer to build apps with function composition or even a point-free style, then
paperplane is for you.
paperplane you get all of these out-of-the-box:
- pure, functional, Promise-based request handlers
- support for request handlers that return Algebraic Data Types - new in v2.0
- support for highly scalable serverless deployment - new in v2.1
- composeable json body parsing
- dead-simple routing functions
- several common response helpers
- json-formatted logging
- easily configurable CORS support
- plug-n-play static file serving
Let's try a quick Hello World example server. It accepts a
:name param in the url, and then includes that name in the
json response body.
const compose =const http =const json logger methods mount routes =const hello =message: `Hello !`const app =http
So simple and functional, with an easily readable routing table and pure functions for the route handler. If that sounds like fun to you, then read the Getting started guide or the API docs to learn more.
To help you learn the concepts used in paperplane, check out the demo application.
If you have docker installed, you can run the demo locally:
- Clone this repo
- If you're using Docker Desktop for Windows:
cp docker-compose.override.windows.yml docker-compose.override.yml