paperplane

    3.1.2 • Public • Published

    paperplane

    Lighter-than-air node.js server framework.

    npm version npm downloads Build Status Coverage Status

    Documentation

    Introduction

    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.

    With paperplane you get all of these out-of-the-box:

    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 } = require('ramda')
    const http = require('http')
    const { json, logger, methods, mount, routes } = require('paperplane')
     
    const hello = req => ({
      message: `Hello ${req.params.name}!`
    })
     
    const app = routes({
      '/hello/:name': methods({
        GET: compose(json, hello)
      })
    })
     
    http.createServer(mount({ app })).listen(3000, logger)

    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.

    Example application

    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:

    1. Clone this repo
    2. If you're using Docker Desktop for Windows:
      • cp docker-compose.override.windows.yml docker-compose.override.yml
    3. docker-compose up
    4. http://localhost:3000

    Keywords

    none

    Install

    npm i paperplane

    DownloadsWeekly Downloads

    370

    Version

    3.1.2

    License

    MIT

    Unpacked Size

    75.3 kB

    Total Files

    47

    Last publish

    Collaborators

    • dbertram
    • flintinatux
    • kdstew
    • mgreystone
    • pklingem
    • spencerfdavis
    • tecnobrat