Skip to content

davidetan/fastify-cli

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fastify-cli

Greenkeeper badge

js-standard-style Build Status

Command line tools for fastify. Write and run a route with one single command!

Install

npm install fastify-cli --global

Usage

Example:

// plugin.js
module.exports = function (fastify, options, next) {
  fastify.get('/', function (req, reply) {
    reply.send({ hello: 'world' })
  })
  next()
}

You can easily run it with:

$ fastify plugin.js

If fastify has been installed local to plugin.js that copy will be used instead of the global copy included with fastify-cli.

You can use async functions too, and make your plugin more concise:

// async-await-plugin.js
module.exports = async function (fastify, options) {
  fastify.get('/', async function (req, reply) {
    return { hello: 'world' }
  })
}

CLI options:

Usage: fastify [opts] <file>

  -p, --port
      Port to listen on (default to 3000)

  -a, --address
      Address to listen on

  -s, --socket
      Socket to listen on

  -l, --log-level
      Log level (default to fatal)

  -P, --pretty-logs
      Prints pretty logs

  -o, --options
      Use custom options

  -p, --prefix
      Set the prefix

  -h, --help
      Show this help message

If you want to use custom options, just export an options object with your route and run the cli command with the --options flag.

// plugin.js
module.exports = function (fastify, options, next) {
  fastify.get('/', function (req, reply) {
    reply.send({ hello: 'world' })
  })
  next()
}

module.exports.options = {
  https: {
    key: 'key',
    cert: 'cert'
  }
}

Contributing

If you feel you can help in any way, be it with examples, extra testing, or new features please open a pull request or open an issue.

The code follows the Standard code style. js-standard-style

License

MIT

The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and non infringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

Copyright © 2016-2017 Tomas Della Vedova

About

Run a fastify route with one command!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%