Package Exports
- generator-express-no-stress-typescript
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-typescript) 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-typescript
Typescript variant of generator-express-no-stress
Create awesome Express.js applications with best of breed tech including Typescipt, structured logging with Pino, API validation and interactive documentation via Swagger, environment based config with dotenv, and Backpack powered builds.
generator-express-no-stress-typescript gets you up and running in seconds. It's ridiculously easy to configure. Heck, just take the defaults. Start it. 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 the generator and smile :-D
Install
Requires Node 6 or greater
npm install -g yo generator-express-no-stress-typescript
Scaffold
yo express-no-stress-typescript myapp
Note: You may also use Yarn
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!
Static resources at http://localhost:3000
Interactive API doc at http://localhost:3000/api-explorer
Use Yarn
# scaffold
yo express-no-stress-typescript myapp --yarn
# start
cd myapp
npm start
What you get!
- Typescript - Typescript is a typed superset of JavaScript that compiles to plain JavaScript
- Express.js - Fast, unopinionated , minimalist web framework for Node.js
- Pino - Extremely fast node.js logger, inspired by Bunyan. It also includes a shell utility to pretty-print its log files
- 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