use yargs array for middlewares

This commit is contained in:
typicode
2016-08-17 22:30:53 +02:00
parent ba3e32ca70
commit e2d37ba67d
3 changed files with 15 additions and 38 deletions

View File

@ -30,7 +30,8 @@ module.exports = function () {
},
middlewares: {
alias: 'm',
description: 'Path to middlewares file'
array: true,
description: 'Paths to middleware files'
},
static: {
alias: 's',

View File

@ -110,14 +110,15 @@ module.exports = function (argv) {
}
// Load middlewares
var middlewares
if (argv.middlewares) {
if (!Array.isArray(argv.middlewares)) {
argv.middlewares = [argv.middlewares]
}
console.log(chalk.gray(' Loading', argv.middlewares))
var middlewares = argv.middlewares.map(function (m) { return require(path.resolve(m)) })
middlewares = argv.middlewares.map(function (m) {
console.log(chalk.gray(' Loading', m))
return require(path.resolve(m))
})
}
// Done
console.log(chalk.gray(' Done'))
// Create app and server

View File

@ -132,9 +132,9 @@ describe('cli', function () {
})
})
describe('db.json -m first-middleware.js -m second-middleware.js', function () {
describe('db.json -m first-middleware.js second-middleware.js', function () {
beforeEach(function (done) {
child = cli([dbFile, '-m', middlewareFiles.en, '-m', middlewareFiles.jp])
child = cli([dbFile, '-m', middlewareFiles.en, middlewareFiles.jp])
serverReady(PORT, done)
})
@ -184,7 +184,7 @@ describe('cli', function () {
})
})
describe('db.json --no-cors=true', function () {
describe('fixtures/seed.json --no-cors=true', function () {
beforeEach(function (done) {
child = cli(['fixtures/seed.js', '--no-cors=true'])
serverReady(PORT, done)
@ -198,8 +198,8 @@ describe('cli', function () {
.expect(200)
.end(function (err, res) {
if (err) {
return done(err)
} else if ('access-control-allow-origin' in res.headers) {
done(err)
} if ('access-control-allow-origin' in res.headers) {
done(new Error('CORS headers were not excluded from response'))
} else {
done()
@ -208,7 +208,7 @@ describe('cli', function () {
})
})
describe('db.json --no-gzip=true', function () {
describe('fixtures/seed.json --no-gzip=true', function () {
beforeEach(function (done) {
child = cli(['fixtures/seed.js', '--no-gzip=true'])
serverReady(PORT, done)
@ -218,11 +218,10 @@ describe('cli', function () {
var origin = 'http://example.com'
request.get('/posts')
.set('Origin', origin)
.expect(200)
.end(function (err, res) {
if (err) {
return done(err)
done(err)
} else if ('content-encoding' in res.headers) {
done(new Error('Content-Encoding is set to gzip'))
} else {
@ -232,30 +231,6 @@ describe('cli', function () {
})
})
describe('db.json --no-gzip=false', function () {
beforeEach(function (done) {
child = cli(['fixtures/seed.js', '--no-gzip=false'])
serverReady(PORT, done)
})
it('should set Content-Encoding to gzip', function (done) {
var origin = 'http://example.com'
request.get('/posts')
.set('Origin', origin)
.expect(200)
.end(function (err, res) {
if (err) {
return done(err)
} else if ('content-encoding' in res.headers) {
done()
} else {
done(new Error('Content-Encoding is not set to gzip'))
}
})
})
})
describe('--watch db.json -r routes.json', function () {
beforeEach(function (done) {
child = cli(['--watch', dbFile, '-r', routesFile])