JSPM

  • Created
  • Published
  • Downloads 50
  • Score
    100M100P100Q86958F
  • License MIT

Create awesome APIs with ExpressJS and Swagger.

Package Exports

  • generator-express-no-stress

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (generator-express-no-stress) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

generator-express-no-stress

Create awesome Express applications with best of breed tech including ES.next via Babel, structured logging with Bunyan, API validation and interactive documentation via Swagger, environment based config, and Backpack powered builds.

generator-express-no-stress gets you up and running in seconds. It's ridiculously easy to configure. Heck, just take the defaults! Start the server! Write code!

This generator scaffolds a fully functioning REST API server complete with interactive documentation, API validation, structured logging, environment driven config, and more. Simply run generator and smile :-D

Install

npm install -g yo generator-express-no-stress

Scaffold

yo express-no-stress myapp

Run

Run in development mode:

cd myapp
npm run dev

Run in production mode:

npm compile
npm start

Deploy to the Cloud

e.g. CloudFoundry

cf push myapp

Try it!

Use Yarn

# scaffold
yo express-no-stress myapp --yarn 

# start
cd myapp
npm start

What you get!

  • Express.js - Fast, unopinionated , minimalist web framework for Node.js
  • Babel.js - Use new syntax, right now without waiting for support
  • Bunyan - a simple and fast JSON logging module for node.js services
  • dotenv - Loads environment variables from .env for nodejs projects
  • Backpack - a minimalistic build system for Node.js projects.
  • Swagger - is a simple yet powerful representation of your RESTful API.
  • SwaggerUI - dynamically generate beautiful documentation and sandbox from a Swagger-compliant API

API Validation

Simply describe your APIs with Swagger and automagically get for free:

  • Interactive documentation
  • API validation

Interactive API Doc

API Validation!

Oops! I the API caller forgot to pass a name field, no stress, we've got this!

Structured Logging

Structured logging out of the box!

raw

pretty

Structured logging pretty printed by default - great for dev!

API Validation Example

Simply describe your APIs with Swagger and automatically get:

  • API request validation
  • Interactive documentation

example

Swagger API spec

swagger: "2.0"
info:
  version: "1.0.0"
  title: My App
  description: My App is Cool
basePath: /api/v1
tags:
  - name: Examples
    description: Simple example endpoints

consumes:
  - application/json
produces:
  - application/json

definitions:
  ExampleBody:
    type: object
    title: example
    required:
      - name
    properties:
      name:
        type: string
        description: The example name

paths:
  /examples:
    get:
      tags:
        - Examples
      description: Fetch all examples
      responses:
        200:
          description: Returns all examples
    post:
      tags:
        - Examples
      description: Create a new example
      parameters:
        - name: body
          in: body
          description: number of items to skip
          required: true
          schema: 
            $ref: "#/definitions/ExampleBody"
      responses:
        200:
          description: Returns all examples

  /examples/{id}:
    get:
      tags:
        - Examples
      parameters:
        - name: id
          in: path
          required: true
          description: The id of the entity to retrieve
          type: integer
      responses:
        200:
          description: Return the example with the specified id
        404:
          description: Example not 

Invoke a POST request via the Interactive doc

License

MIT