diff --git a/README.md b/README.md index 3ba8910..89d5f45 100644 --- a/README.md +++ b/README.md @@ -11,44 +11,6 @@ Rollbar wrapper for Serverless, API Gateway and Lambda. -## Getting Started +# Deprecated -To install run `npm install --save lambda-rollbar` - -## Usage - -Define rollbar and wrap handlers with - -```javascript -const rollbar = require('lambda-rollbar')({ - rollbar: { - accessToken: 'YOUR_ROLLBAR_ACCESS_TOKEN', - environment: 'YOUR_ENVIRONMENT', - enabled: true - }, - template: 'aws-sls-lambda-proxy' -}); - -exports.handler = rollbar.wrap((event, context, rb) => rb - .warning('Some Warning...') - .then({ statusCode: 200, body: '{"message":"Hello World."}' })); -``` - -Available log levels are `debug`, `info`, `warning`, `error` and `critical`. - -You can set an environment on a per call bases using `rb.warning("YOUR_MESSAGE", "YOUR_ENVIRONMENT")`. - -## Verbose Option - -Use the boolean `verbose` option to log messages to console. This option also get's passed through into [rollbar](https://github.com/rollbar/rollbar.js#verbose-option). - -## Request Templates - -Lambda functions are called in different [request context](https://rollbar.com/docs/notifier/rollbar.js/#rollbarlog-1). Using the `template` option you can define which request context should be assumed. Currently supported are: - -- `aws-sls-lambda-proxy` (*default*) - Default event template for API Gateway using the [Serverless Framework](https://serverless.com/framework/docs/providers/aws/events/apigateway/) -- `aws-cloud-watch` - For [CloudWatch logs](http://docs.aws.amazon.com/lambda/latest/dg/eventsources.html#eventsources-cloudwatch-logs) events - -## Contributions / What is next - -- **Templates** - Adding more templates is easy and PRs are welcome! Sample events can be found [here](http://docs.aws.amazon.com/lambda/latest/dg/eventsources.html). Make sure you only use fields listed under [request](https://rollbar.com/docs/notifier/rollbar.js/#rollbarlog-1), i.e. `url`, `method`, `body`. +Deprecated: Please use lambda-async, lambda-monitor and lambda-monitor-logger instead diff --git a/package.json b/package.json index f3b750a..2ddaa5b 100644 --- a/package.json +++ b/package.json @@ -52,11 +52,9 @@ "eslint-plugin-json": "1.4.0", "eslint-plugin-markdown": "1.0.0", "eslint-plugin-mocha": "6.1.1", - "js-gardener": "2.0.96", - "node-tdd": "2.5.9", + "js-gardener": "2.0.97", "nyc": "14.1.1", - "semantic-release": "15.13.24", - "uuid": "3.3.3" + "semantic-release": "15.13.24" }, "licenses": [ { @@ -70,12 +68,7 @@ "files": [ "lib" ], - "dependencies": { - "fast-safe-stringify": "2.0.7", - "joi-strict": "1.1.4", - "lodash.get": "4.4.2", - "rollbar": "2.13.0" - }, + "dependencies": {}, "peerDependencies": {}, "nyc": { "tempDir": "./coverage/.nyc_output", diff --git a/src/index.js b/src/index.js index b52b9cf..617a18a 100644 --- a/src/index.js +++ b/src/index.js @@ -1,106 +1,3 @@ -const fs = require('fs'); -const path = require('path'); -const get = require('lodash.get'); -const Joi = require('joi-strict'); -const Rollbar = require('rollbar'); -const ensureString = require('./util/ensure-string'); - -const templates = (() => { - const templateDir = path.join(__dirname, 'templates'); - return fs - .readdirSync(templateDir) - .map((f) => f.slice(0, -3)) - .reduce((p, f) => Object.assign(p, { - // eslint-disable-next-line global-require,import/no-dynamic-require - [f]: require(path.join(templateDir, f)) - }), {}); -})(); - -module.exports = (options) => { - Joi.assert(options, Joi.object().keys({ - rollbar: Joi.object().keys({ - accessToken: Joi.string().optional(), - environment: Joi.string().optional(), - enabled: Joi.boolean().optional(), - verbose: Joi.boolean().optional(), - reportLevel: Joi.string().optional() - }).optional(), - template: Joi.string().optional() - })); - const rollbarOptions = get(options, 'rollbar', {}); - const template = templates[get(options, 'template', 'aws-sls-lambda-proxy')]; - const verbose = get(options, 'rollbar.verbose', false); - const rollbarEnvironment = get(options, 'rollbar.environment'); - const rollbar = new Rollbar(rollbarOptions); - - const submitToRollbar = async ({ - error, - environment, - level, - event, - context - }) => { - const msgPrefix = [ - get(error, 'statusCode'), - get(error, 'messageId') - ].filter((e) => !['', undefined].includes(e)).join('@'); - const msgBody = get(error, 'message') || ensureString(error); - const message = [msgPrefix, msgBody].filter((e) => !['', undefined].includes(e)).join(': '); - if (verbose === true) { - // eslint-disable-next-line no-console - console.log(message); - } - rollbar.configure({ payload: { environment } }); - // reference: https://github.com/Rollbar/rollbar.js/#rollbarlog-1 - rollbar[level](message, error, { - context: { - remainingTimeInMillis: context.getRemainingTimeInMillis(), - callbackWaitsForEmptyEventLoop: context.callbackWaitsForEmptyEventLoop, - functionName: context.functionName, - functionVersion: context.functionVersion, - arn: context.invokedFunctionArn, - requestId: context.awsRequestId, - logGroupName: context.logGroupName, - logStreamName: context.logStreamName, - invokeid: context.invokeid, - memoryLimitInMB: context.memoryLimitInMB - }, - event - }, template(event)); - return error; - }; - - /* Wrap Lambda function handler */ - return { - wrap: (handler) => (event, context, callback) => { - // eslint-disable-next-line no-param-reassign - context.callbackWaitsForEmptyEventLoop = false; - - // Rollbar logging levels as promise - const rb = ['debug', 'info', 'warning', 'error', 'critical'] - .reduce((final, level) => Object.assign(final, { - [level]: (error, env = rollbarEnvironment) => submitToRollbar({ - error, env, level, event, context - }) - }), {}); - - try { - handler(event, context, rb) - .then((resp) => rollbar.wait(() => callback(null, resp))) - .catch((err) => { - try { - rb.error(err); - } finally { - rollbar.wait(() => callback(err)); - } - }); - } catch (err) { - try { - rb.error(err); - } finally { - rollbar.wait(() => callback(err)); - } - } - } - }; +module.exports = () => { + throw new Error('Deprecated: Please use lambda-async, lambda-monitor and lambda-monitor-logger instead'); }; diff --git a/src/templates/aws-cloud-watch.js b/src/templates/aws-cloud-watch.js deleted file mode 100644 index 431b036..0000000 --- a/src/templates/aws-cloud-watch.js +++ /dev/null @@ -1,24 +0,0 @@ -const zlib = require('zlib'); -const get = require('lodash.get'); -const ensureString = require('../util/ensure-string'); - -module.exports = (event) => { - const raw = get(event, 'awslogs.data'); - let content = null; - try { - content = JSON.parse(String(zlib.gunzipSync(Buffer.from(raw, 'base64')))); - } catch (error) { - return { - body: { - error: error.message, - raw - } - }; - } - const logGroup = get(content, 'logGroup', '???'); - const logStream = get(content, 'logStream', '???'); - return { - body: ensureString(content), - url: `https://console.aws.amazon.com/cloudwatch/home#logEventViewer:group=${logGroup};stream=${logStream}` - }; -}; diff --git a/src/templates/aws-sls-lambda-proxy.js b/src/templates/aws-sls-lambda-proxy.js deleted file mode 100644 index 3226e17..0000000 --- a/src/templates/aws-sls-lambda-proxy.js +++ /dev/null @@ -1,17 +0,0 @@ -const querystring = require('querystring'); -const get = require('lodash.get'); - -module.exports = (event) => ({ - headers: event.headers, - protocol: get(event, 'headers.X-Forwarded-Proto'), - url: ( - `${get(event, 'headers.X-Forwarded-Proto')}://` - + `${get(event, 'headers.Host')}${get(event, 'requestContext.path')}` - + `/?${querystring.stringify(get(event, 'queryStringParameters'))}` - ), - method: event.httpMethod, - body: event.body, - route: { - path: get(event, 'requestContext.path') - } -}); diff --git a/src/util/ensure-string.js b/src/util/ensure-string.js deleted file mode 100644 index 753c2da..0000000 --- a/src/util/ensure-string.js +++ /dev/null @@ -1,3 +0,0 @@ -const safeStringify = require('fast-safe-stringify'); - -module.exports = (e) => (typeof e === 'string' || e instanceof String ? e : safeStringify(e)); diff --git a/test/index.spec.js b/test/index.spec.js index a376721..ae7d257 100644 --- a/test/index.spec.js +++ b/test/index.spec.js @@ -1,88 +1,9 @@ const expect = require('chai').expect; -const uuid = require('uuid/v4'); -const { describe } = require('node-tdd'); const Rollbar = require('../src/index'); -describe('Testing Rollbar Wrapper', { record: console, useNock: true }, () => { - let error; - let rollbarVerbose; - let rollbarNonVerbose; - let executeHandler; - - before(() => { - error = new Error(uuid()); - rollbarVerbose = Rollbar({ - rollbar: { - accessToken: process.env.ACCESS_TOKEN, - environment: 'local', - enabled: true, - verbose: true - } - }); - rollbarNonVerbose = Rollbar({ - rollbar: { - accessToken: process.env.ACCESS_TOKEN, - environment: 'local', - enabled: true, - verbose: false - } - }); - executeHandler = (err, resp) => new Promise((resolve) => { - const handler = rollbarVerbose.wrap(() => (err ? Promise.reject(err) : Promise.resolve(resp))); - handler( - {}, - { getRemainingTimeInMillis: () => 0 }, - (err_, resp_) => { - resolve([err_, resp_]); - } - ); - }); - }); - - it('Testing Execution Without Error', async ({ recorder }) => { - const response = { - statusCode: 400, - body: '{"message":"Invalid Parameter."}' - }; - const [err, resp] = await executeHandler(null, response); - expect(err).to.equal(null); - expect(resp).to.equal(response); - expect(recorder.get()).to.deep.equal([]); - }); - - it('Testing Execution With Error', async ({ recorder }) => { - const [err, resp] = await executeHandler(error, undefined); - expect(err).to.equal(error); - expect(resp).to.equal(undefined); - expect(recorder.get()).to.deep.equal([ - error.message, - error, - 'Successful api response. Link: https://rollbar.com/occurrence/uuid/?uuid=9320983b-22d4-4157-893a-79e02d6081bb' - ]); - }); - - it('Testing Execution With String Error Message', async ({ recorder }) => { - const [err, resp] = await executeHandler('String Error', undefined); - expect(err).to.equal('String Error'); - expect(resp).to.equal(undefined); - expect(recorder.get()).to.deep.equal([ - 'String Error', - 'String Error', - 'Successful api response. Link: https://rollbar.com/occurrence/uuid/?uuid=d56af703-6de0-4cf7-fce7-942fb9564467' - ]); - }); - - it('Testing Exception Verbose', async ({ capture, recorder }) => { - await capture(() => new Promise((resolve, reject) => rollbarVerbose.wrap(() => { - throw error; - })({}, { getRemainingTimeInMillis: () => 0 }, reject))); - expect(recorder.get()).to.deep.equal([error.message, error]); - }); - - it('Testing Exception Non-Verbose', async ({ capture, recorder }) => { - await capture(() => new Promise((resolve, reject) => rollbarNonVerbose.wrap(() => { - throw error; - })({}, { getRemainingTimeInMillis: () => 0 }, reject))); - expect(recorder.get()).to.deep.equal([]); +describe('Testing Rollbar', () => { + it('Testing Deprecated', async () => { + expect(() => Rollbar()) + .to.throw('Deprecated: Please use lambda-async, lambda-monitor and lambda-monitor-logger instead'); }); }); diff --git a/test/index.spec.js.env.yml b/test/index.spec.js.env.yml deleted file mode 100644 index 335eb9f..0000000 --- a/test/index.spec.js.env.yml +++ /dev/null @@ -1 +0,0 @@ -ACCESS_TOKEN: 'rollbar-access-token' diff --git a/test/index.spec.js__cassettes/testingRollbarWrapper_testingExceptionNonVerbose_recording.json b/test/index.spec.js__cassettes/testingRollbarWrapper_testingExceptionNonVerbose_recording.json deleted file mode 100644 index 0637a08..0000000 --- a/test/index.spec.js__cassettes/testingRollbarWrapper_testingExceptionNonVerbose_recording.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/test/index.spec.js__cassettes/testingRollbarWrapper_testingExceptionVerbose_recording.json b/test/index.spec.js__cassettes/testingRollbarWrapper_testingExceptionVerbose_recording.json deleted file mode 100644 index 0637a08..0000000 --- a/test/index.spec.js__cassettes/testingRollbarWrapper_testingExceptionVerbose_recording.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/test/index.spec.js__cassettes/testingRollbarWrapper_testingExecutionWithError_recording.json b/test/index.spec.js__cassettes/testingRollbarWrapper_testingExecutionWithError_recording.json deleted file mode 100644 index 4807205..0000000 --- a/test/index.spec.js__cassettes/testingRollbarWrapper_testingExecutionWithError_recording.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "scope": "https://api.rollbar.com:443", - "method": "POST", - "path": "/api/1/item/", - "status": 200, - "response": { - "err": 0, - "result": { - "id": null, - "uuid": "9320983b-22d4-4157-893a-79e02d6081bb" - } - } - } -] diff --git a/test/index.spec.js__cassettes/testingRollbarWrapper_testingExecutionWithStringErrorMessage_recording.json b/test/index.spec.js__cassettes/testingRollbarWrapper_testingExecutionWithStringErrorMessage_recording.json deleted file mode 100644 index d354277..0000000 --- a/test/index.spec.js__cassettes/testingRollbarWrapper_testingExecutionWithStringErrorMessage_recording.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "scope": "https://api.rollbar.com:443", - "method": "POST", - "path": "/api/1/item/", - "status": 200, - "response": { - "err": 0, - "result": { - "id": null, - "uuid": "d56af703-6de0-4cf7-fce7-942fb9564467" - } - } - } -] diff --git a/test/index.spec.js__cassettes/testingRollbarWrapper_testingExecutionWithoutError_recording.json b/test/index.spec.js__cassettes/testingRollbarWrapper_testingExecutionWithoutError_recording.json deleted file mode 100644 index 0637a08..0000000 --- a/test/index.spec.js__cassettes/testingRollbarWrapper_testingExecutionWithoutError_recording.json +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/test/templates/aws-cloud-watch.spec.js b/test/templates/aws-cloud-watch.spec.js deleted file mode 100644 index cc1faa2..0000000 --- a/test/templates/aws-cloud-watch.spec.js +++ /dev/null @@ -1,58 +0,0 @@ -const expect = require('chai').expect; - -const template = require('../../src/templates/aws-cloud-watch'); - -describe('Testing AWS Cloud Watch Template', () => { - it('Test Invalid GZip', () => { - const input = { - awslogs: { - data: ( - '68JlBUk+l7KSN7tCOEJ4M3/qOI49vMH4sIAAFtKV3akI8d0bLYmibvPPN3wz00CJxmQnTO41wABBAAAAHWPwQqCQBCEcB6sQbFC3CjW3XW' - + '8kxpOpP+OC22d1Wml1qZkQGtoMsScGX0Xm7EFtK+smZBEUgXoLCdMhhwWQRIctmxaczKN3plG8zlaHIta5KqWsozoTYw3/djzwhpLwivWF' - + 'GHGpAFe7DLHj+zCKdlFqLaU2ZHV2a4Ct/an0/ivdX8oYc1UVX860fQDQiMdxRQEAAA==' - ) - } - }; - expect(template(input)).to.deep.equal({ - body: { - raw: input.awslogs.data, - error: 'incorrect header check' - } - }); - }); - - it('Testing Generated Output', () => { - const input = { - awslogs: { - data: ( - 'H4sIAAAAAAAAAL2RS2/bMBCE/wvRo2nxKZK+GahjBMgDqHVqbBiUtHWJSpQq0nYDy/+9jJMcegjQIGgvPAx3B9/MnlALIdgdFI89oBn6PC' - + '/m29vFajVfLtAEdUcPQ5KFMYQKngspaJKbbrccun2ffjJ7DFlj27K2WZJ3zu9wC3FwVcA1tF16DjhCiNj27nl1FQewbdplhKqM6Izl2cOn' - + 'm3mxWBWbWlorRJlbA1oA1aZktioVB8K14Ywli7AvQzW4PrrOX7kmwhDQ7AHdXCCezbdvogTw9auKNheexQF8fLI4IVcnLM4ll0ILaRiXUg' - + 'iZYudM5iqnXBMhNCc5MZprQdKkYkRqKRjRCS26VGe0bWqGSsKV5pQrQ8zkteaX1JhozPKC0RlnM6qmaeTrOhJDqlpJi7W1OaYUFNaqNDgv' - + 'v1nKNFW1pOt4e393Xdx/ub5bjpSMVbf3ceyT9fbg4DjG71DuB5+yt53/Ma26du0TGPyKg60i1FcOmjqFPSF4ip143uuX3Ab4uU85t5e6/o' - + 'b6z2rerACdz5OPHcH8/yPwqR5b1zQuQNX5OoyNjeCrx4+d4h2u//Ygm/NvP7mOnyQEAAA=' - ) - } - }; - expect(template(input)).to.deep.equal({ - body: ( - '{"messageType":"DATA_MESSAGE","owner":"499014364541","logGroup":"/aws/lambda/logging-metrics-demo' - + '-dev-test-api","logStream":"2017/08/26/[$LATEST]d5aa44b6a9e84e189b2acb73e0389322","subscriptionFilters' - + '":["LambdaStream_logging-metrics-demo-dev-send-metrics"],"logEvents":[{"id":"33535484592355445645625' - + '676138044830609838403537205854208","timestamp":1503783137909,"message":"2017-08-26T21:32:17.909Z\\t090' - + 'cd75a-8aa6-11e7-87b9-6bfa12817d51\\tMONITORING|10|count|page_view|theburningmonk.com\\n","extractedFields' - + '":{"event":"MONITORING|10|count|page_view|theburningmonk.com","request_id":"090cd75a-8aa6-11e7-87b9-' - + '6bfa12817d51","timestamp":"2017-08-26T21:32:17.909Z"}},{"id":"33535484592355445645625676138044830609' - + '838403537205854209","timestamp":1503783137909,"message":"2017-08-26T21:32:17.909Z\\t090cd75a-8aa6-11e7' - + '-87b9-6bfa12817d51\\tMONITORING|3.8|milliseconds|latency|theburningmonk.com\\n","extractedFields":{"even' - + 't":"MONITORING|3.8|milliseconds|latency|theburningmonk.com","request_id":"090cd75a-8aa6-11e7-87b9-6bfa' - + '12817d51","timestamp":"2017-08-26T21:32:17.909Z"}}]}' - ), - url: ( - 'https://console.aws.amazon.com/cloudwatch/home#logEventViewer:' - + 'group=/aws/lambda/logging-metrics-demo-dev-test-api;' - + 'stream=2017/08/26/[$LATEST]d5aa44b6a9e84e189b2acb73e0389322' - ) - }); - }); -}); diff --git a/test/util/ensure-string.spec.js b/test/util/ensure-string.spec.js deleted file mode 100644 index c5db0dc..0000000 --- a/test/util/ensure-string.spec.js +++ /dev/null @@ -1,12 +0,0 @@ -const expect = require('chai').expect; -const ensureString = require('../../src/util/ensure-string'); - -describe('Testing ensureString', () => { - it('Testing String', () => { - expect(ensureString('test')).to.equal('test'); - }); - - it('Testing Non-String', () => { - expect(ensureString(['test'])).to.equal('["test"]'); - }); -}); diff --git a/yarn.lock b/yarn.lock index 76012fa..c851072 100644 --- a/yarn.lock +++ b/yarn.lock @@ -179,12 +179,12 @@ resolved "https://registry.yarnpkg.com/@blackflux/robo-config-plugin/-/robo-config-plugin-2.6.8.tgz#58bd672fa76bd9221e1d3c1bb13bc51fd73485e9" integrity sha512-CqXGjFEua9lOYzLYVVEGR0e3PYxxBFnCNWKqRLORg66lA1Sw4sKhSGfD+hUMm/ugdr+bUo9T2GyUI+OPqP19vA== -"@hapi/address@2.x.x", "@hapi/address@^2.1.1": +"@hapi/address@^2.1.1": version "2.1.1" resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.1.tgz#61395b5ed94c4cb19c2dc4c85969cff3d40d583f" integrity sha512-DYuHzu978pP1XW1GD3HGvLnAFjbQTIgc2+V153FGkbS2pgo9haigCdwBnUDrbhaOkgiJlbZvoEqDrcxSLHpiWA== -"@hapi/formula@1.x.x", "@hapi/formula@^1.2.0": +"@hapi/formula@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@hapi/formula/-/formula-1.2.0.tgz#994649c7fea1a90b91a0a1e6d983523f680e10cd" integrity sha512-UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA== @@ -194,17 +194,6 @@ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.2.4.tgz#684a14f4ca35d46f44abc87dfc696e5e4fe8a020" integrity sha512-Ze5SDNt325yZvNO7s5C4fXDscjJ6dcqLFXJQ/M7dZRQCewuDj2iDUuBi6jLQt+APbW9RjjVEvLr35FXuOEqjow== -"@hapi/joi@16.0.1": - version "16.0.1" - resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-16.0.1.tgz#37c78878db0bc04c35996515e0aa186c0e2b5398" - integrity sha512-5TdjUnNAaK7+lWZ2HRXtgOnxe4VBoJLoX0XOrfkmw+2n4/VJ6wwOJMoD7u/F9alLsP31kOWDbnQhtS0WAKwD4Q== - dependencies: - "@hapi/address" "2.x.x" - "@hapi/formula" "1.x.x" - "@hapi/hoek" "8.x.x" - "@hapi/pinpoint" "1.x.x" - "@hapi/topo" "3.x.x" - "@hapi/joi@16.1.1": version "16.1.1" resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-16.1.1.tgz#67a47cf46b163782ab69802b17ac4a86fb89f83e" @@ -216,12 +205,12 @@ "@hapi/pinpoint" "^1.0.2" "@hapi/topo" "^3.1.3" -"@hapi/pinpoint@1.x.x", "@hapi/pinpoint@^1.0.2": +"@hapi/pinpoint@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@hapi/pinpoint/-/pinpoint-1.0.2.tgz#025b7a36dbbf4d35bf1acd071c26b20ef41e0d13" integrity sha512-dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ== -"@hapi/topo@3.x.x", "@hapi/topo@^3.1.3": +"@hapi/topo@^3.1.3": version "3.1.3" resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.3.tgz#c7a02e0d936596d29f184e6d7fdc07e8b5efce11" integrity sha512-JmS9/vQK6dcUYn7wc2YZTqzIKubAQcJKu2KCKAru6es482U5RT5fP1EXCPtlXpiK7PR0On/kpQKI4fRKkzpZBQ== @@ -693,11 +682,6 @@ async-each@^1.0.1: resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== -async@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/async/-/async-1.2.1.tgz#a4816a17cd5ff516dfa2c7698a453369b9790de0" - integrity sha1-pIFqF81f9RbfosdpikUzabl5DeA= - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -904,7 +888,7 @@ btoa-lite@^1.0.0: resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc= -buffer-from@>=1.1, buffer-from@^1.0.0: +buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== @@ -1011,16 +995,16 @@ callsite@^1.0.0: resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA= -callsites@3.1.0, callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - callsites@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + camelcase-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" @@ -1071,7 +1055,7 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chai@4.2.0, chai@^4.1.2: +chai@4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== @@ -1411,11 +1395,6 @@ console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control- resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= -console-polyfill@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/console-polyfill/-/console-polyfill-0.3.0.tgz#84900902a18c47a5eba932be75fa44d23e8af861" - integrity sha512-w+JSDZS7XML43Xnwo2x5O5vxB0ID7T5BdqDtyqT6uiCAX2kZAgcWxNaGqT97tZfSHzfOcvrfsDAodKcJ3UvnXQ== - contains-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" @@ -1613,13 +1592,6 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - debug@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" @@ -1634,6 +1606,13 @@ debug@3.2.6, debug@^3.1.0, debug@^3.2.6: dependencies: ms "^2.1.1" +debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" @@ -1641,18 +1620,11 @@ debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" -debuglog@^1.0.1: +debuglog@*, debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= -decache@^3.0.5: - version "3.1.0" - resolved "https://registry.yarnpkg.com/decache/-/decache-3.1.0.tgz#4f5036fbd6581fcc97237ac3954a244b9536c2da" - integrity sha1-T1A2+9ZYH8yXI3rDlUokS5U2wto= - dependencies: - find "^0.2.4" - decamelize-keys@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -1933,13 +1905,6 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -error-stack-parser@1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-1.3.3.tgz#fada6e3a9cd2b0e080e6d6fc751418649734f35c" - integrity sha1-+tpuOpzSsOCA5tb8dRQYZJc081w= - dependencies: - stackframe "^0.3.1" - error-stack-parser@^1.3.3: version "1.3.6" resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-1.3.6.tgz#e0e73b93e417138d1cd7c0b746b1a4a14854c292" @@ -2327,11 +2292,6 @@ fast-levenshtein@~2.0.4: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -fast-safe-stringify@2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743" - integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA== - fastq@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.6.0.tgz#4ec8a38f4ac25f21492673adb7eae9cfef47d1c2" @@ -2442,13 +2402,6 @@ find-versions@^3.0.0: array-uniq "^2.1.0" semver-regex "^2.0.0" -find@^0.2.4: - version "0.2.9" - resolved "https://registry.yarnpkg.com/find/-/find-0.2.9.tgz#4b73f1ff9e56ad91b76e716407fe5ffe6554bb8c" - integrity sha1-S3Px/55WrZG3bnFkB/5f/mVUu4w= - dependencies: - traverse-chain "~0.1.0" - flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -2538,11 +2491,11 @@ fs-extra@8.1.0, fs-extra@^8.0.0: universalify "^0.1.0" fs-minipass@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" - integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ== + version "1.2.7" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" + integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== dependencies: - minipass "^2.2.1" + minipass "^2.6.0" fs-readdir-recursive@^1.1.0: version "1.1.0" @@ -3067,7 +3020,7 @@ import-lazy@^2.1.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= -imurmurhash@^0.1.4: +imurmurhash@*, imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= @@ -3501,11 +3454,6 @@ is-word-character@^1.0.0: resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.3.tgz#264d15541cbad0ba833d3992c34e6b40873b08aa" integrity sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A== -is_js@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/is_js/-/is_js-0.9.0.tgz#0ab94540502ba7afa24c856aa985561669e9c52d" - integrity sha1-CrlFQFArp6+iTIVqqYVWFmnpxS0= - isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -3611,13 +3559,6 @@ java-properties@^1.0.0: resolved "https://registry.yarnpkg.com/java-properties/-/java-properties-1.0.2.tgz#ccd1fa73907438a5b5c38982269d0e771fe78211" integrity sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ== -joi-strict@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/joi-strict/-/joi-strict-1.1.3.tgz#7ffd4c722826d3082f67d3f51f21cd445635c5f7" - integrity sha512-xHfMrEb/C6tYWWz6c+oZA0Ch4fWJ7gV5JierV+9tsaUbJAIzxNIhOJUSf1S9AP9TWm4TmD2oIllaxPfldqg0VA== - dependencies: - "@hapi/joi" "16.0.1" - joi-strict@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/joi-strict/-/joi-strict-1.1.4.tgz#282935d3b33891e4067b32de2c1149b661aa9121" @@ -3625,10 +3566,10 @@ joi-strict@1.1.4: dependencies: "@hapi/joi" "16.1.1" -js-gardener@2.0.96: - version "2.0.96" - resolved "https://registry.yarnpkg.com/js-gardener/-/js-gardener-2.0.96.tgz#b610e14a4dc3115e49cae65ea5dfc25b299b94b7" - integrity sha512-Qj3zJPNOgWcWJJ/ig+P/3CGj5J7vFo1CO8Qm8IG+HFjmMqYYfVakq0fLVxkxu7ZFaA9L62sssJN4OSKTJomtWQ== +js-gardener@2.0.97: + version "2.0.97" + resolved "https://registry.yarnpkg.com/js-gardener/-/js-gardener-2.0.97.tgz#6725d63b1d6a81879230943132d1cc6820d26269" + integrity sha512-/cqZEG56fAtANbQvRtqZf+Oyx1zuxSrJf9zuam8XZJi6LMAkR6Z60bvMk7rh6mW8OS1KJc6CeMMjWS0gbq2nsg== dependencies: chalk "2.4.2" fancy-log "1.3.3" @@ -3639,7 +3580,7 @@ js-gardener@2.0.96: lodash.get "4.4.2" mocha "6.2.0" npm-check "5.9.0" - robo-config "3.3.10" + robo-config "3.3.11" js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" @@ -3694,7 +3635,7 @@ json-stringify-pretty-compact@2.0.0: resolved "https://registry.yarnpkg.com/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz#e77c419f52ff00c45a31f07f4c820c2433143885" integrity sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ== -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.0, json-stringify-safe@~5.0.1: +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= @@ -4014,6 +3955,11 @@ lockfile@^1.0.4: dependencies: signal-exit "^3.0.2" +lodash._baseindexof@*: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c" + integrity sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw= + lodash._baseuniq@~4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" @@ -4022,11 +3968,33 @@ lodash._baseuniq@~4.6.0: lodash._createset "~4.0.0" lodash._root "~3.0.0" +lodash._bindcallback@*: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" + integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4= + +lodash._cacheindexof@*: + version "3.0.2" + resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92" + integrity sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI= + +lodash._createcache@*: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093" + integrity sha1-VtagZAF2JeeevKa4AY4XRAvc8JM= + dependencies: + lodash._getnative "^3.0.0" + lodash._createset@~4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY= +lodash._getnative@*, lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= + lodash._root@~3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" @@ -4087,6 +4055,11 @@ lodash.mergewith@4.6.2: resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== +lodash.restparam@*: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU= + lodash.set@4.3.2, lodash.set@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" @@ -4169,11 +4142,6 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" -lru-cache@~2.2.1: - version "2.2.4" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.2.4.tgz#6c658619becf14031d0d0b594b16042ce4dc063d" - integrity sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0= - macos-release@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" @@ -4415,10 +4383,10 @@ minimist@~0.0.1: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= -minipass@^2.2.1, minipass@^2.3.5: - version "2.5.1" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.5.1.tgz#cf435a9bf9408796ca3a3525a8b851464279c9b8" - integrity sha512-dmpSnLJtNQioZFI5HfQ55Ad0DzzsMAb+HfokwRTNXwEQjepbTkl5mtIlSVxGIkOkxlpX7wIn5ET/oAd9fZ/Y/Q== +minipass@^2.2.1, minipass@^2.3.5, minipass@^2.6.0, minipass@^2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.6.4.tgz#c15b8e86d1ecee001652564a2c240c0b6e58e817" + integrity sha512-D/+wBy2YykFsCcWvaIslCKKus5tqGQZ8MhEzNx4mujLNgHhXWaaUOZkok6/kztAlTt0QkYLEyIShrybNmzoeTA== dependencies: safe-buffer "^5.1.2" yallist "^3.0.0" @@ -4593,18 +4561,6 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -nock@11.3.4: - version "11.3.4" - resolved "https://registry.yarnpkg.com/nock/-/nock-11.3.4.tgz#b3d8fde986da8f8484f4b8958e270fbb91250430" - integrity sha512-Mqjk3DeOkuji8eYaveUku+vMswxzVyhrKAz1J9jE86IsEHQg4136Z/PHz81lcjyz9F3yrJXu56Gb/S+LFUOZVg== - dependencies: - chai "^4.1.2" - debug "^4.1.0" - json-stringify-safe "^5.0.1" - lodash "^4.17.13" - mkdirp "^0.5.0" - propagate "^2.0.0" - node-emoji@^1.0.3, node-emoji@^1.4.1: version "1.10.0" resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" @@ -4672,19 +4628,6 @@ node-pre-gyp@^0.12.0: semver "^5.3.0" tar "^4" -node-tdd@2.5.9: - version "2.5.9" - resolved "https://registry.yarnpkg.com/node-tdd/-/node-tdd-2.5.9.tgz#96f13f9347d86e558c8597e4b0596ea536c1afcd" - integrity sha512-F5S9amABe4jbOZB4RXoNbG8Xt4iTS9VxswHjWQ1N2TMQJ+LqdI8YNvd7abZ4KYLXHk9/jZWB+EuCKpF0g/ouLA== - dependencies: - callsites "3.1.0" - joi-strict "1.1.4" - lodash.get "4.4.2" - nock "11.3.4" - smart-fs "1.9.14" - timekeeper "2.2.0" - tmp "0.1.0" - "nopt@2 || 3": version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" @@ -5694,11 +5637,6 @@ promzard@^0.3.0: dependencies: read "1" -propagate@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" - integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== - proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -6116,13 +6054,6 @@ replace-ext@1.0.0: resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= -request-ip@~2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/request-ip/-/request-ip-2.0.2.tgz#deeae6d4af21768497db8cd05fa37143f8f1257e" - integrity sha1-3urm1K8hdoSX24zQX6NxQ/jxJX4= - dependencies: - is_js "^0.9.0" - request@^2.86.0, request@^2.87.0, request@^2.88.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" @@ -6254,14 +6185,14 @@ rimraf@2.6.3: dependencies: glob "^7.1.3" -robo-config@3.3.10: - version "3.3.10" - resolved "https://registry.yarnpkg.com/robo-config/-/robo-config-3.3.10.tgz#710a4ed555bda1d84e25ef0141e1dc3db8535658" - integrity sha512-ZZNwHISQV8LBZ2uqV64lF4k2w/v+kKCBxTVl+4usvXvze7lAa1P9UQvn4HAXU4r8E6sOBhH1ZZUdTs4H+gkZdg== +robo-config@3.3.11: + version "3.3.11" + resolved "https://registry.yarnpkg.com/robo-config/-/robo-config-3.3.11.tgz#78920be4234f081d69ddc8a14eb10d67e7f68873" + integrity sha512-4nADVmqHaGuAAC8j76+3z2bJY0Hf8Lie0Ywlueyir9eW7PSkcoGLuXq+xtBsLif3HHZECmjMkmxfHeFay5S5fg== dependencies: app-root-path "2.2.1" deepmerge "4.0.0" - joi-strict "1.1.3" + joi-strict "1.1.4" lodash.clonedeep "4.5.0" lodash.difference "4.5.0" lodash.get "4.4.2" @@ -6270,24 +6201,6 @@ robo-config@3.3.10: object-treeify "1.1.20" smart-fs "1.9.14" -rollbar@2.13.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/rollbar/-/rollbar-2.13.0.tgz#6b16a96058ddc929bef43efa3e94ac7b94c8fb26" - integrity sha512-bIJeTkaeZ8nD/fw/bTkf1m1jlCfZkx6yE+qdzZM+QE1M0dDO0uW4LEXlBrVEYrmn359ITubRTlt4vH5Ezaulhg== - dependencies: - async "~1.2.1" - buffer-from ">=1.1" - console-polyfill "0.3.0" - debug "2.6.9" - error-stack-parser "1.3.3" - json-stringify-safe "~5.0.0" - lru-cache "~2.2.1" - request-ip "~2.0.1" - source-map ">=0.5.0" - uuid "3.0.x" - optionalDependencies: - decache "^3.0.5" - run-async@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" @@ -6590,11 +6503,6 @@ source-map-url@^0.4.0: resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= -source-map@>=0.5.0: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -6936,13 +6844,13 @@ table@^5.2.3: string-width "^3.0.0" tar@^4, tar@^4.4.10, tar@^4.4.8: - version "4.4.10" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" - integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== + version "4.4.11" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.11.tgz#7ac09801445a3cf74445ed27499136b5240ffb73" + integrity sha512-iI4zh3ktLJKaDNZKZc+fUONiQrSn9HkCFzamtb7k8FFmVilHVob7QsLX/VySAW8lAviMzMbFw4QtFb4errwgYA== dependencies: chownr "^1.1.1" fs-minipass "^1.2.5" - minipass "^2.3.5" + minipass "^2.6.4" minizlib "^1.2.1" mkdirp "^0.5.0" safe-buffer "^5.1.2" @@ -7010,23 +6918,11 @@ timed-out@^4.0.0: resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= -timekeeper@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/timekeeper/-/timekeeper-2.2.0.tgz#9645731fce9e3280a18614a57a9d1b72af3ca368" - integrity sha512-W3AmPTJWZkRwu+iSNxPIsLZ2ByADsOLbbLxe46UJyWj3mlYLlwucKiq+/dPm0l9wTzqoF3/2PH0AGFCebjq23A== - tiny-relative-date@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz#fa08aad501ed730f31cc043181d995c39a935e07" integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A== -tmp@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.1.0.tgz#ee434a4e22543082e294ba6201dcc6eafefa2877" - integrity sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw== - dependencies: - rimraf "^2.6.3" - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -7084,11 +6980,6 @@ tough-cookie@~2.4.3: psl "^1.1.24" punycode "^1.4.1" -traverse-chain@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/traverse-chain/-/traverse-chain-0.1.0.tgz#61dbc2d53b69ff6091a12a168fd7d433107e40f1" - integrity sha1-YdvC1Ttp/2CRoSoWj9fUMxB+QPE= - traverse@~0.6.6: version "0.6.6" resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" @@ -7370,12 +7261,7 @@ util-promisify@^2.1.0: dependencies: object.getownpropertydescriptors "^2.0.3" -uuid@3.0.x: - version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" - integrity sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE= - -uuid@3.3.3, uuid@^3.3.2: +uuid@^3.3.2: version "3.3.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==