From 8f8ac8fb146857a24a47be6ee9aefa9d2072eca5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Lov=C3=A9n?= Date: Wed, 19 Jul 2017 14:27:09 +0300 Subject: [PATCH 01/99] Fix issues with HTTP integration --- .../apiGateway/lib/method/index.test.js | 40 ++++ .../apiGateway/lib/method/integration.js | 16 ++ .../compile/events/apiGateway/lib/validate.js | 156 ++++++------- .../events/apiGateway/lib/validate.test.js | 205 ++++++++++++++++++ 4 files changed, 344 insertions(+), 73 deletions(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js index c81ed7edb3a..398aad6057e 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js @@ -148,6 +148,16 @@ describe('#compileMethods()', () => { path: 'users/create', method: 'post', integration: 'AWS', + request: { + parameters: { + 'method.request.querystring.foo': true, + 'method.request.querystring.bar': false, + 'method.request.path.foo': true, + 'method.request.path.bar': false, + 'method.request.header.foo': true, + 'method.request.header.bar': false, + }, + }, }, }, ]; @@ -156,6 +166,17 @@ describe('#compileMethods()', () => { awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate .Resources.ApiGatewayMethodUsersCreatePost.Properties.Integration.Type ).to.equal('AWS'); + expect( + awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ApiGatewayMethodUsersCreatePost.Properties.Integration.RequestParameters + ).to.deep.equal({ + 'integration.request.querystring.foo': 'method.request.querystring.foo', + 'integration.request.querystring.bar': 'method.request.querystring.bar', + 'integration.request.path.foo': 'method.request.path.foo', + 'integration.request.path.bar': 'method.request.path.bar', + 'integration.request.header.foo': 'method.request.header.foo', + 'integration.request.header.bar': 'method.request.header.bar', + }); }); }); @@ -188,6 +209,14 @@ describe('#compileMethods()', () => { integration: 'HTTP', request: { uri: 'https://example.com', + parameters: { + 'method.request.querystring.foo': true, + 'method.request.querystring.bar': false, + 'method.request.path.foo': true, + 'method.request.path.bar': false, + 'method.request.header.foo': true, + 'method.request.header.bar': false, + }, }, }, }, @@ -209,6 +238,17 @@ describe('#compileMethods()', () => { awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate .Resources.ApiGatewayMethodUsersCreatePost.Properties.Integration.RequestTemplates ).to.equal(undefined); + expect( + awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ApiGatewayMethodUsersCreatePost.Properties.Integration.RequestParameters + ).to.deep.equal({ + 'integration.request.querystring.foo': 'method.request.querystring.foo', + 'integration.request.querystring.bar': 'method.request.querystring.bar', + 'integration.request.path.foo': 'method.request.path.foo', + 'integration.request.path.bar': 'method.request.path.bar', + 'integration.request.header.foo': 'method.request.header.foo', + 'integration.request.header.bar': 'method.request.header.bar', + }); }); }); diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/integration.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/integration.js index 28aa0d7a717..b8608720928 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/integration.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/integration.js @@ -88,6 +88,12 @@ module.exports = { }); } + if (type === 'AWS' || type === 'HTTP') { + _.assign(integration, { + RequestParameters: this.getIntegrationRequestParameters(http), + }); + } + return { Properties: { Integration: integration, @@ -174,6 +180,16 @@ module.exports = { return !_.isEmpty(integrationRequestTemplates) ? integrationRequestTemplates : undefined; }, + getIntegrationRequestParameters(http) { + const parameters = {}; + if (http.request && http.request.parameters) { + _.each(http.request.parameters, (value, key) => { + parameters[`integration.${key.substring('method.'.length)}`] = key; + }); + } + return parameters; + }, + DEFAULT_JSON_REQUEST_TEMPLATE: ` #set( $body = $input.json("$") ) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.js index 1d7e55b9d34..75dc9563c39 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.js @@ -66,49 +66,37 @@ module.exports = { http.integration = this.getIntegration(http, functionName); - if (http.integration === 'AWS') { - if (http.request) { - http.request = this.getRequest(http); - - if (http.request.parameters) { - http.request.parameters = this.getRequestParameters(http.request); - } - } else { - http.request = {}; - } + if ((http.integration === 'HTTP' || http.integration === 'HTTP_PROXY') && + (!http.request || !http.request.uri)) { + const errorMessage = [ + `You need to set the request uri when using the ${http.integration} integration.`, + ]; + throw new this.serverless.classes.Error(errorMessage); + } + if (http.integration === 'AWS' || http.integration === 'HTTP') { + http.request = this.getRequest(http); http.request.passThrough = this.getRequestPassThrough(http); - - if (http.response) { - http.response = this.getResponse(http); - } else { - http.response = {}; - } - - if (http.response.statusCodes) { - http.response.statusCodes = _.assign({}, http.response.statusCodes); - - if (!_.some(http.response.statusCodes, code => code.pattern === '')) { - http.response.statusCodes['200'] = DEFAULT_STATUS_CODES['200']; - } - } else { - http.response.statusCodes = DEFAULT_STATUS_CODES; - } - } else if (http.integration === 'AWS_PROXY') { + http.response = this.getResponse(http); + } else if (http.integration === 'AWS_PROXY' || http.integration === 'HTTP_PROXY') { // show a warning when request / response config is used with AWS_PROXY (LAMBDA-PROXY) if (http.request) { const keys = Object.keys(http.request); - if (!(keys.length === 1 && keys[0] === 'parameters')) { + const allowedKeys = + http.integration === 'AWS_PROXY' ? ['parameters'] : ['parameters', 'uri']; + + if (!_.isEmpty(_.difference(keys, allowedKeys))) { const requestWarningMessage = [ - 'Warning! You\'re using the LAMBDA-PROXY in combination with a request', + `Warning! You're using the ${http.integration} in combination with a request`, ` configuration in your function "${functionName}". Only the`, - ' \'request.parameters\' configs are available in conjunction with', - ' LAMBDA-PROXY. Serverless will remove this configuration automatically', + _.map(allowedKeys, value => `request.${value}`), + `configs are available in conjunction with ${http.integration}.`, + ' Serverless will remove this configuration automatically', ' before deployment.', ].join(''); this.serverless.cli.log(requestWarningMessage); for (const key of keys) { - if (key !== 'parameters') { + if (!_.includes(allowedKeys, key)) { delete http.request[key]; } } @@ -118,15 +106,11 @@ module.exports = { delete http.request; } else { http.request = this.getRequest(http); - - if (http.request.parameters) { - http.request.parameters = this.getRequestParameters(http.request); - } } } if (http.response) { const warningMessage = [ - 'Warning! You\'re using the LAMBDA-PROXY in combination with response', + `Warning! You're using the ${http.integration} in combination with response`, ` configuration in your function "${functionName}".`, ' Serverless will remove this configuration automatically before deployment.', ].join(''); @@ -134,13 +118,6 @@ module.exports = { delete http.response; } - } else if (http.integration === 'HTTP' || http.integration === 'HTTP_PROXY') { - if (!http.request || !http.request.uri) { - const errorMessage = [ - `You need to set the request uri when using the ${http.integration} integration.`, - ]; - throw new this.serverless.classes.Error(errorMessage); - } } events.push({ @@ -377,22 +354,32 @@ module.exports = { }, getRequest(http) { - if (typeof http.request !== 'object') { - const errorMessage = [ - 'Request config must be provided as an object.', - ' Please check the docs for more info.', - ].join(''); - throw new this.serverless.classes.Error(errorMessage); - } - if (http.request.template && typeof http.request.template !== 'object') { - const errorMessage = [ - 'Template config must be provided as an object.', - ' Please check the docs for more info.', - ].join(''); - throw new this.serverless.classes.Error(errorMessage); + if (http.request) { + const request = http.request; + + if (typeof http.request !== 'object') { + const errorMessage = [ + 'Request config must be provided as an object.', + ' Please check the docs for more info.', + ].join(''); + throw new this.serverless.classes.Error(errorMessage); + } + if (http.request.template && typeof http.request.template !== 'object') { + const errorMessage = [ + 'Template config must be provided as an object.', + ' Please check the docs for more info.', + ].join(''); + throw new this.serverless.classes.Error(errorMessage); + } + + if (request.parameters) { + request.parameters = this.getRequestParameters(request); + } + + return request; } - return http.request; + return {}; }, getRequestParameters(httpRequest) { @@ -431,25 +418,48 @@ module.exports = { // Validate() sets the passThrough default to NEVER. This is inappropriate // for HTTP and MOCK integrations, where there is no default request template defined. const type = http.integration || 'AWS_PROXY'; - return type === 'AWS' ? requestPassThroughBehaviors[0] : 'WHEN_NO_MATCH'; + if (type === 'AWS') { + return requestPassThroughBehaviors[0]; + } else if (type === 'HTTP' || type === 'MOCK') { + return undefined; + } + + return 'WHEN_NO_MATCH'; }, getResponse(http) { - if (typeof http.response !== 'object') { - const errorMessage = [ - 'Response config must be provided as an object.', - ' Please check the docs for more info.', - ].join(''); - throw new this.serverless.classes.Error(errorMessage); - } - if (http.response.headers && typeof http.response.headers !== 'object') { - const errorMessage = [ - 'Response headers must be provided as an object.', - ' Please check the docs for more info.', - ].join(''); - throw new this.serverless.classes.Error(errorMessage); + if (http.response) { + const response = http.response; + + if (typeof response !== 'object') { + const errorMessage = [ + 'Response config must be provided as an object.', + ' Please check the docs for more info.', + ].join(''); + throw new this.serverless.classes.Error(errorMessage); + } + if (response.headers && typeof response.headers !== 'object') { + const errorMessage = [ + 'Response headers must be provided as an object.', + ' Please check the docs for more info.', + ].join(''); + throw new this.serverless.classes.Error(errorMessage); + } + + if (response.statusCodes) { + response.statusCodes = _.assign({}, response.statusCodes); + + if (!_.some(response.statusCodes, code => code.pattern === '')) { + response.statusCodes['200'] = DEFAULT_STATUS_CODES['200']; + } + } else { + response.statusCodes = DEFAULT_STATUS_CODES; + } + + return response; } - return http.response; + + return {}; }, getLambdaArn(name) { diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.test.js index 6e9c6a12b1b..fe1e33a147e 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.test.js @@ -1196,6 +1196,50 @@ describe('#validate()', () => { expect(validated.events[0].http.integration).to.equal('HTTP'); }); + it('should process request parameters for HTTP integration', () => { + awsCompileApigEvents.serverless.service.functions = { + first: { + events: [ + { + http: { + method: 'GET', + path: 'users/list', + integration: 'HTTP', + request: { + uri: 'https://example.com', + parameters: { + querystrings: { + foo: true, + bar: false, + }, + paths: { + foo: true, + bar: false, + }, + headers: { + foo: true, + bar: false, + }, + }, + }, + }, + }, + ], + }, + }; + + const validated = awsCompileApigEvents.validate(); + expect(validated.events).to.be.an('Array').with.length(1); + expect(validated.events[0].http.request.parameters).to.deep.equal({ + 'method.request.querystring.foo': true, + 'method.request.querystring.bar': false, + 'method.request.path.foo': true, + 'method.request.path.bar': false, + 'method.request.header.foo': true, + 'method.request.header.bar': false, + }); + }); + it('should throw if no uri is set in HTTP integration', () => { awsCompileApigEvents.serverless.service.functions = { first: { @@ -1237,6 +1281,50 @@ describe('#validate()', () => { expect(validated.events[0].http.integration).to.equal('HTTP_PROXY'); }); + it('should process request parameters for HTTP_PROXY integration', () => { + awsCompileApigEvents.serverless.service.functions = { + first: { + events: [ + { + http: { + method: 'GET', + path: 'users/list', + integration: 'HTTP_PROXY', + request: { + uri: 'https://example.com', + parameters: { + querystrings: { + foo: true, + bar: false, + }, + paths: { + foo: true, + bar: false, + }, + headers: { + foo: true, + bar: false, + }, + }, + }, + }, + }, + ], + }, + }; + + const validated = awsCompileApigEvents.validate(); + expect(validated.events).to.be.an('Array').with.length(1); + expect(validated.events[0].http.request.parameters).to.deep.equal({ + 'method.request.querystring.foo': true, + 'method.request.querystring.bar': false, + 'method.request.path.foo': true, + 'method.request.path.bar': false, + 'method.request.header.foo': true, + 'method.request.header.bar': false, + }); + }); + it('should throw if no uri is set in HTTP_PROXY integration', () => { awsCompileApigEvents.serverless.service.functions = { first: { @@ -1255,6 +1343,123 @@ describe('#validate()', () => { expect(() => awsCompileApigEvents.validate()).to.throw(Error); }); + it('should show a warning message when using request / response config with HTTP-PROXY', () => { + awsCompileApigEvents.serverless.service.functions = { + first: { + events: [ + { + http: { + method: 'GET', + path: 'users/list', + integration: 'http-proxy', + request: { + uri: 'http://www.example.com', + template: { + 'template/1': '{ "stage" : "$context.stage" }', + 'template/2': '{ "httpMethod" : "$context.httpMethod" }', + }, + }, + response: { + template: "$input.path('$.foo')", + }, + }, + }, + ], + }, + }; + // initialize so we get the log method from the CLI in place + serverless.init(); + + const logStub = sinon.stub(serverless.cli, 'log'); + + awsCompileApigEvents.validate(); + + expect(logStub.calledTwice).to.be.equal(true); + expect(logStub.args[0][0].length).to.be.at.least(1); + }); + + it('should not show a warning message when using request.parameter with HTTP-PROXY', () => { + awsCompileApigEvents.serverless.service.functions = { + first: { + events: [ + { + http: { + method: 'GET', + path: 'users/list', + integration: 'http-proxy', + request: { + uri: 'http://www.example.com', + parameters: { + querystrings: { + foo: true, + bar: false, + }, + paths: { + foo: true, + bar: false, + }, + headers: { + foo: true, + bar: false, + }, + }, + }, + }, + }, + ], + }, + }; + // initialize so we get the log method from the CLI in place + serverless.init(); + + const logStub = sinon.stub(serverless.cli, 'log'); + + awsCompileApigEvents.validate(); + + expect(logStub.called).to.be.equal(false); + }); + + it('should remove non-parameter or uri request/response config with HTTP-PROXY', () => { + awsCompileApigEvents.serverless.service.functions = { + first: { + events: [ + { + http: { + method: 'GET', + path: 'users/list', + integration: 'http-proxy', + request: { + uri: 'http://www.example.com', + template: { + 'template/1': '{ "stage" : "$context.stage" }', + }, + parameters: { + paths: { + foo: true, + }, + }, + }, + response: {}, + }, + }, + ], + }, + }; + // initialize so we get the log method from the CLI in place + serverless.init(); + + // don't want to print the logs in this test + sinon.stub(serverless.cli, 'log'); + + const validated = awsCompileApigEvents.validate(); + expect(validated.events).to.be.an('Array').with.length(1); + expect(validated.events[0].http.response).to.equal(undefined); + expect(validated.events[0].http.request.uri).to.equal('http://www.example.com'); + expect(validated.events[0].http.request.parameters).to.deep.equal({ + 'method.request.path.foo': true, + }); + }); + it('should support MOCK integration', () => { awsCompileApigEvents.serverless.service.functions = { first: { From 2b6bc92d90eeb5e5050748d29837c8095cdd2ebd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Lov=C3=A9n?= Date: Wed, 19 Jul 2017 16:01:00 +0300 Subject: [PATCH 02/99] Only set RequestParameters property when request has parameters --- .../apiGateway/lib/method/index.test.js | 19 +++++++++++++++++++ .../apiGateway/lib/method/integration.js | 3 ++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js index 398aad6057e..cd55443662f 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js @@ -111,6 +111,25 @@ describe('#compileMethods()', () => { }); }); + it('should not have integration RequestParameters when no request parameters are set', () => { + awsCompileApigEvents.validated.events = [ + { + functionName: 'First', + http: { + path: 'users/create', + method: 'post', + integration: 'AWS', + }, + }, + ]; + return awsCompileApigEvents.compileMethods().then(() => { + expect( + awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ApiGatewayMethodUsersCreatePost.Properties.Integration + ).to.not.have.key('RequestParameters'); + }); + }); + it('should create method resources when http events given', () => { awsCompileApigEvents.validated.events = [ { diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/integration.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/integration.js index b8608720928..ea1361fc009 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/integration.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/integration.js @@ -88,7 +88,8 @@ module.exports = { }); } - if (type === 'AWS' || type === 'HTTP') { + if ((type === 'AWS' || type === 'HTTP') && + (http.request && !_.isEmpty(http.request.parameters))) { _.assign(integration, { RequestParameters: this.getIntegrationRequestParameters(http), }); From 832c7b79f7b99ceff7894160ed28a7c56b06e804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Lov=C3=A9n?= Date: Tue, 25 Jul 2017 14:44:21 +0300 Subject: [PATCH 03/99] Add RequestParameters to Integration for HTTP_PROXY as well --- .../apiGateway/lib/method/index.test.js | 19 +++++++++++++++++++ .../apiGateway/lib/method/integration.js | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js index cd55443662f..896c09f8960 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js @@ -313,6 +313,14 @@ describe('#compileMethods()', () => { request: { uri: 'https://example.com', method: 'patch', + parameters: { + 'method.request.querystring.foo': true, + 'method.request.querystring.bar': false, + 'method.request.path.foo': true, + 'method.request.path.bar': false, + 'method.request.header.foo': true, + 'method.request.header.bar': false, + }, }, }, }, @@ -330,6 +338,17 @@ describe('#compileMethods()', () => { awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate .Resources.ApiGatewayMethodUsersCreatePost.Properties.Integration.IntegrationHttpMethod ).to.equal('PATCH'); + expect( + awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ApiGatewayMethodUsersCreatePost.Properties.Integration.RequestParameters + ).to.deep.equal({ + 'integration.request.querystring.foo': 'method.request.querystring.foo', + 'integration.request.querystring.bar': 'method.request.querystring.bar', + 'integration.request.path.foo': 'method.request.path.foo', + 'integration.request.path.bar': 'method.request.path.bar', + 'integration.request.header.foo': 'method.request.header.foo', + 'integration.request.header.bar': 'method.request.header.bar', + }); }); }); diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/integration.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/integration.js index ea1361fc009..1a900bd9d9b 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/integration.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/integration.js @@ -88,7 +88,7 @@ module.exports = { }); } - if ((type === 'AWS' || type === 'HTTP') && + if ((type === 'AWS' || type === 'HTTP' || type === 'HTTP_PROXY') && (http.request && !_.isEmpty(http.request.parameters))) { _.assign(integration, { RequestParameters: this.getIntegrationRequestParameters(http), From be96454fabe46ddacea45903a3dee93defa02754 Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Sat, 2 Sep 2017 18:39:06 +0700 Subject: [PATCH 04/99] update share api gateway resource --- .../events/apiGateway/lib/resources.js | 209 +- .../compile/events/apiGateway/lib/restApi.js | 4 + lib/plugins/aws/provider/awsProvider.js | 29 + package-lock.json | 16 +- yarn.lock | 4303 +++++++++++++++++ 5 files changed, 4521 insertions(+), 40 deletions(-) create mode 100644 yarn.lock diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js index ea714f1707c..98736e0baa1 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js @@ -6,67 +6,212 @@ const _ = require('lodash'); module.exports = { compileResources() { - const resourcePaths = this.getResourcePaths(); - - this.apiGatewayResourceNames = {}; - this.apiGatewayResourceLogicalIds = {}; + this.apiGatewayResources = this.getResourcePaths(); // ['users', 'users/create', 'users/create/something'] - resourcePaths.forEach(path => { - const pathArray = path.split('/'); - const resourceName = this.provider.naming.normalizePath(path); - const resourceLogicalId = this.provider.naming.getResourceLogicalId(path); - const pathPart = pathArray.pop(); - const parentPath = pathArray.join('/'); - const parentRef = this.getResourceId(parentPath); + _.keys(this.apiGatewayResources).forEach((path) => { + const resource = this.apiGatewayResources[path]; + if (resource.resourceId) { + return; + } - this.apiGatewayResourceNames[path] = resourceName; - this.apiGatewayResourceLogicalIds[path] = resourceLogicalId; + resource.resourceLogicalId = this.provider.naming.getResourceLogicalId(path); + resource.resourceId = { Ref: resource.resourceLogicalId }; + + const parentRef = this.getParentResourceId(resource.parent + ? resource.parent.resourceId : this.getResourceId()); _.merge(this.serverless.service.provider.compiledCloudFormationTemplate.Resources, { - [resourceLogicalId]: { + [resource.resourceLogicalId]: { Type: 'AWS::ApiGateway::Resource', Properties: { ParentId: parentRef, - PathPart: pathPart, - RestApiId: { Ref: this.apiGatewayRestApiLogicalId }, + PathPart: resource.pathPart, + RestApiId: this.provider.getApiGatewayRestApiId(), }, }, }); }); + return BbPromise.resolve(); }, + combineResourceTrees(trees) { + function getNodePaths(result, node) { + const r = result; + r[node.path] = node; + if (!node.name) { + r[node.path].name = this.provider.naming.normalizePath(node.path); + } + + node.children.forEach(getNodePaths); + } + + return _.reduce(trees, (result, tree) => { + getNodePaths(result, tree); + return result; + }, {}); + }, + getResourcePaths() { - const paths = _.reduce(this.validated.events, (resourcePaths, event) => { - let path = event.http.path; + const trees = []; + const predefinedResourceNodes = []; + const methodNodes = []; + const predefinedResources = this.provider.getApiGatewayPredefinedResources(); + - while (path !== '') { - if (resourcePaths.indexOf(path) === -1) { - resourcePaths.push(path); + function cutBranch(node) { + if (!node.parent) { + return; + } + + const n = node; + if (node.parent.children.length <= 1) { + n.parent.children = []; + } else { + n.parent.children = node.parent.children.filter((c) => c.path !== n.path); + n.parent.isCut = true; + } + n.parent = null; + } + + // organize all resource paths into N-ary tree + function applyResource(resource, isMethod) { + let root; + let parent; + let currentPath; + const path = resource.path.replace(/^\//, '').replace(/\/$/, ''); + const pathParts = path.split('/'); + + function applyNodeResource(node, parts, index) { + const n = node; + if (index === parts.length - 1) { + n.name = resource.name; + n.resourceId = resource.resourceId; + predefinedResourceNodes.push(node); + if (isMethod && !node.hasMethod) { + n.hasMethod = true; + methodNodes.push(node); + } } - const splittedPath = path.split('/'); - splittedPath.pop(); - path = splittedPath.join('/'); + parent = node; } - return resourcePaths; - }, []); - // (stable) sort so that parents get processed before children - return _.sortBy(paths, path => path.split('/').length); + + pathParts.forEach((pathPart, index) => { + currentPath = currentPath ? `${currentPath}/${pathPart}` : pathPart; + root = root || _.find(trees, (node) => node.path === currentPath); + parent = parent || root; + + let node; + if (parent && parent.children.length > 0) { + node = _.find(parent.children, (n) => n.path === currentPath); + if (node) { + applyNodeResource(node, pathParts, index); + return; + } + } + + node = { + path: currentPath, + pathPart, + parent, + + level: index, + children: [], + }; + + if (!root) { + root = node; + trees.push(root); + } + + applyNodeResource(node, pathParts, index); + }); + } + + predefinedResources.forEach(applyResource); + this.validated.events.forEach((event) => applyResource(event.http, true)); + + // if predefinedResources array is empty, return all paths + if (predefinedResourceNodes.length === 0) { + return this.combineResourceTrees(trees); + } + // if all methods have resource ID already, no need to validate resource trees + if (_.every(this.validated.events, (event) => + _.some(predefinedResourceNodes, (node) => + node.path === event.http.path))) { + return _.reduce(predefinedResources, (resourceMap, resource) => { + const r = resourceMap; + r[resource.path] = resource; + return r; + }, {}); + } + + // cut resource branches from trees + const sortedResourceNodes = _.sortBy(predefinedResourceNodes, + node => node.level); + const validatedTrees = []; + + for (let i = sortedResourceNodes.length - 1; i >= 0; i--) { + const node = sortedResourceNodes[i]; + let parent = node.parent; + cutBranch(node); + + while (parent.parent) { + if (parent.parent.hasMethod && !parent.parent.resourceId) { + throw new Error(`Resource ID for path ${node.parent.path} is required`); + } + + if (parent.parent.resourceId || parent.parent.children.length > 1) { + cutBranch(parent); + break; + } + + parent = parent.parent; + } + } + + // get branches that begin from root resource + methodNodes.forEach((node) => { + let iter = node; + while (iter) { + if (iter.resourceId) { + cutBranch(iter); + if (_.every(validatedTrees, (t) => t.path !== node.path)) { + validatedTrees.push(iter); + } + + break; + } + + if (iter.isCut || (!iter.parent && iter.level > 0)) { + throw new Error(`Resource ID for path ${iter.path} is required`); + } + + iter = iter.parent; + } + }); + + return this.combineResourceTrees(validatedTrees); }, getResourceId(path) { - if (path === '') { - return { 'Fn::GetAtt': [this.apiGatewayRestApiLogicalId, 'RootResourceId'] }; + if (!path) { + return this.provider.getApiGatewayRestApiRootResourceId(); } - return { Ref: this.apiGatewayResourceLogicalIds[path] }; + + if (!this.apiGatewayResources[path]) { + throw new Error('Can not find API Gateway resource from path', path); + } + + return this.apiGatewayResources[path].resourceId; }, getResourceName(path) { if (path === '') { return ''; } - return this.apiGatewayResourceNames[path]; + return this.apiGatewayResources[path].name; }, }; diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/restApi.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/restApi.js index 9d180d05047..5cb4749be25 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/restApi.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/restApi.js @@ -5,6 +5,10 @@ const BbPromise = require('bluebird'); module.exports = { compileRestApi() { + if (this.serverless.service.provider.apiGateway.restApiId) { + return BbPromise.resolve(); + } + this.apiGatewayRestApiLogicalId = this.provider.naming.getRestApiLogicalId(); _.merge(this.serverless.service.provider.compiledCloudFormationTemplate.Resources, { diff --git a/lib/plugins/aws/provider/awsProvider.js b/lib/plugins/aws/provider/awsProvider.js index d06c2ab21d3..0b158cd7955 100644 --- a/lib/plugins/aws/provider/awsProvider.js +++ b/lib/plugins/aws/provider/awsProvider.js @@ -254,6 +254,35 @@ class AwsProvider { return this.request('STS', 'getCallerIdentity', {}) .then((result) => result.Account); } + + /** + * Get API Gateway Rest API ID from serverless config + */ + getApiGatewayRestApiId() { + if (this.serverless.service.provider.apiGateway.restApiId) { + return this.serverless.service.provider.apiGateway.restApiId; + } + + return { Ref: this.naming.getRestApiLogicalId() }; + } + + /** + * Get Rest API Root Resource ID from serverless config + */ + getApiGatewayRestApiRootResourceId() { + if (this.serverless.service.provider.apiGateway.restApiRootResourceId) { + return this.serverless.service.provider.apiGateway.restApiRootResourceId; + } + return { 'Fn::GetAtt': [this.naming.getRestApiLogicalId(), 'RootResourceId'] }; + } + + /** + * Get Rest API Predefined Resources from serverless config + */ + getApiGatewayPredefinedResources() { + return this.serverless.service.provider.apiGateway.restApiResources + ? this.serverless.service.provider.apiGateway.restApiResources : []; + } } module.exports = AwsProvider; diff --git a/package-lock.json b/package-lock.json index 3524dbb508a..ffb2147ab85 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5573,14 +5573,6 @@ "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=" }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -5591,6 +5583,14 @@ "strip-ansi": "3.0.1" } }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000000..e86f9944417 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,4303 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@serverless/fdk@^0.5.1": + version "0.5.1" + resolved "http://npm.nexx.com.vn/@serverless%2ffdk/-/fdk-0.5.1.tgz#9d420568bfb291d73f8a8a9b35ba68a974f7d0b7" + dependencies: + isomorphic-fetch "^2.2.1" + ramda "^0.24.1" + url-parse "^1.1.9" + +"@types/graphql@0.10.2": + version "0.10.2" + resolved "http://npm.nexx.com.vn/@types%2fgraphql/-/graphql-0.10.2.tgz#d7c79acbaa17453b6681c80c34b38fcb10c4c08c" + +abab@^1.0.3: + version "1.0.3" + resolved "http://npm.nexx.com.vn/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" + +abbrev@1: + version "1.1.0" + resolved "http://npm.nexx.com.vn/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" + +abbrev@1.0.x: + version "1.0.9" + resolved "http://npm.nexx.com.vn/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +acorn-globals@^3.1.0: + version "3.1.0" + resolved "http://npm.nexx.com.vn/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" + dependencies: + acorn "^4.0.4" + +acorn-jsx@^3.0.0: + version "3.0.1" + resolved "http://npm.nexx.com.vn/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn@^3.0.4: + version "3.3.0" + resolved "http://npm.nexx.com.vn/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +acorn@^4.0.4: + version "4.0.13" + resolved "http://npm.nexx.com.vn/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" + +acorn@^5.1.1: + version "5.1.1" + resolved "http://npm.nexx.com.vn/acorn/-/acorn-5.1.1.tgz#53fe161111f912ab999ee887a90a0bc52822fd75" + +agent-base@2: + version "2.1.1" + resolved "http://npm.nexx.com.vn/agent-base/-/agent-base-2.1.1.tgz#d6de10d5af6132d5bd692427d46fc538539094c7" + dependencies: + extend "~3.0.0" + semver "~5.0.1" + +ajv-keywords@^1.0.0: + version "1.5.1" + resolved "http://npm.nexx.com.vn/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" + +ajv@^4.7.0, ajv@^4.9.1: + version "4.11.8" + resolved "http://npm.nexx.com.vn/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "http://npm.nexx.com.vn/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "http://npm.nexx.com.vn/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +ansi-escapes@^1.1.0, ansi-escapes@^1.4.0: + version "1.4.0" + resolved "http://npm.nexx.com.vn/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + +ansi-red@^0.1.1: + version "0.1.1" + resolved "http://npm.nexx.com.vn/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c" + dependencies: + ansi-wrap "0.1.0" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "http://npm.nexx.com.vn/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "http://npm.nexx.com.vn/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "http://npm.nexx.com.vn/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +ansi-styles@^3.1.0: + version "3.2.0" + resolved "http://npm.nexx.com.vn/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" + dependencies: + color-convert "^1.9.0" + +ansi-wrap@0.1.0: + version "0.1.0" + resolved "http://npm.nexx.com.vn/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" + +ansi@^0.3.0, ansi@~0.3.1: + version "0.3.1" + resolved "http://npm.nexx.com.vn/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" + +ansicolors@~0.2.1: + version "0.2.1" + resolved "http://npm.nexx.com.vn/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef" + +apollo-client@^1.4.2: + version "1.9.1" + resolved "http://npm.nexx.com.vn/apollo-client/-/apollo-client-1.9.1.tgz#9e6a383605572c755038cf5d7fdac9382bcdc040" + dependencies: + apollo-link-core "^0.5.0" + graphql "^0.10.0" + graphql-anywhere "^3.0.1" + graphql-tag "^2.0.0" + redux "^3.4.0" + symbol-observable "^1.0.2" + whatwg-fetch "^2.0.0" + optionalDependencies: + "@types/graphql" "0.10.2" + +apollo-link-core@^0.5.0: + version "0.5.0" + resolved "http://npm.nexx.com.vn/apollo-link-core/-/apollo-link-core-0.5.0.tgz#dc87da1aaa63b029321ae70938dc26257f5ab8c6" + dependencies: + graphql "^0.10.3" + graphql-tag "^2.4.2" + zen-observable-ts "^0.4.0" + +append-transform@^0.4.0: + version "0.4.0" + resolved "http://npm.nexx.com.vn/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" + dependencies: + default-require-extensions "^1.0.0" + +archiver-utils@^1.3.0: + version "1.3.0" + resolved "http://npm.nexx.com.vn/archiver-utils/-/archiver-utils-1.3.0.tgz#e50b4c09c70bf3d680e32ff1b7994e9f9d895174" + dependencies: + glob "^7.0.0" + graceful-fs "^4.1.0" + lazystream "^1.0.0" + lodash "^4.8.0" + normalize-path "^2.0.0" + readable-stream "^2.0.0" + +archiver@^1.1.0: + version "1.3.0" + resolved "http://npm.nexx.com.vn/archiver/-/archiver-1.3.0.tgz#4f2194d6d8f99df3f531e6881f14f15d55faaf22" + dependencies: + archiver-utils "^1.3.0" + async "^2.0.0" + buffer-crc32 "^0.2.1" + glob "^7.0.0" + lodash "^4.8.0" + readable-stream "^2.0.0" + tar-stream "^1.5.0" + walkdir "^0.0.11" + zip-stream "^1.1.0" + +are-we-there-yet@~1.1.2: + version "1.1.4" + resolved "http://npm.nexx.com.vn/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.7: + version "1.0.9" + resolved "http://npm.nexx.com.vn/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + dependencies: + sprintf-js "~1.0.2" + +argparse@~0.1.15: + version "0.1.16" + resolved "http://npm.nexx.com.vn/argparse/-/argparse-0.1.16.tgz#cfd01e0fbba3d6caed049fbd758d40f65196f57c" + dependencies: + underscore "~1.7.0" + underscore.string "~2.4.0" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.1.0" + resolved "http://npm.nexx.com.vn/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +array-equal@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + +array-union@^1.0.1: + version "1.0.2" + resolved "http://npm.nexx.com.vn/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "http://npm.nexx.com.vn/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "http://npm.nexx.com.vn/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +array.prototype.find@^2.0.1: + version "2.0.4" + resolved "http://npm.nexx.com.vn/array.prototype.find/-/array.prototype.find-2.0.4.tgz#556a5c5362c08648323ddaeb9de9d14bc1864c90" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.7.0" + +arrify@^1.0.0, arrify@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asap@~2.0.3: + version "2.0.6" + resolved "http://npm.nexx.com.vn/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + +asn1@~0.2.3: + version "0.2.3" + resolved "http://npm.nexx.com.vn/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "http://npm.nexx.com.vn/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assertion-error@^1.0.1: + version "1.0.2" + resolved "http://npm.nexx.com.vn/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" + +async@1.x, async@^1.4.0, async@^1.5.2: + version "1.5.2" + resolved "http://npm.nexx.com.vn/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@^2.0.0, async@^2.1.4: + version "2.5.0" + resolved "http://npm.nexx.com.vn/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d" + dependencies: + lodash "^4.14.0" + +asynckit@^0.4.0: + version "0.4.0" + resolved "http://npm.nexx.com.vn/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +autolinker@~0.15.0: + version "0.15.3" + resolved "http://npm.nexx.com.vn/autolinker/-/autolinker-0.15.3.tgz#342417d8f2f3461b14cf09088d5edf8791dc9832" + +aws-sdk@^2.7.13: + version "2.104.0" + resolved "http://npm.nexx.com.vn/aws-sdk/-/aws-sdk-2.104.0.tgz#335e0553380c0ae8dd43d11b76d73dfb926f6333" + dependencies: + buffer "4.9.1" + crypto-browserify "1.0.9" + events "^1.1.1" + jmespath "0.15.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + uuid "3.0.1" + xml2js "0.4.17" + xmlbuilder "4.2.1" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "http://npm.nexx.com.vn/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws4@^1.2.1: + version "1.6.0" + resolved "http://npm.nexx.com.vn/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" + +babel-code-frame@^6.16.0, babel-code-frame@^6.26.0: + version "6.26.0" + resolved "http://npm.nexx.com.vn/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^6.0.0, babel-core@^6.26.0: + version "6.26.0" + resolved "http://npm.nexx.com.vn/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.0" + debug "^2.6.8" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.7" + slash "^1.0.0" + source-map "^0.5.6" + +babel-generator@^6.18.0, babel-generator@^6.26.0: + version "6.26.0" + resolved "http://npm.nexx.com.vn/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.6" + trim-right "^1.0.1" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "http://npm.nexx.com.vn/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-jest@^18.0.0: + version "18.0.0" + resolved "http://npm.nexx.com.vn/babel-jest/-/babel-jest-18.0.0.tgz#17ebba8cb3285c906d859e8707e4e79795fb65e3" + dependencies: + babel-core "^6.0.0" + babel-plugin-istanbul "^3.0.0" + babel-preset-jest "^18.0.0" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "http://npm.nexx.com.vn/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-istanbul@^3.0.0: + version "3.1.2" + resolved "http://npm.nexx.com.vn/babel-plugin-istanbul/-/babel-plugin-istanbul-3.1.2.tgz#11d5abde18425ec24b5d648c7e0b5d25cd354a22" + dependencies: + find-up "^1.1.2" + istanbul-lib-instrument "^1.4.2" + object-assign "^4.1.0" + test-exclude "^3.3.0" + +babel-plugin-jest-hoist@^18.0.0: + version "18.0.0" + resolved "http://npm.nexx.com.vn/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-18.0.0.tgz#4150e70ecab560e6e7344adc849498072d34e12a" + +babel-preset-jest@^18.0.0: + version "18.0.0" + resolved "http://npm.nexx.com.vn/babel-preset-jest/-/babel-preset-jest-18.0.0.tgz#84faf8ca3ec65aba7d5e3f59bbaed935ab24049e" + dependencies: + babel-plugin-jest-hoist "^18.0.0" + +babel-register@^6.26.0: + version "6.26.0" + resolved "http://npm.nexx.com.vn/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.22.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "http://npm.nexx.com.vn/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "http://npm.nexx.com.vn/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.18.0, babel-traverse@^6.26.0: + version "6.26.0" + resolved "http://npm.nexx.com.vn/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.18.0, babel-types@^6.26.0: + version "6.26.0" + resolved "http://npm.nexx.com.vn/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.17.4, babylon@^6.18.0: + version "6.18.0" + resolved "http://npm.nexx.com.vn/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +base64-js@0.0.8: + version "0.0.8" + resolved "http://npm.nexx.com.vn/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" + +base64-js@^1.0.2: + version "1.2.1" + resolved "http://npm.nexx.com.vn/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" + +bcrypt-pbkdf@^1.0.0: + version "1.0.1" + resolved "http://npm.nexx.com.vn/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + dependencies: + tweetnacl "^0.14.3" + +bl@^1.0.0: + version "1.2.1" + resolved "http://npm.nexx.com.vn/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e" + dependencies: + readable-stream "^2.0.5" + +bluebird@^3.4.0: + version "3.5.0" + resolved "http://npm.nexx.com.vn/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" + +boom@2.x.x: + version "2.10.1" + resolved "http://npm.nexx.com.vn/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +brace-expansion@^1.1.7: + version "1.1.8" + resolved "http://npm.nexx.com.vn/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "http://npm.nexx.com.vn/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +browser-resolve@^1.11.2: + version "1.11.2" + resolved "http://npm.nexx.com.vn/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" + dependencies: + resolve "1.1.7" + +browser-stdout@1.3.0: + version "1.3.0" + resolved "http://npm.nexx.com.vn/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" + +bser@1.0.2: + version "1.0.2" + resolved "http://npm.nexx.com.vn/bser/-/bser-1.0.2.tgz#381116970b2a6deea5646dd15dd7278444b56169" + dependencies: + node-int64 "^0.4.0" + +buffer-crc32@^0.2.1, buffer-crc32@~0.2.3: + version "0.2.13" + resolved "http://npm.nexx.com.vn/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + +buffer@4.9.1: + version "4.9.1" + resolved "http://npm.nexx.com.vn/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +buffer@^3.0.1: + version "3.6.0" + resolved "http://npm.nexx.com.vn/buffer/-/buffer-3.6.0.tgz#a72c936f77b96bf52f5f7e7b467180628551defb" + dependencies: + base64-js "0.0.8" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-modules@^1.0.0, builtin-modules@^1.1.1: + version "1.1.1" + resolved "http://npm.nexx.com.vn/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +caller-id@^0.1.0: + version "0.1.0" + resolved "http://npm.nexx.com.vn/caller-id/-/caller-id-0.1.0.tgz#59bdac0893d12c3871408279231f97458364f07b" + dependencies: + stack-trace "~0.0.7" + +caller-path@^0.1.0: + version "0.1.0" + resolved "http://npm.nexx.com.vn/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + dependencies: + callsites "^0.2.0" + +callsites@^0.2.0: + version "0.2.0" + resolved "http://npm.nexx.com.vn/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + +callsites@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + +camelcase@^1.0.2: + version "1.2.1" + resolved "http://npm.nexx.com.vn/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^3.0.0: + version "3.0.0" + resolved "http://npm.nexx.com.vn/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + +capture-stack-trace@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" + +cardinal@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/cardinal/-/cardinal-1.0.0.tgz#50e21c1b0aa37729f9377def196b5a9cec932ee9" + dependencies: + ansicolors "~0.2.1" + redeyed "~1.0.0" + +caseless@~0.11.0: + version "0.11.0" + resolved "http://npm.nexx.com.vn/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + +caseless@~0.12.0: + version "0.12.0" + resolved "http://npm.nexx.com.vn/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +caw@^2.0.0: + version "2.0.1" + resolved "http://npm.nexx.com.vn/caw/-/caw-2.0.1.tgz#6c3ca071fc194720883c2dc5da9b074bfc7e9e95" + dependencies: + get-proxy "^2.0.0" + isurl "^1.0.0-alpha5" + tunnel-agent "^0.6.0" + url-to-options "^1.0.1" + +center-align@^0.1.1: + version "0.1.3" + resolved "http://npm.nexx.com.vn/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chai-as-promised@^6.0.0: + version "6.0.0" + resolved "http://npm.nexx.com.vn/chai-as-promised/-/chai-as-promised-6.0.0.tgz#1a02a433a6f24dafac63b9c96fa1684db1aa8da6" + dependencies: + check-error "^1.0.2" + +chai@^3.5.0: + version "3.5.0" + resolved "http://npm.nexx.com.vn/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247" + dependencies: + assertion-error "^1.0.1" + deep-eql "^0.1.3" + type-detect "^1.0.0" + +chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "http://npm.nexx.com.vn/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0: + version "2.1.0" + resolved "http://npm.nexx.com.vn/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" + dependencies: + ansi-styles "^3.1.0" + escape-string-regexp "^1.0.5" + supports-color "^4.0.0" + +check-error@^1.0.2: + version "1.0.2" + resolved "http://npm.nexx.com.vn/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + +ci-info@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" + +circular-json@^0.3.1: + version "0.3.3" + resolved "http://npm.nexx.com.vn/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" + +cli-cursor@^1.0.1: + version "1.0.2" + resolved "http://npm.nexx.com.vn/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-table@^0.3.1: + version "0.3.1" + resolved "http://npm.nexx.com.vn/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" + dependencies: + colors "1.0.3" + +cli-usage@^0.1.1: + version "0.1.4" + resolved "http://npm.nexx.com.vn/cli-usage/-/cli-usage-0.1.4.tgz#7c01e0dc706c234b39c933838c8e20b2175776e2" + dependencies: + marked "^0.3.6" + marked-terminal "^1.6.2" + +cli-width@^2.0.0: + version "2.2.0" + resolved "http://npm.nexx.com.vn/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + +cliui@^2.1.0: + version "2.1.0" + resolved "http://npm.nexx.com.vn/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^3.2.0: + version "3.2.0" + resolved "http://npm.nexx.com.vn/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "http://npm.nexx.com.vn/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "http://npm.nexx.com.vn/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +coffee-script@^1.12.4: + version "1.12.7" + resolved "http://npm.nexx.com.vn/coffee-script/-/coffee-script-1.12.7.tgz#c05dae0cb79591d05b3070a8433a98c9a89ccc53" + +color-convert@^1.9.0: + version "1.9.0" + resolved "http://npm.nexx.com.vn/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" + dependencies: + color-name "^1.1.1" + +color-name@^1.1.1: + version "1.1.3" + resolved "http://npm.nexx.com.vn/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + +colors@1.0.3: + version "1.0.3" + resolved "http://npm.nexx.com.vn/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.5" + resolved "http://npm.nexx.com.vn/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + dependencies: + delayed-stream "~1.0.0" + +commander@2.9.0: + version "2.9.0" + resolved "http://npm.nexx.com.vn/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + +commander@^2.9.0: + version "2.11.0" + resolved "http://npm.nexx.com.vn/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" + +commander@~2.8.1: + version "2.8.1" + resolved "http://npm.nexx.com.vn/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" + dependencies: + graceful-readlink ">= 1.0.0" + +component-emitter@^1.2.0: + version "1.2.1" + resolved "http://npm.nexx.com.vn/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + +compress-commons@^1.2.0: + version "1.2.0" + resolved "http://npm.nexx.com.vn/compress-commons/-/compress-commons-1.2.0.tgz#58587092ef20d37cb58baf000112c9278ff73b9f" + dependencies: + buffer-crc32 "^0.2.1" + crc32-stream "^2.0.0" + normalize-path "^2.0.0" + readable-stream "^2.0.0" + +concat-map@0.0.1: + version "0.0.1" + resolved "http://npm.nexx.com.vn/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^1.5.2: + version "1.6.0" + resolved "http://npm.nexx.com.vn/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + dependencies: + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +config-chain@^1.1.11: + version "1.1.11" + resolved "http://npm.nexx.com.vn/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +contains-path@^0.1.0: + version "0.1.0" + resolved "http://npm.nexx.com.vn/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + +content-type-parser@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/content-type-parser/-/content-type-parser-1.0.1.tgz#c3e56988c53c65127fb46d4032a3a900246fdc94" + +convert-source-map@^1.5.0: + version "1.5.0" + resolved "http://npm.nexx.com.vn/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" + +cookie@0.3.1: + version "0.3.1" + resolved "http://npm.nexx.com.vn/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +cookiejar@^2.1.0: + version "2.1.1" + resolved "http://npm.nexx.com.vn/cookiejar/-/cookiejar-2.1.1.tgz#41ad57b1b555951ec171412a81942b1e8200d34a" + +core-js@^2.4.0, core-js@^2.5.0: + version "2.5.0" + resolved "http://npm.nexx.com.vn/core-js/-/core-js-2.5.0.tgz#569c050918be6486b3837552028ae0466b717086" + +core-js@~2.3.0: + version "2.3.0" + resolved "http://npm.nexx.com.vn/core-js/-/core-js-2.3.0.tgz#fab83fbb0b2d8dc85fa636c4b9d34c75420c6d65" + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "http://npm.nexx.com.vn/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +coveralls@^2.12.0: + version "2.13.1" + resolved "http://npm.nexx.com.vn/coveralls/-/coveralls-2.13.1.tgz#d70bb9acc1835ec4f063ff9dac5423c17b11f178" + dependencies: + js-yaml "3.6.1" + lcov-parse "0.0.10" + log-driver "1.2.5" + minimist "1.2.0" + request "2.79.0" + +crc32-stream@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/crc32-stream/-/crc32-stream-2.0.0.tgz#e3cdd3b4df3168dd74e3de3fbbcb7b297fe908f4" + dependencies: + crc "^3.4.4" + readable-stream "^2.0.0" + +crc@^3.4.4: + version "3.4.4" + resolved "http://npm.nexx.com.vn/crc/-/crc-3.4.4.tgz#9da1e980e3bd44fc5c93bf5ab3da3378d85e466b" + +create-error-class@^3.0.0: + version "3.0.2" + resolved "http://npm.nexx.com.vn/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + dependencies: + capture-stack-trace "^1.0.0" + +cryptiles@2.x.x: + version "2.0.5" + resolved "http://npm.nexx.com.vn/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +crypto-browserify@1.0.9: + version "1.0.9" + resolved "http://npm.nexx.com.vn/crypto-browserify/-/crypto-browserify-1.0.9.tgz#cc5449685dfb85eb11c9828acc7cb87ab5bbfcc0" + +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": + version "0.3.2" + resolved "http://npm.nexx.com.vn/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" + +"cssstyle@>= 0.2.37 < 0.3.0": + version "0.2.37" + resolved "http://npm.nexx.com.vn/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" + dependencies: + cssom "0.3.x" + +d@1: + version "1.0.0" + resolved "http://npm.nexx.com.vn/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + dependencies: + es5-ext "^0.10.9" + +damerau-levenshtein@^1.0.0: + version "1.0.4" + resolved "http://npm.nexx.com.vn/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" + +dashdash@^1.12.0: + version "1.14.1" + resolved "http://npm.nexx.com.vn/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +debug@2, debug@2.6.8, debug@^2.1.1, debug@^2.2.0, debug@^2.6.0, debug@^2.6.3, debug@^2.6.8: + version "2.6.8" + resolved "http://npm.nexx.com.vn/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" + dependencies: + ms "2.0.0" + +decamelize@^1.0.0, decamelize@^1.1.1: + version "1.2.0" + resolved "http://npm.nexx.com.vn/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: + version "4.1.1" + resolved "http://npm.nexx.com.vn/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" + dependencies: + file-type "^5.2.0" + is-stream "^1.1.0" + tar-stream "^1.5.2" + +decompress-tarbz2@^4.0.0: + version "4.1.1" + resolved "http://npm.nexx.com.vn/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" + dependencies: + decompress-tar "^4.1.0" + file-type "^6.1.0" + is-stream "^1.1.0" + seek-bzip "^1.0.5" + unbzip2-stream "^1.0.9" + +decompress-targz@^4.0.0: + version "4.1.1" + resolved "http://npm.nexx.com.vn/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" + dependencies: + decompress-tar "^4.1.1" + file-type "^5.2.0" + is-stream "^1.1.0" + +decompress-unzip@^4.0.1: + version "4.0.1" + resolved "http://npm.nexx.com.vn/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" + dependencies: + file-type "^3.8.0" + get-stream "^2.2.0" + pify "^2.3.0" + yauzl "^2.4.2" + +decompress@^4.0.0: + version "4.2.0" + resolved "http://npm.nexx.com.vn/decompress/-/decompress-4.2.0.tgz#7aedd85427e5a92dacfe55674a7c505e96d01f9d" + dependencies: + decompress-tar "^4.0.0" + decompress-tarbz2 "^4.0.0" + decompress-targz "^4.0.0" + decompress-unzip "^4.0.1" + graceful-fs "^4.1.10" + make-dir "^1.0.0" + pify "^2.3.0" + strip-dirs "^2.0.0" + +deep-eql@^0.1.3: + version "0.1.3" + resolved "http://npm.nexx.com.vn/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" + dependencies: + type-detect "0.1.1" + +deep-extend@~0.4.0: + version "0.4.2" + resolved "http://npm.nexx.com.vn/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" + +deep-is@~0.1.3: + version "0.1.3" + resolved "http://npm.nexx.com.vn/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + +deepmerge@^1.3.0: + version "1.5.1" + resolved "http://npm.nexx.com.vn/deepmerge/-/deepmerge-1.5.1.tgz#c053bf06fd7276f1994f70c09a0760cb61a56237" + +default-require-extensions@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" + dependencies: + strip-bom "^2.0.0" + +define-properties@^1.1.2: + version "1.1.2" + resolved "http://npm.nexx.com.vn/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + dependencies: + foreach "^2.0.5" + object-keys "^1.0.8" + +del@^2.0.2: + version "2.2.2" + resolved "http://npm.nexx.com.vn/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "http://npm.nexx.com.vn/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +diacritics-map@^0.1.0: + version "0.1.0" + resolved "http://npm.nexx.com.vn/diacritics-map/-/diacritics-map-0.1.0.tgz#6dfc0ff9d01000a2edf2865371cac316e94977af" + +diff@3.2.0: + version "3.2.0" + resolved "http://npm.nexx.com.vn/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" + +diff@^3.0.0: + version "3.3.0" + resolved "http://npm.nexx.com.vn/diff/-/diff-3.3.0.tgz#056695150d7aa93237ca7e378ac3b1682b7963b9" + +doctrine@1.3.x: + version "1.3.0" + resolved "http://npm.nexx.com.vn/doctrine/-/doctrine-1.3.0.tgz#13e75682b55518424276f7c173783456ef913d26" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^1.2.2: + version "1.5.0" + resolved "http://npm.nexx.com.vn/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +download@^5.0.2: + version "5.0.3" + resolved "http://npm.nexx.com.vn/download/-/download-5.0.3.tgz#63537f977f99266a30eb8a2a2fbd1f20b8000f7a" + dependencies: + caw "^2.0.0" + decompress "^4.0.0" + filenamify "^2.0.0" + get-stream "^3.0.0" + got "^6.3.0" + mkdirp "^0.5.1" + pify "^2.3.0" + +duplexer3@^0.1.4: + version "0.1.4" + resolved "http://npm.nexx.com.vn/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "http://npm.nexx.com.vn/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +encoding@^0.1.11: + version "0.1.12" + resolved "http://npm.nexx.com.vn/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + dependencies: + iconv-lite "~0.4.13" + +end-of-stream@^1.0.0: + version "1.4.0" + resolved "http://npm.nexx.com.vn/end-of-stream/-/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206" + dependencies: + once "^1.4.0" + +errno@^0.1.4: + version "0.1.4" + resolved "http://npm.nexx.com.vn/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" + dependencies: + prr "~0.0.0" + +error-ex@^1.2.0: + version "1.3.1" + resolved "http://npm.nexx.com.vn/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.7.0: + version "1.8.0" + resolved "http://npm.nexx.com.vn/es-abstract/-/es-abstract-1.8.0.tgz#3b00385e85729932beffa9163bbea1234e932914" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.0" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + +es-to-primitive@^1.1.1: + version "1.1.1" + resolved "http://npm.nexx.com.vn/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + dependencies: + is-callable "^1.1.1" + is-date-object "^1.0.1" + is-symbol "^1.0.1" + +es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: + version "0.10.30" + resolved "http://npm.nexx.com.vn/es5-ext/-/es5-ext-0.10.30.tgz#7141a16836697dbabfaaaeee41495ce29f52c939" + dependencies: + es6-iterator "2" + es6-symbol "~3.1" + +es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: + version "2.0.1" + resolved "http://npm.nexx.com.vn/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-symbol "^3.1" + +es6-map@^0.1.3: + version "0.1.5" + resolved "http://npm.nexx.com.vn/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-set "~0.1.5" + es6-symbol "~3.1.1" + event-emitter "~0.3.5" + +es6-promise@~3.0.2: + version "3.0.2" + resolved "http://npm.nexx.com.vn/es6-promise/-/es6-promise-3.0.2.tgz#010d5858423a5f118979665f46486a95c6ee2bb6" + +es6-set@^0.1.4, es6-set@~0.1.5: + version "0.1.5" + resolved "http://npm.nexx.com.vn/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-symbol "3.1.1" + event-emitter "~0.3.5" + +es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: + version "3.1.1" + resolved "http://npm.nexx.com.vn/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-weak-map@^2.0.1: + version "2.0.2" + resolved "http://npm.nexx.com.vn/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "http://npm.nexx.com.vn/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escodegen@1.8.x, escodegen@^1.6.1: + version "1.8.1" + resolved "http://npm.nexx.com.vn/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + dependencies: + esprima "^2.7.1" + estraverse "^1.9.1" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.2.0" + +escope@^3.6.0: + version "3.6.0" + resolved "http://npm.nexx.com.vn/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-config-airbnb-base@^5.0.2: + version "5.0.3" + resolved "http://npm.nexx.com.vn/eslint-config-airbnb-base/-/eslint-config-airbnb-base-5.0.3.tgz#9714ac35ec2cd7fab0d44d148a9f91db2944074d" + +eslint-config-airbnb@^10.0.1: + version "10.0.1" + resolved "http://npm.nexx.com.vn/eslint-config-airbnb/-/eslint-config-airbnb-10.0.1.tgz#a470108646d6c45e1f639a03f11d504a1aa4aedc" + dependencies: + eslint-config-airbnb-base "^5.0.2" + +eslint-import-resolver-node@^0.2.0: + version "0.2.3" + resolved "http://npm.nexx.com.vn/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" + dependencies: + debug "^2.2.0" + object-assign "^4.0.1" + resolve "^1.1.6" + +eslint-plugin-import@^1.13.0: + version "1.16.0" + resolved "http://npm.nexx.com.vn/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz#b2fa07ebcc53504d0f2a4477582ec8bff1871b9f" + dependencies: + builtin-modules "^1.1.1" + contains-path "^0.1.0" + debug "^2.2.0" + doctrine "1.3.x" + es6-map "^0.1.3" + es6-set "^0.1.4" + eslint-import-resolver-node "^0.2.0" + has "^1.0.1" + lodash.cond "^4.3.0" + lodash.endswith "^4.0.1" + lodash.find "^4.3.0" + lodash.findindex "^4.3.0" + minimatch "^3.0.3" + object-assign "^4.0.1" + pkg-dir "^1.0.0" + pkg-up "^1.0.0" + +eslint-plugin-jsx-a11y@^2.1.0: + version "2.2.3" + resolved "http://npm.nexx.com.vn/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz#4e35cb71b8a7db702ac415c806eb8e8d9ea6c65d" + dependencies: + damerau-levenshtein "^1.0.0" + jsx-ast-utils "^1.0.0" + object-assign "^4.0.1" + +eslint-plugin-react@^6.1.1: + version "6.10.3" + resolved "http://npm.nexx.com.vn/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz#c5435beb06774e12c7db2f6abaddcbf900cd3f78" + dependencies: + array.prototype.find "^2.0.1" + doctrine "^1.2.2" + has "^1.0.1" + jsx-ast-utils "^1.3.4" + object.assign "^4.0.4" + +eslint@^3.3.1: + version "3.19.0" + resolved "http://npm.nexx.com.vn/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" + dependencies: + babel-code-frame "^6.16.0" + chalk "^1.1.3" + concat-stream "^1.5.2" + debug "^2.1.1" + doctrine "^2.0.0" + escope "^3.6.0" + espree "^3.4.0" + esquery "^1.0.0" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + glob "^7.0.3" + globals "^9.14.0" + ignore "^3.2.0" + imurmurhash "^0.1.4" + inquirer "^0.12.0" + is-my-json-valid "^2.10.0" + is-resolvable "^1.0.0" + js-yaml "^3.5.1" + json-stable-stringify "^1.0.0" + levn "^0.3.0" + lodash "^4.0.0" + mkdirp "^0.5.0" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.1" + pluralize "^1.2.1" + progress "^1.1.8" + require-uncached "^1.0.2" + shelljs "^0.7.5" + strip-bom "^3.0.0" + strip-json-comments "~2.0.1" + table "^3.7.8" + text-table "~0.2.0" + user-home "^2.0.0" + +espree@^3.4.0: + version "3.5.0" + resolved "http://npm.nexx.com.vn/espree/-/espree-3.5.0.tgz#98358625bdd055861ea27e2867ea729faf463d8d" + dependencies: + acorn "^5.1.1" + acorn-jsx "^3.0.0" + +esprima@2.7.x, esprima@^2.6.0, esprima@^2.7.1: + version "2.7.3" + resolved "http://npm.nexx.com.vn/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esprima@^4.0.0: + version "4.0.0" + resolved "http://npm.nexx.com.vn/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" + +esprima@~3.0.0: + version "3.0.0" + resolved "http://npm.nexx.com.vn/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9" + +esquery@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" + dependencies: + estraverse "^4.0.0" + +esrecurse@^4.1.0: + version "4.2.0" + resolved "http://npm.nexx.com.vn/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" + dependencies: + estraverse "^4.1.0" + object-assign "^4.0.1" + +estraverse@^1.9.1: + version "1.9.3" + resolved "http://npm.nexx.com.vn/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: + version "4.2.0" + resolved "http://npm.nexx.com.vn/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +esutils@^2.0.2: + version "2.0.2" + resolved "http://npm.nexx.com.vn/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +event-emitter@~0.3.5: + version "0.3.5" + resolved "http://npm.nexx.com.vn/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + dependencies: + d "1" + es5-ext "~0.10.14" + +events@^1.1.1: + version "1.1.1" + resolved "http://npm.nexx.com.vn/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + +exec-sh@^0.2.0: + version "0.2.0" + resolved "http://npm.nexx.com.vn/exec-sh/-/exec-sh-0.2.0.tgz#14f75de3f20d286ef933099b2ce50a90359cef10" + dependencies: + merge "^1.1.3" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "http://npm.nexx.com.vn/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "http://npm.nexx.com.vn/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "http://npm.nexx.com.vn/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "http://npm.nexx.com.vn/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + dependencies: + is-extendable "^0.1.0" + +extend@3, extend@^3.0.0, extend@~3.0.0: + version "3.0.1" + resolved "http://npm.nexx.com.vn/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + +external-editor@^1.1.0: + version "1.1.1" + resolved "http://npm.nexx.com.vn/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b" + dependencies: + extend "^3.0.0" + spawn-sync "^1.0.15" + tmp "^0.0.29" + +extglob@^0.3.1: + version "0.3.2" + resolved "http://npm.nexx.com.vn/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extsprintf@1.3.0, extsprintf@^1.2.0: + version "1.3.0" + resolved "http://npm.nexx.com.vn/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "http://npm.nexx.com.vn/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + +fb-watchman@^1.8.0, fb-watchman@^1.9.0: + version "1.9.2" + resolved "http://npm.nexx.com.vn/fb-watchman/-/fb-watchman-1.9.2.tgz#a24cf47827f82d38fb59a69ad70b76e3b6ae7383" + dependencies: + bser "1.0.2" + +fd-slicer@~1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" + dependencies: + pend "~1.2.0" + +figures@^1.3.5: + version "1.7.0" + resolved "http://npm.nexx.com.vn/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +file-entry-cache@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + dependencies: + flat-cache "^1.2.1" + object-assign "^4.0.1" + +file-type@^3.8.0: + version "3.9.0" + resolved "http://npm.nexx.com.vn/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + +file-type@^5.2.0: + version "5.2.0" + resolved "http://npm.nexx.com.vn/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" + +file-type@^6.1.0: + version "6.1.0" + resolved "http://npm.nexx.com.vn/file-type/-/file-type-6.1.0.tgz#5a7dba98138fa0abec7afc43e5a9a0b2aac729f1" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "http://npm.nexx.com.vn/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + +filename-reserved-regex@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" + +filenamify@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/filenamify/-/filenamify-2.0.0.tgz#bd162262c0b6e94bfbcdcf19a3bbb3764f785695" + dependencies: + filename-reserved-regex "^2.0.0" + strip-outer "^1.0.0" + trim-repeated "^1.0.0" + +fileset@^2.0.2: + version "2.0.3" + resolved "http://npm.nexx.com.vn/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" + dependencies: + glob "^7.0.3" + minimatch "^3.0.3" + +filesize@^3.3.0: + version "3.5.10" + resolved "http://npm.nexx.com.vn/filesize/-/filesize-3.5.10.tgz#fc8fa23ddb4ef9e5e0ab6e1e64f679a24a56761f" + +fill-keys@^1.0.2: + version "1.0.2" + resolved "http://npm.nexx.com.vn/fill-keys/-/fill-keys-1.0.2.tgz#9a8fa36f4e8ad634e3bf6b4f3c8882551452eb20" + dependencies: + is-object "~1.0.1" + merge-descriptors "~1.0.0" + +fill-range@^2.1.0: + version "2.2.3" + resolved "http://npm.nexx.com.vn/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +find-up@^1.0.0, find-up@^1.1.2: + version "1.1.2" + resolved "http://npm.nexx.com.vn/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.1.0: + version "2.1.0" + resolved "http://npm.nexx.com.vn/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + +flat-cache@^1.2.1: + version "1.2.2" + resolved "http://npm.nexx.com.vn/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" + dependencies: + circular-json "^0.3.1" + del "^2.0.2" + graceful-fs "^4.1.2" + write "^0.2.1" + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "http://npm.nexx.com.vn/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^0.1.4: + version "0.1.5" + resolved "http://npm.nexx.com.vn/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + dependencies: + for-in "^1.0.1" + +foreach@^2.0.5: + version "2.0.5" + resolved "http://npm.nexx.com.vn/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "http://npm.nexx.com.vn/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@^2.1.1: + version "2.3.1" + resolved "http://npm.nexx.com.vn/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +form-data@~2.1.1: + version "2.1.4" + resolved "http://npm.nexx.com.vn/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +formatio@1.1.1: + version "1.1.1" + resolved "http://npm.nexx.com.vn/formatio/-/formatio-1.1.1.tgz#5ed3ccd636551097383465d996199100e86161e9" + dependencies: + samsam "~1.1" + +formidable@^1.1.1: + version "1.1.1" + resolved "http://npm.nexx.com.vn/formidable/-/formidable-1.1.1.tgz#96b8886f7c3c3508b932d6bd70c4d3a88f35f1a9" + +fs-extra@^0.26.7: + version "0.26.7" + resolved "http://npm.nexx.com.vn/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + klaw "^1.0.0" + path-is-absolute "^1.0.0" + rimraf "^2.2.8" + +fs-extra@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + klaw "^1.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +function-bind@^1.0.2, function-bind@^1.1.0: + version "1.1.1" + resolved "http://npm.nexx.com.vn/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + +gauge@~1.2.5: + version "1.2.7" + resolved "http://npm.nexx.com.vn/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93" + dependencies: + ansi "^0.3.0" + has-unicode "^2.0.0" + lodash.pad "^4.1.0" + lodash.padend "^4.1.0" + lodash.padstart "^4.1.0" + +generate-function@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "http://npm.nexx.com.vn/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +get-caller-file@^1.0.1: + version "1.0.2" + resolved "http://npm.nexx.com.vn/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + +get-proxy@^2.0.0: + version "2.1.0" + resolved "http://npm.nexx.com.vn/get-proxy/-/get-proxy-2.1.0.tgz#349f2b4d91d44c4d4d4e9cba2ad90143fac5ef93" + dependencies: + npm-conf "^1.1.0" + +get-stdin@^5.0.1: + version "5.0.1" + resolved "http://npm.nexx.com.vn/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" + +get-stream@^2.2.0: + version "2.3.1" + resolved "http://npm.nexx.com.vn/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + +get-stream@^3.0.0: + version "3.0.0" + resolved "http://npm.nexx.com.vn/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + +getpass@^0.1.1: + version "0.1.7" + resolved "http://npm.nexx.com.vn/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "http://npm.nexx.com.vn/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob@7.1.1: + version "7.1.1" + resolved "http://npm.nexx.com.vn/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^5.0.15: + version "5.0.15" + resolved "http://npm.nexx.com.vn/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5: + version "7.1.2" + resolved "http://npm.nexx.com.vn/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^9.14.0, globals@^9.18.0: + version "9.18.0" + resolved "http://npm.nexx.com.vn/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + +globby@^5.0.0: + version "5.0.0" + resolved "http://npm.nexx.com.vn/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "http://npm.nexx.com.vn/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +got@^6.3.0: + version "6.7.1" + resolved "http://npm.nexx.com.vn/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + dependencies: + create-error-class "^3.0.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + unzip-response "^2.0.1" + url-parse-lax "^1.0.0" + +graceful-fs@^4.1.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: + version "4.1.11" + resolved "http://npm.nexx.com.vn/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "http://npm.nexx.com.vn/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +graphlib@^2.1.1: + version "2.1.1" + resolved "http://npm.nexx.com.vn/graphlib/-/graphlib-2.1.1.tgz#42352c52ba2f4d035cb566eb91f7395f76ebc951" + dependencies: + lodash "^4.11.1" + +graphql-anywhere@^3.0.1: + version "3.1.0" + resolved "http://npm.nexx.com.vn/graphql-anywhere/-/graphql-anywhere-3.1.0.tgz#3ea0d8e8646b5cee68035016a9a7557c15c21e96" + +graphql-tag@^2.0.0, graphql-tag@^2.4.0, graphql-tag@^2.4.2: + version "2.4.2" + resolved "http://npm.nexx.com.vn/graphql-tag/-/graphql-tag-2.4.2.tgz#6a63297d8522d03a2b72d26f1b239aab343840cd" + +graphql@^0.10.0, graphql@^0.10.1, graphql@^0.10.3: + version "0.10.5" + resolved "http://npm.nexx.com.vn/graphql/-/graphql-0.10.5.tgz#c9be17ca2bdfdbd134077ffd9bbaa48b8becd298" + dependencies: + iterall "^1.1.0" + +gray-matter@^2.1.0: + version "2.1.1" + resolved "http://npm.nexx.com.vn/gray-matter/-/gray-matter-2.1.1.tgz#3042d9adec2a1ded6a7707a9ed2380f8a17a430e" + dependencies: + ansi-red "^0.1.1" + coffee-script "^1.12.4" + extend-shallow "^2.0.1" + js-yaml "^3.8.1" + toml "^2.3.2" + +growl@1.9.2: + version "1.9.2" + resolved "http://npm.nexx.com.vn/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" + +growly@^1.2.0: + version "1.3.0" + resolved "http://npm.nexx.com.vn/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + +handlebars@^4.0.1, handlebars@^4.0.3: + version "4.0.10" + resolved "http://npm.nexx.com.vn/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" + dependencies: + async "^1.4.0" + optimist "^0.6.1" + source-map "^0.4.4" + optionalDependencies: + uglify-js "^2.6" + +har-schema@^1.0.5: + version "1.0.5" + resolved "http://npm.nexx.com.vn/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + +har-validator@~2.0.6: + version "2.0.6" + resolved "http://npm.nexx.com.vn/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + +har-validator@~4.2.1: + version "4.2.1" + resolved "http://npm.nexx.com.vn/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + dependencies: + ajv "^4.9.1" + har-schema "^1.0.5" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-flag@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + +has-symbol-support-x@^1.4.0: + version "1.4.0" + resolved "http://npm.nexx.com.vn/has-symbol-support-x/-/has-symbol-support-x-1.4.0.tgz#442d89b1d0ac6cf5ff2f7b916ee539869b93a256" + +has-to-string-tag-x@^1.2.0: + version "1.4.0" + resolved "http://npm.nexx.com.vn/has-to-string-tag-x/-/has-to-string-tag-x-1.4.0.tgz#49d7bcde85c2409be38ac327e3e119a451657c7b" + dependencies: + has-symbol-support-x "^1.4.0" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "http://npm.nexx.com.vn/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + dependencies: + function-bind "^1.0.2" + +hawk@~3.1.3: + version "3.1.3" + resolved "http://npm.nexx.com.vn/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hoek@2.x.x: + version "2.16.3" + resolved "http://npm.nexx.com.vn/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.5.0" + resolved "http://npm.nexx.com.vn/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" + +html-encoding-sniffer@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz#79bf7a785ea495fe66165e734153f363ff5437da" + dependencies: + whatwg-encoding "^1.0.1" + +http-basic@^2.5.1: + version "2.5.1" + resolved "http://npm.nexx.com.vn/http-basic/-/http-basic-2.5.1.tgz#8ce447bdb5b6c577f8a63e3fa78056ec4bb4dbfb" + dependencies: + caseless "~0.11.0" + concat-stream "^1.4.6" + http-response-object "^1.0.0" + +http-response-object@^1.0.0, http-response-object@^1.0.1, http-response-object@^1.1.0: + version "1.1.0" + resolved "http://npm.nexx.com.vn/http-response-object/-/http-response-object-1.1.0.tgz#a7c4e75aae82f3bb4904e4f43f615673b4d518c3" + +http-signature@~1.1.0: + version "1.1.1" + resolved "http://npm.nexx.com.vn/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-proxy-agent@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6" + dependencies: + agent-base "2" + debug "2" + extend "3" + +iconv-lite@0.4.13: + version "0.4.13" + resolved "http://npm.nexx.com.vn/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" + +iconv-lite@~0.4.13: + version "0.4.18" + resolved "http://npm.nexx.com.vn/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2" + +ieee754@^1.1.4: + version "1.1.8" + resolved "http://npm.nexx.com.vn/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" + +ignore@^3.2.0: + version "3.3.5" + resolved "http://npm.nexx.com.vn/ignore/-/ignore-3.3.5.tgz#c4e715455f6073a8d7e5dae72d2fc9d71663dba6" + +immediate@~3.0.5: + version "3.0.6" + resolved "http://npm.nexx.com.vn/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "http://npm.nexx.com.vn/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +inflight@^1.0.4: + version "1.0.6" + resolved "http://npm.nexx.com.vn/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "http://npm.nexx.com.vn/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "http://npm.nexx.com.vn/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@^1.3.4, ini@~1.3.0: + version "1.3.4" + resolved "http://npm.nexx.com.vn/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + +inquirer@^0.12.0: + version "0.12.0" + resolved "http://npm.nexx.com.vn/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" + dependencies: + ansi-escapes "^1.1.0" + ansi-regex "^2.0.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + figures "^1.3.5" + lodash "^4.3.0" + readline2 "^1.0.1" + run-async "^0.1.0" + rx-lite "^3.1.2" + string-width "^1.0.1" + strip-ansi "^3.0.0" + through "^2.3.6" + +inquirer@^1.0.2: + version "1.2.3" + resolved "http://npm.nexx.com.vn/inquirer/-/inquirer-1.2.3.tgz#4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918" + dependencies: + ansi-escapes "^1.1.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + external-editor "^1.1.0" + figures "^1.3.5" + lodash "^4.3.0" + mute-stream "0.0.6" + pinkie-promise "^2.0.0" + run-async "^2.2.0" + rx "^4.1.0" + string-width "^1.0.1" + strip-ansi "^3.0.0" + through "^2.3.6" + +interpret@^1.0.0: + version "1.0.3" + resolved "http://npm.nexx.com.vn/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" + +invariant@^2.2.2: + version "2.2.2" + resolved "http://npm.nexx.com.vn/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "http://npm.nexx.com.vn/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-buffer@^1.1.5: + version "1.1.5" + resolved "http://npm.nexx.com.vn/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-callable@^1.1.1, is-callable@^1.1.3: + version "1.1.3" + resolved "http://npm.nexx.com.vn/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" + +is-ci@^1.0.9: + version "1.0.10" + resolved "http://npm.nexx.com.vn/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" + dependencies: + ci-info "^1.0.0" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + +is-docker@^1.1.0: + version "1.1.0" + resolved "http://npm.nexx.com.vn/is-docker/-/is-docker-1.1.0.tgz#f04374d4eee5310e9a8e113bf1495411e46176a1" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "http://npm.nexx.com.vn/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "http://npm.nexx.com.vn/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "http://npm.nexx.com.vn/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-finite@^1.0.0: + version "1.0.2" + resolved "http://npm.nexx.com.vn/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "http://npm.nexx.com.vn/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-local-path@^0.1.6: + version "0.1.6" + resolved "http://npm.nexx.com.vn/is-local-path/-/is-local-path-0.1.6.tgz#815d144b14d569cecbead4d5693097f00a9bf6c5" + +is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: + version "2.16.1" + resolved "http://npm.nexx.com.vn/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz#5a846777e2c2620d1e69104e5d3a03b1f6088f11" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-natural-number@^4.0.1: + version "4.0.1" + resolved "http://npm.nexx.com.vn/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" + +is-number@^2.1.0: + version "2.1.0" + resolved "http://npm.nexx.com.vn/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "http://npm.nexx.com.vn/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-object@^1.0.1, is-object@~1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" + dependencies: + path-is-inside "^1.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "http://npm.nexx.com.vn/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-promise@^2.1.0: + version "2.1.0" + resolved "http://npm.nexx.com.vn/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + +is-property@^1.0.0: + version "1.0.2" + resolved "http://npm.nexx.com.vn/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-redirect@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + +is-regex@^1.0.4: + version "1.0.4" + resolved "http://npm.nexx.com.vn/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + dependencies: + has "^1.0.1" + +is-resolvable@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" + dependencies: + tryit "^1.0.1" + +is-retry-allowed@^1.0.0: + version "1.1.0" + resolved "http://npm.nexx.com.vn/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + +is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: + version "1.1.0" + resolved "http://npm.nexx.com.vn/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-symbol@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "http://npm.nexx.com.vn/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-wsl@^1.1.0: + version "1.1.0" + resolved "http://npm.nexx.com.vn/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + +isobject@^2.0.0: + version "2.1.0" + resolved "http://npm.nexx.com.vn/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isobject@^3.0.1: + version "3.0.1" + resolved "http://npm.nexx.com.vn/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + +isomorphic-fetch@^2.2.1: + version "2.2.1" + resolved "http://npm.nexx.com.vn/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "http://npm.nexx.com.vn/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +istanbul-api@^1.1.0-alpha.1: + version "1.1.13" + resolved "http://npm.nexx.com.vn/istanbul-api/-/istanbul-api-1.1.13.tgz#7197f64413600ebdfec6347a2dc3d4e03f97ed5a" + dependencies: + async "^2.1.4" + fileset "^2.0.2" + istanbul-lib-coverage "^1.1.1" + istanbul-lib-hook "^1.0.7" + istanbul-lib-instrument "^1.7.5" + istanbul-lib-report "^1.1.1" + istanbul-lib-source-maps "^1.2.1" + istanbul-reports "^1.1.2" + js-yaml "^3.7.0" + mkdirp "^0.5.1" + once "^1.4.0" + +istanbul-lib-coverage@^1.0.0, istanbul-lib-coverage@^1.1.1: + version "1.1.1" + resolved "http://npm.nexx.com.vn/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" + +istanbul-lib-hook@^1.0.7: + version "1.0.7" + resolved "http://npm.nexx.com.vn/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz#dd6607f03076578fe7d6f2a630cf143b49bacddc" + dependencies: + append-transform "^0.4.0" + +istanbul-lib-instrument@^1.1.1, istanbul-lib-instrument@^1.4.2, istanbul-lib-instrument@^1.7.5: + version "1.7.5" + resolved "http://npm.nexx.com.vn/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.5.tgz#adb596f8f0cb8b95e739206351a38a586af21b1e" + dependencies: + babel-generator "^6.18.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + babylon "^6.17.4" + istanbul-lib-coverage "^1.1.1" + semver "^5.3.0" + +istanbul-lib-report@^1.1.1: + version "1.1.1" + resolved "http://npm.nexx.com.vn/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#f0e55f56655ffa34222080b7a0cd4760e1405fc9" + dependencies: + istanbul-lib-coverage "^1.1.1" + mkdirp "^0.5.1" + path-parse "^1.0.5" + supports-color "^3.1.2" + +istanbul-lib-source-maps@^1.2.1: + version "1.2.1" + resolved "http://npm.nexx.com.vn/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz#a6fe1acba8ce08eebc638e572e294d267008aa0c" + dependencies: + debug "^2.6.3" + istanbul-lib-coverage "^1.1.1" + mkdirp "^0.5.1" + rimraf "^2.6.1" + source-map "^0.5.3" + +istanbul-reports@^1.1.2: + version "1.1.2" + resolved "http://npm.nexx.com.vn/istanbul-reports/-/istanbul-reports-1.1.2.tgz#0fb2e3f6aa9922bd3ce45d05d8ab4d5e8e07bd4f" + dependencies: + handlebars "^4.0.3" + +istanbul@^0.4.4: + version "0.4.5" + resolved "http://npm.nexx.com.vn/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" + dependencies: + abbrev "1.0.x" + async "1.x" + escodegen "1.8.x" + esprima "2.7.x" + glob "^5.0.15" + handlebars "^4.0.1" + js-yaml "3.x" + mkdirp "0.5.x" + nopt "3.x" + once "1.x" + resolve "1.1.x" + supports-color "^3.1.0" + which "^1.1.1" + wordwrap "^1.0.0" + +isurl@^1.0.0-alpha5: + version "1.0.0" + resolved "http://npm.nexx.com.vn/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" + dependencies: + has-to-string-tag-x "^1.2.0" + is-object "^1.0.1" + +iterall@^1.1.0: + version "1.1.1" + resolved "http://npm.nexx.com.vn/iterall/-/iterall-1.1.1.tgz#f7f0af11e9a04ec6426260f5019d9fcca4d50214" + +jest-changed-files@^17.0.2: + version "17.0.2" + resolved "http://npm.nexx.com.vn/jest-changed-files/-/jest-changed-files-17.0.2.tgz#f5657758736996f590a51b87e5c9369d904ba7b7" + +jest-cli@^18.0.0: + version "18.1.0" + resolved "http://npm.nexx.com.vn/jest-cli/-/jest-cli-18.1.0.tgz#5ead36ecad420817c2c9baa2aa7574f63257b3d6" + dependencies: + ansi-escapes "^1.4.0" + callsites "^2.0.0" + chalk "^1.1.1" + graceful-fs "^4.1.6" + is-ci "^1.0.9" + istanbul-api "^1.1.0-alpha.1" + istanbul-lib-coverage "^1.0.0" + istanbul-lib-instrument "^1.1.1" + jest-changed-files "^17.0.2" + jest-config "^18.1.0" + jest-environment-jsdom "^18.1.0" + jest-file-exists "^17.0.0" + jest-haste-map "^18.1.0" + jest-jasmine2 "^18.1.0" + jest-mock "^18.0.0" + jest-resolve "^18.1.0" + jest-resolve-dependencies "^18.1.0" + jest-runtime "^18.1.0" + jest-snapshot "^18.1.0" + jest-util "^18.1.0" + json-stable-stringify "^1.0.0" + node-notifier "^4.6.1" + sane "~1.4.1" + strip-ansi "^3.0.1" + throat "^3.0.0" + which "^1.1.1" + worker-farm "^1.3.1" + yargs "^6.3.0" + +jest-config@^18.1.0: + version "18.1.0" + resolved "http://npm.nexx.com.vn/jest-config/-/jest-config-18.1.0.tgz#6111740a6d48aab86ff5a9e6ab0b98bd993b6ff4" + dependencies: + chalk "^1.1.1" + jest-environment-jsdom "^18.1.0" + jest-environment-node "^18.1.0" + jest-jasmine2 "^18.1.0" + jest-mock "^18.0.0" + jest-resolve "^18.1.0" + jest-util "^18.1.0" + json-stable-stringify "^1.0.0" + +jest-diff@^18.1.0: + version "18.1.0" + resolved "http://npm.nexx.com.vn/jest-diff/-/jest-diff-18.1.0.tgz#4ff79e74dd988c139195b365dc65d87f606f4803" + dependencies: + chalk "^1.1.3" + diff "^3.0.0" + jest-matcher-utils "^18.1.0" + pretty-format "^18.1.0" + +jest-environment-jsdom@^18.1.0: + version "18.1.0" + resolved "http://npm.nexx.com.vn/jest-environment-jsdom/-/jest-environment-jsdom-18.1.0.tgz#18b42f0c4ea2bae9f36cab3639b1e8f8c384e24e" + dependencies: + jest-mock "^18.0.0" + jest-util "^18.1.0" + jsdom "^9.9.1" + +jest-environment-node@^18.1.0: + version "18.1.0" + resolved "http://npm.nexx.com.vn/jest-environment-node/-/jest-environment-node-18.1.0.tgz#4d6797572c8dda99acf5fae696eb62945547c779" + dependencies: + jest-mock "^18.0.0" + jest-util "^18.1.0" + +jest-file-exists@^17.0.0: + version "17.0.0" + resolved "http://npm.nexx.com.vn/jest-file-exists/-/jest-file-exists-17.0.0.tgz#7f63eb73a1c43a13f461be261768b45af2cdd169" + +jest-haste-map@^18.1.0: + version "18.1.0" + resolved "http://npm.nexx.com.vn/jest-haste-map/-/jest-haste-map-18.1.0.tgz#06839c74b770a40c1a106968851df8d281c08375" + dependencies: + fb-watchman "^1.9.0" + graceful-fs "^4.1.6" + micromatch "^2.3.11" + sane "~1.4.1" + worker-farm "^1.3.1" + +jest-jasmine2@^18.1.0: + version "18.1.0" + resolved "http://npm.nexx.com.vn/jest-jasmine2/-/jest-jasmine2-18.1.0.tgz#094e104c2c189708766c77263bb2aecb5860a80b" + dependencies: + graceful-fs "^4.1.6" + jest-matcher-utils "^18.1.0" + jest-matchers "^18.1.0" + jest-snapshot "^18.1.0" + jest-util "^18.1.0" + +jest-matcher-utils@^18.1.0: + version "18.1.0" + resolved "http://npm.nexx.com.vn/jest-matcher-utils/-/jest-matcher-utils-18.1.0.tgz#1ac4651955ee2a60cef1e7fcc98cdfd773c0f932" + dependencies: + chalk "^1.1.3" + pretty-format "^18.1.0" + +jest-matchers@^18.1.0: + version "18.1.0" + resolved "http://npm.nexx.com.vn/jest-matchers/-/jest-matchers-18.1.0.tgz#0341484bf87a1fd0bac0a4d2c899e2b77a3f1ead" + dependencies: + jest-diff "^18.1.0" + jest-matcher-utils "^18.1.0" + jest-util "^18.1.0" + pretty-format "^18.1.0" + +jest-mock@^18.0.0: + version "18.0.0" + resolved "http://npm.nexx.com.vn/jest-mock/-/jest-mock-18.0.0.tgz#5c248846ea33fa558b526f5312ab4a6765e489b3" + +jest-resolve-dependencies@^18.1.0: + version "18.1.0" + resolved "http://npm.nexx.com.vn/jest-resolve-dependencies/-/jest-resolve-dependencies-18.1.0.tgz#8134fb5caf59c9ed842fe0152ab01c52711f1bbb" + dependencies: + jest-file-exists "^17.0.0" + jest-resolve "^18.1.0" + +jest-resolve@^18.1.0: + version "18.1.0" + resolved "http://npm.nexx.com.vn/jest-resolve/-/jest-resolve-18.1.0.tgz#6800accb536658c906cd5e29de412b1ab9ac249b" + dependencies: + browser-resolve "^1.11.2" + jest-file-exists "^17.0.0" + jest-haste-map "^18.1.0" + resolve "^1.2.0" + +jest-runtime@^18.1.0: + version "18.1.0" + resolved "http://npm.nexx.com.vn/jest-runtime/-/jest-runtime-18.1.0.tgz#3abfd687175b21fc3b85a2b8064399e997859922" + dependencies: + babel-core "^6.0.0" + babel-jest "^18.0.0" + babel-plugin-istanbul "^3.0.0" + chalk "^1.1.3" + graceful-fs "^4.1.6" + jest-config "^18.1.0" + jest-file-exists "^17.0.0" + jest-haste-map "^18.1.0" + jest-mock "^18.0.0" + jest-resolve "^18.1.0" + jest-snapshot "^18.1.0" + jest-util "^18.1.0" + json-stable-stringify "^1.0.0" + micromatch "^2.3.11" + yargs "^6.3.0" + +jest-snapshot@^18.1.0: + version "18.1.0" + resolved "http://npm.nexx.com.vn/jest-snapshot/-/jest-snapshot-18.1.0.tgz#55b96d2ee639c9bce76f87f2a3fd40b71c7a5916" + dependencies: + jest-diff "^18.1.0" + jest-file-exists "^17.0.0" + jest-matcher-utils "^18.1.0" + jest-util "^18.1.0" + natural-compare "^1.4.0" + pretty-format "^18.1.0" + +jest-util@^18.1.0: + version "18.1.0" + resolved "http://npm.nexx.com.vn/jest-util/-/jest-util-18.1.0.tgz#3a99c32114ab17f84be094382527006e6d4bfc6a" + dependencies: + chalk "^1.1.1" + diff "^3.0.0" + graceful-fs "^4.1.6" + jest-file-exists "^17.0.0" + jest-mock "^18.0.0" + mkdirp "^0.5.1" + +jmespath@0.15.0: + version "0.15.0" + resolved "http://npm.nexx.com.vn/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" + +js-tokens@^3.0.0, js-tokens@^3.0.2: + version "3.0.2" + resolved "http://npm.nexx.com.vn/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +js-yaml@3.6.1: + version "3.6.1" + resolved "http://npm.nexx.com.vn/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +js-yaml@3.x, js-yaml@^3.5.1, js-yaml@^3.6.1, js-yaml@^3.7.0, js-yaml@^3.8.1, js-yaml@^3.8.3: + version "3.9.1" + resolved "http://npm.nexx.com.vn/js-yaml/-/js-yaml-3.9.1.tgz#08775cebdfdd359209f0d2acd383c8f86a6904a0" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "http://npm.nexx.com.vn/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +jsdom@^9.9.1: + version "9.12.0" + resolved "http://npm.nexx.com.vn/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4" + dependencies: + abab "^1.0.3" + acorn "^4.0.4" + acorn-globals "^3.1.0" + array-equal "^1.0.0" + content-type-parser "^1.0.1" + cssom ">= 0.3.2 < 0.4.0" + cssstyle ">= 0.2.37 < 0.3.0" + escodegen "^1.6.1" + html-encoding-sniffer "^1.0.1" + nwmatcher ">= 1.3.9 < 2.0.0" + parse5 "^1.5.1" + request "^2.79.0" + sax "^1.2.1" + symbol-tree "^3.2.1" + tough-cookie "^2.3.2" + webidl-conversions "^4.0.0" + whatwg-encoding "^1.0.1" + whatwg-url "^4.3.0" + xml-name-validator "^2.0.1" + +jsesc@^1.3.0: + version "1.3.0" + resolved "http://npm.nexx.com.vn/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +json-refs@^2.1.5: + version "2.1.7" + resolved "http://npm.nexx.com.vn/json-refs/-/json-refs-2.1.7.tgz#b9eb01fe29f5ea3e92878f15aea10ad38b5acf89" + dependencies: + commander "^2.9.0" + graphlib "^2.1.1" + js-yaml "^3.8.3" + native-promise-only "^0.8.1" + path-loader "^1.0.2" + slash "^1.0.0" + uri-js "^3.0.2" + +json-schema@0.2.3: + version "0.2.3" + resolved "http://npm.nexx.com.vn/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@5.0.1, json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "http://npm.nexx.com.vn/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json3@3.3.2: + version "3.3.2" + resolved "http://npm.nexx.com.vn/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +json5@^0.5.1: + version "0.5.1" + resolved "http://npm.nexx.com.vn/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonfile@^2.1.0: + version "2.4.0" + resolved "http://npm.nexx.com.vn/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "http://npm.nexx.com.vn/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsonpointer@^4.0.0: + version "4.0.1" + resolved "http://npm.nexx.com.vn/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + +jsprim@^1.2.2: + version "1.4.1" + resolved "http://npm.nexx.com.vn/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.4: + version "1.4.1" + resolved "http://npm.nexx.com.vn/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1" + +jszip@^3.1.2: + version "3.1.4" + resolved "http://npm.nexx.com.vn/jszip/-/jszip-3.1.4.tgz#fc323fe41bb1730348d20dd022aa4d8b57cbbcf9" + dependencies: + core-js "~2.3.0" + es6-promise "~3.0.2" + lie "~3.1.0" + pako "~1.0.2" + readable-stream "~2.0.6" + +jwt-decode@^2.2.0: + version "2.2.0" + resolved "http://npm.nexx.com.vn/jwt-decode/-/jwt-decode-2.2.0.tgz#7d86bd56679f58ce6a84704a657dd392bba81a79" + +kind-of@^3.0.2: + version "3.2.2" + resolved "http://npm.nexx.com.vn/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "http://npm.nexx.com.vn/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +klaw@^1.0.0: + version "1.3.1" + resolved "http://npm.nexx.com.vn/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + optionalDependencies: + graceful-fs "^4.1.9" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "http://npm.nexx.com.vn/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +lazy-cache@^2.0.2: + version "2.0.2" + resolved "http://npm.nexx.com.vn/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" + dependencies: + set-getter "^0.1.0" + +lazystream@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + dependencies: + readable-stream "^2.0.5" + +lcid@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +lcov-parse@0.0.10: + version "0.0.10" + resolved "http://npm.nexx.com.vn/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "http://npm.nexx.com.vn/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lie@~3.1.0: + version "3.1.1" + resolved "http://npm.nexx.com.vn/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" + dependencies: + immediate "~3.0.5" + +list-item@^1.1.1: + version "1.1.1" + resolved "http://npm.nexx.com.vn/list-item/-/list-item-1.1.1.tgz#0c65d00e287cb663ccb3cb3849a77e89ec268a56" + dependencies: + expand-range "^1.8.1" + extend-shallow "^2.0.1" + is-number "^2.1.0" + repeat-string "^1.5.2" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "http://npm.nexx.com.vn/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +lodash-es@^4.2.1: + version "4.17.4" + resolved "http://npm.nexx.com.vn/lodash-es/-/lodash-es-4.17.4.tgz#dcc1d7552e150a0640073ba9cb31d70f032950e7" + +lodash._arraycopy@^3.0.0: + version "3.0.0" + resolved "http://npm.nexx.com.vn/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1" + +lodash._arrayeach@^3.0.0: + version "3.0.0" + resolved "http://npm.nexx.com.vn/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz#bab156b2a90d3f1bbd5c653403349e5e5933ef9e" + +lodash._baseassign@^3.0.0: + version "3.2.0" + resolved "http://npm.nexx.com.vn/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" + dependencies: + lodash._basecopy "^3.0.0" + lodash.keys "^3.0.0" + +lodash._baseclone@^3.0.0: + version "3.3.0" + resolved "http://npm.nexx.com.vn/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz#303519bf6393fe7e42f34d8b630ef7794e3542b7" + dependencies: + lodash._arraycopy "^3.0.0" + lodash._arrayeach "^3.0.0" + lodash._baseassign "^3.0.0" + lodash._basefor "^3.0.0" + lodash.isarray "^3.0.0" + lodash.keys "^3.0.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "http://npm.nexx.com.vn/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._basecreate@^3.0.0: + version "3.0.3" + resolved "http://npm.nexx.com.vn/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" + +lodash._basefor@^3.0.0: + version "3.0.3" + resolved "http://npm.nexx.com.vn/lodash._basefor/-/lodash._basefor-3.0.3.tgz#7550b4e9218ef09fad24343b612021c79b4c20c2" + +lodash._bindcallback@^3.0.0: + version "3.0.1" + resolved "http://npm.nexx.com.vn/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "http://npm.nexx.com.vn/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "http://npm.nexx.com.vn/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash.assign@^4.2.0: + version "4.2.0" + resolved "http://npm.nexx.com.vn/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + +lodash.clonedeep@^3.0.0: + version "3.0.2" + resolved "http://npm.nexx.com.vn/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz#a0a1e40d82a5ea89ff5b147b8444ed63d92827db" + dependencies: + lodash._baseclone "^3.0.0" + lodash._bindcallback "^3.0.0" + +lodash.cond@^4.3.0: + version "4.5.2" + resolved "http://npm.nexx.com.vn/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" + +lodash.create@3.1.1: + version "3.1.1" + resolved "http://npm.nexx.com.vn/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" + dependencies: + lodash._baseassign "^3.0.0" + lodash._basecreate "^3.0.0" + lodash._isiterateecall "^3.0.0" + +lodash.difference@^4.5.0: + version "4.5.0" + resolved "http://npm.nexx.com.vn/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" + +lodash.endswith@^4.0.1: + version "4.2.1" + resolved "http://npm.nexx.com.vn/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" + +lodash.find@^4.3.0: + version "4.6.0" + resolved "http://npm.nexx.com.vn/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" + +lodash.findindex@^4.3.0: + version "4.6.0" + resolved "http://npm.nexx.com.vn/lodash.findindex/-/lodash.findindex-4.6.0.tgz#a3245dee61fb9b6e0624b535125624bb69c11106" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "http://npm.nexx.com.vn/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "http://npm.nexx.com.vn/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "http://npm.nexx.com.vn/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.pad@^4.1.0: + version "4.5.1" + resolved "http://npm.nexx.com.vn/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70" + +lodash.padend@^4.1.0: + version "4.6.1" + resolved "http://npm.nexx.com.vn/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" + +lodash.padstart@^4.1.0: + version "4.6.1" + resolved "http://npm.nexx.com.vn/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" + +lodash.toarray@^4.4.0: + version "4.4.0" + resolved "http://npm.nexx.com.vn/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "http://npm.nexx.com.vn/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + +lodash@^4.0.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.8.0: + version "4.17.4" + resolved "http://npm.nexx.com.vn/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + +log-driver@1.2.5: + version "1.2.5" + resolved "http://npm.nexx.com.vn/log-driver/-/log-driver-1.2.5.tgz#7ae4ec257302fd790d557cb10c97100d857b0056" + +lolex@1.3.2: + version "1.3.2" + resolved "http://npm.nexx.com.vn/lolex/-/lolex-1.3.2.tgz#7c3da62ffcb30f0f5a80a2566ca24e45d8a01f31" + +longest@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0, loose-envify@^1.1.0: + version "1.3.1" + resolved "http://npm.nexx.com.vn/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + +lowercase-keys@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" + +lsmod@1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/lsmod/-/lsmod-1.0.0.tgz#9a00f76dca36eb23fa05350afe1b585d4299e64b" + +make-dir@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" + dependencies: + pify "^2.3.0" + +makeerror@1.0.x: + version "1.0.11" + resolved "http://npm.nexx.com.vn/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + dependencies: + tmpl "1.0.x" + +markdown-link@^0.1.1: + version "0.1.1" + resolved "http://npm.nexx.com.vn/markdown-link/-/markdown-link-0.1.1.tgz#32c5c65199a6457316322d1e4229d13407c8c7cf" + +markdown-magic@^0.1.15: + version "0.1.18" + resolved "http://npm.nexx.com.vn/markdown-magic/-/markdown-magic-0.1.18.tgz#69a95f0f51248f9fc284ed75f24bdad85a45ceee" + dependencies: + commander "^2.9.0" + deepmerge "^1.3.0" + find-up "^2.1.0" + fs-extra "^1.0.0" + globby "^6.1.0" + is-local-path "^0.1.6" + markdown-toc "^1.0.2" + sync-request "^3.0.1" + +markdown-toc@^1.0.2: + version "1.1.0" + resolved "http://npm.nexx.com.vn/markdown-toc/-/markdown-toc-1.1.0.tgz#18e47237d89549e9447121e69e2ca853ca2d752a" + dependencies: + concat-stream "^1.5.2" + diacritics-map "^0.1.0" + gray-matter "^2.1.0" + lazy-cache "^2.0.2" + list-item "^1.1.1" + markdown-link "^0.1.1" + minimist "^1.2.0" + mixin-deep "^1.1.3" + object.pick "^1.2.0" + remarkable "^1.7.1" + repeat-string "^1.6.1" + strip-color "^0.1.0" + +marked-terminal@^1.6.2: + version "1.7.0" + resolved "http://npm.nexx.com.vn/marked-terminal/-/marked-terminal-1.7.0.tgz#c8c460881c772c7604b64367007ee5f77f125904" + dependencies: + cardinal "^1.0.0" + chalk "^1.1.3" + cli-table "^0.3.1" + lodash.assign "^4.2.0" + node-emoji "^1.4.1" + +marked@^0.3.6: + version "0.3.6" + resolved "http://npm.nexx.com.vn/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" + +merge-descriptors@~1.0.0: + version "1.0.1" + resolved "http://npm.nexx.com.vn/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + +merge@^1.1.3: + version "1.2.0" + resolved "http://npm.nexx.com.vn/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" + +methods@^1.1.1: + version "1.1.2" + resolved "http://npm.nexx.com.vn/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + +micromatch@^2.3.11: + version "2.3.11" + resolved "http://npm.nexx.com.vn/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +mime-db@~1.29.0: + version "1.29.0" + resolved "http://npm.nexx.com.vn/mime-db/-/mime-db-1.29.0.tgz#48d26d235589651704ac5916ca06001914266878" + +mime-types@^2.1.12, mime-types@~2.1.7: + version "2.1.16" + resolved "http://npm.nexx.com.vn/mime-types/-/mime-types-2.1.16.tgz#2b858a52e5ecd516db897ac2be87487830698e23" + dependencies: + mime-db "~1.29.0" + +mime@^1.3.6: + version "1.4.0" + resolved "http://npm.nexx.com.vn/mime/-/mime-1.4.0.tgz#69e9e0db51d44f2a3b56e48b7817d7d137f1a343" + +"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: + version "3.0.4" + resolved "http://npm.nexx.com.vn/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "http://npm.nexx.com.vn/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@1.2.0, minimist@^1.1.1, minimist@^1.2.0: + version "1.2.0" + resolved "http://npm.nexx.com.vn/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +minimist@~0.0.1: + version "0.0.10" + resolved "http://npm.nexx.com.vn/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + +mixin-deep@^1.1.3: + version "1.2.0" + resolved "http://npm.nexx.com.vn/mixin-deep/-/mixin-deep-1.2.0.tgz#d02b8c6f8b6d4b8f5982d3fd009c4919851c3fe2" + dependencies: + for-in "^1.0.2" + is-extendable "^0.1.1" + +mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1: + version "0.5.1" + resolved "http://npm.nexx.com.vn/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +mocha-lcov-reporter@^1.2.0: + version "1.3.0" + resolved "http://npm.nexx.com.vn/mocha-lcov-reporter/-/mocha-lcov-reporter-1.3.0.tgz#469bdef4f8afc9a116056f079df6182d0afb0384" + +mocha@^3.0.2: + version "3.5.0" + resolved "http://npm.nexx.com.vn/mocha/-/mocha-3.5.0.tgz#1328567d2717f997030f8006234bce9b8cd72465" + dependencies: + browser-stdout "1.3.0" + commander "2.9.0" + debug "2.6.8" + diff "3.2.0" + escape-string-regexp "1.0.5" + glob "7.1.1" + growl "1.9.2" + json3 "3.3.2" + lodash.create "3.1.1" + mkdirp "0.5.1" + supports-color "3.1.2" + +mock-require@^1.3.0: + version "1.3.0" + resolved "http://npm.nexx.com.vn/mock-require/-/mock-require-1.3.0.tgz#826144952e504762f8e6924aa8f639465d1d7a24" + dependencies: + caller-id "^0.1.0" + +module-not-found-error@^1.0.0: + version "1.0.1" + resolved "http://npm.nexx.com.vn/module-not-found-error/-/module-not-found-error-1.0.1.tgz#cf8b4ff4f29640674d6cdd02b0e3bc523c2bbdc0" + +moment@^2.13.0: + version "2.18.1" + resolved "http://npm.nexx.com.vn/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" + +ms@2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +mute-stream@0.0.5: + version "0.0.5" + resolved "http://npm.nexx.com.vn/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + +mute-stream@0.0.6: + version "0.0.6" + resolved "http://npm.nexx.com.vn/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" + +native-promise-only@^0.8.1: + version "0.8.1" + resolved "http://npm.nexx.com.vn/native-promise-only/-/native-promise-only-0.8.1.tgz#20a318c30cb45f71fe7adfbf7b21c99c1472ef11" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "http://npm.nexx.com.vn/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + +node-emoji@^1.4.1: + version "1.8.1" + resolved "http://npm.nexx.com.vn/node-emoji/-/node-emoji-1.8.1.tgz#6eec6bfb07421e2148c75c6bba72421f8530a826" + dependencies: + lodash.toarray "^4.4.0" + +node-fetch@^1.0.1, node-fetch@^1.6.0: + version "1.7.2" + resolved "http://npm.nexx.com.vn/node-fetch/-/node-fetch-1.7.2.tgz#c54e9aac57e432875233525f3c891c4159ffefd7" + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + +node-int64@^0.4.0: + version "0.4.0" + resolved "http://npm.nexx.com.vn/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + +node-notifier@^4.6.1: + version "4.6.1" + resolved "http://npm.nexx.com.vn/node-notifier/-/node-notifier-4.6.1.tgz#056d14244f3dcc1ceadfe68af9cff0c5473a33f3" + dependencies: + cli-usage "^0.1.1" + growly "^1.2.0" + lodash.clonedeep "^3.0.0" + minimist "^1.1.1" + semver "^5.1.0" + shellwords "^0.1.0" + which "^1.0.5" + +nopt@3.x: + version "3.0.6" + resolved "http://npm.nexx.com.vn/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2: + version "2.4.0" + resolved "http://npm.nexx.com.vn/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.0, normalize-path@^2.0.1: + version "2.1.1" + resolved "http://npm.nexx.com.vn/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" + +npm-conf@^1.1.0: + version "1.1.2" + resolved "http://npm.nexx.com.vn/npm-conf/-/npm-conf-1.1.2.tgz#170a2c48a0c6ad0495f03f87aec2da11ef47a525" + dependencies: + config-chain "^1.1.11" + pify "^3.0.0" + +npmlog@^2.0.3: + version "2.0.4" + resolved "http://npm.nexx.com.vn/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692" + dependencies: + ansi "~0.3.1" + are-we-there-yet "~1.1.2" + gauge "~1.2.5" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "http://npm.nexx.com.vn/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +"nwmatcher@>= 1.3.9 < 2.0.0": + version "1.4.1" + resolved "http://npm.nexx.com.vn/nwmatcher/-/nwmatcher-1.4.1.tgz#7ae9b07b0ea804db7e25f05cb5fe4097d4e4949f" + +oauth-sign@~0.8.1: + version "0.8.2" + resolved "http://npm.nexx.com.vn/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "http://npm.nexx.com.vn/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-keys@^1.0.10, object-keys@^1.0.8: + version "1.0.11" + resolved "http://npm.nexx.com.vn/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + +object.assign@^4.0.4: + version "4.0.4" + resolved "http://npm.nexx.com.vn/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc" + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.0" + object-keys "^1.0.10" + +object.omit@^2.0.0: + version "2.0.1" + resolved "http://npm.nexx.com.vn/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +object.pick@^1.2.0: + version "1.3.0" + resolved "http://npm.nexx.com.vn/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + dependencies: + isobject "^3.0.1" + +once@1.x, once@^1.3.0, once@^1.4.0: + version "1.4.0" + resolved "http://npm.nexx.com.vn/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "http://npm.nexx.com.vn/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +opn@^5.0.0: + version "5.1.0" + resolved "http://npm.nexx.com.vn/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" + dependencies: + is-wsl "^1.1.0" + +optimist@^0.6.1: + version "0.6.1" + resolved "http://npm.nexx.com.vn/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optionator@^0.8.1, optionator@^0.8.2: + version "0.8.2" + resolved "http://npm.nexx.com.vn/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "http://npm.nexx.com.vn/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "http://npm.nexx.com.vn/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + +os-shim@^0.1.2: + version "0.1.3" + resolved "http://npm.nexx.com.vn/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" + +os-tmpdir@^1.0.1, os-tmpdir@~1.0.1: + version "1.0.2" + resolved "http://npm.nexx.com.vn/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +p-limit@^1.1.0: + version "1.1.0" + resolved "http://npm.nexx.com.vn/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" + +p-locate@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + dependencies: + p-limit "^1.1.0" + +pako@~1.0.2: + version "1.0.5" + resolved "http://npm.nexx.com.vn/pako/-/pako-1.0.5.tgz#d2205dfe5b9da8af797e7c163db4d1f84e4600bc" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "http://npm.nexx.com.vn/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "http://npm.nexx.com.vn/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parse5@^1.5.1: + version "1.5.1" + resolved "http://npm.nexx.com.vn/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" + +path-exists@^2.0.0: + version "2.1.0" + resolved "http://npm.nexx.com.vn/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "http://npm.nexx.com.vn/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "http://npm.nexx.com.vn/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-loader@^1.0.2: + version "1.0.2" + resolved "http://npm.nexx.com.vn/path-loader/-/path-loader-1.0.2.tgz#cd5c73e7e39a91011be148d6bfdd8a85bb931ef9" + dependencies: + native-promise-only "^0.8.1" + superagent "^3.5.2" + +path-parse@^1.0.5: + version "1.0.5" + resolved "http://npm.nexx.com.vn/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + +path-type@^1.0.0: + version "1.1.0" + resolved "http://npm.nexx.com.vn/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +pend@~1.2.0: + version "1.2.0" + resolved "http://npm.nexx.com.vn/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + +performance-now@^0.2.0: + version "0.2.0" + resolved "http://npm.nexx.com.vn/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" + +pify@^2.0.0, pify@^2.3.0: + version "2.3.0" + resolved "http://npm.nexx.com.vn/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pify@^3.0.0: + version "3.0.0" + resolved "http://npm.nexx.com.vn/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "http://npm.nexx.com.vn/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "http://npm.nexx.com.vn/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + dependencies: + find-up "^1.0.0" + +pkg-up@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" + dependencies: + find-up "^1.0.0" + +pluralize@^1.2.1: + version "1.2.1" + resolved "http://npm.nexx.com.vn/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "http://npm.nexx.com.vn/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + +prepend-http@^1.0.1: + version "1.0.4" + resolved "http://npm.nexx.com.vn/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + +preserve@^0.2.0: + version "0.2.0" + resolved "http://npm.nexx.com.vn/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +pretty-format@^18.1.0: + version "18.1.0" + resolved "http://npm.nexx.com.vn/pretty-format/-/pretty-format-18.1.0.tgz#fb65a86f7a7f9194963eee91865c1bcf1039e284" + dependencies: + ansi-styles "^2.2.1" + +private@^0.1.7: + version "0.1.7" + resolved "http://npm.nexx.com.vn/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "http://npm.nexx.com.vn/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +progress@^1.1.8: + version "1.1.8" + resolved "http://npm.nexx.com.vn/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + +promise@^7.1.1: + version "7.3.1" + resolved "http://npm.nexx.com.vn/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + dependencies: + asap "~2.0.3" + +proto-list@~1.2.1: + version "1.2.4" + resolved "http://npm.nexx.com.vn/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + +proxyquire@^1.7.10: + version "1.8.0" + resolved "http://npm.nexx.com.vn/proxyquire/-/proxyquire-1.8.0.tgz#02d514a5bed986f04cbb2093af16741535f79edc" + dependencies: + fill-keys "^1.0.2" + module-not-found-error "^1.0.0" + resolve "~1.1.7" + +prr@~0.0.0: + version "0.0.0" + resolved "http://npm.nexx.com.vn/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" + +punycode@1.3.2: + version "1.3.2" + resolved "http://npm.nexx.com.vn/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + +punycode@^1.4.1: + version "1.4.1" + resolved "http://npm.nexx.com.vn/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +punycode@^2.1.0: + version "2.1.0" + resolved "http://npm.nexx.com.vn/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + +qs@^6.1.0, qs@^6.4.0: + version "6.5.0" + resolved "http://npm.nexx.com.vn/qs/-/qs-6.5.0.tgz#8d04954d364def3efc55b5a0793e1e2c8b1e6e49" + +qs@~6.3.0: + version "6.3.2" + resolved "http://npm.nexx.com.vn/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" + +qs@~6.4.0: + version "6.4.0" + resolved "http://npm.nexx.com.vn/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + +querystring@0.2.0: + version "0.2.0" + resolved "http://npm.nexx.com.vn/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + +querystringify@~1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb" + +ramda@^0.24.1: + version "0.24.1" + resolved "http://npm.nexx.com.vn/ramda/-/ramda-0.24.1.tgz#c3b7755197f35b8dc3502228262c4c91ddb6b857" + +randomatic@^1.1.3: + version "1.1.7" + resolved "http://npm.nexx.com.vn/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +raven@^1.2.1: + version "1.2.1" + resolved "http://npm.nexx.com.vn/raven/-/raven-1.2.1.tgz#949c134db028a190b7bbf8f790aae541b7c020bd" + dependencies: + cookie "0.3.1" + json-stringify-safe "5.0.1" + lsmod "1.0.0" + stack-trace "0.0.9" + uuid "3.0.0" + +rc@^1.1.6: + version "1.2.1" + resolved "http://npm.nexx.com.vn/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "http://npm.nexx.com.vn/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.2.2: + version "2.3.3" + resolved "http://npm.nexx.com.vn/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + safe-buffer "~5.1.1" + string_decoder "~1.0.3" + util-deprecate "~1.0.1" + +readable-stream@~2.0.6: + version "2.0.6" + resolved "http://npm.nexx.com.vn/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readline2@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + mute-stream "0.0.5" + +rechoir@^0.6.2: + version "0.6.2" + resolved "http://npm.nexx.com.vn/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + +redeyed@~1.0.0: + version "1.0.1" + resolved "http://npm.nexx.com.vn/redeyed/-/redeyed-1.0.1.tgz#e96c193b40c0816b00aec842698e61185e55498a" + dependencies: + esprima "~3.0.0" + +redux@^3.4.0: + version "3.7.2" + resolved "http://npm.nexx.com.vn/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" + dependencies: + lodash "^4.2.1" + lodash-es "^4.2.1" + loose-envify "^1.1.0" + symbol-observable "^1.0.3" + +regenerator-runtime@^0.11.0: + version "0.11.0" + resolved "http://npm.nexx.com.vn/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" + +regex-cache@^0.4.2: + version "0.4.3" + resolved "http://npm.nexx.com.vn/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + dependencies: + is-equal-shallow "^0.1.3" + is-primitive "^2.0.0" + +remarkable@^1.7.1: + version "1.7.1" + resolved "http://npm.nexx.com.vn/remarkable/-/remarkable-1.7.1.tgz#aaca4972100b66a642a63a1021ca4bac1be3bff6" + dependencies: + argparse "~0.1.15" + autolinker "~0.15.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "http://npm.nexx.com.vn/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "http://npm.nexx.com.vn/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2, repeat-string@^1.6.1: + version "1.6.1" + resolved "http://npm.nexx.com.vn/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "http://npm.nexx.com.vn/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +replaceall@^0.1.6: + version "0.1.6" + resolved "http://npm.nexx.com.vn/replaceall/-/replaceall-0.1.6.tgz#81d81ac7aeb72d7f5c4942adf2697a3220688d8e" + +request@2.79.0: + version "2.79.0" + resolved "http://npm.nexx.com.vn/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + uuid "^3.0.0" + +request@^2.79.0: + version "2.81.0" + resolved "http://npm.nexx.com.vn/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~4.2.1" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + performance-now "^0.2.0" + qs "~6.4.0" + safe-buffer "^5.0.1" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "^0.6.0" + uuid "^3.0.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "http://npm.nexx.com.vn/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +require-uncached@^1.0.2: + version "1.0.3" + resolved "http://npm.nexx.com.vn/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + dependencies: + caller-path "^0.1.0" + resolve-from "^1.0.0" + +requires-port@1.0.x: + version "1.0.0" + resolved "http://npm.nexx.com.vn/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + +resolve-from@^1.0.0: + version "1.0.1" + resolved "http://npm.nexx.com.vn/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + +resolve@1.1.7, resolve@1.1.x, resolve@~1.1.7: + version "1.1.7" + resolved "http://npm.nexx.com.vn/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +resolve@^1.1.6, resolve@^1.2.0: + version "1.4.0" + resolved "http://npm.nexx.com.vn/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86" + dependencies: + path-parse "^1.0.5" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +right-align@^0.1.1: + version "0.1.3" + resolved "http://npm.nexx.com.vn/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@^2.2.8, rimraf@^2.6.1: + version "2.6.1" + resolved "http://npm.nexx.com.vn/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" + dependencies: + glob "^7.0.5" + +run-async@^0.1.0: + version "0.1.0" + resolved "http://npm.nexx.com.vn/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" + dependencies: + once "^1.3.0" + +run-async@^2.2.0: + version "2.3.0" + resolved "http://npm.nexx.com.vn/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + dependencies: + is-promise "^2.1.0" + +rx-lite@^3.1.2: + version "3.1.2" + resolved "http://npm.nexx.com.vn/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" + +rx@^4.1.0: + version "4.1.0" + resolved "http://npm.nexx.com.vn/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" + +safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.1" + resolved "http://npm.nexx.com.vn/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + +samsam@1.1.2: + version "1.1.2" + resolved "http://npm.nexx.com.vn/samsam/-/samsam-1.1.2.tgz#bec11fdc83a9fda063401210e40176c3024d1567" + +samsam@~1.1: + version "1.1.3" + resolved "http://npm.nexx.com.vn/samsam/-/samsam-1.1.3.tgz#9f5087419b4d091f232571e7fa52e90b0f552621" + +sane@~1.4.1: + version "1.4.1" + resolved "http://npm.nexx.com.vn/sane/-/sane-1.4.1.tgz#88f763d74040f5f0c256b6163db399bf110ac715" + dependencies: + exec-sh "^0.2.0" + fb-watchman "^1.8.0" + minimatch "^3.0.2" + minimist "^1.1.1" + walker "~1.0.5" + watch "~0.10.0" + +sax@1.2.1: + version "1.2.1" + resolved "http://npm.nexx.com.vn/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" + +sax@>=0.6.0, sax@^1.2.1: + version "1.2.4" + resolved "http://npm.nexx.com.vn/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + +seek-bzip@^1.0.5: + version "1.0.5" + resolved "http://npm.nexx.com.vn/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" + dependencies: + commander "~2.8.1" + +semver-regex@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9" + +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: + version "5.4.1" + resolved "http://npm.nexx.com.vn/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" + +semver@~5.0.1: + version "5.0.3" + resolved "http://npm.nexx.com.vn/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-getter@^0.1.0: + version "0.1.0" + resolved "http://npm.nexx.com.vn/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" + dependencies: + to-object-path "^0.3.0" + +shelljs@^0.6.0: + version "0.6.1" + resolved "http://npm.nexx.com.vn/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8" + +shelljs@^0.7.5: + version "0.7.8" + resolved "http://npm.nexx.com.vn/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +shellwords@^0.1.0: + version "0.1.1" + resolved "http://npm.nexx.com.vn/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + +signal-exit@^3.0.2: + version "3.0.2" + resolved "http://npm.nexx.com.vn/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +sinon-bluebird@^3.1.0: + version "3.1.0" + resolved "http://npm.nexx.com.vn/sinon-bluebird/-/sinon-bluebird-3.1.0.tgz#f92680fa546d553a4f5f62de90425eb5dc47841d" + +sinon-chai@^2.9.0: + version "2.13.0" + resolved "http://npm.nexx.com.vn/sinon-chai/-/sinon-chai-2.13.0.tgz#b9a42e801c20234bfc2f43b29e6f4f61b60990c4" + +sinon@^1.17.5: + version "1.17.7" + resolved "http://npm.nexx.com.vn/sinon/-/sinon-1.17.7.tgz#4542a4f49ba0c45c05eb2e9dd9d203e2b8efe0bf" + dependencies: + formatio "1.1.1" + lolex "1.3.2" + samsam "1.1.2" + util ">=0.10.3 <1" + +slash@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +slice-ansi@0.0.4: + version "0.0.4" + resolved "http://npm.nexx.com.vn/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + +sntp@1.x.x: + version "1.0.9" + resolved "http://npm.nexx.com.vn/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +source-map-support@^0.4.15: + version "0.4.16" + resolved "http://npm.nexx.com.vn/source-map-support/-/source-map-support-0.4.16.tgz#16fecf98212467d017d586a2af68d628b9421cd8" + dependencies: + source-map "^0.5.6" + +source-map@^0.4.4: + version "0.4.4" + resolved "http://npm.nexx.com.vn/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1: + version "0.5.7" + resolved "http://npm.nexx.com.vn/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + +source-map@~0.2.0: + version "0.2.0" + resolved "http://npm.nexx.com.vn/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + dependencies: + amdefine ">=0.0.4" + +spawn-sync@^1.0.15: + version "1.0.15" + resolved "http://npm.nexx.com.vn/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" + dependencies: + concat-stream "^1.4.7" + os-shim "^0.1.2" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "http://npm.nexx.com.vn/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "http://npm.nexx.com.vn/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2: + version "1.2.2" + resolved "http://npm.nexx.com.vn/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "http://npm.nexx.com.vn/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sshpk@^1.7.0: + version "1.13.1" + resolved "http://npm.nexx.com.vn/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +stack-trace@0.0.9: + version "0.0.9" + resolved "http://npm.nexx.com.vn/stack-trace/-/stack-trace-0.0.9.tgz#a8f6eaeca90674c333e7c43953f275b451510695" + +stack-trace@~0.0.7: + version "0.0.10" + resolved "http://npm.nexx.com.vn/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "http://npm.nexx.com.vn/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0: + version "2.1.1" + resolved "http://npm.nexx.com.vn/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "http://npm.nexx.com.vn/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string_decoder@~1.0.3: + version "1.0.3" + resolved "http://npm.nexx.com.vn/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" + dependencies: + safe-buffer "~5.1.0" + +stringstream@~0.0.4: + version "0.0.5" + resolved "http://npm.nexx.com.vn/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "http://npm.nexx.com.vn/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "http://npm.nexx.com.vn/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "http://npm.nexx.com.vn/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +strip-color@^0.1.0: + version "0.1.0" + resolved "http://npm.nexx.com.vn/strip-color/-/strip-color-0.1.0.tgz#106f65d3d3e6a2d9401cac0eb0ce8b8a702b4f7b" + +strip-dirs@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/strip-dirs/-/strip-dirs-2.0.0.tgz#610cdb2928200da0004f41dcb90fc95cd919a0b6" + dependencies: + is-natural-number "^4.0.1" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "http://npm.nexx.com.vn/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +strip-outer@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/strip-outer/-/strip-outer-1.0.0.tgz#aac0ba60d2e90c5d4f275fd8869fd9a2d310ffb8" + dependencies: + escape-string-regexp "^1.0.2" + +superagent@^3.5.2: + version "3.6.0" + resolved "http://npm.nexx.com.vn/superagent/-/superagent-3.6.0.tgz#eb679651057c3462199c7b902b696c25350e1b87" + dependencies: + component-emitter "^1.2.0" + cookiejar "^2.1.0" + debug "^2.6.0" + extend "^3.0.0" + form-data "^2.1.1" + formidable "^1.1.1" + methods "^1.1.1" + mime "^1.3.6" + qs "^6.4.0" + readable-stream "^2.0.5" + +supports-color@3.1.2: + version "3.1.2" + resolved "http://npm.nexx.com.vn/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" + dependencies: + has-flag "^1.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^3.1.0, supports-color@^3.1.2: + version "3.2.3" + resolved "http://npm.nexx.com.vn/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + dependencies: + has-flag "^1.0.0" + +supports-color@^4.0.0: + version "4.2.1" + resolved "http://npm.nexx.com.vn/supports-color/-/supports-color-4.2.1.tgz#65a4bb2631e90e02420dba5554c375a4754bb836" + dependencies: + has-flag "^2.0.0" + +symbol-observable@^1.0.2, symbol-observable@^1.0.3: + version "1.0.4" + resolved "http://npm.nexx.com.vn/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" + +symbol-tree@^3.2.1: + version "3.2.2" + resolved "http://npm.nexx.com.vn/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" + +sync-request@^3.0.1: + version "3.0.1" + resolved "http://npm.nexx.com.vn/sync-request/-/sync-request-3.0.1.tgz#caa1235aaf889ba501076a1834c436830a82fb73" + dependencies: + concat-stream "^1.4.7" + http-response-object "^1.0.1" + then-request "^2.0.1" + +table@^3.7.8: + version "3.8.3" + resolved "http://npm.nexx.com.vn/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" + dependencies: + ajv "^4.7.0" + ajv-keywords "^1.0.0" + chalk "^1.1.1" + lodash "^4.0.0" + slice-ansi "0.0.4" + string-width "^2.0.0" + +tabtab@^2.2.2: + version "2.2.2" + resolved "http://npm.nexx.com.vn/tabtab/-/tabtab-2.2.2.tgz#7a047f143b010b4cbd31f857e82961512cbf4e14" + dependencies: + debug "^2.2.0" + inquirer "^1.0.2" + lodash.difference "^4.5.0" + lodash.uniq "^4.5.0" + minimist "^1.2.0" + mkdirp "^0.5.1" + npmlog "^2.0.3" + object-assign "^4.1.0" + +tar-stream@^1.5.0, tar-stream@^1.5.2: + version "1.5.4" + resolved "http://npm.nexx.com.vn/tar-stream/-/tar-stream-1.5.4.tgz#36549cf04ed1aee9b2a30c0143252238daf94016" + dependencies: + bl "^1.0.0" + end-of-stream "^1.0.0" + readable-stream "^2.0.0" + xtend "^4.0.0" + +test-exclude@^3.3.0: + version "3.3.0" + resolved "http://npm.nexx.com.vn/test-exclude/-/test-exclude-3.3.0.tgz#7a17ca1239988c98367b0621456dbb7d4bc38977" + dependencies: + arrify "^1.0.1" + micromatch "^2.3.11" + object-assign "^4.1.0" + read-pkg-up "^1.0.1" + require-main-filename "^1.0.1" + +text-table@~0.2.0: + version "0.2.0" + resolved "http://npm.nexx.com.vn/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + +then-request@^2.0.1: + version "2.2.0" + resolved "http://npm.nexx.com.vn/then-request/-/then-request-2.2.0.tgz#6678b32fa0ca218fe569981bbd8871b594060d81" + dependencies: + caseless "~0.11.0" + concat-stream "^1.4.7" + http-basic "^2.5.1" + http-response-object "^1.1.0" + promise "^7.1.1" + qs "^6.1.0" + +throat@^3.0.0: + version "3.2.0" + resolved "http://npm.nexx.com.vn/throat/-/throat-3.2.0.tgz#50cb0670edbc40237b9e347d7e1f88e4620af836" + +through@^2.3.6: + version "2.3.8" + resolved "http://npm.nexx.com.vn/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +timed-out@^4.0.0: + version "4.0.1" + resolved "http://npm.nexx.com.vn/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + +tmp@^0.0.29: + version "0.0.29" + resolved "http://npm.nexx.com.vn/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0" + dependencies: + os-tmpdir "~1.0.1" + +tmpl@1.0.x: + version "1.0.4" + resolved "http://npm.nexx.com.vn/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "http://npm.nexx.com.vn/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + +to-object-path@^0.3.0: + version "0.3.0" + resolved "http://npm.nexx.com.vn/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + dependencies: + kind-of "^3.0.2" + +toml@^2.3.2: + version "2.3.2" + resolved "http://npm.nexx.com.vn/toml/-/toml-2.3.2.tgz#5eded5ca42887924949fd06eb0e955656001e834" + +tough-cookie@^2.3.2, tough-cookie@~2.3.0: + version "2.3.2" + resolved "http://npm.nexx.com.vn/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + dependencies: + punycode "^1.4.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "http://npm.nexx.com.vn/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + +trim-repeated@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" + dependencies: + escape-string-regexp "^1.0.2" + +trim-right@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + +tryit@^1.0.1: + version "1.0.3" + resolved "http://npm.nexx.com.vn/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "http://npm.nexx.com.vn/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "http://npm.nexx.com.vn/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "http://npm.nexx.com.vn/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +type-check@~0.3.2: + version "0.3.2" + resolved "http://npm.nexx.com.vn/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + +type-detect@0.1.1: + version "0.1.1" + resolved "http://npm.nexx.com.vn/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" + +type-detect@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" + +typedarray@^0.0.6: + version "0.0.6" + resolved "http://npm.nexx.com.vn/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +uglify-js@^2.6: + version "2.8.29" + resolved "http://npm.nexx.com.vn/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "http://npm.nexx.com.vn/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +unbzip2-stream@^1.0.9: + version "1.2.5" + resolved "http://npm.nexx.com.vn/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz#73a033a567bbbde59654b193c44d48a7e4f43c47" + dependencies: + buffer "^3.0.1" + through "^2.3.6" + +underscore.string@~2.4.0: + version "2.4.0" + resolved "http://npm.nexx.com.vn/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b" + +underscore@~1.7.0: + version "1.7.0" + resolved "http://npm.nexx.com.vn/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" + +unzip-response@^2.0.1: + version "2.0.1" + resolved "http://npm.nexx.com.vn/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + +uri-js@^3.0.2: + version "3.0.2" + resolved "http://npm.nexx.com.vn/uri-js/-/uri-js-3.0.2.tgz#f90b858507f81dea4dcfbb3c4c3dbfa2b557faaa" + dependencies: + punycode "^2.1.0" + +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + dependencies: + prepend-http "^1.0.1" + +url-parse@^1.1.9: + version "1.1.9" + resolved "http://npm.nexx.com.vn/url-parse/-/url-parse-1.1.9.tgz#c67f1d775d51f0a18911dd7b3ffad27bb9e5bd19" + dependencies: + querystringify "~1.0.0" + requires-port "1.0.x" + +url-to-options@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" + +url@0.10.3: + version "0.10.3" + resolved "http://npm.nexx.com.vn/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +user-home@^2.0.0: + version "2.0.0" + resolved "http://npm.nexx.com.vn/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + dependencies: + os-homedir "^1.0.0" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "http://npm.nexx.com.vn/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +"util@>=0.10.3 <1": + version "0.10.3" + resolved "http://npm.nexx.com.vn/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + dependencies: + inherits "2.0.1" + +uuid@3.0.0: + version "3.0.0" + resolved "http://npm.nexx.com.vn/uuid/-/uuid-3.0.0.tgz#6728fc0459c450d796a99c31837569bdf672d728" + +uuid@3.0.1: + version "3.0.1" + resolved "http://npm.nexx.com.vn/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + +uuid@^2.0.2: + version "2.0.3" + resolved "http://npm.nexx.com.vn/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" + +uuid@^3.0.0: + version "3.1.0" + resolved "http://npm.nexx.com.vn/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" + +validate-npm-package-license@^3.0.1: + version "3.0.1" + resolved "http://npm.nexx.com.vn/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +verror@1.10.0: + version "1.10.0" + resolved "http://npm.nexx.com.vn/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +walkdir@^0.0.11: + version "0.0.11" + resolved "http://npm.nexx.com.vn/walkdir/-/walkdir-0.0.11.tgz#a16d025eb931bd03b52f308caed0f40fcebe9532" + +walker@~1.0.5: + version "1.0.7" + resolved "http://npm.nexx.com.vn/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + dependencies: + makeerror "1.0.x" + +watch@~0.10.0: + version "0.10.0" + resolved "http://npm.nexx.com.vn/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "http://npm.nexx.com.vn/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + +webidl-conversions@^4.0.0: + version "4.0.2" + resolved "http://npm.nexx.com.vn/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + +whatwg-encoding@^1.0.1: + version "1.0.1" + resolved "http://npm.nexx.com.vn/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz#3c6c451a198ee7aec55b1ec61d0920c67801a5f4" + dependencies: + iconv-lite "0.4.13" + +whatwg-fetch@>=0.10.0, whatwg-fetch@^2.0.0: + version "2.0.3" + resolved "http://npm.nexx.com.vn/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" + +whatwg-url@^4.3.0: + version "4.8.0" + resolved "http://npm.nexx.com.vn/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0" + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-module@^1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + +which@^1.0.5, which@^1.1.1: + version "1.3.0" + resolved "http://npm.nexx.com.vn/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" + dependencies: + isexe "^2.0.0" + +window-size@0.1.0: + version "0.1.0" + resolved "http://npm.nexx.com.vn/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +wordwrap@0.0.2: + version "0.0.2" + resolved "http://npm.nexx.com.vn/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wordwrap@^1.0.0, wordwrap@~1.0.0: + version "1.0.0" + resolved "http://npm.nexx.com.vn/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "http://npm.nexx.com.vn/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + +worker-farm@^1.3.1: + version "1.5.0" + resolved "http://npm.nexx.com.vn/worker-farm/-/worker-farm-1.5.0.tgz#adfdf0cd40581465ed0a1f648f9735722afd5c8d" + dependencies: + errno "^0.1.4" + xtend "^4.0.1" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "http://npm.nexx.com.vn/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "http://npm.nexx.com.vn/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write-file-atomic@^2.1.0: + version "2.3.0" + resolved "http://npm.nexx.com.vn/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write@^0.2.1: + version "0.2.1" + resolved "http://npm.nexx.com.vn/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + dependencies: + mkdirp "^0.5.1" + +xml-name-validator@^2.0.1: + version "2.0.1" + resolved "http://npm.nexx.com.vn/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" + +xml2js@0.4.17: + version "0.4.17" + resolved "http://npm.nexx.com.vn/xml2js/-/xml2js-0.4.17.tgz#17be93eaae3f3b779359c795b419705a8817e868" + dependencies: + sax ">=0.6.0" + xmlbuilder "^4.1.0" + +xmlbuilder@4.2.1, xmlbuilder@^4.1.0: + version "4.2.1" + resolved "http://npm.nexx.com.vn/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5" + dependencies: + lodash "^4.0.0" + +xtend@^4.0.0, xtend@^4.0.1: + version "4.0.1" + resolved "http://npm.nexx.com.vn/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.1: + version "3.2.1" + resolved "http://npm.nexx.com.vn/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +yargs-parser@^4.2.0: + version "4.2.1" + resolved "http://npm.nexx.com.vn/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" + dependencies: + camelcase "^3.0.0" + +yargs@^6.3.0: + version "6.6.0" + resolved "http://npm.nexx.com.vn/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^4.2.0" + +yargs@~3.10.0: + version "3.10.0" + resolved "http://npm.nexx.com.vn/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" + +yauzl@^2.4.2: + version "2.8.0" + resolved "http://npm.nexx.com.vn/yauzl/-/yauzl-2.8.0.tgz#79450aff22b2a9c5a41ef54e02db907ccfbf9ee2" + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.0.1" + +zen-observable-ts@^0.4.0: + version "0.4.0" + resolved "http://npm.nexx.com.vn/zen-observable-ts/-/zen-observable-ts-0.4.0.tgz#a74bc9fe59747948a577bd513d438e70fcfae7e2" + +zip-stream@^1.1.0: + version "1.2.0" + resolved "http://npm.nexx.com.vn/zip-stream/-/zip-stream-1.2.0.tgz#a8bc45f4c1b49699c6b90198baacaacdbcd4ba04" + dependencies: + archiver-utils "^1.3.0" + compress-commons "^1.2.0" + lodash "^4.8.0" + readable-stream "^2.0.0" From 2cbde978fa0c3efa433fbc120abc50b40a2427da Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Sat, 2 Sep 2017 19:04:51 +0700 Subject: [PATCH 05/99] fixed method get RestApiId --- .../aws/package/compile/events/apiGateway/lib/method/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.js index e8e040b2bf0..f11877e19e7 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.js @@ -20,7 +20,7 @@ module.exports = { HttpMethod: event.http.method.toUpperCase(), RequestParameters: requestParameters, ResourceId: resourceId, - RestApiId: { Ref: this.apiGatewayRestApiLogicalId }, + RestApiId: this.provider.getApiGatewayRestApiId(), }, }; From 119c65e28e8041ff6a445e3c70dbdfb169c2731d Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Sat, 2 Sep 2017 19:17:16 +0700 Subject: [PATCH 06/99] capsule api gateway rest api id --- .../aws/package/compile/events/apiGateway/lib/apiKeys.js | 2 +- .../aws/package/compile/events/apiGateway/lib/authorizers.js | 2 +- lib/plugins/aws/package/compile/events/apiGateway/lib/cors.js | 2 +- .../aws/package/compile/events/apiGateway/lib/deployment.js | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/apiKeys.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/apiKeys.js index 646fa14aaf6..511f19720e7 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/apiKeys.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/apiKeys.js @@ -27,7 +27,7 @@ module.exports = { Enabled: true, Name: apiKey, StageKeys: [{ - RestApiId: { Ref: this.apiGatewayRestApiLogicalId }, + RestApiId: this.provider.getApiGatewayRestApiId(), StageName: this.options.stage, }], }, diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/authorizers.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/authorizers.js index 84b86168429..dc4f56e8403 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/authorizers.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/authorizers.js @@ -12,7 +12,7 @@ module.exports = { AuthorizerResultTtlInSeconds: authorizer.resultTtlInSeconds, IdentitySource: authorizer.identitySource, Name: authorizer.name, - RestApiId: { Ref: this.apiGatewayRestApiLogicalId }, + RestApiId: this.provider.getApiGatewayRestApiId(), }; if (typeof authorizer.identityValidationExpression === 'string') { diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/cors.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/cors.js index cb8a5fd91e3..167d113fd0a 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/cors.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/cors.js @@ -47,7 +47,7 @@ module.exports = { IntegrationResponses: this.generateCorsIntegrationResponses(preflightHeaders), }, ResourceId: resourceRef, - RestApiId: { Ref: this.apiGatewayRestApiLogicalId }, + RestApiId: this.provider.getApiGatewayRestApiId(), }, }, }); diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/deployment.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/deployment.js index 90b03aa8772..e905ff0c595 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/deployment.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/deployment.js @@ -12,7 +12,7 @@ module.exports = { [this.apiGatewayDeploymentLogicalId]: { Type: 'AWS::ApiGateway::Deployment', Properties: { - RestApiId: { Ref: this.apiGatewayRestApiLogicalId }, + RestApiId: this.provider.getApiGatewayRestApiId(), StageName: this.options.stage, }, DependsOn: this.apiGatewayMethodLogicalIds, @@ -27,7 +27,7 @@ module.exports = { 'Fn::Join': ['', [ 'https://', - { Ref: this.apiGatewayRestApiLogicalId }, + this.provider.getApiGatewayRestApiId(), `.execute-api.${this.options.region}.amazonaws.com/${this.options.stage}`, ], ], From e8f09bd6be54de198bc149f5a81c4e76e200b369 Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Sat, 2 Sep 2017 21:45:09 +0700 Subject: [PATCH 07/99] fixed api resources tree --- .../events/apiGateway/lib/permissions.js | 2 +- .../events/apiGateway/lib/resources.js | 51 ++++++++++++++----- 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/permissions.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/permissions.js index a256405810a..2c09c0c7ba4 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/permissions.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/permissions.js @@ -26,7 +26,7 @@ module.exports = { ':', { Ref: 'AWS::AccountId' }, ':', - { Ref: this.apiGatewayRestApiLogicalId }, + this.provider.getApiGatewayRestApiId(), '/*/*', ], ] }, diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js index 98736e0baa1..023afe22067 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js @@ -18,8 +18,8 @@ module.exports = { resource.resourceLogicalId = this.provider.naming.getResourceLogicalId(path); resource.resourceId = { Ref: resource.resourceLogicalId }; - const parentRef = this.getParentResourceId(resource.parent - ? resource.parent.resourceId : this.getResourceId()); + const parentRef = resource.parent + ? resource.parent.resourceId : this.getResourceId(); _.merge(this.serverless.service.provider.compiledCloudFormationTemplate.Resources, { [resource.resourceLogicalId]: { @@ -37,14 +37,16 @@ module.exports = { }, combineResourceTrees(trees) { + const self = this; + function getNodePaths(result, node) { const r = result; r[node.path] = node; if (!node.name) { - r[node.path].name = this.provider.naming.normalizePath(node.path); + r[node.path].name = self.provider.naming.normalizePath(node.path); } - node.children.forEach(getNodePaths); + node.children.forEach((child) => getNodePaths(result, child)); } return _.reduce(trees, (result, tree) => { @@ -87,11 +89,17 @@ module.exports = { const n = node; if (index === parts.length - 1) { n.name = resource.name; - n.resourceId = resource.resourceId; - predefinedResourceNodes.push(node); + if (resource.resourceId) { + n.resourceId = resource.resourceId; + if (_.every(predefinedResourceNodes, (iter) => iter.path !== n.path)) { + predefinedResourceNodes.push(node); + } + } if (isMethod && !node.hasMethod) { n.hasMethod = true; - methodNodes.push(node); + if (_.every(methodNodes, (iter) => iter.path !== n.path)) { + methodNodes.push(node); + } } } @@ -104,11 +112,16 @@ module.exports = { parent = parent || root; let node; - if (parent && parent.children.length > 0) { - node = _.find(parent.children, (n) => n.path === currentPath); - if (node) { - applyNodeResource(node, pathParts, index); + if (parent) { + if (parent.path === currentPath) { + applyNodeResource(parent, pathParts, index); return; + } else if (parent.children.length > 0) { + node = _.find(parent.children, (n) => n.path === currentPath); + if (node) { + applyNodeResource(node, pathParts, index); + return; + } } } @@ -121,6 +134,10 @@ module.exports = { children: [], }; + if (parent) { + parent.children.push(node); + } + if (!root) { root = node; trees.push(root); @@ -137,6 +154,7 @@ module.exports = { if (predefinedResourceNodes.length === 0) { return this.combineResourceTrees(trees); } + // if all methods have resource ID already, no need to validate resource trees if (_.every(this.validated.events, (event) => _.some(predefinedResourceNodes, (node) => @@ -158,9 +176,9 @@ module.exports = { let parent = node.parent; cutBranch(node); - while (parent.parent) { + while (parent && parent.parent) { if (parent.parent.hasMethod && !parent.parent.resourceId) { - throw new Error(`Resource ID for path ${node.parent.path} is required`); + throw new Error(`Resource ID for path ${parent.parent.path} is required`); } if (parent.parent.resourceId || parent.parent.children.length > 1) { @@ -189,6 +207,11 @@ module.exports = { throw new Error(`Resource ID for path ${iter.path} is required`); } + if (!iter.parent) { + validatedTrees.push(iter); + break; + } + iter = iter.parent; } }); @@ -202,7 +225,7 @@ module.exports = { } if (!this.apiGatewayResources[path]) { - throw new Error('Can not find API Gateway resource from path', path); + throw new Error(`Can not find API Gateway resource from path ${path}`); } return this.apiGatewayResources[path].resourceId; From 85acf54d019ca94de7280e28d41819aedcff4a58 Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Sat, 9 Sep 2017 12:56:42 +0700 Subject: [PATCH 08/99] update predefined resources test --- .../events/apiGateway/lib/cors.test.js | 35 +++++---- .../apiGateway/lib/method/index.test.js | 30 ++++--- .../events/apiGateway/lib/resources.js | 11 ++- .../events/apiGateway/lib/resources.test.js | 78 +++++++++++++++++-- .../compile/events/apiGateway/lib/restApi.js | 3 +- .../events/apiGateway/lib/restApi.test.js | 16 ++++ lib/plugins/aws/provider/awsProvider.js | 26 ++++++- 7 files changed, 164 insertions(+), 35 deletions(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/cors.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/cors.test.js index 1b77b46a936..cd9ef24d90d 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/cors.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/cors.test.js @@ -34,19 +34,28 @@ describe('#compileCors()', () => { }; awsCompileApigEvents = new AwsCompileApigEvents(serverless, options); awsCompileApigEvents.apiGatewayRestApiLogicalId = 'ApiGatewayRestApi'; - awsCompileApigEvents.apiGatewayResourceLogicalIds = { - 'users/create': 'ApiGatewayResourceUsersCreate', - 'users/list': 'ApiGatewayResourceUsersList', - 'users/update': 'ApiGatewayResourceUsersUpdate', - 'users/delete': 'ApiGatewayResourceUsersDelete', - 'users/any': 'ApiGatewayResourceUsersAny', - }; - awsCompileApigEvents.apiGatewayResourceNames = { - 'users/create': 'UsersCreate', - 'users/list': 'UsersList', - 'users/update': 'UsersUpdate', - 'users/delete': 'UsersDelete', - 'users/any': 'UsersAny', + awsCompileApigEvents.apiGatewayResources = { + 'users/create': { + name: 'UsersCreate', + resourceLogicalId: 'ApiGatewayResourceUsersCreate', + }, + + 'users/list': { + name: 'UsersList', + resourceLogicalId: 'ApiGatewayResourceUsersList', + }, + 'users/update': { + name: 'UsersUpdate', + resourceLogicalId: 'ApiGatewayResourceUsersUpdate', + }, + 'users/delete': { + name: 'UsersDelete', + resourceLogicalId: 'ApiGatewayResourceUsersDelete', + }, + 'users/any': { + name: 'UsersAny', + resourceLogicalId: 'ApiGatewayResourceUsersAny', + }, }; awsCompileApigEvents.validated = {}; }); diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js index c81ed7edb3a..c34c791164c 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js @@ -35,18 +35,26 @@ describe('#compileMethods()', () => { awsCompileApigEvents = new AwsCompileApigEvents(serverless, options); awsCompileApigEvents.validated = {}; awsCompileApigEvents.apiGatewayRestApiLogicalId = 'ApiGatewayRestApi'; - awsCompileApigEvents.apiGatewayResourceLogicalIds = { - 'users/create': 'ApiGatewayResourceUsersCreate', - 'users/list': 'ApiGatewayResourceUsersList', - 'users/update': 'ApiGatewayResourceUsersUpdate', - 'users/delete': 'ApiGatewayResourceUsersDelete', - }; - awsCompileApigEvents.apiGatewayResourceNames = { - 'users/create': 'UsersCreate', - 'users/list': 'UsersList', - 'users/update': 'UsersUpdate', - 'users/delete': 'UsersDelete', + awsCompileApigEvents.apiGatewayResources = { + 'users/create': { + name: 'UsersCreate', + resourceLogicalId: 'ApiGatewayResourceUsersCreate', + }, + + 'users/list': { + name: 'UsersList', + resourceLogicalId: 'ApiGatewayResourceUsersList', + }, + 'users/update': { + name: 'UsersUpdate', + resourceLogicalId: 'ApiGatewayResourceUsersUpdate', + }, + 'users/delete': { + name: 'UsersDelete', + resourceLogicalId: 'ApiGatewayResourceUsersDelete', + }, }; + }); it('should have request parameters defined when they are set', () => { diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js index 023afe22067..c16af05d74e 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js @@ -148,7 +148,11 @@ module.exports = { } predefinedResources.forEach(applyResource); - this.validated.events.forEach((event) => applyResource(event.http, true)); + this.validated.events.forEach((event) => { + if (event.http.path) { + applyResource(event.http, true); + } + }); // if predefinedResources array is empty, return all paths if (predefinedResourceNodes.length === 0) { @@ -228,6 +232,11 @@ module.exports = { throw new Error(`Can not find API Gateway resource from path ${path}`); } + if (!this.apiGatewayResources[path].resourceId + && this.apiGatewayResources[path].resourceLogicalId) { + this.apiGatewayResources[path].resourceId = + { Ref: this.apiGatewayResources[path].resourceLogicalId }; + } return this.apiGatewayResources[path].resourceId; }, diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js index 61c4eb46a75..0c5a0e0ca2c 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js @@ -70,15 +70,15 @@ describe('#compileResources()', () => { }, }, ]; - expect(awsCompileApigEvents.getResourcePaths()).to.deep.equal([ + expect(Object.keys(awsCompileApigEvents.getResourcePaths())).to.deep.equal([ 'foo', - 'bar', 'foo/bar', + 'bar', 'bar/-', 'bar/foo', 'bar/{id}', - 'bar/{foo_id}', 'bar/{id}/foobar', + 'bar/{foo_id}', 'bar/{foo_id}/foobar', ]); }); @@ -160,12 +160,16 @@ describe('#compileResources()', () => { }, ]; return awsCompileApigEvents.compileResources().then(() => { - expect(awsCompileApigEvents.apiGatewayResourceLogicalIds).to.deep.equal({ + const expectedResourceLogicalIds = { baz: 'ApiGatewayResourceBaz', 'baz/foo': 'ApiGatewayResourceBazFoo', foo: 'ApiGatewayResourceFoo', 'foo/{foo_id}': 'ApiGatewayResourceFooFooidVar', 'foo/{foo_id}/bar': 'ApiGatewayResourceFooFooidVarBar', + }; + Object.keys(expectedResourceLogicalIds).forEach((path) => { + expect(awsCompileApigEvents.apiGatewayResources[path].resourceLogicalId) + .equal(expectedResourceLogicalIds[path]); }); }); }); @@ -186,10 +190,14 @@ describe('#compileResources()', () => { }, ]; return awsCompileApigEvents.compileResources().then(() => { - expect(awsCompileApigEvents.apiGatewayResourceLogicalIds).to.deep.equal({ + const expectedResourceLogicalIds = { foo: 'ApiGatewayResourceFoo', 'foo/bar': 'ApiGatewayResourceFooBar', 'foo/{bar}': 'ApiGatewayResourceFooBarVar', + }; + Object.keys(expectedResourceLogicalIds).forEach((path) => { + expect(awsCompileApigEvents.apiGatewayResources[path].resourceLogicalId) + .equal(expectedResourceLogicalIds[path]); }); }); }); @@ -242,4 +250,64 @@ describe('#compileResources()', () => { .Resources).to.deep.equal({}); }); }); + + it('should create child resources only if there are predefined parent resources', () => { + awsCompileApigEvents.serverless.service.provider.apiGateway = { + restApiId: '6fyzt1pfpk', + restApiRootResourceId: 'z5d4qh4oqi', + restApiResources: { + foo: 'axcybf2i39', + + }, + }; + + awsCompileApigEvents.validated.events = [ + { + http: { + path: 'foo/bar', + method: 'POST', + }, + }, + { + http: { + path: 'bar/-', + method: 'GET', + }, + }, + { + http: { + path: 'bar/foo', + method: 'GET', + }, + }, + { + http: { + path: 'bar/{id}/foobar', + method: 'GET', + }, + }, + { + http: { + path: 'bar/{id}', + method: 'GET', + }, + }, + ]; + return awsCompileApigEvents.compileResources().then(() => { + expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ApiGatewayResourceFoo).to.equal(undefined); + expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ApiGatewayResourceBar.Properties.RestApiId) + .to.equal('6fyzt1pfpk'); + expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ApiGatewayResourceBar.Properties.ParentId) + .to.equal('z5d4qh4oqi'); + expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ApiGatewayResourceFooBar.Properties.ParentId) + .to.equal('axcybf2i39'); + expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ApiGatewayResourceBarIdVar.Properties.ParentId.Ref) + .to.equal('ApiGatewayResourceBar'); + }); + }); }); diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/restApi.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/restApi.js index 5cb4749be25..1b311379055 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/restApi.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/restApi.js @@ -5,7 +5,8 @@ const BbPromise = require('bluebird'); module.exports = { compileRestApi() { - if (this.serverless.service.provider.apiGateway.restApiId) { + if (this.serverless.service.provider.apiGateway && + this.serverless.service.provider.apiGateway.restApiId) { return BbPromise.resolve(); } diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/restApi.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/restApi.test.js index 2ebf517fc1d..3c48ac8688c 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/restApi.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/restApi.test.js @@ -54,4 +54,20 @@ describe('#compileRestApi()', () => { ); }) ); + + it('should ignore REST API resource creation if there is predefined restApi config', + () => { + awsCompileApigEvents.serverless.service.provider.apiGateway = { + restApiId: '6fyzt1pfpk', + restApiRootResourceId: 'z5d4qh4oqi', + }; + return awsCompileApigEvents + .compileRestApi().then(() => { + expect( + awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources + ).to.deep.equal({}); + }); + } + ); }); diff --git a/lib/plugins/aws/provider/awsProvider.js b/lib/plugins/aws/provider/awsProvider.js index 0b158cd7955..71d241e914c 100644 --- a/lib/plugins/aws/provider/awsProvider.js +++ b/lib/plugins/aws/provider/awsProvider.js @@ -259,7 +259,8 @@ class AwsProvider { * Get API Gateway Rest API ID from serverless config */ getApiGatewayRestApiId() { - if (this.serverless.service.provider.apiGateway.restApiId) { + if (this.serverless.service.provider.apiGateway + && this.serverless.service.provider.apiGateway.restApiId) { return this.serverless.service.provider.apiGateway.restApiId; } @@ -270,7 +271,8 @@ class AwsProvider { * Get Rest API Root Resource ID from serverless config */ getApiGatewayRestApiRootResourceId() { - if (this.serverless.service.provider.apiGateway.restApiRootResourceId) { + if (this.serverless.service.provider.apiGateway + && this.serverless.service.provider.apiGateway.restApiRootResourceId) { return this.serverless.service.provider.apiGateway.restApiRootResourceId; } return { 'Fn::GetAtt': [this.naming.getRestApiLogicalId(), 'RootResourceId'] }; @@ -280,8 +282,24 @@ class AwsProvider { * Get Rest API Predefined Resources from serverless config */ getApiGatewayPredefinedResources() { - return this.serverless.service.provider.apiGateway.restApiResources - ? this.serverless.service.provider.apiGateway.restApiResources : []; + if (!this.serverless.service.provider.apiGateway + || !this.serverless.service.provider.apiGateway.restApiResources) { + return []; + } + + if (Array.isArray(this.serverless.service.provider.apiGateway.restApiResources)) { + return this.serverless.service.provider.apiGateway.restApiResources; + } + + if (typeof this.serverless.service.provider.apiGateway.restApiResources !== 'object') { + throw new Error('REST API resource must be an array of object'); + } + + return Object.keys(this.serverless.service.provider.apiGateway.restApiResources) + .map((key) => ({ + path: key, + resourceId: this.serverless.service.provider.apiGateway.restApiResources[key], + })); } } From 5bd6893ec33ae6b6575097001ee7a8ca077a13aa Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Tue, 12 Sep 2017 12:43:00 +0700 Subject: [PATCH 09/99] add more subpath test --- .../apiGateway/lib/method/index.test.js | 1 - .../events/apiGateway/lib/resources.test.js | 11 +- package-lock.json | 2672 +++-------------- 3 files changed, 392 insertions(+), 2292 deletions(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js index c34c791164c..9f587c6172a 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/method/index.test.js @@ -54,7 +54,6 @@ describe('#compileMethods()', () => { resourceLogicalId: 'ApiGatewayResourceUsersDelete', }, }; - }); it('should have request parameters defined when they are set', () => { diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js index 0c5a0e0ca2c..d64ccc3e9ce 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js @@ -257,7 +257,7 @@ describe('#compileResources()', () => { restApiRootResourceId: 'z5d4qh4oqi', restApiResources: { foo: 'axcybf2i39', - + 'user/friends': 'fcasdoojp1', }, }; @@ -292,6 +292,12 @@ describe('#compileResources()', () => { method: 'GET', }, }, + { + http: { + path: 'user/friends/comments', + method: 'GET', + }, + }, ]; return awsCompileApigEvents.compileResources().then(() => { expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate @@ -308,6 +314,9 @@ describe('#compileResources()', () => { expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate .Resources.ApiGatewayResourceBarIdVar.Properties.ParentId.Ref) .to.equal('ApiGatewayResourceBar'); + expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ApiGatewayResourceUserFriendsComments.Properties.ParentId) + .to.equal('fcasdoojp1'); }); }); }); diff --git a/package-lock.json b/package-lock.json index ffb2147ab85..0cd13a10d6f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,12 @@ { "name": "serverless", - "version": "1.21.0", + "version": "1.21.1", "lockfileVersion": 1, - "requires": true, "dependencies": { "@serverless/fdk": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/@serverless/fdk/-/fdk-0.5.1.tgz", - "integrity": "sha512-Z/+5R0AohLwDT1E+9BTeUA7NozlyIoTh0iEt6x8x+ZZhIBK5HBMBN6v2LfkI4wmmOOyceTvsN0l8nWfGp4Oh5g==", - "requires": { - "isomorphic-fetch": "2.2.1", - "ramda": "0.24.1", - "url-parse": "1.1.9" - } + "integrity": "sha512-Z/+5R0AohLwDT1E+9BTeUA7NozlyIoTh0iEt6x8x+ZZhIBK5HBMBN6v2LfkI4wmmOOyceTvsN0l8nWfGp4Oh5g==" }, "@types/graphql": { "version": "0.10.2", @@ -33,9 +27,9 @@ "dev": true }, "acorn": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", - "integrity": "sha512-vOk6uEMctu0vQrvuSqFdJyqj1Q0S5VTDL79qtjo+DhRr+1mmaD+tluFSCZqhvi/JUhXSzoZN2BhtstaPEeE8cw==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", + "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", "dev": true }, "acorn-globals": { @@ -43,9 +37,6 @@ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", "dev": true, - "requires": { - "acorn": "4.0.13" - }, "dependencies": { "acorn": { "version": "4.0.13", @@ -60,9 +51,6 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, - "requires": { - "acorn": "3.3.0" - }, "dependencies": { "acorn": { "version": "3.3.0", @@ -76,10 +64,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz", "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=", - "requires": { - "extend": "3.0.1", - "semver": "5.0.3" - }, "dependencies": { "semver": { "version": "5.0.3", @@ -92,11 +76,7 @@ "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" - } + "dev": true }, "ajv-keywords": { "version": "1.5.1", @@ -108,12 +88,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" - } + "dev": true }, "amdefine": { "version": "1.0.1", @@ -135,10 +110,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", - "dev": true, - "requires": { - "ansi-wrap": "0.1.0" - } + "dev": true }, "ansi-regex": { "version": "2.1.1", @@ -148,10 +120,7 @@ "ansi-styles": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "requires": { - "color-convert": "1.9.0" - } + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==" }, "ansi-wrap": { "version": "0.1.0", @@ -166,103 +135,53 @@ "dev": true }, "apollo-client": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/apollo-client/-/apollo-client-1.9.1.tgz", - "integrity": "sha512-30e5851mju1mhJzfONvPg3fjYz7rUwjxNAuEIyhFrjWyUYWSBBOEC7+loGPCrj4I0nuTWcKe54rxqtjH8v5vcA==", - "requires": { - "@types/graphql": "0.10.2", - "apollo-link-core": "0.5.0", - "graphql": "0.10.5", - "graphql-anywhere": "3.1.0", - "graphql-tag": "2.4.2", - "redux": "3.7.2", - "symbol-observable": "1.0.4", - "whatwg-fetch": "2.0.3" - } + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/apollo-client/-/apollo-client-1.9.2.tgz", + "integrity": "sha512-1ZAw2x6AYtGFRosO9sR37+g5bNvCIyyNZ781h9M4Tm/lm8ejzINapx+BH2hdHgMxaGPuPvFpWGuD3m+sTbmWPQ==" }, "apollo-link-core": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/apollo-link-core/-/apollo-link-core-0.5.0.tgz", - "integrity": "sha1-3IfaGqpjsCkyGucJONwmJX9auMY=", - "requires": { - "graphql": "0.10.5", - "graphql-tag": "2.4.2", - "zen-observable-ts": "0.4.0" - } + "integrity": "sha1-3IfaGqpjsCkyGucJONwmJX9auMY=" }, "append-transform": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", - "dev": true, - "requires": { - "default-require-extensions": "1.0.0" - } + "dev": true }, "archiver": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz", "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=", - "requires": { - "archiver-utils": "1.3.0", - "async": "2.5.0", - "buffer-crc32": "0.2.13", - "glob": "7.1.2", - "lodash": "4.17.4", - "readable-stream": "2.3.3", - "tar-stream": "1.5.4", - "walkdir": "0.0.11", - "zip-stream": "1.2.0" - }, "dependencies": { "async": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", - "requires": { - "lodash": "4.17.4" - } + "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==" } } }, "archiver-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", - "requires": { - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "lazystream": "1.0.0", - "lodash": "4.17.4", - "normalize-path": "2.1.1", - "readable-stream": "2.3.3" - } + "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=" }, "are-we-there-yet": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.3" - } + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=" }, "argparse": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", - "requires": { - "sprintf-js": "1.0.3" - } + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=" }, "arr-diff": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } + "dev": true }, "arr-flatten": { "version": "1.1.0", @@ -279,10 +198,7 @@ "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "requires": { - "array-uniq": "1.0.3" - } + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=" }, "array-uniq": { "version": "1.0.3", @@ -299,11 +215,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.4.tgz", "integrity": "sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA=", - "dev": true, - "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.8.0" - } + "dev": true }, "arrify": { "version": "1.0.1", @@ -352,31 +264,10 @@ "dev": true }, "aws-sdk": { - "version": "2.102.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.102.0.tgz", - "integrity": "sha1-cOUqjv9j3kxo4dCMXDfbVWEyQ0A=", - "requires": { - "buffer": "4.9.1", - "crypto-browserify": "1.0.9", - "events": "1.1.1", - "jmespath": "0.15.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "uuid": "3.0.1", - "xml2js": "0.4.17", - "xmlbuilder": "4.2.1" - }, + "version": "2.109.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.109.0.tgz", + "integrity": "sha1-w9Ix9EQQiULjgW22YstFUquvlbs=", "dependencies": { - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, "uuid": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", @@ -401,11 +292,6 @@ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, - "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -417,14 +303,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } + "dev": true }, "supports-color": { "version": "2.0.0", @@ -439,27 +318,6 @@ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.0", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.0", - "debug": "2.6.8", - "json5": "0.5.1", - "lodash": "4.17.4", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.7", - "slash": "1.0.0", - "source-map": "0.5.7" - }, "dependencies": { "source-map": { "version": "0.5.7", @@ -474,16 +332,6 @@ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", "dev": true, - "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.4", - "source-map": "0.5.7", - "trim-right": "1.0.1" - }, "dependencies": { "source-map": { "version": "0.5.7", @@ -497,43 +345,25 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } + "dev": true }, "babel-jest": { "version": "18.0.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-18.0.0.tgz", "integrity": "sha1-F+u6jLMoXJBthZ6HB+Tnl5X7ZeM=", - "dev": true, - "requires": { - "babel-core": "6.26.0", - "babel-plugin-istanbul": "3.1.2", - "babel-preset-jest": "18.0.0" - } + "dev": true }, "babel-messages": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } + "dev": true }, "babel-plugin-istanbul": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-3.1.2.tgz", "integrity": "sha1-EdWr3hhCXsJLXWSMfgtdJc01SiI=", - "dev": true, - "requires": { - "find-up": "1.1.2", - "istanbul-lib-instrument": "1.7.5", - "object-assign": "4.1.1", - "test-exclude": "3.3.0" - } + "dev": true }, "babel-plugin-jest-hoist": { "version": "18.0.0", @@ -545,77 +375,37 @@ "version": "18.0.0", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-18.0.0.tgz", "integrity": "sha1-hPr4yj7GWrp9Xj9Zu67ZNaskBJ4=", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "18.0.0" - } + "dev": true }, "babel-register": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dev": true, - "requires": { - "babel-core": "6.26.0", - "babel-runtime": "6.26.0", - "core-js": "2.5.0", - "home-or-tmp": "2.0.0", - "lodash": "4.17.4", - "mkdirp": "0.5.1", - "source-map-support": "0.4.16" - } + "dev": true }, "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "2.5.0", - "regenerator-runtime": "0.11.0" - } + "dev": true }, "babel-template": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.4" - } + "dev": true }, "babel-traverse": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.8", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.4" - } + "dev": true }, "babel-types": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "1.0.3" - } + "dev": true }, "babylon": { "version": "6.18.0", @@ -638,18 +428,12 @@ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } + "optional": true }, "bl": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", - "requires": { - "readable-stream": "2.3.3" - } + "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=" }, "bluebird": { "version": "3.5.0", @@ -660,39 +444,24 @@ "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" - } + "dev": true }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=" }, "braces": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" - } + "dev": true }, "browser-resolve": { "version": "1.11.2", "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", "dev": true, - "requires": { - "resolve": "1.1.7" - }, "dependencies": { "resolve": { "version": "1.1.7", @@ -712,20 +481,12 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", - "dev": true, - "requires": { - "node-int64": "0.4.0" - } + "dev": true }, "buffer": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "requires": { - "base64-js": "1.2.1", - "ieee754": "1.1.8", - "isarray": "1.0.0" - } + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=" }, "buffer-crc32": { "version": "0.2.13", @@ -742,19 +503,13 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-id/-/caller-id-0.1.0.tgz", "integrity": "sha1-Wb2sCJPRLDhxQIJ5Ix+XRYNk8Hs=", - "dev": true, - "requires": { - "stack-trace": "0.0.9" - } + "dev": true }, "caller-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true, - "requires": { - "callsites": "0.2.0" - } + "dev": true }, "callsites": { "version": "0.2.0", @@ -778,11 +533,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-1.0.0.tgz", "integrity": "sha1-UOIcGwqjdyn5N33vGWtanOyTLuk=", - "dev": true, - "requires": { - "ansicolors": "0.2.1", - "redeyed": "1.0.1" - } + "dev": true }, "caseless": { "version": "0.11.0", @@ -793,54 +544,31 @@ "caw": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", - "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", - "requires": { - "get-proxy": "2.1.0", - "isurl": "1.0.0", - "tunnel-agent": "0.6.0", - "url-to-options": "1.0.1" - } + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==" }, "center-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - } + "optional": true }, "chai": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", - "dev": true, - "requires": { - "assertion-error": "1.0.2", - "deep-eql": "0.1.3", - "type-detect": "1.0.0" - } + "dev": true }, "chai-as-promised": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-6.0.0.tgz", "integrity": "sha1-GgKkM6byTa+sY7nJb6FoTbGqjaY=", - "dev": true, - "requires": { - "check-error": "1.0.2" - } + "dev": true }, "chalk": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.2.1" - } + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==" }, "check-error": { "version": "1.0.2", @@ -849,9 +577,9 @@ "dev": true }, "ci-info": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.0.0.tgz", - "integrity": "sha1-3FKF8rTiUYIWg2gcOBwziPRuxTQ=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.1.tgz", + "integrity": "sha512-vHDDF/bP9RYpTWtUhpJRhCFdvvp3iDWvEbuDbWgvjUrNGV1MXJrE0MPcwGtEled04m61iwdBLUIHZtDgzWS4ZQ==" }, "circular-json": { "version": "0.3.3", @@ -862,29 +590,19 @@ "cli-cursor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", - "requires": { - "restore-cursor": "1.0.1" - } + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=" }, "cli-table": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", - "dev": true, - "requires": { - "colors": "1.0.3" - } + "dev": true }, "cli-usage": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/cli-usage/-/cli-usage-0.1.4.tgz", "integrity": "sha1-fAHg3HBsI0s5yTODjI4gshdXduI=", - "dev": true, - "requires": { - "marked": "0.3.6", - "marked-terminal": "1.7.0" - } + "dev": true }, "cli-width": { "version": "2.2.0", @@ -897,11 +615,6 @@ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "optional": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - }, "dependencies": { "wordwrap": { "version": "0.0.2", @@ -932,10 +645,7 @@ "color-convert": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", - "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", - "requires": { - "color-name": "1.1.3" - } + "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=" }, "color-name": { "version": "1.1.3", @@ -951,18 +661,12 @@ "combined-stream": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "requires": { - "delayed-stream": "1.0.0" - } + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=" }, "commander": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "requires": { - "graceful-readlink": "1.0.1" - } + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=" }, "component-emitter": { "version": "1.2.1", @@ -972,13 +676,7 @@ "compress-commons": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.0.tgz", - "integrity": "sha1-WFhwku8g03y1i68AARLJJ4/3O58=", - "requires": { - "buffer-crc32": "0.2.13", - "crc32-stream": "2.0.0", - "normalize-path": "2.1.1", - "readable-stream": "2.3.3" - } + "integrity": "sha1-WFhwku8g03y1i68AARLJJ4/3O58=" }, "concat-map": { "version": "0.0.1", @@ -988,21 +686,12 @@ "concat-stream": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "typedarray": "0.0.6" - } + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=" }, "config-chain": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", - "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", - "requires": { - "ini": "1.3.4", - "proto-list": "1.2.4" - } + "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=" }, "contains-path": { "version": "0.1.0", @@ -1033,9 +722,9 @@ "integrity": "sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o=" }, "core-js": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.0.tgz", - "integrity": "sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY=", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", "dev": true }, "core-util-is": { @@ -1048,13 +737,6 @@ "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.1.tgz", "integrity": "sha1-1wu5rMGDXsTwY/+drFQjwXsR8Xg=", "dev": true, - "requires": { - "js-yaml": "3.6.1", - "lcov-parse": "0.0.10", - "log-driver": "1.2.5", - "minimist": "1.2.0", - "request": "2.79.0" - }, "dependencies": { "esprima": { "version": "2.7.3", @@ -1066,11 +748,7 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", - "dev": true, - "requires": { - "argparse": "1.0.9", - "esprima": "2.7.3" - } + "dev": true } } }, @@ -1082,28 +760,18 @@ "crc32-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", - "requires": { - "crc": "3.4.4", - "readable-stream": "2.3.3" - } + "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=" }, "create-error-class": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "requires": { - "capture-stack-trace": "1.0.0" - } + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=" }, "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" - } + "dev": true }, "crypto-browserify": { "version": "1.0.9", @@ -1120,19 +788,13 @@ "version": "0.2.37", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", - "dev": true, - "requires": { - "cssom": "0.3.2" - } + "dev": true }, "d": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true, - "requires": { - "es5-ext": "0.10.29" - } + "dev": true }, "damerau-levenshtein": { "version": "1.0.4", @@ -1145,9 +807,6 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, - "requires": { - "assert-plus": "1.0.0" - }, "dependencies": { "assert-plus": { "version": "1.0.0", @@ -1160,10 +819,7 @@ "debug": { "version": "2.6.8", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "requires": { - "ms": "2.0.0" - } + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=" }, "decamelize": { "version": "1.2.0", @@ -1174,39 +830,17 @@ "decompress": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", - "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", - "requires": { - "decompress-tar": "4.1.1", - "decompress-tarbz2": "4.1.1", - "decompress-targz": "4.1.1", - "decompress-unzip": "4.0.1", - "graceful-fs": "4.1.11", - "make-dir": "1.0.0", - "pify": "2.3.0", - "strip-dirs": "2.0.0" - } + "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=" }, "decompress-tar": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", - "requires": { - "file-type": "5.2.0", - "is-stream": "1.1.0", - "tar-stream": "1.5.4" - } + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==" }, "decompress-tarbz2": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "requires": { - "decompress-tar": "4.1.1", - "file-type": "6.1.0", - "is-stream": "1.1.0", - "seek-bzip": "1.0.5", - "unbzip2-stream": "1.2.5" - }, "dependencies": { "file-type": { "version": "6.1.0", @@ -1218,23 +852,12 @@ "decompress-targz": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", - "requires": { - "decompress-tar": "4.1.1", - "file-type": "5.2.0", - "is-stream": "1.1.0" - } + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==" }, "decompress-unzip": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", - "requires": { - "file-type": "3.9.0", - "get-stream": "2.3.1", - "pify": "2.3.0", - "yauzl": "2.8.0" - }, "dependencies": { "file-type": { "version": "3.9.0", @@ -1244,11 +867,7 @@ "get-stream": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "requires": { - "object-assign": "4.1.1", - "pinkie-promise": "2.0.1" - } + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=" } } }, @@ -1257,9 +876,6 @@ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", "dev": true, - "requires": { - "type-detect": "0.1.1" - }, "dependencies": { "type-detect": { "version": "0.1.1", @@ -1291,18 +907,12 @@ "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, - "requires": { - "strip-bom": "2.0.0" - }, "dependencies": { "strip-bom": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } + "dev": true } } }, @@ -1310,40 +920,19 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", - "dev": true, - "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.11" - } + "dev": true }, "del": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, - "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.1" - }, "dependencies": { "globby": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } + "dev": true } } }, @@ -1361,10 +950,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "2.0.1" - } + "dev": true }, "diacritics-map": { "version": "0.1.0", @@ -1373,34 +959,21 @@ "dev": true }, "diff": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.0.tgz", - "integrity": "sha512-w0XZubFWn0Adlsapj9EAWX0FqWdO4tz8kc3RiYdWLh4k/V8PTb6i0SMgXt0vRM3zyKnT8tKO7mUlieRQHIjMNg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", + "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", "dev": true }, "doctrine": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", - "dev": true, - "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" - } + "dev": true }, "download": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/download/-/download-5.0.3.tgz", - "integrity": "sha1-Y1N/l3+ZJmow64oqL70fILgAD3o=", - "requires": { - "caw": "2.0.1", - "decompress": "4.2.0", - "filenamify": "2.0.0", - "get-stream": "3.0.0", - "got": "6.7.1", - "mkdirp": "0.5.1", - "pify": "2.3.0" - } + "integrity": "sha1-Y1N/l3+ZJmow64oqL70fILgAD3o=" }, "duplexer3": { "version": "0.1.4", @@ -1412,103 +985,59 @@ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } + "optional": true }, "encoding": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "requires": { - "iconv-lite": "0.4.18" - } + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=" }, "end-of-stream": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", - "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", - "requires": { - "once": "1.4.0" - } + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=" }, "errno": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", - "dev": true, - "requires": { - "prr": "0.0.0" - } + "dev": true }, "error-ex": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true, - "requires": { - "is-arrayish": "0.2.1" - } + "dev": true }, "es-abstract": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.8.0.tgz", - "integrity": "sha512-Cf9/h5MrXtExM20gSS55YFrGKCyPrRBjIVBtVyy8vmlsDfe0NPKMWj65tPLgzyfPuapWxh5whpXCtW4+AW5mRg==", - "dev": true, - "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.0", - "has": "1.0.1", - "is-callable": "1.1.3", - "is-regex": "1.0.4" - } + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.8.2.tgz", + "integrity": "sha512-dvhwFL3yjQxNNsOWx6exMlaDrRHCRGMQlnx5lsXDCZ/J7G/frgIIl94zhZSp/galVAYp7VzPi1OrAHta89/yGQ==", + "dev": true }, "es-to-primitive": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", - "dev": true, - "requires": { - "is-callable": "1.1.3", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" - } + "dev": true }, "es5-ext": { - "version": "0.10.29", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.29.tgz", - "integrity": "sha512-KXla9NXo5sdaEkGSmbFPYgjH6m75kxsthL6GDRSug/Y2OiMoYm0I9giL39j4cgmaFmAbkIFJ6gG+SGKnLSmOvA==", - "dev": true, - "requires": { - "es6-iterator": "2.0.1", - "es6-symbol": "3.1.1" - } + "version": "0.10.30", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.30.tgz", + "integrity": "sha1-cUGhaDZpfbq/qq7uQUlc4p9SyTk=", + "dev": true }, "es6-iterator": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.29", - "es6-symbol": "3.1.1" - } + "dev": true }, "es6-map": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.29", - "es6-iterator": "2.0.1", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } + "dev": true }, "es6-promise": { "version": "3.0.2", @@ -1520,36 +1049,19 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.29", - "es6-iterator": "2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } + "dev": true }, "es6-symbol": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.29" - } + "dev": true }, "es6-weak-map": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.29", - "es6-iterator": "2.0.1", - "es6-symbol": "3.1.1" - } + "dev": true }, "escape-string-regexp": { "version": "1.0.5", @@ -1561,13 +1073,6 @@ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", "dev": true, - "requires": { - "esprima": "2.7.3", - "estraverse": "1.9.3", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.2.0" - }, "dependencies": { "esprima": { "version": "2.7.3", @@ -1587,56 +1092,13 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.0", - "estraverse": "4.2.0" - } + "dev": true }, "eslint": { "version": "3.19.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "chalk": "1.1.3", - "concat-stream": "1.6.0", - "debug": "2.6.8", - "doctrine": "2.0.0", - "escope": "3.6.0", - "espree": "3.5.0", - "esquery": "1.0.0", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "glob": "7.1.2", - "globals": "9.18.0", - "ignore": "3.3.3", - "imurmurhash": "0.1.4", - "inquirer": "0.12.0", - "is-my-json-valid": "2.16.1", - "is-resolvable": "1.0.0", - "js-yaml": "3.9.1", - "json-stable-stringify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "1.2.1", - "progress": "1.1.8", - "require-uncached": "1.0.3", - "shelljs": "0.7.8", - "strip-bom": "3.0.0", - "strip-json-comments": "2.0.1", - "table": "3.8.3", - "text-table": "0.2.0", - "user-home": "2.0.0" - }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -1648,55 +1110,25 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } + "dev": true }, "inquirer": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", - "dev": true, - "requires": { - "ansi-escapes": "1.4.0", - "ansi-regex": "2.1.1", - "chalk": "1.1.3", - "cli-cursor": "1.0.2", - "cli-width": "2.2.0", - "figures": "1.7.0", - "lodash": "4.17.4", - "readline2": "1.0.1", - "run-async": "0.1.0", - "rx-lite": "3.1.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "through": "2.3.8" - } + "dev": true }, "run-async": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", - "dev": true, - "requires": { - "once": "1.4.0" - } + "dev": true }, "shelljs": { "version": "0.7.8", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", - "dev": true, - "requires": { - "glob": "7.1.2", - "interpret": "1.0.3", - "rechoir": "0.6.2" - } + "dev": true }, "supports-color": { "version": "2.0.0", @@ -1710,10 +1142,7 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-10.0.1.tgz", "integrity": "sha1-pHAQhkbWxF4fY5oD8R1QShqkrtw=", - "dev": true, - "requires": { - "eslint-config-airbnb-base": "5.0.3" - } + "dev": true }, "eslint-config-airbnb-base": { "version": "5.0.3", @@ -1725,46 +1154,19 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz", "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", - "dev": true, - "requires": { - "debug": "2.6.8", - "object-assign": "4.1.1", - "resolve": "1.4.0" - } + "dev": true }, "eslint-plugin-import": { "version": "1.16.0", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz", "integrity": "sha1-svoH68xTUE0PKkR3WC7Iv/GHG58=", "dev": true, - "requires": { - "builtin-modules": "1.1.1", - "contains-path": "0.1.0", - "debug": "2.6.8", - "doctrine": "1.3.0", - "es6-map": "0.1.5", - "es6-set": "0.1.5", - "eslint-import-resolver-node": "0.2.3", - "has": "1.0.1", - "lodash.cond": "4.5.2", - "lodash.endswith": "4.2.1", - "lodash.find": "4.6.0", - "lodash.findindex": "4.6.0", - "minimatch": "3.0.4", - "object-assign": "4.1.1", - "pkg-dir": "1.0.0", - "pkg-up": "1.0.0" - }, "dependencies": { "doctrine": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.3.0.tgz", "integrity": "sha1-E+dWgrVVGEJCdvfBc3g0Vu+RPSY=", - "dev": true, - "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" - } + "dev": true } } }, @@ -1772,35 +1174,19 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz", "integrity": "sha1-TjXLcbin23AqxBXIBuuOjZ6mxl0=", - "dev": true, - "requires": { - "damerau-levenshtein": "1.0.4", - "jsx-ast-utils": "1.4.1", - "object-assign": "4.1.1" - } + "dev": true }, "eslint-plugin-react": { "version": "6.10.3", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz", "integrity": "sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=", "dev": true, - "requires": { - "array.prototype.find": "2.0.4", - "doctrine": "1.5.0", - "has": "1.0.1", - "jsx-ast-utils": "1.4.1", - "object.assign": "4.0.4" - }, "dependencies": { "doctrine": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" - } + "dev": true } } }, @@ -1808,11 +1194,7 @@ "version": "3.5.0", "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.0.tgz", "integrity": "sha1-mDWGJb3QVYYeon4oZ+pyn69GPY0=", - "dev": true, - "requires": { - "acorn": "5.1.1", - "acorn-jsx": "3.0.1" - } + "dev": true }, "esprima": { "version": "4.0.0", @@ -1823,20 +1205,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", - "dev": true, - "requires": { - "estraverse": "4.2.0" - } + "dev": true }, "esrecurse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", - "dev": true, - "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" - } + "dev": true }, "estraverse": { "version": "4.2.0", @@ -1854,11 +1229,7 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.29" - } + "dev": true }, "events": { "version": "1.1.1", @@ -1869,10 +1240,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.0.tgz", "integrity": "sha1-FPdd4/INKG75MwmbLOUKkDWc7xA=", - "dev": true, - "requires": { - "merge": "1.2.0" - } + "dev": true }, "exit-hook": { "version": "1.1.1", @@ -1883,19 +1251,13 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "0.1.1" - } + "dev": true }, "expand-range": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "2.2.3" - } + "dev": true }, "extend": { "version": "3.0.1", @@ -1906,29 +1268,18 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } + "dev": true }, "external-editor": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-1.1.1.tgz", - "integrity": "sha1-Etew24UPf/fnCBuvQAVwAGDEYAs=", - "requires": { - "extend": "3.0.1", - "spawn-sync": "1.0.15", - "tmp": "0.0.29" - } + "integrity": "sha1-Etew24UPf/fnCBuvQAVwAGDEYAs=" }, "extglob": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } + "dev": true }, "extsprintf": { "version": "1.3.0", @@ -1946,37 +1297,23 @@ "version": "1.9.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=", - "dev": true, - "requires": { - "bser": "1.0.2" - } + "dev": true }, "fd-slicer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", - "requires": { - "pend": "1.2.0" - } + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=" }, "figures": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.1" - } + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=" }, "file-entry-cache": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true, - "requires": { - "flat-cache": "1.2.2", - "object-assign": "4.1.1" - } + "dev": true }, "file-type": { "version": "5.2.0", @@ -1997,22 +1334,13 @@ "filenamify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.0.0.tgz", - "integrity": "sha1-vRYiYsC26Uv7zc8Zo7uzdk94VpU=", - "requires": { - "filename-reserved-regex": "2.0.0", - "strip-outer": "1.0.0", - "trim-repeated": "1.0.0" - } + "integrity": "sha1-vRYiYsC26Uv7zc8Zo7uzdk94VpU=" }, "fileset": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", - "dev": true, - "requires": { - "glob": "7.1.2", - "minimatch": "3.0.4" - } + "dev": true }, "filesize": { "version": "3.5.10", @@ -2023,46 +1351,25 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", - "dev": true, - "requires": { - "is-object": "1.0.1", - "merge-descriptors": "1.0.1" - } + "dev": true }, "fill-range": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true, - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" - } + "dev": true }, "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } + "dev": true }, "flat-cache": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", - "dev": true, - "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" - } + "dev": true }, "for-in": { "version": "1.0.2", @@ -2074,10 +1381,7 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } + "dev": true }, "foreach": { "version": "2.0.5", @@ -2092,23 +1396,15 @@ "dev": true }, "form-data": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.2.0.tgz", - "integrity": "sha1-ml47kpX5gLJiPPZPojixTOvKcHs=", - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.16" - } + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", + "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=" }, "formatio": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz", "integrity": "sha1-XtPM1jZVEJc4NGXZlhmRAOhhYek=", - "dev": true, - "requires": { - "samsam": "1.1.2" - } + "dev": true }, "formidable": { "version": "1.1.1", @@ -2118,14 +1414,7 @@ "fs-extra": { "version": "0.26.7", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", - "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.1" - } + "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=" }, "fs.realpath": { "version": "1.0.0", @@ -2133,22 +1422,15 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "function-bind": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz", - "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "gauge": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", - "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", - "requires": { - "ansi": "0.3.1", - "has-unicode": "2.0.1", - "lodash.pad": "4.5.1", - "lodash.padend": "4.6.1", - "lodash.padstart": "4.6.1" - } + "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=" }, "generate-function": { "version": "2.0.0", @@ -2160,10 +1442,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", - "dev": true, - "requires": { - "is-property": "1.0.2" - } + "dev": true }, "get-caller-file": { "version": "1.0.2", @@ -2174,10 +1453,7 @@ "get-proxy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", - "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", - "requires": { - "npm-conf": "1.1.2" - } + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==" }, "get-stdin": { "version": "5.0.1", @@ -2194,9 +1470,6 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, - "requires": { - "assert-plus": "1.0.0" - }, "dependencies": { "assert-plus": { "version": "1.0.0", @@ -2209,34 +1482,19 @@ "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==" }, "glob-base": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" - } + "dev": true }, "glob-parent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "2.0.1" - } + "dev": true }, "globals": { "version": "9.18.0", @@ -2247,32 +1505,12 @@ "globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=" }, "got": { "version": "6.7.1", "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", - "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "safe-buffer": "5.1.1", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" - } + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=" }, "graceful-fs": { "version": "4.1.11", @@ -2287,18 +1525,12 @@ "graphlib": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.1.tgz", - "integrity": "sha1-QjUsUrovTQNctWbrkfc5X3bryVE=", - "requires": { - "lodash": "4.17.4" - } + "integrity": "sha1-QjUsUrovTQNctWbrkfc5X3bryVE=" }, "graphql": { "version": "0.10.5", "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.10.5.tgz", - "integrity": "sha512-Q7cx22DiLhwHsEfUnUip1Ww/Vfx7FS0w6+iHItNuN61+XpegHSa3k5U0+6M5BcpavQImBwFiy0z3uYwY7cXMLQ==", - "requires": { - "iterall": "1.1.1" - } + "integrity": "sha512-Q7cx22DiLhwHsEfUnUip1Ww/Vfx7FS0w6+iHItNuN61+XpegHSa3k5U0+6M5BcpavQImBwFiy0z3uYwY7cXMLQ==" }, "graphql-anywhere": { "version": "3.1.0", @@ -2314,14 +1546,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", "integrity": "sha1-MELZrewqHe1qdwep7SOA+KF6Qw4=", - "dev": true, - "requires": { - "ansi-red": "0.1.1", - "coffee-script": "1.12.7", - "extend-shallow": "2.0.1", - "js-yaml": "3.9.1", - "toml": "2.3.2" - } + "dev": true }, "growl": { "version": "1.9.2", @@ -2340,21 +1565,12 @@ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz", "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=", "dev": true, - "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" - }, "dependencies": { "source-map": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } + "dev": true } } }, @@ -2363,12 +1579,6 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", "dev": true, - "requires": { - "chalk": "1.1.3", - "commander": "2.11.0", - "is-my-json-valid": "2.16.1", - "pinkie-promise": "2.0.1" - }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -2380,14 +1590,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } + "dev": true }, "commander": { "version": "2.11.0", @@ -2407,18 +1610,12 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", - "dev": true, - "requires": { - "function-bind": "1.1.0" - } + "dev": true }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "2.1.1" - } + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=" }, "has-flag": { "version": "2.0.0", @@ -2426,17 +1623,14 @@ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" }, "has-symbol-support-x": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.0.tgz", - "integrity": "sha512-F1NtLDtW9NyUrS3faUcI1yVFHCTXyzPb1jfrZBQi5NHxFPlXxZnFLFGzfA2DsdmgCxv2MZ0+bfcgC4EZTmk4SQ==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz", + "integrity": "sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA==" }, "has-to-string-tag-x": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.0.tgz", - "integrity": "sha512-R3OdOP9j6AH5hS1yXeu9wAS+iKSZQx/CC6aMdN6WiaqPlBoA2S+47MtoMsZgKr2m0eAJ+73WWGX0RaFFE5XWKA==", - "requires": { - "has-symbol-support-x": "1.4.0" - } + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==" }, "has-unicode": { "version": "2.0.1", @@ -2447,13 +1641,7 @@ "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" - } + "dev": true }, "hoek": { "version": "2.16.3", @@ -2465,11 +1653,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } + "dev": true }, "hosted-git-info": { "version": "2.5.0", @@ -2481,21 +1665,13 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz", "integrity": "sha1-eb96eF6klf5mFl5zQVPzY/9UN9o=", - "dev": true, - "requires": { - "whatwg-encoding": "1.0.1" - } + "dev": true }, "http-basic": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-2.5.1.tgz", "integrity": "sha1-jORHvbW2xXf4pj4/p4BW7Eu02/s=", - "dev": true, - "requires": { - "caseless": "0.11.0", - "concat-stream": "1.6.0", - "http-response-object": "1.1.0" - } + "dev": true }, "http-response-object": { "version": "1.1.0", @@ -2507,22 +1683,12 @@ "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" - } + "dev": true }, "https-proxy-agent": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", - "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=", - "requires": { - "agent-base": "2.1.1", - "debug": "2.6.8", - "extend": "3.0.1" - } + "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=" }, "iconv-lite": { "version": "0.4.18", @@ -2535,9 +1701,9 @@ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" }, "ignore": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.3.tgz", - "integrity": "sha1-QyNS5XrM2HqzEQ6C0/6g5HgSFW0=", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz", + "integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==", "dev": true }, "immediate": { @@ -2554,11 +1720,7 @@ "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" }, "inherits": { "version": "2.0.3", @@ -2574,22 +1736,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-1.2.3.tgz", "integrity": "sha1-TexvMvN+97sLLtPx0aXD9UUHSRg=", - "requires": { - "ansi-escapes": "1.4.0", - "chalk": "1.1.3", - "cli-cursor": "1.0.2", - "cli-width": "2.2.0", - "external-editor": "1.1.1", - "figures": "1.7.0", - "lodash": "4.17.4", - "mute-stream": "0.0.6", - "pinkie-promise": "2.0.1", - "run-async": "2.3.0", - "rx": "4.1.0", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "through": "2.3.8" - }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -2599,14 +1745,7 @@ "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=" }, "supports-color": { "version": "2.0.0", @@ -2625,10 +1764,7 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "dev": true, - "requires": { - "loose-envify": "1.3.1" - } + "dev": true }, "invert-kv": { "version": "1.0.0", @@ -2652,10 +1788,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "1.1.1" - } + "dev": true }, "is-callable": { "version": "1.1.3", @@ -2667,10 +1800,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", - "dev": true, - "requires": { - "ci-info": "1.0.0" - } + "dev": true }, "is-date-object": { "version": "1.0.1", @@ -2693,10 +1823,7 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "2.0.0" - } + "dev": true }, "is-extendable": { "version": "0.1.1", @@ -2714,27 +1841,18 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } + "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "1.0.1" - } + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=" }, "is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } + "dev": true }, "is-local-path": { "version": "0.1.6", @@ -2746,13 +1864,7 @@ "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==", - "dev": true, - "requires": { - "generate-function": "2.0.0", - "generate-object-property": "1.2.0", - "jsonpointer": "4.0.1", - "xtend": "4.0.1" - } + "dev": true }, "is-natural-number": { "version": "4.0.1", @@ -2763,10 +1875,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } + "dev": true }, "is-object": { "version": "1.0.1", @@ -2783,19 +1892,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", - "dev": true, - "requires": { - "is-path-inside": "1.0.0" - } + "dev": true }, "is-path-inside": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", - "dev": true, - "requires": { - "path-is-inside": "1.0.2" - } + "dev": true }, "is-posix-bracket": { "version": "0.1.1", @@ -2829,19 +1932,13 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, - "requires": { - "has": "1.0.1" - } + "dev": true }, "is-resolvable": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", - "dev": true, - "requires": { - "tryit": "1.0.3" - } + "dev": true }, "is-retry-allowed": { "version": "1.1.0", @@ -2891,19 +1988,12 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } + "dev": true }, "isomorphic-fetch": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "requires": { - "node-fetch": "1.7.2", - "whatwg-fetch": "2.0.3" - } + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=" }, "isstream": { "version": "0.1.2", @@ -2916,22 +2006,6 @@ "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", "dev": true, - "requires": { - "abbrev": "1.0.9", - "async": "1.5.2", - "escodegen": "1.8.1", - "esprima": "2.7.3", - "glob": "5.0.15", - "handlebars": "4.0.10", - "js-yaml": "3.9.1", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "once": "1.4.0", - "resolve": "1.1.7", - "supports-color": "3.2.3", - "which": "1.3.0", - "wordwrap": "1.0.0" - }, "dependencies": { "esprima": { "version": "2.7.3", @@ -2943,14 +2017,7 @@ "version": "5.0.15", "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } + "dev": true }, "has-flag": { "version": "1.0.0", @@ -2968,40 +2035,21 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } + "dev": true } } }, "istanbul-api": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.12.tgz", - "integrity": "sha1-ktZ+nY+eqHNJpkpw3fWnqM35fyE=", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.14.tgz", + "integrity": "sha1-JbxXAffGgMD//5E95G42GaOm5oA=", "dev": true, - "requires": { - "async": "2.5.0", - "fileset": "2.0.3", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.0.7", - "istanbul-lib-instrument": "1.7.5", - "istanbul-lib-report": "1.1.1", - "istanbul-lib-source-maps": "1.2.1", - "istanbul-reports": "1.1.1", - "js-yaml": "3.9.1", - "mkdirp": "0.5.1", - "once": "1.4.0" - }, "dependencies": { "async": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", - "dev": true, - "requires": { - "lodash": "4.17.4" - } + "dev": true } } }, @@ -3015,37 +2063,19 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz", "integrity": "sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ==", - "dev": true, - "requires": { - "append-transform": "0.4.0" - } + "dev": true }, "istanbul-lib-instrument": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.5.tgz", - "integrity": "sha1-rbWW+PDLi5XnOSBjUaOKWGryGx4=", - "dev": true, - "requires": { - "babel-generator": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" - } + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.8.0.tgz", + "integrity": "sha1-ZvbJQhzJ7EcE928tsIS6kHiitTI=", + "dev": true }, "istanbul-lib-report": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", "integrity": "sha512-tvF+YmCmH4thnez6JFX06ujIA19WPa9YUiwjc1uALF2cv5dmE3It8b5I8Ob7FHJ70H9Y5yF+TDkVa/mcADuw1Q==", "dev": true, - "requires": { - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" - }, "dependencies": { "has-flag": { "version": "1.0.0", @@ -3057,10 +2087,7 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } + "dev": true } } }, @@ -3069,13 +2096,6 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", "integrity": "sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w==", "dev": true, - "requires": { - "debug": "2.6.8", - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.1", - "source-map": "0.5.7" - }, "dependencies": { "source-map": { "version": "0.5.7", @@ -3086,22 +2106,15 @@ } }, "istanbul-reports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.1.tgz", - "integrity": "sha512-P8G873A0kW24XRlxHVGhMJBhQ8gWAec+dae7ZxOBzxT4w+a9ATSPvRVK3LB1RAJ9S8bg2tOyWHAGW40Zd2dKfw==", - "dev": true, - "requires": { - "handlebars": "4.0.10" - } + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha1-D7Lj9qqZIr085F0F2KtNXo4HvU8=", + "dev": true }, "isurl": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "requires": { - "has-to-string-tag-x": "1.4.0", - "is-object": "1.0.1" - } + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==" }, "iterall": { "version": "1.1.1", @@ -3119,36 +2132,6 @@ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-18.1.0.tgz", "integrity": "sha1-Xq027K1CCBfCybqiqnV09jJXs9Y=", "dev": true, - "requires": { - "ansi-escapes": "1.4.0", - "callsites": "2.0.0", - "chalk": "1.1.3", - "graceful-fs": "4.1.11", - "is-ci": "1.0.10", - "istanbul-api": "1.1.12", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-instrument": "1.7.5", - "jest-changed-files": "17.0.2", - "jest-config": "18.1.0", - "jest-environment-jsdom": "18.1.0", - "jest-file-exists": "17.0.0", - "jest-haste-map": "18.1.0", - "jest-jasmine2": "18.1.0", - "jest-mock": "18.0.0", - "jest-resolve": "18.1.0", - "jest-resolve-dependencies": "18.1.0", - "jest-runtime": "18.1.0", - "jest-snapshot": "18.1.0", - "jest-util": "18.1.0", - "json-stable-stringify": "1.0.1", - "node-notifier": "4.6.1", - "sane": "1.4.1", - "strip-ansi": "3.0.1", - "throat": "3.2.0", - "which": "1.3.0", - "worker-farm": "1.5.0", - "yargs": "6.6.0" - }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -3172,25 +2155,13 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } + "dev": true }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - } + "dev": true }, "supports-color": { "version": "2.0.0", @@ -3202,22 +2173,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true, - "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "4.2.1" - } + "dev": true } } }, @@ -3226,16 +2182,6 @@ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-18.1.0.tgz", "integrity": "sha1-YRF0Cm1Iqrhv9anmqwuYvZk7b/Q=", "dev": true, - "requires": { - "chalk": "1.1.3", - "jest-environment-jsdom": "18.1.0", - "jest-environment-node": "18.1.0", - "jest-jasmine2": "18.1.0", - "jest-mock": "18.0.0", - "jest-resolve": "18.1.0", - "jest-util": "18.1.0", - "json-stable-stringify": "1.0.1" - }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -3247,14 +2193,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } + "dev": true }, "supports-color": { "version": "2.0.0", @@ -3269,12 +2208,6 @@ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-18.1.0.tgz", "integrity": "sha1-T/eedN2YjBORlbNl3GXYf2BvSAM=", "dev": true, - "requires": { - "chalk": "1.1.3", - "diff": "3.3.0", - "jest-matcher-utils": "18.1.0", - "pretty-format": "18.1.0" - }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -3286,14 +2219,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } + "dev": true }, "supports-color": { "version": "2.0.0", @@ -3307,22 +2233,13 @@ "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-18.1.0.tgz", "integrity": "sha1-GLQvDE6iuunzbKs2ObHo+MOE4k4=", - "dev": true, - "requires": { - "jest-mock": "18.0.0", - "jest-util": "18.1.0", - "jsdom": "9.12.0" - } + "dev": true }, "jest-environment-node": { "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-18.1.0.tgz", "integrity": "sha1-TWeXVyyN2pms9frmlutilFVHx3k=", - "dev": true, - "requires": { - "jest-mock": "18.0.0", - "jest-util": "18.1.0" - } + "dev": true }, "jest-file-exists": { "version": "17.0.0", @@ -3334,37 +2251,19 @@ "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-18.1.0.tgz", "integrity": "sha1-BoOcdLdwpAwaEGlohR340oHAg3U=", - "dev": true, - "requires": { - "fb-watchman": "1.9.2", - "graceful-fs": "4.1.11", - "micromatch": "2.3.11", - "sane": "1.4.1", - "worker-farm": "1.5.0" - } + "dev": true }, "jest-jasmine2": { "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-18.1.0.tgz", "integrity": "sha1-CU4QTCwYlwh2bHcmO7Kuy1hgqAs=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jest-matcher-utils": "18.1.0", - "jest-matchers": "18.1.0", - "jest-snapshot": "18.1.0", - "jest-util": "18.1.0" - } + "dev": true }, "jest-matcher-utils": { "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-18.1.0.tgz", "integrity": "sha1-GsRlGVXuKmDO8ef8yYzf13PA+TI=", "dev": true, - "requires": { - "chalk": "1.1.3", - "pretty-format": "18.1.0" - }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -3376,14 +2275,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } + "dev": true }, "supports-color": { "version": "2.0.0", @@ -3397,13 +2289,7 @@ "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-matchers/-/jest-matchers-18.1.0.tgz", "integrity": "sha1-A0FIS/h6H9C6wKTSyJnit3o/Hq0=", - "dev": true, - "requires": { - "jest-diff": "18.1.0", - "jest-matcher-utils": "18.1.0", - "jest-util": "18.1.0", - "pretty-format": "18.1.0" - } + "dev": true }, "jest-mock": { "version": "18.0.0", @@ -3415,46 +2301,19 @@ "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-18.1.0.tgz", "integrity": "sha1-aACsy1NmWMkGzV4p3kErGrmsJJs=", - "dev": true, - "requires": { - "browser-resolve": "1.11.2", - "jest-file-exists": "17.0.0", - "jest-haste-map": "18.1.0", - "resolve": "1.4.0" - } + "dev": true }, "jest-resolve-dependencies": { "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-18.1.0.tgz", "integrity": "sha1-gTT7XK9Zye2EL+AVKrAcUnEfG7s=", - "dev": true, - "requires": { - "jest-file-exists": "17.0.0", - "jest-resolve": "18.1.0" - } + "dev": true }, "jest-runtime": { "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-18.1.0.tgz", "integrity": "sha1-Or/WhxdbIfw7haK4BkOZ6ZeFmSI=", "dev": true, - "requires": { - "babel-core": "6.26.0", - "babel-jest": "18.0.0", - "babel-plugin-istanbul": "3.1.2", - "chalk": "1.1.3", - "graceful-fs": "4.1.11", - "jest-config": "18.1.0", - "jest-file-exists": "17.0.0", - "jest-haste-map": "18.1.0", - "jest-mock": "18.0.0", - "jest-resolve": "18.1.0", - "jest-snapshot": "18.1.0", - "jest-util": "18.1.0", - "json-stable-stringify": "1.0.1", - "micromatch": "2.3.11", - "yargs": "6.6.0" - }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -3472,25 +2331,13 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } + "dev": true }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - } + "dev": true }, "supports-color": { "version": "2.0.0", @@ -3502,22 +2349,7 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true, - "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "4.2.1" - } + "dev": true } } }, @@ -3525,29 +2357,13 @@ "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-18.1.0.tgz", "integrity": "sha1-VbltLuY5ybznb4fyo/1Atxx6WRY=", - "dev": true, - "requires": { - "jest-diff": "18.1.0", - "jest-file-exists": "17.0.0", - "jest-matcher-utils": "18.1.0", - "jest-util": "18.1.0", - "natural-compare": "1.4.0", - "pretty-format": "18.1.0" - } + "dev": true }, "jest-util": { "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-18.1.0.tgz", "integrity": "sha1-OpnDIRSrF/hL4JQ4JScAbm1L/Go=", "dev": true, - "requires": { - "chalk": "1.1.3", - "diff": "3.3.0", - "graceful-fs": "4.1.11", - "jest-file-exists": "17.0.0", - "jest-mock": "18.0.0", - "mkdirp": "0.5.1" - }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -3559,14 +2375,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } + "dev": true }, "supports-color": { "version": "2.0.0", @@ -3589,11 +2398,7 @@ "js-yaml": { "version": "3.9.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.9.1.tgz", - "integrity": "sha512-CbcG379L1e+mWBnLvHWWeLs8GyV/EMw862uLI3c+GxVyDHWZcjZinwuBd3iW2pgxgIlksW/1vNJa4to+RvDOww==", - "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" - } + "integrity": "sha512-CbcG379L1e+mWBnLvHWWeLs8GyV/EMw862uLI3c+GxVyDHWZcjZinwuBd3iW2pgxgIlksW/1vNJa4to+RvDOww==" }, "jsbn": { "version": "0.1.1", @@ -3607,27 +2412,6 @@ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", "dev": true, - "requires": { - "abab": "1.0.3", - "acorn": "4.0.13", - "acorn-globals": "3.1.0", - "array-equal": "1.0.0", - "content-type-parser": "1.0.1", - "cssom": "0.3.2", - "cssstyle": "0.2.37", - "escodegen": "1.8.1", - "html-encoding-sniffer": "1.0.1", - "nwmatcher": "1.4.1", - "parse5": "1.5.1", - "request": "2.79.0", - "sax": "1.2.1", - "symbol-tree": "3.2.2", - "tough-cookie": "2.3.2", - "webidl-conversions": "4.0.2", - "whatwg-encoding": "1.0.1", - "whatwg-url": "4.8.0", - "xml-name-validator": "2.0.1" - }, "dependencies": { "acorn": { "version": "4.0.13", @@ -3647,15 +2431,6 @@ "version": "2.1.7", "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-2.1.7.tgz", "integrity": "sha1-uesB/in16j6Sh48VrqEK04taz4k=", - "requires": { - "commander": "2.11.0", - "graphlib": "2.1.1", - "js-yaml": "3.9.1", - "native-promise-only": "0.8.1", - "path-loader": "1.0.2", - "slash": "1.0.0", - "uri-js": "3.0.2" - }, "dependencies": { "commander": { "version": "2.11.0", @@ -3674,10 +2449,7 @@ "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" - } + "dev": true }, "json-stringify-safe": { "version": "5.0.1", @@ -3699,10 +2471,7 @@ "jsonfile": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "requires": { - "graceful-fs": "4.1.11" - } + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=" }, "jsonify": { "version": "0.0.0", @@ -3721,12 +2490,6 @@ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - }, "dependencies": { "assert-plus": { "version": "1.0.0", @@ -3743,17 +2506,10 @@ "dev": true }, "jszip": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.3.tgz", - "integrity": "sha1-ipIEA7KxZRwPwSa+kBktkICVfDc=", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.4.tgz", + "integrity": "sha512-z6w8iYIxZ/fcgul0j/OerkYnkomH8BZigvzbxVmr2h5HkZUrPtk2kjYtLkqR9wwQxEP6ecKNoKLsbhd18jfnGA==", "dev": true, - "requires": { - "core-js": "2.3.0", - "es6-promise": "3.0.2", - "lie": "3.1.1", - "pako": "1.0.5", - "readable-stream": "2.0.6" - }, "dependencies": { "core-js": { "version": "2.3.0", @@ -3765,15 +2521,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" - } + "dev": true }, "string_decoder": { "version": "0.10.31", @@ -3792,18 +2540,12 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.5" - } + "dev": true }, "klaw": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "requires": { - "graceful-fs": "4.1.11" - } + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=" }, "lazy-cache": { "version": "1.0.4", @@ -3815,19 +2557,13 @@ "lazystream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "requires": { - "readable-stream": "2.3.3" - } + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=" }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "1.0.0" - } + "dev": true }, "lcov-parse": { "version": "0.0.10", @@ -3838,55 +2574,32 @@ "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" - } + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true }, "lie": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "dev": true, - "requires": { - "immediate": "3.0.6" - } + "dev": true }, "list-item": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", "integrity": "sha1-DGXQDih8tmPMs8s4Sad+iewmilY=", - "dev": true, - "requires": { - "expand-range": "1.8.2", - "extend-shallow": "2.0.1", - "is-number": "2.1.0", - "repeat-string": "1.6.1" - } + "dev": true }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - }, "dependencies": { "strip-bom": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "0.2.1" - } + "dev": true } } }, @@ -3895,10 +2608,6 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, - "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" - }, "dependencies": { "path-exists": { "version": "3.0.0", @@ -3934,25 +2643,13 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", - "dev": true, - "requires": { - "lodash._basecopy": "3.0.1", - "lodash.keys": "3.1.2" - } + "dev": true }, "lodash._baseclone": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz", "integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=", - "dev": true, - "requires": { - "lodash._arraycopy": "3.0.0", - "lodash._arrayeach": "3.0.0", - "lodash._baseassign": "3.2.0", - "lodash._basefor": "3.0.3", - "lodash.isarray": "3.0.4", - "lodash.keys": "3.1.2" - } + "dev": true }, "lodash._basecopy": { "version": "3.0.1", @@ -4000,11 +2697,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz", "integrity": "sha1-oKHkDYKl6on/WxR7hETtY9koJ9s=", - "dev": true, - "requires": { - "lodash._baseclone": "3.3.0", - "lodash._bindcallback": "3.0.1" - } + "dev": true }, "lodash.cond": { "version": "4.5.2", @@ -4016,12 +2709,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", - "dev": true, - "requires": { - "lodash._baseassign": "3.2.0", - "lodash._basecreate": "3.0.3", - "lodash._isiterateecall": "3.0.9" - } + "dev": true }, "lodash.difference": { "version": "4.5.0", @@ -4062,12 +2750,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dev": true, - "requires": { - "lodash._getnative": "3.9.1", - "lodash.isarguments": "3.1.0", - "lodash.isarray": "3.0.4" - } + "dev": true }, "lodash.pad": { "version": "4.5.1", @@ -4116,10 +2799,7 @@ "loose-envify": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "requires": { - "js-tokens": "3.0.2" - } + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" }, "lowercase-keys": { "version": "1.0.0", @@ -4134,19 +2814,13 @@ "make-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz", - "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=", - "requires": { - "pify": "2.3.0" - } + "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=" }, "makeerror": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "requires": { - "tmpl": "1.0.4" - } + "dev": true }, "markdown-link": { "version": "0.1.1", @@ -4155,20 +2829,10 @@ "dev": true }, "markdown-magic": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/markdown-magic/-/markdown-magic-0.1.17.tgz", - "integrity": "sha1-lj/jsNvoIF5ycJRJpErS9NsR/24=", + "version": "0.1.18", + "resolved": "https://registry.npmjs.org/markdown-magic/-/markdown-magic-0.1.18.tgz", + "integrity": "sha1-aalfD1Ekj5/ChO118kva2FpFzu4=", "dev": true, - "requires": { - "commander": "2.11.0", - "deepmerge": "1.5.1", - "find-up": "2.1.0", - "fs-extra": "1.0.0", - "globby": "6.1.0", - "is-local-path": "0.1.6", - "markdown-toc": "1.1.0", - "sync-request": "3.0.1" - }, "dependencies": { "commander": { "version": "2.11.0", @@ -4180,21 +2844,13 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } + "dev": true }, "fs-extra": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1" - } + "dev": true } } }, @@ -4203,29 +2859,12 @@ "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.1.0.tgz", "integrity": "sha1-GORyN9iVSelEcSHmniyoU8otdSo=", "dev": true, - "requires": { - "concat-stream": "1.6.0", - "diacritics-map": "0.1.0", - "gray-matter": "2.1.1", - "lazy-cache": "2.0.2", - "list-item": "1.1.1", - "markdown-link": "0.1.1", - "minimist": "1.2.0", - "mixin-deep": "1.2.0", - "object.pick": "1.3.0", - "remarkable": "1.7.1", - "repeat-string": "1.6.1", - "strip-color": "0.1.0" - }, "dependencies": { "lazy-cache": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", - "dev": true, - "requires": { - "set-getter": "0.1.0" - } + "dev": true } } }, @@ -4240,13 +2879,6 @@ "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-1.7.0.tgz", "integrity": "sha1-yMRgiBx3LHYEtkNnAH7l938SWQQ=", "dev": true, - "requires": { - "cardinal": "1.0.0", - "chalk": "1.1.3", - "cli-table": "0.3.1", - "lodash.assign": "4.2.0", - "node-emoji": "1.8.1" - }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -4258,14 +2890,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } + "dev": true }, "supports-color": { "version": "2.0.0", @@ -4296,48 +2921,27 @@ "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.3" - } + "dev": true }, "mime": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz", - "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.0.tgz", + "integrity": "sha512-n9ChLv77+QQEapYz8lV+rIZAW3HhAPW2CXnzb1GN5uMkuczshwvkW7XPsbzU0ZQN3sP47Er2KVkp2p3KyqZKSQ==" }, "mime-db": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz", - "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=" + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" }, "mime-types": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", - "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", - "requires": { - "mime-db": "1.29.0" - } + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=" }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "requires": { - "brace-expansion": "1.1.8" - } + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" }, "minimist": { "version": "1.2.0", @@ -4348,19 +2952,12 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.2.0.tgz", "integrity": "sha1-0CuMb4ttS49ZgtP9AJxJGYUcP+I=", - "dev": true, - "requires": { - "for-in": "1.0.2", - "is-extendable": "0.1.1" - } + "dev": true }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - }, "dependencies": { "minimist": { "version": "0.0.8", @@ -4374,28 +2971,12 @@ "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.0.tgz", "integrity": "sha512-pIU2PJjrPYvYRqVpjXzj76qltO9uBYI7woYAMoxbSefsa+vqAfptjoeevd6bUgwD0mPIO+hv9f7ltvsNreL2PA==", "dev": true, - "requires": { - "browser-stdout": "1.3.0", - "commander": "2.9.0", - "debug": "2.6.8", - "diff": "3.2.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.1", - "growl": "1.9.2", - "json3": "3.3.2", - "lodash.create": "3.1.1", - "mkdirp": "0.5.1", - "supports-color": "3.1.2" - }, "dependencies": { "commander": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true, - "requires": { - "graceful-readlink": "1.0.1" - } + "dev": true }, "diff": { "version": "3.2.0", @@ -4407,15 +2988,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } + "dev": true }, "has-flag": { "version": "1.0.0", @@ -4427,10 +3000,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } + "dev": true } } }, @@ -4444,10 +3014,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/mock-require/-/mock-require-1.3.0.tgz", "integrity": "sha1-gmFElS5QR2L45pJKqPY5Rl0deiQ=", - "dev": true, - "requires": { - "caller-id": "0.1.0" - } + "dev": true }, "module-not-found-error": { "version": "1.0.1", @@ -4485,19 +3052,12 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz", "integrity": "sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg==", - "dev": true, - "requires": { - "lodash.toarray": "4.4.0" - } + "dev": true }, "node-fetch": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.2.tgz", - "integrity": "sha512-xZZUq2yDhKMIn/UgG5q//IZSNLJIwW2QxS14CNH5spuiXkITM2pUitjdq58yLSaU7m4M0wBNaM2Gh/ggY4YJig==", - "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" - } + "integrity": "sha512-xZZUq2yDhKMIn/UgG5q//IZSNLJIwW2QxS14CNH5spuiXkITM2pUitjdq58yLSaU7m4M0wBNaM2Gh/ggY4YJig==" }, "node-int64": { "version": "0.4.0", @@ -4509,54 +3069,29 @@ "version": "4.6.1", "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-4.6.1.tgz", "integrity": "sha1-BW0UJE89zBzq3+aK+c/wxUc6M/M=", - "dev": true, - "requires": { - "cli-usage": "0.1.4", - "growly": "1.3.0", - "lodash.clonedeep": "3.0.2", - "minimist": "1.2.0", - "semver": "5.4.1", - "shellwords": "0.1.1", - "which": "1.3.0" - } + "dev": true }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1.0.9" - } + "dev": true }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true, - "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" - } + "dev": true }, "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "1.1.0" - } + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=" }, "npm-conf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.2.tgz", "integrity": "sha512-dotwbpwVzfNB/2EF3A2wjK5tEMLggKfuA/8TG6WvBB1Zrv+JsvF7E8ei9B/HGq211st/GwXFbREcNJvJ1eySUQ==", - "requires": { - "config-chain": "1.1.11", - "pify": "3.0.0" - }, "dependencies": { "pify": { "version": "3.0.0", @@ -4568,12 +3103,7 @@ "npmlog": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", - "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", - "requires": { - "ansi": "0.3.1", - "are-we-there-yet": "1.1.4", - "gauge": "1.2.7" - } + "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=" }, "number-is-nan": { "version": "1.0.1", @@ -4607,31 +3137,19 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz", "integrity": "sha1-scnMBE7xuf5jYG/BQau7MuFHMMw=", - "dev": true, - "requires": { - "define-properties": "1.1.2", - "function-bind": "1.1.0", - "object-keys": "1.0.11" - } + "dev": true }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" - } + "dev": true }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, - "requires": { - "isobject": "3.0.1" - }, "dependencies": { "isobject": { "version": "3.0.1", @@ -4644,10 +3162,7 @@ "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" }, "onetime": { "version": "1.1.0", @@ -4657,20 +3172,13 @@ "opn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", - "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", - "requires": { - "is-wsl": "1.1.0" - } + "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==" }, "optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, - "requires": { - "minimist": "0.0.10", - "wordwrap": "0.0.3" - }, "dependencies": { "minimist": { "version": "0.0.10", @@ -4690,15 +3198,7 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, - "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" - } + "dev": true }, "os-homedir": { "version": "1.0.2", @@ -4710,10 +3210,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "1.0.0" - } + "dev": true }, "os-shim": { "version": "0.1.3", @@ -4735,10 +3232,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "1.1.0" - } + "dev": true }, "pako": { "version": "1.0.5", @@ -4750,22 +3244,13 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - } + "dev": true }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "1.3.1" - } + "dev": true }, "parse5": { "version": "1.5.1", @@ -4777,10 +3262,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } + "dev": true }, "path-is-absolute": { "version": "1.0.1", @@ -4796,11 +3278,7 @@ "path-loader": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.2.tgz", - "integrity": "sha1-zVxz5+OakQEb4UjWv92KhbuTHvk=", - "requires": { - "native-promise-only": "0.8.1", - "superagent": "3.6.0" - } + "integrity": "sha1-zVxz5+OakQEb4UjWv92KhbuTHvk=" }, "path-parse": { "version": "1.0.5", @@ -4812,12 +3290,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } + "dev": true }, "pend": { "version": "1.2.0", @@ -4837,28 +3310,19 @@ "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "2.0.4" - } + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=" }, "pkg-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true, - "requires": { - "find-up": "1.1.2" - } + "dev": true }, "pkg-up": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=", - "dev": true, - "requires": { - "find-up": "1.1.2" - } + "dev": true }, "pluralize": { "version": "1.2.1", @@ -4888,9 +3352,6 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-18.1.0.tgz", "integrity": "sha1-+2Wob3p/kZSWPu6RhlwbzxA54oQ=", "dev": true, - "requires": { - "ansi-styles": "2.2.1" - }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -4921,10 +3382,7 @@ "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dev": true, - "requires": { - "asap": "2.0.6" - } + "dev": true }, "proto-list": { "version": "1.2.4", @@ -4936,11 +3394,6 @@ "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz", "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, - "requires": { - "fill-keys": "1.0.2", - "module-not-found-error": "1.0.1", - "resolve": "1.1.7" - }, "dependencies": { "resolve": { "version": "1.1.7", @@ -4986,28 +3439,18 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, "dependencies": { "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, - "requires": { - "kind-of": "3.2.2" - }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.5" - } + "dev": true } } }, @@ -5015,10 +3458,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "1.1.5" - } + "dev": true } } }, @@ -5026,13 +3466,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/raven/-/raven-1.2.1.tgz", "integrity": "sha1-lJwTTbAooZC3u/j3kKrlQbfAIL0=", - "requires": { - "cookie": "0.3.1", - "json-stringify-safe": "5.0.1", - "lsmod": "1.0.0", - "stack-trace": "0.0.9", - "uuid": "3.0.0" - }, "dependencies": { "uuid": { "version": "3.0.0", @@ -5044,59 +3477,30 @@ "rc": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - } + "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=" }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } + "dev": true }, "read-pkg-up": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - } + "dev": true }, "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==" }, "readline2": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "mute-stream": "0.0.5" - }, "dependencies": { "mute-stream": { "version": "0.0.5", @@ -5110,19 +3514,13 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "1.4.0" - } + "dev": true }, "redeyed": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-1.0.1.tgz", "integrity": "sha1-6WwZO0DAgWsArshCaY5hGF5VSYo=", "dev": true, - "requires": { - "esprima": "3.0.0" - }, "dependencies": { "esprima": { "version": "3.0.0", @@ -5135,13 +3533,7 @@ "redux": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", - "requires": { - "lodash": "4.17.4", - "lodash-es": "4.17.4", - "loose-envify": "1.3.1", - "symbol-observable": "1.0.4" - } + "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==" }, "regenerator-runtime": { "version": "0.11.0", @@ -5150,34 +3542,22 @@ "dev": true }, "regex-cache": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", - "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", - "dev": true, - "requires": { - "is-equal-shallow": "0.1.3", - "is-primitive": "2.0.0" - } + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true }, "remarkable": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.1.tgz", "integrity": "sha1-qspJchALZqZCpjoQIcpLrBvjv/Y=", "dev": true, - "requires": { - "argparse": "0.1.16", - "autolinker": "0.15.3" - }, "dependencies": { "argparse": { "version": "0.1.16", "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", - "dev": true, - "requires": { - "underscore": "1.7.0", - "underscore.string": "2.4.0" - } + "dev": true } } }, @@ -5202,10 +3582,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "1.0.2" - } + "dev": true }, "replaceall": { "version": "0.1.6", @@ -5217,39 +3594,12 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.11.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "2.0.6", - "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.16", - "oauth-sign": "0.8.2", - "qs": "6.3.2", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.4.3", - "uuid": "3.1.0" - }, "dependencies": { "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.16" - } + "dev": true }, "qs": { "version": "6.3.2", @@ -5287,11 +3637,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true, - "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" - } + "dev": true }, "requires-port": { "version": "1.0.0", @@ -5302,10 +3648,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", - "dev": true, - "requires": { - "path-parse": "1.0.5" - } + "dev": true }, "resolve-from": { "version": "1.0.1", @@ -5316,37 +3659,24 @@ "restore-cursor": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "requires": { - "exit-hook": "1.1.1", - "onetime": "1.1.0" - } + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=" }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4" - } + "optional": true }, "rimraf": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", - "requires": { - "glob": "7.1.2" - } + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=" }, "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "requires": { - "is-promise": "2.1.0" - } + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=" }, "rx": { "version": "4.1.0", @@ -5374,15 +3704,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/sane/-/sane-1.4.1.tgz", "integrity": "sha1-iPdj10BA9fDCVrYWPbOZvxEKxxU=", - "dev": true, - "requires": { - "exec-sh": "0.2.0", - "fb-watchman": "1.9.2", - "minimatch": "3.0.4", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.10.0" - } + "dev": true }, "sax": { "version": "1.2.1", @@ -5392,10 +3714,7 @@ "seek-bzip": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", - "requires": { - "commander": "2.8.1" - } + "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=" }, "semver": { "version": "5.4.1", @@ -5417,10 +3736,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", - "dev": true, - "requires": { - "to-object-path": "0.3.0" - } + "dev": true }, "shelljs": { "version": "0.6.1", @@ -5442,13 +3758,7 @@ "version": "1.17.7", "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz", "integrity": "sha1-RUKk9JugxFwF6y6d2dID4rjv4L8=", - "dev": true, - "requires": { - "formatio": "1.1.1", - "lolex": "1.3.2", - "samsam": "1.1.2", - "util": "0.10.3" - } + "dev": true }, "sinon-bluebird": { "version": "3.1.0", @@ -5477,29 +3787,20 @@ "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" - } + "dev": true }, "source-map": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", "dev": true, - "optional": true, - "requires": { - "amdefine": "1.0.1" - } + "optional": true }, "source-map-support": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.16.tgz", - "integrity": "sha512-A6vlydY7H/ljr4L2UOhDSajQdZQ6dMD7cLH0pzwcmwLyc9u8PNI4WGtnfDDzX7uzGL6c/T+ORL97Zlh+S4iOrg==", + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.17.tgz", + "integrity": "sha512-30c1Ch8FSjV0FwC253iftbbj0dU/OXoSg1LAEGZJUlGgjTNj6cu+DVqJWWIZJY5RXLWV4eFtR+4ouo0VIOYOTg==", "dev": true, - "requires": { - "source-map": "0.5.7" - }, "dependencies": { "source-map": { "version": "0.5.7", @@ -5512,20 +3813,13 @@ "spawn-sync": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", - "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", - "requires": { - "concat-stream": "1.6.0", - "os-shim": "0.1.3" - } + "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=" }, "spdx-correct": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "dev": true, - "requires": { - "spdx-license-ids": "1.2.2" - } + "dev": true }, "spdx-expression-parse": { "version": "1.0.4", @@ -5549,16 +3843,6 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", "dev": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, "dependencies": { "assert-plus": { "version": "1.0.0", @@ -5573,23 +3857,15 @@ "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=" }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=" }, "stringstream": { "version": "0.0.5", @@ -5600,10 +3876,7 @@ "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "2.1.1" - } + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=" }, "strip-bom": { "version": "3.0.0", @@ -5620,10 +3893,7 @@ "strip-dirs": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.0.0.tgz", - "integrity": "sha1-YQzbKSggDaAAT0HcuQ/JXNkZoLY=", - "requires": { - "is-natural-number": "4.0.1" - } + "integrity": "sha1-YQzbKSggDaAAT0HcuQ/JXNkZoLY=" }, "strip-json-comments": { "version": "2.0.1", @@ -5633,35 +3903,17 @@ "strip-outer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.0.tgz", - "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=", - "requires": { - "escape-string-regexp": "1.0.5" - } + "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=" }, "superagent": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.6.0.tgz", - "integrity": "sha512-oWsu4mboo8sVxagp4bNwZIR1rUmypeAJDmNIwT9mF4k06hSu6P92aOjEWLaIj7vsX3fOUp+cRH/04tao+q5Q7A==", - "requires": { - "component-emitter": "1.2.1", - "cookiejar": "2.1.1", - "debug": "2.6.8", - "extend": "3.0.1", - "form-data": "2.2.0", - "formidable": "1.1.1", - "methods": "1.1.2", - "mime": "1.3.6", - "qs": "6.5.0", - "readable-stream": "2.3.3" - } + "integrity": "sha512-oWsu4mboo8sVxagp4bNwZIR1rUmypeAJDmNIwT9mF4k06hSu6P92aOjEWLaIj7vsX3fOUp+cRH/04tao+q5Q7A==" }, "supports-color": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.1.tgz", - "integrity": "sha512-qxzYsob3yv6U+xMzPrv170y8AwGP7i74g+pbixCfD6rgso8BscLT2qXIuz6TpOaiJZ3mFgT5O9lyT9nMU4LfaA==", - "requires": { - "has-flag": "2.0.0" - } + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==" }, "symbol-observable": { "version": "1.0.4", @@ -5678,26 +3930,13 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-3.0.1.tgz", "integrity": "sha1-yqEjWq+Im6UBB2oYNMQ2gwqC+3M=", - "dev": true, - "requires": { - "concat-stream": "1.6.0", - "http-response-object": "1.1.0", - "then-request": "2.2.0" - } + "dev": true }, "table": { "version": "3.8.3", "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", "dev": true, - "requires": { - "ajv": "4.11.8", - "ajv-keywords": "1.5.1", - "chalk": "1.1.3", - "lodash": "4.17.4", - "slice-ansi": "0.0.4", - "string-width": "2.1.1" - }, "dependencies": { "ansi-regex": { "version": "3.0.0", @@ -5715,14 +3954,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } + "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -5735,19 +3967,12 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - }, "dependencies": { "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } + "dev": true } } }, @@ -5762,41 +3987,18 @@ "tabtab": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/tabtab/-/tabtab-2.2.2.tgz", - "integrity": "sha1-egR/FDsBC0y9MfhX6ClhUSy/ThQ=", - "requires": { - "debug": "2.6.8", - "inquirer": "1.2.3", - "lodash.difference": "4.5.0", - "lodash.uniq": "4.5.0", - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "npmlog": "2.0.4", - "object-assign": "4.1.1" - } + "integrity": "sha1-egR/FDsBC0y9MfhX6ClhUSy/ThQ=" }, "tar-stream": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz", - "integrity": "sha1-NlSc8E7RrumyowwBQyUiONr5QBY=", - "requires": { - "bl": "1.2.1", - "end-of-stream": "1.4.0", - "readable-stream": "2.3.3", - "xtend": "4.0.1" - } + "integrity": "sha1-NlSc8E7RrumyowwBQyUiONr5QBY=" }, "test-exclude": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-3.3.0.tgz", "integrity": "sha1-ehfKEjmYjJg2ewYhRW27fUvDiXc=", - "dev": true, - "requires": { - "arrify": "1.0.1", - "micromatch": "2.3.11", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" - } + "dev": true }, "text-table": { "version": "0.2.0", @@ -5808,15 +4010,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/then-request/-/then-request-2.2.0.tgz", "integrity": "sha1-ZnizL6DKIY/laZgbvYhxtZQGDYE=", - "dev": true, - "requires": { - "caseless": "0.11.0", - "concat-stream": "1.6.0", - "http-basic": "2.5.1", - "http-response-object": "1.1.0", - "promise": "7.3.1", - "qs": "6.5.0" - } + "dev": true }, "throat": { "version": "3.2.0", @@ -5837,10 +4031,7 @@ "tmp": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", - "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=", - "requires": { - "os-tmpdir": "1.0.2" - } + "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=" }, "tmpl": { "version": "1.0.4", @@ -5858,15 +4049,12 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } + "dev": true }, "toml": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.2.tgz", - "integrity": "sha1-Xt7VykKIeSSUn9BusOlVZWAB6DQ=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.3.tgz", + "integrity": "sha512-O7L5hhSQHxuufWUdcTRPfuTh3phKfAZ/dqfxZFoxPCj2RYmpaSGLEIs016FCXItQwNr08yefUB5TSjzRYnajTA==", "dev": true }, "tough-cookie": { @@ -5874,9 +4062,6 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", "dev": true, - "requires": { - "punycode": "1.4.1" - }, "dependencies": { "punycode": { "version": "1.4.1", @@ -5895,10 +4080,7 @@ "trim-repeated": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", - "requires": { - "escape-string-regexp": "1.0.5" - } + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=" }, "trim-right": { "version": "1.0.1", @@ -5915,10 +4097,7 @@ "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "5.1.1" - } + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" }, "tweetnacl": { "version": "0.14.5", @@ -5931,10 +4110,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "1.1.2" - } + "dev": true }, "type-detect": { "version": "1.0.0", @@ -5953,11 +4129,6 @@ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "optional": true, - "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, "dependencies": { "source-map": { "version": "0.5.7", @@ -5979,10 +4150,6 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz", "integrity": "sha512-izD3jxT8xkzwtXRUZjtmRwKnZoeECrfZ8ra/ketwOcusbZEp4mjULMnJOCfTDZBgGQAAY1AJ/IgxcwkavcX9Og==", - "requires": { - "buffer": "3.6.0", - "through": "2.3.8" - }, "dependencies": { "base64-js": { "version": "0.0.8", @@ -5992,12 +4159,7 @@ "buffer": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", - "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", - "requires": { - "base64-js": "0.0.8", - "ieee754": "1.1.8", - "isarray": "1.0.0" - } + "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=" } } }, @@ -6022,9 +4184,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", - "requires": { - "punycode": "2.1.0" - }, "dependencies": { "punycode": { "version": "2.1.0", @@ -6033,22 +4192,20 @@ } } }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=" + }, "url-parse": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.9.tgz", - "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=", - "requires": { - "querystringify": "1.0.0", - "requires-port": "1.0.0" - } + "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=" }, "url-parse-lax": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "1.0.4" - } + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=" }, "url-to-options": { "version": "1.0.1", @@ -6059,19 +4216,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", - "dev": true, - "requires": { - "os-homedir": "1.0.2" - } + "dev": true }, "util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, - "requires": { - "inherits": "2.0.1" - }, "dependencies": { "inherits": { "version": "2.0.1", @@ -6095,22 +4246,13 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "dev": true, - "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" - } + "dev": true }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - }, "dependencies": { "assert-plus": { "version": "1.0.0", @@ -6129,10 +4271,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "requires": { - "makeerror": "1.0.11" - } + "dev": true }, "watch": { "version": "0.10.0", @@ -6151,9 +4290,6 @@ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz", "integrity": "sha1-PGxFGhmO567FWx7GHQkgxngBpfQ=", "dev": true, - "requires": { - "iconv-lite": "0.4.13" - }, "dependencies": { "iconv-lite": { "version": "0.4.13", @@ -6173,10 +4309,6 @@ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", "dev": true, - "requires": { - "tr46": "0.0.3", - "webidl-conversions": "3.0.1" - }, "dependencies": { "webidl-conversions": { "version": "3.0.1", @@ -6190,10 +4322,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true, - "requires": { - "isexe": "2.0.0" - } + "dev": true }, "which-module": { "version": "1.0.0", @@ -6218,21 +4347,13 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.0.tgz", "integrity": "sha512-DHRiUggxtbruaTwnLDm2/BRDKZIoOYvrgYUj5Bam4fU6Gtvc0FaEyoswFPBjMXAweGW2H4BDNIpy//1yXXuaqQ==", - "dev": true, - "requires": { - "errno": "0.1.4", - "xtend": "4.0.1" - } + "dev": true }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" - } + "dev": true }, "wrappy": { "version": "1.0.2", @@ -6243,20 +4364,12 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "dev": true, - "requires": { - "mkdirp": "0.5.1" - } + "dev": true }, "write-file-atomic": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", - "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" - } + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==" }, "xml-name-validator": { "version": "2.0.1", @@ -6267,19 +4380,12 @@ "xml2js": { "version": "0.4.17", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", - "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=", - "requires": { - "sax": "1.2.1", - "xmlbuilder": "4.2.1" - } + "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=" }, "xmlbuilder": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", - "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=", - "requires": { - "lodash": "4.17.4" - } + "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=" }, "xtend": { "version": "4.0.1", @@ -6292,27 +4398,23 @@ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, + "yaml-ast-parser": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.34.tgz", + "integrity": "sha1-0A88+ddztyQUCa6SpnQNHbGfSeY=" + }, "yargs": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, - "optional": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } + "optional": true }, "yargs-parser": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", "dev": true, - "requires": { - "camelcase": "3.0.0" - }, "dependencies": { "camelcase": { "version": "3.0.0", @@ -6325,11 +4427,7 @@ "yauzl": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.8.0.tgz", - "integrity": "sha1-eUUK/yKyqcWkHvVOAtuQfM+/nuI=", - "requires": { - "buffer-crc32": "0.2.13", - "fd-slicer": "1.0.1" - } + "integrity": "sha1-eUUK/yKyqcWkHvVOAtuQfM+/nuI=" }, "zen-observable-ts": { "version": "0.4.0", @@ -6339,13 +4437,7 @@ "zip-stream": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", - "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", - "requires": { - "archiver-utils": "1.3.0", - "compress-commons": "1.2.0", - "lodash": "4.17.4", - "readable-stream": "2.3.3" - } + "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=" } } -} +} \ No newline at end of file From 7fc86155df431662defe06fcbe2911d76cbe29c8 Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Tue, 12 Sep 2017 14:14:08 +0700 Subject: [PATCH 10/99] add more shared resource test --- .../events/apiGateway/lib/resources.test.js | 53 +++++++++++++++++-- 1 file changed, 50 insertions(+), 3 deletions(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js index d64ccc3e9ce..608d05904a5 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js @@ -257,7 +257,8 @@ describe('#compileResources()', () => { restApiRootResourceId: 'z5d4qh4oqi', restApiResources: { foo: 'axcybf2i39', - 'user/friends': 'fcasdoojp1', + users: 'zxcvbnmasd', + 'users/friends': 'fcasdoojp1', }, }; @@ -294,7 +295,13 @@ describe('#compileResources()', () => { }, { http: { - path: 'user/friends/comments', + path: 'users/friends/comments', + method: 'GET', + }, + }, + { + http: { + path: 'users/me/posts', method: 'GET', }, }, @@ -315,8 +322,48 @@ describe('#compileResources()', () => { .Resources.ApiGatewayResourceBarIdVar.Properties.ParentId.Ref) .to.equal('ApiGatewayResourceBar'); expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate - .Resources.ApiGatewayResourceUserFriendsComments.Properties.ParentId) + .Resources.ApiGatewayResourceUsersMePosts).not.equal(undefined); + expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ApiGatewayResourceUsersFriendsComments.Properties.ParentId) .to.equal('fcasdoojp1'); }); }); + + it('should not create any child resources only if all resources exists', () => { + awsCompileApigEvents.serverless.service.provider.apiGateway = { + restApiId: '6fyzt1pfpk', + restApiRootResourceId: 'z5d4qh4oqi', + restApiResources: { + foo: 'axcybf2i39', + users: 'zxcvbnmasd', + 'users/friends': 'fcasdoojp1', + }, + }; + + awsCompileApigEvents.validated.events = [ + { + http: { + path: 'foo', + method: 'GET', + }, + }, + { + http: { + path: 'users', + method: 'GET', + }, + }, + { + http: { + path: 'users/friends', + method: 'GET', + }, + }, + ]; + + return awsCompileApigEvents.compileResources().then(() => { + expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ApiGatewayResourceFoo).to.equal(undefined); + }); + }); }); From 8bc6a0af7743c3fd50b79f841b0a54d02b24b22a Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Tue, 12 Sep 2017 15:00:53 +0700 Subject: [PATCH 11/99] update test coverage --- .../package/compile/events/apiGateway/lib/resources.test.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js index 608d05904a5..3e266f247da 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js @@ -329,7 +329,7 @@ describe('#compileResources()', () => { }); }); - it('should not create any child resources only if all resources exists', () => { + it('should not create any child resources if all resources exists', () => { awsCompileApigEvents.serverless.service.provider.apiGateway = { restApiId: '6fyzt1pfpk', restApiRootResourceId: 'z5d4qh4oqi', @@ -364,6 +364,10 @@ describe('#compileResources()', () => { return awsCompileApigEvents.compileResources().then(() => { expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate .Resources.ApiGatewayResourceFoo).to.equal(undefined); + expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ApiGatewayResourceUsers).to.equal(undefined); + expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ApiGatewayResourceUsersFriends).to.equal(undefined); }); }); }); From 755cc8ad65835665d03837d2f1d7c4e61d4a2c9b Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Tue, 12 Sep 2017 15:46:01 +0700 Subject: [PATCH 12/99] improved test cases and fixed empty property check --- .../events/apiGateway/lib/resources.js | 8 +- .../events/apiGateway/lib/resources.test.js | 75 ++++++++++++++++++- 2 files changed, 76 insertions(+), 7 deletions(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js index c16af05d74e..bfdbc32df53 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js @@ -177,8 +177,7 @@ module.exports = { for (let i = sortedResourceNodes.length - 1; i >= 0; i--) { const node = sortedResourceNodes[i]; - let parent = node.parent; - cutBranch(node); + let parent = node; while (parent && parent.parent) { if (parent.parent.hasMethod && !parent.parent.resourceId) { @@ -228,7 +227,7 @@ module.exports = { return this.provider.getApiGatewayRestApiRootResourceId(); } - if (!this.apiGatewayResources[path]) { + if (!this.apiGatewayResources || !this.apiGatewayResources[path]) { throw new Error(`Can not find API Gateway resource from path ${path}`); } @@ -241,9 +240,10 @@ module.exports = { }, getResourceName(path) { - if (path === '') { + if (path === '' || !this.apiGatewayResources) { return ''; } + return this.apiGatewayResources[path].name; }, }; diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js index 3e266f247da..fcc53de3323 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js @@ -256,19 +256,32 @@ describe('#compileResources()', () => { restApiId: '6fyzt1pfpk', restApiRootResourceId: 'z5d4qh4oqi', restApiResources: { - foo: 'axcybf2i39', - users: 'zxcvbnmasd', - 'users/friends': 'fcasdoojp1', + '/foo': 'axcybf2i39', + '/users': 'zxcvbnmasd', + '/users/friends': 'fcasdoojp1', + '/groups': 'iuoyiusduo', }, }; awsCompileApigEvents.validated.events = [ + { + http: { + path: 'foo/bar', + method: 'GET', + }, + }, { http: { path: 'foo/bar', method: 'POST', }, }, + { + http: { + path: 'foo/bar', + method: 'DELETE', + }, + }, { http: { path: 'bar/-', @@ -305,8 +318,21 @@ describe('#compileResources()', () => { method: 'GET', }, }, + { + http: { + path: 'groups/categories', + method: 'GET', + }, + }, ]; return awsCompileApigEvents.compileResources().then(() => { + try { + awsCompileApigEvents.getResourceId('users/{userId}'); + throw new Error('Expected API Gateway resource not found error, got success'); + } catch (e) { + expect(e.message).to.equal('Can not find API Gateway resource from path users/{userId}'); + } + expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate .Resources.ApiGatewayResourceFoo).to.equal(undefined); expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate @@ -337,6 +363,7 @@ describe('#compileResources()', () => { foo: 'axcybf2i39', users: 'zxcvbnmasd', 'users/friends': 'fcasdoojp1', + 'users/is/this/a/long/path': 'sadvgpoujk', }, }; @@ -359,6 +386,12 @@ describe('#compileResources()', () => { method: 'GET', }, }, + { + http: { + path: 'users/is/this/a/long/path', + method: 'GET', + }, + }, ]; return awsCompileApigEvents.compileResources().then(() => { @@ -368,6 +401,42 @@ describe('#compileResources()', () => { .Resources.ApiGatewayResourceUsers).to.equal(undefined); expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate .Resources.ApiGatewayResourceUsersFriends).to.equal(undefined); + expect(awsCompileApigEvents.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ApiGatewayResourceUsersIsThis).to.equal(undefined); }); }); + + it('should throw error if parent of existing resources is required', () => { + awsCompileApigEvents.serverless.service.provider.apiGateway = { + restApiId: '6fyzt1pfpk', + restApiRootResourceId: 'z5d4qh4oqi', + restApiResources: { + 'users/friends': 'fcasdoojp1', + }, + }; + + awsCompileApigEvents.validated.events = [ + { + http: { + path: 'users', + method: 'GET', + }, + }, + { + http: { + path: 'users/friends/{friendId}', + method: 'GET', + }, + }, + ]; + + try { + return awsCompileApigEvents.compileResources() + .then(() => { + throw new Error('Expected throwing error, got success'); + }); + } catch (e) { + expect(e.message).to.equal('Resource ID for path users is required'); + } + }); }); From ed91fc1ceb9decb591f47aee026e5f137d3fc557 Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Tue, 12 Sep 2017 15:50:42 +0700 Subject: [PATCH 13/99] fixed lint error --- .../compile/events/apiGateway/lib/resources.test.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js index fcc53de3323..a1ab647f73d 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js @@ -432,11 +432,12 @@ describe('#compileResources()', () => { try { return awsCompileApigEvents.compileResources() - .then(() => { - throw new Error('Expected throwing error, got success'); - }); + .then(() => { + throw new Error('Expected throwing error, got success'); + }); } catch (e) { expect(e.message).to.equal('Resource ID for path users is required'); + return Promise.resolve(); } }); }); From 79f2a1417179e8b65abfad9775de5f4c18b42a3f Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Tue, 12 Sep 2017 16:19:38 +0700 Subject: [PATCH 14/99] update apiGateway config for serverless.yml.md --- docs/providers/aws/guide/serverless.yml.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/providers/aws/guide/serverless.yml.md b/docs/providers/aws/guide/serverless.yml.md index e2e388d6376..e9415dba438 100644 --- a/docs/providers/aws/guide/serverless.yml.md +++ b/docs/providers/aws/guide/serverless.yml.md @@ -43,6 +43,13 @@ provider: - myFirstKey - ${opt:stage}-myFirstKey - ${env:MY_API_KEY} # you can hide it in a serverless variable + apiGateway: + restApiId: xxxxxxxxxx # REST API resource ID. Default is generated by the framework + restApiRootResourceId: xxxxxxxxxx # Root resource ID of above REST API + restApiResources: # List of existing resources that were created in the REST API. This is required or the stack will be conflicted + '/users': xxxxxxxxxx + '/users/create': xxxxxxxxxx + usagePlan: # Optional usage plan configuration quota: limit: 5000 @@ -93,6 +100,7 @@ package: # Optional deployment packaging configuration - .travis.yml excludeDevDependencies: false # Config if Serverless should automatically exclude dev dependencies in the deployment package. Defaults to true + functions: usersCreate: # A Function handler: users.create # The file and module for this specific function. From c6fe3a5638532f2f9ce0ce338924b7a9c4969df4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Lov=C3=A9n?= Date: Fri, 29 Sep 2017 09:29:18 +0300 Subject: [PATCH 15/99] Fix warning message format --- .../aws/package/compile/events/apiGateway/lib/validate.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.js index 75dc9563c39..8b51681aa24 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.js @@ -88,9 +88,9 @@ module.exports = { if (!_.isEmpty(_.difference(keys, allowedKeys))) { const requestWarningMessage = [ `Warning! You're using the ${http.integration} in combination with a request`, - ` configuration in your function "${functionName}". Only the`, - _.map(allowedKeys, value => `request.${value}`), - `configs are available in conjunction with ${http.integration}.`, + ` configuration in your function "${functionName}". Only the `, + _.map(allowedKeys, value => `request.${value}`).join(', '), + ` configs are available in conjunction with ${http.integration}.`, ' Serverless will remove this configuration automatically', ' before deployment.', ].join(''); From 7bbfe6ca1ec7e40a914e448751b601eb94be3bb1 Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Sun, 1 Oct 2017 18:49:11 +0700 Subject: [PATCH 16/99] update API Gateway event documentation --- docs/providers/aws/events/apigateway.md | 147 +- docs/providers/aws/guide/serverless.yml.md | 4 +- package-lock.json | 4443 -------------------- shrinkwrap.yaml | 4222 +++++++++++++++++++ yarn.lock | 4303 ------------------- 5 files changed, 4370 insertions(+), 8749 deletions(-) delete mode 100644 package-lock.json create mode 100644 shrinkwrap.yaml delete mode 100644 yarn.lock diff --git a/docs/providers/aws/events/apigateway.md b/docs/providers/aws/events/apigateway.md index ff68cfbc3cc..020ffdb38f6 100644 --- a/docs/providers/aws/events/apigateway.md +++ b/docs/providers/aws/events/apigateway.md @@ -586,7 +586,39 @@ See the [api gateway documentation](https://docs.aws.amazon.com/apigateway/lates **Notes:** - A missing/empty request Content-Type is considered to be the API Gateway default (`application/json`) -- API Gateway docs refer to "WHEN_NO_TEMPLATE" (singular), but this will fail during creation as the actual value should be "WHEN_NO_TEMPLATES" (plural) + - [[Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) + - [[Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) + - [[Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) + - [[Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) + - [[Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) + - [[Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) + - [[Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) +- [API Gateway](#api-gateway) + - [Lambda Proxy Integration](#lambda-proxy-integration) + - [Simple HTTP Endpoint](#simple-http-endpoint) + - [Example "LAMBDA-PROXY" event (default)](#example-lambda-proxy-event-default) + - [HTTP Endpoint with Extended Options](#http-endpoint-with-extended-options) + - [Enabling CORS](#enabling-cors) + - [HTTP Endpoints with `AWS_IAM` Authorizers](#http-endpoints-with-awsiam-authorizers) + - [HTTP Endpoints with Custom Authorizers](#http-endpoints-with-custom-authorizers) + - [Catching Exceptions In Your Lambda Function](#catching-exceptions-in-your-lambda-function) + - [Setting API keys for your Rest API](#setting-api-keys-for-your-rest-api) + - [Request Parameters](#request-parameters) + - [Lambda Integration](#lambda-integration) + - [Example "LAMBDA" event (before customization)](#example-lambda-event-before-customization) + - [Request templates](#request-templates) + - [Default Request Templates](#default-request-templates) + - [Custom Request Templates](#custom-request-templates) + - [Pass Through Behavior](#pass-through-behavior) + - [Responses](#responses) + - [Custom Response Headers](#custom-response-headers) + - [Custom Response Templates](#custom-response-templates) + - [Status codes](#status-codes) + - [Available Status Codes](#available-status-codes) + - [Using Status Codes](#using-status-codes) + - [Custom Status Codes](#custom-status-codes) + - [Setting an HTTP Proxy on API Gateway](#setting-an-http-proxy-on-api-gateway) + - [Share API Gateway and API Resources](#share-api-gateway-and-api-resources) ### Responses @@ -773,3 +805,116 @@ endpoint of your proxy, and the URI you want to set a proxy to. Now that you have these two CloudFormation templates defined in your `serverless.yml` file, you can simply run `serverless deploy` and that will deploy these custom resources for you along with your service and set up a proxy on your Rest API. + +## Share API Gateway and API Resources + +As you application grows, you will have idea to break it out into multiple services. However, each serverless project generates new API Gateway by default. If you want to share same API Gateway for muliple projects, you 'll need to reference REST API ID and Root Resource ID into serverless.yml files + +```yml +service: service-name +provider: + name: aws + apiGateway: + restApiId: xxxxxxxxxx # REST API resource ID. Default is generated by the framework + restApiRootResourceId: xxxxxxxxxx # Root resource, represent as / path + +functions: + ... + +``` + +In case the application has many chilren and grandchildren paths, you also want to break them out into smaller services. + +```yml +service: service-a +provider: + apiGateway: + restApiId: xxxxxxxxxx + restApiRootResourceId: xxxxxxxxxx + +functions: + create: + handler: posts.create + events: + - http: + method: post + path: /posts +``` + +```yml +service: service-b +provider: + apiGateway: + restApiId: xxxxxxxxxx + restApiRootResourceId: xxxxxxxxxx + +functions: + create: + handler: posts.createComment + events: + - http: + method: post + path: /posts/{id}/comments +``` + +They reference the same parent path `/posts`. Cloudformation will throw error if we try to generate existed one. To avoid that, we must reference source ID of `/posts`. + +```yml +service: service-a +provider: + apiGateway: + restApiId: xxxxxxxxxx + restApiRootResourceId: xxxxxxxxxx + restApiResources: + /posts: xxxxxxxxxx + +functions: + ... + +``` + +```yml +service: service-b +provider: + apiGateway: + restApiId: xxxxxxxxxx + restApiRootResourceId: xxxxxxxxxx + restApiResources: + /posts: xxxxxxxxxx + +functions: + ... + +``` + +You can define more than one path resource. Otherwise, serverless will generate paths from root resource. `restApiRootResourceId` can be optional if there isn't path that need to be generated from the root + +```yml +service: service-a +provider: + apiGateway: + restApiId: xxxxxxxxxx + # restApiRootResourceId: xxxxxxxxxx # Optional + restApiResources: + /posts: xxxxxxxxxx + /categories: xxxxxxxxx + + +functions: + listPosts: + handler: posts.list + events: + - http: + method: get + path: /posts + + listCategories: + handler: categories.list + events: + - http: + method: get + path: /categories + +``` + +For best practice and CI, CD friendly, we should define Cloudformation resources from early service, then use Cross-Stack References for another ones. diff --git a/docs/providers/aws/guide/serverless.yml.md b/docs/providers/aws/guide/serverless.yml.md index e9415dba438..f3ffcc13991 100644 --- a/docs/providers/aws/guide/serverless.yml.md +++ b/docs/providers/aws/guide/serverless.yml.md @@ -43,9 +43,9 @@ provider: - myFirstKey - ${opt:stage}-myFirstKey - ${env:MY_API_KEY} # you can hide it in a serverless variable - apiGateway: + apiGateway: # Optional API Gateway global config restApiId: xxxxxxxxxx # REST API resource ID. Default is generated by the framework - restApiRootResourceId: xxxxxxxxxx # Root resource ID of above REST API + restApiRootResourceId: xxxxxxxxxx # Root resource ID, represent as / path restApiResources: # List of existing resources that were created in the REST API. This is required or the stack will be conflicted '/users': xxxxxxxxxx '/users/create': xxxxxxxxxx diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 0cd13a10d6f..00000000000 --- a/package-lock.json +++ /dev/null @@ -1,4443 +0,0 @@ -{ - "name": "serverless", - "version": "1.21.1", - "lockfileVersion": 1, - "dependencies": { - "@serverless/fdk": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@serverless/fdk/-/fdk-0.5.1.tgz", - "integrity": "sha512-Z/+5R0AohLwDT1E+9BTeUA7NozlyIoTh0iEt6x8x+ZZhIBK5HBMBN6v2LfkI4wmmOOyceTvsN0l8nWfGp4Oh5g==" - }, - "@types/graphql": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@types/graphql/-/graphql-0.10.2.tgz", - "integrity": "sha512-Ayw0w+kr8vYd8DToiMXjcHxXv1ljWbqX2mnLwXDxkBgog3vywGriC0JZ+npsuohKs3+E88M8OOtobo4g0X3SIA==", - "optional": true - }, - "abab": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.3.tgz", - "integrity": "sha1-uB3l9ydOxOdW15fNg08wNkJyTl0=", - "dev": true - }, - "abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", - "dev": true - }, - "acorn": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", - "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", - "dev": true - }, - "acorn-globals": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", - "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", - "dev": true, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - } - } - }, - "acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", - "dev": true, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true - } - } - }, - "agent-base": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz", - "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=", - "dependencies": { - "semver": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", - "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=" - } - } - }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true - }, - "ajv-keywords": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", - "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", - "dev": true - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", - "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=" - }, - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" - }, - "ansi-red": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", - "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==" - }, - "ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", - "dev": true - }, - "ansicolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz", - "integrity": "sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8=", - "dev": true - }, - "apollo-client": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/apollo-client/-/apollo-client-1.9.2.tgz", - "integrity": "sha512-1ZAw2x6AYtGFRosO9sR37+g5bNvCIyyNZ781h9M4Tm/lm8ejzINapx+BH2hdHgMxaGPuPvFpWGuD3m+sTbmWPQ==" - }, - "apollo-link-core": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/apollo-link-core/-/apollo-link-core-0.5.0.tgz", - "integrity": "sha1-3IfaGqpjsCkyGucJONwmJX9auMY=" - }, - "append-transform": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", - "dev": true - }, - "archiver": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz", - "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=", - "dependencies": { - "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==" - } - } - }, - "archiver-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=" - }, - "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=" - }, - "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=" - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=" - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "array.prototype.find": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.4.tgz", - "integrity": "sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA=", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true - }, - "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 - }, - "assertion-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", - "integrity": "sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw=", - "dev": true - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "autolinker": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.15.3.tgz", - "integrity": "sha1-NCQX2PLzRhsUzwkIjV7fh5HcmDI=", - "dev": true - }, - "aws-sdk": { - "version": "2.109.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.109.0.tgz", - "integrity": "sha1-w9Ix9EQQiULjgW22YstFUquvlbs=", - "dependencies": { - "uuid": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", - "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=" - } - } - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "dev": true - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "babel-core": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", - "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", - "dev": true, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "babel-generator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", - "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", - "dev": true, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true - }, - "babel-jest": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-18.0.0.tgz", - "integrity": "sha1-F+u6jLMoXJBthZ6HB+Tnl5X7ZeM=", - "dev": true - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true - }, - "babel-plugin-istanbul": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-3.1.2.tgz", - "integrity": "sha1-EdWr3hhCXsJLXWSMfgtdJc01SiI=", - "dev": true - }, - "babel-plugin-jest-hoist": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-18.0.0.tgz", - "integrity": "sha1-QVDnDsq1YObnNErchJSYBy004So=", - "dev": true - }, - "babel-preset-jest": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-18.0.0.tgz", - "integrity": "sha1-hPr4yj7GWrp9Xj9Zu67ZNaskBJ4=", - "dev": true - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dev": true - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base64-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "dev": true, - "optional": true - }, - "bl": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=" - }, - "bluebird": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", - "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=" - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=" - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true - }, - "browser-resolve": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", - "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", - "dev": true, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } - } - }, - "browser-stdout": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", - "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", - "dev": true - }, - "bser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", - "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", - "dev": true - }, - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=" - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "caller-id": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-id/-/caller-id-0.1.0.tgz", - "integrity": "sha1-Wb2sCJPRLDhxQIJ5Ix+XRYNk8Hs=", - "dev": true - }, - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true - }, - "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true - }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true, - "optional": true - }, - "capture-stack-trace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", - "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=" - }, - "cardinal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-1.0.0.tgz", - "integrity": "sha1-UOIcGwqjdyn5N33vGWtanOyTLuk=", - "dev": true - }, - "caseless": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", - "dev": true - }, - "caw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", - "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==" - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "optional": true - }, - "chai": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", - "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", - "dev": true - }, - "chai-as-promised": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-6.0.0.tgz", - "integrity": "sha1-GgKkM6byTa+sY7nJb6FoTbGqjaY=", - "dev": true - }, - "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==" - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true - }, - "ci-info": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.1.tgz", - "integrity": "sha512-vHDDF/bP9RYpTWtUhpJRhCFdvvp3iDWvEbuDbWgvjUrNGV1MXJrE0MPcwGtEled04m61iwdBLUIHZtDgzWS4ZQ==" - }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true - }, - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=" - }, - "cli-table": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", - "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", - "dev": true - }, - "cli-usage": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/cli-usage/-/cli-usage-0.1.4.tgz", - "integrity": "sha1-fAHg3HBsI0s5yTODjI4gshdXduI=", - "dev": true - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "optional": true, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true, - "optional": true - } - } - }, - "co": { - "version": "4.6.0", - "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", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "coffee-script": { - "version": "1.12.7", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", - "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", - "dev": true - }, - "color-convert": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", - "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=" - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=" - }, - "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=" - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" - }, - "compress-commons": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.0.tgz", - "integrity": "sha1-WFhwku8g03y1i68AARLJJ4/3O58=" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=" - }, - "config-chain": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", - "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=" - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, - "content-type-parser": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.1.tgz", - "integrity": "sha1-w+VpiMU8ZRJ/tG1AMqOpACRv3JQ=", - "dev": true - }, - "convert-source-map": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", - "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", - "dev": true - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" - }, - "cookiejar": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.1.tgz", - "integrity": "sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o=" - }, - "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "coveralls": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.1.tgz", - "integrity": "sha1-1wu5rMGDXsTwY/+drFQjwXsR8Xg=", - "dev": true, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "js-yaml": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", - "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", - "dev": true - } - } - }, - "crc": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz", - "integrity": "sha1-naHpgOO9RPxck79as9ozeNheRms=" - }, - "crc32-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=" - }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=" - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true - }, - "crypto-browserify": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-1.0.9.tgz", - "integrity": "sha1-zFRJaF37hesRyYKKzHy4erW7/MA=" - }, - "cssom": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", - "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", - "dev": true - }, - "cssstyle": { - "version": "0.2.37", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", - "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", - "dev": true - }, - "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true - }, - "damerau-levenshtein": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz", - "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=" - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decompress": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", - "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=" - }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==" - }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", - "dependencies": { - "file-type": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.1.0.tgz", - "integrity": "sha1-Wn26mBOPoKvsevxD5amgsqrHKfE=" - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==" - }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=" - } - } - }, - "deep-eql": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", - "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", - "dev": true, - "dependencies": { - "type-detect": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", - "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", - "dev": true - } - } - }, - "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=" - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "deepmerge": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.1.tgz", - "integrity": "sha512-Ndl8eeOHB9dQkmT1HWCgY3t0odl4bmWKFzjQZBYAxVTNs2B3nn5b6orimRYHKZ4FI8psvZkA1INRCW6l7vc9lQ==", - "dev": true - }, - "default-require-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", - "dev": true, - "dependencies": { - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true - } - } - }, - "define-properties": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", - "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", - "dev": true - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true, - "dependencies": { - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true - }, - "diacritics-map": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", - "integrity": "sha1-bfwP+dAQAKLt8oZTccrDFulJd68=", - "dev": true - }, - "diff": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", - "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", - "dev": true - }, - "doctrine": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", - "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", - "dev": true - }, - "download": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/download/-/download-5.0.3.tgz", - "integrity": "sha1-Y1N/l3+ZJmow64oqL70fILgAD3o=" - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "dev": true, - "optional": true - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=" - }, - "end-of-stream": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", - "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=" - }, - "errno": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", - "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", - "dev": true - }, - "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true - }, - "es-abstract": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.8.2.tgz", - "integrity": "sha512-dvhwFL3yjQxNNsOWx6exMlaDrRHCRGMQlnx5lsXDCZ/J7G/frgIIl94zhZSp/galVAYp7VzPi1OrAHta89/yGQ==", - "dev": true - }, - "es-to-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", - "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", - "dev": true - }, - "es5-ext": { - "version": "0.10.30", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.30.tgz", - "integrity": "sha1-cUGhaDZpfbq/qq7uQUlc4p9SyTk=", - "dev": true - }, - "es6-iterator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", - "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", - "dev": true - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true - }, - "es6-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", - "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", - "dev": true - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true - }, - "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", - "dev": true, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true - } - } - }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true - }, - "eslint": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", - "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", - "dev": true, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true - }, - "inquirer": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", - "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", - "dev": true - }, - "run-async": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", - "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", - "dev": true - }, - "shelljs": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", - "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "eslint-config-airbnb": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-10.0.1.tgz", - "integrity": "sha1-pHAQhkbWxF4fY5oD8R1QShqkrtw=", - "dev": true - }, - "eslint-config-airbnb-base": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-5.0.3.tgz", - "integrity": "sha1-lxSsNews1/qw1E0Uip+R2ylEB00=", - "dev": true - }, - "eslint-import-resolver-node": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz", - "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", - "dev": true - }, - "eslint-plugin-import": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz", - "integrity": "sha1-svoH68xTUE0PKkR3WC7Iv/GHG58=", - "dev": true, - "dependencies": { - "doctrine": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.3.0.tgz", - "integrity": "sha1-E+dWgrVVGEJCdvfBc3g0Vu+RPSY=", - "dev": true - } - } - }, - "eslint-plugin-jsx-a11y": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz", - "integrity": "sha1-TjXLcbin23AqxBXIBuuOjZ6mxl0=", - "dev": true - }, - "eslint-plugin-react": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz", - "integrity": "sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=", - "dev": true, - "dependencies": { - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true - } - } - }, - "espree": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.0.tgz", - "integrity": "sha1-mDWGJb3QVYYeon4oZ+pyn69GPY0=", - "dev": true - }, - "esprima": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==" - }, - "esquery": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", - "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", - "dev": true - }, - "esrecurse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", - "dev": true - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" - }, - "exec-sh": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.0.tgz", - "integrity": "sha1-FPdd4/INKG75MwmbLOUKkDWc7xA=", - "dev": true - }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=" - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true - }, - "external-editor": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-1.1.1.tgz", - "integrity": "sha1-Etew24UPf/fnCBuvQAVwAGDEYAs=" - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fb-watchman": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", - "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=", - "dev": true - }, - "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=" - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=" - }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true - }, - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=" - }, - "filenamify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.0.0.tgz", - "integrity": "sha1-vRYiYsC26Uv7zc8Zo7uzdk94VpU=" - }, - "fileset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", - "dev": true - }, - "filesize": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.5.10.tgz", - "integrity": "sha1-/I+iPdtO+eXgq24eZPZ5okpWdh8=" - }, - "fill-keys": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", - "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", - "dev": true - }, - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true - }, - "flat-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", - "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", - "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=" - }, - "formatio": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz", - "integrity": "sha1-XtPM1jZVEJc4NGXZlhmRAOhhYek=", - "dev": true - }, - "formidable": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.1.1.tgz", - "integrity": "sha1-lriIb3w8NQi5Mta9cMTTqI818ak=" - }, - "fs-extra": { - "version": "0.26.7", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", - "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gauge": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", - "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=" - }, - "generate-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", - "dev": true - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", - "dev": true - }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", - "dev": true - }, - "get-proxy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", - "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==" - }, - "get-stdin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", - "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=" - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==" - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=" - }, - "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=" - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" - }, - "graphlib": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.1.tgz", - "integrity": "sha1-QjUsUrovTQNctWbrkfc5X3bryVE=" - }, - "graphql": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.10.5.tgz", - "integrity": "sha512-Q7cx22DiLhwHsEfUnUip1Ww/Vfx7FS0w6+iHItNuN61+XpegHSa3k5U0+6M5BcpavQImBwFiy0z3uYwY7cXMLQ==" - }, - "graphql-anywhere": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/graphql-anywhere/-/graphql-anywhere-3.1.0.tgz", - "integrity": "sha1-PqDY6GRrXO5oA1AWqadVfBXCHpY=" - }, - "graphql-tag": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.4.2.tgz", - "integrity": "sha1-amMpfYUi0DorctJvGyOaqzQ4QM0=" - }, - "gray-matter": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", - "integrity": "sha1-MELZrewqHe1qdwep7SOA+KF6Qw4=", - "dev": true - }, - "growl": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", - "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true - }, - "handlebars": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz", - "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=", - "dev": true, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true - } - } - }, - "har-validator": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", - "dev": true, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true - }, - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "has": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", - "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", - "dev": true - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=" - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" - }, - "has-symbol-support-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz", - "integrity": "sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA==" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==" - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true - }, - "hosted-git-info": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", - "dev": true - }, - "html-encoding-sniffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz", - "integrity": "sha1-eb96eF6klf5mFl5zQVPzY/9UN9o=", - "dev": true - }, - "http-basic": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-2.5.1.tgz", - "integrity": "sha1-jORHvbW2xXf4pj4/p4BW7Eu02/s=", - "dev": true - }, - "http-response-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-1.1.0.tgz", - "integrity": "sha1-p8TnWq6C87tJBOT0P2FWc7TVGMM=", - "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 - }, - "https-proxy-agent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", - "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=" - }, - "iconv-lite": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz", - "integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA==" - }, - "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" - }, - "ignore": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz", - "integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==", - "dev": true - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=" - }, - "inquirer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-1.2.3.tgz", - "integrity": "sha1-TexvMvN+97sLLtPx0aXD9UUHSRg=", - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=" - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "interpret": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz", - "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=", - "dev": true - }, - "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "dev": true - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true - }, - "is-callable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", - "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", - "dev": true - }, - "is-ci": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", - "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", - "dev": true - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-docker": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-1.1.0.tgz", - "integrity": "sha1-8EN01O7lMQ6ajhE78UlUEeRhdqE=" - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true - }, - "is-local-path": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-local-path/-/is-local-path-0.1.6.tgz", - "integrity": "sha1-gV0USxTVac7L6tTVaTCX8Aqb9sU=", - "dev": true - }, - "is-my-json-valid": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", - "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==", - "dev": true - }, - "is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true - }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", - "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", - "dev": true - }, - "is-path-inside": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", - "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", - "dev": true - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" - }, - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", - "dev": true - }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true - }, - "is-resolvable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", - "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", - "dev": true - }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", - "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true - }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", - "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", - "dev": true, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true - } - } - }, - "istanbul-api": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.14.tgz", - "integrity": "sha1-JbxXAffGgMD//5E95G42GaOm5oA=", - "dev": true, - "dependencies": { - "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", - "dev": true - } - } - }, - "istanbul-lib-coverage": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", - "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz", - "integrity": "sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.8.0.tgz", - "integrity": "sha1-ZvbJQhzJ7EcE928tsIS6kHiitTI=", - "dev": true - }, - "istanbul-lib-report": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", - "integrity": "sha512-tvF+YmCmH4thnez6JFX06ujIA19WPa9YUiwjc1uALF2cv5dmE3It8b5I8Ob7FHJ70H9Y5yF+TDkVa/mcADuw1Q==", - "dev": true, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true - } - } - }, - "istanbul-lib-source-maps": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", - "integrity": "sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w==", - "dev": true, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha1-D7Lj9qqZIr085F0F2KtNXo4HvU8=", - "dev": true - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==" - }, - "iterall": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.1.1.tgz", - "integrity": "sha1-9/CvEemgTsZCYmD1AZ2fzKTVAhQ=" - }, - "jest-changed-files": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-17.0.2.tgz", - "integrity": "sha1-9WV3WHNplvWQpRuH5ck2nZBLp7c=", - "dev": true - }, - "jest-cli": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-18.1.0.tgz", - "integrity": "sha1-Xq027K1CCBfCybqiqnV09jJXs9Y=", - "dev": true, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true - } - } - }, - "jest-config": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-18.1.0.tgz", - "integrity": "sha1-YRF0Cm1Iqrhv9anmqwuYvZk7b/Q=", - "dev": true, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "jest-diff": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-18.1.0.tgz", - "integrity": "sha1-T/eedN2YjBORlbNl3GXYf2BvSAM=", - "dev": true, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "jest-environment-jsdom": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-18.1.0.tgz", - "integrity": "sha1-GLQvDE6iuunzbKs2ObHo+MOE4k4=", - "dev": true - }, - "jest-environment-node": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-18.1.0.tgz", - "integrity": "sha1-TWeXVyyN2pms9frmlutilFVHx3k=", - "dev": true - }, - "jest-file-exists": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/jest-file-exists/-/jest-file-exists-17.0.0.tgz", - "integrity": "sha1-f2Prc6HEOhP0Yb4mF2i0WvLN0Wk=", - "dev": true - }, - "jest-haste-map": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-18.1.0.tgz", - "integrity": "sha1-BoOcdLdwpAwaEGlohR340oHAg3U=", - "dev": true - }, - "jest-jasmine2": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-18.1.0.tgz", - "integrity": "sha1-CU4QTCwYlwh2bHcmO7Kuy1hgqAs=", - "dev": true - }, - "jest-matcher-utils": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-18.1.0.tgz", - "integrity": "sha1-GsRlGVXuKmDO8ef8yYzf13PA+TI=", - "dev": true, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "jest-matchers": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/jest-matchers/-/jest-matchers-18.1.0.tgz", - "integrity": "sha1-A0FIS/h6H9C6wKTSyJnit3o/Hq0=", - "dev": true - }, - "jest-mock": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-18.0.0.tgz", - "integrity": "sha1-XCSIRuoz+lWLUm9TEqtKZ2XkibM=", - "dev": true - }, - "jest-resolve": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-18.1.0.tgz", - "integrity": "sha1-aACsy1NmWMkGzV4p3kErGrmsJJs=", - "dev": true - }, - "jest-resolve-dependencies": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-18.1.0.tgz", - "integrity": "sha1-gTT7XK9Zye2EL+AVKrAcUnEfG7s=", - "dev": true - }, - "jest-runtime": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-18.1.0.tgz", - "integrity": "sha1-Or/WhxdbIfw7haK4BkOZ6ZeFmSI=", - "dev": true, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true - } - } - }, - "jest-snapshot": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-18.1.0.tgz", - "integrity": "sha1-VbltLuY5ybznb4fyo/1Atxx6WRY=", - "dev": true - }, - "jest-util": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-18.1.0.tgz", - "integrity": "sha1-OpnDIRSrF/hL4JQ4JScAbm1L/Go=", - "dev": true, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "jmespath": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", - "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "js-yaml": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.9.1.tgz", - "integrity": "sha512-CbcG379L1e+mWBnLvHWWeLs8GyV/EMw862uLI3c+GxVyDHWZcjZinwuBd3iW2pgxgIlksW/1vNJa4to+RvDOww==" - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - }, - "jsdom": { - "version": "9.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", - "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", - "dev": true, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - } - } - }, - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - }, - "json-refs": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-2.1.7.tgz", - "integrity": "sha1-uesB/in16j6Sh48VrqEK04taz4k=", - "dependencies": { - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" - } - } - }, - "json-schema": { - "version": "0.2.3", - "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", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true - }, - "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=" - }, - "json3": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", - "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=" - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsonpointer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "jsx-ast-utils": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", - "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=", - "dev": true - }, - "jszip": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.4.tgz", - "integrity": "sha512-z6w8iYIxZ/fcgul0j/OerkYnkomH8BZigvzbxVmr2h5HkZUrPtk2kjYtLkqR9wwQxEP6ecKNoKLsbhd18jfnGA==", - "dev": true, - "dependencies": { - "core-js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", - "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", - "dev": true - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "jwt-decode": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-2.2.0.tgz", - "integrity": "sha1-fYa9VmefWM5qhHBKZX3TkruoGnk=" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true - }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=" - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true, - "optional": true - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=" - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true - }, - "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", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true - }, - "lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "dev": true - }, - "list-item": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", - "integrity": "sha1-DGXQDih8tmPMs8s4Sad+iewmilY=", - "dev": true - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "dependencies": { - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true - } - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - }, - "lodash-es": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.4.tgz", - "integrity": "sha1-3MHXVS4VCgZABzupyzHXDwMpUOc=" - }, - "lodash._arraycopy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz", - "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=", - "dev": true - }, - "lodash._arrayeach": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz", - "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=", - "dev": true - }, - "lodash._baseassign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", - "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", - "dev": true - }, - "lodash._baseclone": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz", - "integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=", - "dev": true - }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", - "dev": true - }, - "lodash._basecreate": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", - "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=", - "dev": true - }, - "lodash._basefor": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz", - "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=", - "dev": true - }, - "lodash._bindcallback": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", - "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", - "dev": true - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", - "dev": true - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", - "dev": true - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true - }, - "lodash.clonedeep": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz", - "integrity": "sha1-oKHkDYKl6on/WxR7hETtY9koJ9s=", - "dev": true - }, - "lodash.cond": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", - "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", - "dev": true - }, - "lodash.create": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", - "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", - "dev": true - }, - "lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=" - }, - "lodash.endswith": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.endswith/-/lodash.endswith-4.2.1.tgz", - "integrity": "sha1-/tWawXOO0+I27dcGTsRWRIs3vAk=", - "dev": true - }, - "lodash.find": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz", - "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=", - "dev": true - }, - "lodash.findindex": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.findindex/-/lodash.findindex-4.6.0.tgz", - "integrity": "sha1-oyRd7mH7m24GJLU1ElYku2nBEQY=", - "dev": true - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", - "dev": true - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", - "dev": true - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dev": true - }, - "lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha1-QzCUmoM6fI2iLMIPaibE1Z3runA=" - }, - "lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=" - }, - "lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" - }, - "lodash.toarray": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", - "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - }, - "log-driver": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", - "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=", - "dev": true - }, - "lolex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz", - "integrity": "sha1-fD2mL/yzDw9agKJWbKJORdigHzE=", - "dev": true - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, - "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" - }, - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" - }, - "lsmod": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lsmod/-/lsmod-1.0.0.tgz", - "integrity": "sha1-mgD3bco26yP6BTUK/htYXUKZ5ks=" - }, - "make-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz", - "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=" - }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true - }, - "markdown-link": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", - "integrity": "sha1-MsXGUZmmRXMWMi0eQinRNAfIx88=", - "dev": true - }, - "markdown-magic": { - "version": "0.1.18", - "resolved": "https://registry.npmjs.org/markdown-magic/-/markdown-magic-0.1.18.tgz", - "integrity": "sha1-aalfD1Ekj5/ChO118kva2FpFzu4=", - "dev": true, - "dependencies": { - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", - "dev": true - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true - }, - "fs-extra": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", - "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", - "dev": true - } - } - }, - "markdown-toc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.1.0.tgz", - "integrity": "sha1-GORyN9iVSelEcSHmniyoU8otdSo=", - "dev": true, - "dependencies": { - "lazy-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", - "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", - "dev": true - } - } - }, - "marked": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz", - "integrity": "sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc=", - "dev": true - }, - "marked-terminal": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-1.7.0.tgz", - "integrity": "sha1-yMRgiBx3LHYEtkNnAH7l938SWQQ=", - "dev": true, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "merge": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz", - "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=", - "dev": true - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true - }, - "mime": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.0.tgz", - "integrity": "sha512-n9ChLv77+QQEapYz8lV+rIZAW3HhAPW2CXnzb1GN5uMkuczshwvkW7XPsbzU0ZQN3sP47Er2KVkp2p3KyqZKSQ==" - }, - "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" - }, - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "mixin-deep": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.2.0.tgz", - "integrity": "sha1-0CuMb4ttS49ZgtP9AJxJGYUcP+I=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } - } - }, - "mocha": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.0.tgz", - "integrity": "sha512-pIU2PJjrPYvYRqVpjXzj76qltO9uBYI7woYAMoxbSefsa+vqAfptjoeevd6bUgwD0mPIO+hv9f7ltvsNreL2PA==", - "dev": true, - "dependencies": { - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true - }, - "diff": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", - "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=", - "dev": true - }, - "glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", - "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", - "dev": true - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "supports-color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", - "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", - "dev": true - } - } - }, - "mocha-lcov-reporter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/mocha-lcov-reporter/-/mocha-lcov-reporter-1.3.0.tgz", - "integrity": "sha1-Rpve9PivyaEWBW8HnfYYLQr7A4Q=", - "dev": true - }, - "mock-require": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/mock-require/-/mock-require-1.3.0.tgz", - "integrity": "sha1-gmFElS5QR2L45pJKqPY5Rl0deiQ=", - "dev": true - }, - "module-not-found-error": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", - "integrity": "sha1-z4tP9PKWQGdNbN0CsOO8UjwrvcA=", - "dev": true - }, - "moment": { - "version": "2.18.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz", - "integrity": "sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8=" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "mute-stream": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", - "integrity": "sha1-SJYrGeFp/R38JAs/HnMXYnu8R9s=" - }, - "native-promise-only": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", - "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node-emoji": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz", - "integrity": "sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg==", - "dev": true - }, - "node-fetch": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.2.tgz", - "integrity": "sha512-xZZUq2yDhKMIn/UgG5q//IZSNLJIwW2QxS14CNH5spuiXkITM2pUitjdq58yLSaU7m4M0wBNaM2Gh/ggY4YJig==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-notifier": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-4.6.1.tgz", - "integrity": "sha1-BW0UJE89zBzq3+aK+c/wxUc6M/M=", - "dev": true - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=" - }, - "npm-conf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.2.tgz", - "integrity": "sha512-dotwbpwVzfNB/2EF3A2wjK5tEMLggKfuA/8TG6WvBB1Zrv+JsvF7E8ei9B/HGq211st/GwXFbREcNJvJ1eySUQ==", - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "npmlog": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", - "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=" - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "nwmatcher": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.1.tgz", - "integrity": "sha1-eumwew6oBNt+JfBctf5Al9TklJ8=", - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "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", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-keys": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", - "dev": true - }, - "object.assign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz", - "integrity": "sha1-scnMBE7xuf5jYG/BQau7MuFHMMw=", - "dev": true - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" - }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" - }, - "opn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", - "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==" - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - } - } - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true - }, - "os-shim": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", - "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "p-limit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", - "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", - "dev": true - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true - }, - "pako": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.5.tgz", - "integrity": "sha1-0iBd/ludqK95fnwWPbTR+E5GALw=", - "dev": true - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true - }, - "parse5": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-loader": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.2.tgz", - "integrity": "sha1-zVxz5+OakQEb4UjWv92KhbuTHvk=" - }, - "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=" - }, - "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true - }, - "pkg-up": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", - "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=", - "dev": true - }, - "pluralize": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", - "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "pretty-format": { - "version": "18.1.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-18.1.0.tgz", - "integrity": "sha1-+2Wob3p/kZSWPu6RhlwbzxA54oQ=", - "dev": true, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - } - } - }, - "private": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", - "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=", - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", - "dev": true - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dev": true - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" - }, - "proxyquire": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz", - "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", - "dev": true, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } - } - }, - "prr": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", - "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", - "dev": true - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "qs": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.0.tgz", - "integrity": "sha512-fjVFjW9yhqMhVGwRExCXLhJKrLlkYSaxNWdyc9rmHlrVZbk35YHH312dFd7191uQeXkI3mKLZTIbSvIeFwFemg==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "querystringify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", - "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=" - }, - "ramda": { - "version": "0.24.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", - "integrity": "sha1-w7d1UZfzW43DUCIoJixMkd22uFc=" - }, - "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", - "dev": true, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true - } - } - }, - "raven": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/raven/-/raven-1.2.1.tgz", - "integrity": "sha1-lJwTTbAooZC3u/j3kKrlQbfAIL0=", - "dependencies": { - "uuid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.0.tgz", - "integrity": "sha1-Zyj8BFnEUNeWqZwxg3VpvfZy1yg=" - } - } - }, - "rc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=" - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==" - }, - "readline2": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", - "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", - "dev": true, - "dependencies": { - "mute-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", - "dev": true - } - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true - }, - "redeyed": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-1.0.1.tgz", - "integrity": "sha1-6WwZO0DAgWsArshCaY5hGF5VSYo=", - "dev": true, - "dependencies": { - "esprima": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.0.0.tgz", - "integrity": "sha1-U88kes2ncxPlUcOqLnM0LT+099k=", - "dev": true - } - } - }, - "redux": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==" - }, - "regenerator-runtime": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==", - "dev": true - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true - }, - "remarkable": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.1.tgz", - "integrity": "sha1-qspJchALZqZCpjoQIcpLrBvjv/Y=", - "dev": true, - "dependencies": { - "argparse": { - "version": "0.1.16", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", - "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", - "dev": true - } - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true - }, - "replaceall": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/replaceall/-/replaceall-0.1.6.tgz", - "integrity": "sha1-gdgax663LX9cSUKt8ml6MiBojY4=" - }, - "request": { - "version": "2.79.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", - "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", - "dev": true, - "dependencies": { - "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 - }, - "qs": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", - "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", - "dev": true - }, - "tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", - "dev": true - }, - "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", - "dev": true - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - }, - "resolve": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", - "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", - "dev": true - }, - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", - "dev": true - }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=" - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "optional": true - }, - "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=" - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=" - }, - "rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=" - }, - "rx-lite": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", - "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", - "dev": true - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" - }, - "samsam": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz", - "integrity": "sha1-vsEf3IOp/aBjQBIQ5AF2wwJNFWc=", - "dev": true - }, - "sane": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sane/-/sane-1.4.1.tgz", - "integrity": "sha1-iPdj10BA9fDCVrYWPbOZvxEKxxU=", - "dev": true - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" - }, - "seek-bzip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=" - }, - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" - }, - "semver-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", - "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-getter": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", - "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", - "dev": true - }, - "shelljs": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz", - "integrity": "sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=" - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "sinon": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz", - "integrity": "sha1-RUKk9JugxFwF6y6d2dID4rjv4L8=", - "dev": true - }, - "sinon-bluebird": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/sinon-bluebird/-/sinon-bluebird-3.1.0.tgz", - "integrity": "sha1-+SaA+lRtVTpPX2LekEJetdxHhB0=", - "dev": true - }, - "sinon-chai": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-2.13.0.tgz", - "integrity": "sha512-hRNu/TlYEp4Rw5IbzO8ykGoZMSG489PGUx1rvePpHGrtl20cXivRBgtr/EWYxIwL9EOO9+on04nd9k3tW8tVww==", - "dev": true - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" - }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true - }, - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", - "dev": true, - "optional": true - }, - "source-map-support": { - "version": "0.4.17", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.17.tgz", - "integrity": "sha512-30c1Ch8FSjV0FwC253iftbbj0dU/OXoSg1LAEGZJUlGgjTNj6cu+DVqJWWIZJY5RXLWV4eFtR+4ouo0VIOYOTg==", - "dev": true, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "spawn-sync": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", - "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=" - }, - "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "dev": true - }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", - "dev": true - }, - "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", - "dev": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "stack-trace": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", - "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=" - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==" - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=" - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=" - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-color": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", - "integrity": "sha1-EG9l09PmotlAHKwOsM6LinArT3s=", - "dev": true - }, - "strip-dirs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.0.0.tgz", - "integrity": "sha1-YQzbKSggDaAAT0HcuQ/JXNkZoLY=" - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "strip-outer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.0.tgz", - "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=" - }, - "superagent": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.6.0.tgz", - "integrity": "sha512-oWsu4mboo8sVxagp4bNwZIR1rUmypeAJDmNIwT9mF4k06hSu6P92aOjEWLaIj7vsX3fOUp+cRH/04tao+q5Q7A==" - }, - "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==" - }, - "symbol-observable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", - "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" - }, - "symbol-tree": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", - "dev": true - }, - "sync-request": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-3.0.1.tgz", - "integrity": "sha1-yqEjWq+Im6UBB2oYNMQ2gwqC+3M=", - "dev": true - }, - "table": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", - "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", - "dev": true, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true - } - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "tabtab": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tabtab/-/tabtab-2.2.2.tgz", - "integrity": "sha1-egR/FDsBC0y9MfhX6ClhUSy/ThQ=" - }, - "tar-stream": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz", - "integrity": "sha1-NlSc8E7RrumyowwBQyUiONr5QBY=" - }, - "test-exclude": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-3.3.0.tgz", - "integrity": "sha1-ehfKEjmYjJg2ewYhRW27fUvDiXc=", - "dev": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "then-request": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-2.2.0.tgz", - "integrity": "sha1-ZnizL6DKIY/laZgbvYhxtZQGDYE=", - "dev": true - }, - "throat": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-3.2.0.tgz", - "integrity": "sha512-/EY8VpvlqJ+sFtLPeOgc8Pl7kQVOWv0woD87KTXVHPIAE842FGT+rokxIhe8xIUP1cfgrkt0as0vDLjDiMtr8w==", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" - }, - "tmp": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", - "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=" - }, - "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true - }, - "toml": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.3.tgz", - "integrity": "sha512-O7L5hhSQHxuufWUdcTRPfuTh3phKfAZ/dqfxZFoxPCj2RYmpaSGLEIs016FCXItQwNr08yefUB5TSjzRYnajTA==", - "dev": true - }, - "tough-cookie": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", - "dev": true, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "dev": true - }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=" - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "tryit": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", - "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true - }, - "type-detect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", - "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=", - "dev": true - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "optional": true, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "optional": true - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true - }, - "unbzip2-stream": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz", - "integrity": "sha512-izD3jxT8xkzwtXRUZjtmRwKnZoeECrfZ8ra/ketwOcusbZEp4mjULMnJOCfTDZBgGQAAY1AJ/IgxcwkavcX9Og==", - "dependencies": { - "base64-js": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", - "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=" - }, - "buffer": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", - "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=" - } - } - }, - "underscore": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", - "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", - "dev": true - }, - "underscore.string": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", - "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=", - "dev": true - }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" - }, - "uri-js": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", - "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", - "dependencies": { - "punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" - } - } - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=" - }, - "url-parse": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.9.tgz", - "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=" - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=" - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" - }, - "user-home": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" - }, - "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "walkdir": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", - "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=" - }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true - }, - "watch": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz", - "integrity": "sha1-d3mLLaD5kQ1ZXxrOWwwiWFIfIdw=", - "dev": true - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz", - "integrity": "sha1-PGxFGhmO567FWx7GHQkgxngBpfQ=", - "dev": true, - "dependencies": { - "iconv-lite": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", - "dev": true - } - } - }, - "whatwg-fetch": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" - }, - "whatwg-url": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", - "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", - "dev": true, - "dependencies": { - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", - "dev": true - } - } - }, - "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true, - "optional": true - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "worker-farm": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.0.tgz", - "integrity": "sha512-DHRiUggxtbruaTwnLDm2/BRDKZIoOYvrgYUj5Bam4fU6Gtvc0FaEyoswFPBjMXAweGW2H4BDNIpy//1yXXuaqQ==", - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "dev": true - }, - "write-file-atomic": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", - "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==" - }, - "xml-name-validator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", - "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", - "dev": true - }, - "xml2js": { - "version": "0.4.17", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", - "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=" - }, - "xmlbuilder": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", - "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=" - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yaml-ast-parser": { - "version": "0.0.34", - "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.34.tgz", - "integrity": "sha1-0A88+ddztyQUCa6SpnQNHbGfSeY=" - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "optional": true - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "dev": true, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - } - } - }, - "yauzl": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.8.0.tgz", - "integrity": "sha1-eUUK/yKyqcWkHvVOAtuQfM+/nuI=" - }, - "zen-observable-ts": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.4.0.tgz", - "integrity": "sha1-p0vJ/ll0eUild71RPUOOcPz65+I=" - }, - "zip-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", - "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=" - } - } -} \ No newline at end of file diff --git a/shrinkwrap.yaml b/shrinkwrap.yaml new file mode 100644 index 00000000000..2a2728112cb --- /dev/null +++ b/shrinkwrap.yaml @@ -0,0 +1,4222 @@ +dependencies: + '@serverless/fdk': 0.5.1 + apollo-client: 1.9.2 + archiver: 1.3.0 + async: 1.5.2 + aws-sdk: 2.117.0 + bluebird: 3.5.0 + chalk: 2.1.0 + ci-info: 1.1.1 + download: 5.0.3 + filesize: 3.5.10 + fs-extra: 0.26.7 + get-stdin: 5.0.1 + globby: 6.1.0 + graceful-fs: 4.1.11 + graphql: 0.10.5 + graphql-tag: 2.4.2 + https-proxy-agent: 1.0.0 + is-docker: 1.1.0 + js-yaml: 3.10.0 + json-refs: 2.1.7 + jwt-decode: 2.2.0 + lodash: 4.17.4 + minimist: 1.2.0 + moment: 2.18.1 + node-fetch: 1.7.3 + opn: 5.1.0 + raven: 1.2.1 + rc: 1.2.1 + replaceall: 0.1.6 + semver: 5.4.1 + semver-regex: 1.0.0 + shelljs: 0.6.1 + tabtab: 2.2.2 + uuid: 2.0.3 + write-file-atomic: 2.3.0 + yaml-ast-parser: 0.0.34 +devDependencies: + chai: 3.5.0 + chai-as-promised: 6.0.0 + coveralls: 2.13.1 + eslint: 3.19.0 + eslint-config-airbnb: 10.0.1 + eslint-config-airbnb-base: 5.0.3 + eslint-plugin-import: 1.16.0 + eslint-plugin-jsx-a11y: 2.2.3 + eslint-plugin-react: 6.10.3 + istanbul: 0.4.5 + jest-cli: 18.1.0 + jszip: 3.1.4 + markdown-magic: 0.1.18 + mocha: 3.5.3 + mocha-lcov-reporter: 1.3.0 + mock-require: 1.3.0 + proxyquire: 1.8.0 + sinon: 1.17.7 + sinon-bluebird: 3.1.0 + sinon-chai: 2.13.0 +packages: + /@serverless/fdk/0.5.1: + dependencies: + isomorphic-fetch: 2.2.1 + ramda: 0.24.1 + url-parse: 1.1.9 + resolution: + integrity: sha512-Z/+5R0AohLwDT1E+9BTeUA7NozlyIoTh0iEt6x8x+ZZhIBK5HBMBN6v2LfkI4wmmOOyceTvsN0l8nWfGp4Oh5g== + /@types/graphql/0.10.2: + optional: true + resolution: + integrity: sha512-Ayw0w+kr8vYd8DToiMXjcHxXv1ljWbqX2mnLwXDxkBgog3vywGriC0JZ+npsuohKs3+E88M8OOtobo4g0X3SIA== + /abab/1.0.3: + dev: true + resolution: + integrity: sha1-uB3l9ydOxOdW15fNg08wNkJyTl0= + /abbrev/1.0.9: + dev: true + resolution: + integrity: sha1-kbR5JYinc4wl813W9jdSovh3YTU= + /abbrev/1.1.0: + dev: true + resolution: + integrity: sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8= + /acorn-globals/3.1.0: + dependencies: + acorn: 4.0.13 + dev: true + resolution: + integrity: sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8= + /acorn-jsx/3.0.1: + dependencies: + acorn: 3.3.0 + dev: true + resolution: + integrity: sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s= + /acorn/3.3.0: + dev: true + resolution: + integrity: sha1-ReN/s56No/JbruP/U2niu18iAXo= + /acorn/4.0.13: + dev: true + resolution: + integrity: sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c= + /acorn/5.1.2: + dev: true + resolution: + integrity: sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA== + /agent-base/2.1.1: + dependencies: + extend: 3.0.1 + semver: 5.0.3 + resolution: + integrity: sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc= + /ajv-keywords/1.5.1/ajv@4.11.8: + dependencies: + ajv: 4.11.8 + dev: true + id: registry.npmjs.org/ajv-keywords/1.5.1 + resolution: + integrity: sha1-MU3QpLM2j609/NxU7eYXG4htrzw= + /ajv/4.11.8: + dependencies: + co: 4.6.0 + json-stable-stringify: 1.0.1 + dev: true + resolution: + integrity: sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY= + /align-text/0.1.4: + dependencies: + kind-of: 3.2.2 + longest: 1.0.1 + repeat-string: 1.6.1 + dev: true + optional: true + resolution: + integrity: sha1-DNkKVhCT810KmSVsIrcGlDP60Rc= + /amdefine/1.0.1: + dev: true + resolution: + integrity: sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= + /ansi-escapes/1.4.0: + resolution: + integrity: sha1-06ioOzGapneTZisT52HHkRQiMG4= + /ansi-red/0.1.1: + dependencies: + ansi-wrap: 0.1.0 + dev: true + resolution: + integrity: sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw= + /ansi-regex/2.1.1: + resolution: + integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + /ansi-regex/3.0.0: + dev: true + resolution: + integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + /ansi-styles/2.2.1: + resolution: + integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + /ansi-styles/3.2.0: + dependencies: + color-convert: 1.9.0 + resolution: + integrity: sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug== + /ansi-wrap/0.1.0: + dev: true + resolution: + integrity: sha1-qCJQ3bABXponyoLoLqYDu/pF768= + /ansi/0.3.1: + resolution: + integrity: sha1-DELU+xcWDVqa8eSEus4cZpIsGyE= + /ansicolors/0.2.1: + dev: true + resolution: + integrity: sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8= + /apollo-client/1.9.2: + dependencies: + apollo-link-core: 0.5.4 + graphql: 0.10.5 + graphql-anywhere: 3.1.0 + graphql-tag: /graphql-tag/2.4.2/graphql@0.10.5 + redux: 3.7.2 + symbol-observable: 1.0.4 + whatwg-fetch: 2.0.3 + optionalDependencies: + '@types/graphql': 0.10.2 + resolution: + integrity: sha512-1ZAw2x6AYtGFRosO9sR37+g5bNvCIyyNZ781h9M4Tm/lm8ejzINapx+BH2hdHgMxaGPuPvFpWGuD3m+sTbmWPQ== + /apollo-link-core/0.5.4: + dependencies: + graphql: 0.10.5 + graphql-tag: /graphql-tag/2.4.2/graphql@0.10.5 + zen-observable-ts: 0.4.4 + resolution: + integrity: sha512-OxL0Kjizb0eS2ObldDqJEs/tFN9xI9RZuTJcaszgGy+xudoPXhIMCHMr7hGZhy0mK+U+BbBULZJw4YQU4J0ODQ== + /append-transform/0.4.0: + dependencies: + default-require-extensions: 1.0.0 + dev: true + resolution: + integrity: sha1-126/jKlNJ24keja61EpLdKthGZE= + /archiver-utils/1.3.0: + dependencies: + glob: 7.1.2 + graceful-fs: 4.1.11 + lazystream: 1.0.0 + lodash: 4.17.4 + normalize-path: 2.1.1 + readable-stream: 2.3.3 + resolution: + integrity: sha1-5QtMCccL89aA4y/xt5lOn52JUXQ= + /archiver/1.3.0: + dependencies: + archiver-utils: 1.3.0 + async: 2.5.0 + buffer-crc32: 0.2.13 + glob: 7.1.2 + lodash: 4.17.4 + readable-stream: 2.3.3 + tar-stream: 1.5.4 + walkdir: 0.0.11 + zip-stream: 1.2.0 + resolution: + integrity: sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI= + /are-we-there-yet/1.1.4: + dependencies: + delegates: 1.0.0 + readable-stream: 2.3.3 + resolution: + integrity: sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0= + /argparse/0.1.16: + dependencies: + underscore: 1.7.0 + underscore.string: 2.4.0 + dev: true + resolution: + integrity: sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw= + /argparse/1.0.9: + dependencies: + sprintf-js: 1.0.3 + resolution: + integrity: sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY= + /arr-diff/2.0.0: + dependencies: + arr-flatten: 1.1.0 + dev: true + resolution: + integrity: sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= + /arr-flatten/1.1.0: + dev: true + resolution: + integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + /array-equal/1.0.0: + dev: true + resolution: + integrity: sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= + /array-union/1.0.2: + dependencies: + array-uniq: 1.0.3 + resolution: + integrity: sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + /array-uniq/1.0.3: + resolution: + integrity: sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + /array-unique/0.2.1: + dev: true + resolution: + integrity: sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= + /array.prototype.find/2.0.4: + dependencies: + define-properties: 1.1.2 + es-abstract: 1.8.2 + dev: true + resolution: + integrity: sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA= + /arrify/1.0.1: + dev: true + resolution: + integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + /asap/2.0.6: + dev: true + resolution: + integrity: sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + /asn1/0.2.3: + dev: true + resolution: + integrity: sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y= + /assert-plus/0.2.0: + dev: true + resolution: + integrity: sha1-104bh+ev/A24qttwIfP+SBAasjQ= + /assert-plus/1.0.0: + dev: true + resolution: + integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + /assertion-error/1.0.2: + dev: true + resolution: + integrity: sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw= + /async/1.5.2: + resolution: + integrity: sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= + /async/2.5.0: + dependencies: + lodash: 4.17.4 + resolution: + integrity: sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw== + /asynckit/0.4.0: + resolution: + integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k= + /autolinker/0.15.3: + dev: true + resolution: + integrity: sha1-NCQX2PLzRhsUzwkIjV7fh5HcmDI= + /aws-sdk/2.117.0: + dependencies: + buffer: 4.9.1 + crypto-browserify: 1.0.9 + events: 1.1.1 + jmespath: 0.15.0 + querystring: 0.2.0 + sax: 1.2.1 + url: 0.10.3 + uuid: 3.0.1 + xml2js: 0.4.17 + xmlbuilder: 4.2.1 + resolution: + integrity: sha1-n816CyKTxOxxfSksuDtiH/YSU+c= + /aws-sign2/0.6.0: + dev: true + resolution: + integrity: sha1-FDQt0428yU0OW4fXY81jYSwOeU8= + /aws4/1.6.0: + dev: true + resolution: + integrity: sha1-g+9cqGCysy5KDe7e6MdxudtXRx4= + /babel-code-frame/6.26.0: + dependencies: + chalk: 1.1.3 + esutils: 2.0.2 + js-tokens: 3.0.2 + dev: true + resolution: + integrity: sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= + /babel-core/6.26.0: + dependencies: + babel-code-frame: 6.26.0 + babel-generator: 6.26.0 + babel-helpers: 6.24.1 + babel-messages: 6.23.0 + babel-register: 6.26.0 + babel-runtime: 6.26.0 + babel-template: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + babylon: 6.18.0 + convert-source-map: 1.5.0 + debug: 2.6.8 + json5: 0.5.1 + lodash: 4.17.4 + minimatch: 3.0.4 + path-is-absolute: 1.0.1 + private: 0.1.7 + slash: 1.0.0 + source-map: 0.5.7 + dev: true + resolution: + integrity: sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g= + /babel-generator/6.26.0: + dependencies: + babel-messages: 6.23.0 + babel-runtime: 6.26.0 + babel-types: 6.26.0 + detect-indent: 4.0.0 + jsesc: 1.3.0 + lodash: 4.17.4 + source-map: 0.5.7 + trim-right: 1.0.1 + dev: true + resolution: + integrity: sha1-rBriAHC3n248odMmlhMFN3TyDcU= + /babel-helpers/6.24.1: + dependencies: + babel-runtime: 6.26.0 + babel-template: 6.26.0 + dev: true + resolution: + integrity: sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= + /babel-jest/18.0.0: + dependencies: + babel-core: 6.26.0 + babel-plugin-istanbul: 3.1.2 + babel-preset-jest: 18.0.0 + dev: true + resolution: + integrity: sha1-F+u6jLMoXJBthZ6HB+Tnl5X7ZeM= + /babel-messages/6.23.0: + dependencies: + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= + /babel-plugin-istanbul/3.1.2: + dependencies: + find-up: 1.1.2 + istanbul-lib-instrument: 1.8.0 + object-assign: 4.1.1 + test-exclude: 3.3.0 + dev: true + resolution: + integrity: sha1-EdWr3hhCXsJLXWSMfgtdJc01SiI= + /babel-plugin-jest-hoist/18.0.0: + dev: true + resolution: + integrity: sha1-QVDnDsq1YObnNErchJSYBy004So= + /babel-preset-jest/18.0.0: + dependencies: + babel-plugin-jest-hoist: 18.0.0 + dev: true + resolution: + integrity: sha1-hPr4yj7GWrp9Xj9Zu67ZNaskBJ4= + /babel-register/6.26.0: + dependencies: + babel-core: 6.26.0 + babel-runtime: 6.26.0 + core-js: 2.5.1 + home-or-tmp: 2.0.0 + lodash: 4.17.4 + mkdirp: 0.5.1 + source-map-support: 0.4.18 + dev: true + resolution: + integrity: sha1-btAhFz4vy0htestFxgCahW9kcHE= + /babel-runtime/6.26.0: + dependencies: + core-js: 2.5.1 + regenerator-runtime: 0.11.0 + dev: true + resolution: + integrity: sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + /babel-template/6.26.0: + dependencies: + babel-runtime: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + babylon: 6.18.0 + lodash: 4.17.4 + dev: true + resolution: + integrity: sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= + /babel-traverse/6.26.0: + dependencies: + babel-code-frame: 6.26.0 + babel-messages: 6.23.0 + babel-runtime: 6.26.0 + babel-types: 6.26.0 + babylon: 6.18.0 + debug: 2.6.8 + globals: 9.18.0 + invariant: 2.2.2 + lodash: 4.17.4 + dev: true + resolution: + integrity: sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= + /babel-types/6.26.0: + dependencies: + babel-runtime: 6.26.0 + esutils: 2.0.2 + lodash: 4.17.4 + to-fast-properties: 1.0.3 + dev: true + resolution: + integrity: sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= + /babylon/6.18.0: + dev: true + resolution: + integrity: sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + /balanced-match/1.0.0: + resolution: + integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + /base64-js/0.0.8: + resolution: + integrity: sha1-EQHpVE9KdrG8OybUUsqW16NeeXg= + /base64-js/1.2.1: + resolution: + integrity: sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw== + /bcrypt-pbkdf/1.0.1: + dependencies: + tweetnacl: 0.14.5 + dev: true + optional: true + resolution: + integrity: sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40= + /bl/1.2.1: + dependencies: + readable-stream: 2.3.3 + resolution: + integrity: sha1-ysMo977kVzDUBLaSID/LWQ4XLV4= + /bluebird/3.5.0: + resolution: + integrity: sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw= + /boom/2.10.1: + dependencies: + hoek: 2.16.3 + dev: true + resolution: + integrity: sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8= + /brace-expansion/1.1.8: + dependencies: + balanced-match: 1.0.0 + concat-map: 0.0.1 + resolution: + integrity: sha1-wHshHHyVLsH479Uad+8NHTmQopI= + /braces/1.8.5: + dependencies: + expand-range: 1.8.2 + preserve: 0.2.0 + repeat-element: 1.1.2 + dev: true + resolution: + integrity: sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= + /browser-resolve/1.11.2: + dependencies: + resolve: 1.1.7 + dev: true + resolution: + integrity: sha1-j/CbCixCFxihBRwmCzLkj0QpOM4= + /browser-stdout/1.3.0: + dev: true + resolution: + integrity: sha1-81HTKWnTL6XXpVZxVCY9korjvR8= + /bser/1.0.2: + dependencies: + node-int64: 0.4.0 + dev: true + resolution: + integrity: sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk= + /buffer-crc32/0.2.13: + resolution: + integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + /buffer/3.6.0: + dependencies: + base64-js: 0.0.8 + ieee754: 1.1.8 + isarray: 1.0.0 + resolution: + integrity: sha1-pyyTb3e5a/UvX357RnGAYoVR3vs= + /buffer/4.9.1: + dependencies: + base64-js: 1.2.1 + ieee754: 1.1.8 + isarray: 1.0.0 + resolution: + integrity: sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= + /builtin-modules/1.1.1: + dev: true + resolution: + integrity: sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= + /caller-id/0.1.0: + dependencies: + stack-trace: 0.0.10 + dev: true + resolution: + integrity: sha1-Wb2sCJPRLDhxQIJ5Ix+XRYNk8Hs= + /caller-path/0.1.0: + dependencies: + callsites: 0.2.0 + dev: true + resolution: + integrity: sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8= + /callsites/0.2.0: + dev: true + resolution: + integrity: sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= + /callsites/2.0.0: + dev: true + resolution: + integrity: sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + /camelcase/1.2.1: + dev: true + optional: true + resolution: + integrity: sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk= + /camelcase/3.0.0: + dev: true + resolution: + integrity: sha1-MvxLn82vhF/N9+c7uXysImHwqwo= + /capture-stack-trace/1.0.0: + resolution: + integrity: sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0= + /cardinal/1.0.0: + dependencies: + ansicolors: 0.2.1 + redeyed: 1.0.1 + dev: true + resolution: + integrity: sha1-UOIcGwqjdyn5N33vGWtanOyTLuk= + /caseless/0.11.0: + dev: true + resolution: + integrity: sha1-cVuW6phBWTzDMGeSP17GDr2k99c= + /caseless/0.12.0: + dev: true + resolution: + integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + /caw/2.0.1: + dependencies: + get-proxy: 2.1.0 + isurl: 1.0.0 + tunnel-agent: 0.6.0 + url-to-options: 1.0.1 + resolution: + integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA== + /center-align/0.1.3: + dependencies: + align-text: 0.1.4 + lazy-cache: 1.0.4 + dev: true + optional: true + resolution: + integrity: sha1-qg0yYptu6XIgBBHL1EYckHvCt60= + /chai-as-promised/6.0.0: + dependencies: + check-error: 1.0.2 + dev: true + resolution: + integrity: sha1-GgKkM6byTa+sY7nJb6FoTbGqjaY= + /chai/3.5.0: + dependencies: + assertion-error: 1.0.2 + deep-eql: 0.1.3 + type-detect: 1.0.0 + dev: true + resolution: + integrity: sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc= + /chalk/1.1.3: + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + resolution: + integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + /chalk/2.1.0: + dependencies: + ansi-styles: 3.2.0 + escape-string-regexp: 1.0.5 + supports-color: 4.4.0 + resolution: + integrity: sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ== + /check-error/1.0.2: + dev: true + resolution: + integrity: sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= + /ci-info/1.1.1: + resolution: + integrity: sha512-vHDDF/bP9RYpTWtUhpJRhCFdvvp3iDWvEbuDbWgvjUrNGV1MXJrE0MPcwGtEled04m61iwdBLUIHZtDgzWS4ZQ== + /circular-json/0.3.3: + dev: true + resolution: + integrity: sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== + /cli-cursor/1.0.2: + dependencies: + restore-cursor: 1.0.1 + resolution: + integrity: sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc= + /cli-table/0.3.1: + dependencies: + colors: 1.0.3 + dev: true + resolution: + integrity: sha1-9TsFJmqLGguTSz0IIebi3FkUriM= + /cli-usage/0.1.4: + dependencies: + marked: 0.3.6 + marked-terminal: /marked-terminal/1.7.0/marked@0.3.6 + dev: true + resolution: + integrity: sha1-fAHg3HBsI0s5yTODjI4gshdXduI= + /cli-width/2.2.0: + resolution: + integrity: sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + /cliui/2.1.0: + dependencies: + center-align: 0.1.3 + right-align: 0.1.3 + wordwrap: 0.0.2 + dev: true + optional: true + resolution: + integrity: sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE= + /cliui/3.2.0: + dependencies: + string-width: 1.0.2 + strip-ansi: 3.0.1 + wrap-ansi: 2.1.0 + dev: true + resolution: + integrity: sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= + /co/4.6.0: + dev: true + resolution: + integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + /code-point-at/1.1.0: + resolution: + integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + /coffee-script/1.12.7: + dev: true + resolution: + integrity: sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw== + /color-convert/1.9.0: + dependencies: + color-name: 1.1.3 + resolution: + integrity: sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o= + /color-name/1.1.3: + resolution: + integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + /colors/1.0.3: + dev: true + resolution: + integrity: sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= + /combined-stream/1.0.5: + dependencies: + delayed-stream: 1.0.0 + resolution: + integrity: sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk= + /commander/2.11.0: + resolution: + integrity: sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ== + /commander/2.8.1: + dependencies: + graceful-readlink: 1.0.1 + resolution: + integrity: sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ= + /commander/2.9.0: + dependencies: + graceful-readlink: 1.0.1 + dev: true + resolution: + integrity: sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= + /component-emitter/1.2.1: + resolution: + integrity: sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= + /compress-commons/1.2.0: + dependencies: + buffer-crc32: 0.2.13 + crc32-stream: 2.0.0 + normalize-path: 2.1.1 + readable-stream: 2.3.3 + resolution: + integrity: sha1-WFhwku8g03y1i68AARLJJ4/3O58= + /concat-map/0.0.1: + resolution: + integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + /concat-stream/1.6.0: + dependencies: + inherits: 2.0.3 + readable-stream: 2.3.3 + typedarray: 0.0.6 + resolution: + integrity: sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc= + /config-chain/1.1.11: + dependencies: + ini: 1.3.4 + proto-list: 1.2.4 + resolution: + integrity: sha1-q6CXR9++TD5w52am5BWG4YWfxvI= + /contains-path/0.1.0: + dev: true + resolution: + integrity: sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= + /content-type-parser/1.0.1: + dev: true + resolution: + integrity: sha1-w+VpiMU8ZRJ/tG1AMqOpACRv3JQ= + /convert-source-map/1.5.0: + dev: true + resolution: + integrity: sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU= + /cookie/0.3.1: + resolution: + integrity: sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= + /cookiejar/2.1.1: + resolution: + integrity: sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o= + /core-js/2.3.0: + dev: true + resolution: + integrity: sha1-+rg/uwstjchfpjbEudNMdUIMbWU= + /core-js/2.5.1: + dev: true + resolution: + integrity: sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs= + /core-util-is/1.0.2: + resolution: + integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + /coveralls/2.13.1: + dependencies: + js-yaml: 3.6.1 + lcov-parse: 0.0.10 + log-driver: 1.2.5 + minimist: 1.2.0 + request: 2.79.0 + dev: true + resolution: + integrity: sha1-1wu5rMGDXsTwY/+drFQjwXsR8Xg= + /crc/3.4.4: + resolution: + integrity: sha1-naHpgOO9RPxck79as9ozeNheRms= + /crc32-stream/2.0.0: + dependencies: + crc: 3.4.4 + readable-stream: 2.3.3 + resolution: + integrity: sha1-483TtN8xaN10494/u8t7KX/pCPQ= + /create-error-class/3.0.2: + dependencies: + capture-stack-trace: 1.0.0 + resolution: + integrity: sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= + /cryptiles/2.0.5: + dependencies: + boom: 2.10.1 + dev: true + resolution: + integrity: sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g= + /crypto-browserify/1.0.9: + resolution: + integrity: sha1-zFRJaF37hesRyYKKzHy4erW7/MA= + /cssom/0.3.2: + dev: true + resolution: + integrity: sha1-uANhcMefB6kP8vFuIihAJ6JDhIs= + /cssstyle/0.2.37: + dependencies: + cssom: 0.3.2 + dev: true + resolution: + integrity: sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ= + /d/1.0.0: + dependencies: + es5-ext: 0.10.30 + dev: true + resolution: + integrity: sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8= + /damerau-levenshtein/1.0.4: + dev: true + resolution: + integrity: sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ= + /dashdash/1.14.1: + dependencies: + assert-plus: 1.0.0 + dev: true + resolution: + integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + /debug/2.6.8: + dependencies: + ms: 2.0.0 + resolution: + integrity: sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw= + /decamelize/1.2.0: + dev: true + resolution: + integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + /decompress-tar/4.1.1: + dependencies: + file-type: 5.2.0 + is-stream: 1.1.0 + tar-stream: 1.5.4 + resolution: + integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== + /decompress-tarbz2/4.1.1: + dependencies: + decompress-tar: 4.1.1 + file-type: 6.1.0 + is-stream: 1.1.0 + seek-bzip: 1.0.5 + unbzip2-stream: 1.2.5 + resolution: + integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== + /decompress-targz/4.1.1: + dependencies: + decompress-tar: 4.1.1 + file-type: 5.2.0 + is-stream: 1.1.0 + resolution: + integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== + /decompress-unzip/4.0.1: + dependencies: + file-type: 3.9.0 + get-stream: 2.3.1 + pify: 2.3.0 + yauzl: 2.8.0 + resolution: + integrity: sha1-3qrM39FK6vhVePczroIQ+bSEj2k= + /decompress/4.2.0: + dependencies: + decompress-tar: 4.1.1 + decompress-tarbz2: 4.1.1 + decompress-targz: 4.1.1 + decompress-unzip: 4.0.1 + graceful-fs: 4.1.11 + make-dir: 1.0.0 + pify: 2.3.0 + strip-dirs: 2.0.0 + resolution: + integrity: sha1-eu3YVCflqS2s/lVnSnxQXpbQH50= + /deep-eql/0.1.3: + dependencies: + type-detect: 0.1.1 + dev: true + resolution: + integrity: sha1-71WKyrjeJSBs1xOQbXTlaTDrafI= + /deep-extend/0.4.2: + resolution: + integrity: sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8= + /deep-is/0.1.3: + dev: true + resolution: + integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + /deepmerge/1.5.1: + dev: true + resolution: + integrity: sha512-Ndl8eeOHB9dQkmT1HWCgY3t0odl4bmWKFzjQZBYAxVTNs2B3nn5b6orimRYHKZ4FI8psvZkA1INRCW6l7vc9lQ== + /default-require-extensions/1.0.0: + dependencies: + strip-bom: 2.0.0 + dev: true + resolution: + integrity: sha1-836hXT4T/9m0N9M+GnW1+5eHTLg= + /define-properties/1.1.2: + dependencies: + foreach: 2.0.5 + object-keys: 1.0.11 + dev: true + resolution: + integrity: sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ= + /del/2.2.2: + dependencies: + globby: 5.0.0 + is-path-cwd: 1.0.0 + is-path-in-cwd: 1.0.0 + object-assign: 4.1.1 + pify: 2.3.0 + pinkie-promise: 2.0.1 + rimraf: 2.6.2 + dev: true + resolution: + integrity: sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag= + /delayed-stream/1.0.0: + resolution: + integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + /delegates/1.0.0: + resolution: + integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + /detect-indent/4.0.0: + dependencies: + repeating: 2.0.1 + dev: true + resolution: + integrity: sha1-920GQ1LN9Docts5hnE7jqUdd4gg= + /diacritics-map/0.1.0: + dev: true + resolution: + integrity: sha1-bfwP+dAQAKLt8oZTccrDFulJd68= + /diff/3.2.0: + dev: true + resolution: + integrity: sha1-yc45Okt8vQsFinJck98pkCeGj/k= + /diff/3.3.1: + dev: true + resolution: + integrity: sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww== + /doctrine/1.3.0: + dependencies: + esutils: 2.0.2 + isarray: 1.0.0 + dev: true + resolution: + integrity: sha1-E+dWgrVVGEJCdvfBc3g0Vu+RPSY= + /doctrine/1.5.0: + dependencies: + esutils: 2.0.2 + isarray: 1.0.0 + dev: true + resolution: + integrity: sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= + /doctrine/2.0.0: + dependencies: + esutils: 2.0.2 + isarray: 1.0.0 + dev: true + resolution: + integrity: sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM= + /download/5.0.3: + dependencies: + caw: 2.0.1 + decompress: 4.2.0 + filenamify: 2.0.0 + get-stream: 3.0.0 + got: 6.7.1 + mkdirp: 0.5.1 + pify: 2.3.0 + resolution: + integrity: sha1-Y1N/l3+ZJmow64oqL70fILgAD3o= + /duplexer3/0.1.4: + resolution: + integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + /ecc-jsbn/0.1.1: + dependencies: + jsbn: 0.1.1 + dev: true + optional: true + resolution: + integrity: sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU= + /encoding/0.1.12: + dependencies: + iconv-lite: 0.4.19 + resolution: + integrity: sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= + /end-of-stream/1.4.0: + dependencies: + once: 1.4.0 + resolution: + integrity: sha1-epDYM+/abPpurA9JSduw+tOmMgY= + /errno/0.1.4: + dependencies: + prr: 0.0.0 + dev: true + resolution: + integrity: sha1-uJbiOp5ei6M4cfyZar02NfyaHH0= + /error-ex/1.3.1: + dependencies: + is-arrayish: 0.2.1 + dev: true + resolution: + integrity: sha1-+FWobOYa3E6GIcPNoh56dhLDqNw= + /es-abstract/1.8.2: + dependencies: + es-to-primitive: 1.1.1 + function-bind: 1.1.1 + has: 1.0.1 + is-callable: 1.1.3 + is-regex: 1.0.4 + dev: true + resolution: + integrity: sha512-dvhwFL3yjQxNNsOWx6exMlaDrRHCRGMQlnx5lsXDCZ/J7G/frgIIl94zhZSp/galVAYp7VzPi1OrAHta89/yGQ== + /es-to-primitive/1.1.1: + dependencies: + is-callable: 1.1.3 + is-date-object: 1.0.1 + is-symbol: 1.0.1 + dev: true + resolution: + integrity: sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0= + /es5-ext/0.10.30: + dependencies: + es6-iterator: 2.0.1 + es6-symbol: 3.1.1 + dev: true + resolution: + integrity: sha1-cUGhaDZpfbq/qq7uQUlc4p9SyTk= + /es6-iterator/2.0.1: + dependencies: + d: 1.0.0 + es5-ext: 0.10.30 + es6-symbol: 3.1.1 + dev: true + resolution: + integrity: sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI= + /es6-map/0.1.5: + dependencies: + d: 1.0.0 + es5-ext: 0.10.30 + es6-iterator: 2.0.1 + es6-set: 0.1.5 + es6-symbol: 3.1.1 + event-emitter: 0.3.5 + dev: true + resolution: + integrity: sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA= + /es6-promise/3.0.2: + dev: true + resolution: + integrity: sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y= + /es6-set/0.1.5: + dependencies: + d: 1.0.0 + es5-ext: 0.10.30 + es6-iterator: 2.0.1 + es6-symbol: 3.1.1 + event-emitter: 0.3.5 + dev: true + resolution: + integrity: sha1-0rPsXU2ADO2BjbU40ol02wpzzLE= + /es6-symbol/3.1.1: + dependencies: + d: 1.0.0 + es5-ext: 0.10.30 + dev: true + resolution: + integrity: sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= + /es6-weak-map/2.0.2: + dependencies: + d: 1.0.0 + es5-ext: 0.10.30 + es6-iterator: 2.0.1 + es6-symbol: 3.1.1 + dev: true + resolution: + integrity: sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8= + /escape-string-regexp/1.0.5: + resolution: + integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + /escodegen/1.8.1: + dependencies: + esprima: 2.7.3 + estraverse: 1.9.3 + esutils: 2.0.2 + optionator: 0.8.2 + dev: true + optionalDependencies: + source-map: 0.2.0 + resolution: + integrity: sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg= + /escodegen/1.9.0: + dependencies: + esprima: 3.1.3 + estraverse: 4.2.0 + esutils: 2.0.2 + optionator: 0.8.2 + dev: true + optionalDependencies: + source-map: 0.5.7 + resolution: + integrity: sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw== + /escope/3.6.0: + dependencies: + es6-map: 0.1.5 + es6-weak-map: 2.0.2 + esrecurse: 4.2.0 + estraverse: 4.2.0 + dev: true + resolution: + integrity: sha1-4Bl16BJ4GhY6ba392AOY3GTIicM= + /eslint-config-airbnb-base/5.0.3: + dev: true + resolution: + integrity: sha1-lxSsNews1/qw1E0Uip+R2ylEB00= + /eslint-config-airbnb/10.0.1: + dependencies: + eslint-config-airbnb-base: 5.0.3 + dev: true + resolution: + integrity: sha1-pHAQhkbWxF4fY5oD8R1QShqkrtw= + /eslint-import-resolver-node/0.2.3: + dependencies: + debug: 2.6.8 + object-assign: 4.1.1 + resolve: 1.4.0 + dev: true + resolution: + integrity: sha1-Wt2BBujJKNssuiMrzZ76hG49oWw= + /eslint-plugin-import/1.16.0: + dependencies: + builtin-modules: 1.1.1 + contains-path: 0.1.0 + debug: 2.6.8 + doctrine: 1.3.0 + es6-map: 0.1.5 + es6-set: 0.1.5 + eslint-import-resolver-node: 0.2.3 + has: 1.0.1 + lodash.cond: 4.5.2 + lodash.endswith: 4.2.1 + lodash.find: 4.6.0 + lodash.findindex: 4.6.0 + minimatch: 3.0.4 + object-assign: 4.1.1 + pkg-dir: 1.0.0 + pkg-up: 1.0.0 + dev: true + resolution: + integrity: sha1-svoH68xTUE0PKkR3WC7Iv/GHG58= + /eslint-plugin-jsx-a11y/2.2.3: + dependencies: + damerau-levenshtein: 1.0.4 + jsx-ast-utils: 1.4.1 + object-assign: 4.1.1 + dev: true + resolution: + integrity: sha1-TjXLcbin23AqxBXIBuuOjZ6mxl0= + /eslint-plugin-react/6.10.3: + dependencies: + array.prototype.find: 2.0.4 + doctrine: 1.5.0 + has: 1.0.1 + jsx-ast-utils: 1.4.1 + object.assign: 4.0.4 + dev: true + resolution: + integrity: sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g= + /eslint/3.19.0: + dependencies: + babel-code-frame: 6.26.0 + chalk: 1.1.3 + concat-stream: 1.6.0 + debug: 2.6.8 + doctrine: 2.0.0 + escope: 3.6.0 + espree: 3.5.1 + esquery: 1.0.0 + estraverse: 4.2.0 + esutils: 2.0.2 + file-entry-cache: 2.0.0 + glob: 7.1.2 + globals: 9.18.0 + ignore: 3.3.5 + imurmurhash: 0.1.4 + inquirer: 0.12.0 + is-my-json-valid: 2.16.1 + is-resolvable: 1.0.0 + js-yaml: 3.10.0 + json-stable-stringify: 1.0.1 + levn: 0.3.0 + lodash: 4.17.4 + mkdirp: 0.5.1 + natural-compare: 1.4.0 + optionator: 0.8.2 + path-is-inside: 1.0.2 + pluralize: 1.2.1 + progress: 1.1.8 + require-uncached: 1.0.3 + shelljs: 0.7.8 + strip-bom: 3.0.0 + strip-json-comments: 2.0.1 + table: 3.8.3 + text-table: 0.2.0 + user-home: 2.0.0 + dev: true + resolution: + integrity: sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw= + /espree/3.5.1: + dependencies: + acorn: 5.1.2 + acorn-jsx: 3.0.1 + dev: true + resolution: + integrity: sha1-DJiLirRttTEAoZVK5LqZXd0n2H4= + /esprima/2.7.3: + dev: true + resolution: + integrity: sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= + /esprima/3.0.0: + dev: true + resolution: + integrity: sha1-U88kes2ncxPlUcOqLnM0LT+099k= + /esprima/3.1.3: + dev: true + resolution: + integrity: sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= + /esprima/4.0.0: + resolution: + integrity: sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw== + /esquery/1.0.0: + dependencies: + estraverse: 4.2.0 + dev: true + resolution: + integrity: sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo= + /esrecurse/4.2.0: + dependencies: + estraverse: 4.2.0 + object-assign: 4.1.1 + dev: true + resolution: + integrity: sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM= + /estraverse/1.9.3: + dev: true + resolution: + integrity: sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q= + /estraverse/4.2.0: + dev: true + resolution: + integrity: sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= + /esutils/2.0.2: + dev: true + resolution: + integrity: sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= + /event-emitter/0.3.5: + dependencies: + d: 1.0.0 + es5-ext: 0.10.30 + dev: true + resolution: + integrity: sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= + /events/1.1.1: + resolution: + integrity: sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= + /exec-sh/0.2.1: + dependencies: + merge: 1.2.0 + dev: true + resolution: + integrity: sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg== + /exit-hook/1.1.1: + resolution: + integrity: sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g= + /expand-brackets/0.1.5: + dependencies: + is-posix-bracket: 0.1.1 + dev: true + resolution: + integrity: sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= + /expand-range/1.8.2: + dependencies: + fill-range: 2.2.3 + dev: true + resolution: + integrity: sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= + /extend-shallow/2.0.1: + dependencies: + is-extendable: 0.1.1 + dev: true + resolution: + integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + /extend/3.0.1: + resolution: + integrity: sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ= + /external-editor/1.1.1: + dependencies: + extend: 3.0.1 + spawn-sync: 1.0.15 + tmp: 0.0.29 + resolution: + integrity: sha1-Etew24UPf/fnCBuvQAVwAGDEYAs= + /extglob/0.3.2: + dependencies: + is-extglob: 1.0.0 + dev: true + resolution: + integrity: sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= + /extsprintf/1.3.0: + dev: true + resolution: + integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + /fast-levenshtein/2.0.6: + dev: true + resolution: + integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + /fb-watchman/1.9.2: + dependencies: + bser: 1.0.2 + dev: true + resolution: + integrity: sha1-okz0eCf4LTj7Waaa1wt247auc4M= + /fd-slicer/1.0.1: + dependencies: + pend: 1.2.0 + resolution: + integrity: sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU= + /figures/1.7.0: + dependencies: + escape-string-regexp: 1.0.5 + object-assign: 4.1.1 + resolution: + integrity: sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= + /file-entry-cache/2.0.0: + dependencies: + flat-cache: 1.2.2 + object-assign: 4.1.1 + dev: true + resolution: + integrity: sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= + /file-type/3.9.0: + resolution: + integrity: sha1-JXoHg4TR24CHvESdEH1SpSZyuek= + /file-type/5.2.0: + resolution: + integrity: sha1-LdvqfHP/42No365J3DOMBYwritY= + /file-type/6.1.0: + resolution: + integrity: sha1-Wn26mBOPoKvsevxD5amgsqrHKfE= + /filename-regex/2.0.1: + dev: true + resolution: + integrity: sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= + /filename-reserved-regex/2.0.0: + resolution: + integrity: sha1-q/c9+rc10EVECr/qLZHzieu/oik= + /filenamify/2.0.0: + dependencies: + filename-reserved-regex: 2.0.0 + strip-outer: 1.0.0 + trim-repeated: 1.0.0 + resolution: + integrity: sha1-vRYiYsC26Uv7zc8Zo7uzdk94VpU= + /fileset/2.0.3: + dependencies: + glob: 7.1.2 + minimatch: 3.0.4 + dev: true + resolution: + integrity: sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA= + /filesize/3.5.10: + resolution: + integrity: sha1-/I+iPdtO+eXgq24eZPZ5okpWdh8= + /fill-keys/1.0.2: + dependencies: + is-object: 1.0.1 + merge-descriptors: 1.0.1 + dev: true + resolution: + integrity: sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA= + /fill-range/2.2.3: + dependencies: + is-number: 2.1.0 + isobject: 2.1.0 + randomatic: 1.1.7 + repeat-element: 1.1.2 + repeat-string: 1.6.1 + dev: true + resolution: + integrity: sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM= + /find-up/1.1.2: + dependencies: + path-exists: 2.1.0 + pinkie-promise: 2.0.1 + dev: true + resolution: + integrity: sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + /find-up/2.1.0: + dependencies: + locate-path: 2.0.0 + dev: true + resolution: + integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + /flat-cache/1.2.2: + dependencies: + circular-json: 0.3.3 + del: 2.2.2 + graceful-fs: 4.1.11 + write: 0.2.1 + dev: true + resolution: + integrity: sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y= + /for-in/1.0.2: + dev: true + resolution: + integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + /for-own/0.1.5: + dependencies: + for-in: 1.0.2 + dev: true + resolution: + integrity: sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= + /foreach/2.0.5: + dev: true + resolution: + integrity: sha1-C+4AUBiusmDQo6865ljdATbsG5k= + /forever-agent/0.6.1: + dev: true + resolution: + integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + /form-data/2.1.4: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.5 + mime-types: 2.1.17 + dev: true + resolution: + integrity: sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE= + /form-data/2.3.1: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.5 + mime-types: 2.1.17 + resolution: + integrity: sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8= + /formatio/1.1.1: + dependencies: + samsam: 1.1.3 + dev: true + resolution: + integrity: sha1-XtPM1jZVEJc4NGXZlhmRAOhhYek= + /formidable/1.1.1: + resolution: + integrity: sha1-lriIb3w8NQi5Mta9cMTTqI818ak= + /fs-extra/0.26.7: + dependencies: + graceful-fs: 4.1.11 + jsonfile: 2.4.0 + klaw: 1.3.1 + path-is-absolute: 1.0.1 + rimraf: 2.6.2 + resolution: + integrity: sha1-muH92UiXeY7at20JGM9C0MMYT6k= + /fs-extra/1.0.0: + dependencies: + graceful-fs: 4.1.11 + jsonfile: 2.4.0 + klaw: 1.3.1 + dev: true + resolution: + integrity: sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA= + /fs.realpath/1.0.0: + resolution: + integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + /function-bind/1.1.1: + dev: true + resolution: + integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + /gauge/1.2.7: + dependencies: + ansi: 0.3.1 + has-unicode: 2.0.1 + lodash.pad: 4.5.1 + lodash.padend: 4.6.1 + lodash.padstart: 4.6.1 + resolution: + integrity: sha1-6c7FSD09TuDvRLYKfZnkk14TbZM= + /generate-function/2.0.0: + dev: true + resolution: + integrity: sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ= + /generate-object-property/1.2.0: + dependencies: + is-property: 1.0.2 + dev: true + resolution: + integrity: sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA= + /get-caller-file/1.0.2: + dev: true + resolution: + integrity: sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U= + /get-proxy/2.1.0: + dependencies: + npm-conf: 1.1.2 + resolution: + integrity: sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw== + /get-stdin/5.0.1: + resolution: + integrity: sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g= + /get-stream/2.3.1: + dependencies: + object-assign: 4.1.1 + pinkie-promise: 2.0.1 + resolution: + integrity: sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4= + /get-stream/3.0.0: + resolution: + integrity: sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + /getpass/0.1.7: + dependencies: + assert-plus: 1.0.0 + dev: true + resolution: + integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + /glob-base/0.3.0: + dependencies: + glob-parent: 2.0.0 + is-glob: 2.0.1 + dev: true + resolution: + integrity: sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= + /glob-parent/2.0.0: + dependencies: + is-glob: 2.0.1 + dev: true + resolution: + integrity: sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= + /glob/5.0.15: + dependencies: + inflight: 1.0.6 + inherits: 2.0.3 + minimatch: 3.0.4 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + resolution: + integrity: sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= + /glob/7.1.1: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.3 + minimatch: 3.0.4 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + resolution: + integrity: sha1-gFIR3wT6rxxjo2ADBs31reULLsg= + /glob/7.1.2: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.3 + minimatch: 3.0.4 + once: 1.4.0 + path-is-absolute: 1.0.1 + resolution: + integrity: sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== + /globals/9.18.0: + dev: true + resolution: + integrity: sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== + /globby/5.0.0: + dependencies: + array-union: 1.0.2 + arrify: 1.0.1 + glob: 7.1.2 + object-assign: 4.1.1 + pify: 2.3.0 + pinkie-promise: 2.0.1 + dev: true + resolution: + integrity: sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0= + /globby/6.1.0: + dependencies: + array-union: 1.0.2 + glob: 7.1.2 + object-assign: 4.1.1 + pify: 2.3.0 + pinkie-promise: 2.0.1 + resolution: + integrity: sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + /got/6.7.1: + dependencies: + create-error-class: 3.0.2 + duplexer3: 0.1.4 + get-stream: 3.0.0 + is-redirect: 1.0.0 + is-retry-allowed: 1.1.0 + is-stream: 1.1.0 + lowercase-keys: 1.0.0 + safe-buffer: 5.1.1 + timed-out: 4.0.1 + unzip-response: 2.0.1 + url-parse-lax: 1.0.0 + resolution: + integrity: sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= + /graceful-fs/4.1.11: + resolution: + integrity: sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= + /graceful-readlink/1.0.1: + resolution: + integrity: sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= + /graphlib/2.1.1: + dependencies: + lodash: 4.17.4 + resolution: + integrity: sha1-QjUsUrovTQNctWbrkfc5X3bryVE= + /graphql-anywhere/3.1.0: + resolution: + integrity: sha1-PqDY6GRrXO5oA1AWqadVfBXCHpY= + /graphql-tag/2.4.2: + resolution: + integrity: sha1-amMpfYUi0DorctJvGyOaqzQ4QM0= + /graphql-tag/2.4.2/graphql@0.10.5: + dependencies: + graphql: 0.10.5 + id: registry.npmjs.org/graphql-tag/2.4.2 + resolution: + integrity: sha1-amMpfYUi0DorctJvGyOaqzQ4QM0= + /graphql/0.10.5: + dependencies: + iterall: 1.1.1 + resolution: + integrity: sha512-Q7cx22DiLhwHsEfUnUip1Ww/Vfx7FS0w6+iHItNuN61+XpegHSa3k5U0+6M5BcpavQImBwFiy0z3uYwY7cXMLQ== + /gray-matter/2.1.1: + dependencies: + ansi-red: 0.1.1 + coffee-script: 1.12.7 + extend-shallow: 2.0.1 + js-yaml: 3.10.0 + toml: 2.3.3 + dev: true + resolution: + integrity: sha1-MELZrewqHe1qdwep7SOA+KF6Qw4= + /growl/1.9.2: + dev: true + resolution: + integrity: sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8= + /growly/1.3.0: + dev: true + resolution: + integrity: sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + /handlebars/4.0.10: + dependencies: + async: 1.5.2 + optimist: 0.6.1 + source-map: 0.4.4 + dev: true + optionalDependencies: + uglify-js: 2.8.29 + resolution: + integrity: sha1-PTDHGLCaPZbyPqTMH0A8TTup/08= + /har-schema/1.0.5: + dev: true + resolution: + integrity: sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4= + /har-validator/2.0.6: + dependencies: + chalk: 1.1.3 + commander: 2.11.0 + is-my-json-valid: 2.16.1 + pinkie-promise: 2.0.1 + dev: true + resolution: + integrity: sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0= + /har-validator/4.2.1: + dependencies: + ajv: 4.11.8 + har-schema: 1.0.5 + dev: true + resolution: + integrity: sha1-M0gdDxu/9gDdID11gSpqX7oALio= + /has-ansi/2.0.0: + dependencies: + ansi-regex: 2.1.1 + resolution: + integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + /has-flag/1.0.0: + dev: true + resolution: + integrity: sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= + /has-flag/2.0.0: + resolution: + integrity: sha1-6CB68cx7MNRGzHC3NLXovhj4jVE= + /has-symbol-support-x/1.4.1: + resolution: + integrity: sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA== + /has-to-string-tag-x/1.4.1: + dependencies: + has-symbol-support-x: 1.4.1 + resolution: + integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== + /has-unicode/2.0.1: + resolution: + integrity: sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + /has/1.0.1: + dependencies: + function-bind: 1.1.1 + dev: true + resolution: + integrity: sha1-hGFzP1OLCDfJNh45qauelwTcLyg= + /hawk/3.1.3: + dependencies: + boom: 2.10.1 + cryptiles: 2.0.5 + hoek: 2.16.3 + sntp: 1.0.9 + dev: true + resolution: + integrity: sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ= + /he/1.1.1: + dev: true + resolution: + integrity: sha1-k0EP0hsAlzUVH4howvJx80J+I/0= + /hoek/2.16.3: + dev: true + resolution: + integrity: sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0= + /home-or-tmp/2.0.0: + dependencies: + os-homedir: 1.0.2 + os-tmpdir: 1.0.2 + dev: true + resolution: + integrity: sha1-42w/LSyufXRqhX440Y1fMqeILbg= + /hosted-git-info/2.5.0: + dev: true + resolution: + integrity: sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg== + /html-encoding-sniffer/1.0.1: + dependencies: + whatwg-encoding: 1.0.1 + dev: true + resolution: + integrity: sha1-eb96eF6klf5mFl5zQVPzY/9UN9o= + /http-basic/2.5.1: + dependencies: + caseless: 0.11.0 + concat-stream: 1.6.0 + http-response-object: 1.1.0 + dev: true + resolution: + integrity: sha1-jORHvbW2xXf4pj4/p4BW7Eu02/s= + /http-response-object/1.1.0: + dev: true + resolution: + integrity: sha1-p8TnWq6C87tJBOT0P2FWc7TVGMM= + /http-signature/1.1.1: + dependencies: + assert-plus: 0.2.0 + jsprim: 1.4.1 + sshpk: 1.13.1 + dev: true + resolution: + integrity: sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8= + /https-proxy-agent/1.0.0: + dependencies: + agent-base: 2.1.1 + debug: 2.6.8 + extend: 3.0.1 + resolution: + integrity: sha1-NffabEjOTdv6JkiRrFk+5f+GceY= + /iconv-lite/0.4.13: + dev: true + resolution: + integrity: sha1-H4irpKsLFQjoMSrMOTRfNumS4vI= + /iconv-lite/0.4.19: + resolution: + integrity: sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ== + /ieee754/1.1.8: + resolution: + integrity: sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q= + /ignore/3.3.5: + dev: true + resolution: + integrity: sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw== + /immediate/3.0.6: + dev: true + resolution: + integrity: sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= + /imurmurhash/0.1.4: + resolution: + integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o= + /inflight/1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + resolution: + integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + /inherits/2.0.1: + dev: true + resolution: + integrity: sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + /inherits/2.0.3: + resolution: + integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + /ini/1.3.4: + resolution: + integrity: sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4= + /inquirer/0.12.0: + dependencies: + ansi-escapes: 1.4.0 + ansi-regex: 2.1.1 + chalk: 1.1.3 + cli-cursor: 1.0.2 + cli-width: 2.2.0 + figures: 1.7.0 + lodash: 4.17.4 + readline2: 1.0.1 + run-async: 0.1.0 + rx-lite: 3.1.2 + string-width: 1.0.2 + strip-ansi: 3.0.1 + through: 2.3.8 + dev: true + resolution: + integrity: sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34= + /inquirer/1.2.3: + dependencies: + ansi-escapes: 1.4.0 + chalk: 1.1.3 + cli-cursor: 1.0.2 + cli-width: 2.2.0 + external-editor: 1.1.1 + figures: 1.7.0 + lodash: 4.17.4 + mute-stream: 0.0.6 + pinkie-promise: 2.0.1 + run-async: 2.3.0 + rx: 4.1.0 + string-width: 1.0.2 + strip-ansi: 3.0.1 + through: 2.3.8 + resolution: + integrity: sha1-TexvMvN+97sLLtPx0aXD9UUHSRg= + /interpret/1.0.4: + dev: true + resolution: + integrity: sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA= + /invariant/2.2.2: + dependencies: + loose-envify: 1.3.1 + dev: true + resolution: + integrity: sha1-nh9WrArNtr8wMwbzOL47IErmA2A= + /invert-kv/1.0.0: + dev: true + resolution: + integrity: sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + /is-arrayish/0.2.1: + dev: true + resolution: + integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + /is-buffer/1.1.5: + dev: true + resolution: + integrity: sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw= + /is-builtin-module/1.0.0: + dependencies: + builtin-modules: 1.1.1 + dev: true + resolution: + integrity: sha1-VAVy0096wxGfj3bDDLwbHgN6/74= + /is-callable/1.1.3: + dev: true + resolution: + integrity: sha1-hut1OSgF3cM69xySoO7fdO52BLI= + /is-ci/1.0.10: + dependencies: + ci-info: 1.1.1 + dev: true + resolution: + integrity: sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4= + /is-date-object/1.0.1: + dev: true + resolution: + integrity: sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + /is-docker/1.1.0: + resolution: + integrity: sha1-8EN01O7lMQ6ajhE78UlUEeRhdqE= + /is-dotfile/1.0.3: + dev: true + resolution: + integrity: sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= + /is-equal-shallow/0.1.3: + dependencies: + is-primitive: 2.0.0 + dev: true + resolution: + integrity: sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= + /is-extendable/0.1.1: + dev: true + resolution: + integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + /is-extglob/1.0.0: + dev: true + resolution: + integrity: sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= + /is-finite/1.0.2: + dependencies: + number-is-nan: 1.0.1 + dev: true + resolution: + integrity: sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= + /is-fullwidth-code-point/1.0.0: + dependencies: + number-is-nan: 1.0.1 + resolution: + integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + /is-fullwidth-code-point/2.0.0: + dev: true + resolution: + integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + /is-glob/2.0.1: + dependencies: + is-extglob: 1.0.0 + dev: true + resolution: + integrity: sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= + /is-local-path/0.1.6: + dev: true + resolution: + integrity: sha1-gV0USxTVac7L6tTVaTCX8Aqb9sU= + /is-my-json-valid/2.16.1: + dependencies: + generate-function: 2.0.0 + generate-object-property: 1.2.0 + jsonpointer: 4.0.1 + xtend: 4.0.1 + dev: true + resolution: + integrity: sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ== + /is-natural-number/4.0.1: + resolution: + integrity: sha1-q5124dtM7VHjXeDHLr7PCfc0zeg= + /is-number/2.1.0: + dependencies: + kind-of: 3.2.2 + dev: true + resolution: + integrity: sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= + /is-number/3.0.0: + dependencies: + kind-of: 3.2.2 + dev: true + resolution: + integrity: sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + /is-object/1.0.1: + resolution: + integrity: sha1-iVJojF7C/9awPsyF52ngKQMINHA= + /is-path-cwd/1.0.0: + dev: true + resolution: + integrity: sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= + /is-path-in-cwd/1.0.0: + dependencies: + is-path-inside: 1.0.0 + dev: true + resolution: + integrity: sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw= + /is-path-inside/1.0.0: + dependencies: + path-is-inside: 1.0.2 + dev: true + resolution: + integrity: sha1-/AbloWg/vaE95mev9xe7wQpI838= + /is-posix-bracket/0.1.1: + dev: true + resolution: + integrity: sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= + /is-primitive/2.0.0: + dev: true + resolution: + integrity: sha1-IHurkWOEmcB7Kt8kCkGochADRXU= + /is-promise/2.1.0: + resolution: + integrity: sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= + /is-property/1.0.2: + dev: true + resolution: + integrity: sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ= + /is-redirect/1.0.0: + resolution: + integrity: sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= + /is-regex/1.0.4: + dependencies: + has: 1.0.1 + dev: true + resolution: + integrity: sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= + /is-resolvable/1.0.0: + dependencies: + tryit: 1.0.3 + dev: true + resolution: + integrity: sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI= + /is-retry-allowed/1.1.0: + resolution: + integrity: sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= + /is-stream/1.1.0: + resolution: + integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + /is-symbol/1.0.1: + dev: true + resolution: + integrity: sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI= + /is-typedarray/1.0.0: + dev: true + resolution: + integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + /is-utf8/0.2.1: + dev: true + resolution: + integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + /is-wsl/1.1.0: + resolution: + integrity: sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + /isarray/1.0.0: + resolution: + integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + /isexe/2.0.0: + dev: true + resolution: + integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + /isobject/2.1.0: + dependencies: + isarray: 1.0.0 + dev: true + resolution: + integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + /isobject/3.0.1: + dev: true + resolution: + integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + /isomorphic-fetch/2.2.1: + dependencies: + node-fetch: 1.7.3 + whatwg-fetch: 2.0.3 + resolution: + integrity: sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= + /isstream/0.1.2: + dev: true + resolution: + integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + /istanbul-api/1.1.14: + dependencies: + async: 2.5.0 + fileset: 2.0.3 + istanbul-lib-coverage: 1.1.1 + istanbul-lib-hook: 1.0.7 + istanbul-lib-instrument: 1.8.0 + istanbul-lib-report: 1.1.1 + istanbul-lib-source-maps: 1.2.1 + istanbul-reports: 1.1.2 + js-yaml: 3.10.0 + mkdirp: 0.5.1 + once: 1.4.0 + dev: true + resolution: + integrity: sha1-JbxXAffGgMD//5E95G42GaOm5oA= + /istanbul-lib-coverage/1.1.1: + dev: true + resolution: + integrity: sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q== + /istanbul-lib-hook/1.0.7: + dependencies: + append-transform: 0.4.0 + dev: true + resolution: + integrity: sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ== + /istanbul-lib-instrument/1.8.0: + dependencies: + babel-generator: 6.26.0 + babel-template: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + babylon: 6.18.0 + istanbul-lib-coverage: 1.1.1 + semver: 5.4.1 + dev: true + resolution: + integrity: sha1-ZvbJQhzJ7EcE928tsIS6kHiitTI= + /istanbul-lib-report/1.1.1: + dependencies: + istanbul-lib-coverage: 1.1.1 + mkdirp: 0.5.1 + path-parse: 1.0.5 + supports-color: 3.2.3 + dev: true + resolution: + integrity: sha512-tvF+YmCmH4thnez6JFX06ujIA19WPa9YUiwjc1uALF2cv5dmE3It8b5I8Ob7FHJ70H9Y5yF+TDkVa/mcADuw1Q== + /istanbul-lib-source-maps/1.2.1: + dependencies: + debug: 2.6.8 + istanbul-lib-coverage: 1.1.1 + mkdirp: 0.5.1 + rimraf: 2.6.2 + source-map: 0.5.7 + dev: true + resolution: + integrity: sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w== + /istanbul-reports/1.1.2: + dependencies: + handlebars: 4.0.10 + dev: true + resolution: + integrity: sha1-D7Lj9qqZIr085F0F2KtNXo4HvU8= + /istanbul/0.4.5: + dependencies: + abbrev: 1.0.9 + async: 1.5.2 + escodegen: 1.8.1 + esprima: 2.7.3 + glob: 5.0.15 + handlebars: 4.0.10 + js-yaml: 3.10.0 + mkdirp: 0.5.1 + nopt: 3.0.6 + once: 1.4.0 + resolve: 1.1.7 + supports-color: 3.2.3 + which: 1.3.0 + wordwrap: 1.0.0 + dev: true + resolution: + integrity: sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs= + /isurl/1.0.0: + dependencies: + has-to-string-tag-x: 1.4.1 + is-object: 1.0.1 + resolution: + integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== + /iterall/1.1.1: + resolution: + integrity: sha1-9/CvEemgTsZCYmD1AZ2fzKTVAhQ= + /jest-changed-files/17.0.2: + dev: true + resolution: + integrity: sha1-9WV3WHNplvWQpRuH5ck2nZBLp7c= + /jest-cli/18.1.0: + dependencies: + ansi-escapes: 1.4.0 + callsites: 2.0.0 + chalk: 1.1.3 + graceful-fs: 4.1.11 + is-ci: 1.0.10 + istanbul-api: 1.1.14 + istanbul-lib-coverage: 1.1.1 + istanbul-lib-instrument: 1.8.0 + jest-changed-files: 17.0.2 + jest-config: 18.1.0 + jest-environment-jsdom: 18.1.0 + jest-file-exists: 17.0.0 + jest-haste-map: 18.1.0 + jest-jasmine2: 18.1.0 + jest-mock: 18.0.0 + jest-resolve: 18.1.0 + jest-resolve-dependencies: 18.1.0 + jest-runtime: 18.1.0 + jest-snapshot: 18.1.0 + jest-util: 18.1.0 + json-stable-stringify: 1.0.1 + node-notifier: 4.6.1 + sane: 1.4.1 + strip-ansi: 3.0.1 + throat: 3.2.0 + which: 1.3.0 + worker-farm: 1.5.0 + yargs: 6.6.0 + dev: true + resolution: + integrity: sha1-Xq027K1CCBfCybqiqnV09jJXs9Y= + /jest-config/18.1.0: + dependencies: + chalk: 1.1.3 + jest-environment-jsdom: 18.1.0 + jest-environment-node: 18.1.0 + jest-jasmine2: 18.1.0 + jest-mock: 18.0.0 + jest-resolve: 18.1.0 + jest-util: 18.1.0 + json-stable-stringify: 1.0.1 + dev: true + resolution: + integrity: sha1-YRF0Cm1Iqrhv9anmqwuYvZk7b/Q= + /jest-diff/18.1.0: + dependencies: + chalk: 1.1.3 + diff: 3.3.1 + jest-matcher-utils: 18.1.0 + pretty-format: 18.1.0 + dev: true + resolution: + integrity: sha1-T/eedN2YjBORlbNl3GXYf2BvSAM= + /jest-environment-jsdom/18.1.0: + dependencies: + jest-mock: 18.0.0 + jest-util: 18.1.0 + jsdom: 9.12.0 + dev: true + resolution: + integrity: sha1-GLQvDE6iuunzbKs2ObHo+MOE4k4= + /jest-environment-node/18.1.0: + dependencies: + jest-mock: 18.0.0 + jest-util: 18.1.0 + dev: true + resolution: + integrity: sha1-TWeXVyyN2pms9frmlutilFVHx3k= + /jest-file-exists/17.0.0: + dev: true + resolution: + integrity: sha1-f2Prc6HEOhP0Yb4mF2i0WvLN0Wk= + /jest-haste-map/18.1.0: + dependencies: + fb-watchman: 1.9.2 + graceful-fs: 4.1.11 + micromatch: 2.3.11 + sane: 1.4.1 + worker-farm: 1.5.0 + dev: true + resolution: + integrity: sha1-BoOcdLdwpAwaEGlohR340oHAg3U= + /jest-jasmine2/18.1.0: + dependencies: + graceful-fs: 4.1.11 + jest-matcher-utils: 18.1.0 + jest-matchers: 18.1.0 + jest-snapshot: 18.1.0 + jest-util: 18.1.0 + dev: true + resolution: + integrity: sha1-CU4QTCwYlwh2bHcmO7Kuy1hgqAs= + /jest-matcher-utils/18.1.0: + dependencies: + chalk: 1.1.3 + pretty-format: 18.1.0 + dev: true + resolution: + integrity: sha1-GsRlGVXuKmDO8ef8yYzf13PA+TI= + /jest-matchers/18.1.0: + dependencies: + jest-diff: 18.1.0 + jest-matcher-utils: 18.1.0 + jest-util: 18.1.0 + pretty-format: 18.1.0 + dev: true + resolution: + integrity: sha1-A0FIS/h6H9C6wKTSyJnit3o/Hq0= + /jest-mock/18.0.0: + dev: true + resolution: + integrity: sha1-XCSIRuoz+lWLUm9TEqtKZ2XkibM= + /jest-resolve-dependencies/18.1.0: + dependencies: + jest-file-exists: 17.0.0 + jest-resolve: 18.1.0 + dev: true + resolution: + integrity: sha1-gTT7XK9Zye2EL+AVKrAcUnEfG7s= + /jest-resolve/18.1.0: + dependencies: + browser-resolve: 1.11.2 + jest-file-exists: 17.0.0 + jest-haste-map: 18.1.0 + resolve: 1.4.0 + dev: true + resolution: + integrity: sha1-aACsy1NmWMkGzV4p3kErGrmsJJs= + /jest-runtime/18.1.0: + dependencies: + babel-core: 6.26.0 + babel-jest: 18.0.0 + babel-plugin-istanbul: 3.1.2 + chalk: 1.1.3 + graceful-fs: 4.1.11 + jest-config: 18.1.0 + jest-file-exists: 17.0.0 + jest-haste-map: 18.1.0 + jest-mock: 18.0.0 + jest-resolve: 18.1.0 + jest-snapshot: 18.1.0 + jest-util: 18.1.0 + json-stable-stringify: 1.0.1 + micromatch: 2.3.11 + yargs: 6.6.0 + dev: true + resolution: + integrity: sha1-Or/WhxdbIfw7haK4BkOZ6ZeFmSI= + /jest-snapshot/18.1.0: + dependencies: + jest-diff: 18.1.0 + jest-file-exists: 17.0.0 + jest-matcher-utils: 18.1.0 + jest-util: 18.1.0 + natural-compare: 1.4.0 + pretty-format: 18.1.0 + dev: true + resolution: + integrity: sha1-VbltLuY5ybznb4fyo/1Atxx6WRY= + /jest-util/18.1.0: + dependencies: + chalk: 1.1.3 + diff: 3.3.1 + graceful-fs: 4.1.11 + jest-file-exists: 17.0.0 + jest-mock: 18.0.0 + mkdirp: 0.5.1 + dev: true + resolution: + integrity: sha1-OpnDIRSrF/hL4JQ4JScAbm1L/Go= + /jmespath/0.15.0: + resolution: + integrity: sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc= + /js-tokens/3.0.2: + resolution: + integrity: sha1-mGbfOVECEw449/mWvOtlRDIJwls= + /js-yaml/3.10.0: + dependencies: + argparse: 1.0.9 + esprima: 4.0.0 + resolution: + integrity: sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA== + /js-yaml/3.6.1: + dependencies: + argparse: 1.0.9 + esprima: 2.7.3 + dev: true + resolution: + integrity: sha1-bl/mfYsgXOTSL60Ft3geja3MSzA= + /jsbn/0.1.1: + dev: true + optional: true + resolution: + integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + /jsdom/9.12.0: + dependencies: + abab: 1.0.3 + acorn: 4.0.13 + acorn-globals: 3.1.0 + array-equal: 1.0.0 + content-type-parser: 1.0.1 + cssom: 0.3.2 + cssstyle: 0.2.37 + escodegen: 1.9.0 + html-encoding-sniffer: 1.0.1 + nwmatcher: 1.4.1 + parse5: 1.5.1 + request: 2.81.0 + sax: 1.2.4 + symbol-tree: 3.2.2 + tough-cookie: 2.3.2 + webidl-conversions: 4.0.2 + whatwg-encoding: 1.0.1 + whatwg-url: 4.8.0 + xml-name-validator: 2.0.1 + dev: true + resolution: + integrity: sha1-6MVG//ywbADUgzyoRBD+1/igl9Q= + /jsesc/1.3.0: + dev: true + resolution: + integrity: sha1-RsP+yMGJKxKwgz25vHYiF226s0s= + /json-refs/2.1.7: + dependencies: + commander: 2.11.0 + graphlib: 2.1.1 + js-yaml: 3.10.0 + native-promise-only: 0.8.1 + path-loader: 1.0.2 + slash: 1.0.0 + uri-js: 3.0.2 + resolution: + integrity: sha1-uesB/in16j6Sh48VrqEK04taz4k= + /json-schema/0.2.3: + dev: true + resolution: + integrity: sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + /json-stable-stringify/1.0.1: + dependencies: + jsonify: 0.0.0 + dev: true + resolution: + integrity: sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + /json-stringify-safe/5.0.1: + resolution: + integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + /json3/3.3.2: + dev: true + resolution: + integrity: sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE= + /json5/0.5.1: + dev: true + resolution: + integrity: sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + /jsonfile/2.4.0: + optionalDependencies: + graceful-fs: 4.1.11 + resolution: + integrity: sha1-NzaitCi4e72gzIO1P6PWM6NcKug= + /jsonify/0.0.0: + dev: true + resolution: + integrity: sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + /jsonpointer/4.0.1: + dev: true + resolution: + integrity: sha1-T9kss04OnbPInIYi7PUfm5eMbLk= + /jsprim/1.4.1: + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.2.3 + verror: 1.10.0 + dev: true + resolution: + integrity: sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + /jsx-ast-utils/1.4.1: + dev: true + resolution: + integrity: sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE= + /jszip/3.1.4: + dependencies: + core-js: 2.3.0 + es6-promise: 3.0.2 + lie: 3.1.1 + pako: 1.0.6 + readable-stream: 2.0.6 + dev: true + resolution: + integrity: sha512-z6w8iYIxZ/fcgul0j/OerkYnkomH8BZigvzbxVmr2h5HkZUrPtk2kjYtLkqR9wwQxEP6ecKNoKLsbhd18jfnGA== + /jwt-decode/2.2.0: + resolution: + integrity: sha1-fYa9VmefWM5qhHBKZX3TkruoGnk= + /kind-of/3.2.2: + dependencies: + is-buffer: 1.1.5 + dev: true + resolution: + integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + /kind-of/4.0.0: + dependencies: + is-buffer: 1.1.5 + dev: true + resolution: + integrity: sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + /klaw/1.3.1: + optionalDependencies: + graceful-fs: 4.1.11 + resolution: + integrity: sha1-QIhDO0azsbolnXh4XY6W9zugJDk= + /lazy-cache/1.0.4: + dev: true + optional: true + resolution: + integrity: sha1-odePw6UEdMuAhF07O24dpJpEbo4= + /lazy-cache/2.0.2: + dependencies: + set-getter: 0.1.0 + dev: true + resolution: + integrity: sha1-uRkKT5EzVGlIQIWfio9whNiCImQ= + /lazystream/1.0.0: + dependencies: + readable-stream: 2.3.3 + resolution: + integrity: sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= + /lcid/1.0.0: + dependencies: + invert-kv: 1.0.0 + dev: true + resolution: + integrity: sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= + /lcov-parse/0.0.10: + dev: true + resolution: + integrity: sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM= + /levn/0.3.0: + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + dev: true + resolution: + integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + /lie/3.1.1: + dependencies: + immediate: 3.0.6 + dev: true + resolution: + integrity: sha1-mkNrLMd0bKWd56QfpGmz77dr2H4= + /list-item/1.1.1: + dependencies: + expand-range: 1.8.2 + extend-shallow: 2.0.1 + is-number: 2.1.0 + repeat-string: 1.6.1 + dev: true + resolution: + integrity: sha1-DGXQDih8tmPMs8s4Sad+iewmilY= + /load-json-file/1.1.0: + dependencies: + graceful-fs: 4.1.11 + parse-json: 2.2.0 + pify: 2.3.0 + pinkie-promise: 2.0.1 + strip-bom: 2.0.0 + dev: true + resolution: + integrity: sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + /locate-path/2.0.0: + dependencies: + p-locate: 2.0.0 + path-exists: 3.0.0 + dev: true + resolution: + integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + /lodash-es/4.17.4: + resolution: + integrity: sha1-3MHXVS4VCgZABzupyzHXDwMpUOc= + /lodash._arraycopy/3.0.0: + dev: true + resolution: + integrity: sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE= + /lodash._arrayeach/3.0.0: + dev: true + resolution: + integrity: sha1-urFWsqkNPxu9XGU0AzSeXlkz754= + /lodash._baseassign/3.2.0: + dependencies: + lodash._basecopy: 3.0.1 + lodash.keys: 3.1.2 + dev: true + resolution: + integrity: sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4= + /lodash._baseclone/3.3.0: + dependencies: + lodash._arraycopy: 3.0.0 + lodash._arrayeach: 3.0.0 + lodash._baseassign: 3.2.0 + lodash._basefor: 3.0.3 + lodash.isarray: 3.0.4 + lodash.keys: 3.1.2 + dev: true + resolution: + integrity: sha1-MDUZv2OT/n5C802LYw73eU41Qrc= + /lodash._basecopy/3.0.1: + dev: true + resolution: + integrity: sha1-jaDmqHbPNEwK2KVIghEd08XHyjY= + /lodash._basecreate/3.0.3: + dev: true + resolution: + integrity: sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE= + /lodash._basefor/3.0.3: + dev: true + resolution: + integrity: sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI= + /lodash._bindcallback/3.0.1: + dev: true + resolution: + integrity: sha1-5THCdkTPi1epnhftlbNcdIeJOS4= + /lodash._getnative/3.9.1: + dev: true + resolution: + integrity: sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= + /lodash._isiterateecall/3.0.9: + dev: true + resolution: + integrity: sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw= + /lodash.assign/4.2.0: + dev: true + resolution: + integrity: sha1-DZnzzNem0mHRm9rrkkUAXShYCOc= + /lodash.clonedeep/3.0.2: + dependencies: + lodash._baseclone: 3.3.0 + lodash._bindcallback: 3.0.1 + dev: true + resolution: + integrity: sha1-oKHkDYKl6on/WxR7hETtY9koJ9s= + /lodash.cond/4.5.2: + dev: true + resolution: + integrity: sha1-9HGh2khr5g9quVXRcRVSPdHSVdU= + /lodash.create/3.1.1: + dependencies: + lodash._baseassign: 3.2.0 + lodash._basecreate: 3.0.3 + lodash._isiterateecall: 3.0.9 + dev: true + resolution: + integrity: sha1-1/KEnw29p+BGgruM1yqwIkYd6+c= + /lodash.difference/4.5.0: + resolution: + integrity: sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw= + /lodash.endswith/4.2.1: + dev: true + resolution: + integrity: sha1-/tWawXOO0+I27dcGTsRWRIs3vAk= + /lodash.find/4.6.0: + dev: true + resolution: + integrity: sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E= + /lodash.findindex/4.6.0: + dev: true + resolution: + integrity: sha1-oyRd7mH7m24GJLU1ElYku2nBEQY= + /lodash.isarguments/3.1.0: + dev: true + resolution: + integrity: sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo= + /lodash.isarray/3.0.4: + dev: true + resolution: + integrity: sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U= + /lodash.keys/3.1.2: + dependencies: + lodash._getnative: 3.9.1 + lodash.isarguments: 3.1.0 + lodash.isarray: 3.0.4 + dev: true + resolution: + integrity: sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo= + /lodash.pad/4.5.1: + resolution: + integrity: sha1-QzCUmoM6fI2iLMIPaibE1Z3runA= + /lodash.padend/4.6.1: + resolution: + integrity: sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4= + /lodash.padstart/4.6.1: + resolution: + integrity: sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs= + /lodash.toarray/4.4.0: + dev: true + resolution: + integrity: sha1-JMS/zWsvuji/0FlNsRedjptlZWE= + /lodash.uniq/4.5.0: + resolution: + integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + /lodash/4.17.4: + resolution: + integrity: sha1-eCA6TRwyiuHYbcpkYONptX9AVa4= + /log-driver/1.2.5: + dev: true + resolution: + integrity: sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY= + /lolex/1.3.2: + dev: true + resolution: + integrity: sha1-fD2mL/yzDw9agKJWbKJORdigHzE= + /longest/1.0.1: + dev: true + optional: true + resolution: + integrity: sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= + /loose-envify/1.3.1: + dependencies: + js-tokens: 3.0.2 + resolution: + integrity: sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg= + /lowercase-keys/1.0.0: + resolution: + integrity: sha1-TjNms55/VFfjXxMkvfb4jQv8cwY= + /lsmod/1.0.0: + resolution: + integrity: sha1-mgD3bco26yP6BTUK/htYXUKZ5ks= + /make-dir/1.0.0: + dependencies: + pify: 2.3.0 + resolution: + integrity: sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg= + /makeerror/1.0.11: + dependencies: + tmpl: 1.0.4 + dev: true + resolution: + integrity: sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + /markdown-link/0.1.1: + dev: true + resolution: + integrity: sha1-MsXGUZmmRXMWMi0eQinRNAfIx88= + /markdown-magic/0.1.18: + dependencies: + commander: 2.11.0 + deepmerge: 1.5.1 + find-up: 2.1.0 + fs-extra: 1.0.0 + globby: 6.1.0 + is-local-path: 0.1.6 + markdown-toc: 1.1.0 + sync-request: 3.0.1 + dev: true + resolution: + integrity: sha1-aalfD1Ekj5/ChO118kva2FpFzu4= + /markdown-toc/1.1.0: + dependencies: + concat-stream: 1.6.0 + diacritics-map: 0.1.0 + gray-matter: 2.1.1 + lazy-cache: 2.0.2 + list-item: 1.1.1 + markdown-link: 0.1.1 + minimist: 1.2.0 + mixin-deep: 1.2.0 + object.pick: 1.3.0 + remarkable: 1.7.1 + repeat-string: 1.6.1 + strip-color: 0.1.0 + dev: true + resolution: + integrity: sha1-GORyN9iVSelEcSHmniyoU8otdSo= + /marked-terminal/1.7.0/marked@0.3.6: + dependencies: + cardinal: 1.0.0 + chalk: 1.1.3 + cli-table: 0.3.1 + lodash.assign: 4.2.0 + marked: 0.3.6 + node-emoji: 1.8.1 + dev: true + id: registry.npmjs.org/marked-terminal/1.7.0 + resolution: + integrity: sha1-yMRgiBx3LHYEtkNnAH7l938SWQQ= + /marked/0.3.6: + dev: true + resolution: + integrity: sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc= + /merge-descriptors/1.0.1: + dev: true + resolution: + integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + /merge/1.2.0: + dev: true + resolution: + integrity: sha1-dTHjnUlJwoGma4xabgJl6LBYlNo= + /methods/1.1.2: + resolution: + integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + /micromatch/2.3.11: + dependencies: + arr-diff: 2.0.0 + array-unique: 0.2.1 + braces: 1.8.5 + expand-brackets: 0.1.5 + extglob: 0.3.2 + filename-regex: 2.0.1 + is-extglob: 1.0.0 + is-glob: 2.0.1 + kind-of: 3.2.2 + normalize-path: 2.1.1 + object.omit: 2.0.1 + parse-glob: 3.0.4 + regex-cache: 0.4.4 + dev: true + resolution: + integrity: sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= + /mime-db/1.30.0: + resolution: + integrity: sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE= + /mime-types/2.1.17: + dependencies: + mime-db: 1.30.0 + resolution: + integrity: sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo= + /mime/1.4.0: + resolution: + integrity: sha512-n9ChLv77+QQEapYz8lV+rIZAW3HhAPW2CXnzb1GN5uMkuczshwvkW7XPsbzU0ZQN3sP47Er2KVkp2p3KyqZKSQ== + /minimatch/3.0.4: + dependencies: + brace-expansion: 1.1.8 + resolution: + integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + /minimist/0.0.10: + dev: true + resolution: + integrity: sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= + /minimist/0.0.8: + resolution: + integrity: sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + /minimist/1.2.0: + resolution: + integrity: sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= + /mixin-deep/1.2.0: + dependencies: + for-in: 1.0.2 + is-extendable: 0.1.1 + dev: true + resolution: + integrity: sha1-0CuMb4ttS49ZgtP9AJxJGYUcP+I= + /mkdirp/0.5.1: + dependencies: + minimist: 0.0.8 + resolution: + integrity: sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + /mocha-lcov-reporter/1.3.0: + dev: true + resolution: + integrity: sha1-Rpve9PivyaEWBW8HnfYYLQr7A4Q= + /mocha/3.5.3: + dependencies: + browser-stdout: 1.3.0 + commander: 2.9.0 + debug: 2.6.8 + diff: 3.2.0 + escape-string-regexp: 1.0.5 + glob: 7.1.1 + growl: 1.9.2 + he: 1.1.1 + json3: 3.3.2 + lodash.create: 3.1.1 + mkdirp: 0.5.1 + supports-color: 3.1.2 + dev: true + resolution: + integrity: sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg== + /mock-require/1.3.0: + dependencies: + caller-id: 0.1.0 + dev: true + resolution: + integrity: sha1-gmFElS5QR2L45pJKqPY5Rl0deiQ= + /module-not-found-error/1.0.1: + dev: true + resolution: + integrity: sha1-z4tP9PKWQGdNbN0CsOO8UjwrvcA= + /moment/2.18.1: + resolution: + integrity: sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8= + /ms/2.0.0: + resolution: + integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + /mute-stream/0.0.5: + dev: true + resolution: + integrity: sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA= + /mute-stream/0.0.6: + resolution: + integrity: sha1-SJYrGeFp/R38JAs/HnMXYnu8R9s= + /native-promise-only/0.8.1: + resolution: + integrity: sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE= + /natural-compare/1.4.0: + dev: true + resolution: + integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + /node-emoji/1.8.1: + dependencies: + lodash.toarray: 4.4.0 + dev: true + resolution: + integrity: sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg== + /node-fetch/1.7.3: + dependencies: + encoding: 0.1.12 + is-stream: 1.1.0 + resolution: + integrity: sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== + /node-int64/0.4.0: + dev: true + resolution: + integrity: sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + /node-notifier/4.6.1: + dependencies: + cli-usage: 0.1.4 + growly: 1.3.0 + lodash.clonedeep: 3.0.2 + minimist: 1.2.0 + semver: 5.4.1 + shellwords: 0.1.1 + which: 1.3.0 + dev: true + resolution: + integrity: sha1-BW0UJE89zBzq3+aK+c/wxUc6M/M= + /nopt/3.0.6: + dependencies: + abbrev: 1.1.0 + dev: true + resolution: + integrity: sha1-xkZdvwirzU2zWTF/eaxopkayj/k= + /normalize-package-data/2.4.0: + dependencies: + hosted-git-info: 2.5.0 + is-builtin-module: 1.0.0 + semver: 5.4.1 + validate-npm-package-license: 3.0.1 + dev: true + resolution: + integrity: sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== + /normalize-path/2.1.1: + dependencies: + remove-trailing-separator: 1.1.0 + resolution: + integrity: sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + /npm-conf/1.1.2: + dependencies: + config-chain: 1.1.11 + pify: 3.0.0 + resolution: + integrity: sha512-dotwbpwVzfNB/2EF3A2wjK5tEMLggKfuA/8TG6WvBB1Zrv+JsvF7E8ei9B/HGq211st/GwXFbREcNJvJ1eySUQ== + /npmlog/2.0.4: + dependencies: + ansi: 0.3.1 + are-we-there-yet: 1.1.4 + gauge: 1.2.7 + resolution: + integrity: sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI= + /number-is-nan/1.0.1: + resolution: + integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + /nwmatcher/1.4.1: + dev: true + resolution: + integrity: sha1-eumwew6oBNt+JfBctf5Al9TklJ8= + /oauth-sign/0.8.2: + dev: true + resolution: + integrity: sha1-Rqarfwrq2N6unsBWV4C31O/rnUM= + /object-assign/4.1.1: + resolution: + integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + /object-keys/1.0.11: + dev: true + resolution: + integrity: sha1-xUYBd4rVYPEULODgG8yotW0TQm0= + /object.assign/4.0.4: + dependencies: + define-properties: 1.1.2 + function-bind: 1.1.1 + object-keys: 1.0.11 + dev: true + resolution: + integrity: sha1-scnMBE7xuf5jYG/BQau7MuFHMMw= + /object.omit/2.0.1: + dependencies: + for-own: 0.1.5 + is-extendable: 0.1.1 + dev: true + resolution: + integrity: sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= + /object.pick/1.3.0: + dependencies: + isobject: 3.0.1 + dev: true + resolution: + integrity: sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + /once/1.4.0: + dependencies: + wrappy: 1.0.2 + resolution: + integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + /onetime/1.1.0: + resolution: + integrity: sha1-ofeDj4MUxRbwXs78vEzP4EtO14k= + /opn/5.1.0: + dependencies: + is-wsl: 1.1.0 + resolution: + integrity: sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg== + /optimist/0.6.1: + dependencies: + minimist: 0.0.10 + wordwrap: 0.0.3 + dev: true + resolution: + integrity: sha1-2j6nRob6IaGaERwybpDrFaAZZoY= + /optionator/0.8.2: + dependencies: + deep-is: 0.1.3 + fast-levenshtein: 2.0.6 + levn: 0.3.0 + prelude-ls: 1.1.2 + type-check: 0.3.2 + wordwrap: 1.0.0 + dev: true + resolution: + integrity: sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= + /os-homedir/1.0.2: + dev: true + resolution: + integrity: sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + /os-locale/1.4.0: + dependencies: + lcid: 1.0.0 + dev: true + resolution: + integrity: sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= + /os-shim/0.1.3: + resolution: + integrity: sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc= + /os-tmpdir/1.0.2: + resolution: + integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + /p-limit/1.1.0: + dev: true + resolution: + integrity: sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw= + /p-locate/2.0.0: + dependencies: + p-limit: 1.1.0 + dev: true + resolution: + integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + /pako/1.0.6: + dev: true + resolution: + integrity: sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg== + /parse-glob/3.0.4: + dependencies: + glob-base: 0.3.0 + is-dotfile: 1.0.3 + is-extglob: 1.0.0 + is-glob: 2.0.1 + dev: true + resolution: + integrity: sha1-ssN2z7EfNVE7rdFz7wu246OIORw= + /parse-json/2.2.0: + dependencies: + error-ex: 1.3.1 + dev: true + resolution: + integrity: sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + /parse5/1.5.1: + dev: true + resolution: + integrity: sha1-m387DeMr543CQBsXVzzK8Pb1nZQ= + /path-exists/2.1.0: + dependencies: + pinkie-promise: 2.0.1 + dev: true + resolution: + integrity: sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + /path-exists/3.0.0: + dev: true + resolution: + integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + /path-is-absolute/1.0.1: + resolution: + integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + /path-is-inside/1.0.2: + dev: true + resolution: + integrity: sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + /path-loader/1.0.2: + dependencies: + native-promise-only: 0.8.1 + superagent: 3.6.0 + resolution: + integrity: sha1-zVxz5+OakQEb4UjWv92KhbuTHvk= + /path-parse/1.0.5: + dev: true + resolution: + integrity: sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME= + /path-type/1.1.0: + dependencies: + graceful-fs: 4.1.11 + pify: 2.3.0 + pinkie-promise: 2.0.1 + dev: true + resolution: + integrity: sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + /pend/1.2.0: + resolution: + integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA= + /performance-now/0.2.0: + dev: true + resolution: + integrity: sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU= + /pify/2.3.0: + resolution: + integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + /pify/3.0.0: + resolution: + integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + /pinkie-promise/2.0.1: + dependencies: + pinkie: 2.0.4 + resolution: + integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o= + /pinkie/2.0.4: + resolution: + integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + /pkg-dir/1.0.0: + dependencies: + find-up: 1.1.2 + dev: true + resolution: + integrity: sha1-ektQio1bstYp1EcFb/TpyTFM89Q= + /pkg-up/1.0.0: + dependencies: + find-up: 1.1.2 + dev: true + resolution: + integrity: sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY= + /pluralize/1.2.1: + dev: true + resolution: + integrity: sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU= + /prelude-ls/1.1.2: + dev: true + resolution: + integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + /prepend-http/1.0.4: + resolution: + integrity: sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + /preserve/0.2.0: + dev: true + resolution: + integrity: sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= + /pretty-format/18.1.0: + dependencies: + ansi-styles: 2.2.1 + dev: true + resolution: + integrity: sha1-+2Wob3p/kZSWPu6RhlwbzxA54oQ= + /private/0.1.7: + dev: true + resolution: + integrity: sha1-aM5eih7woju1cMwoU3tTMqumPvE= + /process-nextick-args/1.0.7: + resolution: + integrity: sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= + /progress/1.1.8: + dev: true + resolution: + integrity: sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74= + /promise/7.3.1: + dependencies: + asap: 2.0.6 + dev: true + resolution: + integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + /proto-list/1.2.4: + resolution: + integrity: sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + /proxyquire/1.8.0: + dependencies: + fill-keys: 1.0.2 + module-not-found-error: 1.0.1 + resolve: 1.1.7 + dev: true + resolution: + integrity: sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw= + /prr/0.0.0: + dev: true + resolution: + integrity: sha1-GoS4WQgyVQFBGFPQCB7j+obikmo= + /punycode/1.3.2: + resolution: + integrity: sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + /punycode/1.4.1: + dev: true + resolution: + integrity: sha1-wNWmOycYgArY4esPpSachN1BhF4= + /punycode/2.1.0: + resolution: + integrity: sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= + /qs/6.3.2: + dev: true + resolution: + integrity: sha1-51vV9uJoEioqDgvaYwslUMFmUCw= + /qs/6.4.0: + dev: true + resolution: + integrity: sha1-E+JtKK1rD/qpExLNO/cI7TUecjM= + /qs/6.5.1: + resolution: + integrity: sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A== + /querystring/0.2.0: + resolution: + integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + /querystringify/1.0.0: + resolution: + integrity: sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs= + /ramda/0.24.1: + resolution: + integrity: sha1-w7d1UZfzW43DUCIoJixMkd22uFc= + /randomatic/1.1.7: + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + dev: true + resolution: + integrity: sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how== + /raven/1.2.1: + dependencies: + cookie: 0.3.1 + json-stringify-safe: 5.0.1 + lsmod: 1.0.0 + stack-trace: 0.0.9 + uuid: 3.0.0 + resolution: + integrity: sha1-lJwTTbAooZC3u/j3kKrlQbfAIL0= + /rc/1.2.1: + dependencies: + deep-extend: 0.4.2 + ini: 1.3.4 + minimist: 1.2.0 + strip-json-comments: 2.0.1 + resolution: + integrity: sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU= + /read-pkg-up/1.0.1: + dependencies: + find-up: 1.1.2 + read-pkg: 1.1.0 + dev: true + resolution: + integrity: sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + /read-pkg/1.1.0: + dependencies: + load-json-file: 1.1.0 + normalize-package-data: 2.4.0 + path-type: 1.1.0 + dev: true + resolution: + integrity: sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + /readable-stream/2.0.6: + dependencies: + core-util-is: 1.0.2 + inherits: 2.0.3 + isarray: 1.0.0 + process-nextick-args: 1.0.7 + string_decoder: 0.10.31 + util-deprecate: 1.0.2 + dev: true + resolution: + integrity: sha1-j5A0HmilPMySh4jaz80Rs265t44= + /readable-stream/2.3.3: + dependencies: + core-util-is: 1.0.2 + inherits: 2.0.3 + isarray: 1.0.0 + process-nextick-args: 1.0.7 + safe-buffer: 5.1.1 + string_decoder: 1.0.3 + util-deprecate: 1.0.2 + resolution: + integrity: sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ== + /readline2/1.0.1: + dependencies: + code-point-at: 1.1.0 + is-fullwidth-code-point: 1.0.0 + mute-stream: 0.0.5 + dev: true + resolution: + integrity: sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU= + /rechoir/0.6.2: + dependencies: + resolve: 1.4.0 + dev: true + resolution: + integrity: sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + /redeyed/1.0.1: + dependencies: + esprima: 3.0.0 + dev: true + resolution: + integrity: sha1-6WwZO0DAgWsArshCaY5hGF5VSYo= + /redux/3.7.2: + dependencies: + lodash: 4.17.4 + lodash-es: 4.17.4 + loose-envify: 1.3.1 + symbol-observable: 1.0.4 + resolution: + integrity: sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A== + /regenerator-runtime/0.11.0: + dev: true + resolution: + integrity: sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A== + /regex-cache/0.4.4: + dependencies: + is-equal-shallow: 0.1.3 + dev: true + resolution: + integrity: sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== + /remarkable/1.7.1: + dependencies: + argparse: 0.1.16 + autolinker: 0.15.3 + dev: true + resolution: + integrity: sha1-qspJchALZqZCpjoQIcpLrBvjv/Y= + /remove-trailing-separator/1.1.0: + resolution: + integrity: sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + /repeat-element/1.1.2: + dev: true + resolution: + integrity: sha1-7wiaF40Ug7quTZPrmLT55OEdmQo= + /repeat-string/1.6.1: + dev: true + resolution: + integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc= + /repeating/2.0.1: + dependencies: + is-finite: 1.0.2 + dev: true + resolution: + integrity: sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= + /replaceall/0.1.6: + resolution: + integrity: sha1-gdgax663LX9cSUKt8ml6MiBojY4= + /request/2.79.0: + dependencies: + aws-sign2: 0.6.0 + aws4: 1.6.0 + caseless: 0.11.0 + combined-stream: 1.0.5 + extend: 3.0.1 + forever-agent: 0.6.1 + form-data: 2.1.4 + har-validator: 2.0.6 + 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 + qs: 6.3.2 + stringstream: 0.0.5 + tough-cookie: 2.3.2 + tunnel-agent: 0.4.3 + uuid: 3.1.0 + dev: true + resolution: + integrity: sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4= + /request/2.81.0: + dependencies: + 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.2 + tunnel-agent: 0.6.0 + uuid: 3.1.0 + dev: true + resolution: + integrity: sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA= + /require-directory/2.1.1: + dev: true + resolution: + integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + /require-main-filename/1.0.1: + dev: true + resolution: + integrity: sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + /require-uncached/1.0.3: + dependencies: + caller-path: 0.1.0 + resolve-from: 1.0.1 + dev: true + resolution: + integrity: sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM= + /requires-port/1.0.0: + resolution: + integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + /resolve-from/1.0.1: + dev: true + resolution: + integrity: sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY= + /resolve/1.1.7: + dev: true + resolution: + integrity: sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + /resolve/1.4.0: + dependencies: + path-parse: 1.0.5 + dev: true + resolution: + integrity: sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q== + /restore-cursor/1.0.1: + dependencies: + exit-hook: 1.1.1 + onetime: 1.1.0 + resolution: + integrity: sha1-NGYfRohjJ/7SmRR5FSJS35LapUE= + /right-align/0.1.3: + dependencies: + align-text: 0.1.4 + dev: true + optional: true + resolution: + integrity: sha1-YTObci/mo1FWiSENJOFMlhSGE+8= + /rimraf/2.6.2: + dependencies: + glob: 7.1.2 + resolution: + integrity: sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== + /run-async/0.1.0: + dependencies: + once: 1.4.0 + dev: true + resolution: + integrity: sha1-yK1KXhEGYeQCp9IbUw4AnyX444k= + /run-async/2.3.0: + dependencies: + is-promise: 2.1.0 + resolution: + integrity: sha1-A3GrSuC91yDUFm19/aZP96RFpsA= + /rx-lite/3.1.2: + dev: true + resolution: + integrity: sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI= + /rx/4.1.0: + resolution: + integrity: sha1-pfE/957zt0D+MKqAP7CfmIBdR4I= + /safe-buffer/5.1.1: + resolution: + integrity: sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg== + /samsam/1.1.2: + dev: true + resolution: + integrity: sha1-vsEf3IOp/aBjQBIQ5AF2wwJNFWc= + /samsam/1.1.3: + dev: true + resolution: + integrity: sha1-n1CHQZtNCR8jJXHn+lLpCw9VJiE= + /sane/1.4.1: + dependencies: + exec-sh: 0.2.1 + fb-watchman: 1.9.2 + minimatch: 3.0.4 + minimist: 1.2.0 + walker: 1.0.7 + watch: 0.10.0 + dev: true + resolution: + integrity: sha1-iPdj10BA9fDCVrYWPbOZvxEKxxU= + /sax/1.2.1: + resolution: + integrity: sha1-e45lYZCyKOgaZq6nSEgNgozS03o= + /sax/1.2.4: + resolution: + integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + /seek-bzip/1.0.5: + dependencies: + commander: 2.8.1 + resolution: + integrity: sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w= + /semver-regex/1.0.0: + resolution: + integrity: sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk= + /semver/5.0.3: + resolution: + integrity: sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no= + /semver/5.4.1: + resolution: + integrity: sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== + /set-blocking/2.0.0: + dev: true + resolution: + integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + /set-getter/0.1.0: + dependencies: + to-object-path: 0.3.0 + dev: true + resolution: + integrity: sha1-12nBgsnVpR9AkUXy+6guXoboA3Y= + /shelljs/0.6.1: + resolution: + integrity: sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg= + /shelljs/0.7.8: + dependencies: + glob: 7.1.2 + interpret: 1.0.4 + rechoir: 0.6.2 + dev: true + resolution: + integrity: sha1-3svPh0sNHl+3LhSxZKloMEjprLM= + /shellwords/0.1.1: + dev: true + resolution: + integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + /signal-exit/3.0.2: + resolution: + integrity: sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + /sinon-bluebird/3.1.0: + dev: true + resolution: + integrity: sha1-+SaA+lRtVTpPX2LekEJetdxHhB0= + /sinon-chai/2.13.0: + dev: true + resolution: + integrity: sha512-hRNu/TlYEp4Rw5IbzO8ykGoZMSG489PGUx1rvePpHGrtl20cXivRBgtr/EWYxIwL9EOO9+on04nd9k3tW8tVww== + /sinon/1.17.7: + dependencies: + formatio: 1.1.1 + lolex: 1.3.2 + samsam: 1.1.2 + util: 0.10.3 + dev: true + resolution: + integrity: sha1-RUKk9JugxFwF6y6d2dID4rjv4L8= + /slash/1.0.0: + resolution: + integrity: sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + /slice-ansi/0.0.4: + dev: true + resolution: + integrity: sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= + /sntp/1.0.9: + dependencies: + hoek: 2.16.3 + dev: true + resolution: + integrity: sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg= + /source-map-support/0.4.18: + dependencies: + source-map: 0.5.7 + dev: true + resolution: + integrity: sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== + /source-map/0.2.0: + dependencies: + amdefine: 1.0.1 + dev: true + optional: true + resolution: + integrity: sha1-2rc/vPwrqBm03gO9b26qSBZLP50= + /source-map/0.4.4: + dependencies: + amdefine: 1.0.1 + dev: true + resolution: + integrity: sha1-66T12pwNyZneaAMti092FzZSA2s= + /source-map/0.5.7: + dev: true + resolution: + integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + /spawn-sync/1.0.15: + dependencies: + concat-stream: 1.6.0 + os-shim: 0.1.3 + resolution: + integrity: sha1-sAeZVX63+wyDdsKdROih6mfldHY= + /spdx-correct/1.0.2: + dependencies: + spdx-license-ids: 1.2.2 + dev: true + resolution: + integrity: sha1-SzBz2TP/UfORLwOsVRlJikFQ20A= + /spdx-expression-parse/1.0.4: + dev: true + resolution: + integrity: sha1-m98vIOH0DtRH++JzJmGR/O1RYmw= + /spdx-license-ids/1.2.2: + dev: true + resolution: + integrity: sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc= + /sprintf-js/1.0.3: + resolution: + integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + /sshpk/1.13.1: + dependencies: + asn1: 0.2.3 + assert-plus: 1.0.0 + dashdash: 1.14.1 + getpass: 0.1.7 + dev: true + optionalDependencies: + bcrypt-pbkdf: 1.0.1 + ecc-jsbn: 0.1.1 + jsbn: 0.1.1 + tweetnacl: 0.14.5 + resolution: + integrity: sha1-US322mKHFEMW3EwY/hzx2UBzm+M= + /stack-trace/0.0.10: + dev: true + resolution: + integrity: sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= + /stack-trace/0.0.9: + resolution: + integrity: sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU= + /string-width/1.0.2: + dependencies: + code-point-at: 1.1.0 + is-fullwidth-code-point: 1.0.0 + strip-ansi: 3.0.1 + resolution: + integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + /string-width/2.1.1: + dependencies: + is-fullwidth-code-point: 2.0.0 + strip-ansi: 4.0.0 + dev: true + resolution: + integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + /string_decoder/0.10.31: + dev: true + resolution: + integrity: sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + /string_decoder/1.0.3: + dependencies: + safe-buffer: 5.1.1 + resolution: + integrity: sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ== + /stringstream/0.0.5: + dev: true + resolution: + integrity: sha1-TkhM1N5aC7vuGORjB3EKioFiGHg= + /strip-ansi/3.0.1: + dependencies: + ansi-regex: 2.1.1 + resolution: + integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + /strip-ansi/4.0.0: + dependencies: + ansi-regex: 3.0.0 + dev: true + resolution: + integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8= + /strip-bom/2.0.0: + dependencies: + is-utf8: 0.2.1 + dev: true + resolution: + integrity: sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + /strip-bom/3.0.0: + dev: true + resolution: + integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + /strip-color/0.1.0: + dev: true + resolution: + integrity: sha1-EG9l09PmotlAHKwOsM6LinArT3s= + /strip-dirs/2.0.0: + dependencies: + is-natural-number: 4.0.1 + resolution: + integrity: sha1-YQzbKSggDaAAT0HcuQ/JXNkZoLY= + /strip-json-comments/2.0.1: + resolution: + integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo= + /strip-outer/1.0.0: + dependencies: + escape-string-regexp: 1.0.5 + resolution: + integrity: sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g= + /superagent/3.6.0: + dependencies: + component-emitter: 1.2.1 + cookiejar: 2.1.1 + debug: 2.6.8 + extend: 3.0.1 + form-data: 2.3.1 + formidable: 1.1.1 + methods: 1.1.2 + mime: 1.4.0 + qs: 6.5.1 + readable-stream: 2.3.3 + resolution: + integrity: sha512-oWsu4mboo8sVxagp4bNwZIR1rUmypeAJDmNIwT9mF4k06hSu6P92aOjEWLaIj7vsX3fOUp+cRH/04tao+q5Q7A== + /supports-color/2.0.0: + resolution: + integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + /supports-color/3.1.2: + dependencies: + has-flag: 1.0.0 + dev: true + resolution: + integrity: sha1-cqJiiU2dQIuVbKBf83su2KbiotU= + /supports-color/3.2.3: + dependencies: + has-flag: 1.0.0 + dev: true + resolution: + integrity: sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= + /supports-color/4.4.0: + dependencies: + has-flag: 2.0.0 + resolution: + integrity: sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ== + /symbol-observable/1.0.4: + resolution: + integrity: sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0= + /symbol-tree/3.2.2: + dev: true + resolution: + integrity: sha1-rifbOPZgp64uHDt9G8KQgZuFGeY= + /sync-request/3.0.1: + dependencies: + concat-stream: 1.6.0 + http-response-object: 1.1.0 + then-request: 2.2.0 + dev: true + resolution: + integrity: sha1-yqEjWq+Im6UBB2oYNMQ2gwqC+3M= + /table/3.8.3: + dependencies: + ajv: 4.11.8 + ajv-keywords: /ajv-keywords/1.5.1/ajv@4.11.8 + chalk: 1.1.3 + lodash: 4.17.4 + slice-ansi: 0.0.4 + string-width: 2.1.1 + dev: true + resolution: + integrity: sha1-K7xULw/amGGnVdOUf+/Ys/UThV8= + /tabtab/2.2.2: + dependencies: + debug: 2.6.8 + inquirer: 1.2.3 + lodash.difference: 4.5.0 + lodash.uniq: 4.5.0 + minimist: 1.2.0 + mkdirp: 0.5.1 + npmlog: 2.0.4 + object-assign: 4.1.1 + resolution: + integrity: sha1-egR/FDsBC0y9MfhX6ClhUSy/ThQ= + /tar-stream/1.5.4: + dependencies: + bl: 1.2.1 + end-of-stream: 1.4.0 + readable-stream: 2.3.3 + xtend: 4.0.1 + resolution: + integrity: sha1-NlSc8E7RrumyowwBQyUiONr5QBY= + /test-exclude/3.3.0: + dependencies: + arrify: 1.0.1 + micromatch: 2.3.11 + object-assign: 4.1.1 + read-pkg-up: 1.0.1 + require-main-filename: 1.0.1 + dev: true + resolution: + integrity: sha1-ehfKEjmYjJg2ewYhRW27fUvDiXc= + /text-table/0.2.0: + dev: true + resolution: + integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + /then-request/2.2.0: + dependencies: + caseless: 0.11.0 + concat-stream: 1.6.0 + http-basic: 2.5.1 + http-response-object: 1.1.0 + promise: 7.3.1 + qs: 6.5.1 + dev: true + resolution: + integrity: sha1-ZnizL6DKIY/laZgbvYhxtZQGDYE= + /throat/3.2.0: + dev: true + resolution: + integrity: sha512-/EY8VpvlqJ+sFtLPeOgc8Pl7kQVOWv0woD87KTXVHPIAE842FGT+rokxIhe8xIUP1cfgrkt0as0vDLjDiMtr8w== + /through/2.3.8: + resolution: + integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + /timed-out/4.0.1: + resolution: + integrity: sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= + /tmp/0.0.29: + dependencies: + os-tmpdir: 1.0.2 + resolution: + integrity: sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA= + /tmpl/1.0.4: + dev: true + resolution: + integrity: sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + /to-fast-properties/1.0.3: + dev: true + resolution: + integrity: sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= + /to-object-path/0.3.0: + dependencies: + kind-of: 3.2.2 + dev: true + resolution: + integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + /toml/2.3.3: + dev: true + resolution: + integrity: sha512-O7L5hhSQHxuufWUdcTRPfuTh3phKfAZ/dqfxZFoxPCj2RYmpaSGLEIs016FCXItQwNr08yefUB5TSjzRYnajTA== + /tough-cookie/2.3.2: + dependencies: + punycode: 1.4.1 + dev: true + resolution: + integrity: sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo= + /tr46/0.0.3: + dev: true + resolution: + integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + /trim-repeated/1.0.0: + dependencies: + escape-string-regexp: 1.0.5 + resolution: + integrity: sha1-42RqLqTokTEr9+rObPsFOAvAHCE= + /trim-right/1.0.1: + dev: true + resolution: + integrity: sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= + /tryit/1.0.3: + dev: true + resolution: + integrity: sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics= + /tunnel-agent/0.4.3: + dev: true + resolution: + integrity: sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us= + /tunnel-agent/0.6.0: + dependencies: + safe-buffer: 5.1.1 + resolution: + integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + /tweetnacl/0.14.5: + dev: true + optional: true + resolution: + integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + /type-check/0.3.2: + dependencies: + prelude-ls: 1.1.2 + dev: true + resolution: + integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + /type-detect/0.1.1: + dev: true + resolution: + integrity: sha1-C6XsKohWQORw6k6FBZcZANrFiCI= + /type-detect/1.0.0: + dev: true + resolution: + integrity: sha1-diIXzAbbJY7EiQihKY6LlRIejqI= + /typedarray/0.0.6: + resolution: + integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + /uglify-js/2.8.29: + dependencies: + source-map: 0.5.7 + yargs: 3.10.0 + dev: true + optional: true + optionalDependencies: + uglify-to-browserify: 1.0.2 + resolution: + integrity: sha1-KcVzMUgFe7Th913zW3qcty5qWd0= + /uglify-to-browserify/1.0.2: + dev: true + optional: true + resolution: + integrity: sha1-bgkk1r2mta/jSeOabWMoUKD4grc= + /unbzip2-stream/1.2.5: + dependencies: + buffer: 3.6.0 + through: 2.3.8 + resolution: + integrity: sha512-izD3jxT8xkzwtXRUZjtmRwKnZoeECrfZ8ra/ketwOcusbZEp4mjULMnJOCfTDZBgGQAAY1AJ/IgxcwkavcX9Og== + /underscore.string/2.4.0: + dev: true + resolution: + integrity: sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs= + /underscore/1.7.0: + dev: true + resolution: + integrity: sha1-a7rwh3UA02vjTsqlhODbn+8DUgk= + /unzip-response/2.0.1: + resolution: + integrity: sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= + /uri-js/3.0.2: + dependencies: + punycode: 2.1.0 + resolution: + integrity: sha1-+QuFhQf4HepNz7s8TD2/orVX+qo= + /url-parse-lax/1.0.0: + dependencies: + prepend-http: 1.0.4 + resolution: + integrity: sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= + /url-parse/1.1.9: + dependencies: + querystringify: 1.0.0 + requires-port: 1.0.0 + resolution: + integrity: sha1-xn8dd11R8KGJEd17P/rSe7nlvRk= + /url-to-options/1.0.1: + resolution: + integrity: sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= + /url/0.10.3: + dependencies: + punycode: 1.3.2 + querystring: 0.2.0 + resolution: + integrity: sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ= + /user-home/2.0.0: + dependencies: + os-homedir: 1.0.2 + dev: true + resolution: + integrity: sha1-nHC/2Babwdy/SGBODwS4tJzenp8= + /util-deprecate/1.0.2: + resolution: + integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + /util/0.10.3: + dependencies: + inherits: 2.0.1 + dev: true + resolution: + integrity: sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + /uuid/2.0.3: + resolution: + integrity: sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho= + /uuid/3.0.0: + resolution: + integrity: sha1-Zyj8BFnEUNeWqZwxg3VpvfZy1yg= + /uuid/3.0.1: + resolution: + integrity: sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE= + /uuid/3.1.0: + dev: true + resolution: + integrity: sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g== + /validate-npm-package-license/3.0.1: + dependencies: + spdx-correct: 1.0.2 + spdx-expression-parse: 1.0.4 + dev: true + resolution: + integrity: sha1-KAS6vnEq0zeUWaz74kdGqywwP7w= + /verror/1.10.0: + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + dev: true + resolution: + integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + /walkdir/0.0.11: + resolution: + integrity: sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI= + /walker/1.0.7: + dependencies: + makeerror: 1.0.11 + dev: true + resolution: + integrity: sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + /watch/0.10.0: + dev: true + resolution: + integrity: sha1-d3mLLaD5kQ1ZXxrOWwwiWFIfIdw= + /webidl-conversions/3.0.1: + dev: true + resolution: + integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + /webidl-conversions/4.0.2: + dev: true + resolution: + integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + /whatwg-encoding/1.0.1: + dependencies: + iconv-lite: 0.4.13 + dev: true + resolution: + integrity: sha1-PGxFGhmO567FWx7GHQkgxngBpfQ= + /whatwg-fetch/2.0.3: + resolution: + integrity: sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ= + /whatwg-url/4.8.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: true + resolution: + integrity: sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA= + /which-module/1.0.0: + dev: true + resolution: + integrity: sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= + /which/1.3.0: + dependencies: + isexe: 2.0.0 + dev: true + resolution: + integrity: sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg== + /window-size/0.1.0: + dev: true + optional: true + resolution: + integrity: sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0= + /wordwrap/0.0.2: + dev: true + optional: true + resolution: + integrity: sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8= + /wordwrap/0.0.3: + dev: true + resolution: + integrity: sha1-o9XabNXAvAAI03I0u68b7WMFkQc= + /wordwrap/1.0.0: + dev: true + resolution: + integrity: sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + /worker-farm/1.5.0: + dependencies: + errno: 0.1.4 + xtend: 4.0.1 + dev: true + resolution: + integrity: sha512-DHRiUggxtbruaTwnLDm2/BRDKZIoOYvrgYUj5Bam4fU6Gtvc0FaEyoswFPBjMXAweGW2H4BDNIpy//1yXXuaqQ== + /wrap-ansi/2.1.0: + dependencies: + string-width: 1.0.2 + strip-ansi: 3.0.1 + dev: true + resolution: + integrity: sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + /wrappy/1.0.2: + resolution: + integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + /write-file-atomic/2.3.0: + dependencies: + graceful-fs: 4.1.11 + imurmurhash: 0.1.4 + signal-exit: 3.0.2 + resolution: + integrity: sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA== + /write/0.2.1: + dependencies: + mkdirp: 0.5.1 + dev: true + resolution: + integrity: sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= + /xml-name-validator/2.0.1: + dev: true + resolution: + integrity: sha1-TYuPHszTQZqjYgYb7O9RXh5VljU= + /xml2js/0.4.17: + dependencies: + sax: 1.2.4 + xmlbuilder: 4.2.1 + resolution: + integrity: sha1-F76T6q4/O3eTWceVtBlwWogX6Gg= + /xmlbuilder/4.2.1: + dependencies: + lodash: 4.17.4 + resolution: + integrity: sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU= + /xtend/4.0.1: + resolution: + integrity: sha1-pcbVMr5lbiPbgg77lDofBJmNY68= + /y18n/3.2.1: + dev: true + resolution: + integrity: sha1-bRX7qITAhnnA136I53WegR4H+kE= + /yaml-ast-parser/0.0.34: + resolution: + integrity: sha1-0A88+ddztyQUCa6SpnQNHbGfSeY= + /yargs-parser/4.2.1: + dependencies: + camelcase: 3.0.0 + dev: true + resolution: + integrity: sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw= + /yargs/3.10.0: + dependencies: + camelcase: 1.2.1 + cliui: 2.1.0 + decamelize: 1.2.0 + window-size: 0.1.0 + dev: true + optional: true + resolution: + integrity: sha1-9+572FfdfB0tOMDnTvvWgdFDH9E= + /yargs/6.6.0: + dependencies: + camelcase: 3.0.0 + cliui: 3.2.0 + decamelize: 1.2.0 + get-caller-file: 1.0.2 + os-locale: 1.4.0 + read-pkg-up: 1.0.1 + require-directory: 2.1.1 + require-main-filename: 1.0.1 + set-blocking: 2.0.0 + string-width: 1.0.2 + which-module: 1.0.0 + y18n: 3.2.1 + yargs-parser: 4.2.1 + dev: true + resolution: + integrity: sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg= + /yauzl/2.8.0: + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.0.1 + resolution: + integrity: sha1-eUUK/yKyqcWkHvVOAtuQfM+/nuI= + /zen-observable-ts/0.4.4: + resolution: + integrity: sha512-SNVY1sWWhoe7FwFmHpD9ERi+7Mhhj3+JdS0BGy2UxLIg7cY+3zQbyZauQCI6DN6YK4uoKNaIm3S7Qkqi1Lr+Fw== + /zip-stream/1.2.0: + dependencies: + archiver-utils: 1.3.0 + compress-commons: 1.2.0 + lodash: 4.17.4 + readable-stream: 2.3.3 + resolution: + integrity: sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ= +registry: 'https://registry.npmjs.org/' +shrinkwrapVersion: 3 +specifiers: + '@serverless/fdk': ^0.5.1 + apollo-client: ^1.4.2 + archiver: ^1.1.0 + async: ^1.5.2 + aws-sdk: ^2.75.0 + bluebird: ^3.4.0 + chai: ^3.5.0 + chai-as-promised: ^6.0.0 + chalk: ^2.0.0 + ci-info: ^1.1.1 + coveralls: ^2.12.0 + download: ^5.0.2 + eslint: ^3.3.1 + eslint-config-airbnb: ^10.0.1 + eslint-config-airbnb-base: ^5.0.2 + eslint-plugin-import: ^1.13.0 + eslint-plugin-jsx-a11y: ^2.1.0 + eslint-plugin-react: ^6.1.1 + filesize: ^3.3.0 + fs-extra: ^0.26.7 + get-stdin: ^5.0.1 + globby: ^6.1.0 + graceful-fs: ^4.1.11 + graphql: ^0.10.1 + graphql-tag: ^2.4.0 + https-proxy-agent: ^1.0.0 + is-docker: ^1.1.0 + istanbul: ^0.4.4 + jest-cli: ^18.0.0 + js-yaml: ^3.6.1 + json-refs: ^2.1.5 + jszip: ^3.1.2 + jwt-decode: ^2.2.0 + lodash: ^4.13.1 + markdown-magic: ^0.1.15 + minimist: ^1.2.0 + mocha: ^3.0.2 + mocha-lcov-reporter: ^1.2.0 + mock-require: ^1.3.0 + moment: ^2.13.0 + node-fetch: ^1.6.0 + opn: ^5.0.0 + proxyquire: ^1.7.10 + raven: ^1.2.1 + rc: ^1.1.6 + replaceall: ^0.1.6 + semver: ^5.0.3 + semver-regex: ^1.0.0 + shelljs: ^0.6.0 + sinon: ^1.17.5 + sinon-bluebird: ^3.1.0 + sinon-chai: ^2.9.0 + tabtab: ^2.2.2 + uuid: ^2.0.2 + write-file-atomic: ^2.1.0 + yaml-ast-parser: 0.0.34 diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index e86f9944417..00000000000 --- a/yarn.lock +++ /dev/null @@ -1,4303 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@serverless/fdk@^0.5.1": - version "0.5.1" - resolved "http://npm.nexx.com.vn/@serverless%2ffdk/-/fdk-0.5.1.tgz#9d420568bfb291d73f8a8a9b35ba68a974f7d0b7" - dependencies: - isomorphic-fetch "^2.2.1" - ramda "^0.24.1" - url-parse "^1.1.9" - -"@types/graphql@0.10.2": - version "0.10.2" - resolved "http://npm.nexx.com.vn/@types%2fgraphql/-/graphql-0.10.2.tgz#d7c79acbaa17453b6681c80c34b38fcb10c4c08c" - -abab@^1.0.3: - version "1.0.3" - resolved "http://npm.nexx.com.vn/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" - -abbrev@1: - version "1.1.0" - resolved "http://npm.nexx.com.vn/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" - -abbrev@1.0.x: - version "1.0.9" - resolved "http://npm.nexx.com.vn/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" - -acorn-globals@^3.1.0: - version "3.1.0" - resolved "http://npm.nexx.com.vn/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" - dependencies: - acorn "^4.0.4" - -acorn-jsx@^3.0.0: - version "3.0.1" - resolved "http://npm.nexx.com.vn/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" - dependencies: - acorn "^3.0.4" - -acorn@^3.0.4: - version "3.3.0" - resolved "http://npm.nexx.com.vn/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" - -acorn@^4.0.4: - version "4.0.13" - resolved "http://npm.nexx.com.vn/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" - -acorn@^5.1.1: - version "5.1.1" - resolved "http://npm.nexx.com.vn/acorn/-/acorn-5.1.1.tgz#53fe161111f912ab999ee887a90a0bc52822fd75" - -agent-base@2: - version "2.1.1" - resolved "http://npm.nexx.com.vn/agent-base/-/agent-base-2.1.1.tgz#d6de10d5af6132d5bd692427d46fc538539094c7" - dependencies: - extend "~3.0.0" - semver "~5.0.1" - -ajv-keywords@^1.0.0: - version "1.5.1" - resolved "http://npm.nexx.com.vn/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" - -ajv@^4.7.0, ajv@^4.9.1: - version "4.11.8" - resolved "http://npm.nexx.com.vn/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "http://npm.nexx.com.vn/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "http://npm.nexx.com.vn/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - -ansi-escapes@^1.1.0, ansi-escapes@^1.4.0: - version "1.4.0" - resolved "http://npm.nexx.com.vn/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" - -ansi-red@^0.1.1: - version "0.1.1" - resolved "http://npm.nexx.com.vn/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c" - dependencies: - ansi-wrap "0.1.0" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "http://npm.nexx.com.vn/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "http://npm.nexx.com.vn/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "http://npm.nexx.com.vn/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -ansi-styles@^3.1.0: - version "3.2.0" - resolved "http://npm.nexx.com.vn/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" - dependencies: - color-convert "^1.9.0" - -ansi-wrap@0.1.0: - version "0.1.0" - resolved "http://npm.nexx.com.vn/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" - -ansi@^0.3.0, ansi@~0.3.1: - version "0.3.1" - resolved "http://npm.nexx.com.vn/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" - -ansicolors@~0.2.1: - version "0.2.1" - resolved "http://npm.nexx.com.vn/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef" - -apollo-client@^1.4.2: - version "1.9.1" - resolved "http://npm.nexx.com.vn/apollo-client/-/apollo-client-1.9.1.tgz#9e6a383605572c755038cf5d7fdac9382bcdc040" - dependencies: - apollo-link-core "^0.5.0" - graphql "^0.10.0" - graphql-anywhere "^3.0.1" - graphql-tag "^2.0.0" - redux "^3.4.0" - symbol-observable "^1.0.2" - whatwg-fetch "^2.0.0" - optionalDependencies: - "@types/graphql" "0.10.2" - -apollo-link-core@^0.5.0: - version "0.5.0" - resolved "http://npm.nexx.com.vn/apollo-link-core/-/apollo-link-core-0.5.0.tgz#dc87da1aaa63b029321ae70938dc26257f5ab8c6" - dependencies: - graphql "^0.10.3" - graphql-tag "^2.4.2" - zen-observable-ts "^0.4.0" - -append-transform@^0.4.0: - version "0.4.0" - resolved "http://npm.nexx.com.vn/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" - dependencies: - default-require-extensions "^1.0.0" - -archiver-utils@^1.3.0: - version "1.3.0" - resolved "http://npm.nexx.com.vn/archiver-utils/-/archiver-utils-1.3.0.tgz#e50b4c09c70bf3d680e32ff1b7994e9f9d895174" - dependencies: - glob "^7.0.0" - graceful-fs "^4.1.0" - lazystream "^1.0.0" - lodash "^4.8.0" - normalize-path "^2.0.0" - readable-stream "^2.0.0" - -archiver@^1.1.0: - version "1.3.0" - resolved "http://npm.nexx.com.vn/archiver/-/archiver-1.3.0.tgz#4f2194d6d8f99df3f531e6881f14f15d55faaf22" - dependencies: - archiver-utils "^1.3.0" - async "^2.0.0" - buffer-crc32 "^0.2.1" - glob "^7.0.0" - lodash "^4.8.0" - readable-stream "^2.0.0" - tar-stream "^1.5.0" - walkdir "^0.0.11" - zip-stream "^1.1.0" - -are-we-there-yet@~1.1.2: - version "1.1.4" - resolved "http://npm.nexx.com.vn/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.9" - resolved "http://npm.nexx.com.vn/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" - dependencies: - sprintf-js "~1.0.2" - -argparse@~0.1.15: - version "0.1.16" - resolved "http://npm.nexx.com.vn/argparse/-/argparse-0.1.16.tgz#cfd01e0fbba3d6caed049fbd758d40f65196f57c" - dependencies: - underscore "~1.7.0" - underscore.string "~2.4.0" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - dependencies: - arr-flatten "^1.0.1" - -arr-flatten@^1.0.1: - version "1.1.0" - resolved "http://npm.nexx.com.vn/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - -array-equal@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - -array-union@^1.0.1: - version "1.0.2" - resolved "http://npm.nexx.com.vn/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "http://npm.nexx.com.vn/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - -array-unique@^0.2.1: - version "0.2.1" - resolved "http://npm.nexx.com.vn/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - -array.prototype.find@^2.0.1: - version "2.0.4" - resolved "http://npm.nexx.com.vn/array.prototype.find/-/array.prototype.find-2.0.4.tgz#556a5c5362c08648323ddaeb9de9d14bc1864c90" - dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" - -arrify@^1.0.0, arrify@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - -asap@~2.0.3: - version "2.0.6" - resolved "http://npm.nexx.com.vn/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - -asn1@~0.2.3: - version "0.2.3" - resolved "http://npm.nexx.com.vn/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - -assert-plus@^0.2.0: - version "0.2.0" - resolved "http://npm.nexx.com.vn/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - -assertion-error@^1.0.1: - version "1.0.2" - resolved "http://npm.nexx.com.vn/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" - -async@1.x, async@^1.4.0, async@^1.5.2: - version "1.5.2" - resolved "http://npm.nexx.com.vn/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - -async@^2.0.0, async@^2.1.4: - version "2.5.0" - resolved "http://npm.nexx.com.vn/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d" - dependencies: - lodash "^4.14.0" - -asynckit@^0.4.0: - version "0.4.0" - resolved "http://npm.nexx.com.vn/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - -autolinker@~0.15.0: - version "0.15.3" - resolved "http://npm.nexx.com.vn/autolinker/-/autolinker-0.15.3.tgz#342417d8f2f3461b14cf09088d5edf8791dc9832" - -aws-sdk@^2.7.13: - version "2.104.0" - resolved "http://npm.nexx.com.vn/aws-sdk/-/aws-sdk-2.104.0.tgz#335e0553380c0ae8dd43d11b76d73dfb926f6333" - dependencies: - buffer "4.9.1" - crypto-browserify "1.0.9" - events "^1.1.1" - jmespath "0.15.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - uuid "3.0.1" - xml2js "0.4.17" - xmlbuilder "4.2.1" - -aws-sign2@~0.6.0: - version "0.6.0" - resolved "http://npm.nexx.com.vn/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - -aws4@^1.2.1: - version "1.6.0" - resolved "http://npm.nexx.com.vn/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" - -babel-code-frame@^6.16.0, babel-code-frame@^6.26.0: - version "6.26.0" - resolved "http://npm.nexx.com.vn/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-core@^6.0.0, babel-core@^6.26.0: - version "6.26.0" - resolved "http://npm.nexx.com.vn/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" - dependencies: - babel-code-frame "^6.26.0" - babel-generator "^6.26.0" - babel-helpers "^6.24.1" - babel-messages "^6.23.0" - babel-register "^6.26.0" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - convert-source-map "^1.5.0" - debug "^2.6.8" - json5 "^0.5.1" - lodash "^4.17.4" - minimatch "^3.0.4" - path-is-absolute "^1.0.1" - private "^0.1.7" - slash "^1.0.0" - source-map "^0.5.6" - -babel-generator@^6.18.0, babel-generator@^6.26.0: - version "6.26.0" - resolved "http://npm.nexx.com.vn/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.6" - trim-right "^1.0.1" - -babel-helpers@^6.24.1: - version "6.24.1" - resolved "http://npm.nexx.com.vn/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-jest@^18.0.0: - version "18.0.0" - resolved "http://npm.nexx.com.vn/babel-jest/-/babel-jest-18.0.0.tgz#17ebba8cb3285c906d859e8707e4e79795fb65e3" - dependencies: - babel-core "^6.0.0" - babel-plugin-istanbul "^3.0.0" - babel-preset-jest "^18.0.0" - -babel-messages@^6.23.0: - version "6.23.0" - resolved "http://npm.nexx.com.vn/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-istanbul@^3.0.0: - version "3.1.2" - resolved "http://npm.nexx.com.vn/babel-plugin-istanbul/-/babel-plugin-istanbul-3.1.2.tgz#11d5abde18425ec24b5d648c7e0b5d25cd354a22" - dependencies: - find-up "^1.1.2" - istanbul-lib-instrument "^1.4.2" - object-assign "^4.1.0" - test-exclude "^3.3.0" - -babel-plugin-jest-hoist@^18.0.0: - version "18.0.0" - resolved "http://npm.nexx.com.vn/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-18.0.0.tgz#4150e70ecab560e6e7344adc849498072d34e12a" - -babel-preset-jest@^18.0.0: - version "18.0.0" - resolved "http://npm.nexx.com.vn/babel-preset-jest/-/babel-preset-jest-18.0.0.tgz#84faf8ca3ec65aba7d5e3f59bbaed935ab24049e" - dependencies: - babel-plugin-jest-hoist "^18.0.0" - -babel-register@^6.26.0: - version "6.26.0" - resolved "http://npm.nexx.com.vn/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" - dependencies: - babel-core "^6.26.0" - babel-runtime "^6.26.0" - core-js "^2.5.0" - home-or-tmp "^2.0.0" - lodash "^4.17.4" - mkdirp "^0.5.1" - source-map-support "^0.4.15" - -babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "http://npm.nexx.com.vn/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: - version "6.26.0" - resolved "http://npm.nexx.com.vn/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.18.0, babel-traverse@^6.26.0: - version "6.26.0" - resolved "http://npm.nexx.com.vn/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" - -babel-types@^6.18.0, babel-types@^6.26.0: - version "6.26.0" - resolved "http://npm.nexx.com.vn/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@^6.17.4, babylon@^6.18.0: - version "6.18.0" - resolved "http://npm.nexx.com.vn/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -base64-js@0.0.8: - version "0.0.8" - resolved "http://npm.nexx.com.vn/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" - -base64-js@^1.0.2: - version "1.2.1" - resolved "http://npm.nexx.com.vn/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" - -bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "http://npm.nexx.com.vn/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" - dependencies: - tweetnacl "^0.14.3" - -bl@^1.0.0: - version "1.2.1" - resolved "http://npm.nexx.com.vn/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e" - dependencies: - readable-stream "^2.0.5" - -bluebird@^3.4.0: - version "3.5.0" - resolved "http://npm.nexx.com.vn/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" - -boom@2.x.x: - version "2.10.1" - resolved "http://npm.nexx.com.vn/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - -brace-expansion@^1.1.7: - version "1.1.8" - resolved "http://npm.nexx.com.vn/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^1.8.2: - version "1.8.5" - resolved "http://npm.nexx.com.vn/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -browser-resolve@^1.11.2: - version "1.11.2" - resolved "http://npm.nexx.com.vn/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" - dependencies: - resolve "1.1.7" - -browser-stdout@1.3.0: - version "1.3.0" - resolved "http://npm.nexx.com.vn/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" - -bser@1.0.2: - version "1.0.2" - resolved "http://npm.nexx.com.vn/bser/-/bser-1.0.2.tgz#381116970b2a6deea5646dd15dd7278444b56169" - dependencies: - node-int64 "^0.4.0" - -buffer-crc32@^0.2.1, buffer-crc32@~0.2.3: - version "0.2.13" - resolved "http://npm.nexx.com.vn/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - -buffer@4.9.1: - version "4.9.1" - resolved "http://npm.nexx.com.vn/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@^3.0.1: - version "3.6.0" - resolved "http://npm.nexx.com.vn/buffer/-/buffer-3.6.0.tgz#a72c936f77b96bf52f5f7e7b467180628551defb" - dependencies: - base64-js "0.0.8" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-modules@^1.0.0, builtin-modules@^1.1.1: - version "1.1.1" - resolved "http://npm.nexx.com.vn/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - -caller-id@^0.1.0: - version "0.1.0" - resolved "http://npm.nexx.com.vn/caller-id/-/caller-id-0.1.0.tgz#59bdac0893d12c3871408279231f97458364f07b" - dependencies: - stack-trace "~0.0.7" - -caller-path@^0.1.0: - version "0.1.0" - resolved "http://npm.nexx.com.vn/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - dependencies: - callsites "^0.2.0" - -callsites@^0.2.0: - version "0.2.0" - resolved "http://npm.nexx.com.vn/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" - -callsites@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - -camelcase@^1.0.2: - version "1.2.1" - resolved "http://npm.nexx.com.vn/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - -camelcase@^3.0.0: - version "3.0.0" - resolved "http://npm.nexx.com.vn/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" - -capture-stack-trace@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" - -cardinal@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/cardinal/-/cardinal-1.0.0.tgz#50e21c1b0aa37729f9377def196b5a9cec932ee9" - dependencies: - ansicolors "~0.2.1" - redeyed "~1.0.0" - -caseless@~0.11.0: - version "0.11.0" - resolved "http://npm.nexx.com.vn/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" - -caseless@~0.12.0: - version "0.12.0" - resolved "http://npm.nexx.com.vn/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - -caw@^2.0.0: - version "2.0.1" - resolved "http://npm.nexx.com.vn/caw/-/caw-2.0.1.tgz#6c3ca071fc194720883c2dc5da9b074bfc7e9e95" - dependencies: - get-proxy "^2.0.0" - isurl "^1.0.0-alpha5" - tunnel-agent "^0.6.0" - url-to-options "^1.0.1" - -center-align@^0.1.1: - version "0.1.3" - resolved "http://npm.nexx.com.vn/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - -chai-as-promised@^6.0.0: - version "6.0.0" - resolved "http://npm.nexx.com.vn/chai-as-promised/-/chai-as-promised-6.0.0.tgz#1a02a433a6f24dafac63b9c96fa1684db1aa8da6" - dependencies: - check-error "^1.0.2" - -chai@^3.5.0: - version "3.5.0" - resolved "http://npm.nexx.com.vn/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247" - dependencies: - assertion-error "^1.0.1" - deep-eql "^0.1.3" - type-detect "^1.0.0" - -chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "http://npm.nexx.com.vn/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0: - version "2.1.0" - resolved "http://npm.nexx.com.vn/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" - dependencies: - ansi-styles "^3.1.0" - escape-string-regexp "^1.0.5" - supports-color "^4.0.0" - -check-error@^1.0.2: - version "1.0.2" - resolved "http://npm.nexx.com.vn/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - -ci-info@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" - -circular-json@^0.3.1: - version "0.3.3" - resolved "http://npm.nexx.com.vn/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" - -cli-cursor@^1.0.1: - version "1.0.2" - resolved "http://npm.nexx.com.vn/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - dependencies: - restore-cursor "^1.0.1" - -cli-table@^0.3.1: - version "0.3.1" - resolved "http://npm.nexx.com.vn/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" - dependencies: - colors "1.0.3" - -cli-usage@^0.1.1: - version "0.1.4" - resolved "http://npm.nexx.com.vn/cli-usage/-/cli-usage-0.1.4.tgz#7c01e0dc706c234b39c933838c8e20b2175776e2" - dependencies: - marked "^0.3.6" - marked-terminal "^1.6.2" - -cli-width@^2.0.0: - version "2.2.0" - resolved "http://npm.nexx.com.vn/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - -cliui@^2.1.0: - version "2.1.0" - resolved "http://npm.nexx.com.vn/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -cliui@^3.2.0: - version "3.2.0" - resolved "http://npm.nexx.com.vn/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "http://npm.nexx.com.vn/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "http://npm.nexx.com.vn/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - -coffee-script@^1.12.4: - version "1.12.7" - resolved "http://npm.nexx.com.vn/coffee-script/-/coffee-script-1.12.7.tgz#c05dae0cb79591d05b3070a8433a98c9a89ccc53" - -color-convert@^1.9.0: - version "1.9.0" - resolved "http://npm.nexx.com.vn/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" - dependencies: - color-name "^1.1.1" - -color-name@^1.1.1: - version "1.1.3" - resolved "http://npm.nexx.com.vn/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - -colors@1.0.3: - version "1.0.3" - resolved "http://npm.nexx.com.vn/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "http://npm.nexx.com.vn/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" - dependencies: - delayed-stream "~1.0.0" - -commander@2.9.0: - version "2.9.0" - resolved "http://npm.nexx.com.vn/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - dependencies: - graceful-readlink ">= 1.0.0" - -commander@^2.9.0: - version "2.11.0" - resolved "http://npm.nexx.com.vn/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" - -commander@~2.8.1: - version "2.8.1" - resolved "http://npm.nexx.com.vn/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" - dependencies: - graceful-readlink ">= 1.0.0" - -component-emitter@^1.2.0: - version "1.2.1" - resolved "http://npm.nexx.com.vn/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - -compress-commons@^1.2.0: - version "1.2.0" - resolved "http://npm.nexx.com.vn/compress-commons/-/compress-commons-1.2.0.tgz#58587092ef20d37cb58baf000112c9278ff73b9f" - dependencies: - buffer-crc32 "^0.2.1" - crc32-stream "^2.0.0" - normalize-path "^2.0.0" - readable-stream "^2.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "http://npm.nexx.com.vn/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^1.5.2: - version "1.6.0" - resolved "http://npm.nexx.com.vn/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -config-chain@^1.1.11: - version "1.1.11" - resolved "http://npm.nexx.com.vn/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - -contains-path@^0.1.0: - version "0.1.0" - resolved "http://npm.nexx.com.vn/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - -content-type-parser@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/content-type-parser/-/content-type-parser-1.0.1.tgz#c3e56988c53c65127fb46d4032a3a900246fdc94" - -convert-source-map@^1.5.0: - version "1.5.0" - resolved "http://npm.nexx.com.vn/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" - -cookie@0.3.1: - version "0.3.1" - resolved "http://npm.nexx.com.vn/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - -cookiejar@^2.1.0: - version "2.1.1" - resolved "http://npm.nexx.com.vn/cookiejar/-/cookiejar-2.1.1.tgz#41ad57b1b555951ec171412a81942b1e8200d34a" - -core-js@^2.4.0, core-js@^2.5.0: - version "2.5.0" - resolved "http://npm.nexx.com.vn/core-js/-/core-js-2.5.0.tgz#569c050918be6486b3837552028ae0466b717086" - -core-js@~2.3.0: - version "2.3.0" - resolved "http://npm.nexx.com.vn/core-js/-/core-js-2.3.0.tgz#fab83fbb0b2d8dc85fa636c4b9d34c75420c6d65" - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "http://npm.nexx.com.vn/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -coveralls@^2.12.0: - version "2.13.1" - resolved "http://npm.nexx.com.vn/coveralls/-/coveralls-2.13.1.tgz#d70bb9acc1835ec4f063ff9dac5423c17b11f178" - dependencies: - js-yaml "3.6.1" - lcov-parse "0.0.10" - log-driver "1.2.5" - minimist "1.2.0" - request "2.79.0" - -crc32-stream@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/crc32-stream/-/crc32-stream-2.0.0.tgz#e3cdd3b4df3168dd74e3de3fbbcb7b297fe908f4" - dependencies: - crc "^3.4.4" - readable-stream "^2.0.0" - -crc@^3.4.4: - version "3.4.4" - resolved "http://npm.nexx.com.vn/crc/-/crc-3.4.4.tgz#9da1e980e3bd44fc5c93bf5ab3da3378d85e466b" - -create-error-class@^3.0.0: - version "3.0.2" - resolved "http://npm.nexx.com.vn/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - dependencies: - capture-stack-trace "^1.0.0" - -cryptiles@2.x.x: - version "2.0.5" - resolved "http://npm.nexx.com.vn/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - -crypto-browserify@1.0.9: - version "1.0.9" - resolved "http://npm.nexx.com.vn/crypto-browserify/-/crypto-browserify-1.0.9.tgz#cc5449685dfb85eb11c9828acc7cb87ab5bbfcc0" - -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": - version "0.3.2" - resolved "http://npm.nexx.com.vn/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" - -"cssstyle@>= 0.2.37 < 0.3.0": - version "0.2.37" - resolved "http://npm.nexx.com.vn/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" - dependencies: - cssom "0.3.x" - -d@1: - version "1.0.0" - resolved "http://npm.nexx.com.vn/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" - dependencies: - es5-ext "^0.10.9" - -damerau-levenshtein@^1.0.0: - version "1.0.4" - resolved "http://npm.nexx.com.vn/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" - -dashdash@^1.12.0: - version "1.14.1" - resolved "http://npm.nexx.com.vn/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - dependencies: - assert-plus "^1.0.0" - -debug@2, debug@2.6.8, debug@^2.1.1, debug@^2.2.0, debug@^2.6.0, debug@^2.6.3, debug@^2.6.8: - version "2.6.8" - resolved "http://npm.nexx.com.vn/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" - dependencies: - ms "2.0.0" - -decamelize@^1.0.0, decamelize@^1.1.1: - version "1.2.0" - resolved "http://npm.nexx.com.vn/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: - version "4.1.1" - resolved "http://npm.nexx.com.vn/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" - dependencies: - file-type "^5.2.0" - is-stream "^1.1.0" - tar-stream "^1.5.2" - -decompress-tarbz2@^4.0.0: - version "4.1.1" - resolved "http://npm.nexx.com.vn/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" - dependencies: - decompress-tar "^4.1.0" - file-type "^6.1.0" - is-stream "^1.1.0" - seek-bzip "^1.0.5" - unbzip2-stream "^1.0.9" - -decompress-targz@^4.0.0: - version "4.1.1" - resolved "http://npm.nexx.com.vn/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" - dependencies: - decompress-tar "^4.1.1" - file-type "^5.2.0" - is-stream "^1.1.0" - -decompress-unzip@^4.0.1: - version "4.0.1" - resolved "http://npm.nexx.com.vn/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" - dependencies: - file-type "^3.8.0" - get-stream "^2.2.0" - pify "^2.3.0" - yauzl "^2.4.2" - -decompress@^4.0.0: - version "4.2.0" - resolved "http://npm.nexx.com.vn/decompress/-/decompress-4.2.0.tgz#7aedd85427e5a92dacfe55674a7c505e96d01f9d" - dependencies: - decompress-tar "^4.0.0" - decompress-tarbz2 "^4.0.0" - decompress-targz "^4.0.0" - decompress-unzip "^4.0.1" - graceful-fs "^4.1.10" - make-dir "^1.0.0" - pify "^2.3.0" - strip-dirs "^2.0.0" - -deep-eql@^0.1.3: - version "0.1.3" - resolved "http://npm.nexx.com.vn/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" - dependencies: - type-detect "0.1.1" - -deep-extend@~0.4.0: - version "0.4.2" - resolved "http://npm.nexx.com.vn/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" - -deep-is@~0.1.3: - version "0.1.3" - resolved "http://npm.nexx.com.vn/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - -deepmerge@^1.3.0: - version "1.5.1" - resolved "http://npm.nexx.com.vn/deepmerge/-/deepmerge-1.5.1.tgz#c053bf06fd7276f1994f70c09a0760cb61a56237" - -default-require-extensions@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" - dependencies: - strip-bom "^2.0.0" - -define-properties@^1.1.2: - version "1.1.2" - resolved "http://npm.nexx.com.vn/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" - dependencies: - foreach "^2.0.5" - object-keys "^1.0.8" - -del@^2.0.2: - version "2.2.2" - resolved "http://npm.nexx.com.vn/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" - dependencies: - globby "^5.0.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - rimraf "^2.2.8" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - -delegates@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - -detect-indent@^4.0.0: - version "4.0.0" - resolved "http://npm.nexx.com.vn/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - dependencies: - repeating "^2.0.0" - -diacritics-map@^0.1.0: - version "0.1.0" - resolved "http://npm.nexx.com.vn/diacritics-map/-/diacritics-map-0.1.0.tgz#6dfc0ff9d01000a2edf2865371cac316e94977af" - -diff@3.2.0: - version "3.2.0" - resolved "http://npm.nexx.com.vn/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" - -diff@^3.0.0: - version "3.3.0" - resolved "http://npm.nexx.com.vn/diff/-/diff-3.3.0.tgz#056695150d7aa93237ca7e378ac3b1682b7963b9" - -doctrine@1.3.x: - version "1.3.0" - resolved "http://npm.nexx.com.vn/doctrine/-/doctrine-1.3.0.tgz#13e75682b55518424276f7c173783456ef913d26" - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^1.2.2: - version "1.5.0" - resolved "http://npm.nexx.com.vn/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -download@^5.0.2: - version "5.0.3" - resolved "http://npm.nexx.com.vn/download/-/download-5.0.3.tgz#63537f977f99266a30eb8a2a2fbd1f20b8000f7a" - dependencies: - caw "^2.0.0" - decompress "^4.0.0" - filenamify "^2.0.0" - get-stream "^3.0.0" - got "^6.3.0" - mkdirp "^0.5.1" - pify "^2.3.0" - -duplexer3@^0.1.4: - version "0.1.4" - resolved "http://npm.nexx.com.vn/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "http://npm.nexx.com.vn/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" - dependencies: - jsbn "~0.1.0" - -encoding@^0.1.11: - version "0.1.12" - resolved "http://npm.nexx.com.vn/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - dependencies: - iconv-lite "~0.4.13" - -end-of-stream@^1.0.0: - version "1.4.0" - resolved "http://npm.nexx.com.vn/end-of-stream/-/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206" - dependencies: - once "^1.4.0" - -errno@^0.1.4: - version "0.1.4" - resolved "http://npm.nexx.com.vn/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" - dependencies: - prr "~0.0.0" - -error-ex@^1.2.0: - version "1.3.1" - resolved "http://npm.nexx.com.vn/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.7.0: - version "1.8.0" - resolved "http://npm.nexx.com.vn/es-abstract/-/es-abstract-1.8.0.tgz#3b00385e85729932beffa9163bbea1234e932914" - dependencies: - es-to-primitive "^1.1.1" - function-bind "^1.1.0" - has "^1.0.1" - is-callable "^1.1.3" - is-regex "^1.0.4" - -es-to-primitive@^1.1.1: - version "1.1.1" - resolved "http://npm.nexx.com.vn/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" - dependencies: - is-callable "^1.1.1" - is-date-object "^1.0.1" - is-symbol "^1.0.1" - -es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.30" - resolved "http://npm.nexx.com.vn/es5-ext/-/es5-ext-0.10.30.tgz#7141a16836697dbabfaaaeee41495ce29f52c939" - dependencies: - es6-iterator "2" - es6-symbol "~3.1" - -es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: - version "2.0.1" - resolved "http://npm.nexx.com.vn/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-symbol "^3.1" - -es6-map@^0.1.3: - version "0.1.5" - resolved "http://npm.nexx.com.vn/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-set "~0.1.5" - es6-symbol "~3.1.1" - event-emitter "~0.3.5" - -es6-promise@~3.0.2: - version "3.0.2" - resolved "http://npm.nexx.com.vn/es6-promise/-/es6-promise-3.0.2.tgz#010d5858423a5f118979665f46486a95c6ee2bb6" - -es6-set@^0.1.4, es6-set@~0.1.5: - version "0.1.5" - resolved "http://npm.nexx.com.vn/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-symbol "3.1.1" - event-emitter "~0.3.5" - -es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "http://npm.nexx.com.vn/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - dependencies: - d "1" - es5-ext "~0.10.14" - -es6-weak-map@^2.0.1: - version "2.0.2" - resolved "http://npm.nexx.com.vn/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "http://npm.nexx.com.vn/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -escodegen@1.8.x, escodegen@^1.6.1: - version "1.8.1" - resolved "http://npm.nexx.com.vn/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" - dependencies: - esprima "^2.7.1" - estraverse "^1.9.1" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.2.0" - -escope@^3.6.0: - version "3.6.0" - resolved "http://npm.nexx.com.vn/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" - dependencies: - es6-map "^0.1.3" - es6-weak-map "^2.0.1" - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-config-airbnb-base@^5.0.2: - version "5.0.3" - resolved "http://npm.nexx.com.vn/eslint-config-airbnb-base/-/eslint-config-airbnb-base-5.0.3.tgz#9714ac35ec2cd7fab0d44d148a9f91db2944074d" - -eslint-config-airbnb@^10.0.1: - version "10.0.1" - resolved "http://npm.nexx.com.vn/eslint-config-airbnb/-/eslint-config-airbnb-10.0.1.tgz#a470108646d6c45e1f639a03f11d504a1aa4aedc" - dependencies: - eslint-config-airbnb-base "^5.0.2" - -eslint-import-resolver-node@^0.2.0: - version "0.2.3" - resolved "http://npm.nexx.com.vn/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" - dependencies: - debug "^2.2.0" - object-assign "^4.0.1" - resolve "^1.1.6" - -eslint-plugin-import@^1.13.0: - version "1.16.0" - resolved "http://npm.nexx.com.vn/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz#b2fa07ebcc53504d0f2a4477582ec8bff1871b9f" - dependencies: - builtin-modules "^1.1.1" - contains-path "^0.1.0" - debug "^2.2.0" - doctrine "1.3.x" - es6-map "^0.1.3" - es6-set "^0.1.4" - eslint-import-resolver-node "^0.2.0" - has "^1.0.1" - lodash.cond "^4.3.0" - lodash.endswith "^4.0.1" - lodash.find "^4.3.0" - lodash.findindex "^4.3.0" - minimatch "^3.0.3" - object-assign "^4.0.1" - pkg-dir "^1.0.0" - pkg-up "^1.0.0" - -eslint-plugin-jsx-a11y@^2.1.0: - version "2.2.3" - resolved "http://npm.nexx.com.vn/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz#4e35cb71b8a7db702ac415c806eb8e8d9ea6c65d" - dependencies: - damerau-levenshtein "^1.0.0" - jsx-ast-utils "^1.0.0" - object-assign "^4.0.1" - -eslint-plugin-react@^6.1.1: - version "6.10.3" - resolved "http://npm.nexx.com.vn/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz#c5435beb06774e12c7db2f6abaddcbf900cd3f78" - dependencies: - array.prototype.find "^2.0.1" - doctrine "^1.2.2" - has "^1.0.1" - jsx-ast-utils "^1.3.4" - object.assign "^4.0.4" - -eslint@^3.3.1: - version "3.19.0" - resolved "http://npm.nexx.com.vn/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" - dependencies: - babel-code-frame "^6.16.0" - chalk "^1.1.3" - concat-stream "^1.5.2" - debug "^2.1.1" - doctrine "^2.0.0" - escope "^3.6.0" - espree "^3.4.0" - esquery "^1.0.0" - estraverse "^4.2.0" - esutils "^2.0.2" - file-entry-cache "^2.0.0" - glob "^7.0.3" - globals "^9.14.0" - ignore "^3.2.0" - imurmurhash "^0.1.4" - inquirer "^0.12.0" - is-my-json-valid "^2.10.0" - is-resolvable "^1.0.0" - js-yaml "^3.5.1" - json-stable-stringify "^1.0.0" - levn "^0.3.0" - lodash "^4.0.0" - mkdirp "^0.5.0" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.1" - pluralize "^1.2.1" - progress "^1.1.8" - require-uncached "^1.0.2" - shelljs "^0.7.5" - strip-bom "^3.0.0" - strip-json-comments "~2.0.1" - table "^3.7.8" - text-table "~0.2.0" - user-home "^2.0.0" - -espree@^3.4.0: - version "3.5.0" - resolved "http://npm.nexx.com.vn/espree/-/espree-3.5.0.tgz#98358625bdd055861ea27e2867ea729faf463d8d" - dependencies: - acorn "^5.1.1" - acorn-jsx "^3.0.0" - -esprima@2.7.x, esprima@^2.6.0, esprima@^2.7.1: - version "2.7.3" - resolved "http://npm.nexx.com.vn/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" - -esprima@^4.0.0: - version "4.0.0" - resolved "http://npm.nexx.com.vn/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" - -esprima@~3.0.0: - version "3.0.0" - resolved "http://npm.nexx.com.vn/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9" - -esquery@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" - dependencies: - estraverse "^4.0.0" - -esrecurse@^4.1.0: - version "4.2.0" - resolved "http://npm.nexx.com.vn/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" - dependencies: - estraverse "^4.1.0" - object-assign "^4.0.1" - -estraverse@^1.9.1: - version "1.9.3" - resolved "http://npm.nexx.com.vn/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" - -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.2.0" - resolved "http://npm.nexx.com.vn/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - -esutils@^2.0.2: - version "2.0.2" - resolved "http://npm.nexx.com.vn/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - -event-emitter@~0.3.5: - version "0.3.5" - resolved "http://npm.nexx.com.vn/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - dependencies: - d "1" - es5-ext "~0.10.14" - -events@^1.1.1: - version "1.1.1" - resolved "http://npm.nexx.com.vn/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - -exec-sh@^0.2.0: - version "0.2.0" - resolved "http://npm.nexx.com.vn/exec-sh/-/exec-sh-0.2.0.tgz#14f75de3f20d286ef933099b2ce50a90359cef10" - dependencies: - merge "^1.1.3" - -exit-hook@^1.0.0: - version "1.1.1" - resolved "http://npm.nexx.com.vn/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "http://npm.nexx.com.vn/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" - -expand-range@^1.8.1: - version "1.8.2" - resolved "http://npm.nexx.com.vn/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - dependencies: - fill-range "^2.1.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "http://npm.nexx.com.vn/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - dependencies: - is-extendable "^0.1.0" - -extend@3, extend@^3.0.0, extend@~3.0.0: - version "3.0.1" - resolved "http://npm.nexx.com.vn/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - -external-editor@^1.1.0: - version "1.1.1" - resolved "http://npm.nexx.com.vn/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b" - dependencies: - extend "^3.0.0" - spawn-sync "^1.0.15" - tmp "^0.0.29" - -extglob@^0.3.1: - version "0.3.2" - resolved "http://npm.nexx.com.vn/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - dependencies: - is-extglob "^1.0.0" - -extsprintf@1.3.0, extsprintf@^1.2.0: - version "1.3.0" - resolved "http://npm.nexx.com.vn/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "http://npm.nexx.com.vn/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - -fb-watchman@^1.8.0, fb-watchman@^1.9.0: - version "1.9.2" - resolved "http://npm.nexx.com.vn/fb-watchman/-/fb-watchman-1.9.2.tgz#a24cf47827f82d38fb59a69ad70b76e3b6ae7383" - dependencies: - bser "1.0.2" - -fd-slicer@~1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" - dependencies: - pend "~1.2.0" - -figures@^1.3.5: - version "1.7.0" - resolved "http://npm.nexx.com.vn/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - -file-entry-cache@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" - dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" - -file-type@^3.8.0: - version "3.9.0" - resolved "http://npm.nexx.com.vn/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" - -file-type@^5.2.0: - version "5.2.0" - resolved "http://npm.nexx.com.vn/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" - -file-type@^6.1.0: - version "6.1.0" - resolved "http://npm.nexx.com.vn/file-type/-/file-type-6.1.0.tgz#5a7dba98138fa0abec7afc43e5a9a0b2aac729f1" - -filename-regex@^2.0.0: - version "2.0.1" - resolved "http://npm.nexx.com.vn/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - -filename-reserved-regex@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" - -filenamify@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/filenamify/-/filenamify-2.0.0.tgz#bd162262c0b6e94bfbcdcf19a3bbb3764f785695" - dependencies: - filename-reserved-regex "^2.0.0" - strip-outer "^1.0.0" - trim-repeated "^1.0.0" - -fileset@^2.0.2: - version "2.0.3" - resolved "http://npm.nexx.com.vn/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" - dependencies: - glob "^7.0.3" - minimatch "^3.0.3" - -filesize@^3.3.0: - version "3.5.10" - resolved "http://npm.nexx.com.vn/filesize/-/filesize-3.5.10.tgz#fc8fa23ddb4ef9e5e0ab6e1e64f679a24a56761f" - -fill-keys@^1.0.2: - version "1.0.2" - resolved "http://npm.nexx.com.vn/fill-keys/-/fill-keys-1.0.2.tgz#9a8fa36f4e8ad634e3bf6b4f3c8882551452eb20" - dependencies: - is-object "~1.0.1" - merge-descriptors "~1.0.0" - -fill-range@^2.1.0: - version "2.2.3" - resolved "http://npm.nexx.com.vn/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -find-up@^1.0.0, find-up@^1.1.2: - version "1.1.2" - resolved "http://npm.nexx.com.vn/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.1.0: - version "2.1.0" - resolved "http://npm.nexx.com.vn/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - dependencies: - locate-path "^2.0.0" - -flat-cache@^1.2.1: - version "1.2.2" - resolved "http://npm.nexx.com.vn/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" - dependencies: - circular-json "^0.3.1" - del "^2.0.2" - graceful-fs "^4.1.2" - write "^0.2.1" - -for-in@^1.0.1, for-in@^1.0.2: - version "1.0.2" - resolved "http://npm.nexx.com.vn/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - -for-own@^0.1.4: - version "0.1.5" - resolved "http://npm.nexx.com.vn/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - dependencies: - for-in "^1.0.1" - -foreach@^2.0.5: - version "2.0.5" - resolved "http://npm.nexx.com.vn/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "http://npm.nexx.com.vn/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - -form-data@^2.1.1: - version "2.3.1" - resolved "http://npm.nexx.com.vn/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -form-data@~2.1.1: - version "2.1.4" - resolved "http://npm.nexx.com.vn/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -formatio@1.1.1: - version "1.1.1" - resolved "http://npm.nexx.com.vn/formatio/-/formatio-1.1.1.tgz#5ed3ccd636551097383465d996199100e86161e9" - dependencies: - samsam "~1.1" - -formidable@^1.1.1: - version "1.1.1" - resolved "http://npm.nexx.com.vn/formidable/-/formidable-1.1.1.tgz#96b8886f7c3c3508b932d6bd70c4d3a88f35f1a9" - -fs-extra@^0.26.7: - version "0.26.7" - resolved "http://npm.nexx.com.vn/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - path-is-absolute "^1.0.0" - rimraf "^2.2.8" - -fs-extra@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -function-bind@^1.0.2, function-bind@^1.1.0: - version "1.1.1" - resolved "http://npm.nexx.com.vn/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - -gauge@~1.2.5: - version "1.2.7" - resolved "http://npm.nexx.com.vn/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93" - dependencies: - ansi "^0.3.0" - has-unicode "^2.0.0" - lodash.pad "^4.1.0" - lodash.padend "^4.1.0" - lodash.padstart "^4.1.0" - -generate-function@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "http://npm.nexx.com.vn/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" - -get-caller-file@^1.0.1: - version "1.0.2" - resolved "http://npm.nexx.com.vn/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" - -get-proxy@^2.0.0: - version "2.1.0" - resolved "http://npm.nexx.com.vn/get-proxy/-/get-proxy-2.1.0.tgz#349f2b4d91d44c4d4d4e9cba2ad90143fac5ef93" - dependencies: - npm-conf "^1.1.0" - -get-stdin@^5.0.1: - version "5.0.1" - resolved "http://npm.nexx.com.vn/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" - -get-stream@^2.2.0: - version "2.3.1" - resolved "http://npm.nexx.com.vn/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" - dependencies: - object-assign "^4.0.1" - pinkie-promise "^2.0.0" - -get-stream@^3.0.0: - version "3.0.0" - resolved "http://npm.nexx.com.vn/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - -getpass@^0.1.1: - version "0.1.7" - resolved "http://npm.nexx.com.vn/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - dependencies: - assert-plus "^1.0.0" - -glob-base@^0.3.0: - version "0.3.0" - resolved "http://npm.nexx.com.vn/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - dependencies: - is-glob "^2.0.0" - -glob@7.1.1: - version "7.1.1" - resolved "http://npm.nexx.com.vn/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^5.0.15: - version "5.0.15" - resolved "http://npm.nexx.com.vn/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5: - version "7.1.2" - resolved "http://npm.nexx.com.vn/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^9.14.0, globals@^9.18.0: - version "9.18.0" - resolved "http://npm.nexx.com.vn/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - -globby@^5.0.0: - version "5.0.0" - resolved "http://npm.nexx.com.vn/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^6.1.0: - version "6.1.0" - resolved "http://npm.nexx.com.vn/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -got@^6.3.0: - version "6.7.1" - resolved "http://npm.nexx.com.vn/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" - dependencies: - create-error-class "^3.0.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" - -graceful-fs@^4.1.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.1.11" - resolved "http://npm.nexx.com.vn/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "http://npm.nexx.com.vn/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - -graphlib@^2.1.1: - version "2.1.1" - resolved "http://npm.nexx.com.vn/graphlib/-/graphlib-2.1.1.tgz#42352c52ba2f4d035cb566eb91f7395f76ebc951" - dependencies: - lodash "^4.11.1" - -graphql-anywhere@^3.0.1: - version "3.1.0" - resolved "http://npm.nexx.com.vn/graphql-anywhere/-/graphql-anywhere-3.1.0.tgz#3ea0d8e8646b5cee68035016a9a7557c15c21e96" - -graphql-tag@^2.0.0, graphql-tag@^2.4.0, graphql-tag@^2.4.2: - version "2.4.2" - resolved "http://npm.nexx.com.vn/graphql-tag/-/graphql-tag-2.4.2.tgz#6a63297d8522d03a2b72d26f1b239aab343840cd" - -graphql@^0.10.0, graphql@^0.10.1, graphql@^0.10.3: - version "0.10.5" - resolved "http://npm.nexx.com.vn/graphql/-/graphql-0.10.5.tgz#c9be17ca2bdfdbd134077ffd9bbaa48b8becd298" - dependencies: - iterall "^1.1.0" - -gray-matter@^2.1.0: - version "2.1.1" - resolved "http://npm.nexx.com.vn/gray-matter/-/gray-matter-2.1.1.tgz#3042d9adec2a1ded6a7707a9ed2380f8a17a430e" - dependencies: - ansi-red "^0.1.1" - coffee-script "^1.12.4" - extend-shallow "^2.0.1" - js-yaml "^3.8.1" - toml "^2.3.2" - -growl@1.9.2: - version "1.9.2" - resolved "http://npm.nexx.com.vn/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" - -growly@^1.2.0: - version "1.3.0" - resolved "http://npm.nexx.com.vn/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - -handlebars@^4.0.1, handlebars@^4.0.3: - version "4.0.10" - resolved "http://npm.nexx.com.vn/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" - dependencies: - async "^1.4.0" - optimist "^0.6.1" - source-map "^0.4.4" - optionalDependencies: - uglify-js "^2.6" - -har-schema@^1.0.5: - version "1.0.5" - resolved "http://npm.nexx.com.vn/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" - -har-validator@~2.0.6: - version "2.0.6" - resolved "http://npm.nexx.com.vn/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" - dependencies: - chalk "^1.1.1" - commander "^2.9.0" - is-my-json-valid "^2.12.4" - pinkie-promise "^2.0.0" - -har-validator@~4.2.1: - version "4.2.1" - resolved "http://npm.nexx.com.vn/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" - dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -has-flag@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - -has-flag@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - -has-symbol-support-x@^1.4.0: - version "1.4.0" - resolved "http://npm.nexx.com.vn/has-symbol-support-x/-/has-symbol-support-x-1.4.0.tgz#442d89b1d0ac6cf5ff2f7b916ee539869b93a256" - -has-to-string-tag-x@^1.2.0: - version "1.4.0" - resolved "http://npm.nexx.com.vn/has-to-string-tag-x/-/has-to-string-tag-x-1.4.0.tgz#49d7bcde85c2409be38ac327e3e119a451657c7b" - dependencies: - has-symbol-support-x "^1.4.0" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "http://npm.nexx.com.vn/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - -has@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" - dependencies: - function-bind "^1.0.2" - -hawk@~3.1.3: - version "3.1.3" - resolved "http://npm.nexx.com.vn/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - -hoek@2.x.x: - version "2.16.3" - resolved "http://npm.nexx.com.vn/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - -hosted-git-info@^2.1.4: - version "2.5.0" - resolved "http://npm.nexx.com.vn/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" - -html-encoding-sniffer@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz#79bf7a785ea495fe66165e734153f363ff5437da" - dependencies: - whatwg-encoding "^1.0.1" - -http-basic@^2.5.1: - version "2.5.1" - resolved "http://npm.nexx.com.vn/http-basic/-/http-basic-2.5.1.tgz#8ce447bdb5b6c577f8a63e3fa78056ec4bb4dbfb" - dependencies: - caseless "~0.11.0" - concat-stream "^1.4.6" - http-response-object "^1.0.0" - -http-response-object@^1.0.0, http-response-object@^1.0.1, http-response-object@^1.1.0: - version "1.1.0" - resolved "http://npm.nexx.com.vn/http-response-object/-/http-response-object-1.1.0.tgz#a7c4e75aae82f3bb4904e4f43f615673b4d518c3" - -http-signature@~1.1.0: - version "1.1.1" - resolved "http://npm.nexx.com.vn/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-proxy-agent@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6" - dependencies: - agent-base "2" - debug "2" - extend "3" - -iconv-lite@0.4.13: - version "0.4.13" - resolved "http://npm.nexx.com.vn/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" - -iconv-lite@~0.4.13: - version "0.4.18" - resolved "http://npm.nexx.com.vn/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2" - -ieee754@^1.1.4: - version "1.1.8" - resolved "http://npm.nexx.com.vn/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" - -ignore@^3.2.0: - version "3.3.5" - resolved "http://npm.nexx.com.vn/ignore/-/ignore-3.3.5.tgz#c4e715455f6073a8d7e5dae72d2fc9d71663dba6" - -immediate@~3.0.5: - version "3.0.6" - resolved "http://npm.nexx.com.vn/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "http://npm.nexx.com.vn/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - -inflight@^1.0.4: - version "1.0.6" - resolved "http://npm.nexx.com.vn/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "http://npm.nexx.com.vn/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -inherits@2.0.1: - version "2.0.1" - resolved "http://npm.nexx.com.vn/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - -ini@^1.3.4, ini@~1.3.0: - version "1.3.4" - resolved "http://npm.nexx.com.vn/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" - -inquirer@^0.12.0: - version "0.12.0" - resolved "http://npm.nexx.com.vn/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" - dependencies: - ansi-escapes "^1.1.0" - ansi-regex "^2.0.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - figures "^1.3.5" - lodash "^4.3.0" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^3.1.2" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - -inquirer@^1.0.2: - version "1.2.3" - resolved "http://npm.nexx.com.vn/inquirer/-/inquirer-1.2.3.tgz#4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918" - dependencies: - ansi-escapes "^1.1.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - external-editor "^1.1.0" - figures "^1.3.5" - lodash "^4.3.0" - mute-stream "0.0.6" - pinkie-promise "^2.0.0" - run-async "^2.2.0" - rx "^4.1.0" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - -interpret@^1.0.0: - version "1.0.3" - resolved "http://npm.nexx.com.vn/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" - -invariant@^2.2.2: - version "2.2.2" - resolved "http://npm.nexx.com.vn/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" - dependencies: - loose-envify "^1.0.0" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "http://npm.nexx.com.vn/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-buffer@^1.1.5: - version "1.1.5" - resolved "http://npm.nexx.com.vn/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" - -is-callable@^1.1.1, is-callable@^1.1.3: - version "1.1.3" - resolved "http://npm.nexx.com.vn/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" - -is-ci@^1.0.9: - version "1.0.10" - resolved "http://npm.nexx.com.vn/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" - dependencies: - ci-info "^1.0.0" - -is-date-object@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - -is-docker@^1.1.0: - version "1.1.0" - resolved "http://npm.nexx.com.vn/is-docker/-/is-docker-1.1.0.tgz#f04374d4eee5310e9a8e113bf1495411e46176a1" - -is-dotfile@^1.0.0: - version "1.0.3" - resolved "http://npm.nexx.com.vn/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "http://npm.nexx.com.vn/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "http://npm.nexx.com.vn/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - -is-finite@^1.0.0: - version "1.0.2" - resolved "http://npm.nexx.com.vn/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "http://npm.nexx.com.vn/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - dependencies: - is-extglob "^1.0.0" - -is-local-path@^0.1.6: - version "0.1.6" - resolved "http://npm.nexx.com.vn/is-local-path/-/is-local-path-0.1.6.tgz#815d144b14d569cecbead4d5693097f00a9bf6c5" - -is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: - version "2.16.1" - resolved "http://npm.nexx.com.vn/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz#5a846777e2c2620d1e69104e5d3a03b1f6088f11" - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" - -is-natural-number@^4.0.1: - version "4.0.1" - resolved "http://npm.nexx.com.vn/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" - -is-number@^2.1.0: - version "2.1.0" - resolved "http://npm.nexx.com.vn/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - dependencies: - kind-of "^3.0.2" - -is-number@^3.0.0: - version "3.0.0" - resolved "http://npm.nexx.com.vn/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - dependencies: - kind-of "^3.0.2" - -is-object@^1.0.1, is-object@~1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" - -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - -is-path-in-cwd@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" - dependencies: - path-is-inside "^1.0.1" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "http://npm.nexx.com.vn/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - -is-primitive@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - -is-promise@^2.1.0: - version "2.1.0" - resolved "http://npm.nexx.com.vn/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - -is-property@^1.0.0: - version "1.0.2" - resolved "http://npm.nexx.com.vn/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - -is-redirect@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - -is-regex@^1.0.4: - version "1.0.4" - resolved "http://npm.nexx.com.vn/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - dependencies: - has "^1.0.1" - -is-resolvable@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" - dependencies: - tryit "^1.0.1" - -is-retry-allowed@^1.0.0: - version "1.1.0" - resolved "http://npm.nexx.com.vn/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - -is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: - version "1.1.0" - resolved "http://npm.nexx.com.vn/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - -is-symbol@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "http://npm.nexx.com.vn/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -is-wsl@^1.1.0: - version "1.1.0" - resolved "http://npm.nexx.com.vn/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isexe@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - -isobject@^2.0.0: - version "2.1.0" - resolved "http://npm.nexx.com.vn/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - -isobject@^3.0.1: - version "3.0.1" - resolved "http://npm.nexx.com.vn/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - -isomorphic-fetch@^2.2.1: - version "2.2.1" - resolved "http://npm.nexx.com.vn/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - dependencies: - node-fetch "^1.0.1" - whatwg-fetch ">=0.10.0" - -isstream@~0.1.2: - version "0.1.2" - resolved "http://npm.nexx.com.vn/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - -istanbul-api@^1.1.0-alpha.1: - version "1.1.13" - resolved "http://npm.nexx.com.vn/istanbul-api/-/istanbul-api-1.1.13.tgz#7197f64413600ebdfec6347a2dc3d4e03f97ed5a" - dependencies: - async "^2.1.4" - fileset "^2.0.2" - istanbul-lib-coverage "^1.1.1" - istanbul-lib-hook "^1.0.7" - istanbul-lib-instrument "^1.7.5" - istanbul-lib-report "^1.1.1" - istanbul-lib-source-maps "^1.2.1" - istanbul-reports "^1.1.2" - js-yaml "^3.7.0" - mkdirp "^0.5.1" - once "^1.4.0" - -istanbul-lib-coverage@^1.0.0, istanbul-lib-coverage@^1.1.1: - version "1.1.1" - resolved "http://npm.nexx.com.vn/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" - -istanbul-lib-hook@^1.0.7: - version "1.0.7" - resolved "http://npm.nexx.com.vn/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz#dd6607f03076578fe7d6f2a630cf143b49bacddc" - dependencies: - append-transform "^0.4.0" - -istanbul-lib-instrument@^1.1.1, istanbul-lib-instrument@^1.4.2, istanbul-lib-instrument@^1.7.5: - version "1.7.5" - resolved "http://npm.nexx.com.vn/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.5.tgz#adb596f8f0cb8b95e739206351a38a586af21b1e" - dependencies: - babel-generator "^6.18.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.17.4" - istanbul-lib-coverage "^1.1.1" - semver "^5.3.0" - -istanbul-lib-report@^1.1.1: - version "1.1.1" - resolved "http://npm.nexx.com.vn/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#f0e55f56655ffa34222080b7a0cd4760e1405fc9" - dependencies: - istanbul-lib-coverage "^1.1.1" - mkdirp "^0.5.1" - path-parse "^1.0.5" - supports-color "^3.1.2" - -istanbul-lib-source-maps@^1.2.1: - version "1.2.1" - resolved "http://npm.nexx.com.vn/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz#a6fe1acba8ce08eebc638e572e294d267008aa0c" - dependencies: - debug "^2.6.3" - istanbul-lib-coverage "^1.1.1" - mkdirp "^0.5.1" - rimraf "^2.6.1" - source-map "^0.5.3" - -istanbul-reports@^1.1.2: - version "1.1.2" - resolved "http://npm.nexx.com.vn/istanbul-reports/-/istanbul-reports-1.1.2.tgz#0fb2e3f6aa9922bd3ce45d05d8ab4d5e8e07bd4f" - dependencies: - handlebars "^4.0.3" - -istanbul@^0.4.4: - version "0.4.5" - resolved "http://npm.nexx.com.vn/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" - dependencies: - abbrev "1.0.x" - async "1.x" - escodegen "1.8.x" - esprima "2.7.x" - glob "^5.0.15" - handlebars "^4.0.1" - js-yaml "3.x" - mkdirp "0.5.x" - nopt "3.x" - once "1.x" - resolve "1.1.x" - supports-color "^3.1.0" - which "^1.1.1" - wordwrap "^1.0.0" - -isurl@^1.0.0-alpha5: - version "1.0.0" - resolved "http://npm.nexx.com.vn/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" - dependencies: - has-to-string-tag-x "^1.2.0" - is-object "^1.0.1" - -iterall@^1.1.0: - version "1.1.1" - resolved "http://npm.nexx.com.vn/iterall/-/iterall-1.1.1.tgz#f7f0af11e9a04ec6426260f5019d9fcca4d50214" - -jest-changed-files@^17.0.2: - version "17.0.2" - resolved "http://npm.nexx.com.vn/jest-changed-files/-/jest-changed-files-17.0.2.tgz#f5657758736996f590a51b87e5c9369d904ba7b7" - -jest-cli@^18.0.0: - version "18.1.0" - resolved "http://npm.nexx.com.vn/jest-cli/-/jest-cli-18.1.0.tgz#5ead36ecad420817c2c9baa2aa7574f63257b3d6" - dependencies: - ansi-escapes "^1.4.0" - callsites "^2.0.0" - chalk "^1.1.1" - graceful-fs "^4.1.6" - is-ci "^1.0.9" - istanbul-api "^1.1.0-alpha.1" - istanbul-lib-coverage "^1.0.0" - istanbul-lib-instrument "^1.1.1" - jest-changed-files "^17.0.2" - jest-config "^18.1.0" - jest-environment-jsdom "^18.1.0" - jest-file-exists "^17.0.0" - jest-haste-map "^18.1.0" - jest-jasmine2 "^18.1.0" - jest-mock "^18.0.0" - jest-resolve "^18.1.0" - jest-resolve-dependencies "^18.1.0" - jest-runtime "^18.1.0" - jest-snapshot "^18.1.0" - jest-util "^18.1.0" - json-stable-stringify "^1.0.0" - node-notifier "^4.6.1" - sane "~1.4.1" - strip-ansi "^3.0.1" - throat "^3.0.0" - which "^1.1.1" - worker-farm "^1.3.1" - yargs "^6.3.0" - -jest-config@^18.1.0: - version "18.1.0" - resolved "http://npm.nexx.com.vn/jest-config/-/jest-config-18.1.0.tgz#6111740a6d48aab86ff5a9e6ab0b98bd993b6ff4" - dependencies: - chalk "^1.1.1" - jest-environment-jsdom "^18.1.0" - jest-environment-node "^18.1.0" - jest-jasmine2 "^18.1.0" - jest-mock "^18.0.0" - jest-resolve "^18.1.0" - jest-util "^18.1.0" - json-stable-stringify "^1.0.0" - -jest-diff@^18.1.0: - version "18.1.0" - resolved "http://npm.nexx.com.vn/jest-diff/-/jest-diff-18.1.0.tgz#4ff79e74dd988c139195b365dc65d87f606f4803" - dependencies: - chalk "^1.1.3" - diff "^3.0.0" - jest-matcher-utils "^18.1.0" - pretty-format "^18.1.0" - -jest-environment-jsdom@^18.1.0: - version "18.1.0" - resolved "http://npm.nexx.com.vn/jest-environment-jsdom/-/jest-environment-jsdom-18.1.0.tgz#18b42f0c4ea2bae9f36cab3639b1e8f8c384e24e" - dependencies: - jest-mock "^18.0.0" - jest-util "^18.1.0" - jsdom "^9.9.1" - -jest-environment-node@^18.1.0: - version "18.1.0" - resolved "http://npm.nexx.com.vn/jest-environment-node/-/jest-environment-node-18.1.0.tgz#4d6797572c8dda99acf5fae696eb62945547c779" - dependencies: - jest-mock "^18.0.0" - jest-util "^18.1.0" - -jest-file-exists@^17.0.0: - version "17.0.0" - resolved "http://npm.nexx.com.vn/jest-file-exists/-/jest-file-exists-17.0.0.tgz#7f63eb73a1c43a13f461be261768b45af2cdd169" - -jest-haste-map@^18.1.0: - version "18.1.0" - resolved "http://npm.nexx.com.vn/jest-haste-map/-/jest-haste-map-18.1.0.tgz#06839c74b770a40c1a106968851df8d281c08375" - dependencies: - fb-watchman "^1.9.0" - graceful-fs "^4.1.6" - micromatch "^2.3.11" - sane "~1.4.1" - worker-farm "^1.3.1" - -jest-jasmine2@^18.1.0: - version "18.1.0" - resolved "http://npm.nexx.com.vn/jest-jasmine2/-/jest-jasmine2-18.1.0.tgz#094e104c2c189708766c77263bb2aecb5860a80b" - dependencies: - graceful-fs "^4.1.6" - jest-matcher-utils "^18.1.0" - jest-matchers "^18.1.0" - jest-snapshot "^18.1.0" - jest-util "^18.1.0" - -jest-matcher-utils@^18.1.0: - version "18.1.0" - resolved "http://npm.nexx.com.vn/jest-matcher-utils/-/jest-matcher-utils-18.1.0.tgz#1ac4651955ee2a60cef1e7fcc98cdfd773c0f932" - dependencies: - chalk "^1.1.3" - pretty-format "^18.1.0" - -jest-matchers@^18.1.0: - version "18.1.0" - resolved "http://npm.nexx.com.vn/jest-matchers/-/jest-matchers-18.1.0.tgz#0341484bf87a1fd0bac0a4d2c899e2b77a3f1ead" - dependencies: - jest-diff "^18.1.0" - jest-matcher-utils "^18.1.0" - jest-util "^18.1.0" - pretty-format "^18.1.0" - -jest-mock@^18.0.0: - version "18.0.0" - resolved "http://npm.nexx.com.vn/jest-mock/-/jest-mock-18.0.0.tgz#5c248846ea33fa558b526f5312ab4a6765e489b3" - -jest-resolve-dependencies@^18.1.0: - version "18.1.0" - resolved "http://npm.nexx.com.vn/jest-resolve-dependencies/-/jest-resolve-dependencies-18.1.0.tgz#8134fb5caf59c9ed842fe0152ab01c52711f1bbb" - dependencies: - jest-file-exists "^17.0.0" - jest-resolve "^18.1.0" - -jest-resolve@^18.1.0: - version "18.1.0" - resolved "http://npm.nexx.com.vn/jest-resolve/-/jest-resolve-18.1.0.tgz#6800accb536658c906cd5e29de412b1ab9ac249b" - dependencies: - browser-resolve "^1.11.2" - jest-file-exists "^17.0.0" - jest-haste-map "^18.1.0" - resolve "^1.2.0" - -jest-runtime@^18.1.0: - version "18.1.0" - resolved "http://npm.nexx.com.vn/jest-runtime/-/jest-runtime-18.1.0.tgz#3abfd687175b21fc3b85a2b8064399e997859922" - dependencies: - babel-core "^6.0.0" - babel-jest "^18.0.0" - babel-plugin-istanbul "^3.0.0" - chalk "^1.1.3" - graceful-fs "^4.1.6" - jest-config "^18.1.0" - jest-file-exists "^17.0.0" - jest-haste-map "^18.1.0" - jest-mock "^18.0.0" - jest-resolve "^18.1.0" - jest-snapshot "^18.1.0" - jest-util "^18.1.0" - json-stable-stringify "^1.0.0" - micromatch "^2.3.11" - yargs "^6.3.0" - -jest-snapshot@^18.1.0: - version "18.1.0" - resolved "http://npm.nexx.com.vn/jest-snapshot/-/jest-snapshot-18.1.0.tgz#55b96d2ee639c9bce76f87f2a3fd40b71c7a5916" - dependencies: - jest-diff "^18.1.0" - jest-file-exists "^17.0.0" - jest-matcher-utils "^18.1.0" - jest-util "^18.1.0" - natural-compare "^1.4.0" - pretty-format "^18.1.0" - -jest-util@^18.1.0: - version "18.1.0" - resolved "http://npm.nexx.com.vn/jest-util/-/jest-util-18.1.0.tgz#3a99c32114ab17f84be094382527006e6d4bfc6a" - dependencies: - chalk "^1.1.1" - diff "^3.0.0" - graceful-fs "^4.1.6" - jest-file-exists "^17.0.0" - jest-mock "^18.0.0" - mkdirp "^0.5.1" - -jmespath@0.15.0: - version "0.15.0" - resolved "http://npm.nexx.com.vn/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" - -js-tokens@^3.0.0, js-tokens@^3.0.2: - version "3.0.2" - resolved "http://npm.nexx.com.vn/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - -js-yaml@3.6.1: - version "3.6.1" - resolved "http://npm.nexx.com.vn/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" - dependencies: - argparse "^1.0.7" - esprima "^2.6.0" - -js-yaml@3.x, js-yaml@^3.5.1, js-yaml@^3.6.1, js-yaml@^3.7.0, js-yaml@^3.8.1, js-yaml@^3.8.3: - version "3.9.1" - resolved "http://npm.nexx.com.vn/js-yaml/-/js-yaml-3.9.1.tgz#08775cebdfdd359209f0d2acd383c8f86a6904a0" - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "http://npm.nexx.com.vn/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - -jsdom@^9.9.1: - version "9.12.0" - resolved "http://npm.nexx.com.vn/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4" - dependencies: - abab "^1.0.3" - acorn "^4.0.4" - acorn-globals "^3.1.0" - array-equal "^1.0.0" - content-type-parser "^1.0.1" - cssom ">= 0.3.2 < 0.4.0" - cssstyle ">= 0.2.37 < 0.3.0" - escodegen "^1.6.1" - html-encoding-sniffer "^1.0.1" - nwmatcher ">= 1.3.9 < 2.0.0" - parse5 "^1.5.1" - request "^2.79.0" - sax "^1.2.1" - symbol-tree "^3.2.1" - tough-cookie "^2.3.2" - webidl-conversions "^4.0.0" - whatwg-encoding "^1.0.1" - whatwg-url "^4.3.0" - xml-name-validator "^2.0.1" - -jsesc@^1.3.0: - version "1.3.0" - resolved "http://npm.nexx.com.vn/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - -json-refs@^2.1.5: - version "2.1.7" - resolved "http://npm.nexx.com.vn/json-refs/-/json-refs-2.1.7.tgz#b9eb01fe29f5ea3e92878f15aea10ad38b5acf89" - dependencies: - commander "^2.9.0" - graphlib "^2.1.1" - js-yaml "^3.8.3" - native-promise-only "^0.8.1" - path-loader "^1.0.2" - slash "^1.0.0" - uri-js "^3.0.2" - -json-schema@0.2.3: - version "0.2.3" - resolved "http://npm.nexx.com.vn/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - -json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@5.0.1, json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "http://npm.nexx.com.vn/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - -json3@3.3.2: - version "3.3.2" - resolved "http://npm.nexx.com.vn/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" - -json5@^0.5.1: - version "0.5.1" - resolved "http://npm.nexx.com.vn/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - -jsonfile@^2.1.0: - version "2.4.0" - resolved "http://npm.nexx.com.vn/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@~0.0.0: - version "0.0.0" - resolved "http://npm.nexx.com.vn/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - -jsonpointer@^4.0.0: - version "4.0.1" - resolved "http://npm.nexx.com.vn/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - -jsprim@^1.2.2: - version "1.4.1" - resolved "http://npm.nexx.com.vn/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.4: - version "1.4.1" - resolved "http://npm.nexx.com.vn/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1" - -jszip@^3.1.2: - version "3.1.4" - resolved "http://npm.nexx.com.vn/jszip/-/jszip-3.1.4.tgz#fc323fe41bb1730348d20dd022aa4d8b57cbbcf9" - dependencies: - core-js "~2.3.0" - es6-promise "~3.0.2" - lie "~3.1.0" - pako "~1.0.2" - readable-stream "~2.0.6" - -jwt-decode@^2.2.0: - version "2.2.0" - resolved "http://npm.nexx.com.vn/jwt-decode/-/jwt-decode-2.2.0.tgz#7d86bd56679f58ce6a84704a657dd392bba81a79" - -kind-of@^3.0.2: - version "3.2.2" - resolved "http://npm.nexx.com.vn/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "http://npm.nexx.com.vn/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - dependencies: - is-buffer "^1.1.5" - -klaw@^1.0.0: - version "1.3.1" - resolved "http://npm.nexx.com.vn/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" - optionalDependencies: - graceful-fs "^4.1.9" - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "http://npm.nexx.com.vn/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - -lazy-cache@^2.0.2: - version "2.0.2" - resolved "http://npm.nexx.com.vn/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" - dependencies: - set-getter "^0.1.0" - -lazystream@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" - dependencies: - readable-stream "^2.0.5" - -lcid@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - dependencies: - invert-kv "^1.0.0" - -lcov-parse@0.0.10: - version "0.0.10" - resolved "http://npm.nexx.com.vn/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3" - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "http://npm.nexx.com.vn/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lie@~3.1.0: - version "3.1.1" - resolved "http://npm.nexx.com.vn/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" - dependencies: - immediate "~3.0.5" - -list-item@^1.1.1: - version "1.1.1" - resolved "http://npm.nexx.com.vn/list-item/-/list-item-1.1.1.tgz#0c65d00e287cb663ccb3cb3849a77e89ec268a56" - dependencies: - expand-range "^1.8.1" - extend-shallow "^2.0.1" - is-number "^2.1.0" - repeat-string "^1.5.2" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "http://npm.nexx.com.vn/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -lodash-es@^4.2.1: - version "4.17.4" - resolved "http://npm.nexx.com.vn/lodash-es/-/lodash-es-4.17.4.tgz#dcc1d7552e150a0640073ba9cb31d70f032950e7" - -lodash._arraycopy@^3.0.0: - version "3.0.0" - resolved "http://npm.nexx.com.vn/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1" - -lodash._arrayeach@^3.0.0: - version "3.0.0" - resolved "http://npm.nexx.com.vn/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz#bab156b2a90d3f1bbd5c653403349e5e5933ef9e" - -lodash._baseassign@^3.0.0: - version "3.2.0" - resolved "http://npm.nexx.com.vn/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" - dependencies: - lodash._basecopy "^3.0.0" - lodash.keys "^3.0.0" - -lodash._baseclone@^3.0.0: - version "3.3.0" - resolved "http://npm.nexx.com.vn/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz#303519bf6393fe7e42f34d8b630ef7794e3542b7" - dependencies: - lodash._arraycopy "^3.0.0" - lodash._arrayeach "^3.0.0" - lodash._baseassign "^3.0.0" - lodash._basefor "^3.0.0" - lodash.isarray "^3.0.0" - lodash.keys "^3.0.0" - -lodash._basecopy@^3.0.0: - version "3.0.1" - resolved "http://npm.nexx.com.vn/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" - -lodash._basecreate@^3.0.0: - version "3.0.3" - resolved "http://npm.nexx.com.vn/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" - -lodash._basefor@^3.0.0: - version "3.0.3" - resolved "http://npm.nexx.com.vn/lodash._basefor/-/lodash._basefor-3.0.3.tgz#7550b4e9218ef09fad24343b612021c79b4c20c2" - -lodash._bindcallback@^3.0.0: - version "3.0.1" - resolved "http://npm.nexx.com.vn/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" - -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "http://npm.nexx.com.vn/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - -lodash._isiterateecall@^3.0.0: - version "3.0.9" - resolved "http://npm.nexx.com.vn/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" - -lodash.assign@^4.2.0: - version "4.2.0" - resolved "http://npm.nexx.com.vn/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" - -lodash.clonedeep@^3.0.0: - version "3.0.2" - resolved "http://npm.nexx.com.vn/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz#a0a1e40d82a5ea89ff5b147b8444ed63d92827db" - dependencies: - lodash._baseclone "^3.0.0" - lodash._bindcallback "^3.0.0" - -lodash.cond@^4.3.0: - version "4.5.2" - resolved "http://npm.nexx.com.vn/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" - -lodash.create@3.1.1: - version "3.1.1" - resolved "http://npm.nexx.com.vn/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" - dependencies: - lodash._baseassign "^3.0.0" - lodash._basecreate "^3.0.0" - lodash._isiterateecall "^3.0.0" - -lodash.difference@^4.5.0: - version "4.5.0" - resolved "http://npm.nexx.com.vn/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" - -lodash.endswith@^4.0.1: - version "4.2.1" - resolved "http://npm.nexx.com.vn/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" - -lodash.find@^4.3.0: - version "4.6.0" - resolved "http://npm.nexx.com.vn/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" - -lodash.findindex@^4.3.0: - version "4.6.0" - resolved "http://npm.nexx.com.vn/lodash.findindex/-/lodash.findindex-4.6.0.tgz#a3245dee61fb9b6e0624b535125624bb69c11106" - -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "http://npm.nexx.com.vn/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - -lodash.isarray@^3.0.0: - version "3.0.4" - resolved "http://npm.nexx.com.vn/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" - -lodash.keys@^3.0.0: - version "3.1.2" - resolved "http://npm.nexx.com.vn/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" - dependencies: - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" - -lodash.pad@^4.1.0: - version "4.5.1" - resolved "http://npm.nexx.com.vn/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70" - -lodash.padend@^4.1.0: - version "4.6.1" - resolved "http://npm.nexx.com.vn/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" - -lodash.padstart@^4.1.0: - version "4.6.1" - resolved "http://npm.nexx.com.vn/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" - -lodash.toarray@^4.4.0: - version "4.4.0" - resolved "http://npm.nexx.com.vn/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "http://npm.nexx.com.vn/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - -lodash@^4.0.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.8.0: - version "4.17.4" - resolved "http://npm.nexx.com.vn/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -log-driver@1.2.5: - version "1.2.5" - resolved "http://npm.nexx.com.vn/log-driver/-/log-driver-1.2.5.tgz#7ae4ec257302fd790d557cb10c97100d857b0056" - -lolex@1.3.2: - version "1.3.2" - resolved "http://npm.nexx.com.vn/lolex/-/lolex-1.3.2.tgz#7c3da62ffcb30f0f5a80a2566ca24e45d8a01f31" - -longest@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - -loose-envify@^1.0.0, loose-envify@^1.1.0: - version "1.3.1" - resolved "http://npm.nexx.com.vn/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" - dependencies: - js-tokens "^3.0.0" - -lowercase-keys@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" - -lsmod@1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/lsmod/-/lsmod-1.0.0.tgz#9a00f76dca36eb23fa05350afe1b585d4299e64b" - -make-dir@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" - dependencies: - pify "^2.3.0" - -makeerror@1.0.x: - version "1.0.11" - resolved "http://npm.nexx.com.vn/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - dependencies: - tmpl "1.0.x" - -markdown-link@^0.1.1: - version "0.1.1" - resolved "http://npm.nexx.com.vn/markdown-link/-/markdown-link-0.1.1.tgz#32c5c65199a6457316322d1e4229d13407c8c7cf" - -markdown-magic@^0.1.15: - version "0.1.18" - resolved "http://npm.nexx.com.vn/markdown-magic/-/markdown-magic-0.1.18.tgz#69a95f0f51248f9fc284ed75f24bdad85a45ceee" - dependencies: - commander "^2.9.0" - deepmerge "^1.3.0" - find-up "^2.1.0" - fs-extra "^1.0.0" - globby "^6.1.0" - is-local-path "^0.1.6" - markdown-toc "^1.0.2" - sync-request "^3.0.1" - -markdown-toc@^1.0.2: - version "1.1.0" - resolved "http://npm.nexx.com.vn/markdown-toc/-/markdown-toc-1.1.0.tgz#18e47237d89549e9447121e69e2ca853ca2d752a" - dependencies: - concat-stream "^1.5.2" - diacritics-map "^0.1.0" - gray-matter "^2.1.0" - lazy-cache "^2.0.2" - list-item "^1.1.1" - markdown-link "^0.1.1" - minimist "^1.2.0" - mixin-deep "^1.1.3" - object.pick "^1.2.0" - remarkable "^1.7.1" - repeat-string "^1.6.1" - strip-color "^0.1.0" - -marked-terminal@^1.6.2: - version "1.7.0" - resolved "http://npm.nexx.com.vn/marked-terminal/-/marked-terminal-1.7.0.tgz#c8c460881c772c7604b64367007ee5f77f125904" - dependencies: - cardinal "^1.0.0" - chalk "^1.1.3" - cli-table "^0.3.1" - lodash.assign "^4.2.0" - node-emoji "^1.4.1" - -marked@^0.3.6: - version "0.3.6" - resolved "http://npm.nexx.com.vn/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" - -merge-descriptors@~1.0.0: - version "1.0.1" - resolved "http://npm.nexx.com.vn/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - -merge@^1.1.3: - version "1.2.0" - resolved "http://npm.nexx.com.vn/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" - -methods@^1.1.1: - version "1.1.2" - resolved "http://npm.nexx.com.vn/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - -micromatch@^2.3.11: - version "2.3.11" - resolved "http://npm.nexx.com.vn/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -mime-db@~1.29.0: - version "1.29.0" - resolved "http://npm.nexx.com.vn/mime-db/-/mime-db-1.29.0.tgz#48d26d235589651704ac5916ca06001914266878" - -mime-types@^2.1.12, mime-types@~2.1.7: - version "2.1.16" - resolved "http://npm.nexx.com.vn/mime-types/-/mime-types-2.1.16.tgz#2b858a52e5ecd516db897ac2be87487830698e23" - dependencies: - mime-db "~1.29.0" - -mime@^1.3.6: - version "1.4.0" - resolved "http://npm.nexx.com.vn/mime/-/mime-1.4.0.tgz#69e9e0db51d44f2a3b56e48b7817d7d137f1a343" - -"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: - version "3.0.4" - resolved "http://npm.nexx.com.vn/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "http://npm.nexx.com.vn/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@1.2.0, minimist@^1.1.1, minimist@^1.2.0: - version "1.2.0" - resolved "http://npm.nexx.com.vn/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -minimist@~0.0.1: - version "0.0.10" - resolved "http://npm.nexx.com.vn/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - -mixin-deep@^1.1.3: - version "1.2.0" - resolved "http://npm.nexx.com.vn/mixin-deep/-/mixin-deep-1.2.0.tgz#d02b8c6f8b6d4b8f5982d3fd009c4919851c3fe2" - dependencies: - for-in "^1.0.2" - is-extendable "^0.1.1" - -mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1: - version "0.5.1" - resolved "http://npm.nexx.com.vn/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -mocha-lcov-reporter@^1.2.0: - version "1.3.0" - resolved "http://npm.nexx.com.vn/mocha-lcov-reporter/-/mocha-lcov-reporter-1.3.0.tgz#469bdef4f8afc9a116056f079df6182d0afb0384" - -mocha@^3.0.2: - version "3.5.0" - resolved "http://npm.nexx.com.vn/mocha/-/mocha-3.5.0.tgz#1328567d2717f997030f8006234bce9b8cd72465" - dependencies: - browser-stdout "1.3.0" - commander "2.9.0" - debug "2.6.8" - diff "3.2.0" - escape-string-regexp "1.0.5" - glob "7.1.1" - growl "1.9.2" - json3 "3.3.2" - lodash.create "3.1.1" - mkdirp "0.5.1" - supports-color "3.1.2" - -mock-require@^1.3.0: - version "1.3.0" - resolved "http://npm.nexx.com.vn/mock-require/-/mock-require-1.3.0.tgz#826144952e504762f8e6924aa8f639465d1d7a24" - dependencies: - caller-id "^0.1.0" - -module-not-found-error@^1.0.0: - version "1.0.1" - resolved "http://npm.nexx.com.vn/module-not-found-error/-/module-not-found-error-1.0.1.tgz#cf8b4ff4f29640674d6cdd02b0e3bc523c2bbdc0" - -moment@^2.13.0: - version "2.18.1" - resolved "http://npm.nexx.com.vn/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" - -ms@2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -mute-stream@0.0.5: - version "0.0.5" - resolved "http://npm.nexx.com.vn/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" - -mute-stream@0.0.6: - version "0.0.6" - resolved "http://npm.nexx.com.vn/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" - -native-promise-only@^0.8.1: - version "0.8.1" - resolved "http://npm.nexx.com.vn/native-promise-only/-/native-promise-only-0.8.1.tgz#20a318c30cb45f71fe7adfbf7b21c99c1472ef11" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "http://npm.nexx.com.vn/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - -node-emoji@^1.4.1: - version "1.8.1" - resolved "http://npm.nexx.com.vn/node-emoji/-/node-emoji-1.8.1.tgz#6eec6bfb07421e2148c75c6bba72421f8530a826" - dependencies: - lodash.toarray "^4.4.0" - -node-fetch@^1.0.1, node-fetch@^1.6.0: - version "1.7.2" - resolved "http://npm.nexx.com.vn/node-fetch/-/node-fetch-1.7.2.tgz#c54e9aac57e432875233525f3c891c4159ffefd7" - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - -node-int64@^0.4.0: - version "0.4.0" - resolved "http://npm.nexx.com.vn/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - -node-notifier@^4.6.1: - version "4.6.1" - resolved "http://npm.nexx.com.vn/node-notifier/-/node-notifier-4.6.1.tgz#056d14244f3dcc1ceadfe68af9cff0c5473a33f3" - dependencies: - cli-usage "^0.1.1" - growly "^1.2.0" - lodash.clonedeep "^3.0.0" - minimist "^1.1.1" - semver "^5.1.0" - shellwords "^0.1.0" - which "^1.0.5" - -nopt@3.x: - version "3.0.6" - resolved "http://npm.nexx.com.vn/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2: - version "2.4.0" - resolved "http://npm.nexx.com.vn/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.0.0, normalize-path@^2.0.1: - version "2.1.1" - resolved "http://npm.nexx.com.vn/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - dependencies: - remove-trailing-separator "^1.0.1" - -npm-conf@^1.1.0: - version "1.1.2" - resolved "http://npm.nexx.com.vn/npm-conf/-/npm-conf-1.1.2.tgz#170a2c48a0c6ad0495f03f87aec2da11ef47a525" - dependencies: - config-chain "^1.1.11" - pify "^3.0.0" - -npmlog@^2.0.3: - version "2.0.4" - resolved "http://npm.nexx.com.vn/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692" - dependencies: - ansi "~0.3.1" - are-we-there-yet "~1.1.2" - gauge "~1.2.5" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "http://npm.nexx.com.vn/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -"nwmatcher@>= 1.3.9 < 2.0.0": - version "1.4.1" - resolved "http://npm.nexx.com.vn/nwmatcher/-/nwmatcher-1.4.1.tgz#7ae9b07b0ea804db7e25f05cb5fe4097d4e4949f" - -oauth-sign@~0.8.1: - version "0.8.2" - resolved "http://npm.nexx.com.vn/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "http://npm.nexx.com.vn/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - -object-keys@^1.0.10, object-keys@^1.0.8: - version "1.0.11" - resolved "http://npm.nexx.com.vn/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" - -object.assign@^4.0.4: - version "4.0.4" - resolved "http://npm.nexx.com.vn/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc" - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.0" - object-keys "^1.0.10" - -object.omit@^2.0.0: - version "2.0.1" - resolved "http://npm.nexx.com.vn/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -object.pick@^1.2.0: - version "1.3.0" - resolved "http://npm.nexx.com.vn/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - dependencies: - isobject "^3.0.1" - -once@1.x, once@^1.3.0, once@^1.4.0: - version "1.4.0" - resolved "http://npm.nexx.com.vn/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -onetime@^1.0.0: - version "1.1.0" - resolved "http://npm.nexx.com.vn/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - -opn@^5.0.0: - version "5.1.0" - resolved "http://npm.nexx.com.vn/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" - dependencies: - is-wsl "^1.1.0" - -optimist@^0.6.1: - version "0.6.1" - resolved "http://npm.nexx.com.vn/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -optionator@^0.8.1, optionator@^0.8.2: - version "0.8.2" - resolved "http://npm.nexx.com.vn/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -os-homedir@^1.0.0: - version "1.0.2" - resolved "http://npm.nexx.com.vn/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - -os-locale@^1.4.0: - version "1.4.0" - resolved "http://npm.nexx.com.vn/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - dependencies: - lcid "^1.0.0" - -os-shim@^0.1.2: - version "0.1.3" - resolved "http://npm.nexx.com.vn/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" - -os-tmpdir@^1.0.1, os-tmpdir@~1.0.1: - version "1.0.2" - resolved "http://npm.nexx.com.vn/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - -p-limit@^1.1.0: - version "1.1.0" - resolved "http://npm.nexx.com.vn/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" - -p-locate@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - dependencies: - p-limit "^1.1.0" - -pako@~1.0.2: - version "1.0.5" - resolved "http://npm.nexx.com.vn/pako/-/pako-1.0.5.tgz#d2205dfe5b9da8af797e7c163db4d1f84e4600bc" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "http://npm.nexx.com.vn/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "http://npm.nexx.com.vn/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - dependencies: - error-ex "^1.2.0" - -parse5@^1.5.1: - version "1.5.1" - resolved "http://npm.nexx.com.vn/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" - -path-exists@^2.0.0: - version "2.1.0" - resolved "http://npm.nexx.com.vn/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "http://npm.nexx.com.vn/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - -path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-is-inside@^1.0.1: - version "1.0.2" - resolved "http://npm.nexx.com.vn/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - -path-loader@^1.0.2: - version "1.0.2" - resolved "http://npm.nexx.com.vn/path-loader/-/path-loader-1.0.2.tgz#cd5c73e7e39a91011be148d6bfdd8a85bb931ef9" - dependencies: - native-promise-only "^0.8.1" - superagent "^3.5.2" - -path-parse@^1.0.5: - version "1.0.5" - resolved "http://npm.nexx.com.vn/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" - -path-type@^1.0.0: - version "1.1.0" - resolved "http://npm.nexx.com.vn/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -pend@~1.2.0: - version "1.2.0" - resolved "http://npm.nexx.com.vn/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - -performance-now@^0.2.0: - version "0.2.0" - resolved "http://npm.nexx.com.vn/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" - -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "http://npm.nexx.com.vn/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - -pify@^3.0.0: - version "3.0.0" - resolved "http://npm.nexx.com.vn/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "http://npm.nexx.com.vn/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "http://npm.nexx.com.vn/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -pkg-dir@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - dependencies: - find-up "^1.0.0" - -pkg-up@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" - dependencies: - find-up "^1.0.0" - -pluralize@^1.2.1: - version "1.2.1" - resolved "http://npm.nexx.com.vn/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "http://npm.nexx.com.vn/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - -prepend-http@^1.0.1: - version "1.0.4" - resolved "http://npm.nexx.com.vn/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - -preserve@^0.2.0: - version "0.2.0" - resolved "http://npm.nexx.com.vn/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - -pretty-format@^18.1.0: - version "18.1.0" - resolved "http://npm.nexx.com.vn/pretty-format/-/pretty-format-18.1.0.tgz#fb65a86f7a7f9194963eee91865c1bcf1039e284" - dependencies: - ansi-styles "^2.2.1" - -private@^0.1.7: - version "0.1.7" - resolved "http://npm.nexx.com.vn/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "http://npm.nexx.com.vn/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - -progress@^1.1.8: - version "1.1.8" - resolved "http://npm.nexx.com.vn/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" - -promise@^7.1.1: - version "7.3.1" - resolved "http://npm.nexx.com.vn/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - dependencies: - asap "~2.0.3" - -proto-list@~1.2.1: - version "1.2.4" - resolved "http://npm.nexx.com.vn/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - -proxyquire@^1.7.10: - version "1.8.0" - resolved "http://npm.nexx.com.vn/proxyquire/-/proxyquire-1.8.0.tgz#02d514a5bed986f04cbb2093af16741535f79edc" - dependencies: - fill-keys "^1.0.2" - module-not-found-error "^1.0.0" - resolve "~1.1.7" - -prr@~0.0.0: - version "0.0.0" - resolved "http://npm.nexx.com.vn/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" - -punycode@1.3.2: - version "1.3.2" - resolved "http://npm.nexx.com.vn/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - -punycode@^1.4.1: - version "1.4.1" - resolved "http://npm.nexx.com.vn/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - -punycode@^2.1.0: - version "2.1.0" - resolved "http://npm.nexx.com.vn/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" - -qs@^6.1.0, qs@^6.4.0: - version "6.5.0" - resolved "http://npm.nexx.com.vn/qs/-/qs-6.5.0.tgz#8d04954d364def3efc55b5a0793e1e2c8b1e6e49" - -qs@~6.3.0: - version "6.3.2" - resolved "http://npm.nexx.com.vn/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" - -qs@~6.4.0: - version "6.4.0" - resolved "http://npm.nexx.com.vn/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - -querystring@0.2.0: - version "0.2.0" - resolved "http://npm.nexx.com.vn/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - -querystringify@~1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb" - -ramda@^0.24.1: - version "0.24.1" - resolved "http://npm.nexx.com.vn/ramda/-/ramda-0.24.1.tgz#c3b7755197f35b8dc3502228262c4c91ddb6b857" - -randomatic@^1.1.3: - version "1.1.7" - resolved "http://npm.nexx.com.vn/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -raven@^1.2.1: - version "1.2.1" - resolved "http://npm.nexx.com.vn/raven/-/raven-1.2.1.tgz#949c134db028a190b7bbf8f790aae541b7c020bd" - dependencies: - cookie "0.3.1" - json-stringify-safe "5.0.1" - lsmod "1.0.0" - stack-trace "0.0.9" - uuid "3.0.0" - -rc@^1.1.6: - version "1.2.1" - resolved "http://npm.nexx.com.vn/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" - dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "http://npm.nexx.com.vn/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.2.2: - version "2.3.3" - resolved "http://npm.nexx.com.vn/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - -readable-stream@~2.0.6: - version "2.0.6" - resolved "http://npm.nexx.com.vn/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readline2@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - mute-stream "0.0.5" - -rechoir@^0.6.2: - version "0.6.2" - resolved "http://npm.nexx.com.vn/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - dependencies: - resolve "^1.1.6" - -redeyed@~1.0.0: - version "1.0.1" - resolved "http://npm.nexx.com.vn/redeyed/-/redeyed-1.0.1.tgz#e96c193b40c0816b00aec842698e61185e55498a" - dependencies: - esprima "~3.0.0" - -redux@^3.4.0: - version "3.7.2" - resolved "http://npm.nexx.com.vn/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" - dependencies: - lodash "^4.2.1" - lodash-es "^4.2.1" - loose-envify "^1.1.0" - symbol-observable "^1.0.3" - -regenerator-runtime@^0.11.0: - version "0.11.0" - resolved "http://npm.nexx.com.vn/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" - -regex-cache@^0.4.2: - version "0.4.3" - resolved "http://npm.nexx.com.vn/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" - dependencies: - is-equal-shallow "^0.1.3" - is-primitive "^2.0.0" - -remarkable@^1.7.1: - version "1.7.1" - resolved "http://npm.nexx.com.vn/remarkable/-/remarkable-1.7.1.tgz#aaca4972100b66a642a63a1021ca4bac1be3bff6" - dependencies: - argparse "~0.1.15" - autolinker "~0.15.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "http://npm.nexx.com.vn/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - -repeat-element@^1.1.2: - version "1.1.2" - resolved "http://npm.nexx.com.vn/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - -repeat-string@^1.5.2, repeat-string@^1.6.1: - version "1.6.1" - resolved "http://npm.nexx.com.vn/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -repeating@^2.0.0: - version "2.0.1" - resolved "http://npm.nexx.com.vn/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - dependencies: - is-finite "^1.0.0" - -replaceall@^0.1.6: - version "0.1.6" - resolved "http://npm.nexx.com.vn/replaceall/-/replaceall-0.1.6.tgz#81d81ac7aeb72d7f5c4942adf2697a3220688d8e" - -request@2.79.0: - version "2.79.0" - resolved "http://npm.nexx.com.vn/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - uuid "^3.0.0" - -request@^2.79.0: - version "2.81.0" - resolved "http://npm.nexx.com.vn/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "^0.6.0" - uuid "^3.0.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "http://npm.nexx.com.vn/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - -require-uncached@^1.0.2: - version "1.0.3" - resolved "http://npm.nexx.com.vn/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" - -requires-port@1.0.x: - version "1.0.0" - resolved "http://npm.nexx.com.vn/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - -resolve-from@^1.0.0: - version "1.0.1" - resolved "http://npm.nexx.com.vn/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" - -resolve@1.1.7, resolve@1.1.x, resolve@~1.1.7: - version "1.1.7" - resolved "http://npm.nexx.com.vn/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - -resolve@^1.1.6, resolve@^1.2.0: - version "1.4.0" - resolved "http://npm.nexx.com.vn/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86" - dependencies: - path-parse "^1.0.5" - -restore-cursor@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - -right-align@^0.1.1: - version "0.1.3" - resolved "http://npm.nexx.com.vn/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - dependencies: - align-text "^0.1.1" - -rimraf@^2.2.8, rimraf@^2.6.1: - version "2.6.1" - resolved "http://npm.nexx.com.vn/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" - dependencies: - glob "^7.0.5" - -run-async@^0.1.0: - version "0.1.0" - resolved "http://npm.nexx.com.vn/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" - dependencies: - once "^1.3.0" - -run-async@^2.2.0: - version "2.3.0" - resolved "http://npm.nexx.com.vn/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - dependencies: - is-promise "^2.1.0" - -rx-lite@^3.1.2: - version "3.1.2" - resolved "http://npm.nexx.com.vn/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" - -rx@^4.1.0: - version "4.1.0" - resolved "http://npm.nexx.com.vn/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" - -safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.1" - resolved "http://npm.nexx.com.vn/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" - -samsam@1.1.2: - version "1.1.2" - resolved "http://npm.nexx.com.vn/samsam/-/samsam-1.1.2.tgz#bec11fdc83a9fda063401210e40176c3024d1567" - -samsam@~1.1: - version "1.1.3" - resolved "http://npm.nexx.com.vn/samsam/-/samsam-1.1.3.tgz#9f5087419b4d091f232571e7fa52e90b0f552621" - -sane@~1.4.1: - version "1.4.1" - resolved "http://npm.nexx.com.vn/sane/-/sane-1.4.1.tgz#88f763d74040f5f0c256b6163db399bf110ac715" - dependencies: - exec-sh "^0.2.0" - fb-watchman "^1.8.0" - minimatch "^3.0.2" - minimist "^1.1.1" - walker "~1.0.5" - watch "~0.10.0" - -sax@1.2.1: - version "1.2.1" - resolved "http://npm.nexx.com.vn/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" - -sax@>=0.6.0, sax@^1.2.1: - version "1.2.4" - resolved "http://npm.nexx.com.vn/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - -seek-bzip@^1.0.5: - version "1.0.5" - resolved "http://npm.nexx.com.vn/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" - dependencies: - commander "~2.8.1" - -semver-regex@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9" - -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: - version "5.4.1" - resolved "http://npm.nexx.com.vn/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - -semver@~5.0.1: - version "5.0.3" - resolved "http://npm.nexx.com.vn/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -set-getter@^0.1.0: - version "0.1.0" - resolved "http://npm.nexx.com.vn/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" - dependencies: - to-object-path "^0.3.0" - -shelljs@^0.6.0: - version "0.6.1" - resolved "http://npm.nexx.com.vn/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8" - -shelljs@^0.7.5: - version "0.7.8" - resolved "http://npm.nexx.com.vn/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -shellwords@^0.1.0: - version "0.1.1" - resolved "http://npm.nexx.com.vn/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - -signal-exit@^3.0.2: - version "3.0.2" - resolved "http://npm.nexx.com.vn/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -sinon-bluebird@^3.1.0: - version "3.1.0" - resolved "http://npm.nexx.com.vn/sinon-bluebird/-/sinon-bluebird-3.1.0.tgz#f92680fa546d553a4f5f62de90425eb5dc47841d" - -sinon-chai@^2.9.0: - version "2.13.0" - resolved "http://npm.nexx.com.vn/sinon-chai/-/sinon-chai-2.13.0.tgz#b9a42e801c20234bfc2f43b29e6f4f61b60990c4" - -sinon@^1.17.5: - version "1.17.7" - resolved "http://npm.nexx.com.vn/sinon/-/sinon-1.17.7.tgz#4542a4f49ba0c45c05eb2e9dd9d203e2b8efe0bf" - dependencies: - formatio "1.1.1" - lolex "1.3.2" - samsam "1.1.2" - util ">=0.10.3 <1" - -slash@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - -slice-ansi@0.0.4: - version "0.0.4" - resolved "http://npm.nexx.com.vn/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - -sntp@1.x.x: - version "1.0.9" - resolved "http://npm.nexx.com.vn/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - -source-map-support@^0.4.15: - version "0.4.16" - resolved "http://npm.nexx.com.vn/source-map-support/-/source-map-support-0.4.16.tgz#16fecf98212467d017d586a2af68d628b9421cd8" - dependencies: - source-map "^0.5.6" - -source-map@^0.4.4: - version "0.4.4" - resolved "http://npm.nexx.com.vn/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - dependencies: - amdefine ">=0.0.4" - -source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1: - version "0.5.7" - resolved "http://npm.nexx.com.vn/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - -source-map@~0.2.0: - version "0.2.0" - resolved "http://npm.nexx.com.vn/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" - dependencies: - amdefine ">=0.0.4" - -spawn-sync@^1.0.15: - version "1.0.15" - resolved "http://npm.nexx.com.vn/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" - dependencies: - concat-stream "^1.4.7" - os-shim "^0.1.2" - -spdx-correct@~1.0.0: - version "1.0.2" - resolved "http://npm.nexx.com.vn/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" - dependencies: - spdx-license-ids "^1.0.2" - -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "http://npm.nexx.com.vn/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" - -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "http://npm.nexx.com.vn/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "http://npm.nexx.com.vn/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - -sshpk@^1.7.0: - version "1.13.1" - resolved "http://npm.nexx.com.vn/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: - bcrypt-pbkdf "^1.0.0" - ecc-jsbn "~0.1.1" - jsbn "~0.1.0" - tweetnacl "~0.14.0" - -stack-trace@0.0.9: - version "0.0.9" - resolved "http://npm.nexx.com.vn/stack-trace/-/stack-trace-0.0.9.tgz#a8f6eaeca90674c333e7c43953f275b451510695" - -stack-trace@~0.0.7: - version "0.0.10" - resolved "http://npm.nexx.com.vn/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - -string-width@^1.0.1, string-width@^1.0.2: - version "1.0.2" - resolved "http://npm.nexx.com.vn/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0: - version "2.1.1" - resolved "http://npm.nexx.com.vn/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "http://npm.nexx.com.vn/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@~1.0.3: - version "1.0.3" - resolved "http://npm.nexx.com.vn/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" - dependencies: - safe-buffer "~5.1.0" - -stringstream@~0.0.4: - version "0.0.5" - resolved "http://npm.nexx.com.vn/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "http://npm.nexx.com.vn/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "http://npm.nexx.com.vn/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - dependencies: - ansi-regex "^3.0.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "http://npm.nexx.com.vn/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - -strip-color@^0.1.0: - version "0.1.0" - resolved "http://npm.nexx.com.vn/strip-color/-/strip-color-0.1.0.tgz#106f65d3d3e6a2d9401cac0eb0ce8b8a702b4f7b" - -strip-dirs@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/strip-dirs/-/strip-dirs-2.0.0.tgz#610cdb2928200da0004f41dcb90fc95cd919a0b6" - dependencies: - is-natural-number "^4.0.1" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "http://npm.nexx.com.vn/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - -strip-outer@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/strip-outer/-/strip-outer-1.0.0.tgz#aac0ba60d2e90c5d4f275fd8869fd9a2d310ffb8" - dependencies: - escape-string-regexp "^1.0.2" - -superagent@^3.5.2: - version "3.6.0" - resolved "http://npm.nexx.com.vn/superagent/-/superagent-3.6.0.tgz#eb679651057c3462199c7b902b696c25350e1b87" - dependencies: - component-emitter "^1.2.0" - cookiejar "^2.1.0" - debug "^2.6.0" - extend "^3.0.0" - form-data "^2.1.1" - formidable "^1.1.1" - methods "^1.1.1" - mime "^1.3.6" - qs "^6.4.0" - readable-stream "^2.0.5" - -supports-color@3.1.2: - version "3.1.2" - resolved "http://npm.nexx.com.vn/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" - dependencies: - has-flag "^1.0.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -supports-color@^3.1.0, supports-color@^3.1.2: - version "3.2.3" - resolved "http://npm.nexx.com.vn/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" - dependencies: - has-flag "^1.0.0" - -supports-color@^4.0.0: - version "4.2.1" - resolved "http://npm.nexx.com.vn/supports-color/-/supports-color-4.2.1.tgz#65a4bb2631e90e02420dba5554c375a4754bb836" - dependencies: - has-flag "^2.0.0" - -symbol-observable@^1.0.2, symbol-observable@^1.0.3: - version "1.0.4" - resolved "http://npm.nexx.com.vn/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" - -symbol-tree@^3.2.1: - version "3.2.2" - resolved "http://npm.nexx.com.vn/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" - -sync-request@^3.0.1: - version "3.0.1" - resolved "http://npm.nexx.com.vn/sync-request/-/sync-request-3.0.1.tgz#caa1235aaf889ba501076a1834c436830a82fb73" - dependencies: - concat-stream "^1.4.7" - http-response-object "^1.0.1" - then-request "^2.0.1" - -table@^3.7.8: - version "3.8.3" - resolved "http://npm.nexx.com.vn/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" - dependencies: - ajv "^4.7.0" - ajv-keywords "^1.0.0" - chalk "^1.1.1" - lodash "^4.0.0" - slice-ansi "0.0.4" - string-width "^2.0.0" - -tabtab@^2.2.2: - version "2.2.2" - resolved "http://npm.nexx.com.vn/tabtab/-/tabtab-2.2.2.tgz#7a047f143b010b4cbd31f857e82961512cbf4e14" - dependencies: - debug "^2.2.0" - inquirer "^1.0.2" - lodash.difference "^4.5.0" - lodash.uniq "^4.5.0" - minimist "^1.2.0" - mkdirp "^0.5.1" - npmlog "^2.0.3" - object-assign "^4.1.0" - -tar-stream@^1.5.0, tar-stream@^1.5.2: - version "1.5.4" - resolved "http://npm.nexx.com.vn/tar-stream/-/tar-stream-1.5.4.tgz#36549cf04ed1aee9b2a30c0143252238daf94016" - dependencies: - bl "^1.0.0" - end-of-stream "^1.0.0" - readable-stream "^2.0.0" - xtend "^4.0.0" - -test-exclude@^3.3.0: - version "3.3.0" - resolved "http://npm.nexx.com.vn/test-exclude/-/test-exclude-3.3.0.tgz#7a17ca1239988c98367b0621456dbb7d4bc38977" - dependencies: - arrify "^1.0.1" - micromatch "^2.3.11" - object-assign "^4.1.0" - read-pkg-up "^1.0.1" - require-main-filename "^1.0.1" - -text-table@~0.2.0: - version "0.2.0" - resolved "http://npm.nexx.com.vn/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - -then-request@^2.0.1: - version "2.2.0" - resolved "http://npm.nexx.com.vn/then-request/-/then-request-2.2.0.tgz#6678b32fa0ca218fe569981bbd8871b594060d81" - dependencies: - caseless "~0.11.0" - concat-stream "^1.4.7" - http-basic "^2.5.1" - http-response-object "^1.1.0" - promise "^7.1.1" - qs "^6.1.0" - -throat@^3.0.0: - version "3.2.0" - resolved "http://npm.nexx.com.vn/throat/-/throat-3.2.0.tgz#50cb0670edbc40237b9e347d7e1f88e4620af836" - -through@^2.3.6: - version "2.3.8" - resolved "http://npm.nexx.com.vn/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - -timed-out@^4.0.0: - version "4.0.1" - resolved "http://npm.nexx.com.vn/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - -tmp@^0.0.29: - version "0.0.29" - resolved "http://npm.nexx.com.vn/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0" - dependencies: - os-tmpdir "~1.0.1" - -tmpl@1.0.x: - version "1.0.4" - resolved "http://npm.nexx.com.vn/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "http://npm.nexx.com.vn/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - -to-object-path@^0.3.0: - version "0.3.0" - resolved "http://npm.nexx.com.vn/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - dependencies: - kind-of "^3.0.2" - -toml@^2.3.2: - version "2.3.2" - resolved "http://npm.nexx.com.vn/toml/-/toml-2.3.2.tgz#5eded5ca42887924949fd06eb0e955656001e834" - -tough-cookie@^2.3.2, tough-cookie@~2.3.0: - version "2.3.2" - resolved "http://npm.nexx.com.vn/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" - dependencies: - punycode "^1.4.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "http://npm.nexx.com.vn/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - -trim-repeated@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" - dependencies: - escape-string-regexp "^1.0.2" - -trim-right@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - -tryit@^1.0.1: - version "1.0.3" - resolved "http://npm.nexx.com.vn/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "http://npm.nexx.com.vn/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - dependencies: - safe-buffer "^5.0.1" - -tunnel-agent@~0.4.1: - version "0.4.3" - resolved "http://npm.nexx.com.vn/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "http://npm.nexx.com.vn/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - -type-check@~0.3.2: - version "0.3.2" - resolved "http://npm.nexx.com.vn/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - dependencies: - prelude-ls "~1.1.2" - -type-detect@0.1.1: - version "0.1.1" - resolved "http://npm.nexx.com.vn/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" - -type-detect@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" - -typedarray@^0.0.6: - version "0.0.6" - resolved "http://npm.nexx.com.vn/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - -uglify-js@^2.6: - version "2.8.29" - resolved "http://npm.nexx.com.vn/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "http://npm.nexx.com.vn/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - -unbzip2-stream@^1.0.9: - version "1.2.5" - resolved "http://npm.nexx.com.vn/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz#73a033a567bbbde59654b193c44d48a7e4f43c47" - dependencies: - buffer "^3.0.1" - through "^2.3.6" - -underscore.string@~2.4.0: - version "2.4.0" - resolved "http://npm.nexx.com.vn/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b" - -underscore@~1.7.0: - version "1.7.0" - resolved "http://npm.nexx.com.vn/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" - -unzip-response@^2.0.1: - version "2.0.1" - resolved "http://npm.nexx.com.vn/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" - -uri-js@^3.0.2: - version "3.0.2" - resolved "http://npm.nexx.com.vn/uri-js/-/uri-js-3.0.2.tgz#f90b858507f81dea4dcfbb3c4c3dbfa2b557faaa" - dependencies: - punycode "^2.1.0" - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - dependencies: - prepend-http "^1.0.1" - -url-parse@^1.1.9: - version "1.1.9" - resolved "http://npm.nexx.com.vn/url-parse/-/url-parse-1.1.9.tgz#c67f1d775d51f0a18911dd7b3ffad27bb9e5bd19" - dependencies: - querystringify "~1.0.0" - requires-port "1.0.x" - -url-to-options@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" - -url@0.10.3: - version "0.10.3" - resolved "http://npm.nexx.com.vn/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -user-home@^2.0.0: - version "2.0.0" - resolved "http://npm.nexx.com.vn/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" - dependencies: - os-homedir "^1.0.0" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "http://npm.nexx.com.vn/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -"util@>=0.10.3 <1": - version "0.10.3" - resolved "http://npm.nexx.com.vn/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - dependencies: - inherits "2.0.1" - -uuid@3.0.0: - version "3.0.0" - resolved "http://npm.nexx.com.vn/uuid/-/uuid-3.0.0.tgz#6728fc0459c450d796a99c31837569bdf672d728" - -uuid@3.0.1: - version "3.0.1" - resolved "http://npm.nexx.com.vn/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" - -uuid@^2.0.2: - version "2.0.3" - resolved "http://npm.nexx.com.vn/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" - -uuid@^3.0.0: - version "3.1.0" - resolved "http://npm.nexx.com.vn/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" - -validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "http://npm.nexx.com.vn/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" - dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" - -verror@1.10.0: - version "1.10.0" - resolved "http://npm.nexx.com.vn/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -walkdir@^0.0.11: - version "0.0.11" - resolved "http://npm.nexx.com.vn/walkdir/-/walkdir-0.0.11.tgz#a16d025eb931bd03b52f308caed0f40fcebe9532" - -walker@~1.0.5: - version "1.0.7" - resolved "http://npm.nexx.com.vn/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - dependencies: - makeerror "1.0.x" - -watch@~0.10.0: - version "0.10.0" - resolved "http://npm.nexx.com.vn/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "http://npm.nexx.com.vn/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - -webidl-conversions@^4.0.0: - version "4.0.2" - resolved "http://npm.nexx.com.vn/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - -whatwg-encoding@^1.0.1: - version "1.0.1" - resolved "http://npm.nexx.com.vn/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz#3c6c451a198ee7aec55b1ec61d0920c67801a5f4" - dependencies: - iconv-lite "0.4.13" - -whatwg-fetch@>=0.10.0, whatwg-fetch@^2.0.0: - version "2.0.3" - resolved "http://npm.nexx.com.vn/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" - -whatwg-url@^4.3.0: - version "4.8.0" - resolved "http://npm.nexx.com.vn/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0" - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-module@^1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" - -which@^1.0.5, which@^1.1.1: - version "1.3.0" - resolved "http://npm.nexx.com.vn/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" - dependencies: - isexe "^2.0.0" - -window-size@0.1.0: - version "0.1.0" - resolved "http://npm.nexx.com.vn/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - -wordwrap@0.0.2: - version "0.0.2" - resolved "http://npm.nexx.com.vn/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - -wordwrap@^1.0.0, wordwrap@~1.0.0: - version "1.0.0" - resolved "http://npm.nexx.com.vn/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - -wordwrap@~0.0.2: - version "0.0.3" - resolved "http://npm.nexx.com.vn/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - -worker-farm@^1.3.1: - version "1.5.0" - resolved "http://npm.nexx.com.vn/worker-farm/-/worker-farm-1.5.0.tgz#adfdf0cd40581465ed0a1f648f9735722afd5c8d" - dependencies: - errno "^0.1.4" - xtend "^4.0.1" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "http://npm.nexx.com.vn/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrappy@1: - version "1.0.2" - resolved "http://npm.nexx.com.vn/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -write-file-atomic@^2.1.0: - version "2.3.0" - resolved "http://npm.nexx.com.vn/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write@^0.2.1: - version "0.2.1" - resolved "http://npm.nexx.com.vn/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - dependencies: - mkdirp "^0.5.1" - -xml-name-validator@^2.0.1: - version "2.0.1" - resolved "http://npm.nexx.com.vn/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" - -xml2js@0.4.17: - version "0.4.17" - resolved "http://npm.nexx.com.vn/xml2js/-/xml2js-0.4.17.tgz#17be93eaae3f3b779359c795b419705a8817e868" - dependencies: - sax ">=0.6.0" - xmlbuilder "^4.1.0" - -xmlbuilder@4.2.1, xmlbuilder@^4.1.0: - version "4.2.1" - resolved "http://npm.nexx.com.vn/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5" - dependencies: - lodash "^4.0.0" - -xtend@^4.0.0, xtend@^4.0.1: - version "4.0.1" - resolved "http://npm.nexx.com.vn/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -y18n@^3.2.1: - version "3.2.1" - resolved "http://npm.nexx.com.vn/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - -yargs-parser@^4.2.0: - version "4.2.1" - resolved "http://npm.nexx.com.vn/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" - dependencies: - camelcase "^3.0.0" - -yargs@^6.3.0: - version "6.6.0" - resolved "http://npm.nexx.com.vn/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - y18n "^3.2.1" - yargs-parser "^4.2.0" - -yargs@~3.10.0: - version "3.10.0" - resolved "http://npm.nexx.com.vn/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" - -yauzl@^2.4.2: - version "2.8.0" - resolved "http://npm.nexx.com.vn/yauzl/-/yauzl-2.8.0.tgz#79450aff22b2a9c5a41ef54e02db907ccfbf9ee2" - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.0.1" - -zen-observable-ts@^0.4.0: - version "0.4.0" - resolved "http://npm.nexx.com.vn/zen-observable-ts/-/zen-observable-ts-0.4.0.tgz#a74bc9fe59747948a577bd513d438e70fcfae7e2" - -zip-stream@^1.1.0: - version "1.2.0" - resolved "http://npm.nexx.com.vn/zip-stream/-/zip-stream-1.2.0.tgz#a8bc45f4c1b49699c6b90198baacaacdbcd4ba04" - dependencies: - archiver-utils "^1.3.0" - compress-commons "^1.2.0" - lodash "^4.8.0" - readable-stream "^2.0.0" From 0ac1249eb43ff0fd7afd884f35088c74e291c9dc Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Sun, 1 Oct 2017 18:50:19 +0700 Subject: [PATCH 17/99] remove shrinkwarp --- shrinkwrap.yaml | 4222 ----------------------------------------------- 1 file changed, 4222 deletions(-) delete mode 100644 shrinkwrap.yaml diff --git a/shrinkwrap.yaml b/shrinkwrap.yaml deleted file mode 100644 index 2a2728112cb..00000000000 --- a/shrinkwrap.yaml +++ /dev/null @@ -1,4222 +0,0 @@ -dependencies: - '@serverless/fdk': 0.5.1 - apollo-client: 1.9.2 - archiver: 1.3.0 - async: 1.5.2 - aws-sdk: 2.117.0 - bluebird: 3.5.0 - chalk: 2.1.0 - ci-info: 1.1.1 - download: 5.0.3 - filesize: 3.5.10 - fs-extra: 0.26.7 - get-stdin: 5.0.1 - globby: 6.1.0 - graceful-fs: 4.1.11 - graphql: 0.10.5 - graphql-tag: 2.4.2 - https-proxy-agent: 1.0.0 - is-docker: 1.1.0 - js-yaml: 3.10.0 - json-refs: 2.1.7 - jwt-decode: 2.2.0 - lodash: 4.17.4 - minimist: 1.2.0 - moment: 2.18.1 - node-fetch: 1.7.3 - opn: 5.1.0 - raven: 1.2.1 - rc: 1.2.1 - replaceall: 0.1.6 - semver: 5.4.1 - semver-regex: 1.0.0 - shelljs: 0.6.1 - tabtab: 2.2.2 - uuid: 2.0.3 - write-file-atomic: 2.3.0 - yaml-ast-parser: 0.0.34 -devDependencies: - chai: 3.5.0 - chai-as-promised: 6.0.0 - coveralls: 2.13.1 - eslint: 3.19.0 - eslint-config-airbnb: 10.0.1 - eslint-config-airbnb-base: 5.0.3 - eslint-plugin-import: 1.16.0 - eslint-plugin-jsx-a11y: 2.2.3 - eslint-plugin-react: 6.10.3 - istanbul: 0.4.5 - jest-cli: 18.1.0 - jszip: 3.1.4 - markdown-magic: 0.1.18 - mocha: 3.5.3 - mocha-lcov-reporter: 1.3.0 - mock-require: 1.3.0 - proxyquire: 1.8.0 - sinon: 1.17.7 - sinon-bluebird: 3.1.0 - sinon-chai: 2.13.0 -packages: - /@serverless/fdk/0.5.1: - dependencies: - isomorphic-fetch: 2.2.1 - ramda: 0.24.1 - url-parse: 1.1.9 - resolution: - integrity: sha512-Z/+5R0AohLwDT1E+9BTeUA7NozlyIoTh0iEt6x8x+ZZhIBK5HBMBN6v2LfkI4wmmOOyceTvsN0l8nWfGp4Oh5g== - /@types/graphql/0.10.2: - optional: true - resolution: - integrity: sha512-Ayw0w+kr8vYd8DToiMXjcHxXv1ljWbqX2mnLwXDxkBgog3vywGriC0JZ+npsuohKs3+E88M8OOtobo4g0X3SIA== - /abab/1.0.3: - dev: true - resolution: - integrity: sha1-uB3l9ydOxOdW15fNg08wNkJyTl0= - /abbrev/1.0.9: - dev: true - resolution: - integrity: sha1-kbR5JYinc4wl813W9jdSovh3YTU= - /abbrev/1.1.0: - dev: true - resolution: - integrity: sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8= - /acorn-globals/3.1.0: - dependencies: - acorn: 4.0.13 - dev: true - resolution: - integrity: sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8= - /acorn-jsx/3.0.1: - dependencies: - acorn: 3.3.0 - dev: true - resolution: - integrity: sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s= - /acorn/3.3.0: - dev: true - resolution: - integrity: sha1-ReN/s56No/JbruP/U2niu18iAXo= - /acorn/4.0.13: - dev: true - resolution: - integrity: sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c= - /acorn/5.1.2: - dev: true - resolution: - integrity: sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA== - /agent-base/2.1.1: - dependencies: - extend: 3.0.1 - semver: 5.0.3 - resolution: - integrity: sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc= - /ajv-keywords/1.5.1/ajv@4.11.8: - dependencies: - ajv: 4.11.8 - dev: true - id: registry.npmjs.org/ajv-keywords/1.5.1 - resolution: - integrity: sha1-MU3QpLM2j609/NxU7eYXG4htrzw= - /ajv/4.11.8: - dependencies: - co: 4.6.0 - json-stable-stringify: 1.0.1 - dev: true - resolution: - integrity: sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY= - /align-text/0.1.4: - dependencies: - kind-of: 3.2.2 - longest: 1.0.1 - repeat-string: 1.6.1 - dev: true - optional: true - resolution: - integrity: sha1-DNkKVhCT810KmSVsIrcGlDP60Rc= - /amdefine/1.0.1: - dev: true - resolution: - integrity: sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= - /ansi-escapes/1.4.0: - resolution: - integrity: sha1-06ioOzGapneTZisT52HHkRQiMG4= - /ansi-red/0.1.1: - dependencies: - ansi-wrap: 0.1.0 - dev: true - resolution: - integrity: sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw= - /ansi-regex/2.1.1: - resolution: - integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - /ansi-regex/3.0.0: - dev: true - resolution: - integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - /ansi-styles/2.2.1: - resolution: - integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - /ansi-styles/3.2.0: - dependencies: - color-convert: 1.9.0 - resolution: - integrity: sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug== - /ansi-wrap/0.1.0: - dev: true - resolution: - integrity: sha1-qCJQ3bABXponyoLoLqYDu/pF768= - /ansi/0.3.1: - resolution: - integrity: sha1-DELU+xcWDVqa8eSEus4cZpIsGyE= - /ansicolors/0.2.1: - dev: true - resolution: - integrity: sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8= - /apollo-client/1.9.2: - dependencies: - apollo-link-core: 0.5.4 - graphql: 0.10.5 - graphql-anywhere: 3.1.0 - graphql-tag: /graphql-tag/2.4.2/graphql@0.10.5 - redux: 3.7.2 - symbol-observable: 1.0.4 - whatwg-fetch: 2.0.3 - optionalDependencies: - '@types/graphql': 0.10.2 - resolution: - integrity: sha512-1ZAw2x6AYtGFRosO9sR37+g5bNvCIyyNZ781h9M4Tm/lm8ejzINapx+BH2hdHgMxaGPuPvFpWGuD3m+sTbmWPQ== - /apollo-link-core/0.5.4: - dependencies: - graphql: 0.10.5 - graphql-tag: /graphql-tag/2.4.2/graphql@0.10.5 - zen-observable-ts: 0.4.4 - resolution: - integrity: sha512-OxL0Kjizb0eS2ObldDqJEs/tFN9xI9RZuTJcaszgGy+xudoPXhIMCHMr7hGZhy0mK+U+BbBULZJw4YQU4J0ODQ== - /append-transform/0.4.0: - dependencies: - default-require-extensions: 1.0.0 - dev: true - resolution: - integrity: sha1-126/jKlNJ24keja61EpLdKthGZE= - /archiver-utils/1.3.0: - dependencies: - glob: 7.1.2 - graceful-fs: 4.1.11 - lazystream: 1.0.0 - lodash: 4.17.4 - normalize-path: 2.1.1 - readable-stream: 2.3.3 - resolution: - integrity: sha1-5QtMCccL89aA4y/xt5lOn52JUXQ= - /archiver/1.3.0: - dependencies: - archiver-utils: 1.3.0 - async: 2.5.0 - buffer-crc32: 0.2.13 - glob: 7.1.2 - lodash: 4.17.4 - readable-stream: 2.3.3 - tar-stream: 1.5.4 - walkdir: 0.0.11 - zip-stream: 1.2.0 - resolution: - integrity: sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI= - /are-we-there-yet/1.1.4: - dependencies: - delegates: 1.0.0 - readable-stream: 2.3.3 - resolution: - integrity: sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0= - /argparse/0.1.16: - dependencies: - underscore: 1.7.0 - underscore.string: 2.4.0 - dev: true - resolution: - integrity: sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw= - /argparse/1.0.9: - dependencies: - sprintf-js: 1.0.3 - resolution: - integrity: sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY= - /arr-diff/2.0.0: - dependencies: - arr-flatten: 1.1.0 - dev: true - resolution: - integrity: sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= - /arr-flatten/1.1.0: - dev: true - resolution: - integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - /array-equal/1.0.0: - dev: true - resolution: - integrity: sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= - /array-union/1.0.2: - dependencies: - array-uniq: 1.0.3 - resolution: - integrity: sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - /array-uniq/1.0.3: - resolution: - integrity: sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - /array-unique/0.2.1: - dev: true - resolution: - integrity: sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= - /array.prototype.find/2.0.4: - dependencies: - define-properties: 1.1.2 - es-abstract: 1.8.2 - dev: true - resolution: - integrity: sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA= - /arrify/1.0.1: - dev: true - resolution: - integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - /asap/2.0.6: - dev: true - resolution: - integrity: sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= - /asn1/0.2.3: - dev: true - resolution: - integrity: sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y= - /assert-plus/0.2.0: - dev: true - resolution: - integrity: sha1-104bh+ev/A24qttwIfP+SBAasjQ= - /assert-plus/1.0.0: - dev: true - resolution: - integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - /assertion-error/1.0.2: - dev: true - resolution: - integrity: sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw= - /async/1.5.2: - resolution: - integrity: sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= - /async/2.5.0: - dependencies: - lodash: 4.17.4 - resolution: - integrity: sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw== - /asynckit/0.4.0: - resolution: - integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k= - /autolinker/0.15.3: - dev: true - resolution: - integrity: sha1-NCQX2PLzRhsUzwkIjV7fh5HcmDI= - /aws-sdk/2.117.0: - dependencies: - buffer: 4.9.1 - crypto-browserify: 1.0.9 - events: 1.1.1 - jmespath: 0.15.0 - querystring: 0.2.0 - sax: 1.2.1 - url: 0.10.3 - uuid: 3.0.1 - xml2js: 0.4.17 - xmlbuilder: 4.2.1 - resolution: - integrity: sha1-n816CyKTxOxxfSksuDtiH/YSU+c= - /aws-sign2/0.6.0: - dev: true - resolution: - integrity: sha1-FDQt0428yU0OW4fXY81jYSwOeU8= - /aws4/1.6.0: - dev: true - resolution: - integrity: sha1-g+9cqGCysy5KDe7e6MdxudtXRx4= - /babel-code-frame/6.26.0: - dependencies: - chalk: 1.1.3 - esutils: 2.0.2 - js-tokens: 3.0.2 - dev: true - resolution: - integrity: sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - /babel-core/6.26.0: - dependencies: - babel-code-frame: 6.26.0 - babel-generator: 6.26.0 - babel-helpers: 6.24.1 - babel-messages: 6.23.0 - babel-register: 6.26.0 - babel-runtime: 6.26.0 - babel-template: 6.26.0 - babel-traverse: 6.26.0 - babel-types: 6.26.0 - babylon: 6.18.0 - convert-source-map: 1.5.0 - debug: 2.6.8 - json5: 0.5.1 - lodash: 4.17.4 - minimatch: 3.0.4 - path-is-absolute: 1.0.1 - private: 0.1.7 - slash: 1.0.0 - source-map: 0.5.7 - dev: true - resolution: - integrity: sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g= - /babel-generator/6.26.0: - dependencies: - babel-messages: 6.23.0 - babel-runtime: 6.26.0 - babel-types: 6.26.0 - detect-indent: 4.0.0 - jsesc: 1.3.0 - lodash: 4.17.4 - source-map: 0.5.7 - trim-right: 1.0.1 - dev: true - resolution: - integrity: sha1-rBriAHC3n248odMmlhMFN3TyDcU= - /babel-helpers/6.24.1: - dependencies: - babel-runtime: 6.26.0 - babel-template: 6.26.0 - dev: true - resolution: - integrity: sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= - /babel-jest/18.0.0: - dependencies: - babel-core: 6.26.0 - babel-plugin-istanbul: 3.1.2 - babel-preset-jest: 18.0.0 - dev: true - resolution: - integrity: sha1-F+u6jLMoXJBthZ6HB+Tnl5X7ZeM= - /babel-messages/6.23.0: - dependencies: - babel-runtime: 6.26.0 - dev: true - resolution: - integrity: sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= - /babel-plugin-istanbul/3.1.2: - dependencies: - find-up: 1.1.2 - istanbul-lib-instrument: 1.8.0 - object-assign: 4.1.1 - test-exclude: 3.3.0 - dev: true - resolution: - integrity: sha1-EdWr3hhCXsJLXWSMfgtdJc01SiI= - /babel-plugin-jest-hoist/18.0.0: - dev: true - resolution: - integrity: sha1-QVDnDsq1YObnNErchJSYBy004So= - /babel-preset-jest/18.0.0: - dependencies: - babel-plugin-jest-hoist: 18.0.0 - dev: true - resolution: - integrity: sha1-hPr4yj7GWrp9Xj9Zu67ZNaskBJ4= - /babel-register/6.26.0: - dependencies: - babel-core: 6.26.0 - babel-runtime: 6.26.0 - core-js: 2.5.1 - home-or-tmp: 2.0.0 - lodash: 4.17.4 - mkdirp: 0.5.1 - source-map-support: 0.4.18 - dev: true - resolution: - integrity: sha1-btAhFz4vy0htestFxgCahW9kcHE= - /babel-runtime/6.26.0: - dependencies: - core-js: 2.5.1 - regenerator-runtime: 0.11.0 - dev: true - resolution: - integrity: sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - /babel-template/6.26.0: - dependencies: - babel-runtime: 6.26.0 - babel-traverse: 6.26.0 - babel-types: 6.26.0 - babylon: 6.18.0 - lodash: 4.17.4 - dev: true - resolution: - integrity: sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= - /babel-traverse/6.26.0: - dependencies: - babel-code-frame: 6.26.0 - babel-messages: 6.23.0 - babel-runtime: 6.26.0 - babel-types: 6.26.0 - babylon: 6.18.0 - debug: 2.6.8 - globals: 9.18.0 - invariant: 2.2.2 - lodash: 4.17.4 - dev: true - resolution: - integrity: sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= - /babel-types/6.26.0: - dependencies: - babel-runtime: 6.26.0 - esutils: 2.0.2 - lodash: 4.17.4 - to-fast-properties: 1.0.3 - dev: true - resolution: - integrity: sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= - /babylon/6.18.0: - dev: true - resolution: - integrity: sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - /balanced-match/1.0.0: - resolution: - integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - /base64-js/0.0.8: - resolution: - integrity: sha1-EQHpVE9KdrG8OybUUsqW16NeeXg= - /base64-js/1.2.1: - resolution: - integrity: sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw== - /bcrypt-pbkdf/1.0.1: - dependencies: - tweetnacl: 0.14.5 - dev: true - optional: true - resolution: - integrity: sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40= - /bl/1.2.1: - dependencies: - readable-stream: 2.3.3 - resolution: - integrity: sha1-ysMo977kVzDUBLaSID/LWQ4XLV4= - /bluebird/3.5.0: - resolution: - integrity: sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw= - /boom/2.10.1: - dependencies: - hoek: 2.16.3 - dev: true - resolution: - integrity: sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8= - /brace-expansion/1.1.8: - dependencies: - balanced-match: 1.0.0 - concat-map: 0.0.1 - resolution: - integrity: sha1-wHshHHyVLsH479Uad+8NHTmQopI= - /braces/1.8.5: - dependencies: - expand-range: 1.8.2 - preserve: 0.2.0 - repeat-element: 1.1.2 - dev: true - resolution: - integrity: sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= - /browser-resolve/1.11.2: - dependencies: - resolve: 1.1.7 - dev: true - resolution: - integrity: sha1-j/CbCixCFxihBRwmCzLkj0QpOM4= - /browser-stdout/1.3.0: - dev: true - resolution: - integrity: sha1-81HTKWnTL6XXpVZxVCY9korjvR8= - /bser/1.0.2: - dependencies: - node-int64: 0.4.0 - dev: true - resolution: - integrity: sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk= - /buffer-crc32/0.2.13: - resolution: - integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= - /buffer/3.6.0: - dependencies: - base64-js: 0.0.8 - ieee754: 1.1.8 - isarray: 1.0.0 - resolution: - integrity: sha1-pyyTb3e5a/UvX357RnGAYoVR3vs= - /buffer/4.9.1: - dependencies: - base64-js: 1.2.1 - ieee754: 1.1.8 - isarray: 1.0.0 - resolution: - integrity: sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= - /builtin-modules/1.1.1: - dev: true - resolution: - integrity: sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - /caller-id/0.1.0: - dependencies: - stack-trace: 0.0.10 - dev: true - resolution: - integrity: sha1-Wb2sCJPRLDhxQIJ5Ix+XRYNk8Hs= - /caller-path/0.1.0: - dependencies: - callsites: 0.2.0 - dev: true - resolution: - integrity: sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8= - /callsites/0.2.0: - dev: true - resolution: - integrity: sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= - /callsites/2.0.0: - dev: true - resolution: - integrity: sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - /camelcase/1.2.1: - dev: true - optional: true - resolution: - integrity: sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk= - /camelcase/3.0.0: - dev: true - resolution: - integrity: sha1-MvxLn82vhF/N9+c7uXysImHwqwo= - /capture-stack-trace/1.0.0: - resolution: - integrity: sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0= - /cardinal/1.0.0: - dependencies: - ansicolors: 0.2.1 - redeyed: 1.0.1 - dev: true - resolution: - integrity: sha1-UOIcGwqjdyn5N33vGWtanOyTLuk= - /caseless/0.11.0: - dev: true - resolution: - integrity: sha1-cVuW6phBWTzDMGeSP17GDr2k99c= - /caseless/0.12.0: - dev: true - resolution: - integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - /caw/2.0.1: - dependencies: - get-proxy: 2.1.0 - isurl: 1.0.0 - tunnel-agent: 0.6.0 - url-to-options: 1.0.1 - resolution: - integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA== - /center-align/0.1.3: - dependencies: - align-text: 0.1.4 - lazy-cache: 1.0.4 - dev: true - optional: true - resolution: - integrity: sha1-qg0yYptu6XIgBBHL1EYckHvCt60= - /chai-as-promised/6.0.0: - dependencies: - check-error: 1.0.2 - dev: true - resolution: - integrity: sha1-GgKkM6byTa+sY7nJb6FoTbGqjaY= - /chai/3.5.0: - dependencies: - assertion-error: 1.0.2 - deep-eql: 0.1.3 - type-detect: 1.0.0 - dev: true - resolution: - integrity: sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc= - /chalk/1.1.3: - dependencies: - ansi-styles: 2.2.1 - escape-string-regexp: 1.0.5 - has-ansi: 2.0.0 - strip-ansi: 3.0.1 - supports-color: 2.0.0 - resolution: - integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - /chalk/2.1.0: - dependencies: - ansi-styles: 3.2.0 - escape-string-regexp: 1.0.5 - supports-color: 4.4.0 - resolution: - integrity: sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ== - /check-error/1.0.2: - dev: true - resolution: - integrity: sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= - /ci-info/1.1.1: - resolution: - integrity: sha512-vHDDF/bP9RYpTWtUhpJRhCFdvvp3iDWvEbuDbWgvjUrNGV1MXJrE0MPcwGtEled04m61iwdBLUIHZtDgzWS4ZQ== - /circular-json/0.3.3: - dev: true - resolution: - integrity: sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== - /cli-cursor/1.0.2: - dependencies: - restore-cursor: 1.0.1 - resolution: - integrity: sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc= - /cli-table/0.3.1: - dependencies: - colors: 1.0.3 - dev: true - resolution: - integrity: sha1-9TsFJmqLGguTSz0IIebi3FkUriM= - /cli-usage/0.1.4: - dependencies: - marked: 0.3.6 - marked-terminal: /marked-terminal/1.7.0/marked@0.3.6 - dev: true - resolution: - integrity: sha1-fAHg3HBsI0s5yTODjI4gshdXduI= - /cli-width/2.2.0: - resolution: - integrity: sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= - /cliui/2.1.0: - dependencies: - center-align: 0.1.3 - right-align: 0.1.3 - wordwrap: 0.0.2 - dev: true - optional: true - resolution: - integrity: sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE= - /cliui/3.2.0: - dependencies: - string-width: 1.0.2 - strip-ansi: 3.0.1 - wrap-ansi: 2.1.0 - dev: true - resolution: - integrity: sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= - /co/4.6.0: - dev: true - resolution: - integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - /code-point-at/1.1.0: - resolution: - integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - /coffee-script/1.12.7: - dev: true - resolution: - integrity: sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw== - /color-convert/1.9.0: - dependencies: - color-name: 1.1.3 - resolution: - integrity: sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o= - /color-name/1.1.3: - resolution: - integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - /colors/1.0.3: - dev: true - resolution: - integrity: sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= - /combined-stream/1.0.5: - dependencies: - delayed-stream: 1.0.0 - resolution: - integrity: sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk= - /commander/2.11.0: - resolution: - integrity: sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ== - /commander/2.8.1: - dependencies: - graceful-readlink: 1.0.1 - resolution: - integrity: sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ= - /commander/2.9.0: - dependencies: - graceful-readlink: 1.0.1 - dev: true - resolution: - integrity: sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= - /component-emitter/1.2.1: - resolution: - integrity: sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= - /compress-commons/1.2.0: - dependencies: - buffer-crc32: 0.2.13 - crc32-stream: 2.0.0 - normalize-path: 2.1.1 - readable-stream: 2.3.3 - resolution: - integrity: sha1-WFhwku8g03y1i68AARLJJ4/3O58= - /concat-map/0.0.1: - resolution: - integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - /concat-stream/1.6.0: - dependencies: - inherits: 2.0.3 - readable-stream: 2.3.3 - typedarray: 0.0.6 - resolution: - integrity: sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc= - /config-chain/1.1.11: - dependencies: - ini: 1.3.4 - proto-list: 1.2.4 - resolution: - integrity: sha1-q6CXR9++TD5w52am5BWG4YWfxvI= - /contains-path/0.1.0: - dev: true - resolution: - integrity: sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - /content-type-parser/1.0.1: - dev: true - resolution: - integrity: sha1-w+VpiMU8ZRJ/tG1AMqOpACRv3JQ= - /convert-source-map/1.5.0: - dev: true - resolution: - integrity: sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU= - /cookie/0.3.1: - resolution: - integrity: sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= - /cookiejar/2.1.1: - resolution: - integrity: sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o= - /core-js/2.3.0: - dev: true - resolution: - integrity: sha1-+rg/uwstjchfpjbEudNMdUIMbWU= - /core-js/2.5.1: - dev: true - resolution: - integrity: sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs= - /core-util-is/1.0.2: - resolution: - integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - /coveralls/2.13.1: - dependencies: - js-yaml: 3.6.1 - lcov-parse: 0.0.10 - log-driver: 1.2.5 - minimist: 1.2.0 - request: 2.79.0 - dev: true - resolution: - integrity: sha1-1wu5rMGDXsTwY/+drFQjwXsR8Xg= - /crc/3.4.4: - resolution: - integrity: sha1-naHpgOO9RPxck79as9ozeNheRms= - /crc32-stream/2.0.0: - dependencies: - crc: 3.4.4 - readable-stream: 2.3.3 - resolution: - integrity: sha1-483TtN8xaN10494/u8t7KX/pCPQ= - /create-error-class/3.0.2: - dependencies: - capture-stack-trace: 1.0.0 - resolution: - integrity: sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= - /cryptiles/2.0.5: - dependencies: - boom: 2.10.1 - dev: true - resolution: - integrity: sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g= - /crypto-browserify/1.0.9: - resolution: - integrity: sha1-zFRJaF37hesRyYKKzHy4erW7/MA= - /cssom/0.3.2: - dev: true - resolution: - integrity: sha1-uANhcMefB6kP8vFuIihAJ6JDhIs= - /cssstyle/0.2.37: - dependencies: - cssom: 0.3.2 - dev: true - resolution: - integrity: sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ= - /d/1.0.0: - dependencies: - es5-ext: 0.10.30 - dev: true - resolution: - integrity: sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8= - /damerau-levenshtein/1.0.4: - dev: true - resolution: - integrity: sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ= - /dashdash/1.14.1: - dependencies: - assert-plus: 1.0.0 - dev: true - resolution: - integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - /debug/2.6.8: - dependencies: - ms: 2.0.0 - resolution: - integrity: sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw= - /decamelize/1.2.0: - dev: true - resolution: - integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - /decompress-tar/4.1.1: - dependencies: - file-type: 5.2.0 - is-stream: 1.1.0 - tar-stream: 1.5.4 - resolution: - integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== - /decompress-tarbz2/4.1.1: - dependencies: - decompress-tar: 4.1.1 - file-type: 6.1.0 - is-stream: 1.1.0 - seek-bzip: 1.0.5 - unbzip2-stream: 1.2.5 - resolution: - integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== - /decompress-targz/4.1.1: - dependencies: - decompress-tar: 4.1.1 - file-type: 5.2.0 - is-stream: 1.1.0 - resolution: - integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== - /decompress-unzip/4.0.1: - dependencies: - file-type: 3.9.0 - get-stream: 2.3.1 - pify: 2.3.0 - yauzl: 2.8.0 - resolution: - integrity: sha1-3qrM39FK6vhVePczroIQ+bSEj2k= - /decompress/4.2.0: - dependencies: - decompress-tar: 4.1.1 - decompress-tarbz2: 4.1.1 - decompress-targz: 4.1.1 - decompress-unzip: 4.0.1 - graceful-fs: 4.1.11 - make-dir: 1.0.0 - pify: 2.3.0 - strip-dirs: 2.0.0 - resolution: - integrity: sha1-eu3YVCflqS2s/lVnSnxQXpbQH50= - /deep-eql/0.1.3: - dependencies: - type-detect: 0.1.1 - dev: true - resolution: - integrity: sha1-71WKyrjeJSBs1xOQbXTlaTDrafI= - /deep-extend/0.4.2: - resolution: - integrity: sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8= - /deep-is/0.1.3: - dev: true - resolution: - integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - /deepmerge/1.5.1: - dev: true - resolution: - integrity: sha512-Ndl8eeOHB9dQkmT1HWCgY3t0odl4bmWKFzjQZBYAxVTNs2B3nn5b6orimRYHKZ4FI8psvZkA1INRCW6l7vc9lQ== - /default-require-extensions/1.0.0: - dependencies: - strip-bom: 2.0.0 - dev: true - resolution: - integrity: sha1-836hXT4T/9m0N9M+GnW1+5eHTLg= - /define-properties/1.1.2: - dependencies: - foreach: 2.0.5 - object-keys: 1.0.11 - dev: true - resolution: - integrity: sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ= - /del/2.2.2: - dependencies: - globby: 5.0.0 - is-path-cwd: 1.0.0 - is-path-in-cwd: 1.0.0 - object-assign: 4.1.1 - pify: 2.3.0 - pinkie-promise: 2.0.1 - rimraf: 2.6.2 - dev: true - resolution: - integrity: sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag= - /delayed-stream/1.0.0: - resolution: - integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - /delegates/1.0.0: - resolution: - integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - /detect-indent/4.0.0: - dependencies: - repeating: 2.0.1 - dev: true - resolution: - integrity: sha1-920GQ1LN9Docts5hnE7jqUdd4gg= - /diacritics-map/0.1.0: - dev: true - resolution: - integrity: sha1-bfwP+dAQAKLt8oZTccrDFulJd68= - /diff/3.2.0: - dev: true - resolution: - integrity: sha1-yc45Okt8vQsFinJck98pkCeGj/k= - /diff/3.3.1: - dev: true - resolution: - integrity: sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww== - /doctrine/1.3.0: - dependencies: - esutils: 2.0.2 - isarray: 1.0.0 - dev: true - resolution: - integrity: sha1-E+dWgrVVGEJCdvfBc3g0Vu+RPSY= - /doctrine/1.5.0: - dependencies: - esutils: 2.0.2 - isarray: 1.0.0 - dev: true - resolution: - integrity: sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - /doctrine/2.0.0: - dependencies: - esutils: 2.0.2 - isarray: 1.0.0 - dev: true - resolution: - integrity: sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM= - /download/5.0.3: - dependencies: - caw: 2.0.1 - decompress: 4.2.0 - filenamify: 2.0.0 - get-stream: 3.0.0 - got: 6.7.1 - mkdirp: 0.5.1 - pify: 2.3.0 - resolution: - integrity: sha1-Y1N/l3+ZJmow64oqL70fILgAD3o= - /duplexer3/0.1.4: - resolution: - integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - /ecc-jsbn/0.1.1: - dependencies: - jsbn: 0.1.1 - dev: true - optional: true - resolution: - integrity: sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU= - /encoding/0.1.12: - dependencies: - iconv-lite: 0.4.19 - resolution: - integrity: sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= - /end-of-stream/1.4.0: - dependencies: - once: 1.4.0 - resolution: - integrity: sha1-epDYM+/abPpurA9JSduw+tOmMgY= - /errno/0.1.4: - dependencies: - prr: 0.0.0 - dev: true - resolution: - integrity: sha1-uJbiOp5ei6M4cfyZar02NfyaHH0= - /error-ex/1.3.1: - dependencies: - is-arrayish: 0.2.1 - dev: true - resolution: - integrity: sha1-+FWobOYa3E6GIcPNoh56dhLDqNw= - /es-abstract/1.8.2: - dependencies: - es-to-primitive: 1.1.1 - function-bind: 1.1.1 - has: 1.0.1 - is-callable: 1.1.3 - is-regex: 1.0.4 - dev: true - resolution: - integrity: sha512-dvhwFL3yjQxNNsOWx6exMlaDrRHCRGMQlnx5lsXDCZ/J7G/frgIIl94zhZSp/galVAYp7VzPi1OrAHta89/yGQ== - /es-to-primitive/1.1.1: - dependencies: - is-callable: 1.1.3 - is-date-object: 1.0.1 - is-symbol: 1.0.1 - dev: true - resolution: - integrity: sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0= - /es5-ext/0.10.30: - dependencies: - es6-iterator: 2.0.1 - es6-symbol: 3.1.1 - dev: true - resolution: - integrity: sha1-cUGhaDZpfbq/qq7uQUlc4p9SyTk= - /es6-iterator/2.0.1: - dependencies: - d: 1.0.0 - es5-ext: 0.10.30 - es6-symbol: 3.1.1 - dev: true - resolution: - integrity: sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI= - /es6-map/0.1.5: - dependencies: - d: 1.0.0 - es5-ext: 0.10.30 - es6-iterator: 2.0.1 - es6-set: 0.1.5 - es6-symbol: 3.1.1 - event-emitter: 0.3.5 - dev: true - resolution: - integrity: sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA= - /es6-promise/3.0.2: - dev: true - resolution: - integrity: sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y= - /es6-set/0.1.5: - dependencies: - d: 1.0.0 - es5-ext: 0.10.30 - es6-iterator: 2.0.1 - es6-symbol: 3.1.1 - event-emitter: 0.3.5 - dev: true - resolution: - integrity: sha1-0rPsXU2ADO2BjbU40ol02wpzzLE= - /es6-symbol/3.1.1: - dependencies: - d: 1.0.0 - es5-ext: 0.10.30 - dev: true - resolution: - integrity: sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= - /es6-weak-map/2.0.2: - dependencies: - d: 1.0.0 - es5-ext: 0.10.30 - es6-iterator: 2.0.1 - es6-symbol: 3.1.1 - dev: true - resolution: - integrity: sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8= - /escape-string-regexp/1.0.5: - resolution: - integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - /escodegen/1.8.1: - dependencies: - esprima: 2.7.3 - estraverse: 1.9.3 - esutils: 2.0.2 - optionator: 0.8.2 - dev: true - optionalDependencies: - source-map: 0.2.0 - resolution: - integrity: sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg= - /escodegen/1.9.0: - dependencies: - esprima: 3.1.3 - estraverse: 4.2.0 - esutils: 2.0.2 - optionator: 0.8.2 - dev: true - optionalDependencies: - source-map: 0.5.7 - resolution: - integrity: sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw== - /escope/3.6.0: - dependencies: - es6-map: 0.1.5 - es6-weak-map: 2.0.2 - esrecurse: 4.2.0 - estraverse: 4.2.0 - dev: true - resolution: - integrity: sha1-4Bl16BJ4GhY6ba392AOY3GTIicM= - /eslint-config-airbnb-base/5.0.3: - dev: true - resolution: - integrity: sha1-lxSsNews1/qw1E0Uip+R2ylEB00= - /eslint-config-airbnb/10.0.1: - dependencies: - eslint-config-airbnb-base: 5.0.3 - dev: true - resolution: - integrity: sha1-pHAQhkbWxF4fY5oD8R1QShqkrtw= - /eslint-import-resolver-node/0.2.3: - dependencies: - debug: 2.6.8 - object-assign: 4.1.1 - resolve: 1.4.0 - dev: true - resolution: - integrity: sha1-Wt2BBujJKNssuiMrzZ76hG49oWw= - /eslint-plugin-import/1.16.0: - dependencies: - builtin-modules: 1.1.1 - contains-path: 0.1.0 - debug: 2.6.8 - doctrine: 1.3.0 - es6-map: 0.1.5 - es6-set: 0.1.5 - eslint-import-resolver-node: 0.2.3 - has: 1.0.1 - lodash.cond: 4.5.2 - lodash.endswith: 4.2.1 - lodash.find: 4.6.0 - lodash.findindex: 4.6.0 - minimatch: 3.0.4 - object-assign: 4.1.1 - pkg-dir: 1.0.0 - pkg-up: 1.0.0 - dev: true - resolution: - integrity: sha1-svoH68xTUE0PKkR3WC7Iv/GHG58= - /eslint-plugin-jsx-a11y/2.2.3: - dependencies: - damerau-levenshtein: 1.0.4 - jsx-ast-utils: 1.4.1 - object-assign: 4.1.1 - dev: true - resolution: - integrity: sha1-TjXLcbin23AqxBXIBuuOjZ6mxl0= - /eslint-plugin-react/6.10.3: - dependencies: - array.prototype.find: 2.0.4 - doctrine: 1.5.0 - has: 1.0.1 - jsx-ast-utils: 1.4.1 - object.assign: 4.0.4 - dev: true - resolution: - integrity: sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g= - /eslint/3.19.0: - dependencies: - babel-code-frame: 6.26.0 - chalk: 1.1.3 - concat-stream: 1.6.0 - debug: 2.6.8 - doctrine: 2.0.0 - escope: 3.6.0 - espree: 3.5.1 - esquery: 1.0.0 - estraverse: 4.2.0 - esutils: 2.0.2 - file-entry-cache: 2.0.0 - glob: 7.1.2 - globals: 9.18.0 - ignore: 3.3.5 - imurmurhash: 0.1.4 - inquirer: 0.12.0 - is-my-json-valid: 2.16.1 - is-resolvable: 1.0.0 - js-yaml: 3.10.0 - json-stable-stringify: 1.0.1 - levn: 0.3.0 - lodash: 4.17.4 - mkdirp: 0.5.1 - natural-compare: 1.4.0 - optionator: 0.8.2 - path-is-inside: 1.0.2 - pluralize: 1.2.1 - progress: 1.1.8 - require-uncached: 1.0.3 - shelljs: 0.7.8 - strip-bom: 3.0.0 - strip-json-comments: 2.0.1 - table: 3.8.3 - text-table: 0.2.0 - user-home: 2.0.0 - dev: true - resolution: - integrity: sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw= - /espree/3.5.1: - dependencies: - acorn: 5.1.2 - acorn-jsx: 3.0.1 - dev: true - resolution: - integrity: sha1-DJiLirRttTEAoZVK5LqZXd0n2H4= - /esprima/2.7.3: - dev: true - resolution: - integrity: sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= - /esprima/3.0.0: - dev: true - resolution: - integrity: sha1-U88kes2ncxPlUcOqLnM0LT+099k= - /esprima/3.1.3: - dev: true - resolution: - integrity: sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= - /esprima/4.0.0: - resolution: - integrity: sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw== - /esquery/1.0.0: - dependencies: - estraverse: 4.2.0 - dev: true - resolution: - integrity: sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo= - /esrecurse/4.2.0: - dependencies: - estraverse: 4.2.0 - object-assign: 4.1.1 - dev: true - resolution: - integrity: sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM= - /estraverse/1.9.3: - dev: true - resolution: - integrity: sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q= - /estraverse/4.2.0: - dev: true - resolution: - integrity: sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= - /esutils/2.0.2: - dev: true - resolution: - integrity: sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= - /event-emitter/0.3.5: - dependencies: - d: 1.0.0 - es5-ext: 0.10.30 - dev: true - resolution: - integrity: sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= - /events/1.1.1: - resolution: - integrity: sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= - /exec-sh/0.2.1: - dependencies: - merge: 1.2.0 - dev: true - resolution: - integrity: sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg== - /exit-hook/1.1.1: - resolution: - integrity: sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g= - /expand-brackets/0.1.5: - dependencies: - is-posix-bracket: 0.1.1 - dev: true - resolution: - integrity: sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= - /expand-range/1.8.2: - dependencies: - fill-range: 2.2.3 - dev: true - resolution: - integrity: sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= - /extend-shallow/2.0.1: - dependencies: - is-extendable: 0.1.1 - dev: true - resolution: - integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - /extend/3.0.1: - resolution: - integrity: sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ= - /external-editor/1.1.1: - dependencies: - extend: 3.0.1 - spawn-sync: 1.0.15 - tmp: 0.0.29 - resolution: - integrity: sha1-Etew24UPf/fnCBuvQAVwAGDEYAs= - /extglob/0.3.2: - dependencies: - is-extglob: 1.0.0 - dev: true - resolution: - integrity: sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= - /extsprintf/1.3.0: - dev: true - resolution: - integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - /fast-levenshtein/2.0.6: - dev: true - resolution: - integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - /fb-watchman/1.9.2: - dependencies: - bser: 1.0.2 - dev: true - resolution: - integrity: sha1-okz0eCf4LTj7Waaa1wt247auc4M= - /fd-slicer/1.0.1: - dependencies: - pend: 1.2.0 - resolution: - integrity: sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU= - /figures/1.7.0: - dependencies: - escape-string-regexp: 1.0.5 - object-assign: 4.1.1 - resolution: - integrity: sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= - /file-entry-cache/2.0.0: - dependencies: - flat-cache: 1.2.2 - object-assign: 4.1.1 - dev: true - resolution: - integrity: sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= - /file-type/3.9.0: - resolution: - integrity: sha1-JXoHg4TR24CHvESdEH1SpSZyuek= - /file-type/5.2.0: - resolution: - integrity: sha1-LdvqfHP/42No365J3DOMBYwritY= - /file-type/6.1.0: - resolution: - integrity: sha1-Wn26mBOPoKvsevxD5amgsqrHKfE= - /filename-regex/2.0.1: - dev: true - resolution: - integrity: sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= - /filename-reserved-regex/2.0.0: - resolution: - integrity: sha1-q/c9+rc10EVECr/qLZHzieu/oik= - /filenamify/2.0.0: - dependencies: - filename-reserved-regex: 2.0.0 - strip-outer: 1.0.0 - trim-repeated: 1.0.0 - resolution: - integrity: sha1-vRYiYsC26Uv7zc8Zo7uzdk94VpU= - /fileset/2.0.3: - dependencies: - glob: 7.1.2 - minimatch: 3.0.4 - dev: true - resolution: - integrity: sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA= - /filesize/3.5.10: - resolution: - integrity: sha1-/I+iPdtO+eXgq24eZPZ5okpWdh8= - /fill-keys/1.0.2: - dependencies: - is-object: 1.0.1 - merge-descriptors: 1.0.1 - dev: true - resolution: - integrity: sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA= - /fill-range/2.2.3: - dependencies: - is-number: 2.1.0 - isobject: 2.1.0 - randomatic: 1.1.7 - repeat-element: 1.1.2 - repeat-string: 1.6.1 - dev: true - resolution: - integrity: sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM= - /find-up/1.1.2: - dependencies: - path-exists: 2.1.0 - pinkie-promise: 2.0.1 - dev: true - resolution: - integrity: sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - /find-up/2.1.0: - dependencies: - locate-path: 2.0.0 - dev: true - resolution: - integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - /flat-cache/1.2.2: - dependencies: - circular-json: 0.3.3 - del: 2.2.2 - graceful-fs: 4.1.11 - write: 0.2.1 - dev: true - resolution: - integrity: sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y= - /for-in/1.0.2: - dev: true - resolution: - integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - /for-own/0.1.5: - dependencies: - for-in: 1.0.2 - dev: true - resolution: - integrity: sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= - /foreach/2.0.5: - dev: true - resolution: - integrity: sha1-C+4AUBiusmDQo6865ljdATbsG5k= - /forever-agent/0.6.1: - dev: true - resolution: - integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - /form-data/2.1.4: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.5 - mime-types: 2.1.17 - dev: true - resolution: - integrity: sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE= - /form-data/2.3.1: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.5 - mime-types: 2.1.17 - resolution: - integrity: sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8= - /formatio/1.1.1: - dependencies: - samsam: 1.1.3 - dev: true - resolution: - integrity: sha1-XtPM1jZVEJc4NGXZlhmRAOhhYek= - /formidable/1.1.1: - resolution: - integrity: sha1-lriIb3w8NQi5Mta9cMTTqI818ak= - /fs-extra/0.26.7: - dependencies: - graceful-fs: 4.1.11 - jsonfile: 2.4.0 - klaw: 1.3.1 - path-is-absolute: 1.0.1 - rimraf: 2.6.2 - resolution: - integrity: sha1-muH92UiXeY7at20JGM9C0MMYT6k= - /fs-extra/1.0.0: - dependencies: - graceful-fs: 4.1.11 - jsonfile: 2.4.0 - klaw: 1.3.1 - dev: true - resolution: - integrity: sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA= - /fs.realpath/1.0.0: - resolution: - integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - /function-bind/1.1.1: - dev: true - resolution: - integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - /gauge/1.2.7: - dependencies: - ansi: 0.3.1 - has-unicode: 2.0.1 - lodash.pad: 4.5.1 - lodash.padend: 4.6.1 - lodash.padstart: 4.6.1 - resolution: - integrity: sha1-6c7FSD09TuDvRLYKfZnkk14TbZM= - /generate-function/2.0.0: - dev: true - resolution: - integrity: sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ= - /generate-object-property/1.2.0: - dependencies: - is-property: 1.0.2 - dev: true - resolution: - integrity: sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA= - /get-caller-file/1.0.2: - dev: true - resolution: - integrity: sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U= - /get-proxy/2.1.0: - dependencies: - npm-conf: 1.1.2 - resolution: - integrity: sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw== - /get-stdin/5.0.1: - resolution: - integrity: sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g= - /get-stream/2.3.1: - dependencies: - object-assign: 4.1.1 - pinkie-promise: 2.0.1 - resolution: - integrity: sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4= - /get-stream/3.0.0: - resolution: - integrity: sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - /getpass/0.1.7: - dependencies: - assert-plus: 1.0.0 - dev: true - resolution: - integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - /glob-base/0.3.0: - dependencies: - glob-parent: 2.0.0 - is-glob: 2.0.1 - dev: true - resolution: - integrity: sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= - /glob-parent/2.0.0: - dependencies: - is-glob: 2.0.1 - dev: true - resolution: - integrity: sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= - /glob/5.0.15: - dependencies: - inflight: 1.0.6 - inherits: 2.0.3 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - resolution: - integrity: sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= - /glob/7.1.1: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.3 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - resolution: - integrity: sha1-gFIR3wT6rxxjo2ADBs31reULLsg= - /glob/7.1.2: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.3 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 - resolution: - integrity: sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== - /globals/9.18.0: - dev: true - resolution: - integrity: sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== - /globby/5.0.0: - dependencies: - array-union: 1.0.2 - arrify: 1.0.1 - glob: 7.1.2 - object-assign: 4.1.1 - pify: 2.3.0 - pinkie-promise: 2.0.1 - dev: true - resolution: - integrity: sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0= - /globby/6.1.0: - dependencies: - array-union: 1.0.2 - glob: 7.1.2 - object-assign: 4.1.1 - pify: 2.3.0 - pinkie-promise: 2.0.1 - resolution: - integrity: sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - /got/6.7.1: - dependencies: - create-error-class: 3.0.2 - duplexer3: 0.1.4 - get-stream: 3.0.0 - is-redirect: 1.0.0 - is-retry-allowed: 1.1.0 - is-stream: 1.1.0 - lowercase-keys: 1.0.0 - safe-buffer: 5.1.1 - timed-out: 4.0.1 - unzip-response: 2.0.1 - url-parse-lax: 1.0.0 - resolution: - integrity: sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= - /graceful-fs/4.1.11: - resolution: - integrity: sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= - /graceful-readlink/1.0.1: - resolution: - integrity: sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= - /graphlib/2.1.1: - dependencies: - lodash: 4.17.4 - resolution: - integrity: sha1-QjUsUrovTQNctWbrkfc5X3bryVE= - /graphql-anywhere/3.1.0: - resolution: - integrity: sha1-PqDY6GRrXO5oA1AWqadVfBXCHpY= - /graphql-tag/2.4.2: - resolution: - integrity: sha1-amMpfYUi0DorctJvGyOaqzQ4QM0= - /graphql-tag/2.4.2/graphql@0.10.5: - dependencies: - graphql: 0.10.5 - id: registry.npmjs.org/graphql-tag/2.4.2 - resolution: - integrity: sha1-amMpfYUi0DorctJvGyOaqzQ4QM0= - /graphql/0.10.5: - dependencies: - iterall: 1.1.1 - resolution: - integrity: sha512-Q7cx22DiLhwHsEfUnUip1Ww/Vfx7FS0w6+iHItNuN61+XpegHSa3k5U0+6M5BcpavQImBwFiy0z3uYwY7cXMLQ== - /gray-matter/2.1.1: - dependencies: - ansi-red: 0.1.1 - coffee-script: 1.12.7 - extend-shallow: 2.0.1 - js-yaml: 3.10.0 - toml: 2.3.3 - dev: true - resolution: - integrity: sha1-MELZrewqHe1qdwep7SOA+KF6Qw4= - /growl/1.9.2: - dev: true - resolution: - integrity: sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8= - /growly/1.3.0: - dev: true - resolution: - integrity: sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - /handlebars/4.0.10: - dependencies: - async: 1.5.2 - optimist: 0.6.1 - source-map: 0.4.4 - dev: true - optionalDependencies: - uglify-js: 2.8.29 - resolution: - integrity: sha1-PTDHGLCaPZbyPqTMH0A8TTup/08= - /har-schema/1.0.5: - dev: true - resolution: - integrity: sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4= - /har-validator/2.0.6: - dependencies: - chalk: 1.1.3 - commander: 2.11.0 - is-my-json-valid: 2.16.1 - pinkie-promise: 2.0.1 - dev: true - resolution: - integrity: sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0= - /har-validator/4.2.1: - dependencies: - ajv: 4.11.8 - har-schema: 1.0.5 - dev: true - resolution: - integrity: sha1-M0gdDxu/9gDdID11gSpqX7oALio= - /has-ansi/2.0.0: - dependencies: - ansi-regex: 2.1.1 - resolution: - integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - /has-flag/1.0.0: - dev: true - resolution: - integrity: sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= - /has-flag/2.0.0: - resolution: - integrity: sha1-6CB68cx7MNRGzHC3NLXovhj4jVE= - /has-symbol-support-x/1.4.1: - resolution: - integrity: sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA== - /has-to-string-tag-x/1.4.1: - dependencies: - has-symbol-support-x: 1.4.1 - resolution: - integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== - /has-unicode/2.0.1: - resolution: - integrity: sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - /has/1.0.1: - dependencies: - function-bind: 1.1.1 - dev: true - resolution: - integrity: sha1-hGFzP1OLCDfJNh45qauelwTcLyg= - /hawk/3.1.3: - dependencies: - boom: 2.10.1 - cryptiles: 2.0.5 - hoek: 2.16.3 - sntp: 1.0.9 - dev: true - resolution: - integrity: sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ= - /he/1.1.1: - dev: true - resolution: - integrity: sha1-k0EP0hsAlzUVH4howvJx80J+I/0= - /hoek/2.16.3: - dev: true - resolution: - integrity: sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0= - /home-or-tmp/2.0.0: - dependencies: - os-homedir: 1.0.2 - os-tmpdir: 1.0.2 - dev: true - resolution: - integrity: sha1-42w/LSyufXRqhX440Y1fMqeILbg= - /hosted-git-info/2.5.0: - dev: true - resolution: - integrity: sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg== - /html-encoding-sniffer/1.0.1: - dependencies: - whatwg-encoding: 1.0.1 - dev: true - resolution: - integrity: sha1-eb96eF6klf5mFl5zQVPzY/9UN9o= - /http-basic/2.5.1: - dependencies: - caseless: 0.11.0 - concat-stream: 1.6.0 - http-response-object: 1.1.0 - dev: true - resolution: - integrity: sha1-jORHvbW2xXf4pj4/p4BW7Eu02/s= - /http-response-object/1.1.0: - dev: true - resolution: - integrity: sha1-p8TnWq6C87tJBOT0P2FWc7TVGMM= - /http-signature/1.1.1: - dependencies: - assert-plus: 0.2.0 - jsprim: 1.4.1 - sshpk: 1.13.1 - dev: true - resolution: - integrity: sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8= - /https-proxy-agent/1.0.0: - dependencies: - agent-base: 2.1.1 - debug: 2.6.8 - extend: 3.0.1 - resolution: - integrity: sha1-NffabEjOTdv6JkiRrFk+5f+GceY= - /iconv-lite/0.4.13: - dev: true - resolution: - integrity: sha1-H4irpKsLFQjoMSrMOTRfNumS4vI= - /iconv-lite/0.4.19: - resolution: - integrity: sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ== - /ieee754/1.1.8: - resolution: - integrity: sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q= - /ignore/3.3.5: - dev: true - resolution: - integrity: sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw== - /immediate/3.0.6: - dev: true - resolution: - integrity: sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= - /imurmurhash/0.1.4: - resolution: - integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o= - /inflight/1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - resolution: - integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - /inherits/2.0.1: - dev: true - resolution: - integrity: sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - /inherits/2.0.3: - resolution: - integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - /ini/1.3.4: - resolution: - integrity: sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4= - /inquirer/0.12.0: - dependencies: - ansi-escapes: 1.4.0 - ansi-regex: 2.1.1 - chalk: 1.1.3 - cli-cursor: 1.0.2 - cli-width: 2.2.0 - figures: 1.7.0 - lodash: 4.17.4 - readline2: 1.0.1 - run-async: 0.1.0 - rx-lite: 3.1.2 - string-width: 1.0.2 - strip-ansi: 3.0.1 - through: 2.3.8 - dev: true - resolution: - integrity: sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34= - /inquirer/1.2.3: - dependencies: - ansi-escapes: 1.4.0 - chalk: 1.1.3 - cli-cursor: 1.0.2 - cli-width: 2.2.0 - external-editor: 1.1.1 - figures: 1.7.0 - lodash: 4.17.4 - mute-stream: 0.0.6 - pinkie-promise: 2.0.1 - run-async: 2.3.0 - rx: 4.1.0 - string-width: 1.0.2 - strip-ansi: 3.0.1 - through: 2.3.8 - resolution: - integrity: sha1-TexvMvN+97sLLtPx0aXD9UUHSRg= - /interpret/1.0.4: - dev: true - resolution: - integrity: sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA= - /invariant/2.2.2: - dependencies: - loose-envify: 1.3.1 - dev: true - resolution: - integrity: sha1-nh9WrArNtr8wMwbzOL47IErmA2A= - /invert-kv/1.0.0: - dev: true - resolution: - integrity: sha1-EEqOSqym09jNFXqO+L+rLXo//bY= - /is-arrayish/0.2.1: - dev: true - resolution: - integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - /is-buffer/1.1.5: - dev: true - resolution: - integrity: sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw= - /is-builtin-module/1.0.0: - dependencies: - builtin-modules: 1.1.1 - dev: true - resolution: - integrity: sha1-VAVy0096wxGfj3bDDLwbHgN6/74= - /is-callable/1.1.3: - dev: true - resolution: - integrity: sha1-hut1OSgF3cM69xySoO7fdO52BLI= - /is-ci/1.0.10: - dependencies: - ci-info: 1.1.1 - dev: true - resolution: - integrity: sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4= - /is-date-object/1.0.1: - dev: true - resolution: - integrity: sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= - /is-docker/1.1.0: - resolution: - integrity: sha1-8EN01O7lMQ6ajhE78UlUEeRhdqE= - /is-dotfile/1.0.3: - dev: true - resolution: - integrity: sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= - /is-equal-shallow/0.1.3: - dependencies: - is-primitive: 2.0.0 - dev: true - resolution: - integrity: sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= - /is-extendable/0.1.1: - dev: true - resolution: - integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - /is-extglob/1.0.0: - dev: true - resolution: - integrity: sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= - /is-finite/1.0.2: - dependencies: - number-is-nan: 1.0.1 - dev: true - resolution: - integrity: sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= - /is-fullwidth-code-point/1.0.0: - dependencies: - number-is-nan: 1.0.1 - resolution: - integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - /is-fullwidth-code-point/2.0.0: - dev: true - resolution: - integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - /is-glob/2.0.1: - dependencies: - is-extglob: 1.0.0 - dev: true - resolution: - integrity: sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= - /is-local-path/0.1.6: - dev: true - resolution: - integrity: sha1-gV0USxTVac7L6tTVaTCX8Aqb9sU= - /is-my-json-valid/2.16.1: - dependencies: - generate-function: 2.0.0 - generate-object-property: 1.2.0 - jsonpointer: 4.0.1 - xtend: 4.0.1 - dev: true - resolution: - integrity: sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ== - /is-natural-number/4.0.1: - resolution: - integrity: sha1-q5124dtM7VHjXeDHLr7PCfc0zeg= - /is-number/2.1.0: - dependencies: - kind-of: 3.2.2 - dev: true - resolution: - integrity: sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= - /is-number/3.0.0: - dependencies: - kind-of: 3.2.2 - dev: true - resolution: - integrity: sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - /is-object/1.0.1: - resolution: - integrity: sha1-iVJojF7C/9awPsyF52ngKQMINHA= - /is-path-cwd/1.0.0: - dev: true - resolution: - integrity: sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= - /is-path-in-cwd/1.0.0: - dependencies: - is-path-inside: 1.0.0 - dev: true - resolution: - integrity: sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw= - /is-path-inside/1.0.0: - dependencies: - path-is-inside: 1.0.2 - dev: true - resolution: - integrity: sha1-/AbloWg/vaE95mev9xe7wQpI838= - /is-posix-bracket/0.1.1: - dev: true - resolution: - integrity: sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= - /is-primitive/2.0.0: - dev: true - resolution: - integrity: sha1-IHurkWOEmcB7Kt8kCkGochADRXU= - /is-promise/2.1.0: - resolution: - integrity: sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= - /is-property/1.0.2: - dev: true - resolution: - integrity: sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ= - /is-redirect/1.0.0: - resolution: - integrity: sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= - /is-regex/1.0.4: - dependencies: - has: 1.0.1 - dev: true - resolution: - integrity: sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= - /is-resolvable/1.0.0: - dependencies: - tryit: 1.0.3 - dev: true - resolution: - integrity: sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI= - /is-retry-allowed/1.1.0: - resolution: - integrity: sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= - /is-stream/1.1.0: - resolution: - integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - /is-symbol/1.0.1: - dev: true - resolution: - integrity: sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI= - /is-typedarray/1.0.0: - dev: true - resolution: - integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - /is-utf8/0.2.1: - dev: true - resolution: - integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - /is-wsl/1.1.0: - resolution: - integrity: sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - /isarray/1.0.0: - resolution: - integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - /isexe/2.0.0: - dev: true - resolution: - integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - /isobject/2.1.0: - dependencies: - isarray: 1.0.0 - dev: true - resolution: - integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - /isobject/3.0.1: - dev: true - resolution: - integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - /isomorphic-fetch/2.2.1: - dependencies: - node-fetch: 1.7.3 - whatwg-fetch: 2.0.3 - resolution: - integrity: sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= - /isstream/0.1.2: - dev: true - resolution: - integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - /istanbul-api/1.1.14: - dependencies: - async: 2.5.0 - fileset: 2.0.3 - istanbul-lib-coverage: 1.1.1 - istanbul-lib-hook: 1.0.7 - istanbul-lib-instrument: 1.8.0 - istanbul-lib-report: 1.1.1 - istanbul-lib-source-maps: 1.2.1 - istanbul-reports: 1.1.2 - js-yaml: 3.10.0 - mkdirp: 0.5.1 - once: 1.4.0 - dev: true - resolution: - integrity: sha1-JbxXAffGgMD//5E95G42GaOm5oA= - /istanbul-lib-coverage/1.1.1: - dev: true - resolution: - integrity: sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q== - /istanbul-lib-hook/1.0.7: - dependencies: - append-transform: 0.4.0 - dev: true - resolution: - integrity: sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ== - /istanbul-lib-instrument/1.8.0: - dependencies: - babel-generator: 6.26.0 - babel-template: 6.26.0 - babel-traverse: 6.26.0 - babel-types: 6.26.0 - babylon: 6.18.0 - istanbul-lib-coverage: 1.1.1 - semver: 5.4.1 - dev: true - resolution: - integrity: sha1-ZvbJQhzJ7EcE928tsIS6kHiitTI= - /istanbul-lib-report/1.1.1: - dependencies: - istanbul-lib-coverage: 1.1.1 - mkdirp: 0.5.1 - path-parse: 1.0.5 - supports-color: 3.2.3 - dev: true - resolution: - integrity: sha512-tvF+YmCmH4thnez6JFX06ujIA19WPa9YUiwjc1uALF2cv5dmE3It8b5I8Ob7FHJ70H9Y5yF+TDkVa/mcADuw1Q== - /istanbul-lib-source-maps/1.2.1: - dependencies: - debug: 2.6.8 - istanbul-lib-coverage: 1.1.1 - mkdirp: 0.5.1 - rimraf: 2.6.2 - source-map: 0.5.7 - dev: true - resolution: - integrity: sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w== - /istanbul-reports/1.1.2: - dependencies: - handlebars: 4.0.10 - dev: true - resolution: - integrity: sha1-D7Lj9qqZIr085F0F2KtNXo4HvU8= - /istanbul/0.4.5: - dependencies: - abbrev: 1.0.9 - async: 1.5.2 - escodegen: 1.8.1 - esprima: 2.7.3 - glob: 5.0.15 - handlebars: 4.0.10 - js-yaml: 3.10.0 - mkdirp: 0.5.1 - nopt: 3.0.6 - once: 1.4.0 - resolve: 1.1.7 - supports-color: 3.2.3 - which: 1.3.0 - wordwrap: 1.0.0 - dev: true - resolution: - integrity: sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs= - /isurl/1.0.0: - dependencies: - has-to-string-tag-x: 1.4.1 - is-object: 1.0.1 - resolution: - integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== - /iterall/1.1.1: - resolution: - integrity: sha1-9/CvEemgTsZCYmD1AZ2fzKTVAhQ= - /jest-changed-files/17.0.2: - dev: true - resolution: - integrity: sha1-9WV3WHNplvWQpRuH5ck2nZBLp7c= - /jest-cli/18.1.0: - dependencies: - ansi-escapes: 1.4.0 - callsites: 2.0.0 - chalk: 1.1.3 - graceful-fs: 4.1.11 - is-ci: 1.0.10 - istanbul-api: 1.1.14 - istanbul-lib-coverage: 1.1.1 - istanbul-lib-instrument: 1.8.0 - jest-changed-files: 17.0.2 - jest-config: 18.1.0 - jest-environment-jsdom: 18.1.0 - jest-file-exists: 17.0.0 - jest-haste-map: 18.1.0 - jest-jasmine2: 18.1.0 - jest-mock: 18.0.0 - jest-resolve: 18.1.0 - jest-resolve-dependencies: 18.1.0 - jest-runtime: 18.1.0 - jest-snapshot: 18.1.0 - jest-util: 18.1.0 - json-stable-stringify: 1.0.1 - node-notifier: 4.6.1 - sane: 1.4.1 - strip-ansi: 3.0.1 - throat: 3.2.0 - which: 1.3.0 - worker-farm: 1.5.0 - yargs: 6.6.0 - dev: true - resolution: - integrity: sha1-Xq027K1CCBfCybqiqnV09jJXs9Y= - /jest-config/18.1.0: - dependencies: - chalk: 1.1.3 - jest-environment-jsdom: 18.1.0 - jest-environment-node: 18.1.0 - jest-jasmine2: 18.1.0 - jest-mock: 18.0.0 - jest-resolve: 18.1.0 - jest-util: 18.1.0 - json-stable-stringify: 1.0.1 - dev: true - resolution: - integrity: sha1-YRF0Cm1Iqrhv9anmqwuYvZk7b/Q= - /jest-diff/18.1.0: - dependencies: - chalk: 1.1.3 - diff: 3.3.1 - jest-matcher-utils: 18.1.0 - pretty-format: 18.1.0 - dev: true - resolution: - integrity: sha1-T/eedN2YjBORlbNl3GXYf2BvSAM= - /jest-environment-jsdom/18.1.0: - dependencies: - jest-mock: 18.0.0 - jest-util: 18.1.0 - jsdom: 9.12.0 - dev: true - resolution: - integrity: sha1-GLQvDE6iuunzbKs2ObHo+MOE4k4= - /jest-environment-node/18.1.0: - dependencies: - jest-mock: 18.0.0 - jest-util: 18.1.0 - dev: true - resolution: - integrity: sha1-TWeXVyyN2pms9frmlutilFVHx3k= - /jest-file-exists/17.0.0: - dev: true - resolution: - integrity: sha1-f2Prc6HEOhP0Yb4mF2i0WvLN0Wk= - /jest-haste-map/18.1.0: - dependencies: - fb-watchman: 1.9.2 - graceful-fs: 4.1.11 - micromatch: 2.3.11 - sane: 1.4.1 - worker-farm: 1.5.0 - dev: true - resolution: - integrity: sha1-BoOcdLdwpAwaEGlohR340oHAg3U= - /jest-jasmine2/18.1.0: - dependencies: - graceful-fs: 4.1.11 - jest-matcher-utils: 18.1.0 - jest-matchers: 18.1.0 - jest-snapshot: 18.1.0 - jest-util: 18.1.0 - dev: true - resolution: - integrity: sha1-CU4QTCwYlwh2bHcmO7Kuy1hgqAs= - /jest-matcher-utils/18.1.0: - dependencies: - chalk: 1.1.3 - pretty-format: 18.1.0 - dev: true - resolution: - integrity: sha1-GsRlGVXuKmDO8ef8yYzf13PA+TI= - /jest-matchers/18.1.0: - dependencies: - jest-diff: 18.1.0 - jest-matcher-utils: 18.1.0 - jest-util: 18.1.0 - pretty-format: 18.1.0 - dev: true - resolution: - integrity: sha1-A0FIS/h6H9C6wKTSyJnit3o/Hq0= - /jest-mock/18.0.0: - dev: true - resolution: - integrity: sha1-XCSIRuoz+lWLUm9TEqtKZ2XkibM= - /jest-resolve-dependencies/18.1.0: - dependencies: - jest-file-exists: 17.0.0 - jest-resolve: 18.1.0 - dev: true - resolution: - integrity: sha1-gTT7XK9Zye2EL+AVKrAcUnEfG7s= - /jest-resolve/18.1.0: - dependencies: - browser-resolve: 1.11.2 - jest-file-exists: 17.0.0 - jest-haste-map: 18.1.0 - resolve: 1.4.0 - dev: true - resolution: - integrity: sha1-aACsy1NmWMkGzV4p3kErGrmsJJs= - /jest-runtime/18.1.0: - dependencies: - babel-core: 6.26.0 - babel-jest: 18.0.0 - babel-plugin-istanbul: 3.1.2 - chalk: 1.1.3 - graceful-fs: 4.1.11 - jest-config: 18.1.0 - jest-file-exists: 17.0.0 - jest-haste-map: 18.1.0 - jest-mock: 18.0.0 - jest-resolve: 18.1.0 - jest-snapshot: 18.1.0 - jest-util: 18.1.0 - json-stable-stringify: 1.0.1 - micromatch: 2.3.11 - yargs: 6.6.0 - dev: true - resolution: - integrity: sha1-Or/WhxdbIfw7haK4BkOZ6ZeFmSI= - /jest-snapshot/18.1.0: - dependencies: - jest-diff: 18.1.0 - jest-file-exists: 17.0.0 - jest-matcher-utils: 18.1.0 - jest-util: 18.1.0 - natural-compare: 1.4.0 - pretty-format: 18.1.0 - dev: true - resolution: - integrity: sha1-VbltLuY5ybznb4fyo/1Atxx6WRY= - /jest-util/18.1.0: - dependencies: - chalk: 1.1.3 - diff: 3.3.1 - graceful-fs: 4.1.11 - jest-file-exists: 17.0.0 - jest-mock: 18.0.0 - mkdirp: 0.5.1 - dev: true - resolution: - integrity: sha1-OpnDIRSrF/hL4JQ4JScAbm1L/Go= - /jmespath/0.15.0: - resolution: - integrity: sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc= - /js-tokens/3.0.2: - resolution: - integrity: sha1-mGbfOVECEw449/mWvOtlRDIJwls= - /js-yaml/3.10.0: - dependencies: - argparse: 1.0.9 - esprima: 4.0.0 - resolution: - integrity: sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA== - /js-yaml/3.6.1: - dependencies: - argparse: 1.0.9 - esprima: 2.7.3 - dev: true - resolution: - integrity: sha1-bl/mfYsgXOTSL60Ft3geja3MSzA= - /jsbn/0.1.1: - dev: true - optional: true - resolution: - integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - /jsdom/9.12.0: - dependencies: - abab: 1.0.3 - acorn: 4.0.13 - acorn-globals: 3.1.0 - array-equal: 1.0.0 - content-type-parser: 1.0.1 - cssom: 0.3.2 - cssstyle: 0.2.37 - escodegen: 1.9.0 - html-encoding-sniffer: 1.0.1 - nwmatcher: 1.4.1 - parse5: 1.5.1 - request: 2.81.0 - sax: 1.2.4 - symbol-tree: 3.2.2 - tough-cookie: 2.3.2 - webidl-conversions: 4.0.2 - whatwg-encoding: 1.0.1 - whatwg-url: 4.8.0 - xml-name-validator: 2.0.1 - dev: true - resolution: - integrity: sha1-6MVG//ywbADUgzyoRBD+1/igl9Q= - /jsesc/1.3.0: - dev: true - resolution: - integrity: sha1-RsP+yMGJKxKwgz25vHYiF226s0s= - /json-refs/2.1.7: - dependencies: - commander: 2.11.0 - graphlib: 2.1.1 - js-yaml: 3.10.0 - native-promise-only: 0.8.1 - path-loader: 1.0.2 - slash: 1.0.0 - uri-js: 3.0.2 - resolution: - integrity: sha1-uesB/in16j6Sh48VrqEK04taz4k= - /json-schema/0.2.3: - dev: true - resolution: - integrity: sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - /json-stable-stringify/1.0.1: - dependencies: - jsonify: 0.0.0 - dev: true - resolution: - integrity: sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= - /json-stringify-safe/5.0.1: - resolution: - integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - /json3/3.3.2: - dev: true - resolution: - integrity: sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE= - /json5/0.5.1: - dev: true - resolution: - integrity: sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= - /jsonfile/2.4.0: - optionalDependencies: - graceful-fs: 4.1.11 - resolution: - integrity: sha1-NzaitCi4e72gzIO1P6PWM6NcKug= - /jsonify/0.0.0: - dev: true - resolution: - integrity: sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= - /jsonpointer/4.0.1: - dev: true - resolution: - integrity: sha1-T9kss04OnbPInIYi7PUfm5eMbLk= - /jsprim/1.4.1: - dependencies: - assert-plus: 1.0.0 - extsprintf: 1.3.0 - json-schema: 0.2.3 - verror: 1.10.0 - dev: true - resolution: - integrity: sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - /jsx-ast-utils/1.4.1: - dev: true - resolution: - integrity: sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE= - /jszip/3.1.4: - dependencies: - core-js: 2.3.0 - es6-promise: 3.0.2 - lie: 3.1.1 - pako: 1.0.6 - readable-stream: 2.0.6 - dev: true - resolution: - integrity: sha512-z6w8iYIxZ/fcgul0j/OerkYnkomH8BZigvzbxVmr2h5HkZUrPtk2kjYtLkqR9wwQxEP6ecKNoKLsbhd18jfnGA== - /jwt-decode/2.2.0: - resolution: - integrity: sha1-fYa9VmefWM5qhHBKZX3TkruoGnk= - /kind-of/3.2.2: - dependencies: - is-buffer: 1.1.5 - dev: true - resolution: - integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - /kind-of/4.0.0: - dependencies: - is-buffer: 1.1.5 - dev: true - resolution: - integrity: sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - /klaw/1.3.1: - optionalDependencies: - graceful-fs: 4.1.11 - resolution: - integrity: sha1-QIhDO0azsbolnXh4XY6W9zugJDk= - /lazy-cache/1.0.4: - dev: true - optional: true - resolution: - integrity: sha1-odePw6UEdMuAhF07O24dpJpEbo4= - /lazy-cache/2.0.2: - dependencies: - set-getter: 0.1.0 - dev: true - resolution: - integrity: sha1-uRkKT5EzVGlIQIWfio9whNiCImQ= - /lazystream/1.0.0: - dependencies: - readable-stream: 2.3.3 - resolution: - integrity: sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= - /lcid/1.0.0: - dependencies: - invert-kv: 1.0.0 - dev: true - resolution: - integrity: sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= - /lcov-parse/0.0.10: - dev: true - resolution: - integrity: sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM= - /levn/0.3.0: - dependencies: - prelude-ls: 1.1.2 - type-check: 0.3.2 - dev: true - resolution: - integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - /lie/3.1.1: - dependencies: - immediate: 3.0.6 - dev: true - resolution: - integrity: sha1-mkNrLMd0bKWd56QfpGmz77dr2H4= - /list-item/1.1.1: - dependencies: - expand-range: 1.8.2 - extend-shallow: 2.0.1 - is-number: 2.1.0 - repeat-string: 1.6.1 - dev: true - resolution: - integrity: sha1-DGXQDih8tmPMs8s4Sad+iewmilY= - /load-json-file/1.1.0: - dependencies: - graceful-fs: 4.1.11 - parse-json: 2.2.0 - pify: 2.3.0 - pinkie-promise: 2.0.1 - strip-bom: 2.0.0 - dev: true - resolution: - integrity: sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= - /locate-path/2.0.0: - dependencies: - p-locate: 2.0.0 - path-exists: 3.0.0 - dev: true - resolution: - integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - /lodash-es/4.17.4: - resolution: - integrity: sha1-3MHXVS4VCgZABzupyzHXDwMpUOc= - /lodash._arraycopy/3.0.0: - dev: true - resolution: - integrity: sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE= - /lodash._arrayeach/3.0.0: - dev: true - resolution: - integrity: sha1-urFWsqkNPxu9XGU0AzSeXlkz754= - /lodash._baseassign/3.2.0: - dependencies: - lodash._basecopy: 3.0.1 - lodash.keys: 3.1.2 - dev: true - resolution: - integrity: sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4= - /lodash._baseclone/3.3.0: - dependencies: - lodash._arraycopy: 3.0.0 - lodash._arrayeach: 3.0.0 - lodash._baseassign: 3.2.0 - lodash._basefor: 3.0.3 - lodash.isarray: 3.0.4 - lodash.keys: 3.1.2 - dev: true - resolution: - integrity: sha1-MDUZv2OT/n5C802LYw73eU41Qrc= - /lodash._basecopy/3.0.1: - dev: true - resolution: - integrity: sha1-jaDmqHbPNEwK2KVIghEd08XHyjY= - /lodash._basecreate/3.0.3: - dev: true - resolution: - integrity: sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE= - /lodash._basefor/3.0.3: - dev: true - resolution: - integrity: sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI= - /lodash._bindcallback/3.0.1: - dev: true - resolution: - integrity: sha1-5THCdkTPi1epnhftlbNcdIeJOS4= - /lodash._getnative/3.9.1: - dev: true - resolution: - integrity: sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= - /lodash._isiterateecall/3.0.9: - dev: true - resolution: - integrity: sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw= - /lodash.assign/4.2.0: - dev: true - resolution: - integrity: sha1-DZnzzNem0mHRm9rrkkUAXShYCOc= - /lodash.clonedeep/3.0.2: - dependencies: - lodash._baseclone: 3.3.0 - lodash._bindcallback: 3.0.1 - dev: true - resolution: - integrity: sha1-oKHkDYKl6on/WxR7hETtY9koJ9s= - /lodash.cond/4.5.2: - dev: true - resolution: - integrity: sha1-9HGh2khr5g9quVXRcRVSPdHSVdU= - /lodash.create/3.1.1: - dependencies: - lodash._baseassign: 3.2.0 - lodash._basecreate: 3.0.3 - lodash._isiterateecall: 3.0.9 - dev: true - resolution: - integrity: sha1-1/KEnw29p+BGgruM1yqwIkYd6+c= - /lodash.difference/4.5.0: - resolution: - integrity: sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw= - /lodash.endswith/4.2.1: - dev: true - resolution: - integrity: sha1-/tWawXOO0+I27dcGTsRWRIs3vAk= - /lodash.find/4.6.0: - dev: true - resolution: - integrity: sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E= - /lodash.findindex/4.6.0: - dev: true - resolution: - integrity: sha1-oyRd7mH7m24GJLU1ElYku2nBEQY= - /lodash.isarguments/3.1.0: - dev: true - resolution: - integrity: sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo= - /lodash.isarray/3.0.4: - dev: true - resolution: - integrity: sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U= - /lodash.keys/3.1.2: - dependencies: - lodash._getnative: 3.9.1 - lodash.isarguments: 3.1.0 - lodash.isarray: 3.0.4 - dev: true - resolution: - integrity: sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo= - /lodash.pad/4.5.1: - resolution: - integrity: sha1-QzCUmoM6fI2iLMIPaibE1Z3runA= - /lodash.padend/4.6.1: - resolution: - integrity: sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4= - /lodash.padstart/4.6.1: - resolution: - integrity: sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs= - /lodash.toarray/4.4.0: - dev: true - resolution: - integrity: sha1-JMS/zWsvuji/0FlNsRedjptlZWE= - /lodash.uniq/4.5.0: - resolution: - integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - /lodash/4.17.4: - resolution: - integrity: sha1-eCA6TRwyiuHYbcpkYONptX9AVa4= - /log-driver/1.2.5: - dev: true - resolution: - integrity: sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY= - /lolex/1.3.2: - dev: true - resolution: - integrity: sha1-fD2mL/yzDw9agKJWbKJORdigHzE= - /longest/1.0.1: - dev: true - optional: true - resolution: - integrity: sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= - /loose-envify/1.3.1: - dependencies: - js-tokens: 3.0.2 - resolution: - integrity: sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg= - /lowercase-keys/1.0.0: - resolution: - integrity: sha1-TjNms55/VFfjXxMkvfb4jQv8cwY= - /lsmod/1.0.0: - resolution: - integrity: sha1-mgD3bco26yP6BTUK/htYXUKZ5ks= - /make-dir/1.0.0: - dependencies: - pify: 2.3.0 - resolution: - integrity: sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg= - /makeerror/1.0.11: - dependencies: - tmpl: 1.0.4 - dev: true - resolution: - integrity: sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - /markdown-link/0.1.1: - dev: true - resolution: - integrity: sha1-MsXGUZmmRXMWMi0eQinRNAfIx88= - /markdown-magic/0.1.18: - dependencies: - commander: 2.11.0 - deepmerge: 1.5.1 - find-up: 2.1.0 - fs-extra: 1.0.0 - globby: 6.1.0 - is-local-path: 0.1.6 - markdown-toc: 1.1.0 - sync-request: 3.0.1 - dev: true - resolution: - integrity: sha1-aalfD1Ekj5/ChO118kva2FpFzu4= - /markdown-toc/1.1.0: - dependencies: - concat-stream: 1.6.0 - diacritics-map: 0.1.0 - gray-matter: 2.1.1 - lazy-cache: 2.0.2 - list-item: 1.1.1 - markdown-link: 0.1.1 - minimist: 1.2.0 - mixin-deep: 1.2.0 - object.pick: 1.3.0 - remarkable: 1.7.1 - repeat-string: 1.6.1 - strip-color: 0.1.0 - dev: true - resolution: - integrity: sha1-GORyN9iVSelEcSHmniyoU8otdSo= - /marked-terminal/1.7.0/marked@0.3.6: - dependencies: - cardinal: 1.0.0 - chalk: 1.1.3 - cli-table: 0.3.1 - lodash.assign: 4.2.0 - marked: 0.3.6 - node-emoji: 1.8.1 - dev: true - id: registry.npmjs.org/marked-terminal/1.7.0 - resolution: - integrity: sha1-yMRgiBx3LHYEtkNnAH7l938SWQQ= - /marked/0.3.6: - dev: true - resolution: - integrity: sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc= - /merge-descriptors/1.0.1: - dev: true - resolution: - integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - /merge/1.2.0: - dev: true - resolution: - integrity: sha1-dTHjnUlJwoGma4xabgJl6LBYlNo= - /methods/1.1.2: - resolution: - integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - /micromatch/2.3.11: - dependencies: - arr-diff: 2.0.0 - array-unique: 0.2.1 - braces: 1.8.5 - expand-brackets: 0.1.5 - extglob: 0.3.2 - filename-regex: 2.0.1 - is-extglob: 1.0.0 - is-glob: 2.0.1 - kind-of: 3.2.2 - normalize-path: 2.1.1 - object.omit: 2.0.1 - parse-glob: 3.0.4 - regex-cache: 0.4.4 - dev: true - resolution: - integrity: sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= - /mime-db/1.30.0: - resolution: - integrity: sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE= - /mime-types/2.1.17: - dependencies: - mime-db: 1.30.0 - resolution: - integrity: sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo= - /mime/1.4.0: - resolution: - integrity: sha512-n9ChLv77+QQEapYz8lV+rIZAW3HhAPW2CXnzb1GN5uMkuczshwvkW7XPsbzU0ZQN3sP47Er2KVkp2p3KyqZKSQ== - /minimatch/3.0.4: - dependencies: - brace-expansion: 1.1.8 - resolution: - integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - /minimist/0.0.10: - dev: true - resolution: - integrity: sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= - /minimist/0.0.8: - resolution: - integrity: sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - /minimist/1.2.0: - resolution: - integrity: sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - /mixin-deep/1.2.0: - dependencies: - for-in: 1.0.2 - is-extendable: 0.1.1 - dev: true - resolution: - integrity: sha1-0CuMb4ttS49ZgtP9AJxJGYUcP+I= - /mkdirp/0.5.1: - dependencies: - minimist: 0.0.8 - resolution: - integrity: sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - /mocha-lcov-reporter/1.3.0: - dev: true - resolution: - integrity: sha1-Rpve9PivyaEWBW8HnfYYLQr7A4Q= - /mocha/3.5.3: - dependencies: - browser-stdout: 1.3.0 - commander: 2.9.0 - debug: 2.6.8 - diff: 3.2.0 - escape-string-regexp: 1.0.5 - glob: 7.1.1 - growl: 1.9.2 - he: 1.1.1 - json3: 3.3.2 - lodash.create: 3.1.1 - mkdirp: 0.5.1 - supports-color: 3.1.2 - dev: true - resolution: - integrity: sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg== - /mock-require/1.3.0: - dependencies: - caller-id: 0.1.0 - dev: true - resolution: - integrity: sha1-gmFElS5QR2L45pJKqPY5Rl0deiQ= - /module-not-found-error/1.0.1: - dev: true - resolution: - integrity: sha1-z4tP9PKWQGdNbN0CsOO8UjwrvcA= - /moment/2.18.1: - resolution: - integrity: sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8= - /ms/2.0.0: - resolution: - integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - /mute-stream/0.0.5: - dev: true - resolution: - integrity: sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA= - /mute-stream/0.0.6: - resolution: - integrity: sha1-SJYrGeFp/R38JAs/HnMXYnu8R9s= - /native-promise-only/0.8.1: - resolution: - integrity: sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE= - /natural-compare/1.4.0: - dev: true - resolution: - integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - /node-emoji/1.8.1: - dependencies: - lodash.toarray: 4.4.0 - dev: true - resolution: - integrity: sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg== - /node-fetch/1.7.3: - dependencies: - encoding: 0.1.12 - is-stream: 1.1.0 - resolution: - integrity: sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== - /node-int64/0.4.0: - dev: true - resolution: - integrity: sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - /node-notifier/4.6.1: - dependencies: - cli-usage: 0.1.4 - growly: 1.3.0 - lodash.clonedeep: 3.0.2 - minimist: 1.2.0 - semver: 5.4.1 - shellwords: 0.1.1 - which: 1.3.0 - dev: true - resolution: - integrity: sha1-BW0UJE89zBzq3+aK+c/wxUc6M/M= - /nopt/3.0.6: - dependencies: - abbrev: 1.1.0 - dev: true - resolution: - integrity: sha1-xkZdvwirzU2zWTF/eaxopkayj/k= - /normalize-package-data/2.4.0: - dependencies: - hosted-git-info: 2.5.0 - is-builtin-module: 1.0.0 - semver: 5.4.1 - validate-npm-package-license: 3.0.1 - dev: true - resolution: - integrity: sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== - /normalize-path/2.1.1: - dependencies: - remove-trailing-separator: 1.1.0 - resolution: - integrity: sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - /npm-conf/1.1.2: - dependencies: - config-chain: 1.1.11 - pify: 3.0.0 - resolution: - integrity: sha512-dotwbpwVzfNB/2EF3A2wjK5tEMLggKfuA/8TG6WvBB1Zrv+JsvF7E8ei9B/HGq211st/GwXFbREcNJvJ1eySUQ== - /npmlog/2.0.4: - dependencies: - ansi: 0.3.1 - are-we-there-yet: 1.1.4 - gauge: 1.2.7 - resolution: - integrity: sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI= - /number-is-nan/1.0.1: - resolution: - integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - /nwmatcher/1.4.1: - dev: true - resolution: - integrity: sha1-eumwew6oBNt+JfBctf5Al9TklJ8= - /oauth-sign/0.8.2: - dev: true - resolution: - integrity: sha1-Rqarfwrq2N6unsBWV4C31O/rnUM= - /object-assign/4.1.1: - resolution: - integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - /object-keys/1.0.11: - dev: true - resolution: - integrity: sha1-xUYBd4rVYPEULODgG8yotW0TQm0= - /object.assign/4.0.4: - dependencies: - define-properties: 1.1.2 - function-bind: 1.1.1 - object-keys: 1.0.11 - dev: true - resolution: - integrity: sha1-scnMBE7xuf5jYG/BQau7MuFHMMw= - /object.omit/2.0.1: - dependencies: - for-own: 0.1.5 - is-extendable: 0.1.1 - dev: true - resolution: - integrity: sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= - /object.pick/1.3.0: - dependencies: - isobject: 3.0.1 - dev: true - resolution: - integrity: sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - /once/1.4.0: - dependencies: - wrappy: 1.0.2 - resolution: - integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - /onetime/1.1.0: - resolution: - integrity: sha1-ofeDj4MUxRbwXs78vEzP4EtO14k= - /opn/5.1.0: - dependencies: - is-wsl: 1.1.0 - resolution: - integrity: sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg== - /optimist/0.6.1: - dependencies: - minimist: 0.0.10 - wordwrap: 0.0.3 - dev: true - resolution: - integrity: sha1-2j6nRob6IaGaERwybpDrFaAZZoY= - /optionator/0.8.2: - dependencies: - deep-is: 0.1.3 - fast-levenshtein: 2.0.6 - levn: 0.3.0 - prelude-ls: 1.1.2 - type-check: 0.3.2 - wordwrap: 1.0.0 - dev: true - resolution: - integrity: sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= - /os-homedir/1.0.2: - dev: true - resolution: - integrity: sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - /os-locale/1.4.0: - dependencies: - lcid: 1.0.0 - dev: true - resolution: - integrity: sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= - /os-shim/0.1.3: - resolution: - integrity: sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc= - /os-tmpdir/1.0.2: - resolution: - integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - /p-limit/1.1.0: - dev: true - resolution: - integrity: sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw= - /p-locate/2.0.0: - dependencies: - p-limit: 1.1.0 - dev: true - resolution: - integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - /pako/1.0.6: - dev: true - resolution: - integrity: sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg== - /parse-glob/3.0.4: - dependencies: - glob-base: 0.3.0 - is-dotfile: 1.0.3 - is-extglob: 1.0.0 - is-glob: 2.0.1 - dev: true - resolution: - integrity: sha1-ssN2z7EfNVE7rdFz7wu246OIORw= - /parse-json/2.2.0: - dependencies: - error-ex: 1.3.1 - dev: true - resolution: - integrity: sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - /parse5/1.5.1: - dev: true - resolution: - integrity: sha1-m387DeMr543CQBsXVzzK8Pb1nZQ= - /path-exists/2.1.0: - dependencies: - pinkie-promise: 2.0.1 - dev: true - resolution: - integrity: sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - /path-exists/3.0.0: - dev: true - resolution: - integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - /path-is-absolute/1.0.1: - resolution: - integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - /path-is-inside/1.0.2: - dev: true - resolution: - integrity: sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - /path-loader/1.0.2: - dependencies: - native-promise-only: 0.8.1 - superagent: 3.6.0 - resolution: - integrity: sha1-zVxz5+OakQEb4UjWv92KhbuTHvk= - /path-parse/1.0.5: - dev: true - resolution: - integrity: sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME= - /path-type/1.1.0: - dependencies: - graceful-fs: 4.1.11 - pify: 2.3.0 - pinkie-promise: 2.0.1 - dev: true - resolution: - integrity: sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - /pend/1.2.0: - resolution: - integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA= - /performance-now/0.2.0: - dev: true - resolution: - integrity: sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU= - /pify/2.3.0: - resolution: - integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - /pify/3.0.0: - resolution: - integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - /pinkie-promise/2.0.1: - dependencies: - pinkie: 2.0.4 - resolution: - integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o= - /pinkie/2.0.4: - resolution: - integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - /pkg-dir/1.0.0: - dependencies: - find-up: 1.1.2 - dev: true - resolution: - integrity: sha1-ektQio1bstYp1EcFb/TpyTFM89Q= - /pkg-up/1.0.0: - dependencies: - find-up: 1.1.2 - dev: true - resolution: - integrity: sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY= - /pluralize/1.2.1: - dev: true - resolution: - integrity: sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU= - /prelude-ls/1.1.2: - dev: true - resolution: - integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - /prepend-http/1.0.4: - resolution: - integrity: sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - /preserve/0.2.0: - dev: true - resolution: - integrity: sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= - /pretty-format/18.1.0: - dependencies: - ansi-styles: 2.2.1 - dev: true - resolution: - integrity: sha1-+2Wob3p/kZSWPu6RhlwbzxA54oQ= - /private/0.1.7: - dev: true - resolution: - integrity: sha1-aM5eih7woju1cMwoU3tTMqumPvE= - /process-nextick-args/1.0.7: - resolution: - integrity: sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= - /progress/1.1.8: - dev: true - resolution: - integrity: sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74= - /promise/7.3.1: - dependencies: - asap: 2.0.6 - dev: true - resolution: - integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - /proto-list/1.2.4: - resolution: - integrity: sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= - /proxyquire/1.8.0: - dependencies: - fill-keys: 1.0.2 - module-not-found-error: 1.0.1 - resolve: 1.1.7 - dev: true - resolution: - integrity: sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw= - /prr/0.0.0: - dev: true - resolution: - integrity: sha1-GoS4WQgyVQFBGFPQCB7j+obikmo= - /punycode/1.3.2: - resolution: - integrity: sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - /punycode/1.4.1: - dev: true - resolution: - integrity: sha1-wNWmOycYgArY4esPpSachN1BhF4= - /punycode/2.1.0: - resolution: - integrity: sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= - /qs/6.3.2: - dev: true - resolution: - integrity: sha1-51vV9uJoEioqDgvaYwslUMFmUCw= - /qs/6.4.0: - dev: true - resolution: - integrity: sha1-E+JtKK1rD/qpExLNO/cI7TUecjM= - /qs/6.5.1: - resolution: - integrity: sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A== - /querystring/0.2.0: - resolution: - integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - /querystringify/1.0.0: - resolution: - integrity: sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs= - /ramda/0.24.1: - resolution: - integrity: sha1-w7d1UZfzW43DUCIoJixMkd22uFc= - /randomatic/1.1.7: - dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 - dev: true - resolution: - integrity: sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how== - /raven/1.2.1: - dependencies: - cookie: 0.3.1 - json-stringify-safe: 5.0.1 - lsmod: 1.0.0 - stack-trace: 0.0.9 - uuid: 3.0.0 - resolution: - integrity: sha1-lJwTTbAooZC3u/j3kKrlQbfAIL0= - /rc/1.2.1: - dependencies: - deep-extend: 0.4.2 - ini: 1.3.4 - minimist: 1.2.0 - strip-json-comments: 2.0.1 - resolution: - integrity: sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU= - /read-pkg-up/1.0.1: - dependencies: - find-up: 1.1.2 - read-pkg: 1.1.0 - dev: true - resolution: - integrity: sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= - /read-pkg/1.1.0: - dependencies: - load-json-file: 1.1.0 - normalize-package-data: 2.4.0 - path-type: 1.1.0 - dev: true - resolution: - integrity: sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= - /readable-stream/2.0.6: - dependencies: - core-util-is: 1.0.2 - inherits: 2.0.3 - isarray: 1.0.0 - process-nextick-args: 1.0.7 - string_decoder: 0.10.31 - util-deprecate: 1.0.2 - dev: true - resolution: - integrity: sha1-j5A0HmilPMySh4jaz80Rs265t44= - /readable-stream/2.3.3: - dependencies: - core-util-is: 1.0.2 - inherits: 2.0.3 - isarray: 1.0.0 - process-nextick-args: 1.0.7 - safe-buffer: 5.1.1 - string_decoder: 1.0.3 - util-deprecate: 1.0.2 - resolution: - integrity: sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ== - /readline2/1.0.1: - dependencies: - code-point-at: 1.1.0 - is-fullwidth-code-point: 1.0.0 - mute-stream: 0.0.5 - dev: true - resolution: - integrity: sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU= - /rechoir/0.6.2: - dependencies: - resolve: 1.4.0 - dev: true - resolution: - integrity: sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - /redeyed/1.0.1: - dependencies: - esprima: 3.0.0 - dev: true - resolution: - integrity: sha1-6WwZO0DAgWsArshCaY5hGF5VSYo= - /redux/3.7.2: - dependencies: - lodash: 4.17.4 - lodash-es: 4.17.4 - loose-envify: 1.3.1 - symbol-observable: 1.0.4 - resolution: - integrity: sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A== - /regenerator-runtime/0.11.0: - dev: true - resolution: - integrity: sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A== - /regex-cache/0.4.4: - dependencies: - is-equal-shallow: 0.1.3 - dev: true - resolution: - integrity: sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== - /remarkable/1.7.1: - dependencies: - argparse: 0.1.16 - autolinker: 0.15.3 - dev: true - resolution: - integrity: sha1-qspJchALZqZCpjoQIcpLrBvjv/Y= - /remove-trailing-separator/1.1.0: - resolution: - integrity: sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - /repeat-element/1.1.2: - dev: true - resolution: - integrity: sha1-7wiaF40Ug7quTZPrmLT55OEdmQo= - /repeat-string/1.6.1: - dev: true - resolution: - integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc= - /repeating/2.0.1: - dependencies: - is-finite: 1.0.2 - dev: true - resolution: - integrity: sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - /replaceall/0.1.6: - resolution: - integrity: sha1-gdgax663LX9cSUKt8ml6MiBojY4= - /request/2.79.0: - dependencies: - aws-sign2: 0.6.0 - aws4: 1.6.0 - caseless: 0.11.0 - combined-stream: 1.0.5 - extend: 3.0.1 - forever-agent: 0.6.1 - form-data: 2.1.4 - har-validator: 2.0.6 - 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 - qs: 6.3.2 - stringstream: 0.0.5 - tough-cookie: 2.3.2 - tunnel-agent: 0.4.3 - uuid: 3.1.0 - dev: true - resolution: - integrity: sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4= - /request/2.81.0: - dependencies: - 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.2 - tunnel-agent: 0.6.0 - uuid: 3.1.0 - dev: true - resolution: - integrity: sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA= - /require-directory/2.1.1: - dev: true - resolution: - integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - /require-main-filename/1.0.1: - dev: true - resolution: - integrity: sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - /require-uncached/1.0.3: - dependencies: - caller-path: 0.1.0 - resolve-from: 1.0.1 - dev: true - resolution: - integrity: sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM= - /requires-port/1.0.0: - resolution: - integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - /resolve-from/1.0.1: - dev: true - resolution: - integrity: sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY= - /resolve/1.1.7: - dev: true - resolution: - integrity: sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - /resolve/1.4.0: - dependencies: - path-parse: 1.0.5 - dev: true - resolution: - integrity: sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q== - /restore-cursor/1.0.1: - dependencies: - exit-hook: 1.1.1 - onetime: 1.1.0 - resolution: - integrity: sha1-NGYfRohjJ/7SmRR5FSJS35LapUE= - /right-align/0.1.3: - dependencies: - align-text: 0.1.4 - dev: true - optional: true - resolution: - integrity: sha1-YTObci/mo1FWiSENJOFMlhSGE+8= - /rimraf/2.6.2: - dependencies: - glob: 7.1.2 - resolution: - integrity: sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== - /run-async/0.1.0: - dependencies: - once: 1.4.0 - dev: true - resolution: - integrity: sha1-yK1KXhEGYeQCp9IbUw4AnyX444k= - /run-async/2.3.0: - dependencies: - is-promise: 2.1.0 - resolution: - integrity: sha1-A3GrSuC91yDUFm19/aZP96RFpsA= - /rx-lite/3.1.2: - dev: true - resolution: - integrity: sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI= - /rx/4.1.0: - resolution: - integrity: sha1-pfE/957zt0D+MKqAP7CfmIBdR4I= - /safe-buffer/5.1.1: - resolution: - integrity: sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg== - /samsam/1.1.2: - dev: true - resolution: - integrity: sha1-vsEf3IOp/aBjQBIQ5AF2wwJNFWc= - /samsam/1.1.3: - dev: true - resolution: - integrity: sha1-n1CHQZtNCR8jJXHn+lLpCw9VJiE= - /sane/1.4.1: - dependencies: - exec-sh: 0.2.1 - fb-watchman: 1.9.2 - minimatch: 3.0.4 - minimist: 1.2.0 - walker: 1.0.7 - watch: 0.10.0 - dev: true - resolution: - integrity: sha1-iPdj10BA9fDCVrYWPbOZvxEKxxU= - /sax/1.2.1: - resolution: - integrity: sha1-e45lYZCyKOgaZq6nSEgNgozS03o= - /sax/1.2.4: - resolution: - integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - /seek-bzip/1.0.5: - dependencies: - commander: 2.8.1 - resolution: - integrity: sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w= - /semver-regex/1.0.0: - resolution: - integrity: sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk= - /semver/5.0.3: - resolution: - integrity: sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no= - /semver/5.4.1: - resolution: - integrity: sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== - /set-blocking/2.0.0: - dev: true - resolution: - integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - /set-getter/0.1.0: - dependencies: - to-object-path: 0.3.0 - dev: true - resolution: - integrity: sha1-12nBgsnVpR9AkUXy+6guXoboA3Y= - /shelljs/0.6.1: - resolution: - integrity: sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg= - /shelljs/0.7.8: - dependencies: - glob: 7.1.2 - interpret: 1.0.4 - rechoir: 0.6.2 - dev: true - resolution: - integrity: sha1-3svPh0sNHl+3LhSxZKloMEjprLM= - /shellwords/0.1.1: - dev: true - resolution: - integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - /signal-exit/3.0.2: - resolution: - integrity: sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - /sinon-bluebird/3.1.0: - dev: true - resolution: - integrity: sha1-+SaA+lRtVTpPX2LekEJetdxHhB0= - /sinon-chai/2.13.0: - dev: true - resolution: - integrity: sha512-hRNu/TlYEp4Rw5IbzO8ykGoZMSG489PGUx1rvePpHGrtl20cXivRBgtr/EWYxIwL9EOO9+on04nd9k3tW8tVww== - /sinon/1.17.7: - dependencies: - formatio: 1.1.1 - lolex: 1.3.2 - samsam: 1.1.2 - util: 0.10.3 - dev: true - resolution: - integrity: sha1-RUKk9JugxFwF6y6d2dID4rjv4L8= - /slash/1.0.0: - resolution: - integrity: sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - /slice-ansi/0.0.4: - dev: true - resolution: - integrity: sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= - /sntp/1.0.9: - dependencies: - hoek: 2.16.3 - dev: true - resolution: - integrity: sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg= - /source-map-support/0.4.18: - dependencies: - source-map: 0.5.7 - dev: true - resolution: - integrity: sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== - /source-map/0.2.0: - dependencies: - amdefine: 1.0.1 - dev: true - optional: true - resolution: - integrity: sha1-2rc/vPwrqBm03gO9b26qSBZLP50= - /source-map/0.4.4: - dependencies: - amdefine: 1.0.1 - dev: true - resolution: - integrity: sha1-66T12pwNyZneaAMti092FzZSA2s= - /source-map/0.5.7: - dev: true - resolution: - integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - /spawn-sync/1.0.15: - dependencies: - concat-stream: 1.6.0 - os-shim: 0.1.3 - resolution: - integrity: sha1-sAeZVX63+wyDdsKdROih6mfldHY= - /spdx-correct/1.0.2: - dependencies: - spdx-license-ids: 1.2.2 - dev: true - resolution: - integrity: sha1-SzBz2TP/UfORLwOsVRlJikFQ20A= - /spdx-expression-parse/1.0.4: - dev: true - resolution: - integrity: sha1-m98vIOH0DtRH++JzJmGR/O1RYmw= - /spdx-license-ids/1.2.2: - dev: true - resolution: - integrity: sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc= - /sprintf-js/1.0.3: - resolution: - integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - /sshpk/1.13.1: - dependencies: - asn1: 0.2.3 - assert-plus: 1.0.0 - dashdash: 1.14.1 - getpass: 0.1.7 - dev: true - optionalDependencies: - bcrypt-pbkdf: 1.0.1 - ecc-jsbn: 0.1.1 - jsbn: 0.1.1 - tweetnacl: 0.14.5 - resolution: - integrity: sha1-US322mKHFEMW3EwY/hzx2UBzm+M= - /stack-trace/0.0.10: - dev: true - resolution: - integrity: sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= - /stack-trace/0.0.9: - resolution: - integrity: sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU= - /string-width/1.0.2: - dependencies: - code-point-at: 1.1.0 - is-fullwidth-code-point: 1.0.0 - strip-ansi: 3.0.1 - resolution: - integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - /string-width/2.1.1: - dependencies: - is-fullwidth-code-point: 2.0.0 - strip-ansi: 4.0.0 - dev: true - resolution: - integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - /string_decoder/0.10.31: - dev: true - resolution: - integrity: sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - /string_decoder/1.0.3: - dependencies: - safe-buffer: 5.1.1 - resolution: - integrity: sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ== - /stringstream/0.0.5: - dev: true - resolution: - integrity: sha1-TkhM1N5aC7vuGORjB3EKioFiGHg= - /strip-ansi/3.0.1: - dependencies: - ansi-regex: 2.1.1 - resolution: - integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - /strip-ansi/4.0.0: - dependencies: - ansi-regex: 3.0.0 - dev: true - resolution: - integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8= - /strip-bom/2.0.0: - dependencies: - is-utf8: 0.2.1 - dev: true - resolution: - integrity: sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - /strip-bom/3.0.0: - dev: true - resolution: - integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - /strip-color/0.1.0: - dev: true - resolution: - integrity: sha1-EG9l09PmotlAHKwOsM6LinArT3s= - /strip-dirs/2.0.0: - dependencies: - is-natural-number: 4.0.1 - resolution: - integrity: sha1-YQzbKSggDaAAT0HcuQ/JXNkZoLY= - /strip-json-comments/2.0.1: - resolution: - integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo= - /strip-outer/1.0.0: - dependencies: - escape-string-regexp: 1.0.5 - resolution: - integrity: sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g= - /superagent/3.6.0: - dependencies: - component-emitter: 1.2.1 - cookiejar: 2.1.1 - debug: 2.6.8 - extend: 3.0.1 - form-data: 2.3.1 - formidable: 1.1.1 - methods: 1.1.2 - mime: 1.4.0 - qs: 6.5.1 - readable-stream: 2.3.3 - resolution: - integrity: sha512-oWsu4mboo8sVxagp4bNwZIR1rUmypeAJDmNIwT9mF4k06hSu6P92aOjEWLaIj7vsX3fOUp+cRH/04tao+q5Q7A== - /supports-color/2.0.0: - resolution: - integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - /supports-color/3.1.2: - dependencies: - has-flag: 1.0.0 - dev: true - resolution: - integrity: sha1-cqJiiU2dQIuVbKBf83su2KbiotU= - /supports-color/3.2.3: - dependencies: - has-flag: 1.0.0 - dev: true - resolution: - integrity: sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= - /supports-color/4.4.0: - dependencies: - has-flag: 2.0.0 - resolution: - integrity: sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ== - /symbol-observable/1.0.4: - resolution: - integrity: sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0= - /symbol-tree/3.2.2: - dev: true - resolution: - integrity: sha1-rifbOPZgp64uHDt9G8KQgZuFGeY= - /sync-request/3.0.1: - dependencies: - concat-stream: 1.6.0 - http-response-object: 1.1.0 - then-request: 2.2.0 - dev: true - resolution: - integrity: sha1-yqEjWq+Im6UBB2oYNMQ2gwqC+3M= - /table/3.8.3: - dependencies: - ajv: 4.11.8 - ajv-keywords: /ajv-keywords/1.5.1/ajv@4.11.8 - chalk: 1.1.3 - lodash: 4.17.4 - slice-ansi: 0.0.4 - string-width: 2.1.1 - dev: true - resolution: - integrity: sha1-K7xULw/amGGnVdOUf+/Ys/UThV8= - /tabtab/2.2.2: - dependencies: - debug: 2.6.8 - inquirer: 1.2.3 - lodash.difference: 4.5.0 - lodash.uniq: 4.5.0 - minimist: 1.2.0 - mkdirp: 0.5.1 - npmlog: 2.0.4 - object-assign: 4.1.1 - resolution: - integrity: sha1-egR/FDsBC0y9MfhX6ClhUSy/ThQ= - /tar-stream/1.5.4: - dependencies: - bl: 1.2.1 - end-of-stream: 1.4.0 - readable-stream: 2.3.3 - xtend: 4.0.1 - resolution: - integrity: sha1-NlSc8E7RrumyowwBQyUiONr5QBY= - /test-exclude/3.3.0: - dependencies: - arrify: 1.0.1 - micromatch: 2.3.11 - object-assign: 4.1.1 - read-pkg-up: 1.0.1 - require-main-filename: 1.0.1 - dev: true - resolution: - integrity: sha1-ehfKEjmYjJg2ewYhRW27fUvDiXc= - /text-table/0.2.0: - dev: true - resolution: - integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - /then-request/2.2.0: - dependencies: - caseless: 0.11.0 - concat-stream: 1.6.0 - http-basic: 2.5.1 - http-response-object: 1.1.0 - promise: 7.3.1 - qs: 6.5.1 - dev: true - resolution: - integrity: sha1-ZnizL6DKIY/laZgbvYhxtZQGDYE= - /throat/3.2.0: - dev: true - resolution: - integrity: sha512-/EY8VpvlqJ+sFtLPeOgc8Pl7kQVOWv0woD87KTXVHPIAE842FGT+rokxIhe8xIUP1cfgrkt0as0vDLjDiMtr8w== - /through/2.3.8: - resolution: - integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - /timed-out/4.0.1: - resolution: - integrity: sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= - /tmp/0.0.29: - dependencies: - os-tmpdir: 1.0.2 - resolution: - integrity: sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA= - /tmpl/1.0.4: - dev: true - resolution: - integrity: sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - /to-fast-properties/1.0.3: - dev: true - resolution: - integrity: sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= - /to-object-path/0.3.0: - dependencies: - kind-of: 3.2.2 - dev: true - resolution: - integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - /toml/2.3.3: - dev: true - resolution: - integrity: sha512-O7L5hhSQHxuufWUdcTRPfuTh3phKfAZ/dqfxZFoxPCj2RYmpaSGLEIs016FCXItQwNr08yefUB5TSjzRYnajTA== - /tough-cookie/2.3.2: - dependencies: - punycode: 1.4.1 - dev: true - resolution: - integrity: sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo= - /tr46/0.0.3: - dev: true - resolution: - integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - /trim-repeated/1.0.0: - dependencies: - escape-string-regexp: 1.0.5 - resolution: - integrity: sha1-42RqLqTokTEr9+rObPsFOAvAHCE= - /trim-right/1.0.1: - dev: true - resolution: - integrity: sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= - /tryit/1.0.3: - dev: true - resolution: - integrity: sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics= - /tunnel-agent/0.4.3: - dev: true - resolution: - integrity: sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us= - /tunnel-agent/0.6.0: - dependencies: - safe-buffer: 5.1.1 - resolution: - integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - /tweetnacl/0.14.5: - dev: true - optional: true - resolution: - integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - /type-check/0.3.2: - dependencies: - prelude-ls: 1.1.2 - dev: true - resolution: - integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - /type-detect/0.1.1: - dev: true - resolution: - integrity: sha1-C6XsKohWQORw6k6FBZcZANrFiCI= - /type-detect/1.0.0: - dev: true - resolution: - integrity: sha1-diIXzAbbJY7EiQihKY6LlRIejqI= - /typedarray/0.0.6: - resolution: - integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - /uglify-js/2.8.29: - dependencies: - source-map: 0.5.7 - yargs: 3.10.0 - dev: true - optional: true - optionalDependencies: - uglify-to-browserify: 1.0.2 - resolution: - integrity: sha1-KcVzMUgFe7Th913zW3qcty5qWd0= - /uglify-to-browserify/1.0.2: - dev: true - optional: true - resolution: - integrity: sha1-bgkk1r2mta/jSeOabWMoUKD4grc= - /unbzip2-stream/1.2.5: - dependencies: - buffer: 3.6.0 - through: 2.3.8 - resolution: - integrity: sha512-izD3jxT8xkzwtXRUZjtmRwKnZoeECrfZ8ra/ketwOcusbZEp4mjULMnJOCfTDZBgGQAAY1AJ/IgxcwkavcX9Og== - /underscore.string/2.4.0: - dev: true - resolution: - integrity: sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs= - /underscore/1.7.0: - dev: true - resolution: - integrity: sha1-a7rwh3UA02vjTsqlhODbn+8DUgk= - /unzip-response/2.0.1: - resolution: - integrity: sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= - /uri-js/3.0.2: - dependencies: - punycode: 2.1.0 - resolution: - integrity: sha1-+QuFhQf4HepNz7s8TD2/orVX+qo= - /url-parse-lax/1.0.0: - dependencies: - prepend-http: 1.0.4 - resolution: - integrity: sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= - /url-parse/1.1.9: - dependencies: - querystringify: 1.0.0 - requires-port: 1.0.0 - resolution: - integrity: sha1-xn8dd11R8KGJEd17P/rSe7nlvRk= - /url-to-options/1.0.1: - resolution: - integrity: sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= - /url/0.10.3: - dependencies: - punycode: 1.3.2 - querystring: 0.2.0 - resolution: - integrity: sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ= - /user-home/2.0.0: - dependencies: - os-homedir: 1.0.2 - dev: true - resolution: - integrity: sha1-nHC/2Babwdy/SGBODwS4tJzenp8= - /util-deprecate/1.0.2: - resolution: - integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - /util/0.10.3: - dependencies: - inherits: 2.0.1 - dev: true - resolution: - integrity: sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - /uuid/2.0.3: - resolution: - integrity: sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho= - /uuid/3.0.0: - resolution: - integrity: sha1-Zyj8BFnEUNeWqZwxg3VpvfZy1yg= - /uuid/3.0.1: - resolution: - integrity: sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE= - /uuid/3.1.0: - dev: true - resolution: - integrity: sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g== - /validate-npm-package-license/3.0.1: - dependencies: - spdx-correct: 1.0.2 - spdx-expression-parse: 1.0.4 - dev: true - resolution: - integrity: sha1-KAS6vnEq0zeUWaz74kdGqywwP7w= - /verror/1.10.0: - dependencies: - assert-plus: 1.0.0 - core-util-is: 1.0.2 - extsprintf: 1.3.0 - dev: true - resolution: - integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - /walkdir/0.0.11: - resolution: - integrity: sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI= - /walker/1.0.7: - dependencies: - makeerror: 1.0.11 - dev: true - resolution: - integrity: sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - /watch/0.10.0: - dev: true - resolution: - integrity: sha1-d3mLLaD5kQ1ZXxrOWwwiWFIfIdw= - /webidl-conversions/3.0.1: - dev: true - resolution: - integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - /webidl-conversions/4.0.2: - dev: true - resolution: - integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - /whatwg-encoding/1.0.1: - dependencies: - iconv-lite: 0.4.13 - dev: true - resolution: - integrity: sha1-PGxFGhmO567FWx7GHQkgxngBpfQ= - /whatwg-fetch/2.0.3: - resolution: - integrity: sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ= - /whatwg-url/4.8.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: true - resolution: - integrity: sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA= - /which-module/1.0.0: - dev: true - resolution: - integrity: sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= - /which/1.3.0: - dependencies: - isexe: 2.0.0 - dev: true - resolution: - integrity: sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg== - /window-size/0.1.0: - dev: true - optional: true - resolution: - integrity: sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0= - /wordwrap/0.0.2: - dev: true - optional: true - resolution: - integrity: sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8= - /wordwrap/0.0.3: - dev: true - resolution: - integrity: sha1-o9XabNXAvAAI03I0u68b7WMFkQc= - /wordwrap/1.0.0: - dev: true - resolution: - integrity: sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - /worker-farm/1.5.0: - dependencies: - errno: 0.1.4 - xtend: 4.0.1 - dev: true - resolution: - integrity: sha512-DHRiUggxtbruaTwnLDm2/BRDKZIoOYvrgYUj5Bam4fU6Gtvc0FaEyoswFPBjMXAweGW2H4BDNIpy//1yXXuaqQ== - /wrap-ansi/2.1.0: - dependencies: - string-width: 1.0.2 - strip-ansi: 3.0.1 - dev: true - resolution: - integrity: sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - /wrappy/1.0.2: - resolution: - integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - /write-file-atomic/2.3.0: - dependencies: - graceful-fs: 4.1.11 - imurmurhash: 0.1.4 - signal-exit: 3.0.2 - resolution: - integrity: sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA== - /write/0.2.1: - dependencies: - mkdirp: 0.5.1 - dev: true - resolution: - integrity: sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= - /xml-name-validator/2.0.1: - dev: true - resolution: - integrity: sha1-TYuPHszTQZqjYgYb7O9RXh5VljU= - /xml2js/0.4.17: - dependencies: - sax: 1.2.4 - xmlbuilder: 4.2.1 - resolution: - integrity: sha1-F76T6q4/O3eTWceVtBlwWogX6Gg= - /xmlbuilder/4.2.1: - dependencies: - lodash: 4.17.4 - resolution: - integrity: sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU= - /xtend/4.0.1: - resolution: - integrity: sha1-pcbVMr5lbiPbgg77lDofBJmNY68= - /y18n/3.2.1: - dev: true - resolution: - integrity: sha1-bRX7qITAhnnA136I53WegR4H+kE= - /yaml-ast-parser/0.0.34: - resolution: - integrity: sha1-0A88+ddztyQUCa6SpnQNHbGfSeY= - /yargs-parser/4.2.1: - dependencies: - camelcase: 3.0.0 - dev: true - resolution: - integrity: sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw= - /yargs/3.10.0: - dependencies: - camelcase: 1.2.1 - cliui: 2.1.0 - decamelize: 1.2.0 - window-size: 0.1.0 - dev: true - optional: true - resolution: - integrity: sha1-9+572FfdfB0tOMDnTvvWgdFDH9E= - /yargs/6.6.0: - dependencies: - camelcase: 3.0.0 - cliui: 3.2.0 - decamelize: 1.2.0 - get-caller-file: 1.0.2 - os-locale: 1.4.0 - read-pkg-up: 1.0.1 - require-directory: 2.1.1 - require-main-filename: 1.0.1 - set-blocking: 2.0.0 - string-width: 1.0.2 - which-module: 1.0.0 - y18n: 3.2.1 - yargs-parser: 4.2.1 - dev: true - resolution: - integrity: sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg= - /yauzl/2.8.0: - dependencies: - buffer-crc32: 0.2.13 - fd-slicer: 1.0.1 - resolution: - integrity: sha1-eUUK/yKyqcWkHvVOAtuQfM+/nuI= - /zen-observable-ts/0.4.4: - resolution: - integrity: sha512-SNVY1sWWhoe7FwFmHpD9ERi+7Mhhj3+JdS0BGy2UxLIg7cY+3zQbyZauQCI6DN6YK4uoKNaIm3S7Qkqi1Lr+Fw== - /zip-stream/1.2.0: - dependencies: - archiver-utils: 1.3.0 - compress-commons: 1.2.0 - lodash: 4.17.4 - readable-stream: 2.3.3 - resolution: - integrity: sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ= -registry: 'https://registry.npmjs.org/' -shrinkwrapVersion: 3 -specifiers: - '@serverless/fdk': ^0.5.1 - apollo-client: ^1.4.2 - archiver: ^1.1.0 - async: ^1.5.2 - aws-sdk: ^2.75.0 - bluebird: ^3.4.0 - chai: ^3.5.0 - chai-as-promised: ^6.0.0 - chalk: ^2.0.0 - ci-info: ^1.1.1 - coveralls: ^2.12.0 - download: ^5.0.2 - eslint: ^3.3.1 - eslint-config-airbnb: ^10.0.1 - eslint-config-airbnb-base: ^5.0.2 - eslint-plugin-import: ^1.13.0 - eslint-plugin-jsx-a11y: ^2.1.0 - eslint-plugin-react: ^6.1.1 - filesize: ^3.3.0 - fs-extra: ^0.26.7 - get-stdin: ^5.0.1 - globby: ^6.1.0 - graceful-fs: ^4.1.11 - graphql: ^0.10.1 - graphql-tag: ^2.4.0 - https-proxy-agent: ^1.0.0 - is-docker: ^1.1.0 - istanbul: ^0.4.4 - jest-cli: ^18.0.0 - js-yaml: ^3.6.1 - json-refs: ^2.1.5 - jszip: ^3.1.2 - jwt-decode: ^2.2.0 - lodash: ^4.13.1 - markdown-magic: ^0.1.15 - minimist: ^1.2.0 - mocha: ^3.0.2 - mocha-lcov-reporter: ^1.2.0 - mock-require: ^1.3.0 - moment: ^2.13.0 - node-fetch: ^1.6.0 - opn: ^5.0.0 - proxyquire: ^1.7.10 - raven: ^1.2.1 - rc: ^1.1.6 - replaceall: ^0.1.6 - semver: ^5.0.3 - semver-regex: ^1.0.0 - shelljs: ^0.6.0 - sinon: ^1.17.5 - sinon-bluebird: ^3.1.0 - sinon-chai: ^2.9.0 - tabtab: ^2.2.2 - uuid: ^2.0.2 - write-file-atomic: ^2.1.0 - yaml-ast-parser: 0.0.34 From de60858227ee1b1a5bcc17c47ac62df3bdf52e65 Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Wed, 11 Oct 2017 10:09:17 +0700 Subject: [PATCH 18/99] improve test script and revert package-lock.json --- .../events/apiGateway/lib/resources.test.js | 14 +- package-lock.json | 4443 +++++++++++++++++ 2 files changed, 4447 insertions(+), 10 deletions(-) create mode 100644 package-lock.json diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js index a1ab647f73d..c02a26dfc87 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js @@ -429,15 +429,9 @@ describe('#compileResources()', () => { }, }, ]; - - try { - return awsCompileApigEvents.compileResources() - .then(() => { - throw new Error('Expected throwing error, got success'); - }); - } catch (e) { - expect(e.message).to.equal('Resource ID for path users is required'); - return Promise.resolve(); - } + + expect(() => { + return awsCompileApigEvents.compileResources(); + }).to.throw(Error, 'Resource ID for path users is required'); }); }); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000000..9170f8f11a7 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4443 @@ +{ + "name": "serverless", + "version": "1.21.1", + "lockfileVersion": 1, + "dependencies": { + "@serverless/fdk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@serverless/fdk/-/fdk-0.5.1.tgz", + "integrity": "sha512-Z/+5R0AohLwDT1E+9BTeUA7NozlyIoTh0iEt6x8x+ZZhIBK5HBMBN6v2LfkI4wmmOOyceTvsN0l8nWfGp4Oh5g==" + }, + "@types/graphql": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@types/graphql/-/graphql-0.10.2.tgz", + "integrity": "sha512-Ayw0w+kr8vYd8DToiMXjcHxXv1ljWbqX2mnLwXDxkBgog3vywGriC0JZ+npsuohKs3+E88M8OOtobo4g0X3SIA==", + "optional": true + }, + "abab": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.3.tgz", + "integrity": "sha1-uB3l9ydOxOdW15fNg08wNkJyTl0=", + "dev": true + }, + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, + "acorn": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", + "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", + "dev": true + }, + "acorn-globals": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", + "dev": true, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + } + } + }, + "agent-base": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz", + "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=", + "dependencies": { + "semver": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", + "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=" + } + } + }, + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true + }, + "ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", + "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=" + }, + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" + }, + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==" + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true + }, + "ansicolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz", + "integrity": "sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8=", + "dev": true + }, + "apollo-client": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/apollo-client/-/apollo-client-1.9.2.tgz", + "integrity": "sha512-1ZAw2x6AYtGFRosO9sR37+g5bNvCIyyNZ781h9M4Tm/lm8ejzINapx+BH2hdHgMxaGPuPvFpWGuD3m+sTbmWPQ==" + }, + "apollo-link-core": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/apollo-link-core/-/apollo-link-core-0.5.0.tgz", + "integrity": "sha1-3IfaGqpjsCkyGucJONwmJX9auMY=" + }, + "append-transform": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "dev": true + }, + "archiver": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz", + "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=", + "dependencies": { + "async": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", + "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==" + } + } + }, + "archiver-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", + "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=" + }, + "are-we-there-yet": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=" + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=" + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=" + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "array.prototype.find": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.4.tgz", + "integrity": "sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, + "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 + }, + "assertion-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", + "integrity": "sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "autolinker": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.15.3.tgz", + "integrity": "sha1-NCQX2PLzRhsUzwkIjV7fh5HcmDI=", + "dev": true + }, + "aws-sdk": { + "version": "2.109.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.109.0.tgz", + "integrity": "sha1-w9Ix9EQQiULjgW22YstFUquvlbs=", + "dependencies": { + "uuid": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", + "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=" + } + } + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-core": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", + "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", + "dev": true, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "babel-generator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", + "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", + "dev": true, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true + }, + "babel-jest": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-18.0.0.tgz", + "integrity": "sha1-F+u6jLMoXJBthZ6HB+Tnl5X7ZeM=", + "dev": true + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true + }, + "babel-plugin-istanbul": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-3.1.2.tgz", + "integrity": "sha1-EdWr3hhCXsJLXWSMfgtdJc01SiI=", + "dev": true + }, + "babel-plugin-jest-hoist": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-18.0.0.tgz", + "integrity": "sha1-QVDnDsq1YObnNErchJSYBy004So=", + "dev": true + }, + "babel-preset-jest": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-18.0.0.tgz", + "integrity": "sha1-hPr4yj7GWrp9Xj9Zu67ZNaskBJ4=", + "dev": true + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base64-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true + }, + "bl": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", + "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=" + }, + "bluebird": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", + "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=" + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=" + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true + }, + "browser-resolve": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", + "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", + "dev": true, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true + }, + "bser": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", + "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", + "dev": true + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=" + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "caller-id": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-id/-/caller-id-0.1.0.tgz", + "integrity": "sha1-Wb2sCJPRLDhxQIJ5Ix+XRYNk8Hs=", + "dev": true + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true, + "optional": true + }, + "capture-stack-trace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", + "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=" + }, + "cardinal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-1.0.0.tgz", + "integrity": "sha1-UOIcGwqjdyn5N33vGWtanOyTLuk=", + "dev": true + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true + }, + "caw": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==" + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "optional": true + }, + "chai": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", + "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", + "dev": true + }, + "chai-as-promised": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-6.0.0.tgz", + "integrity": "sha1-GgKkM6byTa+sY7nJb6FoTbGqjaY=", + "dev": true + }, + "chalk": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==" + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true + }, + "ci-info": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.1.tgz", + "integrity": "sha512-vHDDF/bP9RYpTWtUhpJRhCFdvvp3iDWvEbuDbWgvjUrNGV1MXJrE0MPcwGtEled04m61iwdBLUIHZtDgzWS4ZQ==" + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=" + }, + "cli-table": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", + "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", + "dev": true + }, + "cli-usage": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/cli-usage/-/cli-usage-0.1.4.tgz", + "integrity": "sha1-fAHg3HBsI0s5yTODjI4gshdXduI=", + "dev": true + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "optional": true, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true, + "optional": true + } + } + }, + "co": { + "version": "4.6.0", + "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", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "coffee-script": { + "version": "1.12.7", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", + "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", + "dev": true + }, + "color-convert": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", + "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=" + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=" + }, + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=" + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "compress-commons": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.0.tgz", + "integrity": "sha1-WFhwku8g03y1i68AARLJJ4/3O58=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=" + }, + "config-chain": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", + "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=" + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "content-type-parser": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.1.tgz", + "integrity": "sha1-w+VpiMU8ZRJ/tG1AMqOpACRv3JQ=", + "dev": true + }, + "convert-source-map": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", + "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", + "dev": true + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "cookiejar": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.1.tgz", + "integrity": "sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o=" + }, + "core-js": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "coveralls": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.1.tgz", + "integrity": "sha1-1wu5rMGDXsTwY/+drFQjwXsR8Xg=", + "dev": true, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "js-yaml": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", + "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", + "dev": true + } + } + }, + "crc": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz", + "integrity": "sha1-naHpgOO9RPxck79as9ozeNheRms=" + }, + "crc32-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", + "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=" + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=" + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true + }, + "crypto-browserify": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-1.0.9.tgz", + "integrity": "sha1-zFRJaF37hesRyYKKzHy4erW7/MA=" + }, + "cssom": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", + "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", + "dev": true + }, + "cssstyle": { + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "dev": true + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true + }, + "damerau-levenshtein": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz", + "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=" + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decompress": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", + "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=" + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==" + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dependencies": { + "file-type": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.1.0.tgz", + "integrity": "sha1-Wn26mBOPoKvsevxD5amgsqrHKfE=" + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==" + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=" + } + } + }, + "deep-eql": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", + "dev": true, + "dependencies": { + "type-detect": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", + "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", + "dev": true + } + } + }, + "deep-extend": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.1.tgz", + "integrity": "sha512-Ndl8eeOHB9dQkmT1HWCgY3t0odl4bmWKFzjQZBYAxVTNs2B3nn5b6orimRYHKZ4FI8psvZkA1INRCW6l7vc9lQ==", + "dev": true + }, + "default-require-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", + "dev": true, + "dependencies": { + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true + } + } + }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "dependencies": { + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true + }, + "diacritics-map": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", + "integrity": "sha1-bfwP+dAQAKLt8oZTccrDFulJd68=", + "dev": true + }, + "diff": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", + "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", + "dev": true + }, + "doctrine": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", + "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", + "dev": true + }, + "download": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/download/-/download-5.0.3.tgz", + "integrity": "sha1-Y1N/l3+ZJmow64oqL70fILgAD3o=" + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true + }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=" + }, + "end-of-stream": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=" + }, + "errno": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "dev": true + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true + }, + "es-abstract": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.8.2.tgz", + "integrity": "sha512-dvhwFL3yjQxNNsOWx6exMlaDrRHCRGMQlnx5lsXDCZ/J7G/frgIIl94zhZSp/galVAYp7VzPi1OrAHta89/yGQ==", + "dev": true + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true + }, + "es5-ext": { + "version": "0.10.30", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.30.tgz", + "integrity": "sha1-cUGhaDZpfbq/qq7uQUlc4p9SyTk=", + "dev": true + }, + "es6-iterator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", + "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", + "dev": true + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true + }, + "es6-promise": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", + "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", + "dev": true + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + } + } + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true + }, + "eslint": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", + "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true + }, + "inquirer": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", + "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", + "dev": true + }, + "run-async": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", + "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", + "dev": true + }, + "shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "eslint-config-airbnb": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-10.0.1.tgz", + "integrity": "sha1-pHAQhkbWxF4fY5oD8R1QShqkrtw=", + "dev": true + }, + "eslint-config-airbnb-base": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-5.0.3.tgz", + "integrity": "sha1-lxSsNews1/qw1E0Uip+R2ylEB00=", + "dev": true + }, + "eslint-import-resolver-node": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz", + "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", + "dev": true + }, + "eslint-plugin-import": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz", + "integrity": "sha1-svoH68xTUE0PKkR3WC7Iv/GHG58=", + "dev": true, + "dependencies": { + "doctrine": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.3.0.tgz", + "integrity": "sha1-E+dWgrVVGEJCdvfBc3g0Vu+RPSY=", + "dev": true + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz", + "integrity": "sha1-TjXLcbin23AqxBXIBuuOjZ6mxl0=", + "dev": true + }, + "eslint-plugin-react": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz", + "integrity": "sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=", + "dev": true, + "dependencies": { + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true + } + } + }, + "espree": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.0.tgz", + "integrity": "sha1-mDWGJb3QVYYeon4oZ+pyn69GPY0=", + "dev": true + }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==" + }, + "esquery": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", + "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", + "dev": true + }, + "esrecurse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", + "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "dev": true + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "exec-sh": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.0.tgz", + "integrity": "sha1-FPdd4/INKG75MwmbLOUKkDWc7xA=", + "dev": true + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=" + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true + }, + "external-editor": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-1.1.1.tgz", + "integrity": "sha1-Etew24UPf/fnCBuvQAVwAGDEYAs=" + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fb-watchman": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", + "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=", + "dev": true + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=" + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=" + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true + }, + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=" + }, + "filenamify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.0.0.tgz", + "integrity": "sha1-vRYiYsC26Uv7zc8Zo7uzdk94VpU=" + }, + "fileset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", + "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "dev": true + }, + "filesize": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.5.10.tgz", + "integrity": "sha1-/I+iPdtO+eXgq24eZPZ5okpWdh8=" + }, + "fill-keys": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", + "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", + "dev": true + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true + }, + "flat-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", + "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", + "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=" + }, + "formatio": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz", + "integrity": "sha1-XtPM1jZVEJc4NGXZlhmRAOhhYek=", + "dev": true + }, + "formidable": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.1.1.tgz", + "integrity": "sha1-lriIb3w8NQi5Mta9cMTTqI818ak=" + }, + "fs-extra": { + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", + "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", + "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=" + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "get-proxy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==" + }, + "get-stdin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", + "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==" + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=" + }, + "got": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=" + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "graphlib": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.1.tgz", + "integrity": "sha1-QjUsUrovTQNctWbrkfc5X3bryVE=" + }, + "graphql": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.10.5.tgz", + "integrity": "sha512-Q7cx22DiLhwHsEfUnUip1Ww/Vfx7FS0w6+iHItNuN61+XpegHSa3k5U0+6M5BcpavQImBwFiy0z3uYwY7cXMLQ==" + }, + "graphql-anywhere": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/graphql-anywhere/-/graphql-anywhere-3.1.0.tgz", + "integrity": "sha1-PqDY6GRrXO5oA1AWqadVfBXCHpY=" + }, + "graphql-tag": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.4.2.tgz", + "integrity": "sha1-amMpfYUi0DorctJvGyOaqzQ4QM0=" + }, + "gray-matter": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", + "integrity": "sha1-MELZrewqHe1qdwep7SOA+KF6Qw4=", + "dev": true + }, + "growl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "handlebars": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz", + "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=", + "dev": true, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true + } + } + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true + }, + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=" + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + }, + "has-symbol-support-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz", + "integrity": "sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA==" + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==" + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true + }, + "hosted-git-info": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz", + "integrity": "sha1-eb96eF6klf5mFl5zQVPzY/9UN9o=", + "dev": true + }, + "http-basic": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-2.5.1.tgz", + "integrity": "sha1-jORHvbW2xXf4pj4/p4BW7Eu02/s=", + "dev": true + }, + "http-response-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-1.1.0.tgz", + "integrity": "sha1-p8TnWq6C87tJBOT0P2FWc7TVGMM=", + "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 + }, + "https-proxy-agent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", + "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=" + }, + "iconv-lite": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz", + "integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA==" + }, + "ieee754": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + }, + "ignore": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz", + "integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==", + "dev": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=" + }, + "inquirer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-1.2.3.tgz", + "integrity": "sha1-TexvMvN+97sLLtPx0aXD9UUHSRg=", + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=" + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "interpret": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz", + "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=", + "dev": true + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-buffer": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", + "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true + }, + "is-callable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "dev": true + }, + "is-ci": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", + "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", + "dev": true + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-docker": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-1.1.0.tgz", + "integrity": "sha1-8EN01O7lMQ6ajhE78UlUEeRhdqE=" + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true + }, + "is-local-path": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-local-path/-/is-local-path-0.1.6.tgz", + "integrity": "sha1-gV0USxTVac7L6tTVaTCX8Aqb9sU=", + "dev": true + }, + "is-my-json-valid": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", + "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==", + "dev": true + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", + "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "dev": true + }, + "is-path-inside": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", + "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", + "dev": true + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true + }, + "is-resolvable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", + "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", + "dev": true + }, + "is-retry-allowed": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true + }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "dev": true, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true + } + } + }, + "istanbul-api": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.14.tgz", + "integrity": "sha1-JbxXAffGgMD//5E95G42GaOm5oA=", + "dev": true, + "dependencies": { + "async": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", + "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "dev": true + } + } + }, + "istanbul-lib-coverage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", + "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", + "dev": true + }, + "istanbul-lib-hook": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz", + "integrity": "sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.8.0.tgz", + "integrity": "sha1-ZvbJQhzJ7EcE928tsIS6kHiitTI=", + "dev": true + }, + "istanbul-lib-report": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", + "integrity": "sha512-tvF+YmCmH4thnez6JFX06ujIA19WPa9YUiwjc1uALF2cv5dmE3It8b5I8Ob7FHJ70H9Y5yF+TDkVa/mcADuw1Q==", + "dev": true, + "dependencies": { + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true + } + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", + "integrity": "sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w==", + "dev": true, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha1-D7Lj9qqZIr085F0F2KtNXo4HvU8=", + "dev": true + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==" + }, + "iterall": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.1.1.tgz", + "integrity": "sha1-9/CvEemgTsZCYmD1AZ2fzKTVAhQ=" + }, + "jest-changed-files": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-17.0.2.tgz", + "integrity": "sha1-9WV3WHNplvWQpRuH5ck2nZBLp7c=", + "dev": true + }, + "jest-cli": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-18.1.0.tgz", + "integrity": "sha1-Xq027K1CCBfCybqiqnV09jJXs9Y=", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "yargs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "dev": true + } + } + }, + "jest-config": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-18.1.0.tgz", + "integrity": "sha1-YRF0Cm1Iqrhv9anmqwuYvZk7b/Q=", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "jest-diff": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-18.1.0.tgz", + "integrity": "sha1-T/eedN2YjBORlbNl3GXYf2BvSAM=", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "jest-environment-jsdom": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-18.1.0.tgz", + "integrity": "sha1-GLQvDE6iuunzbKs2ObHo+MOE4k4=", + "dev": true + }, + "jest-environment-node": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-18.1.0.tgz", + "integrity": "sha1-TWeXVyyN2pms9frmlutilFVHx3k=", + "dev": true + }, + "jest-file-exists": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/jest-file-exists/-/jest-file-exists-17.0.0.tgz", + "integrity": "sha1-f2Prc6HEOhP0Yb4mF2i0WvLN0Wk=", + "dev": true + }, + "jest-haste-map": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-18.1.0.tgz", + "integrity": "sha1-BoOcdLdwpAwaEGlohR340oHAg3U=", + "dev": true + }, + "jest-jasmine2": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-18.1.0.tgz", + "integrity": "sha1-CU4QTCwYlwh2bHcmO7Kuy1hgqAs=", + "dev": true + }, + "jest-matcher-utils": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-18.1.0.tgz", + "integrity": "sha1-GsRlGVXuKmDO8ef8yYzf13PA+TI=", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "jest-matchers": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/jest-matchers/-/jest-matchers-18.1.0.tgz", + "integrity": "sha1-A0FIS/h6H9C6wKTSyJnit3o/Hq0=", + "dev": true + }, + "jest-mock": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-18.0.0.tgz", + "integrity": "sha1-XCSIRuoz+lWLUm9TEqtKZ2XkibM=", + "dev": true + }, + "jest-resolve": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-18.1.0.tgz", + "integrity": "sha1-aACsy1NmWMkGzV4p3kErGrmsJJs=", + "dev": true + }, + "jest-resolve-dependencies": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-18.1.0.tgz", + "integrity": "sha1-gTT7XK9Zye2EL+AVKrAcUnEfG7s=", + "dev": true + }, + "jest-runtime": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-18.1.0.tgz", + "integrity": "sha1-Or/WhxdbIfw7haK4BkOZ6ZeFmSI=", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "yargs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "dev": true + } + } + }, + "jest-snapshot": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-18.1.0.tgz", + "integrity": "sha1-VbltLuY5ybznb4fyo/1Atxx6WRY=", + "dev": true + }, + "jest-util": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-18.1.0.tgz", + "integrity": "sha1-OpnDIRSrF/hL4JQ4JScAbm1L/Go=", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "jmespath": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", + "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "js-yaml": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.9.1.tgz", + "integrity": "sha512-CbcG379L1e+mWBnLvHWWeLs8GyV/EMw862uLI3c+GxVyDHWZcjZinwuBd3iW2pgxgIlksW/1vNJa4to+RvDOww==" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "jsdom": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", + "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", + "dev": true, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json-refs": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-2.1.7.tgz", + "integrity": "sha1-uesB/in16j6Sh48VrqEK04taz4k=", + "dependencies": { + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" + } + } + }, + "json-schema": { + "version": "0.2.3", + "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", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true + }, + "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=" + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=" + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "jsx-ast-utils": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", + "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=", + "dev": true + }, + "jszip": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.4.tgz", + "integrity": "sha512-z6w8iYIxZ/fcgul0j/OerkYnkomH8BZigvzbxVmr2h5HkZUrPtk2kjYtLkqR9wwQxEP6ecKNoKLsbhd18jfnGA==", + "dev": true, + "dependencies": { + "core-js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", + "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", + "dev": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "jwt-decode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-2.2.0.tgz", + "integrity": "sha1-fYa9VmefWM5qhHBKZX3TkruoGnk=" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=" + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true, + "optional": true + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=" + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true + }, + "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", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true + }, + "lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", + "dev": true + }, + "list-item": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", + "integrity": "sha1-DGXQDih8tmPMs8s4Sad+iewmilY=", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "dependencies": { + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + }, + "lodash-es": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.4.tgz", + "integrity": "sha1-3MHXVS4VCgZABzupyzHXDwMpUOc=" + }, + "lodash._arraycopy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz", + "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=", + "dev": true + }, + "lodash._arrayeach": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz", + "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=", + "dev": true + }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true + }, + "lodash._baseclone": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz", + "integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=", + "dev": true + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basecreate": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", + "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=", + "dev": true + }, + "lodash._basefor": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz", + "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=", + "dev": true + }, + "lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.clonedeep": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz", + "integrity": "sha1-oKHkDYKl6on/WxR7hETtY9koJ9s=", + "dev": true + }, + "lodash.cond": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", + "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", + "dev": true + }, + "lodash.create": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", + "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", + "dev": true + }, + "lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=" + }, + "lodash.endswith": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.endswith/-/lodash.endswith-4.2.1.tgz", + "integrity": "sha1-/tWawXOO0+I27dcGTsRWRIs3vAk=", + "dev": true + }, + "lodash.find": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz", + "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=", + "dev": true + }, + "lodash.findindex": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.findindex/-/lodash.findindex-4.6.0.tgz", + "integrity": "sha1-oyRd7mH7m24GJLU1ElYku2nBEQY=", + "dev": true + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true + }, + "lodash.pad": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", + "integrity": "sha1-QzCUmoM6fI2iLMIPaibE1Z3runA=" + }, + "lodash.padend": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", + "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=" + }, + "lodash.padstart": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", + "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" + }, + "lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "log-driver": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", + "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=", + "dev": true + }, + "lolex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz", + "integrity": "sha1-fD2mL/yzDw9agKJWbKJORdigHzE=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" + }, + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" + }, + "lsmod": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lsmod/-/lsmod-1.0.0.tgz", + "integrity": "sha1-mgD3bco26yP6BTUK/htYXUKZ5ks=" + }, + "make-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz", + "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=" + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true + }, + "markdown-link": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", + "integrity": "sha1-MsXGUZmmRXMWMi0eQinRNAfIx88=", + "dev": true + }, + "markdown-magic": { + "version": "0.1.18", + "resolved": "https://registry.npmjs.org/markdown-magic/-/markdown-magic-0.1.18.tgz", + "integrity": "sha1-aalfD1Ekj5/ChO118kva2FpFzu4=", + "dev": true, + "dependencies": { + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true + }, + "fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "dev": true + } + } + }, + "markdown-toc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.1.0.tgz", + "integrity": "sha1-GORyN9iVSelEcSHmniyoU8otdSo=", + "dev": true, + "dependencies": { + "lazy-cache": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", + "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", + "dev": true + } + } + }, + "marked": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz", + "integrity": "sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc=", + "dev": true + }, + "marked-terminal": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-1.7.0.tgz", + "integrity": "sha1-yMRgiBx3LHYEtkNnAH7l938SWQQ=", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "merge": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz", + "integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo=", + "dev": true + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true + }, + "mime": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.0.tgz", + "integrity": "sha512-n9ChLv77+QQEapYz8lV+rIZAW3HhAPW2CXnzb1GN5uMkuczshwvkW7XPsbzU0ZQN3sP47Er2KVkp2p3KyqZKSQ==" + }, + "mime-db": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" + }, + "mime-types": { + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "mixin-deep": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.2.0.tgz", + "integrity": "sha1-0CuMb4ttS49ZgtP9AJxJGYUcP+I=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "mocha": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.0.tgz", + "integrity": "sha512-pIU2PJjrPYvYRqVpjXzj76qltO9uBYI7woYAMoxbSefsa+vqAfptjoeevd6bUgwD0mPIO+hv9f7ltvsNreL2PA==", + "dev": true, + "dependencies": { + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true + }, + "diff": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", + "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=", + "dev": true + }, + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true + } + } + }, + "mocha-lcov-reporter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mocha-lcov-reporter/-/mocha-lcov-reporter-1.3.0.tgz", + "integrity": "sha1-Rpve9PivyaEWBW8HnfYYLQr7A4Q=", + "dev": true + }, + "mock-require": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mock-require/-/mock-require-1.3.0.tgz", + "integrity": "sha1-gmFElS5QR2L45pJKqPY5Rl0deiQ=", + "dev": true + }, + "module-not-found-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", + "integrity": "sha1-z4tP9PKWQGdNbN0CsOO8UjwrvcA=", + "dev": true + }, + "moment": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz", + "integrity": "sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mute-stream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", + "integrity": "sha1-SJYrGeFp/R38JAs/HnMXYnu8R9s=" + }, + "native-promise-only": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", + "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node-emoji": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz", + "integrity": "sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg==", + "dev": true + }, + "node-fetch": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.2.tgz", + "integrity": "sha512-xZZUq2yDhKMIn/UgG5q//IZSNLJIwW2QxS14CNH5spuiXkITM2pUitjdq58yLSaU7m4M0wBNaM2Gh/ggY4YJig==" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-notifier": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-4.6.1.tgz", + "integrity": "sha1-BW0UJE89zBzq3+aK+c/wxUc6M/M=", + "dev": true + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=" + }, + "npm-conf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.2.tgz", + "integrity": "sha512-dotwbpwVzfNB/2EF3A2wjK5tEMLggKfuA/8TG6WvBB1Zrv+JsvF7E8ei9B/HGq211st/GwXFbREcNJvJ1eySUQ==", + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "npmlog": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", + "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=" + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "nwmatcher": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.1.tgz", + "integrity": "sha1-eumwew6oBNt+JfBctf5Al9TklJ8=", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "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", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-keys": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", + "dev": true + }, + "object.assign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz", + "integrity": "sha1-scnMBE7xuf5jYG/BQau7MuFHMMw=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" + }, + "opn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", + "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==" + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true + }, + "os-shim": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", + "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=" + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "p-limit": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", + "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", + "dev": true + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true + }, + "pako": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.5.tgz", + "integrity": "sha1-0iBd/ludqK95fnwWPbTR+E5GALw=", + "dev": true + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true + }, + "parse5": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", + "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-loader": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.2.tgz", + "integrity": "sha1-zVxz5+OakQEb4UjWv92KhbuTHvk=" + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=" + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true + }, + "pkg-up": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", + "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=", + "dev": true + }, + "pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "pretty-format": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-18.1.0.tgz", + "integrity": "sha1-+2Wob3p/kZSWPu6RhlwbzxA54oQ=", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + } + } + }, + "private": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", + "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" + }, + "proxyquire": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz", + "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", + "dev": true, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "prr": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", + "dev": true + }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "qs": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.0.tgz", + "integrity": "sha512-fjVFjW9yhqMhVGwRExCXLhJKrLlkYSaxNWdyc9rmHlrVZbk35YHH312dFd7191uQeXkI3mKLZTIbSvIeFwFemg==" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", + "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=" + }, + "ramda": { + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", + "integrity": "sha1-w7d1UZfzW43DUCIoJixMkd22uFc=" + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true + } + } + }, + "raven": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/raven/-/raven-1.2.1.tgz", + "integrity": "sha1-lJwTTbAooZC3u/j3kKrlQbfAIL0=", + "dependencies": { + "uuid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.0.tgz", + "integrity": "sha1-Zyj8BFnEUNeWqZwxg3VpvfZy1yg=" + } + } + }, + "rc": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", + "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==" + }, + "readline2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", + "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", + "dev": true, + "dependencies": { + "mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", + "dev": true + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true + }, + "redeyed": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-1.0.1.tgz", + "integrity": "sha1-6WwZO0DAgWsArshCaY5hGF5VSYo=", + "dev": true, + "dependencies": { + "esprima": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.0.0.tgz", + "integrity": "sha1-U88kes2ncxPlUcOqLnM0LT+099k=", + "dev": true + } + } + }, + "redux": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", + "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==" + }, + "regenerator-runtime": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", + "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==", + "dev": true + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true + }, + "remarkable": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.1.tgz", + "integrity": "sha1-qspJchALZqZCpjoQIcpLrBvjv/Y=", + "dev": true, + "dependencies": { + "argparse": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", + "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true + }, + "replaceall": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/replaceall/-/replaceall-0.1.6.tgz", + "integrity": "sha1-gdgax663LX9cSUKt8ml6MiBojY4=" + }, + "request": { + "version": "2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", + "dev": true, + "dependencies": { + "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 + }, + "qs": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", + "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", + "dev": true + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + }, + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "resolve": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", + "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", + "dev": true + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=" + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "optional": true + }, + "rimraf": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=" + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=" + }, + "rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=" + }, + "rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", + "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + }, + "samsam": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz", + "integrity": "sha1-vsEf3IOp/aBjQBIQ5AF2wwJNFWc=", + "dev": true + }, + "sane": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sane/-/sane-1.4.1.tgz", + "integrity": "sha1-iPdj10BA9fDCVrYWPbOZvxEKxxU=", + "dev": true + }, + "sax": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", + "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" + }, + "seek-bzip": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", + "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=" + }, + "semver": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" + }, + "semver-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", + "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-getter": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", + "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", + "dev": true + }, + "shelljs": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz", + "integrity": "sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=" + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "sinon": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz", + "integrity": "sha1-RUKk9JugxFwF6y6d2dID4rjv4L8=", + "dev": true + }, + "sinon-bluebird": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/sinon-bluebird/-/sinon-bluebird-3.1.0.tgz", + "integrity": "sha1-+SaA+lRtVTpPX2LekEJetdxHhB0=", + "dev": true + }, + "sinon-chai": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-2.13.0.tgz", + "integrity": "sha512-hRNu/TlYEp4Rw5IbzO8ykGoZMSG489PGUx1rvePpHGrtl20cXivRBgtr/EWYxIwL9EOO9+on04nd9k3tW8tVww==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true + }, + "source-map-support": { + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.17.tgz", + "integrity": "sha512-30c1Ch8FSjV0FwC253iftbbj0dU/OXoSg1LAEGZJUlGgjTNj6cu+DVqJWWIZJY5RXLWV4eFtR+4ouo0VIOYOTg==", + "dev": true, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "spawn-sync": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", + "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=" + }, + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true + }, + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dev": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "stack-trace": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", + "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=" + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=" + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=" + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-color": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", + "integrity": "sha1-EG9l09PmotlAHKwOsM6LinArT3s=", + "dev": true + }, + "strip-dirs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.0.0.tgz", + "integrity": "sha1-YQzbKSggDaAAT0HcuQ/JXNkZoLY=" + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "strip-outer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.0.tgz", + "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=" + }, + "superagent": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.6.0.tgz", + "integrity": "sha512-oWsu4mboo8sVxagp4bNwZIR1rUmypeAJDmNIwT9mF4k06hSu6P92aOjEWLaIj7vsX3fOUp+cRH/04tao+q5Q7A==" + }, + "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==" + }, + "symbol-observable": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", + "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" + }, + "symbol-tree": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "dev": true + }, + "sync-request": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-3.0.1.tgz", + "integrity": "sha1-yqEjWq+Im6UBB2oYNMQ2gwqC+3M=", + "dev": true + }, + "table": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", + "dev": true, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "tabtab": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tabtab/-/tabtab-2.2.2.tgz", + "integrity": "sha1-egR/FDsBC0y9MfhX6ClhUSy/ThQ=" + }, + "tar-stream": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz", + "integrity": "sha1-NlSc8E7RrumyowwBQyUiONr5QBY=" + }, + "test-exclude": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-3.3.0.tgz", + "integrity": "sha1-ehfKEjmYjJg2ewYhRW27fUvDiXc=", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "then-request": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-2.2.0.tgz", + "integrity": "sha1-ZnizL6DKIY/laZgbvYhxtZQGDYE=", + "dev": true + }, + "throat": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-3.2.0.tgz", + "integrity": "sha512-/EY8VpvlqJ+sFtLPeOgc8Pl7kQVOWv0woD87KTXVHPIAE842FGT+rokxIhe8xIUP1cfgrkt0as0vDLjDiMtr8w==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, + "tmp": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", + "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=" + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true + }, + "toml": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.3.tgz", + "integrity": "sha512-O7L5hhSQHxuufWUdcTRPfuTh3phKfAZ/dqfxZFoxPCj2RYmpaSGLEIs016FCXItQwNr08yefUB5TSjzRYnajTA==", + "dev": true + }, + "tough-cookie": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", + "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", + "dev": true, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=" + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "tryit": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", + "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true + }, + "type-detect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", + "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "optional": true, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "optional": true + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "unbzip2-stream": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz", + "integrity": "sha512-izD3jxT8xkzwtXRUZjtmRwKnZoeECrfZ8ra/ketwOcusbZEp4mjULMnJOCfTDZBgGQAAY1AJ/IgxcwkavcX9Og==", + "dependencies": { + "base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=" + }, + "buffer": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", + "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=" + } + } + }, + "underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", + "dev": true + }, + "underscore.string": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", + "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=", + "dev": true + }, + "unzip-response": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" + }, + "uri-js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", + "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", + "dependencies": { + "punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" + } + } + }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=" + }, + "url-parse": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.9.tgz", + "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=" + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=" + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + }, + "user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + } + } + }, + "walkdir": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", + "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=" + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true + }, + "watch": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz", + "integrity": "sha1-d3mLLaD5kQ1ZXxrOWwwiWFIfIdw=", + "dev": true + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz", + "integrity": "sha1-PGxFGhmO567FWx7GHQkgxngBpfQ=", + "dev": true, + "dependencies": { + "iconv-lite": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", + "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", + "dev": true + } + } + }, + "whatwg-fetch": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + }, + "whatwg-url": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", + "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", + "dev": true, + "dependencies": { + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + } + } + }, + "which": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "dev": true + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true, + "optional": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "worker-farm": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.0.tgz", + "integrity": "sha512-DHRiUggxtbruaTwnLDm2/BRDKZIoOYvrgYUj5Bam4fU6Gtvc0FaEyoswFPBjMXAweGW2H4BDNIpy//1yXXuaqQ==", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true + }, + "write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==" + }, + "xml-name-validator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", + "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", + "dev": true + }, + "xml2js": { + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", + "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=" + }, + "xmlbuilder": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", + "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yaml-ast-parser": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.34.tgz", + "integrity": "sha1-0A88+ddztyQUCa6SpnQNHbGfSeY=" + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "optional": true + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "dev": true, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } + } + }, + "yauzl": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.8.0.tgz", + "integrity": "sha1-eUUK/yKyqcWkHvVOAtuQfM+/nuI=" + }, + "zen-observable-ts": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.4.0.tgz", + "integrity": "sha1-p0vJ/ll0eUild71RPUOOcPz65+I=" + }, + "zip-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", + "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=" + } + } +} From db9b4e2e0450629ab8e065ef2d916412dd5236f1 Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Wed, 11 Oct 2017 10:20:56 +0700 Subject: [PATCH 19/99] resolve package-lock.json conflict --- package-lock.json | 2757 ++++++++++++++++++++++++++++++++++++++------- package.json | 21 +- 2 files changed, 2346 insertions(+), 432 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9170f8f11a7..046f0eebd1e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,18 @@ { "name": "serverless", - "version": "1.21.1", + "version": "1.23.0", "lockfileVersion": 1, + "requires": true, "dependencies": { "@serverless/fdk": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/@serverless/fdk/-/fdk-0.5.1.tgz", - "integrity": "sha512-Z/+5R0AohLwDT1E+9BTeUA7NozlyIoTh0iEt6x8x+ZZhIBK5HBMBN6v2LfkI4wmmOOyceTvsN0l8nWfGp4Oh5g==" + "integrity": "sha512-Z/+5R0AohLwDT1E+9BTeUA7NozlyIoTh0iEt6x8x+ZZhIBK5HBMBN6v2LfkI4wmmOOyceTvsN0l8nWfGp4Oh5g==", + "requires": { + "isomorphic-fetch": "2.2.1", + "ramda": "0.24.1", + "url-parse": "1.1.9" + } }, "@types/graphql": { "version": "0.10.2", @@ -27,9 +33,9 @@ "dev": true }, "acorn": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", - "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", + "integrity": "sha512-vOk6uEMctu0vQrvuSqFdJyqj1Q0S5VTDL79qtjo+DhRr+1mmaD+tluFSCZqhvi/JUhXSzoZN2BhtstaPEeE8cw==", "dev": true }, "acorn-globals": { @@ -37,6 +43,9 @@ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", "dev": true, + "requires": { + "acorn": "4.0.13" + }, "dependencies": { "acorn": { "version": "4.0.13", @@ -51,6 +60,9 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, + "requires": { + "acorn": "3.3.0" + }, "dependencies": { "acorn": { "version": "3.3.0", @@ -64,6 +76,10 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz", "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=", + "requires": { + "extend": "3.0.1", + "semver": "5.0.3" + }, "dependencies": { "semver": { "version": "5.0.3", @@ -76,7 +92,11 @@ "version": "4.11.8", "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true + "dev": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } }, "ajv-keywords": { "version": "1.5.1", @@ -88,7 +108,12 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } }, "amdefine": { "version": "1.0.1", @@ -110,7 +135,10 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", - "dev": true + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } }, "ansi-regex": { "version": "2.1.1", @@ -120,7 +148,10 @@ "ansi-styles": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==" + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "requires": { + "color-convert": "1.9.0" + } }, "ansi-wrap": { "version": "0.1.0", @@ -135,53 +166,103 @@ "dev": true }, "apollo-client": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/apollo-client/-/apollo-client-1.9.2.tgz", - "integrity": "sha512-1ZAw2x6AYtGFRosO9sR37+g5bNvCIyyNZ781h9M4Tm/lm8ejzINapx+BH2hdHgMxaGPuPvFpWGuD3m+sTbmWPQ==" + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/apollo-client/-/apollo-client-1.9.3.tgz", + "integrity": "sha512-JABKKbqvcw8DJm3YUkEmyx1SK74i+/DesEtAtyocJi10LLmeMQYQFpg8W3BG1tZsYEQ3owEmPbsdNGTly+VOQg==", + "requires": { + "@types/graphql": "0.10.2", + "apollo-link-core": "0.5.4", + "graphql": "0.10.5", + "graphql-anywhere": "3.1.0", + "graphql-tag": "2.4.2", + "redux": "3.7.2", + "symbol-observable": "1.0.4", + "whatwg-fetch": "2.0.3" + } }, "apollo-link-core": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/apollo-link-core/-/apollo-link-core-0.5.0.tgz", - "integrity": "sha1-3IfaGqpjsCkyGucJONwmJX9auMY=" + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/apollo-link-core/-/apollo-link-core-0.5.4.tgz", + "integrity": "sha512-OxL0Kjizb0eS2ObldDqJEs/tFN9xI9RZuTJcaszgGy+xudoPXhIMCHMr7hGZhy0mK+U+BbBULZJw4YQU4J0ODQ==", + "requires": { + "graphql": "0.10.5", + "graphql-tag": "2.4.2", + "zen-observable-ts": "0.4.4" + } }, "append-transform": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", - "dev": true + "dev": true, + "requires": { + "default-require-extensions": "1.0.0" + } }, "archiver": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz", "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=", + "requires": { + "archiver-utils": "1.3.0", + "async": "2.5.0", + "buffer-crc32": "0.2.13", + "glob": "7.1.2", + "lodash": "4.17.4", + "readable-stream": "2.3.3", + "tar-stream": "1.5.4", + "walkdir": "0.0.11", + "zip-stream": "1.2.0" + }, "dependencies": { "async": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==" + "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "requires": { + "lodash": "4.17.4" + } } } }, "archiver-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=" + "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", + "requires": { + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lazystream": "1.0.0", + "lodash": "4.17.4", + "normalize-path": "2.1.1", + "readable-stream": "2.3.3" + } }, "are-we-there-yet": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=" + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.3" + } }, "argparse": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=" + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "requires": { + "sprintf-js": "1.0.3" + } }, "arr-diff": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } }, "arr-flatten": { "version": "1.1.0", @@ -198,7 +279,10 @@ "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=" + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "1.0.3" + } }, "array-uniq": { "version": "1.0.3", @@ -215,7 +299,11 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.4.tgz", "integrity": "sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA=", - "dev": true + "dev": true, + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.8.0" + } }, "arrify": { "version": "1.0.1", @@ -264,10 +352,31 @@ "dev": true }, "aws-sdk": { - "version": "2.109.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.109.0.tgz", - "integrity": "sha1-w9Ix9EQQiULjgW22YstFUquvlbs=", + "version": "2.100.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.100.0.tgz", + "integrity": "sha1-/A+8p2kNbCjv/Si9Uf6F99ukK/8=", + "requires": { + "buffer": "4.9.1", + "crypto-browserify": "1.0.9", + "events": "1.1.1", + "jmespath": "0.15.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "uuid": "3.0.1", + "xml2js": "0.4.17", + "xmlbuilder": "4.2.1" + }, "dependencies": { + "url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "uuid": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", @@ -292,6 +401,11 @@ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -303,7 +417,14 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } }, "supports-color": { "version": "2.0.0", @@ -318,11 +439,32 @@ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.0", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.0", + "debug": "2.6.8", + "json5": "0.5.1", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.7", + "slash": "1.0.0", + "source-map": "0.5.6" + }, "dependencies": { "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", "dev": true } } @@ -332,11 +474,21 @@ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.6", + "trim-right": "1.0.1" + }, "dependencies": { "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", "dev": true } } @@ -345,25 +497,43 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } }, "babel-jest": { "version": "18.0.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-18.0.0.tgz", "integrity": "sha1-F+u6jLMoXJBthZ6HB+Tnl5X7ZeM=", - "dev": true + "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-plugin-istanbul": "3.1.2", + "babel-preset-jest": "18.0.0" + } }, "babel-messages": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } }, "babel-plugin-istanbul": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-3.1.2.tgz", "integrity": "sha1-EdWr3hhCXsJLXWSMfgtdJc01SiI=", - "dev": true + "dev": true, + "requires": { + "find-up": "1.1.2", + "istanbul-lib-instrument": "1.7.4", + "object-assign": "4.1.1", + "test-exclude": "3.3.0" + } }, "babel-plugin-jest-hoist": { "version": "18.0.0", @@ -375,37 +545,77 @@ "version": "18.0.0", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-18.0.0.tgz", "integrity": "sha1-hPr4yj7GWrp9Xj9Zu67ZNaskBJ4=", - "dev": true + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "18.0.0" + } }, "babel-register": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dev": true + "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-runtime": "6.26.0", + "core-js": "2.5.0", + "home-or-tmp": "2.0.0", + "lodash": "4.17.4", + "mkdirp": "0.5.1", + "source-map-support": "0.4.16" + } }, "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true + "dev": true, + "requires": { + "core-js": "2.5.0", + "regenerator-runtime": "0.11.0" + } }, "babel-template": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" + } }, "babel-traverse": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.8", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + } }, "babel-types": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" + } }, "babylon": { "version": "6.18.0", @@ -428,12 +638,18 @@ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "dev": true, - "optional": true + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } }, "bl": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=" + "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", + "requires": { + "readable-stream": "2.3.3" + } }, "bluebird": { "version": "3.5.0", @@ -444,24 +660,39 @@ "version": "2.10.1", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true + "dev": true, + "requires": { + "hoek": "2.16.3" + } }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=" + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } }, "braces": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } }, "browser-resolve": { "version": "1.11.2", "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", "dev": true, + "requires": { + "resolve": "1.1.7" + }, "dependencies": { "resolve": { "version": "1.1.7", @@ -481,12 +712,20 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", - "dev": true + "dev": true, + "requires": { + "node-int64": "0.4.0" + } }, "buffer": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=" + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "requires": { + "base64-js": "1.2.1", + "ieee754": "1.1.8", + "isarray": "1.0.0" + } }, "buffer-crc32": { "version": "0.2.13", @@ -503,13 +742,19 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-id/-/caller-id-0.1.0.tgz", "integrity": "sha1-Wb2sCJPRLDhxQIJ5Ix+XRYNk8Hs=", - "dev": true + "dev": true, + "requires": { + "stack-trace": "0.0.9" + } }, "caller-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true + "dev": true, + "requires": { + "callsites": "0.2.0" + } }, "callsites": { "version": "0.2.0", @@ -533,7 +778,11 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-1.0.0.tgz", "integrity": "sha1-UOIcGwqjdyn5N33vGWtanOyTLuk=", - "dev": true + "dev": true, + "requires": { + "ansicolors": "0.2.1", + "redeyed": "1.0.1" + } }, "caseless": { "version": "0.11.0", @@ -544,31 +793,54 @@ "caw": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", - "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==" + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", + "requires": { + "get-proxy": "2.1.0", + "isurl": "1.0.0", + "tunnel-agent": "0.6.0", + "url-to-options": "1.0.1" + } }, "center-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, - "optional": true + "optional": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } }, "chai": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", - "dev": true + "dev": true, + "requires": { + "assertion-error": "1.0.2", + "deep-eql": "0.1.3", + "type-detect": "1.0.0" + } }, "chai-as-promised": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-6.0.0.tgz", "integrity": "sha1-GgKkM6byTa+sY7nJb6FoTbGqjaY=", - "dev": true + "dev": true, + "requires": { + "check-error": "1.0.2" + } }, "chalk": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==" + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.2.1" + } }, "check-error": { "version": "1.0.2", @@ -590,24 +862,34 @@ "cli-cursor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=" + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "requires": { + "restore-cursor": "1.0.1" + } }, "cli-table": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", - "dev": true + "dev": true, + "requires": { + "colors": "1.0.3" + } }, "cli-usage": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/cli-usage/-/cli-usage-0.1.4.tgz", "integrity": "sha1-fAHg3HBsI0s5yTODjI4gshdXduI=", - "dev": true + "dev": true, + "requires": { + "marked": "0.3.6", + "marked-terminal": "1.7.0" + } }, "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz", + "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=" }, "cliui": { "version": "2.1.0", @@ -615,6 +897,11 @@ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "optional": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + }, "dependencies": { "wordwrap": { "version": "0.0.2", @@ -645,7 +932,10 @@ "color-convert": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", - "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=" + "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", + "requires": { + "color-name": "1.1.3" + } }, "color-name": { "version": "1.1.3", @@ -661,12 +951,18 @@ "combined-stream": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=" + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "requires": { + "delayed-stream": "1.0.0" + } }, "commander": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=" + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "requires": { + "graceful-readlink": "1.0.1" + } }, "component-emitter": { "version": "1.2.1", @@ -676,7 +972,13 @@ "compress-commons": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.0.tgz", - "integrity": "sha1-WFhwku8g03y1i68AARLJJ4/3O58=" + "integrity": "sha1-WFhwku8g03y1i68AARLJJ4/3O58=", + "requires": { + "buffer-crc32": "0.2.13", + "crc32-stream": "2.0.0", + "normalize-path": "2.1.1", + "readable-stream": "2.3.3" + } }, "concat-map": { "version": "0.0.1", @@ -686,12 +988,21 @@ "concat-stream": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=" + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "typedarray": "0.0.6" + } }, "config-chain": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", - "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=" + "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", + "requires": { + "ini": "1.3.4", + "proto-list": "1.2.4" + } }, "contains-path": { "version": "0.1.0", @@ -722,9 +1033,9 @@ "integrity": "sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o=" }, "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.0.tgz", + "integrity": "sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY=", "dev": true }, "core-util-is": { @@ -737,6 +1048,13 @@ "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.1.tgz", "integrity": "sha1-1wu5rMGDXsTwY/+drFQjwXsR8Xg=", "dev": true, + "requires": { + "js-yaml": "3.6.1", + "lcov-parse": "0.0.10", + "log-driver": "1.2.5", + "minimist": "1.2.0", + "request": "2.79.0" + }, "dependencies": { "esprima": { "version": "2.7.3", @@ -748,7 +1066,11 @@ "version": "3.6.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", - "dev": true + "dev": true, + "requires": { + "argparse": "1.0.9", + "esprima": "2.7.3" + } } } }, @@ -760,18 +1082,28 @@ "crc32-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=" + "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", + "requires": { + "crc": "3.4.4", + "readable-stream": "2.3.3" + } }, "create-error-class": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=" + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "requires": { + "capture-stack-trace": "1.0.0" + } }, "cryptiles": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true + "dev": true, + "requires": { + "boom": "2.10.1" + } }, "crypto-browserify": { "version": "1.0.9", @@ -788,13 +1120,19 @@ "version": "0.2.37", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", - "dev": true + "dev": true, + "requires": { + "cssom": "0.3.2" + } }, "d": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true + "dev": true, + "requires": { + "es5-ext": "0.10.27" + } }, "damerau-levenshtein": { "version": "1.0.4", @@ -807,6 +1145,9 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, + "requires": { + "assert-plus": "1.0.0" + }, "dependencies": { "assert-plus": { "version": "1.0.0", @@ -819,7 +1160,10 @@ "debug": { "version": "2.6.8", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=" + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "requires": { + "ms": "2.0.0" + } }, "decamelize": { "version": "1.2.0", @@ -830,34 +1174,68 @@ "decompress": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", - "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=" + "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", + "requires": { + "decompress-tar": "4.1.1", + "decompress-tarbz2": "4.1.0", + "decompress-targz": "4.1.1", + "decompress-unzip": "4.0.1", + "graceful-fs": "4.1.11", + "make-dir": "1.0.0", + "pify": "2.3.0", + "strip-dirs": "2.0.0" + } }, "decompress-tar": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", - "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==" + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "requires": { + "file-type": "5.2.0", + "is-stream": "1.1.0", + "tar-stream": "1.5.4" + } }, "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.0.tgz", + "integrity": "sha1-+6tY1d5z8/0hPKw68cGDNPUcuJE=", + "requires": { + "decompress-tar": "4.1.1", + "file-type": "3.9.0", + "is-stream": "1.1.0", + "pify": "2.3.0", + "seek-bzip": "1.0.5", + "unbzip2-stream": "1.2.5" + }, "dependencies": { "file-type": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.1.0.tgz", - "integrity": "sha1-Wn26mBOPoKvsevxD5amgsqrHKfE=" + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" } } }, "decompress-targz": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", - "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==" + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "requires": { + "decompress-tar": "4.1.1", + "file-type": "5.2.0", + "is-stream": "1.1.0" + } }, "decompress-unzip": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "requires": { + "file-type": "3.9.0", + "get-stream": "2.3.1", + "pify": "2.3.0", + "yauzl": "2.8.0" + }, "dependencies": { "file-type": { "version": "3.9.0", @@ -867,7 +1245,11 @@ "get-stream": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=" + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "requires": { + "object-assign": "4.1.1", + "pinkie-promise": "2.0.1" + } } } }, @@ -876,6 +1258,9 @@ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", "dev": true, + "requires": { + "type-detect": "0.1.1" + }, "dependencies": { "type-detect": { "version": "0.1.1", @@ -907,12 +1292,18 @@ "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, + "requires": { + "strip-bom": "2.0.0" + }, "dependencies": { "strip-bom": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } } } }, @@ -920,19 +1311,40 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", - "dev": true + "dev": true, + "requires": { + "foreach": "2.0.5", + "object-keys": "1.0.11" + } }, "del": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, + "requires": { + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.0", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.1" + }, "dependencies": { "globby": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true + "dev": true, + "requires": { + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } } } }, @@ -950,7 +1362,10 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true + "dev": true, + "requires": { + "repeating": "2.0.1" + } }, "diacritics-map": { "version": "0.1.0", @@ -959,21 +1374,34 @@ "dev": true }, "diff": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", - "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.0.tgz", + "integrity": "sha512-w0XZubFWn0Adlsapj9EAWX0FqWdO4tz8kc3RiYdWLh4k/V8PTb6i0SMgXt0vRM3zyKnT8tKO7mUlieRQHIjMNg==", "dev": true }, "doctrine": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", - "dev": true + "dev": true, + "requires": { + "esutils": "2.0.2", + "isarray": "1.0.0" + } }, "download": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/download/-/download-5.0.3.tgz", - "integrity": "sha1-Y1N/l3+ZJmow64oqL70fILgAD3o=" + "integrity": "sha1-Y1N/l3+ZJmow64oqL70fILgAD3o=", + "requires": { + "caw": "2.0.1", + "decompress": "4.2.0", + "filenamify": "2.0.0", + "get-stream": "3.0.0", + "got": "6.7.1", + "mkdirp": "0.5.1", + "pify": "2.3.0" + } }, "duplexer3": { "version": "0.1.4", @@ -985,59 +1413,103 @@ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "dev": true, - "optional": true + "optional": true, + "requires": { + "jsbn": "0.1.1" + } }, "encoding": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=" + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "requires": { + "iconv-lite": "0.4.18" + } }, "end-of-stream": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", - "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=" + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", + "requires": { + "once": "1.4.0" + } }, "errno": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", - "dev": true + "dev": true, + "requires": { + "prr": "0.0.0" + } }, "error-ex": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } }, "es-abstract": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.8.2.tgz", - "integrity": "sha512-dvhwFL3yjQxNNsOWx6exMlaDrRHCRGMQlnx5lsXDCZ/J7G/frgIIl94zhZSp/galVAYp7VzPi1OrAHta89/yGQ==", - "dev": true + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.8.0.tgz", + "integrity": "sha512-Cf9/h5MrXtExM20gSS55YFrGKCyPrRBjIVBtVyy8vmlsDfe0NPKMWj65tPLgzyfPuapWxh5whpXCtW4+AW5mRg==", + "dev": true, + "requires": { + "es-to-primitive": "1.1.1", + "function-bind": "1.1.0", + "has": "1.0.1", + "is-callable": "1.1.3", + "is-regex": "1.0.4" + } }, "es-to-primitive": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", - "dev": true + "dev": true, + "requires": { + "is-callable": "1.1.3", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" + } }, "es5-ext": { - "version": "0.10.30", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.30.tgz", - "integrity": "sha1-cUGhaDZpfbq/qq7uQUlc4p9SyTk=", - "dev": true + "version": "0.10.27", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.27.tgz", + "integrity": "sha512-3KXJRYzKXTd7xfFy5uZsJCXue55fAYQ035PRjyYk2PicllxIwcW9l3AbM/eGaw3vgVAUW4tl4xg9AXDEI6yw0w==", + "dev": true, + "requires": { + "es6-iterator": "2.0.1", + "es6-symbol": "3.1.1" + } }, "es6-iterator": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", - "dev": true + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.27", + "es6-symbol": "3.1.1" + } }, "es6-map": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.27", + "es6-iterator": "2.0.1", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } }, "es6-promise": { "version": "3.0.2", @@ -1049,19 +1521,36 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.27", + "es6-iterator": "2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } }, "es6-symbol": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.27" + } }, "es6-weak-map": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.27", + "es6-iterator": "2.0.1", + "es6-symbol": "3.1.1" + } }, "escape-string-regexp": { "version": "1.0.5", @@ -1073,6 +1562,13 @@ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", "dev": true, + "requires": { + "esprima": "2.7.3", + "estraverse": "1.9.3", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.2.0" + }, "dependencies": { "esprima": { "version": "2.7.3", @@ -1092,13 +1588,56 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true + "dev": true, + "requires": { + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.0", + "estraverse": "4.2.0" + } }, "eslint": { "version": "3.19.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "chalk": "1.1.3", + "concat-stream": "1.6.0", + "debug": "2.6.8", + "doctrine": "2.0.0", + "escope": "3.6.0", + "espree": "3.5.0", + "esquery": "1.0.0", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "glob": "7.1.2", + "globals": "9.18.0", + "ignore": "3.3.3", + "imurmurhash": "0.1.4", + "inquirer": "0.12.0", + "is-my-json-valid": "2.16.0", + "is-resolvable": "1.0.0", + "js-yaml": "3.9.1", + "json-stable-stringify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "1.2.1", + "progress": "1.1.8", + "require-uncached": "1.0.3", + "shelljs": "0.7.8", + "strip-bom": "3.0.0", + "strip-json-comments": "2.0.1", + "table": "3.8.3", + "text-table": "0.2.0", + "user-home": "2.0.0" + }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -1110,25 +1649,55 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } }, "inquirer": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", - "dev": true + "dev": true, + "requires": { + "ansi-escapes": "1.4.0", + "ansi-regex": "2.1.1", + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "cli-width": "2.1.0", + "figures": "1.7.0", + "lodash": "4.17.4", + "readline2": "1.0.1", + "run-async": "0.1.0", + "rx-lite": "3.1.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "through": "2.3.8" + } }, "run-async": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", - "dev": true + "dev": true, + "requires": { + "once": "1.4.0" + } }, "shelljs": { "version": "0.7.8", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", - "dev": true + "dev": true, + "requires": { + "glob": "7.1.2", + "interpret": "1.0.3", + "rechoir": "0.6.2" + } }, "supports-color": { "version": "2.0.0", @@ -1142,7 +1711,10 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-10.0.1.tgz", "integrity": "sha1-pHAQhkbWxF4fY5oD8R1QShqkrtw=", - "dev": true + "dev": true, + "requires": { + "eslint-config-airbnb-base": "5.0.3" + } }, "eslint-config-airbnb-base": { "version": "5.0.3", @@ -1154,19 +1726,46 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz", "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", - "dev": true + "dev": true, + "requires": { + "debug": "2.6.8", + "object-assign": "4.1.1", + "resolve": "1.4.0" + } }, "eslint-plugin-import": { "version": "1.16.0", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz", "integrity": "sha1-svoH68xTUE0PKkR3WC7Iv/GHG58=", "dev": true, + "requires": { + "builtin-modules": "1.1.1", + "contains-path": "0.1.0", + "debug": "2.6.8", + "doctrine": "1.3.0", + "es6-map": "0.1.5", + "es6-set": "0.1.5", + "eslint-import-resolver-node": "0.2.3", + "has": "1.0.1", + "lodash.cond": "4.5.2", + "lodash.endswith": "4.2.1", + "lodash.find": "4.6.0", + "lodash.findindex": "4.6.0", + "minimatch": "3.0.4", + "object-assign": "4.1.1", + "pkg-dir": "1.0.0", + "pkg-up": "1.0.0" + }, "dependencies": { "doctrine": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.3.0.tgz", "integrity": "sha1-E+dWgrVVGEJCdvfBc3g0Vu+RPSY=", - "dev": true + "dev": true, + "requires": { + "esutils": "2.0.2", + "isarray": "1.0.0" + } } } }, @@ -1174,19 +1773,35 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz", "integrity": "sha1-TjXLcbin23AqxBXIBuuOjZ6mxl0=", - "dev": true + "dev": true, + "requires": { + "damerau-levenshtein": "1.0.4", + "jsx-ast-utils": "1.4.1", + "object-assign": "4.1.1" + } }, "eslint-plugin-react": { "version": "6.10.3", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz", "integrity": "sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=", "dev": true, + "requires": { + "array.prototype.find": "2.0.4", + "doctrine": "1.5.0", + "has": "1.0.1", + "jsx-ast-utils": "1.4.1", + "object.assign": "4.0.4" + }, "dependencies": { "doctrine": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true + "dev": true, + "requires": { + "esutils": "2.0.2", + "isarray": "1.0.0" + } } } }, @@ -1194,7 +1809,11 @@ "version": "3.5.0", "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.0.tgz", "integrity": "sha1-mDWGJb3QVYYeon4oZ+pyn69GPY0=", - "dev": true + "dev": true, + "requires": { + "acorn": "5.1.1", + "acorn-jsx": "3.0.1" + } }, "esprima": { "version": "4.0.0", @@ -1205,13 +1824,20 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", - "dev": true + "dev": true, + "requires": { + "estraverse": "4.2.0" + } }, "esrecurse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", - "dev": true + "dev": true, + "requires": { + "estraverse": "4.2.0", + "object-assign": "4.1.1" + } }, "estraverse": { "version": "4.2.0", @@ -1229,7 +1855,11 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.27" + } }, "events": { "version": "1.1.1", @@ -1240,7 +1870,10 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.0.tgz", "integrity": "sha1-FPdd4/INKG75MwmbLOUKkDWc7xA=", - "dev": true + "dev": true, + "requires": { + "merge": "1.2.0" + } }, "exit-hook": { "version": "1.1.1", @@ -1251,13 +1884,19 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } }, "expand-range": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true + "dev": true, + "requires": { + "fill-range": "2.2.3" + } }, "extend": { "version": "3.0.1", @@ -1268,18 +1907,29 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } }, "external-editor": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-1.1.1.tgz", - "integrity": "sha1-Etew24UPf/fnCBuvQAVwAGDEYAs=" + "integrity": "sha1-Etew24UPf/fnCBuvQAVwAGDEYAs=", + "requires": { + "extend": "3.0.1", + "spawn-sync": "1.0.15", + "tmp": "0.0.29" + } }, "extglob": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } }, "extsprintf": { "version": "1.3.0", @@ -1297,23 +1947,37 @@ "version": "1.9.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=", - "dev": true + "dev": true, + "requires": { + "bser": "1.0.2" + } }, "fd-slicer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=" + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "requires": { + "pend": "1.2.0" + } }, "figures": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=" + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "requires": { + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" + } }, "file-entry-cache": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true + "dev": true, + "requires": { + "flat-cache": "1.2.2", + "object-assign": "4.1.1" + } }, "file-type": { "version": "5.2.0", @@ -1334,13 +1998,22 @@ "filenamify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.0.0.tgz", - "integrity": "sha1-vRYiYsC26Uv7zc8Zo7uzdk94VpU=" + "integrity": "sha1-vRYiYsC26Uv7zc8Zo7uzdk94VpU=", + "requires": { + "filename-reserved-regex": "2.0.0", + "strip-outer": "1.0.0", + "trim-repeated": "1.0.0" + } }, "fileset": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", - "dev": true + "dev": true, + "requires": { + "glob": "7.1.2", + "minimatch": "3.0.4" + } }, "filesize": { "version": "3.5.10", @@ -1351,25 +2024,46 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", - "dev": true + "dev": true, + "requires": { + "is-object": "1.0.1", + "merge-descriptors": "1.0.1" + } }, "fill-range": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } }, "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } }, "flat-cache": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", - "dev": true + "dev": true, + "requires": { + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" + } }, "for-in": { "version": "1.0.2", @@ -1381,7 +2075,10 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true + "dev": true, + "requires": { + "for-in": "1.0.2" + } }, "foreach": { "version": "2.0.5", @@ -1396,15 +2093,23 @@ "dev": true }, "form-data": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", - "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.2.0.tgz", + "integrity": "sha1-ml47kpX5gLJiPPZPojixTOvKcHs=", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.16" + } }, "formatio": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz", "integrity": "sha1-XtPM1jZVEJc4NGXZlhmRAOhhYek=", - "dev": true + "dev": true, + "requires": { + "samsam": "1.1.2" + } }, "formidable": { "version": "1.1.1", @@ -1414,7 +2119,14 @@ "fs-extra": { "version": "0.26.7", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", - "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=" + "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1", + "path-is-absolute": "1.0.1", + "rimraf": "2.6.1" + } }, "fs.realpath": { "version": "1.0.0", @@ -1422,15 +2134,22 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz", + "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=", "dev": true }, "gauge": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", - "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=" + "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", + "requires": { + "ansi": "0.3.1", + "has-unicode": "2.0.1", + "lodash.pad": "4.5.1", + "lodash.padend": "4.6.1", + "lodash.padstart": "4.6.1" + } }, "generate-function": { "version": "2.0.0", @@ -1442,7 +2161,10 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", - "dev": true + "dev": true, + "requires": { + "is-property": "1.0.2" + } }, "get-caller-file": { "version": "1.0.2", @@ -1453,7 +2175,10 @@ "get-proxy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", - "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==" + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", + "requires": { + "npm-conf": "1.1.2" + } }, "get-stdin": { "version": "5.0.1", @@ -1470,6 +2195,9 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, + "requires": { + "assert-plus": "1.0.0" + }, "dependencies": { "assert-plus": { "version": "1.0.0", @@ -1482,19 +2210,34 @@ "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==" + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } }, "glob-base": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } }, "glob-parent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true + "dev": true, + "requires": { + "is-glob": "2.0.1" + } }, "globals": { "version": "9.18.0", @@ -1505,12 +2248,32 @@ "globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=" + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "requires": { + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } }, "got": { "version": "6.7.1", "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=" + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", + "requires": { + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.0", + "safe-buffer": "5.1.1", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" + } }, "graceful-fs": { "version": "4.1.11", @@ -1525,12 +2288,18 @@ "graphlib": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.1.tgz", - "integrity": "sha1-QjUsUrovTQNctWbrkfc5X3bryVE=" + "integrity": "sha1-QjUsUrovTQNctWbrkfc5X3bryVE=", + "requires": { + "lodash": "4.17.4" + } }, "graphql": { "version": "0.10.5", "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.10.5.tgz", - "integrity": "sha512-Q7cx22DiLhwHsEfUnUip1Ww/Vfx7FS0w6+iHItNuN61+XpegHSa3k5U0+6M5BcpavQImBwFiy0z3uYwY7cXMLQ==" + "integrity": "sha512-Q7cx22DiLhwHsEfUnUip1Ww/Vfx7FS0w6+iHItNuN61+XpegHSa3k5U0+6M5BcpavQImBwFiy0z3uYwY7cXMLQ==", + "requires": { + "iterall": "1.1.1" + } }, "graphql-anywhere": { "version": "3.1.0", @@ -1546,7 +2315,14 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", "integrity": "sha1-MELZrewqHe1qdwep7SOA+KF6Qw4=", - "dev": true + "dev": true, + "requires": { + "ansi-red": "0.1.1", + "coffee-script": "1.12.7", + "extend-shallow": "2.0.1", + "js-yaml": "3.9.1", + "toml": "2.3.2" + } }, "growl": { "version": "1.9.2", @@ -1565,12 +2341,21 @@ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz", "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=", "dev": true, + "requires": { + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" + }, "dependencies": { "source-map": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true + "dev": true, + "requires": { + "amdefine": "1.0.1" + } } } }, @@ -1579,6 +2364,12 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", "dev": true, + "requires": { + "chalk": "1.1.3", + "commander": "2.11.0", + "is-my-json-valid": "2.16.0", + "pinkie-promise": "2.0.1" + }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -1590,7 +2381,14 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } }, "commander": { "version": "2.11.0", @@ -1610,12 +2408,18 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", - "dev": true + "dev": true, + "requires": { + "function-bind": "1.1.0" + } }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=" + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "2.1.1" + } }, "has-flag": { "version": "2.0.0", @@ -1623,14 +2427,17 @@ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" }, "has-symbol-support-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz", - "integrity": "sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.0.tgz", + "integrity": "sha512-F1NtLDtW9NyUrS3faUcI1yVFHCTXyzPb1jfrZBQi5NHxFPlXxZnFLFGzfA2DsdmgCxv2MZ0+bfcgC4EZTmk4SQ==" }, "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.0.tgz", + "integrity": "sha512-R3OdOP9j6AH5hS1yXeu9wAS+iKSZQx/CC6aMdN6WiaqPlBoA2S+47MtoMsZgKr2m0eAJ+73WWGX0RaFFE5XWKA==", + "requires": { + "has-symbol-support-x": "1.4.0" + } }, "has-unicode": { "version": "2.0.1", @@ -1641,7 +2448,13 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } }, "hoek": { "version": "2.16.3", @@ -1653,7 +2466,11 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } }, "hosted-git-info": { "version": "2.5.0", @@ -1665,13 +2482,21 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz", "integrity": "sha1-eb96eF6klf5mFl5zQVPzY/9UN9o=", - "dev": true + "dev": true, + "requires": { + "whatwg-encoding": "1.0.1" + } }, "http-basic": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-2.5.1.tgz", "integrity": "sha1-jORHvbW2xXf4pj4/p4BW7Eu02/s=", - "dev": true + "dev": true, + "requires": { + "caseless": "0.11.0", + "concat-stream": "1.6.0", + "http-response-object": "1.1.0" + } }, "http-response-object": { "version": "1.1.0", @@ -1683,12 +2508,22 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true + "dev": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } }, "https-proxy-agent": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", - "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=" + "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=", + "requires": { + "agent-base": "2.1.1", + "debug": "2.6.8", + "extend": "3.0.1" + } }, "iconv-lite": { "version": "0.4.18", @@ -1701,9 +2536,9 @@ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" }, "ignore": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz", - "integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.3.tgz", + "integrity": "sha1-QyNS5XrM2HqzEQ6C0/6g5HgSFW0=", "dev": true }, "immediate": { @@ -1720,7 +2555,11 @@ "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } }, "inherits": { "version": "2.0.3", @@ -1736,6 +2575,22 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-1.2.3.tgz", "integrity": "sha1-TexvMvN+97sLLtPx0aXD9UUHSRg=", + "requires": { + "ansi-escapes": "1.4.0", + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "cli-width": "2.1.0", + "external-editor": "1.1.1", + "figures": "1.7.0", + "lodash": "4.17.4", + "mute-stream": "0.0.6", + "pinkie-promise": "2.0.1", + "run-async": "2.3.0", + "rx": "4.1.0", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "through": "2.3.8" + }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -1745,7 +2600,14 @@ "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=" + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } }, "supports-color": { "version": "2.0.0", @@ -1764,7 +2626,10 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "dev": true + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } }, "invert-kv": { "version": "1.0.0", @@ -1788,7 +2653,10 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } }, "is-callable": { "version": "1.1.3", @@ -1800,7 +2668,10 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", - "dev": true + "dev": true, + "requires": { + "ci-info": "1.1.1" + } }, "is-date-object": { "version": "1.0.1", @@ -1823,7 +2694,10 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } }, "is-extendable": { "version": "0.1.1", @@ -1841,18 +2715,27 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=" + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "1.0.1" + } }, "is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } }, "is-local-path": { "version": "0.1.6", @@ -1861,10 +2744,16 @@ "dev": true }, "is-my-json-valid": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", - "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==", - "dev": true + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", + "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", + "dev": true, + "requires": { + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" + } }, "is-natural-number": { "version": "4.0.1", @@ -1875,7 +2764,10 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true + "dev": true, + "requires": { + "kind-of": "3.2.2" + } }, "is-object": { "version": "1.0.1", @@ -1892,13 +2784,19 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", - "dev": true + "dev": true, + "requires": { + "is-path-inside": "1.0.0" + } }, "is-path-inside": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", - "dev": true + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } }, "is-posix-bracket": { "version": "0.1.1", @@ -1932,13 +2830,19 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true + "dev": true, + "requires": { + "has": "1.0.1" + } }, "is-resolvable": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", - "dev": true + "dev": true, + "requires": { + "tryit": "1.0.3" + } }, "is-retry-allowed": { "version": "1.1.0", @@ -1988,12 +2892,19 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true + "dev": true, + "requires": { + "isarray": "1.0.0" + } }, "isomorphic-fetch": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=" + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "1.7.2", + "whatwg-fetch": "2.0.3" + } }, "isstream": { "version": "0.1.2", @@ -2006,6 +2917,22 @@ "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", "dev": true, + "requires": { + "abbrev": "1.0.9", + "async": "1.5.2", + "escodegen": "1.8.1", + "esprima": "2.7.3", + "glob": "5.0.15", + "handlebars": "4.0.10", + "js-yaml": "3.9.1", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "once": "1.4.0", + "resolve": "1.1.7", + "supports-color": "3.2.3", + "which": "1.3.0", + "wordwrap": "1.0.0" + }, "dependencies": { "esprima": { "version": "2.7.3", @@ -2017,7 +2944,14 @@ "version": "5.0.15", "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } }, "has-flag": { "version": "1.0.0", @@ -2035,21 +2969,40 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true + "dev": true, + "requires": { + "has-flag": "1.0.0" + } } } }, "istanbul-api": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.14.tgz", - "integrity": "sha1-JbxXAffGgMD//5E95G42GaOm5oA=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.11.tgz", + "integrity": "sha1-/MC0YeKzvaceMFFVE4I4doJX2d4=", "dev": true, + "requires": { + "async": "2.5.0", + "fileset": "2.0.3", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.0.7", + "istanbul-lib-instrument": "1.7.4", + "istanbul-lib-report": "1.1.1", + "istanbul-lib-source-maps": "1.2.1", + "istanbul-reports": "1.1.1", + "js-yaml": "3.9.1", + "mkdirp": "0.5.1", + "once": "1.4.0" + }, "dependencies": { "async": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", - "dev": true + "dev": true, + "requires": { + "lodash": "4.17.4" + } } } }, @@ -2063,19 +3016,37 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz", "integrity": "sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ==", - "dev": true + "dev": true, + "requires": { + "append-transform": "0.4.0" + } }, "istanbul-lib-instrument": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.8.0.tgz", - "integrity": "sha1-ZvbJQhzJ7EcE928tsIS6kHiitTI=", - "dev": true + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.4.tgz", + "integrity": "sha1-6f2SDkdn89Ge3HZeLWs/XMvQ7qg=", + "dev": true, + "requires": { + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" + } }, "istanbul-lib-report": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", "integrity": "sha512-tvF+YmCmH4thnez6JFX06ujIA19WPa9YUiwjc1uALF2cv5dmE3It8b5I8Ob7FHJ70H9Y5yF+TDkVa/mcADuw1Q==", "dev": true, + "requires": { + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" + }, "dependencies": { "has-flag": { "version": "1.0.0", @@ -2087,7 +3058,10 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true + "dev": true, + "requires": { + "has-flag": "1.0.0" + } } } }, @@ -2096,25 +3070,39 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", "integrity": "sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w==", "dev": true, + "requires": { + "debug": "2.6.8", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.1", + "source-map": "0.5.6" + }, "dependencies": { "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", "dev": true } } }, "istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha1-D7Lj9qqZIr085F0F2KtNXo4HvU8=", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.1.tgz", + "integrity": "sha512-P8G873A0kW24XRlxHVGhMJBhQ8gWAec+dae7ZxOBzxT4w+a9ATSPvRVK3LB1RAJ9S8bg2tOyWHAGW40Zd2dKfw==", + "dev": true, + "requires": { + "handlebars": "4.0.10" + } }, "isurl": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==" + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "1.4.0", + "is-object": "1.0.1" + } }, "iterall": { "version": "1.1.1", @@ -2132,6 +3120,36 @@ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-18.1.0.tgz", "integrity": "sha1-Xq027K1CCBfCybqiqnV09jJXs9Y=", "dev": true, + "requires": { + "ansi-escapes": "1.4.0", + "callsites": "2.0.0", + "chalk": "1.1.3", + "graceful-fs": "4.1.11", + "is-ci": "1.0.10", + "istanbul-api": "1.1.11", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-instrument": "1.7.4", + "jest-changed-files": "17.0.2", + "jest-config": "18.1.0", + "jest-environment-jsdom": "18.1.0", + "jest-file-exists": "17.0.0", + "jest-haste-map": "18.1.0", + "jest-jasmine2": "18.1.0", + "jest-mock": "18.0.0", + "jest-resolve": "18.1.0", + "jest-resolve-dependencies": "18.1.0", + "jest-runtime": "18.1.0", + "jest-snapshot": "18.1.0", + "jest-util": "18.1.0", + "json-stable-stringify": "1.0.1", + "node-notifier": "4.6.1", + "sane": "1.4.1", + "strip-ansi": "3.0.1", + "throat": "3.2.0", + "which": "1.3.0", + "worker-farm": "1.5.0", + "yargs": "6.6.0" + }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -2155,13 +3173,25 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } }, "supports-color": { "version": "2.0.0", @@ -2173,7 +3203,22 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true + "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "4.2.1" + } } } }, @@ -2182,6 +3227,16 @@ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-18.1.0.tgz", "integrity": "sha1-YRF0Cm1Iqrhv9anmqwuYvZk7b/Q=", "dev": true, + "requires": { + "chalk": "1.1.3", + "jest-environment-jsdom": "18.1.0", + "jest-environment-node": "18.1.0", + "jest-jasmine2": "18.1.0", + "jest-mock": "18.0.0", + "jest-resolve": "18.1.0", + "jest-util": "18.1.0", + "json-stable-stringify": "1.0.1" + }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -2193,7 +3248,14 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } }, "supports-color": { "version": "2.0.0", @@ -2208,6 +3270,12 @@ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-18.1.0.tgz", "integrity": "sha1-T/eedN2YjBORlbNl3GXYf2BvSAM=", "dev": true, + "requires": { + "chalk": "1.1.3", + "diff": "3.3.0", + "jest-matcher-utils": "18.1.0", + "pretty-format": "18.1.0" + }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -2219,7 +3287,14 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } }, "supports-color": { "version": "2.0.0", @@ -2233,13 +3308,22 @@ "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-18.1.0.tgz", "integrity": "sha1-GLQvDE6iuunzbKs2ObHo+MOE4k4=", - "dev": true + "dev": true, + "requires": { + "jest-mock": "18.0.0", + "jest-util": "18.1.0", + "jsdom": "9.12.0" + } }, "jest-environment-node": { "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-18.1.0.tgz", "integrity": "sha1-TWeXVyyN2pms9frmlutilFVHx3k=", - "dev": true + "dev": true, + "requires": { + "jest-mock": "18.0.0", + "jest-util": "18.1.0" + } }, "jest-file-exists": { "version": "17.0.0", @@ -2251,19 +3335,37 @@ "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-18.1.0.tgz", "integrity": "sha1-BoOcdLdwpAwaEGlohR340oHAg3U=", - "dev": true + "dev": true, + "requires": { + "fb-watchman": "1.9.2", + "graceful-fs": "4.1.11", + "micromatch": "2.3.11", + "sane": "1.4.1", + "worker-farm": "1.5.0" + } }, "jest-jasmine2": { "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-18.1.0.tgz", "integrity": "sha1-CU4QTCwYlwh2bHcmO7Kuy1hgqAs=", - "dev": true + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jest-matcher-utils": "18.1.0", + "jest-matchers": "18.1.0", + "jest-snapshot": "18.1.0", + "jest-util": "18.1.0" + } }, "jest-matcher-utils": { "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-18.1.0.tgz", "integrity": "sha1-GsRlGVXuKmDO8ef8yYzf13PA+TI=", "dev": true, + "requires": { + "chalk": "1.1.3", + "pretty-format": "18.1.0" + }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -2275,7 +3377,14 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } }, "supports-color": { "version": "2.0.0", @@ -2289,7 +3398,13 @@ "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-matchers/-/jest-matchers-18.1.0.tgz", "integrity": "sha1-A0FIS/h6H9C6wKTSyJnit3o/Hq0=", - "dev": true + "dev": true, + "requires": { + "jest-diff": "18.1.0", + "jest-matcher-utils": "18.1.0", + "jest-util": "18.1.0", + "pretty-format": "18.1.0" + } }, "jest-mock": { "version": "18.0.0", @@ -2301,19 +3416,46 @@ "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-18.1.0.tgz", "integrity": "sha1-aACsy1NmWMkGzV4p3kErGrmsJJs=", - "dev": true + "dev": true, + "requires": { + "browser-resolve": "1.11.2", + "jest-file-exists": "17.0.0", + "jest-haste-map": "18.1.0", + "resolve": "1.4.0" + } }, "jest-resolve-dependencies": { "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-18.1.0.tgz", "integrity": "sha1-gTT7XK9Zye2EL+AVKrAcUnEfG7s=", - "dev": true + "dev": true, + "requires": { + "jest-file-exists": "17.0.0", + "jest-resolve": "18.1.0" + } }, "jest-runtime": { "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-18.1.0.tgz", "integrity": "sha1-Or/WhxdbIfw7haK4BkOZ6ZeFmSI=", "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-jest": "18.0.0", + "babel-plugin-istanbul": "3.1.2", + "chalk": "1.1.3", + "graceful-fs": "4.1.11", + "jest-config": "18.1.0", + "jest-file-exists": "17.0.0", + "jest-haste-map": "18.1.0", + "jest-mock": "18.0.0", + "jest-resolve": "18.1.0", + "jest-snapshot": "18.1.0", + "jest-util": "18.1.0", + "json-stable-stringify": "1.0.1", + "micromatch": "2.3.11", + "yargs": "6.6.0" + }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -2331,13 +3473,25 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } }, "supports-color": { "version": "2.0.0", @@ -2349,7 +3503,22 @@ "version": "6.6.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true + "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "4.2.1" + } } } }, @@ -2357,13 +3526,29 @@ "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-18.1.0.tgz", "integrity": "sha1-VbltLuY5ybznb4fyo/1Atxx6WRY=", - "dev": true + "dev": true, + "requires": { + "jest-diff": "18.1.0", + "jest-file-exists": "17.0.0", + "jest-matcher-utils": "18.1.0", + "jest-util": "18.1.0", + "natural-compare": "1.4.0", + "pretty-format": "18.1.0" + } }, "jest-util": { "version": "18.1.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-18.1.0.tgz", "integrity": "sha1-OpnDIRSrF/hL4JQ4JScAbm1L/Go=", "dev": true, + "requires": { + "chalk": "1.1.3", + "diff": "3.3.0", + "graceful-fs": "4.1.11", + "jest-file-exists": "17.0.0", + "jest-mock": "18.0.0", + "mkdirp": "0.5.1" + }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -2375,7 +3560,14 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } }, "supports-color": { "version": "2.0.0", @@ -2398,7 +3590,11 @@ "js-yaml": { "version": "3.9.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.9.1.tgz", - "integrity": "sha512-CbcG379L1e+mWBnLvHWWeLs8GyV/EMw862uLI3c+GxVyDHWZcjZinwuBd3iW2pgxgIlksW/1vNJa4to+RvDOww==" + "integrity": "sha512-CbcG379L1e+mWBnLvHWWeLs8GyV/EMw862uLI3c+GxVyDHWZcjZinwuBd3iW2pgxgIlksW/1vNJa4to+RvDOww==", + "requires": { + "argparse": "1.0.9", + "esprima": "4.0.0" + } }, "jsbn": { "version": "0.1.1", @@ -2412,6 +3608,27 @@ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", "dev": true, + "requires": { + "abab": "1.0.3", + "acorn": "4.0.13", + "acorn-globals": "3.1.0", + "array-equal": "1.0.0", + "content-type-parser": "1.0.1", + "cssom": "0.3.2", + "cssstyle": "0.2.37", + "escodegen": "1.8.1", + "html-encoding-sniffer": "1.0.1", + "nwmatcher": "1.4.1", + "parse5": "1.5.1", + "request": "2.79.0", + "sax": "1.2.1", + "symbol-tree": "3.2.2", + "tough-cookie": "2.3.2", + "webidl-conversions": "4.0.2", + "whatwg-encoding": "1.0.1", + "whatwg-url": "4.8.0", + "xml-name-validator": "2.0.1" + }, "dependencies": { "acorn": { "version": "4.0.13", @@ -2431,6 +3648,15 @@ "version": "2.1.7", "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-2.1.7.tgz", "integrity": "sha1-uesB/in16j6Sh48VrqEK04taz4k=", + "requires": { + "commander": "2.11.0", + "graphlib": "2.1.1", + "js-yaml": "3.9.1", + "native-promise-only": "0.8.1", + "path-loader": "1.0.2", + "slash": "1.0.0", + "uri-js": "3.0.2" + }, "dependencies": { "commander": { "version": "2.11.0", @@ -2449,7 +3675,10 @@ "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 + "dev": true, + "requires": { + "jsonify": "0.0.0" + } }, "json-stringify-safe": { "version": "5.0.1", @@ -2471,7 +3700,10 @@ "jsonfile": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=" + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "requires": { + "graceful-fs": "4.1.11" + } }, "jsonify": { "version": "0.0.0", @@ -2490,6 +3722,12 @@ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + }, "dependencies": { "assert-plus": { "version": "1.0.0", @@ -2506,10 +3744,17 @@ "dev": true }, "jszip": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.4.tgz", - "integrity": "sha512-z6w8iYIxZ/fcgul0j/OerkYnkomH8BZigvzbxVmr2h5HkZUrPtk2kjYtLkqR9wwQxEP6ecKNoKLsbhd18jfnGA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.3.tgz", + "integrity": "sha1-ipIEA7KxZRwPwSa+kBktkICVfDc=", "dev": true, + "requires": { + "core-js": "2.3.0", + "es6-promise": "3.0.2", + "lie": "3.1.1", + "pako": "1.0.5", + "readable-stream": "2.0.6" + }, "dependencies": { "core-js": { "version": "2.3.0", @@ -2521,7 +3766,15 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "0.10.31", + "util-deprecate": "1.0.2" + } }, "string_decoder": { "version": "0.10.31", @@ -2540,12 +3793,18 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } }, "klaw": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=" + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "requires": { + "graceful-fs": "4.1.11" + } }, "lazy-cache": { "version": "1.0.4", @@ -2557,13 +3816,19 @@ "lazystream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=" + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "requires": { + "readable-stream": "2.3.3" + } }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } }, "lcov-parse": { "version": "0.0.10", @@ -2575,31 +3840,54 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } }, "lie": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "dev": true + "dev": true, + "requires": { + "immediate": "3.0.6" + } }, "list-item": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", "integrity": "sha1-DGXQDih8tmPMs8s4Sad+iewmilY=", - "dev": true + "dev": true, + "requires": { + "expand-range": "1.8.2", + "extend-shallow": "2.0.1", + "is-number": "2.1.0", + "repeat-string": "1.6.1" + } }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + }, "dependencies": { "strip-bom": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } } } }, @@ -2608,6 +3896,10 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + }, "dependencies": { "path-exists": { "version": "3.0.0", @@ -2643,13 +3935,25 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", - "dev": true + "dev": true, + "requires": { + "lodash._basecopy": "3.0.1", + "lodash.keys": "3.1.2" + } }, "lodash._baseclone": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz", "integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=", - "dev": true + "dev": true, + "requires": { + "lodash._arraycopy": "3.0.0", + "lodash._arrayeach": "3.0.0", + "lodash._baseassign": "3.2.0", + "lodash._basefor": "3.0.3", + "lodash.isarray": "3.0.4", + "lodash.keys": "3.1.2" + } }, "lodash._basecopy": { "version": "3.0.1", @@ -2697,7 +4001,11 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz", "integrity": "sha1-oKHkDYKl6on/WxR7hETtY9koJ9s=", - "dev": true + "dev": true, + "requires": { + "lodash._baseclone": "3.3.0", + "lodash._bindcallback": "3.0.1" + } }, "lodash.cond": { "version": "4.5.2", @@ -2709,7 +4017,12 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", - "dev": true + "dev": true, + "requires": { + "lodash._baseassign": "3.2.0", + "lodash._basecreate": "3.0.3", + "lodash._isiterateecall": "3.0.9" + } }, "lodash.difference": { "version": "4.5.0", @@ -2750,7 +4063,12 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dev": true + "dev": true, + "requires": { + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" + } }, "lodash.pad": { "version": "4.5.1", @@ -2799,7 +4117,10 @@ "loose-envify": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=" + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "requires": { + "js-tokens": "3.0.2" + } }, "lowercase-keys": { "version": "1.0.0", @@ -2814,13 +4135,19 @@ "make-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz", - "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=" + "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=", + "requires": { + "pify": "2.3.0" + } }, "makeerror": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true + "dev": true, + "requires": { + "tmpl": "1.0.4" + } }, "markdown-link": { "version": "0.1.1", @@ -2829,10 +4156,20 @@ "dev": true }, "markdown-magic": { - "version": "0.1.18", - "resolved": "https://registry.npmjs.org/markdown-magic/-/markdown-magic-0.1.18.tgz", - "integrity": "sha1-aalfD1Ekj5/ChO118kva2FpFzu4=", + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/markdown-magic/-/markdown-magic-0.1.17.tgz", + "integrity": "sha1-lj/jsNvoIF5ycJRJpErS9NsR/24=", "dev": true, + "requires": { + "commander": "2.11.0", + "deepmerge": "1.5.1", + "find-up": "2.1.0", + "fs-extra": "1.0.0", + "globby": "6.1.0", + "is-local-path": "0.1.6", + "markdown-toc": "1.1.0", + "sync-request": "3.0.1" + }, "dependencies": { "commander": { "version": "2.11.0", @@ -2844,13 +4181,21 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true + "dev": true, + "requires": { + "locate-path": "2.0.0" + } }, "fs-extra": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", - "dev": true + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1" + } } } }, @@ -2859,12 +4204,29 @@ "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.1.0.tgz", "integrity": "sha1-GORyN9iVSelEcSHmniyoU8otdSo=", "dev": true, + "requires": { + "concat-stream": "1.6.0", + "diacritics-map": "0.1.0", + "gray-matter": "2.1.1", + "lazy-cache": "2.0.2", + "list-item": "1.1.1", + "markdown-link": "0.1.1", + "minimist": "1.2.0", + "mixin-deep": "1.2.0", + "object.pick": "1.2.0", + "remarkable": "1.7.1", + "repeat-string": "1.6.1", + "strip-color": "0.1.0" + }, "dependencies": { "lazy-cache": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", - "dev": true + "dev": true, + "requires": { + "set-getter": "0.1.0" + } } } }, @@ -2879,6 +4241,13 @@ "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-1.7.0.tgz", "integrity": "sha1-yMRgiBx3LHYEtkNnAH7l938SWQQ=", "dev": true, + "requires": { + "cardinal": "1.0.0", + "chalk": "1.1.3", + "cli-table": "0.3.1", + "lodash.assign": "4.2.0", + "node-emoji": "1.8.1" + }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -2890,7 +4259,14 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } }, "supports-color": { "version": "2.0.0", @@ -2921,27 +4297,48 @@ "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.3" + } }, "mime": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.0.tgz", - "integrity": "sha512-n9ChLv77+QQEapYz8lV+rIZAW3HhAPW2CXnzb1GN5uMkuczshwvkW7XPsbzU0ZQN3sP47Er2KVkp2p3KyqZKSQ==" + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz", + "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=" }, "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz", + "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=" }, "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=" + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", + "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", + "requires": { + "mime-db": "1.29.0" + } }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "requires": { + "brace-expansion": "1.1.8" + } }, "minimist": { "version": "1.2.0", @@ -2952,12 +4349,19 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.2.0.tgz", "integrity": "sha1-0CuMb4ttS49ZgtP9AJxJGYUcP+I=", - "dev": true + "dev": true, + "requires": { + "for-in": "1.0.2", + "is-extendable": "0.1.1" + } }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, "dependencies": { "minimist": { "version": "0.0.8", @@ -2971,12 +4375,28 @@ "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.0.tgz", "integrity": "sha512-pIU2PJjrPYvYRqVpjXzj76qltO9uBYI7woYAMoxbSefsa+vqAfptjoeevd6bUgwD0mPIO+hv9f7ltvsNreL2PA==", "dev": true, + "requires": { + "browser-stdout": "1.3.0", + "commander": "2.9.0", + "debug": "2.6.8", + "diff": "3.2.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.1", + "growl": "1.9.2", + "json3": "3.3.2", + "lodash.create": "3.1.1", + "mkdirp": "0.5.1", + "supports-color": "3.1.2" + }, "dependencies": { "commander": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true + "dev": true, + "requires": { + "graceful-readlink": "1.0.1" + } }, "diff": { "version": "3.2.0", @@ -2988,7 +4408,15 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", - "dev": true + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } }, "has-flag": { "version": "1.0.0", @@ -3000,7 +4428,10 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", - "dev": true + "dev": true, + "requires": { + "has-flag": "1.0.0" + } } } }, @@ -3014,7 +4445,10 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/mock-require/-/mock-require-1.3.0.tgz", "integrity": "sha1-gmFElS5QR2L45pJKqPY5Rl0deiQ=", - "dev": true + "dev": true, + "requires": { + "caller-id": "0.1.0" + } }, "module-not-found-error": { "version": "1.0.1", @@ -3052,12 +4486,24 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz", "integrity": "sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg==", - "dev": true + "dev": true, + "requires": { + "lodash.toarray": "4.4.0" + } }, "node-fetch": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.2.tgz", - "integrity": "sha512-xZZUq2yDhKMIn/UgG5q//IZSNLJIwW2QxS14CNH5spuiXkITM2pUitjdq58yLSaU7m4M0wBNaM2Gh/ggY4YJig==" + "integrity": "sha512-xZZUq2yDhKMIn/UgG5q//IZSNLJIwW2QxS14CNH5spuiXkITM2pUitjdq58yLSaU7m4M0wBNaM2Gh/ggY4YJig==", + "requires": { + "encoding": "0.1.12", + "is-stream": "1.1.0" + } + }, + "node-forge": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.1.tgz", + "integrity": "sha1-naYR6giYL0uUIGs760zJZl8gwwA=" }, "node-int64": { "version": "0.4.0", @@ -3069,29 +4515,54 @@ "version": "4.6.1", "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-4.6.1.tgz", "integrity": "sha1-BW0UJE89zBzq3+aK+c/wxUc6M/M=", - "dev": true + "dev": true, + "requires": { + "cli-usage": "0.1.4", + "growly": "1.3.0", + "lodash.clonedeep": "3.0.2", + "minimist": "1.2.0", + "semver": "5.4.1", + "shellwords": "0.1.1", + "which": "1.3.0" + } }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true + "dev": true, + "requires": { + "abbrev": "1.0.9" + } }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true + "dev": true, + "requires": { + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" + } }, "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=" + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "1.1.0" + } }, "npm-conf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.2.tgz", "integrity": "sha512-dotwbpwVzfNB/2EF3A2wjK5tEMLggKfuA/8TG6WvBB1Zrv+JsvF7E8ei9B/HGq211st/GwXFbREcNJvJ1eySUQ==", + "requires": { + "config-chain": "1.1.11", + "pify": "3.0.0" + }, "dependencies": { "pify": { "version": "3.0.0", @@ -3103,7 +4574,12 @@ "npmlog": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", - "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=" + "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", + "requires": { + "ansi": "0.3.1", + "are-we-there-yet": "1.1.4", + "gauge": "1.2.7" + } }, "number-is-nan": { "version": "1.0.1", @@ -3137,32 +4613,39 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz", "integrity": "sha1-scnMBE7xuf5jYG/BQau7MuFHMMw=", - "dev": true + "dev": true, + "requires": { + "define-properties": "1.1.2", + "function-bind": "1.1.0", + "object-keys": "1.0.11" + } }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } }, "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.2.0.tgz", + "integrity": "sha1-tTkr7peC2m2ft9avr1OXefEjTCs=", "dev": true, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } + "requires": { + "isobject": "2.1.0" } }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1.0.2" + } }, "onetime": { "version": "1.1.0", @@ -3172,13 +4655,20 @@ "opn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", - "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==" + "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", + "requires": { + "is-wsl": "1.1.0" + } }, "optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, + "requires": { + "minimist": "0.0.10", + "wordwrap": "0.0.3" + }, "dependencies": { "minimist": { "version": "0.0.10", @@ -3198,7 +4688,15 @@ "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true + "dev": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" + } }, "os-homedir": { "version": "1.0.2", @@ -3210,7 +4708,10 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true + "dev": true, + "requires": { + "lcid": "1.0.0" + } }, "os-shim": { "version": "0.1.3", @@ -3232,7 +4733,10 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true + "dev": true, + "requires": { + "p-limit": "1.1.0" + } }, "pako": { "version": "1.0.5", @@ -3244,13 +4748,22 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true + "dev": true, + "requires": { + "error-ex": "1.3.1" + } }, "parse5": { "version": "1.5.1", @@ -3262,7 +4775,10 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } }, "path-is-absolute": { "version": "1.0.1", @@ -3278,7 +4794,11 @@ "path-loader": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.2.tgz", - "integrity": "sha1-zVxz5+OakQEb4UjWv92KhbuTHvk=" + "integrity": "sha1-zVxz5+OakQEb4UjWv92KhbuTHvk=", + "requires": { + "native-promise-only": "0.8.1", + "superagent": "3.5.2" + } }, "path-parse": { "version": "1.0.5", @@ -3290,7 +4810,12 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } }, "pend": { "version": "1.2.0", @@ -3310,19 +4835,28 @@ "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=" + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "2.0.4" + } }, "pkg-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true + "dev": true, + "requires": { + "find-up": "1.1.2" + } }, "pkg-up": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=", - "dev": true + "dev": true, + "requires": { + "find-up": "1.1.2" + } }, "pluralize": { "version": "1.2.1", @@ -3352,6 +4886,9 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-18.1.0.tgz", "integrity": "sha1-+2Wob3p/kZSWPu6RhlwbzxA54oQ=", "dev": true, + "requires": { + "ansi-styles": "2.2.1" + }, "dependencies": { "ansi-styles": { "version": "2.2.1", @@ -3382,7 +4919,10 @@ "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dev": true + "dev": true, + "requires": { + "asap": "2.0.6" + } }, "proto-list": { "version": "1.2.4", @@ -3394,6 +4934,11 @@ "resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz", "integrity": "sha1-AtUUpb7ZhvBMuyCTrxZ0FTX3ntw=", "dev": true, + "requires": { + "fill-keys": "1.0.2", + "module-not-found-error": "1.0.1", + "resolve": "1.1.7" + }, "dependencies": { "resolve": { "version": "1.1.7", @@ -3439,18 +4984,28 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, "dependencies": { "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, + "requires": { + "kind-of": "3.2.2" + }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } } } }, @@ -3458,7 +5013,10 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } } } }, @@ -3466,6 +5024,13 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/raven/-/raven-1.2.1.tgz", "integrity": "sha1-lJwTTbAooZC3u/j3kKrlQbfAIL0=", + "requires": { + "cookie": "0.3.1", + "json-stringify-safe": "5.0.1", + "lsmod": "1.0.0", + "stack-trace": "0.0.9", + "uuid": "3.0.0" + }, "dependencies": { "uuid": { "version": "3.0.0", @@ -3477,30 +5042,59 @@ "rc": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=" + "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + } }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } }, "read-pkg-up": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } }, "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==" + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } }, "readline2": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "mute-stream": "0.0.5" + }, "dependencies": { "mute-stream": { "version": "0.0.5", @@ -3514,13 +5108,19 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true + "dev": true, + "requires": { + "resolve": "1.4.0" + } }, "redeyed": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-1.0.1.tgz", "integrity": "sha1-6WwZO0DAgWsArshCaY5hGF5VSYo=", "dev": true, + "requires": { + "esprima": "3.0.0" + }, "dependencies": { "esprima": { "version": "3.0.0", @@ -3533,7 +5133,13 @@ "redux": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==" + "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", + "requires": { + "lodash": "4.17.4", + "lodash-es": "4.17.4", + "loose-envify": "1.3.1", + "symbol-observable": "1.0.4" + } }, "regenerator-runtime": { "version": "0.11.0", @@ -3542,22 +5148,34 @@ "dev": true }, "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", + "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3", + "is-primitive": "2.0.0" + } }, "remarkable": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.1.tgz", "integrity": "sha1-qspJchALZqZCpjoQIcpLrBvjv/Y=", "dev": true, + "requires": { + "argparse": "0.1.16", + "autolinker": "0.15.3" + }, "dependencies": { "argparse": { "version": "0.1.16", "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", - "dev": true + "dev": true, + "requires": { + "underscore": "1.7.0", + "underscore.string": "2.4.0" + } } } }, @@ -3582,7 +5200,10 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true + "dev": true, + "requires": { + "is-finite": "1.0.2" + } }, "replaceall": { "version": "0.1.6", @@ -3594,12 +5215,39 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", "dev": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.11.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "2.0.6", + "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.16", + "oauth-sign": "0.8.2", + "qs": "6.3.2", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.4.3", + "uuid": "3.1.0" + }, "dependencies": { "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 + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.16" + } }, "qs": { "version": "6.3.2", @@ -3637,7 +5285,11 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true + "dev": true, + "requires": { + "caller-path": "0.1.0", + "resolve-from": "1.0.1" + } }, "requires-port": { "version": "1.0.0", @@ -3648,7 +5300,10 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", - "dev": true + "dev": true, + "requires": { + "path-parse": "1.0.5" + } }, "resolve-from": { "version": "1.0.1", @@ -3659,24 +5314,37 @@ "restore-cursor": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=" + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "requires": { + "exit-hook": "1.1.1", + "onetime": "1.1.0" + } }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, - "optional": true + "optional": true, + "requires": { + "align-text": "0.1.4" + } }, "rimraf": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=" + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "requires": { + "glob": "7.1.2" + } }, "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=" + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "requires": { + "is-promise": "2.1.0" + } }, "rx": { "version": "4.1.0", @@ -3704,7 +5372,15 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/sane/-/sane-1.4.1.tgz", "integrity": "sha1-iPdj10BA9fDCVrYWPbOZvxEKxxU=", - "dev": true + "dev": true, + "requires": { + "exec-sh": "0.2.0", + "fb-watchman": "1.9.2", + "minimatch": "3.0.4", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.10.0" + } }, "sax": { "version": "1.2.1", @@ -3714,7 +5390,10 @@ "seek-bzip": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=" + "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", + "requires": { + "commander": "2.8.1" + } }, "semver": { "version": "5.4.1", @@ -3736,7 +5415,10 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", - "dev": true + "dev": true, + "requires": { + "to-object-path": "0.3.0" + } }, "shelljs": { "version": "0.6.1", @@ -3749,16 +5431,17 @@ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", "dev": true }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, "sinon": { "version": "1.17.7", "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz", "integrity": "sha1-RUKk9JugxFwF6y6d2dID4rjv4L8=", - "dev": true + "dev": true, + "requires": { + "formatio": "1.1.1", + "lolex": "1.3.2", + "samsam": "1.1.2", + "util": "0.10.3" + } }, "sinon-bluebird": { "version": "3.1.0", @@ -3783,29 +5466,43 @@ "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", "dev": true }, + "slide": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=" + }, "sntp": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true + "dev": true, + "requires": { + "hoek": "2.16.3" + } }, "source-map": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", "dev": true, - "optional": true + "optional": true, + "requires": { + "amdefine": "1.0.1" + } }, "source-map-support": { - "version": "0.4.17", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.17.tgz", - "integrity": "sha512-30c1Ch8FSjV0FwC253iftbbj0dU/OXoSg1LAEGZJUlGgjTNj6cu+DVqJWWIZJY5RXLWV4eFtR+4ouo0VIOYOTg==", + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.16.tgz", + "integrity": "sha512-A6vlydY7H/ljr4L2UOhDSajQdZQ6dMD7cLH0pzwcmwLyc9u8PNI4WGtnfDDzX7uzGL6c/T+ORL97Zlh+S4iOrg==", "dev": true, + "requires": { + "source-map": "0.5.6" + }, "dependencies": { "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", "dev": true } } @@ -3813,13 +5510,20 @@ "spawn-sync": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", - "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=" + "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", + "requires": { + "concat-stream": "1.6.0", + "os-shim": "0.1.3" + } }, "spdx-correct": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "dev": true + "dev": true, + "requires": { + "spdx-license-ids": "1.2.2" + } }, "spdx-expression-parse": { "version": "1.0.4", @@ -3843,6 +5547,16 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", "dev": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, "dependencies": { "assert-plus": { "version": "1.0.0", @@ -3857,15 +5571,23 @@ "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=" }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==" - }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=" + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } }, "stringstream": { "version": "0.0.5", @@ -3876,7 +5598,10 @@ "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=" + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } }, "strip-bom": { "version": "3.0.0", @@ -3893,7 +5618,10 @@ "strip-dirs": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.0.0.tgz", - "integrity": "sha1-YQzbKSggDaAAT0HcuQ/JXNkZoLY=" + "integrity": "sha1-YQzbKSggDaAAT0HcuQ/JXNkZoLY=", + "requires": { + "is-natural-number": "4.0.1" + } }, "strip-json-comments": { "version": "2.0.1", @@ -3903,17 +5631,35 @@ "strip-outer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.0.tgz", - "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=" + "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=", + "requires": { + "escape-string-regexp": "1.0.5" + } }, "superagent": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.6.0.tgz", - "integrity": "sha512-oWsu4mboo8sVxagp4bNwZIR1rUmypeAJDmNIwT9mF4k06hSu6P92aOjEWLaIj7vsX3fOUp+cRH/04tao+q5Q7A==" + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.5.2.tgz", + "integrity": "sha1-M2GjlxVnUEw1EGOr6q4PqiPb8/g=", + "requires": { + "component-emitter": "1.2.1", + "cookiejar": "2.1.1", + "debug": "2.6.8", + "extend": "3.0.1", + "form-data": "2.2.0", + "formidable": "1.1.1", + "methods": "1.1.2", + "mime": "1.3.6", + "qs": "6.5.0", + "readable-stream": "2.3.3" + } }, "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==" + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.1.tgz", + "integrity": "sha512-qxzYsob3yv6U+xMzPrv170y8AwGP7i74g+pbixCfD6rgso8BscLT2qXIuz6TpOaiJZ3mFgT5O9lyT9nMU4LfaA==", + "requires": { + "has-flag": "2.0.0" + } }, "symbol-observable": { "version": "1.0.4", @@ -3930,13 +5676,26 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-3.0.1.tgz", "integrity": "sha1-yqEjWq+Im6UBB2oYNMQ2gwqC+3M=", - "dev": true + "dev": true, + "requires": { + "concat-stream": "1.6.0", + "http-response-object": "1.1.0", + "then-request": "2.2.0" + } }, "table": { "version": "3.8.3", "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", "dev": true, + "requires": { + "ajv": "4.11.8", + "ajv-keywords": "1.5.1", + "chalk": "1.1.3", + "lodash": "4.17.4", + "slice-ansi": "0.0.4", + "string-width": "2.1.1" + }, "dependencies": { "ansi-regex": { "version": "3.0.0", @@ -3954,7 +5713,14 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -3967,12 +5733,19 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, "dependencies": { "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } } } }, @@ -3987,18 +5760,41 @@ "tabtab": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/tabtab/-/tabtab-2.2.2.tgz", - "integrity": "sha1-egR/FDsBC0y9MfhX6ClhUSy/ThQ=" + "integrity": "sha1-egR/FDsBC0y9MfhX6ClhUSy/ThQ=", + "requires": { + "debug": "2.6.8", + "inquirer": "1.2.3", + "lodash.difference": "4.5.0", + "lodash.uniq": "4.5.0", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "npmlog": "2.0.4", + "object-assign": "4.1.1" + } }, "tar-stream": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz", - "integrity": "sha1-NlSc8E7RrumyowwBQyUiONr5QBY=" + "integrity": "sha1-NlSc8E7RrumyowwBQyUiONr5QBY=", + "requires": { + "bl": "1.2.1", + "end-of-stream": "1.4.0", + "readable-stream": "2.3.3", + "xtend": "4.0.1" + } }, "test-exclude": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-3.3.0.tgz", "integrity": "sha1-ehfKEjmYjJg2ewYhRW27fUvDiXc=", - "dev": true + "dev": true, + "requires": { + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" + } }, "text-table": { "version": "0.2.0", @@ -4010,7 +5806,15 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/then-request/-/then-request-2.2.0.tgz", "integrity": "sha1-ZnizL6DKIY/laZgbvYhxtZQGDYE=", - "dev": true + "dev": true, + "requires": { + "caseless": "0.11.0", + "concat-stream": "1.6.0", + "http-basic": "2.5.1", + "http-response-object": "1.1.0", + "promise": "7.3.1", + "qs": "6.5.0" + } }, "throat": { "version": "3.2.0", @@ -4031,7 +5835,10 @@ "tmp": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", - "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=" + "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=", + "requires": { + "os-tmpdir": "1.0.2" + } }, "tmpl": { "version": "1.0.4", @@ -4049,12 +5856,15 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true + "dev": true, + "requires": { + "kind-of": "3.2.2" + } }, "toml": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.3.tgz", - "integrity": "sha512-O7L5hhSQHxuufWUdcTRPfuTh3phKfAZ/dqfxZFoxPCj2RYmpaSGLEIs016FCXItQwNr08yefUB5TSjzRYnajTA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.2.tgz", + "integrity": "sha1-Xt7VykKIeSSUn9BusOlVZWAB6DQ=", "dev": true }, "tough-cookie": { @@ -4062,6 +5872,9 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", "dev": true, + "requires": { + "punycode": "1.4.1" + }, "dependencies": { "punycode": { "version": "1.4.1", @@ -4080,7 +5893,10 @@ "trim-repeated": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=" + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "requires": { + "escape-string-regexp": "1.0.5" + } }, "trim-right": { "version": "1.0.1", @@ -4097,7 +5913,10 @@ "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "5.1.1" + } }, "tweetnacl": { "version": "0.14.5", @@ -4110,7 +5929,10 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true + "dev": true, + "requires": { + "prelude-ls": "1.1.2" + } }, "type-detect": { "version": "1.0.0", @@ -4129,11 +5951,16 @@ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "optional": true, + "requires": { + "source-map": "0.5.6", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, "dependencies": { "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", "dev": true, "optional": true } @@ -4150,6 +5977,10 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz", "integrity": "sha512-izD3jxT8xkzwtXRUZjtmRwKnZoeECrfZ8ra/ketwOcusbZEp4mjULMnJOCfTDZBgGQAAY1AJ/IgxcwkavcX9Og==", + "requires": { + "buffer": "3.6.0", + "through": "2.3.8" + }, "dependencies": { "base64-js": { "version": "0.0.8", @@ -4159,7 +5990,12 @@ "buffer": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", - "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=" + "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", + "requires": { + "base64-js": "0.0.8", + "ieee754": "1.1.8", + "isarray": "1.0.0" + } } } }, @@ -4184,6 +6020,9 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", + "requires": { + "punycode": "2.1.0" + }, "dependencies": { "punycode": { "version": "2.1.0", @@ -4192,20 +6031,22 @@ } } }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=" - }, "url-parse": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.9.tgz", - "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=" + "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=", + "requires": { + "querystringify": "1.0.0", + "requires-port": "1.0.0" + } }, "url-parse-lax": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=" + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "requires": { + "prepend-http": "1.0.4" + } }, "url-to-options": { "version": "1.0.1", @@ -4216,13 +6057,19 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", - "dev": true + "dev": true, + "requires": { + "os-homedir": "1.0.2" + } }, "util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, + "requires": { + "inherits": "2.0.1" + }, "dependencies": { "inherits": { "version": "2.0.1", @@ -4246,13 +6093,22 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "dev": true + "dev": true, + "requires": { + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" + } }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + }, "dependencies": { "assert-plus": { "version": "1.0.0", @@ -4271,7 +6127,10 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true + "dev": true, + "requires": { + "makeerror": "1.0.11" + } }, "watch": { "version": "0.10.0", @@ -4290,6 +6149,9 @@ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz", "integrity": "sha1-PGxFGhmO567FWx7GHQkgxngBpfQ=", "dev": true, + "requires": { + "iconv-lite": "0.4.13" + }, "dependencies": { "iconv-lite": { "version": "0.4.13", @@ -4309,6 +6171,10 @@ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", "dev": true, + "requires": { + "tr46": "0.0.3", + "webidl-conversions": "3.0.1" + }, "dependencies": { "webidl-conversions": { "version": "3.0.1", @@ -4322,7 +6188,10 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true + "dev": true, + "requires": { + "isexe": "2.0.0" + } }, "which-module": { "version": "1.0.0", @@ -4347,13 +6216,21 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.0.tgz", "integrity": "sha512-DHRiUggxtbruaTwnLDm2/BRDKZIoOYvrgYUj5Bam4fU6Gtvc0FaEyoswFPBjMXAweGW2H4BDNIpy//1yXXuaqQ==", - "dev": true + "dev": true, + "requires": { + "errno": "0.1.4", + "xtend": "4.0.1" + } }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + } }, "wrappy": { "version": "1.0.2", @@ -4364,12 +6241,20 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "dev": true + "dev": true, + "requires": { + "mkdirp": "0.5.1" + } }, "write-file-atomic": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", - "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.1.0.tgz", + "integrity": "sha1-F2n0tVHu3OQZ8FBd6uLiZ2NULTc=", + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" + } }, "xml-name-validator": { "version": "2.0.1", @@ -4380,12 +6265,19 @@ "xml2js": { "version": "0.4.17", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", - "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=" + "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=", + "requires": { + "sax": "1.2.1", + "xmlbuilder": "4.2.1" + } }, "xmlbuilder": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", - "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=" + "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=", + "requires": { + "lodash": "4.17.4" + } }, "xtend": { "version": "4.0.1", @@ -4408,13 +6300,22 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, - "optional": true + "optional": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } }, "yargs-parser": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", "dev": true, + "requires": { + "camelcase": "3.0.0" + }, "dependencies": { "camelcase": { "version": "3.0.0", @@ -4427,17 +6328,27 @@ "yauzl": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.8.0.tgz", - "integrity": "sha1-eUUK/yKyqcWkHvVOAtuQfM+/nuI=" + "integrity": "sha1-eUUK/yKyqcWkHvVOAtuQfM+/nuI=", + "requires": { + "buffer-crc32": "0.2.13", + "fd-slicer": "1.0.1" + } }, "zen-observable-ts": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.4.0.tgz", - "integrity": "sha1-p0vJ/ll0eUild71RPUOOcPz65+I=" + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.4.4.tgz", + "integrity": "sha512-SNVY1sWWhoe7FwFmHpD9ERi+7Mhhj3+JdS0BGy2UxLIg7cY+3zQbyZauQCI6DN6YK4uoKNaIm3S7Qkqi1Lr+Fw==" }, "zip-stream": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", - "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=" + "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", + "requires": { + "archiver-utils": "1.3.0", + "compress-commons": "1.2.0", + "lodash": "4.17.4", + "readable-stream": "2.3.3" + } } } } diff --git a/package.json b/package.json index a30f5dc7ca3..8c382e2b934 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "serverless", - "version": "1.21.0", + "version": "1.23.0", "engines": { "node": ">=4.0" }, @@ -51,14 +51,15 @@ "sls": "./bin/serverless" }, "scripts": { - "test-bare": "env FORCE_COLOR=0 node_modules/mocha/bin/_mocha \"!(node_modules)/**/*.test.js\" --require=sinon-bluebird -R spec --recursive --no-exit", - "test": "env FORCE_COLOR=0 istanbul cover -x \"**/*.test.js\" node_modules/mocha/bin/_mocha \"!(node_modules)/**/*.test.js\" -- --require=sinon-bluebird -R spec --recursive", + "test-bare": "node bin/test", + "test": "istanbul cover -x \"**/*.test.js\" bin/test", "lint": "eslint . --cache", "docs": "node scripts/generate-readme.js", + "integration-test-cleanup": "node scripts/integration-test-cleanup.js", "simple-integration-test": "jest --maxWorkers=5 simple-suite", "complex-integration-test": "jest --maxWorkers=5 integration", "postinstall": "node ./scripts/postinstall.js", - "prepublishOnly": "node ./scripts/pre-release.js" + "prepublishOnly": "./scripts/shrinkwrap && node ./scripts/pre-release.js" }, "jest": { "testRegex": "(\\.|/)(tests)\\.js$", @@ -88,13 +89,13 @@ }, "dependencies": { "@serverless/fdk": "^0.5.1", - "apollo-client": "^1.4.2", + "apollo-client": "^1.9.2", "archiver": "^1.1.0", "async": "^1.5.2", - "aws-sdk": "^2.7.13", - "bluebird": "^3.4.0", + "aws-sdk": "^2.75.0", + "bluebird": "^3.5.0", "chalk": "^2.0.0", - "ci-info": "^1.0.0", + "ci-info": "^1.1.1", "download": "^5.0.2", "filesize": "^3.3.0", "fs-extra": "^0.26.7", @@ -112,6 +113,7 @@ "minimist": "^1.2.0", "moment": "^2.13.0", "node-fetch": "^1.6.0", + "node-forge": "^0.7.1", "opn": "^5.0.0", "raven": "^1.2.1", "rc": "^1.1.6", @@ -121,6 +123,7 @@ "shelljs": "^0.6.0", "tabtab": "^2.2.2", "uuid": "^2.0.2", - "write-file-atomic": "^2.1.0" + "write-file-atomic": "^2.1.0", + "yaml-ast-parser": "0.0.34" } } From 76e4c7934e8c530779c2c9521b4c63ca42ea727a Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Wed, 11 Oct 2017 10:49:13 +0700 Subject: [PATCH 20/99] fixed eslint typo --- .../compile/events/apiGateway/lib/resources.test.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js index c02a26dfc87..60830fe729b 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js @@ -429,9 +429,8 @@ describe('#compileResources()', () => { }, }, ]; - - expect(() => { - return awsCompileApigEvents.compileResources(); - }).to.throw(Error, 'Resource ID for path users is required'); + + expect(() => awsCompileApigEvents.compileResources()) + .to.throw(Error, 'Resource ID for path users is required'); }); }); From 1d7bd3cd783211868f349a7471d4eba15ac48079 Mon Sep 17 00:00:00 2001 From: Alex DeBrie Date: Tue, 24 Oct 2017 13:56:42 +0000 Subject: [PATCH 21/99] Add validation to remove command --- lib/plugins/remove/remove.js | 7 +++++++ lib/plugins/remove/remove.test.js | 17 +++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/lib/plugins/remove/remove.js b/lib/plugins/remove/remove.js index 1f098b38ac2..eb330ddd061 100644 --- a/lib/plugins/remove/remove.js +++ b/lib/plugins/remove/remove.js @@ -2,11 +2,17 @@ const BbPromise = require('bluebird'); const userStats = require('../../utils/userStats'); +const validate = require('../lib/validate'); class Remove { constructor(serverless) { this.serverless = serverless; + Object.assign( + this, + validate + ); + this.commands = { remove: { usage: 'Remove Serverless service and all resources', @@ -31,6 +37,7 @@ class Remove { }; this.hooks = { + 'before:remove:remove': () => BbPromise.bind(this).then(this.validate), 'after:remove:remove': () => BbPromise.bind(this).then(this.track), }; } diff --git a/lib/plugins/remove/remove.test.js b/lib/plugins/remove/remove.test.js index 598ad30b363..08a9d05e938 100644 --- a/lib/plugins/remove/remove.test.js +++ b/lib/plugins/remove/remove.test.js @@ -3,6 +3,7 @@ const expect = require('chai').expect; const Remove = require('./remove'); const Serverless = require('../../Serverless'); +const sinon = require('sinon'); describe('Remove', () => { let remove; @@ -20,4 +21,20 @@ describe('Remove', () => { it('should have commands', () => expect(remove.commands).to.be.not.empty); }); + + describe('"before:remove:remove" hook', () => { + let validateStub; + + beforeEach(() => { + validateStub = sinon.stub(remove, 'validate').resolves(); + }); + + afterEach(() => { + remove.validate.restore(); + }); + + it('should run the validation', () => expect(remove.hooks['before:remove:remove']()) + .to.be.fulfilled.then(() => expect(validateStub).to.be.called) + ); + }); }); From 92f1ef9fd491818e456b66f16f63a523d0666473 Mon Sep 17 00:00:00 2001 From: Vlad Holubiev Date: Sat, 18 Nov 2017 23:31:46 +0200 Subject: [PATCH 22/99] feat: add node 8.9 to travis and appveyor --- .appveyor.yml | 1 + .travis.yml | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/.appveyor.yml b/.appveyor.yml index 1c45422e22d..7cd3b0bf202 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -4,6 +4,7 @@ environment: matrix: - NODEJS_VERSION: "4" - NODEJS_VERSION: "6" + - NODEJS_VERSION: "8" install: # Get the version of Node.js diff --git a/.travis.yml b/.travis.yml index abb99c87c2c..adc4fe52fc2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,6 +27,13 @@ matrix: env: - DISABLE_TESTS=true - LINTING=true + - node_js: '8.9' + env: + SLS_IGNORE_WARNING=* + - node_js: '8.9' + env: + - DISABLE_TESTS=true + - LINTING=true sudo: false From 959c2fb4dd7644582c0dd3a3caff66b227bbddd0 Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Sat, 9 Dec 2017 17:21:48 +0700 Subject: [PATCH 23/99] fixed undefined resource name if all resources are predefined --- .../events/apiGateway/lib/resources.js | 6 +-- .../events/apiGateway/lib/resources.test.js | 52 +++++++++++++++++++ 2 files changed, 53 insertions(+), 5 deletions(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js index bfdbc32df53..1806a37b029 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js @@ -163,11 +163,7 @@ module.exports = { if (_.every(this.validated.events, (event) => _.some(predefinedResourceNodes, (node) => node.path === event.http.path))) { - return _.reduce(predefinedResources, (resourceMap, resource) => { - const r = resourceMap; - r[resource.path] = resource; - return r; - }, {}); + return this.combineResourceTrees(predefinedResourceNodes); } // cut resource branches from trees diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js index 60830fe729b..9a673595c89 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js @@ -433,4 +433,56 @@ describe('#compileResources()', () => { expect(() => awsCompileApigEvents.compileResources()) .to.throw(Error, 'Resource ID for path users is required'); }); + + it('should named all method paths if all resources are predefined', () => { + awsCompileApigEvents.serverless.service.provider.apiGateway = { + restApiId: '6fyzt1pfpk', + restApiRootResourceId: 'z5d4qh4oqi', + restApiResources: { + 'users/friends': 'fcasdoojp1', + 'users/friends/{id}': 'fcasdoojp1', + }, + }; + + awsCompileApigEvents.validated.events = [ + { + http: { + path: 'users/friends', + method: 'GET', + }, + }, + { + http: { + path: 'users/friends', + method: 'POST', + }, + }, + { + http: { + path: 'users/friends', + method: 'DELETE', + }, + }, + { + http: { + path: 'users/friends/{id}', + method: 'GET', + }, + }, + { + http: { + path: 'users/friends/{id}', + method: 'POST', + }, + }, + ]; + + return awsCompileApigEvents.compileResources().then(() => { + expect(() => Object.keys(awsCompileApigEvents.serverless + .service.provider.compiledCloudFormationTemplate + .Resources).map((k) => ['ApiGatewayMethodundefinedGet', + 'ApiGatewayMethodundefinedPost'].indexOf(k) === -1)) + .to.throw(Error, 'Resource Name must not be undefined'); + }); + }); }); From 11e2455c70e00dd8b2abbf4d5bdb08484d4b2bb1 Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Sat, 9 Dec 2017 17:35:49 +0700 Subject: [PATCH 24/99] solve package.json conflicted --- package-lock.json | 1213 +++++++++++++++++++++++++++++---------------- package.json | 9 +- 2 files changed, 799 insertions(+), 423 deletions(-) diff --git a/package-lock.json b/package-lock.json index 046f0eebd1e..de2b9c85aee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "serverless", - "version": "1.23.0", + "version": "1.24.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -11,7 +11,7 @@ "requires": { "isomorphic-fetch": "2.2.1", "ramda": "0.24.1", - "url-parse": "1.1.9" + "url-parse": "1.2.0" } }, "@types/graphql": { @@ -21,9 +21,9 @@ "optional": true }, "abab": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.3.tgz", - "integrity": "sha1-uB3l9ydOxOdW15fNg08wNkJyTl0=", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", "dev": true }, "abbrev": { @@ -33,9 +33,9 @@ "dev": true }, "acorn": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", - "integrity": "sha512-vOk6uEMctu0vQrvuSqFdJyqj1Q0S5VTDL79qtjo+DhRr+1mmaD+tluFSCZqhvi/JUhXSzoZN2BhtstaPEeE8cw==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", + "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", "dev": true }, "acorn-globals": { @@ -126,6 +126,43 @@ "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=" }, + "ansi-align": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", + "requires": { + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, "ansi-escapes": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", @@ -174,7 +211,7 @@ "apollo-link-core": "0.5.4", "graphql": "0.10.5", "graphql-anywhere": "3.1.0", - "graphql-tag": "2.4.2", + "graphql-tag": "2.5.0", "redux": "3.7.2", "symbol-observable": "1.0.4", "whatwg-fetch": "2.0.3" @@ -186,7 +223,7 @@ "integrity": "sha512-OxL0Kjizb0eS2ObldDqJEs/tFN9xI9RZuTJcaszgGy+xudoPXhIMCHMr7hGZhy0mK+U+BbBULZJw4YQU4J0ODQ==", "requires": { "graphql": "0.10.5", - "graphql-tag": "2.4.2", + "graphql-tag": "2.5.0", "zen-observable-ts": "0.4.4" } }, @@ -205,7 +242,7 @@ "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=", "requires": { "archiver-utils": "1.3.0", - "async": "2.5.0", + "async": "2.6.0", "buffer-crc32": "0.2.13", "glob": "7.1.2", "lodash": "4.17.4", @@ -216,9 +253,9 @@ }, "dependencies": { "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "requires": { "lodash": "4.17.4" } @@ -302,7 +339,7 @@ "dev": true, "requires": { "define-properties": "1.1.2", - "es-abstract": "1.8.0" + "es-abstract": "1.9.0" } }, "arrify": { @@ -352,9 +389,9 @@ "dev": true }, "aws-sdk": { - "version": "2.100.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.100.0.tgz", - "integrity": "sha1-/A+8p2kNbCjv/Si9Uf6F99ukK/8=", + "version": "2.146.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.146.0.tgz", + "integrity": "sha1-4tdVhaAw2uEWrjLL9CxJZojQTvs=", "requires": { "buffer": "4.9.1", "crypto-browserify": "1.0.9", @@ -363,24 +400,15 @@ "querystring": "0.2.0", "sax": "1.2.1", "url": "0.10.3", - "uuid": "3.0.1", + "uuid": "3.1.0", "xml2js": "0.4.17", "xmlbuilder": "4.2.1" }, "dependencies": { - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, "uuid": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", - "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" } } }, @@ -451,20 +479,20 @@ "babel-types": "6.26.0", "babylon": "6.18.0", "convert-source-map": "1.5.0", - "debug": "2.6.8", + "debug": "2.6.9", "json5": "0.5.1", "lodash": "4.17.4", "minimatch": "3.0.4", "path-is-absolute": "1.0.1", - "private": "0.1.7", + "private": "0.1.8", "slash": "1.0.0", - "source-map": "0.5.6" + "source-map": "0.5.7" }, "dependencies": { "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } @@ -481,14 +509,14 @@ "detect-indent": "4.0.0", "jsesc": "1.3.0", "lodash": "4.17.4", - "source-map": "0.5.6", + "source-map": "0.5.7", "trim-right": "1.0.1" }, "dependencies": { "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } @@ -530,7 +558,7 @@ "dev": true, "requires": { "find-up": "1.1.2", - "istanbul-lib-instrument": "1.7.4", + "istanbul-lib-instrument": "1.9.1", "object-assign": "4.1.1", "test-exclude": "3.3.0" } @@ -558,11 +586,11 @@ "requires": { "babel-core": "6.26.0", "babel-runtime": "6.26.0", - "core-js": "2.5.0", + "core-js": "2.5.1", "home-or-tmp": "2.0.0", "lodash": "4.17.4", "mkdirp": "0.5.1", - "source-map-support": "0.4.16" + "source-map-support": "0.4.18" } }, "babel-runtime": { @@ -571,7 +599,7 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.0", + "core-js": "2.5.1", "regenerator-runtime": "0.11.0" } }, @@ -599,7 +627,7 @@ "babel-runtime": "6.26.0", "babel-types": "6.26.0", "babylon": "6.18.0", - "debug": "2.6.8", + "debug": "2.6.9", "globals": "9.18.0", "invariant": "2.2.2", "lodash": "4.17.4" @@ -652,9 +680,9 @@ } }, "bluebird": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", - "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=" + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" }, "boom": { "version": "2.10.1", @@ -665,6 +693,49 @@ "hoek": "2.16.3" } }, + "boxen": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.2.2.tgz", + "integrity": "sha1-Px1AMsMP/qnUsCwyLq8up0HcvOU=", + "requires": { + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.3.0", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "1.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", @@ -763,11 +834,9 @@ "dev": true }, "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true, - "optional": true + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" }, "capture-stack-trace": { "version": "1.0.0", @@ -833,13 +902,13 @@ } }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.2.1" + "supports-color": "4.5.0" } }, "check-error": { @@ -851,7 +920,7 @@ "ci-info": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.1.tgz", - "integrity": "sha512-vHDDF/bP9RYpTWtUhpJRhCFdvvp3iDWvEbuDbWgvjUrNGV1MXJrE0MPcwGtEled04m61iwdBLUIHZtDgzWS4ZQ==" + "integrity": "sha1-R7RN8RjEjSWXtW00Ln4leRBgFxo=" }, "circular-json": { "version": "0.3.3", @@ -859,6 +928,11 @@ "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "dev": true }, + "cli-boxes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=" + }, "cli-cursor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", @@ -887,9 +961,9 @@ } }, "cli-width": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz", - "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" }, "cliui": { "version": "2.1.0", @@ -970,9 +1044,9 @@ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "compress-commons": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.0.tgz", - "integrity": "sha1-WFhwku8g03y1i68AARLJJ4/3O58=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", + "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", "requires": { "buffer-crc32": "0.2.13", "crc32-stream": "2.0.0", @@ -1004,6 +1078,19 @@ "proto-list": "1.2.4" } }, + "configstore": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz", + "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==", + "requires": { + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.1.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" + } + }, "contains-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", @@ -1011,9 +1098,9 @@ "dev": true }, "content-type-parser": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.1.tgz", - "integrity": "sha1-w+VpiMU8ZRJ/tG1AMqOpACRv3JQ=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz", + "integrity": "sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==", "dev": true }, "convert-source-map": { @@ -1033,9 +1120,9 @@ "integrity": "sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o=" }, "core-js": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.0.tgz", - "integrity": "sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY=", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", "dev": true }, "core-util-is": { @@ -1044,9 +1131,9 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "coveralls": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.1.tgz", - "integrity": "sha1-1wu5rMGDXsTwY/+drFQjwXsR8Xg=", + "version": "2.13.3", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.3.tgz", + "integrity": "sha512-iiAmn+l1XqRwNLXhW8Rs5qHZRFMYp9ZIPjEOVRpC/c4so6Y/f4/lFi0FfR5B9cCqgyhkJ5cZmbvcVRfP8MHchw==", "dev": true, "requires": { "js-yaml": "3.6.1", @@ -1075,16 +1162,16 @@ } }, "crc": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz", - "integrity": "sha1-naHpgOO9RPxck79as9ozeNheRms=" + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.5.0.tgz", + "integrity": "sha1-mLi6fUiWZbo5efWbITgTdBAaGWQ=" }, "crc32-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", "requires": { - "crc": "3.4.4", + "crc": "3.5.0", "readable-stream": "2.3.3" } }, @@ -1096,6 +1183,16 @@ "capture-stack-trace": "1.0.0" } }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + }, "cryptiles": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", @@ -1110,6 +1207,11 @@ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-1.0.9.tgz", "integrity": "sha1-zFRJaF37hesRyYKKzHy4erW7/MA=" }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" + }, "cssom": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", @@ -1131,7 +1233,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.27" + "es5-ext": "0.10.35" } }, "damerau-levenshtein": { @@ -1158,9 +1260,9 @@ } }, "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } @@ -1177,13 +1279,13 @@ "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", "requires": { "decompress-tar": "4.1.1", - "decompress-tarbz2": "4.1.0", + "decompress-tarbz2": "4.1.1", "decompress-targz": "4.1.1", "decompress-unzip": "4.0.1", "graceful-fs": "4.1.11", - "make-dir": "1.0.0", + "make-dir": "1.1.0", "pify": "2.3.0", - "strip-dirs": "2.0.0" + "strip-dirs": "2.1.0" } }, "decompress-tar": { @@ -1197,22 +1299,21 @@ } }, "decompress-tarbz2": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.0.tgz", - "integrity": "sha1-+6tY1d5z8/0hPKw68cGDNPUcuJE=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", "requires": { "decompress-tar": "4.1.1", - "file-type": "3.9.0", + "file-type": "6.2.0", "is-stream": "1.1.0", - "pify": "2.3.0", "seek-bzip": "1.0.5", "unbzip2-stream": "1.2.5" }, "dependencies": { "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" } } }, @@ -1234,7 +1335,7 @@ "file-type": "3.9.0", "get-stream": "2.3.1", "pify": "2.3.0", - "yauzl": "2.8.0" + "yauzl": "2.9.1" }, "dependencies": { "file-type": { @@ -1282,9 +1383,9 @@ "dev": true }, "deepmerge": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.1.tgz", - "integrity": "sha512-Ndl8eeOHB9dQkmT1HWCgY3t0odl4bmWKFzjQZBYAxVTNs2B3nn5b6orimRYHKZ4FI8psvZkA1INRCW6l7vc9lQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", "dev": true }, "default-require-extensions": { @@ -1329,7 +1430,7 @@ "object-assign": "4.1.1", "pify": "2.3.0", "pinkie-promise": "2.0.1", - "rimraf": "2.6.1" + "rimraf": "2.6.2" }, "dependencies": { "globby": { @@ -1374,9 +1475,9 @@ "dev": true }, "diff": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.0.tgz", - "integrity": "sha512-w0XZubFWn0Adlsapj9EAWX0FqWdO4tz8kc3RiYdWLh4k/V8PTb6i0SMgXt0vRM3zyKnT8tKO7mUlieRQHIjMNg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz", + "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==", "dev": true }, "doctrine": { @@ -1389,6 +1490,14 @@ "isarray": "1.0.0" } }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "requires": { + "is-obj": "1.0.1" + } + }, "download": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/download/-/download-5.0.3.tgz", @@ -1423,7 +1532,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "0.4.18" + "iconv-lite": "0.4.19" } }, "end-of-stream": { @@ -1453,13 +1562,13 @@ } }, "es-abstract": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.8.0.tgz", - "integrity": "sha512-Cf9/h5MrXtExM20gSS55YFrGKCyPrRBjIVBtVyy8vmlsDfe0NPKMWj65tPLgzyfPuapWxh5whpXCtW4+AW5mRg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz", + "integrity": "sha512-kk3IJoKo7A3pWJc0OV8yZ/VEX2oSUytfekrJiqoxBlKJMFAJVJVpGdHClCCTdv+Fn2zHfpDHHIelMFhZVfef3Q==", "dev": true, "requires": { "es-to-primitive": "1.1.1", - "function-bind": "1.1.0", + "function-bind": "1.1.1", "has": "1.0.1", "is-callable": "1.1.3", "is-regex": "1.0.4" @@ -1477,23 +1586,23 @@ } }, "es5-ext": { - "version": "0.10.27", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.27.tgz", - "integrity": "sha512-3KXJRYzKXTd7xfFy5uZsJCXue55fAYQ035PRjyYk2PicllxIwcW9l3AbM/eGaw3vgVAUW4tl4xg9AXDEI6yw0w==", + "version": "0.10.35", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz", + "integrity": "sha1-GO6FjOajxFx9eekcFfzKnsVoSU8=", "dev": true, "requires": { - "es6-iterator": "2.0.1", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" } }, "es6-iterator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", - "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.27", + "es5-ext": "0.10.35", "es6-symbol": "3.1.1" } }, @@ -1504,8 +1613,8 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.27", - "es6-iterator": "2.0.1", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.3", "es6-set": "0.1.5", "es6-symbol": "3.1.1", "event-emitter": "0.3.5" @@ -1524,8 +1633,8 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.27", - "es6-iterator": "2.0.1", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", "event-emitter": "0.3.5" } @@ -1537,7 +1646,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.27" + "es5-ext": "0.10.35" } }, "es6-weak-map": { @@ -1547,8 +1656,8 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.27", - "es6-iterator": "2.0.1", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" } }, @@ -1605,22 +1714,22 @@ "babel-code-frame": "6.26.0", "chalk": "1.1.3", "concat-stream": "1.6.0", - "debug": "2.6.8", + "debug": "2.6.9", "doctrine": "2.0.0", "escope": "3.6.0", - "espree": "3.5.0", + "espree": "3.5.1", "esquery": "1.0.0", "estraverse": "4.2.0", "esutils": "2.0.2", "file-entry-cache": "2.0.0", "glob": "7.1.2", "globals": "9.18.0", - "ignore": "3.3.3", + "ignore": "3.3.7", "imurmurhash": "0.1.4", "inquirer": "0.12.0", - "is-my-json-valid": "2.16.0", + "is-my-json-valid": "2.16.1", "is-resolvable": "1.0.0", - "js-yaml": "3.9.1", + "js-yaml": "3.10.0", "json-stable-stringify": "1.0.1", "levn": "0.3.0", "lodash": "4.17.4", @@ -1668,7 +1777,7 @@ "ansi-regex": "2.1.1", "chalk": "1.1.3", "cli-cursor": "1.0.2", - "cli-width": "2.1.0", + "cli-width": "2.2.0", "figures": "1.7.0", "lodash": "4.17.4", "readline2": "1.0.1", @@ -1695,7 +1804,7 @@ "dev": true, "requires": { "glob": "7.1.2", - "interpret": "1.0.3", + "interpret": "1.0.4", "rechoir": "0.6.2" } }, @@ -1728,9 +1837,9 @@ "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", "dev": true, "requires": { - "debug": "2.6.8", + "debug": "2.6.9", "object-assign": "4.1.1", - "resolve": "1.4.0" + "resolve": "1.5.0" } }, "eslint-plugin-import": { @@ -1741,7 +1850,7 @@ "requires": { "builtin-modules": "1.1.1", "contains-path": "0.1.0", - "debug": "2.6.8", + "debug": "2.6.9", "doctrine": "1.3.0", "es6-map": "0.1.5", "es6-set": "0.1.5", @@ -1806,12 +1915,12 @@ } }, "espree": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.0.tgz", - "integrity": "sha1-mDWGJb3QVYYeon4oZ+pyn69GPY0=", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz", + "integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=", "dev": true, "requires": { - "acorn": "5.1.1", + "acorn": "5.2.1", "acorn-jsx": "3.0.1" } }, @@ -1858,7 +1967,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.27" + "es5-ext": "0.10.35" } }, "events": { @@ -1867,14 +1976,28 @@ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" }, "exec-sh": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.0.tgz", - "integrity": "sha1-FPdd4/INKG75MwmbLOUKkDWc7xA=", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz", + "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==", "dev": true, "requires": { "merge": "1.2.0" } }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, "exit-hook": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", @@ -1975,7 +2098,7 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.2.2", + "flat-cache": "1.3.0", "object-assign": "4.1.1" } }, @@ -2016,9 +2139,9 @@ } }, "filesize": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.5.10.tgz", - "integrity": "sha1-/I+iPdtO+eXgq24eZPZ5okpWdh8=" + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.5.11.tgz", + "integrity": "sha512-ZH7loueKBoDb7yG9esn1U+fgq7BzlzW6NRi5/rMdxIZ05dj7GFD/Xc5rq2CDt5Yq86CyfSYVyx4242QQNZbx1g==" }, "fill-keys": { "version": "1.0.2", @@ -2054,9 +2177,9 @@ } }, "flat-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", - "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", + "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { "circular-json": "0.3.3", @@ -2093,13 +2216,13 @@ "dev": true }, "form-data": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.2.0.tgz", - "integrity": "sha1-ml47kpX5gLJiPPZPojixTOvKcHs=", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", + "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", "requires": { "asynckit": "0.4.0", "combined-stream": "1.0.5", - "mime-types": "2.1.16" + "mime-types": "2.1.17" } }, "formatio": { @@ -2125,7 +2248,7 @@ "jsonfile": "2.4.0", "klaw": "1.3.1", "path-is-absolute": "1.0.1", - "rimraf": "2.6.1" + "rimraf": "2.6.2" } }, "fs.realpath": { @@ -2134,9 +2257,9 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "function-bind": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz", - "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "gauge": { @@ -2177,7 +2300,7 @@ "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", "requires": { - "npm-conf": "1.1.2" + "npm-conf": "1.1.3" } }, "get-stdin": { @@ -2239,6 +2362,14 @@ "is-glob": "2.0.1" } }, + "global-dirs": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.0.tgz", + "integrity": "sha1-ENNAOeDfBCcuJizyQiT3IJQ0308=", + "requires": { + "ini": "1.3.4" + } + }, "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", @@ -2298,7 +2429,7 @@ "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.10.5.tgz", "integrity": "sha512-Q7cx22DiLhwHsEfUnUip1Ww/Vfx7FS0w6+iHItNuN61+XpegHSa3k5U0+6M5BcpavQImBwFiy0z3uYwY7cXMLQ==", "requires": { - "iterall": "1.1.1" + "iterall": "1.1.3" } }, "graphql-anywhere": { @@ -2307,9 +2438,9 @@ "integrity": "sha1-PqDY6GRrXO5oA1AWqadVfBXCHpY=" }, "graphql-tag": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.4.2.tgz", - "integrity": "sha1-amMpfYUi0DorctJvGyOaqzQ4QM0=" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.5.0.tgz", + "integrity": "sha1-tDv9i1urzSwgWtaAwD6YsjiTTg8=" }, "gray-matter": { "version": "2.1.1", @@ -2320,8 +2451,8 @@ "ansi-red": "0.1.1", "coffee-script": "1.12.7", "extend-shallow": "2.0.1", - "js-yaml": "3.9.1", - "toml": "2.3.2" + "js-yaml": "3.10.0", + "toml": "2.3.3" } }, "growl": { @@ -2337,9 +2468,9 @@ "dev": true }, "handlebars": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz", - "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { "async": "1.5.2", @@ -2367,7 +2498,7 @@ "requires": { "chalk": "1.1.3", "commander": "2.11.0", - "is-my-json-valid": "2.16.0", + "is-my-json-valid": "2.16.1", "pinkie-promise": "2.0.1" }, "dependencies": { @@ -2410,7 +2541,7 @@ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "dev": true, "requires": { - "function-bind": "1.1.0" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -2427,16 +2558,16 @@ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" }, "has-symbol-support-x": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.0.tgz", - "integrity": "sha512-F1NtLDtW9NyUrS3faUcI1yVFHCTXyzPb1jfrZBQi5NHxFPlXxZnFLFGzfA2DsdmgCxv2MZ0+bfcgC4EZTmk4SQ==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz", + "integrity": "sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA==" }, "has-to-string-tag-x": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.0.tgz", - "integrity": "sha512-R3OdOP9j6AH5hS1yXeu9wAS+iKSZQx/CC6aMdN6WiaqPlBoA2S+47MtoMsZgKr2m0eAJ+73WWGX0RaFFE5XWKA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", "requires": { - "has-symbol-support-x": "1.4.0" + "has-symbol-support-x": "1.4.1" } }, "has-unicode": { @@ -2456,6 +2587,12 @@ "sntp": "1.0.9" } }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, "hoek": { "version": "2.16.3", "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", @@ -2479,12 +2616,12 @@ "dev": true }, "html-encoding-sniffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz", - "integrity": "sha1-eb96eF6klf5mFl5zQVPzY/9UN9o=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "requires": { - "whatwg-encoding": "1.0.1" + "whatwg-encoding": "1.0.3" } }, "http-basic": { @@ -2521,14 +2658,14 @@ "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=", "requires": { "agent-base": "2.1.1", - "debug": "2.6.8", + "debug": "2.6.9", "extend": "3.0.1" } }, "iconv-lite": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz", - "integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA==" + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" }, "ieee754": { "version": "1.1.8", @@ -2536,9 +2673,9 @@ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" }, "ignore": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.3.tgz", - "integrity": "sha1-QyNS5XrM2HqzEQ6C0/6g5HgSFW0=", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", "dev": true }, "immediate": { @@ -2547,6 +2684,11 @@ "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", "dev": true }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -2579,7 +2721,7 @@ "ansi-escapes": "1.4.0", "chalk": "1.1.3", "cli-cursor": "1.0.2", - "cli-width": "2.1.0", + "cli-width": "2.2.0", "external-editor": "1.1.1", "figures": "1.7.0", "lodash": "4.17.4", @@ -2617,9 +2759,9 @@ } }, "interpret": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz", - "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz", + "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=", "dev": true }, "invariant": { @@ -2644,9 +2786,9 @@ "dev": true }, "is-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, "is-builtin-module": { @@ -2737,6 +2879,15 @@ "is-extglob": "1.0.0" } }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "requires": { + "global-dirs": "0.1.0", + "is-path-inside": "1.0.0" + } + }, "is-local-path": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-local-path/-/is-local-path-0.1.6.tgz", @@ -2744,9 +2895,9 @@ "dev": true }, "is-my-json-valid": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", - "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", + "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==", "dev": true, "requires": { "generate-function": "2.0.0", @@ -2760,6 +2911,11 @@ "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" }, + "is-npm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=" + }, "is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", @@ -2769,6 +2925,11 @@ "kind-of": "3.2.2" } }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + }, "is-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", @@ -2793,7 +2954,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", - "dev": true, "requires": { "path-is-inside": "1.0.2" } @@ -2885,8 +3045,7 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isobject": { "version": "2.1.0", @@ -2902,7 +3061,7 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "1.7.2", + "node-fetch": "1.7.3", "whatwg-fetch": "2.0.3" } }, @@ -2923,8 +3082,8 @@ "escodegen": "1.8.1", "esprima": "2.7.3", "glob": "5.0.15", - "handlebars": "4.0.10", - "js-yaml": "3.9.1", + "handlebars": "4.0.11", + "js-yaml": "3.10.0", "mkdirp": "0.5.1", "nopt": "3.0.6", "once": "1.4.0", @@ -2977,28 +3136,28 @@ } }, "istanbul-api": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.11.tgz", - "integrity": "sha1-/MC0YeKzvaceMFFVE4I4doJX2d4=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.1.tgz", + "integrity": "sha512-oFCwXvd65amgaPCzqrR+a2XjanS1MvpXN6l/MlMUTv6uiA1NOgGX+I0uyq8Lg3GDxsxPsaP1049krz3hIJ5+KA==", "dev": true, "requires": { - "async": "2.5.0", + "async": "2.6.0", "fileset": "2.0.3", "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.0.7", - "istanbul-lib-instrument": "1.7.4", - "istanbul-lib-report": "1.1.1", - "istanbul-lib-source-maps": "1.2.1", - "istanbul-reports": "1.1.1", - "js-yaml": "3.9.1", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", + "js-yaml": "3.10.0", "mkdirp": "0.5.1", "once": "1.4.0" }, "dependencies": { "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "dev": true, "requires": { "lodash": "4.17.4" @@ -3013,18 +3172,18 @@ "dev": true }, "istanbul-lib-hook": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz", - "integrity": "sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", + "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.4.tgz", - "integrity": "sha1-6f2SDkdn89Ge3HZeLWs/XMvQ7qg=", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", + "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", "dev": true, "requires": { "babel-generator": "6.26.0", @@ -3037,9 +3196,9 @@ } }, "istanbul-lib-report": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", - "integrity": "sha512-tvF+YmCmH4thnez6JFX06ujIA19WPa9YUiwjc1uALF2cv5dmE3It8b5I8Ob7FHJ70H9Y5yF+TDkVa/mcADuw1Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", + "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", "dev": true, "requires": { "istanbul-lib-coverage": "1.1.1", @@ -3066,33 +3225,42 @@ } }, "istanbul-lib-source-maps": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", - "integrity": "sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", + "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", "dev": true, "requires": { - "debug": "2.6.8", + "debug": "3.1.0", "istanbul-lib-coverage": "1.1.1", "mkdirp": "0.5.1", - "rimraf": "2.6.1", - "source-map": "0.5.6" + "rimraf": "2.6.2", + "source-map": "0.5.7" }, "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } }, "istanbul-reports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.1.tgz", - "integrity": "sha512-P8G873A0kW24XRlxHVGhMJBhQ8gWAec+dae7ZxOBzxT4w+a9ATSPvRVK3LB1RAJ9S8bg2tOyWHAGW40Zd2dKfw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", + "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", "dev": true, "requires": { - "handlebars": "4.0.10" + "handlebars": "4.0.11" } }, "isurl": { @@ -3100,14 +3268,14 @@ "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", "requires": { - "has-to-string-tag-x": "1.4.0", + "has-to-string-tag-x": "1.4.1", "is-object": "1.0.1" } }, "iterall": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.1.1.tgz", - "integrity": "sha1-9/CvEemgTsZCYmD1AZ2fzKTVAhQ=" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.1.3.tgz", + "integrity": "sha512-Cu/kb+4HiNSejAPhSaN1VukdNTTi/r4/e+yykqjlG/IW+1gZH5b4+Bq3whDX4tvbYugta3r8KTMUiqT3fIGxuQ==" }, "jest-changed-files": { "version": "17.0.2", @@ -3126,9 +3294,9 @@ "chalk": "1.1.3", "graceful-fs": "4.1.11", "is-ci": "1.0.10", - "istanbul-api": "1.1.11", + "istanbul-api": "1.2.1", "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-instrument": "1.7.4", + "istanbul-lib-instrument": "1.9.1", "jest-changed-files": "17.0.2", "jest-config": "18.1.0", "jest-environment-jsdom": "18.1.0", @@ -3147,7 +3315,7 @@ "strip-ansi": "3.0.1", "throat": "3.2.0", "which": "1.3.0", - "worker-farm": "1.5.0", + "worker-farm": "1.5.1", "yargs": "6.6.0" }, "dependencies": { @@ -3272,7 +3440,7 @@ "dev": true, "requires": { "chalk": "1.1.3", - "diff": "3.3.0", + "diff": "3.4.0", "jest-matcher-utils": "18.1.0", "pretty-format": "18.1.0" }, @@ -3341,7 +3509,7 @@ "graceful-fs": "4.1.11", "micromatch": "2.3.11", "sane": "1.4.1", - "worker-farm": "1.5.0" + "worker-farm": "1.5.1" } }, "jest-jasmine2": { @@ -3421,7 +3589,7 @@ "browser-resolve": "1.11.2", "jest-file-exists": "17.0.0", "jest-haste-map": "18.1.0", - "resolve": "1.4.0" + "resolve": "1.5.0" } }, "jest-resolve-dependencies": { @@ -3543,7 +3711,7 @@ "dev": true, "requires": { "chalk": "1.1.3", - "diff": "3.3.0", + "diff": "3.4.0", "graceful-fs": "4.1.11", "jest-file-exists": "17.0.0", "jest-mock": "18.0.0", @@ -3588,9 +3756,9 @@ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.9.1.tgz", - "integrity": "sha512-CbcG379L1e+mWBnLvHWWeLs8GyV/EMw862uLI3c+GxVyDHWZcjZinwuBd3iW2pgxgIlksW/1vNJa4to+RvDOww==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", "requires": { "argparse": "1.0.9", "esprima": "4.0.0" @@ -3609,23 +3777,23 @@ "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", "dev": true, "requires": { - "abab": "1.0.3", + "abab": "1.0.4", "acorn": "4.0.13", "acorn-globals": "3.1.0", "array-equal": "1.0.0", - "content-type-parser": "1.0.1", + "content-type-parser": "1.0.2", "cssom": "0.3.2", "cssstyle": "0.2.37", "escodegen": "1.8.1", - "html-encoding-sniffer": "1.0.1", - "nwmatcher": "1.4.1", + "html-encoding-sniffer": "1.0.2", + "nwmatcher": "1.4.3", "parse5": "1.5.1", "request": "2.79.0", "sax": "1.2.1", "symbol-tree": "3.2.2", - "tough-cookie": "2.3.2", + "tough-cookie": "2.3.3", "webidl-conversions": "4.0.2", - "whatwg-encoding": "1.0.1", + "whatwg-encoding": "1.0.3", "whatwg-url": "4.8.0", "xml-name-validator": "2.0.1" }, @@ -3651,9 +3819,9 @@ "requires": { "commander": "2.11.0", "graphlib": "2.1.1", - "js-yaml": "3.9.1", + "js-yaml": "3.10.0", "native-promise-only": "0.8.1", - "path-loader": "1.0.2", + "path-loader": "1.0.4", "slash": "1.0.0", "uri-js": "3.0.2" }, @@ -3744,15 +3912,15 @@ "dev": true }, "jszip": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.3.tgz", - "integrity": "sha1-ipIEA7KxZRwPwSa+kBktkICVfDc=", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.4.tgz", + "integrity": "sha512-z6w8iYIxZ/fcgul0j/OerkYnkomH8BZigvzbxVmr2h5HkZUrPtk2kjYtLkqR9wwQxEP6ecKNoKLsbhd18jfnGA==", "dev": true, "requires": { "core-js": "2.3.0", "es6-promise": "3.0.2", "lie": "3.1.1", - "pako": "1.0.5", + "pako": "1.0.6", "readable-stream": "2.0.6" }, "dependencies": { @@ -3795,7 +3963,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.5" + "is-buffer": "1.1.6" } }, "klaw": { @@ -3806,6 +3974,14 @@ "graceful-fs": "4.1.11" } }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "requires": { + "package-json": "4.0.1" + } + }, "lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", @@ -4127,17 +4303,33 @@ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" }, + "lru-cache": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, "lsmod": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lsmod/-/lsmod-1.0.0.tgz", "integrity": "sha1-mgD3bco26yP6BTUK/htYXUKZ5ks=" }, "make-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz", - "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", + "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", "requires": { - "pify": "2.3.0" + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } } }, "makeerror": { @@ -4156,18 +4348,18 @@ "dev": true }, "markdown-magic": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/markdown-magic/-/markdown-magic-0.1.17.tgz", - "integrity": "sha1-lj/jsNvoIF5ycJRJpErS9NsR/24=", + "version": "0.1.19", + "resolved": "https://registry.npmjs.org/markdown-magic/-/markdown-magic-0.1.19.tgz", + "integrity": "sha1-IKnWWdqgx7DOt64DCVxuLK41KgM=", "dev": true, "requires": { "commander": "2.11.0", - "deepmerge": "1.5.1", + "deepmerge": "1.5.2", "find-up": "2.1.0", "fs-extra": "1.0.0", "globby": "6.1.0", "is-local-path": "0.1.6", - "markdown-toc": "1.1.0", + "markdown-toc": "1.2.0", "sync-request": "3.0.1" }, "dependencies": { @@ -4199,10 +4391,16 @@ } } }, + "markdown-table": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.1.tgz", + "integrity": "sha1-Sz3ToTPRUYuO8NvHCb8qG0gkvIw=", + "dev": true + }, "markdown-toc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.1.0.tgz", - "integrity": "sha1-GORyN9iVSelEcSHmniyoU8otdSo=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz", + "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==", "dev": true, "requires": { "concat-stream": "1.6.0", @@ -4213,7 +4411,7 @@ "markdown-link": "0.1.1", "minimist": "1.2.0", "mixin-deep": "1.2.0", - "object.pick": "1.2.0", + "object.pick": "1.3.0", "remarkable": "1.7.1", "repeat-string": "1.6.1", "strip-color": "0.1.0" @@ -4311,25 +4509,25 @@ "normalize-path": "2.1.1", "object.omit": "2.0.1", "parse-glob": "3.0.4", - "regex-cache": "0.4.3" + "regex-cache": "0.4.4" } }, "mime": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz", - "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" }, "mime-db": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz", - "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=" + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" }, "mime-types": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", - "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", "requires": { - "mime-db": "1.29.0" + "mime-db": "1.30.0" } }, "minimatch": { @@ -4371,9 +4569,9 @@ } }, "mocha": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.0.tgz", - "integrity": "sha512-pIU2PJjrPYvYRqVpjXzj76qltO9uBYI7woYAMoxbSefsa+vqAfptjoeevd6bUgwD0mPIO+hv9f7ltvsNreL2PA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz", + "integrity": "sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==", "dev": true, "requires": { "browser-stdout": "1.3.0", @@ -4383,6 +4581,7 @@ "escape-string-regexp": "1.0.5", "glob": "7.1.1", "growl": "1.9.2", + "he": "1.1.1", "json3": "3.3.2", "lodash.create": "3.1.1", "mkdirp": "0.5.1", @@ -4398,6 +4597,15 @@ "graceful-readlink": "1.0.1" } }, + "debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "diff": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", @@ -4457,9 +4665,9 @@ "dev": true }, "moment": { - "version": "2.18.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz", - "integrity": "sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8=" + "version": "2.19.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.1.tgz", + "integrity": "sha1-VtoaLRy/AdOLfhr8McELz6GSkWc=" }, "ms": { "version": "2.0.0", @@ -4492,9 +4700,9 @@ } }, "node-fetch": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.2.tgz", - "integrity": "sha512-xZZUq2yDhKMIn/UgG5q//IZSNLJIwW2QxS14CNH5spuiXkITM2pUitjdq58yLSaU7m4M0wBNaM2Gh/ggY4YJig==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { "encoding": "0.1.12", "is-stream": "1.1.0" @@ -4556,9 +4764,9 @@ } }, "npm-conf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.2.tgz", - "integrity": "sha512-dotwbpwVzfNB/2EF3A2wjK5tEMLggKfuA/8TG6WvBB1Zrv+JsvF7E8ei9B/HGq211st/GwXFbREcNJvJ1eySUQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", "requires": { "config-chain": "1.1.11", "pify": "3.0.0" @@ -4571,6 +4779,14 @@ } } }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "2.0.1" + } + }, "npmlog": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", @@ -4587,9 +4803,9 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "nwmatcher": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.1.tgz", - "integrity": "sha1-eumwew6oBNt+JfBctf5Al9TklJ8=", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz", + "integrity": "sha512-IKdSTiDWCarf2JTS5e9e2+5tPZGdkRJ79XjYV0pzK8Q9BpsFyBq1RGKxzs7Q8UBushGw7m6TzVKz6fcY99iSWw==", "dev": true }, "oauth-sign": { @@ -4603,6 +4819,11 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, + "object-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.2.0.tgz", + "integrity": "sha512-smRWXzkvxw72VquyZ0wggySl7PFUtoDhvhpdwgESXxUrH7vVhhp9asfup1+rVLrhsl7L45Ee1Q/l5R2Ul4MwUg==" + }, "object-keys": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", @@ -4616,7 +4837,7 @@ "dev": true, "requires": { "define-properties": "1.1.2", - "function-bind": "1.1.0", + "function-bind": "1.1.1", "object-keys": "1.0.11" } }, @@ -4631,12 +4852,20 @@ } }, "object.pick": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.2.0.tgz", - "integrity": "sha1-tTkr7peC2m2ft9avr1OXefEjTCs=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "2.1.0" + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } } }, "once": { @@ -4723,6 +4952,11 @@ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, "p-limit": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", @@ -4738,10 +4972,27 @@ "p-limit": "1.1.0" } }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "requires": { + "got": "6.7.1", + "registry-auth-token": "3.3.1", + "registry-url": "3.1.0", + "semver": "5.4.1" + } + }, "pako": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.5.tgz", - "integrity": "sha1-0iBd/ludqK95fnwWPbTR+E5GALw=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "dev": true + }, + "parse-github-url": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.1.tgz", + "integrity": "sha512-w7N3anrhTV0kUoUp2reEY8716DScD/Z958QZm6E7VbqzoPs6TnbWFrBBHUzgpxcBoKFkFh3NQ0AS6rxIIKH+fQ==", "dev": true }, "parse-glob": { @@ -4788,16 +5039,20 @@ "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, "path-loader": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.2.tgz", - "integrity": "sha1-zVxz5+OakQEb4UjWv92KhbuTHvk=", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.4.tgz", + "integrity": "sha512-k/IPo9OWyofATP5gwIehHHQoFShS37zsSIsejKe6fjI+tqK+FnRpiSg4ZfWUpxb0g2PfCreWPqBD4ayjqjqkdQ==", "requires": { "native-promise-only": "0.8.1", - "superagent": "3.5.2" + "superagent": "3.8.0" } }, "path-parse": { @@ -4899,9 +5154,9 @@ } }, "private": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", - "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", "dev": true }, "process-nextick-args": { @@ -4924,6 +5179,11 @@ "asap": "2.0.6" } }, + "promise-queue": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/promise-queue/-/promise-queue-2.2.3.tgz", + "integrity": "sha1-hTTXa/RnPDuqOoK7oBvSlcww8U8=" + }, "proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", @@ -4954,15 +5214,20 @@ "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", "dev": true }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" }, "qs": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.0.tgz", - "integrity": "sha512-fjVFjW9yhqMhVGwRExCXLhJKrLlkYSaxNWdyc9rmHlrVZbk35YHH312dFd7191uQeXkI3mKLZTIbSvIeFwFemg==" + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" }, "querystring": { "version": "0.2.0", @@ -5004,7 +5269,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.5" + "is-buffer": "1.1.6" } } } @@ -5015,7 +5280,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.5" + "is-buffer": "1.1.6" } } } @@ -5040,9 +5305,9 @@ } }, "rc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz", + "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", "requires": { "deep-extend": "0.4.2", "ini": "1.3.4", @@ -5110,7 +5375,7 @@ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true, "requires": { - "resolve": "1.4.0" + "resolve": "1.5.0" } }, "redeyed": { @@ -5148,13 +5413,29 @@ "dev": true }, "regex-cache": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", - "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3", - "is-primitive": "2.0.0" + "is-equal-shallow": "0.1.3" + } + }, + "registry-auth-token": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz", + "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=", + "requires": { + "rc": "1.2.2", + "safe-buffer": "5.1.1" + } + }, + "registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", + "requires": { + "rc": "1.2.2" } }, "remarkable": { @@ -5229,11 +5510,11 @@ "is-typedarray": "1.0.0", "isstream": "0.1.2", "json-stringify-safe": "5.0.1", - "mime-types": "2.1.16", + "mime-types": "2.1.17", "oauth-sign": "0.8.2", "qs": "6.3.2", "stringstream": "0.0.5", - "tough-cookie": "2.3.2", + "tough-cookie": "2.3.3", "tunnel-agent": "0.4.3", "uuid": "3.1.0" }, @@ -5246,7 +5527,7 @@ "requires": { "asynckit": "0.4.0", "combined-stream": "1.0.5", - "mime-types": "2.1.16" + "mime-types": "2.1.17" } }, "qs": { @@ -5297,9 +5578,9 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, "resolve": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", - "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", "dev": true, "requires": { "path-parse": "1.0.5" @@ -5331,9 +5612,9 @@ } }, "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { "glob": "7.1.2" } @@ -5374,7 +5655,7 @@ "integrity": "sha1-iPdj10BA9fDCVrYWPbOZvxEKxxU=", "dev": true, "requires": { - "exec-sh": "0.2.0", + "exec-sh": "0.2.1", "fb-watchman": "1.9.2", "minimatch": "3.0.4", "minimist": "1.2.0", @@ -5400,6 +5681,14 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "requires": { + "semver": "5.4.1" + } + }, "semver-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", @@ -5420,10 +5709,18 @@ "to-object-path": "0.3.0" } }, - "shelljs": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz", - "integrity": "sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=" + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, "shellwords": { "version": "0.1.1", @@ -5431,6 +5728,11 @@ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", "dev": true }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, "sinon": { "version": "1.17.7", "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz", @@ -5450,9 +5752,9 @@ "dev": true }, "sinon-chai": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-2.13.0.tgz", - "integrity": "sha512-hRNu/TlYEp4Rw5IbzO8ykGoZMSG489PGUx1rvePpHGrtl20cXivRBgtr/EWYxIwL9EOO9+on04nd9k3tW8tVww==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-2.14.0.tgz", + "integrity": "sha512-9stIF1utB0ywNHNT7RgiXbdmen8QDCRsrTjw+G9TgKt1Yexjiv8TOWZ6WHsTPz57Yky3DIswZvEqX8fpuHNDtQ==", "dev": true }, "slash": { @@ -5466,11 +5768,6 @@ "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", "dev": true }, - "slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=" - }, "sntp": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", @@ -5491,18 +5788,18 @@ } }, "source-map-support": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.16.tgz", - "integrity": "sha512-A6vlydY7H/ljr4L2UOhDSajQdZQ6dMD7cLH0pzwcmwLyc9u8PNI4WGtnfDDzX7uzGL6c/T+ORL97Zlh+S4iOrg==", + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.6" + "source-map": "0.5.7" }, "dependencies": { "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } @@ -5571,6 +5868,14 @@ "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=" }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -5581,14 +5886,6 @@ "strip-ansi": "3.0.1" } }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -5616,13 +5913,18 @@ "dev": true }, "strip-dirs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.0.0.tgz", - "integrity": "sha1-YQzbKSggDaAAT0HcuQ/JXNkZoLY=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", "requires": { "is-natural-number": "4.0.1" } }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -5637,26 +5939,36 @@ } }, "superagent": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.5.2.tgz", - "integrity": "sha1-M2GjlxVnUEw1EGOr6q4PqiPb8/g=", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.0.tgz", + "integrity": "sha512-71XGWgtn70TNwgmgYa69dPOYg55aU9FCahjUNY03rOrKvaTCaU3b9MeZmqonmf9Od96SCxr3vGfEAnhM7dtxCw==", "requires": { "component-emitter": "1.2.1", "cookiejar": "2.1.1", - "debug": "2.6.8", + "debug": "3.1.0", "extend": "3.0.1", - "form-data": "2.2.0", + "form-data": "2.3.1", "formidable": "1.1.1", "methods": "1.1.2", - "mime": "1.3.6", - "qs": "6.5.0", + "mime": "1.4.1", + "qs": "6.5.1", "readable-stream": "2.3.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } } }, "supports-color": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.1.tgz", - "integrity": "sha512-qxzYsob3yv6U+xMzPrv170y8AwGP7i74g+pbixCfD6rgso8BscLT2qXIuz6TpOaiJZ3mFgT5O9lyT9nMU4LfaA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "requires": { "has-flag": "2.0.0" } @@ -5762,7 +6074,7 @@ "resolved": "https://registry.npmjs.org/tabtab/-/tabtab-2.2.2.tgz", "integrity": "sha1-egR/FDsBC0y9MfhX6ClhUSy/ThQ=", "requires": { - "debug": "2.6.8", + "debug": "2.6.9", "inquirer": "1.2.3", "lodash.difference": "4.5.0", "lodash.uniq": "4.5.0", @@ -5783,6 +6095,14 @@ "xtend": "4.0.1" } }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "0.7.0" + } + }, "test-exclude": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-3.3.0.tgz", @@ -5813,7 +6133,7 @@ "http-basic": "2.5.1", "http-response-object": "1.1.0", "promise": "7.3.1", - "qs": "6.5.0" + "qs": "6.5.1" } }, "throat": { @@ -5862,15 +6182,15 @@ } }, "toml": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.2.tgz", - "integrity": "sha1-Xt7VykKIeSSUn9BusOlVZWAB6DQ=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.3.tgz", + "integrity": "sha512-O7L5hhSQHxuufWUdcTRPfuTh3phKfAZ/dqfxZFoxPCj2RYmpaSGLEIs016FCXItQwNr08yefUB5TSjzRYnajTA==", "dev": true }, "tough-cookie": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", "dev": true, "requires": { "punycode": "1.4.1" @@ -5952,15 +6272,15 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.6", + "source-map": "0.5.7", "uglify-to-browserify": "1.0.2", "yargs": "3.10.0" }, "dependencies": { "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true, "optional": true } @@ -6011,11 +6331,35 @@ "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=", "dev": true }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "requires": { + "crypto-random-string": "1.0.0" + } + }, "unzip-response": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" }, + "update-notifier": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz", + "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", + "requires": { + "boxen": "1.2.2", + "chalk": "2.3.0", + "configstore": "3.1.1", + "import-lazy": "2.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" + } + }, "uri-js": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", @@ -6031,10 +6375,19 @@ } } }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "url-parse": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.9.tgz", - "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", + "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", "requires": { "querystringify": "1.0.0", "requires-port": "1.0.0" @@ -6145,20 +6498,12 @@ "dev": true }, "whatwg-encoding": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz", - "integrity": "sha1-PGxFGhmO567FWx7GHQkgxngBpfQ=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz", + "integrity": "sha512-jLBwwKUhi8WtBfsMQlL4bUUcT8sMkAtQinscJAe/M4KHCkHuUJAF6vuB0tueNIw4c8ziO6AkRmgY+jL3a0iiPw==", "dev": true, "requires": { - "iconv-lite": "0.4.13" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", - "dev": true - } + "iconv-lite": "0.4.19" } }, "whatwg-fetch": { @@ -6188,7 +6533,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true, "requires": { "isexe": "2.0.0" } @@ -6199,6 +6543,14 @@ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", "dev": true }, + "widest-line": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz", + "integrity": "sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw=", + "requires": { + "string-width": "1.0.2" + } + }, "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", @@ -6213,9 +6565,9 @@ "dev": true }, "worker-farm": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.0.tgz", - "integrity": "sha512-DHRiUggxtbruaTwnLDm2/BRDKZIoOYvrgYUj5Bam4fU6Gtvc0FaEyoswFPBjMXAweGW2H4BDNIpy//1yXXuaqQ==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.1.tgz", + "integrity": "sha512-T5NH6Wqsd8MwGD4AK8BBllUy6LmHaqjEOyo/YIUEegZui6/v5Bqde//3jwyE3PGiGYMmWi06exFBi5LNhhPFNw==", "dev": true, "requires": { "errno": "0.1.4", @@ -6247,15 +6599,20 @@ } }, "write-file-atomic": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.1.0.tgz", - "integrity": "sha1-F2n0tVHu3OQZ8FBd6uLiZ2NULTc=", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "requires": { "graceful-fs": "4.1.11", "imurmurhash": "0.1.4", - "slide": "1.1.6" + "signal-exit": "3.0.2" } }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=" + }, "xml-name-validator": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", @@ -6290,6 +6647,11 @@ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, "yaml-ast-parser": { "version": "0.0.34", "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.34.tgz", @@ -6306,6 +6668,15 @@ "cliui": "2.1.0", "decamelize": "1.2.0", "window-size": "0.1.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true, + "optional": true + } } }, "yargs-parser": { @@ -6326,9 +6697,9 @@ } }, "yauzl": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.8.0.tgz", - "integrity": "sha1-eUUK/yKyqcWkHvVOAtuQfM+/nuI=", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.9.1.tgz", + "integrity": "sha1-qBmB6nCleUYTOIPwKcWCGok1mn8=", "requires": { "buffer-crc32": "0.2.13", "fd-slicer": "1.0.1" @@ -6345,7 +6716,7 @@ "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", "requires": { "archiver-utils": "1.3.0", - "compress-commons": "1.2.0", + "compress-commons": "1.2.2", "lodash": "4.17.4", "readable-stream": "2.3.3" } diff --git a/package.json b/package.json index 8c382e2b934..8eab0cecbea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "serverless", - "version": "1.23.0", + "version": "1.24.1", "engines": { "node": ">=4.0" }, @@ -78,10 +78,13 @@ "istanbul": "^0.4.4", "jest-cli": "^18.0.0", "jszip": "^3.1.2", + "markdown-link": "^0.1.1", "markdown-magic": "^0.1.15", + "markdown-table": "^1.1.1", "mocha": "^3.0.2", "mocha-lcov-reporter": "^1.2.0", "mock-require": "^1.3.0", + "parse-github-url": "^1.0.1", "proxyquire": "^1.7.10", "sinon": "^1.17.5", "sinon-bluebird": "^3.1.0", @@ -114,14 +117,16 @@ "moment": "^2.13.0", "node-fetch": "^1.6.0", "node-forge": "^0.7.1", + "object-hash": "^1.2.0", "opn": "^5.0.0", + "promise-queue": "^2.2.3", "raven": "^1.2.1", "rc": "^1.1.6", "replaceall": "^0.1.6", "semver": "^5.0.3", "semver-regex": "^1.0.0", - "shelljs": "^0.6.0", "tabtab": "^2.2.2", + "update-notifier": "^2.2.0", "uuid": "^2.0.2", "write-file-atomic": "^2.1.0", "yaml-ast-parser": "0.0.34" From bd80e3412f80fcfb11a7942f66dea020b78c0e72 Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Sat, 9 Dec 2017 17:50:46 +0700 Subject: [PATCH 25/99] fixed undefined resource name if all resources are predefined --- .../package/compile/events/apiGateway/lib/resources.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js index 1806a37b029..fac0b36cada 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.js @@ -163,7 +163,15 @@ module.exports = { if (_.every(this.validated.events, (event) => _.some(predefinedResourceNodes, (node) => node.path === event.http.path))) { - return this.combineResourceTrees(predefinedResourceNodes); + return _.reduce(predefinedResources, (resourceMap, resource) => { + const r = resourceMap; + r[resource.path] = resource; + + if (!resource.name) { + r[resource.path].name = this.provider.naming.normalizePath(resource.path); + } + return r; + }, {}); } // cut resource branches from trees From d3071fdc3278619ad57d965103a099d2109c2320 Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Sat, 9 Dec 2017 17:56:42 +0700 Subject: [PATCH 26/99] fix test script --- .../package/compile/events/apiGateway/lib/resources.test.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js index 9a673595c89..d9f98da6e3a 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js @@ -480,9 +480,9 @@ describe('#compileResources()', () => { return awsCompileApigEvents.compileResources().then(() => { expect(() => Object.keys(awsCompileApigEvents.serverless .service.provider.compiledCloudFormationTemplate - .Resources).map((k) => ['ApiGatewayMethodundefinedGet', + .Resources).every((k) => ['ApiGatewayMethodundefinedGet', 'ApiGatewayMethodundefinedPost'].indexOf(k) === -1)) - .to.throw(Error, 'Resource Name must not be undefined'); + .to.equal(true); }); }); }); From 9a8b1337ef343b7843eeba8d293f89eb0b7edbcb Mon Sep 17 00:00:00 2001 From: Toan Nguyen Date: Sat, 9 Dec 2017 18:42:09 +0700 Subject: [PATCH 27/99] fix test script --- .../aws/package/compile/events/apiGateway/lib/resources.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js index d9f98da6e3a..18daad469c8 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/resources.test.js @@ -478,7 +478,7 @@ describe('#compileResources()', () => { ]; return awsCompileApigEvents.compileResources().then(() => { - expect(() => Object.keys(awsCompileApigEvents.serverless + expect(Object.keys(awsCompileApigEvents.serverless .service.provider.compiledCloudFormationTemplate .Resources).every((k) => ['ApiGatewayMethodundefinedGet', 'ApiGatewayMethodundefinedPost'].indexOf(k) === -1)) From 13ae54cacc4d4c88dbe432afad3298c70c768b24 Mon Sep 17 00:00:00 2001 From: Erik Erikson Date: Wed, 13 Dec 2017 16:39:06 -0800 Subject: [PATCH 28/99] Fix Cycles Crash (#4556) Replace the existing service and clear the cache (which references the ammended service) Remove cycles in that service using json-cycle. Dump the decycled object as YAML to console. --- lib/plugins/print/print.js | 9 ++++++--- lib/plugins/print/print.test.js | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/lib/plugins/print/print.js b/lib/plugins/print/print.js index e4263aa8b54..b48f26e36f8 100644 --- a/lib/plugins/print/print.js +++ b/lib/plugins/print/print.js @@ -2,6 +2,7 @@ const BbPromise = require('bluebird'); const getServerlessConfigFile = require('../../utils/getServerlessConfigFile'); +const jc = require('json-cycle'); const YAML = require('js-yaml'); class Print { @@ -34,15 +35,17 @@ class Print { variableSyntax = conf.provider.variableSyntax; delete conf.provider.variableSyntax; } - return conf; + this.serverless.variables.service = conf; + this.serverless.variables.cache = {}; + return this.serverless.variables.populateObject(conf); }) - .then((data) => this.serverless.variables.populateObject(data)) .then((data) => { const conf = data; if (variableSyntax !== undefined) { conf.provider.variableSyntax = variableSyntax; } - this.serverless.cli.consoleLog(YAML.dump(conf, { noRefs: true })); + const out = JSON.parse(jc.stringify(conf)); + this.serverless.cli.consoleLog(YAML.dump(out, { noRefs: true })); }); } diff --git a/lib/plugins/print/print.test.js b/lib/plugins/print/print.test.js index 95fc05935d5..ec4dc1950e0 100644 --- a/lib/plugins/print/print.test.js +++ b/lib/plugins/print/print.test.js @@ -157,4 +157,36 @@ describe('Print', () => { expect(message).to.equal(YAML.dump(expected)); }); }); + + it('should resolve self references', () => { + const conf = { + custom: { + me: '${self:}', + }, + provider: {}, + }; + getServerlessConfigFileStub.resolves(conf); + + serverless.processedInput = { + commands: ['print'], + options: {}, + }; + + const expected = { + custom: { + me: { + $ref: '$', + }, + }, + provider: {}, + }; + + return print.print().then(() => { + const message = print.serverless.cli.consoleLog.args.join(); + + expect(getServerlessConfigFileStub.calledOnce).to.equal(true); + expect(print.serverless.cli.consoleLog.called).to.be.equal(true); + expect(message).to.equal(YAML.dump(expected)); + }); + }); }); From 61cbeb1645945edb58d7ea4bab2ad3daf6834d64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christophe=20Boug=C3=A8re?= Date: Thu, 14 Dec 2017 13:46:11 +0100 Subject: [PATCH 29/99] - adding a `--template-url` option for `sls create` - update `walkDirSync` to ignore symbolic links (now ignore node_modules linked via `npm link`) --- docs/providers/aws/cli-reference/create.md | 13 +++++++-- lib/plugins/create/create.js | 18 +++++++++++++ lib/plugins/create/create.test.js | 31 ++++++++++++++++++++++ lib/utils/fs/walkDirSync.js | 2 +- 4 files changed, 61 insertions(+), 3 deletions(-) diff --git a/docs/providers/aws/cli-reference/create.md b/docs/providers/aws/cli-reference/create.md index fc38bf9cd8d..73421f72533 100644 --- a/docs/providers/aws/cli-reference/create.md +++ b/docs/providers/aws/cli-reference/create.md @@ -33,8 +33,9 @@ serverless create --template-url https://github.com/serverless/serverless/tree/m ``` ## Options -- `--template` or `-t` The name of one of the available templates. **Required if --template-url is not present**. -- `--template-url` or `-u` The name of one of the available templates. **Required if --template is not present**. +- `--template` or `-t` The name of one of the available templates. **Required if --template-url and --template-path are not present**. +- `--template-url` or `-u` The name of one of the available templates. **Required if --template and --template-path are not present**. +- `--template-path` The local path of your template. **Required if --template and --template-url are not present**. - `--path` or `-p` The path where the service should be created. - `--name` or `-n` the name of the service in `serverless.yml`. @@ -90,6 +91,14 @@ will use the already present directory. Additionally Serverless will rename the service according to the path you provide. In this example the service will be renamed to `my-new-service`. +### Creating a new service using a local template + +```bash +serverless create --template-path path/to/my/template/folder --path path/to/my/service --name my-new-service +``` + +This will copy the `path/to/my/template/folder` folder into `path/to/my/service` and rename the service to `my-new-service`. + ### Creating a new plugin ``` diff --git a/lib/plugins/create/create.js b/lib/plugins/create/create.js index eaa3a67833f..3e4f39f0297 100644 --- a/lib/plugins/create/create.js +++ b/lib/plugins/create/create.js @@ -5,8 +5,12 @@ const path = require('path'); const fse = require('fs-extra'); const _ = require('lodash'); +const ServerlessError = require('../../classes/Error').ServerlessError; const userStats = require('../../utils/userStats'); const download = require('../../utils/downloadTemplateFromRepo'); +const renameService = require('../../utils/renameService').renameService; +const copyDirContentsSync = require('../../utils/fs/copyDirContentsSync'); +const dirExistsSync = require('../../utils/fs/dirExistsSync'); // class wide constants const validTemplates = [ @@ -66,6 +70,9 @@ class Create { usage: 'Template URL for the service. Supports: GitHub, BitBucket', shortcut: 'u', }, + 'template-path': { + usage: 'Template local path for the service.', + }, path: { usage: 'The path where the service should be created (e.g. --path my-service)', shortcut: 'p', @@ -111,6 +118,17 @@ class Create { .catch(err => { throw new this.serverless.classes.Error(err); }); + } else if ('template-path' in this.options) { + // Copying template from a local directory + const servicePath = this.options.path || path.join(process.cwd(), this.options.name); + if (dirExistsSync(servicePath)) { + const errorMessage = `A folder named "${servicePath}" already exists.`; + throw new ServerlessError(errorMessage); + } + copyDirContentsSync(this.options['template-path'], servicePath); + if (this.options.name) { + renameService(this.options.name, servicePath); + } } else { const errorMessage = [ 'You must either pass a template name (--template) or a ', diff --git a/lib/plugins/create/create.test.js b/lib/plugins/create/create.test.js index df578b49347..fdd986eb0d6 100644 --- a/lib/plugins/create/create.test.js +++ b/lib/plugins/create/create.test.js @@ -666,5 +666,36 @@ describe('Create', () => { return create.create().catch(() => download.downloadTemplateFromRepo.restore()); }); + + it('should copy "aws-nodejs" template from local path', () => { + process.chdir(tmpDir); + const distDir = path.join(tmpDir, 'my-awesome-service'); + create.options = {}; + create.options.path = distDir; + create.options['template-path'] = path.join(__dirname, 'templates/aws-nodejs'); + + return create.create().then(() => { + const dirContent = fs.readdirSync(distDir); + + expect(dirContent).to.include('serverless.yml'); + expect(dirContent).to.include('handler.js'); + expect(dirContent).to.include('gitignore'); + }); + }); + + it('should copy "aws-nodejs" template from local path with a custom name', () => { + process.chdir(tmpDir); + create.options = {}; + create.options['template-path'] = path.join(__dirname, 'templates/aws-nodejs'); + create.options.name = 'my-awesome-service'; + + return create.create().then(() => { + const dirContent = fs.readdirSync(path.join(tmpDir, 'my-awesome-service')); + + expect(dirContent).to.include('serverless.yml'); + expect(dirContent).to.include('handler.js'); + expect(dirContent).to.include('gitignore'); + }); + }); }); }); diff --git a/lib/utils/fs/walkDirSync.js b/lib/utils/fs/walkDirSync.js index 0e4615272b1..d9aa3a049c6 100644 --- a/lib/utils/fs/walkDirSync.js +++ b/lib/utils/fs/walkDirSync.js @@ -9,7 +9,7 @@ function walkDirSync(dirPath) { list.forEach((filePathParam) => { let filePath = filePathParam; filePath = path.join(dirPath, filePath); - const stat = fs.statSync(filePath); + const stat = fs.lstatSync(filePath); if (stat && stat.isDirectory()) { filePaths = filePaths.concat(walkDirSync(filePath)); } else { From 3686b1f6dc33a0cf9a9318f1d0869c456d9895f6 Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Thu, 14 Dec 2017 16:45:59 -0800 Subject: [PATCH 30/99] Spotinst - updating document store docs --- .../spotinst/guide/document-store.md | 44 ++++++++++++------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/docs/providers/spotinst/guide/document-store.md b/docs/providers/spotinst/guide/document-store.md index 693062262ca..86ae9f046e0 100644 --- a/docs/providers/spotinst/guide/document-store.md +++ b/docs/providers/spotinst/guide/document-store.md @@ -20,16 +20,18 @@ To access the document store you will need to make an API request inside a funci This is how to insert a new key/value pair into your document store in a specific environment - * **Request:** `POST` - * **Endpoint:** `https://api.spotinst.io/functions/environment/${environmentId}/userDocument?accountId=${accountId}` - * **Header:** +**HTTPS Request:** +`POST environment/${environmentId}/userDocument?accountId=${accountId}` +**Host:** +`api.spotinst.io/functions/` +**Header:** ```bash { "Content-Type": "application/json", "Authorization": "Bearer ${Spotinst API Token}" } ``` - * **Body:** +**Body:** ```bash { "userDocument" : { @@ -44,16 +46,18 @@ This is how to insert a new key/value pair into your document store in a specifi This is how to update a current key/value pair in your document store in a specific environment - * **Request:** `PUT` - * **Endpoint:** `https://api.spotinst.io/functions/environment/${environmentId}/userDocument/${Key}?accountId=${accountId}` - * **Header:** +**Request:** +`PUT environment/${environmentId}/userDocument/${Key}?accountId=${accountId}` +**Endpoint:** +`api.spotinst.io/functions/` +**Header:** ```bash { "Content-Type": "application/json", "Authorization": "Bearer ${Spotinst API Token}" } ``` - * **Body:** +**Body:** ```bash { "userDocument" : { @@ -69,9 +73,11 @@ There are two ways to get the documents from your store, either by specifing a k ### 1. Get Sinlge Key Pair - * **Request:** `GET` - * **Endpoint:** `https://api.spotinst.io/functions/environment/${environmentId}/userDocument/${Key}?accountId=${accountId}` - * **Header:** +**Request:** +`GET environment/${environmentId}/userDocument/${Key}?accountId=${accountId}` +**Endpoint:** +`api.spotinst.io/functions/` +**Header:** ```bash { "Content-Type": "application/json", @@ -81,9 +87,11 @@ There are two ways to get the documents from your store, either by specifing a k ### 2. Get All Keys - * **Request:** `GET` - * **Endpoint:** `https://api.spotinst.io/functions/environment/${environmentId}/userDocument?accountId=${accountId}` - * **Header:** +**Request:** +`GET environment/${environmentId}/userDocument?accountId=${accountId}` +**Endpoint:** +`api.spotinst.io/functions/` +**Header:** ```bash { "Content-Type": "application/json", @@ -96,9 +104,11 @@ There are two ways to get the documents from your store, either by specifing a k This is how to delete a specific key value pair from your document store - * **Request:** `DELETE` - * **Endpoint:** `https://api.spotinst.io/functions/environment/${environmentId}/userDocument/${Key}?accountId=${accountId}` - * **Header:** +**Request:** +`DELETE environment/${environmentId}/userDocument/${Key}?accountId=${accountId}` +**Endpoint:** +`https://api.spotinst.io/functions/` +**Header:** ```bash { "Content-Type": "application/json", From 564a66fd3a56ec3dd312d3bd38847bddd84f15d5 Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Thu, 14 Dec 2017 16:49:55 -0800 Subject: [PATCH 31/99] Spotinst - updating document store doc --- .../spotinst/guide/document-store.md | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/docs/providers/spotinst/guide/document-store.md b/docs/providers/spotinst/guide/document-store.md index 86ae9f046e0..3ad37204a69 100644 --- a/docs/providers/spotinst/guide/document-store.md +++ b/docs/providers/spotinst/guide/document-store.md @@ -21,17 +21,24 @@ To access the document store you will need to make an API request inside a funci This is how to insert a new key/value pair into your document store in a specific environment **HTTPS Request:** + `POST environment/${environmentId}/userDocument?accountId=${accountId}` + **Host:** + `api.spotinst.io/functions/` + **Header:** + ```bash { "Content-Type": "application/json", "Authorization": "Bearer ${Spotinst API Token}" } ``` + **Body:** + ```bash { "userDocument" : { @@ -47,17 +54,24 @@ This is how to insert a new key/value pair into your document store in a specifi This is how to update a current key/value pair in your document store in a specific environment **Request:** + `PUT environment/${environmentId}/userDocument/${Key}?accountId=${accountId}` + **Endpoint:** + `api.spotinst.io/functions/` + **Header:** + ```bash { "Content-Type": "application/json", "Authorization": "Bearer ${Spotinst API Token}" } ``` + **Body:** + ```bash { "userDocument" : { @@ -74,10 +88,15 @@ There are two ways to get the documents from your store, either by specifing a k ### 1. Get Sinlge Key Pair **Request:** + `GET environment/${environmentId}/userDocument/${Key}?accountId=${accountId}` + **Endpoint:** + `api.spotinst.io/functions/` + **Header:** + ```bash { "Content-Type": "application/json", @@ -88,10 +107,15 @@ There are two ways to get the documents from your store, either by specifing a k ### 2. Get All Keys **Request:** + `GET environment/${environmentId}/userDocument?accountId=${accountId}` + **Endpoint:** + `api.spotinst.io/functions/` + **Header:** + ```bash { "Content-Type": "application/json", @@ -105,10 +129,15 @@ There are two ways to get the documents from your store, either by specifing a k This is how to delete a specific key value pair from your document store **Request:** + `DELETE environment/${environmentId}/userDocument/${Key}?accountId=${accountId}` + **Endpoint:** + `https://api.spotinst.io/functions/` + **Header:** + ```bash { "Content-Type": "application/json", From 35507cb629ecf9cf5093bdc0000f41c127f5ae20 Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Thu, 14 Dec 2017 16:50:55 -0800 Subject: [PATCH 32/99] Spotinst - updating document store docs --- docs/providers/spotinst/guide/document-store.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/providers/spotinst/guide/document-store.md b/docs/providers/spotinst/guide/document-store.md index 3ad37204a69..0ce40c1aa46 100644 --- a/docs/providers/spotinst/guide/document-store.md +++ b/docs/providers/spotinst/guide/document-store.md @@ -53,7 +53,7 @@ This is how to insert a new key/value pair into your document store in a specifi This is how to update a current key/value pair in your document store in a specific environment -**Request:** +**HTTPS Request:** `PUT environment/${environmentId}/userDocument/${Key}?accountId=${accountId}` @@ -87,7 +87,7 @@ There are two ways to get the documents from your store, either by specifing a k ### 1. Get Sinlge Key Pair -**Request:** +**HTTPS Request:** `GET environment/${environmentId}/userDocument/${Key}?accountId=${accountId}` @@ -106,7 +106,7 @@ There are two ways to get the documents from your store, either by specifing a k ### 2. Get All Keys -**Request:** +**HTTPS Request:** `GET environment/${environmentId}/userDocument?accountId=${accountId}` @@ -128,7 +128,7 @@ There are two ways to get the documents from your store, either by specifing a k This is how to delete a specific key value pair from your document store -**Request:** +**HTTPS Request:** `DELETE environment/${environmentId}/userDocument/${Key}?accountId=${accountId}` From 0af1705fdc383bf210aa64842f50125acbf7697f Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Thu, 14 Dec 2017 16:54:34 -0800 Subject: [PATCH 33/99] Spotinst - updating document store docs --- .../spotinst/guide/document-store.md | 40 ++++++++++++++----- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/docs/providers/spotinst/guide/document-store.md b/docs/providers/spotinst/guide/document-store.md index 0ce40c1aa46..35d0112f552 100644 --- a/docs/providers/spotinst/guide/document-store.md +++ b/docs/providers/spotinst/guide/document-store.md @@ -22,11 +22,15 @@ This is how to insert a new key/value pair into your document store in a specifi **HTTPS Request:** -`POST environment/${environmentId}/userDocument?accountId=${accountId}` +```bash +POST environment/${environmentId}/userDocument?accountId=${accountId} +``` **Host:** -`api.spotinst.io/functions/` +```bash +api.spotinst.io/functions/ +``` **Header:** @@ -55,11 +59,15 @@ This is how to update a current key/value pair in your document store in a speci **HTTPS Request:** -`PUT environment/${environmentId}/userDocument/${Key}?accountId=${accountId}` +```bash +PUT environment/${environmentId}/userDocument/${Key}?accountId=${accountId} +``` **Endpoint:** -`api.spotinst.io/functions/` +```bash +api.spotinst.io/functions/ +``` **Header:** @@ -89,11 +97,15 @@ There are two ways to get the documents from your store, either by specifing a k **HTTPS Request:** -`GET environment/${environmentId}/userDocument/${Key}?accountId=${accountId}` +```bash +GET environment/${environmentId}/userDocument/${Key}?accountId=${accountId} +``` **Endpoint:** -`api.spotinst.io/functions/` +```bash +api.spotinst.io/functions/ +``` **Header:** @@ -108,11 +120,15 @@ There are two ways to get the documents from your store, either by specifing a k **HTTPS Request:** -`GET environment/${environmentId}/userDocument?accountId=${accountId}` +```bash +GET environment/${environmentId}/userDocument?accountId=${accountId} +``` **Endpoint:** -`api.spotinst.io/functions/` +```bash +api.spotinst.io/functions/ +``` **Header:** @@ -130,11 +146,15 @@ This is how to delete a specific key value pair from your document store **HTTPS Request:** -`DELETE environment/${environmentId}/userDocument/${Key}?accountId=${accountId}` +```bash +DELETE environment/${environmentId}/userDocument/${Key}?accountId=${accountId} +``` **Endpoint:** -`https://api.spotinst.io/functions/` +```bash +https://api.spotinst.io/functions/ +``` **Header:** From b4d19dcd1a4f025199d6a1304006b012dde274f1 Mon Sep 17 00:00:00 2001 From: Robert Liebowitz Date: Fri, 15 Dec 2017 04:11:51 -0500 Subject: [PATCH 34/99] Prevent duplicated completion results --- lib/utils/autocomplete.js | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/lib/utils/autocomplete.js b/lib/utils/autocomplete.js index c2b4c530135..408135a9def 100644 --- a/lib/utils/autocomplete.js +++ b/lib/utils/autocomplete.js @@ -1,25 +1,19 @@ 'use strict'; +const path = require('path'); + const Serverless = require('../Serverless'); const crypto = require('crypto'); const getCacheFile = require('./getCacheFile'); const getServerlessConfigFile = require('./getServerlessConfigFile'); -const tab = require('tabtab')({ - name: 'serverless', -}); +const name = path.basename(process.argv[0]); -const tabSls = require('tabtab')({ - name: 'sls', -}); +const tab = require('tabtab')({ name }); const getSugestions = (commands) => { - tab.on('serverless', (data, done) => { - done(null, Object.keys(commands)); - }); - - tabSls.on('sls', (data, done) => { + tab.on(name, (data, done) => { done(null, Object.keys(commands)); }); @@ -27,13 +21,9 @@ const getSugestions = (commands) => { tab.on(command, (data, done) => { done(null, commands[command]); }); - tabSls.on(command, (data, done) => { - done(null, commands[command]); - }); }); tab.start(); - tabSls.start(); }; const cacheFileValid = (serverlessConfigFile, validationHash) => { From 72de3d21b60e4f4cda2f215253a555cf46de92f2 Mon Sep 17 00:00:00 2001 From: Robert Liebowitz Date: Fri, 15 Dec 2017 05:39:12 -0500 Subject: [PATCH 35/99] Remove instances of incorrect command completion --- lib/utils/autocomplete.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/utils/autocomplete.js b/lib/utils/autocomplete.js index 408135a9def..67ef89e38f3 100644 --- a/lib/utils/autocomplete.js +++ b/lib/utils/autocomplete.js @@ -14,7 +14,11 @@ const tab = require('tabtab')({ name }); const getSugestions = (commands) => { tab.on(name, (data, done) => { - done(null, Object.keys(commands)); + if (data.words === 1) { + done(null, Object.keys(commands)); + } else { + done(null, []); + } }); Object.keys(commands).forEach(command => { From 228adea94b674255aa661223e0787de68bc3a7e8 Mon Sep 17 00:00:00 2001 From: Robert Liebowitz Date: Fri, 15 Dec 2017 06:15:06 -0500 Subject: [PATCH 36/99] Fix typo --- lib/utils/autocomplete.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/utils/autocomplete.js b/lib/utils/autocomplete.js index 67ef89e38f3..6b744aa8fe7 100644 --- a/lib/utils/autocomplete.js +++ b/lib/utils/autocomplete.js @@ -12,7 +12,7 @@ const name = path.basename(process.argv[0]); const tab = require('tabtab')({ name }); -const getSugestions = (commands) => { +const getSuggestions = (commands) => { tab.on(name, (data, done) => { if (data.words === 1) { done(null, Object.keys(commands)); @@ -58,7 +58,7 @@ const autocomplete = () => { if (!cacheFile || !cacheFileValid(serverlessConfigFile, cacheFile.validationHash)) { return; } - return getSugestions(cacheFile.commands); // eslint-disable-line consistent-return + return getSuggestions(cacheFile.commands); // eslint-disable-line consistent-return }); }); }; From 6f107149199992a16f777d46c4bf8b1055e25acb Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Fri, 15 Dec 2017 13:56:38 -0800 Subject: [PATCH 37/99] Spotinst - adding java8 template --- .../create/templates/spotinst-java/.gitignore | 6 +++ .../create/templates/spotinst-java/pom.xml | 50 +++++++++++++++++++ .../templates/spotinst-java/serverless.yml | 38 ++++++++++++++ .../src/main/java/com/serverless/Handler.java | 35 +++++++++++++ 4 files changed, 129 insertions(+) create mode 100644 lib/plugins/create/templates/spotinst-java/.gitignore create mode 100644 lib/plugins/create/templates/spotinst-java/pom.xml create mode 100644 lib/plugins/create/templates/spotinst-java/serverless.yml create mode 100644 lib/plugins/create/templates/spotinst-java/src/main/java/com/serverless/Handler.java diff --git a/lib/plugins/create/templates/spotinst-java/.gitignore b/lib/plugins/create/templates/spotinst-java/.gitignore new file mode 100644 index 00000000000..2b48c8bd543 --- /dev/null +++ b/lib/plugins/create/templates/spotinst-java/.gitignore @@ -0,0 +1,6 @@ +# package directories +node_modules +jspm_packages + +# Serverless directories +.serverless \ No newline at end of file diff --git a/lib/plugins/create/templates/spotinst-java/pom.xml b/lib/plugins/create/templates/spotinst-java/pom.xml new file mode 100644 index 00000000000..e9faf9c4f67 --- /dev/null +++ b/lib/plugins/create/templates/spotinst-java/pom.xml @@ -0,0 +1,50 @@ + + + 4.0.0 + com.serverless + hello-world + dev + jar + + UTF-8 + 1.8 + 1.8 + + + + + com.spotinst + spotinst-functions-java-core + 1.1 + + + + com.google.code.gson + gson + 2.3.1 + + + + + + + org.apache.maven.plugins + maven-shade-plugin + 2.3 + + false + + + + + package + + shade + + + + + + + + diff --git a/lib/plugins/create/templates/spotinst-java/serverless.yml b/lib/plugins/create/templates/spotinst-java/serverless.yml new file mode 100644 index 00000000000..f5201d11add --- /dev/null +++ b/lib/plugins/create/templates/spotinst-java/serverless.yml @@ -0,0 +1,38 @@ +# Welcome to Serverless! +# +# This file is the main config file for your service. +# It's very minimal at this point and uses default values. +# You can always add more config options for more control. +# We've included some commented out config examples here. +# Just uncomment any of them to get that config option. +# +# For full config options, check the docs: +# docs.serverless.com +# +# Happy Coding! + +service: spotinst-java8 + +provider: + name: spotinst + spotinst: + #environment: # NOTE: Remember to add the environment ID + +functions: + hello: + runtime: java8 + handler: com.serverless.Handler + memory: 128 + timeout: 30 + access: private +# cron: # Setup scheduled trigger with cron expression +# active: true +# value: '* * * * *' +# environmentVariables: { +# Key: "Value", +# } + +# extend the framework using plugins listed here: +# https://github.com/serverless/plugins +plugins: + - serverless-spotinst-functions diff --git a/lib/plugins/create/templates/spotinst-java/src/main/java/com/serverless/Handler.java b/lib/plugins/create/templates/spotinst-java/src/main/java/com/serverless/Handler.java new file mode 100644 index 00000000000..ac090fa9ab7 --- /dev/null +++ b/lib/plugins/create/templates/spotinst-java/src/main/java/com/serverless/Handler.java @@ -0,0 +1,35 @@ +package com.serverless; + +import com.google.gson.JsonObject; +import com.spotinst.functions.runtime.Context; +import com.spotinst.functions.runtime.Request; +import com.spotinst.functions.runtime.RequestHandler; +import com.spotinst.functions.runtime.Response; + +import java.util.HashMap; +import java.util.Map; + +/** + * Please make sure your class implements the "RequestHandler" interface + * The return value should be of type "Response" + **/ +public class Handler implements RequestHandler { + + @Override + public Response handleRequest(Request request, Context context) { + Map queryParams = request.getQueryParams(); + + String name = queryParams.get("name"); + String responseBody = String.format("{\"hello\":\"%s\"}", name); + + Response response = new Response(200, responseBody); + + //Build response headers + Map headers = new HashMap<>(); + headers.put("Content-Type", "application/json"); + + response.setHeaders(headers); + + return response; + } +} \ No newline at end of file From 11f15517fd5587481d643e15a438b0e7eb17e3f9 Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Fri, 15 Dec 2017 14:07:58 -0800 Subject: [PATCH 38/99] Spotinst - adding docs for Java8 template --- docs/providers/spotinst/examples/README.md | 1 + .../spotinst/examples/java8/README.md | 45 +++++++++++++++++++ .../spotinst/examples/node/README.md | 2 +- .../spotinst/examples/python/README.md | 2 +- .../spotinst/examples/ruby/README.md | 2 +- .../.gitignore | 0 .../{spotinst-java => spotinst-java8}/pom.xml | 0 .../serverless.yml | 0 .../src/main/java/com/serverless/Handler.java | 0 9 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 docs/providers/spotinst/examples/java8/README.md rename lib/plugins/create/templates/{spotinst-java => spotinst-java8}/.gitignore (100%) rename lib/plugins/create/templates/{spotinst-java => spotinst-java8}/pom.xml (100%) rename lib/plugins/create/templates/{spotinst-java => spotinst-java8}/serverless.yml (100%) rename lib/plugins/create/templates/{spotinst-java => spotinst-java8}/src/main/java/com/serverless/Handler.java (100%) diff --git a/docs/providers/spotinst/examples/README.md b/docs/providers/spotinst/examples/README.md index 85c60cab568..0284afe3a30 100644 --- a/docs/providers/spotinst/examples/README.md +++ b/docs/providers/spotinst/examples/README.md @@ -17,3 +17,4 @@ Pick your language of choice: * [JavaScript](./node) * [Python](./python) * [Ruby](./ruby) +* [Java8](./java8) diff --git a/docs/providers/spotinst/examples/java8/README.md b/docs/providers/spotinst/examples/java8/README.md new file mode 100644 index 00000000000..34e9f2b30d1 --- /dev/null +++ b/docs/providers/spotinst/examples/java8/README.md @@ -0,0 +1,45 @@ + + + +### [Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/spotinst/) + + +# Hello World Java8 Example + +Make sure `serverless` is installed. + +## 1. Create a service +`serverless create --template spotinst-java8 --path serviceName` `serviceName` is going to be a new directory there the Java8 template will be loaded. Once the download is complete change into that directory. Next you will need to install the Spotinst Serverless Functions plugin by running `npm install` in the root directory. You will need to go into the serverless.yml file and add in the environment variable that you want to deploy into. Also you need to copy the Service name in the serverless.yml file and paste it into the pom.xlm file under the finalName tag. Next you will have to package the project to create a .jar file. To do this run the command `mvn package`. + +## 2. Deploy +```bash + serverless deploy +``` + +## 3. Invoke deployed function +```bash +serverless invoke --function hello +``` + +In your terminal window you should see the response + +```bash +{"hello":"null"} +``` + +Congrats you have just deployed and ran your Hello World function! + +## Short Hand Guide + +`sls` is short hand for serverless cli commands + +`-f` is short hand for `--function` + +`-t` is short hand for `--template` + +`-p` is short hang for `--path` \ No newline at end of file diff --git a/docs/providers/spotinst/examples/node/README.md b/docs/providers/spotinst/examples/node/README.md index f4e68778ebc..a8345f43017 100644 --- a/docs/providers/spotinst/examples/node/README.md +++ b/docs/providers/spotinst/examples/node/README.md @@ -14,7 +14,7 @@ layout: Doc Make sure `serverless` is installed. ## 1. Create a service -`serverless create --template spotinst-nodejs --path serviceName` `serviceName` is going to be a new directory there the python template will be loaded. Once the download is complete change into that directory. Next you will need to install the Spotinst Serverless Functions plugin by running `npm install` in the root directory +`serverless create --template spotinst-nodejs --path serviceName` `serviceName` is going to be a new directory there the JavaScript template will be loaded. Once the download is complete change into that directory. Next you will need to install the Spotinst Serverless Functions plugin by running `npm install` in the root directory. You will need to go into the serverless.yml file and add in the environment variable that you want to deploy into. ## 2. Deploy ```bash diff --git a/docs/providers/spotinst/examples/python/README.md b/docs/providers/spotinst/examples/python/README.md index f85b595018b..c4f58a6284c 100644 --- a/docs/providers/spotinst/examples/python/README.md +++ b/docs/providers/spotinst/examples/python/README.md @@ -14,7 +14,7 @@ layout: Doc Make sure `serverless` is installed. ## 1. Create a service -`serverless create --template spotinst-python --path serviceName` `serviceName` is going to be a new directory there the python template will be loaded. Once the download is complete change into that directory. Next you will need to install the Spotinst Serverless Functions plugin by running `npm install` in the root directory +`serverless create --template spotinst-python --path serviceName` `serviceName` is going to be a new directory there the python template will be loaded. Once the download is complete change into that directory. Next you will need to install the Spotinst Serverless Functions plugin by running `npm install` in the root directory. You will need to go into the serverless.yml file and add in the environment variable that you want to deploy into. ## 2. Deploy diff --git a/docs/providers/spotinst/examples/ruby/README.md b/docs/providers/spotinst/examples/ruby/README.md index bbf15cc1a8f..e0d7d2e2dd3 100644 --- a/docs/providers/spotinst/examples/ruby/README.md +++ b/docs/providers/spotinst/examples/ruby/README.md @@ -14,7 +14,7 @@ layout: Doc Make sure `serverless` is installed. ## 1. Create a service -`serverless create --template spotinst-ruby --path serviceName` `serviceName` is going to be a new directory there the python template will be loaded. Once the download is complete change into that directory. Next you will need to install the Spotinst Serverless Functions plugin by running `npm install` in the root directory +`serverless create --template spotinst-ruby --path serviceName` `serviceName` is going to be a new directory there the Ruby template will be loaded. Once the download is complete change into that directory. Next you will need to install the Spotinst Serverless Functions plugin by running `npm install` in the root directory. You will need to go into the serverless.yml file and add in the environment variable that you want to deploy into. ## 2. Deploy diff --git a/lib/plugins/create/templates/spotinst-java/.gitignore b/lib/plugins/create/templates/spotinst-java8/.gitignore similarity index 100% rename from lib/plugins/create/templates/spotinst-java/.gitignore rename to lib/plugins/create/templates/spotinst-java8/.gitignore diff --git a/lib/plugins/create/templates/spotinst-java/pom.xml b/lib/plugins/create/templates/spotinst-java8/pom.xml similarity index 100% rename from lib/plugins/create/templates/spotinst-java/pom.xml rename to lib/plugins/create/templates/spotinst-java8/pom.xml diff --git a/lib/plugins/create/templates/spotinst-java/serverless.yml b/lib/plugins/create/templates/spotinst-java8/serverless.yml similarity index 100% rename from lib/plugins/create/templates/spotinst-java/serverless.yml rename to lib/plugins/create/templates/spotinst-java8/serverless.yml diff --git a/lib/plugins/create/templates/spotinst-java/src/main/java/com/serverless/Handler.java b/lib/plugins/create/templates/spotinst-java8/src/main/java/com/serverless/Handler.java similarity index 100% rename from lib/plugins/create/templates/spotinst-java/src/main/java/com/serverless/Handler.java rename to lib/plugins/create/templates/spotinst-java8/src/main/java/com/serverless/Handler.java From 481c2c3baaa023968b9760254b3475869f0a7bf0 Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Fri, 15 Dec 2017 14:19:43 -0800 Subject: [PATCH 39/99] Spotinst - adding package.json to spotinst-java8 template --- .../create/templates/spotinst-java8/package.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 lib/plugins/create/templates/spotinst-java8/package.json diff --git a/lib/plugins/create/templates/spotinst-java8/package.json b/lib/plugins/create/templates/spotinst-java8/package.json new file mode 100644 index 00000000000..38e3e7f407b --- /dev/null +++ b/lib/plugins/create/templates/spotinst-java8/package.json @@ -0,0 +1,13 @@ +{ + "name": "spotionst-java8", + "version": "1.0.0", + "description": "Spotinst Functions Java8 sample for serverless framework service.", + "main": "com.serverless.Handler.java", + "keywords": [ + "serverless", + "spotinst" + ], + "devDependencies": { + "serverless-spotinst-functions": "*" + } +} From 52a6d6ddc9d094541b76ad064f5caccd87755e68 Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Fri, 15 Dec 2017 14:26:46 -0800 Subject: [PATCH 40/99] Spotinst - moving finalName tag in pom.xml for spotinst-java8 template --- lib/plugins/create/templates/spotinst-java8/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/create/templates/spotinst-java8/pom.xml b/lib/plugins/create/templates/spotinst-java8/pom.xml index e9faf9c4f67..0e561a99948 100644 --- a/lib/plugins/create/templates/spotinst-java8/pom.xml +++ b/lib/plugins/create/templates/spotinst-java8/pom.xml @@ -26,6 +26,7 @@ + org.apache.maven.plugins @@ -33,7 +34,6 @@ 2.3 false - From 0cf7c9a329125e19c05c9f2617dc8c11c154ee47 Mon Sep 17 00:00:00 2001 From: horike37 Date: Sat, 16 Dec 2017 20:27:33 +0900 Subject: [PATCH 41/99] first commit --- lib/classes/CLI.js | 2 +- lib/classes/PluginManager.js | 32 ++++++++++++++++++++++++++++++++ package-lock.json | 3 +-- package.json | 1 + 4 files changed, 35 insertions(+), 3 deletions(-) diff --git a/lib/classes/CLI.js b/lib/classes/CLI.js index cb177428b83..0a87db2eef8 100644 --- a/lib/classes/CLI.js +++ b/lib/classes/CLI.js @@ -149,7 +149,7 @@ class CLI { this.consoleLog(chalk.dim('* Documentation: https://serverless.com/framework/docs/')); this.consoleLog(''); - +console.log(frameworkCommands) if (!_.isEmpty(frameworkCommands)) { _.forEach(frameworkCommands, (details, command) => { this.displayCommandUsage(details, command); diff --git a/lib/classes/PluginManager.js b/lib/classes/PluginManager.js index b2714300fc1..6c791b79cd5 100644 --- a/lib/classes/PluginManager.js +++ b/lib/classes/PluginManager.js @@ -8,6 +8,7 @@ const writeFile = require('../utils/fs/writeFile'); const getCacheFilePath = require('../utils/getCacheFilePath'); const getServerlessConfigFile = require('../utils/getServerlessConfigFile'); const crypto = require('crypto'); +const levenshtein = require('fast-levenshtein'); /** * @private @@ -324,6 +325,7 @@ class PluginManager { return current.commands[name]; } const commandName = commandOrAlias.slice(0, index + 1).join(' '); + this.getCommandSuggestion(commandName); const errorMessage = `Serverless command "${commandName}" not found Run "serverless help" for a list of all available commands.`; @@ -331,6 +333,36 @@ class PluginManager { }, { commands: this.commands }); } + getCommandSuggestion(inputCommand) { + let suggestion; + return this.getCollectCommandWord(this.serverless.cli.loadedCommands) + .then(commandWordsArray => { + let minValue = 0; + _.forEach(commandWordsArray, correctCommand => { + const distance = levenshtein.get(inputCommand, correctCommand); + minValue = minValue === 0 ? distance : minValue; + if (minValue > distance) { + suggestion = correctCommand; + minValue = distance; + } + }); + console.log(suggestion); + }); + } + + getCollectCommandWord(commandObject, commandWordsArray) { + const wordsArray = _.isArray(commandWordsArray) + && !_.isEmpty(commandWordsArray) ? commandWordsArray : []; + _.forEach(commandObject, (commandChildObject, commandChildName) => { + wordsArray.push(commandChildName); + if (commandChildObject.commands) { + return this.getCollectCommandWord(commandChildObject.commands, wordsArray); + } + return BbPromise.resolve(); + }); + return BbPromise.resolve(_.uniq(wordsArray)); + } + getEvents(command) { return _.flatMap(command.lifecycleEvents, (event) => [ `before:${command.key}:${event}`, diff --git a/package-lock.json b/package-lock.json index a3ae6ef8136..7598148ce2d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2063,8 +2063,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fb-watchman": { "version": "1.9.2", diff --git a/package.json b/package.json index 007cd37b506..08f7b157f10 100644 --- a/package.json +++ b/package.json @@ -100,6 +100,7 @@ "chalk": "^2.0.0", "ci-info": "^1.1.1", "download": "^5.0.2", + "fast-levenshtein": "^2.0.6", "filesize": "^3.3.0", "fs-extra": "^0.26.7", "get-stdin": "^5.0.1", From fbce5ed4ae6ec447c000c0f716c0fd783d332833 Mon Sep 17 00:00:00 2001 From: horike37 Date: Sun, 17 Dec 2017 15:13:20 +0900 Subject: [PATCH 42/99] add suggestion feature --- lib/classes/CLI.js | 16 +++++---- lib/classes/PluginManager.js | 45 ++++++-------------------- lib/utils/getCommandSuggestion.js | 36 +++++++++++++++++++++ lib/utils/getCommandSuggestion.test.js | 33 +++++++++++++++++++ 4 files changed, 88 insertions(+), 42 deletions(-) create mode 100644 lib/utils/getCommandSuggestion.js create mode 100644 lib/utils/getCommandSuggestion.test.js diff --git a/lib/classes/CLI.js b/lib/classes/CLI.js index 0a87db2eef8..f445bd40357 100644 --- a/lib/classes/CLI.js +++ b/lib/classes/CLI.js @@ -5,6 +5,7 @@ const minimist = require('minimist'); const _ = require('lodash'); const os = require('os'); const chalk = require('chalk'); +const getCommandSuggestion = require('../utils/getCommandSuggestion'); class CLI { constructor(serverless, inputArray) { @@ -149,7 +150,6 @@ class CLI { this.consoleLog(chalk.dim('* Documentation: https://serverless.com/framework/docs/')); this.consoleLog(''); -console.log(frameworkCommands) if (!_.isEmpty(frameworkCommands)) { _.forEach(frameworkCommands, (details, command) => { this.displayCommandUsage(details, command); @@ -252,11 +252,14 @@ console.log(frameworkCommands) // Throw error if command not found. if (!command) { - const errorMessage = [ - `Serverless command "${commandName}" not found.`, - ' Run "serverless help" for a list of all available commands.', - ].join(''); - throw new this.serverless.classes.Error(errorMessage); + return getCommandSuggestion(commandName, this.serverless.cli.loadedCommands) + .then(suggestedCommand => { + const errorMessage = [ + `Serverless command "${commandName}" not found. Did you mean "${suggestedCommand}"?`, + ' Run "serverless help" for a list of all available commands.', + ].join(''); + throw new this.serverless.classes.Error(errorMessage); + }); } // print the name of the plugin @@ -266,6 +269,7 @@ console.log(frameworkCommands) this.displayCommandOptions(command); this.consoleLog(''); + return null; } getVersionNumber() { diff --git a/lib/classes/PluginManager.js b/lib/classes/PluginManager.js index 6c791b79cd5..9cc4ce16738 100644 --- a/lib/classes/PluginManager.js +++ b/lib/classes/PluginManager.js @@ -8,7 +8,7 @@ const writeFile = require('../utils/fs/writeFile'); const getCacheFilePath = require('../utils/getCacheFilePath'); const getServerlessConfigFile = require('../utils/getServerlessConfigFile'); const crypto = require('crypto'); -const levenshtein = require('fast-levenshtein'); +const getCommandSuggestion = require('../utils/getCommandSuggestion'); /** * @private @@ -325,44 +325,17 @@ class PluginManager { return current.commands[name]; } const commandName = commandOrAlias.slice(0, index + 1).join(' '); - this.getCommandSuggestion(commandName); - const errorMessage = `Serverless command "${commandName}" not found - - Run "serverless help" for a list of all available commands.`; - throw new this.serverless.classes.Error(errorMessage); + return getCommandSuggestion(commandName, this.serverless.cli.loadedCommands) + .then(suggestedCommand => { + const errorMessage = [ + `Serverless command "${commandName}" not found. Did you mean "${suggestedCommand}"?`, + ' Run "serverless help" for a list of all available commands.', + ].join(''); + throw new this.serverless.classes.Error(errorMessage); + }); }, { commands: this.commands }); } - getCommandSuggestion(inputCommand) { - let suggestion; - return this.getCollectCommandWord(this.serverless.cli.loadedCommands) - .then(commandWordsArray => { - let minValue = 0; - _.forEach(commandWordsArray, correctCommand => { - const distance = levenshtein.get(inputCommand, correctCommand); - minValue = minValue === 0 ? distance : minValue; - if (minValue > distance) { - suggestion = correctCommand; - minValue = distance; - } - }); - console.log(suggestion); - }); - } - - getCollectCommandWord(commandObject, commandWordsArray) { - const wordsArray = _.isArray(commandWordsArray) - && !_.isEmpty(commandWordsArray) ? commandWordsArray : []; - _.forEach(commandObject, (commandChildObject, commandChildName) => { - wordsArray.push(commandChildName); - if (commandChildObject.commands) { - return this.getCollectCommandWord(commandChildObject.commands, wordsArray); - } - return BbPromise.resolve(); - }); - return BbPromise.resolve(_.uniq(wordsArray)); - } - getEvents(command) { return _.flatMap(command.lifecycleEvents, (event) => [ `before:${command.key}:${event}`, diff --git a/lib/utils/getCommandSuggestion.js b/lib/utils/getCommandSuggestion.js new file mode 100644 index 00000000000..d115a792aae --- /dev/null +++ b/lib/utils/getCommandSuggestion.js @@ -0,0 +1,36 @@ +'use strict'; +const _ = require('lodash'); +const BbPromise = require('bluebird'); +const levenshtein = require('fast-levenshtein'); + +const getCollectCommandWords = (commandObject, commandWordsArray) => { + const wordsArray = _.isArray(commandWordsArray) + && !_.isEmpty(commandWordsArray) ? commandWordsArray : []; + _.forEach(commandObject, (commandChildObject, commandChildName) => { + wordsArray.push(commandChildName); + if (commandChildObject.commands) { + return getCollectCommandWords(commandChildObject.commands, wordsArray); + } + return BbPromise.resolve(); + }); + return BbPromise.resolve(_.uniq(wordsArray)); +}; + +const getCommandSuggestion = (inputCommand, allCommandsObject) => { + let suggestion; + return getCollectCommandWords(allCommandsObject) + .then(commandWordsArray => { + let minValue = 0; + _.forEach(commandWordsArray, correctCommand => { + const distance = levenshtein.get(inputCommand, correctCommand); + minValue = minValue === 0 ? distance : minValue; + if (minValue > distance) { + suggestion = correctCommand; + minValue = distance; + } + }); + return BbPromise.resolve(suggestion); + }); +}; + +module.exports = getCommandSuggestion; diff --git a/lib/utils/getCommandSuggestion.test.js b/lib/utils/getCommandSuggestion.test.js new file mode 100644 index 00000000000..d7e32ab040d --- /dev/null +++ b/lib/utils/getCommandSuggestion.test.js @@ -0,0 +1,33 @@ +'use strict'; + +const chai = require('chai'); +const getCommandSuggestion = require('./getCommandSuggestion'); +chai.use(require('chai-as-promised')); +const expect = require('chai').expect; +const Serverless = require('../../lib/Serverless'); + +const serverless = new Serverless(); +serverless.init(); + +describe('#getCommandSuggestion', () => { + it('should return "package" as a suggested command if you input "pekage"', () => + expect(getCommandSuggestion('pekage', serverless.cli.loadedCommands)) + .to.be.fulfilled.then(suggestedCommand => { + expect(suggestedCommand).to.be.equal('package'); + }) + ); + + it('should return "deploy" as a suggested command if you input "deploi"', () => + expect(getCommandSuggestion('deploi', serverless.cli.loadedCommands)) + .to.be.fulfilled.then(suggestedCommand => { + expect(suggestedCommand).to.be.equal('deploy'); + }) + ); + + it('should return "invoke" as a suggested command if you input "lnvoke"', () => + expect(getCommandSuggestion('lnvoke', serverless.cli.loadedCommands)) + .to.be.fulfilled.then(suggestedCommand => { + expect(suggestedCommand).to.be.equal('invoke'); + }) + ); +}); From 0fde870a6ceee5293727cb726d00b6ace8d55733 Mon Sep 17 00:00:00 2001 From: Vineet Date: Mon, 18 Dec 2017 16:26:11 +0530 Subject: [PATCH 43/99] Using serverless for many different client projects --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b71e98da189..c6245a393fe 100644 --- a/README.md +++ b/README.md @@ -356,6 +356,7 @@ These consultants use the Serverless Framework and can help you build your serve * [Langa](http://langa.io/?utm_source=gh-serverless&utm_medium=github) - They built [Trails.js](http://github.com/trailsjs/trails) * [Emerging Technology Advisors](https://www.emergingtechnologyadvisors.com) * [OneSpeed](https://onespeed.io/) +* [Seraro](http://www.seraro.com/) - Who also runs Atlanta Serverless Meetup (https://www.meetup.com/Atlanta-CABI-Camp-Cloud-AI-Blockchain-IOT) and Delhi Serverless Meetup (https://www.meetup.com/Delhi-NCR-Serverless-Architecture-Meetup/) ---- # Previous Serverless Version 0.5.x From 4a3e140dc2834a98d7a0e0b48802588f2e739226 Mon Sep 17 00:00:00 2001 From: horike37 Date: Tue, 19 Dec 2017 01:10:43 +0900 Subject: [PATCH 44/99] update code to synchronous --- lib/classes/CLI.js | 14 +++++------ lib/classes/PluginManager.js | 15 ++++++------ lib/utils/getCommandSuggestion.js | 34 +++++++++++++------------- lib/utils/getCommandSuggestion.test.js | 34 ++++++++++---------------- 4 files changed, 43 insertions(+), 54 deletions(-) diff --git a/lib/classes/CLI.js b/lib/classes/CLI.js index f445bd40357..3d7f4b5ab78 100644 --- a/lib/classes/CLI.js +++ b/lib/classes/CLI.js @@ -252,14 +252,12 @@ class CLI { // Throw error if command not found. if (!command) { - return getCommandSuggestion(commandName, this.serverless.cli.loadedCommands) - .then(suggestedCommand => { - const errorMessage = [ - `Serverless command "${commandName}" not found. Did you mean "${suggestedCommand}"?`, - ' Run "serverless help" for a list of all available commands.', - ].join(''); - throw new this.serverless.classes.Error(errorMessage); - }); + const suggestedCommand = getCommandSuggestion(commandName, allCommands); + const errorMessage = [ + `Serverless command "${commandName}" not found. Did you mean "${suggestedCommand}"?`, + ' Run "serverless help" for a list of all available commands.', + ].join(''); + throw new this.serverless.classes.Error(errorMessage); } // print the name of the plugin diff --git a/lib/classes/PluginManager.js b/lib/classes/PluginManager.js index 9cc4ce16738..1325ec9a91d 100644 --- a/lib/classes/PluginManager.js +++ b/lib/classes/PluginManager.js @@ -325,14 +325,13 @@ class PluginManager { return current.commands[name]; } const commandName = commandOrAlias.slice(0, index + 1).join(' '); - return getCommandSuggestion(commandName, this.serverless.cli.loadedCommands) - .then(suggestedCommand => { - const errorMessage = [ - `Serverless command "${commandName}" not found. Did you mean "${suggestedCommand}"?`, - ' Run "serverless help" for a list of all available commands.', - ].join(''); - throw new this.serverless.classes.Error(errorMessage); - }); + const suggestedCommand = getCommandSuggestion(commandName, + this.serverless.cli.loadedCommands); + const errorMessage = [ + `Serverless command "${commandName}" not found. Did you mean "${suggestedCommand}"?`, + ' Run "serverless help" for a list of all available commands.', + ].join(''); + throw new this.serverless.classes.Error(errorMessage); }, { commands: this.commands }); } diff --git a/lib/utils/getCommandSuggestion.js b/lib/utils/getCommandSuggestion.js index d115a792aae..3e4604ed84d 100644 --- a/lib/utils/getCommandSuggestion.js +++ b/lib/utils/getCommandSuggestion.js @@ -1,36 +1,36 @@ 'use strict'; const _ = require('lodash'); -const BbPromise = require('bluebird'); const levenshtein = require('fast-levenshtein'); const getCollectCommandWords = (commandObject, commandWordsArray) => { - const wordsArray = _.isArray(commandWordsArray) + let wordsArray = _.isArray(commandWordsArray) && !_.isEmpty(commandWordsArray) ? commandWordsArray : []; _.forEach(commandObject, (commandChildObject, commandChildName) => { wordsArray.push(commandChildName); if (commandChildObject.commands) { - return getCollectCommandWords(commandChildObject.commands, wordsArray); + wordsArray = getCollectCommandWords(commandChildObject.commands, wordsArray); } - return BbPromise.resolve(); }); - return BbPromise.resolve(_.uniq(wordsArray)); + return _.uniq(wordsArray); }; const getCommandSuggestion = (inputCommand, allCommandsObject) => { let suggestion; - return getCollectCommandWords(allCommandsObject) - .then(commandWordsArray => { - let minValue = 0; - _.forEach(commandWordsArray, correctCommand => { - const distance = levenshtein.get(inputCommand, correctCommand); - minValue = minValue === 0 ? distance : minValue; - if (minValue > distance) { - suggestion = correctCommand; - minValue = distance; - } - }); - return BbPromise.resolve(suggestion); + const commandWordsArray = getCollectCommandWords(allCommandsObject); + let minValue = 0; + _.forEach(commandWordsArray, correctCommand => { + const distance = levenshtein.get(inputCommand, correctCommand); + if (minValue === 0) { + suggestion = correctCommand; + minValue = distance; + } + + if (minValue > distance) { + suggestion = correctCommand; + minValue = distance; + } }); + return suggestion; }; module.exports = getCommandSuggestion; diff --git a/lib/utils/getCommandSuggestion.test.js b/lib/utils/getCommandSuggestion.test.js index d7e32ab040d..56ea4633781 100644 --- a/lib/utils/getCommandSuggestion.test.js +++ b/lib/utils/getCommandSuggestion.test.js @@ -1,33 +1,25 @@ 'use strict'; -const chai = require('chai'); -const getCommandSuggestion = require('./getCommandSuggestion'); -chai.use(require('chai-as-promised')); const expect = require('chai').expect; +const getCommandSuggestion = require('./getCommandSuggestion'); const Serverless = require('../../lib/Serverless'); const serverless = new Serverless(); serverless.init(); describe('#getCommandSuggestion', () => { - it('should return "package" as a suggested command if you input "pekage"', () => - expect(getCommandSuggestion('pekage', serverless.cli.loadedCommands)) - .to.be.fulfilled.then(suggestedCommand => { - expect(suggestedCommand).to.be.equal('package'); - }) - ); + it('should return "package" as a suggested command if you input "pekage"', () => { + const suggestedCommand = getCommandSuggestion('pekage', serverless.cli.loadedCommands); + expect(suggestedCommand).to.be.equal('package'); + }); - it('should return "deploy" as a suggested command if you input "deploi"', () => - expect(getCommandSuggestion('deploi', serverless.cli.loadedCommands)) - .to.be.fulfilled.then(suggestedCommand => { - expect(suggestedCommand).to.be.equal('deploy'); - }) - ); + it('should return "deploy" as a suggested command if you input "deploi"', () => { + const suggestedCommand = getCommandSuggestion('deploi', serverless.cli.loadedCommands); + expect(suggestedCommand).to.be.equal('deploy'); + }); - it('should return "invoke" as a suggested command if you input "lnvoke"', () => - expect(getCommandSuggestion('lnvoke', serverless.cli.loadedCommands)) - .to.be.fulfilled.then(suggestedCommand => { - expect(suggestedCommand).to.be.equal('invoke'); - }) - ); + it('should return "invoke" as a suggested command if you input "lnvoke"', () => { + const suggestedCommand = getCommandSuggestion('lnvoke', serverless.cli.loadedCommands); + expect(suggestedCommand).to.be.equal('invoke'); + }); }); From bca4da55b32ef4051bbb769676133d61fd0a1e68 Mon Sep 17 00:00:00 2001 From: Pavel Vlasov Date: Tue, 19 Dec 2017 20:14:39 +1100 Subject: [PATCH 45/99] add support for serverless.js --- docs/providers/aws/guide/intro.md | 2 +- docs/providers/azure/guide/intro.md | 2 +- docs/providers/google/guide/intro.md | 2 +- docs/providers/kubeless/guide/intro.md | 2 +- docs/providers/openwhisk/guide/intro.md | 2 +- docs/providers/spotinst/guide/intro.md | 2 +- docs/providers/webtasks/guide/intro.md | 2 +- lib/classes/Service.js | 123 ++++++++++-------- lib/classes/Service.test.js | 55 ++++++++ lib/classes/Utils.js | 2 + lib/classes/Utils.test.js | 12 ++ lib/plugins/package/lib/packageService.js | 1 + .../package/lib/packageService.test.js | 4 +- lib/plugins/plugin/install/install.js | 8 ++ lib/plugins/plugin/install/install.test.js | 15 +++ lib/plugins/plugin/lib/utils.js | 9 +- lib/plugins/plugin/lib/utils.test.js | 10 ++ lib/utils/getServerlessConfigFile.js | 4 + lib/utils/getServerlessConfigFile.test.js | 22 +++- 19 files changed, 210 insertions(+), 69 deletions(-) diff --git a/docs/providers/aws/guide/intro.md b/docs/providers/aws/guide/intro.md index 8f042645434..e4ea181a567 100644 --- a/docs/providers/aws/guide/intro.md +++ b/docs/providers/aws/guide/intro.md @@ -58,7 +58,7 @@ The Serverless Framework not only deploys your Functions and the Events that tri ### Services -A **Service** is the Framework's unit of organization. You can think of it as a project file, though you can have multiple services for a single application. It's where you define your Functions, the Events that trigger them, and the Resources your Functions use, all in one file entitled `serverless.yml` (or `serverless.json`). It looks like this: +A **Service** is the Framework's unit of organization. You can think of it as a project file, though you can have multiple services for a single application. It's where you define your Functions, the Events that trigger them, and the Resources your Functions use, all in one file entitled `serverless.yml` (or `serverless.json` or `serverless.js`). It looks like this: ```yml # serverless.yml diff --git a/docs/providers/azure/guide/intro.md b/docs/providers/azure/guide/intro.md index 4f5fe67ec5f..f212424a91b 100644 --- a/docs/providers/azure/guide/intro.md +++ b/docs/providers/azure/guide/intro.md @@ -64,7 +64,7 @@ A **Service** is the Framework's unit of organization. You can think of it as a project file, though you can have multiple services for a single application. It's where you define your Functions, the Events that trigger them, and the Resources your Functions use, all in one file entitled `serverless.yml` (or -`serverless.json`). It looks like this: +`serverless.json` or `serverless.js`). It looks like this: ```yml # serverless.yml diff --git a/docs/providers/google/guide/intro.md b/docs/providers/google/guide/intro.md index af49d99fb03..4fbf37d6a16 100644 --- a/docs/providers/google/guide/intro.md +++ b/docs/providers/google/guide/intro.md @@ -46,7 +46,7 @@ When you define an event for your Google Cloud Function in the Serverless Framew ### Services -A **Service** is the Framework's unit of organization. You can think of it as a project file, though you can have multiple services for a single application. It's where you define your Functions, the Events that trigger them, and the Resources your Functions use, all in one file entitled `serverless.yml` (or `serverless.json`). It looks like this: +A **Service** is the Framework's unit of organization. You can think of it as a project file, though you can have multiple services for a single application. It's where you define your Functions, the Events that trigger them, and the Resources your Functions use, all in one file entitled `serverless.yml` (or `serverless.json` or `serverless.js`). It looks like this: ```yml # serverless.yml diff --git a/docs/providers/kubeless/guide/intro.md b/docs/providers/kubeless/guide/intro.md index a6227c9418f..4a2fdd53354 100644 --- a/docs/providers/kubeless/guide/intro.md +++ b/docs/providers/kubeless/guide/intro.md @@ -42,7 +42,7 @@ Anything that triggers an Kubeless Event to execute is regarded by the Framework ### Services -A **Service** is the Serverless Framework's unit of organization (not to be confused with [Kubernetes Services](https://kubernetes.io/docs/concepts/services-networking/service/). You can think of it as a project file, though you can have multiple services for a single application. It's where you define your Functions and the Events that trigger them, all in one file entitled `serverless.yml` (or `serverless.json`). It looks like this: +A **Service** is the Serverless Framework's unit of organization (not to be confused with [Kubernetes Services](https://kubernetes.io/docs/concepts/services-networking/service/). You can think of it as a project file, though you can have multiple services for a single application. It's where you define your Functions and the Events that trigger them, all in one file entitled `serverless.yml` (or `serverless.json` or `serverless.js`). It looks like this: ```yml # serverless.yml diff --git a/docs/providers/openwhisk/guide/intro.md b/docs/providers/openwhisk/guide/intro.md index cbf4a6c57e8..1306d6254de 100644 --- a/docs/providers/openwhisk/guide/intro.md +++ b/docs/providers/openwhisk/guide/intro.md @@ -47,7 +47,7 @@ When you define an event for your Apache OpenWhisk Action in the Serverless Fram ### Services -A **Service** is the Framework's unit of organization. You can think of it as a project file, though you can have multiple services for a single application. It's where you define your Functions, the Events that trigger them, and the Resources your Functions use, all in one file entitled `serverless.yml` (or `serverless.json`). It looks like this: +A **Service** is the Framework's unit of organization. You can think of it as a project file, though you can have multiple services for a single application. It's where you define your Functions, the Events that trigger them, and the Resources your Functions use, all in one file entitled `serverless.yml` (or `serverless.json` or `serverless.js`). It looks like this: ```yml # serverless.yml diff --git a/docs/providers/spotinst/guide/intro.md b/docs/providers/spotinst/guide/intro.md index fb34107c788..ea915470093 100644 --- a/docs/providers/spotinst/guide/intro.md +++ b/docs/providers/spotinst/guide/intro.md @@ -73,7 +73,7 @@ module.exports.main = function main (event, context, callback) { ### Services -A **Service** is the Framework's unit of organization. You can think of it as a project file, though you can have multiple services for a single application. It's where you define your Functions, the Events that trigger them, and the Resources your Functions use, all in one file entitled `serverless.yml` (or `serverless.json`). It looks like this: +A **Service** is the Framework's unit of organization. You can think of it as a project file, though you can have multiple services for a single application. It's where you define your Functions, the Events that trigger them, and the Resources your Functions use, all in one file entitled `serverless.yml` (or `serverless.json` or `serverless.js`). It looks like this: ```yml diff --git a/docs/providers/webtasks/guide/intro.md b/docs/providers/webtasks/guide/intro.md index 3dce6f97b9b..9a8b18cd094 100644 --- a/docs/providers/webtasks/guide/intro.md +++ b/docs/providers/webtasks/guide/intro.md @@ -24,7 +24,7 @@ Here are the Framework's main concepts and how they pertain to Auth0 Webtasks... A **Service** is the Framework's unit of organization. You can think of it as a project file, though you can have multiple services for a single application. -The Auth0 Webtasks platform was designed to be simple and easy to use with minimal configuration. Therefore, services that uses Auth0 Webtasks are just a few lines of configuration in a single file, entitled `serverless.yml` (or `serverless.json`). It looks like this: +The Auth0 Webtasks platform was designed to be simple and easy to use with minimal configuration. Therefore, services that uses Auth0 Webtasks are just a few lines of configuration in a single file, entitled `serverless.yml` (or `serverless.json` or `serverless.js`). It looks like this: ```yml # serverless.yml diff --git a/lib/classes/Service.js b/lib/classes/Service.js index c69686c81da..bf979e31d33 100644 --- a/lib/classes/Service.js +++ b/lib/classes/Service.js @@ -46,6 +46,7 @@ class Service { 'serverless.yaml', 'serverless.yml', 'serverless.json', + 'serverless.js', ]; const serviceFilePaths = _.map(serviceFilenames, filename => path.join(servicePath, filename)); @@ -61,65 +62,77 @@ class Service { serviceFilenames[serviceFileIndex] : _.first(serviceFilenames); - return that.serverless.yamlParser - .parse(serviceFilePath) - .then((serverlessFileParam) => { - const serverlessFile = serverlessFileParam; - // basic service level validation - const version = this.serverless.utils.getVersion(); - const ymlVersion = serverlessFile.frameworkVersion; - if (ymlVersion && !semver.satisfies(version, ymlVersion)) { - const errorMessage = [ - `The Serverless version (${version}) does not satisfy the`, - ` "frameworkVersion" (${ymlVersion}) in ${serviceFilename}`, - ].join(''); - throw new ServerlessError(errorMessage); - } - if (!serverlessFile.service) { - throw new ServerlessError(`"service" property is missing in ${serviceFilename}`); - } - if (_.isObject(serverlessFile.service) && !serverlessFile.service.name) { - throw new ServerlessError(`"service" is missing the "name" property in ${serviceFilename}`); // eslint-disable-line max-len - } - if (!serverlessFile.provider) { - throw new ServerlessError(`"provider" property is missing in ${serviceFilename}`); - } + if (serviceFilename === 'serverless.js') { + return new BbPromise((resolve) => { + resolve(that.loadServiceFileParam(serviceFilename, require(serviceFilePath))); + }); + } else { + return that.serverless.yamlParser + .parse(serviceFilePath) + .then((serverlessFileParam) => { + return that.loadServiceFileParam(serviceFilename, serverlessFileParam); + }); + } + } - if (typeof serverlessFile.provider !== 'object') { - const providerName = serverlessFile.provider; - serverlessFile.provider = { - name: providerName, - }; - } + loadServiceFileParam(serviceFilename, serverlessFileParam) { + const that = this; - if (_.isObject(serverlessFile.service)) { - that.serviceObject = serverlessFile.service; - that.service = serverlessFile.service.name; - } else { - that.serviceObject = { name: serverlessFile.service }; - that.service = serverlessFile.service; - } + const serverlessFile = serverlessFileParam; + // basic service level validation + const version = this.serverless.utils.getVersion(); + const ymlVersion = serverlessFile.frameworkVersion; + if (ymlVersion && !semver.satisfies(version, ymlVersion)) { + const errorMessage = [ + `The Serverless version (${version}) does not satisfy the`, + ` "frameworkVersion" (${ymlVersion}) in ${serviceFilename}`, + ].join(''); + throw new ServerlessError(errorMessage); + } + if (!serverlessFile.service) { + throw new ServerlessError(`"service" property is missing in ${serviceFilename}`); + } + if (_.isObject(serverlessFile.service) && !serverlessFile.service.name) { + throw new ServerlessError(`"service" is missing the "name" property in ${serviceFilename}`); // eslint-disable-line max-len + } + if (!serverlessFile.provider) { + throw new ServerlessError(`"provider" property is missing in ${serviceFilename}`); + } - that.custom = serverlessFile.custom; - that.plugins = serverlessFile.plugins; - that.resources = serverlessFile.resources; - that.functions = serverlessFile.functions || {}; - - // merge so that the default settings are still in place and - // won't be overwritten - that.provider = _.merge(that.provider, serverlessFile.provider); - - if (serverlessFile.package) { - that.package.individually = serverlessFile.package.individually; - that.package.path = serverlessFile.package.path; - that.package.artifact = serverlessFile.package.artifact; - that.package.exclude = serverlessFile.package.exclude; - that.package.include = serverlessFile.package.include; - that.package.excludeDevDependencies = serverlessFile.package.excludeDevDependencies; - } + if (typeof serverlessFile.provider !== 'object') { + const providerName = serverlessFile.provider; + serverlessFile.provider = { + name: providerName, + }; + } - return this; - }); + if (_.isObject(serverlessFile.service)) { + that.serviceObject = serverlessFile.service; + that.service = serverlessFile.service.name; + } else { + that.serviceObject = { name: serverlessFile.service }; + that.service = serverlessFile.service; + } + + that.custom = serverlessFile.custom; + that.plugins = serverlessFile.plugins; + that.resources = serverlessFile.resources; + that.functions = serverlessFile.functions || {}; + + // merge so that the default settings are still in place and + // won't be overwritten + that.provider = _.merge(that.provider, serverlessFile.provider); + + if (serverlessFile.package) { + that.package.individually = serverlessFile.package.individually; + that.package.path = serverlessFile.package.path; + that.package.artifact = serverlessFile.package.artifact; + that.package.exclude = serverlessFile.package.exclude; + that.package.include = serverlessFile.package.include; + that.package.excludeDevDependencies = serverlessFile.package.excludeDevDependencies; + } + + return this; } setFunctionNames(rawOptions) { diff --git a/lib/classes/Service.test.js b/lib/classes/Service.test.js index 5ea2eb39a98..708d0084ffe 100644 --- a/lib/classes/Service.test.js +++ b/lib/classes/Service.test.js @@ -287,6 +287,61 @@ describe('Service', () => { }); }); + it('should load serverless.js from filesystem', () => { + const SUtils = new Utils(); + const serverlessJSON = { + service: 'new-service', + provider: { + name: 'aws', + stage: 'dev', + region: 'us-east-1', + variableSyntax: '\\${{([ ~:a-zA-Z0-9._\'",\\-\\/\\(\\)]+?)}}', + }, + plugins: ['testPlugin'], + functions: { + functionA: {}, + }, + resources: { + aws: { + resourcesProp: 'value', + }, + azure: {}, + google: {}, + }, + package: { + exclude: ['exclude-me'], + include: ['include-me'], + artifact: 'some/path/foo.zip', + }, + }; + + SUtils.writeFileSync(path.join(tmpDirPath, 'serverless.js'), + `module.exports = ${JSON.stringify(serverlessJSON)};`); + + const serverless = new Serverless(); + serverless.config.update({ servicePath: tmpDirPath }); + serviceInstance = new Service(serverless); + + return expect(serviceInstance.load()).to.eventually.be.fulfilled + .then(() => { + expect(serviceInstance.service).to.be.equal('new-service'); + expect(serviceInstance.provider.name).to.deep.equal('aws'); + expect(serviceInstance.provider.variableSyntax).to.equal( + '\\${{([ ~:a-zA-Z0-9._\'",\\-\\/\\(\\)]+?)}}' + ); + expect(serviceInstance.plugins).to.deep.equal(['testPlugin']); + expect(serviceInstance.resources.aws).to.deep.equal({ resourcesProp: 'value' }); + expect(serviceInstance.resources.azure).to.deep.equal({}); + expect(serviceInstance.resources.google).to.deep.equal({}); + expect(serviceInstance.package.exclude.length).to.equal(1); + expect(serviceInstance.package.exclude[0]).to.equal('exclude-me'); + expect(serviceInstance.package.include.length).to.equal(1); + expect(serviceInstance.package.include[0]).to.equal('include-me'); + expect(serviceInstance.package.artifact).to.equal('some/path/foo.zip'); + expect(serviceInstance.package.excludeDevDependencies).to.equal(undefined); + }); + }); + it('should load YAML in favor of JSON', () => { const SUtils = new Utils(); const serverlessJSON = { diff --git a/lib/classes/Utils.js b/lib/classes/Utils.js index e73a5d3741b..921a5ee596e 100644 --- a/lib/classes/Utils.js +++ b/lib/classes/Utils.js @@ -105,6 +105,8 @@ class Utils { servicePath = process.cwd(); } else if (fileExistsSync(path.join(process.cwd(), 'serverless.json'))) { servicePath = process.cwd(); + } else if (fileExistsSync(path.join(process.cwd(), 'serverless.js'))) { + servicePath = process.cwd(); } return servicePath; diff --git a/lib/classes/Utils.test.js b/lib/classes/Utils.test.js index 890b40191d6..4f8745e1245 100644 --- a/lib/classes/Utils.test.js +++ b/lib/classes/Utils.test.js @@ -281,6 +281,18 @@ describe('Utils', () => { expect(servicePath).to.not.equal(null); }); + it('should detect if the CWD is a service directory when using Serverless .js files', () => { + const tmpDirPath = testUtils.getTmpDirPath(); + const tmpFilePath = path.join(tmpDirPath, 'serverless.js'); + + serverless.utils.writeFileSync(tmpFilePath, 'foo'); + process.chdir(tmpDirPath); + + const servicePath = serverless.utils.findServicePath(); + + expect(servicePath).to.not.equal(null); + }); + it('should detect if the CWD is not a service directory', () => { // just use the root of the tmpdir because findServicePath will // also check parent directories (and may find matching tmp dirs diff --git a/lib/plugins/package/lib/packageService.js b/lib/plugins/package/lib/packageService.js index 0c43ff0b484..67a73208aca 100644 --- a/lib/plugins/package/lib/packageService.js +++ b/lib/plugins/package/lib/packageService.js @@ -14,6 +14,7 @@ module.exports = { 'serverless.yml', 'serverless.yaml', 'serverless.json', + 'serverless.js', '.serverless/**', '.serverless_plugins/**', ], diff --git a/lib/plugins/package/lib/packageService.test.js b/lib/plugins/package/lib/packageService.test.js index 6a1c1d5f925..a625e0f3099 100644 --- a/lib/plugins/package/lib/packageService.test.js +++ b/lib/plugins/package/lib/packageService.test.js @@ -82,7 +82,7 @@ describe('#packageService()', () => { expect(exclude).to.deep.equal([ '.git/**', '.gitignore', '.DS_Store', 'npm-debug.log', 'serverless.yml', - 'serverless.yaml', 'serverless.json', + 'serverless.yaml', 'serverless.json', 'serverless.js', '.serverless/**', '.serverless_plugins/**', 'dir', 'file.js', ]); @@ -102,7 +102,7 @@ describe('#packageService()', () => { expect(exclude).to.deep.equal([ '.git/**', '.gitignore', '.DS_Store', 'npm-debug.log', 'serverless.yml', - 'serverless.yaml', 'serverless.json', + 'serverless.yaml', 'serverless.json', 'serverless.js', '.serverless/**', '.serverless_plugins/**', 'dir', 'file.js', 'lib', 'other.js', ]); diff --git a/lib/plugins/plugin/install/install.js b/lib/plugins/plugin/install/install.js index 932a6cc612b..c70f1335ff3 100644 --- a/lib/plugins/plugin/install/install.js +++ b/lib/plugins/plugin/install/install.js @@ -109,6 +109,14 @@ class PluginInstall { addPluginToServerlessFile() { return this.getServerlessFilePath().then(serverlessFilePath => { + if (_.last(_.split(serverlessFilePath, '.')) === 'js') { + this.serverless.cli.log(` + Can't automatically add plugin into "serverless.js" file. + Please make it manually. + `); + return new BbPromise((resolve) => resolve()); + } + if (_.last(_.split(serverlessFilePath, '.')) === 'json') { return fse.readJsonAsync(serverlessFilePath).then(serverlessFileObj => { const newServerlessFileObj = serverlessFileObj; diff --git a/lib/plugins/plugin/install/install.test.js b/lib/plugins/plugin/install/install.test.js index 5faf7ba9a7d..0eaabe0a536 100644 --- a/lib/plugins/plugin/install/install.test.js +++ b/lib/plugins/plugin/install/install.test.js @@ -357,6 +357,21 @@ describe('PluginInstall', () => { }); }); }); + + it('should not modify serverless .js file', () => { + const serverlessJsFilePath = path.join(servicePath, 'serverless.js'); + const serverlessJson = { + service: 'plugin-service', + provider: 'aws', + }; + serverless.utils + .writeFileSync(serverlessJsFilePath, serverlessJson); + pluginInstall.options.pluginName = 'serverless-plugin-1'; + return expect(pluginInstall.addPluginToServerlessFile()).to.be.fulfilled.then(() => { + expect(serverless.utils.readFileSync(serverlessJsFilePath, 'utf8').plugins) + .to.be.undefined; + }) + }); }); describe('#installPeerDependencies()', () => { diff --git a/lib/plugins/plugin/lib/utils.js b/lib/plugins/plugin/lib/utils.js index 6f74ec36bb7..c4d318260c4 100644 --- a/lib/plugins/plugin/lib/utils.js +++ b/lib/plugins/plugin/lib/utils.js @@ -22,6 +22,7 @@ module.exports = { const serverlessYmlFilePath = path.join(servicePath, 'serverless.yml'); const serverlessYamlFilePath = path.join(servicePath, 'serverless.yaml'); const serverlessJsonFilePath = path.join(servicePath, 'serverless.json'); + const serverlessJsFilePath = path.join(servicePath, 'serverless.js'); return fileExists(serverlessYmlFilePath) .then(ymlExists => { @@ -29,7 +30,13 @@ module.exports = { return fileExists(serverlessYamlFilePath) .then(yamlExists => { if (!yamlExists) { - return serverlessJsonFilePath; + return fileExists(serverlessJsonFilePath).then((jsonExists) => { + if (jsonExists) { + return serverlessJsonFilePath; + } else { + return serverlessJsFilePath; + } + }); } return serverlessYamlFilePath; }); diff --git a/lib/plugins/plugin/lib/utils.test.js b/lib/plugins/plugin/lib/utils.test.js index d89a21b52b2..cb6c549fb58 100644 --- a/lib/plugins/plugin/lib/utils.test.js +++ b/lib/plugins/plugin/lib/utils.test.js @@ -99,6 +99,16 @@ describe('PluginUtils', () => { expect(serverlessFilePath).to.equal(serverlessJsonFilePath); }); }); + + it('should return the correct serverless file path for a .js file', () => { + const serverlessJsFilePath = path.join(servicePath, 'serverless.js'); + fse.ensureFileSync(serverlessJsFilePath); + + return expect(pluginUtils.getServerlessFilePath()).to.be.fulfilled + .then(serverlessFilePath => { + expect(serverlessFilePath).to.equal(serverlessJsFilePath); + }); + }); }); describe('#getPlugins()', () => { diff --git a/lib/utils/getServerlessConfigFile.js b/lib/utils/getServerlessConfigFile.js index 06e566033cb..438e8f0a6d2 100644 --- a/lib/utils/getServerlessConfigFile.js +++ b/lib/utils/getServerlessConfigFile.js @@ -10,11 +10,13 @@ const getServerlessConfigFile = _.memoize((servicePath) => { const jsonPath = path.join(servicePath, 'serverless.json'); const ymlPath = path.join(servicePath, 'serverless.yml'); const yamlPath = path.join(servicePath, 'serverless.yaml'); + const jsPath = path.join(servicePath, 'serverless.js'); return BbPromise.props({ json: fileExists(jsonPath), yml: fileExists(ymlPath), yaml: fileExists(yamlPath), + js: fileExists(jsPath) }).then((exists) => { if (exists.json) { return readFile(jsonPath); @@ -22,6 +24,8 @@ const getServerlessConfigFile = _.memoize((servicePath) => { return readFile(ymlPath); } else if (exists.yaml) { return readFile(yamlPath); + } else if (exists.js) { + return require(jsPath); } return ''; }); diff --git a/lib/utils/getServerlessConfigFile.test.js b/lib/utils/getServerlessConfigFile.test.js index 3be22a09cb5..dfc722f7a18 100644 --- a/lib/utils/getServerlessConfigFile.test.js +++ b/lib/utils/getServerlessConfigFile.test.js @@ -18,7 +18,7 @@ describe('#getServerlessConfigFile()', () => { writeFileSync(randomFilePath, 'some content'); return expect(getServerlessConfigFile(tmpDirPath)).to.be.fulfilled.then((result) => { - expect(result).to.equal(''); + expect(result).to.equal(''); }); }); @@ -27,7 +27,7 @@ describe('#getServerlessConfigFile()', () => { writeFileSync(serverlessFilePath, 'service: my-yml-service'); return expect(getServerlessConfigFile(tmpDirPath)).to.be.fulfilled.then((result) => { - expect(result).to.deep.equal({ service: 'my-yml-service' }); + expect(result).to.deep.equal({ service: 'my-yml-service' }); }); }); @@ -36,7 +36,7 @@ describe('#getServerlessConfigFile()', () => { writeFileSync(serverlessFilePath, 'service: my-yaml-service'); return expect(getServerlessConfigFile(tmpDirPath)).to.be.fulfilled.then((result) => { - expect(result).to.deep.equal({ service: 'my-yaml-service' }); + expect(result).to.deep.equal({ service: 'my-yaml-service' }); }); }); @@ -45,7 +45,21 @@ describe('#getServerlessConfigFile()', () => { writeFileSync(serverlessFilePath, '{ "service": "my-json-service" }'); return expect(getServerlessConfigFile(tmpDirPath)).to.be.fulfilled.then((result) => { - expect(result).to.deep.equal({ service: 'my-json-service' }); + expect(result).to.deep.equal({ service: 'my-json-service' }); }); }); + + it('should return the file content if a serverless.js file found', () => { + const serverlessFilePath = path.join(tmpDirPath, 'serverless.js'); + writeFileSync( + serverlessFilePath, + 'module.exports = {"service": "my-json-service"};' + ); + + return expect(getServerlessConfigFile(tmpDirPath)).to.be.fulfilled.then( + (result) => { + expect(result).to.deep.equal({ service: 'my-json-service' }); + } + ); + }); }); From ea7c6620afbda29ec22f2e3d0abc1d9e0abac6ec Mon Sep 17 00:00:00 2001 From: Pavel Vlasov Date: Tue, 19 Dec 2017 20:35:07 +1100 Subject: [PATCH 46/99] fix eslint --- lib/classes/Service.js | 14 ++++++++------ lib/plugins/plugin/install/install.test.js | 11 +++++++---- lib/plugins/plugin/lib/utils.js | 3 +-- lib/utils/getServerlessConfigFile.js | 4 +++- lib/utils/getServerlessConfigFile.test.js | 8 ++++---- 5 files changed, 23 insertions(+), 17 deletions(-) diff --git a/lib/classes/Service.js b/lib/classes/Service.js index bf979e31d33..e52561be664 100644 --- a/lib/classes/Service.js +++ b/lib/classes/Service.js @@ -64,15 +64,17 @@ class Service { if (serviceFilename === 'serverless.js') { return new BbPromise((resolve) => { + // use require to load serverless.js file + // eslint-disable-next-line global-require resolve(that.loadServiceFileParam(serviceFilename, require(serviceFilePath))); }); - } else { - return that.serverless.yamlParser - .parse(serviceFilePath) - .then((serverlessFileParam) => { - return that.loadServiceFileParam(serviceFilename, serverlessFileParam); - }); } + + return that.serverless.yamlParser + .parse(serviceFilePath) + .then((serverlessFileParam) => + that.loadServiceFileParam(serviceFilename, serverlessFileParam) + ); } loadServiceFileParam(serviceFilename, serverlessFileParam) { diff --git a/lib/plugins/plugin/install/install.test.js b/lib/plugins/plugin/install/install.test.js index 0eaabe0a536..396dd603a16 100644 --- a/lib/plugins/plugin/install/install.test.js +++ b/lib/plugins/plugin/install/install.test.js @@ -363,14 +363,17 @@ describe('PluginInstall', () => { const serverlessJson = { service: 'plugin-service', provider: 'aws', + plugins: [], }; serverless.utils - .writeFileSync(serverlessJsFilePath, serverlessJson); + .writeFileSync(serverlessJsFilePath, `module.exports = ${JSON.stringify(serverlessJson)};`); pluginInstall.options.pluginName = 'serverless-plugin-1'; return expect(pluginInstall.addPluginToServerlessFile()).to.be.fulfilled.then(() => { - expect(serverless.utils.readFileSync(serverlessJsFilePath, 'utf8').plugins) - .to.be.undefined; - }) + // use require to load serverless.js + // eslint-disable-next-line global-require + expect(require(serverlessJsFilePath).plugins) + .to.be.deep.equal([]); + }); }); }); diff --git a/lib/plugins/plugin/lib/utils.js b/lib/plugins/plugin/lib/utils.js index c4d318260c4..b75ea0e4f64 100644 --- a/lib/plugins/plugin/lib/utils.js +++ b/lib/plugins/plugin/lib/utils.js @@ -33,9 +33,8 @@ module.exports = { return fileExists(serverlessJsonFilePath).then((jsonExists) => { if (jsonExists) { return serverlessJsonFilePath; - } else { - return serverlessJsFilePath; } + return serverlessJsFilePath; }); } return serverlessYamlFilePath; diff --git a/lib/utils/getServerlessConfigFile.js b/lib/utils/getServerlessConfigFile.js index 438e8f0a6d2..8f17c05bb18 100644 --- a/lib/utils/getServerlessConfigFile.js +++ b/lib/utils/getServerlessConfigFile.js @@ -16,7 +16,7 @@ const getServerlessConfigFile = _.memoize((servicePath) => { json: fileExists(jsonPath), yml: fileExists(ymlPath), yaml: fileExists(yamlPath), - js: fileExists(jsPath) + js: fileExists(jsPath), }).then((exists) => { if (exists.json) { return readFile(jsonPath); @@ -25,6 +25,8 @@ const getServerlessConfigFile = _.memoize((servicePath) => { } else if (exists.yaml) { return readFile(yamlPath); } else if (exists.js) { + // use require to load serverless.js + // eslint-disable-next-line global-require return require(jsPath); } return ''; diff --git a/lib/utils/getServerlessConfigFile.test.js b/lib/utils/getServerlessConfigFile.test.js index dfc722f7a18..eabd2ef763b 100644 --- a/lib/utils/getServerlessConfigFile.test.js +++ b/lib/utils/getServerlessConfigFile.test.js @@ -18,7 +18,7 @@ describe('#getServerlessConfigFile()', () => { writeFileSync(randomFilePath, 'some content'); return expect(getServerlessConfigFile(tmpDirPath)).to.be.fulfilled.then((result) => { - expect(result).to.equal(''); + expect(result).to.equal(''); }); }); @@ -27,7 +27,7 @@ describe('#getServerlessConfigFile()', () => { writeFileSync(serverlessFilePath, 'service: my-yml-service'); return expect(getServerlessConfigFile(tmpDirPath)).to.be.fulfilled.then((result) => { - expect(result).to.deep.equal({ service: 'my-yml-service' }); + expect(result).to.deep.equal({ service: 'my-yml-service' }); }); }); @@ -36,7 +36,7 @@ describe('#getServerlessConfigFile()', () => { writeFileSync(serverlessFilePath, 'service: my-yaml-service'); return expect(getServerlessConfigFile(tmpDirPath)).to.be.fulfilled.then((result) => { - expect(result).to.deep.equal({ service: 'my-yaml-service' }); + expect(result).to.deep.equal({ service: 'my-yaml-service' }); }); }); @@ -45,7 +45,7 @@ describe('#getServerlessConfigFile()', () => { writeFileSync(serverlessFilePath, '{ "service": "my-json-service" }'); return expect(getServerlessConfigFile(tmpDirPath)).to.be.fulfilled.then((result) => { - expect(result).to.deep.equal({ service: 'my-json-service' }); + expect(result).to.deep.equal({ service: 'my-json-service' }); }); }); From d05e45668ef5973dbb0df1a1be585fb8a5c383a8 Mon Sep 17 00:00:00 2001 From: Pavel Vlasov Date: Wed, 20 Dec 2017 08:50:10 +1100 Subject: [PATCH 47/99] validate serverless.js to export plain object + address feedback --- lib/classes/Service.js | 12 +++++++++--- lib/classes/Service.test.js | 14 ++++++++++++++ lib/utils/getServerlessConfigFile.js | 13 ++++++++++--- lib/utils/getServerlessConfigFile.test.js | 11 +++++++++++ 4 files changed, 44 insertions(+), 6 deletions(-) diff --git a/lib/classes/Service.js b/lib/classes/Service.js index e52561be664..68991debd7e 100644 --- a/lib/classes/Service.js +++ b/lib/classes/Service.js @@ -63,10 +63,16 @@ class Service { _.first(serviceFilenames); if (serviceFilename === 'serverless.js') { - return new BbPromise((resolve) => { + return BbPromise.try(() => { // use require to load serverless.js file // eslint-disable-next-line global-require - resolve(that.loadServiceFileParam(serviceFilename, require(serviceFilePath))); + const config = require(serviceFilePath); + + if (!_.isPlainObject(config)) { + throw new Error('serverless.js must export plain object'); + } + + return that.loadServiceFileParam(serviceFilename, config); }); } @@ -101,7 +107,7 @@ class Service { throw new ServerlessError(`"provider" property is missing in ${serviceFilename}`); } - if (typeof serverlessFile.provider !== 'object') { + if (!_.isObject(serverlessFile.provider)) { const providerName = serverlessFile.provider; serverlessFile.provider = { name: providerName, diff --git a/lib/classes/Service.test.js b/lib/classes/Service.test.js index 708d0084ffe..96bf7529fad 100644 --- a/lib/classes/Service.test.js +++ b/lib/classes/Service.test.js @@ -342,6 +342,20 @@ describe('Service', () => { }); }); + it('should throw error if serverless.js exports invalid config', () => { + const SUtils = new Utils(); + + SUtils.writeFileSync(path.join(tmpDirPath, 'serverless.js'), + 'module.exports = function config() {};'); + + const serverless = new Serverless(); + serverless.config.update({ servicePath: tmpDirPath }); + serviceInstance = new Service(serverless); + + return expect(serviceInstance.load()) + .to.be.rejectedWith('serverless.js must export plain object'); + }); + it('should load YAML in favor of JSON', () => { const SUtils = new Utils(); const serverlessJSON = { diff --git a/lib/utils/getServerlessConfigFile.js b/lib/utils/getServerlessConfigFile.js index 8f17c05bb18..a85a1b67b6f 100644 --- a/lib/utils/getServerlessConfigFile.js +++ b/lib/utils/getServerlessConfigFile.js @@ -25,9 +25,16 @@ const getServerlessConfigFile = _.memoize((servicePath) => { } else if (exists.yaml) { return readFile(yamlPath); } else if (exists.js) { - // use require to load serverless.js - // eslint-disable-next-line global-require - return require(jsPath); + return BbPromise.try(() => { + // use require to load serverless.js + // eslint-disable-next-line global-require + const config = require(jsPath); + + if (_.isPlainObject(config)) { + return config; + } + throw new Error('serverless.js must export plain object'); + }); } return ''; }); diff --git a/lib/utils/getServerlessConfigFile.test.js b/lib/utils/getServerlessConfigFile.test.js index eabd2ef763b..2d6c0fa488e 100644 --- a/lib/utils/getServerlessConfigFile.test.js +++ b/lib/utils/getServerlessConfigFile.test.js @@ -62,4 +62,15 @@ describe('#getServerlessConfigFile()', () => { } ); }); + + it('should throw an error, if serverless.js export not a plain object', () => { + const serverlessFilePath = path.join(tmpDirPath, 'serverless.js'); + writeFileSync( + serverlessFilePath, + 'module.exports = function config() {};' + ); + + return expect(getServerlessConfigFile(tmpDirPath)) + .to.be.rejectedWith('serverless.js must export plain object'); + }); }); From 11cf69bd80e93dd2ec158bbd0e99205d73181827 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesu=CC=81s=20A=2E=20A=CC=81lvarez?= Date: Tue, 5 Dec 2017 16:34:13 +0100 Subject: [PATCH 48/99] fall back to POJO if handler doesn't take Map --- .../java/com/serverless/InvokeBridge.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/lib/plugins/aws/invokeLocal/java/src/main/java/com/serverless/InvokeBridge.java b/lib/plugins/aws/invokeLocal/java/src/main/java/com/serverless/InvokeBridge.java index ab962942669..e7f8ef7705e 100644 --- a/lib/plugins/aws/invokeLocal/java/src/main/java/com/serverless/InvokeBridge.java +++ b/lib/plugins/aws/invokeLocal/java/src/main/java/com/serverless/InvokeBridge.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import java.beans.Introspector; +import java.beans.PropertyDescriptor; import java.io.BufferedReader; import java.io.File; import java.io.IOException; @@ -57,8 +59,23 @@ private Object getInstance() throws Exception { private Object invoke(HashMap event, Context context) throws Exception { Method[] methods = this.clazz.getDeclaredMethods(); - - return methods[1].invoke(this.instance, event, context); + Method method = methods[1]; + Class requestClass = method.getParameterTypes()[0]; + + if (requestClass.isAssignableFrom(event.getClass())) { + return method.invoke(this.instance, event, context); + } else { + Object request = requestClass.newInstance(); + PropertyDescriptor[] properties = Introspector.getBeanInfo(requestClass).getPropertyDescriptors(); + for(int i=0; i < properties.length; i++) { + if (properties[i].getWriteMethod() == null) continue; + String propertyName = properties[i].getName(); + if (event.containsKey(propertyName)) { + properties[i].getWriteMethod().invoke(request, event.get(propertyName)); + } + } + return method.invoke(this.instance, request, context); + } } private HashMap parseInput(String input) throws IOException { From d9c986e97f28e33b4e83beb4bf93028e274386cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesu=CC=81s=20A=2E=20A=CC=81lvarez?= Date: Wed, 6 Dec 2017 13:47:39 +0100 Subject: [PATCH 49/99] pass handler name to java --- lib/plugins/aws/invokeLocal/index.js | 21 ++++++++++++++------- lib/plugins/aws/invokeLocal/index.test.js | 6 ++++++ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/lib/plugins/aws/invokeLocal/index.js b/lib/plugins/aws/invokeLocal/index.js index f73c5cb10fe..49cd79b349f 100644 --- a/lib/plugins/aws/invokeLocal/index.js +++ b/lib/plugins/aws/invokeLocal/index.js @@ -118,10 +118,10 @@ class AwsInvokeLocal { || this.serverless.service.provider.runtime || 'nodejs4.3'; const handler = this.options.functionObj.handler; - const handlerPath = handler.split('.')[0]; - const handlerName = handler.split('.')[1]; if (runtime.startsWith('nodejs')) { + const handlerPath = handler.split('.')[0]; + const handlerName = handler.split('.')[1]; return this.invokeLocalNodeJs( handlerPath, handlerName, @@ -130,6 +130,8 @@ class AwsInvokeLocal { } if (runtime === 'python2.7' || runtime === 'python3.6') { + const handlerPath = handler.split('.')[0]; + const handlerName = handler.split('.')[1]; return this.invokeLocalPython( process.platform === 'win32' ? 'python.exe' : runtime, handlerPath, @@ -139,9 +141,12 @@ class AwsInvokeLocal { } if (runtime === 'java8') { + const className = handler.split('::')[0]; + const handlerName = handler.split('::')[1] || 'handleRequest'; return this.invokeLocalJava( 'java', - handler, + className, + handlerName, this.serverless.service.package.artifact, this.options.data, this.options.context); @@ -177,11 +182,12 @@ class AwsInvokeLocal { }); } - callJavaBridge(artifactPath, className, input) { + callJavaBridge(artifactPath, className, handlerName, input) { return new BbPromise((resolve) => fs.statAsync(artifactPath).then(() => { const java = spawn('java', [ `-DartifactPath=${artifactPath}`, `-DclassName=${className}`, + `-DhandlerName=${handlerName}`, '-jar', path.join(__dirname, 'java', 'target', 'invoke-bridge-1.0.jar'), ]); @@ -201,7 +207,7 @@ class AwsInvokeLocal { })); } - invokeLocalJava(runtime, className, artifactPath, event, customContext) { + invokeLocalJava(runtime, className, handlerName, artifactPath, event, customContext) { const timeout = Number(this.options.functionObj.timeout) || Number(this.serverless.service.provider.timeout) || 6; @@ -220,7 +226,7 @@ class AwsInvokeLocal { const executablePath = path.join(javaBridgePath, 'target'); return new BbPromise(resolve => fs.statAsync(executablePath) - .then(() => this.callJavaBridge(artifactPath, className, input)) + .then(() => this.callJavaBridge(artifactPath, className, handlerName, input)) .then(resolve) .catch(() => { const mvn = spawn('mvn', [ @@ -235,7 +241,8 @@ class AwsInvokeLocal { mvn.stderr.on('data', (buf) => this.serverless.cli.consoleLog(`mvn - ${buf.toString()}`)); mvn.stdin.end(); - mvn.on('close', () => this.callJavaBridge(artifactPath, className, input).then(resolve)); + mvn.on('close', () => this.callJavaBridge(artifactPath, className, handlerName, input) + .then(resolve)); })); } diff --git a/lib/plugins/aws/invokeLocal/index.test.js b/lib/plugins/aws/invokeLocal/index.test.js index d2542acaeb6..c2e83743507 100644 --- a/lib/plugins/aws/invokeLocal/index.test.js +++ b/lib/plugins/aws/invokeLocal/index.test.js @@ -379,6 +379,7 @@ describe('AwsInvokeLocal', () => { expect(invokeLocalJavaStub.calledWithExactly( 'java', 'handler.hello', + 'handleRequest', undefined, {}, undefined @@ -588,6 +589,7 @@ describe('AwsInvokeLocal', () => { awsInvokeLocalMocked.callJavaBridge( __dirname, 'com.serverless.Handler', + 'handleRequest', '{}' ).then(() => { expect(writeChildStub.calledOnce).to.be.equal(true); @@ -625,6 +627,7 @@ describe('AwsInvokeLocal', () => { awsInvokeLocal.invokeLocalJava( 'java', 'com.serverless.Handler', + 'handleRequest', __dirname, {} ).then(() => { @@ -632,6 +635,7 @@ describe('AwsInvokeLocal', () => { expect(callJavaBridgeStub.calledWithExactly( __dirname, 'com.serverless.Handler', + 'handleRequest', JSON.stringify({ event: {}, context: { @@ -694,6 +698,7 @@ describe('AwsInvokeLocal', () => { awsInvokeLocalMocked.invokeLocalJava( 'java', 'com.serverless.Handler', + 'handleRequest', __dirname, {} ).then(() => { @@ -701,6 +706,7 @@ describe('AwsInvokeLocal', () => { expect(callJavaBridgeMockedStub.calledWithExactly( __dirname, 'com.serverless.Handler', + 'handleRequest', JSON.stringify({ event: {}, context: { From db08b03be41605865e761ccc49f20deceeda2a22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesu=CC=81s=20A=2E=20A=CC=81lvarez?= Date: Wed, 6 Dec 2017 14:11:07 +0100 Subject: [PATCH 50/99] resolve handler method like AWS lambda --- .../java/com/serverless/InvokeBridge.java | 42 ++++++++++++++++--- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/lib/plugins/aws/invokeLocal/java/src/main/java/com/serverless/InvokeBridge.java b/lib/plugins/aws/invokeLocal/java/src/main/java/com/serverless/InvokeBridge.java index e7f8ef7705e..879c52f2fc5 100644 --- a/lib/plugins/aws/invokeLocal/java/src/main/java/com/serverless/InvokeBridge.java +++ b/lib/plugins/aws/invokeLocal/java/src/main/java/com/serverless/InvokeBridge.java @@ -18,12 +18,14 @@ public class InvokeBridge { private File artifact; private String className; + private String handlerName; private Object instance; private Class clazz; private InvokeBridge() { this.artifact = new File(new File("."), System.getProperty("artifactPath")); this.className = System.getProperty("className"); + this.handlerName = System.getProperty("handlerName"); try { HashMap parsedInput = parseInput(getInput()); @@ -58,14 +60,12 @@ private Object getInstance() throws Exception { } private Object invoke(HashMap event, Context context) throws Exception { - Method[] methods = this.clazz.getDeclaredMethods(); - Method method = methods[1]; + Method method = findHandlerMethod(this.clazz, this.handlerName); Class requestClass = method.getParameterTypes()[0]; - if (requestClass.isAssignableFrom(event.getClass())) { - return method.invoke(this.instance, event, context); - } else { - Object request = requestClass.newInstance(); + Object request = event; + if (!requestClass.isAssignableFrom(event.getClass())) { + request = requestClass.newInstance(); PropertyDescriptor[] properties = Introspector.getBeanInfo(requestClass).getPropertyDescriptors(); for(int i=0; i < properties.length; i++) { if (properties[i].getWriteMethod() == null) continue; @@ -74,8 +74,38 @@ private Object invoke(HashMap event, Context context) throws Exc properties[i].getWriteMethod().invoke(request, event.get(propertyName)); } } + } + + if (method.getParameterCount() == 1) { + return method.invoke(this.instance, request); + } else if (method.getParameterCount() == 2) { return method.invoke(this.instance, request, context); + } else { + throw new NoSuchMethodException("Handler should take 1 or 2 arguments: " + method); + } + } + + private Method findHandlerMethod(Class clazz, String handlerName) throws Exception { + Method candidateMethod = null; + for(Method method: clazz.getDeclaredMethods()) { + if (method.getName().equals(handlerName) && !method.isBridge()) { + // Select the method with the largest number of parameters + // If two or more methods have the same number of parameters, AWS Lambda selects the method that has + // the Context as the last parameter. + // If none or all of these methods have the Context parameter, then the behavior is undefined. + int paramCount = method.getParameterCount(); + boolean lastParamIsContext = paramCount >= 1 && method.getParameterTypes()[paramCount-1].getName().equals("com.amazonaws.services.lambda.runtime.Context"); + if (candidateMethod == null || paramCount > candidateMethod.getParameterCount() || (paramCount == candidateMethod.getParameterCount() && lastParamIsContext)) { + candidateMethod = method; + } + } } + + if (candidateMethod == null) { + throw new NoSuchMethodException("Could not find handler for " + handlerName + " in " + clazz.getName()); + } + + return candidateMethod; } private HashMap parseInput(String input) throws IOException { From d2ed15839b7b0c5f6e5134be2bf36e9c9bcbe7b9 Mon Sep 17 00:00:00 2001 From: Pavel Vlasov Date: Thu, 21 Dec 2017 14:24:17 +1100 Subject: [PATCH 51/99] refactor getServerlessFilePath --- lib/plugins/plugin/lib/utils.js | 43 +++++++++++++++------------- lib/plugins/plugin/lib/utils.test.js | 4 +++ 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/lib/plugins/plugin/lib/utils.js b/lib/plugins/plugin/lib/utils.js index b75ea0e4f64..2bed10b7fc6 100644 --- a/lib/plugins/plugin/lib/utils.js +++ b/lib/plugins/plugin/lib/utils.js @@ -19,28 +19,31 @@ module.exports = { getServerlessFilePath() { const servicePath = this.serverless.config.servicePath; - const serverlessYmlFilePath = path.join(servicePath, 'serverless.yml'); - const serverlessYamlFilePath = path.join(servicePath, 'serverless.yaml'); - const serverlessJsonFilePath = path.join(servicePath, 'serverless.json'); - const serverlessJsFilePath = path.join(servicePath, 'serverless.js'); + const ymlFilePath = path.join(servicePath, 'serverless.yml'); + const yamlFilePath = path.join(servicePath, 'serverless.yaml'); + const jsonFilePath = path.join(servicePath, 'serverless.json'); + const jsFilePath = path.join(servicePath, 'serverless.js'); - return fileExists(serverlessYmlFilePath) - .then(ymlExists => { - if (!ymlExists) { - return fileExists(serverlessYamlFilePath) - .then(yamlExists => { - if (!yamlExists) { - return fileExists(serverlessJsonFilePath).then((jsonExists) => { - if (jsonExists) { - return serverlessJsonFilePath; - } - return serverlessJsFilePath; - }); - } - return serverlessYamlFilePath; - }); + return BbPromise.props({ + json: fileExists(jsonFilePath), + yml: fileExists(ymlFilePath), + yaml: fileExists(yamlFilePath), + js: fileExists(jsFilePath), + }).then((exists) => { + if (exists.yml) { + return ymlFilePath; + } else if (exists.yaml) { + return yamlFilePath; + } else if (exists.json) { + return jsonFilePath; + } else if (exists.js) { + return jsFilePath; } - return serverlessYmlFilePath; + return BbPromise.reject( + new this.serverless.classes.Error( + 'Could not find any serverless service definition file.' + ) + ); }); }, diff --git a/lib/plugins/plugin/lib/utils.test.js b/lib/plugins/plugin/lib/utils.test.js index cb6c549fb58..018883a2f57 100644 --- a/lib/plugins/plugin/lib/utils.test.js +++ b/lib/plugins/plugin/lib/utils.test.js @@ -109,6 +109,10 @@ describe('PluginUtils', () => { expect(serverlessFilePath).to.equal(serverlessJsFilePath); }); }); + + it('should reject if no configuration file exists', () => + expect(pluginUtils.getServerlessFilePath()) + .to.be.rejectedWith('Could not find any serverless service definition file.')); }); describe('#getPlugins()', () => { From a2ae114b2e771f673977a53f10e9bf253f6e7069 Mon Sep 17 00:00:00 2001 From: Pavel Vlasov Date: Thu, 21 Dec 2017 14:37:03 +1100 Subject: [PATCH 52/99] show warning on plugin uninstall for serverless.js config --- lib/plugins/plugin/install/install.js | 2 +- lib/plugins/plugin/uninstall/uninstall.js | 8 ++++++ .../plugin/uninstall/uninstall.test.js | 25 +++++++++++++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/lib/plugins/plugin/install/install.js b/lib/plugins/plugin/install/install.js index c70f1335ff3..c688128bba8 100644 --- a/lib/plugins/plugin/install/install.js +++ b/lib/plugins/plugin/install/install.js @@ -114,7 +114,7 @@ class PluginInstall { Can't automatically add plugin into "serverless.js" file. Please make it manually. `); - return new BbPromise((resolve) => resolve()); + return BbPromise.resolve(); } if (_.last(_.split(serverlessFilePath, '.')) === 'json') { diff --git a/lib/plugins/plugin/uninstall/uninstall.js b/lib/plugins/plugin/uninstall/uninstall.js index 55f55adba05..05580a98ab8 100644 --- a/lib/plugins/plugin/uninstall/uninstall.js +++ b/lib/plugins/plugin/uninstall/uninstall.js @@ -78,6 +78,14 @@ class PluginUninstall { removePluginFromServerlessFile() { return this.getServerlessFilePath().then(serverlessFilePath => { + if (_.last(_.split(serverlessFilePath, '.')) === 'js') { + this.serverless.cli.log(` + Can't automatically remove plugin from "serverless.js" file. + Please make it manually. + `); + return BbPromise.resolve(); + } + if (_.last(_.split(serverlessFilePath, '.')) === 'json') { return fse.readJsonAsync(serverlessFilePath).then(serverlessFileObj => { if (serverlessFileObj.plugins) { diff --git a/lib/plugins/plugin/uninstall/uninstall.test.js b/lib/plugins/plugin/uninstall/uninstall.test.js index 9b86b85a89e..a119fbbc0ea 100644 --- a/lib/plugins/plugin/uninstall/uninstall.test.js +++ b/lib/plugins/plugin/uninstall/uninstall.test.js @@ -339,6 +339,31 @@ describe('PluginUninstall', () => { .to.not.have.property('plugins'); })); }); + + it('should not modify serverless .js file', () => { + it('should not modify serverless .js file', () => { + const serverlessJsFilePath = path.join(servicePath, 'serverless.js'); + const serverlessJson = { + service: 'plugin-service', + provider: 'aws', + plugins: [ + 'serverless-plugin-1', + 'serverless-plugin-2', + ], + }; + serverless.utils.writeFileSync( + serverlessJsFilePath, + `module.exports = ${JSON.stringify(serverlessJson)};` + ); + pluginUninstall.options.pluginName = 'serverless-plugin-1'; + return expect(pluginUninstall.removePluginFromServerlessFile()).to.be.fulfilled.then(() => { + // use require to load serverless.js + // eslint-disable-next-line global-require + expect(require(serverlessJsFilePath).plugins) + .to.be.deep.equal(serverlessJson.plugins); + }); + }); + }); }); describe('#uninstallPeerDependencies()', () => { From 9def00bfa560f59779fc3bff8e594b6af9d03952 Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Thu, 21 Dec 2017 10:46:14 -0800 Subject: [PATCH 53/99] Spotinst - adding stage variable to templates and docs --- docs/providers/spotinst/README.md | 1 + docs/providers/spotinst/guide/stage.md | 35 +++++++++++++++++++ .../templates/spotinst-java8/serverless.yml | 1 + .../templates/spotinst-nodejs/serverless.yml | 1 + .../templates/spotinst-python/serverless.yml | 1 + .../templates/spotinst-ruby/serverless.yml | 1 + 6 files changed, 40 insertions(+) create mode 100644 docs/providers/spotinst/guide/stage.md diff --git a/docs/providers/spotinst/README.md b/docs/providers/spotinst/README.md index 50999912d7f..93b72d500c1 100755 --- a/docs/providers/spotinst/README.md +++ b/docs/providers/spotinst/README.md @@ -30,6 +30,7 @@ If you have questions, join the [chat in gitter](https://gitter.im/serverless/se
  • Serverless.yml Reference
  • Variables
  • Document Store
  • +
  • Stage Variable
  • diff --git a/docs/providers/spotinst/guide/stage.md b/docs/providers/spotinst/guide/stage.md new file mode 100644 index 00000000000..2f9ca07e3fe --- /dev/null +++ b/docs/providers/spotinst/guide/stage.md @@ -0,0 +1,35 @@ + + + +### [Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/spotinst/guide/credentials) + + +# Spotinst Functions - Stage Variables + +You are able to set a stage variable in your function to distinguish between the multiple stages that your function maybe going through. The function is initially set to 'dev' for development but there are two ways you can change the stage if you so need. + +##Through Serverless Framwork +To change the stage through the serverless framework you simply need to enter the command + +```bash +serverless deploy --stage #{Your Stage Name} +``` + +##Through the .yml File + +To change the stage in the serverless.yml file you need to add the following into the provider tag then deploy your function as usual + +```bash +provider: + name: spotinst + stage: #{Your Stage Name} + spotinst: + environment: #{Your Environment ID} +``` + diff --git a/lib/plugins/create/templates/spotinst-java8/serverless.yml b/lib/plugins/create/templates/spotinst-java8/serverless.yml index f5201d11add..088814abc58 100644 --- a/lib/plugins/create/templates/spotinst-java8/serverless.yml +++ b/lib/plugins/create/templates/spotinst-java8/serverless.yml @@ -15,6 +15,7 @@ service: spotinst-java8 provider: name: spotinst + #stage: #Optional setting. By default it is set to 'dev' spotinst: #environment: # NOTE: Remember to add the environment ID diff --git a/lib/plugins/create/templates/spotinst-nodejs/serverless.yml b/lib/plugins/create/templates/spotinst-nodejs/serverless.yml index fbb13eae268..b0079fcde84 100644 --- a/lib/plugins/create/templates/spotinst-nodejs/serverless.yml +++ b/lib/plugins/create/templates/spotinst-nodejs/serverless.yml @@ -15,6 +15,7 @@ service: spotinst-nodejs # NOTE: update this with your service name provider: name: spotinst + #stage: #Optional setting. By default it is set to 'dev' spotinst: #environment: # NOTE: Remember to add the environment ID diff --git a/lib/plugins/create/templates/spotinst-python/serverless.yml b/lib/plugins/create/templates/spotinst-python/serverless.yml index 866d5a8fca1..a78c753b7ef 100644 --- a/lib/plugins/create/templates/spotinst-python/serverless.yml +++ b/lib/plugins/create/templates/spotinst-python/serverless.yml @@ -15,6 +15,7 @@ service: spotinst-python # NOTE: update this with your service name provider: name: spotinst + #stage: #Optional setting. By default it is set to 'dev' spotinst: #environment: # NOTE: Remember to add the environment ID diff --git a/lib/plugins/create/templates/spotinst-ruby/serverless.yml b/lib/plugins/create/templates/spotinst-ruby/serverless.yml index c76c951fece..0a1f291023f 100644 --- a/lib/plugins/create/templates/spotinst-ruby/serverless.yml +++ b/lib/plugins/create/templates/spotinst-ruby/serverless.yml @@ -15,6 +15,7 @@ service: spotinst-ruby # NOTE: update this with your service name provider: name: spotinst + #stage: #Optional setting. By default it is set to 'dev' spotinst: #environment: # NOTE: Remember to add the environment ID From 3158c4ca3eeed21590f98743cee0e521f0346bb0 Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Thu, 21 Dec 2017 10:53:10 -0800 Subject: [PATCH 54/99] Spotinst - docs change --- docs/providers/spotinst/guide/stage.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/providers/spotinst/guide/stage.md b/docs/providers/spotinst/guide/stage.md index 2f9ca07e3fe..37357a5557d 100644 --- a/docs/providers/spotinst/guide/stage.md +++ b/docs/providers/spotinst/guide/stage.md @@ -14,14 +14,14 @@ layout: Doc You are able to set a stage variable in your function to distinguish between the multiple stages that your function maybe going through. The function is initially set to 'dev' for development but there are two ways you can change the stage if you so need. -##Through Serverless Framwork +## Through Serverless Framwork To change the stage through the serverless framework you simply need to enter the command ```bash serverless deploy --stage #{Your Stage Name} ``` -##Through the .yml File +## Through the .yml File To change the stage in the serverless.yml file you need to add the following into the provider tag then deploy your function as usual From b444155a279992efc5dd402179d8ae1450745a4d Mon Sep 17 00:00:00 2001 From: Will Yang Date: Fri, 22 Dec 2017 11:15:31 +1100 Subject: [PATCH 55/99] improve aws cloudwatchlog filter to avoid massive quotes in serverless.yml --- .../compile/events/cloudWatchLog/index.js | 2 +- .../events/cloudWatchLog/index.test.js | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/lib/plugins/aws/package/compile/events/cloudWatchLog/index.js b/lib/plugins/aws/package/compile/events/cloudWatchLog/index.js index 400a6fae0a4..304bf19ba7a 100644 --- a/lib/plugins/aws/package/compile/events/cloudWatchLog/index.js +++ b/lib/plugins/aws/package/compile/events/cloudWatchLog/index.js @@ -84,7 +84,7 @@ class AwsCompileCloudWatchLogEvents { "DependsOn": "${lambdaPermissionLogicalId}", "Properties": { "LogGroupName": "${LogGroupName}", - "FilterPattern": "${FilterPattern}", + "FilterPattern": ${JSON.stringify(FilterPattern)}, "DestinationArn": { "Fn::GetAtt": ["${lambdaLogicalId}", "Arn"] } } } diff --git a/lib/plugins/aws/package/compile/events/cloudWatchLog/index.test.js b/lib/plugins/aws/package/compile/events/cloudWatchLog/index.test.js index 7777188d239..04ebc33cb78 100644 --- a/lib/plugins/aws/package/compile/events/cloudWatchLog/index.test.js +++ b/lib/plugins/aws/package/compile/events/cloudWatchLog/index.test.js @@ -138,6 +138,28 @@ describe('AwsCompileCloudWatchLogEvents', () => { ).to.equal('{$.userIdentity.type = Root}'); }); + it('should respect "filter" variable of plain text', () => { + awsCompileCloudWatchLogEvents.serverless.service.functions = { + first: { + events: [ + { + cloudwatchLog: { + logGroup: '/aws/lambda/hello1', + filter: '"userIdentity.type=Root" - "logLevel=Debug"', + }, + }, + ], + }, + }; + + awsCompileCloudWatchLogEvents.compileCloudWatchLogEvents(); + + expect(awsCompileCloudWatchLogEvents.serverless.service + .provider.compiledCloudFormationTemplate.Resources.FirstLogsSubscriptionFilterCloudWatchLog1 + .Properties.FilterPattern + ).to.equal('"userIdentity.type=Root" - "logLevel=Debug"'); + }); + it('should set an empty string for FilterPattern statement when "filter" variable is not given' , () => { awsCompileCloudWatchLogEvents.serverless.service.functions = { From 189cddc4b0c6debbbcff4981dc0c452279ef56ee Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Thu, 21 Dec 2017 18:06:28 -0800 Subject: [PATCH 56/99] Spotinst - Adding docs for new Endpoint Feature --- docs/providers/spotinst/README.md | 4 +- docs/providers/spotinst/cli-reference/info.md | 2 +- .../spotinst/cli-reference/plugin-list.md | 2 +- .../spotinst/cli-reference/plugin-search.md | 2 +- .../cli-reference/plugin-uninstall.md | 2 +- .../spotinst/cli-reference/remove.md | 2 +- .../{guide => cli-reference}/stage.md | 6 +- docs/providers/spotinst/guide/endpoint-api.md | 202 ++++++++++++++++++ .../spotinst/guide/endpoint-setup.md | 85 ++++++++ 9 files changed, 298 insertions(+), 9 deletions(-) rename docs/providers/spotinst/{guide => cli-reference}/stage.md (92%) create mode 100644 docs/providers/spotinst/guide/endpoint-api.md create mode 100644 docs/providers/spotinst/guide/endpoint-setup.md diff --git a/docs/providers/spotinst/README.md b/docs/providers/spotinst/README.md index 93b72d500c1..5b78d73ed33 100755 --- a/docs/providers/spotinst/README.md +++ b/docs/providers/spotinst/README.md @@ -30,7 +30,8 @@ If you have questions, join the [chat in gitter](https://gitter.im/serverless/se
  • Serverless.yml Reference
  • Variables
  • Document Store
  • -
  • Stage Variable
  • +
  • Endpoint Set Up
  • +
  • Endpoint API Documentation
  • @@ -49,6 +50,7 @@ If you have questions, join the [chat in gitter](https://gitter.im/serverless/se
  • Deploy Function
  • Invoke
  • Logs
  • +
  • Stage Variable
  • Info
  • Remove
  • Plugin List
  • diff --git a/docs/providers/spotinst/cli-reference/info.md b/docs/providers/spotinst/cli-reference/info.md index 14ddf4b1613..0f2fa8ade2e 100755 --- a/docs/providers/spotinst/cli-reference/info.md +++ b/docs/providers/spotinst/cli-reference/info.md @@ -1,7 +1,7 @@ diff --git a/docs/providers/spotinst/cli-reference/plugin-list.md b/docs/providers/spotinst/cli-reference/plugin-list.md index a99dbad1fb7..d706a719f50 100644 --- a/docs/providers/spotinst/cli-reference/plugin-list.md +++ b/docs/providers/spotinst/cli-reference/plugin-list.md @@ -1,7 +1,7 @@ diff --git a/docs/providers/spotinst/cli-reference/plugin-search.md b/docs/providers/spotinst/cli-reference/plugin-search.md index efcd4a1eb4f..c78e9d53d94 100644 --- a/docs/providers/spotinst/cli-reference/plugin-search.md +++ b/docs/providers/spotinst/cli-reference/plugin-search.md @@ -1,7 +1,7 @@ diff --git a/docs/providers/spotinst/cli-reference/plugin-uninstall.md b/docs/providers/spotinst/cli-reference/plugin-uninstall.md index 9784c843750..d04239f9165 100644 --- a/docs/providers/spotinst/cli-reference/plugin-uninstall.md +++ b/docs/providers/spotinst/cli-reference/plugin-uninstall.md @@ -1,7 +1,7 @@ diff --git a/docs/providers/spotinst/cli-reference/remove.md b/docs/providers/spotinst/cli-reference/remove.md index 9a1510fc201..87d2ce0d1f6 100755 --- a/docs/providers/spotinst/cli-reference/remove.md +++ b/docs/providers/spotinst/cli-reference/remove.md @@ -1,7 +1,7 @@ diff --git a/docs/providers/spotinst/guide/stage.md b/docs/providers/spotinst/cli-reference/stage.md similarity index 92% rename from docs/providers/spotinst/guide/stage.md rename to docs/providers/spotinst/cli-reference/stage.md index 37357a5557d..e26da0f5532 100644 --- a/docs/providers/spotinst/guide/stage.md +++ b/docs/providers/spotinst/cli-reference/stage.md @@ -1,7 +1,7 @@ @@ -18,7 +18,7 @@ You are able to set a stage variable in your function to distinguish between the To change the stage through the serverless framework you simply need to enter the command ```bash -serverless deploy --stage #{Your Stage Name} +serverless deploy --stage #{Your Stage Name} ``` ## Through the .yml File @@ -28,7 +28,7 @@ To change the stage in the serverless.yml file you need to add the following int ```bash provider: name: spotinst - stage: #{Your Stage Name} + stage: #{Your Stage Name} spotinst: environment: #{Your Environment ID} ``` diff --git a/docs/providers/spotinst/guide/endpoint-api.md b/docs/providers/spotinst/guide/endpoint-api.md new file mode 100644 index 00000000000..b5681651fee --- /dev/null +++ b/docs/providers/spotinst/guide/endpoint-api.md @@ -0,0 +1,202 @@ + + + +### [Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/spotinst/guide/credentials) + + +# Spotinst Functions - Endpoint API Documentation + +Here is the full list of API calls that you can make to set alias and patterns. Please check out the full article on Setting Up Endpoints first because it will make more sense. + +## Alias +### Create Alias +Create a new alias to point to your environment + +#### HTTPS Request +```bash +POST alias?accountId=${accountId} +``` +#### Host +```bash +api.spotinst.io/functions/ +``` +#### Body +```bash +{ + "alias": { + "host": "myAlias.com", + "environmentId": ${Environment ID} + } +} +``` +#### Headers +```bash +Authorization: Bearer ${Spotinst API Token} +Content-Type: application/json + ``` + +###Get Alias +Returns a single alias + +#### HTTPS Request +```bash +GET alias/${Alias ID}?accountId=${accountId} +``` +#### Host +```bash +api.spotinst.io/functions/ +``` +#### Headers +```bash +Authorization: Bearer ${Spotinst API Token} +Content-Type: application/json +``` + +### Get All Alias +Returns all the alias in your account + +#### HTTPS Request +```bash +GET alias?accountId=${accountId} +``` +##### Host +```bash +api.spotinst.io/functions/ +``` +#### Headers +```bash +Authorization: Bearer ${Spotinst API Token} +Content-Type: application/json +``` + +### Delete Alias +Deletes a single alias + +#### HTTPS Request +```bash +DELETE alias/${Alias ID}?accountId=${accountId} +``` +#### Host +```bash +api.spotinst.io/functions/ +``` +#### Headers +```bash +Authorization: Bearer ${Spotinst API Token} +Content-Type: application/json +``` + + +##Pattern +###Create Pattern +Create a new pattern that maps to a function + +#### HTTPS Request +```bash +POST pattern?accountId=${accountId} +``` +#### Host +```bash +api.spotinst.io/functions/ +``` +#### Body +```bash +{ + "pattern": { + "environmentId":${Environment ID}, + "method": "ALL", + "pattern": "/*", + "functionId": ${Function ID} + } +} +``` +#### Headers +```bash +Authorization: Bearer ${Spotinst API Token} +Content-Type: application/json +``` + +### Update Pattern +Update and existing pattern + +#### HTTPS Request +```bash +PUT pattern/${Pattern ID}?accountId=${accountId} +``` +####Host +```bash +api.spotinst.io/functions/ +``` +#### Body +```bash +{ + "pattern": { + "environmentId":${Environment ID}, + "method": "ALL", + "pattern": "/*", + "functionId": ${Function ID} + } +} +``` +#### Headers +```bash +Authorization: Bearer ${Spotinst API Token} +Content-Type: application/json +``` + +### Get Pattern +Returns a single pattern + +#### HTTPS Request +```bash +GET pattern/${Pattern ID}?accountId=${accountId} +``` +#### Host +```bash +api.spotinst.io/functions/ +``` +#### Headers +```bash +Authorization: Bearer ${Spotinst API Token} +Content-Type: application/json +``` + +### Get All Patterns +Returns all the patterns your account + +#### HTTPS Request +```bash +POST pattern?accountId=${accountId} +``` +#### Host +```bash +api.spotinst.io/functions/ +``` +#### Headers +```bash +Authorization: Bearer ${Spotinst API Token} +Content-Type: application/json +``` + +### Delete Pattern +Delete a single pattern + +#### HTTPS Request +```bash +DELETE pattern/${Pattern ID}?accountId=${accountId} +``` +#### Host +```bash +api.spotinst.io/functions/ +``` +#### Headers +```bash +Authorization: Bearer ${Spotinst API Token} +Content-Type: application/json +``` diff --git a/docs/providers/spotinst/guide/endpoint-setup.md b/docs/providers/spotinst/guide/endpoint-setup.md new file mode 100644 index 00000000000..8809eeab07d --- /dev/null +++ b/docs/providers/spotinst/guide/endpoint-setup.md @@ -0,0 +1,85 @@ + + + +### [Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/spotinst/guide/credentials) + + +# Spotinst Functions - Endpoint Setup + +You are able to set an alias URL name as an endpoint for your serverless function to make it more accessible to your users. The way this works is you will point the domain of your choosing to your environment URL's then you will set paths to each of the functions in that environment you wish to bundle in together. To do this you will first need a valid domain. For this example I will be using 'myAlias.com'. + +## Set DNS Record +First you will want to create a DNS record set that will point to your environment URL. Your environment URL can be found in the Spotinst console. When you select the environment you wish to connect you will see a list of functions and their individual URL's. Like this +```bash +https://app-123xyz-raffleapp-execute-function1.spotinst.io/fx-abc987 +``` +We only want the URL starting at app and ending before the function id. Like this +```bash +app-123xyz-raffleapp-execute-function1.spotinst.io +``` +With this you will need to go to a DNS record setter and point your domain to this URL. I used AWS Route 53 to set this up. + +## Set Alias +Next you will need to set the alias in your Spotinst environment by making an API call. This does not need to be done within a function and can be set anyway you are most comfortable. The API request is connecting your domain the environment that you want. This is the API request + +### HTTPS Request +```bash +POST alias?accountId=${accountId} +``` +### Host +```bash +api.spotinst.io/functions/ +``` +### Body +```bash +{ + "alias": { + "host": "myAlias.com", + "environmentId": ${Your Environment ID} + } +} +``` +### Headers +```bash +Authorization: Bearer ${Spotinst API Token} +Content-Type: application/json +``` + +**Note:** You are able to connect multiple alias to the same environment + +##Set Up Pattern +After you have an alias set up you will need to set up pattern to connect to all the functions in the application. This is again another API call and can be done from anywhere. You specify the pattern that you want, the method that will trigger the function, the function ID and the environment ID. The pattern is what will appear after the domain. For example '/home' would point to 'myAlias.com/home'. The methods you can select are any of the usual HTTP request methods: GET, PUT, POST, DELETE , OPTIONS, PATCH, ALL where “ALL” matches every method + +### HTTPS Request +```bash +POST pattern?accountId=${accountId} +``` +### Host +```bash +api.spotinst.io/functions/ +``` +### Body +``` bash +{ + "pattern": { + "environmentId": ${Your Environment ID}, + "method": "ALL", + "pattern": "/*", + "functionId": ${Your Function ID} + } +} +``` +### Headers +```bash +Authorization: Bearer ${Spotinst API Token} +Content-Type: application/json +``` + +## API Documentation +The full API documentation has information like delete and get alias and patterns. Check it out [here](./endpoint-api.md) From edf6501b2befa6ba77badcdd7c1daa0c4ddb0131 Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Thu, 21 Dec 2017 18:11:51 -0800 Subject: [PATCH 57/99] Spotinst - editing docs --- docs/providers/spotinst/guide/endpoint-setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/providers/spotinst/guide/endpoint-setup.md b/docs/providers/spotinst/guide/endpoint-setup.md index 8809eeab07d..19d3c5568ac 100644 --- a/docs/providers/spotinst/guide/endpoint-setup.md +++ b/docs/providers/spotinst/guide/endpoint-setup.md @@ -53,7 +53,7 @@ Content-Type: application/json **Note:** You are able to connect multiple alias to the same environment -##Set Up Pattern +## Set Up Pattern After you have an alias set up you will need to set up pattern to connect to all the functions in the application. This is again another API call and can be done from anywhere. You specify the pattern that you want, the method that will trigger the function, the function ID and the environment ID. The pattern is what will appear after the domain. For example '/home' would point to 'myAlias.com/home'. The methods you can select are any of the usual HTTP request methods: GET, PUT, POST, DELETE , OPTIONS, PATCH, ALL where “ALL” matches every method ### HTTPS Request From 70ecf93612eb704bed14d7f80d4048ea4607c858 Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Thu, 21 Dec 2017 18:12:41 -0800 Subject: [PATCH 58/99] Spotinst - docs update --- docs/providers/spotinst/guide/endpoint-api.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/providers/spotinst/guide/endpoint-api.md b/docs/providers/spotinst/guide/endpoint-api.md index b5681651fee..33790666268 100644 --- a/docs/providers/spotinst/guide/endpoint-api.md +++ b/docs/providers/spotinst/guide/endpoint-api.md @@ -41,7 +41,7 @@ Authorization: Bearer ${Spotinst API Token} Content-Type: application/json ``` -###Get Alias +### Get Alias Returns a single alias #### HTTPS Request @@ -93,8 +93,8 @@ Content-Type: application/json ``` -##Pattern -###Create Pattern +## Pattern +### Create Pattern Create a new pattern that maps to a function #### HTTPS Request @@ -129,7 +129,7 @@ Update and existing pattern ```bash PUT pattern/${Pattern ID}?accountId=${accountId} ``` -####Host +#### Host ```bash api.spotinst.io/functions/ ``` From d9503543e7d740c6662d14765c5f4e5984afed6d Mon Sep 17 00:00:00 2001 From: horike37 Date: Sat, 23 Dec 2017 15:40:01 +0900 Subject: [PATCH 59/99] update labels --- CONTRIBUTING.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9606d0118e9..dacac1823de 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,7 +16,7 @@ Welcome, and thanks in advance for your help! Please follow these simple guideli **Note:** Please write a quick comment in the corresponding issue and ask if the feature is still relevant and that you want to jump into the implementation. -Check out our [help-wanted](https://github.com/serverless/serverless/labels/status/help-wanted) or [easy-pick](https://github.com/serverless/serverless/labels/status/easy-pick) labels to find issues we want to move forward on with your help. +Check out our [help wanted](https://github.com/serverless/serverless/labels/help%20wanted) or [good first issue](https://github.com/serverless/serverless/labels/good%20first%20issue) labels to find issues we want to move forward on with your help. We will do our best to respond/review/merge your PR according to priority. We hope that you stay engaged with us during this period to insure QA. Please note that the PR will be closed if there hasn't been any activity for a long time (~ 30 days) to keep us focused and keep the repo clean. diff --git a/README.md b/README.md index c6245a393fe..c3e8d36d28e 100644 --- a/README.md +++ b/README.md @@ -321,7 +321,7 @@ This table is generated from https://github.com/serverless/examples/blob/master/ ## Contributing We love our contributors! Please read our [Contributing Document](CONTRIBUTING.md) to learn how you can start working on the Framework yourself. -Check out our [help-wanted](https://github.com/serverless/serverless/labels/status/help-wanted) or [easy-pick](https://github.com/serverless/serverless/labels/status/easy-pick) labels to find issues we want to move forward on with your help. +Check out our [help wanted](https://github.com/serverless/serverless/labels/help%20wanted) or [good first issue](https://github.com/serverless/serverless/labels/good%20first%20issue) labels to find issues we want to move forward on with your help. ## Community From 890c042fbd84b4a1091174e0b4d039be1a88f98d Mon Sep 17 00:00:00 2001 From: Takahiro Horike Date: Mon, 25 Dec 2017 21:47:00 +0900 Subject: [PATCH 60/99] Add logRetentionInDays property to provider level (#4591) * add logRetentionInDays property * update test and improve code * minor tweak * add logRetentionInDays property update test and improve code minor tweak --- docs/providers/aws/guide/serverless.yml.md | 1 + .../aws/package/lib/mergeIamTemplates.js | 12 +++++++ .../aws/package/lib/mergeIamTemplates.test.js | 35 +++++++++++++++++++ 3 files changed, 48 insertions(+) diff --git a/docs/providers/aws/guide/serverless.yml.md b/docs/providers/aws/guide/serverless.yml.md index 2bb376af946..30f1c137446 100644 --- a/docs/providers/aws/guide/serverless.yml.md +++ b/docs/providers/aws/guide/serverless.yml.md @@ -31,6 +31,7 @@ provider: profile: production # The default profile to use with this service memorySize: 512 # Overwrite the default memory size. Default is 1024 timeout: 10 # The default is 6 seconds. Note: API Gateway current maximum is 30 seconds + logRetentionInDays: 14 # Set the default RetentionInDays for a CloudWatch LogGroup deploymentBucket: name: com.serverless.${self:provider.region}.deploys # Deployment bucket name. Default is generated by the framework serverSideEncryption: AES256 # when using server-side encryption diff --git a/lib/plugins/aws/package/lib/mergeIamTemplates.js b/lib/plugins/aws/package/lib/mergeIamTemplates.js index 7276853b002..a17e2dffd8a 100644 --- a/lib/plugins/aws/package/lib/mergeIamTemplates.js +++ b/lib/plugins/aws/package/lib/mergeIamTemplates.js @@ -29,6 +29,18 @@ module.exports = { }, }, }; + + if (_.has(this.serverless.service.provider, 'logRetentionInDays')) { + if (_.isInteger(this.serverless.service.provider.logRetentionInDays) && + this.serverless.service.provider.logRetentionInDays > 0) { + newLogGroup[logGroupLogicalId].Properties.RetentionInDays + = this.serverless.service.provider.logRetentionInDays; + } else { + const errorMessage = 'logRetentionInDays should be an integer over 0'; + throw new this.serverless.classes.Error(errorMessage); + } + } + _.merge(this.serverless.service.provider.compiledCloudFormationTemplate.Resources, newLogGroup); }); diff --git a/lib/plugins/aws/package/lib/mergeIamTemplates.test.js b/lib/plugins/aws/package/lib/mergeIamTemplates.test.js index f5c9c6be7a9..1407989251f 100644 --- a/lib/plugins/aws/package/lib/mergeIamTemplates.test.js +++ b/lib/plugins/aws/package/lib/mergeIamTemplates.test.js @@ -238,6 +238,41 @@ describe('#mergeIamTemplates()', () => { }); }); + it('should add RetentionInDays to a CloudWatch LogGroup resource if logRetentionInDays is given' + , () => { + awsPackage.serverless.service.provider.logRetentionInDays = 5; + const normalizedName = awsPackage.provider.naming.getLogGroupLogicalId(functionName); + return awsPackage.mergeIamTemplates().then(() => { + expect(awsPackage.serverless.service.provider.compiledCloudFormationTemplate + .Resources[normalizedName] + ).to.deep.equal( + { + Type: 'AWS::Logs::LogGroup', + Properties: { + LogGroupName: awsPackage.provider.naming.getLogGroupName(functionName), + RetentionInDays: 5, + }, + } + ); + }); + }); + + it('should throw error if RetentionInDays is 0 or not an integer' + , () => { + awsPackage.serverless.service.provider.logRetentionInDays = 0; + expect(() => awsPackage.mergeIamTemplates()).to.throw('should be an integer'); + awsPackage.serverless.service.provider.logRetentionInDays = 'string'; + expect(() => awsPackage.mergeIamTemplates()).to.throw('should be an integer'); + awsPackage.serverless.service.provider.logRetentionInDays = []; + expect(() => awsPackage.mergeIamTemplates()).to.throw('should be an integer'); + awsPackage.serverless.service.provider.logRetentionInDays = {}; + expect(() => awsPackage.mergeIamTemplates()).to.throw('should be an integer'); + awsPackage.serverless.service.provider.logRetentionInDays = undefined; + expect(() => awsPackage.mergeIamTemplates()).to.throw('should be an integer'); + awsPackage.serverless.service.provider.logRetentionInDays = null; + expect(() => awsPackage.mergeIamTemplates()).to.throw('should be an integer'); + }); + it('should add a CloudWatch LogGroup resource if all functions use custom roles', () => { awsPackage.serverless.service.functions[functionName].role = 'something'; awsPackage.serverless.service.functions = { From bb2ddc0eec028e7e377abc098d40830a356fa549 Mon Sep 17 00:00:00 2001 From: Alex Casalboni Date: Thu, 28 Dec 2017 11:12:45 +0100 Subject: [PATCH 61/99] Fixed S3 Transfer Acceleration bug with custom deployment buckets (#4606) * fixed s3 transfer acceleration bug with custom deployment buckets * added test (custom deployment bucket case) * unwrapping stubs (node 5.11 fail) * increased coverage * add return to BbPromise --- lib/plugins/aws/deploy/lib/createStack.js | 9 +++-- .../aws/deploy/lib/createStack.test.js | 35 +++++++++++++++++-- 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/lib/plugins/aws/deploy/lib/createStack.js b/lib/plugins/aws/deploy/lib/createStack.js index 303b3e44102..de10370e8b8 100644 --- a/lib/plugins/aws/deploy/lib/createStack.js +++ b/lib/plugins/aws/deploy/lib/createStack.js @@ -58,7 +58,12 @@ module.exports = { { StackName: stackName } ) .then((data) => { - if (this.provider.isS3TransferAccelerationEnabled()) { + const shouldCheckStackOutput = + // check stack output only if acceleration is requested + this.provider.isS3TransferAccelerationEnabled() && + // custom deployment bucket won't generate any output (no check) + !this.serverless.service.provider.deploymentBucket; + if (shouldCheckStackOutput) { const isAlreadyAccelerated = !!_.find(data.Stacks[0].Outputs, { OutputKey: 'ServerlessDeploymentBucketAccelerated' }); if (!isAlreadyAccelerated) { @@ -66,7 +71,7 @@ module.exports = { this.provider.disableTransferAccelerationForCurrentDeploy(); } } - BbPromise.resolve('alreadyCreated'); + return BbPromise.resolve('alreadyCreated'); })) .catch((e) => { if (e.message.indexOf('does not exist') > -1) { diff --git a/lib/plugins/aws/deploy/lib/createStack.test.js b/lib/plugins/aws/deploy/lib/createStack.test.js index a75e8e8f6e2..28d5820e99b 100644 --- a/lib/plugins/aws/deploy/lib/createStack.test.js +++ b/lib/plugins/aws/deploy/lib/createStack.test.js @@ -87,6 +87,15 @@ describe('createStack', () => { }); }); + it('should throw error if invalid stack name', () => { + sandbox.stub(awsDeploy, 'create').resolves(); + sandbox.stub(awsDeploy.provider, 'request').resolves(); + awsDeploy.serverless.service.service = 'service-name'.repeat(100); + + return expect(awsDeploy.createStack.bind(awsDeploy)) + .to.throw(awsDeploy.serverless.classes.Error, /not valid/); + }); + it('should set the createLater flag and resolve if deployment bucket is provided', () => { awsDeploy.serverless.service.provider.deploymentBucket = 'serverless'; sandbox.stub(awsDeploy.provider, 'request') @@ -104,7 +113,7 @@ describe('createStack', () => { sandbox.stub(awsDeploy.provider, 'request').rejects(errorMock); - const createStub = sinon + const createStub = sandbox .stub(awsDeploy, 'create').resolves(); return awsDeploy.createStack().catch((e) => { @@ -121,7 +130,7 @@ describe('createStack', () => { sandbox.stub(awsDeploy.provider, 'request').rejects(errorMock); - const createStub = sinon + const createStub = sandbox .stub(awsDeploy, 'create').resolves(); return awsDeploy.createStack().then(() => { @@ -149,5 +158,27 @@ describe('createStack', () => { expect(disableTransferAccelerationStub.called).to.be.equal(true); }); }); + + it('should not disable S3 Transfer Acceleration if custom bucket is used', () => { + const disableTransferAccelerationStub = sandbox + .stub(awsDeploy.provider, + 'disableTransferAccelerationForCurrentDeploy').resolves(); + + const describeStacksOutput = { + Stacks: [ + { + Outputs: [], + }, + ], + }; + sandbox.stub(awsDeploy.provider, 'request').resolves(describeStacksOutput); + + awsDeploy.provider.options['aws-s3-accelerate'] = true; + awsDeploy.serverless.service.provider.deploymentBucket = 'my-custom-bucket'; + + return awsDeploy.createStack().then(() => { + expect(disableTransferAccelerationStub.called).to.be.equal(false); + }); + }); }); }); From 75cb4846fe30b2df796ecd3483c1ff0e8fa1031c Mon Sep 17 00:00:00 2001 From: horike37 Date: Thu, 28 Dec 2017 19:50:19 +0900 Subject: [PATCH 62/99] update test matrix --- .travis.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index adc4fe52fc2..d9dda5e9842 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,13 +23,16 @@ matrix: - SLS_IGNORE_WARNING=* - secure: Ia2nYzOeYvTE6qOP7DBKX3BO7s/U7TXdsvB2nlc3kOPFi//IbTVD0/cLKCAE5XqTzrrliHINSVsFcJNSfjCwmDSRmgoIGrHj5CJkWpkI6FEPageo3mdqFQYEc8CZeAjsPBNaHe6Ewzg0Ev/sjTByLSJYVqokzDCF1QostSxx1Ss6SGt1zjxeP/Hp4yOJn52VAm9IHAKYn7Y62nMAFTaaTPUQHvW0mJj6m2Z8TWyPU+2Bx6mliO65gTPFGs+PdHGwHtmSF/4IcUO504x+HjDuwzW2itomLXZmIOFfGDcFYadKWzVMAfJzoRWOcVKF4jXdMoSCOviWpHGtK35E7K956MTXkroVoWCS7V0knQDovbRZj8c8td8mS4tdprUA+TzgZoHet2atWNtMuTh79rdmwoAO+IAWJegYj62Tdfy3ycESzY+KxSaV8kysG9sR3PRFoWjZerA7MhLZEzQMORXDGjJlgwLaZfYVqjlsGe5p5etFBUTd0WbFgSwOKLoA2U/fm7WzqItkjs3UWaHuvFVvwYixGxjEVmVczS6wa2cdGpHtVD9H7km4fPEzljHqQ26v0P5e8eylgqLF2IB6mL7UqGFrAtrMvAgN/M3gnq4dTs/wq1AJIOxEP7YW7kc0NAldk8vUz6t5GzCPNcuukxAku91Awnh0twxgUywatgJLZPY= - secure: Dgaa5XIsA5Vbw/CYQLUAuVVsDX26C8+f1XYGwsbNmFQKbKvM8iy9lGrHlfrT3jftJkJH6re8tP1RjyZjjzLe25KPk4Tps7grNteCyiIIEDsC2aHhiXHD6zNHsItpxYusaFfyQinFWnK4CAYKWb9ZNIwHIDUIB4vq807QGAhYsnoj1Lg/ajWvtEKBwYjEzDz9OjB91lw7lpCnHtmKKw5A+TNIVGpDDZ/jRBqETsPaePtiXC9UTHZQyM3gFoeVXiJw9KSU/gjIx9REihCaWWPbnuQSeIONGGlVWY9V4DTZIsJr9/uwDcbioeXDD3G1ezGtNPPRSNTtq08QlUtE4mEtKea/+ObpllKZCeZGn6AJhMn+uqMIP95FFlqBB55YzRcLZY+Igi/qm/9LJ9RinAhxRVXiwzeQ+BdVA6jshAAzr+7wklux6lZAa0xGw9pgTv7MI4RP2LJ/LMP1ppFsnv9n/qt93Ax1VEwEu3xHZe3VTYL9tbXOPTZutf6fKjUrW7wSSuy637queESjYnnPKSb1vZcPxjSFlyh+GJvxu/3PurF9aqfiBdiorIBre+pQS4lakLtoft5nsbA+4iYUwrXR58qUPVUqQ7a0A0hedOWlp6g9ixLa6nugUP5aobJzR71T8l/IjqpnY2EEd/iINEb0XfUiZtB5zHaqFWejBtmWwCI= - - node_js: '6.2' - env: - - DISABLE_TESTS=true - - LINTING=true - node_js: '8.9' env: SLS_IGNORE_WARNING=* + - node_js: '8.9' + env: + - INTEGRATION_TEST=true + - INTEGRATION_TEST_SUITE=simple + - SLS_IGNORE_WARNING=* + - secure: Ia2nYzOeYvTE6qOP7DBKX3BO7s/U7TXdsvB2nlc3kOPFi//IbTVD0/cLKCAE5XqTzrrliHINSVsFcJNSfjCwmDSRmgoIGrHj5CJkWpkI6FEPageo3mdqFQYEc8CZeAjsPBNaHe6Ewzg0Ev/sjTByLSJYVqokzDCF1QostSxx1Ss6SGt1zjxeP/Hp4yOJn52VAm9IHAKYn7Y62nMAFTaaTPUQHvW0mJj6m2Z8TWyPU+2Bx6mliO65gTPFGs+PdHGwHtmSF/4IcUO504x+HjDuwzW2itomLXZmIOFfGDcFYadKWzVMAfJzoRWOcVKF4jXdMoSCOviWpHGtK35E7K956MTXkroVoWCS7V0knQDovbRZj8c8td8mS4tdprUA+TzgZoHet2atWNtMuTh79rdmwoAO+IAWJegYj62Tdfy3ycESzY+KxSaV8kysG9sR3PRFoWjZerA7MhLZEzQMORXDGjJlgwLaZfYVqjlsGe5p5etFBUTd0WbFgSwOKLoA2U/fm7WzqItkjs3UWaHuvFVvwYixGxjEVmVczS6wa2cdGpHtVD9H7km4fPEzljHqQ26v0P5e8eylgqLF2IB6mL7UqGFrAtrMvAgN/M3gnq4dTs/wq1AJIOxEP7YW7kc0NAldk8vUz6t5GzCPNcuukxAku91Awnh0twxgUywatgJLZPY= + - secure: Dgaa5XIsA5Vbw/CYQLUAuVVsDX26C8+f1XYGwsbNmFQKbKvM8iy9lGrHlfrT3jftJkJH6re8tP1RjyZjjzLe25KPk4Tps7grNteCyiIIEDsC2aHhiXHD6zNHsItpxYusaFfyQinFWnK4CAYKWb9ZNIwHIDUIB4vq807QGAhYsnoj1Lg/ajWvtEKBwYjEzDz9OjB91lw7lpCnHtmKKw5A+TNIVGpDDZ/jRBqETsPaePtiXC9UTHZQyM3gFoeVXiJw9KSU/gjIx9REihCaWWPbnuQSeIONGGlVWY9V4DTZIsJr9/uwDcbioeXDD3G1ezGtNPPRSNTtq08QlUtE4mEtKea/+ObpllKZCeZGn6AJhMn+uqMIP95FFlqBB55YzRcLZY+Igi/qm/9LJ9RinAhxRVXiwzeQ+BdVA6jshAAzr+7wklux6lZAa0xGw9pgTv7MI4RP2LJ/LMP1ppFsnv9n/qt93Ax1VEwEu3xHZe3VTYL9tbXOPTZutf6fKjUrW7wSSuy637queESjYnnPKSb1vZcPxjSFlyh+GJvxu/3PurF9aqfiBdiorIBre+pQS4lakLtoft5nsbA+4iYUwrXR58qUPVUqQ7a0A0hedOWlp6g9ixLa6nugUP5aobJzR71T8l/IjqpnY2EEd/iINEb0XfUiZtB5zHaqFWejBtmWwCI= - node_js: '8.9' env: - DISABLE_TESTS=true From 5ec11c82a9f74305e6a09f97689f36067d869700 Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Tue, 2 Jan 2018 13:54:55 -0800 Subject: [PATCH 63/99] Spotinst - adding test cases to java8 tempalte --- docker-compose.yml | 4 ++++ lib/plugins/create/create.js | 1 + lib/plugins/create/create.test.js | 15 +++++++++++++++ .../create/templates/spotinst-java8/pom.xml | 5 +++-- tests/templates/test_all_templates | 1 + 5 files changed, 24 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 6ffa1c77972..f9ae71b3ed3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -87,6 +87,10 @@ services: image: ruby2.4.1 volumes: - ./tmp/serverless-integration-test-spotinst-ruby:/app + spotinst-java8: + image: maven:3-jdk-8 + volumes: + - ./tmp/serverless-integration-test-spotinst-java8:/app webtasks-nodejs: image: node:6.10.3 volumes: diff --git a/lib/plugins/create/create.js b/lib/plugins/create/create.js index eaa3a67833f..bbd233db137 100644 --- a/lib/plugins/create/create.js +++ b/lib/plugins/create/create.js @@ -35,6 +35,7 @@ const validTemplates = [ 'spotinst-nodejs', 'spotinst-python', 'spotinst-ruby', + 'spotinst-java8', 'webtasks-nodejs', 'plugin', diff --git a/lib/plugins/create/create.test.js b/lib/plugins/create/create.test.js index df578b49347..00daf243a19 100644 --- a/lib/plugins/create/create.test.js +++ b/lib/plugins/create/create.test.js @@ -497,6 +497,21 @@ describe('Create', () => { }); }); + it('should generate scaffolding for "spotinst-java8" template', () => { + process.chdir(tmpDir); + create.options.template = 'spotinst-java8'; + + return create.create().then(() => { + const dirContent = fs.readdirSync(tmpDir); + expect(dirContent).to.include('package.json'); + expect(dirContent).to.include('serverless.yml'); + expect(dirContent).to.include('pom.xml'); + expect(dirContent).to.include(path.join('src', 'main', 'java', 'com', 'serverless', + 'Handler.java')); + expect(dirContent).to.include('.gitignore'); + }); + }); + it('should generate scaffolding for "webtasks-nodejs" template', () => { process.chdir(tmpDir); create.options.template = 'webtasks-nodejs'; diff --git a/lib/plugins/create/templates/spotinst-java8/pom.xml b/lib/plugins/create/templates/spotinst-java8/pom.xml index 0e561a99948..ee750fa2f5e 100644 --- a/lib/plugins/create/templates/spotinst-java8/pom.xml +++ b/lib/plugins/create/templates/spotinst-java8/pom.xml @@ -2,7 +2,7 @@ 4.0.0 com.serverless - hello-world + hello dev jar @@ -26,7 +26,8 @@ - + + spotinst-java8 org.apache.maven.plugins diff --git a/tests/templates/test_all_templates b/tests/templates/test_all_templates index 74625209e2f..79bbebd5530 100755 --- a/tests/templates/test_all_templates +++ b/tests/templates/test_all_templates @@ -26,4 +26,5 @@ integration-test google-nodejs integration-test spotinst-nodejs integration-test spotinst-python integration-test spotinst-ruby +integration-test spotinst-java8 mvn package integration-test webtasks-nodejs From 7e0bf65b23ef2462e6ac314ca9c688b92112bc9e Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Tue, 2 Jan 2018 14:20:08 -0800 Subject: [PATCH 64/99] Spotinst - updating test --- lib/plugins/create/create.test.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/plugins/create/create.test.js b/lib/plugins/create/create.test.js index 00daf243a19..13cf1178060 100644 --- a/lib/plugins/create/create.test.js +++ b/lib/plugins/create/create.test.js @@ -506,8 +506,7 @@ describe('Create', () => { expect(dirContent).to.include('package.json'); expect(dirContent).to.include('serverless.yml'); expect(dirContent).to.include('pom.xml'); - expect(dirContent).to.include(path.join('src', 'main', 'java', 'com', 'serverless', - 'Handler.java')); + expect(dirContent).to.include('src/main/java/com/serverless/Handler.java'); expect(dirContent).to.include('.gitignore'); }); }); From 65195ba41e099e54dadc5caf528338d713107775 Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Tue, 2 Jan 2018 14:38:37 -0800 Subject: [PATCH 65/99] Spotinst - updating test --- lib/plugins/create/create.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/create/create.test.js b/lib/plugins/create/create.test.js index 13cf1178060..d696ddb2553 100644 --- a/lib/plugins/create/create.test.js +++ b/lib/plugins/create/create.test.js @@ -506,7 +506,7 @@ describe('Create', () => { expect(dirContent).to.include('package.json'); expect(dirContent).to.include('serverless.yml'); expect(dirContent).to.include('pom.xml'); - expect(dirContent).to.include('src/main/java/com/serverless/Handler.java'); + expect(dirContent).to.include('./src/main/java/com/serverless/Handler.java'); expect(dirContent).to.include('.gitignore'); }); }); From 36261f7152a3b961393fe10d0f2adb3135a93a81 Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Tue, 2 Jan 2018 14:55:41 -0800 Subject: [PATCH 66/99] Spotinst - updating test --- lib/plugins/create/create.test.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/plugins/create/create.test.js b/lib/plugins/create/create.test.js index d696ddb2553..06c0680c97a 100644 --- a/lib/plugins/create/create.test.js +++ b/lib/plugins/create/create.test.js @@ -502,11 +502,14 @@ describe('Create', () => { create.options.template = 'spotinst-java8'; return create.create().then(() => { - const dirContent = fs.readdirSync(tmpDir); + const dirContent = walkDirSync(tmpDir) + .map(elem => elem.replace(path.join(tmpDir, path.sep), '')); + expect(dirContent).to.include('package.json'); expect(dirContent).to.include('serverless.yml'); expect(dirContent).to.include('pom.xml'); - expect(dirContent).to.include('./src/main/java/com/serverless/Handler.java'); + expect(dirContent).to.include(path.join('src', 'main', 'java', + 'com', 'serverless', 'Handler.java')); expect(dirContent).to.include('.gitignore'); }); }); From 7f70312aa4c5be255aa76d8fff6f73d17d76bb60 Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Tue, 2 Jan 2018 15:36:03 -0800 Subject: [PATCH 67/99] Spotinst - adding docs for Document Store SDK --- docs/providers/spotinst/README.md | 3 +- .../spotinst/guide/document-store-sdk.md | 72 +++++++++++++++++++ .../spotinst/guide/document-store.md | 8 +-- 3 files changed, 78 insertions(+), 5 deletions(-) create mode 100644 docs/providers/spotinst/guide/document-store-sdk.md diff --git a/docs/providers/spotinst/README.md b/docs/providers/spotinst/README.md index 5b78d73ed33..5fbe8fba63a 100755 --- a/docs/providers/spotinst/README.md +++ b/docs/providers/spotinst/README.md @@ -29,7 +29,8 @@ If you have questions, join the [chat in gitter](https://gitter.im/serverless/se
  • Credentials
  • Serverless.yml Reference
  • Variables
  • -
  • Document Store
  • +
  • Document Store API
  • +
  • Document Store SDK
  • Endpoint Set Up
  • Endpoint API Documentation
  • diff --git a/docs/providers/spotinst/guide/document-store-sdk.md b/docs/providers/spotinst/guide/document-store-sdk.md new file mode 100644 index 00000000000..0ffa6b13d8a --- /dev/null +++ b/docs/providers/spotinst/guide/document-store-sdk.md @@ -0,0 +1,72 @@ + + + +### [Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/spotinst/guide/document-store-sdk) + + +# Spotinst Functions - Document Store SDK + +We have encapsulated the Document Store API calls for retrieving your documents so you will not have to make an API call within the given function. This will allow for you as the user to access your documents using thegetDoc/get_doc method located in the context variable. Additionally this will also eliminate the need for authentication within the function for accessing your documents. + +## Node +```basg +module.exports.main = (event, context, callback) => { + context.getDoc("myKey", function(err, res) { + if(res) { + console.log('res: ' + res); //myValue + var body = { + res: res + }; + + callback(null, { + statusCode: 200, + body: JSON.stringify(body), + headers: {"Content-Type": "application/json"} + }); + } + }); +} +``` + +## Python +```bash +def main(event, context): + print ('context: %s' % context) + + doc = context.get_doc('myKey') + print(doc) #myValue + + res = { + 'statusCode': 200, + 'body': 'res: %s' % doc, + 'headers': {"Content-Type": "application/json"} + } + return res +``` + +## Java 8 +```bash +public class Java8Template implements RequestHandler { + @Override + public Response handleRequest(Request request, Context context) { + String value = context.getDoc("myKey"); + System.out.println(value); //myValue + + Response response = new Response(200, String.format("value: %s", value)); + + Map headers = new HashMap<>(); + headers.put("Content-Type", "application/json"); + + response.setHeaders(headers); + + return response; + } +} +``` + diff --git a/docs/providers/spotinst/guide/document-store.md b/docs/providers/spotinst/guide/document-store.md index 35d0112f552..f5887f5939b 100644 --- a/docs/providers/spotinst/guide/document-store.md +++ b/docs/providers/spotinst/guide/document-store.md @@ -1,8 +1,8 @@ @@ -10,7 +10,7 @@ layout: Doc ### [Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/spotinst/guide/credentials) -# Spotinst Functions - Document Store +# Spotinst Functions - Document Store API Document Store is a way for you to save information across function calls within the same environment without having to access an external database. It is secured by your Spotinst account credentials and can only be accesses within a function. Because you do not need to access an external database you are able to fetch stored documents with low latency (< ~5ms) From 821d7300ba931971177a8aab507689fca7a048e9 Mon Sep 17 00:00:00 2001 From: "PatrickJS [tipe.io]" Date: Tue, 2 Jan 2018 16:04:48 -0800 Subject: [PATCH 68/99] update license year --- LICENSE.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE.txt b/LICENSE.txt index 80acf9ae420..625b94f65af 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2017 Serverless, Inc. http://www.serverless.com +Copyright (c) 2018 Serverless, Inc. http://www.serverless.com The following license applies to all parts of this software except as documented below: From e3aa996cea2698ade7f4bcc459940e1f11071a79 Mon Sep 17 00:00:00 2001 From: jeffnoehren Date: Tue, 2 Jan 2018 16:16:58 -0800 Subject: [PATCH 69/99] Spotinst - removing trailing spaces --- lib/plugins/create/create.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/create/create.js b/lib/plugins/create/create.js index bbd233db137..eb993982bb2 100644 --- a/lib/plugins/create/create.js +++ b/lib/plugins/create/create.js @@ -35,7 +35,7 @@ const validTemplates = [ 'spotinst-nodejs', 'spotinst-python', 'spotinst-ruby', - 'spotinst-java8', + 'spotinst-java8', 'webtasks-nodejs', 'plugin', From ced088c4faa626e1bf8cf53ce2ea50b0d9e6af77 Mon Sep 17 00:00:00 2001 From: Will Yang Date: Wed, 3 Jan 2018 14:15:54 +1100 Subject: [PATCH 70/99] unescape quotes when necessary to compatible with old filter patterns --- .../aws/package/compile/events/cloudWatchLog/index.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/plugins/aws/package/compile/events/cloudWatchLog/index.js b/lib/plugins/aws/package/compile/events/cloudWatchLog/index.js index 304bf19ba7a..697d9736d09 100644 --- a/lib/plugins/aws/package/compile/events/cloudWatchLog/index.js +++ b/lib/plugins/aws/package/compile/events/cloudWatchLog/index.js @@ -78,6 +78,13 @@ class AwsCompileCloudWatchLogEvents { .getLambdaCloudWatchLogPermissionLogicalId(functionName, cloudWatchLogNumberInFunction); + // unescape quotes once when the first quote is detected escaped + const idxFirstSlash = FilterPattern.indexOf('\\'); + const idxFirstQuote = FilterPattern.indexOf('"'); + if (idxFirstSlash >= 0 && idxFirstQuote >= 0 && idxFirstQuote > idxFirstSlash) { + FilterPattern = FilterPattern.replace(/\\("|\\|')/g, (match, g) => g); + } + const cloudWatchLogRuleTemplate = ` { "Type": "AWS::Logs::SubscriptionFilter", From 271b45009df0ebe1dd2f7e2e6537c86456810bf9 Mon Sep 17 00:00:00 2001 From: Craig R Webster Date: Wed, 3 Jan 2018 19:11:46 +0800 Subject: [PATCH 71/99] Fix typo in 'syntax' --- lib/classes/Variables.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/classes/Variables.js b/lib/classes/Variables.js index f69a810caea..738a0347cc8 100644 --- a/lib/classes/Variables.js +++ b/lib/classes/Variables.js @@ -22,7 +22,7 @@ class Variables { this.selfRefSyntax = RegExp(/^self:/g); this.cfRefSyntax = RegExp(/^cf:/g); this.s3RefSyntax = RegExp(/^s3:(.+?)\/(.+)$/); - this.stringRefSynax = RegExp(/('.*')|(".*")/g); + this.stringRefSyntax = RegExp(/('.*')|(".*")/g); this.ssmRefSyntax = RegExp(/^ssm:([a-zA-Z0-9_.\-/]+)[~]?(true|false)?/); } @@ -199,7 +199,7 @@ class Variables { value = this.getValueFromCf(variableString); } else if (variableString.match(this.s3RefSyntax)) { value = this.getValueFromS3(variableString); - } else if (variableString.match(this.stringRefSynax)) { + } else if (variableString.match(this.stringRefSyntax)) { value = this.getValueFromString(variableString); } else if (variableString.match(this.ssmRefSyntax)) { value = this.getValueFromSsm(variableString); From 624234603462b2a194375e7ed56154e8b35910cb Mon Sep 17 00:00:00 2001 From: Will Yang Date: Thu, 4 Jan 2018 12:32:46 +1100 Subject: [PATCH 72/99] add test case for escaped quotes --- .../events/cloudWatchLog/index.test.js | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lib/plugins/aws/package/compile/events/cloudWatchLog/index.test.js b/lib/plugins/aws/package/compile/events/cloudWatchLog/index.test.js index 04ebc33cb78..f323bf61a27 100644 --- a/lib/plugins/aws/package/compile/events/cloudWatchLog/index.test.js +++ b/lib/plugins/aws/package/compile/events/cloudWatchLog/index.test.js @@ -160,6 +160,28 @@ describe('AwsCompileCloudWatchLogEvents', () => { ).to.equal('"userIdentity.type=Root" - "logLevel=Debug"'); }); + it('should respect escaped "filter" variable of plain text', () => { + awsCompileCloudWatchLogEvents.serverless.service.functions = { + first: { + events: [ + { + cloudwatchLog: { + logGroup: '/aws/lambda/hello1', + filter: '\\"userIdentity.type=Root\\" - \\"logLevel=Debug\\"', + }, + }, + ], + }, + }; + + awsCompileCloudWatchLogEvents.compileCloudWatchLogEvents(); + + expect(awsCompileCloudWatchLogEvents.serverless.service + .provider.compiledCloudFormationTemplate.Resources.FirstLogsSubscriptionFilterCloudWatchLog1 + .Properties.FilterPattern + ).to.equal('"userIdentity.type=Root" - "logLevel=Debug"'); + }); + it('should set an empty string for FilterPattern statement when "filter" variable is not given' , () => { awsCompileCloudWatchLogEvents.serverless.service.functions = { From 86e13bb14ce0f3ea87cfbf5e71705c12fedd5ac2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christophe=20Boug=C3=A8re?= Date: Thu, 4 Jan 2018 11:42:25 +0100 Subject: [PATCH 73/99] updating doc for other providers --- docs/providers/azure/cli-reference/create.md | 13 +++++++++++-- docs/providers/google/cli-reference/create.md | 13 +++++++++++-- docs/providers/kubeless/cli-reference/create.md | 13 +++++++++++-- docs/providers/openwhisk/cli-reference/create.md | 13 +++++++++++-- docs/providers/spotinst/cli-reference/create.md | 13 +++++++++++-- docs/providers/webtasks/cli-reference/create.md | 13 +++++++++++-- 6 files changed, 66 insertions(+), 12 deletions(-) diff --git a/docs/providers/azure/cli-reference/create.md b/docs/providers/azure/cli-reference/create.md index 998a09cef3e..f9bddeeaa54 100644 --- a/docs/providers/azure/cli-reference/create.md +++ b/docs/providers/azure/cli-reference/create.md @@ -28,8 +28,9 @@ serverless create --template azure-nodejs --path myService ``` ## Options -- `--template` or `-t` The name of one of the available templates. **Required if --template-url is not present**. -- `--template-url` or `-u` The name of one of the available templates. **Required if --template is not present**. +- `--template` or `-t` The name of one of the available templates. **Required if --template-url and --template-path are not present**. +- `--template-url` or `-u` The name of one of the available templates. **Required if --template and --template-path are not present**. +- `--template-path` The local path of your template. **Required if --template and --template-url are not present**. - `--path` or `-p` The path where the service should be created. - `--name` or `-n` the name of the service in `serverless.yml`. @@ -70,6 +71,14 @@ Serverless will use the already present directory. Additionally Serverless will rename the service according to the path you provide. In this example the service will be renamed to `my-new-service`. +### Creating a new service using a local template + +```bash +serverless create --template-path path/to/my/template/folder --path path/to/my/service --name my-new-service +``` + +This will copy the `path/to/my/template/folder` folder into `path/to/my/service` and rename the service to `my-new-service`. + ### Create service in new folder using a custom template ```bash diff --git a/docs/providers/google/cli-reference/create.md b/docs/providers/google/cli-reference/create.md index 232c84bdc08..27d550bdb33 100644 --- a/docs/providers/google/cli-reference/create.md +++ b/docs/providers/google/cli-reference/create.md @@ -28,8 +28,9 @@ serverless create --template google-nodejs --path my-service ## Options -- `--template` or `-t` The name of one of the available templates. **Required if --template-url is not present**. -- `--template-url` or `-u` The name of one of the available templates. **Required if --template is not present**. +- `--template` or `-t` The name of one of the available templates. **Required if --template-url and --template-path are not present**. +- `--template-url` or `-u` The name of one of the available templates. **Required if --template and --template-path are not present**. +- `--template-path` The local path of your template. **Required if --template and --template-url are not present**. - `--path` or `-p` The path where the service should be created. - `--name` or `-n` the name of the service in `serverless.yml`. @@ -61,6 +62,14 @@ This example will generate scaffolding for a service with `google` as a provider Additionally Serverless will rename the service according to the path you provide. In this example the service will be renamed to `my-new-service`. +### Creating a new service using a local template + +```bash +serverless create --template-path path/to/my/template/folder --path path/to/my/service --name my-new-service +``` + +This will copy the `path/to/my/template/folder` folder into `path/to/my/service` and rename the service to `my-new-service`. + ### Create service in new folder using a custom template ```bash diff --git a/docs/providers/kubeless/cli-reference/create.md b/docs/providers/kubeless/cli-reference/create.md index 7911ef2810c..68a1bd6b3b2 100644 --- a/docs/providers/kubeless/cli-reference/create.md +++ b/docs/providers/kubeless/cli-reference/create.md @@ -35,8 +35,9 @@ serverless create --template kubeless-nodejs --path my-service ``` ## Options -- `--template` or `-t` The name of one of the available templates. **Required if --template-url is not present**. -- `--template-url` or `-u` The name of one of the available templates. **Required if --template is not present**. +- `--template` or `-t` The name of one of the available templates. **Required if --template-url and --template-path are not present**. +- `--template-url` or `-u` The name of one of the available templates. **Required if --template and --template-path are not present**. +- `--template-path` The local path of your template. **Required if --template and --template-url are not present**. - `--path` or `-p` The path where the service should be created. - `--name` or `-n` the name of the service in `serverless.yml`. @@ -73,3 +74,11 @@ serverless create --template kubeless-python --path my-new-service This example will generate scaffolding for a service with `kubeless` as a provider and `python2.7` as runtime. The scaffolding will be generated in the `my-new-service` directory. This directory will be created if not present. Otherwise Serverless will use the already present directory. Additionally Serverless will rename the service according to the path you provide. In this example the service will be renamed to `my-new-service`. + +### Creating a new service using a local template + +```bash +serverless create --template-path path/to/my/template/folder --path path/to/my/service --name my-new-service +``` + +This will copy the `path/to/my/template/folder` folder into `path/to/my/service` and rename the service to `my-new-service`. diff --git a/docs/providers/openwhisk/cli-reference/create.md b/docs/providers/openwhisk/cli-reference/create.md index 5c5201e47b6..952029e9652 100644 --- a/docs/providers/openwhisk/cli-reference/create.md +++ b/docs/providers/openwhisk/cli-reference/create.md @@ -27,8 +27,9 @@ serverless create --template openwhisk-nodejs --path myService ``` ## Options -- `--template` or `-t` The name of one of the available templates. **Required if --template-url is not present**. -- `--template-url` or `-u` The name of one of the available templates. **Required if --template is not present**. +- `--template` or `-t` The name of one of the available templates. **Required if --template-url and --template-path are not present**. +- `--template-url` or `-u` The name of one of the available templates. **Required if --template and --template-path are not present**. +- `--template-path` The local path of your template. **Required if --template and --template-url are not present**. - `--path` or `-p` The path where the service should be created. - `--name` or `-n` the name of the service in `serverless.yml`. @@ -69,6 +70,14 @@ This example will generate scaffolding for a service with `openwhisk` as a provi Additionally Serverless will rename the service according to the path you provide. In this example the service will be renamed to `my-new-service`. +### Creating a new service using a local template + +```bash +serverless create --template-path path/to/my/template/folder --path path/to/my/service --name my-new-service +``` + +This will copy the `path/to/my/template/folder` folder into `path/to/my/service` and rename the service to `my-new-service`. + ### Create service in new folder using a custom template ```bash diff --git a/docs/providers/spotinst/cli-reference/create.md b/docs/providers/spotinst/cli-reference/create.md index 0009dea57c5..fa4421d7e60 100755 --- a/docs/providers/spotinst/cli-reference/create.md +++ b/docs/providers/spotinst/cli-reference/create.md @@ -27,8 +27,9 @@ serverless create -t spotinst-nodejs -p myService ``` ## Options -- `--template` or `-t` The name of one of the available templates. **Required if --template-url is not present**. -- `--template-url` or `-u` The name of one of the available templates. **Required if --template is not present**. +- `--template` or `-t` The name of one of the available templates. **Required if --template-url and --template-path are not present**. +- `--template-url` or `-u` The name of one of the available templates. **Required if --template and --template-path are not present**. +- `--template-path` The local path of your template. **Required if --template and --template-url are not present**. - `--path` or `-p` The path where the service should be created. - `--name` or `-n` the name of the service in `serverless.yml`. @@ -70,3 +71,11 @@ serverless create -t spotinst-nodejs -p my-new-service This example will generate scaffolding for a service with `Spotinst` as a provider and `ruby` as runtime. The scaffolding will be generated in the `my-new-service` directory. This directory will be created if not present. Otherwise Serverless will use the already present directory. + +### Creating a new service using a local template + +```bash +serverless create --template-path path/to/my/template/folder --path path/to/my/service --name my-new-service +``` + +This will copy the `path/to/my/template/folder` folder into `path/to/my/service` and rename the service to `my-new-service`. diff --git a/docs/providers/webtasks/cli-reference/create.md b/docs/providers/webtasks/cli-reference/create.md index 56da10709cf..779f57738d2 100755 --- a/docs/providers/webtasks/cli-reference/create.md +++ b/docs/providers/webtasks/cli-reference/create.md @@ -28,8 +28,9 @@ serverless create --template webtasks-nodejs --path my-service ## Options -- `--template` or `-t` The name of one of the available templates. **Required if --template-url is not present**. -- `--template-url` or `-u` The name of one of the available templates. **Required if --template is not present**. +- `--template` or `-t` The name of one of the available templates. **Required if --template-url and --template-path are not present**. +- `--template-url` or `-u` The name of one of the available templates. **Required if --template and --template-path are not present**. +- `--template-path` The local path of your template. **Required if --template and --template-url are not present**. - `--path` or `-p` The path where the service should be created. - `--name` or `-n` the name of the service in `serverless.yml`. @@ -60,3 +61,11 @@ serverless create --template webtasks-nodejs --path my-new-service This example will generate scaffolding for a service with `webtasks` as a provider. The scaffolding will be generated in the `my-new-service` directory. This directory will be created if not present. Otherwise Serverless will use the already present directory. Additionally Serverless will rename the service according to the path you provide. In this example the service will be renamed to `my-new-service`. + +### Creating a new service using a local template + +```bash +serverless create --template-path path/to/my/template/folder --path path/to/my/service --name my-new-service +``` + +This will copy the `path/to/my/template/folder` folder into `path/to/my/service` and rename the service to `my-new-service`. From 310f59f7faf2ebfdf34702ce1e27c06b51db6521 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christophe=20Boug=C3=A8re?= Date: Thu, 4 Jan 2018 11:46:49 +0100 Subject: [PATCH 74/99] extend error message --- lib/plugins/create/create.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/plugins/create/create.js b/lib/plugins/create/create.js index 3e4f39f0297..6110124de51 100644 --- a/lib/plugins/create/create.js +++ b/lib/plugins/create/create.js @@ -131,8 +131,8 @@ class Create { } } else { const errorMessage = [ - 'You must either pass a template name (--template) or a ', - 'a URL (--template-url).', + 'You must either pass a template name (--template), ', + 'a URL (--template-url) or a local path (--template-path).', ].join(''); throw new this.serverless.classes.Error(errorMessage); } From 48618d83aff9de9ce4784731a397cbc723d5286b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christophe=20Boug=C3=A8re?= Date: Thu, 4 Jan 2018 11:54:48 +0100 Subject: [PATCH 75/99] checking if service name is correct --- lib/plugins/create/create.test.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/plugins/create/create.test.js b/lib/plugins/create/create.test.js index fdd986eb0d6..531d4fd7159 100644 --- a/lib/plugins/create/create.test.js +++ b/lib/plugins/create/create.test.js @@ -680,6 +680,12 @@ describe('Create', () => { expect(dirContent).to.include('serverless.yml'); expect(dirContent).to.include('handler.js'); expect(dirContent).to.include('gitignore'); + + // check if the service was renamed + const serverlessYmlfileContent = fse + .readFileSync(path.join(distDir, 'serverless.yml')).toString(); + + expect((/service: aws-nodejs/).test(serverlessYmlfileContent)).to.equal(true); }); }); @@ -695,6 +701,12 @@ describe('Create', () => { expect(dirContent).to.include('serverless.yml'); expect(dirContent).to.include('handler.js'); expect(dirContent).to.include('gitignore'); + + // check if the service was renamed + const serverlessYmlfileContent = fse + .readFileSync(path.join(tmpDir, 'my-awesome-service', 'serverless.yml')).toString(); + + expect((/service: my-awesome-service/).test(serverlessYmlfileContent)).to.equal(true); }); }); }); From 49bfee948b17971930017becea40459e3dfb9fab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christophe=20Boug=C3=A8re?= Date: Thu, 4 Jan 2018 13:03:06 +0100 Subject: [PATCH 76/99] sym links: - adding a noLinks option - unit test for sym links --- lib/plugins/create/create.js | 4 +++- lib/utils/fs/copyDirContentsSync.js | 4 ++-- lib/utils/fs/walkDirSync.js | 14 ++++++++++---- lib/utils/fs/walkDirSync.test.js | 18 ++++++++++++++++++ 4 files changed, 33 insertions(+), 7 deletions(-) diff --git a/lib/plugins/create/create.js b/lib/plugins/create/create.js index 6110124de51..471c9167099 100644 --- a/lib/plugins/create/create.js +++ b/lib/plugins/create/create.js @@ -125,7 +125,9 @@ class Create { const errorMessage = `A folder named "${servicePath}" already exists.`; throw new ServerlessError(errorMessage); } - copyDirContentsSync(this.options['template-path'], servicePath); + copyDirContentsSync(this.options['template-path'], servicePath, { + noLinks: true, + }); if (this.options.name) { renameService(this.options.name, servicePath); } diff --git a/lib/utils/fs/copyDirContentsSync.js b/lib/utils/fs/copyDirContentsSync.js index 5c38378b264..dc75de7a653 100644 --- a/lib/utils/fs/copyDirContentsSync.js +++ b/lib/utils/fs/copyDirContentsSync.js @@ -4,8 +4,8 @@ const path = require('path'); const fse = require('./fse'); const walkDirSync = require('./walkDirSync'); -function fileExists(srcDir, destDir) { - const fullFilesPaths = walkDirSync(srcDir); +function fileExists(srcDir, destDir, options) { + const fullFilesPaths = walkDirSync(srcDir, options); fullFilesPaths.forEach(fullFilePath => { const relativeFilePath = fullFilePath.replace(srcDir, ''); diff --git a/lib/utils/fs/walkDirSync.js b/lib/utils/fs/walkDirSync.js index d9aa3a049c6..150e856b065 100644 --- a/lib/utils/fs/walkDirSync.js +++ b/lib/utils/fs/walkDirSync.js @@ -3,15 +3,21 @@ const path = require('path'); const fs = require('fs'); -function walkDirSync(dirPath) { +function walkDirSync(dirPath, opts) { + const options = Object.assign({ + noLinks: false, + }, opts); let filePaths = []; const list = fs.readdirSync(dirPath); list.forEach((filePathParam) => { let filePath = filePathParam; filePath = path.join(dirPath, filePath); - const stat = fs.lstatSync(filePath); - if (stat && stat.isDirectory()) { - filePaths = filePaths.concat(walkDirSync(filePath)); + const stat = options.noLinks ? fs.lstatSync(filePath) : fs.statSync(filePath); + // skipping symbolic links when noLinks option + if (options.noLinks && stat && stat.isSymbolicLink()) { + return; + } else if (stat && stat.isDirectory()) { + filePaths = filePaths.concat(walkDirSync(filePath, opts)); } else { filePaths.push(filePath); } diff --git a/lib/utils/fs/walkDirSync.test.js b/lib/utils/fs/walkDirSync.test.js index 991e9d06db0..2ef3a2600a9 100644 --- a/lib/utils/fs/walkDirSync.test.js +++ b/lib/utils/fs/walkDirSync.test.js @@ -1,5 +1,6 @@ 'use strict'; +const fs = require('fs'); const path = require('path'); const expect = require('chai').expect; const testUtils = require('../../../tests/utils'); @@ -28,4 +29,21 @@ describe('#walkDirSync()', () => { expect(filePaths).to.include(tmpFilePath2); expect(filePaths).to.include(tmpFilePath3); }); + + it('should check noLinks option', () => { + const tmpDirPath = testUtils.getTmpDirPath(); + + const realFile = path.join(tmpDirPath, 'real'); + writeFileSync(realFile, 'content'); + + const symLink = path.join(tmpDirPath, 'sym'); + fs.symlinkSync(realFile, symLink); + + const filePaths = walkDirSync(tmpDirPath, { + noLinks: true, + }); + + expect(filePaths).to.include(realFile); + expect(filePaths).not.to.include(symLink); + }); }); From 5a0a31f8a0d51381a3de2e55a8e0884594a10cf8 Mon Sep 17 00:00:00 2001 From: Will Yang Date: Fri, 5 Jan 2018 09:37:19 +1100 Subject: [PATCH 77/99] use double quotes string to be better to represent the test case --- .../package/compile/events/cloudWatchLog/index.test.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/plugins/aws/package/compile/events/cloudWatchLog/index.test.js b/lib/plugins/aws/package/compile/events/cloudWatchLog/index.test.js index f323bf61a27..bfc3263cd35 100644 --- a/lib/plugins/aws/package/compile/events/cloudWatchLog/index.test.js +++ b/lib/plugins/aws/package/compile/events/cloudWatchLog/index.test.js @@ -145,7 +145,7 @@ describe('AwsCompileCloudWatchLogEvents', () => { { cloudwatchLog: { logGroup: '/aws/lambda/hello1', - filter: '"userIdentity.type=Root" - "logLevel=Debug"', + filter: '"Total amount" -"level=Debug"', }, }, ], @@ -157,7 +157,7 @@ describe('AwsCompileCloudWatchLogEvents', () => { expect(awsCompileCloudWatchLogEvents.serverless.service .provider.compiledCloudFormationTemplate.Resources.FirstLogsSubscriptionFilterCloudWatchLog1 .Properties.FilterPattern - ).to.equal('"userIdentity.type=Root" - "logLevel=Debug"'); + ).to.equal('"Total amount" -"level=Debug"'); }); it('should respect escaped "filter" variable of plain text', () => { @@ -167,7 +167,7 @@ describe('AwsCompileCloudWatchLogEvents', () => { { cloudwatchLog: { logGroup: '/aws/lambda/hello1', - filter: '\\"userIdentity.type=Root\\" - \\"logLevel=Debug\\"', + filter: "\\\"Total amount\\\" -\\\"level=Debug\\\"", // eslint-disable-line quotes }, }, ], @@ -179,7 +179,7 @@ describe('AwsCompileCloudWatchLogEvents', () => { expect(awsCompileCloudWatchLogEvents.serverless.service .provider.compiledCloudFormationTemplate.Resources.FirstLogsSubscriptionFilterCloudWatchLog1 .Properties.FilterPattern - ).to.equal('"userIdentity.type=Root" - "logLevel=Debug"'); + ).to.equal('"Total amount" -"level=Debug"'); }); it('should set an empty string for FilterPattern statement when "filter" variable is not given' From 4de092c092d6d43ca99ba35a27070b1de934636b Mon Sep 17 00:00:00 2001 From: Alex Casalboni Date: Sun, 7 Jan 2018 16:37:23 +0100 Subject: [PATCH 78/99] not setting 'Suspended' acceleration by default (permission would be required!) --- .../aws/package/lib/generateCoreTemplate.js | 16 ++++++++-------- .../aws/package/lib/generateCoreTemplate.test.js | 5 ----- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/lib/plugins/aws/package/lib/generateCoreTemplate.js b/lib/plugins/aws/package/lib/generateCoreTemplate.js index 09a20d4ddee..233c1a1eb34 100644 --- a/lib/plugins/aws/package/lib/generateCoreTemplate.js +++ b/lib/plugins/aws/package/lib/generateCoreTemplate.js @@ -45,15 +45,15 @@ module.exports = { }); } - this.serverless.service.provider.compiledCloudFormationTemplate - .Resources.ServerlessDeploymentBucket.Properties = { - AccelerateConfiguration: { - AccelerationStatus: - isS3TransferAccelerationEnabled ? 'Enabled' : 'Suspended', - }, - }; - if (isS3TransferAccelerationEnabled) { + // enable acceleration via CloudFormation + this.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ServerlessDeploymentBucket.Properties = { + AccelerateConfiguration: { + AccelerationStatus: 'Enabled', + }, + }; + // keep track of acceleration status via CloudFormation Output this.serverless.service.provider.compiledCloudFormationTemplate .Outputs.ServerlessDeploymentBucketAccelerated = { Value: true }; } diff --git a/lib/plugins/aws/package/lib/generateCoreTemplate.test.js b/lib/plugins/aws/package/lib/generateCoreTemplate.test.js index a089d536950..77e72afc76b 100644 --- a/lib/plugins/aws/package/lib/generateCoreTemplate.test.js +++ b/lib/plugins/aws/package/lib/generateCoreTemplate.test.js @@ -80,11 +80,6 @@ describe('#generateCoreTemplate()', () => { .Resources.ServerlessDeploymentBucket ).to.be.deep.equal({ Type: 'AWS::S3::Bucket', - Properties: { - AccelerateConfiguration: { - AccelerationStatus: 'Suspended', - }, - }, }); }) ); From a9b82e538cc29063f6c0ba9a944627af54fdd127 Mon Sep 17 00:00:00 2001 From: Alex Casalboni Date: Sun, 7 Jan 2018 17:29:54 +0100 Subject: [PATCH 79/99] Added new `no-aws-s3-accelerate` argument to explicitly disable S3 Transfer Acceleration (updated doc too) --- docs/providers/aws/cli-reference/deploy.md | 3 ++- .../aws/package/lib/generateCoreTemplate.js | 16 ++++++++++++++++ lib/plugins/aws/provider/awsProvider.js | 4 ++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/providers/aws/cli-reference/deploy.md b/docs/providers/aws/cli-reference/deploy.md index 66204c690a9..8bdeced0998 100644 --- a/docs/providers/aws/cli-reference/deploy.md +++ b/docs/providers/aws/cli-reference/deploy.md @@ -25,7 +25,8 @@ serverless deploy - `--verbose` or `-v` Shows all stack events during deployment, and display any Stack Output. - `--function` or `-f` Invoke `deploy function` (see above). Convenience shortcut - cannot be used with `--package`. - `--conceal` Hides secrets from the output (e.g. API Gateway key values). -- `--aws-s3-accelerate` Enables S3 Transfer Acceleration making uploading artifacts much faster. You can read more about it [here](http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html). **Note: When using Transfer Acceleration, additional data transfer charges may apply** +- `--aws-s3-accelerate` Enables S3 Transfer Acceleration making uploading artifacts much faster. You can read more about it [here](http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html). It requires additional `s3:PutAccelerateConfiguration` permissions. **Note: When using Transfer Acceleration, additional data transfer charges may apply.** +- `--no-aws-s3-accelerate` Explicitly disables S3 Transfer Acceleration). It also requires additional `s3:PutAccelerateConfiguration` permissions. ## Artifacts diff --git a/lib/plugins/aws/package/lib/generateCoreTemplate.js b/lib/plugins/aws/package/lib/generateCoreTemplate.js index 233c1a1eb34..bd751279a55 100644 --- a/lib/plugins/aws/package/lib/generateCoreTemplate.js +++ b/lib/plugins/aws/package/lib/generateCoreTemplate.js @@ -25,6 +25,14 @@ module.exports = { const bucketName = this.serverless.service.provider.deploymentBucket; const isS3TransferAccelerationEnabled = this.provider.isS3TransferAccelerationEnabled(); + const isS3TransferAccelerationDisabled = this.provider.isS3TransferAccelerationDisabled(); + + if (isS3TransferAccelerationEnabled && isS3TransferAccelerationDisabled) { + const errorMessage = [ + 'You cannot enable and disable S3 Transfer Acceleration at the same time', + ].join(''); + throw new this.serverless.classes.Error(errorMessage); + } if (bucketName) { return BbPromise.bind(this) @@ -56,6 +64,14 @@ module.exports = { // keep track of acceleration status via CloudFormation Output this.serverless.service.provider.compiledCloudFormationTemplate .Outputs.ServerlessDeploymentBucketAccelerated = { Value: true }; + } else if (isS3TransferAccelerationDisabled) { + // explicitly disable acceleration via CloudFormation + this.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ServerlessDeploymentBucket.Properties = { + AccelerateConfiguration: { + AccelerationStatus: 'Suspended', + }, + }; } const coreTemplateFileName = this.provider.naming.getCoreTemplateFileName(); diff --git a/lib/plugins/aws/provider/awsProvider.js b/lib/plugins/aws/provider/awsProvider.js index 4c79f14bef1..bcc78e58372 100644 --- a/lib/plugins/aws/provider/awsProvider.js +++ b/lib/plugins/aws/provider/awsProvider.js @@ -317,6 +317,10 @@ class AwsProvider { return !!this.options['aws-s3-accelerate']; } + isS3TransferAccelerationDisabled() { + return !!this.options['no-aws-s3-accelerate']; + } + disableTransferAccelerationForCurrentDeploy() { delete this.options['aws-s3-accelerate']; } From 1aee4b82404cc04cb47ff7cdd624a53ffd3af7fb Mon Sep 17 00:00:00 2001 From: Alex Casalboni Date: Sun, 7 Jan 2018 17:30:18 +0100 Subject: [PATCH 80/99] updated tests (100% file coverage) --- .../package/lib/generateCoreTemplate.test.js | 71 +++++++++++++++++-- 1 file changed, 67 insertions(+), 4 deletions(-) diff --git a/lib/plugins/aws/package/lib/generateCoreTemplate.test.js b/lib/plugins/aws/package/lib/generateCoreTemplate.test.js index 77e72afc76b..63fbdc02a70 100644 --- a/lib/plugins/aws/package/lib/generateCoreTemplate.test.js +++ b/lib/plugins/aws/package/lib/generateCoreTemplate.test.js @@ -61,14 +61,45 @@ describe('#generateCoreTemplate()', () => { return expect(awsPlugin.generateCoreTemplate()).to.be.fulfilled .then(() => { + const template = awsPlugin.serverless.service.provider.compiledCloudFormationTemplate; expect( - awsPlugin.serverless.service.provider.compiledCloudFormationTemplate - .Outputs.ServerlessDeploymentBucketName.Value + template.Outputs.ServerlessDeploymentBucketName.Value ).to.equal(bucketName); // eslint-disable-next-line no-unused-expressions expect( - awsPlugin.serverless.service.provider.compiledCloudFormationTemplate - .Resources.ServerlessDeploymentBucket + template.Resources.ServerlessDeploymentBucket + ).to.not.exist; + }); + }); + + it('should use a custom bucket if specified, even with S3 transfer acceleration', () => { + const bucketName = 'com.serverless.deploys'; + + awsPlugin.serverless.service.provider.deploymentBucket = bucketName; + awsPlugin.provider.options['aws-s3-accelerate'] = true; + + const coreCloudFormationTemplate = awsPlugin.serverless.utils.readFileSync( + path.join( + __dirname, + 'core-cloudformation-template.json' + ) + ); + awsPlugin.serverless.service.provider + .compiledCloudFormationTemplate = coreCloudFormationTemplate; + + return expect(awsPlugin.generateCoreTemplate()).to.be.fulfilled + .then(() => { + const template = awsPlugin.serverless.service.provider.compiledCloudFormationTemplate; + expect( + template.Outputs.ServerlessDeploymentBucketName.Value + ).to.equal(bucketName); + // eslint-disable-next-line no-unused-expressions + expect( + template.Resources.ServerlessDeploymentBucket + ).to.not.exist; + // eslint-disable-next-line no-unused-expressions + expect( + template.Outputs.ServerlessDeploymentBucketAccelerated ).to.not.exist; }); }); @@ -109,4 +140,36 @@ describe('#generateCoreTemplate()', () => { expect(template.Outputs.ServerlessDeploymentBucketAccelerated.Value).to.equal(true); }); }); + + it('should explode if transfer acceleration is both enabled and disabled', () => { + sinon.stub(awsPlugin.provider, 'request').resolves(); + sinon.stub(serverless.utils, 'writeFileSync').resolves(); + serverless.config.servicePath = './'; + awsPlugin.provider.options['no-aws-s3-accelerate'] = true; + + return awsPlugin.generateCoreTemplate() + .then(() => { + const template = serverless.service.provider.coreCloudFormationTemplate; + expect(template.Resources.ServerlessDeploymentBucket).to.be.deep.equal({ + Type: 'AWS::S3::Bucket', + Properties: { + AccelerateConfiguration: { + AccelerationStatus: 'Suspended', + }, + }, + }); + }); + }); + + it('should explode if transfer acceleration is both enabled and disabled', () => { + sinon.stub(awsPlugin.provider, 'request').resolves(); + sinon.stub(serverless.utils, 'writeFileSync').resolves(); + serverless.config.servicePath = './'; + awsPlugin.provider.options['aws-s3-accelerate'] = true; + awsPlugin.provider.options['no-aws-s3-accelerate'] = true; + + return expect( + () => awsPlugin.generateCoreTemplate() + ).to.throw(/at the same time/); + }); }); From c7200181255815191295ad15cb416ae83d2edffd Mon Sep 17 00:00:00 2001 From: Alex Casalboni Date: Sun, 7 Jan 2018 17:38:43 +0100 Subject: [PATCH 81/99] test typo --- lib/plugins/aws/package/lib/generateCoreTemplate.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/aws/package/lib/generateCoreTemplate.test.js b/lib/plugins/aws/package/lib/generateCoreTemplate.test.js index 63fbdc02a70..58b4b7dc309 100644 --- a/lib/plugins/aws/package/lib/generateCoreTemplate.test.js +++ b/lib/plugins/aws/package/lib/generateCoreTemplate.test.js @@ -141,7 +141,7 @@ describe('#generateCoreTemplate()', () => { }); }); - it('should explode if transfer acceleration is both enabled and disabled', () => { + it('should explicitly disable S3 Transfer Acceleration, if requested', () => { sinon.stub(awsPlugin.provider, 'request').resolves(); sinon.stub(serverless.utils, 'writeFileSync').resolves(); serverless.config.servicePath = './'; From 407b0f06e6f466fb029ea4c619589a65e1c23401 Mon Sep 17 00:00:00 2001 From: Alex Casalboni Date: Mon, 8 Jan 2018 15:03:41 +0100 Subject: [PATCH 82/99] BbPromise.reject instead of throwing error --- lib/plugins/aws/package/lib/generateCoreTemplate.js | 2 +- lib/plugins/aws/package/lib/generateCoreTemplate.test.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/plugins/aws/package/lib/generateCoreTemplate.js b/lib/plugins/aws/package/lib/generateCoreTemplate.js index bd751279a55..fae3c200071 100644 --- a/lib/plugins/aws/package/lib/generateCoreTemplate.js +++ b/lib/plugins/aws/package/lib/generateCoreTemplate.js @@ -31,7 +31,7 @@ module.exports = { const errorMessage = [ 'You cannot enable and disable S3 Transfer Acceleration at the same time', ].join(''); - throw new this.serverless.classes.Error(errorMessage); + return BbPromise.reject(new this.serverless.classes.Error(errorMessage)); } if (bucketName) { diff --git a/lib/plugins/aws/package/lib/generateCoreTemplate.test.js b/lib/plugins/aws/package/lib/generateCoreTemplate.test.js index 58b4b7dc309..e4cb5eba22f 100644 --- a/lib/plugins/aws/package/lib/generateCoreTemplate.test.js +++ b/lib/plugins/aws/package/lib/generateCoreTemplate.test.js @@ -169,7 +169,7 @@ describe('#generateCoreTemplate()', () => { awsPlugin.provider.options['no-aws-s3-accelerate'] = true; return expect( - () => awsPlugin.generateCoreTemplate() - ).to.throw(/at the same time/); + awsPlugin.generateCoreTemplate() + ).to.be.rejectedWith(serverless.classes.Error, /at the same time/); }); }); From 0226d72924502248512ce5ff9741250676c02240 Mon Sep 17 00:00:00 2001 From: Guido Stein Date: Wed, 10 Jan 2018 09:42:09 -0500 Subject: [PATCH 83/99] update aws-scala-sbt template #390 --- lib/plugins/create/templates/aws-scala-sbt/project/assembly.sbt | 2 +- lib/plugins/create/templates/aws-scala-sbt/project/plugins.sbt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/plugins/create/templates/aws-scala-sbt/project/assembly.sbt b/lib/plugins/create/templates/aws-scala-sbt/project/assembly.sbt index 5b7f17a1c45..24ec05fe5b1 100644 --- a/lib/plugins/create/templates/aws-scala-sbt/project/assembly.sbt +++ b/lib/plugins/create/templates/aws-scala-sbt/project/assembly.sbt @@ -1,3 +1,3 @@ resolvers += Resolver.sonatypeRepo("public") -addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.0") \ No newline at end of file +addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6") diff --git a/lib/plugins/create/templates/aws-scala-sbt/project/plugins.sbt b/lib/plugins/create/templates/aws-scala-sbt/project/plugins.sbt index dd405c41fdf..ff351a68c3f 100644 --- a/lib/plugins/create/templates/aws-scala-sbt/project/plugins.sbt +++ b/lib/plugins/create/templates/aws-scala-sbt/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.0") \ No newline at end of file +addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.7") From ffe5f42bafd86260d4df4bf8527d664a34100731 Mon Sep 17 00:00:00 2001 From: Vlad Holubiev Date: Wed, 10 Jan 2018 17:59:36 +0200 Subject: [PATCH 84/99] fix: duplicated and broken markdown links to api gw --- docs/providers/aws/events/apigateway.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/docs/providers/aws/events/apigateway.md b/docs/providers/aws/events/apigateway.md index cd281ac7bd4..1cf87a53a77 100644 --- a/docs/providers/aws/events/apigateway.md +++ b/docs/providers/aws/events/apigateway.md @@ -633,13 +633,7 @@ See the [api gateway documentation](https://docs.aws.amazon.com/apigateway/lates **Notes:** - A missing/empty request Content-Type is considered to be the API Gateway default (`application/json`) - - [[Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) - - [[Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) - - [[Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) - - [[Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) - - [[Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) - - [[Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) - - [[Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) + - [Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) - [API Gateway](#api-gateway) - [Lambda Proxy Integration](#lambda-proxy-integration) - [Simple HTTP Endpoint](#simple-http-endpoint) From 211ba71077611a642db743db8ad584544a8e7a41 Mon Sep 17 00:00:00 2001 From: Daniel Schep Date: Wed, 10 Jan 2018 18:38:17 -0500 Subject: [PATCH 85/99] Don't have Python buffer it's output --- lib/plugins/aws/invokeLocal/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/aws/invokeLocal/index.js b/lib/plugins/aws/invokeLocal/index.js index f73c5cb10fe..cf6e362b268 100644 --- a/lib/plugins/aws/invokeLocal/index.js +++ b/lib/plugins/aws/invokeLocal/index.js @@ -168,7 +168,7 @@ class AwsInvokeLocal { return new BbPromise(resolve => { const python = spawn(runtime, - [path.join(__dirname, 'invoke.py'), handlerPath, handlerName], { env: process.env }); + ['-u', path.join(__dirname, 'invoke.py'), handlerPath, handlerName], { env: process.env }); python.stdout.on('data', (buf) => this.serverless.cli.consoleLog(buf.toString())); python.stderr.on('data', (buf) => this.serverless.cli.consoleLog(buf.toString())); python.stdin.write(input); From 90bc9ff6d926236c29ff1ff8a1e9fb5da193bb21 Mon Sep 17 00:00:00 2001 From: Heechul Ryu Date: Fri, 12 Jan 2018 10:41:39 +0900 Subject: [PATCH 86/99] Bump serverless-kubeless to 0.2.4 --- lib/plugins/create/templates/kubeless-nodejs/package.json | 2 +- lib/plugins/create/templates/kubeless-python/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/plugins/create/templates/kubeless-nodejs/package.json b/lib/plugins/create/templates/kubeless-nodejs/package.json index d09d445ffc9..f3231c9d56a 100644 --- a/lib/plugins/create/templates/kubeless-nodejs/package.json +++ b/lib/plugins/create/templates/kubeless-nodejs/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "description": "Example function for serverless kubeless", "dependencies": { - "serverless-kubeless": "^0.1.8", + "serverless-kubeless": "^0.2.4", "lodash": "^4.1.0" }, "devDependencies": {}, diff --git a/lib/plugins/create/templates/kubeless-python/package.json b/lib/plugins/create/templates/kubeless-python/package.json index 58b82e5249d..9809da791b0 100644 --- a/lib/plugins/create/templates/kubeless-python/package.json +++ b/lib/plugins/create/templates/kubeless-python/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "description": "Sample Kubeless Python serverless framework service.", "dependencies": { - "serverless-kubeless": "^0.1.8" + "serverless-kubeless": "^0.2.4" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" From 90bda2856836ec1e601ecf369218d756bcd61d52 Mon Sep 17 00:00:00 2001 From: Vlad Holubiev Date: Fri, 12 Jan 2018 10:30:54 +0200 Subject: [PATCH 87/99] docs: fix broken link again --- docs/providers/aws/events/apigateway.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/providers/aws/events/apigateway.md b/docs/providers/aws/events/apigateway.md index 1cf87a53a77..7da3daf1b42 100644 --- a/docs/providers/aws/events/apigateway.md +++ b/docs/providers/aws/events/apigateway.md @@ -633,7 +633,7 @@ See the [api gateway documentation](https://docs.aws.amazon.com/apigateway/lates **Notes:** - A missing/empty request Content-Type is considered to be the API Gateway default (`application/json`) - - [Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway)](#read-this-on-the-main-serverless-docs-sitehttpswwwserverlesscomframeworkdocsprovidersawseventsapigateway) + - [Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/events/apigateway) - [API Gateway](#api-gateway) - [Lambda Proxy Integration](#lambda-proxy-integration) - [Simple HTTP Endpoint](#simple-http-endpoint) From 1ae47641b171d575bc7190797bbfd3d8b8d2ce06 Mon Sep 17 00:00:00 2001 From: thomasmichaelwallace Date: Fri, 12 Jan 2018 13:57:21 +0000 Subject: [PATCH 88/99] allow authorizer.name to override implied authorizer.arn name. --- .../compile/events/apiGateway/lib/validate.js | 6 ++++- .../events/apiGateway/lib/validate.test.js | 24 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.js index 03dcbcfb259..bbafbb75163 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.js @@ -220,7 +220,11 @@ module.exports = { type = 'AWS_IAM'; } else if (authorizer.arn) { arn = authorizer.arn; - name = this.provider.naming.extractAuthorizerNameFromArn(arn); + if (_.isString(authorizer.name)) { + name = authorizer.name; + } else { + name = this.provider.naming.extractAuthorizerNameFromArn(arn); + } } else if (authorizer.name) { name = authorizer.name; arn = this.getLambdaArn(name); diff --git a/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.test.js b/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.test.js index 6338005f271..a2132f048e0 100644 --- a/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.test.js +++ b/lib/plugins/aws/package/compile/events/apiGateway/lib/validate.test.js @@ -934,6 +934,30 @@ describe('#validate()', () => { expect(validated.events[0].http.authorizer.arn).to.equal('xxx:dev-authorizer'); }); + it('should handle an authorizer.arn with an explicit authorizer.name object', () => { + awsCompileApigEvents.serverless.service.functions = { + first: { + events: [ + { + http: { + path: 'foo/bar', + method: 'GET', + authorizer: { + arn: 'xxx:dev-authorizer', + name: 'custom-name', + }, + }, + }, + ], + }, + }; + + const validated = awsCompileApigEvents.validate(); + expect(validated.events).to.be.an('Array').with.length(1); + expect(validated.events[0].http.authorizer.name).to.equal('custom-name'); + expect(validated.events[0].http.authorizer.arn).to.equal('xxx:dev-authorizer'); + }); + it('should throw an error if the provided config is not an object', () => { awsCompileApigEvents.serverless.service.functions = { first: { From 70d1bcb8d5692a3d17dfd018edb6848eec904f2a Mon Sep 17 00:00:00 2001 From: David Przybilla Date: Sun, 14 Jan 2018 19:35:45 +0900 Subject: [PATCH 89/99] Adding service : cloudwatch alerts on slack --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c3e8d36d28e..74d93dbb5a4 100644 --- a/README.md +++ b/README.md @@ -126,6 +126,7 @@ The following are services you can instantly install and use by running `serverl * [Ruby](https://github.com/stewartlord/serverless-ruby) - Call a Ruby function from your lambda * [Slack App](https://github.com/johnagan/serverless-slack-app) - Slack App Boilerplate with OAuth and Bot actions * [Swift](https://github.com/choefele/swift-lambda-app) - Full-featured project template to develop Lambda functions in Swift +* [Cloudwatch Alerts on Slack](github.com/dav009/serverless-aws-alarms-notifier) - Get AWS Cloudwatch alerts notifications on Slack **Note**: the `serverless install` command will only work on V1.0 or later. From fd12262a55aa9c19906479f54a46bff9e1c41f91 Mon Sep 17 00:00:00 2001 From: David Przybilla Date: Mon, 15 Jan 2018 09:46:25 +0900 Subject: [PATCH 90/99] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 74d93dbb5a4..e6ff0f7fa4e 100644 --- a/README.md +++ b/README.md @@ -126,7 +126,7 @@ The following are services you can instantly install and use by running `serverl * [Ruby](https://github.com/stewartlord/serverless-ruby) - Call a Ruby function from your lambda * [Slack App](https://github.com/johnagan/serverless-slack-app) - Slack App Boilerplate with OAuth and Bot actions * [Swift](https://github.com/choefele/swift-lambda-app) - Full-featured project template to develop Lambda functions in Swift -* [Cloudwatch Alerts on Slack](github.com/dav009/serverless-aws-alarms-notifier) - Get AWS Cloudwatch alerts notifications on Slack +* [Cloudwatch Alerts on Slack](https://github.com/dav009/serverless-aws-alarms-notifier) - Get AWS Cloudwatch alerts notifications on Slack **Note**: the `serverless install` command will only work on V1.0 or later. From f88415eedde8201afc85d6a3e7880310b0cd71c8 Mon Sep 17 00:00:00 2001 From: drexler Date: Tue, 16 Jan 2018 08:07:55 -0500 Subject: [PATCH 91/99] enable source map generation for nodejs-typescript example --- .../create/templates/aws-nodejs-typescript/webpack.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/plugins/create/templates/aws-nodejs-typescript/webpack.config.js b/lib/plugins/create/templates/aws-nodejs-typescript/webpack.config.js index b15fcd6d494..41c1876cd1f 100644 --- a/lib/plugins/create/templates/aws-nodejs-typescript/webpack.config.js +++ b/lib/plugins/create/templates/aws-nodejs-typescript/webpack.config.js @@ -3,6 +3,7 @@ const slsw = require('serverless-webpack'); module.exports = { entry: slsw.lib.entries, + devtool: 'source-map', resolve: { extensions: [ '.js', From 298154abf13a02d50c8643106c67b5cc523ef51c Mon Sep 17 00:00:00 2001 From: Andres Date: Thu, 18 Jan 2018 17:08:14 +0100 Subject: [PATCH 92/99] Update documentation and templates for serverless-kubeless 0.3 --- docs/providers/kubeless/README.md | 1 + docs/providers/kubeless/guide/functions.md | 136 ++++++++++++++++- docs/providers/kubeless/guide/packaging.md | 144 ++++++++++++++++++ .../templates/kubeless-nodejs/package.json | 2 +- .../templates/kubeless-python/package.json | 2 +- 5 files changed, 282 insertions(+), 3 deletions(-) create mode 100644 docs/providers/kubeless/guide/packaging.md diff --git a/docs/providers/kubeless/README.md b/docs/providers/kubeless/README.md index b9bba665a2d..aaf72767710 100644 --- a/docs/providers/kubeless/README.md +++ b/docs/providers/kubeless/README.md @@ -30,6 +30,7 @@ If you have questions, join the [chat in gitter](https://gitter.im/serverless/se
  • Functions
  • Events
  • Deploying
  • +
  • Packaging
  • Debugging
  • Workflow
  • diff --git a/docs/providers/kubeless/guide/functions.md b/docs/providers/kubeless/guide/functions.md index b85619a2694..294de477914 100644 --- a/docs/providers/kubeless/guide/functions.md +++ b/docs/providers/kubeless/guide/functions.md @@ -25,6 +25,9 @@ service: my-service provider: name: kubeless runtime: python2.7 + memorySize: 512M # optional, maximum memory + timeout: 10 # optional, in seconds, default is 180 + namespace: funcions # optional, deployment namespace if not specified it uses "default" plugins: - serverless-kubeless @@ -34,7 +37,12 @@ functions: # and the K8s service object to get a request to call the function hello: # The function to call as a response to the HTTP event - handler: handler.hello + handler: handler.hello # required, handler set + description: Description of what the function does # optional, to set the description as an annotation + memorySize: 512M # optional, maximum memory + timeout: 10 # optional, in seconds, default is 180 + namespace: funcions # optional, deployment namespace, if not specified "default" will be used + port: 8081 # optional, deploy http-based function with a custom port, default is 8080 ``` The `handler` property points to the file and module containing the code you want to run in your function. @@ -88,3 +96,129 @@ The Kubeless provider plugin supports the following runtimes. Please see the following repository for sample projects using those runtimes: [https://github.com/serverless/serverless-kubeless/tree/master/examples](https://github.com/serverless/serverless-kubeless/tree/master/examples) + +## Environment Variables + +You can add environment variable configuration to a specific function in `serverless.yml` by adding an `environment` object property in the function configuration. This object should contain a key/value collection of strings: + +```yml +# serverless.yml +service: service-name +provider: kubeless +plugins: + - serverless-kubeless + +functions: + hello: + handler: handler.hello + environment: + TABLE_NAME: tableName +``` + +Or if you want to apply environment variable configuration to all functions in your service, you can add the configuration to the higher level `provider` object. Environment variables configured at the function level are merged with those at the provider level, so your function with specific environment variables will also have access to the environment variables defined at the provider level. If an environment variable with the same key is defined at both the function and provider levels, the function-specific value overrides the provider-level default value. For example: + +```yml +# serverless.yml +service: service-name +provider: + name: kubeless + environment: + SYSTEM_NAME: mySystem + TABLE_NAME: tableName1 + +plugins: + - serverless-kubeless + +functions: + hello: + # this function will have SYSTEM_NAME=mySystem and TABLE_NAME=tableName1 from the provider-level environment config above + handler: handler.hello + users: + # this function will have SYSTEM_NAME=mySystem from the provider-level environment config above + # but TABLE_NAME will be tableName2 because this more specific config will override the default above + handler: handler.users + environment: + TABLE_NAME: tableName2 +``` + +## Labels + +Using the `labels` configuration makes it possible to add `key` / `value` labels to your functions. + +Those labels will appear in deployments, services and pods and will make it easier to group functions by label or find functions with a common label. + +```yml +provider: + name: kubeless + +plugins: + - serverless-kubeless + +functions: + hello: + handler: handler.hello + labels: + foo: bar +``` + +## Custom hostname and path + +It is possible to define a custom hostname and path that will be used to serve a function in a specific endpoint. For doing this, it is necessary to have an [Ingress Controller](https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-controllers) available in the cluster. + +```yml +provider: + name: kubeless + hostname: myhostname.io +plugins: + - serverless-kubeless + +functions: + hello: + handler: handler.hello + events: + - http: + path: /hello +``` + +In the example above, once the Ingress Rule has been processed by the Ingress controller, you can call the function using as endpoing `myhostname.io/hello`. + +If no hostname is given but a function specifies a `path`, the plugin will use the IP of the cluster followed by a DNS mapping service. By default [nip.io](http://nip.io) will be used but this can be configured with the property `defaultDNSResolution`. + +```yml +provider: + name: kubeless + defaultDNSResolution: 'xip.io' +plugins: + - serverless-kubeless + +functions: + hello: + handler: handler.hello + events: + - http: + path: /hello +``` + +The above will result in an endpoint like `1.2.3.4.xip.io/hello` where `1.2.3.4` is the IP of the cluster server. + +The final URL in which the function will be listening can be retrieved executing `serverless info`. + +## Custom images (alpha feature) + +It is possible to skip the Kubeless build system and specify a prebuilt image to run a function. This feature is useful for using Kubeless with languages that are still not supported or if the function package [is over 1MB](./packaging.md#package-maximum-size). To get more information about how to use custom images visit the [upstream documentation](https://github.com/kubeless/kubeless/blob/master/docs/runtimes.md#custom-runtime-alpha). + +```yml +service: hello + +provider: + name: kubeless + runtime: python2.7 + +plugins: + - serverless-kubeless + +functions: + hello: + handler: handler.hello + image: tuna/kubeless-python:0.0.6 +``` diff --git a/docs/providers/kubeless/guide/packaging.md b/docs/providers/kubeless/guide/packaging.md new file mode 100644 index 00000000000..2b788756c1b --- /dev/null +++ b/docs/providers/kubeless/guide/packaging.md @@ -0,0 +1,144 @@ + + + +### [Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/kubeless/guide/packaging) + + +# Kubeless - Packaging + +## Package CLI Command + +Using the Serverless CLI tool, you can package your project without deploying with Kubeless. This is best used with CI / CD workflows to ensure consistent deployable artifacts. + +Running the following command will build and save all of the deployment artifacts in the service's .serverless directory: + +```bash +serverless package +``` + +However, you can also use the --package option to add a destination path and Serverless will store your deployment artifacts there (./my-artifacts in the following case): + +```bash +serverless package --package my-artifacts +``` + +## Package Maximum Size + +Kubeless uses [Kubernetes ConfigMaps](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/) to store functions configuration and code. These ConfigMaps have a limitation in size of one MB since they are stored as a single entry in a `etcd` database. Due to this limitation, the maximum possible size for a Kubeless function package is no more than one MB. Note that only code and configuration files should be included in this package, dependencies will be installed during the build process. If your function package size is over one MB please [exclude some directories](#exclude-include) or create a [custom image](./functions#custom-images-alpha-feature) with your function. By default, files under the `node_modules` folder will be excluded. + +## Package Configuration + +Sometimes you might like to have more control over your function artifacts and how they are packaged. + +You can use the `package` and `exclude` configuration for more control over the packaging process. + +### Exclude / include + +Exclude and include allows you to define globs that will be excluded / included from the resulting artifact. If you wish to +include files you can use a glob pattern prefixed with `!` such as `!re-include-me/**` in `exclude` or the dedicated `include` config. +Serverless will run the glob patterns in order. + +At first it will apply the globs defined in `exclude`. After that it'll add all the globs from `include`. This way you can always re-include +previously excluded files and directories. + +### Examples + +Exclude all node_modules but then re-include a specific modules (in this case node-fetch) using `exclude` exclusively + +``` yml +package: + exclude: + - node_modules/** + - '!node_modules/node-fetch/**' +``` + +Exclude all files but `handler.js` using `exclude` and `include` + +``` yml +package: + exclude: + - src/** + include: + - src/function/handler.js +``` + +**Note:** Don't forget to use the correct glob syntax if you want to exclude directories + +``` +exclude: + - tmp/** + - .git/** +``` + +### Artifact + +For complete control over the packaging process you can specify your own artifact zip file. +Serverless won't zip your service if this is configured and therefore `exclude` and `include` will be ignored. Either you use artifact or include / exclude. + +The artifact option is especially useful in case your development environment allows you to generate a deployable artifact like Maven does for Java. + +### Example + +```yml +service: my-service +package: + artifact: path/to/my-artifact.zip +``` + +### Packaging functions separately + +If you want even more controls over your functions for deployment you can configure them to be packaged independently. This allows you more control for optimizing your deployment. To enable individual packaging set `individually` to true in the service or function wide packaging settings. + +Then for every function you can use the same `exclude`, `include` or `artifact` config options as you can service wide. The `exclude` and `include` option will be merged with the service wide options to create one `exclude` and `include` config per function during packaging. + +```yml +service: my-service +package: + individually: true + exclude: + - excluded-by-default.json +functions: + hello: + handler: handler.hello + package: + # We're including this file so it will be in the final package of this function only + include: + - excluded-by-default.json + world: + handler: handler.hello + package: + exclude: + - some-file.js +``` + +You can also select which functions to be packaged separately, and have the rest use the service package by setting the `individually` flag at the function level: + +```yml +service: my-service +functions: + hello: + handler: handler.hello + world: + handler: handler.hello + package: + individually: true +``` + +### Development dependencies + +Serverless will auto-detect and exclude development dependencies based on the runtime your service is using. + +This ensures that only the production relevant packages and modules are included in your zip file. Doing this drastically reduces the overall size of the deployment package which will be uploaded to the cloud provider. + +You can opt-out of automatic dev dependency exclusion by setting the `excludeDevDependencies` package config to `false`: + +```yml +package: + excludeDevDependencies: false +``` diff --git a/lib/plugins/create/templates/kubeless-nodejs/package.json b/lib/plugins/create/templates/kubeless-nodejs/package.json index f3231c9d56a..039292997e2 100644 --- a/lib/plugins/create/templates/kubeless-nodejs/package.json +++ b/lib/plugins/create/templates/kubeless-nodejs/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "description": "Example function for serverless kubeless", "dependencies": { - "serverless-kubeless": "^0.2.4", + "serverless-kubeless": "^0.3.1", "lodash": "^4.1.0" }, "devDependencies": {}, diff --git a/lib/plugins/create/templates/kubeless-python/package.json b/lib/plugins/create/templates/kubeless-python/package.json index 9809da791b0..2eacb76727a 100644 --- a/lib/plugins/create/templates/kubeless-python/package.json +++ b/lib/plugins/create/templates/kubeless-python/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "description": "Sample Kubeless Python serverless framework service.", "dependencies": { - "serverless-kubeless": "^0.2.4" + "serverless-kubeless": "^0.3.1" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" From 4bf41186f9127ae241aea802d66188a1820a6cb8 Mon Sep 17 00:00:00 2001 From: Andres Date: Thu, 18 Jan 2018 17:26:49 +0100 Subject: [PATCH 93/99] Document how to install dependencies --- docs/providers/kubeless/guide/functions.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/providers/kubeless/guide/functions.md b/docs/providers/kubeless/guide/functions.md index 294de477914..8881110c865 100644 --- a/docs/providers/kubeless/guide/functions.md +++ b/docs/providers/kubeless/guide/functions.md @@ -97,6 +97,16 @@ Please see the following repository for sample projects using those runtimes: [https://github.com/serverless/serverless-kubeless/tree/master/examples](https://github.com/serverless/serverless-kubeless/tree/master/examples) +## Installing dependencies + +For installing dependencies the standard dependency file should be placed in the function folder: + + - For Python functions, it will use the file `requirements.txt` + - For Nodejs functions, `dependencies` in the `package.json` file will be installed + - For Ruby functions, it will use the file `Gemfile.rb` + +If one of the above files is found, the depencies will be installed using a [`Init Container`](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/). + ## Environment Variables You can add environment variable configuration to a specific function in `serverless.yml` by adding an `environment` object property in the function configuration. This object should contain a key/value collection of strings: From 6b6a4941583db369cf360e0366623cb92391a04d Mon Sep 17 00:00:00 2001 From: Daniel Schildt Date: Fri, 19 Jan 2018 05:06:51 +0200 Subject: [PATCH 94/99] docs(google) update hello-world example's invoke If a new user creates a new service with the `google-nodejs` template, the pre-configured function is named as `first` instead of `helloWorld`. More details from the configuration file of the template: - https://github.com/serverless/boilerplate-googlecloudfunctions-nodejs/blob/master/serverless.yml#L22 --- docs/providers/google/examples/hello-world/node/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/providers/google/examples/hello-world/node/README.md b/docs/providers/google/examples/hello-world/node/README.md index 4f6f3b10f05..51f5af2044b 100644 --- a/docs/providers/google/examples/hello-world/node/README.md +++ b/docs/providers/google/examples/hello-world/node/README.md @@ -31,7 +31,7 @@ Update the `credentials` and your `project` property in the `serverless.yml` fil ## 5. Invoke deployed function -`serverless invoke --function helloWorld` +`serverless invoke --function first` In your terminal window you should see a response from the Google Cloud From 4353c8105e46117dbe65402e56e45c9f2af0d4be Mon Sep 17 00:00:00 2001 From: Roberto Novelo Date: Mon, 22 Jan 2018 17:26:43 -0600 Subject: [PATCH 95/99] Typo Fix --- docs/providers/aws/events/cloudwatch-log.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/providers/aws/events/cloudwatch-log.md b/docs/providers/aws/events/cloudwatch-log.md index bddf59117da..2072598ab27 100644 --- a/docs/providers/aws/events/cloudwatch-log.md +++ b/docs/providers/aws/events/cloudwatch-log.md @@ -14,7 +14,7 @@ layout: Doc ## Simple event definition -This will enable your Lambda function to be called by an Log Stream. +This will enable your Lambda function to be called by a Log Stream. ```yml functions: From 0283af7a3ede148d4dfd701db808a4cca213967e Mon Sep 17 00:00:00 2001 From: CuongLe Date: Tue, 23 Jan 2018 12:38:05 +0700 Subject: [PATCH 96/99] remove aws credentials.signatureVersion in `enableS3TransferAcceleration` Fix error: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256. See more: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region --- lib/plugins/aws/provider/awsProvider.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/plugins/aws/provider/awsProvider.js b/lib/plugins/aws/provider/awsProvider.js index bcc78e58372..6eae516f637 100644 --- a/lib/plugins/aws/provider/awsProvider.js +++ b/lib/plugins/aws/provider/awsProvider.js @@ -328,8 +328,6 @@ class AwsProvider { enableS3TransferAcceleration(credentials) { this.serverless.cli.log('Using S3 Transfer Acceleration Endpoint...'); credentials.useAccelerateEndpoint = true; // eslint-disable-line no-param-reassign - credentials.signatureVersion = 'v2'; // eslint-disable-line no-param-reassign - // see https://github.com/aws/aws-sdk-js/issues/281 } getRegion() { From df85e2d9bc16a7bb8d5fcfe5a94b5c30aa2ca1ce Mon Sep 17 00:00:00 2001 From: Yun Zhi Lin Date: Tue, 23 Jan 2018 23:52:51 +1100 Subject: [PATCH 97/99] add support for AWS go: new create templates aws-go and aws-go-dep, docs, updated integration tests --- README.md | 2 +- docker-compose.yml | 10 ++ .../aws/examples/hello-world/README.md | 4 +- .../aws/examples/hello-world/go/README.md | 72 ++++++++++++ docs/providers/aws/guide/services.md | 1 + lib/plugins/create/create.js | 2 + lib/plugins/create/create.test.js | 34 ++++++ .../create/templates/aws-go-dep/Gopkg.lock | 19 ++++ .../create/templates/aws-go-dep/Gopkg.toml | 25 +++++ .../create/templates/aws-go-dep/Makefile | 4 + .../create/templates/aws-go-dep/gitignore | 8 ++ .../create/templates/aws-go-dep/hello/main.go | 19 ++++ .../templates/aws-go-dep/serverless.yml | 104 ++++++++++++++++++ .../create/templates/aws-go-dep/world/main.go | 19 ++++ lib/plugins/create/templates/aws-go/Makefile | 4 + lib/plugins/create/templates/aws-go/gitignore | 5 + .../create/templates/aws-go/hello/main.go | 19 ++++ .../create/templates/aws-go/serverless.yml | 104 ++++++++++++++++++ .../create/templates/aws-go/world/main.go | 19 ++++ tests/templates/integration-test-template | 5 + tests/templates/test_all_templates | 2 + 21 files changed, 479 insertions(+), 2 deletions(-) create mode 100644 docs/providers/aws/examples/hello-world/go/README.md create mode 100644 lib/plugins/create/templates/aws-go-dep/Gopkg.lock create mode 100644 lib/plugins/create/templates/aws-go-dep/Gopkg.toml create mode 100644 lib/plugins/create/templates/aws-go-dep/Makefile create mode 100644 lib/plugins/create/templates/aws-go-dep/gitignore create mode 100644 lib/plugins/create/templates/aws-go-dep/hello/main.go create mode 100644 lib/plugins/create/templates/aws-go-dep/serverless.yml create mode 100644 lib/plugins/create/templates/aws-go-dep/world/main.go create mode 100644 lib/plugins/create/templates/aws-go/Makefile create mode 100644 lib/plugins/create/templates/aws-go/gitignore create mode 100644 lib/plugins/create/templates/aws-go/hello/main.go create mode 100644 lib/plugins/create/templates/aws-go/serverless.yml create mode 100644 lib/plugins/create/templates/aws-go/world/main.go diff --git a/README.md b/README.md index e6ff0f7fa4e..044fb4b6c81 100644 --- a/README.md +++ b/README.md @@ -132,7 +132,7 @@ The following are services you can instantly install and use by running `serverl ## Features -* Supports Node.js, Python, Java, Scala, C#, F#, Groovy, Kotlin, PHP & Swift. +* Supports Node.js, Python, Java, Scala, C#, F#, Go, Groovy, Kotlin, PHP & Swift. * Manages the lifecycle of your serverless architecture (build, deploy, update, delete). * Safely deploy functions, events and their required resources together via provider resource managers (e.g., AWS CloudFormation). * Functions can be grouped ("serverless services") for easy management of code, resources & processes, across large projects & teams. diff --git a/docker-compose.yml b/docker-compose.yml index f9ae71b3ed3..98c398c8f73 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -63,6 +63,16 @@ services: image: microsoft/dotnet:1.0.4-sdk volumes: - ./tmp/serverless-integration-test-aws-fsharp:/app + aws-go: + image: golang:1.9 + volumes: + - ./tmp/serverless-integration-test-aws-go:/app + - ./tmp/serverless-integration-test-aws-go:/go/src/app + aws-go-dep: + image: yunspace/golang:1.9 + volumes: + - ./tmp/serverless-integration-test-aws-go-dep:/app + - ./tmp/serverless-integration-test-aws-go-dep:/go/src/app aws-nodejs-typescript: image: node:6.10.3 volumes: diff --git a/docs/providers/aws/examples/hello-world/README.md b/docs/providers/aws/examples/hello-world/README.md index d1f1d070a4c..378b0567756 100644 --- a/docs/providers/aws/examples/hello-world/README.md +++ b/docs/providers/aws/examples/hello-world/README.md @@ -17,6 +17,8 @@ Pick your language of choice: * [JavaScript](./node) * [Python](./python) -* [csharp](./csharp) +* [C#](./csharp) +* [F#](./fsharp) +* [Go](./go) [View all examples](https://www.serverless.com/framework/docs/providers/aws/examples/) diff --git a/docs/providers/aws/examples/hello-world/go/README.md b/docs/providers/aws/examples/hello-world/go/README.md new file mode 100644 index 00000000000..8c522ccaecd --- /dev/null +++ b/docs/providers/aws/examples/hello-world/go/README.md @@ -0,0 +1,72 @@ + + + +### [Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/aws/examples/hello-world/go/) + + +# Hello World Go Example + +Make sure `serverless` is installed. [See installation guide](../../../guide/installation.md). + +You should also have [go](https://golang.org/doc/install) and [make](https://www.gnu.org/software/make/) + +It is always good practice to organise your `go` projects within [GOPATH](https://golang.org/doc/code.html#GOPATH), to maximise the benefits of go tooling. + +## 1. Create a service +There are two templates for `go`: + +1. [aws-go](https://github.com/serverless/serverless/tree/master/lib/plugins/create/templates/aws-go) - `serverless create --template aws-go --path myService` +2. [aws-go-dep](https://github.com/serverless/serverless/tree/master/lib/plugins/create/templates/aws-go-dep) - `serverless create --template aws-go-dep --path myService` + +where: +- 'aws-go' fetches dependencies using standard `go get`. +- 'aws-go-dep' uses [go dep](https://github.com/golang/dep) and requires your project to be in `$GOPATH/src` +- 'myService' is a new folder to be created with template service files. + +Change directories into 'myService' folder and you can see this project has 2 handler functions: `hello` and `world` split into 2 separate go packages (folders): + +``` +. +├── hello/ +│ └── main.go +├── world/ +│ └── main.go +``` + +This because a `main()` function is required as entry point for each handler executable. + +## 2. Build using go build to create static binaries + +Run `make build` to build both functions. Successful build should generate the following binaries: + +``` +. +├── bin/ +│ |── hello +│ └── world +``` + +## 3. Deploy +`serverless deploy` or `sls deploy`. `sls` is shorthand for the Serverless CLI command + +## 4. Invoke deployed function +Invoking the both functions should return a successful results: + +```bash +serverless invoke -f hello +{ + "message": "Go Serverless v1.0! Your function executed successfully!" +} + +serverless invoke --f world +{ + "message": "Okay so your other function also executed successfully!" +} +``` + +Congrats you have just deployed and run your Hello World function! diff --git a/docs/providers/aws/guide/services.md b/docs/providers/aws/guide/services.md index 20a27a0270d..24d33dab159 100644 --- a/docs/providers/aws/guide/services.md +++ b/docs/providers/aws/guide/services.md @@ -63,6 +63,7 @@ Here are the available runtimes for AWS Lambda: * aws-scala-sbt * aws-csharp * aws-fsharp +* aws-go Check out the [create command docs](../cli-reference/create) for all the details and options. diff --git a/lib/plugins/create/create.js b/lib/plugins/create/create.js index 8027ba9fb97..84368002a70 100644 --- a/lib/plugins/create/create.js +++ b/lib/plugins/create/create.js @@ -28,6 +28,8 @@ const validTemplates = [ 'aws-scala-sbt', 'aws-csharp', 'aws-fsharp', + 'aws-go', + 'aws-go-dep', 'azure-nodejs', 'google-nodejs', 'kubeless-python', diff --git a/lib/plugins/create/create.test.js b/lib/plugins/create/create.test.js index 3bba193faa0..c0bf9d726da 100644 --- a/lib/plugins/create/create.test.js +++ b/lib/plugins/create/create.test.js @@ -726,5 +726,39 @@ describe('Create', () => { expect((/service: my-awesome-service/).test(serverlessYmlfileContent)).to.equal(true); }); }); + + it('should generate scaffolding for "aws-go" template', () => { + process.chdir(tmpDir); + create.options.template = 'aws-go'; + + return create.create().then(() => { + const dirContent = walkDirSync(tmpDir) + .map(elem => elem.replace(path.join(tmpDir, path.sep), '')); + + expect(dirContent).to.include('serverless.yml'); + expect(dirContent).to.include(path.join('hello', 'main.go')); + expect(dirContent).to.include(path.join('world', 'main.go')); + expect(dirContent).to.include('Makefile'); + expect(dirContent).to.include('.gitignore'); + }); + }); + + it('should generate scaffolding for "aws-go-dep" template', () => { + process.chdir(tmpDir); + create.options.template = 'aws-go-dep'; + + return create.create().then(() => { + const dirContent = walkDirSync(tmpDir) + .map(elem => elem.replace(path.join(tmpDir, path.sep), '')); + + expect(dirContent).to.include('serverless.yml'); + expect(dirContent).to.include(path.join('hello', 'main.go')); + expect(dirContent).to.include(path.join('world', 'main.go')); + expect(dirContent).to.include('Gopkg.toml'); + expect(dirContent).to.include('Gopkg.lock'); + expect(dirContent).to.include('Makefile'); + expect(dirContent).to.include('.gitignore'); + }); + }); }); }); diff --git a/lib/plugins/create/templates/aws-go-dep/Gopkg.lock b/lib/plugins/create/templates/aws-go-dep/Gopkg.lock new file mode 100644 index 00000000000..f93855f76bc --- /dev/null +++ b/lib/plugins/create/templates/aws-go-dep/Gopkg.lock @@ -0,0 +1,19 @@ +# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. + + +[[projects]] + name = "github.com/aws/aws-lambda-go" + packages = [ + "lambda", + "lambda/messages", + "lambdacontext" + ] + revision = "6e2e37798efbb1dfd8e9c6681702e683a6046517" + version = "v1.0.1" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "85fa166cc59d0fa113a1517ffbb5dee0f1fa4a6795239936afb18c64364af759" + solver-name = "gps-cdcl" + solver-version = 1 \ No newline at end of file diff --git a/lib/plugins/create/templates/aws-go-dep/Gopkg.toml b/lib/plugins/create/templates/aws-go-dep/Gopkg.toml new file mode 100644 index 00000000000..8fce8929ead --- /dev/null +++ b/lib/plugins/create/templates/aws-go-dep/Gopkg.toml @@ -0,0 +1,25 @@ +# Gopkg.toml example +# +# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md +# for detailed Gopkg.toml documentation. +# +# required = ["github.com/user/thing/cmd/thing"] +# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] +# +# [[constraint]] +# name = "github.com/user/project" +# version = "1.0.0" +# +# [[constraint]] +# name = "github.com/user/project2" +# branch = "dev" +# source = "github.com/myfork/project2" +# +# [[override]] +# name = "github.com/x/y" +# version = "2.4.0" + + +[[constraint]] + name = "github.com/aws/aws-lambda-go" + version = "^1.0.1" diff --git a/lib/plugins/create/templates/aws-go-dep/Makefile b/lib/plugins/create/templates/aws-go-dep/Makefile new file mode 100644 index 00000000000..46a24c449e1 --- /dev/null +++ b/lib/plugins/create/templates/aws-go-dep/Makefile @@ -0,0 +1,4 @@ +build: + dep ensure + env GOOS=linux go build -ldflags="-s -w" -o bin/hello hello/main.go + env GOOS=linux go build -ldflags="-s -w" -o bin/world world/main.go \ No newline at end of file diff --git a/lib/plugins/create/templates/aws-go-dep/gitignore b/lib/plugins/create/templates/aws-go-dep/gitignore new file mode 100644 index 00000000000..99a966a94de --- /dev/null +++ b/lib/plugins/create/templates/aws-go-dep/gitignore @@ -0,0 +1,8 @@ +# Serverless directories +.serverless + +# golang output binary directory +bin + +# golang vendor (dependencies) directory +vendor \ No newline at end of file diff --git a/lib/plugins/create/templates/aws-go-dep/hello/main.go b/lib/plugins/create/templates/aws-go-dep/hello/main.go new file mode 100644 index 00000000000..e75c5af0407 --- /dev/null +++ b/lib/plugins/create/templates/aws-go-dep/hello/main.go @@ -0,0 +1,19 @@ +package main + +import ( + "github.com/aws/aws-lambda-go/lambda" +) + +type Response struct { + Message string `json:"message"` +} + +func Handler() (Response, error) { + return Response{ + Message: "Go Serverless v1.0! Your function executed successfully!", + }, nil +} + +func main() { + lambda.Start(Handler) +} diff --git a/lib/plugins/create/templates/aws-go-dep/serverless.yml b/lib/plugins/create/templates/aws-go-dep/serverless.yml new file mode 100644 index 00000000000..67f92c77f2e --- /dev/null +++ b/lib/plugins/create/templates/aws-go-dep/serverless.yml @@ -0,0 +1,104 @@ +# Welcome to Serverless! +# +# This file is the main config file for your service. +# It's very minimal at this point and uses default values. +# You can always add more config options for more control. +# We've included some commented out config examples here. +# Just uncomment any of them to get that config option. +# +# For full config options, check the docs: +# docs.serverless.com +# +# Happy Coding! + +service: aws-go-dep # NOTE: update this with your service name + +# You can pin your service to only deploy with a specific Serverless version +# Check out our docs for more details +# frameworkVersion: "=X.X.X" + +provider: + name: aws + runtime: go1.x + +# you can overwrite defaults here +# stage: dev +# region: us-east-1 + +# you can add statements to the Lambda function's IAM Role here +# iamRoleStatements: +# - Effect: "Allow" +# Action: +# - "s3:ListBucket" +# Resource: { "Fn::Join" : ["", ["arn:aws:s3:::", { "Ref" : "ServerlessDeploymentBucket" } ] ] } +# - Effect: "Allow" +# Action: +# - "s3:PutObject" +# Resource: +# Fn::Join: +# - "" +# - - "arn:aws:s3:::" +# - "Ref" : "ServerlessDeploymentBucket" +# - "/*" + +# you can define service wide environment variables here +# environment: +# variable1: value1 + +package: + exclude: + - ./** + include: + - ./bin/** + +functions: + hello: + handler: bin/hello + world: + handler: bin/world + +# The following are a few example events you can configure +# NOTE: Please make sure to change your handler code to work with those events +# Check the event documentation for details +# events: +# events: +# - http: +# path: users/create +# method: get +# - s3: ${env:BUCKET} +# - schedule: rate(10 minutes) +# - sns: greeter-topic +# - stream: arn:aws:dynamodb:region:XXXXXX:table/foo/stream/1970-01-01T00:00:00.000 +# - alexaSkill +# - alexaSmartHome: amzn1.ask.skill.xx-xx-xx-xx +# - iot: +# sql: "SELECT * FROM 'some_topic'" +# - cloudwatchEvent: +# event: +# source: +# - "aws.ec2" +# detail-type: +# - "EC2 Instance State-change Notification" +# detail: +# state: +# - pending +# - cloudwatchLog: '/aws/lambda/hello' +# - cognitoUserPool: +# pool: MyUserPool +# trigger: PreSignUp + +# Define function environment variables here +# environment: +# variable2: value2 + +# you can add CloudFormation resource templates here +#resources: +# Resources: +# NewResource: +# Type: AWS::S3::Bucket +# Properties: +# BucketName: my-new-bucket +# Outputs: +# NewOutput: +# Description: "Description for the output" +# Value: "Some output value" diff --git a/lib/plugins/create/templates/aws-go-dep/world/main.go b/lib/plugins/create/templates/aws-go-dep/world/main.go new file mode 100644 index 00000000000..bf46aa6fbcb --- /dev/null +++ b/lib/plugins/create/templates/aws-go-dep/world/main.go @@ -0,0 +1,19 @@ +package main + +import ( + "github.com/aws/aws-lambda-go/lambda" +) + +type Response struct { + Message string `json:"message"` +} + +func Handler() (Response, error) { + return Response{ + Message: "Okay so your other function also executed successfully!", + }, nil +} + +func main() { + lambda.Start(Handler) +} diff --git a/lib/plugins/create/templates/aws-go/Makefile b/lib/plugins/create/templates/aws-go/Makefile new file mode 100644 index 00000000000..3b697426e39 --- /dev/null +++ b/lib/plugins/create/templates/aws-go/Makefile @@ -0,0 +1,4 @@ +build: + go get github.com/aws/aws-lambda-go/lambda + env GOOS=linux go build -ldflags="-s -w" -o bin/hello hello/main.go + env GOOS=linux go build -ldflags="-s -w" -o bin/world world/main.go \ No newline at end of file diff --git a/lib/plugins/create/templates/aws-go/gitignore b/lib/plugins/create/templates/aws-go/gitignore new file mode 100644 index 00000000000..f5b4c36adc3 --- /dev/null +++ b/lib/plugins/create/templates/aws-go/gitignore @@ -0,0 +1,5 @@ +# Serverless directories +.serverless + +# golang output binary directory +bin \ No newline at end of file diff --git a/lib/plugins/create/templates/aws-go/hello/main.go b/lib/plugins/create/templates/aws-go/hello/main.go new file mode 100644 index 00000000000..e75c5af0407 --- /dev/null +++ b/lib/plugins/create/templates/aws-go/hello/main.go @@ -0,0 +1,19 @@ +package main + +import ( + "github.com/aws/aws-lambda-go/lambda" +) + +type Response struct { + Message string `json:"message"` +} + +func Handler() (Response, error) { + return Response{ + Message: "Go Serverless v1.0! Your function executed successfully!", + }, nil +} + +func main() { + lambda.Start(Handler) +} diff --git a/lib/plugins/create/templates/aws-go/serverless.yml b/lib/plugins/create/templates/aws-go/serverless.yml new file mode 100644 index 00000000000..c3a1e2c95d4 --- /dev/null +++ b/lib/plugins/create/templates/aws-go/serverless.yml @@ -0,0 +1,104 @@ +# Welcome to Serverless! +# +# This file is the main config file for your service. +# It's very minimal at this point and uses default values. +# You can always add more config options for more control. +# We've included some commented out config examples here. +# Just uncomment any of them to get that config option. +# +# For full config options, check the docs: +# docs.serverless.com +# +# Happy Coding! + +service: aws-go # NOTE: update this with your service name + +# You can pin your service to only deploy with a specific Serverless version +# Check out our docs for more details +# frameworkVersion: "=X.X.X" + +provider: + name: aws + runtime: go1.x + +# you can overwrite defaults here +# stage: dev +# region: us-east-1 + +# you can add statements to the Lambda function's IAM Role here +# iamRoleStatements: +# - Effect: "Allow" +# Action: +# - "s3:ListBucket" +# Resource: { "Fn::Join" : ["", ["arn:aws:s3:::", { "Ref" : "ServerlessDeploymentBucket" } ] ] } +# - Effect: "Allow" +# Action: +# - "s3:PutObject" +# Resource: +# Fn::Join: +# - "" +# - - "arn:aws:s3:::" +# - "Ref" : "ServerlessDeploymentBucket" +# - "/*" + +# you can define service wide environment variables here +# environment: +# variable1: value1 + +package: + exclude: + - ./** + include: + - ./bin/** + +functions: + hello: + handler: bin/hello + world: + handler: bin/world + +# The following are a few example events you can configure +# NOTE: Please make sure to change your handler code to work with those events +# Check the event documentation for details +# events: +# events: +# - http: +# path: users/create +# method: get +# - s3: ${env:BUCKET} +# - schedule: rate(10 minutes) +# - sns: greeter-topic +# - stream: arn:aws:dynamodb:region:XXXXXX:table/foo/stream/1970-01-01T00:00:00.000 +# - alexaSkill +# - alexaSmartHome: amzn1.ask.skill.xx-xx-xx-xx +# - iot: +# sql: "SELECT * FROM 'some_topic'" +# - cloudwatchEvent: +# event: +# source: +# - "aws.ec2" +# detail-type: +# - "EC2 Instance State-change Notification" +# detail: +# state: +# - pending +# - cloudwatchLog: '/aws/lambda/hello' +# - cognitoUserPool: +# pool: MyUserPool +# trigger: PreSignUp + +# Define function environment variables here +# environment: +# variable2: value2 + +# you can add CloudFormation resource templates here +#resources: +# Resources: +# NewResource: +# Type: AWS::S3::Bucket +# Properties: +# BucketName: my-new-bucket +# Outputs: +# NewOutput: +# Description: "Description for the output" +# Value: "Some output value" diff --git a/lib/plugins/create/templates/aws-go/world/main.go b/lib/plugins/create/templates/aws-go/world/main.go new file mode 100644 index 00000000000..bf46aa6fbcb --- /dev/null +++ b/lib/plugins/create/templates/aws-go/world/main.go @@ -0,0 +1,19 @@ +package main + +import ( + "github.com/aws/aws-lambda-go/lambda" +) + +type Response struct { + Message string `json:"message"` +} + +func Handler() (Response, error) { + return Response{ + Message: "Okay so your other function also executed successfully!", + }, nil +} + +func main() { + lambda.Start(Handler) +} diff --git a/tests/templates/integration-test-template b/tests/templates/integration-test-template index 468532a571b..4bbd065d859 100755 --- a/tests/templates/integration-test-template +++ b/tests/templates/integration-test-template @@ -37,5 +37,10 @@ serverless deploy -v echo "Invoking Service" serverless invoke --function hello +if [ $template == "aws-go" ] || [ $template == "aws-go-dep" ] +then + serverless invoke --function world +fi + echo "Removing Service" serverless remove -v diff --git a/tests/templates/test_all_templates b/tests/templates/test_all_templates index 79bbebd5530..fd88105abf8 100755 --- a/tests/templates/test_all_templates +++ b/tests/templates/test_all_templates @@ -10,6 +10,8 @@ function integration-test { integration-test aws-csharp 'apt-get -qq update && apt-get -qq -y install zip && dotnet restore && dotnet lambda package --configuration release --framework netcoreapp1.0 --output-package bin/release/netcoreapp1.0/deploy-package.zip' integration-test aws-fsharp 'apt-get -qq update && apt-get -qq -y install zip && dotnet restore && dotnet lambda package --configuration release --framework netcoreapp1.0 --output-package bin/release/netcoreapp1.0/deploy-package.zip' +integration-test aws-go 'cd /go/src/app && make build' +integration-test aws-go-dep 'cd /go/src/app && make build' integration-test aws-groovy-gradle ./gradlew build integration-test aws-java-gradle ./gradlew build integration-test aws-java-maven mvn package From 92f0392f9d46d51e5d890d2292e75db7d22ca879 Mon Sep 17 00:00:00 2001 From: Adnan Asani Date: Thu, 25 Jan 2018 19:07:13 +0100 Subject: [PATCH 98/99] docs(google/cli) add invoke-local.md --- .../google/cli-reference/invoke-local.md | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 docs/providers/google/cli-reference/invoke-local.md diff --git a/docs/providers/google/cli-reference/invoke-local.md b/docs/providers/google/cli-reference/invoke-local.md new file mode 100644 index 00000000000..54ab1170190 --- /dev/null +++ b/docs/providers/google/cli-reference/invoke-local.md @@ -0,0 +1,56 @@ + + + + +### [Read this on the main serverless docs site](https://www.serverless.com/framework/docs/providers/google/cli-reference/invoke-local) + + + +# Google - Invoke Local + +Invokes deployed function locally. It allows to send event data to the function, read logs and display other important information of the function invocation. + +```bash +serverless invoke -f functionName +``` + +## Options + +* `--function` or `-f` The name of the function in your service that you want to invoke. **Required**. + \_ `--data` or `-d` Data you want to pass into the function +* `--path` or `-p` Path to JSON or YAML file holding input data. This path is relative to the root directory of the service. +* `--raw` Pass data as a raw string even if it is JSON. If not set, JSON data are parsed and passed as an object. +* `--contextPath` or `-x`, The path to a json file holding input context to be passed to the invoked function. This path is relative to the root directory of the service. +* `--context` or `-c`, String data to be passed as a context to your function. Same like with `--data`, context included in `--contextPath` will overwrite the context you passed with `--context` flag. + +> Keep in mind that if you pass both `--path` and `--data`, the data included in the `--path` file will overwrite the data you passed with the `--data` flag. + +## Examples + +### Local function invocation + +```bash +serverless invoke local -f functionName +``` + +### Local function invocation with data + +```bash +serverless invoke local -f functionName -d '{ "data": "hello world" }' +``` + +### Local function invocation with data passing + +```bash +serverless invoke local -f functionName -p path/to/file.json + +# OR + +serverless invoke local -f functionName -p path/to/file.yaml +``` From 2e47cab9ffa635f09bf2c0b698dad1dcbdeaa311 Mon Sep 17 00:00:00 2001 From: Philipp Muens Date: Mon, 29 Jan 2018 08:31:07 -0800 Subject: [PATCH 99/99] Releasing v1.26.0 --- CHANGELOG.md | 13 +++ package-lock.json | 250 ++++++++++++++++++++++++---------------------- package.json | 2 +- 3 files changed, 144 insertions(+), 121 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b64b53eb4e..98352edea00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +# 1.26.0 (29.01.2018) +- [AWS Go support](https://github.com/serverless/serverless/pull/4669) +- [Support for using an existing ApiGateway and Resources](https://github.com/serverless/serverless/pull/4247) +- [Add logRetentionInDays config](https://github.com/serverless/serverless/pull/4591) +- [Add support of `serverless.js` configuration file](https://github.com/serverless/serverless/pull/4590) +- [Add "did you mean..." CLI suggestions](https://github.com/serverless/serverless/pull/4586) +- [Add `--template-path` option to `serverless create`](https://github.com/serverless/serverless/pull/4576) +- [Add support POJO input support for Java invoke local](https://github.com/serverless/serverless/pull/4596) + +## Meta +- [Comparison since last release](https://github.com/serverless/serverless/compare/v1.25.0...v1.26.0) + + # 1.25.0 (20.12.2017) - [Improve Stage and Region Usage](https://github.com/serverless/serverless/pull/4560) - [Add API Gateway endpoint configuration](https://github.com/serverless/serverless/pull/4531) diff --git a/package-lock.json b/package-lock.json index 9c6add94cf9..a238c631184 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "serverless", - "version": "1.25.0", + "version": "1.26.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -33,9 +33,9 @@ "dev": true }, "acorn": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", - "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.3.0.tgz", + "integrity": "sha512-Yej+zOJ1Dm/IMZzzj78OntP/r3zHEaKcyNoU2lAaxPtrseM6rF0xwqoz5Q5ysAiED9hTjI2hgtvLXitlCN1/Ug==", "dev": true }, "acorn-globals": { @@ -213,7 +213,7 @@ "graphql-anywhere": "3.1.0", "graphql-tag": "2.6.1", "redux": "3.7.2", - "symbol-observable": "1.1.0", + "symbol-observable": "1.2.0", "whatwg-fetch": "2.0.3" } }, @@ -367,9 +367,9 @@ "dev": true }, "assertion-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", - "integrity": "sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, "async": { @@ -389,12 +389,11 @@ "dev": true }, "aws-sdk": { - "version": "2.172.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.172.0.tgz", - "integrity": "sha1-R9+3mQeXbrvVOFYupaJYNbWz810=", + "version": "2.188.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.188.0.tgz", + "integrity": "sha1-kGKrx9umOTRZ+i80I89dKU8ARhE=", "requires": { "buffer": "4.9.1", - "crypto-browserify": "1.0.9", "events": "1.1.1", "jmespath": "0.15.0", "querystring": "0.2.0", @@ -887,7 +886,7 @@ "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", "dev": true, "requires": { - "assertion-error": "1.0.2", + "assertion-error": "1.1.0", "deep-eql": "0.1.3", "type-detect": "1.0.0" } @@ -951,13 +950,13 @@ } }, "cli-usage": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/cli-usage/-/cli-usage-0.1.4.tgz", - "integrity": "sha1-fAHg3HBsI0s5yTODjI4gshdXduI=", + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/cli-usage/-/cli-usage-0.1.7.tgz", + "integrity": "sha512-x/Q52iLSZsRrRb2ePmTsVYXrGcrPQ8G4yRAY7QpMlumxAfPVrnDOH2X6Z5s8qsAX7AA7YuIi8AXFrvH0wWEesA==", "dev": true, "requires": { - "marked": "0.3.7", - "marked-terminal": "1.7.0" + "marked": "0.3.12", + "marked-terminal": "2.0.0" } }, "cli-width": { @@ -1202,11 +1201,6 @@ "boom": "2.10.1" } }, - "crypto-browserify": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-1.0.9.tgz", - "integrity": "sha1-zFRJaF37hesRyYKKzHy4erW7/MA=" - }, "crypto-random-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", @@ -1233,7 +1227,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.37" + "es5-ext": "0.10.38" } }, "damerau-levenshtein": { @@ -1481,9 +1475,9 @@ "dev": true }, "doctrine": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.2.tgz", - "integrity": "sha512-y0tm5Pq6ywp3qSTZ1vPgVdAnbDEoeoc5wlOHXoY1c4Wug/a7JvqHIl7BTvwodaHmejWkK/9dSb3sCYfyo/om8A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { "esutils": "2.0.2" @@ -1535,9 +1529,9 @@ } }, "end-of-stream": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", - "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { "once": "1.4.0" } @@ -1585,9 +1579,9 @@ } }, "es5-ext": { - "version": "0.10.37", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz", - "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", + "version": "0.10.38", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.38.tgz", + "integrity": "sha512-jCMyePo7AXbUESwbl8Qi01VSH2piY9s/a3rSU/5w/MlTIx8HPL1xn2InGN8ejt/xulcJgnTO7vqNtOAxzYd2Kg==", "dev": true, "requires": { "es6-iterator": "2.0.3", @@ -1601,7 +1595,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.37", + "es5-ext": "0.10.38", "es6-symbol": "3.1.1" } }, @@ -1612,7 +1606,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.37", + "es5-ext": "0.10.38", "es6-iterator": "2.0.3", "es6-set": "0.1.5", "es6-symbol": "3.1.1", @@ -1632,7 +1626,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.37", + "es5-ext": "0.10.38", "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", "event-emitter": "0.3.5" @@ -1645,7 +1639,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.37" + "es5-ext": "0.10.38" } }, "es6-weak-map": { @@ -1655,7 +1649,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.37", + "es5-ext": "0.10.38", "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" } @@ -1714,7 +1708,7 @@ "chalk": "1.1.3", "concat-stream": "1.6.0", "debug": "2.6.9", - "doctrine": "2.0.2", + "doctrine": "2.1.0", "escope": "3.6.0", "espree": "3.5.2", "esquery": "1.0.0", @@ -1727,7 +1721,7 @@ "imurmurhash": "0.1.4", "inquirer": "0.12.0", "is-my-json-valid": "2.17.1", - "is-resolvable": "1.0.1", + "is-resolvable": "1.1.0", "js-yaml": "3.10.0", "json-stable-stringify": "1.0.1", "levn": "0.3.0", @@ -1887,7 +1881,7 @@ "doctrine": "1.5.0", "has": "1.0.1", "jsx-ast-utils": "1.4.1", - "object.assign": "4.0.4" + "object.assign": "4.1.0" }, "dependencies": { "doctrine": { @@ -1908,7 +1902,7 @@ "integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==", "dev": true, "requires": { - "acorn": "5.2.1", + "acorn": "5.3.0", "acorn-jsx": "3.0.1" } }, @@ -1955,7 +1949,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.37" + "es5-ext": "0.10.38" } }, "events": { @@ -2404,9 +2398,9 @@ "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" }, "graphlib": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.1.tgz", - "integrity": "sha1-QjUsUrovTQNctWbrkfc5X3bryVE=", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.5.tgz", + "integrity": "sha512-XvtbqCcw+EM5SqQrIetIKKD+uZVNQtDPD1goIg7K73RuRZtVI5rYMdcCVSHm/AS1sCBZ7vt0p5WgXouucHQaOA==", "requires": { "lodash": "4.17.4" } @@ -2416,7 +2410,7 @@ "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.10.5.tgz", "integrity": "sha512-Q7cx22DiLhwHsEfUnUip1Ww/Vfx7FS0w6+iHItNuN61+XpegHSa3k5U0+6M5BcpavQImBwFiy0z3uYwY7cXMLQ==", "requires": { - "iterall": "1.1.3" + "iterall": "1.1.4" } }, "graphql-anywhere": { @@ -2484,7 +2478,7 @@ "dev": true, "requires": { "chalk": "1.1.3", - "commander": "2.12.2", + "commander": "2.13.0", "is-my-json-valid": "2.17.1", "pinkie-promise": "2.0.1" }, @@ -2509,9 +2503,9 @@ } }, "commander": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", - "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", "dev": true }, "supports-color": { @@ -2549,6 +2543,12 @@ "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz", "integrity": "sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA==" }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, "has-to-string-tag-x": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", @@ -2794,9 +2794,9 @@ "dev": true }, "is-ci": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", - "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", + "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { "ci-info": "1.1.2" @@ -3000,9 +3000,9 @@ } }, "is-resolvable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.1.tgz", - "integrity": "sha512-y5CXYbzvB3jTnWAZH1Nl7ykUWb6T3BcTs56HUruwBf8MhF56n1HWqhDWnVFo8GHrUPDgvUUNVhrc2U8W7iqz5g==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, "is-retry-allowed": { @@ -3193,7 +3193,7 @@ "babel-types": "6.26.0", "babylon": "6.18.0", "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" + "semver": "5.5.0" } }, "istanbul-lib-report": { @@ -3274,9 +3274,9 @@ } }, "iterall": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.1.3.tgz", - "integrity": "sha512-Cu/kb+4HiNSejAPhSaN1VukdNTTi/r4/e+yykqjlG/IW+1gZH5b4+Bq3whDX4tvbYugta3r8KTMUiqT3fIGxuQ==" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.1.4.tgz", + "integrity": "sha512-eaDsM/PY8D/X5mYQhecVc5/9xvSHED7yPON+ffQroBeTuqUVm7dfphMkK8NksXuImqZlVRoKtrNfMIVCYIqaUQ==" }, "jest-changed-files": { "version": "17.0.2", @@ -3294,7 +3294,7 @@ "callsites": "2.0.0", "chalk": "1.1.3", "graceful-fs": "4.1.11", - "is-ci": "1.0.10", + "is-ci": "1.1.0", "istanbul-api": "1.2.1", "istanbul-lib-coverage": "1.1.1", "istanbul-lib-instrument": "1.9.1", @@ -3823,8 +3823,8 @@ "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-2.1.7.tgz", "integrity": "sha1-uesB/in16j6Sh48VrqEK04taz4k=", "requires": { - "commander": "2.12.2", - "graphlib": "2.1.1", + "commander": "2.13.0", + "graphlib": "2.1.5", "js-yaml": "3.10.0", "native-promise-only": "0.8.1", "path-loader": "1.0.4", @@ -3833,9 +3833,9 @@ }, "dependencies": { "commander": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", - "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==" + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" } } }, @@ -4354,12 +4354,12 @@ "dev": true }, "markdown-magic": { - "version": "0.1.19", - "resolved": "https://registry.npmjs.org/markdown-magic/-/markdown-magic-0.1.19.tgz", - "integrity": "sha1-IKnWWdqgx7DOt64DCVxuLK41KgM=", + "version": "0.1.20", + "resolved": "https://registry.npmjs.org/markdown-magic/-/markdown-magic-0.1.20.tgz", + "integrity": "sha1-Xw73k0L6G0O7pCr+Y9MCMobj7sM=", "dev": true, "requires": { - "commander": "2.12.2", + "commander": "2.13.0", "deepmerge": "1.5.2", "find-up": "2.1.0", "fs-extra": "1.0.0", @@ -4370,9 +4370,9 @@ }, "dependencies": { "commander": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", - "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", "dev": true }, "find-up": { @@ -4435,15 +4435,15 @@ } }, "marked": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.7.tgz", - "integrity": "sha512-zBEP4qO1YQp5aXHt8S5wTiOv9i2X74V/LQL0zhUNvVaklt6Ywa6lChxIvS+ibYlCGgADwKwZFhjC3+XfpsvQvQ==", + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.12.tgz", + "integrity": "sha512-k4NaW+vS7ytQn6MgJn3fYpQt20/mOgYM5Ft9BYMfQJDz2QT6yEeS9XJ8k2Nw8JTeWK/znPPW2n3UJGzyYEiMoA==", "dev": true }, "marked-terminal": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-1.7.0.tgz", - "integrity": "sha1-yMRgiBx3LHYEtkNnAH7l938SWQQ=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-2.0.0.tgz", + "integrity": "sha1-Xq9Wi+ZvaGVBr6UqVYKAMQox3i0=", "dev": true, "requires": { "cardinal": "1.0.0", @@ -4742,11 +4742,11 @@ "integrity": "sha1-BW0UJE89zBzq3+aK+c/wxUc6M/M=", "dev": true, "requires": { - "cli-usage": "0.1.4", + "cli-usage": "0.1.7", "growly": "1.3.0", "lodash.clonedeep": "3.0.2", "minimist": "1.2.0", - "semver": "5.4.1", + "semver": "5.5.0", "shellwords": "0.1.1", "which": "1.3.0" } @@ -4768,7 +4768,7 @@ "requires": { "hosted-git-info": "2.5.0", "is-builtin-module": "1.0.0", - "semver": "5.4.1", + "semver": "5.5.0", "validate-npm-package-license": "3.0.1" } }, @@ -4848,13 +4848,14 @@ "dev": true }, "object.assign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz", - "integrity": "sha1-scnMBE7xuf5jYG/BQau7MuFHMMw=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "dev": true, "requires": { "define-properties": "1.1.2", "function-bind": "1.1.1", + "has-symbols": "1.0.0", "object-keys": "1.0.11" } }, @@ -4899,9 +4900,9 @@ "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" }, "opn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", - "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.2.0.tgz", + "integrity": "sha512-Jd/GpzPyHF4P2/aNOVmS3lfMSWV9J7cOhCG1s08XCEAsPkB7lp6ddiU0J7XzyQRDUh8BqJ7PchfINjR8jyofRQ==", "requires": { "is-wsl": "1.1.0" } @@ -4975,10 +4976,13 @@ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, "p-limit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", - "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "dev": true, + "requires": { + "p-try": "1.0.0" + } }, "p-locate": { "version": "2.0.0", @@ -4986,18 +4990,24 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.1.0" + "p-limit": "1.2.0" } }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, "package-json": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "requires": { "got": "6.7.1", - "registry-auth-token": "3.3.1", + "registry-auth-token": "3.3.2", "registry-url": "3.1.0", - "semver": "5.4.1" + "semver": "5.5.0" } }, "pako": { @@ -5197,9 +5207,9 @@ } }, "promise-queue": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/promise-queue/-/promise-queue-2.2.3.tgz", - "integrity": "sha1-hTTXa/RnPDuqOoK7oBvSlcww8U8=" + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/promise-queue/-/promise-queue-2.2.5.tgz", + "integrity": "sha1-L29ffA9tCBCelnZZx5uIqe1ek7Q=" }, "proto-list": { "version": "1.2.4", @@ -5322,9 +5332,9 @@ } }, "rc": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz", - "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.4.tgz", + "integrity": "sha1-oPYGyq4qO4YrvQ74VILAElsxX6M=", "requires": { "deep-extend": "0.4.2", "ini": "1.3.5", @@ -5420,7 +5430,7 @@ "lodash": "4.17.4", "lodash-es": "4.17.4", "loose-envify": "1.3.1", - "symbol-observable": "1.1.0" + "symbol-observable": "1.2.0" } }, "regenerator-runtime": { @@ -5439,11 +5449,11 @@ } }, "registry-auth-token": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz", - "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "requires": { - "rc": "1.2.2", + "rc": "1.2.4", "safe-buffer": "5.1.1" } }, @@ -5452,7 +5462,7 @@ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "requires": { - "rc": "1.2.2" + "rc": "1.2.4" } }, "remarkable": { @@ -5533,7 +5543,7 @@ "stringstream": "0.0.5", "tough-cookie": "2.3.3", "tunnel-agent": "0.4.3", - "uuid": "3.1.0" + "uuid": "3.2.1" }, "dependencies": { "form-data": { @@ -5560,9 +5570,9 @@ "dev": true }, "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", "dev": true } } @@ -5694,16 +5704,16 @@ } }, "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" }, "semver-diff": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "requires": { - "semver": "5.4.1" + "semver": "5.5.0" } }, "semver-regex": { @@ -6002,9 +6012,9 @@ } }, "symbol-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.1.0.tgz", - "integrity": "sha512-dQoid9tqQ+uotGhuTKEY11X4xhyYePVnqGSoSm3OGKh2E8LZ6RPULp1uXTctk33IeERlrRJYoVSBglsL05F5Uw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" }, "symbol-tree": { "version": "3.2.2", @@ -6118,7 +6128,7 @@ "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==", "requires": { "bl": "1.2.1", - "end-of-stream": "1.4.0", + "end-of-stream": "1.4.1", "readable-stream": "2.3.3", "xtend": "4.0.1" } diff --git a/package.json b/package.json index 6c45371f694..ec049036b40 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "serverless", - "version": "1.25.0", + "version": "1.26.0", "engines": { "node": ">=4.0" },