Merge pull request #194 from andreruffert/master

feature: add optional `--quiet` argument
This commit is contained in:
typicode
2015-11-08 22:22:03 +01:00
4 changed files with 25 additions and 8 deletions

View File

@ -20,6 +20,7 @@
"method-override": "^2.1.2",
"morgan": "^1.3.1",
"node-uuid": "^1.4.2",
"object-assign": "^4.0.1",
"pluralize": "^1.1.2",
"underscore-db": "^0.9.1",
"update-notifier": "^0.5.0",

View File

@ -45,9 +45,14 @@ module.exports = function () {
alias: 'i',
description: 'Set database id property (e.g. _id)',
default: 'id'
},
quiet: {
alias: 'q',
description: 'Suppress log messages from output'
}
})
.boolean('watch')
.boolean('quiet')
.help('help').alias('help', 'h')
.version(pkg.version).alias('version', 'v')
.example('$0 db.json', '')

View File

@ -44,10 +44,13 @@ function createApp (source, object, routes, argv) {
var defaults
if (argv.static) {
defaults = jsonServer.defaults({
logger: !argv.quiet,
static: path.join(process.cwd(), argv.static)
})
} else {
defaults = jsonServer.defaults()
defaults = jsonServer.defaults({
logger: !argv.quiet
})
}
app.use(defaults)
@ -79,6 +82,11 @@ module.exports = function (argv) {
process.exit(1)
}
// noop log fn
if (argv.quiet) {
console.log = function () {}
}
console.log()
console.log(chalk.cyan(' \\{^_^}/ hi!'))

View File

@ -4,6 +4,7 @@ var express = require('express')
var logger = require('morgan')
var cors = require('cors')
var errorhandler = require('errorhandler')
var objectAssign = require('object-assign')
module.exports = function (opts) {
var userDir = path.join(process.cwd(), 'public')
@ -12,17 +13,19 @@ module.exports = function (opts) {
userDir :
defaultDir
opts = opts || { static: staticDir }
opts = objectAssign({ logger: true, static: staticDir }, opts)
var arr = []
// Logger
arr.push(logger('dev', {
skip: function (req, res) {
return process.env.NODE_ENV === 'test' ||
req.path === '/favicon.ico'
}
}))
if (opts.logger) {
arr.push(logger('dev', {
skip: function (req, res) {
return process.env.NODE_ENV === 'test' ||
req.path === '/favicon.ico'
}
}))
}
// Enable CORS for all the requests, including static files
arr.push(cors({ origin: true, credentials: true }))