From daa15dd33789a0e9cd9ea9eae6187c758ebd0632 Mon Sep 17 00:00:00 2001 From: Kelvin Jin Date: Tue, 9 Jan 2018 11:50:56 -0800 Subject: [PATCH 1/6] fix CI failures --- src/index.ts | 2 +- test/test-trace-writer.ts | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/index.ts b/src/index.ts index a64077925..9030d635f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -83,7 +83,7 @@ function initConfig(projectConfig: Config): NormalizedConfig { let envSetConfig: Config = {}; if (process.env.hasOwnProperty('GCLOUD_TRACE_CONFIG')) { envSetConfig = - require(path.resolve(process.env.GCLOUD_TRACE_CONFIG)) as Config; + require(path.resolve(process.env.GCLOUD_TRACE_CONFIG!)) as Config; } // Configuration order of precedence: // 1. Environment Variables diff --git a/test/test-trace-writer.ts b/test/test-trace-writer.ts index 5bb356c53..26d795116 100644 --- a/test/test-trace-writer.ts +++ b/test/test-trace-writer.ts @@ -87,13 +87,16 @@ describe('TraceWriter', function() { }); it('should not attach exception handler with ignore option', function() { + // In Node 9+, this should be 1. + // Otherwise, it should be 0. + const numListenersBeforeTraceWriter = process.listeners('uncaughtException').length; traceWriter.create(fakeLogger, { projectId: '0', onUncaughtException: 'ignore', forceNewAgent_: true } as createTraceWriterOptions); // Mocha attaches 1 exception handler - assert.equal(process.listeners('uncaughtException').length, 1); + assert.equal(process.listeners('uncaughtException').length, numListenersBeforeTraceWriter); }); describe('writeSpan', function() { From c2ea32d6c8950fabedb3319d9dff15e47eae71a5 Mon Sep 17 00:00:00 2001 From: Kelvin Jin Date: Mon, 8 Jan 2018 13:32:02 -0800 Subject: [PATCH 2/6] delete all plugin fixtures --- test/plugins/fixtures/connect3/index.js | 1 - test/plugins/fixtures/connect3/package.json | 8 -------- test/plugins/fixtures/express4/index.js | 1 - test/plugins/fixtures/express4/package.json | 8 -------- test/plugins/fixtures/generic-pool2/index.js | 1 - test/plugins/fixtures/generic-pool2/package.json | 8 -------- test/plugins/fixtures/generic-pool3/index.js | 1 - test/plugins/fixtures/generic-pool3/package.json | 8 -------- test/plugins/fixtures/google-cloud-datastore1/index.js | 1 - .../fixtures/google-cloud-datastore1/package.json | 8 -------- test/plugins/fixtures/google-cloud-speech0.6/index.js | 1 - .../plugins/fixtures/google-cloud-speech0.6/package.json | 8 -------- test/plugins/fixtures/grpc1.6/index.js | 1 - test/plugins/fixtures/grpc1.6/package.json | 8 -------- test/plugins/fixtures/grpc1.8/index.js | 1 - test/plugins/fixtures/grpc1.8/package.json | 8 -------- test/plugins/fixtures/hapi-plugin-mysql3/index.js | 1 - test/plugins/fixtures/hapi-plugin-mysql3/package.json | 8 -------- test/plugins/fixtures/hapi10/index.js | 1 - test/plugins/fixtures/hapi10/package.json | 8 -------- test/plugins/fixtures/hapi11/index.js | 1 - test/plugins/fixtures/hapi11/package.json | 8 -------- test/plugins/fixtures/hapi12/index.js | 1 - test/plugins/fixtures/hapi12/package.json | 8 -------- test/plugins/fixtures/hapi13/index.js | 1 - test/plugins/fixtures/hapi13/package.json | 8 -------- test/plugins/fixtures/hapi14/index.js | 1 - test/plugins/fixtures/hapi14/package.json | 8 -------- test/plugins/fixtures/hapi15/index.js | 1 - test/plugins/fixtures/hapi15/package.json | 8 -------- test/plugins/fixtures/hapi16/index.js | 1 - test/plugins/fixtures/hapi16/package.json | 8 -------- test/plugins/fixtures/hapi8/index.js | 1 - test/plugins/fixtures/hapi8/package.json | 8 -------- test/plugins/fixtures/hapi9/index.js | 1 - test/plugins/fixtures/hapi9/package.json | 8 -------- test/plugins/fixtures/knex0.10/index.js | 1 - test/plugins/fixtures/knex0.10/package.json | 9 --------- test/plugins/fixtures/knex0.11/index.js | 1 - test/plugins/fixtures/knex0.11/package.json | 9 --------- test/plugins/fixtures/knex0.12/index.js | 1 - test/plugins/fixtures/knex0.12/package.json | 9 --------- test/plugins/fixtures/knex0.13/index.js | 1 - test/plugins/fixtures/knex0.13/package.json | 9 --------- test/plugins/fixtures/koa1/index.js | 1 - test/plugins/fixtures/koa1/package.json | 8 -------- test/plugins/fixtures/koa2/index.js | 1 - test/plugins/fixtures/koa2/package.json | 8 -------- test/plugins/fixtures/mongodb-core1/index.js | 1 - test/plugins/fixtures/mongodb-core1/package.json | 8 -------- test/plugins/fixtures/mongodb-core2/index.js | 1 - test/plugins/fixtures/mongodb-core2/package.json | 8 -------- test/plugins/fixtures/mongoose4/index.js | 1 - test/plugins/fixtures/mongoose4/package.json | 8 -------- test/plugins/fixtures/mysql-2/index.js | 1 - test/plugins/fixtures/mysql-2/package.json | 8 -------- test/plugins/fixtures/mysql2-1/index.js | 1 - test/plugins/fixtures/mysql2-1/package.json | 8 -------- test/plugins/fixtures/pg6/index.js | 1 - test/plugins/fixtures/pg6/package.json | 8 -------- test/plugins/fixtures/redis0.12/index.js | 1 - test/plugins/fixtures/redis0.12/package.json | 8 -------- test/plugins/fixtures/redis2.3-hiredis0.4/index.js | 1 - test/plugins/fixtures/redis2.3-hiredis0.4/package.json | 9 --------- test/plugins/fixtures/redis2.3-hiredis0.5/index.js | 1 - test/plugins/fixtures/redis2.3-hiredis0.5/package.json | 9 --------- test/plugins/fixtures/redis2.3/index.js | 1 - test/plugins/fixtures/redis2.3/package.json | 8 -------- test/plugins/fixtures/redis2.4/index.js | 1 - test/plugins/fixtures/redis2.4/package.json | 8 -------- test/plugins/fixtures/redis2.x/index.js | 1 - test/plugins/fixtures/redis2.x/package.json | 8 -------- test/plugins/fixtures/restify3/index.js | 1 - test/plugins/fixtures/restify3/package.json | 8 -------- test/plugins/fixtures/restify4/index.js | 1 - test/plugins/fixtures/restify4/package.json | 8 -------- test/plugins/fixtures/restify5/index.js | 1 - test/plugins/fixtures/restify5/package.json | 8 -------- test/plugins/fixtures/restify6/index.js | 1 - test/plugins/fixtures/restify6/package.json | 8 -------- 80 files changed, 366 deletions(-) delete mode 100644 test/plugins/fixtures/connect3/index.js delete mode 100644 test/plugins/fixtures/connect3/package.json delete mode 100644 test/plugins/fixtures/express4/index.js delete mode 100644 test/plugins/fixtures/express4/package.json delete mode 100644 test/plugins/fixtures/generic-pool2/index.js delete mode 100644 test/plugins/fixtures/generic-pool2/package.json delete mode 100644 test/plugins/fixtures/generic-pool3/index.js delete mode 100644 test/plugins/fixtures/generic-pool3/package.json delete mode 100644 test/plugins/fixtures/google-cloud-datastore1/index.js delete mode 100644 test/plugins/fixtures/google-cloud-datastore1/package.json delete mode 100644 test/plugins/fixtures/google-cloud-speech0.6/index.js delete mode 100644 test/plugins/fixtures/google-cloud-speech0.6/package.json delete mode 100644 test/plugins/fixtures/grpc1.6/index.js delete mode 100644 test/plugins/fixtures/grpc1.6/package.json delete mode 100644 test/plugins/fixtures/grpc1.8/index.js delete mode 100644 test/plugins/fixtures/grpc1.8/package.json delete mode 100644 test/plugins/fixtures/hapi-plugin-mysql3/index.js delete mode 100644 test/plugins/fixtures/hapi-plugin-mysql3/package.json delete mode 100644 test/plugins/fixtures/hapi10/index.js delete mode 100644 test/plugins/fixtures/hapi10/package.json delete mode 100644 test/plugins/fixtures/hapi11/index.js delete mode 100644 test/plugins/fixtures/hapi11/package.json delete mode 100644 test/plugins/fixtures/hapi12/index.js delete mode 100644 test/plugins/fixtures/hapi12/package.json delete mode 100644 test/plugins/fixtures/hapi13/index.js delete mode 100644 test/plugins/fixtures/hapi13/package.json delete mode 100644 test/plugins/fixtures/hapi14/index.js delete mode 100644 test/plugins/fixtures/hapi14/package.json delete mode 100644 test/plugins/fixtures/hapi15/index.js delete mode 100644 test/plugins/fixtures/hapi15/package.json delete mode 100644 test/plugins/fixtures/hapi16/index.js delete mode 100644 test/plugins/fixtures/hapi16/package.json delete mode 100644 test/plugins/fixtures/hapi8/index.js delete mode 100644 test/plugins/fixtures/hapi8/package.json delete mode 100644 test/plugins/fixtures/hapi9/index.js delete mode 100644 test/plugins/fixtures/hapi9/package.json delete mode 100644 test/plugins/fixtures/knex0.10/index.js delete mode 100644 test/plugins/fixtures/knex0.10/package.json delete mode 100644 test/plugins/fixtures/knex0.11/index.js delete mode 100644 test/plugins/fixtures/knex0.11/package.json delete mode 100644 test/plugins/fixtures/knex0.12/index.js delete mode 100644 test/plugins/fixtures/knex0.12/package.json delete mode 100644 test/plugins/fixtures/knex0.13/index.js delete mode 100644 test/plugins/fixtures/knex0.13/package.json delete mode 100644 test/plugins/fixtures/koa1/index.js delete mode 100644 test/plugins/fixtures/koa1/package.json delete mode 100644 test/plugins/fixtures/koa2/index.js delete mode 100644 test/plugins/fixtures/koa2/package.json delete mode 100644 test/plugins/fixtures/mongodb-core1/index.js delete mode 100644 test/plugins/fixtures/mongodb-core1/package.json delete mode 100644 test/plugins/fixtures/mongodb-core2/index.js delete mode 100644 test/plugins/fixtures/mongodb-core2/package.json delete mode 100644 test/plugins/fixtures/mongoose4/index.js delete mode 100644 test/plugins/fixtures/mongoose4/package.json delete mode 100644 test/plugins/fixtures/mysql-2/index.js delete mode 100644 test/plugins/fixtures/mysql-2/package.json delete mode 100644 test/plugins/fixtures/mysql2-1/index.js delete mode 100644 test/plugins/fixtures/mysql2-1/package.json delete mode 100644 test/plugins/fixtures/pg6/index.js delete mode 100644 test/plugins/fixtures/pg6/package.json delete mode 100644 test/plugins/fixtures/redis0.12/index.js delete mode 100644 test/plugins/fixtures/redis0.12/package.json delete mode 100644 test/plugins/fixtures/redis2.3-hiredis0.4/index.js delete mode 100644 test/plugins/fixtures/redis2.3-hiredis0.4/package.json delete mode 100644 test/plugins/fixtures/redis2.3-hiredis0.5/index.js delete mode 100644 test/plugins/fixtures/redis2.3-hiredis0.5/package.json delete mode 100644 test/plugins/fixtures/redis2.3/index.js delete mode 100644 test/plugins/fixtures/redis2.3/package.json delete mode 100644 test/plugins/fixtures/redis2.4/index.js delete mode 100644 test/plugins/fixtures/redis2.4/package.json delete mode 100644 test/plugins/fixtures/redis2.x/index.js delete mode 100644 test/plugins/fixtures/redis2.x/package.json delete mode 100644 test/plugins/fixtures/restify3/index.js delete mode 100644 test/plugins/fixtures/restify3/package.json delete mode 100644 test/plugins/fixtures/restify4/index.js delete mode 100644 test/plugins/fixtures/restify4/package.json delete mode 100644 test/plugins/fixtures/restify5/index.js delete mode 100644 test/plugins/fixtures/restify5/package.json delete mode 100644 test/plugins/fixtures/restify6/index.js delete mode 100644 test/plugins/fixtures/restify6/package.json diff --git a/test/plugins/fixtures/connect3/index.js b/test/plugins/fixtures/connect3/index.js deleted file mode 100644 index ba22b2ae5..000000000 --- a/test/plugins/fixtures/connect3/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('connect'); diff --git a/test/plugins/fixtures/connect3/package.json b/test/plugins/fixtures/connect3/package.json deleted file mode 100644 index 464617c66..000000000 --- a/test/plugins/fixtures/connect3/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "connect3", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "connect": "^3.5.0" - } -} diff --git a/test/plugins/fixtures/express4/index.js b/test/plugins/fixtures/express4/index.js deleted file mode 100644 index ec32af7cc..000000000 --- a/test/plugins/fixtures/express4/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('express'); diff --git a/test/plugins/fixtures/express4/package.json b/test/plugins/fixtures/express4/package.json deleted file mode 100644 index 668e8437c..000000000 --- a/test/plugins/fixtures/express4/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "express4", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "express": "^4.13.3" - } -} diff --git a/test/plugins/fixtures/generic-pool2/index.js b/test/plugins/fixtures/generic-pool2/index.js deleted file mode 100644 index daed67482..000000000 --- a/test/plugins/fixtures/generic-pool2/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('generic-pool'); diff --git a/test/plugins/fixtures/generic-pool2/package.json b/test/plugins/fixtures/generic-pool2/package.json deleted file mode 100644 index ca0de08fa..000000000 --- a/test/plugins/fixtures/generic-pool2/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "generic-pool2", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "generic-pool": "^2.0.0" - } -} diff --git a/test/plugins/fixtures/generic-pool3/index.js b/test/plugins/fixtures/generic-pool3/index.js deleted file mode 100644 index daed67482..000000000 --- a/test/plugins/fixtures/generic-pool3/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('generic-pool'); diff --git a/test/plugins/fixtures/generic-pool3/package.json b/test/plugins/fixtures/generic-pool3/package.json deleted file mode 100644 index 6fcce73b2..000000000 --- a/test/plugins/fixtures/generic-pool3/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "generic-pool3", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "generic-pool": "^3.0.0" - } -} diff --git a/test/plugins/fixtures/google-cloud-datastore1/index.js b/test/plugins/fixtures/google-cloud-datastore1/index.js deleted file mode 100644 index 9581939dc..000000000 --- a/test/plugins/fixtures/google-cloud-datastore1/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('@google-cloud/datastore'); diff --git a/test/plugins/fixtures/google-cloud-datastore1/package.json b/test/plugins/fixtures/google-cloud-datastore1/package.json deleted file mode 100644 index ab63eca5f..000000000 --- a/test/plugins/fixtures/google-cloud-datastore1/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "google-cloud-datastore1", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "@google-cloud/datastore": "^1.0.2" - } -} diff --git a/test/plugins/fixtures/google-cloud-speech0.6/index.js b/test/plugins/fixtures/google-cloud-speech0.6/index.js deleted file mode 100644 index 2d9492ef4..000000000 --- a/test/plugins/fixtures/google-cloud-speech0.6/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('@google-cloud/speech'); diff --git a/test/plugins/fixtures/google-cloud-speech0.6/package.json b/test/plugins/fixtures/google-cloud-speech0.6/package.json deleted file mode 100644 index 1252a60c2..000000000 --- a/test/plugins/fixtures/google-cloud-speech0.6/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "google-cloud-speech0.6", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "@google-cloud/speech": "^0.6.0" - } -} diff --git a/test/plugins/fixtures/grpc1.6/index.js b/test/plugins/fixtures/grpc1.6/index.js deleted file mode 100644 index 7681d2776..000000000 --- a/test/plugins/fixtures/grpc1.6/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('grpc'); diff --git a/test/plugins/fixtures/grpc1.6/package.json b/test/plugins/fixtures/grpc1.6/package.json deleted file mode 100644 index 310a9835b..000000000 --- a/test/plugins/fixtures/grpc1.6/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "grpc1.6", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "grpc": "~1.6.0" - } -} diff --git a/test/plugins/fixtures/grpc1.8/index.js b/test/plugins/fixtures/grpc1.8/index.js deleted file mode 100644 index 7681d2776..000000000 --- a/test/plugins/fixtures/grpc1.8/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('grpc'); diff --git a/test/plugins/fixtures/grpc1.8/package.json b/test/plugins/fixtures/grpc1.8/package.json deleted file mode 100644 index 060423416..000000000 --- a/test/plugins/fixtures/grpc1.8/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "grpc1.8", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "grpc": "~1.8.0" - } -} diff --git a/test/plugins/fixtures/hapi-plugin-mysql3/index.js b/test/plugins/fixtures/hapi-plugin-mysql3/index.js deleted file mode 100644 index 5f1c0e876..000000000 --- a/test/plugins/fixtures/hapi-plugin-mysql3/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('hapi-plugin-mysql'); diff --git a/test/plugins/fixtures/hapi-plugin-mysql3/package.json b/test/plugins/fixtures/hapi-plugin-mysql3/package.json deleted file mode 100644 index 17f498e95..000000000 --- a/test/plugins/fixtures/hapi-plugin-mysql3/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "hapi-plugin-mysql3", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "hapi-plugin-mysql": "^3.1.3" - } -} diff --git a/test/plugins/fixtures/hapi10/index.js b/test/plugins/fixtures/hapi10/index.js deleted file mode 100644 index cb05a97e8..000000000 --- a/test/plugins/fixtures/hapi10/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('hapi'); diff --git a/test/plugins/fixtures/hapi10/package.json b/test/plugins/fixtures/hapi10/package.json deleted file mode 100644 index 3f22e05b0..000000000 --- a/test/plugins/fixtures/hapi10/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "hapi10", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "hapi": "^10.5.0" - } -} diff --git a/test/plugins/fixtures/hapi11/index.js b/test/plugins/fixtures/hapi11/index.js deleted file mode 100644 index cb05a97e8..000000000 --- a/test/plugins/fixtures/hapi11/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('hapi'); diff --git a/test/plugins/fixtures/hapi11/package.json b/test/plugins/fixtures/hapi11/package.json deleted file mode 100644 index a811ccb63..000000000 --- a/test/plugins/fixtures/hapi11/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "hapi11", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "hapi": "^11.1.4" - } -} diff --git a/test/plugins/fixtures/hapi12/index.js b/test/plugins/fixtures/hapi12/index.js deleted file mode 100644 index cb05a97e8..000000000 --- a/test/plugins/fixtures/hapi12/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('hapi'); diff --git a/test/plugins/fixtures/hapi12/package.json b/test/plugins/fixtures/hapi12/package.json deleted file mode 100644 index 85cd93ac6..000000000 --- a/test/plugins/fixtures/hapi12/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "hapi12", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "hapi": "^12.1.0" - } -} diff --git a/test/plugins/fixtures/hapi13/index.js b/test/plugins/fixtures/hapi13/index.js deleted file mode 100644 index cb05a97e8..000000000 --- a/test/plugins/fixtures/hapi13/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('hapi'); diff --git a/test/plugins/fixtures/hapi13/package.json b/test/plugins/fixtures/hapi13/package.json deleted file mode 100644 index 0f801c2b2..000000000 --- a/test/plugins/fixtures/hapi13/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "hapi13", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "hapi": "^13.2.1" - } -} diff --git a/test/plugins/fixtures/hapi14/index.js b/test/plugins/fixtures/hapi14/index.js deleted file mode 100644 index cb05a97e8..000000000 --- a/test/plugins/fixtures/hapi14/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('hapi'); diff --git a/test/plugins/fixtures/hapi14/package.json b/test/plugins/fixtures/hapi14/package.json deleted file mode 100644 index 3f426c872..000000000 --- a/test/plugins/fixtures/hapi14/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "hapi14", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "hapi": "^14.0.0" - } -} diff --git a/test/plugins/fixtures/hapi15/index.js b/test/plugins/fixtures/hapi15/index.js deleted file mode 100644 index cb05a97e8..000000000 --- a/test/plugins/fixtures/hapi15/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('hapi'); diff --git a/test/plugins/fixtures/hapi15/package.json b/test/plugins/fixtures/hapi15/package.json deleted file mode 100644 index a05500491..000000000 --- a/test/plugins/fixtures/hapi15/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "hapi15", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "hapi": "^15.0.0" - } -} diff --git a/test/plugins/fixtures/hapi16/index.js b/test/plugins/fixtures/hapi16/index.js deleted file mode 100644 index cb05a97e8..000000000 --- a/test/plugins/fixtures/hapi16/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('hapi'); diff --git a/test/plugins/fixtures/hapi16/package.json b/test/plugins/fixtures/hapi16/package.json deleted file mode 100644 index a6353cbcf..000000000 --- a/test/plugins/fixtures/hapi16/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "hapi16", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "hapi": "^16.0.0" - } -} diff --git a/test/plugins/fixtures/hapi8/index.js b/test/plugins/fixtures/hapi8/index.js deleted file mode 100644 index cb05a97e8..000000000 --- a/test/plugins/fixtures/hapi8/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('hapi'); diff --git a/test/plugins/fixtures/hapi8/package.json b/test/plugins/fixtures/hapi8/package.json deleted file mode 100644 index 33f74787f..000000000 --- a/test/plugins/fixtures/hapi8/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "hapi8", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "hapi": "^8.8.1" - } -} diff --git a/test/plugins/fixtures/hapi9/index.js b/test/plugins/fixtures/hapi9/index.js deleted file mode 100644 index cb05a97e8..000000000 --- a/test/plugins/fixtures/hapi9/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('hapi'); diff --git a/test/plugins/fixtures/hapi9/package.json b/test/plugins/fixtures/hapi9/package.json deleted file mode 100644 index cdd599bc4..000000000 --- a/test/plugins/fixtures/hapi9/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "hapi9", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "hapi": "^9.5.1" - } -} diff --git a/test/plugins/fixtures/knex0.10/index.js b/test/plugins/fixtures/knex0.10/index.js deleted file mode 100644 index 93babbfa3..000000000 --- a/test/plugins/fixtures/knex0.10/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('knex'); diff --git a/test/plugins/fixtures/knex0.10/package.json b/test/plugins/fixtures/knex0.10/package.json deleted file mode 100644 index 9f9535313..000000000 --- a/test/plugins/fixtures/knex0.10/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "knex0.10", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "knex": "^0.10.0", - "mysql": "^2.13.0" - } -} diff --git a/test/plugins/fixtures/knex0.11/index.js b/test/plugins/fixtures/knex0.11/index.js deleted file mode 100644 index 93babbfa3..000000000 --- a/test/plugins/fixtures/knex0.11/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('knex'); diff --git a/test/plugins/fixtures/knex0.11/package.json b/test/plugins/fixtures/knex0.11/package.json deleted file mode 100644 index b42259f95..000000000 --- a/test/plugins/fixtures/knex0.11/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "knex0.11", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "knex": "^0.11.0", - "mysql": "^2.13.0" - } -} diff --git a/test/plugins/fixtures/knex0.12/index.js b/test/plugins/fixtures/knex0.12/index.js deleted file mode 100644 index 93babbfa3..000000000 --- a/test/plugins/fixtures/knex0.12/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('knex'); diff --git a/test/plugins/fixtures/knex0.12/package.json b/test/plugins/fixtures/knex0.12/package.json deleted file mode 100644 index ee35de156..000000000 --- a/test/plugins/fixtures/knex0.12/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "knex0.12", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "knex": "^0.12.9", - "mysql": "^2.13.0" - } -} diff --git a/test/plugins/fixtures/knex0.13/index.js b/test/plugins/fixtures/knex0.13/index.js deleted file mode 100644 index 93babbfa3..000000000 --- a/test/plugins/fixtures/knex0.13/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('knex'); diff --git a/test/plugins/fixtures/knex0.13/package.json b/test/plugins/fixtures/knex0.13/package.json deleted file mode 100644 index 4627d2551..000000000 --- a/test/plugins/fixtures/knex0.13/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "knex0.13", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "knex": "^0.13.0", - "mysql": "^2.13.0" - } -} diff --git a/test/plugins/fixtures/koa1/index.js b/test/plugins/fixtures/koa1/index.js deleted file mode 100644 index e6b48c9cb..000000000 --- a/test/plugins/fixtures/koa1/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('koa'); diff --git a/test/plugins/fixtures/koa1/package.json b/test/plugins/fixtures/koa1/package.json deleted file mode 100644 index b445d5192..000000000 --- a/test/plugins/fixtures/koa1/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "koa1", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "koa": "^1.1.2" - } -} diff --git a/test/plugins/fixtures/koa2/index.js b/test/plugins/fixtures/koa2/index.js deleted file mode 100644 index e6b48c9cb..000000000 --- a/test/plugins/fixtures/koa2/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('koa'); diff --git a/test/plugins/fixtures/koa2/package.json b/test/plugins/fixtures/koa2/package.json deleted file mode 100644 index 618002731..000000000 --- a/test/plugins/fixtures/koa2/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "koa1", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "koa": "^2.2.0" - } -} diff --git a/test/plugins/fixtures/mongodb-core1/index.js b/test/plugins/fixtures/mongodb-core1/index.js deleted file mode 100644 index 63a077266..000000000 --- a/test/plugins/fixtures/mongodb-core1/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('mongodb-core'); diff --git a/test/plugins/fixtures/mongodb-core1/package.json b/test/plugins/fixtures/mongodb-core1/package.json deleted file mode 100644 index 2c0777da6..000000000 --- a/test/plugins/fixtures/mongodb-core1/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "mongodb-core1", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "mongodb-core": "^1.2.14" - } -} diff --git a/test/plugins/fixtures/mongodb-core2/index.js b/test/plugins/fixtures/mongodb-core2/index.js deleted file mode 100644 index 63a077266..000000000 --- a/test/plugins/fixtures/mongodb-core2/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('mongodb-core'); diff --git a/test/plugins/fixtures/mongodb-core2/package.json b/test/plugins/fixtures/mongodb-core2/package.json deleted file mode 100644 index 6874be575..000000000 --- a/test/plugins/fixtures/mongodb-core2/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "mongodb-core2", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "mongodb-core": "^2.0.4" - } -} diff --git a/test/plugins/fixtures/mongoose4/index.js b/test/plugins/fixtures/mongoose4/index.js deleted file mode 100644 index f38243ea6..000000000 --- a/test/plugins/fixtures/mongoose4/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('mongoose'); diff --git a/test/plugins/fixtures/mongoose4/package.json b/test/plugins/fixtures/mongoose4/package.json deleted file mode 100644 index 1aa043c8d..000000000 --- a/test/plugins/fixtures/mongoose4/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "mongoose4", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "mongoose": "^4.1.9" - } -} diff --git a/test/plugins/fixtures/mysql-2/index.js b/test/plugins/fixtures/mysql-2/index.js deleted file mode 100644 index 437993389..000000000 --- a/test/plugins/fixtures/mysql-2/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('mysql'); diff --git a/test/plugins/fixtures/mysql-2/package.json b/test/plugins/fixtures/mysql-2/package.json deleted file mode 100644 index 454e28db2..000000000 --- a/test/plugins/fixtures/mysql-2/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "mysql-2", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "mysql": "^2.9.0" - } -} diff --git a/test/plugins/fixtures/mysql2-1/index.js b/test/plugins/fixtures/mysql2-1/index.js deleted file mode 100644 index 586ca2281..000000000 --- a/test/plugins/fixtures/mysql2-1/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('mysql2'); diff --git a/test/plugins/fixtures/mysql2-1/package.json b/test/plugins/fixtures/mysql2-1/package.json deleted file mode 100644 index 1b9cee1c0..000000000 --- a/test/plugins/fixtures/mysql2-1/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "mysql2-1", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "mysql2": "^1.5.1" - } -} diff --git a/test/plugins/fixtures/pg6/index.js b/test/plugins/fixtures/pg6/index.js deleted file mode 100644 index 21d202f53..000000000 --- a/test/plugins/fixtures/pg6/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('pg'); diff --git a/test/plugins/fixtures/pg6/package.json b/test/plugins/fixtures/pg6/package.json deleted file mode 100644 index 02c20d44b..000000000 --- a/test/plugins/fixtures/pg6/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "pg6", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "pg": "^6.1.2" - } -} diff --git a/test/plugins/fixtures/redis0.12/index.js b/test/plugins/fixtures/redis0.12/index.js deleted file mode 100644 index 24b909cb7..000000000 --- a/test/plugins/fixtures/redis0.12/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('redis'); diff --git a/test/plugins/fixtures/redis0.12/package.json b/test/plugins/fixtures/redis0.12/package.json deleted file mode 100644 index 09a35f9a5..000000000 --- a/test/plugins/fixtures/redis0.12/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "redis0.12", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "redis": "^0.12.1" - } -} diff --git a/test/plugins/fixtures/redis2.3-hiredis0.4/index.js b/test/plugins/fixtures/redis2.3-hiredis0.4/index.js deleted file mode 100644 index 24b909cb7..000000000 --- a/test/plugins/fixtures/redis2.3-hiredis0.4/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('redis'); diff --git a/test/plugins/fixtures/redis2.3-hiredis0.4/package.json b/test/plugins/fixtures/redis2.3-hiredis0.4/package.json deleted file mode 100644 index 6d365cca5..000000000 --- a/test/plugins/fixtures/redis2.3-hiredis0.4/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "redis2.3-hiredis0.4", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "hiredis": "^0.4.1", - "redis": "~2.3.x" - } -} diff --git a/test/plugins/fixtures/redis2.3-hiredis0.5/index.js b/test/plugins/fixtures/redis2.3-hiredis0.5/index.js deleted file mode 100644 index 24b909cb7..000000000 --- a/test/plugins/fixtures/redis2.3-hiredis0.5/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('redis'); diff --git a/test/plugins/fixtures/redis2.3-hiredis0.5/package.json b/test/plugins/fixtures/redis2.3-hiredis0.5/package.json deleted file mode 100644 index 39b72f7f7..000000000 --- a/test/plugins/fixtures/redis2.3-hiredis0.5/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "redis2.3-hiredis0.5", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "hiredis": "^0.5.0", - "redis": "~2.3.x" - } -} diff --git a/test/plugins/fixtures/redis2.3/index.js b/test/plugins/fixtures/redis2.3/index.js deleted file mode 100644 index 24b909cb7..000000000 --- a/test/plugins/fixtures/redis2.3/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('redis'); diff --git a/test/plugins/fixtures/redis2.3/package.json b/test/plugins/fixtures/redis2.3/package.json deleted file mode 100644 index aabea2f7e..000000000 --- a/test/plugins/fixtures/redis2.3/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "redis2", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "redis": "~2.3.x" - } -} diff --git a/test/plugins/fixtures/redis2.4/index.js b/test/plugins/fixtures/redis2.4/index.js deleted file mode 100644 index 24b909cb7..000000000 --- a/test/plugins/fixtures/redis2.4/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('redis'); diff --git a/test/plugins/fixtures/redis2.4/package.json b/test/plugins/fixtures/redis2.4/package.json deleted file mode 100644 index 9240f6c7e..000000000 --- a/test/plugins/fixtures/redis2.4/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "redis2.4", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "redis": "2.4.x" - } -} diff --git a/test/plugins/fixtures/redis2.x/index.js b/test/plugins/fixtures/redis2.x/index.js deleted file mode 100644 index 24b909cb7..000000000 --- a/test/plugins/fixtures/redis2.x/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('redis'); diff --git a/test/plugins/fixtures/redis2.x/package.json b/test/plugins/fixtures/redis2.x/package.json deleted file mode 100644 index 8a7b8f0a0..000000000 --- a/test/plugins/fixtures/redis2.x/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "redis2", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "redis": "^2.x" - } -} diff --git a/test/plugins/fixtures/restify3/index.js b/test/plugins/fixtures/restify3/index.js deleted file mode 100644 index d03a8a031..000000000 --- a/test/plugins/fixtures/restify3/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('restify'); diff --git a/test/plugins/fixtures/restify3/package.json b/test/plugins/fixtures/restify3/package.json deleted file mode 100644 index 58be096d5..000000000 --- a/test/plugins/fixtures/restify3/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "restify3", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "restify": "^3.0.3" - } -} diff --git a/test/plugins/fixtures/restify4/index.js b/test/plugins/fixtures/restify4/index.js deleted file mode 100644 index d03a8a031..000000000 --- a/test/plugins/fixtures/restify4/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('restify'); diff --git a/test/plugins/fixtures/restify4/package.json b/test/plugins/fixtures/restify4/package.json deleted file mode 100644 index d4f57627a..000000000 --- a/test/plugins/fixtures/restify4/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "restify4", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "restify": "^4.0.3" - } -} diff --git a/test/plugins/fixtures/restify5/index.js b/test/plugins/fixtures/restify5/index.js deleted file mode 100644 index d03a8a031..000000000 --- a/test/plugins/fixtures/restify5/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('restify'); diff --git a/test/plugins/fixtures/restify5/package.json b/test/plugins/fixtures/restify5/package.json deleted file mode 100644 index b3f10e7a3..000000000 --- a/test/plugins/fixtures/restify5/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "restify5", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "restify": "^5.2.0" - } -} diff --git a/test/plugins/fixtures/restify6/index.js b/test/plugins/fixtures/restify6/index.js deleted file mode 100644 index d03a8a031..000000000 --- a/test/plugins/fixtures/restify6/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('restify'); diff --git a/test/plugins/fixtures/restify6/package.json b/test/plugins/fixtures/restify6/package.json deleted file mode 100644 index a7ce59634..000000000 --- a/test/plugins/fixtures/restify6/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "restify6", - "version": "1.0.0", - "main": "index.js", - "dependencies": { - "restify": "^6.0.1" - } -} From c66bfc37618702de4ee08072b1163ad950e7f55c Mon Sep 17 00:00:00 2001 From: Kelvin Jin Date: Tue, 9 Jan 2018 11:53:09 -0800 Subject: [PATCH 3/6] modify scripts --- package.json | 13 +- scripts/check-install.ts | 2 +- scripts/credentials.ts | 53 ++++++ scripts/decrypt-service-account-key.ts | 34 ---- scripts/index.ts | 39 +++-- scripts/init-test-fixtures.ts | 27 ++-- scripts/report-coverage.ts | 14 +- scripts/run-tests.ts | 2 +- scripts/test-non-interference.ts | 2 +- scripts/utils.ts | 4 +- test/fixtures/plugin-fixtures.json | 214 +++++++++++++++++++++++++ 11 files changed, 329 insertions(+), 75 deletions(-) create mode 100644 scripts/credentials.ts delete mode 100644 scripts/decrypt-service-account-key.ts create mode 100644 test/fixtures/plugin-fixtures.json diff --git a/package.json b/package.json index be372d0c7..11e38a46e 100644 --- a/package.json +++ b/package.json @@ -6,13 +6,14 @@ "types": "build/src/index.d.ts", "repository": "GoogleCloudPlatform/cloud-trace-nodejs", "scripts": { - "test": "npm run script npm-check npm-compile init-test-fixtures run-unit-tests", + "init-test-fixtures": "npm run script init-test-fixtures", + "test": "npm run script run-unit-tests", "posttest": "npm run license-check", - "non-interference": "npm run script npm-compile test-non-interference", - "system-test": "npm run script npm-compile decrypt-service-account-key run-system-tests", + "non-interference": "npm run script test-non-interference", + "system-test": "npm run script decrypt-service-account-credentials run-system-tests", "changelog": "./bin/run-changelog.sh", - "check-install": "npm run script npm-compile check-install", - "coverage": "npm run script npm-check npm-compile init-test-fixtures run-unit-tests-with-coverage report-coverage", + "check-install": "npm run script check-install", + "coverage": "npm run script run-unit-tests-with-coverage report-coverage", "bump": "./bin/run-bump.sh", "check": "gts check", "clean": "gts clean", @@ -64,7 +65,7 @@ "@types/tmp": "0.0.33", "@types/uuid": "^3.4.3", "changelog-maker": "^2.2.2", - "coveralls": "^3.0.0", + "codecov": "^3.0.0", "express": "^4.15.2", "glob": "^7.0.3", "google-auto-auth": "^0.9.0", diff --git a/scripts/check-install.ts b/scripts/check-install.ts index e403a5b37..c3dc13920 100644 --- a/scripts/check-install.ts +++ b/scripts/check-install.ts @@ -6,7 +6,7 @@ import { globP, ncpP, spawnP, tmpDirP } from './utils'; * 1. In a temporary directory, installs from the `npm pack` of this directory * 2. Compiles a top-level file in that directory that imports this module */ -export default async function() { +export async function checkInstall() { // This script assumes that you don't already have a TGZ file // in your current working directory. const installDir = await tmpDirP(); diff --git a/scripts/credentials.ts b/scripts/credentials.ts new file mode 100644 index 000000000..3bf597ef3 --- /dev/null +++ b/scripts/credentials.ts @@ -0,0 +1,53 @@ +import { createCipheriv, createDecipheriv, randomBytes } from 'crypto'; +import { createReadStream, createWriteStream } from 'fs'; + +export interface KeyAndIV { + key: string; + iv: string; +} + +export async function encryptCredentials(filename: string): Promise { + const key = randomBytes(32).toString('hex'); + const iv = randomBytes(16).toString('hex'); + + const decipher = createCipheriv( + 'aes-256-cbc', + Buffer.from(key, 'hex'), + Buffer.from(iv, 'hex') + ); + + const readStream = createReadStream(filename); + const writeStream = createWriteStream(`${filename}.enc`); + + await new Promise((resolve, reject) => { + readStream + .on('error', reject) + .pipe(decipher) + .on('error', reject) + .pipe(writeStream) + .on('error', reject) + .on('finish', resolve); + }); + return { key, iv }; +} + +export async function decryptCredentials({ key, iv }: KeyAndIV, filename: string) { + const decipher = createDecipheriv( + 'aes-256-cbc', + Buffer.from(key, 'hex'), + Buffer.from(iv, 'hex') + ); + + const readStream = createReadStream(`${filename}.enc`); + const writeStream = createWriteStream(filename); + + await new Promise((resolve, reject) => { + readStream + .on('error', reject) + .pipe(decipher) + .on('error', reject) + .pipe(writeStream) + .on('error', reject) + .on('finish', resolve); + }); +} diff --git a/scripts/decrypt-service-account-key.ts b/scripts/decrypt-service-account-key.ts deleted file mode 100644 index 33677ee78..000000000 --- a/scripts/decrypt-service-account-key.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { createDecipheriv } from 'crypto'; -import { createReadStream, createWriteStream } from 'fs'; - -export default function() { - const { - encrypted_18363a01ae87_key: key, - encrypted_18363a01ae87_iv: iv, - } = process.env; - - if (!key || !iv) { - throw new Error('Environment insufficient for decrypting service account key'); - } - - const filename = 'node-team-test-d0b0be11c23d.json'; - - const decipher = createDecipheriv( - 'aes-256-cbc', - Buffer.from(key, 'hex'), - Buffer.from(iv, 'hex') - ); - - const readStream = createReadStream(`${filename}.enc`); - const writeStream = createWriteStream(filename); - - return new Promise((resolve, reject) => { - readStream - .on('error', reject) - .pipe(decipher) - .on('error', reject) - .pipe(writeStream) - .on('error', reject) - .on('finish', resolve); - }); -} diff --git a/scripts/index.ts b/scripts/index.ts index 5fef90ab5..2d0fe0841 100644 --- a/scripts/index.ts +++ b/scripts/index.ts @@ -1,13 +1,15 @@ const [bin, script, ...steps] = process.argv; -import checkInstall from './check-install'; -import decryptServiceAccountKey from './decrypt-service-account-key'; -import initTestFixtures from './init-test-fixtures'; -import reportCoverage from './report-coverage'; -import runTests from './run-tests'; -import testNonInterference from './test-non-interference'; +import { checkInstall } from './check-install'; +import { encryptCredentials, decryptCredentials } from './credentials'; +import { initTestFixtures } from './init-test-fixtures'; +import { reportCoverage } from './report-coverage'; +import { runTests } from './run-tests'; +import { testNonInterference } from './test-non-interference'; import { BUILD_DIRECTORY, existsP, spawnP } from './utils'; +const keyID = 'de480e4f9023'; + async function run(steps: string[]) { for (const step of steps) { console.log(`> Running step: ${step}`); @@ -26,12 +28,25 @@ async function run(steps: string[]) { case 'check-install': await checkInstall(); break; - case 'decrypt-service-account-key': - if (process.env.TRAVIS_PULL_REQUEST === 'false') { - await decryptServiceAccountKey(); - } else { - console.log('> Not decrypting service account key in PRs'); + case 'encrypt-service-account-credentials': + const keyAndIV = await encryptCredentials(`node-team-test-${keyID}.json`); + console.log([ + `key: ${keyAndIV.key}`, + `iv: ${keyAndIV.iv}` + ].join('\n')); + break; + case 'decrypt-service-account-credentials': + const { + TRACE_SYSTEM_TEST_ENCRYPTED_CREDENTIALS_KEY: key, + TRACE_SYSTEM_TEST_ENCRYPTED_CREDENTIALS_IV: iv, + } = process.env; + + if (!key || !iv) { + console.log('> Environment insufficient to decrypt service account credentials'); + break; } + + await decryptCredentials({ key, iv }, `node-team-test-${keyID}.json`); break; case 'init-test-fixtures': await initTestFixtures(); @@ -59,7 +74,7 @@ async function run(steps: string[]) { }); break; case 'run-system-tests': - if (process.env.TRAVIS_PULL_REQUEST && !(await existsP('node-team-test-d0b0be11c23d.json'))) { + if (process.env.CI_PULL_REQUEST && !(await existsP('node-team-test-d0b0be11c23d.json'))) { console.log('> Not running system tests in PRs'); } else { await runTests({ diff --git a/scripts/init-test-fixtures.ts b/scripts/init-test-fixtures.ts index 320bfd058..e746d22d4 100644 --- a/scripts/init-test-fixtures.ts +++ b/scripts/init-test-fixtures.ts @@ -1,7 +1,7 @@ import * as path from 'path'; -import { BUILD_DIRECTORY, globP, statP, ncpP, spawnP } from './utils'; +import { BUILD_DIRECTORY, globP, statP, ncpP, spawnP, readFileP, writeFileP, mkdirP } from './utils'; -export default async function() { +export async function initTestFixtures() { // Copy fixtures to build directory const fixtureDirectories = await globP('./test/**/fixtures'); await Promise.all(fixtureDirectories.map(async (fixtureDirectory) => { @@ -10,17 +10,25 @@ export default async function() { })); // Run `npm install` for package fixtures - const packageFixtures = await globP('./build/test/plugins/fixtures/*/'); - console.log(`travis_fold:start:npm_install_fixtures`); - for (const packageDirectory of packageFixtures) { - let hasNodeModules = true; + const packageFixtures = JSON.parse(await readFileP('./test/fixtures/plugin-fixtures.json', 'utf8') as string); + for (const packageName in packageFixtures) { + const packageDirectory = `./build/test/plugins/fixtures/${packageName}`; + let fixtureExists = true; try { - await statP(`${packageDirectory}/node_modules`) + await statP(packageDirectory); } catch (e) { - hasNodeModules = false; + fixtureExists = false; } - if (!hasNodeModules) { + if (!fixtureExists) { + await mkdirP(packageDirectory); + await writeFileP(`${packageDirectory}/package.json`, JSON.stringify(Object.assign({ + name: packageName, + version: '1.0.0', + main: 'index.js' + }, packageFixtures[packageName]), null, 2)); + const mainModule = packageFixtures[packageName]._mainModule || Object.keys(packageFixtures[packageName].dependencies)[0]; + await writeFileP(`${packageDirectory}/index.js`, `module.exports = require('${mainModule}');\n`); console.log(`npm install in ${packageDirectory}`); await spawnP('npm', ['install', '--silent'], { cwd: packageDirectory @@ -29,5 +37,4 @@ export default async function() { console.log(`Skipping npm install in ${packageDirectory} since node_modules already exists`); } }; - console.log(`travis_fold:end:npm_install_fixtures`); } diff --git a/scripts/report-coverage.ts b/scripts/report-coverage.ts index 958dce635..26d46d760 100644 --- a/scripts/report-coverage.ts +++ b/scripts/report-coverage.ts @@ -1,14 +1,8 @@ -import { BUILD_DIRECTORY, nodule, readFileP, forkP } from './utils'; +import { BUILD_DIRECTORY, nodule, readFileP, forkP, spawnP } from './utils'; import * as path from 'path'; import * as pify from 'pify'; -const coveralls: { - handleInput: (input: string, cb: (err: Error) => void) => void -} = require('coveralls'); - -const reportToCoverallsP = pify((input: string, cb: (err: Error) => void) => coveralls.handleInput(input, cb)); - -export default async function() { +export async function reportCoverage() { await forkP(nodule('istanbul/lib/cli'), [ 'report', 'lcovonly' @@ -16,5 +10,7 @@ export default async function() { cwd: BUILD_DIRECTORY }); const lcov = await readFileP(`${BUILD_DIRECTORY}/coverage/lcov.info`, 'utf8'); - await reportToCoverallsP(lcov); + await forkP(nodule('.bin/codecov'), [], { + cwd: BUILD_DIRECTORY + }); } diff --git a/scripts/run-tests.ts b/scripts/run-tests.ts index 0c4378e10..3b75c9061 100644 --- a/scripts/run-tests.ts +++ b/scripts/run-tests.ts @@ -8,7 +8,7 @@ export interface Options { timeout?: number } -export default async function(options: Options) { +export async function runTests(options: Options) { const { globs, rootDir, coverage, timeout } = options; function nodule(nodule: string) { return path.relative(rootDir, `node_modules/${nodule}`); diff --git a/scripts/test-non-interference.ts b/scripts/test-non-interference.ts index 0f1e36453..4df90a3f5 100644 --- a/scripts/test-non-interference.ts +++ b/scripts/test-non-interference.ts @@ -1,6 +1,6 @@ import { forkP, globP } from './utils'; -export default async function() { +export async function testNonInterference() { // TODO(kjin): Re-enable non-interference tests when we can be sure their // doesn't get in the way. console.log('Not running non-interference tests.'); diff --git a/scripts/utils.ts b/scripts/utils.ts index ff26eb076..c20defa5e 100644 --- a/scripts/utils.ts +++ b/scripts/utils.ts @@ -1,4 +1,4 @@ -import { Stats, stat, readFile } from 'fs'; +import { Stats, stat, readFile, writeFile, mkdir } from 'fs'; import * as glob from 'glob'; import { ncp } from 'ncp'; import * as path from 'path'; @@ -10,8 +10,10 @@ import * as tmp from 'tmp'; export const BUILD_DIRECTORY = 'build'; export const globP: (pattern: string) => Promise = pify(glob); +export const mkdirP: (dir: string) => Promise = pify(mkdir); export const ncpP: (src: string, dest: string) => Promise = pify(ncp); export const readFileP: (path: string, encoding?: string) => Promise = pify(readFile); +export const writeFileP: (path: string, data: Buffer|string, encoding?: string) => Promise = pify(writeFile); export const statP: (path: string) => Promise = pify(stat); export const tmpDirP: () => Promise = pify(tmp.dir); diff --git a/test/fixtures/plugin-fixtures.json b/test/fixtures/plugin-fixtures.json new file mode 100644 index 000000000..b2e5ee844 --- /dev/null +++ b/test/fixtures/plugin-fixtures.json @@ -0,0 +1,214 @@ +{ + "connect3": { + "dependencies": { + "connect": "^3.5.0" + } + }, + "express4": { + "dependencies": { + "express": "^4.13.3" + } + }, + "generic-pool2": { + "dependencies": { + "generic-pool": "^2.0.0" + } + }, + "generic-pool3": { + "dependencies": { + "generic-pool": "^3.0.0" + } + }, + "google-cloud-datastore1": { + "dependencies": { + "@google-cloud/datastore": "^1.0.2" + } + }, + "google-cloud-speech0.6": { + "dependencies": { + "@google-cloud/speech": "^0.6.0" + } + }, + "grpc1.6": { + "dependencies": { + "grpc": "~1.6.0" + } + }, + "grpc1.8": { + "dependencies": { + "grpc": "~1.8.0" + } + }, + "hapi-plugin-mysql3": { + "dependencies": { + "hapi-plugin-mysql": "^3.1.3" + } + }, + "hapi10": { + "dependencies": { + "hapi": "^10.5.0" + } + }, + "hapi11": { + "dependencies": { + "hapi": "^11.1.4" + } + }, + "hapi12": { + "dependencies": { + "hapi": "^12.1.0" + } + }, + "hapi13": { + "dependencies": { + "hapi": "^13.2.1" + } + }, + "hapi14": { + "dependencies": { + "hapi": "^14.0.0" + } + }, + "hapi15": { + "dependencies": { + "hapi": "^15.0.0" + } + }, + "hapi16": { + "dependencies": { + "hapi": "^16.0.0" + } + }, + "hapi8": { + "dependencies": { + "hapi": "^8.8.1" + } + }, + "hapi9": { + "dependencies": { + "hapi": "^9.5.1" + } + }, + "knex0.10": { + "dependencies": { + "knex": "^0.10.0", + "mysql": "^2.13.0" + }, + "_mainModule": "knex" + }, + "knex0.11": { + "dependencies": { + "knex": "^0.11.0", + "mysql": "^2.13.0" + }, + "_mainModule": "knex" + }, + "knex0.12": { + "dependencies": { + "knex": "^0.12.9", + "mysql": "^2.13.0" + }, + "_mainModule": "knex" + }, + "knex0.13": { + "dependencies": { + "knex": "^0.13.0", + "mysql": "^2.13.0" + }, + "_mainModule": "knex" + }, + "koa1": { + "dependencies": { + "koa": "^1.1.2" + } + }, + "koa2": { + "dependencies": { + "koa": "^2.2.0" + } + }, + "mongodb-core1": { + "dependencies": { + "mongodb-core": "^1.2.14" + } + }, + "mongodb-core2": { + "dependencies": { + "mongodb-core": "^2.0.4" + } + }, + "mongoose4": { + "dependencies": { + "mongoose": "^4.1.9" + } + }, + "mysql-2": { + "dependencies": { + "mysql": "^2.9.0" + } + }, + "mysql2-1": { + "dependencies": { + "mysql2": "^1.5.1" + } + }, + "pg6": { + "dependencies": { + "pg": "^6.1.2" + } + }, + "redis0.12": { + "dependencies": { + "redis": "^0.12.1" + } + }, + "redis2.3-hiredis0.4": { + "dependencies": { + "hiredis": "^0.4.1", + "redis": "~2.3.x" + }, + "_mainModule": "redis" + }, + "redis2.3-hiredis0.5": { + "dependencies": { + "hiredis": "^0.5.0", + "redis": "~2.3.x" + }, + "_mainModule": "redis" + }, + "redis2.3": { + "dependencies": { + "redis": "~2.3.x" + } + }, + "redis2.4": { + "dependencies": { + "redis": "2.4.x" + } + }, + "redis2.x": { + "dependencies": { + "redis": "^2.x" + } + }, + "restify3": { + "dependencies": { + "restify": "^3.0.3" + } + }, + "restify4": { + "dependencies": { + "restify": "^4.0.3" + } + }, + "restify5": { + "dependencies": { + "restify": "^5.2.0" + } + }, + "restify6": { + "dependencies": { + "restify": "^6.0.1" + } + } +} From 3446e547112b6821bb3a2b5cf19a07c1fe44736e Mon Sep 17 00:00:00 2001 From: Kelvin Jin Date: Tue, 9 Jan 2018 11:54:30 -0800 Subject: [PATCH 4/6] update CI configurations --- .circleci/config.yml | 121 +++++++++++++++++++++++++++++++++++++++++++ .travis.yml | 37 ------------- appveyor.yml | 14 ++++- circle.yml | 8 --- test/mysql-config.ts | 9 +--- test/pg-config.ts | 9 +--- 6 files changed, 135 insertions(+), 63 deletions(-) create mode 100644 .circleci/config.yml delete mode 100644 .travis.yml delete mode 100644 circle.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000..a7e873016 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,121 @@ +--- +# Constant values. + +node_modules_cache_key: &node_modules_cache_key node-modules-cache-{{ .Environment.CIRCLE_JOB }}-{{ arch }}-{{ checksum "package.json" }}-{{ checksum "package-lock.json" }} +test_fixtures_cache_key: &test_fixtures_cache_key test-fixtures-cache-{{ .Environment.CIRCLE_JOB }}-{{ arch }}-{{ checksum "test/fixtures/plugin-fixtures.json" }} +test_env: &test_env + GCLOUD_PROJECT: 0 + GCLOUD_TRACE_NEW_CONTEXT: 1 + +# Unit test workflow. + +unit_tests: &unit_tests + steps: + - checkout + - run: + name: Configure npm to allow running scripts as root + command: npm config set unsafe-perm true + - restore_cache: + key: *node_modules_cache_key + - run: + name: Install modules and dependencies + command: npm install + - save_cache: + key: *node_modules_cache_key + paths: + - node_modules + - run: + name: Check code style and linting + command: npm run check + - run: + name: Compile code + command: npm run compile + - restore_cache: + key: *test_fixtures_cache_key + - run: + name: Install test fixtures + command: npm run init-test-fixtures + - save_cache: + key: *test_fixtures_cache_key + paths: + - build/test/plugins/fixtures + - run: + name: Run unit tests with code coverage + command: npm run coverage + - run: + name: Verify that the package installs OK + command: npm run check-install + - run: + name: Run system tests (skipped for PRs) + command: npm run system-test + +# Services needed for unit tests. + +mongo_service: &mongo_service + image: mongo + +redis_service: &redis_service + image: redis + +postgres_service: &postgres_service + image: postgres + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: Password12! + POSTGRES_DB: test + +mysql_service: &mysql_service + image: mysql + environment: + MYSQL_ROOT_PASSWORD: Password12! + MYSQL_DATABASE: test + +# Main configuration. + +version: 2.0 +workflows: + version: 2 + tests: + jobs: + - node4 + - node6 + - node8 + - node9 + +jobs: + node4: + docker: + - image: node:4 + environment: *test_env + - *mongo_service + - *redis_service + - *postgres_service + - *mysql_service + <<: *unit_tests + node6: + docker: + - image: node:6 + environment: *test_env + - *mongo_service + - *redis_service + - *postgres_service + - *mysql_service + <<: *unit_tests + node8: + docker: + - image: node:8 + environment: *test_env + - *mongo_service + - *redis_service + - *postgres_service + - *mysql_service + <<: *unit_tests + node9: + docker: + - image: node:9 + environment: *test_env + - *mongo_service + - *redis_service + - *postgres_service + - *mysql_service + <<: *unit_tests diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d163bc5c9..000000000 --- a/.travis.yml +++ /dev/null @@ -1,37 +0,0 @@ -sudo: false - -language: node_js - -node_js: - - "4" - - "6" - - "8" - -services: - - mongodb - - redis-server - - postgresql - -before_install: - - mysql -e "create database IF NOT EXISTS test;" -uroot - - echo "USE mysql;\nUPDATE user SET password=PASSWORD('Password12!') WHERE user='root';\nFLUSH PRIVILEGES;\n" | mysql -u root - - psql -c 'create database test;' -U postgres - - psql -c "alter user postgres with password 'Password12!';" -U postgres - -env: - - CXX=g++-4.8 GCLOUD_TRACE_NEW_CONTEXT=1 - -script: - - if [ $TRAVIS_NODE_VERSION -ge 8 ]; then yarn list; fi - - npm run check-install && npm run coverage && npm run system-test && npm run non-interference - -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - g++-4.8 - -notifications: - email: - - nodejs-build-notifications+travis@googlegroups.com diff --git a/appveyor.yml b/appveyor.yml index bf489ff5e..488b0777f 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -6,6 +6,10 @@ environment: - nodejs_version: "6" - nodejs_version: "8" +cache: + - node_modules -> package-lock.json, package.json + - build\test\plugins\fixtures -> test\fixtures\plugin-fixtures.json + services: - mongodb - mysql @@ -19,8 +23,6 @@ install: - nuget install redis-64 -excludeversion - redis-64\tools\redis-server.exe --service-install - redis-64\tools\redis-server.exe --service-start - # install modules - - npm install - SET GCLOUD_PROJECT=0 - SET GCLOUD_TRACE_NEW_CONTEXT=1 @@ -34,8 +36,16 @@ before_test: # Post-install test scripts. test_script: + # install modules + - npm install + # check code style and linting + - npm run check + # compile the code + - npm run compile # check that installing this module is OK - npm run check-install + # initialize test fixtures + - npm run init-test-fixtures # run tests - npm run test diff --git a/circle.yml b/circle.yml deleted file mode 100644 index 690709c9e..000000000 --- a/circle.yml +++ /dev/null @@ -1,8 +0,0 @@ -machine: - node: - version: 6 - services: - - redis - environment: - GCLOUD_PROJECT: 0 - GCLOUD_TRACE_NEW_CONTEXT: 1 diff --git a/test/mysql-config.ts b/test/mysql-config.ts index 51a4341da..e61a3584d 100644 --- a/test/mysql-config.ts +++ b/test/mysql-config.ts @@ -13,17 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -'use strict'; -module.exports = (process.env.CIRCLECI === 'true') ? { - host: 'localhost', - user: 'ubuntu', - database: 'circle_test' -} : { +export = { host: 'localhost', user: 'root', password: 'Password12!', database: 'test' }; - -export default {}; diff --git a/test/pg-config.ts b/test/pg-config.ts index 71f013fdf..28d50804f 100644 --- a/test/pg-config.ts +++ b/test/pg-config.ts @@ -13,16 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -'use strict'; -module.exports = (process.env.CIRCLECI === 'true') ? { - host: 'localhost', - user: 'ubuntu', - database: 'circle_test' -} : { +export = { user: 'postgres', password: 'Password12!', database: 'test' }; - -export default {}; From a96d55e45bdc9636f06ed83c3b7bc1e9d9b32fbb Mon Sep 17 00:00:00 2001 From: Kelvin Jin Date: Tue, 9 Jan 2018 11:53:52 -0800 Subject: [PATCH 5/6] update system test key file --- node-team-test-d0b0be11c23d.json.enc | Bin 2320 -> 0 bytes node-team-test-de480e4f9023.json.enc | Bin 0 -> 2320 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 node-team-test-d0b0be11c23d.json.enc create mode 100644 node-team-test-de480e4f9023.json.enc diff --git a/node-team-test-d0b0be11c23d.json.enc b/node-team-test-d0b0be11c23d.json.enc deleted file mode 100644 index f19e2356ffd6b0de52a30befd282ddf8d6b23802..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2320 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 qSbBgCk}Fs-0^@}C+MyGR5>^JT^!?%v literal 0 HcmV?d00001 From 4a68426cf941dd834445688438d6bfb3f0314ba2 Mon Sep 17 00:00:00 2001 From: Kelvin Jin Date: Tue, 9 Jan 2018 11:54:42 -0800 Subject: [PATCH 6/6] update package-lock.json --- package-lock.json | 578 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 429 insertions(+), 149 deletions(-) diff --git a/package-lock.json b/package-lock.json index b93a3b1c6..d89566866 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,7 @@ "@google-cloud/common": { "version": "0.15.1", "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.15.1.tgz", - "integrity": "sha512-cnVtHLvyiSQvb1RzXWDp7PA1sA8Jmc47+wp/xwHwdGOlQZfKog5iluZ0C/LB8iklFXpcTwlNMorqLuZ/qH0DDA==", + "integrity": "sha1-pveVNd5ibMDgWwzNqdsMNgmeR6M=", "requires": { "array-uniq": "1.0.3", "arrify": "1.0.1", @@ -342,7 +342,7 @@ "@types/mocha": { "version": "2.2.44", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-2.2.44.tgz", - "integrity": "sha512-k2tWTQU8G4+iSMvqKi0Q9IIsWAp/n8xzdZS4Q4YVIltApoMA00wFBFdlJnmoaK1/z7B0Cy0yPe6GgXteSmdUNw==", + "integrity": "sha1-HUp5jlPzUhL9WtTQQFBiAXHNW14=", "dev": true }, "@types/ncp": { @@ -369,7 +369,7 @@ "@types/pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-BIRcpFqRm64rVuuYCFzOF37I2IEP3sXhiCjy8NbzJkxqFY2CLiDLFPhh6Sph/eXPXctg05MayCEDmeKCOIUBFg==", + "integrity": "sha1-4X2Vwn500jBevAaw+NKMsC+WEv4=", "dev": true }, "@types/proxyquire": { @@ -415,7 +415,7 @@ "@types/uuid": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.3.tgz", - "integrity": "sha512-5fRLCYhLtDb3hMWqQyH10qtF+Ud2JnNCXTCZ+9ktNdCcgslcuXkDTkFcJNk++MT29yDntDnlF1+jD+uVGumsbw==", + "integrity": "sha1-EhrOJl9Vac5A9PbQ/3ijOMcyp1Q=", "dev": true, "requires": { "@types/node": "8.0.58" @@ -566,6 +566,12 @@ "integrity": "sha1-tvk59f4OPNHz+T4qqSYkJL8xKvc=", "dev": true }, + "argv": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/argv/-/argv-0.0.2.tgz", + "integrity": "sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas=", + "dev": true + }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -1038,6 +1044,166 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, + "codecov": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/codecov/-/codecov-3.0.0.tgz", + "integrity": "sha1-wnO4xPEpRXI+jcnSWAPYk0Pl8o4=", + "dev": true, + "requires": { + "argv": "0.0.2", + "request": "2.81.0", + "urlgrey": "0.4.4" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + } + }, + "har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "dev": true + }, + "har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "dev": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "dev": true + }, + "qs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true + }, + "request": { + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "dev": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + } + } + }, "color-convert": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", @@ -1169,7 +1335,7 @@ "continuation-local-storage": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/continuation-local-storage/-/continuation-local-storage-3.2.1.tgz", - "integrity": "sha512-jx44cconVqkCEEyLSKWwkvUXwO561jXMa3LPjTPsm5QR22PA0/mhe33FT4Xb5y74JDvt/Cq+5lm8S8rskLv9ZA==", + "integrity": "sha1-EfYT906RT+mzTJKtLSj+auHbf/s=", "requires": { "async-listener": "0.6.8", "emitter-listener": "1.1.1" @@ -1372,19 +1538,6 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "coveralls": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.0.tgz", - "integrity": "sha512-ZppXR9y5PraUOrf/DzHJY6gzNUhXYE3b9D43xEXs4QYZ7/Oe0Gy0CS+IPKWFfvQFXB3RG9QduaQUFehzSpGAFw==", - "dev": true, - "requires": { - "js-yaml": "3.6.1", - "lcov-parse": "0.0.10", - "log-driver": "1.2.5", - "minimist": "1.2.0", - "request": "2.83.0" - } - }, "create-error-class": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", @@ -1982,7 +2135,7 @@ "gcp-metadata": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.4.1.tgz", - "integrity": "sha512-yFE7v+NyoMiTOi2L6r8q87eVbiZCKooJNPKXTHhBStga8pwwgWofK9iHl00qd0XevZxcpk7ORaEL/ALuTvlaGQ==", + "integrity": "sha1-ZGI7hBdTV8wRmtemrsdZOSqQpYs=", "requires": { "extend": "3.0.1", "retry-request": "3.1.0" @@ -2415,12 +2568,14 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, "ajv": { "version": "4.11.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", "dev": true, "requires": { "co": "4.6.0", @@ -2429,17 +2584,20 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "aproba": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, "are-we-there-yet": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "dev": true, "requires": { "delegates": "1.0.0", @@ -2448,37 +2606,44 @@ }, "asn1": { "version": "0.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", "dev": true }, "assert-plus": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", "dev": true }, "asynckit": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, "aws-sign2": { "version": "0.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", "dev": true }, "aws4": { "version": "1.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", "dev": true }, "balanced-match": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "bcrypt-pbkdf": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "dev": true, "optional": true, "requires": { @@ -2487,7 +2652,8 @@ }, "block-stream": { "version": "0.0.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "dev": true, "requires": { "inherits": "2.0.3" @@ -2495,7 +2661,8 @@ }, "boom": { "version": "2.10.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { "hoek": "2.16.3" @@ -2503,7 +2670,8 @@ }, "brace-expansion": { "version": "1.1.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { "balanced-match": "1.0.0", @@ -2512,22 +2680,26 @@ }, "caseless": { "version": "0.12.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, "co": { "version": "4.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, "code-point-at": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, "combined-stream": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", "dev": true, "requires": { "delayed-stream": "1.0.0" @@ -2535,22 +2707,26 @@ }, "concat-map": { "version": "0.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true }, "core-util-is": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, "cryptiles": { "version": "2.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, "requires": { "boom": "2.10.1" @@ -2558,7 +2734,8 @@ }, "dashdash": { "version": "1.14.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { "assert-plus": "1.0.0" @@ -2566,14 +2743,16 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true } } }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -2581,22 +2760,26 @@ }, "deep-extend": { "version": "0.4.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", "dev": true }, "delayed-stream": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, "delegates": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true }, "ecc-jsbn": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "dev": true, "optional": true, "requires": { @@ -2605,22 +2788,26 @@ }, "extend": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", "dev": true }, "extsprintf": { "version": "1.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, "forever-agent": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, "form-data": { "version": "2.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, "requires": { "asynckit": "0.4.0", @@ -2630,12 +2817,14 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "fstream": { "version": "1.0.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -2646,7 +2835,8 @@ }, "fstream-ignore": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", + "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", "dev": true, "requires": { "fstream": "1.0.11", @@ -2656,7 +2846,8 @@ }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { "aproba": "1.2.0", @@ -2671,7 +2862,8 @@ }, "getpass": { "version": "0.1.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { "assert-plus": "1.0.0" @@ -2679,14 +2871,16 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true } } }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -2699,17 +2893,20 @@ }, "graceful-fs": { "version": "4.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, "har-schema": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", "dev": true }, "har-validator": { "version": "4.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", "dev": true, "requires": { "ajv": "4.11.8", @@ -2718,12 +2915,14 @@ }, "has-unicode": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true }, "hawk": { "version": "3.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, "requires": { "boom": "2.10.1", @@ -2734,12 +2933,14 @@ }, "hoek": { "version": "2.16.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", "dev": true }, "http-signature": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "requires": { "assert-plus": "0.2.0", @@ -2749,7 +2950,8 @@ }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "1.4.0", @@ -2758,17 +2960,20 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, "ini": { "version": "1.3.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { "number-is-nan": "1.0.1" @@ -2776,33 +2981,39 @@ }, "is-typedarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isstream": { "version": "0.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, "jsbn": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true, "optional": true }, "json-schema": { "version": "0.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, "json-stable-stringify": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, "requires": { "jsonify": "0.0.0" @@ -2810,17 +3021,20 @@ }, "json-stringify-safe": { "version": "5.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, "jsonify": { "version": "0.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", "dev": true }, "jsprim": { "version": "1.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, "requires": { "assert-plus": "1.0.0", @@ -2831,19 +3045,22 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true } } }, "mime-db": { "version": "1.30.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", "dev": true }, "mime-types": { "version": "2.1.17", - "bundled": true, + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", "dev": true, "requires": { "mime-db": "1.30.0" @@ -2851,7 +3068,8 @@ }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "1.1.8" @@ -2859,12 +3077,14 @@ }, "minimist": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { "minimist": "0.0.8" @@ -2872,19 +3092,22 @@ "dependencies": { "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true } } }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node-pre-gyp": { "version": "0.6.38", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.38.tgz", + "integrity": "sha1-6Sog+DQWQVu0CG9tH7eLPac9ET0=", "dev": true, "requires": { "hawk": "3.1.3", @@ -2901,7 +3124,8 @@ }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "requires": { "abbrev": "1.1.1", @@ -2910,7 +3134,8 @@ }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { "are-we-there-yet": "1.1.4", @@ -2921,22 +3146,26 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, "oauth-sign": { "version": "0.8.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1.0.2" @@ -2944,17 +3173,20 @@ }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, "osenv": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", + "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", "dev": true, "requires": { "os-homedir": "1.0.2", @@ -2963,32 +3195,38 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "performance-now": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", "dev": true }, "process-nextick-args": { "version": "1.0.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", "dev": true }, "punycode": { "version": "1.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, "qs": { "version": "6.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", "dev": true }, "rc": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", + "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", "dev": true, "requires": { "deep-extend": "0.4.2", @@ -2999,7 +3237,8 @@ }, "readable-stream": { "version": "2.3.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "dev": true, "requires": { "core-util-is": "1.0.2", @@ -3013,7 +3252,8 @@ }, "request": { "version": "2.81.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", "dev": true, "requires": { "aws-sign2": "0.6.0", @@ -3042,7 +3282,8 @@ }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { "glob": "7.1.2" @@ -3050,27 +3291,32 @@ }, "safe-buffer": { "version": "5.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, "semver": { "version": "5.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", "dev": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "sntp": { "version": "1.0.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, "requires": { "hoek": "2.16.3" @@ -3078,7 +3324,8 @@ }, "sshpk": { "version": "1.13.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", "dev": true, "requires": { "asn1": "0.2.3", @@ -3093,14 +3340,16 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true } } }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { "code-point-at": "1.1.0", @@ -3110,7 +3359,8 @@ }, "string_decoder": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true, "requires": { "safe-buffer": "5.1.1" @@ -3118,12 +3368,14 @@ }, "stringstream": { "version": "0.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", "dev": true }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -3131,12 +3383,14 @@ }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, "tar": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { "block-stream": "0.0.9", @@ -3146,7 +3400,8 @@ }, "tar-pack": { "version": "3.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz", + "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=", "dev": true, "requires": { "debug": "2.6.9", @@ -3161,7 +3416,8 @@ }, "tough-cookie": { "version": "2.3.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", "dev": true, "requires": { "punycode": "1.4.1" @@ -3169,7 +3425,8 @@ }, "tunnel-agent": { "version": "0.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { "safe-buffer": "5.1.1" @@ -3177,28 +3434,33 @@ }, "tweetnacl": { "version": "0.14.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true, "optional": true }, "uid-number": { "version": "0.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", "dev": true }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, "uuid": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", "dev": true }, "verror": { "version": "1.10.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { "assert-plus": "1.0.0", @@ -3208,14 +3470,16 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true } } }, "wide-align": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "requires": { "string-width": "1.0.2" @@ -3223,7 +3487,8 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true } } @@ -3243,7 +3508,7 @@ "gts": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/gts/-/gts-0.5.1.tgz", - "integrity": "sha512-+2dBzbax1Km3buM8Xg/iYAZoR3CoppZkzYsQHNpH4N9bVkJ+o243aXRRmzz8yvqmcuDUss2gyN+sbB2yt9SxAw==", + "integrity": "sha1-QvVZSd/U9SuURh3iYpVireOgDuw=", "dev": true, "requires": { "chalk": "2.3.0", @@ -3269,7 +3534,7 @@ "chalk": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=", "dev": true, "requires": { "ansi-styles": "3.2.0", @@ -3994,11 +4259,26 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "0.0.0" + } + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, "jsonist": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsonist/-/jsonist-1.3.0.tgz", @@ -4154,12 +4434,6 @@ "invert-kv": "1.0.0" } }, - "lcov-parse": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", - "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", - "dev": true - }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -4481,7 +4755,7 @@ "mocha": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.0.1.tgz", - "integrity": "sha512-evDmhkoA+cBNiQQQdSKZa2b9+W2mpLoj50367lhy+Klnx9OV8XlCIhigUnn1gaTFLQCa0kdNhEGDr0hCXOQFDw==", + "integrity": "sha1-Cu5alc9ppGGIIPXlH6MXFxF9rxs=", "dev": true, "requires": { "browser-stdout": "1.3.0", @@ -4499,7 +4773,7 @@ "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", "dev": true, "requires": { "ms": "2.0.0" @@ -4508,19 +4782,19 @@ "diff": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", - "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", + "integrity": "sha1-qoVnpu7QPFMfyJ0/cRzQ5SWd7HU=", "dev": true }, "growl": { "version": "1.10.3", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", - "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", + "integrity": "sha1-GSa6kM8+3+KttJJ/WIC8IsZseQ8=", "dev": true }, "supports-color": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "integrity": "sha1-iD992rwWUUKyphQn8zUt7RldGj4=", "dev": true, "requires": { "has-flag": "2.0.0" @@ -5168,7 +5442,7 @@ "request": { "version": "2.83.0", "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "integrity": "sha1-ygtl2gLtYpNYh4COb1EDgQNOM1Y=", "requires": { "aws-sign2": "0.7.0", "aws4": "1.6.0", @@ -5285,7 +5559,7 @@ "semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4=" + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" }, "semver-diff": { "version": "2.1.0", @@ -5365,7 +5639,7 @@ "shimmer": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.0.tgz", - "integrity": "sha512-xTCx2vohXC2EWWDqY/zb4+5Mu28D+HYNSOuFzsyRDRvI/e1ICb69afwaUwfjr+25ZXldbOLyp+iDUZHq8UnTag==" + "integrity": "sha1-+Wb3VVeJdj502IQRk2haXnhzZmU=" }, "signal-exit": { "version": "3.0.2", @@ -5394,7 +5668,7 @@ "source-map-support": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.0.tgz", - "integrity": "sha512-vUoN3I7fHQe0R/SJLKRdKYuEdRGogsviXFkHHo17AWaTGv17VLnxw+CFXvqy+y4ORZ3doWLQcxRYfwKrsd/H7Q==", + "integrity": "sha1-IBinrSvfj68mkeX92rJr7VorrKs=", "dev": true, "requires": { "source-map": "0.6.1" @@ -5403,7 +5677,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", "dev": true } } @@ -6177,6 +6451,12 @@ "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", "dev": true }, + "urlgrey": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/urlgrey/-/urlgrey-0.4.4.tgz", + "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", + "dev": true + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",