Skip to content

Latest commit

 

History

History
183 lines (130 loc) · 3.46 KB

README.md

File metadata and controls

183 lines (130 loc) · 3.46 KB

generator-api-ecma6

NPM version Dependency Status

Restify api with unit and integrated tests written in ecma6

Folder structure

.
├── src
|   ├── app
|   ├── common
|   ├── core
|   ├── domains
|   |   ├── {version}
|   |   |   ├── {domain}
|   |   |   |   ├── {subdomain}
|   |   |   |   |   ├── controllers
|   |   |   |   |   ├── repositories
|   |   |   |   |   ├── routes
|   |   |   |   |   ├── services
|   ├── router
|   ├── util
├── test
|   ├── integration
|   └── unit


app

Folder with server implementation

core

Folder with objects to be extendeds

features

Folder with your domains

  • version - api version
    • domain
      • controllers - controllers (control the request and response flow) to be used in routes
      • services - services (business logic) to be used in controllers
      • repositories - repositories (bring data) to be used in services
      • routes - routes (only call controller method) to be exported to index.js file

router

Route consolidator

util

Folder with helpers

Installation

First, install Yeoman and generator-api-ecma6 using npm (we assume you have pre-installed node.js).

npm install -g yo
npm install -g generator-api-ecma6

Then generate your new project:

yo api-ecma6

Features

Including

  • .gitignore
  • .eslintrc (airbnb)
  • .npmignore
  • .codeclimate.yml
  • .travis.yml
  • .editorconfig
  • nodemon
  • git-pre-push (run test)
  • git-pre-commit (run lint)
  • git-post-commit (run git status)

Usage

Scripts

  • Development

      npm run dev
    
    

    run nodemon src/index

      npm run dev:tests
    
    

    run nodemon and tests

  • Coverage

      npm run coverage
    
    

    run istanbul coverage and put result in coverage/

  • Code Climate

      npm run climate-coverage
    
    

    run coverage and send it to code-climate (you need to set CODECLIMATE_REPO_TOKEN as an enviroment variable)

  • Code Climate dotenv

      npm run climate-coverage-dotenv
    
    

    run coverage and send it to code-climate (you need to set CODECLIMATE_REPO_TOKEN in .env file)

  • Start

      npm start
    
    

    run node src/index.js

  • Dependencies Vulnerabilities

      npm run check-dependencies
    
    

    check dependencies vulnerabilities using nsp

  • Post install

      npm run postinstall
    
    

    call check-dependencies, this is will be called after every package installation

  • Linter

      npm run lint
    
    

    run eslint src according .eslintrc file

  • Tests

    • Unit

        npm run test:unit
      
      

      run mocha --opts test/mocha.opts test/unit

    • Integration

        npm run test:integration
      
      

      run mocha --opts test/mocha.opts test/integration

    • All

        npm test
      
      

      run mocha

License

MIT ©