diff --git a/.eslintrc b/.eslintrc index 4f552a0..8e6a526 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,11 +1,7 @@ -{ - "extends": "fxa/server", - "env": { - "mocha": true - }, - "rules": { - "handle-callback-err": 0, - "complexity": [2, 10], - "semi": [2, "always"] - } -} +plugins: + - fxa +extends: plugin:fxa/server + +rules: + handle-callback-err: 0 + semi: [2, "always"] diff --git a/.jscsrc b/.jscsrc deleted file mode 100644 index dfe39bb..0000000 --- a/.jscsrc +++ /dev/null @@ -1,19 +0,0 @@ -{ - "disallowKeywords": ["with", "eval"], - "disallowKeywordsOnNewLine": ["else"], - "disallowMultipleLineStrings": true, - "disallowSpaceAfterObjectKeys": true, - "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-"], - "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], - "maximumLineLength": 160, - "requireCapitalizedConstructors": true, - "requireCurlyBraces": ["for", "while", "do"], - "requireLineFeedAtFileEnd": true, - "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return"], - "requireSpaceAfterBinaryOperators": ["=", ",", "+", "-", "/", "*", "==", "===", "!=", "!=="], - "requireSpaceAfterPrefixUnaryOperators": ["~"], - "requireSpacesInConditionalExpression": true, - "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], - "validateIndentation": 2, - "validateQuoteMarks": "'" -} diff --git a/Dockerfile-build b/Dockerfile-build index ee1ce81..0e49808 100644 --- a/Dockerfile-build +++ b/Dockerfile-build @@ -1,5 +1,7 @@ FROM node:6.11.1-alpine +RUN apk add --no-cache git + RUN addgroup -g 10001 app && \ adduser -D -G app -h /app -u 10001 app WORKDIR /app diff --git a/bin/purge_expired_tokens.js b/bin/purge_expired_tokens.js index 1d6bc9a..7483fcf 100644 --- a/bin/purge_expired_tokens.js +++ b/bin/purge_expired_tokens.js @@ -36,7 +36,7 @@ program program.parse(process.argv); -if (!program.config) { +if (! program.config) { program.config = 'dev'; } @@ -45,7 +45,7 @@ process.env.NODE_ENV = program.config; const db = require('../lib/db'); const logger = require('../lib/logging')('bin.purge_expired_tokens'); -if (!program.pocketId) { +if (! program.pocketId) { logger.error('invalid', { message: 'Required pocket client id!' }); process.exit(1); } diff --git a/grunttasks/jscs.js b/grunttasks/jscs.js deleted file mode 100644 index 7599270..0000000 --- a/grunttasks/jscs.js +++ /dev/null @@ -1,16 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -module.exports = function (grunt) { - 'use strict'; - - grunt.config('jscs', { - app: [ - '<%= mainJsFiles %>' - ], - options: { - config: '.jscsrc' - } - }); -}; diff --git a/grunttasks/lint.js b/grunttasks/lint.js index 8a029d0..a231674 100644 --- a/grunttasks/lint.js +++ b/grunttasks/lint.js @@ -8,7 +8,6 @@ module.exports = function (grunt) { 'use strict'; grunt.registerTask('lint', [ - 'eslint', - 'jscs' + 'eslint' ]); }; diff --git a/lib/auth.js b/lib/auth.js index b1a8ff2..ce4a999 100644 --- a/lib/auth.js +++ b/lib/auth.js @@ -22,19 +22,19 @@ exports.strategy = function() { authenticate: function dogfoodStrategy(req, reply) { var auth = req.headers.authorization; logger.debug('check.auth', { header: auth }); - if (!auth || auth.indexOf('Bearer ') !== 0) { + if (! auth || auth.indexOf('Bearer ') !== 0) { return reply(AppError.unauthorized('Bearer token not provided')); } var tok = auth.split(' ')[1]; - if (!validators.HEX_STRING.test(tok)) { + if (! validators.HEX_STRING.test(tok)) { return reply(AppError.unauthorized('Illegal Bearer token')); } token.verify(tok).done(function tokenFound(details) { if (details.scope.indexOf(exports.SCOPE_CLIENT_MANAGEMENT) !== -1) { logger.debug('check.whitelist'); - var blocked = !WHITELIST.some(function(re) { + var blocked = ! WHITELIST.some(function(re) { return re.test(details.email); }); if (blocked) { diff --git a/lib/auth_bearer.js b/lib/auth_bearer.js index 7354383..cd9e10e 100644 --- a/lib/auth_bearer.js +++ b/lib/auth_bearer.js @@ -21,12 +21,12 @@ exports.strategy = function() { var auth = req.headers.authorization; logger.debug(authName + '.check', { header: auth }); - if (!auth || auth.indexOf('Bearer ') !== 0) { + if (! auth || auth.indexOf('Bearer ') !== 0) { return reply(AppError.unauthorized('Bearer token not provided')); } var tok = auth.split(' ')[1]; - if (!validators.HEX_STRING.test(tok)) { + if (! validators.HEX_STRING.test(tok)) { return reply(AppError.unauthorized('Illegal Bearer token')); } diff --git a/lib/browserid.js b/lib/browserid.js index 97f7b46..57613ba 100644 --- a/lib/browserid.js +++ b/lib/browserid.js @@ -65,7 +65,7 @@ module.exports = function verifyAssertion(assertion) { d.reject(AppError.invalidAssertion()); } - if (!body || body.status !== 'okay') { + if (! body || body.status !== 'okay') { return error('non-okay response', body); } var email = body.email; @@ -84,7 +84,7 @@ module.exports = function verifyAssertion(assertion) { } var claims = body.idpClaims; - if (!claims || !claims['fxa-verifiedEmail']) { + if (! claims || ! claims['fxa-verifiedEmail']) { return error('incorrect idpClaims', claims); } diff --git a/lib/config.js b/lib/config.js index 6a5318c..57ac904 100644 --- a/lib/config.js +++ b/lib/config.js @@ -383,7 +383,7 @@ if (Object.keys(oldKey).length) { 'openid.key.kid must differ from oldKey'); assert(oldKey.n, 'openid.oldKey.n is required'); assert(oldKey.e, 'openid.oldKey.e is required'); - assert(!oldKey.d, 'openid.oldKey.d is forbidden'); + assert(! oldKey.d, 'openid.oldKey.d is forbidden'); } module.exports = conf; diff --git a/lib/db/index.js b/lib/db/index.js index fdf12a5..6d6aa87 100644 --- a/lib/db/index.js +++ b/lib/db/index.js @@ -38,7 +38,7 @@ function convertClientToConfigFormat(client) { if (key === 'hashedSecret' || key === 'hashedSecretPrevious') { out[key] = unbuf(client[key]); } else if (key === 'trusted' || key === 'canGrant') { - out[key] = !!client[key]; // db stores booleans as 0 or 1. + out[key] = !! client[key]; // db stores booleans as 0 or 1. } else if (typeof client[key] !== 'function') { out[key] = unbuf(client[key]); } @@ -66,7 +66,7 @@ function preClients() { var REQUIRED_CLIENTS_KEYS = [ 'id', 'hashedSecret', 'name', 'imageUri', 'redirectUri', 'trusted', 'canGrant' ]; REQUIRED_CLIENTS_KEYS.forEach(function(key) { - if (!(key in c)) { + if (! (key in c)) { var data = { key: key, name: c.name || 'unknown' }; logger.error('client.missing.keys', data); err = new Error('Client config has missing keys'); @@ -77,13 +77,13 @@ function preClients() { } // ensure booleans are boolean and not undefined - c.trusted = !!c.trusted; - c.canGrant = !!c.canGrant; - c.publicClient = !!c.publicClient; + c.trusted = !! c.trusted; + c.canGrant = !! c.canGrant; + c.publicClient = !! c.publicClient; // Modification of the database at startup in production and stage is // not preferred. This option will be set to false on those stacks. - if (!config.get('db.autoUpdateClients')) { + if (! config.get('db.autoUpdateClients')) { return P.resolve(); } diff --git a/lib/db/memory.js b/lib/db/memory.js index 5757706..1506f9a 100644 --- a/lib/db/memory.js +++ b/lib/db/memory.js @@ -80,7 +80,7 @@ const MAX_TTL = config.get('expiration.accessToken'); * } */ function MemoryStore() { - if (!(this instanceof MemoryStore)) { + if (! (this instanceof MemoryStore)) { return new MemoryStore(); } this.clients = {}; @@ -96,7 +96,7 @@ MemoryStore.connect = function memoryConnect() { }; function clone(obj) { - if (!obj) { + if (! obj) { return obj; } var clone = {}; @@ -131,19 +131,19 @@ MemoryStore.prototype = { client.createdAt = new Date(); client.imageUri = client.imageUri || ''; client.redirectUri = client.redirectUri || ''; - client.canGrant = !!client.canGrant; - client.trusted = !!client.trusted; + client.canGrant = !! client.canGrant; + client.trusted = !! client.trusted; this.clients[hex] = client; client.hashedSecret = client.hashedSecret; client.hashedSecretPrevious = client.hashedSecretPrevious || ''; return P.resolve(client); }, updateClient: function updateClient(client) { - if (!client.id) { + if (! client.id) { return P.reject(new Error('Update client needs an id')); } var hex = unbuf(client.id); - if (!this.clients[hex]) { + if (! this.clients[hex]) { return P.reject(new Error('Client does not exist')); } var old = this.clients[hex]; @@ -316,11 +316,11 @@ MemoryStore.prototype = { return P.resolve(clone(this.refreshTokens[unbuf(token)])); }, usedRefreshToken: function usedRefreshToken(token) { - if (!token) { + if (! token) { return P.reject(new Error('Update needs a token')); } var hex = unbuf(token); - if (!this.refreshTokens[hex]) { + if (! this.refreshTokens[hex]) { return P.reject(new Error('Token does not exist')); } var old = this.refreshTokens[hex]; diff --git a/lib/db/mysql/index.js b/lib/db/mysql/index.js index a19052d..a784fa6 100644 --- a/lib/db/mysql/index.js +++ b/lib/db/mysql/index.js @@ -239,9 +239,9 @@ MysqlStore.prototype = { buf(client.hashedSecret), client.hashedSecretPrevious ? buf(client.hashedSecretPrevious) : null, client.redirectUri, - !!client.trusted, - !!client.canGrant, - !!client.publicClient + !! client.trusted, + !! client.canGrant, + !! client.publicClient ]).then(function() { logger.debug('registerClient.success', { id: hex(id) }); client.id = id; @@ -249,7 +249,7 @@ MysqlStore.prototype = { }); }, registerClientDeveloper: function regClientDeveloper(developerId, clientId) { - if (!developerId || !clientId) { + if (! developerId || ! clientId) { var err = new Error('Owner registration requires user and developer id'); return P.reject(err); } @@ -319,7 +319,7 @@ MysqlStore.prototype = { }); }, updateClient: function updateClient(client) { - if (!client.id) { + if (! client.id) { return P.reject(new Error('Update client needs an id')); } var secret = client.hashedSecret; @@ -364,7 +364,7 @@ MysqlStore.prototype = { codeObj.email, codeObj.scope.join(' '), codeObj.authAt, - !!codeObj.offline, + !! codeObj.offline, hash, codeObj.codeChallengeMethod, codeObj.codeChallenge @@ -650,7 +650,7 @@ MysqlStore.prototype = { needToSetMode = true; } }); - if (!needToSetMode) { + if (! needToSetMode) { conn._fxa_initialized = true; return resolve(conn); } diff --git a/lib/events.js b/lib/events.js index 9ab2f7e..31cbf48 100644 --- a/lib/events.js +++ b/lib/events.js @@ -11,7 +11,7 @@ const HEX_STRING = require('./validators').HEX_STRING; var fxaEvents; -if (!config.events.region || !config.events.queueUrl) { +if (! config.events.region || ! config.events.queueUrl) { fxaEvents = { start: function start() { if (env.isProdLike()) { @@ -28,7 +28,7 @@ if (!config.events.region || !config.events.queueUrl) { logger.verbose('data', message); if (message.event === 'delete') { var userId = message.uid.split('@')[0]; - if (!HEX_STRING.test(userId)) { + if (! HEX_STRING.test(userId)) { message.del(); return logger.warn('badDelete', { userId: userId }); } diff --git a/lib/routes/authorization.js b/lib/routes/authorization.js index 78deb57..372fd17 100644 --- a/lib/routes/authorization.js +++ b/lib/routes/authorization.js @@ -190,7 +190,7 @@ module.exports = { P.all([ verify(req.payload.assertion).then(function(claims) { logger.info('time.browserid_verify', { ms: Date.now() - start }); - if (!claims) { + if (! claims) { exitEarly = true; throw AppError.invalidAssertion(); } @@ -202,10 +202,10 @@ module.exports = { // assertion was invalid, we can just stop here return; } - if (!client) { + if (! client) { logger.debug('notFound', { id: req.payload.client_id }); throw AppError.unknownClient(req.payload.client_id); - } else if (!client.trusted) { + } else if (! client.trusted) { var invalidScopes = detectInvalidScopes(scope.values(), UNTRUSTED_CLIENT_ALLOWED_SCOPES); @@ -243,7 +243,7 @@ module.exports = { } - if (wantsGrant && !client.canGrant) { + if (wantsGrant && ! client.canGrant) { logger.warn('implicitGrant.notAllowed', { id: req.payload.client_id }); diff --git a/lib/routes/client/get.js b/lib/routes/client/get.js index 65cdc1e..2513fd1 100644 --- a/lib/routes/client/get.js +++ b/lib/routes/client/get.js @@ -28,7 +28,7 @@ module.exports = { handler: function requestInfoEndpoint(req, reply) { var params = req.params; db.getClient(Buffer(params.client_id, 'hex')).then(function(client) { - if (!client) { + if (! client) { logger.debug('notFound', { id: params.client_id }); throw AppError.unknownClient(params.client_id); } diff --git a/lib/routes/client/register.js b/lib/routes/client/register.js index 4d49c80..d25f641 100644 --- a/lib/routes/client/register.js +++ b/lib/routes/client/register.js @@ -46,8 +46,8 @@ module.exports = { name: payload.name, redirectUri: payload.redirect_uri, imageUri: payload.image_uri || '', - canGrant: !!payload.can_grant, - trusted: !!payload.trusted + canGrant: !! payload.can_grant, + trusted: !! payload.trusted }; var developerEmail = req.auth.credentials.email; var developerId = null; diff --git a/lib/routes/destroy.js b/lib/routes/destroy.js index 0877b51..3807540 100644 --- a/lib/routes/destroy.js +++ b/lib/routes/destroy.js @@ -34,7 +34,7 @@ module.exports = { } db[getToken](token).then(function(tok) { - if (!tok) { + if (! tok) { throw AppError.invalidToken(); } return db[removeToken](token); diff --git a/lib/routes/redirect.js b/lib/routes/redirect.js index 83afdff..0b2ce56 100644 --- a/lib/routes/redirect.js +++ b/lib/routes/redirect.js @@ -36,7 +36,7 @@ module.exports = { if (! err) { delete req.query.action; - if (req.query.login_hint && !req.query.email) { + if (req.query.login_hint && ! req.query.email) { req.query.email = req.query.login_hint; delete req.query.login_hint; } diff --git a/lib/routes/root.js b/lib/routes/root.js index 4b58f61..d2f88e5 100644 --- a/lib/routes/root.js +++ b/lib/routes/root.js @@ -13,7 +13,7 @@ try { var info = require('../../config/version.json'); commitHash = info.version.hash; source = info.version.source; -} catch(e) { +} catch (e) { /* ignore */ } diff --git a/lib/routes/token.js b/lib/routes/token.js index 18b191a..327ee15 100644 --- a/lib/routes/token.js +++ b/lib/routes/token.js @@ -228,7 +228,7 @@ function pkceHash(input) { } function validPublicClient(client) { - if (!client.publicClient) { + if (! client.publicClient) { logger.debug('client.notPublicClient', { id: client.id }); throw AppError.notPublicClient(client.id); } @@ -249,7 +249,7 @@ function getClientById(clientId) { function confirmPkceCode(code, pkceVerifier) { return db.getCode(buf(code)).then(function(codeObj) { - if (!codeObj) { + if (! codeObj) { logger.debug('code.notFound', { code: code }); throw AppError.unknownCode(code); } @@ -299,7 +299,7 @@ function confirmClientSecret(client, secret) { function confirmCode(id, code) { return db.getCode(buf(code)).then(function(codeObj) { - if (!codeObj) { + if (! codeObj) { logger.debug('code.notFound', { code: code }); throw AppError.unknownCode(code); } else if (hex(codeObj.clientId) !== hex(id)) { @@ -325,7 +325,7 @@ function confirmCode(id, code) { function confirmRefreshToken(params) { return db.getRefreshToken(encrypt.hash(params.refresh_token)) .then(function(tokObj) { - if (!tokObj) { + if (! tokObj) { logger.debug('refresh_token.notFound', params.refresh_token); throw AppError.invalidToken(); } else if (hex(tokObj.clientId) !== hex(params.client_id)) { @@ -334,7 +334,7 @@ function confirmRefreshToken(params) { code: tokObj.clientId }); throw AppError.invalidToken(); - } else if (!Scope(tokObj.scope).has(params.scope)) { + } else if (! Scope(tokObj.scope).has(params.scope)) { logger.debug('refresh_token.invalidScopes', { allowed: tokObj.scope, requested: params.scope @@ -380,7 +380,7 @@ function confirmJwt(params) { throw AppError.invalidAssertion(); } - if (!Scope(client.scope).has(payload.scope)) { + if (! Scope(client.scope).has(payload.scope)) { logger.debug('jwt.invalid.scopes', { allowed: client.scope, requested: payload.scope @@ -412,11 +412,11 @@ function confirmJwt(params) { } function _validateJwtSub(sub) { - if (!sub) { + if (! sub) { logger.debug('jwt.invalid.sub.missing'); throw AppError.invalidAssertion(); } - if (sub.length !== 32 || !HEX_STRING.test(sub)) { + if (sub.length !== 32 || ! HEX_STRING.test(sub)) { logger.debug('jwt.invalid.sub', sub); throw AppError.invalidAssertion(); } diff --git a/lib/scope.js b/lib/scope.js index 6232249..e828c58 100644 --- a/lib/scope.js +++ b/lib/scope.js @@ -6,10 +6,10 @@ function Scope(arr) { if (arr instanceof Scope) { return arr; - } else if (!(this instanceof Scope)) { + } else if (! (this instanceof Scope)) { return new Scope(arr); } - if (!arr) { + if (! arr) { arr = []; } else if (typeof arr === 'string') { arr = arr.split(/\s+/); @@ -27,7 +27,7 @@ Scope.prototype = { has: function has(scope) { return Scope(scope).values().every(function(word) { - if (!word || word.lastIndexOf(':') === word.length - 1) { + if (! word || word.lastIndexOf(':') === word.length - 1) { return false; } else if (word in this._values || word + ':write' in this._values) { return true; diff --git a/lib/server/index.js b/lib/server/index.js index a21ec87..3e17d1d 100644 --- a/lib/server/index.js +++ b/lib/server/index.js @@ -70,7 +70,7 @@ exports.create = function createServer() { routes.forEach(function(route) { var method = route.method.toUpperCase(); if (method !== 'GET' && method !== 'HEAD') { - if (!route.config.payload) { + if (! route.config.payload) { route.config.payload = { allow: ['application/json', 'application/x-www-form-urlencoded'] }; diff --git a/lib/server/internal.js b/lib/server/internal.js index 4570034..7c82344 100644 --- a/lib/server/internal.js +++ b/lib/server/internal.js @@ -64,7 +64,7 @@ exports.create = function createServer() { routes.forEach(function(route) { var method = route.method.toUpperCase(); if (method !== 'GET' && method !== 'HEAD') { - if (!route.config.payload) { + if (! route.config.payload) { route.config.payload = { allow: ['application/json', 'application/x-www-form-urlencoded'] }; diff --git a/lib/token.js b/lib/token.js index aa8ad7f..860f1bf 100644 --- a/lib/token.js +++ b/lib/token.js @@ -15,7 +15,7 @@ const TWENTY_FOUR_HOURS = 24 * 60 * 60 * 1000; exports.verify = function verify(token) { return db.getAccessToken(encrypt.hash(token)) .then(function(token) { - if (!token) { + if (! token) { throw AppError.invalidToken(); } else if (+token.expiresAt < Date.now()) { // We dug ourselves a bit of a hole with token expiry, diff --git a/lib/unique.js b/lib/unique.js index 382323d..e6434af 100644 --- a/lib/unique.js +++ b/lib/unique.js @@ -7,7 +7,7 @@ const crypto = require('crypto'); const config = require('./config'); function unique(length) { - return crypto.randomBytes(length); + return crypto.randomBytes(length); // eslint-disable-line fxa/async-crypto-random } function fn(configName) { diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 09b7f5e..d2cc53a 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -13,16 +13,9 @@ "resolved": "https://registry.npmjs.org/buf/-/buf-0.1.0.tgz" }, "commander": { - "version": "2.9.0", + "version": "2.11.0", "from": "commander@>=2.9.0 <3.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "dependencies": { - "graceful-readlink": { - "version": "1.0.1", - "from": "graceful-readlink@>=1.0.0", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" - } - } + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz" }, "convict": { "version": "1.5.0", @@ -85,10 +78,10 @@ } } }, - "eslint-config-fxa": { - "version": "1.8.1", - "from": "eslint-config-fxa@>=1.8.0 <2.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-fxa/-/eslint-config-fxa-1.8.1.tgz" + "eslint-plugin-fxa": { + "version": "1.0.0", + "from": "git://github.com/mozilla/eslint-plugin-fxa.git#41504c9dd30e8b52900c15b524946aa0428aef95", + "resolved": "git://github.com/mozilla/eslint-plugin-fxa.git#41504c9dd30e8b52900c15b524946aa0428aef95" }, "fxa-jwtool": { "version": "0.7.2", @@ -111,9 +104,9 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "dependencies": { "iconv-lite": { - "version": "0.4.17", + "version": "0.4.18", "from": "iconv-lite@>=0.4.13 <0.5.0", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.17.tgz" + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz" } } } @@ -282,14 +275,14 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" }, "normalize-package-data": { - "version": "2.3.8", + "version": "2.4.0", "from": "normalize-package-data@>=2.3.4 <3.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "dependencies": { "hosted-git-info": { - "version": "2.4.2", + "version": "2.5.0", "from": "hosted-git-info@>=2.1.4 <3.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.4.2.tgz" + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz" }, "is-builtin-module": { "version": "1.0.0", @@ -304,9 +297,9 @@ } }, "semver": { - "version": "5.3.0", + "version": "5.4.1", "from": "semver@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0||>=4.0.0 <5.0.0||>=5.0.0 <6.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz" + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz" }, "validate-npm-package-license": { "version": "3.0.1", @@ -754,9 +747,9 @@ } }, "iconv-lite": { - "version": "0.4.17", + "version": "0.4.18", "from": "iconv-lite@>=0.4.13 <0.5.0", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.17.tgz" + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz" }, "js-yaml": { "version": "3.5.5", @@ -836,9 +829,9 @@ "resolved": "https://registry.npmjs.org/grunt-bump/-/grunt-bump-0.8.0.tgz", "dependencies": { "semver": { - "version": "5.3.0", + "version": "5.4.1", "from": "semver@>=5.1.0 <6.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz" + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz" } } }, @@ -919,14 +912,14 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" }, "normalize-package-data": { - "version": "2.3.8", + "version": "2.4.0", "from": "normalize-package-data@>=2.3.4 <3.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "dependencies": { "hosted-git-info": { - "version": "2.4.2", + "version": "2.5.0", "from": "hosted-git-info@>=2.1.4 <3.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.4.2.tgz" + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz" }, "is-builtin-module": { "version": "1.0.0", @@ -941,9 +934,9 @@ } }, "semver": { - "version": "5.3.0", + "version": "5.4.1", "from": "semver@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0||>=4.0.0 <5.0.0||>=5.0.0 <6.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz" + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz" }, "validate-npm-package-license": { "version": "3.0.1", @@ -1229,9 +1222,9 @@ "resolved": "https://registry.npmjs.org/grunt-copyright/-/grunt-copyright-0.3.0.tgz" }, "grunt-eslint": { - "version": "16.0.0", - "from": "grunt-eslint@>=16.0.0 <17.0.0", - "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-16.0.0.tgz", + "version": "18.0.0", + "from": "grunt-eslint@18.0.0", + "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-18.0.0.tgz", "dependencies": { "chalk": { "version": "1.1.3", @@ -1280,9 +1273,9 @@ } }, "eslint": { - "version": "0.24.1", - "from": "eslint@>=0.24.0 <0.25.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-0.24.1.tgz", + "version": "2.13.1", + "from": "eslint@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-2.13.1.tgz", "dependencies": { "concat-stream": { "version": "1.6.0", @@ -1300,9 +1293,9 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" }, "readable-stream": { - "version": "2.2.11", + "version": "2.3.3", "from": "readable-stream@>=2.2.2 <3.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.11.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "dependencies": { "core-util-is": { "version": "1.0.2", @@ -1320,14 +1313,14 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" }, "safe-buffer": { - "version": "5.0.1", - "from": "safe-buffer@>=5.0.1 <5.1.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz" + "version": "5.1.1", + "from": "safe-buffer@>=5.1.1 <5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" }, "string_decoder": { - "version": "1.0.2", - "from": "string_decoder@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz" + "version": "1.0.3", + "from": "string_decoder@>=1.0.3 <1.1.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz" }, "util-deprecate": { "version": "1.0.2", @@ -1351,69 +1344,59 @@ } }, "doctrine": { - "version": "0.6.4", - "from": "doctrine@>=0.6.2 <0.7.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.6.4.tgz", + "version": "1.5.0", + "from": "doctrine@>=1.2.2 <2.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", "dependencies": { - "esutils": { - "version": "1.1.6", - "from": "esutils@>=1.1.6 <2.0.0", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz" - }, "isarray": { - "version": "0.0.1", - "from": "isarray@0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + "version": "1.0.0", + "from": "isarray@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" } } }, - "escape-string-regexp": { - "version": "1.0.5", - "from": "escape-string-regexp@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + "es6-map": { + "version": "0.1.5", + "from": "es6-map@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "dependencies": { + "d": { + "version": "1.0.0", + "from": "d@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz" + }, + "es5-ext": { + "version": "0.10.30", + "from": "es5-ext@>=0.10.14 <0.11.0", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.30.tgz" + }, + "es6-iterator": { + "version": "2.0.1", + "from": "es6-iterator@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz" + }, + "es6-set": { + "version": "0.1.5", + "from": "es6-set@>=0.1.5 <0.2.0", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz" + }, + "es6-symbol": { + "version": "3.1.1", + "from": "es6-symbol@>=3.1.1 <3.2.0", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz" + }, + "event-emitter": { + "version": "0.3.5", + "from": "event-emitter@>=0.3.5 <0.4.0", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" + } + } }, "escope": { "version": "3.6.0", - "from": "escope@>=3.1.0 <4.0.0", + "from": "escope@>=3.6.0 <4.0.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", "dependencies": { - "es6-map": { - "version": "0.1.5", - "from": "es6-map@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "dependencies": { - "d": { - "version": "1.0.0", - "from": "d@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz" - }, - "es5-ext": { - "version": "0.10.23", - "from": "es5-ext@>=0.10.14 <0.11.0", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.23.tgz" - }, - "es6-iterator": { - "version": "2.0.1", - "from": "es6-iterator@>=2.0.1 <2.1.0", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz" - }, - "es6-set": { - "version": "0.1.5", - "from": "es6-set@>=0.1.5 <0.2.0", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz" - }, - "es6-symbol": { - "version": "3.1.1", - "from": "es6-symbol@>=3.1.1 <3.2.0", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz" - }, - "event-emitter": { - "version": "0.3.5", - "from": "event-emitter@>=0.3.5 <0.4.0", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" - } - } - }, "es6-weak-map": { "version": "2.0.2", "from": "es6-weak-map@>=2.0.1 <3.0.0", @@ -1425,9 +1408,9 @@ "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz" }, "es5-ext": { - "version": "0.10.23", + "version": "0.10.30", "from": "es5-ext@>=0.10.14 <0.11.0", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.23.tgz" + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.30.tgz" }, "es6-iterator": { "version": "2.0.1", @@ -1442,15 +1425,10 @@ } }, "esrecurse": { - "version": "4.1.0", + "version": "4.2.0", "from": "esrecurse@>=4.1.0 <5.0.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", "dependencies": { - "estraverse": { - "version": "4.1.1", - "from": "estraverse@>=4.1.0 <4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz" - }, "object-assign": { "version": "4.1.1", "from": "object-assign@>=4.0.1 <5.0.0", @@ -1461,45 +1439,277 @@ } }, "espree": { - "version": "2.2.5", - "from": "espree@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-2.2.5.tgz" + "version": "3.5.0", + "from": "espree@>=3.1.6 <4.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.0.tgz", + "dependencies": { + "acorn": { + "version": "5.1.1", + "from": "acorn@>=5.1.1 <6.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz" + }, + "acorn-jsx": { + "version": "3.0.1", + "from": "acorn-jsx@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "dependencies": { + "acorn": { + "version": "3.3.0", + "from": "acorn@>=3.0.4 <4.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" + } + } + } + } }, "estraverse": { "version": "4.2.0", - "from": "estraverse@>=4.1.0 <5.0.0", + "from": "estraverse@>=4.2.0 <5.0.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz" }, - "estraverse-fb": { + "esutils": { + "version": "2.0.2", + "from": "esutils@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz" + }, + "file-entry-cache": { "version": "1.3.1", - "from": "estraverse-fb@>=1.3.1 <2.0.0", - "resolved": "https://registry.npmjs.org/estraverse-fb/-/estraverse-fb-1.3.1.tgz" + "from": "file-entry-cache@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz", + "dependencies": { + "flat-cache": { + "version": "1.2.2", + "from": "flat-cache@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", + "dependencies": { + "circular-json": { + "version": "0.3.3", + "from": "circular-json@>=0.3.1 <0.4.0", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz" + }, + "del": { + "version": "2.2.2", + "from": "del@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "dependencies": { + "globby": { + "version": "5.0.0", + "from": "globby@>=5.0.0 <6.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "dependencies": { + "array-union": { + "version": "1.0.2", + "from": "array-union@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "dependencies": { + "array-uniq": { + "version": "1.0.3", + "from": "array-uniq@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" + } + } + }, + "arrify": { + "version": "1.0.1", + "from": "arrify@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" + } + } + }, + "is-path-cwd": { + "version": "1.0.0", + "from": "is-path-cwd@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz" + }, + "is-path-in-cwd": { + "version": "1.0.0", + "from": "is-path-in-cwd@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "dependencies": { + "is-path-inside": { + "version": "1.0.0", + "from": "is-path-inside@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz" + } + } + }, + "pify": { + "version": "2.3.0", + "from": "pify@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + }, + "pinkie-promise": { + "version": "2.0.1", + "from": "pinkie-promise@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "dependencies": { + "pinkie": { + "version": "2.0.4", + "from": "pinkie@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + } + } + }, + "rimraf": { + "version": "2.6.1", + "from": "rimraf@>=2.2.8 <3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz" + } + } + }, + "graceful-fs": { + "version": "4.1.11", + "from": "graceful-fs@>=4.1.2 <5.0.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz" + }, + "write": { + "version": "0.2.1", + "from": "write@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz" + } + } + }, + "object-assign": { + "version": "4.1.1", + "from": "object-assign@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + } + } + }, + "glob": { + "version": "7.1.2", + "from": "glob@>=7.0.3 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "dependencies": { + "fs.realpath": { + "version": "1.0.0", + "from": "fs.realpath@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + }, + "inflight": { + "version": "1.0.6", + "from": "inflight@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "dependencies": { + "wrappy": { + "version": "1.0.2", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + } + } + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "minimatch": { + "version": "3.0.4", + "from": "minimatch@>=3.0.4 <4.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "dependencies": { + "brace-expansion": { + "version": "1.1.8", + "from": "brace-expansion@>=1.1.7 <2.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "from": "balanced-match@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + } + } + } + } + }, + "once": { + "version": "1.4.0", + "from": "once@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "dependencies": { + "wrappy": { + "version": "1.0.2", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + } + } + } + } }, "globals": { - "version": "8.18.0", - "from": "globals@>=8.0.0 <9.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-8.18.0.tgz" + "version": "9.18.0", + "from": "globals@>=9.2.0 <10.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz" + }, + "ignore": { + "version": "3.3.5", + "from": "ignore@>=3.1.2 <4.0.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz" + }, + "imurmurhash": { + "version": "0.1.4", + "from": "imurmurhash@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" }, "inquirer": { - "version": "0.8.5", - "from": "inquirer@>=0.8.2 <0.9.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.8.5.tgz", + "version": "0.12.0", + "from": "inquirer@>=0.12.0 <0.13.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", "dependencies": { + "ansi-escapes": { + "version": "1.4.0", + "from": "ansi-escapes@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz" + }, "ansi-regex": { - "version": "1.1.1", - "from": "ansi-regex@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz" + "version": "2.1.1", + "from": "ansi-regex@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + }, + "cli-cursor": { + "version": "1.0.2", + "from": "cli-cursor@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "dependencies": { + "restore-cursor": { + "version": "1.0.1", + "from": "restore-cursor@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "dependencies": { + "exit-hook": { + "version": "1.1.1", + "from": "exit-hook@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz" + }, + "onetime": { + "version": "1.1.0", + "from": "onetime@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" + } + } + } + } }, "cli-width": { - "version": "1.1.1", - "from": "cli-width@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz" + "version": "2.2.0", + "from": "cli-width@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz" }, "figures": { "version": "1.7.0", "from": "figures@>=1.3.5 <2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "from": "escape-string-regexp@>=1.0.5 <2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + }, "object-assign": { "version": "4.1.1", "from": "object-assign@>=4.1.0 <5.0.0", @@ -1507,32 +1717,87 @@ } } }, - "lodash": { - "version": "3.10.1", - "from": "lodash@>=3.3.1 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" - }, "readline2": { - "version": "0.1.1", - "from": "readline2@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-0.1.1.tgz", + "version": "1.0.1", + "from": "readline2@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", "dependencies": { - "mute-stream": { - "version": "0.0.4", - "from": "mute-stream@0.0.4", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz" + "code-point-at": { + "version": "1.1.0", + "from": "code-point-at@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" }, - "strip-ansi": { - "version": "2.0.1", - "from": "strip-ansi@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz" + "is-fullwidth-code-point": { + "version": "1.0.0", + "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "from": "number-is-nan@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + } + } + }, + "mute-stream": { + "version": "0.0.5", + "from": "mute-stream@0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz" } } }, - "rx": { - "version": "2.5.3", - "from": "rx@>=2.4.3 <3.0.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-2.5.3.tgz" + "run-async": { + "version": "0.1.0", + "from": "run-async@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", + "dependencies": { + "once": { + "version": "1.4.0", + "from": "once@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "dependencies": { + "wrappy": { + "version": "1.0.2", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + } + } + } + } + }, + "rx-lite": { + "version": "3.1.2", + "from": "rx-lite@>=3.1.2 <4.0.0", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz" + }, + "string-width": { + "version": "1.0.2", + "from": "string-width@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "dependencies": { + "code-point-at": { + "version": "1.1.0", + "from": "code-point-at@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "from": "number-is-nan@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + } + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "from": "strip-ansi@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" }, "through": { "version": "2.3.8", @@ -1542,9 +1807,9 @@ } }, "is-my-json-valid": { - "version": "2.16.0", + "version": "2.16.1", "from": "is-my-json-valid@>=2.10.0 <3.0.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", "dependencies": { "generate-function": { "version": "2.0.0", @@ -1575,10 +1840,22 @@ } } }, + "is-resolvable": { + "version": "1.0.0", + "from": "is-resolvable@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", + "dependencies": { + "tryit": { + "version": "1.0.3", + "from": "tryit@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz" + } + } + }, "js-yaml": { - "version": "3.8.4", - "from": "js-yaml@>=3.2.5 <4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.4.tgz", + "version": "3.9.1", + "from": "js-yaml@>=3.5.1 <4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.9.1.tgz", "dependencies": { "argparse": { "version": "1.0.9", @@ -1593,36 +1870,46 @@ } }, "esprima": { - "version": "3.1.3", - "from": "esprima@>=3.1.1 <4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz" + "version": "4.0.0", + "from": "esprima@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz" } } }, - "minimatch": { - "version": "2.0.10", - "from": "minimatch@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "json-stable-stringify": { + "version": "1.0.1", + "from": "json-stable-stringify@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "dependencies": { - "brace-expansion": { - "version": "1.1.8", - "from": "brace-expansion@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "from": "balanced-match@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" - }, - "concat-map": { - "version": "0.0.1", - "from": "concat-map@0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - } - } + "jsonify": { + "version": "0.0.0", + "from": "jsonify@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" } } }, + "levn": { + "version": "0.3.0", + "from": "levn@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "dependencies": { + "prelude-ls": { + "version": "1.1.2", + "from": "prelude-ls@>=1.1.2 <1.2.0", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" + }, + "type-check": { + "version": "0.3.2", + "from": "type-check@>=0.3.2 <0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" + } + } + }, + "lodash": { + "version": "4.17.4", + "from": "lodash@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" + }, "mkdirp": { "version": "0.5.1", "from": "mkdirp@>=0.5.0 <0.6.0", @@ -1635,45 +1922,35 @@ } } }, - "object-assign": { - "version": "2.1.1", - "from": "object-assign@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz" - }, "optionator": { - "version": "0.5.0", - "from": "optionator@>=0.5.0 <0.6.0", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.5.0.tgz", + "version": "0.8.2", + "from": "optionator@>=0.8.1 <0.9.0", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "dependencies": { "prelude-ls": { "version": "1.1.2", - "from": "prelude-ls@>=1.1.1 <1.2.0", + "from": "prelude-ls@>=1.1.2 <1.2.0", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" }, "deep-is": { "version": "0.1.3", - "from": "deep-is@>=0.1.2 <0.2.0", + "from": "deep-is@>=0.1.3 <0.2.0", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" }, "wordwrap": { - "version": "0.0.3", - "from": "wordwrap@>=0.0.2 <0.1.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" + "version": "1.0.0", + "from": "wordwrap@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" }, "type-check": { "version": "0.3.2", - "from": "type-check@>=0.3.1 <0.4.0", + "from": "type-check@>=0.3.2 <0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" }, - "levn": { - "version": "0.2.5", - "from": "levn@>=0.2.5 <0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz" - }, "fast-levenshtein": { - "version": "1.0.7", - "from": "fast-levenshtein@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz" + "version": "2.0.6", + "from": "fast-levenshtein@>=2.0.4 <2.1.0", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" } } }, @@ -1682,725 +1959,129 @@ "from": "path-is-absolute@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" }, + "path-is-inside": { + "version": "1.0.2", + "from": "path-is-inside@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + }, + "pluralize": { + "version": "1.2.1", + "from": "pluralize@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz" + }, + "progress": { + "version": "1.1.8", + "from": "progress@>=1.1.8 <2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz" + }, + "require-uncached": { + "version": "1.0.3", + "from": "require-uncached@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "dependencies": { + "caller-path": { + "version": "0.1.0", + "from": "caller-path@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "dependencies": { + "callsites": { + "version": "0.2.0", + "from": "callsites@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz" + } + } + }, + "resolve-from": { + "version": "1.0.1", + "from": "resolve-from@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz" + } + } + }, + "shelljs": { + "version": "0.6.1", + "from": "shelljs@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz" + }, "strip-json-comments": { "version": "1.0.4", "from": "strip-json-comments@>=1.0.1 <1.1.0", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz" }, + "table": { + "version": "3.8.3", + "from": "table@>=3.7.8 <4.0.0", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "dependencies": { + "ajv": { + "version": "4.11.8", + "from": "ajv@>=4.7.0 <5.0.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "dependencies": { + "co": { + "version": "4.6.0", + "from": "co@>=4.6.0 <5.0.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + } + } + }, + "ajv-keywords": { + "version": "1.5.1", + "from": "ajv-keywords@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz" + }, + "slice-ansi": { + "version": "0.0.4", + "from": "slice-ansi@0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" + }, + "string-width": { + "version": "2.1.1", + "from": "string-width@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "from": "is-fullwidth-code-point@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + }, + "strip-ansi": { + "version": "4.0.0", + "from": "strip-ansi@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "from": "ansi-regex@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" + } + } + } + } + } + } + }, "text-table": { "version": "0.2.0", "from": "text-table@>=0.2.0 <0.3.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" }, "user-home": { - "version": "1.1.1", - "from": "user-home@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz" - }, - "xml-escape": { - "version": "1.0.0", - "from": "xml-escape@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/xml-escape/-/xml-escape-1.0.0.tgz" + "version": "2.0.0", + "from": "user-home@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "dependencies": { + "os-homedir": { + "version": "1.0.2", + "from": "os-homedir@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" + } + } } } } } }, - "grunt-jscs": { - "version": "3.0.1", - "from": "grunt-jscs@>=3.0.1 <4.0.0", - "resolved": "https://registry.npmjs.org/grunt-jscs/-/grunt-jscs-3.0.1.tgz", - "dependencies": { - "hooker": { - "version": "0.2.3", - "from": "hooker@>=0.2.3 <0.3.0", - "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz" - }, - "jscs": { - "version": "3.0.7", - "from": "jscs@>=3.0.5 <3.1.0", - "resolved": "https://registry.npmjs.org/jscs/-/jscs-3.0.7.tgz", - "dependencies": { - "chalk": { - "version": "1.1.3", - "from": "chalk@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "from": "ansi-styles@>=2.2.1 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" - }, - "escape-string-regexp": { - "version": "1.0.5", - "from": "escape-string-regexp@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - }, - "has-ansi": { - "version": "2.0.0", - "from": "has-ansi@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "from": "ansi-regex@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "from": "strip-ansi@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "from": "ansi-regex@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" - } - } - }, - "supports-color": { - "version": "2.0.0", - "from": "supports-color@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - } - } - }, - "cli-table": { - "version": "0.3.1", - "from": "cli-table@>=0.3.1 <0.4.0", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", - "dependencies": { - "colors": { - "version": "1.0.3", - "from": "colors@1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz" - } - } - }, - "cst": { - "version": "0.4.9", - "from": "cst@>=0.4.3 <0.5.0", - "resolved": "https://registry.npmjs.org/cst/-/cst-0.4.9.tgz", - "dependencies": { - "babel-runtime": { - "version": "6.23.0", - "from": "babel-runtime@>=6.9.2 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "dependencies": { - "core-js": { - "version": "2.4.1", - "from": "core-js@>=2.4.0 <3.0.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz" - }, - "regenerator-runtime": { - "version": "0.10.5", - "from": "regenerator-runtime@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz" - } - } - }, - "babylon": { - "version": "6.17.3", - "from": "babylon@>=6.8.1 <7.0.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.3.tgz" - }, - "source-map-support": { - "version": "0.4.15", - "from": "source-map-support@>=0.4.0 <0.5.0", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz", - "dependencies": { - "source-map": { - "version": "0.5.6", - "from": "source-map@>=0.5.6 <0.6.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" - } - } - } - } - }, - "estraverse": { - "version": "4.2.0", - "from": "estraverse@>=4.1.0 <5.0.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz" - }, - "exit": { - "version": "0.1.2", - "from": "exit@>=0.1.2 <0.2.0", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - }, - "glob": { - "version": "5.0.15", - "from": "glob@>=5.0.1 <6.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "dependencies": { - "inflight": { - "version": "1.0.6", - "from": "inflight@>=1.0.4 <2.0.0", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "dependencies": { - "wrappy": { - "version": "1.0.2", - "from": "wrappy@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - } - } - }, - "inherits": { - "version": "2.0.3", - "from": "inherits@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - }, - "once": { - "version": "1.4.0", - "from": "once@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "dependencies": { - "wrappy": { - "version": "1.0.2", - "from": "wrappy@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - } - } - }, - "path-is-absolute": { - "version": "1.0.1", - "from": "path-is-absolute@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - } - } - }, - "htmlparser2": { - "version": "3.8.3", - "from": "htmlparser2@3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "dependencies": { - "domhandler": { - "version": "2.3.0", - "from": "domhandler@>=2.3.0 <2.4.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz" - }, - "domutils": { - "version": "1.5.1", - "from": "domutils@>=1.5.0 <1.6.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "dependencies": { - "dom-serializer": { - "version": "0.1.0", - "from": "dom-serializer@>=0.0.0 <1.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "from": "domelementtype@>=1.1.1 <1.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz" - }, - "entities": { - "version": "1.1.1", - "from": "entities@>=1.1.1 <1.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz" - } - } - } - } - }, - "domelementtype": { - "version": "1.3.0", - "from": "domelementtype@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz" - }, - "readable-stream": { - "version": "1.1.14", - "from": "readable-stream@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "from": "core-util-is@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - }, - "isarray": { - "version": "0.0.1", - "from": "isarray@0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - }, - "string_decoder": { - "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - }, - "inherits": { - "version": "2.0.3", - "from": "inherits@>=2.0.1 <2.1.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - } - } - }, - "entities": { - "version": "1.0.0", - "from": "entities@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz" - } - } - }, - "js-yaml": { - "version": "3.4.6", - "from": "js-yaml@>=3.4.0 <3.5.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.4.6.tgz", - "dependencies": { - "argparse": { - "version": "1.0.9", - "from": "argparse@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "dependencies": { - "sprintf-js": { - "version": "1.0.3", - "from": "sprintf-js@>=1.0.2 <1.1.0", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - } - } - }, - "esprima": { - "version": "2.7.3", - "from": "esprima@>=2.6.0 <3.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz" - }, - "inherit": { - "version": "2.2.6", - "from": "inherit@>=2.2.2 <3.0.0", - "resolved": "https://registry.npmjs.org/inherit/-/inherit-2.2.6.tgz" - } - } - }, - "jscs-jsdoc": { - "version": "2.0.0", - "from": "jscs-jsdoc@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/jscs-jsdoc/-/jscs-jsdoc-2.0.0.tgz", - "dependencies": { - "comment-parser": { - "version": "0.3.1", - "from": "comment-parser@>=0.3.1 <0.4.0", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.3.1.tgz", - "dependencies": { - "readable-stream": { - "version": "2.2.11", - "from": "readable-stream@>=2.0.4 <3.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.11.tgz", - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "from": "core-util-is@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - }, - "inherits": { - "version": "2.0.3", - "from": "inherits@>=2.0.1 <2.1.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - }, - "isarray": { - "version": "1.0.0", - "from": "isarray@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - }, - "process-nextick-args": { - "version": "1.0.7", - "from": "process-nextick-args@>=1.0.6 <1.1.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" - }, - "safe-buffer": { - "version": "5.0.1", - "from": "safe-buffer@>=5.0.1 <5.1.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz" - }, - "string_decoder": { - "version": "1.0.2", - "from": "string_decoder@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz" - }, - "util-deprecate": { - "version": "1.0.2", - "from": "util-deprecate@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - } - } - } - } - }, - "jsdoctypeparser": { - "version": "1.2.0", - "from": "jsdoctypeparser@>=1.2.0 <1.3.0", - "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz" - } - } - }, - "jscs-preset-wikimedia": { - "version": "1.0.0", - "from": "jscs-preset-wikimedia@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.0.tgz" - }, - "jsonlint": { - "version": "1.6.2", - "from": "jsonlint@>=1.6.2 <1.7.0", - "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz", - "dependencies": { - "nomnom": { - "version": "1.8.1", - "from": "nomnom@>=1.5.0", - "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", - "dependencies": { - "underscore": { - "version": "1.6.0", - "from": "underscore@>=1.6.0 <1.7.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz" - }, - "chalk": { - "version": "0.4.0", - "from": "chalk@>=0.4.0 <0.5.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "dependencies": { - "has-color": { - "version": "0.1.7", - "from": "has-color@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz" - }, - "ansi-styles": { - "version": "1.0.0", - "from": "ansi-styles@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz" - }, - "strip-ansi": { - "version": "0.1.1", - "from": "strip-ansi@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz" - } - } - } - } - }, - "JSV": { - "version": "4.0.2", - "from": "JSV@>=4.0.0", - "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz" - } - } - }, - "lodash": { - "version": "3.10.1", - "from": "lodash@>=3.10.0 <3.11.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" - }, - "minimatch": { - "version": "3.0.4", - "from": "minimatch@>=3.0.0 <3.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "dependencies": { - "brace-expansion": { - "version": "1.1.8", - "from": "brace-expansion@>=1.1.7 <2.0.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "from": "balanced-match@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" - }, - "concat-map": { - "version": "0.0.1", - "from": "concat-map@0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - } - } - } - } - }, - "natural-compare": { - "version": "1.2.2", - "from": "natural-compare@>=1.2.2 <1.3.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.2.2.tgz" - }, - "pathval": { - "version": "0.1.1", - "from": "pathval@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-0.1.1.tgz" - }, - "prompt": { - "version": "0.2.14", - "from": "prompt@>=0.2.14 <0.3.0", - "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", - "dependencies": { - "pkginfo": { - "version": "0.4.0", - "from": "pkginfo@>=0.0.0 <1.0.0", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz" - }, - "revalidator": { - "version": "0.1.8", - "from": "revalidator@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz" - }, - "utile": { - "version": "0.2.1", - "from": "utile@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", - "dependencies": { - "async": { - "version": "0.2.10", - "from": "async@>=0.2.9 <0.3.0", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" - }, - "deep-equal": { - "version": "1.0.1", - "from": "deep-equal@*", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz" - }, - "i": { - "version": "0.3.5", - "from": "i@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/i/-/i-0.3.5.tgz" - }, - "mkdirp": { - "version": "0.5.1", - "from": "mkdirp@>=0.0.0 <1.0.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "dependencies": { - "minimist": { - "version": "0.0.8", - "from": "minimist@0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" - } - } - }, - "ncp": { - "version": "0.4.2", - "from": "ncp@>=0.4.0 <0.5.0", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz" - }, - "rimraf": { - "version": "2.6.1", - "from": "rimraf@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "dependencies": { - "glob": { - "version": "7.1.2", - "from": "glob@>=7.0.5 <8.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "dependencies": { - "fs.realpath": { - "version": "1.0.0", - "from": "fs.realpath@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - }, - "inflight": { - "version": "1.0.6", - "from": "inflight@>=1.0.4 <2.0.0", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "dependencies": { - "wrappy": { - "version": "1.0.2", - "from": "wrappy@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - } - } - }, - "inherits": { - "version": "2.0.3", - "from": "inherits@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - }, - "once": { - "version": "1.4.0", - "from": "once@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "dependencies": { - "wrappy": { - "version": "1.0.2", - "from": "wrappy@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - } - } - }, - "path-is-absolute": { - "version": "1.0.1", - "from": "path-is-absolute@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - } - } - } - } - } - } - }, - "winston": { - "version": "0.8.3", - "from": "winston@>=0.8.0 <0.9.0", - "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", - "dependencies": { - "async": { - "version": "0.2.10", - "from": "async@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" - }, - "colors": { - "version": "0.6.2", - "from": "colors@>=0.6.0 <0.7.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz" - }, - "cycle": { - "version": "1.0.3", - "from": "cycle@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz" - }, - "eyes": { - "version": "0.1.8", - "from": "eyes@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz" - }, - "isstream": { - "version": "0.1.2", - "from": "isstream@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - }, - "pkginfo": { - "version": "0.3.1", - "from": "pkginfo@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz" - }, - "stack-trace": { - "version": "0.0.10", - "from": "stack-trace@>=0.0.0 <0.1.0", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz" - } - } - } - } - }, - "reserved-words": { - "version": "0.1.1", - "from": "reserved-words@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.1.tgz" - }, - "resolve": { - "version": "1.3.3", - "from": "resolve@>=1.1.6 <2.0.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz", - "dependencies": { - "path-parse": { - "version": "1.0.5", - "from": "path-parse@>=1.0.5 <2.0.0", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz" - } - } - }, - "strip-bom": { - "version": "2.0.0", - "from": "strip-bom@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "dependencies": { - "is-utf8": { - "version": "0.2.1", - "from": "is-utf8@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" - } - } - }, - "strip-json-comments": { - "version": "1.0.4", - "from": "strip-json-comments@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz" - }, - "to-double-quotes": { - "version": "2.0.0", - "from": "to-double-quotes@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-2.0.0.tgz" - }, - "to-single-quotes": { - "version": "2.0.1", - "from": "to-single-quotes@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/to-single-quotes/-/to-single-quotes-2.0.1.tgz" - }, - "vow-fs": { - "version": "0.3.6", - "from": "vow-fs@>=0.3.4 <0.4.0", - "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.6.tgz", - "dependencies": { - "uuid": { - "version": "2.0.3", - "from": "uuid@>=2.0.2 <3.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz" - }, - "vow-queue": { - "version": "0.4.2", - "from": "vow-queue@>=0.4.1 <0.5.0", - "resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.4.2.tgz" - }, - "glob": { - "version": "7.1.2", - "from": "glob@>=7.0.5 <8.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "dependencies": { - "fs.realpath": { - "version": "1.0.0", - "from": "fs.realpath@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - }, - "inflight": { - "version": "1.0.6", - "from": "inflight@>=1.0.4 <2.0.0", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "dependencies": { - "wrappy": { - "version": "1.0.2", - "from": "wrappy@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - } - } - }, - "inherits": { - "version": "2.0.3", - "from": "inherits@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - }, - "once": { - "version": "1.4.0", - "from": "once@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "dependencies": { - "wrappy": { - "version": "1.0.2", - "from": "wrappy@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - } - } - }, - "path-is-absolute": { - "version": "1.0.1", - "from": "path-is-absolute@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - } - } - } - } - }, - "xmlbuilder": { - "version": "3.1.0", - "from": "xmlbuilder@>=3.1.0 <4.0.0", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz" - } - } - }, - "lodash": { - "version": "4.6.1", - "from": "lodash@>=4.6.1 <4.7.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.6.1.tgz" - }, - "vow": { - "version": "0.4.16", - "from": "vow@>=0.4.1 <0.5.0", - "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.16.tgz" - } - } - }, "grunt-nodemon": { "version": "0.4.2", "from": "grunt-nodemon@>=0.4.0 <0.5.0", @@ -2417,15 +2098,10 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", "dependencies": { "anymatch": { - "version": "1.3.0", + "version": "1.3.2", "from": "anymatch@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", "dependencies": { - "arrify": { - "version": "1.0.1", - "from": "arrify@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" - }, "micromatch": { "version": "2.3.11", "from": "micromatch@>=2.1.5 <3.0.0", @@ -2437,9 +2113,9 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "dependencies": { "arr-flatten": { - "version": "1.0.3", + "version": "1.1.0", "from": "arr-flatten@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.3.tgz" + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" } } }, @@ -2578,18 +2254,6 @@ } } }, - "normalize-path": { - "version": "2.1.1", - "from": "normalize-path@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "dependencies": { - "remove-trailing-separator": { - "version": "1.0.2", - "from": "remove-trailing-separator@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz" - } - } - }, "object.omit": { "version": "2.0.1", "from": "object.omit@>=2.0.0 <3.0.0", @@ -2649,6 +2313,18 @@ } } } + }, + "normalize-path": { + "version": "2.1.1", + "from": "normalize-path@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "dependencies": { + "remove-trailing-separator": { + "version": "1.1.0", + "from": "remove-trailing-separator@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + } + } } } }, @@ -2673,9 +2349,9 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "dependencies": { "binary-extensions": { - "version": "1.8.0", + "version": "1.10.0", "from": "binary-extensions@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz" + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz" } } }, @@ -2707,9 +2383,9 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz" }, "readable-stream": { - "version": "2.2.11", + "version": "2.3.3", "from": "readable-stream@>=2.0.2 <3.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.11.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "dependencies": { "core-util-is": { "version": "1.0.2", @@ -2727,14 +2403,14 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" }, "safe-buffer": { - "version": "5.0.1", - "from": "safe-buffer@>=5.0.1 <5.1.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz" + "version": "5.1.1", + "from": "safe-buffer@>=5.1.1 <5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" }, "string_decoder": { - "version": "1.0.2", - "from": "string_decoder@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz" + "version": "1.0.3", + "from": "string_decoder@>=1.0.3 <1.1.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz" }, "util-deprecate": { "version": "1.0.2", @@ -2751,125 +2427,120 @@ } }, "fsevents": { - "version": "1.1.1", + "version": "1.1.2", "from": "fsevents@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", "dependencies": { "nan": { - "version": "2.6.2", + "version": "2.7.0", "from": "nan@>=2.3.0 <3.0.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz" + "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz" }, "node-pre-gyp": { - "version": "0.6.33", - "from": "node-pre-gyp@>=0.6.29 <0.7.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz" + "version": "0.6.36", + "from": "node-pre-gyp@^0.6.36", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz" }, "abbrev": { "version": "1.1.0", - "from": "abbrev@>=1.0.0 <2.0.0", + "from": "abbrev@1.1.0", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz" }, + "ajv": { + "version": "4.11.8", + "from": "ajv@4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz" + }, "ansi-regex": { "version": "2.1.1", - "from": "ansi-regex@>=2.0.0 <3.0.0", + "from": "ansi-regex@2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" }, - "ansi-styles": { - "version": "2.2.1", - "from": "ansi-styles@>=2.2.1 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + "are-we-there-yet": { + "version": "1.1.4", + "from": "are-we-there-yet@1.1.4", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz" }, "aproba": { "version": "1.1.1", - "from": "aproba@>=1.0.3 <2.0.0", + "from": "aproba@1.1.1", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz" }, - "are-we-there-yet": { - "version": "1.1.2", - "from": "are-we-there-yet@>=1.1.2 <1.2.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz" - }, "asn1": { "version": "0.2.3", - "from": "asn1@>=0.2.3 <0.3.0", + "from": "asn1@0.2.3", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" }, "assert-plus": { "version": "0.2.0", - "from": "assert-plus@>=0.2.0 <0.3.0", + "from": "assert-plus@0.2.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" }, "asynckit": { "version": "0.4.0", - "from": "asynckit@>=0.4.0 <0.5.0", + "from": "asynckit@0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" }, "aws-sign2": { "version": "0.6.0", - "from": "aws-sign2@>=0.6.0 <0.7.0", + "from": "aws-sign2@0.6.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" }, "aws4": { "version": "1.6.0", - "from": "aws4@>=1.2.1 <2.0.0", + "from": "aws4@1.6.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz" }, "balanced-match": { "version": "0.4.2", - "from": "balanced-match@>=0.4.1 <0.5.0", + "from": "balanced-match@0.4.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" }, "bcrypt-pbkdf": { "version": "1.0.1", - "from": "bcrypt-pbkdf@>=1.0.0 <2.0.0", + "from": "bcrypt-pbkdf@1.0.1", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz" }, "block-stream": { "version": "0.0.9", - "from": "block-stream@*", + "from": "block-stream@0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz" }, "boom": { "version": "2.10.1", - "from": "boom@>=2.0.0 <3.0.0", + "from": "boom@2.10.1", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" }, "brace-expansion": { - "version": "1.1.6", - "from": "brace-expansion@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz" + "version": "1.1.7", + "from": "brace-expansion@1.1.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz" }, "buffer-shims": { "version": "1.0.0", - "from": "buffer-shims@>=1.0.0 <2.0.0", + "from": "buffer-shims@1.0.0", "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" }, "caseless": { - "version": "0.11.0", - "from": "caseless@>=0.11.0 <0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" + "version": "0.12.0", + "from": "caseless@0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" }, - "chalk": { - "version": "1.1.3", - "from": "chalk@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + "co": { + "version": "4.6.0", + "from": "co@4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz" }, "code-point-at": { "version": "1.1.0", - "from": "code-point-at@>=1.0.0 <2.0.0", + "from": "code-point-at@1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" }, "combined-stream": { "version": "1.0.5", - "from": "combined-stream@>=1.0.5 <1.1.0", + "from": "combined-stream@1.0.5", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" }, - "commander": { - "version": "2.9.0", - "from": "commander@>=2.9.0 <3.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" - }, "concat-map": { "version": "0.0.1", "from": "concat-map@0.0.1", @@ -2877,53 +2548,48 @@ }, "console-control-strings": { "version": "1.1.0", - "from": "console-control-strings@>=1.1.0 <1.2.0", + "from": "console-control-strings@1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" }, "core-util-is": { "version": "1.0.2", - "from": "core-util-is@>=1.0.0 <1.1.0", + "from": "core-util-is@1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" }, "cryptiles": { "version": "2.0.5", - "from": "cryptiles@>=2.0.0 <3.0.0", + "from": "cryptiles@2.0.5", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" }, "debug": { - "version": "2.2.0", - "from": "debug@>=2.2.0 <2.3.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" + "version": "2.6.8", + "from": "debug@2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz" }, "deep-extend": { - "version": "0.4.1", - "from": "deep-extend@>=0.4.0 <0.5.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz" + "version": "0.4.2", + "from": "deep-extend@0.4.2", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz" }, "delayed-stream": { "version": "1.0.0", - "from": "delayed-stream@>=1.0.0 <1.1.0", + "from": "delayed-stream@1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" }, "delegates": { "version": "1.0.0", - "from": "delegates@>=1.0.0 <2.0.0", + "from": "delegates@1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" }, "ecc-jsbn": { "version": "0.1.1", - "from": "ecc-jsbn@>=0.1.1 <0.2.0", + "from": "ecc-jsbn@0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" }, - "escape-string-regexp": { - "version": "1.0.5", - "from": "escape-string-regexp@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - }, "extend": { - "version": "3.0.0", - "from": "extend@>=3.0.0 <3.1.0", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" + "version": "3.0.1", + "from": "extend@3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz" }, "extsprintf": { "version": "1.0.2", @@ -2932,142 +2598,117 @@ }, "forever-agent": { "version": "0.6.1", - "from": "forever-agent@>=0.6.1 <0.7.0", + "from": "forever-agent@0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" }, "form-data": { - "version": "2.1.2", - "from": "form-data@>=2.1.1 <2.2.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz" + "version": "2.1.4", + "from": "form-data@2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz" }, "fs.realpath": { "version": "1.0.0", - "from": "fs.realpath@>=1.0.0 <2.0.0", + "from": "fs.realpath@1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" }, "fstream": { - "version": "1.0.10", - "from": "fstream@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz" + "version": "1.0.11", + "from": "fstream@1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz" }, "fstream-ignore": { "version": "1.0.5", - "from": "fstream-ignore@>=1.0.5 <1.1.0", + "from": "fstream-ignore@1.0.5", "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz" }, "gauge": { - "version": "2.7.3", - "from": "gauge@>=2.7.1 <2.8.0", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.3.tgz" - }, - "generate-function": { - "version": "2.0.0", - "from": "generate-function@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" - }, - "generate-object-property": { - "version": "1.2.0", - "from": "generate-object-property@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" + "version": "2.7.4", + "from": "gauge@2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz" }, "glob": { - "version": "7.1.1", - "from": "glob@>=7.0.5 <8.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz" + "version": "7.1.2", + "from": "glob@7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz" }, "graceful-fs": { "version": "4.1.11", - "from": "graceful-fs@>=4.1.2 <5.0.0", + "from": "graceful-fs@4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz" }, - "graceful-readlink": { - "version": "1.0.1", - "from": "graceful-readlink@>=1.0.0", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" + "har-schema": { + "version": "1.0.5", + "from": "har-schema@1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz" }, "har-validator": { - "version": "2.0.6", - "from": "har-validator@>=2.0.6 <2.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz" - }, - "has-ansi": { - "version": "2.0.0", - "from": "has-ansi@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + "version": "4.2.1", + "from": "har-validator@4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz" }, "has-unicode": { "version": "2.0.1", - "from": "has-unicode@>=2.0.0 <3.0.0", + "from": "has-unicode@2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" }, "hawk": { "version": "3.1.3", - "from": "hawk@>=3.1.3 <3.2.0", + "from": "hawk@3.1.3", "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" }, "hoek": { "version": "2.16.3", - "from": "hoek@>=2.0.0 <3.0.0", + "from": "hoek@2.16.3", "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" }, "http-signature": { "version": "1.1.1", - "from": "http-signature@>=1.1.0 <1.2.0", + "from": "http-signature@1.1.1", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" }, "inflight": { "version": "1.0.6", - "from": "inflight@>=1.0.4 <2.0.0", + "from": "inflight@1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" }, "inherits": { "version": "2.0.3", - "from": "inherits@>=2.0.1 <2.1.0", + "from": "inherits@2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" }, "ini": { "version": "1.3.4", - "from": "ini@>=1.3.0 <1.4.0", + "from": "ini@1.3.4", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" }, "is-fullwidth-code-point": { "version": "1.0.0", - "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", + "from": "is-fullwidth-code-point@1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" }, - "is-my-json-valid": { - "version": "2.15.0", - "from": "is-my-json-valid@>=2.12.4 <3.0.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz" - }, - "is-property": { - "version": "1.0.2", - "from": "is-property@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" - }, - "is-typedarray": { - "version": "1.0.0", - "from": "is-typedarray@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - }, "isarray": { "version": "1.0.0", - "from": "isarray@>=1.0.0 <1.1.0", + "from": "isarray@1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" }, + "is-typedarray": { + "version": "1.0.0", + "from": "is-typedarray@1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + }, "isstream": { "version": "0.1.2", - "from": "isstream@>=0.1.2 <0.2.0", + "from": "isstream@0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" }, "jodid25519": { "version": "1.0.2", - "from": "jodid25519@>=1.0.0 <2.0.0", + "from": "jodid25519@1.0.2", "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" }, "jsbn": { "version": "0.1.1", - "from": "jsbn@>=0.1.0 <0.2.0", + "from": "jsbn@0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" }, "json-schema": { @@ -3075,209 +2716,224 @@ "from": "json-schema@0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" }, + "json-stable-stringify": { + "version": "1.0.1", + "from": "json-stable-stringify@1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" + }, "json-stringify-safe": { "version": "5.0.1", - "from": "json-stringify-safe@>=5.0.1 <5.1.0", + "from": "json-stringify-safe@5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" }, - "jsonpointer": { - "version": "4.0.1", - "from": "jsonpointer@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz" - }, - "jsprim": { - "version": "1.3.1", - "from": "jsprim@>=1.2.2 <2.0.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz" + "jsonify": { + "version": "0.0.0", + "from": "jsonify@0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" }, "mime-db": { - "version": "1.26.0", - "from": "mime-db@>=1.26.0 <1.27.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz" + "version": "1.27.0", + "from": "mime-db@1.27.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz" }, "mime-types": { - "version": "2.1.14", - "from": "mime-types@>=2.1.7 <2.2.0", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz" - }, - "minimatch": { - "version": "3.0.3", - "from": "minimatch@>=3.0.2 <4.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz" + "version": "2.1.15", + "from": "mime-types@2.1.15", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz" }, "minimist": { "version": "0.0.8", "from": "minimist@0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" }, + "minimatch": { + "version": "3.0.4", + "from": "minimatch@3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" + }, "mkdirp": { "version": "0.5.1", - "from": "mkdirp@>=0.5.1 <0.6.0", + "from": "mkdirp@0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" }, "ms": { - "version": "0.7.1", - "from": "ms@0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" + "version": "2.0.0", + "from": "ms@2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" }, "nopt": { - "version": "3.0.6", - "from": "nopt@>=3.0.6 <3.1.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" + "version": "4.0.1", + "from": "nopt@4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz" }, "npmlog": { - "version": "4.0.2", - "from": "npmlog@>=4.0.1 <5.0.0", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz" + "version": "4.1.0", + "from": "npmlog@4.1.0", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz" }, "number-is-nan": { "version": "1.0.1", - "from": "number-is-nan@>=1.0.0 <2.0.0", + "from": "number-is-nan@1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" }, "oauth-sign": { "version": "0.8.2", - "from": "oauth-sign@>=0.8.1 <0.9.0", + "from": "oauth-sign@0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz" }, "object-assign": { "version": "4.1.1", - "from": "object-assign@>=4.1.0 <5.0.0", + "from": "object-assign@4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" }, "once": { "version": "1.4.0", - "from": "once@>=1.3.0 <2.0.0", + "from": "once@1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz" }, + "os-homedir": { + "version": "1.0.2", + "from": "os-homedir@1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" + }, + "os-tmpdir": { + "version": "1.0.2", + "from": "os-tmpdir@1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + }, + "osenv": { + "version": "0.1.4", + "from": "osenv@0.1.4", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz" + }, "path-is-absolute": { "version": "1.0.1", - "from": "path-is-absolute@>=1.0.0 <2.0.0", + "from": "path-is-absolute@1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" }, - "pinkie": { - "version": "2.0.4", - "from": "pinkie@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - }, - "pinkie-promise": { - "version": "2.0.1", - "from": "pinkie-promise@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + "performance-now": { + "version": "0.2.0", + "from": "performance-now@0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz" }, "process-nextick-args": { "version": "1.0.7", - "from": "process-nextick-args@>=1.0.6 <1.1.0", + "from": "process-nextick-args@1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" }, "punycode": { "version": "1.4.1", - "from": "punycode@>=1.4.1 <2.0.0", + "from": "punycode@1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" }, "qs": { - "version": "6.3.1", - "from": "qs@>=6.3.0 <6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.1.tgz" - }, - "readable-stream": { - "version": "2.2.2", - "from": "readable-stream@>=2.0.0 <3.0.0||>=1.1.13 <2.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz" + "version": "6.4.0", + "from": "qs@6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz" }, "request": { - "version": "2.79.0", - "from": "request@>=2.79.0 <3.0.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz" + "version": "2.81.0", + "from": "request@2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz" + }, + "readable-stream": { + "version": "2.2.9", + "from": "readable-stream@2.2.9", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz" }, "rimraf": { - "version": "2.5.4", - "from": "rimraf@>=2.5.4 <2.6.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz" + "version": "2.6.1", + "from": "rimraf@2.6.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz" + }, + "safe-buffer": { + "version": "5.0.1", + "from": "safe-buffer@5.0.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz" }, "semver": { "version": "5.3.0", - "from": "semver@>=5.3.0 <5.4.0", + "from": "semver@5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz" }, "set-blocking": { "version": "2.0.0", - "from": "set-blocking@>=2.0.0 <2.1.0", + "from": "set-blocking@2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" }, "signal-exit": { "version": "3.0.2", - "from": "signal-exit@>=3.0.0 <4.0.0", + "from": "signal-exit@3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz" }, "sntp": { "version": "1.0.9", - "from": "sntp@>=1.0.0 <2.0.0", + "from": "sntp@1.0.9", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" }, "string-width": { "version": "1.0.2", - "from": "string-width@>=1.0.1 <2.0.0", + "from": "string-width@1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" }, "string_decoder": { - "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + "version": "1.0.1", + "from": "string_decoder@1.0.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz" }, "stringstream": { "version": "0.0.5", - "from": "stringstream@>=0.0.4 <0.1.0", + "from": "stringstream@0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" }, "strip-ansi": { "version": "3.0.1", - "from": "strip-ansi@>=3.0.1 <4.0.0", + "from": "strip-ansi@3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" }, "strip-json-comments": { "version": "2.0.1", - "from": "strip-json-comments@>=2.0.1 <2.1.0", + "from": "strip-json-comments@2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" }, - "supports-color": { - "version": "2.0.0", - "from": "supports-color@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - }, "tar": { "version": "2.2.1", - "from": "tar@>=2.2.1 <2.3.0", + "from": "tar@2.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz" }, + "tar-pack": { + "version": "3.4.0", + "from": "tar-pack@3.4.0", + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz" + }, "tough-cookie": { "version": "2.3.2", - "from": "tough-cookie@>=2.3.0 <2.4.0", + "from": "tough-cookie@2.3.2", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz" }, "tunnel-agent": { - "version": "0.4.3", - "from": "tunnel-agent@>=0.4.1 <0.5.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz" + "version": "0.6.0", + "from": "tunnel-agent@0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" }, "tweetnacl": { "version": "0.14.5", - "from": "tweetnacl@>=0.14.0 <0.15.0", + "from": "tweetnacl@0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" }, "uid-number": { "version": "0.0.6", - "from": "uid-number@>=0.0.6 <0.1.0", + "from": "uid-number@0.0.6", "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz" }, "util-deprecate": { "version": "1.0.2", - "from": "util-deprecate@>=1.0.1 <1.1.0", + "from": "util-deprecate@1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" }, "uuid": { "version": "3.0.1", - "from": "uuid@>=3.0.0 <4.0.0", + "from": "uuid@3.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz" }, "verror": { @@ -3286,84 +2942,74 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" }, "wide-align": { - "version": "1.1.0", - "from": "wide-align@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz" + "version": "1.1.2", + "from": "wide-align@1.1.2", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz" }, "wrappy": { "version": "1.0.2", - "from": "wrappy@>=1.0.0 <2.0.0", + "from": "wrappy@1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" }, - "xtend": { - "version": "4.0.1", - "from": "xtend@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" - }, "dashdash": { "version": "1.14.1", - "from": "dashdash@>=1.12.0 <2.0.0", + "from": "dashdash@1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "dependencies": { "assert-plus": { "version": "1.0.0", - "from": "assert-plus@>=1.0.0 <2.0.0", + "from": "assert-plus@1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" } } }, "getpass": { - "version": "0.1.6", - "from": "getpass@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "version": "0.1.7", + "from": "getpass@0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "dependencies": { "assert-plus": { "version": "1.0.0", - "from": "assert-plus@>=1.0.0 <2.0.0", + "from": "assert-plus@1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + } + } + }, + "jsprim": { + "version": "1.4.0", + "from": "jsprim@1.4.0", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" } } }, "rc": { - "version": "1.1.7", - "from": "rc@>=1.1.6 <1.2.0", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.7.tgz", + "version": "1.2.1", + "from": "rc@1.2.1", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", "dependencies": { "minimist": { "version": "1.2.0", - "from": "minimist@>=1.2.0 <2.0.0", + "from": "minimist@1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" } } }, "sshpk": { - "version": "1.10.2", - "from": "sshpk@>=1.7.0 <2.0.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz", + "version": "1.13.0", + "from": "sshpk@1.13.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz", "dependencies": { "assert-plus": { "version": "1.0.0", - "from": "assert-plus@>=1.0.0 <2.0.0", + "from": "assert-plus@1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" } } - }, - "tar-pack": { - "version": "3.3.0", - "from": "tar-pack@>=3.3.0 <3.4.0", - "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.3.0.tgz", - "dependencies": { - "once": { - "version": "1.3.3", - "from": "once@>=1.3.3 <1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" - }, - "readable-stream": { - "version": "2.1.5", - "from": "readable-stream@>=2.1.4 <2.2.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz" - } - } } } } @@ -3710,19 +3356,19 @@ "resolved": "https://registry.npmjs.org/got/-/got-3.3.1.tgz", "dependencies": { "duplexify": { - "version": "3.5.0", + "version": "3.5.1", "from": "duplexify@>=3.2.0 <4.0.0", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", "dependencies": { "end-of-stream": { - "version": "1.0.0", - "from": "end-of-stream@1.0.0", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz", + "version": "1.4.0", + "from": "end-of-stream@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", "dependencies": { "once": { - "version": "1.3.3", - "from": "once@>=1.3.0 <1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "version": "1.4.0", + "from": "once@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "dependencies": { "wrappy": { "version": "1.0.2", @@ -3739,9 +3385,9 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" }, "readable-stream": { - "version": "2.2.11", + "version": "2.3.3", "from": "readable-stream@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.11.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "dependencies": { "core-util-is": { "version": "1.0.2", @@ -3759,14 +3405,14 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" }, "safe-buffer": { - "version": "5.0.1", - "from": "safe-buffer@>=5.0.1 <5.1.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz" + "version": "5.1.1", + "from": "safe-buffer@>=5.1.1 <5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" }, "string_decoder": { - "version": "1.0.2", - "from": "string_decoder@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz" + "version": "1.0.3", + "from": "string_decoder@>=1.0.3 <1.1.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz" }, "util-deprecate": { "version": "1.0.2", @@ -3842,9 +3488,9 @@ } }, "readable-stream": { - "version": "2.2.11", + "version": "2.3.3", "from": "readable-stream@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.11.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "dependencies": { "core-util-is": { "version": "1.0.2", @@ -3853,7 +3499,7 @@ }, "inherits": { "version": "2.0.3", - "from": "inherits@>=2.0.1 <2.1.0", + "from": "inherits@>=2.0.3 <2.1.0", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" }, "isarray": { @@ -3867,14 +3513,14 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" }, "safe-buffer": { - "version": "5.0.1", - "from": "safe-buffer@>=5.0.1 <5.1.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz" + "version": "5.1.1", + "from": "safe-buffer@>=5.1.1 <5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" }, "string_decoder": { - "version": "1.0.2", - "from": "string_decoder@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz" + "version": "1.0.3", + "from": "string_decoder@>=1.0.3 <1.1.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz" }, "util-deprecate": { "version": "1.0.2", @@ -3955,9 +3601,9 @@ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", "dependencies": { "semver": { - "version": "5.3.0", + "version": "5.4.1", "from": "semver@>=5.0.3 <6.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz" + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz" } } }, @@ -3992,9 +3638,9 @@ "resolved": "https://registry.npmjs.org/grunt-nsp/-/grunt-nsp-2.3.1.tgz", "dependencies": { "nsp": { - "version": "2.6.3", + "version": "2.7.0", "from": "nsp@>=2.6.0 <3.0.0", - "resolved": "https://registry.npmjs.org/nsp/-/nsp-2.6.3.tgz", + "resolved": "https://registry.npmjs.org/nsp/-/nsp-2.7.0.tgz", "dependencies": { "chalk": { "version": "1.1.3", @@ -4326,7 +3972,7 @@ }, "isemail": { "version": "2.2.1", - "from": "isemail@2.2.1", + "from": "isemail@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/isemail/-/isemail-2.2.1.tgz" }, "mime-db": { @@ -4367,9 +4013,9 @@ "resolved": "https://registry.npmjs.org/joi/-/joi-9.0.4.tgz", "dependencies": { "hoek": { - "version": "4.1.1", + "version": "4.2.0", "from": "hoek@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.1.1.tgz" + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz" }, "isemail": { "version": "2.2.1", @@ -4396,35 +4042,35 @@ } }, "insist": { - "version": "1.0.0", + "version": "1.0.1", "from": "insist@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/insist/-/insist-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/insist/-/insist-1.0.1.tgz", "dependencies": { "esprima": { - "version": "2.7.3", - "from": "esprima@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz" + "version": "4.0.0", + "from": "esprima@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz" }, "stack-trace": { - "version": "0.0.7", - "from": "stack-trace@>=0.0.7 <0.0.8", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.7.tgz" + "version": "0.0.10", + "from": "stack-trace@>=0.0.10 <0.0.11", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz" } } }, "joi": { - "version": "10.5.2", + "version": "10.6.0", "from": "joi@>=10.0.1 <11.0.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-10.5.2.tgz", + "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", "dependencies": { "hoek": { - "version": "4.1.1", + "version": "4.2.0", "from": "hoek@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.1.1.tgz" + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz" }, "isemail": { "version": "2.2.1", - "from": "isemail@2.2.1", + "from": "isemail@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/isemail/-/isemail-2.2.1.tgz" }, "items": { @@ -4548,24 +4194,36 @@ } }, "mocha": { - "version": "3.4.2", + "version": "3.5.0", "from": "mocha@>=3.4.2 <4.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.4.2.tgz", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.0.tgz", "dependencies": { "browser-stdout": { "version": "1.3.0", "from": "browser-stdout@1.3.0", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz" }, + "commander": { + "version": "2.9.0", + "from": "commander@2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "dependencies": { + "graceful-readlink": { + "version": "1.0.1", + "from": "graceful-readlink@>=1.0.0", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" + } + } + }, "debug": { - "version": "2.6.0", - "from": "debug@2.6.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.0.tgz", + "version": "2.6.8", + "from": "debug@2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", "dependencies": { "ms": { - "version": "0.7.2", - "from": "ms@0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz" + "version": "2.0.0", + "from": "ms@2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" } } }, @@ -4827,42 +4485,57 @@ } }, "mysql": { - "version": "2.13.0", + "version": "2.14.1", "from": "mysql@>=2.5.5 <3.0.0", - "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.13.0.tgz", + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.14.1.tgz", "dependencies": { "bignumber.js": { - "version": "3.1.2", - "from": "bignumber.js@3.1.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-3.1.2.tgz" + "version": "4.0.2", + "from": "bignumber.js@4.0.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.0.2.tgz" }, "readable-stream": { - "version": "1.1.14", - "from": "readable-stream@1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "version": "2.3.3", + "from": "readable-stream@2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "dependencies": { "core-util-is": { "version": "1.0.2", "from": "core-util-is@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" }, - "isarray": { - "version": "0.0.1", - "from": "isarray@0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - }, - "string_decoder": { - "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - }, "inherits": { "version": "2.0.3", - "from": "inherits@>=2.0.1 <2.1.0", + "from": "inherits@>=2.0.3 <2.1.0", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + }, + "process-nextick-args": { + "version": "1.0.7", + "from": "process-nextick-args@>=1.0.6 <1.1.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" + }, + "string_decoder": { + "version": "1.0.3", + "from": "string_decoder@>=1.0.3 <1.1.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz" + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" } } }, + "safe-buffer": { + "version": "5.1.1", + "from": "safe-buffer@5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" + }, "sqlstring": { "version": "2.2.0", "from": "sqlstring@2.2.0", @@ -4957,6 +4630,123 @@ } } }, + "newrelic": { + "version": "2.1.0", + "from": "newrelic@2.1.0", + "resolved": "https://registry.npmjs.org/newrelic/-/newrelic-2.1.0.tgz", + "dependencies": { + "concat-stream": { + "version": "1.6.0", + "from": "concat-stream@>=1.5.0 <2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "dependencies": { + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "typedarray": { + "version": "0.0.6", + "from": "typedarray@>=0.0.6 <0.0.7", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + } + } + }, + "https-proxy-agent": { + "version": "0.3.6", + "from": "https-proxy-agent@>=0.3.5 <0.4.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-0.3.6.tgz", + "dependencies": { + "agent-base": { + "version": "1.0.2", + "from": "agent-base@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-1.0.2.tgz" + }, + "debug": { + "version": "2.6.8", + "from": "debug@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "dependencies": { + "ms": { + "version": "2.0.0", + "from": "ms@2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + } + } + }, + "extend": { + "version": "3.0.1", + "from": "extend@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz" + } + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "from": "json-stringify-safe@>=5.0.0 <6.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + }, + "readable-stream": { + "version": "2.3.3", + "from": "readable-stream@>=2.1.4 <3.0.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.3 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + }, + "process-nextick-args": { + "version": "1.0.7", + "from": "process-nextick-args@>=1.0.6 <1.1.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" + }, + "safe-buffer": { + "version": "5.1.1", + "from": "safe-buffer@>=5.1.1 <5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" + }, + "string_decoder": { + "version": "1.0.3", + "from": "string_decoder@>=1.0.3 <1.1.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz" + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + } + } + }, + "semver": { + "version": "5.4.1", + "from": "semver@>=5.3.0 <6.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz" + }, + "@newrelic/native-metrics": { + "version": "2.1.1", + "from": "@newrelic/native-metrics@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/@newrelic/native-metrics/-/native-metrics-2.1.1.tgz", + "dependencies": { + "nan": { + "version": "2.7.0", + "from": "nan@>=2.4.0 <3.0.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz" + } + } + } + } + }, "nock": { "version": "8.2.1", "from": "nock@>=8.0.0 <9.0.0", @@ -5036,9 +4826,9 @@ "resolved": "https://registry.npmjs.org/propagate/-/propagate-0.4.0.tgz" }, "qs": { - "version": "6.4.0", + "version": "6.5.0", "from": "qs@>=6.0.2 <7.0.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz" + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.0.tgz" } } }, @@ -5290,16 +5080,16 @@ "from": "array-unique@0.2.1", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz" }, - "async": { - "version": "1.5.2", - "from": "async@1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" - }, "babel-code-frame": { "version": "6.22.0", "from": "babel-code-frame@6.22.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz" }, + "async": { + "version": "1.5.2", + "from": "async@1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" + }, "babel-generator": { "version": "6.24.1", "from": "babel-generator@6.24.1", @@ -6277,9 +6067,9 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" }, "jsprim": { - "version": "1.4.0", + "version": "1.4.1", "from": "jsprim@>=1.2.2 <2.0.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "dependencies": { "assert-plus": { "version": "1.0.0", @@ -6287,9 +6077,9 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" }, "extsprintf": { - "version": "1.0.2", - "from": "extsprintf@1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" + "version": "1.3.0", + "from": "extsprintf@1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" }, "json-schema": { "version": "0.2.3", @@ -6297,9 +6087,16 @@ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" }, "verror": { - "version": "1.3.6", - "from": "verror@1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" + "version": "1.10.0", + "from": "verror@1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + } + } } } }, @@ -6368,14 +6165,14 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" }, "mime-types": { - "version": "2.1.15", + "version": "2.1.16", "from": "mime-types@>=2.1.7 <2.2.0", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", "dependencies": { "mime-db": { - "version": "1.27.0", - "from": "mime-db@>=1.27.0 <1.28.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz" + "version": "1.29.0", + "from": "mime-db@>=1.29.0 <1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz" } } }, @@ -6395,9 +6192,9 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz" }, "safe-buffer": { - "version": "5.1.0", + "version": "5.1.1", "from": "safe-buffer@>=5.0.1 <6.0.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.0.tgz" + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz" }, "stringstream": { "version": "0.0.5", @@ -6422,9 +6219,9 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" }, "uuid": { - "version": "3.0.1", + "version": "3.1.0", "from": "uuid@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz" + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz" } } }, @@ -6582,9 +6379,9 @@ } }, "urijs": { - "version": "1.18.10", + "version": "1.18.12", "from": "urijs@>=1.16.1 <2.0.0", - "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.18.10.tgz" + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.18.12.tgz" } } } diff --git a/package.json b/package.json index e97eec6..e7028e3 100644 --- a/package.json +++ b/package.json @@ -43,13 +43,12 @@ "urijs": "^1.16.1" }, "devDependencies": { - "eslint-config-fxa": "^1.8.0", + "eslint-plugin-fxa": "git://github.com/mozilla/eslint-plugin-fxa.git#41504c9dd30e8b52900c15b524946aa0428aef95", "grunt": "^1.0.1", "grunt-bump": "0.8.0", "grunt-conventional-changelog": "^1.1.0", "grunt-copyright": "^0.3.0", - "grunt-eslint": "^16.0.0", - "grunt-jscs": "^3.0.1", + "grunt-eslint": "18.0.0", "grunt-nodemon": "^0.4.0", "grunt-nsp": "2.3.1", "insist": "1.x", diff --git a/scripts/.eslintrc b/scripts/.eslintrc new file mode 100644 index 0000000..c843a34 --- /dev/null +++ b/scripts/.eslintrc @@ -0,0 +1,8 @@ +plugins: + - fxa + +rules: + fxa/async-crypto-random: 0 + fxa/no-new-buffer: 2 + no-console: 0 + handle-callback-err: 0 diff --git a/scripts/gen_keys.js b/scripts/gen_keys.js index acffa74..cc8338d 100644 --- a/scripts/gen_keys.js +++ b/scripts/gen_keys.js @@ -30,7 +30,7 @@ const oldKeyPath = './config/oldKey.json'; try { var keysExist = fs.existsSync(keyPath) && fs.existsSync(oldKeyPath); - assert(!keysExist, 'keys already exists'); + assert(! keysExist, 'keys already exists'); } catch (e) { process.exit(); } diff --git a/scripts/generate-client-for-ops.js b/scripts/generate-client-for-ops.js index c79954c..83ac6dc 100644 --- a/scripts/generate-client-for-ops.js +++ b/scripts/generate-client-for-ops.js @@ -5,7 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ if (process.argv.length !== 4) { - console.error(`Usage: node generate-client-for-ops.js "client-name" "client-redirect-url"`); + console.error('Usage: node generate-client-for-ops.js "client-name" "client-redirect-url"'); process.exit(1); } diff --git a/test/.eslintrc b/test/.eslintrc new file mode 100644 index 0000000..983c105 --- /dev/null +++ b/test/.eslintrc @@ -0,0 +1,10 @@ +plugins: + - fxa +extends: ../.eslintrc + +env: + mocha: true + +rules: + fxa/async-crypto-random: 0 + fxa/no-new-buffer: 2 diff --git a/test/api.js b/test/api.js index f67c3c0..2598dd6 100644 --- a/test/api.js +++ b/test/api.js @@ -1130,7 +1130,7 @@ describe('/v1', function() { assertSecurityHeaders(res); assert.equal(res.result.token_type, 'bearer'); assert(res.result.access_token); - assert(!res.result.refresh_token); + assert(! res.result.refresh_token); assert.equal(res.result.access_token.length, config.get('unique.token') * 2); assert.equal(res.result.scope, 'foo bar'); @@ -2398,7 +2398,7 @@ describe('/v1', function() { var key = res.result.keys[0]; assert(key.n); assert(key.e); - assert(!key.d); + assert(! key.d); }); }); @@ -2411,7 +2411,7 @@ describe('/v1', function() { var keys = res.result.keys; assert.equal(keys.length, 2); - assert(!keys[1].d); + assert(! keys[1].d); assert.notEqual(keys[0].kid, keys[1].kid); }); }); diff --git a/test/scope.js b/test/scope.js index 1a63cd4..9bf7d5e 100644 --- a/test/scope.js +++ b/test/scope.js @@ -36,14 +36,14 @@ describe('Scope', function() { var s1 = Scope('foo bar'); assert(s1.has('foo')); assert(s1.has('bar')); - assert(!s1.has('baz')); + assert(! s1.has('baz')); }); it('should work with another Scope object', function() { var s1 = Scope('foo bar'); var s2 = Scope('bar'); assert(s1.has(s2)); - assert(!s2.has(s1)); + assert(! s2.has(s1)); }); it('should allow sub-scopes', function() { @@ -51,23 +51,23 @@ describe('Scope', function() { assert(s1.has('foo:dee')); assert(s1.has('bar:baz')); assert(s1.has('foo:mah:pa bar:baz:quux')); - assert(!s1.has('bar')); + assert(! s1.has('bar')); - assert(!s1.has('foo:write')); - assert(!s1.has('foo:dee:write')); + assert(! s1.has('foo:write')); + assert(! s1.has('foo:dee:write')); var s2 = Scope('foo bar baz:quux:write'); assert(s2.has('foo bar baz:quux')); - assert(!s2.has('baz:write')); - assert(!s2.has('foo bar baz')); + assert(! s2.has('baz:write')); + assert(! s2.has('foo bar baz')); var s3 = Scope('foo:write'); assert(s3.has('foo:bar')); assert(s3.has('foo:bar:write')); - assert(!s3.has('foo::write')); - assert(!s3.has('foo:write:::')); + assert(! s3.has('foo::write')); + assert(! s3.has('foo:write:::')); }); diff --git a/test/server.js b/test/server.js index baa3a59..f5ec6d4 100644 --- a/test/server.js +++ b/test/server.js @@ -28,7 +28,7 @@ function checkVersionAndHeaders(path) { }; Object.keys(res.headers).forEach(function(header) { - assert.ok(!other[header.toLowerCase()]); + assert.ok(! other[header.toLowerCase()]); }); }).done(done, done); }; diff --git a/test/util.js b/test/util.js index 1add8fd..4342361 100644 --- a/test/util.js +++ b/test/util.js @@ -9,7 +9,7 @@ describe('util', function () { describe('base64URLEncode', function () { it('properly encodes', function () { var testBase64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', - testBuffer = new Buffer(testBase64, 'base64'), + testBuffer = Buffer.from(testBase64, 'base64'), expectedBase64 = testBase64.replace('+', '-').replace('/', '_'); assert.equal(util.base64URLEncode(testBuffer), expectedBase64);