From 3a831fc77c8f65353e72d3120be5e3d8d197a1b3 Mon Sep 17 00:00:00 2001 From: "Brian M. Carlson" Date: Tue, 28 Apr 2020 10:02:38 -0500 Subject: [PATCH] Run lint --fix --- packages/pg-connection-string/index.d.ts | 20 +- packages/pg-connection-string/index.js | 72 ++-- packages/pg-connection-string/test/parse.js | 429 ++++++++++---------- yarn.lock | 336 ++++++++++++++- 4 files changed, 598 insertions(+), 259 deletions(-) diff --git a/packages/pg-connection-string/index.d.ts b/packages/pg-connection-string/index.d.ts index 1d2f1606..b1b7abd9 100644 --- a/packages/pg-connection-string/index.d.ts +++ b/packages/pg-connection-string/index.d.ts @@ -1,14 +1,14 @@ -export function parse(connectionString: string): ConnectionOptions; +export function parse(connectionString: string): ConnectionOptions export interface ConnectionOptions { - host: string | null; - password?: string; - user?: string; - port?: string | null; - database: string | null | undefined; - client_encoding?: string; - ssl?: boolean | string; + host: string | null + password?: string + user?: string + port?: string | null + database: string | null | undefined + client_encoding?: string + ssl?: boolean | string - application_name?: string; - fallback_application_name?: string; + application_name?: string + fallback_application_name?: string } diff --git a/packages/pg-connection-string/index.js b/packages/pg-connection-string/index.js index 7e914ba1..65951c37 100644 --- a/packages/pg-connection-string/index.js +++ b/packages/pg-connection-string/index.js @@ -1,7 +1,7 @@ -'use strict'; +'use strict' -var url = require('url'); -var fs = require('fs'); +var url = require('url') +var fs = require('fs') //Parse method copied from https://github.com/brianc/node-postgres //Copyright (c) 2010-2014 Brian Carlson (brian.m.carlson@gmail.com) @@ -10,78 +10,80 @@ var fs = require('fs'); //parses a connection string function parse(str) { //unix socket - if(str.charAt(0) === '/') { - var config = str.split(' '); - return { host: config[0], database: config[1] }; + if (str.charAt(0) === '/') { + var config = str.split(' ') + return { host: config[0], database: config[1] } } // url parse expects spaces encoded as %20 - var result = url.parse(/ |%[^a-f0-9]|%[a-f0-9][^a-f0-9]/i.test(str) ? encodeURI(str).replace(/\%25(\d\d)/g, "%$1") : str, true); - var config = result.query; + var result = url.parse( + / |%[^a-f0-9]|%[a-f0-9][^a-f0-9]/i.test(str) ? encodeURI(str).replace(/\%25(\d\d)/g, '%$1') : str, + true + ) + var config = result.query for (var k in config) { if (Array.isArray(config[k])) { - config[k] = config[k][config[k].length-1]; + config[k] = config[k][config[k].length - 1] } } - var auth = (result.auth || ':').split(':'); - config.user = auth[0]; - config.password = auth.splice(1).join(':'); + var auth = (result.auth || ':').split(':') + config.user = auth[0] + config.password = auth.splice(1).join(':') - config.port = result.port; - if(result.protocol == 'socket:') { - config.host = decodeURI(result.pathname); - config.database = result.query.db; - config.client_encoding = result.query.encoding; - return config; + config.port = result.port + if (result.protocol == 'socket:') { + config.host = decodeURI(result.pathname) + config.database = result.query.db + config.client_encoding = result.query.encoding + return config } if (!config.host) { // Only set the host if there is no equivalent query param. - config.host = result.hostname; + config.host = result.hostname } // If the host is missing it might be a URL-encoded path to a socket. - var pathname = result.pathname; + var pathname = result.pathname if (!config.host && pathname && /^%2f/i.test(pathname)) { - var pathnameSplit = pathname.split('/'); - config.host = decodeURIComponent(pathnameSplit[0]); - pathname = pathnameSplit.splice(1).join('/'); + var pathnameSplit = pathname.split('/') + config.host = decodeURIComponent(pathnameSplit[0]) + pathname = pathnameSplit.splice(1).join('/') } // result.pathname is not always guaranteed to have a '/' prefix (e.g. relative urls) // only strip the slash if it is present. if (pathname && pathname.charAt(0) === '/') { - pathname = pathname.slice(1) || null; + pathname = pathname.slice(1) || null } - config.database = pathname && decodeURI(pathname); + config.database = pathname && decodeURI(pathname) if (config.ssl === 'true' || config.ssl === '1') { - config.ssl = true; + config.ssl = true } if (config.ssl === '0') { - config.ssl = false; + config.ssl = false } if (config.sslcert || config.sslkey || config.sslrootcert) { - config.ssl = {}; + config.ssl = {} } if (config.sslcert) { - config.ssl.cert = fs.readFileSync(config.sslcert).toString(); + config.ssl.cert = fs.readFileSync(config.sslcert).toString() } if (config.sslkey) { - config.ssl.key = fs.readFileSync(config.sslkey).toString(); + config.ssl.key = fs.readFileSync(config.sslkey).toString() } if (config.sslrootcert) { - config.ssl.ca = fs.readFileSync(config.sslrootcert).toString(); + config.ssl.ca = fs.readFileSync(config.sslrootcert).toString() } - return config; + return config } +module.exports = parse -module.exports = parse; - -parse.parse = parse; +parse.parse = parse diff --git a/packages/pg-connection-string/test/parse.js b/packages/pg-connection-string/test/parse.js index 07f886e1..957f0644 100644 --- a/packages/pg-connection-string/test/parse.js +++ b/packages/pg-connection-string/test/parse.js @@ -1,257 +1,274 @@ -'use strict'; +'use strict' -var chai = require('chai'); -var expect = chai.expect; -chai.should(); +var chai = require('chai') +var expect = chai.expect +chai.should() -var parse = require('../').parse; +var parse = require('../').parse -describe('parse', function(){ +describe('parse', function () { + it('using connection string in client constructor', function () { + var subject = parse('postgres://brian:pw@boom:381/lala') + subject.user.should.equal('brian') + subject.password.should.equal('pw') + subject.host.should.equal('boom') + subject.port.should.equal('381') + subject.database.should.equal('lala') + }) - it('using connection string in client constructor', function(){ - var subject = parse('postgres://brian:pw@boom:381/lala'); - subject.user.should.equal('brian'); - subject.password.should.equal( 'pw'); - subject.host.should.equal( 'boom'); - subject.port.should.equal( '381'); - subject.database.should.equal( 'lala'); - }); + it('escape spaces if present', function () { + var subject = parse('postgres://localhost/post gres') + subject.database.should.equal('post gres') + }) - it('escape spaces if present', function(){ - var subject = parse('postgres://localhost/post gres'); - subject.database.should.equal('post gres'); - }); + it('do not double escape spaces', function () { + var subject = parse('postgres://localhost/post%20gres') + subject.database.should.equal('post gres') + }) - it('do not double escape spaces', function(){ - var subject = parse('postgres://localhost/post%20gres'); - subject.database.should.equal('post gres'); - }); + it('initializing with unix domain socket', function () { + var subject = parse('/var/run/') + subject.host.should.equal('/var/run/') + }) - it('initializing with unix domain socket', function(){ - var subject = parse('/var/run/'); - subject.host.should.equal('/var/run/'); - }); + it('initializing with unix domain socket and a specific database, the simple way', function () { + var subject = parse('/var/run/ mydb') + subject.host.should.equal('/var/run/') + subject.database.should.equal('mydb') + }) - it('initializing with unix domain socket and a specific database, the simple way', function(){ - var subject = parse('/var/run/ mydb'); - subject.host.should.equal('/var/run/'); - subject.database.should.equal('mydb'); - }); + it('initializing with unix domain socket, the health way', function () { + var subject = parse('socket:/some path/?db=my[db]&encoding=utf8') + subject.host.should.equal('/some path/') + subject.database.should.equal('my[db]', 'must to be escaped and unescaped trough "my%5Bdb%5D"') + subject.client_encoding.should.equal('utf8') + }) - it('initializing with unix domain socket, the health way', function(){ - var subject = parse('socket:/some path/?db=my[db]&encoding=utf8'); - subject.host.should.equal('/some path/'); - subject.database.should.equal('my[db]', 'must to be escaped and unescaped trough "my%5Bdb%5D"'); - subject.client_encoding.should.equal('utf8'); - }); + it('initializing with unix domain socket, the escaped health way', function () { + var subject = parse('socket:/some%20path/?db=my%2Bdb&encoding=utf8') + subject.host.should.equal('/some path/') + subject.database.should.equal('my+db') + subject.client_encoding.should.equal('utf8') + }) - it('initializing with unix domain socket, the escaped health way', function(){ - var subject = parse('socket:/some%20path/?db=my%2Bdb&encoding=utf8'); - subject.host.should.equal('/some path/'); - subject.database.should.equal('my+db'); - subject.client_encoding.should.equal('utf8'); - }); + it('initializing with unix domain socket, username and password', function () { + var subject = parse('socket://brian:pw@/var/run/?db=mydb') + subject.user.should.equal('brian') + subject.password.should.equal('pw') + subject.host.should.equal('/var/run/') + subject.database.should.equal('mydb') + }) - it('initializing with unix domain socket, username and password', function(){ - var subject = parse('socket://brian:pw@/var/run/?db=mydb'); - subject.user.should.equal('brian'); - subject.password.should.equal('pw'); - subject.host.should.equal('/var/run/'); - subject.database.should.equal('mydb'); - }); - - it('password contains < and/or > characters', function(){ + it('password contains < and/or > characters', function () { var sourceConfig = { - user:'brian', + user: 'brian', password: 'helloe', port: 5432, host: 'localhost', - database: 'postgres' - }; - var connectionString = 'postgres://' + sourceConfig.user + ':' + sourceConfig.password + '@' + sourceConfig.host + ':' + sourceConfig.port + '/' + sourceConfig.database; - var subject = parse(connectionString); - subject.password.should.equal(sourceConfig.password); - }); + database: 'postgres', + } + var connectionString = + 'postgres://' + + sourceConfig.user + + ':' + + sourceConfig.password + + '@' + + sourceConfig.host + + ':' + + sourceConfig.port + + '/' + + sourceConfig.database + var subject = parse(connectionString) + subject.password.should.equal(sourceConfig.password) + }) - it('password contains colons', function(){ + it('password contains colons', function () { var sourceConfig = { - user:'brian', + user: 'brian', password: 'hello:pass:world', port: 5432, host: 'localhost', - database: 'postgres' - }; - var connectionString = 'postgres://' + sourceConfig.user + ':' + sourceConfig.password + '@' + sourceConfig.host + ':' + sourceConfig.port + '/' + sourceConfig.database; - var subject = parse(connectionString); - subject.password.should.equal(sourceConfig.password); - }); + database: 'postgres', + } + var connectionString = + 'postgres://' + + sourceConfig.user + + ':' + + sourceConfig.password + + '@' + + sourceConfig.host + + ':' + + sourceConfig.port + + '/' + + sourceConfig.database + var subject = parse(connectionString) + subject.password.should.equal(sourceConfig.password) + }) - it('username or password contains weird characters', function(){ - var strang = 'pg://my f%irst name:is&%awesome!@localhost:9000'; - var subject = parse(strang); - subject.user.should.equal('my f%irst name'); - subject.password.should.equal('is&%awesome!'); - subject.host.should.equal('localhost'); - }); + it('username or password contains weird characters', function () { + var strang = 'pg://my f%irst name:is&%awesome!@localhost:9000' + var subject = parse(strang) + subject.user.should.equal('my f%irst name') + subject.password.should.equal('is&%awesome!') + subject.host.should.equal('localhost') + }) - it('url is properly encoded', function(){ - var encoded = 'pg://bi%25na%25%25ry%20:s%40f%23@localhost/%20u%2520rl'; - var subject = parse(encoded); - subject.user.should.equal('bi%na%%ry '); - subject.password.should.equal('s@f#'); - subject.host.should.equal('localhost'); - subject.database.should.equal(' u%20rl'); - }); + it('url is properly encoded', function () { + var encoded = 'pg://bi%25na%25%25ry%20:s%40f%23@localhost/%20u%2520rl' + var subject = parse(encoded) + subject.user.should.equal('bi%na%%ry ') + subject.password.should.equal('s@f#') + subject.host.should.equal('localhost') + subject.database.should.equal(' u%20rl') + }) - it('relative url sets database', function(){ - var relative = 'different_db_on_default_host'; - var subject = parse(relative); - subject.database.should.equal('different_db_on_default_host'); - }); + it('relative url sets database', function () { + var relative = 'different_db_on_default_host' + var subject = parse(relative) + subject.database.should.equal('different_db_on_default_host') + }) it('no pathname returns null database', function () { - var subject = parse('pg://myhost'); - (subject.database === null).should.equal(true); - }); + var subject = parse('pg://myhost') + ;(subject.database === null).should.equal(true) + }) it('pathname of "/" returns null database', function () { - var subject = parse('pg://myhost/'); - subject.host.should.equal('myhost'); - (subject.database === null).should.equal(true); - }); + var subject = parse('pg://myhost/') + subject.host.should.equal('myhost') + ;(subject.database === null).should.equal(true) + }) - it('configuration parameter host', function() { - var subject = parse('pg://user:pass@/dbname?host=/unix/socket'); - subject.user.should.equal('user'); - subject.password.should.equal('pass'); - subject.host.should.equal('/unix/socket'); - subject.database.should.equal('dbname'); - }); + it('configuration parameter host', function () { + var subject = parse('pg://user:pass@/dbname?host=/unix/socket') + subject.user.should.equal('user') + subject.password.should.equal('pass') + subject.host.should.equal('/unix/socket') + subject.database.should.equal('dbname') + }) - it('configuration parameter host overrides url host', function() { - var subject = parse('pg://user:pass@localhost/dbname?host=/unix/socket'); - subject.host.should.equal('/unix/socket'); - }); + it('configuration parameter host overrides url host', function () { + var subject = parse('pg://user:pass@localhost/dbname?host=/unix/socket') + subject.host.should.equal('/unix/socket') + }) - it('url with encoded socket', function() { - var subject = parse('pg://user:pass@%2Funix%2Fsocket/dbname'); - subject.user.should.equal('user'); - subject.password.should.equal('pass'); - subject.host.should.equal('/unix/socket'); - subject.database.should.equal('dbname'); - }); + it('url with encoded socket', function () { + var subject = parse('pg://user:pass@%2Funix%2Fsocket/dbname') + subject.user.should.equal('user') + subject.password.should.equal('pass') + subject.host.should.equal('/unix/socket') + subject.database.should.equal('dbname') + }) - it('url with real host and an encoded db name', function() { - var subject = parse('pg://user:pass@localhost/%2Fdbname'); - subject.user.should.equal('user'); - subject.password.should.equal('pass'); - subject.host.should.equal('localhost'); - subject.database.should.equal('%2Fdbname'); - }); + it('url with real host and an encoded db name', function () { + var subject = parse('pg://user:pass@localhost/%2Fdbname') + subject.user.should.equal('user') + subject.password.should.equal('pass') + subject.host.should.equal('localhost') + subject.database.should.equal('%2Fdbname') + }) - it('configuration parameter host treats encoded socket as part of the db name', function() { - var subject = parse('pg://user:pass@%2Funix%2Fsocket/dbname?host=localhost'); - subject.user.should.equal('user'); - subject.password.should.equal('pass'); - subject.host.should.equal('localhost'); - subject.database.should.equal('%2Funix%2Fsocket/dbname'); - }); + it('configuration parameter host treats encoded socket as part of the db name', function () { + var subject = parse('pg://user:pass@%2Funix%2Fsocket/dbname?host=localhost') + subject.user.should.equal('user') + subject.password.should.equal('pass') + subject.host.should.equal('localhost') + subject.database.should.equal('%2Funix%2Fsocket/dbname') + }) - it('configuration parameter application_name', function(){ - var connectionString = 'pg:///?application_name=TheApp'; - var subject = parse(connectionString); - subject.application_name.should.equal('TheApp'); - }); + it('configuration parameter application_name', function () { + var connectionString = 'pg:///?application_name=TheApp' + var subject = parse(connectionString) + subject.application_name.should.equal('TheApp') + }) - it('configuration parameter fallback_application_name', function(){ - var connectionString = 'pg:///?fallback_application_name=TheAppFallback'; - var subject = parse(connectionString); - subject.fallback_application_name.should.equal('TheAppFallback'); - }); + it('configuration parameter fallback_application_name', function () { + var connectionString = 'pg:///?fallback_application_name=TheAppFallback' + var subject = parse(connectionString) + subject.fallback_application_name.should.equal('TheAppFallback') + }) - it('configuration parameter fallback_application_name', function(){ - var connectionString = 'pg:///?fallback_application_name=TheAppFallback'; - var subject = parse(connectionString); - subject.fallback_application_name.should.equal('TheAppFallback'); - }); + it('configuration parameter fallback_application_name', function () { + var connectionString = 'pg:///?fallback_application_name=TheAppFallback' + var subject = parse(connectionString) + subject.fallback_application_name.should.equal('TheAppFallback') + }) - it('configuration parameter ssl=true', function(){ - var connectionString = 'pg:///?ssl=true'; - var subject = parse(connectionString); - subject.ssl.should.equal(true); - }); + it('configuration parameter ssl=true', function () { + var connectionString = 'pg:///?ssl=true' + var subject = parse(connectionString) + subject.ssl.should.equal(true) + }) - it('configuration parameter ssl=1', function(){ - var connectionString = 'pg:///?ssl=1'; - var subject = parse(connectionString); - subject.ssl.should.equal(true); - }); + it('configuration parameter ssl=1', function () { + var connectionString = 'pg:///?ssl=1' + var subject = parse(connectionString) + subject.ssl.should.equal(true) + }) - it('configuration parameter ssl=0', function(){ - var connectionString = 'pg:///?ssl=0'; - var subject = parse(connectionString); - subject.ssl.should.equal(false); - }); + it('configuration parameter ssl=0', function () { + var connectionString = 'pg:///?ssl=0' + var subject = parse(connectionString) + subject.ssl.should.equal(false) + }) it('set ssl', function () { - var subject = parse('pg://myhost/db?ssl=1'); - subject.ssl.should.equal(true); - }); + var subject = parse('pg://myhost/db?ssl=1') + subject.ssl.should.equal(true) + }) - it('configuration parameter sslcert=/path/to/cert', function(){ - var connectionString = 'pg:///?sslcert=' + __dirname + '/example.cert'; - var subject = parse(connectionString); + it('configuration parameter sslcert=/path/to/cert', function () { + var connectionString = 'pg:///?sslcert=' + __dirname + '/example.cert' + var subject = parse(connectionString) subject.ssl.should.eql({ - cert: 'example cert\n' - }); - }); + cert: 'example cert\n', + }) + }) - it('configuration parameter sslkey=/path/to/key', function(){ - var connectionString = 'pg:///?sslkey=' + __dirname + '/example.key'; - var subject = parse(connectionString); + it('configuration parameter sslkey=/path/to/key', function () { + var connectionString = 'pg:///?sslkey=' + __dirname + '/example.key' + var subject = parse(connectionString) subject.ssl.should.eql({ - key: 'example key\n' - }); - }); + key: 'example key\n', + }) + }) - it('configuration parameter sslrootcert=/path/to/ca', function(){ - var connectionString = 'pg:///?sslrootcert=' + __dirname + '/example.ca'; - var subject = parse(connectionString); + it('configuration parameter sslrootcert=/path/to/ca', function () { + var connectionString = 'pg:///?sslrootcert=' + __dirname + '/example.ca' + var subject = parse(connectionString) subject.ssl.should.eql({ - ca: 'example ca\n' - }); - }); + ca: 'example ca\n', + }) + }) - it('allow other params like max, ...', function () { - var subject = parse('pg://myhost/db?max=18&min=4'); - subject.max.should.equal('18'); - subject.min.should.equal('4'); - }); + it('allow other params like max, ...', function () { + var subject = parse('pg://myhost/db?max=18&min=4') + subject.max.should.equal('18') + subject.min.should.equal('4') + }) + it('configuration parameter keepalives', function () { + var connectionString = 'pg:///?keepalives=1' + var subject = parse(connectionString) + subject.keepalives.should.equal('1') + }) - it('configuration parameter keepalives', function(){ - var connectionString = 'pg:///?keepalives=1'; - var subject = parse(connectionString); - subject.keepalives.should.equal('1'); - }); + it('unknown configuration parameter is passed into client', function () { + var connectionString = 'pg:///?ThereIsNoSuchPostgresParameter=1234' + var subject = parse(connectionString) + subject.ThereIsNoSuchPostgresParameter.should.equal('1234') + }) - it('unknown configuration parameter is passed into client', function(){ - var connectionString = 'pg:///?ThereIsNoSuchPostgresParameter=1234'; - var subject = parse(connectionString); - subject.ThereIsNoSuchPostgresParameter.should.equal('1234'); - }); + it('do not override a config field with value from query string', function () { + var subject = parse('socket:/some path/?db=my[db]&encoding=utf8&client_encoding=bogus') + subject.host.should.equal('/some path/') + subject.database.should.equal('my[db]', 'must to be escaped and unescaped through "my%5Bdb%5D"') + subject.client_encoding.should.equal('utf8') + }) - it('do not override a config field with value from query string', function(){ - var subject = parse('socket:/some path/?db=my[db]&encoding=utf8&client_encoding=bogus'); - subject.host.should.equal('/some path/'); - subject.database.should.equal('my[db]', 'must to be escaped and unescaped through "my%5Bdb%5D"'); - subject.client_encoding.should.equal('utf8'); - }); - - - it('return last value of repeated parameter', function(){ - var connectionString = 'pg:///?keepalives=1&keepalives=0'; - var subject = parse(connectionString); - subject.keepalives.should.equal('0'); - }); -}); + it('return last value of repeated parameter', function () { + var connectionString = 'pg:///?keepalives=1&keepalives=0' + var subject = parse(connectionString) + subject.keepalives.should.equal('0') + }) +}) diff --git a/yarn.lock b/yarn.lock index 0d936097..796307ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -948,6 +948,11 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== +abbrev@1.0.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + integrity sha1-kbR5JYinc4wl813W9jdSovh3YTU= + acorn-jsx@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" @@ -989,6 +994,11 @@ ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= + ansi-colors@3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" @@ -1166,6 +1176,11 @@ async@0.9.0: resolved "https://registry.yarnpkg.com/async/-/async-0.9.0.tgz#ac3613b1da9bed1b47510bb4651b8931e47146c7" integrity sha1-rDYTsdqb7RtHUQu0ZRuJMeRxRsc= +async@1.x: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -1273,6 +1288,11 @@ braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" +browser-stdout@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" + integrity sha1-81HTKWnTL6XXpVZxVCY9korjvR8= + browser-stdout@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" @@ -1410,7 +1430,7 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chai@^4.2.0: +chai@^4.1.1, chai@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== @@ -1558,6 +1578,13 @@ commander@2.15.1: resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== +commander@2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= + dependencies: + graceful-readlink ">= 1.0.0" + commander@~2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -1736,6 +1763,17 @@ cosmiconfig@^5.1.0: js-yaml "^3.13.1" parse-json "^4.0.0" +coveralls@^3.0.4: + version "3.1.0" + resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.1.0.tgz#13c754d5e7a2dd8b44fe5269e21ca394fb4d615b" + integrity sha512-sHxOu2ELzW8/NC1UP5XVLbZDzO4S3VxfFye3XYCznopHy02YjNkHcj5bKaVw2O7hVaBdBjEdQGpie4II1mWhuQ== + dependencies: + js-yaml "^3.13.1" + lcov-parse "^1.0.0" + log-driver "^1.2.7" + minimist "^1.2.5" + request "^2.88.2" + cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -1783,6 +1821,13 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== +debug@2.6.8: + version "2.6.8" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" + integrity sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw= + dependencies: + ms "2.0.0" + debug@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" @@ -1915,6 +1960,11 @@ dezalgo@^1.0.0: asap "^2.0.0" wrappy "1" +diff@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" + integrity sha1-yc45Okt8vQsFinJck98pkCeGj/k= + diff@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -2060,6 +2110,18 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +escodegen@1.8.x: + version "1.8.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + integrity sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg= + dependencies: + esprima "^2.7.1" + estraverse "^1.9.1" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.2.0" + eslint-config-prettier@^6.10.1: version "6.10.1" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.10.1.tgz#129ef9ec575d5ddc0e269667bf09defcd898642a" @@ -2178,6 +2240,11 @@ espree@^6.1.2: acorn-jsx "^5.1.0" eslint-visitor-keys "^1.1.0" +esprima@2.7.x, esprima@^2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= + esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -2197,6 +2264,11 @@ esrecurse@^4.1.0: dependencies: estraverse "^4.1.0" +estraverse@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + integrity sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q= + estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" @@ -2642,6 +2714,18 @@ glob-to-regexp@^0.3.0: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= +glob@7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + integrity sha1-gFIR3wT6rxxjo2ADBs31reULLsg= + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" @@ -2666,6 +2750,17 @@ glob@7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^5.0.15: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" @@ -2704,11 +2799,33 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= + growl@1.10.5: version "1.10.5" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== +growl@1.9.2: + version "1.9.2" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" + integrity sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8= + +handlebars@^4.0.1: + version "4.7.6" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" + integrity sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.0" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + handlebars@^4.4.0: version "4.5.3" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.5.3.tgz#5cf75bd8714f7605713511a56be7c349becb0482" @@ -2725,7 +2842,7 @@ har-schema@^2.0.0: resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= -har-validator@~5.1.0: +har-validator@~5.1.0, har-validator@~5.1.3: version "5.1.3" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== @@ -2733,6 +2850,11 @@ har-validator@~5.1.0: ajv "^6.5.5" har-schema "^2.0.0" +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -3242,12 +3364,32 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= +istanbul@^0.4.5: + version "0.4.5" + resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" + integrity sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs= + dependencies: + abbrev "1.0.x" + async "1.x" + escodegen "1.8.x" + esprima "2.7.x" + glob "^5.0.15" + handlebars "^4.0.1" + js-yaml "3.x" + mkdirp "0.5.x" + nopt "3.x" + once "1.x" + resolve "1.1.x" + supports-color "^3.1.0" + which "^1.1.1" + wordwrap "^1.0.0" + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.13.1, js-yaml@^3.13.1: +js-yaml@3.13.1, js-yaml@3.x, js-yaml@^3.13.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -3285,6 +3427,11 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= +json3@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + integrity sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE= + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -3336,6 +3483,11 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== +lcov-parse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-1.0.0.tgz#eb0d46b54111ebc561acb4c408ef9363bdc8f7e0" + integrity sha1-6w1GtUER68VhrLTECO+TY73I9+A= + lerna@^3.19.0: version "3.19.0" resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.19.0.tgz#6d53b613eca7da426ab1e97c01ce6fb39754da6c" @@ -3415,6 +3567,34 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" +lodash._baseassign@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" + integrity sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4= + dependencies: + lodash._basecopy "^3.0.0" + lodash.keys "^3.0.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + integrity sha1-jaDmqHbPNEwK2KVIghEd08XHyjY= + +lodash._basecreate@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" + integrity sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE= + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + integrity sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw= + lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -3425,16 +3605,44 @@ lodash.clonedeep@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= +lodash.create@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" + integrity sha1-1/KEnw29p+BGgruM1yqwIkYd6+c= + dependencies: + lodash._baseassign "^3.0.0" + lodash._basecreate "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo= + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U= + lodash.ismatch@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo= + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + lodash.set@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" @@ -3470,6 +3678,11 @@ lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.2. resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== +log-driver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" + integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg== + log-symbols@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" @@ -3653,7 +3866,7 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -minimatch@3.0.4, minimatch@^3.0.4: +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -3678,6 +3891,11 @@ minimist@^1.1.3, minimist@^1.2.0: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + minimist@~0.0.1: version "0.0.10" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" @@ -3736,6 +3954,31 @@ mkdirp@*, mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1: dependencies: minimist "0.0.8" +mkdirp@0.5.x: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mocha@^3.5.0: + version "3.5.3" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.5.3.tgz#1e0480fe36d2da5858d1eb6acc38418b26eaa20d" + integrity sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg== + dependencies: + browser-stdout "1.3.0" + commander "2.9.0" + debug "2.6.8" + diff "3.2.0" + escape-string-regexp "1.0.5" + glob "7.1.1" + growl "1.9.2" + he "1.1.1" + json3 "3.3.2" + lodash.create "3.1.1" + mkdirp "0.5.1" + supports-color "3.1.2" + mocha@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" @@ -3914,6 +4157,13 @@ node-gyp@^5.0.2: tar "^4.4.12" which "^1.3.1" +nopt@3.x: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= + dependencies: + abbrev "1" + nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -4078,7 +4328,7 @@ octokit-pagination-methods@^1.1.0: resolved "https://registry.yarnpkg.com/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4" integrity sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ== -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@1.x, once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -4107,7 +4357,7 @@ optimist@^0.6.1: minimist "~0.0.1" wordwrap "~0.0.2" -optionator@^0.8.3: +optionator@^0.8.1, optionator@^0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== @@ -4514,6 +4764,11 @@ psl@^1.1.24: resolved "https://registry.yarnpkg.com/psl/-/psl-1.6.0.tgz#60557582ee23b6c43719d9890fb4170ecd91e110" integrity sha512-SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA== +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + pump@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" @@ -4544,7 +4799,7 @@ punycode@^1.4.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= -punycode@^2.1.0: +punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== @@ -4749,6 +5004,32 @@ request@^2.88.0: tunnel-agent "^0.6.0" uuid "^3.3.2" +request@^2.88.2: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -4781,6 +5062,11 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= +resolve@1.1.x: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + resolve@^1.10.0, resolve@^1.10.1: version "1.14.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.14.0.tgz#6d14c6f9db9f8002071332b600039abf82053f64" @@ -5036,6 +5322,13 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + integrity sha1-2rc/vPwrqBm03gO9b26qSBZLP50= + dependencies: + amdefine ">=0.0.4" + spdx-correct@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" @@ -5288,6 +5581,13 @@ strong-log-transformer@^2.0.0: minimist "^1.2.0" through "^2.3.4" +supports-color@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" + integrity sha1-cqJiiU2dQIuVbKBf83su2KbiotU= + dependencies: + has-flag "^1.0.0" + supports-color@5.4.0: version "5.4.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" @@ -5302,6 +5602,13 @@ supports-color@6.0.0: dependencies: has-flag "^3.0.0" +supports-color@^3.1.0: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= + dependencies: + has-flag "^1.0.0" + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -5443,6 +5750,14 @@ tough-cookie@~2.4.3: psl "^1.1.24" punycode "^1.4.1" +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + tr46@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" @@ -5702,7 +6017,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@1.3.1, which@^1.2.9, which@^1.3.1: +which@1.3.1, which@^1.1.1, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -5728,6 +6043,11 @@ word-wrap@~1.2.3: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"