@mantris/appify

6.2.2 • Public • Published
       d8888                   d8b  .d888
      d88888                   Y8P d88P"
     d88P888                       888
    d88P 888 88888b.  88888b.  888 888888 888  888
   d88P  888 888 "88b 888 "88b 888 888    888  888
  d88P   888 888  888 888  888 888 888    888  888
 d8888888888 888 d88P 888 d88P 888 888    Y88b 888
d88P     888 88888P"  88888P"  888 888     "Y88888
             888      888                      888
             888      888                 Y8b d88P
             888      888                  "Y88P"

MIT license JavaScript Style Guide NPM latest version Package minziped size NPM total downloads NPM monthly downloads NPM weekly downloads

Appify is a very opinionated Node.js API boilerplate as module shipped with out of the box integration with Sentry and DeepTrace.

Install

npm i @mantris/appify

Usage

// app.js

const appify = require('@mantris/appify')
const connect = require('some-db-lib')

module.exports = appify(async (api, config, environment) => {
  const db = await connect(config.db)

  api.get('/users/:id', (req, res) => {
    res
      .set({ 'x-environment': environment })
      .json(db.users.find(req.params.id))
  })
})
// config.js

const { env } = require('@mantris/appify')

module.exports = (environment) => ({
  db: {
    dbname: `mydb-${environment}`,
    dbhost: env.get('DB_HOST', 'mongo://localhost:27107')
  }
})
appify --debug --pretty-errors --config config.js app.js

Environment variables

Setting Vars Type Default value
Your app's version/release GIT_RELEASE string null
Release commit GIT_COMMIT string null
DeepTrace's DSN APPIFY_DEEPTRACE_DSN or DEEPTRACE_DSN string null
DeepTrace's agent timeout APPIFY_DEEPTRACE_TIMEOUT or DEEPTRACE_TIMEOUT number 3000
Morgan request logger format APPIFY_MORGAN_FORMAT string :method :url :status :: :response-time ms :: :res[deeptrace-id]
Sentry's DSN APPIFY_SENTRY_DSN or SENTRY_DSN string null
HTTP Server binding socket APPIFY_SERVER_BINDING_SOCKET string undefined
HTTP Server binding IP APPIFY_SERVER_BINDING_IP string 0.0.0.0
HTTP Server binding port APPIFY_SERVER_BINDING_PORT number 3000
Use HTTP X-Forwarded-For IP as user IP APPIFY_SERVER_SPDY_X_FORWARDED_FOR boolean true
Send HTTP data as plain text APPIFY_SERVER_SPDY_PLAIN boolean true
Enable SSL APPIFY_SERVER_SPDY_SSL boolean false
Path to SSL key APPIFY_SERVER_SSL_KEY string undefined
Path to SSL cert APPIFY_SERVER_SSL_CERT string undefined

Package Sidebar

Install

npm i @mantris/appify

Weekly Downloads

0

Version

6.2.2

License

MIT

Unpacked Size

24.3 kB

Total Files

28

Last publish

Collaborators

  • rwillians