diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 00000000..72c973f2
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,38 @@
+# Logs
+logs
+*.log
+*.log*
+
+# Runtime data
+pids
+*.pid
+*.seed
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+
+# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Compiled binary addons (http://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directory
+# Deployed apps should consider commenting this line out:
+# see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git
+node_modules
+
+sftp-config.json
+
+# Compiled results
+client/js/templates.js
+client/css/app.css
+
+public/images
+public/ical/ical.ics
+
+# Don't send .md files to production env
+*.md
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index c09642ca..c6cab2f6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,6 @@
language: node_js
node_js:
- - "0.10"
+ - "6"
services:
- mongodb
before_script:
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 00000000..aa814538
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,27 @@
+FROM mhart/alpine-node:6.9.5
+
+LABEL Description="The awesome web app that supports awesome events" Vendor="SINFO" Version="0.0"
+
+WORKDIR /usr/src/app
+
+ENV NODE_ENV production
+
+# Build the npm modules.
+COPY package.json package.json
+
+# We need to have native dependencies (e.g to install node-gyp)
+RUN apk add --no-cache make gcc g++ python git bash
+
+RUN npm install && \
+ npm cache clean && \
+ npm uninstall -g npm
+
+# We don't need this anymore
+RUN apk del git python g++ gcc make
+
+# Add the remaining source (excluding `./node_modules` thanks to `.dockerignore`).
+ADD . /usr/src/app
+
+EXPOSE 8080
+
+CMD [ "node", "server/index.js" ]
diff --git a/README.md b/README.md
index 24d2b4b7..c4b77c02 100644
--- a/README.md
+++ b/README.md
@@ -11,6 +11,6 @@ The backend is based on hapi, and the frontend initially was Angular but we're r
### Installation:
1. Clone the repo: git clone git@github.com:sinfo/eventdeck.git
2. Enter the directory: cd eventdeck
- 3. Install the dependencies: npm install
or npm i
+ 3. Install the dependencies: npm install
or yarn
4. Set the environment variables used on config.js
- 5. Start the server: npm start
+ 5. Start the server: npm start
or yarn start
diff --git a/config.js b/config.js
index bfa984fa..ec0263ab 100644
--- a/config.js
+++ b/config.js
@@ -1,13 +1,12 @@
-var pack = require('./package')
-var path = require('path')
-var bunyanLogentries = require('bunyan-logentries')
+const pack = require('./package')
+const path = require('path')
+const bunyanLogentries = require('bunyan-logentries')
-var config = {
+const config = {
url: process.env.EVENTDECK_URL || 'http://localhost:8080',
host: process.env.EVENTDECK_HOST || 'localhost',
port: process.env.EVENTDECK_PORT || 8080,
- isDev: process.env.NODE_ENV !== 'production',
- isSecure: process.env.EVENTDECK_IS_SECURE === true || process.env.EVENTDECK_IS_SECURE === 'true'
+ isDev: process.env.NODE_ENV !== 'production'
}
config.cannon = {
@@ -57,7 +56,9 @@ config.bunyan = {
config.swagger = {
pathPrefixSize: 2,
- apiVersion: pack.version,
+ info: {
+ version: pack.version
+ },
basePath: config.url
}
diff --git a/package.json b/package.json
index 9095527d..8400abb1 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,10 @@
"name": "eventdeck",
"version": "0.0.0",
"description": "eventdeck",
- "main": "index.js",
+ "main": "server/index.js",
+ "engines": {
+ "node": ">=6.9.0"
+ },
"scripts": {
"start": "node server/index.js | bunyan",
"mon": "nodemon server/index.js --ignore client/ | bunyan",
@@ -14,8 +17,7 @@
"standard": {
"ignore": [
"client/js/templates.js",
- "client/js/ink-all.js",
- "server/scripts/*"
+ "client/js/ink-all.js"
]
},
"pre-commit": [
@@ -31,7 +33,8 @@
"João Antunes ",
"Diogo Pais ",
"Duarte Paiva ",
- "Francisco Gonçalves "
+ "Francisco Gonçalves ",
+ "Carlos Faria "
],
"license": "MIT",
"bugs": {
@@ -66,53 +69,49 @@
"ampersand-view-switcher": "^1.1.2",
"andlog": "^1.0.0",
"async": "^0.2.10",
- "boom": "^2.5.1",
- "bows": "^1.3.2",
- "cookie-getter": "0.0.2",
+ "boom": "^4.2.0",
+ "bows": "^1.6.0",
+ "bunyan": "^1.8.5",
+ "bunyan-logentries": "~1.0.0",
+ "cookie-getter": "1.0.1",
"cron": "~1.0.4",
- "domify": "^1.3.0",
- "domready": "^1.0.5",
+ "domify": "^1.4.0",
+ "domready": "^1.0.8",
"emailjs": "~0.3.8",
"favicon-setter": "^0.1.1",
- "handlebars": "^2.0.0",
- "hapi": "^7.5.3",
- "hapi-auth-cookie": "^1.4.2",
- "hapi-swagger": "^0.4.2",
+ "handlebars": "^4.0.0",
+ "hapi": "^16.1.0",
+ "hapi-auth-cookie": "^6.1.1",
+ "hapi-swagger": "^7.6.0",
"hoek": "^2.9.0",
"icalendar": "^0.7.1",
- "joi": "^4.9.0",
+ "inert": "^4.1.0",
+ "joi": "^10.2.0",
"jquery": "^2.1.1",
- "lout": "^5.1.2",
+ "lout": "^9.2.0",
"mailcomposer": "~0.2.12",
- "mailgun": "^0.4.3",
+ "mailgun": "^0.5.0",
"markdown": "~0.5.0",
- "marked": "^0.3.3",
- "moment": "^2.8.4",
- "mongoose": "^3.9.7",
- "moonboots_hapi": "^3.0.2",
- "pmx": "^0.3.20",
+ "marked": "^0.3.6",
+ "moment": "^2.17.1",
+ "mongoose": "^4.8.1",
+ "moonboots_hapi": "^4.0.0",
"rand-token": "~0.2.1",
- "request": "^2.58.0",
+ "request": "^2.79.0",
"slug": "^0.7.1",
- "socket.io": "^1.2.0",
- "socket.io-client": "^1.2.0",
- "stylizer": "^1.2.0",
+ "socket.io": "^1.7.2",
+ "socket.io-client": "^1.7.2",
+ "stylizer": "^2.1.0",
"templatizer": "^1.5.2",
- "underscore": "^1.6.0"
+ "underscore": "^1.8.3",
+ "vision": "^4.1.1"
},
"devDependencies": {
- "bunyan": "~1.2.1",
- "bunyan-logentries": "~1.0.0",
- "code": "~1.2.0",
- "lab": "~5.0.1",
- "nodemon": "^1.7.1",
- "standard": "^7.1.2",
- "pre-commit": "^1.1.3",
- "snazzy": "^4.0.0"
- },
- "standard": {
- "ignore": [
- "/client/js/ink-all.js"
- ]
+ "code": "~4.0.0",
+ "lab": "^12.1.0",
+ "nodemon": "^1.11.0",
+ "pre-commit": "^1.2.2",
+ "snazzy": "^6.0.0",
+ "standard": "^8.6.0"
}
}
diff --git a/server/db/access.js b/server/db/access.js
index a7a851c5..62f7edd6 100644
--- a/server/db/access.js
+++ b/server/db/access.js
@@ -1,6 +1,6 @@
-var mongoose = require('mongoose')
+const mongoose = require('mongoose')
-var schema = new mongoose.Schema({
+let schema = new mongoose.Schema({
member: String,
thread: String,
last: Date
diff --git a/server/db/chat.js b/server/db/chat.js
index 09f7e4fd..5b77260f 100644
--- a/server/db/chat.js
+++ b/server/db/chat.js
@@ -1,6 +1,6 @@
-var mongoose = require('mongoose')
+const mongoose = require('mongoose')
-var schema = new mongoose.Schema({
+const schema = new mongoose.Schema({
id: {type: String, unique: true},
name: String,
members: [String],
diff --git a/server/db/comment.js b/server/db/comment.js
index 5bf27297..5781ba74 100644
--- a/server/db/comment.js
+++ b/server/db/comment.js
@@ -1,6 +1,6 @@
-var mongoose = require('mongoose')
+const mongoose = require('mongoose')
-var schema = new mongoose.Schema({
+let schema = new mongoose.Schema({
thread: String,
subthread: String,
member: String,
diff --git a/server/db/index.js b/server/db/index.js
index 9c9d038e..f7d0cd0c 100644
--- a/server/db/index.js
+++ b/server/db/index.js
@@ -1,15 +1,15 @@
-var mongoose = require('mongoose')
-var mongoUrl = require('../../config').mongo.url
-var log = require('../helpers/logger')
+const mongoose = require('mongoose')
+const mongoUrl = require('../../config').mongo.url
+const log = require('../helpers/logger')
mongoose.connect(mongoUrl)
-var db = mongoose.connection
+const db = mongoose.connection
-db.on('error', function (err) {
+db.on('error', (err) => {
log.error('Connection error:', err)
})
-db.once('open', function () {
+db.once('open', () => {
log.info('Successfuly connected to mongoDB')
})
diff --git a/server/db/member.js b/server/db/member.js
index 126c6bbe..60e1815e 100644
--- a/server/db/member.js
+++ b/server/db/member.js
@@ -1,6 +1,6 @@
-var mongoose = require('mongoose')
+const mongoose = require('mongoose')
-var schema = new mongoose.Schema({
+const schema = new mongoose.Schema({
id: {type: String, unique: true},
name: String,
img: String,
diff --git a/server/helpers/dupKeyParser.js b/server/helpers/dupKeyParser.js
index c440519e..95ff22aa 100644
--- a/server/helpers/dupKeyParser.js
+++ b/server/helpers/dupKeyParser.js
@@ -1,6 +1,6 @@
-module.exports = function (err) {
+module.exports = (err) => {
// this example is showing how to get the field `email` out of the err message
- var field = err.split('index: deck.')[1].split('.$')[1]
+ let field = err.split('index: deck.')[1].split('.$')[1]
// now we have `email_1 dup key`
field = field.split(' dup key')[0]
field = field.substring(0, field.lastIndexOf('_')) // returns email
diff --git a/server/index.js b/server/index.js
index f135563e..145e1ac2 100644
--- a/server/index.js
+++ b/server/index.js
@@ -1,23 +1,32 @@
-// init http monitoring
-require('pmx').init()
+const Hapi = require('hapi')
+const Inert = require('inert')
+const Vision = require('vision')
+const HapiSwagger = require('hapi-swagger')
+const Moonboots = require('moonboots_hapi')
+const HapiAuthCookie = require('hapi-auth-cookie')
+const IO = {server: require('socket.io'), client: require('socket.io-client')}
+const log = require('./helpers/logger')
+const config = require('../config')
+const path = require('path')
+const cookieConfig = config.cookie
+const moonbootsConfig = require('../moonbootsConfig')
-var Hapi = require('hapi')
-var IO = {server: require('socket.io'), client: require('socket.io-client')}
-var log = require('./helpers/logger')
-var config = require('../config')
-var path = require('path')
-var cookieConfig = config.cookie
-var moonbootsConfig = require('../moonbootsConfig')
+const cookieName = 'eventdeck-config'
-var cookieName = 'eventdeck-config'
+log.info({env: process.env.NODE_ENV}, '### Starting EventDeck ###')
-log.error({ env: process.env.NODE_ENV }, '### Starting EventDeck ###')
+const server = module.exports.hapi = new Hapi.Server()
+server.connection({
+ host: config.host,
+ port: config.port
+})
-var server = module.exports.hapi = new Hapi.Server(config.host, config.port, { cors: config.cors })
+// TODO: CORS in new Hapi version is disabled - it's needed ?
+// { cors: config.cors }
require('./db')
-var internals = {}
+let internals = {}
// set clientconfig cookie
internals.configStateConfig = {
encoding: 'none',
@@ -29,44 +38,44 @@ server.state(cookieName, internals.configStateConfig)
internals.clientConfig = JSON.stringify(config.client)
server.ext('onPreResponse', function (request, reply) {
if (!request.state.config && !request.response.isBoom) {
- var response = request.response
+ let response = request.response
return reply(response.state(cookieName, encodeURIComponent(internals.clientConfig)))
}
return reply()
})
-// Set view template engine
-server.views({
- engines: {
- hbs: require('handlebars')
- },
- path: path.join(__dirname, 'templates')
-})
-
-server.pack.register([
- { plugin: require('hapi-swagger'), options: config.swagger },
- { plugin: require('moonboots_hapi'), options: moonbootsConfig },
- require('hapi-auth-cookie'),
- { plugin: require('./plugins/images'), options: config.images },
- { plugin: require('./plugins/templates'), options: config.templates }
-],
- function (err) {
+server.register([
+ Inert,
+ Vision,
+ {register: HapiSwagger, options: config.swagger},
+ {register: Moonboots, options: moonbootsConfig},
+ {register: HapiAuthCookie},
+ {register: require('./plugins/images'), options: config.images},
+ {register: require('./plugins/templates'), options: config.templates}],
+ (err) => {
if (err) throw err
+ server.views({
+ engines: {
+ hbs: require('handlebars')
+ },
+ path: path.join(__dirname, 'templates')
+ })
+
server.auth.strategy('session', 'cookie', {
cookie: cookieConfig.name,
password: cookieConfig.password,
ttl: 2592000000,
/* appendNext: true,
- redirectTo: '/login',
- redirectOnTry: true,
- isSecure: false,
- isHttpOnly: false, */
+ redirectTo: '/login',
+ redirectOnTry: true,
+ isSecure: false,
+ isHttpOnly: false, */
isSecure: false
})
- var webSocket = {}
+ let webSocket = {}
webSocket.server = IO.server.listen(server.listener)
log.info('Websocket server started at: ' + server.info.uri)
webSocket.client = IO.client('http://localhost:' + server.info.port)
@@ -82,10 +91,10 @@ server.pack.register([
if (!module.parent) {
server.start(function () {
log.info('Server started at: ' + server.info.uri)
- // var crono = require('./scripts/crono')
- // var reminders = require('./resources/reminder')
- // reminders(null, function(stuff){})
- // crono.reminder.start()
+ // var crono = require('./scripts/crono')
+ // var reminders = require('./resources/reminder')
+ // reminders(null, function(stuff){})
+ // crono.reminder.start()
})
}
}
diff --git a/server/resources/access.js b/server/resources/access.js
index 04725b38..c5384216 100644
--- a/server/resources/access.js
+++ b/server/resources/access.js
@@ -1,14 +1,14 @@
-var Boom = require('boom')
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var threadFromPath = require('../helpers/threadFromPath')
-var Access = require('../db/access')
+const Boom = require('boom')
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const threadFromPath = require('../helpers/threadFromPath')
+const Access = require('../db/access')
server.method('access.save', save, {})
server.method('access.get', get, {})
function save (memberId, path, id, cb) {
- var thread = ''
+ let thread = ''
if (typeof (id) === 'function') {
thread = path
cb = id
@@ -16,16 +16,16 @@ function save (memberId, path, id, cb) {
thread = threadFromPath(path, id)
}
- var filter = { member: memberId, thread: thread }
- var access = {
+ const filter = { member: memberId, thread }
+ const access = {
member: memberId,
- thread: thread,
+ thread,
last: Date.now()
}
- Access.findOneAndUpdate(filter, access, {upsert: true}, function (err, savedAccess) {
+ Access.findOneAndUpdate(filter, access, {upsert: true}, (err, savedAccess) => {
if (err) {
- log.error({err: err, access: access})
+ log.error({err, access})
return cb(Boom.internal())
}
@@ -34,7 +34,7 @@ function save (memberId, path, id, cb) {
}
function get (memberId, path, id, cb) {
- var thread = ''
+ let thread = ''
if (typeof (id) === 'function') {
thread = path
cb = id
@@ -42,11 +42,11 @@ function get (memberId, path, id, cb) {
thread = threadFromPath(path, id)
}
- var filter = { member: memberId, thread: thread }
+ const filter = { member: memberId, thread }
- Access.findOne(filter, function (err, savedAccess) {
+ Access.findOne(filter, (err, savedAccess) => {
if (err) {
- log.error({err: err, access: filter})
+ log.error({err, access: filter})
return cb(Boom.internal())
}
diff --git a/server/resources/auth.js b/server/resources/auth.js
index 6b0cb0dd..686bccd9 100644
--- a/server/resources/auth.js
+++ b/server/resources/auth.js
@@ -1,27 +1,27 @@
-var Boom = require('boom')
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var urlPrefix = require('../../config').url
-var Request = require('request')
-var facebookConfig = require('../../config').facebook
+const Boom = require('boom')
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const urlPrefix = require('../../config').url
+const Request = require('request')
+const facebookConfig = require('../../config').facebook
server.method('auth.createCode', createCode, {})
server.method('auth.verifyCode', verifyCode, {})
server.method('auth.verifyFacebook', verifyFacebook, {})
function createCode (memberId, cb) {
- server.methods.member.createLoginCode(memberId, function (err, result) {
+ server.methods.member.createLoginCode(memberId, (err, result) => {
if (err) {
log.error({err: err, member: memberId}, 'error creating code')
return cb(err)
}
- var member = result.member
- var loginCode = result.loginCode
+ const member = result.member
+ const loginCode = result.loginCode
- log.info({member: memberId, loginCode: loginCode}, 'login code created')
+ log.info({member: memberId, loginCode}, 'login code created')
- var message = {
+ const message = {
to: member.name + '<' + member.mails.main + '>',
subject: '[SINFO] Login code for Deck!',
text: 'Hey ' + member.name + '!\n\n Here is your code for logging in on EventDeck: ' + loginCode + '\n\n' + urlPrefix + '/login/' + member.id + '/' + loginCode
@@ -30,7 +30,7 @@ function createCode (memberId, cb) {
server.methods.email.send(message, function (err) {
if (err) {
log.warn(err)
- log.error({err: err, member: memberId}, 'error sending code')
+ log.error({err, member: memberId}, 'error sending code')
return cb(Boom.internal('error sending email'))
}
cb(null, member)
@@ -39,18 +39,22 @@ function createCode (memberId, cb) {
}
function verifyCode (memberId, loginCode, cb) {
- server.methods.member.get(memberId, '', function (err, member) {
+ server.methods.member.get(memberId, '', (err, member) => {
if (err) {
- log.error({err: err, member: memberId}, 'error finding member')
+ log.error({err, member: memberId}, 'error finding member')
return cb(err)
}
- var index = member.loginCodes.map(function (o) {
+ const index = member.loginCodes.map((o) => {
return o.code
}).indexOf(loginCode)
if (index === -1 || member.loginCodes[index].created - new Date() > 5 * 60 * 1000) {
- log.warn({member: memberId, loginCode: loginCode, loginCodes: member.loginCodes}, '[auth] member tried to login with an invalid code')
+ log.warn({
+ member: memberId,
+ loginCode: loginCode,
+ loginCodes: member.loginCodes
+ }, '[auth] member tried to login with an invalid code')
return cb(Boom.unauthorized())
}
cb(null, member)
@@ -60,31 +64,30 @@ function verifyCode (memberId, loginCode, cb) {
function verifyFacebook (facebookUserId, facebookUserToken, cb) {
Request.get('https://graph.facebook.com/debug_token?input_token=' + facebookUserToken + '&access_token=' + facebookConfig.appId + '|' + facebookConfig.appSecret, {
json: true
- },
- function (error, response, result) {
- if (error || response.statusCode !== 200) {
- log.error({err: error, member: facebookUserToken}, 'error logging in with facebook')
- return cb(Boom.unauthorized(error))
- }
+ }, (error, response, result) => {
+ if (error || response.statusCode !== 200) {
+ log.error({err: error, member: facebookUserToken}, 'error logging in with facebook')
+ return cb(Boom.unauthorized(error))
+ }
- if (!result.data || result.data.app_id !== facebookConfig.appId || result.data.user_id !== facebookUserId) {
- log.error({
- 'result-app-id': result.data.app_id,
- 'config-app-id': facebookConfig.appId,
- 'result-user-id': result.data.user_id,
- 'requested-user-id': facebookUserId
- }, 'error logging in with facebook')
+ if (!result.data || result.data.app_id !== facebookConfig.appId || result.data.user_id !== facebookUserId) {
+ log.error({
+ 'result-app-id': result.data.app_id,
+ 'config-app-id': facebookConfig.appId,
+ 'result-user-id': result.data.user_id,
+ 'requested-user-id': facebookUserId
+ }, 'error logging in with facebook')
- return cb(Boom.unauthorized())
- }
+ return cb(Boom.unauthorized())
+ }
- server.methods.member.get(facebookUserId, '', function (err, member) {
- if (err) {
- log.error({err: err, facebookUserId: facebookUserId}, 'error finding member')
- return cb(err)
- }
+ server.methods.member.get(facebookUserId, '', (err, member) => {
+ if (err) {
+ log.error({err, facebookUserId}, 'error finding member')
+ return cb(err)
+ }
- cb(null, member)
- })
+ cb(null, member)
})
+ })
}
diff --git a/server/resources/authorization.js b/server/resources/authorization.js
index 37414e52..8b43c646 100644
--- a/server/resources/authorization.js
+++ b/server/resources/authorization.js
@@ -1,10 +1,10 @@
-var Boom = require('boom')
-var server = require('../index').hapi
+const Boom = require('boom')
+const server = require('../index').hapi
server.method('authorization.isAdmin', isAdmin, {})
function isAdmin (member, cb) {
- var isAuthorized = member.participations.filter(function (participation) {
+ let isAuthorized = member.participations.filter((participation) => {
return participation.role === 'coordination'
}).length > 0
diff --git a/server/resources/chat.js b/server/resources/chat.js
index 04b9f3aa..cbfff51a 100644
--- a/server/resources/chat.js
+++ b/server/resources/chat.js
@@ -1,8 +1,8 @@
-var Boom = require('boom')
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var parser = require('../helpers/fieldsParser')
-var Chat = require('../db/chat')
+const Boom = require('boom')
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const parser = require('../helpers/fieldsParser')
+const Chat = require('../db/chat')
server.method('chat.create', create, {})
server.method('chat.update', update, {})
@@ -13,21 +13,19 @@ server.method('chat.message.add', addMessage, {})
server.method('chat.message.remove', removeMessage, {})
function create (chat, cb) {
- Chat.create(chat, function (err, _chat) {
+ Chat.create(chat, (err, _chat) => {
if (err) {
- log.error({err: err, chat: chat}, 'error creating chat')
+ log.error({err, chat}, 'error creating chat')
return cb(Boom.internal())
}
-
cb(null, _chat)
})
}
function update (id, chat, cb) {
- var filter = {id: id}
- Chat.findOneAndUpdate(filter, chat, function (err, _chat) {
+ Chat.findOneAndUpdate({id: id}, chat, {new: true}, (err, _chat) => {
if (err) {
- log.error({err: err, chat: id}, 'error updating chat')
+ log.error({err, chat: id}, 'error updating chat')
return cb(Boom.internal())
}
if (!_chat) {
@@ -41,12 +39,11 @@ function update (id, chat, cb) {
function get (id, query, cb) {
cb = cb || query
- var filter = {id: id}
- var fields = parser(query.fields)
+ const fields = parser(query.fields)
- Chat.findOne(filter, fields, function (err, chat) {
+ Chat.findOne({id: id}, fields, (err, chat) => {
if (err) {
- log.error({err: err, chat: id}, 'error getting chat')
+ log.error({err, chat: id}, 'error getting chat')
return cb(Boom.internal())
}
if (!chat) {
@@ -61,14 +58,13 @@ function get (id, query, cb) {
function list (query, cb) {
cb = cb || query // fields is optional
- var filter = {}
- var fields = parser(query.fields)
- var options = {
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Chat.find(filter, fields, options, function (err, chats) {
+ Chat.find({}, fields, options, (err, chats) => {
if (err) {
log.error({err: err}, 'error getting all chats')
return cb(Boom.internal())
@@ -79,10 +75,9 @@ function list (query, cb) {
}
function remove (id, cb) {
- var filter = {id: id}
- Chat.findOneAndRemove(filter, function (err, chat) {
+ Chat.findOneAndRemove({id: id}, (err, chat) => {
if (err) {
- log.error({err: err, chat: id}, 'error deleting chat')
+ log.error({err, chat: id}, 'error deleting chat')
return cb(Boom.internal())
}
if (!chat) {
@@ -95,11 +90,10 @@ function remove (id, cb) {
}
function addMessage (id, message, cb) {
- var filter = {id: id}
- var update = {$push: {messages: message}}
- Chat.findOneAndUpdate(filter, update, function (err, chat) {
+ const update = {$push: {messages: message}}
+ Chat.findOneAndUpdate({id: id}, update, (err, chat) => {
if (err) {
- log.error({err: err, chat: id}, 'error adding chat message')
+ log.error({err, chat: id}, 'error adding chat message')
return cb(Boom.internal())
}
if (!chat) {
@@ -112,11 +106,10 @@ function addMessage (id, message, cb) {
}
function removeMessage (id, message, cb) {
- var filter = {id: id}
- var update = {$pull: {messages: message}}
- Chat.findOneAndUpdate(filter, update, function (err, chat) {
+ const update = {$pull: {messages: message}}
+ Chat.findOneAndUpdate({id: id}, update, (err, chat) => {
if (err) {
- log.error({err: err, chat: id}, 'error removing chat message')
+ log.error({err, chat: id}, 'error removing chat message')
return cb(Boom.internal())
}
if (!chat) {
diff --git a/server/resources/comment.js b/server/resources/comment.js
index faf80478..d3e7169c 100644
--- a/server/resources/comment.js
+++ b/server/resources/comment.js
@@ -1,9 +1,9 @@
-var Boom = require('boom')
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var parser = require('../helpers/fieldsParser')
-var threadFromPath = require('../helpers/threadFromPath')
-var Comment = require('../db/comment')
+const Boom = require('boom')
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const parser = require('../helpers/fieldsParser')
+const threadFromPath = require('../helpers/threadFromPath')
+const Comment = require('../db/comment')
server.method('comment.create', create, {})
server.method('comment.update', update, {})
@@ -20,9 +20,9 @@ function create (comment, memberId, cb) {
comment.posted = Date.now()
comment.updated = Date.now()
- Comment.create(comment, function (err, _comment) {
+ Comment.create(comment, (err, _comment) => {
if (err) {
- log.error({err: err, comment: comment}, 'error creating comment')
+ log.error({err, comment}, 'error creating comment')
return cb(Boom.internal())
}
@@ -32,11 +32,10 @@ function create (comment, memberId, cb) {
function update (id, comment, cb) {
comment.updated = Date.now()
- var filter = {_id: id}
- Comment.findOneAndUpdate(filter, comment, function (err, _comment) {
+ Comment.findByIdAndUpdate(id, comment, {new: true}, (err, _comment) => {
if (err) {
- log.error({err: err, comment: id}, 'error updating comment')
+ log.error({err, comment: id}, 'error updating comment')
return cb(Boom.internal())
}
if (!_comment) {
@@ -50,12 +49,11 @@ function update (id, comment, cb) {
function get (id, query, cb) {
cb = cb || query
- var filter = {_id: id}
- var fields = parser(query.fields)
+ const fields = parser(query.fields)
- Comment.findOne(filter, fields, function (err, comment) {
+ Comment.findById(id, fields, (err, comment) => {
if (err) {
- log.error({err: err, comment: id}, 'error getting comment')
+ log.error({err, comment: id}, 'error getting comment')
return cb(Boom.internal())
}
if (!comment) {
@@ -69,16 +67,15 @@ function get (id, query, cb) {
function getByMember (memberId, query, cb) {
cb = cb || query
- var filter = {member: memberId}
- var fields = parser(query.fields)
- var options = {
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Comment.find(filter, fields, options, function (err, comments) {
+ Comment.find({member: memberId}, fields, options, (err, comments) => {
if (err) {
- log.error({err: err, member: memberId}, 'error getting comments')
+ log.error({err, member: memberId}, 'error getting comments')
return cb(Boom.internal())
}
@@ -88,12 +85,12 @@ function getByMember (memberId, query, cb) {
function getByThread (path, id, query, cb) {
cb = cb || query
- var thread = threadFromPath(path, id)
- var filter = {thread: thread}
- var fields = parser(query.fields)
- Comment.find(filter, fields, filter, function (err, comments) {
+ const thread = threadFromPath(path, id)
+ const filter = {thread: thread}
+ const fields = parser(query.fields)
+ Comment.find(filter, fields, filter, (err, comments) => {
if (err) {
- log.error({err: err, thread: thread}, 'error getting comments')
+ log.error({err, thread}, 'error getting comments')
return cb(Boom.internal())
}
@@ -103,12 +100,12 @@ function getByThread (path, id, query, cb) {
function getBySubthread (path, id, query, cb) {
cb = cb || query
- var subthread = threadFromPath(path, id)
- var filter = {subthread: subthread}
- var fields = parser(query.fields)
- Comment.find(filter, fields, filter, function (err, comments) {
+ const subthread = threadFromPath(path, id)
+ const filter = {subthread}
+ const fields = parser(query.fields)
+ Comment.find(filter, fields, filter, (err, comments) => {
if (err) {
- log.error({err: err, subthread: subthread}, 'error getting comments')
+ log.error({err, subthread}, 'error getting comments')
return cb(Boom.internal())
}
@@ -119,14 +116,13 @@ function getBySubthread (path, id, query, cb) {
function list (query, cb) {
cb = cb || query // fields is optional
- var filter = {}
- var fields = parser(query.fields)
- var options = {
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Comment.find(filter, fields, options, function (err, comments) {
+ Comment.find({}, fields, options, (err, comments) => {
if (err) {
log.error({err: err}, 'error getting all comments')
return cb(Boom.internal())
@@ -137,9 +133,7 @@ function list (query, cb) {
}
function remove (id, cb) {
- var filter = {_id: id}
-
- Comment.findOneAndRemove(filter, function (err, comment) {
+ Comment.findByIdAndRemove(id, (err, comment) => {
if (err) {
log.error({err: err, comment: id}, 'error deleting comment')
return cb(Boom.internal())
@@ -154,7 +148,7 @@ function remove (id, cb) {
}
function removeByThread (path, id, cb) {
- var thread = ''
+ let thread = ''
if (typeof (id) === 'function') {
thread = path
cb = id
@@ -162,10 +156,10 @@ function removeByThread (path, id, cb) {
thread = threadFromPath(path, id)
}
- var filter = {thread: thread}
- Comment.remove(filter, function (err, comments) {
+ const filter = {thread: thread}
+ Comment.remove(filter, (err, comments) => {
if (err) {
- log.error({err: err, thread: thread}, 'error getting comments')
+ log.error({err, thread}, 'error getting comments')
return cb(Boom.internal())
}
diff --git a/server/resources/communication.js b/server/resources/communication.js
index 3bf24d8b..3720e582 100644
--- a/server/resources/communication.js
+++ b/server/resources/communication.js
@@ -1,9 +1,9 @@
-var Boom = require('boom')
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var threadFromPath = require('../helpers/threadFromPath')
-var parser = require('../helpers/fieldsParser')
-var Communication = require('../db/communication')
+const Boom = require('boom')
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const threadFromPath = require('../helpers/threadFromPath')
+const parser = require('../helpers/fieldsParser')
+const Communication = require('../db/communication')
server.method('communication.create', create, {})
server.method('communication.update', update, {})
@@ -21,9 +21,9 @@ function create (communication, memberId, cb) {
communication.posted = Date.now()
communication.updated = Date.now()
- Communication.create(communication, function (err, _communication) {
+ Communication.create(communication, (err, _communication) => {
if (err) {
- log.error({err: err, communication: communication}, 'error creating communication')
+ log.error({err, communication}, 'error creating communication')
return cb(Boom.internal())
}
@@ -33,10 +33,10 @@ function create (communication, memberId, cb) {
function update (id, communication, cb) {
communication.updated = Date.now()
- var filter = {_id: id}
- Communication.findOneAndUpdate(filter, communication, function (err, _communication) {
+
+ Communication.findByIdAndUpdate(id, communication, {new: true}, (err, _communication) => {
if (err) {
- log.error({err: err, communication: id}, 'error updating communication')
+ log.error({err, communication: id}, 'error updating communication')
return cb(Boom.internal())
}
if (!_communication) {
@@ -51,12 +51,11 @@ function update (id, communication, cb) {
function get (id, query, cb) {
cb = cb || query // fields is optional
- var filter = {_id: id}
- var fields = parser(query.fields)
+ const fields = parser(query.fields)
- Communication.findOne(filter, fields, function (err, communication) {
+ Communication.findById(id, fields, (err, communication) => {
if (err) {
- log.error({err: err, communication: id}, 'error getting communication')
+ log.error({err, communication: id}, 'error getting communication')
return cb(Boom.internal())
}
if (!communication) {
@@ -71,14 +70,14 @@ function get (id, query, cb) {
function getByMember (memberId, query, cb) {
cb = cb || query // fields is optional
- var filter = {member: memberId}
- var fields = parser(query.fields)
- var options = {
+ const filter = {member: memberId}
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Communication.find(filter, fields, options, function (err, communications) {
+ Communication.find(filter, fields, options, (err, communications) => {
if (err) {
log.error({err: err, member: memberId}, 'error getting communications')
return cb(Boom.internal())
@@ -91,11 +90,11 @@ function getByMember (memberId, query, cb) {
function getByThread (path, id, query, cb) {
cb = cb || query // fields is optional
- var thread = threadFromPath(path, id)
- var filter = {thread: thread}
- Communication.find(filter, function (err, communications) {
+ const thread = threadFromPath(path, id)
+ const filter = {thread}
+ Communication.find(filter, (err, communications) => {
if (err) {
- log.error({err: err, thread: thread}, 'error getting communications')
+ log.error({err: err, thread}, 'error getting communications')
return cb(Boom.internal())
}
@@ -106,8 +105,8 @@ function getByThread (path, id, query, cb) {
function getByEvent (eventId, query, cb) {
cb = cb || query // fields is optional
- var filter = {event: eventId}
- Communication.find(filter, function (err, communications) {
+ const filter = {event: eventId}
+ Communication.find(filter, (err, communications) => {
if (err) {
log.error({err: err, event: eventId}, 'error getting communications')
return cb(Boom.internal())
@@ -120,19 +119,19 @@ function getByEvent (eventId, query, cb) {
function list (query, cb) {
cb = cb || query // fields is optional
- var filter = {}
+ let filter = {}
if (query.status) { filter.status = query.status }
if (query.member) { filter.member = query.member }
if (query.kind) { filter.kind = query.kind }
if (query.event) { filter.event = query.event }
- var fields = parser(query.fields)
- var options = {
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Communication.find(filter, fields, options, function (err, communications) {
+ Communication.find(filter, fields, options, (err, communications) => {
if (err) {
log.error({err: err}, 'error getting all communications')
return cb(Boom.internal())
@@ -143,8 +142,7 @@ function list (query, cb) {
}
function remove (id, cb) {
- var filter = {_id: id}
- Communication.findOneAndRemove(filter, function (err, communication) {
+ Communication.findByIdAndRemove(id, (err, communication) => {
if (err) {
log.error({err: err, communication: id}, 'error deleting communication')
return cb(Boom.internal())
@@ -159,7 +157,7 @@ function remove (id, cb) {
}
function removeByThread (path, id, cb) {
- var thread = ''
+ let thread = ''
if (typeof (id) === 'function') {
thread = path
cb = id
@@ -167,10 +165,9 @@ function removeByThread (path, id, cb) {
thread = threadFromPath(path, id)
}
- var filter = {thread: thread}
- Communication.remove(filter, function (err, communications) {
+ Communication.remove({thread}, (err, communications) => {
if (err) {
- log.error({err: err, thread: thread}, 'error getting communications')
+ log.error({err, thread}, 'error getting communications')
return cb(Boom.internal())
}
diff --git a/server/resources/company.js b/server/resources/company.js
index f87b0428..ba5b57af 100644
--- a/server/resources/company.js
+++ b/server/resources/company.js
@@ -1,10 +1,10 @@
-var Boom = require('boom')
-var slug = require('slug')
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var parser = require('../helpers/fieldsParser')
-var Company = require('../db/company')
-var dupKeyParser = require('../helpers/dupKeyParser')
+const Boom = require('boom')
+const slug = require('slug')
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const parser = require('../helpers/fieldsParser')
+const Company = require('../db/company')
+const dupKeyParser = require('../helpers/dupKeyParser')
server.method('company.create', create, {})
server.method('company.update', update, {})
@@ -19,14 +19,14 @@ function create (company, memberId, cb) {
company.id = slug(company.id || company.name).toLowerCase()
company.updated = Date.now()
- Company.create(company, function (err, _company) {
+ Company.create(company, (err, _company) => {
if (err) {
if (err.code === 11000) {
- log.warn({err: err, requestedCompany: company.id}, 'company is a duplicate')
+ log.warn({err, requestedCompany: company.id}, 'company is a duplicate')
return cb(Boom.conflict(dupKeyParser(err.err) + ' is a duplicate'))
}
- log.error({err: err, company: company}, 'error creating company')
+ log.error({err, company}, 'error creating company')
return cb(Boom.internal())
}
cb(null, _company.toObject({ getters: true }))
@@ -36,9 +36,9 @@ function create (company, memberId, cb) {
function update (id, company, cb) {
company.updated = Date.now()
- Company.findOneAndUpdate({id: id}, company, function (err, _company) {
+ Company.findOneAndUpdate({id: id}, company, {new: true}, (err, _company) => {
if (err) {
- log.error({err: err, company: id}, 'error updating company')
+ log.error({err, company: id}, 'error updating company')
return cb(Boom.internal())
}
if (!_company) {
@@ -53,10 +53,10 @@ function update (id, company, cb) {
function get (id, query, cb) {
cb = cb || query // fields is optional
- var fields = parser(query.fields)
- Company.findOne({id: id}, fields, function (err, company) {
+ const fields = parser(query.fields)
+ Company.findOne({id: id}, fields, (err, company) => {
if (err) {
- log.error({err: err, company: id}, 'error getting company')
+ log.error({err, company: id}, 'error getting company')
return cb(Boom.internal())
}
if (!company) {
@@ -71,17 +71,17 @@ function get (id, query, cb) {
function getByMember (memberId, query, cb) {
cb = cb || query // fields is optional
- var filter = { participations: { $elemMatch: { member: memberId } } }
- var fields = parser(query.fields)
- var options = {
+ const filter = { participations: { $elemMatch: { member: memberId } } }
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Company.find(filter, fields, options, function (err, companies) {
+ Company.find(filter, fields, options, (err, companies) => {
if (err) {
- log.error({err: err, member: memberId}, 'error getting companies')
+ log.error({err, member: memberId}, 'error getting companies')
return cb(Boom.internal())
}
@@ -92,17 +92,17 @@ function getByMember (memberId, query, cb) {
function getByEvent (eventId, query, cb) {
cb = cb || query // fields is optional
- var filter = { participations: { $elemMatch: { event: eventId } } }
- var fields = parser(query.fields)
- var options = {
+ const filter = { participations: { $elemMatch: { event: eventId } } }
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Company.find(filter, fields, options, function (err, companies) {
+ Company.find(filter, fields, options, (err, companies) => {
if (err) {
- log.error({err: err, event: eventId}, 'error getting companies')
+ log.error({err, event: eventId}, 'error getting companies')
return cb(Boom.internal())
}
@@ -112,10 +112,10 @@ function getByEvent (eventId, query, cb) {
function list (query, cb) {
cb = cb || query // fields is optional
- var eventsFilter = {}
- var filter = {}
- var fields = parser(query.fields)
- var options = {
+ let eventsFilter = {}
+ let filter = {}
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
@@ -135,9 +135,9 @@ function list (query, cb) {
filter.participations = query.participations ? {$elemMatch: eventsFilter} : {$not: {$elemMatch: eventsFilter}}
}
- Company.find(filter, fields, options, function (err, companies) {
+ Company.find(filter, fields, options, (err, companies) => {
if (err) {
- log.error({err: err}, 'error getting all companies')
+ log.error({err}, 'error getting all companies')
return cb(Boom.internal())
}
@@ -146,9 +146,9 @@ function list (query, cb) {
}
function remove (id, cb) {
- Company.findOneAndRemove({id: id}, function (err, company) {
+ Company.findOneAndRemove({id: id}, (err, company) => {
if (err) {
- log.error({err: err, company: id}, 'error deleting company')
+ log.error({err, company: id}, 'error deleting company')
return cb(Boom.internal())
}
if (!company) {
@@ -163,9 +163,9 @@ function remove (id, cb) {
function search (str, query, cb) {
cb = cb || query // fields is optional
- var filter = { name: new RegExp(str, 'i') }
- var fields = parser(query.fields || 'id,name,img')
- var options = {
+ let filter = { name: new RegExp(str, 'i') }
+ const fields = parser(query.fields || 'id,name,img')
+ const options = {
skip: query.skip,
limit: query.limit || 10,
sort: parser(query.sort)
@@ -173,7 +173,7 @@ function search (str, query, cb) {
Company.find(filter, fields, options, function (err, exactCompanies) {
if (err) {
- log.error({err: err, filter: filter}, 'error getting companies')
+ log.error({err, filter}, 'error getting companies')
return cb(Boom.internal())
}
@@ -190,9 +190,9 @@ function search (str, query, cb) {
]
}
- Company.find(filter, fields, options, function (err, extendedCompanies) {
+ Company.find(filter, fields, options, (err, extendedCompanies) => {
if (err) {
- log.error({err: err, filter: filter}, 'error getting companies')
+ log.error({err, filter}, 'error getting companies')
return cb(Boom.internal())
}
diff --git a/server/resources/email.js b/server/resources/email.js
index 6b16aada..4564e772 100644
--- a/server/resources/email.js
+++ b/server/resources/email.js
@@ -1,31 +1,31 @@
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var Mailgun = require('mailgun').Mailgun
-var mgConfig = require('../../config').mailgun
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const Mailgun = require('mailgun').Mailgun
+const mgConfig = require('../../config').mailgun
-var MailComposer = require('mailcomposer').MailComposer
+const MailComposer = require('mailcomposer').MailComposer
-var mg = new Mailgun(mgConfig.api)
-var mailcomposer = new MailComposer()
+const mg = new Mailgun(mgConfig.api)
+const mailComposer = new MailComposer()
server.method('email.send', send, {})
exports = module.exports = send
function send (message, cb) {
- log.debug({message: message, mg: mgConfig}, 'sending email')
+ log.debug({message, mg: mgConfig}, 'sending email')
if (!message.html || message.html === '') {
mg.sendText(mgConfig.email,
message.to,
message.subject,
message.text,
- function (err) {
+ (err) => {
if (err) { return cb('error on mailgun') }
cb()
}
)
} else {
- mailcomposer.setMessageOption({
+ mailComposer.setMessageOption({
from: mgConfig.email,
to: message.to,
cc: message.cc,
@@ -35,12 +35,12 @@ function send (message, cb) {
html: message.html
})
- mailcomposer.buildMessage(function (err, rawBody) {
+ mailComposer.buildMessage((err, rawBody) => {
if (err) { return cb(err) }
mg.sendRaw(mgConfig.email,
message.to,
rawBody,
- function (err) {
+ (err) => {
if (err) { return cb(err) }
cb()
}
diff --git a/server/resources/event.js b/server/resources/event.js
index b2294de7..9b0f7eb9 100644
--- a/server/resources/event.js
+++ b/server/resources/event.js
@@ -1,10 +1,10 @@
-var Boom = require('boom')
-var slug = require('slug')
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var parser = require('../helpers/fieldsParser')
-var eventModel = require('../db/event')
-var dupKeyParser = require('../helpers/dupKeyParser')
+const Boom = require('boom')
+const slug = require('slug')
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const parser = require('../helpers/fieldsParser')
+const eventModel = require('../db/event')
+const dupKeyParser = require('../helpers/dupKeyParser')
server.method('event.create', create, {})
server.method('event.update', update, {})
@@ -16,10 +16,10 @@ function create (event, memberId, cb) {
event.id = slug(event.id || event.name).toLowerCase()
event.updated = Date.now()
- eventModel.create(event, function (err, _event) {
+ eventModel.create(event, (err, _event) => {
if (err) {
if (err.code === 11000) {
- log.warn({err: err, requestedEvent: _event.id}, 'event is a duplicate')
+ log.warn({err, requestedEvent: _event.id}, 'event is a duplicate')
return cb(Boom.conflict(dupKeyParser(err.err) + ' is a duplicate'))
}
@@ -34,9 +34,9 @@ function create (event, memberId, cb) {
function update (id, event, cb) {
event.updated = Date.now()
- eventModel.findOneAndUpdate({id: id}, event, function (err, _event) {
+ eventModel.findOneAndUpdate({id: id}, event, {new: true}, function (err, _event) {
if (err) {
- log.error({err: err, event: id}, 'error updating event')
+ log.error({err, event: id}, 'error updating event')
return cb(Boom.internal())
}
if (!_event) {
@@ -51,11 +51,11 @@ function update (id, event, cb) {
function get (id, query, cb) {
cb = cb || query // fields is optional
- var fields = parser(query.fields)
+ const fields = parser(query.fields)
- eventModel.findOne({id: id}, fields, function (err, event) {
+ eventModel.findOne({id: id}, fields, (err, event) => {
if (err) {
- log.error({err: err, event: id}, 'error getting event')
+ log.error({err, event: id}, 'error getting event')
return cb(Boom.internal())
}
if (!event) {
@@ -70,17 +70,16 @@ function get (id, query, cb) {
function list (query, cb) {
cb = cb || query // fields is optional
- var filter = {}
- var fields = parser(query.fields)
- var options = {
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- eventModel.find(filter, fields, options, function (err, events) {
+ eventModel.find({}, fields, options, (err, events) => {
if (err) {
- log.error({err: err}, 'error getting all events')
+ log.error({err}, 'error getting all events')
return cb(Boom.internal())
}
@@ -89,13 +88,13 @@ function list (query, cb) {
}
function remove (id, cb) {
- eventModel.findOneAndRemove({id: id}, function (err, event) {
+ eventModel.findOneAndRemove({id: id}, (err, event) => {
if (err) {
- log.error({err: err, event: id}, 'error deleting event')
+ log.error({err, event: id}, 'error deleting event')
return cb(Boom.internal())
}
if (!event) {
- log.error({err: err, event: id}, 'error deleting event')
+ log.error({err, event: id}, 'error deleting event')
return cb(Boom.notFound())
}
diff --git a/server/resources/item.js b/server/resources/item.js
index 0b32b6de..453824d6 100644
--- a/server/resources/item.js
+++ b/server/resources/item.js
@@ -1,9 +1,9 @@
-var Boom = require('boom')
-var slug = require('slug')
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var parser = require('../helpers/fieldsParser')
-var Item = require('../db/item')
+const Boom = require('boom')
+const slug = require('slug')
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const parser = require('../helpers/fieldsParser')
+const Item = require('../db/item')
server.method('item.create', create, {})
server.method('item.update', update, {})
@@ -16,7 +16,7 @@ function create (item, memberId, cb) {
Item.create(item, function (err, _item) {
if (err) {
- log.error({err: err, item: item}, 'error creating item')
+ log.error({err, item: item}, 'error creating item')
return cb(Boom.internal())
}
@@ -25,11 +25,9 @@ function create (item, memberId, cb) {
}
function update (id, item, cb) {
- var filter = { id: id }
-
- Item.findOneAndUpdate(filter, item, function (err, _item) {
+ Item.findOneAndUpdate({ id: id }, item, {new: true}, (err, _item) => {
if (err) {
- log.error({err: err, item: id}, 'error updating item')
+ log.error({err, item: id}, 'error updating item')
return cb(Boom.internal())
}
if (!_item) {
@@ -43,13 +41,11 @@ function update (id, item, cb) {
function get (id, query, cb) {
cb = cb || query
+ const fields = parser(query.fields)
- var filter = { id: id }
- var fields = parser(query.fields)
-
- Item.findOne(filter, fields, function (err, item) {
+ Item.findOne({ id: id }, fields, (err, item) => {
if (err) {
- log.error({err: err, item: id}, 'error getting item')
+ log.error({err, item: id}, 'error getting item')
return cb(Boom.internal())
}
if (!item) {
@@ -64,17 +60,16 @@ function get (id, query, cb) {
function list (query, cb) {
cb = cb || query // fields is optional
- var filter = {}
- var fields = parser(query.fields)
- var options = {
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Item.find(filter, fields, options, function (err, items) {
+ Item.find({}, fields, options, (err, items) => {
if (err) {
- log.error({err: err}, 'error getting all items')
+ log.error({err}, 'error getting all items')
return cb(Boom.internal())
}
@@ -83,11 +78,9 @@ function list (query, cb) {
}
function remove (id, cb) {
- var filter = { id: id }
-
- Item.findOneAndRemove(filter, function (err, item) {
+ Item.findOneAndRemove({ id: id }, (err, item) => {
if (err) {
- log.error({err: err, item: id}, 'error deleting item')
+ log.error({err, item: id}, 'error deleting item')
return cb(Boom.internal())
}
if (!item) {
diff --git a/server/resources/member.js b/server/resources/member.js
index 77d7e7b1..bb30cb6b 100644
--- a/server/resources/member.js
+++ b/server/resources/member.js
@@ -1,13 +1,13 @@
-var Boom = require('boom')
-var slug = require('slug')
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var threadFromPath = require('../helpers/threadFromPath')
-var parser = require('../helpers/fieldsParser')
-var dupKeyParser = require('../helpers/dupKeyParser')
-var randtoken = require('rand-token')
-var Member = require('../db/member')
-var config = require('../../config')
+const Boom = require('boom')
+const slug = require('slug')
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const threadFromPath = require('../helpers/threadFromPath')
+const parser = require('../helpers/fieldsParser')
+const dupKeyParser = require('../helpers/dupKeyParser')
+const randtoken = require('rand-token')
+const Member = require('../db/member')
+const config = require('../../config')
// TODO: GET TARGETS
server.method('member.create', create, {})
@@ -21,15 +21,14 @@ server.method('member.search', search, {})
function create (member, cb) {
member.id = slug(member.id || member.name, '.').toLowerCase()
-
- Member.create(member, function (err, _member) {
+ Member.create(member, (err, _member) => {
if (err) {
if (err.code === 11000) {
- log.warn({err: err, requestedMember: member.id}, 'member is a duplicate')
- return cb(Boom.conflict(dupKeyParser(err.err) + ' is a duplicate'))
+ log.warn({err, requestedMember: member.id}, 'member is a duplicate')
+ return cb(Boom.conflict(dupKeyParser(err.msg) + ' is a duplicate'))
}
- log.error({err: err, member: member}, 'error creating member')
+ log.error({err, member}, 'error creating member')
return cb(Boom.internal())
}
@@ -38,9 +37,9 @@ function create (member, cb) {
}
function update (id, member, cb) {
- Member.findOneAndUpdate({id: id}, member, function (err, _member) {
+ Member.findOneAndUpdate({id: id}, member, {new: true}, (err, _member) => {
if (err && err !== {}) {
- log.error({err: err, member: id}, 'error updating member')
+ log.error({err, member: id}, 'error updating member')
return cb(Boom.badRequest('error updating member'))
}
if (!_member) {
@@ -53,12 +52,12 @@ function update (id, member, cb) {
}
function createLoginCode (id, cb) {
- var loginCode = randtoken.generate(config.loginCodes.length)
- var code = {$push: {'loginCodes': {code: loginCode, created: new Date()}}}
- var filter = {id: id}
- Member.findOneAndUpdate(filter, code, function (err, _member) {
+ const loginCode = randtoken.generate(config.loginCodes.length)
+ const code = {$push: {'loginCodes': {code: loginCode, created: new Date()}}}
+
+ Member.findOneAndUpdate({id: id}, code, {new: true}, (err, _member) => {
if (err) {
- log.error({err: err, member: id}, 'error creating login code for member')
+ log.error({err, member: id}, 'error creating login code for member')
return cb(Boom.internal())
}
if (!_member) {
@@ -66,20 +65,24 @@ function createLoginCode (id, cb) {
return cb(Boom.notFound('member not found'))
}
- log.info({member: id, loginCode: loginCode}, 'login code created')
+ if (config.isDev) {
+ log.info({member: id, loginCode}, 'login code created')
+ } else {
+ log.info('login code created')
+ }
- cb(null, {member: _member, loginCode: loginCode})
+ cb(null, {member: _member, loginCode})
})
}
function get (id, query, cb) {
cb = cb || query // fields is optional
- var fields = parser(query.fields)
- var filter = {$or: [{id: id}, {'facebook.id': id}]}
- Member.findOne(filter, fields, function (err, member) {
+ const fields = parser(query.fields)
+ const filter = {$or: [{id: id}, {'facebook.id': id}]}
+ Member.findOne(filter, fields, (err, member) => {
if (err) {
- log.error({err: err, member: id}, 'error getting member')
+ log.error({err, member: id}, 'error getting member')
return cb(Boom.internal())
}
if (!member) {
@@ -93,18 +96,18 @@ function get (id, query, cb) {
function getSubscribers (path, id, query, cb) {
cb = cb || query
- var thread = threadFromPath(path, id)
+ const thread = threadFromPath(path, id)
- var filter = {$or: [{'subscriptions.threads': thread}, {'subscriptions.all': true}]}
- var fields = parser(query.fields)
- var options = {
+ const filter = {$or: [{'subscriptions.threads': thread}, {'subscriptions.all': true}]}
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Member.find(filter, fields, options, function (err, members) {
+ Member.find(filter, fields, options, (err, members) => {
if (err) {
- log.error({err: err, thread: thread}, 'error getting members')
+ log.error({err, thread}, 'error getting members')
return cb(Boom.internal())
}
@@ -115,10 +118,10 @@ function getSubscribers (path, id, query, cb) {
function list (query, cb) {
cb = cb || query // fields is optional
- var eventsFilter = {}
- var filter = {}
- var fields = parser(query.fields)
- var options = {
+ let filter = {}
+ let eventsFilter = {}
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
@@ -135,9 +138,9 @@ function list (query, cb) {
filter.participations = query.participations ? {$elemMatch: eventsFilter} : {$not: {$elemMatch: eventsFilter}}
}
- Member.find(filter, fields, options, function (err, members) {
+ Member.find(filter, fields, options, (err, members) => {
if (err) {
- log.error({err: err}, 'error getting all members')
+ log.error({err}, 'error getting all members')
return cb(Boom.internal())
}
@@ -146,14 +149,13 @@ function list (query, cb) {
}
function remove (id, cb) {
- var filter = {id: id}
- Member.findOneAndRemove(filter, function (err, member) {
+ Member.findOneAndRemove({id: id}, (err, member) => {
if (err) {
- log.error({err: err, member: id}, 'error deleting member')
+ log.error({err, member: id}, 'error deleting member')
return cb(Boom.internal())
}
if (!member) {
- log.error({err: err, member: id}, 'error deleting member')
+ log.error({err, member: id}, 'error deleting member')
return cb(Boom.notFound())
}
@@ -164,17 +166,17 @@ function remove (id, cb) {
function search (str, query, cb) {
cb = cb || query // fields is optional
- var filter = { name: new RegExp(str, 'i') }
- var fields = parser(query.fields || 'id,name,img,facebook')
- var options = {
+ let filter = { name: new RegExp(str, 'i') }
+ const fields = parser(query.fields || 'id,name,img,facebook')
+ const options = {
skip: query.skip,
limit: query.limit || 10,
sort: parser(query.sort)
}
- Member.find(filter, fields, options, function (err, exactMembers) {
+ Member.find(filter, fields, options, (err, exactMembers) => {
if (err) {
- log.error({err: err, filter: filter}, 'error getting members')
+ log.error({err, filter}, 'error getting members')
return cb(Boom.internal())
}
@@ -191,9 +193,9 @@ function search (str, query, cb) {
]
}
- Member.find(filter, fields, options, function (err, extendedMembers) {
+ Member.find(filter, fields, options, (err, extendedMembers) => {
if (err) {
- log.error({err: err, filter: filter}, 'error getting members')
+ log.error({err, filter}, 'error getting members')
return cb(Boom.internal())
}
diff --git a/server/resources/message.js b/server/resources/message.js
index 2bcaafec..d0ecd8de 100644
--- a/server/resources/message.js
+++ b/server/resources/message.js
@@ -1,8 +1,8 @@
-var Boom = require('boom')
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var parser = require('../helpers/fieldsParser')
-var Message = require('../db/message')
+const Boom = require('boom')
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const parser = require('../helpers/fieldsParser')
+const Message = require('../db/message')
server.method('message.create', create, {})
server.method('message.get', get, {})
@@ -10,9 +10,9 @@ server.method('message.list', list, {})
server.method('message.getByChat', getByChat, {})
function create (message, cb) {
- Message.create(message, function (err, _message) {
+ Message.create(message, (err, _message) => {
if (err) {
- log.error({err: err, message: message}, 'error creating message')
+ log.error({err, message}, 'error creating message')
return cb(Boom.internal())
}
@@ -22,13 +22,11 @@ function create (message, cb) {
function get (id, query, cb) {
cb = cb || query // fields is optional
+ const fields = parser(query.fields)
- var fields = parser(query.fields)
- var filter = {id: id}
-
- Message.findOne(filter, fields, function (err, message) {
+ Message.findOne({id: id}, fields, (err, message) => {
if (err) {
- log.error({err: err, message: id}, 'error getting message')
+ log.error({err, message: id}, 'error getting message')
return cb(Boom.internal())
}
if (!message) {
@@ -43,17 +41,16 @@ function get (id, query, cb) {
function getByChat (chatId, query, cb) {
cb = cb || query
- var filter = {chatId: chatId}
- var fields = parser(query.fields)
- var options = {
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Message.find(filter, fields, options, function (err, messages) {
+ Message.find({chatId: chatId}, fields, options, (err, messages) => {
if (err) {
- log.error({err: err, chat: chatId}, 'error getting messages')
+ log.error({err, chat: chatId}, 'error getting messages')
return cb(Boom.internal())
}
cb(null, messages)
@@ -63,16 +60,15 @@ function getByChat (chatId, query, cb) {
function list (query, cb) {
cb = cb || query // fields is optional
- var filter = {}
- var fields = parser(query.fields)
- var options = {
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Message.find(filter, fields, options, function (err, messages) {
+ Message.find({}, fields, options, (err, messages) => {
if (err) {
- log.error({err: err}, 'error getting all messages')
+ log.error({err}, 'error getting all messages')
return cb(Boom.internal())
}
diff --git a/server/resources/notification.js b/server/resources/notification.js
index d7bf08e8..db39c6fc 100644
--- a/server/resources/notification.js
+++ b/server/resources/notification.js
@@ -1,15 +1,15 @@
-var Boom = require('boom')
-var async = require('async')
-var server = require('../index').hapi
-var IO = require('../index').socket.client
-var events = require('../sockets').notification.events
-var log = require('../helpers/logger')
-var threadFromPath = require('../helpers/threadFromPath')
-var parser = require('../helpers/fieldsParser')
-var Notification = require('../db/notification')
-var Member = require('../db/member')
-var Access = require('../db/access')
-var Subscription = require('../db/subscription')
+const Boom = require('boom')
+const async = require('async')
+const server = require('../index').hapi
+const IO = require('../index').socket.client
+const events = require('../sockets').notification.events
+const log = require('../helpers/logger')
+const threadFromPath = require('../helpers/threadFromPath')
+const parser = require('../helpers/fieldsParser')
+const Notification = require('../db/notification')
+const Member = require('../db/member')
+const Access = require('../db/access')
+const Subscription = require('../db/subscription')
server.method('notification.notifyCreate', notifyCreate, {})
server.method('notification.notifyUpdate', notifyUpdate, {})
@@ -33,7 +33,7 @@ function broadcast (notification, cb) {
if (!notification) {
return cb()
}
- IO.emit(events.notify, {data: notification}, function (err) {
+ IO.emit(events.notify, {data: notification}, (err) => {
if (err) {
log.error({err: err, notification: notification}, 'notification broadcast failed')
}
@@ -42,7 +42,7 @@ function broadcast (notification, cb) {
}
function notifyCreate (memberId, path, thing, cb) {
- var notification = {
+ const notification = {
thread: threadFromPath(path, thing.id),
member: memberId,
description: 'created',
@@ -53,7 +53,7 @@ function notifyCreate (memberId, path, thing, cb) {
}
function notifyUpdate (memberId, path, thing, cb) {
- var notification = {
+ const notification = {
thread: threadFromPath(path, thing.id),
member: memberId,
description: 'updated',
@@ -64,7 +64,7 @@ function notifyUpdate (memberId, path, thing, cb) {
}
function notifyMention (memberId, thread, targets, source, cb) {
- var index = targets.indexOf(memberId)
+ const index = targets.indexOf(memberId)
if (index !== -1) {
targets.splice(index, 1)
if (!targets.length) {
@@ -72,7 +72,7 @@ function notifyMention (memberId, thread, targets, source, cb) {
}
}
- var notification = {
+ const notification = {
thread: thread,
member: memberId,
description: 'mentioned you',
@@ -85,7 +85,7 @@ function notifyMention (memberId, thread, targets, source, cb) {
}
function notifyComment (memberId, thread, source, cb) {
- var notification = {
+ const notification = {
thread: thread,
member: memberId,
description: 'posted a new comment',
@@ -97,7 +97,7 @@ function notifyComment (memberId, thread, source, cb) {
}
function notifyCommunication (memberId, thread, source, cb) {
- var notification = {
+ const notification = {
thread: thread,
member: memberId,
description: 'posted a new communication',
@@ -109,7 +109,7 @@ function notifyCommunication (memberId, thread, source, cb) {
}
function notify (memberId, thread, description, objectId, targets, cb) {
- var notification = {
+ const notification = {
thread: thread,
source: objectId,
member: memberId,
@@ -124,9 +124,9 @@ function notify (memberId, thread, description, objectId, targets, cb) {
function create (notification, cb) {
notification.posted = Date.now()
- Notification.create(notification, function (err, _notification) {
+ Notification.create(notification, (err, _notification) => {
if (err) {
- log.error({err: err, notification: notification}, 'error creating notification')
+ log.error({err, notification}, 'error creating notification')
return cb(Boom.internal())
}
_notification.set('unread', true, { strict: false })
@@ -136,12 +136,11 @@ function create (notification, cb) {
function get (id, query, cb) {
cb = cb || query
- var filter = {_id: id}
- var fields = query.fields
+ const fields = query.fields
- Notification.findOne(filter, fields, function (err, notification) {
+ Notification.findOne({_id: id}, fields, (err, notification) => {
if (err) {
- log.error({err: err, notification: id}, 'error getting notification')
+ log.error({err, notification: id}, 'error getting notification')
return cb(Boom.internal())
}
if (!notification) {
@@ -155,17 +154,17 @@ function get (id, query, cb) {
function getByThread (path, id, query, cb) {
cb = cb || query
- var thread = threadFromPath(path, id)
- var filter = {thread: thread, targets: []}
- var fields = query.fields
- var options = {
+ const thread = threadFromPath(path, id)
+ const filter = {thread, targets: []}
+ const fields = query.fields
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Notification.find(filter, fields, options, function (err, notifications) {
+ Notification.find(filter, fields, options, (err, notifications) => {
if (err) {
- log.error({err: err, thread: thread}, 'error getting notifications')
+ log.error({err, thread}, 'error getting notifications')
return cb(Boom.internal())
}
@@ -185,25 +184,25 @@ function getUnreadCount (memberId, query, cb) {
async.waterfall([
function getSubscriptions (cbAsync) {
- var filter = {member: memberId}
- Subscription.find(filter, function (err, subscriptions) {
+ const filter = {member: memberId}
+ Subscription.find(filter, (err, subscriptions) => {
if (err) {
- log.error({err: err, subscriptions: subscriptions}, 'error getting subscriptions')
+ log.error({err, subscriptions}, 'error getting subscriptions')
return cbAsync(Boom.internal())
}
cbAsync(null, subscriptions)
})
},
function getLastAccess (subscriptions, cbAsync) {
- var filter = {id: memberId}
- var memberFields = {unreadAccess: true}
- Member.findOne(filter, memberFields, function (err, member) {
+ const filter = {id: memberId}
+ const memberFields = {unreadAccess: true}
+ Member.findOne(filter, memberFields, (err, member) => {
if (err) {
- log.error({err: err, member: member}, 'error getting member notification accesses')
+ log.error({err, member}, 'error getting member notification accesses')
return cbAsync(Boom.internal())
}
if (!member) {
- log.error({err: err, member: member}, 'member not found while getting last access')
+ log.error({err, member}, 'member not found while getting last access')
return cbAsync(Boom.notFound())
}
@@ -211,13 +210,13 @@ function getUnreadCount (memberId, query, cb) {
})
},
function getUnreadNotifications (subscriptions, access, cbAsync) {
- var filter = {$or: [{targets: {$in: [memberId]}}], posted: {$gt: access}}
+ const filter = {$or: [{targets: {$in: [memberId]}}], posted: {$gt: access}}
if (subscriptions.length) {
filter.$or.push({thread: {$in: subscriptions}})
}
- Notification.count(filter, function (err, count) {
+ Notification.count(filter, (err, count) => {
if (err) {
- log.error({err: err, count: count}, 'error counting notifications')
+ log.error({err, count}, 'error counting notifications')
return cbAsync(Boom.internal())
}
cbAsync(null, count)
@@ -225,7 +224,7 @@ function getUnreadCount (memberId, query, cb) {
}
], function done (err, result) {
if (err) {
- log.error({err: err}, 'error counting notifications')
+ log.error({err}, 'error counting notifications')
return cb(err)
}
cb(null, result)
@@ -235,8 +234,8 @@ function getUnreadCount (memberId, query, cb) {
function getByMember (memberId, query, cb) {
cb = cb || query
- var fields = parser(query.fields)
- var options = {
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
@@ -244,28 +243,28 @@ function getByMember (memberId, query, cb) {
async.waterfall([
function getSubscriptions (cbAsync) {
- var filter = {member: memberId}
- var fields = {thread: true}
- var result = []
- Subscription.find(filter, fields, function (err, subscriptions) {
+ const filter = {member: memberId}
+ const fields = {thread: true}
+ let result = []
+ Subscription.find(filter, fields, (err, subscriptions) => {
if (err) {
- log.error({err: err, subscriptions: subscriptions}, 'error getting subscriptions')
+ log.error({err, subscriptions}, 'error getting subscriptions')
return cbAsync(Boom.internal())
}
- for (var i = 0; i < subscriptions.length; i++) {
+ for (let i = 0; i < subscriptions.length; i++) {
result.push(subscriptions[i].thread)
}
cbAsync(null, result)
})
},
function getNotificationsFromSubscriptions (subscriptions, cbAsync) {
- var filter = {$or: [{targets: {$in: [memberId]}}], member: {$ne: memberId}}
+ let filter = {$or: [{targets: {$in: [memberId]}}], member: {$ne: memberId}}
if (subscriptions.length) {
filter.$or.push({thread: {$in: subscriptions}})
}
- Notification.find(filter, fields, options, function (err, notifications) {
+ Notification.find(filter, fields, options, (err, notifications) => {
if (err) {
- log.error({err: err, filter: filter}, 'error getting notifications')
+ log.error({err, filter}, 'error getting notifications')
return cbAsync(Boom.internal())
}
@@ -284,16 +283,16 @@ function getByMember (memberId, query, cb) {
function list (query, cb) {
cb = cb || query // fields is optional
- var filter = {targets: {$size: 0}}
- var fields = parser(query.fields)
- var options = {
+ const filter = {targets: {$size: 0}}
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Notification.find(filter, fields, options, function (err, notifications) {
+ Notification.find(filter, fields, options, (err, notifications) => {
if (err) {
- log.error({err: err}, 'error getting all notifications')
+ log.error({err}, 'error getting all notifications')
return cb(Boom.internal())
}
@@ -302,53 +301,52 @@ function list (query, cb) {
}
function decorateWithUnreadStatus (memberId, collection, cb) {
- var threads = collection.map(function (o) {
+ const threads = collection.map((o) => {
return o.thread
})
- var filter = { member: memberId, thread: { $in: threads } }
- Access.find(filter, function (err, accesses) {
+ const filter = { member: memberId, thread: { $in: threads } }
+ Access.find(filter, (err, accesses) => {
if (err) {
- log.error({err: err, access: filter})
+ log.error({err, access: filter})
return cb(Boom.internal())
}
- var accessLookup = {}
- for (var i = 0, len = accesses.length; i < len; i++) {
+ let accessLookup = {}
+ for (let i = 0, len = accesses.length; i < len; i++) {
accessLookup[accesses[i].thread] = accesses[i]
}
- var accessedThreads = accesses.map(function (o) {
+ const accessedThreads = accesses.map((o) => {
return o.thread
})
- async.map(collection, function (o, asyncCb) {
+ async.map(collection, (o, asyncCb) => {
if (accessedThreads.indexOf(o.thread) === -1) {
o.set('unread', true, { strict: false })
return asyncCb(null, o)
}
- var notificationFilter = {thread: o.thread, posted: {$gt: accessLookup[o.thread].last}}
- Notification.count(notificationFilter, function (err, count) {
+ const notificationFilter = {thread: o.thread, posted: {$gt: accessLookup[o.thread].last}}
+ Notification.count(notificationFilter, (err, count) => {
if (err) {
- log.error({err: err, count: count}, 'error counting notifications')
+ log.error({err, count}, 'error counting notifications')
return asyncCb()
}
o.set('unread', count > 0, { strict: false })
asyncCb(null, o)
})
- }, function (err, result) {
+ }, (err, result) => {
cb(err, result)
})
})
}
function remove (id, cb) {
- var filter = {id: id}
- Notification.findOneAndRemove(filter, function (err, notification) {
+ Notification.findOneAndRemove({id: id}, (err, notification) => {
if (err) {
- log.error({err: err, notification: id}, 'error deleting notification')
+ log.error({err, notification: id}, 'error deleting notification')
return cb(Boom.internal())
}
if (!notification) {
@@ -361,7 +359,7 @@ function remove (id, cb) {
}
function removeByThread (path, id, cb) {
- var thread = ''
+ let thread = ''
if (typeof (id) === 'function') {
thread = path
cb = id
@@ -369,10 +367,9 @@ function removeByThread (path, id, cb) {
thread = threadFromPath(path, id)
}
- var filter = {thread: thread}
- Notification.remove(filter, function (err, notifications) {
+ Notification.remove({thread}, (err, notifications) => {
if (err) {
- log.error({err: err, thread: thread}, 'error removing notifications')
+ log.error({err, thread}, 'error removing notifications')
return cb(Boom.internal())
}
@@ -381,10 +378,9 @@ function removeByThread (path, id, cb) {
}
function removeBySource (source, cb) {
- var filter = { source: source }
- Notification.remove(filter, function (err, notifications) {
+ Notification.remove({source}, (err, notifications) => {
if (err) {
- log.error({err: err, source: source}, 'error removing notifications')
+ log.error({err, source}, 'error removing notifications')
return cb(Boom.internal())
}
diff --git a/server/resources/parser.js b/server/resources/parser.js
index 8b896b70..57fa7f36 100644
--- a/server/resources/parser.js
+++ b/server/resources/parser.js
@@ -1,12 +1,12 @@
-var server = require('../index').hapi
+const server = require('../index').hapi
server.method('parser.members', parseMembers, {})
function parseMembers (text, thread, objectId, memberId, cb) {
- var memberPattern = /\B@[a-z0-9\._-]+/gi
+ const memberPattern = /\B@[a-z0-9_-]+/gi
- var membersFound = text.match(memberPattern)
- for (var i in membersFound) {
+ let membersFound = text.match(memberPattern)
+ for (let i in membersFound) {
membersFound[i] = membersFound[i].replace('@', '').toLowerCase()
}
diff --git a/server/resources/session.js b/server/resources/session.js
index 23195d57..f88cc8e6 100644
--- a/server/resources/session.js
+++ b/server/resources/session.js
@@ -1,10 +1,10 @@
-var Boom = require('boom')
-var slug = require('slug')
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var parser = require('../helpers/fieldsParser')
-var Session = require('../db/session')
-var ical = require('../helpers/ical')
+const Boom = require('boom')
+const slug = require('slug')
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const parser = require('../helpers/fieldsParser')
+const Session = require('../db/session')
+const ical = require('../helpers/ical')
server.method('session.create', create, {})
server.method('session.update', update, {})
@@ -17,7 +17,7 @@ function create (session, memberId, cb) {
session.updated = Date.now()
session.id = slug((session.id || session.name) + '-' + session.event).toLowerCase()
- Session.create(session, function (err, _session) {
+ Session.create(session, (err, _session) => {
if (err) {
log.error({err: err, session: session}, 'error creating session')
return cb(Boom.internal())
@@ -31,8 +31,7 @@ function create (session, memberId, cb) {
function update (id, session, cb) {
session.updated = Date.now()
- var filter = {id: id}
- Session.findOneAndUpdate(filter, session, function (err, _session) {
+ Session.findOneAndUpdate({id: id}, session, {new: true}, (err, _session) => {
if (err) {
log.error({err: err, session: id}, 'error updating session')
return cb(Boom.internal())
@@ -50,10 +49,9 @@ function update (id, session, cb) {
function get (id, query, cb) {
cb = cb || query
- var filter = {id: id}
- var fields = query.fields
+ const fields = query.fields
- Session.findOne(filter, fields, function (err, session) {
+ Session.findOne({id: id}, fields, (err, session) => {
if (err) {
log.error({err: err, session: id}, 'error getting session')
return cb(Boom.internal())
@@ -69,16 +67,16 @@ function get (id, query, cb) {
function list (query, cb) {
cb = cb || query
- var filter = {}
- var fields = query.fields
- var options = {
+ const filter = {}
+ const fields = query.fields
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
if (query.event) { filter.event = query.event }
- Session.find(filter, fields, options, function (err, sessions) {
+ Session.find(filter, fields, options, (err, sessions) => {
if (err) {
log.error({err: err}, 'error getting all sessions')
return cb(Boom.internal())
@@ -89,8 +87,7 @@ function list (query, cb) {
}
function remove (id, cb) {
- var filter = {id: id}
- Session.findOneAndRemove(filter, function (err, session) {
+ Session.findOneAndRemove({id: id}, (err, session) => {
if (err) {
log.error({err: err, session: id}, 'error deleting session')
return cb(Boom.internal())
@@ -109,15 +106,15 @@ function remove (id, cb) {
function search (str, query, cb) {
cb = cb || query // fields is optional
- var filter = { name: new RegExp(str, 'i') }
- var fields = parser(query.fields || 'id,name,img')
- var options = {
+ let filter = { name: new RegExp(str, 'i') }
+ const fields = parser(query.fields || 'id,name,img')
+ const options = {
skip: query.skip,
limit: query.limit || 10,
sort: parser(query.sort)
}
- Session.find(filter, fields, options, function (err, exactSessions) {
+ Session.find(filter, fields, options, (err, exactSessions) => {
if (err) {
log.error({err: err, filter: filter}, 'error getting sessions')
return cb(Boom.internal())
@@ -135,7 +132,7 @@ function search (str, query, cb) {
]
}
- Session.find(filter, fields, options, function (err, extendedSessions) {
+ Session.find(filter, fields, options, (err, extendedSessions) => {
if (err) {
log.error({err: err, filter: filter}, 'error getting sessions')
return cb(Boom.internal())
diff --git a/server/resources/speaker.js b/server/resources/speaker.js
index e91b4a7b..dd92018d 100644
--- a/server/resources/speaker.js
+++ b/server/resources/speaker.js
@@ -1,10 +1,10 @@
-var Boom = require('boom')
-var slug = require('slug')
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var parser = require('../helpers/fieldsParser')
-var Speaker = require('../db/speaker')
-var dupKeyParser = require('../helpers/dupKeyParser')
+const Boom = require('boom')
+const slug = require('slug')
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const parser = require('../helpers/fieldsParser')
+const Speaker = require('../db/speaker')
+const dupKeyParser = require('../helpers/dupKeyParser')
server.method('speaker.create', create, {})
server.method('speaker.update', update, {})
@@ -19,14 +19,14 @@ function create (speaker, memberId, cb) {
speaker.id = slug(speaker.id || speaker.name).toLowerCase()
speaker.updated = Date.now()
- Speaker.create(speaker, function (err, _speaker) {
+ Speaker.create(speaker, (err, _speaker) => {
if (err) {
if (err.code === 11000) {
- log.warn({err: err, requestedSpeaker: speaker.id}, 'speaker is a duplicate')
+ log.warn({err, requestedSpeaker: speaker.id}, 'speaker is a duplicate')
return cb(Boom.conflict(dupKeyParser(err.err) + ' is a duplicate'))
}
- log.error({err: err, speaker: speaker}, 'error creating speaker')
+ log.error({err, speaker: speaker}, 'error creating speaker')
return cb(Boom.internal())
}
cb(null, _speaker.toObject({ getters: true }))
@@ -35,10 +35,9 @@ function create (speaker, memberId, cb) {
function update (id, speaker, cb) {
speaker.updated = Date.now()
- var filter = {id: id}
- Speaker.findOneAndUpdate(filter, speaker, function (err, _speaker) {
+ Speaker.findOneAndUpdate({id: id}, speaker, {new: true}, (err, _speaker) => {
if (err) {
- log.error({err: err, speaker: id}, 'error updating speaker')
+ log.error({err, speaker: id}, 'error updating speaker')
return cb(Boom.internal())
}
if (!_speaker) {
@@ -53,11 +52,10 @@ function update (id, speaker, cb) {
function get (id, query, cb) {
cb = cb || query // fields is optional
- var fields = parser(query.fields)
- var filter = {id: id}
- Speaker.findOne(filter, fields, function (err, speaker) {
+ const fields = parser(query.fields)
+ Speaker.findOne({id: id}, fields, function (err, speaker) {
if (err) {
- log.error({err: err, speaker: id}, 'error getting speaker')
+ log.error({err, speaker: id}, 'error getting speaker')
return cb(Boom.internal())
}
if (!speaker) {
@@ -71,16 +69,16 @@ function get (id, query, cb) {
function getByMember (memberId, query, cb) {
cb = cb || query
- var filter = { participations: { $elemMatch: { member: memberId } } }
- var fields = query.fields
- var options = {
+ const filter = { participations: { $elemMatch: { member: memberId } } }
+ const fields = query.fields
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Speaker.find(filter, fields, options, function (err, speaker) {
+ Speaker.find(filter, fields, options, (err, speaker) => {
if (err) {
- log.error({err: err, member: memberId}, 'error getting speaker')
+ log.error({err, member: memberId}, 'error getting speaker')
return cb(Boom.internal())
}
@@ -90,16 +88,16 @@ function getByMember (memberId, query, cb) {
function getByEvent (eventId, query, cb) {
cb = cb || query
- var filter = { participations: { $elemMatch: { event: eventId } } }
- var fields = query.fields
- var options = {
+ const filter = { participations: { $elemMatch: { event: eventId } } }
+ const fields = query.fields
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Speaker.find(filter, fields, options, function (err, speaker) {
+ Speaker.find(filter, fields, options, (err, speaker) => {
if (err) {
- log.error({err: err, event: eventId}, 'error getting speaker')
+ log.error({err, event: eventId}, 'error getting speaker')
}
cb(null, speaker)
@@ -108,10 +106,10 @@ function getByEvent (eventId, query, cb) {
function list (query, cb) {
cb = cb || query
- var eventsFilter = {}
- var filter = {}
- var fields = parser(query.fields)
- var options = {
+ let eventsFilter = {}
+ let filter = {}
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort),
@@ -132,9 +130,9 @@ function list (query, cb) {
filter.participations = query.participations ? {$elemMatch: eventsFilter} : {$not: {$elemMatch: eventsFilter}}
}
- Speaker.find(filter, fields, options, function (err, speaker) {
+ Speaker.find(filter, fields, options, (err, speaker) => {
if (err) {
- log.error({err: err}, 'error getting all speaker')
+ log.error({err}, 'error getting all speaker')
return cb(Boom.internal())
}
@@ -143,14 +141,13 @@ function list (query, cb) {
}
function remove (id, cb) {
- var filter = {id: id}
- Speaker.findOneAndRemove(filter, function (err, speaker) {
+ Speaker.findOneAndRemove({id: id}, (err, speaker) => {
if (err) {
log.error({err: err, speaker: id}, 'error deleting speaker')
return cb(Boom.internal())
}
if (!speaker) {
- log.error({err: err, speaker: id}, 'error deleting speaker')
+ log.error({err, speaker: id}, 'error deleting speaker')
return cb(Boom.notFound())
}
@@ -161,17 +158,17 @@ function remove (id, cb) {
function search (str, query, cb) {
cb = cb || query // fields is optional
- var filter = { name: new RegExp(str, 'i') }
- var fields = parser(query.fields || 'id,name,img')
- var options = {
+ let filter = { name: new RegExp(str, 'i') }
+ const fields = parser(query.fields || 'id,name,img')
+ const options = {
skip: query.skip,
limit: query.limit || 10,
sort: parser(query.sort)
}
- Speaker.find(filter, fields, options, function (err, exactSpeakers) {
+ Speaker.find(filter, fields, options, (err, exactSpeakers) => {
if (err) {
- log.error({err: err, filter: filter}, 'error getting speakers')
+ log.error({err, filter}, 'error getting speakers')
return cb(Boom.internal())
}
@@ -188,9 +185,9 @@ function search (str, query, cb) {
]
}
- Speaker.find(filter, fields, options, function (err, extendedSpeakers) {
+ Speaker.find(filter, fields, options, (err, extendedSpeakers) => {
if (err) {
- log.error({err: err, filter: filter}, 'error getting speakers')
+ log.error({err, filter}, 'error getting speakers')
return cb(Boom.internal())
}
diff --git a/server/resources/subscription.js b/server/resources/subscription.js
index 923a27da..1a23b369 100644
--- a/server/resources/subscription.js
+++ b/server/resources/subscription.js
@@ -1,9 +1,9 @@
-var Boom = require('boom')
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var parser = require('../helpers/fieldsParser')
-var Subscription = require('../db/subscription')
-var Member = require('../db/member')
+const Boom = require('boom')
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const parser = require('../helpers/fieldsParser')
+const Subscription = require('../db/subscription')
+const Member = require('../db/member')
server.method('subscription.create', create, {})
server.method('subscription.createForCoordinators', createForCoordinators, {})
@@ -13,11 +13,11 @@ server.method('subscription.getByThread', getByThread, {})
server.method('subscription.remove', remove, {})
function create (thread, memberId, cb) {
- var subscription = { thread: thread, member: memberId }
+ const subscription = { thread: thread, member: memberId }
- Subscription.create(subscription, function (err, _subscription) {
+ Subscription.create(subscription, (err, _subscription) => {
if (err) {
- log.error({err: err, subscription: subscription}, 'error creating subscription')
+ log.error({err, subscription}, 'error creating subscription')
return cb(Boom.internal())
}
@@ -33,23 +33,23 @@ function createForCoordinators (thread, cb) {
role: 'coordination'
}
}
- }, function (err, coordinators) {
+ }, (err, coordinators) => {
if (err) {
- log.error({err: err, thread: thread}, 'error finding coordinators while creating subscriptions')
+ log.error({err, thread}, 'error finding coordinators while creating subscriptions')
return cb(Boom.internal())
}
- var subscriptions = []
+ let subscriptions = []
- coordinators.forEach(function (coordinator) {
- var subscription = {
- thread: thread,
+ coordinators.forEach((coordinator) => {
+ const subscription = {
+ thread,
member: coordinator.id
}
- Subscription.create(subscription, function (err, _subscription) {
+ Subscription.create(subscription, (err, _subscription) => {
if (err) {
- log.error({err: err, subscription: subscription}, 'error creating subscription')
+ log.error({err, subscription}, 'error creating subscription')
return cb(Boom.internal())
}
@@ -64,8 +64,8 @@ function createForCoordinators (thread, cb) {
function get (thread, memberId, query, cb) {
cb = cb || query // fields is optional
- var fields = parser(query.fields)
- var filter = { member: memberId, thread: thread }
+ const fields = parser(query.fields)
+ const filter = { member: memberId, thread: thread }
Subscription.findOne(filter, fields, function (err, subscription) {
if (err) {
@@ -78,7 +78,7 @@ function get (thread, memberId, query, cb) {
}
function remove (thread, memberId, cb) {
- var filter = { thread: thread, member: memberId }
+ const filter = { thread: thread, member: memberId }
Subscription.findOneAndRemove(filter, function (err, subscription) {
if (err) {
@@ -96,9 +96,9 @@ function remove (thread, memberId, cb) {
function getByMember (memberId, query, cb) {
cb = cb || query
- var filter = {members: {$in: [memberId]}}
- var fields = query.fields
- var options = {
+ const filter = {members: {$in: [memberId]}}
+ const fields = query.fields
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
@@ -116,9 +116,9 @@ function getByMember (memberId, query, cb) {
function getByThread (thread, query, cb) {
cb = cb || query
- var filter = {thread: thread}
- var fields = query.fields
- var options = {
+ const filter = {thread: thread}
+ const fields = query.fields
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
diff --git a/server/resources/tag.js b/server/resources/tag.js
index d3ce975d..b16e4866 100644
--- a/server/resources/tag.js
+++ b/server/resources/tag.js
@@ -1,9 +1,9 @@
-var Boom = require('boom')
-var slug = require('slug')
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var parser = require('../helpers/fieldsParser')
-var Tag = require('../db/tag')
+const Boom = require('boom')
+const slug = require('slug')
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const parser = require('../helpers/fieldsParser')
+const Tag = require('../db/tag')
server.method('tag.create', create, {})
server.method('tag.update', update, {})
@@ -14,9 +14,9 @@ server.method('tag.remove', remove, {})
function create (tag, memberId, cb) {
tag.id = slug(tag.id || tag.name).toLowerCase()
- Tag.create(tag, function (err, _tag) {
+ Tag.create(tag, (err, _tag) => {
if (err) {
- log.error({err: err, tag: tag}, 'error creating tag')
+ log.error({err, tag}, 'error creating tag')
return cb(Boom.internal())
}
@@ -25,10 +25,9 @@ function create (tag, memberId, cb) {
}
function update (id, tag, cb) {
- var filter = {id: id}
- Tag.findOneAndUpdate(filter, tag, function (err, _tag) {
+ Tag.findOneAndUpdate({id: id}, tag, {new: true}, (err, _tag) => {
if (err) {
- log.error({err: err, tag: id}, 'error updating tag')
+ log.error({err, tag: id}, 'error updating tag')
return cb(Boom.internal())
}
if (!_tag) {
@@ -42,12 +41,11 @@ function update (id, tag, cb) {
function get (id, query, cb) {
cb = cb || query // fields is optional
- var filter = {id: id}
- var fields = parser(query.fields)
- Tag.findOne(filter, fields, function (err, tag) {
+ const fields = parser(query.fields)
+ Tag.findOne({id: id}, fields, (err, tag) => {
if (err) {
- log.error({err: err, tag: id}, 'error getting tag')
+ log.error({err, tag: id}, 'error getting tag')
return cb(Boom.internal())
}
if (!tag) {
@@ -62,17 +60,16 @@ function get (id, query, cb) {
function list (query, cb) {
cb = cb || query // fields is optional
- var filter = {}
- var fields = parser(query.fields)
- var options = {
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Tag.find(filter, fields, options, function (err, companies) {
+ Tag.find({}, fields, options, (err, companies) => {
if (err) {
- log.error({err: err}, 'error getting all companies')
+ log.error({err}, 'error getting all companies')
return cb(Boom.internal())
}
@@ -80,14 +77,13 @@ function list (query, cb) {
})
}
function remove (id, cb) {
- var filter = {id: id}
- Tag.findOneAndRemove(filter, function (err, tag) {
+ Tag.findOneAndRemove({id: id}, (err, tag) => {
if (err) {
- log.error({err: err, tag: id}, 'error deleting tag')
+ log.error({err, tag: id}, 'error deleting tag')
return cb(Boom.internal())
}
if (!tag) {
- log.error({err: err, tag: id}, 'error deleting tag')
+ log.error({err, tag: id}, 'error deleting tag')
return cb(Boom.notFound())
}
diff --git a/server/resources/topic.js b/server/resources/topic.js
index b415f87c..08c6405c 100644
--- a/server/resources/topic.js
+++ b/server/resources/topic.js
@@ -1,8 +1,8 @@
-var Boom = require('boom')
-var server = require('../index').hapi
-var log = require('../helpers/logger')
-var parser = require('../helpers/fieldsParser')
-var Topic = require('../db/topic')
+const Boom = require('boom')
+const server = require('../index').hapi
+const log = require('../helpers/logger')
+const parser = require('../helpers/fieldsParser')
+const Topic = require('../db/topic')
server.method('topic.create', create, {})
server.method('topic.update', update, {})
@@ -19,9 +19,9 @@ function create (topic, memberId, cb) {
topic.updated = Date.now()
topic.author = memberId
- Topic.create(topic, function (err, _topic) {
+ Topic.create(topic, (err, _topic) => {
if (err) {
- log.error({err: err, topic: topic}, 'error creating topic')
+ log.error({err, topic}, 'error creating topic')
return cb(Boom.internal())
}
@@ -31,10 +31,9 @@ function create (topic, memberId, cb) {
function update (id, topic, cb) {
topic.updated = Date.now()
- var filter = { _id: id }
- Topic.findOneAndUpdate(filter, topic, function (err, _topic) {
+ Topic.findByIdAndUpdate(id, topic, {new: true}, (err, _topic) => {
if (err) {
- log.error({err: err, topic: id}, 'error updating topic')
+ log.error({err, topic: id}, 'error updating topic')
return cb(Boom.internal())
}
if (!_topic) {
@@ -48,11 +47,10 @@ function update (id, topic, cb) {
function get (id, query, cb) {
cb = cb || query // fields is optional
- var fields = query.fields
- var filter = { _id: id }
- Topic.findOne(filter, fields, function (err, topic) {
+ const fields = query.fields
+ Topic.findById(id, fields, (err, topic) => {
if (err) {
- log.error({err: err, topic: id}, 'error getting topic')
+ log.error({err, topic: id}, 'error getting topic')
return cb(Boom.internal())
}
if (!topic) {
@@ -67,16 +65,16 @@ function get (id, query, cb) {
function getByMember (memberId, query, cb) {
cb = cb || query
- var filter = { targets: { $in: [memberId] } }
- var fields = query.fields
- var options = {
+ const filter = { targets: { $in: [memberId] } }
+ const fields = query.fields
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Topic.find(filter, fields, options, function (err, topics) {
+ Topic.find(filter, fields, options, (err, topics) => {
if (err) {
- log.error({err: err, member: memberId}, 'error getting topics')
+ log.error({err, member: memberId}, 'error getting topics')
return cb(Boom.internal())
}
@@ -86,16 +84,16 @@ function getByMember (memberId, query, cb) {
function getByDueDate (start, end, query, cb) {
cb = cb || query
- var filter = { duedate: { $gte: start, $lt: end } }
- var fields = query.fields
- var options = {
+ const filter = { duedate: { $gte: start, $lt: end } }
+ const fields = query.fields
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Topic.find(filter, fields, options, function (err, topics) {
+ Topic.find(filter, fields, options, (err, topics) => {
if (err) {
- log.error({err: err, dates: filter}, 'error getting topics')
+ log.error({err, dates: filter}, 'error getting topics')
return cb(Boom.internal())
}
@@ -105,16 +103,16 @@ function getByDueDate (start, end, query, cb) {
function getByTag (tagId, query, cb) {
cb = cb || query
- var filter = { tags: { $in: [tagId] } }
- var fields = query.fields
- var options = {
+ const filter = { tags: { $in: [tagId] } }
+ const fields = query.fields
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Topic.find(filter, fields, options, function (err, topics) {
+ Topic.find(filter, fields, options, (err, topics) => {
if (err) {
- log.error({err: err, tag: tagId}, 'error getting topics')
+ log.error({err, tag: tagId}, 'error getting topics')
return cb(Boom.internal())
}
@@ -125,15 +123,15 @@ function getByTag (tagId, query, cb) {
function list (query, cb) {
cb = cb || query // fields is optional
- var filter = {}
- var fields = parser(query.fields)
- var options = {
+ const filter = {}
+ const fields = parser(query.fields)
+ const options = {
skip: query.skip,
limit: query.limit,
sort: parser(query.sort)
}
- Topic.find(filter, fields, options, function (err, topics) {
+ Topic.find(filter, fields, options, (err, topics) => {
if (err) {
log.error({err: err}, 'error getting all topics')
return cb(Boom.internal())
@@ -144,10 +142,9 @@ function list (query, cb) {
}
function remove (id, cb) {
- var filter = { _id: id }
- Topic.findOneAndRemove(filter, function (err, topic) {
+ Topic.findByIdAndRemove(id, (err, topic) => {
if (err) {
- log.error({err: err, topic: id}, 'error deleting topic')
+ log.error({err, topic: id}, 'error deleting topic')
return cb(Boom.internal())
}
if (!topic) {
@@ -162,17 +159,17 @@ function remove (id, cb) {
function search (str, query, cb) {
cb = cb || query // fields is optional
- var filter = { name: new RegExp(str, 'i') }
- var fields = parser(query.fields || 'id,name,kind')
- var options = {
+ let filter = { name: new RegExp(str, 'i') }
+ const fields = parser(query.fields || 'id,name,kind')
+ const options = {
skip: query.skip,
limit: query.limit || 10,
sort: parser(query.sort)
}
- Topic.find(filter, fields, options, function (err, exactTopics) {
+ Topic.find(filter, fields, options, (err, exactTopics) => {
if (err) {
- log.error({err: err, filter: filter}, 'error getting topics')
+ log.error({err, filter}, 'error getting topics')
return cb(Boom.internal())
}
@@ -187,9 +184,9 @@ function search (str, query, cb) {
]
}
- Topic.find(filter, fields, options, function (err, extendedTopics) {
+ Topic.find(filter, fields, options, (err, extendedTopics) => {
if (err) {
- log.error({err: err, filter: filter}, 'error getting topics')
+ log.error({err, filter}, 'error getting topics')
return cb(Boom.internal())
}
diff --git a/server/routes/auth/handlers.js b/server/routes/auth/handlers.js
index 441426cb..8177a171 100644
--- a/server/routes/auth/handlers.js
+++ b/server/routes/auth/handlers.js
@@ -1,6 +1,6 @@
-var Joi = require('joi')
-var log = require('../../helpers/logger')
-var render = require('../../views/member')
+const Joi = require('joi')
+const log = require('../../helpers/logger')
+const render = require('../../views/member')
exports = module.exports
diff --git a/server/routes/auth/index.js b/server/routes/auth/index.js
index 599d1b8e..83c4f397 100644
--- a/server/routes/auth/index.js
+++ b/server/routes/auth/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/chats/handlers.js b/server/routes/chats/handlers.js
index dc12a291..d35cea14 100644
--- a/server/routes/chats/handlers.js
+++ b/server/routes/chats/handlers.js
@@ -1,5 +1,5 @@
-var Joi = require('joi')
-var render = require('../../views/chat')
+const Joi = require('joi')
+const render = require('../../views/chat')
exports = module.exports
diff --git a/server/routes/chats/index.js b/server/routes/chats/index.js
index 8c37c54a..cf00ce92 100644
--- a/server/routes/chats/index.js
+++ b/server/routes/chats/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/comments/handlers.js b/server/routes/comments/handlers.js
index 5817f81c..a6095704 100644
--- a/server/routes/comments/handlers.js
+++ b/server/routes/comments/handlers.js
@@ -1,5 +1,5 @@
-var Joi = require('joi')
-var render = require('../../views/comment')
+const Joi = require('joi')
+const render = require('../../views/comment')
exports = module.exports
diff --git a/server/routes/comments/index.js b/server/routes/comments/index.js
index a3e21910..556f2579 100644
--- a/server/routes/comments/index.js
+++ b/server/routes/comments/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/communications/handlers.js b/server/routes/communications/handlers.js
index 3d39e755..1dd1a6e8 100644
--- a/server/routes/communications/handlers.js
+++ b/server/routes/communications/handlers.js
@@ -1,5 +1,5 @@
-var Joi = require('joi')
-var render = require('../../views/communication')
+const Joi = require('joi')
+const render = require('../../views/communication')
exports = module.exports
diff --git a/server/routes/communications/index.js b/server/routes/communications/index.js
index b081b4dc..e746ef27 100644
--- a/server/routes/communications/index.js
+++ b/server/routes/communications/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/companies/handlers.js b/server/routes/companies/handlers.js
index fc2687e2..87755994 100644
--- a/server/routes/companies/handlers.js
+++ b/server/routes/companies/handlers.js
@@ -1,5 +1,5 @@
-var Joi = require('joi')
-var render = require('../../views/company')
+const Joi = require('joi')
+const render = require('../../views/company')
exports = module.exports
@@ -172,7 +172,7 @@ exports.list = {
],
handler: function (request, reply) {
// Because in public views, when an event is selected, we want to address that participation
- var selectedEvent = request.query && request.query.event
+ const selectedEvent = request.query && request.query.event
reply(render(request.pre.companies, request.auth.isAuthenticated && !request.headers['Only-Public'], selectedEvent))
},
description: 'Gets all the companies'
diff --git a/server/routes/companies/index.js b/server/routes/companies/index.js
index 22909df4..01e07ee8 100644
--- a/server/routes/companies/index.js
+++ b/server/routes/companies/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/events/handlers.js b/server/routes/events/handlers.js
index 5b8bef7f..5b8729b3 100644
--- a/server/routes/events/handlers.js
+++ b/server/routes/events/handlers.js
@@ -1,5 +1,5 @@
-var Joi = require('joi')
-var render = require('../../views/event')
+const Joi = require('joi')
+const render = require('../../views/event')
exports = module.exports
diff --git a/server/routes/events/index.js b/server/routes/events/index.js
index 7ba2a4e1..dd41a732 100644
--- a/server/routes/events/index.js
+++ b/server/routes/events/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/fonts.js b/server/routes/fonts.js
index 1787964b..d7c828b8 100644
--- a/server/routes/fonts.js
+++ b/server/routes/fonts.js
@@ -1,16 +1,15 @@
-var server = require('../index').hapi
+const server = require('../index').hapi
-var fonts = {
+const fonts = {
method: 'GET',
path: '/fonts/{path*}',
- config: {
- handler: {
- directory: {
- path: './public/fonts/',
- listing: true,
- index: true
- }
+ handler: {
+ directory: {
+ path: './public/fonts/',
+ listing: true,
+ index: true
}
+
}
}
diff --git a/server/routes/items/handlers.js b/server/routes/items/handlers.js
index a7246854..780e7dd6 100644
--- a/server/routes/items/handlers.js
+++ b/server/routes/items/handlers.js
@@ -1,5 +1,5 @@
-var Joi = require('joi')
-var render = require('../../views/item')
+const Joi = require('joi')
+const render = require('../../views/item')
exports = module.exports
diff --git a/server/routes/items/index.js b/server/routes/items/index.js
index 494a175a..fbb340ac 100644
--- a/server/routes/items/index.js
+++ b/server/routes/items/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/members/handlers.js b/server/routes/members/handlers.js
index 56989851..c6b8112d 100644
--- a/server/routes/members/handlers.js
+++ b/server/routes/members/handlers.js
@@ -1,5 +1,5 @@
-var Joi = require('joi')
-var render = require('../../views/member')
+const Joi = require('joi')
+const render = require('../../views/member')
exports = module.exports
@@ -11,7 +11,7 @@ exports.create = {
id: Joi.string().description('id of the member'),
name: Joi.string().required().description('name of the member'),
img: Joi.string().description('image of the member'),
- participations: Joi.array().includes(Joi.object().keys({
+ participations: Joi.array().items(Joi.object().keys({
role: Joi.string().description('the user role id'),
event: Joi.string().description('the event id')
})).description('participations of the member'),
@@ -54,7 +54,7 @@ exports.update = {
id: Joi.string().description('id of the member'),
name: Joi.string().description('name of the member'),
img: Joi.string().description('image of the member'),
- participations: Joi.array().includes(Joi.object().keys({
+ participations: Joi.array().items(Joi.object().keys({
role: Joi.string().description('the user role id'),
event: Joi.string().description('the event id')
})).description('participations of the member'),
diff --git a/server/routes/members/index.js b/server/routes/members/index.js
index 60db33ed..490387b6 100644
--- a/server/routes/members/index.js
+++ b/server/routes/members/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/messages/handlers.js b/server/routes/messages/handlers.js
index d194c3e0..e08d3aed 100644
--- a/server/routes/messages/handlers.js
+++ b/server/routes/messages/handlers.js
@@ -1,5 +1,5 @@
-var Joi = require('joi')
-var render = require('../../views/message')
+const Joi = require('joi')
+const render = require('../../views/message')
exports = module.exports
diff --git a/server/routes/messages/index.js b/server/routes/messages/index.js
index 80f34312..1fc39fec 100644
--- a/server/routes/messages/index.js
+++ b/server/routes/messages/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/notifications/handlers.js b/server/routes/notifications/handlers.js
index 22df45eb..1d41b4bb 100644
--- a/server/routes/notifications/handlers.js
+++ b/server/routes/notifications/handlers.js
@@ -1,5 +1,5 @@
-var Joi = require('joi')
-var render = require('../../views/notification')
+const Joi = require('joi')
+const render = require('../../views/notification')
exports = module.exports
diff --git a/server/routes/notifications/index.js b/server/routes/notifications/index.js
index 7c66c2d4..bd3d279a 100644
--- a/server/routes/notifications/index.js
+++ b/server/routes/notifications/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/publicAssets.js b/server/routes/publicAssets.js
index 49f9e765..29434fcb 100644
--- a/server/routes/publicAssets.js
+++ b/server/routes/publicAssets.js
@@ -1,16 +1,15 @@
-var server = require('../index').hapi
+const server = require('../index').hapi
-var publicAssets = {
+const publicAssets = {
method: 'GET',
path: '/static/{path*}',
- config: {
- handler: {
- directory: {
- path: './public/',
- listing: true,
- index: true
- }
+ handler: {
+ directory: {
+ path: './public/',
+ listing: true,
+ index: true
}
+
}
}
diff --git a/server/routes/roles/handlers.js b/server/routes/roles/handlers.js
index 5c385cb1..4c523a59 100644
--- a/server/routes/roles/handlers.js
+++ b/server/routes/roles/handlers.js
@@ -1,6 +1,6 @@
-// var render = require('../../views/roles')
+// const render = require('../../views/roles')
-var roles = require('../../../options').roles
+const roles = require('../../../options').roles
exports = module.exports
diff --git a/server/routes/roles/index.js b/server/routes/roles/index.js
index 82419741..5f10da65 100644
--- a/server/routes/roles/index.js
+++ b/server/routes/roles/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/search/handlers.js b/server/routes/search/handlers.js
index b2b75ebd..8f69f2f0 100644
--- a/server/routes/search/handlers.js
+++ b/server/routes/search/handlers.js
@@ -1,9 +1,9 @@
-var Joi = require('joi')
-var companiesRender = require('../../views/company')
-var speakersRender = require('../../views/speaker')
-var membersRender = require('../../views/member')
-var topicsRender = require('../../views/topic')
-var sessionsRender = require('../../views/session')
+const Joi = require('joi')
+const companiesRender = require('../../views/company')
+const speakersRender = require('../../views/speaker')
+const membersRender = require('../../views/member')
+const topicsRender = require('../../views/topic')
+const sessionsRender = require('../../views/session')
exports = module.exports
diff --git a/server/routes/search/index.js b/server/routes/search/index.js
index 27db1f85..9a547143 100644
--- a/server/routes/search/index.js
+++ b/server/routes/search/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/sessions/handlers.js b/server/routes/sessions/handlers.js
index f81ebd49..ec51af90 100644
--- a/server/routes/sessions/handlers.js
+++ b/server/routes/sessions/handlers.js
@@ -1,8 +1,8 @@
-var Joi = require('joi')
-var render = require('../../views/session')
-var ical = require('../../helpers/ical')
-var config = require('../../../config')
-var fs = require('fs')
+const Joi = require('joi')
+const render = require('../../views/session')
+const ical = require('../../helpers/ical')
+const config = require('../../../config')
+const fs = require('fs')
exports = module.exports
@@ -159,7 +159,7 @@ exports.getIcal = {
},
tags: ['api', 'session'],
handler: function (request, reply) {
- var icalPath = config.ical.path
+ const icalPath = config.ical.path
fs.exists(icalPath, function (exists) {
if (exists) {
diff --git a/server/routes/sessions/index.js b/server/routes/sessions/index.js
index 6a7f580a..a527f565 100644
--- a/server/routes/sessions/index.js
+++ b/server/routes/sessions/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/speakers/handlers.js b/server/routes/speakers/handlers.js
index 1a8226e2..de19d8f4 100644
--- a/server/routes/speakers/handlers.js
+++ b/server/routes/speakers/handlers.js
@@ -1,5 +1,5 @@
-var Joi = require('joi')
-var render = require('../../views/speaker')
+const Joi = require('joi')
+const render = require('../../views/speaker')
exports = module.exports
@@ -148,7 +148,7 @@ exports.list = {
],
handler: function (request, reply) {
// Because in public views, when an event is selected, we want to address that participation
- var selectedEvent = request.query && request.query.event
+ const selectedEvent = request.query && request.query.event
reply(render(request.pre.speakers, request.auth.isAuthenticated && !request.headers['Only-Public'], selectedEvent))
},
description: 'Gets all the speakers'
diff --git a/server/routes/speakers/index.js b/server/routes/speakers/index.js
index 55a7b009..39866c94 100644
--- a/server/routes/speakers/index.js
+++ b/server/routes/speakers/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/subscriptions/handlers.js b/server/routes/subscriptions/handlers.js
index 6331a837..b837e3fa 100644
--- a/server/routes/subscriptions/handlers.js
+++ b/server/routes/subscriptions/handlers.js
@@ -1,5 +1,5 @@
-var Joi = require('joi')
-var render = require('../../views/subscription')
+const Joi = require('joi')
+const render = require('../../views/subscription')
exports = module.exports
diff --git a/server/routes/subscriptions/index.js b/server/routes/subscriptions/index.js
index 460804ac..1c8da9ae 100644
--- a/server/routes/subscriptions/index.js
+++ b/server/routes/subscriptions/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/tags/handlers.js b/server/routes/tags/handlers.js
index fc29cd63..955c2744 100644
--- a/server/routes/tags/handlers.js
+++ b/server/routes/tags/handlers.js
@@ -1,5 +1,5 @@
-var Joi = require('joi')
-var render = require('../../views/tag')
+const Joi = require('joi')
+const render = require('../../views/tag')
exports = module.exports
diff --git a/server/routes/tags/index.js b/server/routes/tags/index.js
index 0f7b6ad3..c44994b2 100644
--- a/server/routes/tags/index.js
+++ b/server/routes/tags/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/routes/test/index.js b/server/routes/test/index.js
index e083987f..7e23edea 100644
--- a/server/routes/test/index.js
+++ b/server/routes/test/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var socketServer = require('../../index').socket.server
+const server = require('../../index').hapi
+const socketServer = require('../../index').socket.server
server.route({
method: 'GET',
diff --git a/server/routes/topics/handlers.js b/server/routes/topics/handlers.js
index 98c9c0a4..3aef295c 100644
--- a/server/routes/topics/handlers.js
+++ b/server/routes/topics/handlers.js
@@ -1,8 +1,8 @@
-var Joi = require('joi')
-var render = require('../../views/topic')
-var options = require('../../../options')
+const Joi = require('joi')
+const render = require('../../views/topic')
+const options = require('../../../options')
-var topicKinds = options.kinds.topics.map(function (t) { return t.id })
+let topicKinds = options.kinds.topics.map(function (t) { return t.id })
exports = module.exports
@@ -14,17 +14,17 @@ exports.create = {
kind: Joi.string().required().valid(topicKinds).description('kind of the topic'),
name: Joi.string().description('name of the topic'),
text: Joi.string().description('text of the topic (can be markdown)'),
- targets: Joi.array().includes(Joi.string()).description('targets of the topic'),
+ targets: Joi.array().items(Joi.string()).description('targets of the topic'),
closed: Joi.boolean().description('closed of the topic'),
poll: {
kind: Joi.string().valid('text', 'images').description('kind of the poll'),
- options: Joi.array().includes(Joi.object().keys({
+ options: Joi.array().items(Joi.object().keys({
content: Joi.string().description('content of the option - can be image url or text'),
- votes: Joi.array().includes(Joi.string()).description('members who voted for this option')
+ votes: Joi.array().items(Joi.string()).description('members who voted for this option')
})).description('options of the poll')
},
duedate: Joi.date().description('duedate of the poll'),
- tags: Joi.array().includes(Joi.string()).description('tags of the topic')
+ tags: Joi.array().items(Joi.string()).description('tags of the topic')
}
},
pre: [
@@ -52,17 +52,17 @@ exports.update = {
name: Joi.string().description('name of the topic'),
text: Joi.string().description('text of the topic'),
author: Joi.string().description('author of the topic'),
- targets: Joi.array().includes(Joi.string()).description('targets of the topic'),
+ targets: Joi.array().items(Joi.string()).description('targets of the topic'),
closed: Joi.boolean().description('closed of the topic'),
poll: {
kind: Joi.string().valid('text', 'images').description('kind of the poll'),
- options: Joi.array().includes(Joi.object().keys({
+ options: Joi.array().items(Joi.object().keys({
content: Joi.string().description('content of the option - can be image url or text'),
- votes: Joi.array().includes(Joi.string()).description('members who voted for this option')
+ votes: Joi.array().items(Joi.string()).description('members who voted for this option')
})).description('options of the poll')
},
duedate: Joi.date().description('duedate of the poll'),
- tags: Joi.array().includes(Joi.string()).description('tags of the topic')
+ tags: Joi.array().items(Joi.string()).description('tags of the topic')
}
},
pre: [
diff --git a/server/routes/topics/index.js b/server/routes/topics/index.js
index d58fc355..b2096454 100644
--- a/server/routes/topics/index.js
+++ b/server/routes/topics/index.js
@@ -1,5 +1,5 @@
-var server = require('../../index').hapi
-var handlers = require('./handlers')
+const server = require('../../index').hapi
+const handlers = require('./handlers')
server.route({
method: 'GET',
diff --git a/server/scripts/crono/reminder.js b/server/scripts/crono/reminder.js
index 7ee1f069..ba65ddc5 100644
--- a/server/scripts/crono/reminder.js
+++ b/server/scripts/crono/reminder.js
@@ -1,5 +1,5 @@
-var CronJob = require('cron').CronJob
-var reminder = require('./../../resources/reminder')
+const CronJob = require('cron').CronJob
+const reminder = require('./../../resources/reminder')
module.exports = new CronJob({
cronTime: '00 00 */6 * * *',
diff --git a/server/scripts/subscribeAll.js b/server/scripts/subscribeAll.js
index 987548a5..962fa739 100644
--- a/server/scripts/subscribeAll.js
+++ b/server/scripts/subscribeAll.js
@@ -1,14 +1,14 @@
-var mongoose = require('mongoose')
+const mongoose = require('mongoose')
-var Member = require('../db/member')
-var Company = require('../db/company')
-var Topic = require('../db/topic')
-var Speaker = require('../db/speaker')
-var Subscription = require('../db/subscription')
+const Member = require('../db/member')
+const Company = require('../db/company')
+const Topic = require('../db/topic')
+const Speaker = require('../db/speaker')
+const Subscription = require('../db/subscription')
mongoose.connect('mongodb://localhost/deck')
-var coordinators
+let coordinators
// TODO creating for all coordinators
Member.find({
diff --git a/server/sockets/notification.js b/server/sockets/notification.js
index 80d98c1d..8b9bd58e 100644
--- a/server/sockets/notification.js
+++ b/server/sockets/notification.js
@@ -66,7 +66,7 @@ var validators = {
source: Joi.string().description('The source of the thread'),
member: Joi.string().description('The member from whom the notification comes'),
description: Joi.string().description('Description of the notification'),
- targets: Joi.array().includes(Joi.string()).description('Targets to be notified'),
+ targets: Joi.array().items(Joi.string()).description('Targets to be notified'),
unread: Joi.boolean(),
posted: Joi.date()
})
diff --git a/server/test/access.js b/server/test/access.js
index 2304eb5c..3472b173 100644
--- a/server/test/access.js
+++ b/server/test/access.js
@@ -1,27 +1,29 @@
-var Lab = require('lab')
-var Code = require('code')
+const Lab = require('lab')
+const Code = require('code')
-var server = require('../').hapi
+const server = require('../').hapi
-var lab = exports.lab = Lab.script()
+const lab = exports.lab = Lab.script()
-var accessA = {
+const accessA = {
member: 'john.doe',
thread: 'company-example',
last: Date.now
}
-lab.experiment('Access', function () {
- lab.test('Saving Access', function (done) {
- server.methods.access.save(accessA.member, '/companies', accessA.member, function (err, result) {
- Code.expect(err, 'err').to.be.null
+lab.experiment('Access', () => {
+ lab.before((done) => setTimeout(() => done(), 1000))
+
+ lab.test('Saving Access', (done) => {
+ server.methods.access.save(accessA.member, '/companies', accessA.member, (err, result) => {
+ Code.expect(err, 'err').to.be.null()
done()
})
})
- lab.test('Getting Access', function (done) {
- server.methods.access.get(accessA.member, '/companies', accessA.member, function (err, result) {
- Code.expect(err, 'err').to.be.null
+ lab.test('Getting Access', (done) => {
+ server.methods.access.get(accessA.member, '/companies', accessA.member, (err, result) => {
+ Code.expect(err, 'err').to.be.null()
Code.expect(result.member).to.equal(accessA.member)
done()
})
diff --git a/server/test/comment.js b/server/test/comment.js
index 9bc84173..7ea96d50 100644
--- a/server/test/comment.js
+++ b/server/test/comment.js
@@ -1,11 +1,11 @@
-var Lab = require('lab')
-var Code = require('code')
+const Lab = require('lab')
+const Code = require('code')
-var server = require('../').hapi
+const server = require('../').hapi
-var lab = exports.lab = Lab.script()
+const lab = exports.lab = Lab.script()
-var credentials = {
+const credentials = {
id: 'john.doe',
name: 'John Doe',
participations: [{
@@ -14,28 +14,28 @@ var credentials = {
}]
}
-var commentA = {
+const commentA = {
thread: 'company-example',
subthread: 'company-example-subexample',
- text: 'this is an example of a comentary'
+ text: 'this is an example of a comment'
}
-var changesToA = {
+const changesToA = {
text: 'This is an example of an example of another example.'
}
-var commId
+let commId
-lab.experiment('Comment', function () {
- lab.test('Create', function (done) {
- var options = {
+lab.experiment('Comment', () => {
+ lab.test('Create', (done) => {
+ const options = {
method: 'POST',
url: '/api/comments',
credentials: credentials,
payload: commentA
}
- server.inject(options, function (response) {
- var result = response.result
+ server.inject(options, (response) => {
+ const result = response.result
Code.expect(response.statusCode).to.equal(201)
Code.expect(result).to.be.instanceof(Object)
@@ -49,15 +49,15 @@ lab.experiment('Comment', function () {
})
})
- lab.test('List all', function (done) {
- var options = {
+ lab.test('List all', (done) => {
+ const options = {
method: 'GET',
url: '/api/comments',
credentials: credentials
}
- server.inject(options, function (response) {
- var result = response.result
+ server.inject(options, (response) => {
+ const result = response.result
Code.expect(response.statusCode).to.equal(200)
Code.expect(result).to.be.instanceof(Array)
@@ -68,15 +68,15 @@ lab.experiment('Comment', function () {
})
})
- lab.test('Get one', function (done) {
- var options = {
+ lab.test('Get one', (done) => {
+ const options = {
method: 'GET',
url: '/api/comments/' + commId,
credentials: credentials
}
- server.inject(options, function (response) {
- var result = response.result
+ server.inject(options, (response) => {
+ const result = response.result
Code.expect(response.statusCode).to.equal(200)
Code.expect(result).to.be.instanceof(Object)
@@ -88,16 +88,16 @@ lab.experiment('Comment', function () {
})
})
- lab.test('Update', function (done) {
- var options = {
+ lab.test('Update', (done) => {
+ const options = {
method: 'PUT',
url: '/api/comments/' + commId,
credentials: credentials,
payload: changesToA
}
- server.inject(options, function (response) {
- var result = response.result
+ server.inject(options, (response) => {
+ const result = response.result
Code.expect(response.statusCode).to.equal(200)
Code.expect(result).to.be.instanceof(Object)
@@ -109,15 +109,15 @@ lab.experiment('Comment', function () {
})
})
- lab.test('Delete', function (done) {
- var options = {
+ lab.test('Delete', (done) => {
+ const options = {
method: 'DELETE',
url: '/api/comments/' + commId,
credentials: credentials
}
- server.inject(options, function (response) {
- var result = response.result
+ server.inject(options, (response) => {
+ const result = response.result
Code.expect(response.statusCode).to.equal(200)
Code.expect(result).to.be.instanceof(Object)
diff --git a/server/test/member.js b/server/test/member.js
index 870e1e89..e4df6f8c 100644
--- a/server/test/member.js
+++ b/server/test/member.js
@@ -1,11 +1,12 @@
-var Lab = require('lab')
-var Code = require('code')
+const Lab = require('lab')
+const Code = require('code')
+const expect = Code.expect
-var server = require('../').hapi
+const server = require('../').hapi
-var lab = exports.lab = Lab.script()
+const lab = exports.lab = Lab.script()
-var memberA = {
+const memberA = {
id: 'john.doe',
name: 'John Doe',
participations: [{
@@ -14,28 +15,19 @@ var memberA = {
}]
}
-var changesMemberA = {
+const changesMemberA = {
name: 'Jane Doe'
}
-var credentials = memberA
+const credentials = memberA
-lab.experiment('Members', function () {
- lab.test('Create', function (done) {
- var options = {
- method: 'POST',
- url: '/api/members',
- credentials: credentials,
- payload: memberA
- }
-
- server.inject(options, function (response) {
- var result = response.result
-
- Code.expect(response.statusCode).to.equal(201)
- Code.expect(result).to.be.instanceof(Object)
- Code.expect(result.id).to.equal(memberA.id)
- Code.expect(result.name).to.equal(memberA.name)
+lab.experiment('Members', () => {
+ lab.test('Create', (done) => {
+ server.methods.member.create(memberA, (err, result) => {
+ expect(err).to.be.null()
+ expect(result).to.be.instanceof(Object)
+ expect(result.id).to.equal(memberA.id)
+ expect(result.name).to.equal(memberA.name)
done()
})
@@ -61,46 +53,46 @@ lab.experiment('Members', function () {
})
})
- lab.test('Get me', function (done) {
- var options = {
+ lab.test('Get me', (done) => {
+ let options = {
method: 'GET',
url: '/api/members/me',
credentials: credentials
}
server.inject(options, function (response) {
- var result = response.result
+ let result = response.result
- Code.expect(response.statusCode).to.equal(200)
- Code.expect(result).to.be.instanceof(Object)
- Code.expect(result.id).to.equal(credentials.id)
- Code.expect(result.name).to.equal(credentials.name)
+ expect(response.statusCode).to.equal(200)
+ expect(result).to.be.instanceof(Object)
+ expect(result.id).to.equal(credentials.id)
+ expect(result.name).to.equal(credentials.name)
done()
})
})
- lab.test('Get one', function (done) {
- var options = {
+ lab.test('Get one', (done) => {
+ let options = {
method: 'GET',
url: '/api/members/' + memberA.id,
credentials: credentials
}
server.inject(options, function (response) {
- var result = response.result
+ let result = response.result
- Code.expect(response.statusCode).to.equal(200)
- Code.expect(result).to.be.instanceof(Object)
- Code.expect(result.id).to.equal(memberA.id)
- Code.expect(result.name).to.equal(memberA.name)
+ expect(response.statusCode).to.equal(200)
+ expect(result).to.be.instanceof(Object)
+ expect(result.id).to.equal(memberA.id)
+ expect(result.name).to.equal(memberA.name)
done()
})
})
- lab.test('Update', function (done) {
- var options = {
+ lab.test('Update', (done) => {
+ const options = {
method: 'PUT',
url: '/api/members/' + memberA.id,
credentials: credentials,
@@ -108,31 +100,31 @@ lab.experiment('Members', function () {
}
server.inject(options, function (response) {
- var result = response.result
+ const result = response.result
- Code.expect(response.statusCode).to.equal(200)
- Code.expect(result).to.be.instanceof(Object)
- Code.expect(result.id).to.equal(memberA.id)
- Code.expect(result.name).to.equal(changesMemberA.name)
+ expect(response.statusCode).to.equal(200)
+ expect(result).to.be.instanceof(Object)
+ expect(result.id).to.equal(memberA.id)
+ expect(result.name).to.equal(changesMemberA.name)
done()
})
})
- lab.test('Delete', function (done) {
- var options = {
+ lab.test('Delete', (done) => {
+ const options = {
method: 'DELETE',
url: '/api/members/' + memberA.id,
credentials: credentials
}
server.inject(options, function (response) {
- var result = response.result
+ const result = response.result
- Code.expect(response.statusCode).to.equal(200)
- Code.expect(result).to.be.instanceof(Object)
- Code.expect(result.id).to.equal(memberA.id)
- Code.expect(result.name).to.equal(changesMemberA.name)
+ expect(response.statusCode).to.equal(200)
+ expect(result).to.be.instanceof(Object)
+ expect(result.id).to.equal(memberA.id)
+ expect(result.name).to.equal(changesMemberA.name)
done()
})
diff --git a/server/test/topic.js b/server/test/topic.js
index c87a8c37..5b7f9052 100644
--- a/server/test/topic.js
+++ b/server/test/topic.js
@@ -1,11 +1,11 @@
-var Lab = require('lab')
-var Code = require('code')
+const Lab = require('lab')
+const Code = require('code')
-var server = require('../').hapi
+const server = require('../').hapi
-var lab = exports.lab = Lab.script()
+const lab = exports.lab = Lab.script()
-var credentials = {
+const credentials = {
id: 'john.doe',
name: 'John Doe',
participations: [{
@@ -14,20 +14,20 @@ var credentials = {
}]
}
-var topicA = {
+const topicA = {
text: 'hey',
kind: 'idea'
}
-var topicAid
+let topicAid
-var changesTopicA = {
+const changesTopicA = {
text: 'Howdy'
}
lab.experiment('Topic', function () {
lab.test('Create', function (done) {
- var options = {
+ const options = {
method: 'POST',
url: '/api/topics',
credentials: credentials,
@@ -35,7 +35,7 @@ lab.experiment('Topic', function () {
}
server.inject(options, function (response) {
- var result = response.result
+ const result = response.result
Code.expect(response.statusCode).to.equal(201)
Code.expect(result).to.be.instanceof(Object)
@@ -49,14 +49,14 @@ lab.experiment('Topic', function () {
})
lab.test('List all', function (done) {
- var options = {
+ const options = {
method: 'GET',
url: '/api/topics',
credentials: credentials
}
server.inject(options, function (response) {
- var result = response.result
+ const result = response.result
Code.expect(response.statusCode).to.equal(200)
Code.expect(result).to.be.instanceof(Array)
@@ -68,14 +68,14 @@ lab.experiment('Topic', function () {
})
lab.test('Get one', function (done) {
- var options = {
+ const options = {
method: 'GET',
url: '/api/topics/' + topicAid,
credentials: credentials
}
server.inject(options, function (response) {
- var result = response.result
+ const result = response.result
Code.expect(response.statusCode).to.equal(200)
Code.expect(result).to.be.instanceof(Object)
@@ -88,7 +88,7 @@ lab.experiment('Topic', function () {
})
lab.test('Update', function (done) {
- var options = {
+ const options = {
method: 'PUT',
url: '/api/topics/' + topicAid,
credentials: credentials,
@@ -96,7 +96,7 @@ lab.experiment('Topic', function () {
}
server.inject(options, function (response) {
- var result = response.result
+ const result = response.result
Code.expect(response.statusCode).to.equal(200)
Code.expect(result).to.be.instanceof(Object)
@@ -108,14 +108,14 @@ lab.experiment('Topic', function () {
})
lab.test('Delete', function (done) {
- var options = {
+ const options = {
method: 'DELETE',
url: '/api/topics/' + topicAid,
credentials: credentials
}
server.inject(options, function (response) {
- var result = response.result
+ const result = response.result
Code.expect(response.statusCode).to.equal(200)
Code.expect(result).to.be.instanceof(Object)
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 00000000..08a73bba
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,7279 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+Base64@~0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/Base64/-/Base64-0.2.1.tgz#ba3a4230708e186705065e66babdd4c35cf60028"
+
+JSON2@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/JSON2/-/JSON2-0.1.0.tgz#8d7493040a63d5835af75f47decb83ab6c8c0790"
+
+JSONStream@^1.0.3:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.2.1.tgz#32aa5790e799481083b49b4b7fa94e23bae69bf9"
+ dependencies:
+ jsonparse "^1.2.0"
+ through ">=2.2.7 <3"
+
+JSONStream@~0.6.4:
+ version "0.6.4"
+ resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-0.6.4.tgz#4b2c8063f8f512787b2375f7ee9db69208fa2dcb"
+ dependencies:
+ jsonparse "0.0.5"
+ through "~2.2.7"
+
+JSONStream@~0.7.1:
+ version "0.7.4"
+ resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-0.7.4.tgz#734290e41511eea7c2cfe151fbf9a563a97b9786"
+ dependencies:
+ jsonparse "0.0.5"
+ through ">=2.2.7 <3"
+
+JSONStream@~0.8.3, JSONStream@~0.8.4:
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-0.8.4.tgz#91657dfe6ff857483066132b4618b62e8f4887bd"
+ dependencies:
+ jsonparse "0.0.5"
+ through ">=2.2.7 <3"
+
+abbrev@1, abbrev@1.0.x:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
+
+accept@2.x.x:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/accept/-/accept-2.1.3.tgz#ab0f5bda4c449bbe926aea607b3522562f5acf86"
+ dependencies:
+ boom "4.x.x"
+ hoek "4.x.x"
+
+accepts@1.3.3, accepts@~1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
+ dependencies:
+ mime-types "~2.1.11"
+ negotiator "0.6.1"
+
+accessory@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/accessory/-/accessory-1.0.1.tgz#25954a258291a21b1be8f1902064e962cee6ce62"
+ dependencies:
+ dot-parts "~1.0.0"
+
+acorn-globals@^1.0.3:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-1.0.9.tgz#55bb5e98691507b74579d0513413217c380c54cf"
+ dependencies:
+ acorn "^2.1.0"
+
+acorn-jsx@^3.0.0, acorn-jsx@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
+ dependencies:
+ acorn "^3.0.4"
+
+acorn@^1.0.1, acorn@^1.0.3:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-1.2.2.tgz#c8ce27de0acc76d896d2b1fad3df588d9e82f014"
+
+acorn@^2.1.0, acorn@^2.7.0:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.7.0.tgz#ab6e7d9d886aaca8b085bc3312b79a198433f0e7"
+
+acorn@^3.0.4, acorn@^3.1.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
+
+acorn@^4.0.1:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a"
+
+addressparser@^0.3.2, addressparser@~0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/addressparser/-/addressparser-0.3.2.tgz#59873f35e8fcf6c7361c10239261d76e15348bb2"
+
+addressparser@~0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/addressparser/-/addressparser-0.2.1.tgz#d11a5b2eeda04cfefebdf3196c10ae13db6cd607"
+
+adm-zip@~0.4.3:
+ version "0.4.7"
+ resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.7.tgz#8606c2cbf1c426ce8c8ec00174447fd49b6eafc1"
+
+after@0.8.2:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
+
+ajv-keywords@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.2.0.tgz#676c4f087bfe1e8b12dca6fda2f3c74f417b099c"
+
+ajv@^4.7.0:
+ version "4.9.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.9.2.tgz#3f7dcda95b0c34bceb2d69945117d146219f1a2c"
+ dependencies:
+ co "^4.6.0"
+ json-stable-stringify "^1.0.1"
+
+align-text@^0.1.1, align-text@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
+ dependencies:
+ kind-of "^3.0.2"
+ longest "^1.0.1"
+ repeat-string "^1.5.2"
+
+amdefine@>=0.0.4:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+
+ammo@2.x.x:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/ammo/-/ammo-2.0.3.tgz#914bbcf65b043ed0f58a8a9d0196e250ec51e6a7"
+ dependencies:
+ boom "4.x.x"
+ hoek "4.x.x"
+
+amp-bind@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amp-bind/-/amp-bind-1.0.1.tgz#985655aaa1c733e877e4a73fea976f985a8d4770"
+ dependencies:
+ amp-is-function "^1.0.0"
+ amp-is-object "^1.0.0"
+
+amp-clone@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amp-clone/-/amp-clone-1.0.1.tgz#d9053062a75a91d871f12daf5a40b4514949a20a"
+ dependencies:
+ amp-extend "^1.0.0"
+ amp-is-array "^1.0.0"
+ amp-is-object "^1.0.0"
+
+amp-extend@^1.0.0, amp-extend@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amp-extend/-/amp-extend-1.0.1.tgz#6c543bee629c116b831857642f0ff940a15ae1ff"
+ dependencies:
+ amp-is-object "^1.0.0"
+
+amp-is-array@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amp-is-array/-/amp-is-array-1.0.1.tgz#e7c42e450191b5e8a48ab02da69ce9e1f9a5058c"
+
+amp-is-date@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amp-is-date/-/amp-is-date-1.0.1.tgz#bcac2e9b3853b4f415b0d46c3822819cf3e961ce"
+
+amp-is-function@^1.0.0, amp-is-function@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amp-is-function/-/amp-is-function-1.0.1.tgz#8b5412ff5e61d13a94aa449ac01372ad0d2298c0"
+
+amp-is-object@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amp-is-object/-/amp-is-object-1.0.1.tgz#0a8cb5956b9112a16a73677e8cbad37bba247702"
+
+amp-is-regexp@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amp-is-regexp/-/amp-is-regexp-1.0.1.tgz#9c9ed8f29361fb5c8358e0c6f00ad3fe8965769b"
+
+amp-result@^1.0.0, amp-result@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/amp-result/-/amp-result-1.1.0.tgz#abcac38062a044d576ab875b45321b113702a424"
+ dependencies:
+ amp-is-function "^1.0.0"
+
+ampersand-array-checkbox-view@0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/ampersand-array-checkbox-view/-/ampersand-array-checkbox-view-0.0.4.tgz#3ed231be30ee500256196448fe496ba0a3589e05"
+ dependencies:
+ ampersand-checkbox-view "^2.0.0"
+ ampersand-form-view "^2.2.0"
+ ampersand-version "^1.0.0"
+ ampersand-view "^7.0.0"
+ underscore "^1.7.0"
+
+ampersand-array-input-view@^3.0.3:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/ampersand-array-input-view/-/ampersand-array-input-view-3.0.4.tgz#1c23c3d1fc46cab893cc658091a648bbbff2f3ec"
+ dependencies:
+ ampersand-input-view "^2.0.0"
+ ampersand-version "^1.0.0"
+ ampersand-view "^7.0.0"
+ lodash.assign "^3.0.0"
+ lodash.without "^3.1.0"
+
+ampersand-checkbox-view@^2.0.0, ampersand-checkbox-view@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/ampersand-checkbox-view/-/ampersand-checkbox-view-2.0.2.tgz#b567dba21a84d694b264b0499752034469be0c6f"
+ dependencies:
+ ampersand-dom "^1.2.1"
+ ampersand-version "^1.0.0"
+ domify "~1.2.2"
+
+"ampersand-chosen-view@https://github.com/sinfo/ampersand-chosen-view/tarball/master":
+ version "0.0.1"
+ resolved "https://github.com/sinfo/ampersand-chosen-view/tarball/master#0d144eeed67aca16c355a52eae4e20f8d2c6490f"
+ dependencies:
+ amp-clone "^1.0.1"
+ ampersand-dom "^1.2.7"
+ ampersand-form-view "^2.2.0"
+ ampersand-version "^1.0.0"
+ ampersand-view "^7.0.0"
+ browserify-shim "^3.8.2"
+ domify "^1.3.1"
+ matches-selector "^1.0.0"
+ underscore "^1.7.0"
+
+ampersand-class-extend@^1.0.0, ampersand-class-extend@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/ampersand-class-extend/-/ampersand-class-extend-1.0.2.tgz#8e3ab125d09bf7be943b50e98cce46ff517cbe91"
+ dependencies:
+ lodash.assign "^3.0.0"
+
+ampersand-collection-lodash-mixin@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/ampersand-collection-lodash-mixin/-/ampersand-collection-lodash-mixin-2.0.1.tgz#31d85f39b5969ef7c136e0b5035dbed4511cfd70"
+ dependencies:
+ ampersand-version "^1.0.0"
+ lodash.countby "^3.1.0"
+ lodash.difference "^3.1.0"
+ lodash.drop "^3.0.0"
+ lodash.every "^3.2.0"
+ lodash.filter "^3.1.0"
+ lodash.find "^3.2.0"
+ lodash.foreach "^3.0.2"
+ lodash.groupby "^3.1.0"
+ lodash.includes "^3.1.0"
+ lodash.indexby "^3.1.0"
+ lodash.indexof "^3.0.2"
+ lodash.initial "^3.0.0"
+ lodash.invoke "^3.1.0"
+ lodash.isempty "^3.0.1"
+ lodash.isfunction "^3.0.2"
+ lodash.lastindexof "^3.0.2"
+ lodash.map "^3.1.0"
+ lodash.max "^3.2.0"
+ lodash.min "^3.2.0"
+ lodash.partition "^3.1.0"
+ lodash.reduce "^3.1.0"
+ lodash.reduceright "^3.1.0"
+ lodash.reject "^3.1.0"
+ lodash.rest "^3.0.0"
+ lodash.sample "^3.0.0"
+ lodash.shuffle "^3.0.0"
+ lodash.some "^3.2.0"
+ lodash.sortby "^3.1.0"
+ lodash.take "^3.0.0"
+ lodash.without "^3.1.0"
+
+ampersand-collection-rest-mixin@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/ampersand-collection-rest-mixin/-/ampersand-collection-rest-mixin-3.0.1.tgz#3f71bb792a08a5c0ca5ebe8dc7f0043883065f5e"
+ dependencies:
+ ampersand-sync "^2.0.0"
+ ampersand-version "^1.0.0"
+ extend-object "^1.0.0"
+
+"ampersand-collection-single-request-mixin@https://github.com/franciscocgoncalves/ampersand-collection-single-request-mixin/tarball/master":
+ version "0.0.1"
+ resolved "https://github.com/franciscocgoncalves/ampersand-collection-single-request-mixin/tarball/master#e49310fcf5e432c9903cdf60d40143bfc55a2f34"
+ dependencies:
+ ampersand-events "^1.1.1"
+ ampersand-version "^1.0.0"
+ lodash.assign "^3.0.0"
+
+ampersand-collection-underscore-mixin@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/ampersand-collection-underscore-mixin/-/ampersand-collection-underscore-mixin-1.0.4.tgz#3bd4f0a78654e30fe71fa43793f34ee7dae95f67"
+ dependencies:
+ ampersand-version "^1.0.0"
+ underscore "^1.6.0"
+
+ampersand-collection-view@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/ampersand-collection-view/-/ampersand-collection-view-1.4.0.tgz#f875162c4b7ffd64c55794e062060681d48bc025"
+ dependencies:
+ ampersand-class-extend "^1.0.0"
+ ampersand-events "^1.1.1"
+ ampersand-version "^1.0.0"
+ lodash.assign "^3.0.0"
+ lodash.difference "^3.1.0"
+ lodash.find "^3.1.0"
+ lodash.invoke "^3.1.0"
+ lodash.pick "^3.1.0"
+
+ampersand-collection@^1.3.0, ampersand-collection@^1.3.17:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/ampersand-collection/-/ampersand-collection-1.6.1.tgz#430f654cf702e19d1dac6cd211755d503172a0c9"
+ dependencies:
+ ampersand-class-extend "^1.0.0"
+ ampersand-events "^1.0.1"
+ ampersand-version "^1.0.2"
+ lodash.assign "^3.0.0"
+ lodash.bind "^3.1.0"
+ lodash.isarray "^3.0.1"
+
+"ampersand-date-view@https://github.com/sinfo/ampersand-date-view/tarball/master":
+ version "0.0.7"
+ resolved "https://github.com/sinfo/ampersand-date-view/tarball/master#fdf294d7d476d8566f7282a48c8221ab546eea9d"
+ dependencies:
+ ampersand-input-view "^3.1.0"
+ ampersand-select-view "^2.2.1"
+ ampersand-version "^1.0.1"
+ ampersand-view "^7.0.0"
+ underscore "^1.6.0"
+
+ampersand-dom-bindings@^3.5.0:
+ version "3.8.0"
+ resolved "https://registry.yarnpkg.com/ampersand-dom-bindings/-/ampersand-dom-bindings-3.8.0.tgz#f29422b80d5fcb5bd3fd2965a15f8ce16f08937b"
+ dependencies:
+ ampersand-dom "^1.2.5"
+ ampersand-version "^1.0.0"
+ key-tree-store "^1.2.0"
+ lodash.partial "^3.1.1"
+ matches-selector "^1.0.0"
+
+ampersand-dom@^1.1.0, ampersand-dom@^1.2.1, ampersand-dom@^1.2.5, ampersand-dom@^1.2.7:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/ampersand-dom/-/ampersand-dom-1.5.0.tgz#78e36f8b38aa5700f1a129d3423560a6c0523808"
+ dependencies:
+ ampersand-version "^1.0.0"
+
+ampersand-events@^1.0.1, ampersand-events@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ampersand-events/-/ampersand-events-1.1.1.tgz#a500e98ccae8ad92aa1d95744c533d9c10a16530"
+ dependencies:
+ ampersand-version "^1.0.2"
+ lodash.assign "^3.0.0"
+ lodash.bind "^3.1.0"
+ lodash.foreach "^3.0.2"
+ lodash.isempty "^3.0.1"
+ lodash.keys "^3.0.5"
+ lodash.once "^3.0.0"
+ lodash.uniqueid "^3.0.0"
+
+ampersand-form-view@^2.2.0, ampersand-form-view@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/ampersand-form-view/-/ampersand-form-view-2.4.0.tgz#48956e000d752260398548e7c5583a67f8542b2b"
+ dependencies:
+ amp-extend "^1.0.0"
+ amp-is-function "^1.0.0"
+ amp-result "^1.0.0"
+ ampersand-version "^1.0.0"
+ backbone-events-standalone "0.2.2"
+
+ampersand-fullcalendar-view@0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/ampersand-fullcalendar-view/-/ampersand-fullcalendar-view-0.0.2.tgz#1ed1d8fb3d7d0edf919f8500c87a6cf345dae358"
+ dependencies:
+ ampersand-version "^1.0.0"
+ ampersand-view "^7.2.0"
+ browserify-shim "^3.8.2"
+
+ampersand-infinite-scroll@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/ampersand-infinite-scroll/-/ampersand-infinite-scroll-0.1.0.tgz#ff1de26392a39ede7acff7fa73c9a53d4a361c10"
+ dependencies:
+ ampersand-view "^8.0.0"
+ lodash.assign "^3.2.0"
+
+ampersand-input-view@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/ampersand-input-view/-/ampersand-input-view-2.1.0.tgz#2a867eb57ca51d458551a6f3910430398763b5f2"
+ dependencies:
+ ampersand-view "^7.0.0"
+
+ampersand-input-view@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/ampersand-input-view/-/ampersand-input-view-3.1.1.tgz#3e5e832e7f373ec5e94c43ea5d6d39c6c91d7c5b"
+ dependencies:
+ ampersand-version "^1.0.1"
+ ampersand-view "^7.0.0"
+
+ampersand-input-view@^4.0.5:
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/ampersand-input-view/-/ampersand-input-view-4.0.5.tgz#f3124ecfa70b9952c6c58d7a0bf2ef7343683970"
+ dependencies:
+ ampersand-dom "^1.2.7"
+ ampersand-version "^1.0.1"
+ ampersand-view "^7.2.1"
+ matches-selector "^1.0.0"
+
+ampersand-io-collection@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/ampersand-io-collection/-/ampersand-io-collection-0.1.6.tgz#d3b54697b50cea444ba06c7ff3a83261166f6026"
+ dependencies:
+ ampersand-collection "^1.3.17"
+ ampersand-io "^0.4.2"
+ extend-object "^1.0.0"
+
+ampersand-io-model@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/ampersand-io-model/-/ampersand-io-model-0.3.1.tgz#7e5a552fbc5221a2726d69c15d46cb72cdc1433e"
+ dependencies:
+ ampersand-io "^0.4.2"
+ ampersand-state "^4.5.3"
+ underscore "^1.8.3"
+
+ampersand-io@^0.4.2:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/ampersand-io/-/ampersand-io-0.4.2.tgz#973c39a5e76c91ee7e6ab672eeed8171a562003a"
+ dependencies:
+ ampersand-class-extend "^1.0.2"
+ socket.io-client "^1.3.5"
+
+ampersand-model@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/ampersand-model/-/ampersand-model-4.1.0.tgz#735f99cbd8851f796436f15a92ad6133d9259b19"
+ dependencies:
+ ampersand-state "^4.4.4"
+ ampersand-sync "^2.0.4"
+ ampersand-version "^1.0.0"
+ underscore "^1.6.0"
+
+ampersand-pagination-mixin@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/ampersand-pagination-mixin/-/ampersand-pagination-mixin-0.1.0.tgz#ef2410e66c3c12c0c81ab2b84a21314ff938c30b"
+ dependencies:
+ lodash.assign "^3.2.0"
+
+ampersand-pikaday-view@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/ampersand-pikaday-view/-/ampersand-pikaday-view-0.0.1.tgz#eef32009b978eb9d5b0007aa67e88d42d852f979"
+ dependencies:
+ amp-is-date "^1.0.1"
+ ampersand-version "^1.0.1"
+ ampersand-view "^7.0.0"
+ pikaday "^1.3.1"
+
+ampersand-rest-collection@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/ampersand-rest-collection/-/ampersand-rest-collection-2.0.4.tgz#9b63130938d9ede70374c3d53d83d8267d75ea72"
+ dependencies:
+ ampersand-collection "^1.3.0"
+ ampersand-collection-rest-mixin "^3.0.0"
+ ampersand-collection-underscore-mixin "^1.0.0"
+ ampersand-version "^1.0.0"
+
+ampersand-router@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/ampersand-router/-/ampersand-router-1.0.7.tgz#0a91a8e9f49a7088b37a6aa24a9ad1be14509423"
+ dependencies:
+ amp-bind "^1.0.1"
+ amp-extend "^1.0.1"
+ amp-is-function "^1.0.1"
+ amp-is-regexp "^1.0.1"
+ amp-result "^1.0.1"
+ ampersand-class-extend "^1.0.0"
+ ampersand-version "^1.0.0"
+ backbone-events-standalone "0.2.2"
+
+ampersand-select-view@^2.2.1, "ampersand-select-view@https://github.com/sinfo/ampersand-select-view/tarball/master":
+ version "2.3.0"
+ resolved "https://github.com/sinfo/ampersand-select-view/tarball/master#679430d25a2c2cd14f5bca71b5761bf04a2e555b"
+ dependencies:
+ ampersand-dom "^1.1.0"
+ ampersand-version "^1.0.1"
+ domify "^1.2.2"
+ matches-selector "^1.0.0"
+ zuul "^1.16.4"
+
+ampersand-state@^4.3.15, ampersand-state@^4.4.4, ampersand-state@^4.5.2, ampersand-state@^4.5.3:
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/ampersand-state/-/ampersand-state-4.9.1.tgz#8ec482e1308ffc4682987287d753ad2d0368ca3e"
+ dependencies:
+ ampersand-events "^1.1.1"
+ ampersand-version "^1.0.0"
+ array-next "~0.0.1"
+ key-tree-store "^1.3.0"
+ lodash.assign "^3.2.0"
+ lodash.bind "^3.1.0"
+ lodash.escape "^3.0.0"
+ lodash.forown "^3.0.2"
+ lodash.has "^3.0.0"
+ lodash.includes "^3.1.3"
+ lodash.isarray "^3.0.4"
+ lodash.isdate "^3.0.1"
+ lodash.isequal "^3.0.1"
+ lodash.isfunction "^3.0.6"
+ lodash.isobject "^3.0.1"
+ lodash.isstring "^3.0.1"
+ lodash.omit "^3.1.0"
+ lodash.result "^3.0.0"
+ lodash.union "^3.1.0"
+ lodash.uniqueid "^3.0.0"
+
+ampersand-subcollection@^2.0.1:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/ampersand-subcollection/-/ampersand-subcollection-2.0.3.tgz#a36476fbbbf6be5f38fdf8fd6b62c50f36078641"
+ dependencies:
+ ampersand-class-extend "^1.0.0"
+ ampersand-collection-lodash-mixin "^2.0.0"
+ ampersand-events "^1.1.1"
+ ampersand-version "^1.0.0"
+ lodash.assign "^3.0.0"
+ lodash.difference "^3.1.0"
+ lodash.foreach "^3.0.2"
+ lodash.includes "^3.1.0"
+ lodash.isarray "^3.0.1"
+ lodash.isequal "^3.0.1"
+ lodash.keys "^3.0.5"
+ lodash.reduce "^3.1.0"
+ lodash.sortby "^3.1.0"
+ lodash.union "^3.1.0"
+
+ampersand-sync@^2.0.0, ampersand-sync@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/ampersand-sync/-/ampersand-sync-2.0.4.tgz#3b4144885c85132ab51f4fd1d0239fd9e9cbe00c"
+ dependencies:
+ qs "^1.2.1"
+ underscore "~1.6.0"
+ xhr "^1.10.0"
+
+ampersand-version@^1.0.0, ampersand-version@^1.0.1, ampersand-version@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/ampersand-version/-/ampersand-version-1.0.2.tgz#ff8f3d4ceac4d32ccd83f6bd6697397f7b59e2c0"
+ dependencies:
+ find-root "^0.1.1"
+ through2 "^0.6.3"
+
+ampersand-view-switcher@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/ampersand-view-switcher/-/ampersand-view-switcher-1.1.2.tgz#393db617a4193832bbc94437f1c696e8356e6885"
+ dependencies:
+ ampersand-version "^1.0.0"
+
+ampersand-view@^7.0.0, ampersand-view@^7.2.0, ampersand-view@^7.2.1, ampersand-view@^7.4.2:
+ version "7.4.2"
+ resolved "https://registry.yarnpkg.com/ampersand-view/-/ampersand-view-7.4.2.tgz#160cb5f81c89feae82bc6a3e0e61c365061a04c2"
+ dependencies:
+ ampersand-collection-view "^1.4.0"
+ ampersand-dom-bindings "^3.5.0"
+ ampersand-state "^4.5.2"
+ ampersand-version "^1.0.2"
+ component-classes "^1.2.4"
+ domify "^1.3.2"
+ events-mixin "^1.2.0"
+ get-object-path "^0.0.2"
+ lodash.assign "^3.0.0"
+ lodash.bind "^3.1.0"
+ lodash.flatten "^3.0.2"
+ lodash.foreach "^3.0.2"
+ lodash.invoke "^3.1.0"
+ lodash.isstring "^3.0.1"
+ lodash.last "^3.0.0"
+ lodash.pick "^3.1.0"
+ lodash.result "^3.0.0"
+ lodash.uniqueid "^3.0.0"
+ matches-selector "^1.0.0"
+
+ampersand-view@^8.0.0:
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/ampersand-view/-/ampersand-view-8.0.1.tgz#7f80867446af8a508596ed8d903f54151fb667e8"
+ dependencies:
+ ampersand-collection-view "^1.4.0"
+ ampersand-dom-bindings "^3.5.0"
+ ampersand-state "^4.5.2"
+ ampersand-version "^1.0.2"
+ component-classes "^1.2.4"
+ domify "^1.3.2"
+ events-mixin "^1.2.0"
+ get-object-path "^0.0.2"
+ lodash.assign "^3.0.0"
+ lodash.bind "^3.1.0"
+ lodash.flatten "^3.0.2"
+ lodash.foreach "^3.0.2"
+ lodash.invoke "^3.1.0"
+ lodash.isstring "^3.0.1"
+ lodash.last "^3.0.0"
+ lodash.pick "^3.1.0"
+ lodash.result "^3.0.0"
+ lodash.uniqueid "^3.0.0"
+ matches-selector "^1.0.0"
+
+andlog@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/andlog/-/andlog-1.0.0.tgz#25b39047ac9c1e5f6b2c8e4cdb5e7bf9e65e534b"
+
+ansi-escapes@^1.1.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
+
+ansi-regex@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107"
+
+ansi-styles@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+
+anymatch@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507"
+ dependencies:
+ arrify "^1.0.0"
+ micromatch "^2.1.5"
+
+aproba@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0"
+
+archiver@0.10.x:
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/archiver/-/archiver-0.10.1.tgz#c88a50fe114f744d059a07dfc4690f3a204146e4"
+ dependencies:
+ buffer-crc32 "~0.2.1"
+ file-utils "~0.2.0"
+ lazystream "~0.1.0"
+ lodash "~2.4.1"
+ readable-stream "~1.0.26"
+ tar-stream "~0.4.0"
+ zip-stream "~0.3.0"
+
+archiver@~0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/archiver/-/archiver-0.12.0.tgz#b8ccde2508cab9092bb7106630139c0f39a280cc"
+ dependencies:
+ async "~0.9.0"
+ buffer-crc32 "~0.2.1"
+ glob "~4.0.6"
+ lazystream "~0.1.0"
+ lodash "~2.4.1"
+ readable-stream "~1.0.26"
+ tar-stream "~1.0.0"
+ zip-stream "~0.4.0"
+
+archiver@~0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/archiver/-/archiver-0.7.1.tgz#cf152d794f86bbd93f9858da60d36aaeabad9bbf"
+ dependencies:
+ file-utils "~0.1.5"
+ lazystream "~0.1.0"
+ lodash "~2.4.1"
+ readable-stream "~1.0.24"
+ zip-stream "~0.2.0"
+
+are-we-there-yet@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3"
+ dependencies:
+ delegates "^1.0.0"
+ readable-stream "^2.0.0 || ^1.1.13"
+
+argparse@^1.0.7:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
+ dependencies:
+ sprintf-js "~1.0.2"
+
+argparse@~0.1.4:
+ version "0.1.16"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-0.1.16.tgz#cfd01e0fbba3d6caed049fbd758d40f65196f57c"
+ dependencies:
+ underscore "~1.7.0"
+ underscore.string "~2.4.0"
+
+arr-diff@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
+ dependencies:
+ arr-flatten "^1.0.1"
+
+arr-flatten@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b"
+
+array-filter@~0.0.0:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
+
+array-flatten@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+
+array-map@0.0.0, array-map@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
+
+array-next@~0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/array-next/-/array-next-0.0.1.tgz#e5e4660a4c27fda8151ff7764275d00900062be1"
+
+array-reduce@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"
+
+array-union@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
+ dependencies:
+ array-uniq "^1.0.1"
+
+array-uniq@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+
+array-unique@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
+
+arraybuffer.slice@0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"
+
+arrify@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
+
+asap@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/asap/-/asap-1.0.0.tgz#b2a45da5fdfa20b0496fc3768cc27c12fa916a7d"
+
+asn1.js@^4.0.0:
+ version "4.9.0"
+ resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.0.tgz#f71a1243f3e79d46d7b07d7fbf4824ee73af054a"
+ dependencies:
+ bn.js "^4.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+
+asn1@0.1.11:
+ version "0.1.11"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.1.11.tgz#559be18376d08a4ec4dbe80877d27818639b2df7"
+
+asn1@~0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
+
+assert-plus@^0.1.5:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.1.5.tgz#ee74009413002d84cec7219c6ac811812e723160"
+
+assert-plus@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
+
+assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+
+assert@~1.1.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/assert/-/assert-1.1.2.tgz#adaa04c46bb58c6dd1f294da3eb26e6228eb6e44"
+ dependencies:
+ util "0.10.3"
+
+astw@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/astw/-/astw-2.0.0.tgz#08121ac8288d35611c0ceec663f6cd545604897d"
+ dependencies:
+ acorn "^1.0.3"
+
+async-each@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
+
+async@0.9.x, async@~0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/async/-/async-0.9.0.tgz#ac3613b1da9bed1b47510bb4651b8931e47146c7"
+
+async@2.1.4:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4"
+ dependencies:
+ lodash "^4.14.0"
+
+async@^0.2.10, async@~0.2.6, async@~0.2.7, async@~0.2.9:
+ version "0.2.10"
+ resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
+
+async@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/async/-/async-0.7.0.tgz#4429e0e62f5de0a54f37458c49f0b897eb52ada5"
+
+async@^1.4.0:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+
+aws-sign2@~0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.5.0.tgz#c57103f7a17fc037f02d7c2e64b602ea223f7d63"
+
+aws-sign2@~0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
+
+aws4@^1.2.1:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755"
+
+b64@3.x.x:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/b64/-/b64-3.0.2.tgz#7a9d60466adf7b8de114cbdf651a5fdfcc90894d"
+
+babel-code-frame@^6.16.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
+ dependencies:
+ chalk "^1.1.0"
+ esutils "^2.0.2"
+ js-tokens "^3.0.0"
+
+backbone-events-standalone@0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/backbone-events-standalone/-/backbone-events-standalone-0.2.2.tgz#59a0a4681fdc3604e749e54599014d89d5fdf508"
+
+backo2@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
+
+balanced-match@^0.4.1:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
+
+base64-arraybuffer@0.1.5:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
+
+base64-js@0.0.7, base64-js@~0.0.4:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.7.tgz#54400dc91d696cec32a8a47902f971522fee8f48"
+
+base64id@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6"
+
+batch@0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.0.tgz#fd2e05a7a5d696b4db9314013e285d8ff3557ec3"
+
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4"
+ dependencies:
+ tweetnacl "^0.14.3"
+
+better-assert@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
+ dependencies:
+ callsite "1.0.0"
+
+binary-extensions@^1.0.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
+
+bl@^0.9.0, bl@~0.9.0:
+ version "0.9.5"
+ resolved "https://registry.yarnpkg.com/bl/-/bl-0.9.5.tgz#c06b797af085ea00bc527afc8efcf11de2232054"
+ dependencies:
+ readable-stream "~1.0.26"
+
+blob@0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921"
+
+block-stream@*:
+ version "0.0.9"
+ resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
+ dependencies:
+ inherits "~2.0.0"
+
+bluebird@2.10.2:
+ version "2.10.2"
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.10.2.tgz#024a5517295308857f14f91f1106fc3b555f446b"
+
+bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
+ version "4.11.6"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215"
+
+body-parser@~1.4.3:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.4.3.tgz#4727952cff4af0773eefa4b226c2f4122f5e234d"
+ dependencies:
+ bytes "1.0.0"
+ depd "0.3.0"
+ iconv-lite "0.4.3"
+ media-typer "0.2.0"
+ qs "0.6.6"
+ raw-body "1.2.2"
+ type-is "1.3.1"
+
+body-parser@~1.8.0:
+ version "1.8.4"
+ resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.8.4.tgz#d497e04bc13b3f9a8bd8c70bb0cdc16f2e028898"
+ dependencies:
+ bytes "1.0.0"
+ depd "0.4.5"
+ iconv-lite "0.4.4"
+ media-typer "0.3.0"
+ on-finished "2.1.0"
+ qs "2.2.4"
+ raw-body "1.3.0"
+ type-is "~1.5.1"
+
+boom@0.4.x:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/boom/-/boom-0.4.2.tgz#7a636e9ded4efcefb19cef4947a3c67dfaee911b"
+ dependencies:
+ hoek "0.9.x"
+
+boom@2.x.x:
+ version "2.10.1"
+ resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
+ dependencies:
+ hoek "2.x.x"
+
+boom@3.x.x:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/boom/-/boom-3.2.2.tgz#0f0cc5d04adc5003b8c7d71f42cca7271fef0e78"
+ dependencies:
+ hoek "4.x.x"
+
+boom@4.x.x, boom@^4.0.0, boom@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/boom/-/boom-4.2.0.tgz#c1a74174b11fbba223f6162d4fd8851a1b82a536"
+ dependencies:
+ hoek "4.x.x"
+
+bossy@3.x.x:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/bossy/-/bossy-3.0.4.tgz#f9ae9f26e81b41a318f4ee0d83686e4a5c2507b9"
+ dependencies:
+ hoek "4.x.x"
+ joi "10.x.x"
+
+bouncy@3.2.2:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/bouncy/-/bouncy-3.2.2.tgz#82ab4ad7beae05890eed54b9af3c45394b185dc7"
+ dependencies:
+ optimist "~0.3.5"
+ through "~2.3.4"
+
+bows@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/bows/-/bows-1.6.0.tgz#0c7d65c9682ce8adedac50d709cc498c9628da05"
+ dependencies:
+ andlog "^1.0.0"
+
+brace-expansion@^1.0.0:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9"
+ dependencies:
+ balanced-match "^0.4.1"
+ concat-map "0.0.1"
+
+braces@^1.8.2:
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
+ dependencies:
+ expand-range "^1.8.1"
+ preserve "^0.2.0"
+ repeat-element "^1.1.2"
+
+brorand@^1.0.1:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.0.6.tgz#4028706b915f91f7b349a2e0bf3c376039d216e5"
+
+browser-pack@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-3.2.0.tgz#faa1cbc41487b1acc4747e373e1148adffd0e2d9"
+ dependencies:
+ JSONStream "~0.8.4"
+ combine-source-map "~0.3.0"
+ concat-stream "~1.4.1"
+ defined "~0.0.0"
+ through2 "~0.5.1"
+ umd "^2.1.0"
+
+browser-pack@~2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-2.0.1.tgz#5d1c527f56c582677411c4db2a128648ff6bf150"
+ dependencies:
+ JSONStream "~0.6.4"
+ combine-source-map "~0.3.0"
+ through "~2.3.4"
+
+browser-resolve@^1.3.0, browser-resolve@^1.7.0:
+ version "1.11.2"
+ resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce"
+ dependencies:
+ resolve "1.1.7"
+
+browser-resolve@~1.2.2, browser-resolve@~1.2.4:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.2.4.tgz#59ae7820a82955ecd32f5fb7c468ac21c4723806"
+ dependencies:
+ resolve "0.6.3"
+
+browserify-aes@^1.0.0, browserify-aes@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a"
+ dependencies:
+ buffer-xor "^1.0.2"
+ cipher-base "^1.0.0"
+ create-hash "^1.1.0"
+ evp_bytestokey "^1.0.0"
+ inherits "^2.0.1"
+
+browserify-cipher@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a"
+ dependencies:
+ browserify-aes "^1.0.4"
+ browserify-des "^1.0.0"
+ evp_bytestokey "^1.0.0"
+
+browserify-des@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd"
+ dependencies:
+ cipher-base "^1.0.1"
+ des.js "^1.0.0"
+ inherits "^2.0.1"
+
+browserify-istanbul@0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/browserify-istanbul/-/browserify-istanbul-0.1.3.tgz#42eca8f8040b75fd601c8b3d30aebb612114a89d"
+ dependencies:
+ istanbul "^0.2.8"
+ minimatch "^0.2.14"
+ through "^2.3.4"
+
+browserify-rsa@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
+ dependencies:
+ bn.js "^4.1.0"
+ randombytes "^2.0.1"
+
+browserify-shim@^3.8.2:
+ version "3.8.12"
+ resolved "https://registry.yarnpkg.com/browserify-shim/-/browserify-shim-3.8.12.tgz#e2c97a134c5eb122e2bb4f61707a07f6f73ff092"
+ dependencies:
+ exposify "~0.4.3"
+ mothership "~0.2.0"
+ rename-function-calls "~0.1.0"
+ resolve "~0.6.1"
+ through "~2.3.4"
+
+browserify-sign@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.0.tgz#10773910c3c206d5420a46aad8694f820b85968f"
+ dependencies:
+ bn.js "^4.1.1"
+ browserify-rsa "^4.0.0"
+ create-hash "^1.1.0"
+ create-hmac "^1.1.2"
+ elliptic "^6.0.0"
+ inherits "^2.0.1"
+ parse-asn1 "^5.0.0"
+
+browserify-zlib@~0.1.2:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
+ dependencies:
+ pako "~0.2.0"
+
+browserify@6.3.3:
+ version "6.3.3"
+ resolved "https://registry.yarnpkg.com/browserify/-/browserify-6.3.3.tgz#d2a5031a24aec8045eb8174b501bf3f6248455d4"
+ dependencies:
+ JSONStream "~0.8.3"
+ assert "~1.1.0"
+ browser-pack "^3.2.0"
+ browser-resolve "^1.3.0"
+ browserify-zlib "~0.1.2"
+ buffer "^2.3.0"
+ builtins "~0.0.3"
+ commondir "0.0.1"
+ concat-stream "~1.4.1"
+ console-browserify "^1.1.0"
+ constants-browserify "~0.0.1"
+ crypto-browserify "^3.0.0"
+ deep-equal "~0.2.1"
+ defined "~0.0.0"
+ deps-sort "^1.3.5"
+ domain-browser "~1.1.0"
+ duplexer2 "~0.0.2"
+ events "~1.0.0"
+ glob "^4.0.5"
+ http-browserify "^1.4.0"
+ https-browserify "~0.0.0"
+ inherits "~2.0.1"
+ insert-module-globals "^6.1.0"
+ isarray "0.0.1"
+ labeled-stream-splicer "^1.0.0"
+ module-deps "^3.5.0"
+ os-browserify "~0.1.1"
+ parents "~0.0.1"
+ path-browserify "~0.0.0"
+ process "^0.8.0"
+ punycode "~1.2.3"
+ querystring-es3 "~0.2.0"
+ readable-stream "^1.0.33-1"
+ resolve "~0.7.1"
+ shallow-copy "0.0.1"
+ shasum "^1.0.0"
+ shell-quote "~0.0.1"
+ stream-browserify "^1.0.0"
+ string_decoder "~0.10.0"
+ subarg "^1.0.0"
+ syntax-error "^1.1.1"
+ through2 "^1.0.0"
+ timers-browserify "^1.0.1"
+ tty-browserify "~0.0.0"
+ umd "~2.1.0"
+ url "~0.10.1"
+ util "~0.10.1"
+ vm-browserify "~0.0.1"
+ xtend "^3.0.0"
+
+browserify@^4.2.1:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/browserify/-/browserify-4.2.3.tgz#0e0d8f98e6df6a664aa2c055120f3848246ee4d0"
+ dependencies:
+ JSONStream "~0.8.3"
+ assert "~1.1.0"
+ browser-pack "~2.0.0"
+ browser-resolve "^1.3.0"
+ browserify-zlib "~0.1.2"
+ buffer "^2.3.0"
+ builtins "~0.0.3"
+ commondir "0.0.1"
+ concat-stream "~1.4.1"
+ console-browserify "^1.1.0"
+ constants-browserify "~0.0.1"
+ crypto-browserify "^2.1.8"
+ deep-equal "~0.2.1"
+ defined "~0.0.0"
+ deps-sort "~0.1.1"
+ derequire "~0.8.0"
+ domain-browser "~1.1.0"
+ duplexer "~0.1.1"
+ events "~1.0.0"
+ glob "~3.2.8"
+ http-browserify "^1.4.0"
+ https-browserify "~0.0.0"
+ inherits "~2.0.1"
+ insert-module-globals "~6.0.0"
+ module-deps "~2.1.1"
+ os-browserify "~0.1.1"
+ parents "~0.0.1"
+ path-browserify "~0.0.0"
+ process "^0.7.0"
+ punycode "~1.2.3"
+ querystring-es3 "~0.2.0"
+ readable-stream "^1.0.27-1"
+ resolve "~0.7.1"
+ shallow-copy "0.0.1"
+ shell-quote "~0.0.1"
+ stream-browserify "^1.0.0"
+ stream-combiner "~0.0.2"
+ string_decoder "~0.0.0"
+ subarg "0.0.1"
+ syntax-error "^1.1.1"
+ through2 "^1.0.0"
+ timers-browserify "^1.0.1"
+ tty-browserify "~0.0.0"
+ umd "~2.1.0"
+ url "~0.10.1"
+ util "~0.10.1"
+ vm-browserify "~0.0.1"
+ xtend "^3.0.0"
+
+bson@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/bson/-/bson-1.0.4.tgz#93c10d39eaa5b58415cbc4052f3e53e562b0b72c"
+
+buffer-crc32@0.2.1, buffer-crc32@~0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.1.tgz#be3e5382fc02b6d6324956ac1af98aa98b08534c"
+
+buffer-shims@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51"
+
+buffer-xor@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+
+buffer@^2.3.0:
+ version "2.8.2"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-2.8.2.tgz#d73c214c0334384dc29b04ee0ff5f5527c7974e7"
+ dependencies:
+ base64-js "0.0.7"
+ ieee754 "^1.1.4"
+ is-array "^1.0.1"
+
+buffer@~2.3.2:
+ version "2.3.4"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-2.3.4.tgz#7e4af5a23c15e13fcbfd5c5a1ec974cb61668a4c"
+ dependencies:
+ base64-js "~0.0.4"
+ ieee754 "~1.1.1"
+
+bufferjs@=1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/bufferjs/-/bufferjs-1.1.0.tgz#095ffa39c5e6b40a2178a1169c9effc584a73201"
+
+"bufferjs@>= 2.0.0":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/bufferjs/-/bufferjs-3.0.1.tgz#0692e829cb10a10550e647390b035eb06c38e8ef"
+
+"bufferstream@>= 0.6.2":
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/bufferstream/-/bufferstream-0.6.2.tgz#a5f27e10d3c760084d14b35126615007319e3731"
+ dependencies:
+ bufferjs ">= 2.0.0"
+ optionalDependencies:
+ buffertools ">= 1.0.3"
+
+"buffertools@>= 1.0.3":
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/buffertools/-/buffertools-2.1.4.tgz#62d4e1584c0090a0c7d3587f25934a84b8b38de4"
+
+builtins@~0.0.3:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/builtins/-/builtins-0.0.7.tgz#355219cd6cf18dbe7c01cc7fd2dce765cfdc549a"
+
+bundle-metadata@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/bundle-metadata/-/bundle-metadata-1.0.1.tgz#c675bb05fdb19f9c421a1e7eeb4d59e49e575809"
+ dependencies:
+ JSONStream "~0.6.4"
+ optimist "~0.4.0"
+ sha1sum "0.0.1"
+ through "~2.3.3"
+
+bunyan-logentries@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/bunyan-logentries/-/bunyan-logentries-1.0.0.tgz#5497185d212159ff76593c0ca53204645cccb81c"
+ dependencies:
+ le_node "~0.2.0"
+
+bunyan@^1.8.5:
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.5.tgz#0d619e83005fb89070f5f47982fc1bf00600878a"
+ optionalDependencies:
+ dtrace-provider "~0.8"
+ moment "^2.10.6"
+ mv "~2"
+ safe-json-stringify "~1"
+
+bytes@0.2.1, bytes@~0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-0.2.1.tgz#555b08abcb063f8975905302523e4cd4ffdfdf31"
+
+bytes@1, bytes@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8"
+
+call-me-maybe@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b"
+
+call@4.x.x:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/call/-/call-4.0.0.tgz#cd29381a98046a132db26e2628e70bd8321a1ddf"
+ dependencies:
+ boom "4.x.x"
+ hoek "4.x.x"
+
+caller-path@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
+ dependencies:
+ callsites "^0.2.0"
+
+callsite@1.0.0, callsite@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
+
+callsites@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
+
+camelcase@^1.0.2:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
+
+caseless@~0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
+
+caseless@~0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.6.0.tgz#8167c1ab8397fb5bb95f96d28e5a81c50f247ac4"
+
+catbox-memory@2.x.x:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/catbox-memory/-/catbox-memory-2.0.4.tgz#433e255902caf54233d1286429c8f4df14e822d5"
+ dependencies:
+ hoek "4.x.x"
+
+catbox@7.x.x:
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/catbox/-/catbox-7.1.3.tgz#9817edec5a921743282addfc9c45ace52847eebb"
+ dependencies:
+ boom "4.x.x"
+ hoek "4.x.x"
+ joi "10.x.x"
+
+center-align@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
+ dependencies:
+ align-text "^0.1.3"
+ lazy-cache "^1.0.3"
+
+chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ dependencies:
+ ansi-styles "^2.2.1"
+ escape-string-regexp "^1.0.2"
+ has-ansi "^2.0.0"
+ strip-ansi "^3.0.0"
+ supports-color "^2.0.0"
+
+char-split@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/char-split/-/char-split-0.2.0.tgz#8755eda641e5db277dd0f509b517c827e50a8edf"
+ dependencies:
+ through "2.3.4"
+
+character-parser@1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/character-parser/-/character-parser-1.2.1.tgz#c0dde4ab182713b919b970959a123ecc1a30fcd6"
+
+chokidar@^1.4.3:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2"
+ dependencies:
+ anymatch "^1.3.0"
+ async-each "^1.0.0"
+ glob-parent "^2.0.0"
+ inherits "^2.0.1"
+ is-binary-path "^1.0.0"
+ is-glob "^2.0.0"
+ path-is-absolute "^1.0.0"
+ readdirp "^2.0.0"
+ optionalDependencies:
+ fsevents "^1.0.0"
+
+cipher-base@^1.0.0, cipher-base@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07"
+ dependencies:
+ inherits "^2.0.1"
+
+circular-json@^0.3.0:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
+
+clean-css@^3.1.9:
+ version "3.4.21"
+ resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.21.tgz#2101d5dbd19d63dbc16a75ebd570e7c33948f65b"
+ dependencies:
+ commander "2.8.x"
+ source-map "0.4.x"
+
+cli-cursor@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
+ dependencies:
+ restore-cursor "^1.0.1"
+
+cli-width@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a"
+
+cliui@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
+ dependencies:
+ center-align "^0.1.1"
+ right-align "^0.1.1"
+ wordwrap "0.0.2"
+
+closest@*:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/closest/-/closest-0.0.1.tgz#26da6f80b3e0e17e71f80f12782819e9f653495c"
+ dependencies:
+ matches-selector "0.0.1"
+
+co@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+
+code-point-at@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+
+code@~4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/code/-/code-4.0.0.tgz#ec7953fd79190052cea2569d63d7b4c0d47c0204"
+ dependencies:
+ hoek "4.x.x"
+
+colors@0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc"
+
+combine-source-map@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.3.0.tgz#d9e74f593d9cd43807312cb5d846d451efaa9eb7"
+ dependencies:
+ convert-source-map "~0.3.0"
+ inline-source-map "~0.3.0"
+ source-map "~0.1.31"
+
+combine-source-map@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.6.1.tgz#9b4a09c316033d768e0f11e029fa2730e079ad96"
+ dependencies:
+ convert-source-map "~1.1.0"
+ inline-source-map "~0.5.0"
+ lodash.memoize "~3.0.3"
+ source-map "~0.4.2"
+
+combined-stream@^1.0.5, combined-stream@~1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
+ dependencies:
+ delayed-stream "~1.0.0"
+
+combined-stream@~0.0.4:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-0.0.7.tgz#0137e657baa5a7541c57ac37ac5fc07d73b4dc1f"
+ dependencies:
+ delayed-stream "0.0.5"
+
+commander@1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-1.3.2.tgz#8a8f30ec670a6fdd64af52f1914b907d79ead5b5"
+ dependencies:
+ keypress "0.1.x"
+
+commander@2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.1.0.tgz#d121bbae860d9992a3d517ba96f56588e47c6781"
+
+commander@2.8.x:
+ version "2.8.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4"
+ dependencies:
+ graceful-readlink ">= 1.0.0"
+
+commander@^2.7.1, commander@^2.9.0:
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
+ dependencies:
+ graceful-readlink ">= 1.0.0"
+
+commander@~2.6.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.6.0.tgz#9df7e52fb2a0cb0fb89058ee80c3104225f37e1d"
+
+commondir@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/commondir/-/commondir-0.0.1.tgz#89f00fdcd51b519c578733fec563e6a6da7f5be2"
+
+component-bind@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
+
+component-classes@^1.2.4:
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/component-classes/-/component-classes-1.2.6.tgz#c642394c3618a4d8b0b8919efccbbd930e5cd691"
+ dependencies:
+ component-indexof "0.0.3"
+
+component-emitter@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3"
+
+component-emitter@1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
+
+component-event@*, component-event@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/component-event/-/component-event-0.1.4.tgz#3de78fc28782381787e24bf2a7c536bf0142c9b4"
+
+component-indexof@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/component-indexof/-/component-indexof-0.0.3.tgz#11d091312239eb8f32c8f25ae9cb002ffe8d3c24"
+
+component-inherit@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
+
+compress-commons@~0.1.0:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-0.1.6.tgz#0c740870fde58cba516f0ac0c822e33a0b85dfa3"
+ dependencies:
+ buffer-crc32 "~0.2.1"
+ crc32-stream "~0.3.1"
+ readable-stream "~1.0.26"
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+
+concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^1.5.0:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266"
+ dependencies:
+ inherits "~2.0.1"
+ readable-stream "~2.0.0"
+ typedarray "~0.0.5"
+
+concat-stream@~1.4.1, concat-stream@~1.4.5:
+ version "1.4.10"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.4.10.tgz#acc3bbf5602cb8cc980c6ac840fa7d8603e3ef36"
+ dependencies:
+ inherits "~2.0.1"
+ readable-stream "~1.1.9"
+ typedarray "~0.0.5"
+
+configstore@^1.0.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/configstore/-/configstore-1.4.0.tgz#c35781d0501d268c25c54b8b17f6240e8a4fb021"
+ dependencies:
+ graceful-fs "^4.1.2"
+ mkdirp "^0.5.0"
+ object-assign "^4.0.1"
+ os-tmpdir "^1.0.0"
+ osenv "^0.1.0"
+ uuid "^2.0.1"
+ write-file-atomic "^1.1.2"
+ xdg-basedir "^2.0.0"
+
+connect@2.12.0:
+ version "2.12.0"
+ resolved "https://registry.yarnpkg.com/connect/-/connect-2.12.0.tgz#31d8fa0dcacdf1908d822bd2923be8a2d2a7ed9a"
+ dependencies:
+ batch "0.5.0"
+ buffer-crc32 "0.2.1"
+ bytes "0.2.1"
+ cookie "0.1.0"
+ cookie-signature "1.0.1"
+ debug ">= 0.7.3 < 1"
+ fresh "0.2.0"
+ methods "0.1.0"
+ multiparty "2.2.0"
+ negotiator "0.3.0"
+ pause "0.0.1"
+ qs "0.6.6"
+ raw-body "1.1.2"
+ send "0.1.4"
+ uid2 "0.0.3"
+
+console-browserify@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
+ dependencies:
+ date-now "^0.1.4"
+
+console-control-strings@^1.0.0, console-control-strings@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+
+constantinople@~3.0.1:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-3.0.2.tgz#4b945d9937907bcd98ee575122c3817516544141"
+ dependencies:
+ acorn "^2.1.0"
+
+constants-browserify@~0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-0.0.1.tgz#92577db527ba6c4cf0a4568d84bc031f441e21f2"
+
+content-disposition@0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.1.tgz#87476c6a67c8daa87e32e87616df883ba7fb071b"
+
+content-type@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed"
+
+content@3.x.x:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/content/-/content-3.0.3.tgz#000f8a01371b95c66afe99be9390fa6cb91aa87a"
+ dependencies:
+ boom "4.x.x"
+
+convert-source-map@0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.4.1.tgz#f919a0099fe31f80fc5a1d0eb303161b394070c7"
+
+convert-source-map@~0.3.0:
+ version "0.3.5"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190"
+
+convert-source-map@~1.1.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860"
+
+cookie-getter@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/cookie-getter/-/cookie-getter-1.0.1.tgz#4a4dcd6b8b2d63beaed8dfed0365d9ac53ef4c94"
+
+cookie-signature@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.1.tgz#44e072148af01e6e8e24afbf12690d68ae698ecb"
+
+cookie-signature@1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+
+cookie@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.1.0.tgz#90eb469ddce905c866de687efc43131d8801f9d0"
+
+cookie@0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
+
+cookiejar@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-1.3.0.tgz#dd00b35679021e99cbd4e855b9ad041913474765"
+
+core-util-is@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+
+crc32-stream@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-0.2.0.tgz#5c80d480c8682f904b6f15530dbbe0b8c063dbbe"
+ dependencies:
+ buffer-crc32 "~0.2.1"
+ readable-stream "~1.0.24"
+
+crc32-stream@~0.3.1:
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-0.3.4.tgz#73bc25b45fac1db6632231a7bfce8927e9f06552"
+ dependencies:
+ buffer-crc32 "~0.2.1"
+ readable-stream "~1.0.24"
+
+create-ecdh@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
+ dependencies:
+ bn.js "^4.1.0"
+ elliptic "^6.0.0"
+
+create-hash@^1.1.0, create-hash@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.2.tgz#51210062d7bb7479f6c65bb41a92208b1d61abad"
+ dependencies:
+ cipher-base "^1.0.1"
+ inherits "^2.0.1"
+ ripemd160 "^1.0.0"
+ sha.js "^2.3.6"
+
+create-hmac@^1.1.0, create-hmac@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.4.tgz#d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170"
+ dependencies:
+ create-hash "^1.1.0"
+ inherits "^2.0.1"
+
+cron@~1.0.4:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/cron/-/cron-1.0.9.tgz#5177cf751f3263f00f45ebf69fead1ea96d31cfc"
+ dependencies:
+ moment-timezone "~0.3.0"
+
+cross-spawn@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.0.1.tgz#a3bbb302db2297cbea3c04edf36941f4613aa399"
+ dependencies:
+ lru-cache "^4.0.1"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+cryptiles@0.2.x:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-0.2.2.tgz#ed91ff1f17ad13d3748288594f8a48a0d26f325c"
+ dependencies:
+ boom "0.4.x"
+
+cryptiles@2.x.x:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
+ dependencies:
+ boom "2.x.x"
+
+cryptiles@3.x.x:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.1.tgz#86a9203f7367a0e9324bc7555ff0fcf5f81979ee"
+ dependencies:
+ boom "4.x.x"
+
+crypto-browserify@^2.1.8:
+ version "2.1.10"
+ resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-2.1.10.tgz#4f2ca6311843cf087cdf008e43a4f3686ef6e6bb"
+ dependencies:
+ ripemd160 "0.2.0"
+ sha.js "2.1.6"
+
+crypto-browserify@^3.0.0:
+ version "3.11.0"
+ resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522"
+ dependencies:
+ browserify-cipher "^1.0.0"
+ browserify-sign "^4.0.0"
+ create-ecdh "^4.0.0"
+ create-hash "^1.1.0"
+ create-hmac "^1.1.0"
+ diffie-hellman "^5.0.0"
+ inherits "^2.0.1"
+ pbkdf2 "^3.0.3"
+ public-encrypt "^4.0.0"
+ randombytes "^2.0.0"
+
+css-parse@1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-1.0.4.tgz#38b0503fbf9da9f54e9c1dbda60e145c77117bdd"
+
+css-parse@1.7.x:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-1.7.0.tgz#321f6cf73782a6ff751111390fc05e2c657d8c9b"
+
+css-stringify@1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/css-stringify/-/css-stringify-1.0.5.tgz#b0d042946db2953bb9d292900a6cb5f6d0122031"
+
+css@~1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/css/-/css-1.0.8.tgz#9386811ca82bccc9ee7fb5a732b1e2a317c8a3e7"
+ dependencies:
+ css-parse "1.0.4"
+ css-stringify "1.0.5"
+
+cssesc@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
+
+cssmin@^0.4.1:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/cssmin/-/cssmin-0.4.3.tgz#c9194077e0ebdacd691d5f59015b9d819f38d015"
+
+ctype@0.5.3:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/ctype/-/ctype-0.5.3.tgz#82c18c2461f74114ef16c135224ad0b9144ca12f"
+
+d@^0.1.1, d@~0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309"
+ dependencies:
+ es5-ext "~0.10.2"
+
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ dependencies:
+ assert-plus "^1.0.0"
+
+date-now@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
+
+debug-log@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f"
+
+debug@*, debug@2.3.3, debug@^2.1.1, debug@^2.2.0:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c"
+ dependencies:
+ ms "0.7.2"
+
+debug@0.7.4, debug@~0.7.2, debug@~0.7.4:
+ version "0.7.4"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39"
+
+debug@2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.1.0.tgz#33ab915659d8c2cc8a41443d94d6ebd37697ed21"
+ dependencies:
+ ms "0.6.2"
+
+debug@2.2.0, debug@~2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
+ dependencies:
+ ms "0.7.1"
+
+"debug@>= 0.7.3 < 1", debug@~0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-0.8.1.tgz#20ff4d26f5e422cb68a1bacbbb61039ad8c1c130"
+
+debug@~1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-1.0.4.tgz#5b9c256bd54b6ec02283176fa8a0ede6d154cbf8"
+ dependencies:
+ ms "0.6.2"
+
+decamelize@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+
+deep-equal@~0.2.0, deep-equal@~0.2.1:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-0.2.2.tgz#84b745896f34c684e98f2ce0e42abaf43bba017d"
+
+deep-extend@~0.4.0:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253"
+
+deep-is@~0.1.2, deep-is@~0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
+
+defined@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
+
+defined@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/defined/-/defined-0.0.0.tgz#f35eea7d705e933baf13b2f03b3f83d921403b3e"
+
+deflate-crc32-stream@~0.1.0:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/deflate-crc32-stream/-/deflate-crc32-stream-0.1.2.tgz#975ea0e7303b75d85232198ab7b405c2d47baad5"
+ dependencies:
+ buffer-crc32 "~0.2.1"
+
+deglob@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/deglob/-/deglob-2.1.0.tgz#4d44abe16ef32c779b4972bd141a80325029a14a"
+ dependencies:
+ find-root "^1.0.0"
+ glob "^7.0.5"
+ ignore "^3.0.9"
+ pkg-config "^1.1.0"
+ run-parallel "^1.1.2"
+ uniq "^1.0.1"
+
+del@^2.0.2:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
+ dependencies:
+ globby "^5.0.0"
+ is-path-cwd "^1.0.0"
+ is-path-in-cwd "^1.0.0"
+ object-assign "^4.0.1"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ rimraf "^2.2.8"
+
+delayed-stream@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-0.0.5.tgz#d4b1f43a93e8296dfe02694f4680bc37a313c73f"
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+
+delegate-events@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/delegate-events/-/delegate-events-1.1.1.tgz#dab490a9c1f1d40ca40ebcd21edaf717b671d4d4"
+ dependencies:
+ closest "*"
+ component-event "*"
+
+delegates@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+
+depd@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/depd/-/depd-0.3.0.tgz#11c9bc28e425325fbd8b38940beff69fa5326883"
+
+depd@0.4.5:
+ version "0.4.5"
+ resolved "https://registry.yarnpkg.com/depd/-/depd-0.4.5.tgz#1a664b53388b4a6573e8ae67b5f767c693ca97f1"
+
+depd@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3"
+
+deps-sort@^1.3.5:
+ version "1.3.9"
+ resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-1.3.9.tgz#29dfff53e17b36aecae7530adbbbf622c2ed1a71"
+ dependencies:
+ JSONStream "^1.0.3"
+ shasum "^1.0.0"
+ subarg "^1.0.0"
+ through2 "^1.0.0"
+
+deps-sort@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-0.1.2.tgz#daa2fb614a17c9637d801e2f55339ae370f3611a"
+ dependencies:
+ JSONStream "~0.6.4"
+ minimist "~0.0.1"
+ through "~2.3.4"
+
+derequire@~0.8.0:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/derequire/-/derequire-0.8.0.tgz#c1f7f1da2cede44adede047378f03f444e9c4c0d"
+ dependencies:
+ esprima-fb "^3001.1.0-dev-harmony-fb"
+ esrefactor "~0.1.0"
+ estraverse "~1.5.0"
+
+des.js@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
+ dependencies:
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+
+destroy@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
+
+detective@^4.0.0, detective@~4.1.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/detective/-/detective-4.1.1.tgz#9c4bac1e9fb8bb34f7f18cae080ea1d03aff2cda"
+ dependencies:
+ acorn "^1.0.3"
+ defined "^1.0.0"
+ escodegen "^1.4.1"
+
+detective@~3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/detective/-/detective-3.1.0.tgz#77782444ab752b88ca1be2e9d0a0395f1da25eed"
+ dependencies:
+ escodegen "~1.1.0"
+ esprima-fb "3001.1.0-dev-harmony-fb"
+
+diff@3.x.x:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9"
+
+diffie-hellman@^5.0.0:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e"
+ dependencies:
+ bn.js "^4.1.0"
+ miller-rabin "^4.0.0"
+ randombytes "^2.0.0"
+
+dkim-signer@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/dkim-signer/-/dkim-signer-0.1.2.tgz#2ff5d61c87d8fbff5a8b131cffc5ec3ba1c25553"
+ dependencies:
+ mimelib "~0.2.15"
+ punycode "~1.2.4"
+
+doctrine@^1.2.2:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
+ dependencies:
+ esutils "^2.0.2"
+ isarray "^1.0.0"
+
+dom-walk@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018"
+
+domain-browser@~1.1.0:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc"
+
+domify@^1.2.2, domify@^1.3.1, domify@^1.3.2, domify@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/domify/-/domify-1.4.0.tgz#11483617f764f8695975b4bdc79b14f0803b629b"
+
+domify@~1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/domify/-/domify-1.2.2.tgz#1425961479b9bfac7383577c87bdcc019ec693b9"
+
+domready@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/domready/-/domready-1.0.8.tgz#91f252e597b65af77e745ae24dd0185d5e26d58c"
+
+dot-parts@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/dot-parts/-/dot-parts-1.0.1.tgz#884bd7bcfc3082ffad2fe5db53e494d8f3e0743f"
+
+dtrace-provider@~0.8:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.0.tgz#fa95fbf67ed3ae3e97364f9664af7302e5ff5625"
+ dependencies:
+ nan "^2.3.3"
+
+duplexer2@0.0.2, duplexer2@~0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
+ dependencies:
+ readable-stream "~1.1.9"
+
+duplexer@~0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
+
+duplexify@^3.2.0:
+ version "3.5.0"
+ resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.0.tgz#1aa773002e1578457e9d9d4a50b0ccaaebcbd604"
+ dependencies:
+ end-of-stream "1.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+ stream-shift "^1.0.0"
+
+ecc-jsbn@~0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
+ dependencies:
+ jsbn "~0.1.0"
+
+ee-first@1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.0.5.tgz#8c9b212898d8cd9f1a9436650ce7be202c9e9ff0"
+
+ee-first@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+
+elliptic@^6.0.0:
+ version "6.3.2"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.2.tgz#e4c81e0829cf0a65ab70e998b8232723b5c1bc48"
+ dependencies:
+ bn.js "^4.4.0"
+ brorand "^1.0.1"
+ hash.js "^1.0.0"
+ inherits "^2.0.1"
+
+emailjs@~0.3.8:
+ version "0.3.16"
+ resolved "https://registry.yarnpkg.com/emailjs/-/emailjs-0.3.16.tgz#f162735352ce7b6615a5d811714051f90f23331d"
+ dependencies:
+ addressparser "^0.3.2"
+ mimelib "0.2.14"
+ moment "= 1.7.0"
+ starttls "0.2.1"
+ optionalDependencies:
+ bufferjs "=1.1.0"
+
+emitter-component@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/emitter-component/-/emitter-component-1.0.0.tgz#f04dd18fc3dc3e9a74cbc0f310b088666e4c016f"
+
+encodeurl@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"
+
+encoding@~0.1, encoding@~0.1.7:
+ version "0.1.12"
+ resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
+ dependencies:
+ iconv-lite "~0.4.13"
+
+end-of-stream@1.0.0, end-of-stream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.0.0.tgz#d4596e702734a93e40e9af864319eabd99ff2f0e"
+ dependencies:
+ once "~1.3.0"
+
+engine.io-client@1.8.2:
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.2.tgz#c38767547f2a7d184f5752f6f0ad501006703766"
+ dependencies:
+ component-emitter "1.2.1"
+ component-inherit "0.0.3"
+ debug "2.3.3"
+ engine.io-parser "1.3.2"
+ has-cors "1.1.0"
+ indexof "0.0.1"
+ parsejson "0.0.3"
+ parseqs "0.0.5"
+ parseuri "0.0.5"
+ ws "1.1.1"
+ xmlhttprequest-ssl "1.5.3"
+ yeast "0.1.2"
+
+engine.io-parser@1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a"
+ dependencies:
+ after "0.8.2"
+ arraybuffer.slice "0.0.6"
+ base64-arraybuffer "0.1.5"
+ blob "0.0.4"
+ has-binary "0.1.7"
+ wtf-8 "1.0.0"
+
+engine.io@1.8.2:
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.2.tgz#6b59be730b348c0125b0a4589de1c355abcf7a7e"
+ dependencies:
+ accepts "1.3.3"
+ base64id "1.0.0"
+ cookie "0.3.1"
+ debug "2.3.3"
+ engine.io-parser "1.3.2"
+ ws "1.1.1"
+
+es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7:
+ version "0.10.12"
+ resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047"
+ dependencies:
+ es6-iterator "2"
+ es6-symbol "~3.1"
+
+es6-iterator@2:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac"
+ dependencies:
+ d "^0.1.1"
+ es5-ext "^0.10.7"
+ es6-symbol "3"
+
+es6-map@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897"
+ dependencies:
+ d "~0.1.1"
+ es5-ext "~0.10.11"
+ es6-iterator "2"
+ es6-set "~0.1.3"
+ es6-symbol "~3.1.0"
+ event-emitter "~0.3.4"
+
+es6-promise@3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.2.1.tgz#ec56233868032909207170c39448e24449dd1fc4"
+
+es6-promise@^3.0.2, es6-promise@^3.1.2:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613"
+
+es6-set@~0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8"
+ dependencies:
+ d "~0.1.1"
+ es5-ext "~0.10.11"
+ es6-iterator "2"
+ es6-symbol "3"
+ event-emitter "~0.3.4"
+
+es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa"
+ dependencies:
+ d "~0.1.1"
+ es5-ext "~0.10.11"
+
+es6-weak-map@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81"
+ dependencies:
+ d "^0.1.1"
+ es5-ext "^0.10.8"
+ es6-iterator "2"
+ es6-symbol "3"
+
+escape-html@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+
+escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+
+escodegen@1.3.x:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.3.3.tgz#f024016f5a88e046fd12005055e939802e6c5f23"
+ dependencies:
+ esprima "~1.1.1"
+ estraverse "~1.5.0"
+ esutils "~1.0.0"
+ optionalDependencies:
+ source-map "~0.1.33"
+
+escodegen@1.6.1, escodegen@^1.4.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.6.1.tgz#367de17d8510540d12bc6dcb8b3f918391265815"
+ dependencies:
+ esprima "^1.2.2"
+ estraverse "^1.9.1"
+ esutils "^1.1.6"
+ optionator "^0.5.0"
+ optionalDependencies:
+ source-map "~0.1.40"
+
+escodegen@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.1.0.tgz#c663923f6e20aad48d0c0fa49f31c6d4f49360cf"
+ dependencies:
+ esprima "~1.0.4"
+ estraverse "~1.5.0"
+ esutils "~1.0.0"
+ optionalDependencies:
+ source-map "~0.1.30"
+
+escope@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
+ dependencies:
+ es6-map "^0.1.3"
+ es6-weak-map "^2.0.1"
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+escope@~0.0.13:
+ version "0.0.16"
+ resolved "https://registry.yarnpkg.com/escope/-/escope-0.0.16.tgz#418c7a0afca721dafe659193fd986283e746538f"
+ dependencies:
+ estraverse ">= 0.0.2"
+
+eslint-config-hapi@10.x.x:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-hapi/-/eslint-config-hapi-10.0.0.tgz#9980affd76103ebc1fec92b45638345db19348f5"
+
+eslint-config-standard-jsx@3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-3.2.0.tgz#c240e26ed919a11a42aa4de8059472b38268d620"
+
+eslint-config-standard@6.2.1:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-6.2.1.tgz#d3a68aafc7191639e7ee441e7348739026354292"
+
+eslint-plugin-hapi@4.x.x:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-hapi/-/eslint-plugin-hapi-4.0.0.tgz#44aa2e45f7939a523929cd832bb9aa129a95e823"
+ dependencies:
+ hapi-capitalize-modules "1.x.x"
+ hapi-for-you "1.x.x"
+ hapi-scope-start "2.x.x"
+ no-arrowception "1.x.x"
+
+eslint-plugin-promise@~3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.4.0.tgz#6ba9048c2df57be77d036e0c68918bc9b4fc4195"
+
+eslint-plugin-react@~6.7.1:
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.7.1.tgz#1af96aea545856825157d97c1b50d5a8fb64a5a7"
+ dependencies:
+ doctrine "^1.2.2"
+ jsx-ast-utils "^1.3.3"
+
+eslint-plugin-standard@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-2.0.1.tgz#3589699ff9c917f2c25f76a916687f641c369ff3"
+
+eslint@3.13.x:
+ version "3.13.1"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.13.1.tgz#564d2646b5efded85df96985332edd91a23bff25"
+ dependencies:
+ babel-code-frame "^6.16.0"
+ chalk "^1.1.3"
+ concat-stream "^1.4.6"
+ debug "^2.1.1"
+ doctrine "^1.2.2"
+ escope "^3.6.0"
+ espree "^3.3.1"
+ estraverse "^4.2.0"
+ esutils "^2.0.2"
+ file-entry-cache "^2.0.0"
+ glob "^7.0.3"
+ globals "^9.14.0"
+ ignore "^3.2.0"
+ imurmurhash "^0.1.4"
+ inquirer "^0.12.0"
+ is-my-json-valid "^2.10.0"
+ is-resolvable "^1.0.0"
+ js-yaml "^3.5.1"
+ json-stable-stringify "^1.0.0"
+ levn "^0.3.0"
+ lodash "^4.0.0"
+ mkdirp "^0.5.0"
+ natural-compare "^1.4.0"
+ optionator "^0.8.2"
+ path-is-inside "^1.0.1"
+ pluralize "^1.2.1"
+ progress "^1.1.8"
+ require-uncached "^1.0.2"
+ shelljs "^0.7.5"
+ strip-bom "^3.0.0"
+ strip-json-comments "~2.0.1"
+ table "^3.7.8"
+ text-table "~0.2.0"
+ user-home "^2.0.0"
+
+eslint@~3.10.2:
+ version "3.10.2"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.10.2.tgz#c9a10e8bf6e9d65651204778c503341f1eac3ce7"
+ dependencies:
+ babel-code-frame "^6.16.0"
+ chalk "^1.1.3"
+ concat-stream "^1.4.6"
+ debug "^2.1.1"
+ doctrine "^1.2.2"
+ escope "^3.6.0"
+ espree "^3.3.1"
+ estraverse "^4.2.0"
+ esutils "^2.0.2"
+ file-entry-cache "^2.0.0"
+ glob "^7.0.3"
+ globals "^9.2.0"
+ ignore "^3.2.0"
+ imurmurhash "^0.1.4"
+ inquirer "^0.12.0"
+ is-my-json-valid "^2.10.0"
+ is-resolvable "^1.0.0"
+ js-yaml "^3.5.1"
+ json-stable-stringify "^1.0.0"
+ levn "^0.3.0"
+ lodash "^4.0.0"
+ mkdirp "^0.5.0"
+ natural-compare "^1.4.0"
+ optionator "^0.8.2"
+ path-is-inside "^1.0.1"
+ pluralize "^1.2.1"
+ progress "^1.1.8"
+ require-uncached "^1.0.2"
+ shelljs "^0.7.5"
+ strip-bom "^3.0.0"
+ strip-json-comments "~1.0.1"
+ table "^3.7.8"
+ text-table "~0.2.0"
+ user-home "^2.0.0"
+
+espree@3.x.x:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-3.1.4.tgz#0726d7ac83af97a7c8498da9b363a3609d2a68a1"
+ dependencies:
+ acorn "^3.1.0"
+ acorn-jsx "^3.0.0"
+
+espree@^3.3.1:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-3.3.2.tgz#dbf3fadeb4ecb4d4778303e50103b3d36c88b89c"
+ dependencies:
+ acorn "^4.0.1"
+ acorn-jsx "^3.0.0"
+
+esprima-fb@3001.1.0-dev-harmony-fb, esprima-fb@^3001.1.0-dev-harmony-fb:
+ version "3001.1.0-dev-harmony-fb"
+ resolved "https://registry.yarnpkg.com/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz#b77d37abcd38ea0b77426bb8bc2922ce6b426411"
+
+esprima@1.2.x, esprima@^1.2.2:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.5.tgz#0993502feaf668138325756f30f9a51feeec11e9"
+
+esprima@^2.5.0, esprima@^2.6.0:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
+
+esprima@~1.0.2, esprima@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad"
+
+esprima@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.1.1.tgz#5b6f1547f4d102e670e140c509be6771d6aeb549"
+
+esrecurse@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220"
+ dependencies:
+ estraverse "~4.1.0"
+ object-assign "^4.0.1"
+
+esrefactor@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/esrefactor/-/esrefactor-0.1.0.tgz#d142795a282339ab81e936b5b7a21b11bf197b13"
+ dependencies:
+ escope "~0.0.13"
+ esprima "~1.0.2"
+ estraverse "~0.0.4"
+
+"estraverse@>= 0.0.2", estraverse@^4.1.1, estraverse@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
+
+estraverse@^1.9.1:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
+
+estraverse@~0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-0.0.4.tgz#01a0932dfee574684a598af5a67c3bf9b6428db2"
+
+estraverse@~1.5.0:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.5.1.tgz#867a3e8e58a9f84618afb6c2ddbcd916b7cbaf71"
+
+estraverse@~4.1.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2"
+
+esutils@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375"
+
+esutils@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
+
+esutils@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.0.0.tgz#8151d358e20c8acc7fb745e7472c0025fe496570"
+
+etag@~1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8"
+
+event-emitter@~0.3.4:
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5"
+ dependencies:
+ d "~0.1.1"
+ es5-ext "~0.10.7"
+
+event-stream@~3.3.0:
+ version "3.3.4"
+ resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571"
+ dependencies:
+ duplexer "~0.1.1"
+ from "~0"
+ map-stream "~0.1.0"
+ pause-stream "0.0.11"
+ split "0.3"
+ stream-combiner "~0.0.4"
+ through "~2.3.1"
+
+events-mixin@^1.2.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/events-mixin/-/events-mixin-1.3.0.tgz#552167de80a8c350a1f200eb73d2017ae797ecdd"
+ dependencies:
+ component-event "^0.1.3"
+ delegate-events "^1.1.0"
+
+events@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/events/-/events-1.0.2.tgz#75849dcfe93d10fb057c30055afdbd51d06a8e24"
+
+evp_bytestokey@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53"
+ dependencies:
+ create-hash "^1.1.1"
+
+exit-hook@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
+
+expand-brackets@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
+ dependencies:
+ is-posix-bracket "^0.1.0"
+
+expand-range@^1.8.1:
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
+ dependencies:
+ fill-range "^2.1.0"
+
+exposify@~0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/exposify/-/exposify-0.4.3.tgz#1963eb34c489f8bfba02dfd27fccfbc117384c9e"
+ dependencies:
+ globo "~1.0.0"
+ has-require "~1.1.0"
+ map-obj "~1.0.1"
+ replace-requires "~1.0.1"
+ through2 "~0.4.0"
+ transformify "~0.1.1"
+
+express-state@1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/express-state/-/express-state-1.0.3.tgz#b6f368743a95d8a91b7683adf593d02b1577ec02"
+
+express@3.4.8:
+ version "3.4.8"
+ resolved "https://registry.yarnpkg.com/express/-/express-3.4.8.tgz#aa7a8986de07053337f4bc5ed9a6453d9cc8e2e1"
+ dependencies:
+ buffer-crc32 "0.2.1"
+ commander "1.3.2"
+ connect "2.12.0"
+ cookie "0.1.0"
+ cookie-signature "1.0.1"
+ debug ">= 0.7.3 < 1"
+ fresh "0.2.0"
+ merge-descriptors "0.0.1"
+ methods "0.1.0"
+ mkdirp "0.3.5"
+ range-parser "0.0.4"
+ send "0.1.4"
+
+express@4.x:
+ version "4.14.0"
+ resolved "https://registry.yarnpkg.com/express/-/express-4.14.0.tgz#c1ee3f42cdc891fb3dc650a8922d51ec847d0d66"
+ dependencies:
+ accepts "~1.3.3"
+ array-flatten "1.1.1"
+ content-disposition "0.5.1"
+ content-type "~1.0.2"
+ cookie "0.3.1"
+ cookie-signature "1.0.6"
+ debug "~2.2.0"
+ depd "~1.1.0"
+ encodeurl "~1.0.1"
+ escape-html "~1.0.3"
+ etag "~1.7.0"
+ finalhandler "0.5.0"
+ fresh "0.3.0"
+ merge-descriptors "1.0.1"
+ methods "~1.1.2"
+ on-finished "~2.3.0"
+ parseurl "~1.3.1"
+ path-to-regexp "0.1.7"
+ proxy-addr "~1.1.2"
+ qs "6.2.0"
+ range-parser "~1.2.0"
+ send "0.14.1"
+ serve-static "~1.11.1"
+ type-is "~1.6.13"
+ utils-merge "1.0.0"
+ vary "~1.1.0"
+
+extend-object@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/extend-object/-/extend-object-1.0.0.tgz#42514f84015d1356caf5187969dfb2bc1bda0823"
+
+extend@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4"
+
+extglob@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
+ dependencies:
+ is-extglob "^1.0.0"
+
+extsprintf@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
+
+falafel@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/falafel/-/falafel-1.2.0.tgz#c18d24ef5091174a497f318cd24b026a25cddab4"
+ dependencies:
+ acorn "^1.0.3"
+ foreach "^2.0.5"
+ isarray "0.0.1"
+ object-keys "^1.0.6"
+
+fast-levenshtein@~1.0.0:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz#0178dcdee023b92905193af0959e8a7639cfdcb9"
+
+fast-levenshtein@~2.0.4:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz#bd33145744519ab1c36c3ee9f31f08e9079b67f2"
+
+favicon-setter@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/favicon-setter/-/favicon-setter-0.1.1.tgz#853b50cf1578dc0bd1f91b235aec291d46de9313"
+
+faye-websocket@~0.7.2:
+ version "0.7.3"
+ resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.7.3.tgz#cc4074c7f4a4dfd03af54dd65c354b135132ce11"
+ dependencies:
+ websocket-driver ">=0.3.6"
+
+figures@^1.3.5:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
+ dependencies:
+ escape-string-regexp "^1.0.5"
+ object-assign "^4.1.0"
+
+file-entry-cache@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
+ dependencies:
+ flat-cache "^1.2.1"
+ object-assign "^4.0.1"
+
+file-utils@~0.1.5:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/file-utils/-/file-utils-0.1.5.tgz#dc8153c855387cb4dacb0a1725531fa444a6b48c"
+ dependencies:
+ findup-sync "~0.1.2"
+ glob "~3.2.6"
+ iconv-lite "~0.2.11"
+ isbinaryfile "~0.1.9"
+ lodash "~2.1.0"
+ minimatch "~0.2.12"
+ rimraf "~2.2.2"
+
+file-utils@~0.2.0:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/file-utils/-/file-utils-0.2.2.tgz#4b7967bb2079ada4d4a7f5454206ecb5c0d4c589"
+ dependencies:
+ findup-sync "^0.2.1"
+ glob "^4.3.5"
+ iconv-lite "^0.4.3"
+ isbinaryfile "^2.0.1"
+ lodash "^2.4.1"
+ minimatch "^2.0.1"
+ rimraf "^2.2.2"
+
+filename-regex@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775"
+
+fileset@0.1.x:
+ version "0.1.8"
+ resolved "https://registry.yarnpkg.com/fileset/-/fileset-0.1.8.tgz#506b91a9396eaa7e32fb42a84077c7a0c736b741"
+ dependencies:
+ glob "3.x"
+ minimatch "0.x"
+
+fill-range@^2.1.0:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
+ dependencies:
+ is-number "^2.1.0"
+ isobject "^2.0.0"
+ randomatic "^1.1.3"
+ repeat-element "^1.1.2"
+ repeat-string "^1.5.2"
+
+finalhandler@0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7"
+ dependencies:
+ debug "~2.2.0"
+ escape-html "~1.0.3"
+ on-finished "~2.3.0"
+ statuses "~1.3.0"
+ unpipe "~1.0.0"
+
+find-nearest-file@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/find-nearest-file/-/find-nearest-file-1.0.0.tgz#bf539d7d0f02996631fa2196680f6776762b9f70"
+
+find-parent-dir@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54"
+
+find-rc@3.0.x:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/find-rc/-/find-rc-3.0.1.tgz#54a4178370f10bc9371fa8d1b2c2809a2afa0cce"
+
+find-root@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/find-root/-/find-root-0.1.2.tgz#98d2267cff1916ccaf2743b3a0eea81d79d7dcd1"
+
+find-root@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.0.0.tgz#962ff211aab25c6520feeeb8d6287f8f6e95807a"
+
+findup-sync@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.2.1.tgz#e0a90a450075c49466ee513732057514b81e878c"
+ dependencies:
+ glob "~4.3.0"
+
+findup-sync@~0.1.2:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.1.3.tgz#7f3e7a97b82392c653bf06589bd85190e93c3683"
+ dependencies:
+ glob "~3.2.9"
+ lodash "~2.4.1"
+
+firefox-profile@0.2.7:
+ version "0.2.7"
+ resolved "https://registry.yarnpkg.com/firefox-profile/-/firefox-profile-0.2.7.tgz#fe46afc2ed6a96f62c5c3bd446fa259f6014a909"
+ dependencies:
+ adm-zip "~0.4.3"
+ archiver "~0.7.1"
+ async "~0.2.9"
+ fs-extra "~0.8.1"
+ lazystream "~0.1.0"
+ node-uuid "~1.4.1"
+ wrench "~1.5.1"
+ xml2js "~0.4.0"
+
+flat-cache@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.1.tgz#6c837d6225a7de5659323740b36d5361f71691ff"
+ dependencies:
+ circular-json "^0.3.0"
+ del "^2.0.2"
+ graceful-fs "^4.1.2"
+ write "^0.2.1"
+
+follow-redirects@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-0.0.3.tgz#6ce67a24db1fe13f226c1171a72a7ef2b17b8f65"
+ dependencies:
+ underscore ""
+
+for-each@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.2.tgz#2c40450b9348e97f281322593ba96704b9abd4d4"
+ dependencies:
+ is-function "~1.0.0"
+
+for-in@^0.1.5:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8"
+
+for-own@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072"
+ dependencies:
+ for-in "^0.1.5"
+
+forEachAsync@~2.2:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/forEachAsync/-/forEachAsync-2.2.1.tgz#e3723f00903910e1eb4b1db3ad51b5c64a319fec"
+ dependencies:
+ sequence "2.x"
+
+foreach-shim@~0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/foreach-shim/-/foreach-shim-0.1.1.tgz#be61d75f46abb7176f5abd295e35885751b71d94"
+
+foreach@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
+
+forever-agent@~0.5.0:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.5.2.tgz#6d0e09c4921f94a27f63d3b49c5feff1ea4c5130"
+
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+
+form-data@~0.0.3:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-0.0.10.tgz#db345a5378d86aeeb1ed5d553b869ac192d2f5ed"
+ dependencies:
+ async "~0.2.7"
+ combined-stream "~0.0.4"
+ mime "~1.2.2"
+
+form-data@~0.1.0:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-0.1.4.tgz#91abd788aba9702b1aabfa8bc01031a2ac9e3b12"
+ dependencies:
+ async "~0.9.0"
+ combined-stream "~0.0.4"
+ mime "~1.2.11"
+
+form-data@~2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4"
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.5"
+ mime-types "^2.1.12"
+
+formidable@1.0.14:
+ version "1.0.14"
+ resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.0.14.tgz#2b3f4c411cbb5fdd695c44843e2a23514a43231a"
+
+forwarded@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363"
+
+fresh@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.2.0.tgz#bfd9402cf3df12c4a4c310c79f99a3dde13d34a7"
+
+fresh@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f"
+
+from@~0:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/from/-/from-0.1.3.tgz#ef63ac2062ac32acf7862e0d40b44b896f22f3bc"
+
+fs-extra@~0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.8.1.tgz#0e5779ffbfedf511bc755595c7f03c06d4b43e8d"
+ dependencies:
+ jsonfile "~1.1.0"
+ mkdirp "0.3.x"
+ ncp "~0.4.2"
+ rimraf "~2.2.0"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+
+fsevents@^1.0.0:
+ version "1.0.15"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.15.tgz#fa63f590f3c2ad91275e4972a6cea545fb0aae44"
+ dependencies:
+ nan "^2.3.0"
+ node-pre-gyp "^0.6.29"
+
+fstream-ignore@~1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
+ dependencies:
+ fstream "^1.0.0"
+ inherits "2"
+ minimatch "^3.0.0"
+
+fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822"
+ dependencies:
+ graceful-fs "^4.1.2"
+ inherits "~2.0.0"
+ mkdirp ">=0.5 0"
+ rimraf "2"
+
+gauge@~2.7.1:
+ version "2.7.2"
+ resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.2.tgz#15cecc31b02d05345a5d6b0e171cdb3ad2307774"
+ dependencies:
+ aproba "^1.0.3"
+ console-control-strings "^1.0.0"
+ has-unicode "^2.0.0"
+ object-assign "^4.1.0"
+ signal-exit "^3.0.0"
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ supports-color "^0.2.0"
+ wide-align "^1.1.0"
+
+gaze@~1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105"
+ dependencies:
+ globule "^1.0.0"
+
+generate-function@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
+
+generate-object-property@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
+ dependencies:
+ is-property "^1.0.0"
+
+get-object-path@^0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/get-object-path/-/get-object-path-0.0.2.tgz#70fd926cb961a6195ba7732ce96d50d91a29f0b9"
+
+get-stdin@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
+
+getpass@^0.1.1:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
+ dependencies:
+ assert-plus "^1.0.0"
+
+glob-base@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+ dependencies:
+ glob-parent "^2.0.0"
+ is-glob "^2.0.0"
+
+glob-parent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+ dependencies:
+ is-glob "^2.0.0"
+
+glob@3.x, glob@~3.2.6, glob@~3.2.8, glob@~3.2.9:
+ version "3.2.11"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d"
+ dependencies:
+ inherits "2"
+ minimatch "0.3"
+
+glob@7.0.x, glob@^7.0.3:
+ version "7.0.6"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a"
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.2"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^4.0.5, glob@^4.3.5:
+ version "4.5.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f"
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^2.0.1"
+ once "^1.3.0"
+
+glob@^5.0.14:
+ version "5.0.15"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "2 || 3"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^6.0.1:
+ version "6.0.4"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "2 || 3"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^7.0.0, glob@^7.0.5, glob@~7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.2"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@~3.1.11:
+ version "3.1.21"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd"
+ dependencies:
+ graceful-fs "~1.2.0"
+ inherits "1"
+ minimatch "~0.2.11"
+
+glob@~4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-4.0.6.tgz#695c50bdd4e2fb5c5d370b091f388d3707e291a7"
+ dependencies:
+ graceful-fs "^3.0.2"
+ inherits "2"
+ minimatch "^1.0.0"
+ once "^1.3.0"
+
+glob@~4.3.0:
+ version "4.3.5"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-4.3.5.tgz#80fbb08ca540f238acce5d11d1e9bc41e75173d3"
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^2.0.1"
+ once "^1.3.0"
+
+global@~4.3.0:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/global/-/global-4.3.1.tgz#5f757908c7cbabce54f386ae440e11e26b7916df"
+ dependencies:
+ min-document "^2.19.0"
+ process "~0.5.1"
+
+globals@^9.14.0, globals@^9.2.0:
+ version "9.14.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034"
+
+globby@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
+ dependencies:
+ array-union "^1.0.1"
+ arrify "^1.0.0"
+ glob "^7.0.3"
+ object-assign "^4.0.1"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+globo@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/globo/-/globo-1.0.2.tgz#68f75ce2a045440d3a704131786f88d4205f49bd"
+ dependencies:
+ accessory "~1.0.0"
+ is-defined "~1.0.0"
+ ternary "~1.0.0"
+
+globule@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/globule/-/globule-1.1.0.tgz#c49352e4dc183d85893ee825385eb994bb6df45f"
+ dependencies:
+ glob "~7.1.1"
+ lodash "~4.16.4"
+ minimatch "~3.0.2"
+
+got@^3.2.0:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/got/-/got-3.3.1.tgz#e5d0ed4af55fc3eef4d56007769d98192bcb2eca"
+ dependencies:
+ duplexify "^3.2.0"
+ infinity-agent "^2.0.0"
+ is-redirect "^1.0.0"
+ is-stream "^1.0.0"
+ lowercase-keys "^1.0.0"
+ nested-error-stacks "^1.0.0"
+ object-assign "^3.0.0"
+ prepend-http "^1.0.0"
+ read-all-stream "^3.0.0"
+ timed-out "^2.0.0"
+
+graceful-fs@^3.0.2:
+ version "3.0.11"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818"
+ dependencies:
+ natives "^1.1.0"
+
+graceful-fs@^4.1.2:
+ version "4.1.11"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
+
+graceful-fs@~1.2.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
+
+"graceful-readlink@>= 1.0.0":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
+
+handlebars@1.0.12:
+ version "1.0.12"
+ resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-1.0.12.tgz#18c6d3440c35e91b19b3ff582b9151ab4985d4fc"
+ dependencies:
+ optimist "~0.3"
+ uglify-js "~2.3"
+
+handlebars@1.3.x:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-1.3.0.tgz#9e9b130a93e389491322d975cf3ec1818c37ce34"
+ dependencies:
+ optimist "~0.3"
+ optionalDependencies:
+ uglify-js "~2.3"
+
+handlebars@4.x.x, handlebars@^4.0.0, handlebars@^4.0.5:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7"
+ dependencies:
+ async "^1.4.0"
+ optimist "^0.6.1"
+ source-map "^0.4.4"
+ optionalDependencies:
+ uglify-js "^2.6"
+
+hapi-auth-cookie@^6.1.1:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/hapi-auth-cookie/-/hapi-auth-cookie-6.1.1.tgz#927db39e434916d81ab870d4181d70d53e745572"
+ dependencies:
+ boom "3.x.x"
+ hoek "3.x.x"
+ joi "7.x.x"
+
+hapi-capitalize-modules@1.x.x:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/hapi-capitalize-modules/-/hapi-capitalize-modules-1.1.6.tgz#7991171415e15e6aa3231e64dda73c8146665318"
+
+hapi-for-you@1.x.x:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/hapi-for-you/-/hapi-for-you-1.0.0.tgz#d362fbee8d7bda9c2c7801e207e5a5cd1a0b6a7b"
+
+hapi-scope-start@2.x.x:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/hapi-scope-start/-/hapi-scope-start-2.1.1.tgz#7495a726fe72b7bca8de2cdcc1d87cd8ce6ab4f2"
+
+hapi-swagger@^7.6.0:
+ version "7.6.0"
+ resolved "https://registry.yarnpkg.com/hapi-swagger/-/hapi-swagger-7.6.0.tgz#20d84d388409992c416bfb098a00869cb5e72a20"
+ dependencies:
+ boom "^4.0.0"
+ handlebars "^4.0.5"
+ hoek "^4.0.1"
+ http-status "^0.2.3"
+ joi "10.0.5"
+ json-schema-ref-parser "^3.1.2"
+ swagger-parser "^3.4.1"
+
+hapi@^16.1.0:
+ version "16.1.0"
+ resolved "https://registry.yarnpkg.com/hapi/-/hapi-16.1.0.tgz#419dd86347588821eb5a0a5f493bce019802d33b"
+ dependencies:
+ accept "2.x.x"
+ ammo "2.x.x"
+ boom "4.x.x"
+ call "4.x.x"
+ catbox "7.x.x"
+ catbox-memory "2.x.x"
+ cryptiles "3.x.x"
+ heavy "4.x.x"
+ hoek "4.x.x"
+ iron "4.x.x"
+ items "2.x.x"
+ joi "10.x.x"
+ mimos "3.x.x"
+ podium "^1.2.x"
+ shot "3.x.x"
+ statehood "5.x.x"
+ subtext "^4.3.x"
+ topo "2.x.x"
+
+har-validator@~2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
+ dependencies:
+ chalk "^1.1.1"
+ commander "^2.9.0"
+ is-my-json-valid "^2.12.4"
+ pinkie-promise "^2.0.0"
+
+has-ansi@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ dependencies:
+ ansi-regex "^2.0.0"
+
+has-binary@0.1.7:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c"
+ dependencies:
+ isarray "0.0.1"
+
+has-cors@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
+
+has-require@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/has-require/-/has-require-1.1.0.tgz#41e3e8bb8623467893edbc3909a5893de52c76f8"
+
+has-require@~1.2.1:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/has-require/-/has-require-1.2.2.tgz#921675ab130dbd9768fc8da8f1a8e242dfa41774"
+ dependencies:
+ escape-string-regexp "^1.0.3"
+
+has-unicode@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+
+hash.js@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573"
+ dependencies:
+ inherits "^2.0.1"
+
+hawk@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/hawk/-/hawk-1.1.1.tgz#87cd491f9b46e4e2aeaca335416766885d2d1ed9"
+ dependencies:
+ boom "0.4.x"
+ cryptiles "0.2.x"
+ hoek "0.9.x"
+ sntp "0.2.x"
+
+hawk@~3.1.3:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
+ dependencies:
+ boom "2.x.x"
+ cryptiles "2.x.x"
+ hoek "2.x.x"
+ sntp "1.x.x"
+
+hbs@2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/hbs/-/hbs-2.4.0.tgz#f4c956cb660d6974dc61214b7c49a21f6aaa3f51"
+ dependencies:
+ handlebars "1.0.12"
+ walk "2.2.1"
+
+he@~0.3.6:
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/he/-/he-0.3.6.tgz#9d7bc446e77963933301dd602d5731cb861135e0"
+
+heavy@4.x.x:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/heavy/-/heavy-4.0.3.tgz#976bba118b011b15fe904aa4f292a168bfc6232f"
+ dependencies:
+ boom "4.x.x"
+ hoek "4.x.x"
+ joi "10.x.x"
+
+highlight.js@7.5.0:
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-7.5.0.tgz#0052595eef15845d842e02a03313afadc3ebd6cc"
+
+hoek@0.9.x:
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/hoek/-/hoek-0.9.1.tgz#3d322462badf07716ea7eb85baf88079cddce505"
+
+hoek@2.x.x, hoek@^2.9.0:
+ version "2.16.3"
+ resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
+
+hoek@3.x.x:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/hoek/-/hoek-3.0.4.tgz#268adff66bb6695c69b4789a88b1e0847c3f3123"
+
+hoek@4.x.x, hoek@^4.0.1:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.1.0.tgz#4a4557460f69842ed463aa00628cc26d2683afa7"
+
+home-or-tmp@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.1"
+
+hooks-fixed@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/hooks-fixed/-/hooks-fixed-1.2.0.tgz#0d2772d4d7d685ff9244724a9f0b5b2559aac96b"
+
+http-browserify@^1.4.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/http-browserify/-/http-browserify-1.7.0.tgz#33795ade72df88acfbfd36773cefeda764735b20"
+ dependencies:
+ Base64 "~0.2.0"
+ inherits "~2.0.1"
+
+http-errors@~1.5.0:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750"
+ dependencies:
+ inherits "2.0.3"
+ setprototypeof "1.0.2"
+ statuses ">= 1.3.1 < 2"
+
+http-signature@~0.10.0:
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-0.10.1.tgz#4fbdac132559aa8323121e540779c0a012b27e66"
+ dependencies:
+ asn1 "0.1.11"
+ assert-plus "^0.1.5"
+ ctype "0.5.3"
+
+http-signature@~1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
+ dependencies:
+ assert-plus "^0.2.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
+http-status@^0.2.3:
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/http-status/-/http-status-0.2.5.tgz#976f91077ea7bfc15277cbcf8c80c4d5c51b49b0"
+
+https-browserify@~0.0.0:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"
+
+icalendar@^0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/icalendar/-/icalendar-0.7.1.tgz#d0d3486795f8f1c5cf4f8cafac081b4b4e7a32ae"
+
+iconv-lite@0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.3.tgz#9e7887793b769cc695eb22d2546a4fd2d79b7a1e"
+
+iconv-lite@0.4.4:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.4.tgz#e95f2e41db0735fc21652f7827a5ee32e63c83a8"
+
+iconv-lite@^0.4.3, iconv-lite@~0.4.13:
+ version "0.4.15"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
+
+iconv-lite@~0.2.11:
+ version "0.2.11"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.2.11.tgz#1ce60a3a57864a292d1321ff4609ca4bb965adc8"
+
+ieee754@^1.1.4, ieee754@~1.1.1:
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
+
+ignore-by-default@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
+
+ignore@^3.0.9, ignore@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435"
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+
+indexof@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
+
+inert@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/inert/-/inert-4.1.0.tgz#e68df9fb0b87d8ad688e3428daaf35d623b64f5d"
+ dependencies:
+ ammo "2.x.x"
+ boom "4.x.x"
+ hoek "4.x.x"
+ items "2.x.x"
+ joi "10.x.x"
+ lru-cache "4.0.x"
+
+infinity-agent@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/infinity-agent/-/infinity-agent-2.0.3.tgz#45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216"
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b"
+
+inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+
+inherits@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
+
+ini@~1.3.0:
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
+
+inline-source-map@~0.3.0:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.3.1.tgz#a528b514e689fce90db3089e870d92f527acb5eb"
+ dependencies:
+ source-map "~0.3.0"
+
+inline-source-map@~0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.5.0.tgz#4a4c5dd8e4fb5e9b3cda60c822dfadcaee66e0af"
+ dependencies:
+ source-map "~0.4.0"
+
+inquirer@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
+ dependencies:
+ ansi-escapes "^1.1.0"
+ ansi-regex "^2.0.0"
+ chalk "^1.0.0"
+ cli-cursor "^1.0.1"
+ cli-width "^2.0.0"
+ figures "^1.3.5"
+ lodash "^4.3.0"
+ readline2 "^1.0.1"
+ run-async "^0.1.0"
+ rx-lite "^3.1.2"
+ string-width "^1.0.1"
+ strip-ansi "^3.0.0"
+ through "^2.3.6"
+
+insert-module-globals@^6.1.0:
+ version "6.6.3"
+ resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-6.6.3.tgz#20638e29a30f9ed1ca2e3a825fbc2cba5246ddfc"
+ dependencies:
+ JSONStream "^1.0.3"
+ combine-source-map "~0.6.1"
+ concat-stream "~1.4.1"
+ is-buffer "^1.1.0"
+ lexical-scope "^1.2.0"
+ process "~0.11.0"
+ through2 "^1.0.0"
+ xtend "^4.0.0"
+
+insert-module-globals@~6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-6.0.0.tgz#ee8aeb9dee16819e33aa14588a558824af0c15dc"
+ dependencies:
+ JSONStream "~0.7.1"
+ concat-stream "~1.4.1"
+ lexical-scope "~1.1.0"
+ process "~0.6.0"
+ through "~2.3.4"
+ xtend "^3.0.0"
+
+interpret@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c"
+
+ipaddr.js@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.1.1.tgz#c791d95f52b29c1247d5df80ada39b8a73647230"
+
+iron@4.x.x:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/iron/-/iron-4.0.4.tgz#c1f8cc4c91454194ab8920d9247ba882e528061a"
+ dependencies:
+ boom "4.x.x"
+ cryptiles "3.x.x"
+ hoek "4.x.x"
+
+is-array@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-array/-/is-array-1.0.1.tgz#e9850cc2cc860c3bc0977e84ccf0dd464584279a"
+
+is-binary-path@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ dependencies:
+ binary-extensions "^1.0.0"
+
+is-buffer@^1.0.2, is-buffer@^1.1.0:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b"
+
+is-defined@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-defined/-/is-defined-1.0.0.tgz#1f07ca67d571f594c4b14415a45f7bef88f92bf5"
+
+is-dotfile@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d"
+
+is-equal-shallow@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
+ dependencies:
+ is-primitive "^2.0.0"
+
+is-extendable@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+
+is-extglob@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+
+is-finite@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+
+is-function@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5"
+
+is-glob@^2.0.0, is-glob@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+ dependencies:
+ is-extglob "^1.0.0"
+
+is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4:
+ version "2.15.0"
+ resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b"
+ dependencies:
+ generate-function "^2.0.0"
+ generate-object-property "^1.1.0"
+ jsonpointer "^4.0.0"
+ xtend "^4.0.0"
+
+is-npm@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4"
+
+is-number@^2.0.2, is-number@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+ dependencies:
+ kind-of "^3.0.2"
+
+is-path-cwd@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
+
+is-path-in-cwd@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
+ dependencies:
+ is-path-inside "^1.0.0"
+
+is-path-inside@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f"
+ dependencies:
+ path-is-inside "^1.0.1"
+
+is-posix-bracket@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
+
+is-primitive@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+
+is-promise@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
+
+is-promise@~1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-1.0.1.tgz#31573761c057e33c2e91aab9e96da08cefbe76e5"
+
+is-property@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
+
+is-redirect@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
+
+is-resolvable@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62"
+ dependencies:
+ tryit "^1.0.1"
+
+is-stream@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+
+is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+
+isarray@0.0.1, isarray@~0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+
+isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+
+isbinaryfile@^2.0.1:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-2.0.4.tgz#d23592e6a6f093efb84c2e6152056be294e414a1"
+
+isbinaryfile@~0.1.9:
+ version "0.1.9"
+ resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-0.1.9.tgz#15eece35c4ab708d8924da99fb874f2b5cc0b6c4"
+
+isemail@2.x.x:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/isemail/-/isemail-2.2.1.tgz#0353d3d9a62951080c262c2aa0a42b8ea8e9e2a6"
+
+isexe@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0"
+
+isobject@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ dependencies:
+ isarray "1.0.0"
+
+isstream@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+
+istanbul-middleware@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/istanbul-middleware/-/istanbul-middleware-0.2.0.tgz#82c7951a044e94322cda679e95b0c40290d358d6"
+ dependencies:
+ archiver "0.10.x"
+ body-parser "~1.4.3"
+ express "4.x"
+ istanbul "0.2.x"
+
+istanbul@0.2.x, istanbul@^0.2.8:
+ version "0.2.16"
+ resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.2.16.tgz#870545a0d4f4b4ce161039e9e805a98c2c700bd9"
+ dependencies:
+ abbrev "1.0.x"
+ async "0.9.x"
+ escodegen "1.3.x"
+ esprima "1.2.x"
+ fileset "0.1.x"
+ handlebars "1.3.x"
+ js-yaml "3.x"
+ mkdirp "0.5.x"
+ nopt "3.x"
+ resolve "0.7.x"
+ which "1.0.x"
+ wordwrap "0.0.x"
+
+items@2.x.x:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/items/-/items-2.1.1.tgz#8bd16d9c83b19529de5aea321acaada78364a198"
+
+jade@^1.11.0:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/jade/-/jade-1.11.0.tgz#9c80e538c12d3fb95c8d9bb9559fa0cc040405fd"
+ dependencies:
+ character-parser "1.2.1"
+ clean-css "^3.1.9"
+ commander "~2.6.0"
+ constantinople "~3.0.1"
+ jstransformer "0.0.2"
+ mkdirp "~0.5.0"
+ transformers "2.1.0"
+ void-elements "~2.0.1"
+ with "~4.0.0"
+
+jodid25519@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967"
+ dependencies:
+ jsbn "~0.1.0"
+
+joi@10.0.5:
+ version "10.0.5"
+ resolved "https://registry.yarnpkg.com/joi/-/joi-10.0.5.tgz#2e43af9bf24d2d5745852e9ab968c85be357bd6a"
+ dependencies:
+ hoek "4.x.x"
+ isemail "2.x.x"
+ items "2.x.x"
+ topo "2.x.x"
+
+joi@10.x.x, joi@^10.2.0:
+ version "10.2.0"
+ resolved "https://registry.yarnpkg.com/joi/-/joi-10.2.0.tgz#2c9dba08240d453e58145667f0d5006de527e328"
+ dependencies:
+ hoek "4.x.x"
+ isemail "2.x.x"
+ items "2.x.x"
+ topo "2.x.x"
+
+joi@7.x.x:
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/joi/-/joi-7.3.0.tgz#4d9c9f181830444083665b5b6cd5b8ca6779a5e9"
+ dependencies:
+ hoek "3.x.x"
+ isemail "2.x.x"
+ moment "2.x.x"
+ topo "2.x.x"
+
+jquery@^2.1.1:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/jquery/-/jquery-2.2.4.tgz#2c89d6889b5eac522a7eea32c14521559c6cbf02"
+
+js-tokens@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.0.tgz#a2f2a969caae142fb3cd56228358c89366957bd1"
+
+js-yaml@3.x, js-yaml@^3.4.6, js-yaml@^3.5.1, js-yaml@^3.6.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^2.6.0"
+
+jsbn@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd"
+
+json-schema-ref-parser@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/json-schema-ref-parser/-/json-schema-ref-parser-1.4.1.tgz#c0c2e438bf0796723b02451bae8bc7dd0b37fed0"
+ dependencies:
+ call-me-maybe "^1.0.1"
+ debug "^2.2.0"
+ es6-promise "^3.0.2"
+ js-yaml "^3.4.6"
+ ono "^2.0.1"
+
+json-schema-ref-parser@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/json-schema-ref-parser/-/json-schema-ref-parser-3.1.2.tgz#a38ecb7774f87f32e7eb9723d5921390e76a9a42"
+ dependencies:
+ call-me-maybe "^1.0.1"
+ debug "^2.2.0"
+ es6-promise "^3.1.2"
+ js-yaml "^3.6.0"
+ ono "^2.2.1"
+ z-schema "^3.17.0"
+
+json-schema@0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+
+json-stable-stringify@1.x.x, json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
+ dependencies:
+ jsonify "~0.0.0"
+
+json-stable-stringify@~0.0.0:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz#611c23e814db375527df851193db59dd2af27f45"
+ dependencies:
+ jsonify "~0.0.0"
+
+json-stringify-safe@5.x.x, json-stringify-safe@~5.0.0, json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+
+json3@3.3.2:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
+
+jsonfile@~1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-1.1.1.tgz#da4fd6ad77f1a255203ea63c7bc32dc31ef64433"
+
+jsonify@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
+
+jsonparse@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-0.0.5.tgz#330542ad3f0a654665b778f3eb2d9a9fa507ac64"
+
+jsonparse@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.2.0.tgz#5c0c5685107160e72fe7489bddea0b44c2bc67bd"
+
+jsonpointer@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5"
+
+jsprim@^1.2.2:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252"
+ dependencies:
+ extsprintf "1.0.2"
+ json-schema "0.2.3"
+ verror "1.3.6"
+
+jstransformer@0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-0.0.2.tgz#7aae29a903d196cfa0973d885d3e47947ecd76ab"
+ dependencies:
+ is-promise "^2.0.0"
+ promise "^6.0.1"
+
+jsx-ast-utils@^1.3.3:
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.3.4.tgz#0257ed1cc4b1e65b39d7d9940f9fb4f20f7ba0a9"
+ dependencies:
+ acorn-jsx "^3.0.1"
+ object-assign "^4.1.0"
+
+kareem@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/kareem/-/kareem-1.2.0.tgz#59851e833feb1ce6cf60000e0c23acf75c8a3547"
+
+key-tree-store@^1.2.0, key-tree-store@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/key-tree-store/-/key-tree-store-1.3.0.tgz#5ea29afc2529a425938437d6955b714ce6a9791f"
+
+keypress@0.1.x:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/keypress/-/keypress-0.1.0.tgz#4a3188d4291b66b4f65edb99f806aa9ae293592a"
+
+kind-of@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47"
+ dependencies:
+ is-buffer "^1.0.2"
+
+lab@^12.1.0:
+ version "12.1.0"
+ resolved "https://registry.yarnpkg.com/lab/-/lab-12.1.0.tgz#94cc889c6a9d71e30ab9e9d249b819664d60be47"
+ dependencies:
+ bossy "3.x.x"
+ diff "3.x.x"
+ eslint "3.13.x"
+ eslint-config-hapi "10.x.x"
+ eslint-plugin-hapi "4.x.x"
+ espree "3.x.x"
+ find-rc "3.0.x"
+ handlebars "4.x.x"
+ hoek "4.x.x"
+ items "2.x.x"
+ json-stable-stringify "1.x.x"
+ json-stringify-safe "5.x.x"
+ mkdirp "0.5.x"
+ seedrandom "2.4.x"
+ source-map-support "0.4.x"
+
+labeled-stream-splicer@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/labeled-stream-splicer/-/labeled-stream-splicer-1.0.2.tgz#4615331537784981e8fd264e1f3a434c4e0ddd65"
+ dependencies:
+ inherits "^2.0.1"
+ isarray "~0.0.1"
+ stream-splicer "^1.1.0"
+
+latest-version@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-1.0.1.tgz#72cfc46e3e8d1be651e1ebb54ea9f6ea96f374bb"
+ dependencies:
+ package-json "^1.0.0"
+
+lazy-cache@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
+
+lazystream@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-0.1.0.tgz#1b25d63c772a4c20f0a5ed0a9d77f484b6e16920"
+ dependencies:
+ readable-stream "~1.0.2"
+
+le_node@~0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/le_node/-/le_node-0.2.1.tgz#ad7ac1ccd764ead0a9ff584b4e5c27da5ef5aae7"
+
+levn@^0.3.0, levn@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
+ dependencies:
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+
+levn@~0.2.5:
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.2.5.tgz#ba8d339d0ca4a610e3a3f145b9caf48807155054"
+ dependencies:
+ prelude-ls "~1.1.0"
+ type-check "~0.3.1"
+
+lexical-scope@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/lexical-scope/-/lexical-scope-1.2.0.tgz#fcea5edc704a4b3a8796cdca419c3a0afaf22df4"
+ dependencies:
+ astw "^2.0.0"
+
+lexical-scope@~1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/lexical-scope/-/lexical-scope-1.1.1.tgz#debac1067435f1359d90fcfd9e94bcb2ee47b2bf"
+ dependencies:
+ astw "^2.0.0"
+
+load-script@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/load-script/-/load-script-0.0.5.tgz#cbd54b27cd7309902b749640c70e996f4c643b63"
+
+localtunnel@1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-1.5.0.tgz#5be949779325e9f3273021a3f38d2e7a8dcd7c4f"
+ dependencies:
+ debug "0.7.4"
+ optimist "0.3.4"
+ request "2.11.4"
+
+lodash._arraycopy@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1"
+
+lodash._arrayeach@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz#bab156b2a90d3f1bbd5c653403349e5e5933ef9e"
+
+lodash._arrayevery@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._arrayevery/-/lodash._arrayevery-3.0.0.tgz#1f69249a42edf81d466df017b46ebc818486e779"
+
+lodash._arrayfilter@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._arrayfilter/-/lodash._arrayfilter-3.0.0.tgz#2debe11eec69e5dcc6f4b86137128a48f1524237"
+
+lodash._arraymap@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._arraymap/-/lodash._arraymap-3.0.0.tgz#1a8fd0f4c0df4b61dea076d717cdc97f0a3c3e66"
+
+lodash._baseassign@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
+ dependencies:
+ lodash._basecopy "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash._basecallback@^3.0.0:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/lodash._basecallback/-/lodash._basecallback-3.3.1.tgz#b7b2bb43dc2160424a21ccf26c57e443772a8e27"
+ dependencies:
+ lodash._baseisequal "^3.0.0"
+ lodash._bindcallback "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.pairs "^3.0.0"
+
+lodash._basecompareascending@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/lodash._basecompareascending/-/lodash._basecompareascending-3.0.2.tgz#17e24f181eea9ed2b1f989dc800b7619644eac53"
+
+lodash._basecopy@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
+
+lodash._basedifference@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash._basedifference/-/lodash._basedifference-3.0.3.tgz#f2c204296c2a78e02b389081b6edcac933cf629c"
+ dependencies:
+ lodash._baseindexof "^3.0.0"
+ lodash._cacheindexof "^3.0.0"
+ lodash._createcache "^3.0.0"
+
+lodash._baseeach@^3.0.0:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/lodash._baseeach/-/lodash._baseeach-3.0.4.tgz#cf8706572ca144e8d9d75227c990da982f932af3"
+ dependencies:
+ lodash.keys "^3.0.0"
+
+lodash._baseeachright@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash._baseeachright/-/lodash._baseeachright-3.0.3.tgz#9854a20cd4a89e985330ad1f6d1cba9bd803bd0a"
+ dependencies:
+ lodash._baseforright "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash._basefilter@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._basefilter/-/lodash._basefilter-3.0.0.tgz#4b76403df0e286d03d5e0f7295ed3441e101d121"
+ dependencies:
+ lodash._baseeach "^3.0.0"
+
+lodash._basefind@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._basefind/-/lodash._basefind-3.0.0.tgz#b2bba05cc645f972de2cf925fa2bf63a0f60c8ae"
+
+lodash._basefindindex@^3.0.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/lodash._basefindindex/-/lodash._basefindindex-3.6.0.tgz#f083360a1b022418ed81bc899beb312e21e74a4f"
+
+lodash._baseflatten@^3.0.0:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/lodash._baseflatten/-/lodash._baseflatten-3.1.4.tgz#0770ff80131af6e34f3b511796a7ba5214e65ff7"
+ dependencies:
+ lodash.isarguments "^3.0.0"
+ lodash.isarray "^3.0.0"
+
+lodash._basefor@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash._basefor/-/lodash._basefor-3.0.3.tgz#7550b4e9218ef09fad24343b612021c79b4c20c2"
+
+lodash._baseforright@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/lodash._baseforright/-/lodash._baseforright-3.0.2.tgz#535a88acaf06d04d6c330649d021bd2ce69873af"
+
+lodash._baseget@^3.0.0:
+ version "3.7.2"
+ resolved "https://registry.yarnpkg.com/lodash._baseget/-/lodash._baseget-3.7.2.tgz#1b6ae1d5facf3c25532350a13c1197cb8bb674f4"
+
+lodash._baseindexof@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c"
+
+lodash._baseisequal@^3.0.0:
+ version "3.0.7"
+ resolved "https://registry.yarnpkg.com/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz#d8025f76339d29342767dcc887ce5cb95a5b51f1"
+ dependencies:
+ lodash.isarray "^3.0.0"
+ lodash.istypedarray "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash._baserandom@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/lodash._baserandom/-/lodash._baserandom-3.0.1.tgz#e69cc081003ce234ea0cd34998950721bb919f0a"
+
+lodash._basereduce@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/lodash._basereduce/-/lodash._basereduce-3.0.2.tgz#13fb98fbde162083a0c967f0605c32acfbb270b2"
+
+lodash._baseslice@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash._baseslice/-/lodash._baseslice-3.0.3.tgz#aa4ae3dc53eed53b08de2e3362b39357b5c87d75"
+
+lodash._basesortby@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._basesortby/-/lodash._basesortby-3.0.0.tgz#d0a9aad47bb917c0ed90b1e22d0387ea189128cb"
+
+lodash._baseuniq@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-3.0.3.tgz#2123fa0db2d69c28d5beb1c1f36d61522a740234"
+ dependencies:
+ lodash._baseindexof "^3.0.0"
+ lodash._cacheindexof "^3.0.0"
+ lodash._createcache "^3.0.0"
+
+lodash._basevalues@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7"
+
+lodash._binaryindex@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/lodash._binaryindex/-/lodash._binaryindex-3.0.1.tgz#a9470115e069c686d344edde40940a6191ca0930"
+ dependencies:
+ lodash._binaryindexby "^3.0.0"
+
+lodash._binaryindexby@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash._binaryindexby/-/lodash._binaryindexby-3.0.3.tgz#b182b4eeb8af05a330a99a8dc28112e03fd4a711"
+
+lodash._bindcallback@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
+
+lodash._cacheindexof@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92"
+
+lodash._createaggregator@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._createaggregator/-/lodash._createaggregator-3.0.0.tgz#d66cbf39949b050d87df53461f0d059dfb08dc9f"
+ dependencies:
+ lodash._basecallback "^3.0.0"
+ lodash._baseeach "^3.0.0"
+ lodash.isarray "^3.0.0"
+
+lodash._createassigner@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11"
+ dependencies:
+ lodash._bindcallback "^3.0.0"
+ lodash._isiterateecall "^3.0.0"
+ lodash.restparam "^3.0.0"
+
+lodash._createcache@^3.0.0:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093"
+ dependencies:
+ lodash._getnative "^3.0.0"
+
+lodash._createwrapper@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/lodash._createwrapper/-/lodash._createwrapper-3.2.0.tgz#df453e664163217b895a454065af1c47a0ea3c4d"
+ dependencies:
+ lodash._root "^3.0.0"
+
+lodash._getnative@^3.0.0:
+ version "3.9.1"
+ resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
+
+lodash._invokepath@^3.0.0:
+ version "3.7.2"
+ resolved "https://registry.yarnpkg.com/lodash._invokepath/-/lodash._invokepath-3.7.2.tgz#194115808786e0c522fc1cefa5a2e7bb059b4e55"
+ dependencies:
+ lodash._baseget "^3.0.0"
+ lodash._baseslice "^3.0.0"
+ lodash._topath "^3.0.0"
+ lodash.isarray "^3.0.0"
+
+lodash._isiterateecall@^3.0.0:
+ version "3.0.9"
+ resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
+
+lodash._isnative@~2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/lodash._isnative/-/lodash._isnative-2.4.1.tgz#3ea6404b784a7be836c7b57580e1cdf79b14832c"
+
+lodash._objecttypes@~2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz#7c0b7f69d98a1f76529f890b0cdb1b4dfec11c11"
+
+lodash._pickbyarray@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/lodash._pickbyarray/-/lodash._pickbyarray-3.0.2.tgz#1f898d9607eb560b0e167384b77c7c6d108aa4c5"
+
+lodash._pickbycallback@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._pickbycallback/-/lodash._pickbycallback-3.0.0.tgz#ff61b9a017a7b3af7d30e6c53de28afa19b8750a"
+ dependencies:
+ lodash._basefor "^3.0.0"
+ lodash.keysin "^3.0.0"
+
+lodash._replaceholders@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._replaceholders/-/lodash._replaceholders-3.0.0.tgz#8abbb7126c431f7ed744f7baaf39f08bc9bd9d58"
+
+lodash._root@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
+
+lodash._shimkeys@~2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz#6e9cc9666ff081f0b5a6c978b83e242e6949d203"
+ dependencies:
+ lodash._objecttypes "~2.4.1"
+
+lodash._toiterable@^3.0.0:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/lodash._toiterable/-/lodash._toiterable-3.0.4.tgz#f5a1171e4fd6f6dac79aa9d2b13eff50a179c0d4"
+ dependencies:
+ lodash._basevalues "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash._topath@^3.0.0:
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/lodash._topath/-/lodash._topath-3.8.1.tgz#3ec5e2606014f4cb97f755fe6914edd8bfc00eac"
+ dependencies:
+ lodash.isarray "^3.0.0"
+
+lodash.assign@^3.0.0, lodash.assign@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa"
+ dependencies:
+ lodash._baseassign "^3.0.0"
+ lodash._createassigner "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.before@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash.before/-/lodash.before-3.0.3.tgz#687783660ea1a8fac4f01e2774de0f5206b161ce"
+
+lodash.bind@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-3.1.0.tgz#f95f48638d7d8bbb5854f908266527999fbfa4bb"
+ dependencies:
+ lodash._createwrapper "^3.0.0"
+ lodash._replaceholders "^3.0.0"
+ lodash.restparam "^3.0.0"
+
+lodash.countby@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.countby/-/lodash.countby-3.1.1.tgz#9e1bd61d403674c90a8cc0371ab935d0233a7276"
+ dependencies:
+ lodash._createaggregator "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.defaults@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-3.1.2.tgz#c7308b18dbf8bc9372d701a73493c61192bd2e2c"
+ dependencies:
+ lodash.assign "^3.0.0"
+ lodash.restparam "^3.0.0"
+
+lodash.defaults@~2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-2.4.1.tgz#a7e8885f05e68851144b6e12a8f3678026bc4c54"
+ dependencies:
+ lodash._objecttypes "~2.4.1"
+ lodash.keys "~2.4.1"
+
+lodash.difference@^3.1.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-3.2.2.tgz#dc463fffe6619ab4af49a3c87ace6695a285dde6"
+ dependencies:
+ lodash._basedifference "^3.0.0"
+ lodash._baseflatten "^3.0.0"
+ lodash.restparam "^3.0.0"
+
+lodash.drop@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash.drop/-/lodash.drop-3.0.0.tgz#7ff29fa42ed11e88d9c1f5592fccfc7130e20eae"
+ dependencies:
+ lodash._baseslice "^3.0.0"
+ lodash._isiterateecall "^3.0.0"
+
+lodash.escape@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698"
+ dependencies:
+ lodash._root "^3.0.0"
+
+lodash.every@^3.2.0:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/lodash.every/-/lodash.every-3.2.3.tgz#ed365f757cdf93db81e70629f04a705f5481947f"
+ dependencies:
+ lodash._arrayevery "^3.0.0"
+ lodash._basecallback "^3.0.0"
+ lodash._baseeach "^3.0.0"
+ lodash._isiterateecall "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.filter@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-3.1.1.tgz#9bb1d453372d9cf929127c354df723f47ae2dc3f"
+ dependencies:
+ lodash._arrayfilter "^3.0.0"
+ lodash._basecallback "^3.0.0"
+ lodash._basefilter "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.find@^3.1.0, lodash.find@^3.2.0:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-3.2.1.tgz#046e319f3ace912ac6c9246c7f683c5ec07b36ad"
+ dependencies:
+ lodash._basecallback "^3.0.0"
+ lodash._baseeach "^3.0.0"
+ lodash._basefind "^3.0.0"
+ lodash._basefindindex "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.flatten@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-3.0.2.tgz#de1cf57758f8f4479319d35c3e9cc60c4501938c"
+ dependencies:
+ lodash._baseflatten "^3.0.0"
+ lodash._isiterateecall "^3.0.0"
+
+lodash.foreach@^3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-3.0.3.tgz#6fd7efb79691aecd67fdeac2761c98e701d6c39a"
+ dependencies:
+ lodash._arrayeach "^3.0.0"
+ lodash._baseeach "^3.0.0"
+ lodash._bindcallback "^3.0.0"
+ lodash.isarray "^3.0.0"
+
+lodash.forown@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/lodash.forown/-/lodash.forown-3.0.2.tgz#90e29cdf7893048dd0529a333e304896b0bac28e"
+ dependencies:
+ lodash._basefor "^3.0.0"
+ lodash._bindcallback "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.get@^4.1.2:
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
+
+lodash.groupby@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.groupby/-/lodash.groupby-3.1.1.tgz#a688fe5f2b28bf6be7ff6da1c8d4f4a167695e82"
+ dependencies:
+ lodash._createaggregator "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.gt@^3.0.0:
+ version "3.9.2"
+ resolved "https://registry.yarnpkg.com/lodash.gt/-/lodash.gt-3.9.2.tgz#bd39de05e0cb682bfbf2b7a0b01f64662d1ac7f4"
+
+lodash.has@^3.0.0:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/lodash.has/-/lodash.has-3.2.1.tgz#3b75471d8d2083d8ad9d8a15e321ec78424958e6"
+ dependencies:
+ lodash._baseget "^3.0.0"
+ lodash._baseslice "^3.0.0"
+ lodash._topath "^3.0.0"
+ lodash.isarguments "^3.0.0"
+ lodash.isarray "^3.0.0"
+
+lodash.includes@^3.1.0, lodash.includes@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-3.1.3.tgz#c322d049c27892b29a01b995936e595381ebbc17"
+ dependencies:
+ lodash._baseindexof "^3.0.0"
+ lodash._basevalues "^3.0.0"
+ lodash._isiterateecall "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.isstring "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.indexby@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.indexby/-/lodash.indexby-3.1.1.tgz#f2caab0ff279837858147730d863cdd80c1c042e"
+ dependencies:
+ lodash._createaggregator "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.indexof@^3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash.indexof/-/lodash.indexof-3.0.3.tgz#c75c03c548b8637b4ac07ae332f69095547c4118"
+ dependencies:
+ lodash._baseindexof "^3.0.0"
+ lodash._binaryindex "^3.0.0"
+
+lodash.initial@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash.initial/-/lodash.initial-3.0.0.tgz#0dbd2d9bfc2b4e6cff6cf3cd233aa1a4a5fba6bb"
+ dependencies:
+ lodash._baseslice "^3.0.0"
+ lodash._isiterateecall "^3.0.0"
+
+lodash.invoke@^3.1.0:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/lodash.invoke/-/lodash.invoke-3.2.3.tgz#9ecd448a7cc750e42233e3587b98044f41e06bc3"
+ dependencies:
+ lodash._baseeach "^3.0.0"
+ lodash._invokepath "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.restparam "^3.0.0"
+
+lodash.isarguments@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
+
+lodash.isarray@^3.0.0, lodash.isarray@^3.0.1, lodash.isarray@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
+
+lodash.isdate@^3.0.1:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash.isdate/-/lodash.isdate-3.0.3.tgz#bd6b9be645e6ae6716b5ad007a08fbd1abd0b020"
+
+lodash.isempty@^3.0.1:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-3.0.4.tgz#3bc55bf811d6d232d5e3354ce2c86447a20f1ad5"
+ dependencies:
+ lodash.isarguments "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.isfunction "^3.0.0"
+ lodash.isstring "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.isequal@^3.0.1:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-3.0.4.tgz#1c35eb3b6ef0cd1ff51743e3ea3cf7fdffdacb64"
+ dependencies:
+ lodash._baseisequal "^3.0.0"
+ lodash._bindcallback "^3.0.0"
+
+lodash.isequal@^4.4.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
+
+lodash.isfunction@^3.0.0, lodash.isfunction@^3.0.2, lodash.isfunction@^3.0.6:
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.8.tgz#4db709fc81bc4a8fd7127a458a5346c5cdce2c6b"
+
+lodash.isobject@^3.0.1:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d"
+
+lodash.isobject@~2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-2.4.1.tgz#5a2e47fe69953f1ee631a7eba1fe64d2d06558f5"
+ dependencies:
+ lodash._objecttypes "~2.4.1"
+
+lodash.isstring@^3.0.0, lodash.isstring@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-3.0.1.tgz#41638944ea042ef67ad67c293aa541d3f3d6e53c"
+
+lodash.istypedarray@^3.0.0:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz#c9a477498607501d8e8494d283b87c39281cef62"
+
+lodash.keys@^3.0.0, lodash.keys@^3.0.5:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
+ dependencies:
+ lodash._getnative "^3.0.0"
+ lodash.isarguments "^3.0.0"
+ lodash.isarray "^3.0.0"
+
+lodash.keys@~2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-2.4.1.tgz#48dea46df8ff7632b10d706b8acb26591e2b3727"
+ dependencies:
+ lodash._isnative "~2.4.1"
+ lodash._shimkeys "~2.4.1"
+ lodash.isobject "~2.4.1"
+
+lodash.keysin@^3.0.0:
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/lodash.keysin/-/lodash.keysin-3.0.8.tgz#22c4493ebbedb1427962a54b445b2c8a767fb47f"
+ dependencies:
+ lodash.isarguments "^3.0.0"
+ lodash.isarray "^3.0.0"
+
+lodash.last@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash.last/-/lodash.last-3.0.0.tgz#242f663112dd4c6e63728c60a3c909d1bdadbd4c"
+
+lodash.lastindexof@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/lodash.lastindexof/-/lodash.lastindexof-3.0.2.tgz#8f0456fa91d0621a9ae4b7807b1445eb7e50a3fd"
+ dependencies:
+ lodash._binaryindex "^3.0.0"
+
+lodash.lt@^3.0.0:
+ version "3.9.2"
+ resolved "https://registry.yarnpkg.com/lodash.lt/-/lodash.lt-3.9.2.tgz#313b70c555f43d880da37bbb87b9e11e8bbb784e"
+
+lodash.map@^3.1.0:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-3.1.4.tgz#b483acd1b786c5c7b492c495f7b5266229bc00c2"
+ dependencies:
+ lodash._arraymap "^3.0.0"
+ lodash._basecallback "^3.0.0"
+ lodash._baseeach "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.max@^3.2.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.max/-/lodash.max-3.4.0.tgz#692f55a02d2a918cded491b2584d8744380b7c5d"
+ dependencies:
+ lodash._basecallback "^3.0.0"
+ lodash._baseeach "^3.0.0"
+ lodash._isiterateecall "^3.0.0"
+ lodash._toiterable "^3.0.0"
+ lodash.gt "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.memoize@~3.0.3:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f"
+
+lodash.min@^3.2.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.min/-/lodash.min-3.4.0.tgz#bbd0ae69ab7373012e96eee2127bad8894192fa9"
+ dependencies:
+ lodash._basecallback "^3.0.0"
+ lodash._baseeach "^3.0.0"
+ lodash._isiterateecall "^3.0.0"
+ lodash._toiterable "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.keys "^3.0.0"
+ lodash.lt "^3.0.0"
+
+lodash.omit@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-3.1.0.tgz#897fe382e6413d9ac97c61f78ed1e057a00af9f3"
+ dependencies:
+ lodash._arraymap "^3.0.0"
+ lodash._basedifference "^3.0.0"
+ lodash._baseflatten "^3.0.0"
+ lodash._bindcallback "^3.0.0"
+ lodash._pickbyarray "^3.0.0"
+ lodash._pickbycallback "^3.0.0"
+ lodash.keysin "^3.0.0"
+ lodash.restparam "^3.0.0"
+
+lodash.once@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-3.0.1.tgz#18137ec96fa3cce868226f3dabb9ea70d0bc128f"
+ dependencies:
+ lodash.before "^3.0.0"
+
+lodash.pairs@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.pairs/-/lodash.pairs-3.0.1.tgz#bbe08d5786eeeaa09a15c91ebf0dcb7d2be326a9"
+ dependencies:
+ lodash.keys "^3.0.0"
+
+lodash.partial@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.partial/-/lodash.partial-3.1.1.tgz#ab4a6ab6e32f03ecb1519048cdbae502680053e5"
+ dependencies:
+ lodash._createwrapper "^3.0.0"
+ lodash._replaceholders "^3.0.0"
+ lodash.restparam "^3.0.0"
+
+lodash.partition@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.partition/-/lodash.partition-3.1.1.tgz#43abf35ec944bc507f54af8836641f53c052c8e3"
+ dependencies:
+ lodash._createaggregator "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.pick@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-3.1.0.tgz#f252a855b2046b61bcd3904b26f76bd2efc65550"
+ dependencies:
+ lodash._baseflatten "^3.0.0"
+ lodash._bindcallback "^3.0.0"
+ lodash._pickbyarray "^3.0.0"
+ lodash._pickbycallback "^3.0.0"
+ lodash.restparam "^3.0.0"
+
+lodash.reduce@^3.1.0:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-3.1.2.tgz#2af3e2c688a0d939d86ea71714e8cd53ce327b02"
+ dependencies:
+ lodash._basecallback "^3.0.0"
+ lodash._baseeach "^3.0.0"
+ lodash._basereduce "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.reduceright@^3.1.0:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/lodash.reduceright/-/lodash.reduceright-3.1.2.tgz#71f14d1ff027661b6d9a82b9787c648b7c612230"
+ dependencies:
+ lodash._basecallback "^3.0.0"
+ lodash._baseeachright "^3.0.0"
+ lodash._basereduce "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.reject@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-3.1.1.tgz#ff60824147ea4cbc276ee597ee982c6fbfe2cf01"
+ dependencies:
+ lodash._arrayfilter "^3.0.0"
+ lodash._basecallback "^3.0.0"
+ lodash._basefilter "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.rest@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash.rest/-/lodash.rest-3.0.0.tgz#f83403108b8d5a4547a81cb26fe4b27eaaa00729"
+ dependencies:
+ lodash._baseslice "^3.0.0"
+ lodash._isiterateecall "^3.0.0"
+
+lodash.restparam@^3.0.0:
+ version "3.6.1"
+ resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
+
+lodash.result@^3.0.0:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/lodash.result/-/lodash.result-3.1.2.tgz#21172884e4da2449392472b50861c58c3f1ae279"
+ dependencies:
+ lodash._baseget "^3.0.0"
+ lodash._baseslice "^3.0.0"
+ lodash._topath "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.isfunction "^3.0.0"
+
+lodash.sample@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/lodash.sample/-/lodash.sample-3.1.0.tgz#4b0ed473abe4808d4dae3280b97b1c6f6b31c01c"
+ dependencies:
+ lodash._baserandom "^3.0.0"
+ lodash._isiterateecall "^3.0.0"
+ lodash._toiterable "^3.0.0"
+ lodash.toarray "^3.0.0"
+ lodash.values "^3.0.0"
+
+lodash.shuffle@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/lodash.shuffle/-/lodash.shuffle-3.1.0.tgz#518546d6a51d63511e5128741f2943267f4cc479"
+ dependencies:
+ lodash.sample "^3.0.0"
+
+lodash.some@^3.2.0:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-3.2.3.tgz#76337da4fe04f0d32f10c93785af0f605bfe2eaf"
+ dependencies:
+ lodash._basecallback "^3.0.0"
+ lodash._baseeach "^3.0.0"
+ lodash._isiterateecall "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.sortby@^3.1.0:
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-3.1.5.tgz#98403acf75fefb240693831f4bc0d951f94701b8"
+ dependencies:
+ lodash._basecallback "^3.0.0"
+ lodash._basecompareascending "^3.0.0"
+ lodash._baseeach "^3.0.0"
+ lodash._basesortby "^3.0.0"
+ lodash._isiterateecall "^3.0.0"
+ lodash.isarray "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.take@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash.take/-/lodash.take-3.0.0.tgz#5d176b348dc8b51b80823cb16cc7a93ad1c7b424"
+ dependencies:
+ lodash._baseslice "^3.0.0"
+ lodash._isiterateecall "^3.0.0"
+
+lodash.toarray@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-3.0.2.tgz#2b204f0fa4f51c285c6f00c81d1cea5a23041179"
+ dependencies:
+ lodash._arraycopy "^3.0.0"
+ lodash._basevalues "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.union@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-3.1.0.tgz#a4a3066fc15d6a7f8151cce9bdfe63dce7f5bcff"
+ dependencies:
+ lodash._baseflatten "^3.0.0"
+ lodash._baseuniq "^3.0.0"
+ lodash.restparam "^3.0.0"
+
+lodash.uniqueid@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.uniqueid/-/lodash.uniqueid-3.2.0.tgz#59416f134103ce253d4b4aa818272be3fbbcbbdb"
+ dependencies:
+ lodash._root "^3.0.0"
+
+lodash.values@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-3.0.0.tgz#0cef08fe7a007770dbbb404e319fcb49775d6659"
+ dependencies:
+ lodash._basevalues "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash.without@^3.1.0:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-3.2.1.tgz#d69614b3512e52294b6abab782e7ca96538ce816"
+ dependencies:
+ lodash._basedifference "^3.0.0"
+ lodash.restparam "^3.0.0"
+
+lodash@2.4.1, lodash@^2.4.1, lodash@~2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-2.4.1.tgz#5b7723034dda4d262e5a46fb2c58d7cc22f71420"
+
+lodash@^3.10.1:
+ version "3.10.1"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
+
+lodash@^4.0.0, lodash@^4.14.0, lodash@^4.3.0:
+ version "4.17.2"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.2.tgz#34a3055babe04ce42467b607d700072c7ff6bf42"
+
+lodash@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-2.1.0.tgz#0637eaaa36a8a1cfc865c3adfb942189bfb0998d"
+
+lodash@~4.16.4:
+ version "4.16.6"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777"
+
+longest@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
+
+lout@^9.2.0:
+ version "9.2.0"
+ resolved "https://registry.yarnpkg.com/lout/-/lout-9.2.0.tgz#fb0e5f69c09752eef64fc35fccf8809fa42e1eef"
+ dependencies:
+ boom "3.x.x"
+ handlebars "4.x.x"
+ hoek "4.x.x"
+
+lowercase-keys@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"
+
+lru-cache@2:
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.5.2.tgz#1fddad938aae1263ce138680be1b3f591c0ab41c"
+
+lru-cache@4.0.x, lru-cache@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e"
+ dependencies:
+ pseudomap "^1.0.1"
+ yallist "^2.0.0"
+
+mailcomposer@~0.2.12:
+ version "0.2.12"
+ resolved "https://registry.yarnpkg.com/mailcomposer/-/mailcomposer-0.2.12.tgz#4d02a604616adcb45fb36d37513f4c1bd0b75681"
+ dependencies:
+ dkim-signer "~0.1.1"
+ follow-redirects "0.0.3"
+ he "~0.3.6"
+ mime "~1.2.11"
+ mimelib "~0.2.15"
+
+mailgun@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/mailgun/-/mailgun-0.5.0.tgz#bce0f3134a6d788b6f2368f71784ef20277cd697"
+
+map-obj@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+
+map-stream@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194"
+
+markdown@~0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/markdown/-/markdown-0.5.0.tgz#28205b565a8ae7592de207463d6637dc182722b2"
+ dependencies:
+ nopt "~2.1.1"
+
+marked@^0.3.6:
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7"
+
+matches-selector@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/matches-selector/-/matches-selector-0.0.1.tgz#1df5262243ae341c1a0804dd302048267ac713bb"
+
+matches-selector@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/matches-selector/-/matches-selector-1.0.0.tgz#434833447026a25ea4999edab18e4b8892b25721"
+
+media-typer@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.2.0.tgz#d8a065213adfeaa2e76321a2b6dda36ff6335984"
+
+media-typer@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+
+merge-descriptors@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-0.0.1.tgz#2ff0980c924cf81d0b5d1fb601177cb8bb56c0d0"
+
+merge-descriptors@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
+
+methods@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/methods/-/methods-0.0.1.tgz#277c90f8bef39709645a8371c51c3b6c648e068c"
+
+methods@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/methods/-/methods-0.1.0.tgz#335d429eefd21b7bacf2e9c922a8d2bd14a30e4f"
+
+methods@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+
+micromatch@^2.1.5:
+ version "2.3.11"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
+ dependencies:
+ arr-diff "^2.0.0"
+ array-unique "^0.2.1"
+ braces "^1.8.2"
+ expand-brackets "^0.1.4"
+ extglob "^0.3.1"
+ filename-regex "^2.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.1"
+ kind-of "^3.0.2"
+ normalize-path "^2.0.1"
+ object.omit "^2.0.0"
+ parse-glob "^3.0.4"
+ regex-cache "^0.4.2"
+
+miller-rabin@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d"
+ dependencies:
+ bn.js "^4.0.0"
+ brorand "^1.0.1"
+
+mime-db@1.x.x, mime-db@~1.25.0:
+ version "1.25.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.25.0.tgz#c18dbd7c73a5dbf6f44a024dc0d165a1e7b1c392"
+
+mime-db@~1.12.0:
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7"
+
+mime-types@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-1.0.0.tgz#6a7b4a6af2e7d92f97afe03f047c7801e8f001d2"
+
+mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.7:
+ version "2.1.13"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.13.tgz#e07aaa9c6c6b9a7ca3012c69003ad25a39e92a88"
+ dependencies:
+ mime-db "~1.25.0"
+
+mime-types@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-1.0.2.tgz#995ae1392ab8affcbfcb2641dd054e943c0d5dce"
+
+mime-types@~2.0.9:
+ version "2.0.14"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.0.14.tgz#310e159db23e077f8bb22b748dabfa4957140aa6"
+ dependencies:
+ mime-db "~1.12.0"
+
+mime@1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.5.tgz#9eed073022a8bf5e16c8566c6867b8832bfbfa13"
+
+mime@1.3.4:
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
+
+mime@~1.2.11, mime@~1.2.2, mime@~1.2.7, mime@~1.2.9:
+ version "1.2.11"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.11.tgz#58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10"
+
+mimelib@0.2.14:
+ version "0.2.14"
+ resolved "https://registry.yarnpkg.com/mimelib/-/mimelib-0.2.14.tgz#2a1aa724bd190b85bd526e6317ab6106edfd6831"
+ dependencies:
+ addressparser "~0.2.0"
+ encoding "~0.1"
+
+mimelib@~0.2.15:
+ version "0.2.19"
+ resolved "https://registry.yarnpkg.com/mimelib/-/mimelib-0.2.19.tgz#37ec90a6ac7d00954851d0b2c31618f0a49da0ee"
+ dependencies:
+ addressparser "~0.3.2"
+ encoding "~0.1.7"
+
+mimos@3.x.x:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/mimos/-/mimos-3.0.3.tgz#b9109072ad378c2b72f6a0101c43ddfb2b36641f"
+ dependencies:
+ hoek "4.x.x"
+ mime-db "1.x.x"
+
+min-document@^2.19.0:
+ version "2.19.0"
+ resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
+ dependencies:
+ dom-walk "^0.1.0"
+
+minimalistic-assert@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
+
+minimatch@0.3, minimatch@0.x:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd"
+ dependencies:
+ lru-cache "2"
+ sigmund "~1.0.0"
+
+"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
+ dependencies:
+ brace-expansion "^1.0.0"
+
+minimatch@^0.2.14, minimatch@~0.2.11, minimatch@~0.2.12:
+ version "0.2.14"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a"
+ dependencies:
+ lru-cache "2"
+ sigmund "~1.0.0"
+
+minimatch@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-1.0.0.tgz#e0dd2120b49e1b724ce8d714c520822a9438576d"
+ dependencies:
+ lru-cache "2"
+ sigmund "~1.0.0"
+
+minimatch@^2.0.1, minimatch@^2.0.10:
+ version "2.0.10"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7"
+ dependencies:
+ brace-expansion "^1.0.0"
+
+minimist@0.0.8, minimist@~0.0.1, minimist@~0.0.5:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
+
+minimist@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.2.0.tgz#4dffe525dae2b864c66c2e23c6271d7afdecefce"
+
+minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
+
+minimist@~0.0.7, minimist@~0.0.9:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
+
+mkdirp@0.3.5, mkdirp@0.3.x:
+ version "0.3.5"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.5.tgz#de3e5f8961c88c787ee1368df849ac4413eca8d7"
+
+mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
+ dependencies:
+ minimist "0.0.8"
+
+module-deps@^1.8.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-1.10.0.tgz#57a9cac9dbd092428ec5249f6cf37fb249d77db6"
+ dependencies:
+ JSONStream "~0.7.1"
+ browser-resolve "~1.2.2"
+ concat-stream "~1.4.1"
+ detective "~3.1.0"
+ minimist "~0.0.5"
+ parents "0.0.2"
+ resolve "~0.6.0"
+ through "~2.3.4"
+
+module-deps@^3.5.0:
+ version "3.9.1"
+ resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-3.9.1.tgz#ea75caf9199090d25b0d5512b5acacb96e7f87f3"
+ dependencies:
+ JSONStream "^1.0.3"
+ browser-resolve "^1.7.0"
+ concat-stream "~1.4.5"
+ defined "^1.0.0"
+ detective "^4.0.0"
+ duplexer2 "0.0.2"
+ inherits "^2.0.1"
+ parents "^1.0.0"
+ readable-stream "^1.1.13"
+ resolve "^1.1.3"
+ stream-combiner2 "~1.0.0"
+ subarg "^1.0.0"
+ through2 "^1.0.0"
+ xtend "^4.0.0"
+
+module-deps@~2.1.1:
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-2.1.5.tgz#375a9bc804ccd64cebb3c62ee643755f0b3ccf29"
+ dependencies:
+ JSONStream "~0.7.1"
+ browser-resolve "~1.2.4"
+ concat-stream "~1.4.5"
+ detective "~3.1.0"
+ duplexer2 "0.0.2"
+ inherits "~2.0.1"
+ minimist "~0.0.9"
+ parents "0.0.2"
+ readable-stream "^1.0.27-1"
+ resolve "~0.6.3"
+ stream-combiner "~0.1.0"
+ subarg "0.0.1"
+ through2 "~0.4.1"
+
+moment-timezone@~0.3.0:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.3.1.tgz#3ef47856b02d53b718a10a5ec2023aa299e07bf5"
+ dependencies:
+ moment ">= 2.6.0"
+
+moment@2.x, moment@2.x.x, "moment@>= 2.6.0", moment@^2.10.6, moment@^2.17.1:
+ version "2.17.1"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.17.1.tgz#fed9506063f36b10f066c8b59a144d7faebe1d82"
+
+"moment@= 1.7.0":
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-1.7.0.tgz#6f3d73a446c6bd6af1b993801d0b8071efad5e28"
+
+mongodb-core@2.1.7:
+ version "2.1.7"
+ resolved "https://registry.yarnpkg.com/mongodb-core/-/mongodb-core-2.1.7.tgz#6a27909b98142ef2508d924c274969008954fa29"
+ dependencies:
+ bson "~1.0.4"
+ require_optional "~1.0.0"
+
+mongodb@2.2.22:
+ version "2.2.22"
+ resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-2.2.22.tgz#d67c588fc08f922db19754b1d2e03e2d7d1319fb"
+ dependencies:
+ es6-promise "3.2.1"
+ mongodb-core "2.1.7"
+ readable-stream "2.1.5"
+
+mongoose@^4.8.1:
+ version "4.8.1"
+ resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-4.8.1.tgz#1dbd3014fb39e9344271a53ec5dd741205864aae"
+ dependencies:
+ async "2.1.4"
+ bson "~1.0.4"
+ hooks-fixed "1.2.0"
+ kareem "1.2.0"
+ mongodb "2.2.22"
+ mpath "0.2.1"
+ mpromise "0.5.5"
+ mquery "2.2.1"
+ ms "0.7.2"
+ muri "1.2.0"
+ regexp-clone "0.0.1"
+ sliced "1.0.1"
+
+moonboots@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/moonboots/-/moonboots-3.0.2.tgz#032b42f0a4732ec7e0fea0ae7b32479a173cb7ea"
+ dependencies:
+ async "^0.7.0"
+ browserify "^4.2.1"
+ bundle-metadata "^1.0.1"
+ cssmin "^0.4.1"
+ module-deps "^1.8.0"
+ uglify-js "^2.4.0"
+
+moonboots_hapi@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/moonboots_hapi/-/moonboots_hapi-4.0.2.tgz#e06db90bc38de9ebf297bbd084f1f5b6197b404d"
+ dependencies:
+ moonboots "^3.0.0"
+
+mothership@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/mothership/-/mothership-0.2.0.tgz#93d48a2fbc3e50e2a5fc8ed586f5bc44c65f9a99"
+ dependencies:
+ find-parent-dir "~0.3.0"
+
+mpath@0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.2.1.tgz#3a4e829359801de96309c27a6b2e102e89f9e96e"
+
+mpromise@0.5.5:
+ version "0.5.5"
+ resolved "https://registry.yarnpkg.com/mpromise/-/mpromise-0.5.5.tgz#f5b24259d763acc2257b0a0c8c6d866fd51732e6"
+
+mquery@2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/mquery/-/mquery-2.2.1.tgz#aa31076419adce2b06e9757f4cfc5d7f371b47ce"
+ dependencies:
+ bluebird "2.10.2"
+ debug "2.2.0"
+ regexp-clone "0.0.1"
+ sliced "0.0.5"
+
+ms@0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-0.6.2.tgz#d89c2124c6fdc1353d65a8b77bf1aac4b193708c"
+
+ms@0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
+
+ms@0.7.2:
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
+
+multiparty@2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/multiparty/-/multiparty-2.2.0.tgz#a567c2af000ad22dc8f2a653d91978ae1f5316f4"
+ dependencies:
+ readable-stream "~1.1.9"
+ stream-counter "~0.2.0"
+
+muri@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/muri/-/muri-1.2.0.tgz#b86383c902920b09ebe62af0e75c94de5f33cd3d"
+
+mute-stream@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
+
+mv@~2:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2"
+ dependencies:
+ mkdirp "~0.5.1"
+ ncp "~2.0.0"
+ rimraf "~2.4.0"
+
+nan@^2.3.0, nan@^2.3.3:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232"
+
+natives@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.0.tgz#e9ff841418a6b2ec7a495e939984f78f163e6e31"
+
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+
+ncp@~0.4.2:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/ncp/-/ncp-0.4.2.tgz#abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574"
+
+ncp@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
+
+negotiator@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.3.0.tgz#706d692efeddf574d57ea9fb1ab89a4fa7ee8f60"
+
+negotiator@0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
+
+nested-error-stacks@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz#19f619591519f096769a5ba9a86e6eeec823c3cf"
+ dependencies:
+ inherits "~2.0.1"
+
+nigel@2.x.x:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/nigel/-/nigel-2.0.2.tgz#93a1866fb0c52d87390aa75e2b161f4b5c75e5b1"
+ dependencies:
+ hoek "4.x.x"
+ vise "2.x.x"
+
+no-arrowception@1.x.x:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/no-arrowception/-/no-arrowception-1.0.0.tgz#5bf3e95eb9c41b57384a805333daa3b734ee327a"
+
+node-pre-gyp@^0.6.29:
+ version "0.6.32"
+ resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz#fc452b376e7319b3d255f5f34853ef6fd8fe1fd5"
+ dependencies:
+ mkdirp "~0.5.1"
+ nopt "~3.0.6"
+ npmlog "^4.0.1"
+ rc "~1.1.6"
+ request "^2.79.0"
+ rimraf "~2.5.4"
+ semver "~5.3.0"
+ tar "~2.2.1"
+ tar-pack "~3.3.0"
+
+node-uuid@~1.4.0, node-uuid@~1.4.1:
+ version "1.4.7"
+ resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f"
+
+nodemon@^1.11.0:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.11.0.tgz#226c562bd2a7b13d3d7518b49ad4828a3623d06c"
+ dependencies:
+ chokidar "^1.4.3"
+ debug "^2.2.0"
+ es6-promise "^3.0.2"
+ ignore-by-default "^1.0.0"
+ lodash.defaults "^3.1.2"
+ minimatch "^3.0.0"
+ ps-tree "^1.0.1"
+ touch "1.0.0"
+ undefsafe "0.0.3"
+ update-notifier "0.5.0"
+
+nopt@3.x, nopt@~3.0.6:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
+ dependencies:
+ abbrev "1"
+
+nopt@~1.0.10:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
+ dependencies:
+ abbrev "1"
+
+nopt@~2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-2.1.2.tgz#6cccd977b80132a07731d6e8ce58c2c8303cf9af"
+ dependencies:
+ abbrev "1"
+
+normalize-path@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a"
+
+npmlog@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.1.tgz#d14f503b4cd79710375553004ba96e6662fbc0b8"
+ dependencies:
+ are-we-there-yet "~1.1.2"
+ console-control-strings "~1.1.0"
+ gauge "~2.7.1"
+ set-blocking "~2.0.0"
+
+number-is-nan@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+
+oauth-sign@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.4.0.tgz#f22956f31ea7151a821e5f2fb32c113cad8b9f69"
+
+oauth-sign@~0.8.1:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
+
+object-assign@4.1.0, object-assign@^4.0.1, object-assign@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
+
+object-assign@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
+
+object-component@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
+
+object-inspect@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-0.4.0.tgz#f5157c116c1455b243b06ee97703392c5ad89fec"
+
+object-keys@^1.0.6:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
+
+object-keys@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336"
+
+object.omit@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
+ dependencies:
+ for-own "^0.1.4"
+ is-extendable "^0.1.1"
+
+on-finished@2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.1.0.tgz#0c539f09291e8ffadde0c8a25850fb2cedc7022d"
+ dependencies:
+ ee-first "1.0.5"
+
+on-finished@~2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
+ dependencies:
+ ee-first "1.1.1"
+
+once@^1.3.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ dependencies:
+ wrappy "1"
+
+once@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.1.1.tgz#9db574933ccb08c3a7614d154032c09ea6f339e7"
+
+once@~1.3.0, once@~1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20"
+ dependencies:
+ wrappy "1"
+
+onetime@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
+
+ono@^2.0.1, ono@^2.2.1:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/ono/-/ono-2.2.4.tgz#f6c1d9ea64da07a54863986535da3de67e502696"
+
+opener@1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.0.tgz#d11f86eeeb076883735c9d509f538fe82d10b941"
+
+optimist@0.3.4:
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.3.4.tgz#4d6d0bd71ffad0da4ba4f6d876d5eeb04e07480b"
+ dependencies:
+ wordwrap "~0.0.2"
+
+optimist@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
+ dependencies:
+ minimist "~0.0.1"
+ wordwrap "~0.0.2"
+
+optimist@~0.3, optimist@~0.3.5:
+ version "0.3.7"
+ resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.3.7.tgz#c90941ad59e4273328923074d2cf2e7cbc6ec0d9"
+ dependencies:
+ wordwrap "~0.0.2"
+
+optimist@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.4.0.tgz#cb8ec37f2fe3aa9864cb67a275250e7e19620a25"
+ dependencies:
+ wordwrap "~0.0.2"
+
+optionator@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.5.0.tgz#b75a8995a2d417df25b6e4e3862f50aa88651368"
+ dependencies:
+ deep-is "~0.1.2"
+ fast-levenshtein "~1.0.0"
+ levn "~0.2.5"
+ prelude-ls "~1.1.1"
+ type-check "~0.3.1"
+ wordwrap "~0.0.2"
+
+optionator@^0.8.2:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
+ dependencies:
+ deep-is "~0.1.3"
+ fast-levenshtein "~2.0.4"
+ levn "~0.3.0"
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+ wordwrap "~1.0.0"
+
+options@>=0.0.5:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
+
+os-browserify@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54"
+
+os-homedir@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+
+os-shim@^0.1.2:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917"
+
+os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+
+osenv@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.0.3.tgz#cd6ad8ddb290915ad9e22765576025d411f29cb6"
+
+osenv@^0.1.0:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.3.tgz#83cf05c6d6458fc4d5ac6362ea325d92f2754217"
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.0"
+
+package-json@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/package-json/-/package-json-1.2.0.tgz#c8ecac094227cdf76a316874ed05e27cc939a0e0"
+ dependencies:
+ got "^3.2.0"
+ registry-url "^3.0.0"
+
+pako@~0.2.0:
+ version "0.2.9"
+ resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
+
+parent-require@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/parent-require/-/parent-require-1.0.0.tgz#746a167638083a860b0eef6732cb27ed46c32977"
+
+parents@0.0.2, parents@~0.0.1:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/parents/-/parents-0.0.2.tgz#67147826e497d40759aaf5ba4c99659b6034d302"
+
+parents@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751"
+ dependencies:
+ path-platform "~0.11.15"
+
+parse-asn1@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.0.0.tgz#35060f6d5015d37628c770f4e091a0b5a278bc23"
+ dependencies:
+ asn1.js "^4.0.0"
+ browserify-aes "^1.0.0"
+ create-hash "^1.1.0"
+ evp_bytestokey "^1.0.0"
+ pbkdf2 "^3.0.3"
+
+parse-glob@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
+ dependencies:
+ glob-base "^0.3.0"
+ is-dotfile "^1.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.0"
+
+parse-headers@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.1.tgz#6ae83a7aa25a9d9b700acc28698cd1f1ed7e9536"
+ dependencies:
+ for-each "^0.3.2"
+ trim "0.0.1"
+
+parsejson@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab"
+ dependencies:
+ better-assert "~1.0.0"
+
+parseqs@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
+ dependencies:
+ better-assert "~1.0.0"
+
+parseuri@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
+ dependencies:
+ better-assert "~1.0.0"
+
+parseurl@~1.3.0, parseurl@~1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56"
+
+patch-text@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/patch-text/-/patch-text-1.0.2.tgz#4bf36e65e51733d6e98f0cf62e09034daa0348ac"
+
+path-browserify@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+
+path-is-inside@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
+
+path-platform@~0.11.15:
+ version "0.11.15"
+ resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2"
+
+path-to-regexp@0.1.7:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
+
+pause-stream@0.0.11:
+ version "0.0.11"
+ resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445"
+ dependencies:
+ through "~2.3"
+
+pause@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d"
+
+pbkdf2@^3.0.3:
+ version "3.0.9"
+ resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693"
+ dependencies:
+ create-hmac "^1.1.2"
+
+pez@2.x.x:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/pez/-/pez-2.1.4.tgz#73f822fa62d599d65c4606f490d54d345191bc7c"
+ dependencies:
+ b64 "3.x.x"
+ boom "4.x.x"
+ content "3.x.x"
+ hoek "4.x.x"
+ nigel "2.x.x"
+
+pify@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+
+pikaday@^1.3.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/pikaday/-/pikaday-1.5.1.tgz#0a48549bc1a14ea1d08c44074d761bc2f2bfcfd3"
+ optionalDependencies:
+ moment "2.x"
+
+pinkie-promise@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ dependencies:
+ pinkie "^2.0.0"
+
+pinkie@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+
+pkg-config@^1.0.1, pkg-config@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/pkg-config/-/pkg-config-1.1.1.tgz#557ef22d73da3c8837107766c52eadabde298fe4"
+ dependencies:
+ debug-log "^1.0.0"
+ find-root "^1.0.0"
+ xtend "^4.0.1"
+
+pluralize@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45"
+
+podium@^1.2.x:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/podium/-/podium-1.2.5.tgz#87c566c2f0365bcf0a1ec7602c4d01948cdd2ad5"
+ dependencies:
+ hoek "4.x.x"
+ items "2.x.x"
+ joi "10.x.x"
+
+pre-commit@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/pre-commit/-/pre-commit-1.2.2.tgz#dbcee0ee9de7235e57f79c56d7ce94641a69eec6"
+ dependencies:
+ cross-spawn "^5.0.1"
+ spawn-sync "^1.0.15"
+ which "1.2.x"
+
+prelude-ls@~1.1.0, prelude-ls@~1.1.1, prelude-ls@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+
+prepend-http@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+
+preserve@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+
+process-nextick-args@~1.0.6:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
+
+process@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/process/-/process-0.7.0.tgz#c52208161a34adf3812344ae85d3e6150469389d"
+
+process@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/process/-/process-0.8.0.tgz#7bbaf7187fe6ded3fd5be0cb6103fba9cacb9798"
+
+process@~0.11.0:
+ version "0.11.9"
+ resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1"
+
+process@~0.5.1:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf"
+
+process@~0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/process/-/process-0.6.0.tgz#7dd9be80ffaaedd4cb628f1827f1cbab6dc0918f"
+
+progress@^1.1.8:
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
+
+promise@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/promise/-/promise-6.1.0.tgz#2ce729f6b94b45c26891ad0602c5c90e04c6eef6"
+ dependencies:
+ asap "~1.0.0"
+
+promise@~2.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/promise/-/promise-2.0.0.tgz#46648aa9d605af5d2e70c3024bf59436da02b80e"
+ dependencies:
+ is-promise "~1"
+
+proxy-addr@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.2.tgz#b4cc5f22610d9535824c123aef9d3cf73c40ba37"
+ dependencies:
+ forwarded "~0.1.0"
+ ipaddr.js "1.1.1"
+
+ps-tree@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.1.0.tgz#b421b24140d6203f1ed3c76996b4427b08e8c014"
+ dependencies:
+ event-stream "~3.3.0"
+
+pseudomap@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+
+public-encrypt@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
+ dependencies:
+ bn.js "^4.1.0"
+ browserify-rsa "^4.0.0"
+ create-hash "^1.1.0"
+ parse-asn1 "^5.0.0"
+ randombytes "^2.0.1"
+
+punycode@1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
+
+punycode@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+
+punycode@~1.2.3, punycode@~1.2.4:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.2.4.tgz#54008ac972aec74175def9cba6df7fa9d3918740"
+
+q@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/q/-/q-1.0.1.tgz#11872aeedee89268110b10a718448ffb10112a14"
+
+qs@0.6.5:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-0.6.5.tgz#294b268e4b0d4250f6dde19b3b8b34935dff14ef"
+
+qs@0.6.6:
+ version "0.6.6"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-0.6.6.tgz#6e015098ff51968b8a3c819001d5f2c89bc4b107"
+
+qs@2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-2.2.4.tgz#2e9fbcd34b540e3421c924ecd01e90aa975319c8"
+
+qs@6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b"
+
+qs@^1.2.1, qs@~1.2.0:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-1.2.2.tgz#19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88"
+
+qs@~2.2.3:
+ version "2.2.5"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-2.2.5.tgz#1088abaf9dcc0ae5ae45b709e6c6b5888b23923c"
+
+qs@~6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442"
+
+querystring-es3@~0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
+
+querystring@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
+
+rand-token@~0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/rand-token/-/rand-token-0.2.1.tgz#dc67c8123306c91227b2dc3f5bea73d301376226"
+
+randomatic@^1.1.3:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb"
+ dependencies:
+ is-number "^2.0.2"
+ kind-of "^3.0.2"
+
+randombytes@^2.0.0, randombytes@^2.0.1:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec"
+
+range-parser@0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-0.0.4.tgz#c0427ffef51c10acba0782a46c9602e744ff620b"
+
+range-parser@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
+
+raw-body@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.2.tgz#c74b3004dea5defd1696171106ac740ec31d62be"
+ dependencies:
+ bytes "~0.2.1"
+
+raw-body@1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.2.2.tgz#0c68e1ee28cfed7dba4822234aec6078461cbc1f"
+ dependencies:
+ bytes "1"
+ iconv-lite "0.4.3"
+
+raw-body@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.3.0.tgz#978230a156a5548f42eef14de22d0f4f610083d1"
+ dependencies:
+ bytes "1"
+ iconv-lite "0.4.4"
+
+rc@^1.0.1, rc@~1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9"
+ dependencies:
+ deep-extend "~0.4.0"
+ ini "~1.3.0"
+ minimist "^1.2.0"
+ strip-json-comments "~1.0.4"
+
+read-all-stream@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa"
+ dependencies:
+ pinkie-promise "^2.0.0"
+ readable-stream "^2.0.0"
+
+readable-stream@2.1.5, readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@~2.1.4:
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0"
+ dependencies:
+ buffer-shims "^1.0.0"
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "~1.0.0"
+ process-nextick-args "~1.0.6"
+ string_decoder "~0.10.x"
+ util-deprecate "~1.0.1"
+
+"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@^1.0.33-1, readable-stream@~1.0.17, readable-stream@~1.0.2, readable-stream@~1.0.24, readable-stream@~1.0.26:
+ version "1.0.34"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+"readable-stream@>=1.1.13-1 <1.2.0-0", readable-stream@^1.0.27-1, readable-stream@^1.1.13, readable-stream@^1.1.13-1, readable-stream@~1.1.11, readable-stream@~1.1.8, readable-stream@~1.1.9:
+ version "1.1.14"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+readable-stream@~2.0.0:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "~1.0.0"
+ process-nextick-args "~1.0.6"
+ string_decoder "~0.10.x"
+ util-deprecate "~1.0.1"
+
+readable-wrap@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/readable-wrap/-/readable-wrap-1.0.0.tgz#3b5a211c631e12303a54991c806c17e7ae206bff"
+ dependencies:
+ readable-stream "^1.1.13-1"
+
+readdirp@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
+ dependencies:
+ graceful-fs "^4.1.2"
+ minimatch "^3.0.2"
+ readable-stream "^2.0.2"
+ set-immediate-shim "^1.0.1"
+
+readline2@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ mute-stream "0.0.5"
+
+rechoir@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
+ dependencies:
+ resolve "^1.1.6"
+
+reduce-component@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/reduce-component/-/reduce-component-1.0.1.tgz#e0c93542c574521bea13df0f9488ed82ab77c5da"
+
+regex-cache@^0.4.2:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145"
+ dependencies:
+ is-equal-shallow "^0.1.3"
+ is-primitive "^2.0.0"
+
+regexp-clone@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/regexp-clone/-/regexp-clone-0.0.1.tgz#a7c2e09891fdbf38fbb10d376fb73003e68ac589"
+
+registry-url@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942"
+ dependencies:
+ rc "^1.0.1"
+
+rename-function-calls@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/rename-function-calls/-/rename-function-calls-0.1.1.tgz#7f83369c007a3007f6abe3033ccf81686a108e01"
+ dependencies:
+ detective "~3.1.0"
+
+repeat-element@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
+
+repeat-string@^1.5.2:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+
+repeating@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/repeating/-/repeating-1.1.3.tgz#3d4114218877537494f97f77f9785fab810fa4ac"
+ dependencies:
+ is-finite "^1.0.0"
+
+replace-requires@~1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/replace-requires/-/replace-requires-1.0.3.tgz#73e85df05bab562fe84df45d97d78c0fa13a7041"
+ dependencies:
+ detective "~4.1.0"
+ has-require "~1.2.1"
+ patch-text "~1.0.2"
+ xtend "~4.0.0"
+
+request@2.11.4:
+ version "2.11.4"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.11.4.tgz#6347d7d44e52dc588108cc1ce5cee975fc8926de"
+ dependencies:
+ form-data "~0.0.3"
+ mime "~1.2.7"
+
+request@^2.79.0:
+ version "2.79.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
+ dependencies:
+ aws-sign2 "~0.6.0"
+ aws4 "^1.2.1"
+ caseless "~0.11.0"
+ combined-stream "~1.0.5"
+ extend "~3.0.0"
+ forever-agent "~0.6.1"
+ form-data "~2.1.1"
+ har-validator "~2.0.6"
+ hawk "~3.1.3"
+ http-signature "~1.1.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.7"
+ oauth-sign "~0.8.1"
+ qs "~6.3.0"
+ stringstream "~0.0.4"
+ tough-cookie "~2.3.0"
+ tunnel-agent "~0.4.1"
+ uuid "^3.0.0"
+
+request@~2.44.0:
+ version "2.44.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.44.0.tgz#78d62454d68853cadfb07ad31f58b9ec98072ea8"
+ dependencies:
+ bl "~0.9.0"
+ caseless "~0.6.0"
+ forever-agent "~0.5.0"
+ json-stringify-safe "~5.0.0"
+ mime-types "~1.0.1"
+ node-uuid "~1.4.0"
+ qs "~1.2.0"
+ tunnel-agent "~0.4.0"
+ optionalDependencies:
+ aws-sign2 "~0.5.0"
+ form-data "~0.1.0"
+ hawk "1.1.1"
+ http-signature "~0.10.0"
+ oauth-sign "~0.4.0"
+ stringstream "~0.0.4"
+ tough-cookie ">=0.12.0"
+
+request@~2.46.0:
+ version "2.46.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.46.0.tgz#359195d52eaf720bc69742579d04ad6d265a8274"
+ dependencies:
+ aws-sign2 "~0.5.0"
+ bl "~0.9.0"
+ caseless "~0.6.0"
+ forever-agent "~0.5.0"
+ form-data "~0.1.0"
+ hawk "1.1.1"
+ http-signature "~0.10.0"
+ json-stringify-safe "~5.0.0"
+ mime-types "~1.0.1"
+ node-uuid "~1.4.0"
+ oauth-sign "~0.4.0"
+ qs "~1.2.0"
+ stringstream "~0.0.4"
+ tough-cookie ">=0.12.0"
+ tunnel-agent "~0.4.0"
+
+require-uncached@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
+ dependencies:
+ caller-path "^0.1.0"
+ resolve-from "^1.0.0"
+
+require_optional@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/require_optional/-/require_optional-1.0.0.tgz#52a86137a849728eb60a55533617f8f914f59abf"
+ dependencies:
+ resolve-from "^2.0.0"
+ semver "^5.1.0"
+
+resolve-from@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
+
+resolve-from@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57"
+
+resolve@0.6.3, resolve@~0.6.0, resolve@~0.6.1, resolve@~0.6.3:
+ version "0.6.3"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-0.6.3.tgz#dd957982e7e736debdf53b58a4dd91754575dd46"
+
+resolve@0.7.x, resolve@~0.7.1:
+ version "0.7.4"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-0.7.4.tgz#395a9ef9e873fbfe12bd14408bd91bb936003d69"
+
+resolve@1.1.7, resolve@^1.1.3, resolve@^1.1.6:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
+
+resolve@~0.3.0:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-0.3.1.tgz#34c63447c664c70598d1c9b126fc43b2a24310a4"
+
+restore-cursor@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
+ dependencies:
+ exit-hook "^1.0.0"
+ onetime "^1.0.0"
+
+resumer@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759"
+ dependencies:
+ through "~2.3.4"
+
+rfile@~1.0, rfile@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/rfile/-/rfile-1.0.0.tgz#59708cf90ca1e74c54c3cfc5c36fdb9810435261"
+ dependencies:
+ callsite "~1.0.0"
+ resolve "~0.3.0"
+
+right-align@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
+ dependencies:
+ align-text "^0.1.1"
+
+rimraf@2, rimraf@^2.2.2, rimraf@^2.2.8, rimraf@~2.5.1, rimraf@~2.5.4:
+ version "2.5.4"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
+ dependencies:
+ glob "^7.0.5"
+
+rimraf@~2.2.0, rimraf@~2.2.2:
+ version "2.2.8"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582"
+
+rimraf@~2.4.0:
+ version "2.4.5"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da"
+ dependencies:
+ glob "^6.0.1"
+
+ripemd160@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-0.2.0.tgz#2bf198bde167cacfa51c0a928e84b68bbe171fce"
+
+ripemd160@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e"
+
+ruglify@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/ruglify/-/ruglify-1.0.0.tgz#dc8930e2a9544a274301cc9972574c0d0986b675"
+ dependencies:
+ rfile "~1.0"
+ uglify-js "~2.2"
+
+run-async@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
+ dependencies:
+ once "^1.3.0"
+
+run-parallel@^1.1.2:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.6.tgz#29003c9a2163e01e2d2dfc90575f2c6c1d61a039"
+
+rx-lite@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
+
+safe-json-stringify@~1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.0.3.tgz#3cb6717660a086d07cb5bd9b7a6875bcf67bd05e"
+
+sax@0.5.x:
+ version "0.5.8"
+ resolved "https://registry.yarnpkg.com/sax/-/sax-0.5.8.tgz#d472db228eb331c2506b0e8c15524adb939d12c1"
+
+sax@>=0.6.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a"
+
+seedrandom@2.4.x:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-2.4.2.tgz#18d78c41287d13aff8eadb29e235938b248aa9ff"
+
+semver-diff@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36"
+ dependencies:
+ semver "^5.0.3"
+
+semver@^5.0.3, semver@^5.1.0, semver@~5.3.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
+
+send@0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/send/-/send-0.1.4.tgz#be70d8d1be01de61821af13780b50345a4f71abd"
+ dependencies:
+ debug "*"
+ fresh "0.2.0"
+ mime "~1.2.9"
+ range-parser "0.0.4"
+
+send@0.14.1:
+ version "0.14.1"
+ resolved "https://registry.yarnpkg.com/send/-/send-0.14.1.tgz#a954984325392f51532a7760760e459598c89f7a"
+ dependencies:
+ debug "~2.2.0"
+ depd "~1.1.0"
+ destroy "~1.0.4"
+ encodeurl "~1.0.1"
+ escape-html "~1.0.3"
+ etag "~1.7.0"
+ fresh "0.3.0"
+ http-errors "~1.5.0"
+ mime "1.3.4"
+ ms "0.7.1"
+ on-finished "~2.3.0"
+ range-parser "~1.2.0"
+ statuses "~1.3.0"
+
+sequence@2.x:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/sequence/-/sequence-2.2.1.tgz#7f5617895d44351c0a047e764467690490a16b03"
+
+serve-static@~1.11.1:
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.1.tgz#d6cce7693505f733c759de57befc1af76c0f0805"
+ dependencies:
+ encodeurl "~1.0.1"
+ escape-html "~1.0.3"
+ parseurl "~1.3.1"
+ send "0.14.1"
+
+set-blocking@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+
+set-immediate-shim@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
+
+setprototypeof@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08"
+
+sha.js@2.1.6:
+ version "2.1.6"
+ resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.1.6.tgz#20e6eb81f3e66f081ddf84dd8f0464bea6c02fd4"
+ dependencies:
+ buffer "~2.3.2"
+
+sha.js@^2.3.6, sha.js@~2.4.4:
+ version "2.4.8"
+ resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f"
+ dependencies:
+ inherits "^2.0.1"
+
+sha1sum@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/sha1sum/-/sha1sum-0.0.1.tgz#c882e2fc597d001f7789b87bbc074b10e66a9c15"
+
+shallow-copy@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170"
+
+shasum@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/shasum/-/shasum-1.0.2.tgz#e7012310d8f417f4deb5712150e5678b87ae565f"
+ dependencies:
+ json-stable-stringify "~0.0.0"
+ sha.js "~2.4.4"
+
+shebang-command@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ dependencies:
+ shebang-regex "^1.0.0"
+
+shebang-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+
+shell-quote@1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.4.1.tgz#ae18442b536a08c720239b079d2f228acbedee40"
+ dependencies:
+ array-filter "~0.0.0"
+ array-map "~0.0.0"
+ array-reduce "~0.0.0"
+ jsonify "~0.0.0"
+
+shell-quote@~0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-0.0.1.tgz#1a41196f3c0333c482323593d6886ecf153dd986"
+
+shelljs@^0.7.5:
+ version "0.7.6"
+ resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad"
+ dependencies:
+ glob "^7.0.0"
+ interpret "^1.0.0"
+ rechoir "^0.6.2"
+
+shot@3.x.x:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/shot/-/shot-3.4.0.tgz#e7125ee72575ae5218349e933636808d790d4b92"
+ dependencies:
+ hoek "4.x.x"
+ joi "10.x.x"
+
+sigmund@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
+
+signal-exit@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+
+slice-ansi@0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
+
+sliced@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/sliced/-/sliced-0.0.5.tgz#5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f"
+
+sliced@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41"
+
+slide@^1.1.5:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"
+
+slug@^0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/slug/-/slug-0.7.1.tgz#c79cfb4b6f4a88028c915f8b5a14b10881024383"
+ dependencies:
+ unicode ">= 0.3.1"
+
+snazzy@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/snazzy/-/snazzy-6.0.0.tgz#6a17d4798cbbc8bc6e113153694907a8bac9494d"
+ dependencies:
+ chalk "^1.1.0"
+ inherits "^2.0.1"
+ minimist "^1.1.1"
+ readable-stream "^2.0.6"
+ standard "*"
+ standard-json "^1.0.0"
+ text-table "^0.2.0"
+
+sntp@0.2.x:
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/sntp/-/sntp-0.2.4.tgz#fb885f18b0f3aad189f824862536bceeec750900"
+ dependencies:
+ hoek "0.9.x"
+
+sntp@1.x.x:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
+ dependencies:
+ hoek "2.x.x"
+
+socket.io-adapter@0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b"
+ dependencies:
+ debug "2.3.3"
+ socket.io-parser "2.3.1"
+
+socket.io-client@1.7.2, socket.io-client@^1.3.5, socket.io-client@^1.7.2:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.2.tgz#39fdb0c3dd450e321b7e40cfd83612ec533dd644"
+ dependencies:
+ backo2 "1.0.2"
+ component-bind "1.0.0"
+ component-emitter "1.2.1"
+ debug "2.3.3"
+ engine.io-client "1.8.2"
+ has-binary "0.1.7"
+ indexof "0.0.1"
+ object-component "0.0.3"
+ parseuri "0.0.5"
+ socket.io-parser "2.3.1"
+ to-array "0.1.4"
+
+socket.io-parser@2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0"
+ dependencies:
+ component-emitter "1.1.2"
+ debug "2.2.0"
+ isarray "0.0.1"
+ json3 "3.3.2"
+
+socket.io@^1.7.2:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.2.tgz#83bbbdf2e79263b378900da403e7843e05dc3b71"
+ dependencies:
+ debug "2.3.3"
+ engine.io "1.8.2"
+ has-binary "0.1.7"
+ object-assign "4.1.0"
+ socket.io-adapter "0.5.0"
+ socket.io-client "1.7.2"
+ socket.io-parser "2.3.1"
+
+source-map-cjs@~0.1.31:
+ version "0.1.32"
+ resolved "https://registry.yarnpkg.com/source-map-cjs/-/source-map-cjs-0.1.32.tgz#b113f00065b484f4d3a1123ef084046a56228ce7"
+
+source-map-support@0.4.x:
+ version "0.4.11"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz#647f939978b38535909530885303daf23279f322"
+ dependencies:
+ source-map "^0.5.3"
+
+source-map@0.1.34:
+ version "0.1.34"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.34.tgz#a7cfe89aec7b1682c3b198d0acfb47d7d090566b"
+ dependencies:
+ amdefine ">=0.0.4"
+
+source-map@0.1.x, source-map@~0.1.30, source-map@~0.1.31, source-map@~0.1.33, source-map@~0.1.40, source-map@~0.1.7:
+ version "0.1.43"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346"
+ dependencies:
+ amdefine ">=0.0.4"
+
+source-map@0.4.x, source-map@^0.4.4, source-map@~0.4.0, source-map@~0.4.2:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
+ dependencies:
+ amdefine ">=0.0.4"
+
+source-map@^0.5.3, source-map@~0.5.1:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
+
+source-map@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.3.0.tgz#8586fb9a5a005e5b501e21cd18b6f21b457ad1f9"
+ dependencies:
+ amdefine ">=0.0.4"
+
+spawn-sync@^1.0.15:
+ version "1.0.15"
+ resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476"
+ dependencies:
+ concat-stream "^1.4.7"
+ os-shim "^0.1.2"
+
+split@0.3:
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f"
+ dependencies:
+ through "2"
+
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+
+sshpk@^1.7.0:
+ version "1.10.1"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0"
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ dashdash "^1.12.0"
+ getpass "^0.1.1"
+ optionalDependencies:
+ bcrypt-pbkdf "^1.0.0"
+ ecc-jsbn "~0.1.1"
+ jodid25519 "^1.0.0"
+ jsbn "~0.1.0"
+ tweetnacl "~0.14.0"
+
+stack-mapper@0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/stack-mapper/-/stack-mapper-0.2.2.tgz#789029054937b7d47c1b5b67612cbb1e7cfe7071"
+ dependencies:
+ array-map "0.0.0"
+ foreach-shim "~0.1.1"
+ isarray "0.0.1"
+ source-map-cjs "~0.1.31"
+
+stacktrace-js@defunctzombie/stacktrace.js#07e7b95:
+ version "0.6.0"
+ resolved "https://codeload.github.com/defunctzombie/stacktrace.js/tar.gz/07e7b95"
+
+standard-engine@~5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-5.2.0.tgz#400660ae5acce8afd4db60ff2214a9190ad790a3"
+ dependencies:
+ deglob "^2.0.0"
+ find-root "^1.0.0"
+ get-stdin "^5.0.1"
+ home-or-tmp "^2.0.0"
+ minimist "^1.1.0"
+ pkg-config "^1.0.1"
+
+standard-json@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/standard-json/-/standard-json-1.0.1.tgz#75dd5952c59bb6cb358b136af0633ae3d7f35b6b"
+ dependencies:
+ concat-stream "^1.5.0"
+
+standard@*, standard@^8.6.0:
+ version "8.6.0"
+ resolved "https://registry.yarnpkg.com/standard/-/standard-8.6.0.tgz#635132be7bfb567c2921005f30f9e350e4752aad"
+ dependencies:
+ eslint "~3.10.2"
+ eslint-config-standard "6.2.1"
+ eslint-config-standard-jsx "3.2.0"
+ eslint-plugin-promise "~3.4.0"
+ eslint-plugin-react "~6.7.1"
+ eslint-plugin-standard "~2.0.1"
+ standard-engine "~5.2.0"
+
+starttls@0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/starttls/-/starttls-0.2.1.tgz#b98d3e5e778d46f199c843a64f889f0347c6d19a"
+
+statehood@5.x.x:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/statehood/-/statehood-5.0.1.tgz#fc13c97b37751c18e70513d2b97e896ac8b73005"
+ dependencies:
+ boom "4.x.x"
+ cryptiles "3.x.x"
+ hoek "4.x.x"
+ iron "4.x.x"
+ items "2.x.x"
+ joi "10.x.x"
+
+"statuses@>= 1.3.1 < 2", statuses@~1.3.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
+
+stream-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-1.0.0.tgz#bf9b4abfb42b274d751479e44e0ff2656b6f1193"
+ dependencies:
+ inherits "~2.0.1"
+ readable-stream "^1.0.27-1"
+
+stream-combiner2@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.0.2.tgz#ba72a6b50cbfabfa950fc8bc87604bd01eb60671"
+ dependencies:
+ duplexer2 "~0.0.2"
+ through2 "~0.5.1"
+
+stream-combiner@~0.0.2, stream-combiner@~0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14"
+ dependencies:
+ duplexer "~0.1.1"
+
+stream-combiner@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.1.0.tgz#0dc389a3c203f8f4d56368f95dde52eb9269b5be"
+ dependencies:
+ duplexer "~0.1.1"
+ through "~2.3.4"
+
+stream-counter@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/stream-counter/-/stream-counter-0.2.0.tgz#ded266556319c8b0e222812b9cf3b26fa7d947de"
+ dependencies:
+ readable-stream "~1.1.8"
+
+stream-shift@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
+
+stream-splicer@^1.1.0:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/stream-splicer/-/stream-splicer-1.3.2.tgz#3c0441be15b9bf4e226275e6dc83964745546661"
+ dependencies:
+ indexof "0.0.1"
+ inherits "^2.0.1"
+ isarray "~0.0.1"
+ readable-stream "^1.1.13-1"
+ readable-wrap "^1.0.0"
+ through2 "^1.0.0"
+
+string-length@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac"
+ dependencies:
+ strip-ansi "^3.0.0"
+
+string-width@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ strip-ansi "^3.0.0"
+
+string-width@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e"
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^3.0.0"
+
+string_decoder@~0.0.0:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.0.1.tgz#f5472d0a8d1650ec823752d24e6fd627b39bf141"
+
+string_decoder@~0.10.0, string_decoder@~0.10.x:
+ version "0.10.31"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+
+stringstream@~0.0.4:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
+
+strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ dependencies:
+ ansi-regex "^2.0.0"
+
+strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+
+strip-json-comments@~1.0.1, strip-json-comments@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
+
+strip-json-comments@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+
+stylizer@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/stylizer/-/stylizer-2.2.0.tgz#f0dd21a468bbb3fccc3aabc6d5945b57568f2ba6"
+ dependencies:
+ cssesc "~0.1.0"
+ gaze "~1.1.1"
+ minimist "^1.1.0"
+ parent-require "~1.0.0"
+ request "~2.44.0"
+ stylus "^0.54.5"
+ tiny-lr "0.1.4"
+
+stylus@^0.54.5:
+ version "0.54.5"
+ resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.5.tgz#42b9560931ca7090ce8515a798ba9e6aa3d6dc79"
+ dependencies:
+ css-parse "1.7.x"
+ debug "*"
+ glob "7.0.x"
+ mkdirp "0.5.x"
+ sax "0.5.x"
+ source-map "0.1.x"
+
+subarg@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/subarg/-/subarg-0.0.1.tgz#3d56b07dacfbc45bbb63f7672b43b63e46368e3a"
+ dependencies:
+ minimist "~0.0.7"
+
+subarg@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2"
+ dependencies:
+ minimist "^1.1.0"
+
+subtext@^4.3.x:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/subtext/-/subtext-4.3.0.tgz#dfac90492ec35669fd6e00c6e5d938b06d7ccfbb"
+ dependencies:
+ boom "4.x.x"
+ content "3.x.x"
+ hoek "4.x.x"
+ pez "2.x.x"
+ wreck "10.x.x"
+
+superagent@0.15.7:
+ version "0.15.7"
+ resolved "https://registry.yarnpkg.com/superagent/-/superagent-0.15.7.tgz#095c70b8afffbc072f1458f39684d4854d6333a3"
+ dependencies:
+ cookiejar "1.3.0"
+ debug "~0.7.2"
+ emitter-component "1.0.0"
+ formidable "1.0.14"
+ methods "0.0.1"
+ mime "1.2.5"
+ qs "0.6.5"
+ reduce-component "1.0.1"
+
+superstack@0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/superstack/-/superstack-0.0.4.tgz#6fe87b7913e0fd748ab33e333b5ae87eb020935c"
+
+supports-color@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a"
+
+supports-color@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+
+swagger-methods@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/swagger-methods/-/swagger-methods-1.0.0.tgz#b39c77957d305a6535c0a1e015081185b99d61fc"
+
+swagger-parser@^3.4.1:
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/swagger-parser/-/swagger-parser-3.4.1.tgz#0290529dbae254d178b442a95df60d23d142301d"
+ dependencies:
+ call-me-maybe "^1.0.1"
+ debug "^2.2.0"
+ es6-promise "^3.0.2"
+ json-schema-ref-parser "^1.4.1"
+ ono "^2.0.1"
+ swagger-methods "^1.0.0"
+ swagger-schema-official "2.0.0-bab6bed"
+ z-schema "^3.16.1"
+
+swagger-schema-official@2.0.0-bab6bed:
+ version "2.0.0-bab6bed"
+ resolved "https://registry.yarnpkg.com/swagger-schema-official/-/swagger-schema-official-2.0.0-bab6bed.tgz#70070468d6d2977ca5237b2e519ca7d06a2ea3fd"
+
+syntax-error@^1.1.1:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.1.6.tgz#b4549706d386cc1c1dc7c2423f18579b6cade710"
+ dependencies:
+ acorn "^2.7.0"
+
+table@^3.7.8:
+ version "3.8.3"
+ resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
+ dependencies:
+ ajv "^4.7.0"
+ ajv-keywords "^1.0.0"
+ chalk "^1.1.1"
+ lodash "^4.0.0"
+ slice-ansi "0.0.4"
+ string-width "^2.0.0"
+
+tap-parser@0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/tap-parser/-/tap-parser-0.7.0.tgz#728a61d64680a5b48d5dbd9dbd0a4d48f5c35bcb"
+ dependencies:
+ inherits "~2.0.1"
+ minimist "^0.2.0"
+ readable-stream "~1.1.11"
+
+tape@3.5.0:
+ version "3.5.0"
+ resolved "https://registry.yarnpkg.com/tape/-/tape-3.5.0.tgz#aebb061388104ad0cb407be842782049d64624f8"
+ dependencies:
+ deep-equal "~0.2.0"
+ defined "~0.0.0"
+ glob "~3.2.9"
+ inherits "~2.0.1"
+ object-inspect "~0.4.0"
+ resumer "~0.0.0"
+ through "~2.3.4"
+
+tar-pack@~3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae"
+ dependencies:
+ debug "~2.2.0"
+ fstream "~1.0.10"
+ fstream-ignore "~1.0.5"
+ once "~1.3.3"
+ readable-stream "~2.1.4"
+ rimraf "~2.5.1"
+ tar "~2.2.1"
+ uid-number "~0.0.6"
+
+tar-stream@~0.4.0:
+ version "0.4.7"
+ resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-0.4.7.tgz#1f1d2ce9ebc7b42765243ca0e8f1b7bfda0aadcd"
+ dependencies:
+ bl "^0.9.0"
+ end-of-stream "^1.0.0"
+ readable-stream "^1.0.27-1"
+ xtend "^4.0.0"
+
+tar-stream@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.0.2.tgz#fd19b4a17900fa704f6a133e3045aead0562ab95"
+ dependencies:
+ bl "^0.9.0"
+ end-of-stream "^1.0.0"
+ readable-stream "^1.0.27-1"
+ xtend "^4.0.0"
+
+tar@~2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
+ dependencies:
+ block-stream "*"
+ fstream "^1.0.2"
+ inherits "2"
+
+templatizer@^1.5.2:
+ version "1.5.4"
+ resolved "https://registry.yarnpkg.com/templatizer/-/templatizer-1.5.4.tgz#3b8d2f8406cdd57fbf1639cd238f17e976b159cc"
+ dependencies:
+ escodegen "1.6.1"
+ esprima "^2.5.0"
+ falafel "^1.2.0"
+ glob "^5.0.14"
+ jade "^1.11.0"
+ lodash "^3.10.1"
+ minimatch "^2.0.10"
+ minimist "^1.1.3"
+ uglify-js "^2.4.24"
+ walkdir "0.0.10"
+
+ternary@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/ternary/-/ternary-1.0.0.tgz#45702725608c9499d46a9610e9b0e49ff26f789e"
+
+text-table@^0.2.0, text-table@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+
+through2@^0.6.3:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48"
+ dependencies:
+ readable-stream ">=1.0.33-1 <1.1.0-0"
+ xtend ">=4.0.0 <4.1.0-0"
+
+through2@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-1.1.1.tgz#0847cbc4449f3405574dbdccd9bb841b83ac3545"
+ dependencies:
+ readable-stream ">=1.1.13-1 <1.2.0-0"
+ xtend ">=4.0.0 <4.1.0-0"
+
+through2@~0.4.0, through2@~0.4.1:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-0.4.2.tgz#dbf5866031151ec8352bb6c4db64a2292a840b9b"
+ dependencies:
+ readable-stream "~1.0.17"
+ xtend "~2.1.1"
+
+through2@~0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-0.5.1.tgz#dfdd012eb9c700e2323fd334f38ac622ab372da7"
+ dependencies:
+ readable-stream "~1.0.17"
+ xtend "~3.0.0"
+
+through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@~2.3, through@~2.3.1, through@~2.3.3, through@~2.3.4:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+
+through@2.3.4:
+ version "2.3.4"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.4.tgz#495e40e8d8a8eaebc7c275ea88c2b8fc14c56455"
+
+through@~2.2.7:
+ version "2.2.7"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.2.7.tgz#6e8e21200191d4eb6a99f6f010df46aa1c6eb2bd"
+
+timed-out@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz#f38b0ae81d3747d628001f41dafc652ace671c0a"
+
+timers-browserify@^1.0.1:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d"
+ dependencies:
+ process "~0.11.0"
+
+tiny-lr@0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-0.1.4.tgz#6e41d7e67dfd0878e5e0b37e37a06d67e309ff4d"
+ dependencies:
+ body-parser "~1.8.0"
+ debug "~0.8.1"
+ faye-websocket "~0.7.2"
+ parseurl "~1.3.0"
+ qs "~2.2.3"
+
+to-array@0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
+
+topo@2.x.x:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/topo/-/topo-2.0.2.tgz#cd5615752539057c0dc0491a621c3bc6fbe1d182"
+ dependencies:
+ hoek "4.x.x"
+
+touch@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/touch/-/touch-1.0.0.tgz#449cbe2dbae5a8c8038e30d71fa0ff464947c4de"
+ dependencies:
+ nopt "~1.0.10"
+
+tough-cookie@>=0.12.0, tough-cookie@~2.3.0:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
+ dependencies:
+ punycode "^1.4.1"
+
+transformers@2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/transformers/-/transformers-2.1.0.tgz#5d23cb35561dd85dc67fb8482309b47d53cce9a7"
+ dependencies:
+ css "~1.0.8"
+ promise "~2.0"
+ uglify-js "~2.2.5"
+
+transformify@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/transformify/-/transformify-0.1.2.tgz#9a4f42a154433dd727b80575428a3c9e5489ebf1"
+ dependencies:
+ readable-stream "~1.1.9"
+
+trim@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
+
+tryit@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"
+
+tty-browserify@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
+
+tunnel-agent@~0.4.0, tunnel-agent@~0.4.1:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.4"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.4.tgz#8c9dbfb52795686f166cd2023794bcf103d13c2b"
+
+type-check@~0.3.1, type-check@~0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
+ dependencies:
+ prelude-ls "~1.1.2"
+
+type-is@1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.3.1.tgz#a6789b5a52138289ade1ef8f6d9f2874ffd70b6b"
+ dependencies:
+ media-typer "0.2.0"
+ mime-types "1.0.0"
+
+type-is@~1.5.1:
+ version "1.5.7"
+ resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.5.7.tgz#b9368a593cc6ef7d0645e78b2f4c64cbecd05e90"
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.0.9"
+
+type-is@~1.6.13:
+ version "1.6.14"
+ resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.14.tgz#e219639c17ded1ca0789092dd54a03826b817cb2"
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.1.13"
+
+typedarray@~0.0.5:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+
+uglify-js@^2.4.0, uglify-js@^2.4.24, uglify-js@^2.6:
+ version "2.7.5"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8"
+ dependencies:
+ async "~0.2.6"
+ source-map "~0.5.1"
+ uglify-to-browserify "~1.0.0"
+ yargs "~3.10.0"
+
+uglify-js@~2.2, uglify-js@~2.2.5:
+ version "2.2.5"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.2.5.tgz#a6e02a70d839792b9780488b7b8b184c095c99c7"
+ dependencies:
+ optimist "~0.3.5"
+ source-map "~0.1.7"
+
+uglify-js@~2.3:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.3.6.tgz#fa0984770b428b7a9b2a8058f46355d14fef211a"
+ dependencies:
+ async "~0.2.6"
+ optimist "~0.3.5"
+ source-map "~0.1.7"
+
+uglify-js@~2.4.0:
+ version "2.4.24"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.4.24.tgz#fad5755c1e1577658bb06ff9ab6e548c95bebd6e"
+ dependencies:
+ async "~0.2.6"
+ source-map "0.1.34"
+ uglify-to-browserify "~1.0.0"
+ yargs "~3.5.4"
+
+uglify-to-browserify@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
+
+uid-number@~0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
+
+uid2@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82"
+
+ultron@1.0.x:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
+
+umd@^2.1.0, umd@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/umd/-/umd-2.1.0.tgz#4a6307b762f17f02d201b5fa154e673396c263cf"
+ dependencies:
+ rfile "~1.0.0"
+ ruglify "~1.0.0"
+ through "~2.3.4"
+ uglify-js "~2.4.0"
+
+undefsafe@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-0.0.3.tgz#ecca3a03e56b9af17385baac812ac83b994a962f"
+
+underscore.string@~2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.3.3.tgz#71c08bf6b428b1133f37e78fa3a21c82f7329b0d"
+
+underscore.string@~2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b"
+
+underscore@, underscore@^1.6.0, underscore@^1.7.0, underscore@^1.8.3:
+ version "1.8.3"
+ resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022"
+
+underscore@~1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8"
+
+underscore@~1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209"
+
+"unicode@>= 0.3.1":
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/unicode/-/unicode-0.6.1.tgz#ec69e3c4537e2b9650b826133bcb068f0445d0bc"
+ dependencies:
+ bufferstream ">= 0.6.2"
+
+uniq@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
+
+unpipe@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+
+update-notifier@0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-0.5.0.tgz#07b5dc2066b3627ab3b4f530130f7eddda07a4cc"
+ dependencies:
+ chalk "^1.0.0"
+ configstore "^1.0.0"
+ is-npm "^1.0.0"
+ latest-version "^1.0.0"
+ repeating "^1.1.2"
+ semver-diff "^2.0.0"
+ string-length "^1.0.0"
+
+url@~0.10.1:
+ version "0.10.3"
+ resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64"
+ dependencies:
+ punycode "1.3.2"
+ querystring "0.2.0"
+
+user-home@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"
+ dependencies:
+ os-homedir "^1.0.0"
+
+util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+
+util@0.10.3, util@~0.10.1:
+ version "0.10.3"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
+ dependencies:
+ inherits "2.0.1"
+
+utils-merge@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8"
+
+uuid@^2.0.1:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
+
+uuid@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
+
+validator@^6.0.0:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/validator/-/validator-6.2.1.tgz#bc575b78d15beb2e338a665ba9530c7f409ef667"
+
+vargs@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/vargs/-/vargs-0.1.0.tgz#6b6184da6520cc3204ce1b407cac26d92609ebff"
+
+vary@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.0.tgz#e1e5affbbd16ae768dd2674394b9ad3022653140"
+
+verror@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
+ dependencies:
+ extsprintf "1.0.2"
+
+vise@2.x.x:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/vise/-/vise-2.0.2.tgz#6b08e8fb4cb76e3a50cd6dd0ec37338e811a0d39"
+ dependencies:
+ hoek "4.x.x"
+
+vision@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/vision/-/vision-4.1.1.tgz#e1b612b2d2e2f20310a039290fd49d51248f82da"
+ dependencies:
+ boom "4.x.x"
+ hoek "4.x.x"
+ items "2.x.x"
+ joi "10.x.x"
+
+vm-browserify@~0.0.1:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
+ dependencies:
+ indexof "0.0.1"
+
+void-elements@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
+
+walk@2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/walk/-/walk-2.2.1.tgz#5ada1f8e49e47d4b7445d8be7a2e1e631ab43016"
+ dependencies:
+ forEachAsync "~2.2"
+
+walkdir@0.0.10:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/walkdir/-/walkdir-0.0.10.tgz#36037cab663b5e1c0166007b5f7b918b3279a54f"
+
+wd@0.3.11:
+ version "0.3.11"
+ resolved "https://registry.yarnpkg.com/wd/-/wd-0.3.11.tgz#522716c79a7a10e781acbb2c6cafe588f701fcc0"
+ dependencies:
+ archiver "~0.12.0"
+ async "~0.9.0"
+ lodash "~2.4.1"
+ q "~1.0.1"
+ request "~2.46.0"
+ underscore.string "~2.3.3"
+ vargs "~0.1.0"
+
+websocket-driver@>=0.3.6:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36"
+ dependencies:
+ websocket-extensions ">=0.1.1"
+
+websocket-extensions@>=0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7"
+
+which@1.0.x:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.0.9.tgz#460c1da0f810103d0321a9b633af9e575e64486f"
+
+which@1.2.x, which@^1.2.9:
+ version "1.2.12"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192"
+ dependencies:
+ isexe "^1.1.1"
+
+wide-align@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad"
+ dependencies:
+ string-width "^1.0.1"
+
+window-size@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
+
+with@~4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/with/-/with-4.0.3.tgz#eefd154e9e79d2c8d3417b647a8f14d9fecce14e"
+ dependencies:
+ acorn "^1.0.1"
+ acorn-globals "^1.0.3"
+
+wordwrap@0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
+
+wordwrap@0.0.x, wordwrap@~0.0.2:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
+
+wordwrap@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+
+wreck@10.x.x:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/wreck/-/wreck-10.0.0.tgz#98ab882f85e16a526332507f101f5a7841162278"
+ dependencies:
+ boom "4.x.x"
+ hoek "4.x.x"
+
+wrench@~1.5.1:
+ version "1.5.9"
+ resolved "https://registry.yarnpkg.com/wrench/-/wrench-1.5.9.tgz#411691c63a9b2531b1700267279bdeca23b2142a"
+
+write-file-atomic@^1.1.2:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.2.0.tgz#14c66d4e4cb3ca0565c28cf3b7a6f3e4d5938fab"
+ dependencies:
+ graceful-fs "^4.1.2"
+ imurmurhash "^0.1.4"
+ slide "^1.1.5"
+
+write@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
+ dependencies:
+ mkdirp "^0.5.1"
+
+ws@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.1.tgz#082ddb6c641e85d4bb451f03d52f06eabdb1f018"
+ dependencies:
+ options ">=0.0.5"
+ ultron "1.0.x"
+
+wtf-8@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"
+
+xdg-basedir@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2"
+ dependencies:
+ os-homedir "^1.0.0"
+
+xhr@^1.10.0:
+ version "1.17.1"
+ resolved "https://registry.yarnpkg.com/xhr/-/xhr-1.17.1.tgz#0533349e4a7bb967d0bd878a961d9505f9052dff"
+ dependencies:
+ global "~4.3.0"
+ once "~1.1.1"
+ parse-headers "^2.0.0"
+
+xml2js@~0.4.0:
+ version "0.4.17"
+ resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.17.tgz#17be93eaae3f3b779359c795b419705a8817e868"
+ dependencies:
+ sax ">=0.6.0"
+ xmlbuilder "^4.1.0"
+
+xmlbuilder@^4.1.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5"
+ dependencies:
+ lodash "^4.0.0"
+
+xmlhttprequest-ssl@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
+
+xtend@2.1.2, xtend@~2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b"
+ dependencies:
+ object-keys "~0.4.0"
+
+"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
+
+xtend@^3.0.0, xtend@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a"
+
+yallist@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4"
+
+yamljs@0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/yamljs/-/yamljs-0.1.4.tgz#665789afc2ad4b902bf403f00e85b6434e0f3300"
+ dependencies:
+ argparse "~0.1.4"
+ glob "~3.1.11"
+
+yargs@~3.10.0:
+ version "3.10.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
+ dependencies:
+ camelcase "^1.0.2"
+ cliui "^2.1.0"
+ decamelize "^1.0.0"
+ window-size "0.1.0"
+
+yargs@~3.5.4:
+ version "3.5.4"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.5.4.tgz#d8aff8f665e94c34bd259bdebd1bfaf0ddd35361"
+ dependencies:
+ camelcase "^1.0.2"
+ decamelize "^1.0.0"
+ window-size "0.1.0"
+ wordwrap "0.0.2"
+
+yeast@0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
+
+z-schema@^3.16.1, z-schema@^3.17.0:
+ version "3.18.2"
+ resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-3.18.2.tgz#e422196b5efe60b46adef3c3f2aef2deaa911161"
+ dependencies:
+ lodash.get "^4.1.2"
+ lodash.isequal "^4.4.0"
+ validator "^6.0.0"
+ optionalDependencies:
+ commander "^2.7.1"
+
+zip-stream@~0.2.0:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-0.2.3.tgz#aef095376cfe138959a81341981d26338b46d8d3"
+ dependencies:
+ debug "~0.7.4"
+ lodash.defaults "~2.4.1"
+ readable-stream "~1.0.24"
+
+zip-stream@~0.3.0:
+ version "0.3.7"
+ resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-0.3.7.tgz#c84d057eb0bcc0139747bd3c6c97280bcf5f2bb2"
+ dependencies:
+ buffer-crc32 "~0.2.1"
+ crc32-stream "~0.2.0"
+ debug "~1.0.2"
+ deflate-crc32-stream "~0.1.0"
+ lodash "~2.4.1"
+ readable-stream "~1.0.26"
+
+zip-stream@~0.4.0:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-0.4.1.tgz#4ea795a8ce19e9fab49a31d1d0877214159f03a3"
+ dependencies:
+ compress-commons "~0.1.0"
+ lodash "~2.4.1"
+ readable-stream "~1.0.26"
+
+zuul-localtunnel@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/zuul-localtunnel/-/zuul-localtunnel-1.0.1.tgz#1a9823d84616a3cae707dd592412c4dfbf7f8669"
+ dependencies:
+ localtunnel "1.5.0"
+
+zuul@^1.16.4:
+ version "1.19.0"
+ resolved "https://registry.yarnpkg.com/zuul/-/zuul-1.19.0.tgz#2a88c0bde71a10a5d29dc006c24072e44b845e4a"
+ dependencies:
+ JSON2 "0.1.0"
+ batch "0.5.0"
+ bouncy "3.2.2"
+ browserify "6.3.3"
+ browserify-istanbul "0.1.3"
+ char-split "0.2.0"
+ colors "0.6.2"
+ commander "2.1.0"
+ convert-source-map "0.4.1"
+ debug "2.1.0"
+ express "3.4.8"
+ express-state "1.0.3"
+ find-nearest-file "1.0.0"
+ firefox-profile "0.2.7"
+ hbs "2.4.0"
+ highlight.js "7.5.0"
+ istanbul-middleware "0.2.0"
+ load-script "0.0.5"
+ lodash "2.4.1"
+ opener "1.4.0"
+ osenv "0.0.3"
+ shallow-copy "0.0.1"
+ shell-quote "1.4.1"
+ stack-mapper "0.2.2"
+ stacktrace-js defunctzombie/stacktrace.js#07e7b95
+ superagent "0.15.7"
+ superstack "0.0.4"
+ tap-parser "0.7.0"
+ tape "3.5.0"
+ wd "0.3.11"
+ xtend "2.1.2"
+ yamljs "0.1.4"
+ zuul-localtunnel "1.0.1"