├── .eslintignore ├── .eslintrc ├── .gitignore ├── LICENSE ├── README.md ├── index.js ├── index.test.js ├── lib ├── createChangeSet.js └── createChangeSet.test.js ├── package-lock.json └── package.json /.eslintignore: -------------------------------------------------------------------------------- 1 | # package directories 2 | node_modules 3 | 4 | .yarnclean 5 | .nyc_output -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | 3 | "parserOptions": { 4 | "ecmaVersion": 6, 5 | "ecmaFeatures": { 6 | "experimentalObjectRestSpread": true, 7 | "jsx": true 8 | }, 9 | "sourceType": "module" 10 | }, 11 | 12 | "env": { 13 | "es6": true, 14 | "node": true 15 | }, 16 | 17 | "globals": { 18 | "document": false, 19 | "navigator": false, 20 | "window": false 21 | }, 22 | 23 | "rules": { 24 | "accessor-pairs": 2, 25 | "arrow-spacing": [2, { "before": true, "after": true }], 26 | "block-spacing": [2, "always"], 27 | "brace-style": [2, "1tbs", { "allowSingleLine": true }], 28 | "camelcase": [2, { "properties": "never" }], 29 | "comma-dangle": [2, "never"], 30 | "comma-spacing": [2, { "before": false, "after": true }], 31 | "comma-style": [2, "last"], 32 | "constructor-super": 2, 33 | "curly": [2, "multi-line"], 34 | "dot-location": [2, "property"], 35 | "eol-last": 2, 36 | "eqeqeq": [2, "allow-null"], 37 | "handle-callback-err": [2, "^(err|error)$" ], 38 | "indent": [2, 2, { "SwitchCase": 1 }], 39 | "key-spacing": [2, { "beforeColon": false, "afterColon": true }], 40 | "keyword-spacing": [2, { "before": true, "after": true }], 41 | "new-cap": [2, { "newIsCap": true, "capIsNew": false }], 42 | "new-parens": 2, 43 | "no-array-constructor": 2, 44 | "no-caller": 2, 45 | "no-class-assign": 2, 46 | "no-cond-assign": 2, 47 | "no-const-assign": 2, 48 | "no-constant-condition": 2, 49 | "no-control-regex": 2, 50 | "no-debugger": 2, 51 | "no-delete-var": 2, 52 | "no-dupe-args": 2, 53 | "no-dupe-class-members": 2, 54 | "no-dupe-keys": 2, 55 | "no-duplicate-case": 2, 56 | "no-empty-character-class": 2, 57 | "no-empty-pattern": 2, 58 | "no-eval": 2, 59 | "no-ex-assign": 2, 60 | "no-extend-native": 2, 61 | "no-extra-bind": 2, 62 | "no-extra-boolean-cast": 2, 63 | "no-extra-parens": [2, "functions"], 64 | "no-fallthrough": 2, 65 | "no-floating-decimal": 2, 66 | "no-func-assign": 2, 67 | "no-implied-eval": 2, 68 | "no-inner-declarations": [2, "functions"], 69 | "no-invalid-regexp": 2, 70 | "no-irregular-whitespace": 2, 71 | "no-iterator": 2, 72 | "no-label-var": 2, 73 | "no-labels": [2, { "allowLoop": false, "allowSwitch": false }], 74 | "no-lone-blocks": 2, 75 | "no-mixed-spaces-and-tabs": 2, 76 | "no-multi-spaces": 2, 77 | "no-multi-str": 2, 78 | "no-multiple-empty-lines": [2, { "max": 1 }], 79 | "no-native-reassign": 2, 80 | "no-negated-in-lhs": 2, 81 | "no-new": 2, 82 | "no-new-func": 2, 83 | "no-new-object": 2, 84 | "no-new-require": 2, 85 | "no-new-symbol": 2, 86 | "no-new-wrappers": 2, 87 | "no-obj-calls": 2, 88 | "no-octal": 2, 89 | "no-octal-escape": 2, 90 | "no-path-concat": 2, 91 | "no-proto": 2, 92 | "no-redeclare": 2, 93 | "no-regex-spaces": 2, 94 | "no-return-assign": [2, "except-parens"], 95 | "no-self-assign": 2, 96 | "no-self-compare": 2, 97 | "no-sequences": 2, 98 | "no-shadow-restricted-names": 2, 99 | "no-sparse-arrays": 2, 100 | "no-this-before-super": 2, 101 | "no-throw-literal": 2, 102 | "no-trailing-spaces": 2, 103 | "no-undef": 2, 104 | "no-undef-init": 2, 105 | "no-unexpected-multiline": 2, 106 | "no-unmodified-loop-condition": 2, 107 | "no-unneeded-ternary": [2, { "defaultAssignment": false }], 108 | "no-unreachable": 2, 109 | "no-unused-vars": [2, { "vars": "all", "args": "none" }], 110 | "no-useless-call": 2, 111 | "no-useless-constructor": 2, 112 | "no-whitespace-before-property": 2, 113 | "no-with": 2, 114 | "one-var": [2, { "initialized": "never" }], 115 | "operator-linebreak": [2, "after", { "overrides": { "?": "before", ":": "before" } }], 116 | "padded-blocks": [2, "never"], 117 | "quotes": [2, "single"], 118 | "semi": [2, "never"], 119 | "semi-spacing": [2, { "before": false, "after": true }], 120 | "space-before-blocks": [2, "always"], 121 | "space-before-function-paren": [2, "always"], 122 | "space-in-parens": [2, "never"], 123 | "space-infix-ops": 2, 124 | "space-unary-ops": [2, { "words": true, "nonwords": false }], 125 | "spaced-comment": [2, "always"], 126 | "template-curly-spacing": [2, "never"], 127 | "use-isnan": 2, 128 | "valid-typeof": 2, 129 | "wrap-iife": [2, "any"], 130 | "yield-star-spacing": [2, "both"], 131 | "yoda": [2, "never"], 132 | }, 133 | 134 | "overrides": [ 135 | { 136 | "files": "*.test.js", 137 | "env": { 138 | "mocha": true 139 | } 140 | } 141 | ] 142 | } 143 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (http://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # Typescript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Trek10 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # serverless-cloudformation-changesets 2 | [![serverless](http://public.serverless.com/badges/v3.svg)](http://www.serverless.com) 3 | 4 | 5 | Serverless framework plugin to create CloudFormation ChangeSets. 6 | 7 | ## Installation 8 | 9 | Install the plugin from npm 10 | 11 | ```bash 12 | $ npm install --save serverless-cloudformation-changesets 13 | ``` 14 | 15 | Add the plugin to your `serverless.yml` file: 16 | 17 | ```yaml 18 | plugins: 19 | - serverless-cloudformation-changesets 20 | ``` 21 | 22 | ## Usage 23 | #### CLI options 24 | Add `--changeset` option to the sls deployment command, e.g.: 25 | ```bash 26 | $ sls deploy --changeset --stage dev --region us-east-1 27 | ``` 28 | `--changeset` by default uses a timestamp for ChangeSet name, otherwise you can provide optional `--changeset` value: 29 | ```bash 30 | $ sls deploy --changeset your-changeset-name --stage dev --region us-east-1 31 | ``` 32 | 33 | #### YAML settings 34 | ```yaml 35 | custom: 36 | cf-changesets: 37 | changeSetName: whatever # optional 38 | requireChangeSet: boolean # optional defaults to false 39 | ``` 40 | `requireChangeSet` - if true, ChangeSets will be created without providing `--changeset` option to the `sls deploy` command. 41 | 42 | ## Notice 43 | If CloudFormation Stack doesn't exist and custom `provider.deploymentBucket` was specified, this plugin will create a new stack without template, resources. The stack will be in the `REVIEW_IN_PROGRESS` state. 44 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const _ = require('lodash') 4 | const createChangeSet = require('./lib/createChangeSet') 5 | const setBucketName = require('serverless/lib/plugins/aws/lib/setBucketName') 6 | 7 | class ServerlessCloudFormationChangeSets { 8 | constructor (serverless, options) { 9 | this.serverless = serverless 10 | this.options = _.merge( 11 | {}, 12 | _.omit(options, ['changeset']), 13 | _.get(serverless.service, 'custom.cf-changesets') || {} 14 | ) 15 | this.provider = this.serverless.getProvider('aws') 16 | 17 | if (options.changeset) { 18 | this.options.requireChangeSet = true 19 | if (typeof options.changeset === 'string') { 20 | this.options.changeSetName = options.changeset 21 | } 22 | } 23 | 24 | if (this.options.requireChangeSet) { 25 | this.hooks = { 26 | 'before:aws:deploy:deploy:updateStack': this.lockStackDeployment.bind(this), 27 | 'aws:deploy:deploy:updateStack': () => Promise.resolve() 28 | .then(setBucketName.setBucketName.bind(this)) 29 | .then(createChangeSet.createChangeSet.bind(this)), 30 | 'after:aws:deploy:deploy:updateStack': this.unlockStackDeployment.bind(this) 31 | } 32 | } 33 | } 34 | 35 | lockStackDeployment () { 36 | this.shouldNotDeploy = this.serverless.service.provider.shouldNotDeploy 37 | this.serverless.service.provider.shouldNotDeploy = true 38 | } 39 | 40 | unlockStackDeployment () { 41 | this.serverless.service.provider.shouldNotDeploy = this.shouldNotDeploy 42 | } 43 | } 44 | 45 | module.exports = ServerlessCloudFormationChangeSets 46 | -------------------------------------------------------------------------------- /index.test.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const _ = require('lodash') 4 | const AwsProvider = require('serverless/lib/plugins/aws/provider/awsProvider') 5 | const createChangeSet = require('./lib/createChangeSet') 6 | const expect = require('chai').expect 7 | const Serverless = require('serverless/lib/Serverless') 8 | const ServerlessCloudFormationChangeSets = require('./index') 9 | const setBucketName = require('serverless/lib/plugins/aws/lib/setBucketName') 10 | const sinon = require('sinon') 11 | 12 | describe('ServerlessCloudFormationChangeSets', () => { 13 | let serverless 14 | let serverlessChangeSets 15 | let options 16 | 17 | beforeEach(() => { 18 | serverless = new Serverless() 19 | options = { 20 | stage: 'dev', 21 | region: 'us-east-1', 22 | changeset: 'test' 23 | } 24 | serverless.setProvider('aws', new AwsProvider(serverless)) 25 | serverlessChangeSets = new ServerlessCloudFormationChangeSets(serverless, options) 26 | serverlessChangeSets.serverless.service.provider.shouldNotDeploy = false 27 | }) 28 | 29 | describe('#constructor()', () => { 30 | it('should set the serverless instance', () => { 31 | expect(serverlessChangeSets.serverless).to.equal(serverless) 32 | }) 33 | 34 | it('should set options from CLI command', () => { 35 | expect(serverlessChangeSets.options).to.deep.equal({ 36 | stage: 'dev', 37 | region: 'us-east-1', 38 | requireChangeSet: true, 39 | changeSetName: 'test' 40 | }) 41 | }) 42 | 43 | it('should set options from YAML config file', () => { 44 | _.set(serverless, 'service.custom.cf-changesets.changeSetName', 'test') 45 | _.set(serverless, 'service.custom.cf-changesets.requireChangeSet', true) 46 | const serverlessChangeSets = new ServerlessCloudFormationChangeSets(serverless, { 47 | stage: 'dev', 48 | region: 'us-east-1' 49 | }) 50 | expect(serverlessChangeSets.options).to.deep.equal({ 51 | stage: 'dev', 52 | region: 'us-east-1', 53 | requireChangeSet: true, 54 | changeSetName: 'test' 55 | }) 56 | }) 57 | 58 | it('should override requireChangeSet when calling from CLI', () => { 59 | _.set(serverless, 'service.custom.cf-changesets.changeSetName', 'test') 60 | _.set(serverless, 'service.custom.cf-changesets.requireChangeSet', false) 61 | const serverlessChangeSets = new ServerlessCloudFormationChangeSets(serverless, { 62 | stage: 'dev', 63 | region: 'us-east-1', 64 | changeset: true 65 | }) 66 | expect(serverlessChangeSets.options).to.deep.equal({ 67 | stage: 'dev', 68 | region: 'us-east-1', 69 | requireChangeSet: true, 70 | changeSetName: 'test' 71 | }) 72 | }) 73 | 74 | it('should override changeSetName when calling from CLI', () => { 75 | _.set(serverless, 'service.custom.cf-changesets.changeSetName', 'test') 76 | const serverlessChangeSets = new ServerlessCloudFormationChangeSets(serverless, { 77 | stage: 'dev', 78 | region: 'us-east-1', 79 | changeset: 'whatever' 80 | }) 81 | expect(serverlessChangeSets.options).to.deep.equal({ 82 | stage: 'dev', 83 | region: 'us-east-1', 84 | requireChangeSet: true, 85 | changeSetName: 'whatever' 86 | }) 87 | }) 88 | 89 | it('should set the provider variable to an instance of AwsProvider', () => 90 | expect(serverlessChangeSets.provider).to.be.instanceof(AwsProvider)) 91 | 92 | it('should have hooks', () => expect(serverlessChangeSets.hooks).to.be.not.empty) 93 | 94 | it('should have no hooks if changset options are not defined', () => { 95 | const options = { 96 | stage: 'dev', 97 | region: 'us-east-1' 98 | } 99 | const serverlessChangeSets = new ServerlessCloudFormationChangeSets(serverless, options) 100 | expect(serverlessChangeSets.hooks).to.be.undefined 101 | }) 102 | }) 103 | 104 | describe('hooks', () => { 105 | beforeEach(() => { 106 | sinon.stub(setBucketName, 'setBucketName').resolves() 107 | sinon.stub(createChangeSet, 'createChangeSet').resolves() 108 | }) 109 | 110 | afterEach(() => { 111 | setBucketName.setBucketName.restore() 112 | createChangeSet.createChangeSet.restore() 113 | }) 114 | 115 | it('should load deployment bucket name', () => { 116 | serverlessChangeSets.hooks['aws:deploy:deploy:updateStack']().then(() => { 117 | sinon.assert.calledOnce(setBucketName.setBucketName) 118 | sinon.assert.calledOn(setBucketName.setBucketName, serverlessChangeSets) 119 | }) 120 | }) 121 | 122 | it('should call createChangeSet', () => { 123 | serverlessChangeSets.hooks['aws:deploy:deploy:updateStack']().then(() => { 124 | sinon.assert.calledOnce(createChangeSet.createChangeSet) 125 | sinon.assert.calledOn(createChangeSet.createChangeSet, serverlessChangeSets) 126 | sinon.assert.callOrder(setBucketName.setBucketName, createChangeSet.createChangeSet) 127 | }) 128 | }) 129 | 130 | it('should prevent regular deployment', () => { 131 | serverlessChangeSets.hooks['before:aws:deploy:deploy:updateStack']() 132 | expect(serverlessChangeSets.serverless.service.provider.shouldNotDeploy).to.equal(true) 133 | }) 134 | 135 | it('should restore shouldNotDeploy flag', () => { 136 | serverlessChangeSets.hooks['before:aws:deploy:deploy:updateStack']() 137 | serverlessChangeSets.hooks['after:aws:deploy:deploy:updateStack']() 138 | expect(serverlessChangeSets.serverless.service.provider.shouldNotDeploy).to.equal(false) 139 | }) 140 | }) 141 | }) 142 | -------------------------------------------------------------------------------- /lib/createChangeSet.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const _ = require('lodash') 4 | 5 | const createChangeSet = (plugin, stackName, changeSetName, changeSetType) => { 6 | const compiledTemplateFileName = 'compiled-cloudformation-template.json' 7 | const templateUrl = `https://s3.amazonaws.com/${plugin.bucketName}/${plugin.serverless.service.package.artifactDirectoryName}/${compiledTemplateFileName}` 8 | 9 | let stackTags = { 10 | STAGE: plugin.options.stage 11 | } 12 | // Merge additional stack tags 13 | if (typeof plugin.serverless.service.provider.stackTags === 'object') { 14 | stackTags = _.extend(stackTags, plugin.serverless.service.provider.stackTags) 15 | } 16 | 17 | const params = { 18 | StackName: stackName, 19 | ChangeSetName: changeSetName, 20 | Capabilities: [ 21 | 'CAPABILITY_IAM', 22 | 'CAPABILITY_NAMED_IAM' 23 | ], 24 | ChangeSetType: changeSetType, 25 | Parameters: [], 26 | TemplateURL: templateUrl, 27 | Tags: Object.keys(stackTags).map((key) => ({ 28 | Key: key, 29 | Value: stackTags[key] 30 | })) 31 | } 32 | 33 | if (plugin.serverless.service.provider.cfnRole) { 34 | params.RoleARN = plugin.serverless.service.provider.cfnRole 35 | } 36 | 37 | return plugin.provider 38 | .request( 39 | 'CloudFormation', 40 | 'createChangeSet', 41 | params, 42 | plugin.options.stage, 43 | plugin.options.region 44 | ) 45 | } 46 | 47 | module.exports = { 48 | createChangeSet () { 49 | const stackName = this.provider.naming.getStackName() 50 | const changeSetName = this.options.changeSetName ? this.options.changeSetName : `${stackName}-${Date.now()}` 51 | 52 | this.serverless.cli.log(`Creating CloudFormation ChangeSet [${changeSetName}]...`) 53 | return createChangeSet(this, stackName, changeSetName, 'UPDATE') 54 | .catch(e => { 55 | if (e.message.indexOf('does not exist') > -1) { 56 | this.serverless.cli.log(`Stack [${stackName}] does not exist. Creating a new empty stack...`) 57 | return createChangeSet(this, stackName, changeSetName, 'CREATE') 58 | } 59 | throw e 60 | }) 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /lib/createChangeSet.test.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const AwsProvider = require('serverless/lib/plugins/aws/provider/awsProvider') 4 | const { createChangeSet } = require('./createChangeSet') 5 | const expect = require('chai').expect 6 | const Serverless = require('serverless/lib/Serverless') 7 | const ServerlessCloudFormationChangeSets = require('../index') 8 | const sinon = require('sinon') 9 | 10 | describe('updateStack', () => { 11 | let serverless 12 | let serverlessChangeSets 13 | 14 | beforeEach(() => { 15 | serverless = new Serverless() 16 | serverless.config.servicePath = 'foo' 17 | serverless.setProvider('aws', new AwsProvider(serverless)) 18 | const options = { 19 | stage: 'dev', 20 | region: 'us-east-1', 21 | changeset: 'test' 22 | } 23 | serverlessChangeSets = new ServerlessCloudFormationChangeSets(serverless, options) 24 | serverless.service.service = `service-${(new Date()).getTime().toString()}` 25 | serverlessChangeSets.bucketName = 'deployment-bucket' 26 | serverlessChangeSets.serverless.service.package.artifactDirectoryName = 'somedir' 27 | serverlessChangeSets.serverless.cli = new serverless.classes.CLI() 28 | }) 29 | 30 | describe('#createChangeSet()', () => { 31 | let createChangeSetStub 32 | 33 | beforeEach(() => { 34 | createChangeSetStub = sinon 35 | .stub(serverlessChangeSets.provider, 'request').resolves() 36 | }) 37 | 38 | afterEach(() => { 39 | createChangeSetStub.restore() 40 | }) 41 | 42 | it('should create the CF ChangeSet', () => createChangeSet.bind(serverlessChangeSets)() 43 | .then(() => { 44 | sinon.assert.calledOnce(createChangeSetStub) 45 | sinon.assert.calledWithExactly(createChangeSetStub, 46 | 'CloudFormation', 47 | 'createChangeSet', 48 | { 49 | StackName: serverlessChangeSets.provider.naming.getStackName(), 50 | ChangeSetName: 'test', 51 | Capabilities: [ 52 | 'CAPABILITY_IAM', 53 | 'CAPABILITY_NAMED_IAM' 54 | ], 55 | ChangeSetType: 'UPDATE', 56 | Parameters: [], 57 | TemplateURL: 'https://s3.amazonaws.com/deployment-bucket/somedir/compiled-cloudformation-template.json', 58 | Tags: [{ Key: 'STAGE', Value: 'dev' }] 59 | }, 60 | 'dev', 61 | 'us-east-1' 62 | ) 63 | }) 64 | ) 65 | 66 | it('should generate ChangSet name if it\'s not provided', () => { 67 | const fakeTimer = sinon.useFakeTimers(1510926650275) 68 | const stackName = serverlessChangeSets.provider.naming.getStackName() 69 | serverlessChangeSets.options.changeSetName = undefined 70 | 71 | return createChangeSet.bind(serverlessChangeSets)() 72 | .then(() => { 73 | sinon.assert.calledWithExactly(createChangeSetStub, 74 | 'CloudFormation', 75 | 'createChangeSet', 76 | { 77 | StackName: stackName, 78 | ChangeSetName: `${stackName}-1510926650275`, 79 | Capabilities: [ 80 | 'CAPABILITY_IAM', 81 | 'CAPABILITY_NAMED_IAM' 82 | ], 83 | ChangeSetType: 'UPDATE', 84 | Parameters: [], 85 | TemplateURL: 'https://s3.amazonaws.com/deployment-bucket/somedir/compiled-cloudformation-template.json', 86 | Tags: [{ Key: 'STAGE', Value: 'dev' }] 87 | }, 88 | 'dev', 89 | 'us-east-1' 90 | ) 91 | fakeTimer.restore() 92 | }) 93 | }) 94 | 95 | it('should include custom stack tags and CF service role', () => { 96 | serverlessChangeSets.serverless.service.provider.stackTags = { STAGE: 'overridden', tag1: 'value1' } 97 | serverlessChangeSets.serverless.service.provider.cfnRole = 'arn:aws:iam::123456789012:role/myrole' 98 | 99 | return createChangeSet.bind(serverlessChangeSets)().then(() => { 100 | expect(createChangeSetStub.args[0][2].Tags) 101 | .to.deep.equal([ 102 | { Key: 'STAGE', Value: 'overridden' }, 103 | { Key: 'tag1', Value: 'value1' } 104 | ]) 105 | expect(createChangeSetStub.args[0][2].RoleARN).to.equal('arn:aws:iam::123456789012:role/myrole') 106 | }) 107 | }) 108 | 109 | it('should create the CF empty stack if it does not exist', () => { 110 | const stackName = serverlessChangeSets.provider.naming.getStackName() 111 | createChangeSetStub.onCall(0).rejects(new Error(`Stack [${stackName}] does not exist`)) 112 | 113 | return createChangeSet.bind(serverlessChangeSets)() 114 | .then(() => { 115 | sinon.assert.calledTwice(createChangeSetStub) 116 | sinon.assert.calledWithExactly(createChangeSetStub, 117 | 'CloudFormation', 118 | 'createChangeSet', 119 | { 120 | StackName: stackName, 121 | ChangeSetName: 'test', 122 | Capabilities: [ 123 | 'CAPABILITY_IAM', 124 | 'CAPABILITY_NAMED_IAM' 125 | ], 126 | ChangeSetType: 'CREATE', 127 | Parameters: [], 128 | TemplateURL: 'https://s3.amazonaws.com/deployment-bucket/somedir/compiled-cloudformation-template.json', 129 | Tags: [{ Key: 'STAGE', Value: 'dev' }] 130 | }, 131 | 'dev', 132 | 'us-east-1' 133 | ) 134 | }) 135 | }) 136 | }) 137 | }) 138 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "serverless-cloudformation-changesets", 3 | "version": "0.1.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@serverless/enterprise-plugin": { 8 | "version": "1.0.5", 9 | "resolved": "https://registry.npmjs.org/@serverless/enterprise-plugin/-/enterprise-plugin-1.0.5.tgz", 10 | "integrity": "sha512-4n15uV5ka/PQWh0jUKg6s8qGmqkL4gB9QsDdIRO3ENEaOwKkO2CVa0FdsVZ1HmKDbDknnYflwm2jv3tDI+VGKA==", 11 | "requires": { 12 | "@serverless/event-mocks": "^1.1.1", 13 | "@serverless/platform-sdk": "^1.0.0", 14 | "chalk": "^2.4.2", 15 | "flat": "^4.1.0", 16 | "fs-extra": "^7.0.1", 17 | "iso8601-duration": "^1.1.7", 18 | "jsonata": "^1.6.4", 19 | "jszip": "^3.2.1", 20 | "lodash": "^4.17.11", 21 | "moment": "^2.24.0", 22 | "node-dir": "^0.1.17", 23 | "node-fetch": "^2.3.0", 24 | "regenerator-runtime": "^0.13.1", 25 | "semver": "^5.6.0", 26 | "yamljs": "^0.3.0" 27 | }, 28 | "dependencies": { 29 | "ansi-styles": { 30 | "version": "3.2.1", 31 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 32 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 33 | "requires": { 34 | "color-convert": "^1.9.0" 35 | } 36 | }, 37 | "chalk": { 38 | "version": "2.4.2", 39 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 40 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 41 | "requires": { 42 | "ansi-styles": "^3.2.1", 43 | "escape-string-regexp": "^1.0.5", 44 | "supports-color": "^5.3.0" 45 | } 46 | }, 47 | "fs-extra": { 48 | "version": "7.0.1", 49 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", 50 | "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", 51 | "requires": { 52 | "graceful-fs": "^4.1.2", 53 | "jsonfile": "^4.0.0", 54 | "universalify": "^0.1.0" 55 | } 56 | }, 57 | "has-flag": { 58 | "version": "3.0.0", 59 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 60 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 61 | }, 62 | "node-fetch": { 63 | "version": "2.6.0", 64 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", 65 | "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" 66 | }, 67 | "semver": { 68 | "version": "5.7.0", 69 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", 70 | "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==" 71 | }, 72 | "supports-color": { 73 | "version": "5.5.0", 74 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 75 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 76 | "requires": { 77 | "has-flag": "^3.0.0" 78 | } 79 | } 80 | } 81 | }, 82 | "@serverless/event-mocks": { 83 | "version": "1.1.1", 84 | "resolved": "https://registry.npmjs.org/@serverless/event-mocks/-/event-mocks-1.1.1.tgz", 85 | "integrity": "sha512-YAV5V/y+XIOfd+HEVeXfPWZb8C6QLruFk9tBivoX2roQLWVq145s4uxf8D0QioCueuRzkukHUS4JIj+KVoS34A==", 86 | "requires": { 87 | "@types/lodash": "^4.14.123", 88 | "lodash": "^4.17.11" 89 | } 90 | }, 91 | "@serverless/platform-sdk": { 92 | "version": "1.0.1", 93 | "resolved": "https://registry.npmjs.org/@serverless/platform-sdk/-/platform-sdk-1.0.1.tgz", 94 | "integrity": "sha512-x7DWlvAEOdwur7pYLPHkqsEJ4+1xgmOHjSqpv3krthqQoUuh1+IBexL+GhtYqpN1t3N//a4mXDREb2Vd5eqIhA==", 95 | "requires": { 96 | "body-parser": "^1.19.0", 97 | "chalk": "^2.4.1", 98 | "cors": "^2.8.4", 99 | "express": "^4.16.3", 100 | "is-docker": "^1.1.0", 101 | "isomorphic-fetch": "^2.2.1", 102 | "jwt-decode": "^2.2.0", 103 | "opn": "^5.5.0", 104 | "querystring": "^0.2.0", 105 | "ramda": "^0.25.0", 106 | "rc": "^1.2.8", 107 | "regenerator-runtime": "^0.13.1", 108 | "source-map-support": "^0.5.12", 109 | "uuid": "^3.3.2", 110 | "write-file-atomic": "^2.4.2" 111 | }, 112 | "dependencies": { 113 | "ansi-styles": { 114 | "version": "3.2.1", 115 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 116 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 117 | "requires": { 118 | "color-convert": "^1.9.0" 119 | } 120 | }, 121 | "chalk": { 122 | "version": "2.4.2", 123 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 124 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 125 | "requires": { 126 | "ansi-styles": "^3.2.1", 127 | "escape-string-regexp": "^1.0.5", 128 | "supports-color": "^5.3.0" 129 | } 130 | }, 131 | "has-flag": { 132 | "version": "3.0.0", 133 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 134 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 135 | }, 136 | "supports-color": { 137 | "version": "5.5.0", 138 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 139 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 140 | "requires": { 141 | "has-flag": "^3.0.0" 142 | } 143 | }, 144 | "uuid": { 145 | "version": "3.3.2", 146 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", 147 | "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" 148 | } 149 | } 150 | }, 151 | "@sinonjs/commons": { 152 | "version": "1.4.0", 153 | "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.4.0.tgz", 154 | "integrity": "sha512-9jHK3YF/8HtJ9wCAbG+j8cD0i0+ATS9A7gXFqS36TblLPNy6rEEc+SB0imo91eCboGaBYGV/MT1/br/J+EE7Tw==", 155 | "dev": true, 156 | "requires": { 157 | "type-detect": "4.0.8" 158 | }, 159 | "dependencies": { 160 | "type-detect": { 161 | "version": "4.0.8", 162 | "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", 163 | "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", 164 | "dev": true 165 | } 166 | } 167 | }, 168 | "@sinonjs/formatio": { 169 | "version": "3.2.1", 170 | "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.1.tgz", 171 | "integrity": "sha512-tsHvOB24rvyvV2+zKMmPkZ7dXX6LSLKZ7aOtXY6Edklp0uRcgGpOsQTTGTcWViFyx4uhWc6GV8QdnALbIbIdeQ==", 172 | "dev": true, 173 | "requires": { 174 | "@sinonjs/commons": "^1", 175 | "@sinonjs/samsam": "^3.1.0" 176 | } 177 | }, 178 | "@sinonjs/samsam": { 179 | "version": "3.3.1", 180 | "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.1.tgz", 181 | "integrity": "sha512-wRSfmyd81swH0hA1bxJZJ57xr22kC07a1N4zuIL47yTS04bDk6AoCkczcqHEjcRPmJ+FruGJ9WBQiJwMtIElFw==", 182 | "dev": true, 183 | "requires": { 184 | "@sinonjs/commons": "^1.0.2", 185 | "array-from": "^2.1.1", 186 | "lodash": "^4.17.11" 187 | } 188 | }, 189 | "@sinonjs/text-encoding": { 190 | "version": "0.7.1", 191 | "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz", 192 | "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", 193 | "dev": true 194 | }, 195 | "@types/lodash": { 196 | "version": "4.14.133", 197 | "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.133.tgz", 198 | "integrity": "sha512-/3JqnvPnY58GLzG3Y7fpphOhATV1DDZ/Ak3DQufjlRK5E4u+s0CfClfNFtAGBabw+jDGtRFbOZe+Z02ZMWCBNQ==" 199 | }, 200 | "accepts": { 201 | "version": "1.3.7", 202 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", 203 | "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", 204 | "requires": { 205 | "mime-types": "~2.1.24", 206 | "negotiator": "0.6.2" 207 | } 208 | }, 209 | "acorn": { 210 | "version": "5.2.1", 211 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", 212 | "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", 213 | "dev": true 214 | }, 215 | "acorn-jsx": { 216 | "version": "3.0.1", 217 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", 218 | "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", 219 | "dev": true, 220 | "requires": { 221 | "acorn": "^3.0.4" 222 | }, 223 | "dependencies": { 224 | "acorn": { 225 | "version": "3.3.0", 226 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", 227 | "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", 228 | "dev": true 229 | } 230 | } 231 | }, 232 | "agent-base": { 233 | "version": "4.2.1", 234 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", 235 | "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", 236 | "requires": { 237 | "es6-promisify": "^5.0.0" 238 | } 239 | }, 240 | "ajv": { 241 | "version": "5.5.1", 242 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.1.tgz", 243 | "integrity": "sha1-s4u4h22ehr7plJVqBOch6IskjrI=", 244 | "dev": true, 245 | "requires": { 246 | "co": "^4.6.0", 247 | "fast-deep-equal": "^1.0.0", 248 | "fast-json-stable-stringify": "^2.0.0", 249 | "json-schema-traverse": "^0.3.0" 250 | } 251 | }, 252 | "ajv-keywords": { 253 | "version": "2.1.1", 254 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", 255 | "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", 256 | "dev": true 257 | }, 258 | "ansi": { 259 | "version": "0.3.1", 260 | "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", 261 | "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=" 262 | }, 263 | "ansi-align": { 264 | "version": "2.0.0", 265 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", 266 | "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", 267 | "requires": { 268 | "string-width": "^2.0.0" 269 | } 270 | }, 271 | "ansi-escapes": { 272 | "version": "3.0.0", 273 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", 274 | "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", 275 | "dev": true 276 | }, 277 | "ansi-regex": { 278 | "version": "2.1.1", 279 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 280 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" 281 | }, 282 | "ansi-styles": { 283 | "version": "2.2.1", 284 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 285 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" 286 | }, 287 | "archiver": { 288 | "version": "1.3.0", 289 | "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz", 290 | "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=", 291 | "requires": { 292 | "archiver-utils": "^1.3.0", 293 | "async": "^2.0.0", 294 | "buffer-crc32": "^0.2.1", 295 | "glob": "^7.0.0", 296 | "lodash": "^4.8.0", 297 | "readable-stream": "^2.0.0", 298 | "tar-stream": "^1.5.0", 299 | "walkdir": "^0.0.11", 300 | "zip-stream": "^1.1.0" 301 | }, 302 | "dependencies": { 303 | "async": { 304 | "version": "2.6.2", 305 | "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", 306 | "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", 307 | "requires": { 308 | "lodash": "^4.17.11" 309 | } 310 | } 311 | } 312 | }, 313 | "archiver-utils": { 314 | "version": "1.3.0", 315 | "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", 316 | "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", 317 | "requires": { 318 | "glob": "^7.0.0", 319 | "graceful-fs": "^4.1.0", 320 | "lazystream": "^1.0.0", 321 | "lodash": "^4.8.0", 322 | "normalize-path": "^2.0.0", 323 | "readable-stream": "^2.0.0" 324 | } 325 | }, 326 | "are-we-there-yet": { 327 | "version": "1.1.5", 328 | "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", 329 | "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", 330 | "requires": { 331 | "delegates": "^1.0.0", 332 | "readable-stream": "^2.0.6" 333 | } 334 | }, 335 | "argparse": { 336 | "version": "1.0.9", 337 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", 338 | "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", 339 | "requires": { 340 | "sprintf-js": "~1.0.2" 341 | } 342 | }, 343 | "arr-diff": { 344 | "version": "4.0.0", 345 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", 346 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" 347 | }, 348 | "arr-union": { 349 | "version": "3.1.0", 350 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", 351 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" 352 | }, 353 | "array-flatten": { 354 | "version": "1.1.1", 355 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 356 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 357 | }, 358 | "array-from": { 359 | "version": "2.1.1", 360 | "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", 361 | "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=", 362 | "dev": true 363 | }, 364 | "array-union": { 365 | "version": "1.0.2", 366 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 367 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", 368 | "requires": { 369 | "array-uniq": "^1.0.1" 370 | } 371 | }, 372 | "array-uniq": { 373 | "version": "1.0.3", 374 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 375 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" 376 | }, 377 | "array-unique": { 378 | "version": "0.3.2", 379 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", 380 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" 381 | }, 382 | "arrify": { 383 | "version": "1.0.1", 384 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 385 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 386 | "dev": true 387 | }, 388 | "assertion-error": { 389 | "version": "1.0.2", 390 | "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", 391 | "integrity": "sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw=", 392 | "dev": true 393 | }, 394 | "assign-symbols": { 395 | "version": "1.0.0", 396 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", 397 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" 398 | }, 399 | "async": { 400 | "version": "1.5.2", 401 | "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", 402 | "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" 403 | }, 404 | "asynckit": { 405 | "version": "0.4.0", 406 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 407 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 408 | }, 409 | "atob": { 410 | "version": "2.1.2", 411 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", 412 | "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" 413 | }, 414 | "aws-sdk": { 415 | "version": "2.466.0", 416 | "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.466.0.tgz", 417 | "integrity": "sha512-dWFpz774ONjP1Cb19VkLOfQSVTu5p5/uncZGovAe71NOfPGDSvrQKXOsKcuI1/k4oJyKW9z/GATF8ht8DkDWGg==", 418 | "requires": { 419 | "buffer": "4.9.1", 420 | "events": "1.1.1", 421 | "ieee754": "1.1.8", 422 | "jmespath": "0.15.0", 423 | "querystring": "0.2.0", 424 | "sax": "1.2.1", 425 | "url": "0.10.3", 426 | "uuid": "3.3.2", 427 | "xml2js": "0.4.19" 428 | }, 429 | "dependencies": { 430 | "buffer": { 431 | "version": "4.9.1", 432 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", 433 | "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", 434 | "requires": { 435 | "base64-js": "^1.0.2", 436 | "ieee754": "^1.1.4", 437 | "isarray": "^1.0.0" 438 | } 439 | }, 440 | "ieee754": { 441 | "version": "1.1.8", 442 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", 443 | "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" 444 | }, 445 | "uuid": { 446 | "version": "3.3.2", 447 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", 448 | "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" 449 | } 450 | } 451 | }, 452 | "babel-code-frame": { 453 | "version": "6.26.0", 454 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", 455 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", 456 | "dev": true, 457 | "requires": { 458 | "chalk": "^1.1.3", 459 | "esutils": "^2.0.2", 460 | "js-tokens": "^3.0.2" 461 | }, 462 | "dependencies": { 463 | "chalk": { 464 | "version": "1.1.3", 465 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 466 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 467 | "dev": true, 468 | "requires": { 469 | "ansi-styles": "^2.2.1", 470 | "escape-string-regexp": "^1.0.2", 471 | "has-ansi": "^2.0.0", 472 | "strip-ansi": "^3.0.0", 473 | "supports-color": "^2.0.0" 474 | } 475 | }, 476 | "strip-ansi": { 477 | "version": "3.0.1", 478 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 479 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 480 | "dev": true, 481 | "requires": { 482 | "ansi-regex": "^2.0.0" 483 | } 484 | } 485 | } 486 | }, 487 | "balanced-match": { 488 | "version": "1.0.0", 489 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 490 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" 491 | }, 492 | "base": { 493 | "version": "0.11.2", 494 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", 495 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", 496 | "requires": { 497 | "cache-base": "^1.0.1", 498 | "class-utils": "^0.3.5", 499 | "component-emitter": "^1.2.1", 500 | "define-property": "^1.0.0", 501 | "isobject": "^3.0.1", 502 | "mixin-deep": "^1.2.0", 503 | "pascalcase": "^0.1.1" 504 | }, 505 | "dependencies": { 506 | "define-property": { 507 | "version": "1.0.0", 508 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 509 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 510 | "requires": { 511 | "is-descriptor": "^1.0.0" 512 | } 513 | } 514 | } 515 | }, 516 | "base64-js": { 517 | "version": "1.3.0", 518 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", 519 | "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" 520 | }, 521 | "bl": { 522 | "version": "1.2.2", 523 | "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", 524 | "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", 525 | "requires": { 526 | "readable-stream": "^2.3.5", 527 | "safe-buffer": "^5.1.1" 528 | }, 529 | "dependencies": { 530 | "process-nextick-args": { 531 | "version": "2.0.0", 532 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 533 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" 534 | }, 535 | "readable-stream": { 536 | "version": "2.3.6", 537 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 538 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 539 | "requires": { 540 | "core-util-is": "~1.0.0", 541 | "inherits": "~2.0.3", 542 | "isarray": "~1.0.0", 543 | "process-nextick-args": "~2.0.0", 544 | "safe-buffer": "~5.1.1", 545 | "string_decoder": "~1.1.1", 546 | "util-deprecate": "~1.0.1" 547 | } 548 | }, 549 | "string_decoder": { 550 | "version": "1.1.1", 551 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 552 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 553 | "requires": { 554 | "safe-buffer": "~5.1.0" 555 | } 556 | } 557 | } 558 | }, 559 | "bluebird": { 560 | "version": "3.5.5", 561 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", 562 | "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==" 563 | }, 564 | "body-parser": { 565 | "version": "1.19.0", 566 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", 567 | "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", 568 | "requires": { 569 | "bytes": "3.1.0", 570 | "content-type": "~1.0.4", 571 | "debug": "2.6.9", 572 | "depd": "~1.1.2", 573 | "http-errors": "1.7.2", 574 | "iconv-lite": "0.4.24", 575 | "on-finished": "~2.3.0", 576 | "qs": "6.7.0", 577 | "raw-body": "2.4.0", 578 | "type-is": "~1.6.17" 579 | }, 580 | "dependencies": { 581 | "debug": { 582 | "version": "2.6.9", 583 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 584 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 585 | "requires": { 586 | "ms": "2.0.0" 587 | } 588 | }, 589 | "iconv-lite": { 590 | "version": "0.4.24", 591 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 592 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 593 | "requires": { 594 | "safer-buffer": ">= 2.1.2 < 3" 595 | } 596 | } 597 | } 598 | }, 599 | "boxen": { 600 | "version": "1.3.0", 601 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", 602 | "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", 603 | "requires": { 604 | "ansi-align": "^2.0.0", 605 | "camelcase": "^4.0.0", 606 | "chalk": "^2.0.1", 607 | "cli-boxes": "^1.0.0", 608 | "string-width": "^2.0.0", 609 | "term-size": "^1.2.0", 610 | "widest-line": "^2.0.0" 611 | } 612 | }, 613 | "brace-expansion": { 614 | "version": "1.1.8", 615 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", 616 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", 617 | "requires": { 618 | "balanced-match": "^1.0.0", 619 | "concat-map": "0.0.1" 620 | } 621 | }, 622 | "browser-stdout": { 623 | "version": "1.3.0", 624 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", 625 | "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", 626 | "dev": true 627 | }, 628 | "buffer": { 629 | "version": "5.2.1", 630 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", 631 | "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", 632 | "requires": { 633 | "base64-js": "^1.0.2", 634 | "ieee754": "^1.1.4" 635 | } 636 | }, 637 | "buffer-alloc": { 638 | "version": "1.2.0", 639 | "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", 640 | "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", 641 | "requires": { 642 | "buffer-alloc-unsafe": "^1.1.0", 643 | "buffer-fill": "^1.0.0" 644 | } 645 | }, 646 | "buffer-alloc-unsafe": { 647 | "version": "1.1.0", 648 | "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", 649 | "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" 650 | }, 651 | "buffer-crc32": { 652 | "version": "0.2.13", 653 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 654 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" 655 | }, 656 | "buffer-fill": { 657 | "version": "1.0.0", 658 | "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", 659 | "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" 660 | }, 661 | "buffer-from": { 662 | "version": "1.1.1", 663 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", 664 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" 665 | }, 666 | "bytes": { 667 | "version": "3.1.0", 668 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", 669 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" 670 | }, 671 | "cache-base": { 672 | "version": "1.0.1", 673 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", 674 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", 675 | "requires": { 676 | "collection-visit": "^1.0.0", 677 | "component-emitter": "^1.2.1", 678 | "get-value": "^2.0.6", 679 | "has-value": "^1.0.0", 680 | "isobject": "^3.0.1", 681 | "set-value": "^2.0.0", 682 | "to-object-path": "^0.3.0", 683 | "union-value": "^1.0.0", 684 | "unset-value": "^1.0.0" 685 | } 686 | }, 687 | "cachedir": { 688 | "version": "2.2.0", 689 | "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz", 690 | "integrity": "sha512-VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ==" 691 | }, 692 | "caller-path": { 693 | "version": "0.1.0", 694 | "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", 695 | "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", 696 | "dev": true, 697 | "requires": { 698 | "callsites": "^0.2.0" 699 | } 700 | }, 701 | "callsites": { 702 | "version": "0.2.0", 703 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", 704 | "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", 705 | "dev": true 706 | }, 707 | "camelcase": { 708 | "version": "4.1.0", 709 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", 710 | "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" 711 | }, 712 | "capture-stack-trace": { 713 | "version": "1.0.1", 714 | "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", 715 | "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==" 716 | }, 717 | "caw": { 718 | "version": "2.0.1", 719 | "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", 720 | "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", 721 | "requires": { 722 | "get-proxy": "^2.0.0", 723 | "isurl": "^1.0.0-alpha5", 724 | "tunnel-agent": "^0.6.0", 725 | "url-to-options": "^1.0.1" 726 | } 727 | }, 728 | "chai": { 729 | "version": "4.1.2", 730 | "resolved": "https://registry.npmjs.org/chai/-/chai-4.1.2.tgz", 731 | "integrity": "sha1-D2RYS6ZC8PKs4oBiefTwbKI61zw=", 732 | "dev": true, 733 | "requires": { 734 | "assertion-error": "^1.0.1", 735 | "check-error": "^1.0.1", 736 | "deep-eql": "^3.0.0", 737 | "get-func-name": "^2.0.0", 738 | "pathval": "^1.0.0", 739 | "type-detect": "^4.0.0" 740 | } 741 | }, 742 | "chalk": { 743 | "version": "2.3.0", 744 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", 745 | "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", 746 | "requires": { 747 | "ansi-styles": "^3.1.0", 748 | "escape-string-regexp": "^1.0.5", 749 | "supports-color": "^4.0.0" 750 | }, 751 | "dependencies": { 752 | "ansi-styles": { 753 | "version": "3.2.0", 754 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", 755 | "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", 756 | "requires": { 757 | "color-convert": "^1.9.0" 758 | } 759 | }, 760 | "supports-color": { 761 | "version": "4.5.0", 762 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", 763 | "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", 764 | "requires": { 765 | "has-flag": "^2.0.0" 766 | } 767 | } 768 | } 769 | }, 770 | "chardet": { 771 | "version": "0.4.2", 772 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", 773 | "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", 774 | "dev": true 775 | }, 776 | "check-error": { 777 | "version": "1.0.2", 778 | "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", 779 | "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", 780 | "dev": true 781 | }, 782 | "ci-info": { 783 | "version": "1.6.0", 784 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", 785 | "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" 786 | }, 787 | "circular-json": { 788 | "version": "0.3.3", 789 | "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", 790 | "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", 791 | "dev": true 792 | }, 793 | "class-utils": { 794 | "version": "0.3.6", 795 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", 796 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", 797 | "requires": { 798 | "arr-union": "^3.1.0", 799 | "define-property": "^0.2.5", 800 | "isobject": "^3.0.0", 801 | "static-extend": "^0.1.1" 802 | }, 803 | "dependencies": { 804 | "define-property": { 805 | "version": "0.2.5", 806 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 807 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 808 | "requires": { 809 | "is-descriptor": "^0.1.0" 810 | } 811 | }, 812 | "is-accessor-descriptor": { 813 | "version": "0.1.6", 814 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 815 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 816 | "requires": { 817 | "kind-of": "^3.0.2" 818 | }, 819 | "dependencies": { 820 | "kind-of": { 821 | "version": "3.2.2", 822 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 823 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 824 | "requires": { 825 | "is-buffer": "^1.1.5" 826 | } 827 | } 828 | } 829 | }, 830 | "is-buffer": { 831 | "version": "1.1.6", 832 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 833 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 834 | }, 835 | "is-data-descriptor": { 836 | "version": "0.1.4", 837 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 838 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 839 | "requires": { 840 | "kind-of": "^3.0.2" 841 | }, 842 | "dependencies": { 843 | "kind-of": { 844 | "version": "3.2.2", 845 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 846 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 847 | "requires": { 848 | "is-buffer": "^1.1.5" 849 | } 850 | } 851 | } 852 | }, 853 | "is-descriptor": { 854 | "version": "0.1.6", 855 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 856 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 857 | "requires": { 858 | "is-accessor-descriptor": "^0.1.6", 859 | "is-data-descriptor": "^0.1.4", 860 | "kind-of": "^5.0.0" 861 | } 862 | }, 863 | "kind-of": { 864 | "version": "5.1.0", 865 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 866 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" 867 | } 868 | } 869 | }, 870 | "cli-boxes": { 871 | "version": "1.0.0", 872 | "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", 873 | "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=" 874 | }, 875 | "cli-cursor": { 876 | "version": "2.1.0", 877 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 878 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 879 | "dev": true, 880 | "requires": { 881 | "restore-cursor": "^2.0.0" 882 | } 883 | }, 884 | "cli-width": { 885 | "version": "2.2.0", 886 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 887 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" 888 | }, 889 | "co": { 890 | "version": "4.6.0", 891 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 892 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", 893 | "dev": true 894 | }, 895 | "code-point-at": { 896 | "version": "1.1.0", 897 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 898 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" 899 | }, 900 | "collection-visit": { 901 | "version": "1.0.0", 902 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", 903 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", 904 | "requires": { 905 | "map-visit": "^1.0.0", 906 | "object-visit": "^1.0.0" 907 | } 908 | }, 909 | "color-convert": { 910 | "version": "1.9.1", 911 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", 912 | "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", 913 | "requires": { 914 | "color-name": "^1.1.1" 915 | } 916 | }, 917 | "color-name": { 918 | "version": "1.1.3", 919 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 920 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 921 | }, 922 | "combined-stream": { 923 | "version": "1.0.8", 924 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 925 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 926 | "requires": { 927 | "delayed-stream": "~1.0.0" 928 | } 929 | }, 930 | "commander": { 931 | "version": "2.11.0", 932 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", 933 | "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" 934 | }, 935 | "component-emitter": { 936 | "version": "1.3.0", 937 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", 938 | "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" 939 | }, 940 | "compress-commons": { 941 | "version": "1.2.2", 942 | "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", 943 | "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", 944 | "requires": { 945 | "buffer-crc32": "^0.2.1", 946 | "crc32-stream": "^2.0.0", 947 | "normalize-path": "^2.0.0", 948 | "readable-stream": "^2.0.0" 949 | } 950 | }, 951 | "concat-map": { 952 | "version": "0.0.1", 953 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 954 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 955 | }, 956 | "concat-stream": { 957 | "version": "1.6.0", 958 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", 959 | "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", 960 | "requires": { 961 | "inherits": "^2.0.3", 962 | "readable-stream": "^2.2.2", 963 | "typedarray": "^0.0.6" 964 | } 965 | }, 966 | "config-chain": { 967 | "version": "1.1.12", 968 | "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", 969 | "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", 970 | "requires": { 971 | "ini": "^1.3.4", 972 | "proto-list": "~1.2.1" 973 | } 974 | }, 975 | "configstore": { 976 | "version": "3.1.2", 977 | "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", 978 | "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", 979 | "requires": { 980 | "dot-prop": "^4.1.0", 981 | "graceful-fs": "^4.1.2", 982 | "make-dir": "^1.0.0", 983 | "unique-string": "^1.0.0", 984 | "write-file-atomic": "^2.0.0", 985 | "xdg-basedir": "^3.0.0" 986 | } 987 | }, 988 | "content-disposition": { 989 | "version": "0.5.3", 990 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", 991 | "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", 992 | "requires": { 993 | "safe-buffer": "5.1.2" 994 | }, 995 | "dependencies": { 996 | "safe-buffer": { 997 | "version": "5.1.2", 998 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 999 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 1000 | } 1001 | } 1002 | }, 1003 | "content-type": { 1004 | "version": "1.0.4", 1005 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", 1006 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" 1007 | }, 1008 | "cookie": { 1009 | "version": "0.4.0", 1010 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", 1011 | "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" 1012 | }, 1013 | "cookie-signature": { 1014 | "version": "1.0.6", 1015 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 1016 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" 1017 | }, 1018 | "cookiejar": { 1019 | "version": "2.1.2", 1020 | "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", 1021 | "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" 1022 | }, 1023 | "copy-descriptor": { 1024 | "version": "0.1.1", 1025 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", 1026 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" 1027 | }, 1028 | "core-util-is": { 1029 | "version": "1.0.2", 1030 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 1031 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 1032 | }, 1033 | "cors": { 1034 | "version": "2.8.5", 1035 | "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", 1036 | "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", 1037 | "requires": { 1038 | "object-assign": "^4", 1039 | "vary": "^1" 1040 | } 1041 | }, 1042 | "crc": { 1043 | "version": "3.8.0", 1044 | "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", 1045 | "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", 1046 | "requires": { 1047 | "buffer": "^5.1.0" 1048 | } 1049 | }, 1050 | "crc32-stream": { 1051 | "version": "2.0.0", 1052 | "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", 1053 | "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", 1054 | "requires": { 1055 | "crc": "^3.4.4", 1056 | "readable-stream": "^2.0.0" 1057 | } 1058 | }, 1059 | "create-error-class": { 1060 | "version": "3.0.2", 1061 | "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", 1062 | "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", 1063 | "requires": { 1064 | "capture-stack-trace": "^1.0.0" 1065 | } 1066 | }, 1067 | "cross-spawn": { 1068 | "version": "5.1.0", 1069 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", 1070 | "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", 1071 | "requires": { 1072 | "lru-cache": "^4.0.1", 1073 | "shebang-command": "^1.2.0", 1074 | "which": "^1.2.9" 1075 | } 1076 | }, 1077 | "crypto-random-string": { 1078 | "version": "1.0.0", 1079 | "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", 1080 | "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" 1081 | }, 1082 | "debug": { 1083 | "version": "3.1.0", 1084 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 1085 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 1086 | "requires": { 1087 | "ms": "2.0.0" 1088 | } 1089 | }, 1090 | "decode-uri-component": { 1091 | "version": "0.2.0", 1092 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", 1093 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" 1094 | }, 1095 | "decompress": { 1096 | "version": "4.2.0", 1097 | "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", 1098 | "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", 1099 | "requires": { 1100 | "decompress-tar": "^4.0.0", 1101 | "decompress-tarbz2": "^4.0.0", 1102 | "decompress-targz": "^4.0.0", 1103 | "decompress-unzip": "^4.0.1", 1104 | "graceful-fs": "^4.1.10", 1105 | "make-dir": "^1.0.0", 1106 | "pify": "^2.3.0", 1107 | "strip-dirs": "^2.0.0" 1108 | } 1109 | }, 1110 | "decompress-tar": { 1111 | "version": "4.1.1", 1112 | "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", 1113 | "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", 1114 | "requires": { 1115 | "file-type": "^5.2.0", 1116 | "is-stream": "^1.1.0", 1117 | "tar-stream": "^1.5.2" 1118 | } 1119 | }, 1120 | "decompress-tarbz2": { 1121 | "version": "4.1.1", 1122 | "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", 1123 | "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", 1124 | "requires": { 1125 | "decompress-tar": "^4.1.0", 1126 | "file-type": "^6.1.0", 1127 | "is-stream": "^1.1.0", 1128 | "seek-bzip": "^1.0.5", 1129 | "unbzip2-stream": "^1.0.9" 1130 | }, 1131 | "dependencies": { 1132 | "file-type": { 1133 | "version": "6.2.0", 1134 | "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", 1135 | "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" 1136 | } 1137 | } 1138 | }, 1139 | "decompress-targz": { 1140 | "version": "4.1.1", 1141 | "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", 1142 | "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", 1143 | "requires": { 1144 | "decompress-tar": "^4.1.1", 1145 | "file-type": "^5.2.0", 1146 | "is-stream": "^1.1.0" 1147 | } 1148 | }, 1149 | "decompress-unzip": { 1150 | "version": "4.0.1", 1151 | "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", 1152 | "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", 1153 | "requires": { 1154 | "file-type": "^3.8.0", 1155 | "get-stream": "^2.2.0", 1156 | "pify": "^2.3.0", 1157 | "yauzl": "^2.4.2" 1158 | }, 1159 | "dependencies": { 1160 | "file-type": { 1161 | "version": "3.9.0", 1162 | "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", 1163 | "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" 1164 | }, 1165 | "get-stream": { 1166 | "version": "2.3.1", 1167 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", 1168 | "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", 1169 | "requires": { 1170 | "object-assign": "^4.0.1", 1171 | "pinkie-promise": "^2.0.0" 1172 | } 1173 | } 1174 | } 1175 | }, 1176 | "deep-eql": { 1177 | "version": "3.0.1", 1178 | "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", 1179 | "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", 1180 | "dev": true, 1181 | "requires": { 1182 | "type-detect": "^4.0.0" 1183 | } 1184 | }, 1185 | "deep-extend": { 1186 | "version": "0.6.0", 1187 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 1188 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" 1189 | }, 1190 | "deep-is": { 1191 | "version": "0.1.3", 1192 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 1193 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 1194 | "dev": true 1195 | }, 1196 | "define-property": { 1197 | "version": "2.0.2", 1198 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", 1199 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", 1200 | "requires": { 1201 | "is-descriptor": "^1.0.2", 1202 | "isobject": "^3.0.1" 1203 | } 1204 | }, 1205 | "del": { 1206 | "version": "2.2.2", 1207 | "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", 1208 | "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", 1209 | "dev": true, 1210 | "requires": { 1211 | "globby": "^5.0.0", 1212 | "is-path-cwd": "^1.0.0", 1213 | "is-path-in-cwd": "^1.0.0", 1214 | "object-assign": "^4.0.1", 1215 | "pify": "^2.0.0", 1216 | "pinkie-promise": "^2.0.0", 1217 | "rimraf": "^2.2.8" 1218 | } 1219 | }, 1220 | "delayed-stream": { 1221 | "version": "1.0.0", 1222 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 1223 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 1224 | }, 1225 | "delegates": { 1226 | "version": "1.0.0", 1227 | "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", 1228 | "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" 1229 | }, 1230 | "depd": { 1231 | "version": "1.1.2", 1232 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 1233 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" 1234 | }, 1235 | "destroy": { 1236 | "version": "1.0.4", 1237 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 1238 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 1239 | }, 1240 | "diff": { 1241 | "version": "3.4.0", 1242 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz", 1243 | "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==", 1244 | "dev": true 1245 | }, 1246 | "doctrine": { 1247 | "version": "2.0.2", 1248 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.2.tgz", 1249 | "integrity": "sha512-y0tm5Pq6ywp3qSTZ1vPgVdAnbDEoeoc5wlOHXoY1c4Wug/a7JvqHIl7BTvwodaHmejWkK/9dSb3sCYfyo/om8A==", 1250 | "dev": true, 1251 | "requires": { 1252 | "esutils": "^2.0.2" 1253 | } 1254 | }, 1255 | "dot-prop": { 1256 | "version": "4.2.0", 1257 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", 1258 | "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", 1259 | "requires": { 1260 | "is-obj": "^1.0.0" 1261 | } 1262 | }, 1263 | "download": { 1264 | "version": "5.0.3", 1265 | "resolved": "https://registry.npmjs.org/download/-/download-5.0.3.tgz", 1266 | "integrity": "sha1-Y1N/l3+ZJmow64oqL70fILgAD3o=", 1267 | "requires": { 1268 | "caw": "^2.0.0", 1269 | "decompress": "^4.0.0", 1270 | "filenamify": "^2.0.0", 1271 | "get-stream": "^3.0.0", 1272 | "got": "^6.3.0", 1273 | "mkdirp": "^0.5.1", 1274 | "pify": "^2.3.0" 1275 | } 1276 | }, 1277 | "duplexer3": { 1278 | "version": "0.1.4", 1279 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", 1280 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" 1281 | }, 1282 | "ee-first": { 1283 | "version": "1.1.1", 1284 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 1285 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" 1286 | }, 1287 | "encodeurl": { 1288 | "version": "1.0.2", 1289 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 1290 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" 1291 | }, 1292 | "encoding": { 1293 | "version": "0.1.12", 1294 | "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", 1295 | "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", 1296 | "requires": { 1297 | "iconv-lite": "~0.4.13" 1298 | } 1299 | }, 1300 | "end-of-stream": { 1301 | "version": "1.4.1", 1302 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", 1303 | "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", 1304 | "requires": { 1305 | "once": "^1.4.0" 1306 | } 1307 | }, 1308 | "es6-promise": { 1309 | "version": "4.2.6", 1310 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz", 1311 | "integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q==" 1312 | }, 1313 | "es6-promisify": { 1314 | "version": "5.0.0", 1315 | "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", 1316 | "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", 1317 | "requires": { 1318 | "es6-promise": "^4.0.3" 1319 | } 1320 | }, 1321 | "escape-html": { 1322 | "version": "1.0.3", 1323 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 1324 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" 1325 | }, 1326 | "escape-string-regexp": { 1327 | "version": "1.0.5", 1328 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1329 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 1330 | }, 1331 | "eslint": { 1332 | "version": "4.13.1", 1333 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.13.1.tgz", 1334 | "integrity": "sha512-UCJVV50RtLHYzBp1DZ8CMPtRSg4iVZvjgO9IJHIKyWU/AnJVjtdRikoUPLB29n5pzMB7TnsLQWf0V6VUJfoPfw==", 1335 | "dev": true, 1336 | "requires": { 1337 | "ajv": "^5.3.0", 1338 | "babel-code-frame": "^6.22.0", 1339 | "chalk": "^2.1.0", 1340 | "concat-stream": "^1.6.0", 1341 | "cross-spawn": "^5.1.0", 1342 | "debug": "^3.0.1", 1343 | "doctrine": "^2.0.2", 1344 | "eslint-scope": "^3.7.1", 1345 | "espree": "^3.5.2", 1346 | "esquery": "^1.0.0", 1347 | "estraverse": "^4.2.0", 1348 | "esutils": "^2.0.2", 1349 | "file-entry-cache": "^2.0.0", 1350 | "functional-red-black-tree": "^1.0.1", 1351 | "glob": "^7.1.2", 1352 | "globals": "^11.0.1", 1353 | "ignore": "^3.3.3", 1354 | "imurmurhash": "^0.1.4", 1355 | "inquirer": "^3.0.6", 1356 | "is-resolvable": "^1.0.0", 1357 | "js-yaml": "^3.9.1", 1358 | "json-stable-stringify-without-jsonify": "^1.0.1", 1359 | "levn": "^0.3.0", 1360 | "lodash": "^4.17.4", 1361 | "minimatch": "^3.0.2", 1362 | "mkdirp": "^0.5.1", 1363 | "natural-compare": "^1.4.0", 1364 | "optionator": "^0.8.2", 1365 | "path-is-inside": "^1.0.2", 1366 | "pluralize": "^7.0.0", 1367 | "progress": "^2.0.0", 1368 | "require-uncached": "^1.0.3", 1369 | "semver": "^5.3.0", 1370 | "strip-ansi": "^4.0.0", 1371 | "strip-json-comments": "~2.0.1", 1372 | "table": "^4.0.1", 1373 | "text-table": "~0.2.0" 1374 | } 1375 | }, 1376 | "eslint-scope": { 1377 | "version": "3.7.1", 1378 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", 1379 | "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", 1380 | "dev": true, 1381 | "requires": { 1382 | "esrecurse": "^4.1.0", 1383 | "estraverse": "^4.1.1" 1384 | } 1385 | }, 1386 | "espree": { 1387 | "version": "3.5.2", 1388 | "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz", 1389 | "integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==", 1390 | "dev": true, 1391 | "requires": { 1392 | "acorn": "^5.2.1", 1393 | "acorn-jsx": "^3.0.0" 1394 | } 1395 | }, 1396 | "esprima": { 1397 | "version": "4.0.0", 1398 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", 1399 | "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==" 1400 | }, 1401 | "esquery": { 1402 | "version": "1.0.0", 1403 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", 1404 | "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", 1405 | "dev": true, 1406 | "requires": { 1407 | "estraverse": "^4.0.0" 1408 | } 1409 | }, 1410 | "esrecurse": { 1411 | "version": "4.2.0", 1412 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", 1413 | "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", 1414 | "dev": true, 1415 | "requires": { 1416 | "estraverse": "^4.1.0", 1417 | "object-assign": "^4.0.1" 1418 | } 1419 | }, 1420 | "estraverse": { 1421 | "version": "4.2.0", 1422 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", 1423 | "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", 1424 | "dev": true 1425 | }, 1426 | "esutils": { 1427 | "version": "2.0.2", 1428 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 1429 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 1430 | "dev": true 1431 | }, 1432 | "etag": { 1433 | "version": "1.8.1", 1434 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 1435 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" 1436 | }, 1437 | "events": { 1438 | "version": "1.1.1", 1439 | "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", 1440 | "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" 1441 | }, 1442 | "execa": { 1443 | "version": "0.7.0", 1444 | "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", 1445 | "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", 1446 | "requires": { 1447 | "cross-spawn": "^5.0.1", 1448 | "get-stream": "^3.0.0", 1449 | "is-stream": "^1.1.0", 1450 | "npm-run-path": "^2.0.0", 1451 | "p-finally": "^1.0.0", 1452 | "signal-exit": "^3.0.0", 1453 | "strip-eof": "^1.0.0" 1454 | } 1455 | }, 1456 | "exit-hook": { 1457 | "version": "1.1.1", 1458 | "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", 1459 | "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=" 1460 | }, 1461 | "express": { 1462 | "version": "4.17.1", 1463 | "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", 1464 | "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", 1465 | "requires": { 1466 | "accepts": "~1.3.7", 1467 | "array-flatten": "1.1.1", 1468 | "body-parser": "1.19.0", 1469 | "content-disposition": "0.5.3", 1470 | "content-type": "~1.0.4", 1471 | "cookie": "0.4.0", 1472 | "cookie-signature": "1.0.6", 1473 | "debug": "2.6.9", 1474 | "depd": "~1.1.2", 1475 | "encodeurl": "~1.0.2", 1476 | "escape-html": "~1.0.3", 1477 | "etag": "~1.8.1", 1478 | "finalhandler": "~1.1.2", 1479 | "fresh": "0.5.2", 1480 | "merge-descriptors": "1.0.1", 1481 | "methods": "~1.1.2", 1482 | "on-finished": "~2.3.0", 1483 | "parseurl": "~1.3.3", 1484 | "path-to-regexp": "0.1.7", 1485 | "proxy-addr": "~2.0.5", 1486 | "qs": "6.7.0", 1487 | "range-parser": "~1.2.1", 1488 | "safe-buffer": "5.1.2", 1489 | "send": "0.17.1", 1490 | "serve-static": "1.14.1", 1491 | "setprototypeof": "1.1.1", 1492 | "statuses": "~1.5.0", 1493 | "type-is": "~1.6.18", 1494 | "utils-merge": "1.0.1", 1495 | "vary": "~1.1.2" 1496 | }, 1497 | "dependencies": { 1498 | "debug": { 1499 | "version": "2.6.9", 1500 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1501 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1502 | "requires": { 1503 | "ms": "2.0.0" 1504 | } 1505 | }, 1506 | "path-to-regexp": { 1507 | "version": "0.1.7", 1508 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 1509 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" 1510 | }, 1511 | "safe-buffer": { 1512 | "version": "5.1.2", 1513 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1514 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 1515 | } 1516 | } 1517 | }, 1518 | "extend": { 1519 | "version": "3.0.2", 1520 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 1521 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" 1522 | }, 1523 | "extend-shallow": { 1524 | "version": "3.0.2", 1525 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", 1526 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", 1527 | "requires": { 1528 | "assign-symbols": "^1.0.0", 1529 | "is-extendable": "^1.0.1" 1530 | } 1531 | }, 1532 | "external-editor": { 1533 | "version": "2.1.0", 1534 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", 1535 | "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", 1536 | "dev": true, 1537 | "requires": { 1538 | "chardet": "^0.4.0", 1539 | "iconv-lite": "^0.4.17", 1540 | "tmp": "^0.0.33" 1541 | } 1542 | }, 1543 | "fast-deep-equal": { 1544 | "version": "1.0.0", 1545 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", 1546 | "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", 1547 | "dev": true 1548 | }, 1549 | "fast-json-stable-stringify": { 1550 | "version": "2.0.0", 1551 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 1552 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", 1553 | "dev": true 1554 | }, 1555 | "fast-levenshtein": { 1556 | "version": "2.0.6", 1557 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1558 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" 1559 | }, 1560 | "fd-slicer": { 1561 | "version": "1.1.0", 1562 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 1563 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", 1564 | "requires": { 1565 | "pend": "~1.2.0" 1566 | } 1567 | }, 1568 | "figures": { 1569 | "version": "2.0.0", 1570 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 1571 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 1572 | "dev": true, 1573 | "requires": { 1574 | "escape-string-regexp": "^1.0.5" 1575 | } 1576 | }, 1577 | "file-entry-cache": { 1578 | "version": "2.0.0", 1579 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", 1580 | "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", 1581 | "dev": true, 1582 | "requires": { 1583 | "flat-cache": "^1.2.1", 1584 | "object-assign": "^4.0.1" 1585 | } 1586 | }, 1587 | "file-type": { 1588 | "version": "5.2.0", 1589 | "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", 1590 | "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" 1591 | }, 1592 | "filename-reserved-regex": { 1593 | "version": "2.0.0", 1594 | "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", 1595 | "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=" 1596 | }, 1597 | "filenamify": { 1598 | "version": "2.1.0", 1599 | "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", 1600 | "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", 1601 | "requires": { 1602 | "filename-reserved-regex": "^2.0.0", 1603 | "strip-outer": "^1.0.0", 1604 | "trim-repeated": "^1.0.0" 1605 | } 1606 | }, 1607 | "filesize": { 1608 | "version": "3.6.1", 1609 | "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", 1610 | "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==" 1611 | }, 1612 | "finalhandler": { 1613 | "version": "1.1.2", 1614 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", 1615 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", 1616 | "requires": { 1617 | "debug": "2.6.9", 1618 | "encodeurl": "~1.0.2", 1619 | "escape-html": "~1.0.3", 1620 | "on-finished": "~2.3.0", 1621 | "parseurl": "~1.3.3", 1622 | "statuses": "~1.5.0", 1623 | "unpipe": "~1.0.0" 1624 | }, 1625 | "dependencies": { 1626 | "debug": { 1627 | "version": "2.6.9", 1628 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1629 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1630 | "requires": { 1631 | "ms": "2.0.0" 1632 | } 1633 | } 1634 | } 1635 | }, 1636 | "flat": { 1637 | "version": "4.1.0", 1638 | "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", 1639 | "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", 1640 | "requires": { 1641 | "is-buffer": "~2.0.3" 1642 | } 1643 | }, 1644 | "flat-cache": { 1645 | "version": "1.3.0", 1646 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", 1647 | "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", 1648 | "dev": true, 1649 | "requires": { 1650 | "circular-json": "^0.3.1", 1651 | "del": "^2.0.2", 1652 | "graceful-fs": "^4.1.2", 1653 | "write": "^0.2.1" 1654 | } 1655 | }, 1656 | "for-in": { 1657 | "version": "1.0.2", 1658 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 1659 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" 1660 | }, 1661 | "form-data": { 1662 | "version": "2.3.3", 1663 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", 1664 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", 1665 | "requires": { 1666 | "asynckit": "^0.4.0", 1667 | "combined-stream": "^1.0.6", 1668 | "mime-types": "^2.1.12" 1669 | } 1670 | }, 1671 | "formatio": { 1672 | "version": "1.2.0", 1673 | "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz", 1674 | "integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=", 1675 | "dev": true, 1676 | "requires": { 1677 | "samsam": "1.x" 1678 | } 1679 | }, 1680 | "formidable": { 1681 | "version": "1.2.1", 1682 | "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", 1683 | "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==" 1684 | }, 1685 | "forwarded": { 1686 | "version": "0.1.2", 1687 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", 1688 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" 1689 | }, 1690 | "fragment-cache": { 1691 | "version": "0.2.1", 1692 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", 1693 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", 1694 | "requires": { 1695 | "map-cache": "^0.2.2" 1696 | } 1697 | }, 1698 | "fresh": { 1699 | "version": "0.5.2", 1700 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 1701 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" 1702 | }, 1703 | "fs-constants": { 1704 | "version": "1.0.0", 1705 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 1706 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" 1707 | }, 1708 | "fs-extra": { 1709 | "version": "0.26.7", 1710 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", 1711 | "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", 1712 | "requires": { 1713 | "graceful-fs": "^4.1.2", 1714 | "jsonfile": "^2.1.0", 1715 | "klaw": "^1.0.0", 1716 | "path-is-absolute": "^1.0.0", 1717 | "rimraf": "^2.2.8" 1718 | }, 1719 | "dependencies": { 1720 | "jsonfile": { 1721 | "version": "2.4.0", 1722 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", 1723 | "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", 1724 | "requires": { 1725 | "graceful-fs": "^4.1.6" 1726 | } 1727 | } 1728 | } 1729 | }, 1730 | "fs.realpath": { 1731 | "version": "1.0.0", 1732 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1733 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 1734 | }, 1735 | "functional-red-black-tree": { 1736 | "version": "1.0.1", 1737 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 1738 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 1739 | "dev": true 1740 | }, 1741 | "gauge": { 1742 | "version": "1.2.7", 1743 | "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", 1744 | "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", 1745 | "requires": { 1746 | "ansi": "^0.3.0", 1747 | "has-unicode": "^2.0.0", 1748 | "lodash.pad": "^4.1.0", 1749 | "lodash.padend": "^4.1.0", 1750 | "lodash.padstart": "^4.1.0" 1751 | } 1752 | }, 1753 | "get-func-name": { 1754 | "version": "2.0.0", 1755 | "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", 1756 | "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", 1757 | "dev": true 1758 | }, 1759 | "get-proxy": { 1760 | "version": "2.1.0", 1761 | "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", 1762 | "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", 1763 | "requires": { 1764 | "npm-conf": "^1.1.0" 1765 | } 1766 | }, 1767 | "get-stdin": { 1768 | "version": "5.0.1", 1769 | "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", 1770 | "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=" 1771 | }, 1772 | "get-stream": { 1773 | "version": "3.0.0", 1774 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", 1775 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" 1776 | }, 1777 | "get-value": { 1778 | "version": "2.0.6", 1779 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", 1780 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" 1781 | }, 1782 | "glob": { 1783 | "version": "7.1.2", 1784 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 1785 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 1786 | "requires": { 1787 | "fs.realpath": "^1.0.0", 1788 | "inflight": "^1.0.4", 1789 | "inherits": "2", 1790 | "minimatch": "^3.0.4", 1791 | "once": "^1.3.0", 1792 | "path-is-absolute": "^1.0.0" 1793 | } 1794 | }, 1795 | "global-dirs": { 1796 | "version": "0.1.1", 1797 | "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", 1798 | "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", 1799 | "requires": { 1800 | "ini": "^1.3.4" 1801 | } 1802 | }, 1803 | "globals": { 1804 | "version": "11.1.0", 1805 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.1.0.tgz", 1806 | "integrity": "sha512-uEuWt9mqTlPDwSqi+sHjD4nWU/1N+q0fiWI9T1mZpD2UENqX20CFD5T/ziLZvztPaBKl7ZylUi1q6Qfm7E2CiQ==", 1807 | "dev": true 1808 | }, 1809 | "globby": { 1810 | "version": "5.0.0", 1811 | "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", 1812 | "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", 1813 | "dev": true, 1814 | "requires": { 1815 | "array-union": "^1.0.1", 1816 | "arrify": "^1.0.0", 1817 | "glob": "^7.0.3", 1818 | "object-assign": "^4.0.1", 1819 | "pify": "^2.0.0", 1820 | "pinkie-promise": "^2.0.0" 1821 | } 1822 | }, 1823 | "got": { 1824 | "version": "6.7.1", 1825 | "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", 1826 | "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", 1827 | "requires": { 1828 | "create-error-class": "^3.0.0", 1829 | "duplexer3": "^0.1.4", 1830 | "get-stream": "^3.0.0", 1831 | "is-redirect": "^1.0.0", 1832 | "is-retry-allowed": "^1.0.0", 1833 | "is-stream": "^1.0.0", 1834 | "lowercase-keys": "^1.0.0", 1835 | "safe-buffer": "^5.0.1", 1836 | "timed-out": "^4.0.0", 1837 | "unzip-response": "^2.0.1", 1838 | "url-parse-lax": "^1.0.0" 1839 | } 1840 | }, 1841 | "graceful-fs": { 1842 | "version": "4.1.11", 1843 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 1844 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" 1845 | }, 1846 | "graceful-readlink": { 1847 | "version": "1.0.1", 1848 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", 1849 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" 1850 | }, 1851 | "graphlib": { 1852 | "version": "2.1.7", 1853 | "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.7.tgz", 1854 | "integrity": "sha512-TyI9jIy2J4j0qgPmOOrHTCtpPqJGN/aurBwc6ZT+bRii+di1I+Wv3obRhVrmBEXet+qkMaEX67dXrwsd3QQM6w==", 1855 | "requires": { 1856 | "lodash": "^4.17.5" 1857 | } 1858 | }, 1859 | "growl": { 1860 | "version": "1.10.3", 1861 | "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", 1862 | "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", 1863 | "dev": true 1864 | }, 1865 | "has-ansi": { 1866 | "version": "2.0.0", 1867 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1868 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1869 | "requires": { 1870 | "ansi-regex": "^2.0.0" 1871 | } 1872 | }, 1873 | "has-flag": { 1874 | "version": "2.0.0", 1875 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", 1876 | "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" 1877 | }, 1878 | "has-symbol-support-x": { 1879 | "version": "1.4.2", 1880 | "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", 1881 | "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" 1882 | }, 1883 | "has-to-string-tag-x": { 1884 | "version": "1.4.1", 1885 | "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", 1886 | "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", 1887 | "requires": { 1888 | "has-symbol-support-x": "^1.4.1" 1889 | } 1890 | }, 1891 | "has-unicode": { 1892 | "version": "2.0.1", 1893 | "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", 1894 | "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" 1895 | }, 1896 | "has-value": { 1897 | "version": "1.0.0", 1898 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", 1899 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", 1900 | "requires": { 1901 | "get-value": "^2.0.6", 1902 | "has-values": "^1.0.0", 1903 | "isobject": "^3.0.0" 1904 | } 1905 | }, 1906 | "has-values": { 1907 | "version": "1.0.0", 1908 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", 1909 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", 1910 | "requires": { 1911 | "is-number": "^3.0.0", 1912 | "kind-of": "^4.0.0" 1913 | }, 1914 | "dependencies": { 1915 | "is-buffer": { 1916 | "version": "1.1.6", 1917 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1918 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 1919 | }, 1920 | "kind-of": { 1921 | "version": "4.0.0", 1922 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 1923 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 1924 | "requires": { 1925 | "is-buffer": "^1.1.5" 1926 | } 1927 | } 1928 | } 1929 | }, 1930 | "he": { 1931 | "version": "1.1.1", 1932 | "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", 1933 | "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", 1934 | "dev": true 1935 | }, 1936 | "http-errors": { 1937 | "version": "1.7.2", 1938 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", 1939 | "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", 1940 | "requires": { 1941 | "depd": "~1.1.2", 1942 | "inherits": "2.0.3", 1943 | "setprototypeof": "1.1.1", 1944 | "statuses": ">= 1.5.0 < 2", 1945 | "toidentifier": "1.0.0" 1946 | } 1947 | }, 1948 | "https-proxy-agent": { 1949 | "version": "2.2.1", 1950 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", 1951 | "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", 1952 | "requires": { 1953 | "agent-base": "^4.1.0", 1954 | "debug": "^3.1.0" 1955 | } 1956 | }, 1957 | "iconv-lite": { 1958 | "version": "0.4.19", 1959 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", 1960 | "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" 1961 | }, 1962 | "ieee754": { 1963 | "version": "1.1.13", 1964 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", 1965 | "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" 1966 | }, 1967 | "ignore": { 1968 | "version": "3.3.7", 1969 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", 1970 | "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", 1971 | "dev": true 1972 | }, 1973 | "immediate": { 1974 | "version": "3.0.6", 1975 | "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", 1976 | "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" 1977 | }, 1978 | "import-lazy": { 1979 | "version": "2.1.0", 1980 | "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", 1981 | "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" 1982 | }, 1983 | "imurmurhash": { 1984 | "version": "0.1.4", 1985 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1986 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" 1987 | }, 1988 | "inflight": { 1989 | "version": "1.0.6", 1990 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1991 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1992 | "requires": { 1993 | "once": "^1.3.0", 1994 | "wrappy": "1" 1995 | } 1996 | }, 1997 | "inherits": { 1998 | "version": "2.0.3", 1999 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 2000 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 2001 | }, 2002 | "ini": { 2003 | "version": "1.3.5", 2004 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", 2005 | "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" 2006 | }, 2007 | "inquirer": { 2008 | "version": "3.3.0", 2009 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", 2010 | "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", 2011 | "dev": true, 2012 | "requires": { 2013 | "ansi-escapes": "^3.0.0", 2014 | "chalk": "^2.0.0", 2015 | "cli-cursor": "^2.1.0", 2016 | "cli-width": "^2.0.0", 2017 | "external-editor": "^2.0.4", 2018 | "figures": "^2.0.0", 2019 | "lodash": "^4.3.0", 2020 | "mute-stream": "0.0.7", 2021 | "run-async": "^2.2.0", 2022 | "rx-lite": "^4.0.8", 2023 | "rx-lite-aggregates": "^4.0.8", 2024 | "string-width": "^2.1.0", 2025 | "strip-ansi": "^4.0.0", 2026 | "through": "^2.3.6" 2027 | } 2028 | }, 2029 | "ipaddr.js": { 2030 | "version": "1.9.0", 2031 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", 2032 | "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" 2033 | }, 2034 | "is-accessor-descriptor": { 2035 | "version": "1.0.0", 2036 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 2037 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 2038 | "requires": { 2039 | "kind-of": "^6.0.0" 2040 | } 2041 | }, 2042 | "is-buffer": { 2043 | "version": "2.0.3", 2044 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", 2045 | "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" 2046 | }, 2047 | "is-ci": { 2048 | "version": "1.2.1", 2049 | "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", 2050 | "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", 2051 | "requires": { 2052 | "ci-info": "^1.5.0" 2053 | } 2054 | }, 2055 | "is-data-descriptor": { 2056 | "version": "1.0.0", 2057 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 2058 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 2059 | "requires": { 2060 | "kind-of": "^6.0.0" 2061 | } 2062 | }, 2063 | "is-descriptor": { 2064 | "version": "1.0.2", 2065 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 2066 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 2067 | "requires": { 2068 | "is-accessor-descriptor": "^1.0.0", 2069 | "is-data-descriptor": "^1.0.0", 2070 | "kind-of": "^6.0.2" 2071 | } 2072 | }, 2073 | "is-docker": { 2074 | "version": "1.1.0", 2075 | "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-1.1.0.tgz", 2076 | "integrity": "sha1-8EN01O7lMQ6ajhE78UlUEeRhdqE=" 2077 | }, 2078 | "is-extendable": { 2079 | "version": "1.0.1", 2080 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 2081 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 2082 | "requires": { 2083 | "is-plain-object": "^2.0.4" 2084 | } 2085 | }, 2086 | "is-fullwidth-code-point": { 2087 | "version": "2.0.0", 2088 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 2089 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 2090 | }, 2091 | "is-installed-globally": { 2092 | "version": "0.1.0", 2093 | "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", 2094 | "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", 2095 | "requires": { 2096 | "global-dirs": "^0.1.0", 2097 | "is-path-inside": "^1.0.0" 2098 | } 2099 | }, 2100 | "is-natural-number": { 2101 | "version": "4.0.1", 2102 | "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", 2103 | "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" 2104 | }, 2105 | "is-npm": { 2106 | "version": "1.0.0", 2107 | "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", 2108 | "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=" 2109 | }, 2110 | "is-number": { 2111 | "version": "3.0.0", 2112 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 2113 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 2114 | "requires": { 2115 | "kind-of": "^3.0.2" 2116 | }, 2117 | "dependencies": { 2118 | "is-buffer": { 2119 | "version": "1.1.6", 2120 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 2121 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 2122 | }, 2123 | "kind-of": { 2124 | "version": "3.2.2", 2125 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2126 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2127 | "requires": { 2128 | "is-buffer": "^1.1.5" 2129 | } 2130 | } 2131 | } 2132 | }, 2133 | "is-obj": { 2134 | "version": "1.0.1", 2135 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", 2136 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" 2137 | }, 2138 | "is-object": { 2139 | "version": "1.0.1", 2140 | "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", 2141 | "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" 2142 | }, 2143 | "is-path-cwd": { 2144 | "version": "1.0.0", 2145 | "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", 2146 | "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", 2147 | "dev": true 2148 | }, 2149 | "is-path-in-cwd": { 2150 | "version": "1.0.0", 2151 | "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", 2152 | "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", 2153 | "dev": true, 2154 | "requires": { 2155 | "is-path-inside": "^1.0.0" 2156 | } 2157 | }, 2158 | "is-path-inside": { 2159 | "version": "1.0.0", 2160 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", 2161 | "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", 2162 | "requires": { 2163 | "path-is-inside": "^1.0.1" 2164 | } 2165 | }, 2166 | "is-plain-object": { 2167 | "version": "2.0.4", 2168 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 2169 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 2170 | "requires": { 2171 | "isobject": "^3.0.1" 2172 | } 2173 | }, 2174 | "is-promise": { 2175 | "version": "2.1.0", 2176 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 2177 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" 2178 | }, 2179 | "is-redirect": { 2180 | "version": "1.0.0", 2181 | "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", 2182 | "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" 2183 | }, 2184 | "is-resolvable": { 2185 | "version": "1.0.0", 2186 | "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", 2187 | "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", 2188 | "dev": true, 2189 | "requires": { 2190 | "tryit": "^1.0.1" 2191 | } 2192 | }, 2193 | "is-retry-allowed": { 2194 | "version": "1.1.0", 2195 | "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", 2196 | "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" 2197 | }, 2198 | "is-stream": { 2199 | "version": "1.1.0", 2200 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 2201 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 2202 | }, 2203 | "is-windows": { 2204 | "version": "1.0.2", 2205 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", 2206 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" 2207 | }, 2208 | "is-wsl": { 2209 | "version": "1.1.0", 2210 | "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", 2211 | "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" 2212 | }, 2213 | "isarray": { 2214 | "version": "1.0.0", 2215 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 2216 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 2217 | }, 2218 | "isexe": { 2219 | "version": "2.0.0", 2220 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2221 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" 2222 | }, 2223 | "iso8601-duration": { 2224 | "version": "1.2.0", 2225 | "resolved": "https://registry.npmjs.org/iso8601-duration/-/iso8601-duration-1.2.0.tgz", 2226 | "integrity": "sha512-ErTBd++b17E8nmWII1K1uZtBgD1E8RjyvwmxlCjPHNqHMD7gmcMHOw0E8Ro/6+QT4PhHRSnnMo7bxa1vFPkwhg==" 2227 | }, 2228 | "isobject": { 2229 | "version": "3.0.1", 2230 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 2231 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" 2232 | }, 2233 | "isomorphic-fetch": { 2234 | "version": "2.2.1", 2235 | "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", 2236 | "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", 2237 | "requires": { 2238 | "node-fetch": "^1.0.1", 2239 | "whatwg-fetch": ">=0.10.0" 2240 | } 2241 | }, 2242 | "isurl": { 2243 | "version": "1.0.0", 2244 | "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", 2245 | "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", 2246 | "requires": { 2247 | "has-to-string-tag-x": "^1.2.0", 2248 | "is-object": "^1.0.1" 2249 | } 2250 | }, 2251 | "jmespath": { 2252 | "version": "0.15.0", 2253 | "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", 2254 | "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" 2255 | }, 2256 | "js-tokens": { 2257 | "version": "3.0.2", 2258 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", 2259 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", 2260 | "dev": true 2261 | }, 2262 | "js-yaml": { 2263 | "version": "3.10.0", 2264 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", 2265 | "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", 2266 | "requires": { 2267 | "argparse": "^1.0.7", 2268 | "esprima": "^4.0.0" 2269 | } 2270 | }, 2271 | "json-cycle": { 2272 | "version": "1.3.0", 2273 | "resolved": "https://registry.npmjs.org/json-cycle/-/json-cycle-1.3.0.tgz", 2274 | "integrity": "sha512-FD/SedD78LCdSvJaOUQAXseT8oQBb5z6IVYaQaCrVUlu9zOAr1BDdKyVYQaSD/GDsAMrXpKcOyBD4LIl8nfjHw==" 2275 | }, 2276 | "json-refs": { 2277 | "version": "2.1.7", 2278 | "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-2.1.7.tgz", 2279 | "integrity": "sha1-uesB/in16j6Sh48VrqEK04taz4k=", 2280 | "requires": { 2281 | "commander": "^2.9.0", 2282 | "graphlib": "^2.1.1", 2283 | "js-yaml": "^3.8.3", 2284 | "native-promise-only": "^0.8.1", 2285 | "path-loader": "^1.0.2", 2286 | "slash": "^1.0.0", 2287 | "uri-js": "^3.0.2" 2288 | } 2289 | }, 2290 | "json-schema-traverse": { 2291 | "version": "0.3.1", 2292 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", 2293 | "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", 2294 | "dev": true 2295 | }, 2296 | "json-stable-stringify-without-jsonify": { 2297 | "version": "1.0.1", 2298 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 2299 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 2300 | "dev": true 2301 | }, 2302 | "json-stringify-safe": { 2303 | "version": "5.0.1", 2304 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 2305 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" 2306 | }, 2307 | "jsonata": { 2308 | "version": "1.6.4", 2309 | "resolved": "https://registry.npmjs.org/jsonata/-/jsonata-1.6.4.tgz", 2310 | "integrity": "sha512-3MWTH77OHLf3muMknZJS4GnDhGPMITyF9D84hpRQrjt1Hk3pBtTiyZcqodHUDSaDq8VDy9YyIbanRI+3RoW3FA==" 2311 | }, 2312 | "jsonfile": { 2313 | "version": "4.0.0", 2314 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 2315 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 2316 | "requires": { 2317 | "graceful-fs": "^4.1.6" 2318 | } 2319 | }, 2320 | "jszip": { 2321 | "version": "3.2.1", 2322 | "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.1.tgz", 2323 | "integrity": "sha512-iCMBbo4eE5rb1VCpm5qXOAaUiRKRUKiItn8ah2YQQx9qymmSAY98eyQfioChEYcVQLh0zxJ3wS4A0mh90AVPvw==", 2324 | "requires": { 2325 | "lie": "~3.3.0", 2326 | "pako": "~1.0.2", 2327 | "readable-stream": "~2.3.6", 2328 | "set-immediate-shim": "~1.0.1" 2329 | }, 2330 | "dependencies": { 2331 | "process-nextick-args": { 2332 | "version": "2.0.0", 2333 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 2334 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" 2335 | }, 2336 | "readable-stream": { 2337 | "version": "2.3.6", 2338 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 2339 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 2340 | "requires": { 2341 | "core-util-is": "~1.0.0", 2342 | "inherits": "~2.0.3", 2343 | "isarray": "~1.0.0", 2344 | "process-nextick-args": "~2.0.0", 2345 | "safe-buffer": "~5.1.1", 2346 | "string_decoder": "~1.1.1", 2347 | "util-deprecate": "~1.0.1" 2348 | } 2349 | }, 2350 | "string_decoder": { 2351 | "version": "1.1.1", 2352 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 2353 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 2354 | "requires": { 2355 | "safe-buffer": "~5.1.0" 2356 | } 2357 | } 2358 | } 2359 | }, 2360 | "jwt-decode": { 2361 | "version": "2.2.0", 2362 | "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-2.2.0.tgz", 2363 | "integrity": "sha1-fYa9VmefWM5qhHBKZX3TkruoGnk=" 2364 | }, 2365 | "kind-of": { 2366 | "version": "6.0.2", 2367 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", 2368 | "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" 2369 | }, 2370 | "klaw": { 2371 | "version": "1.3.1", 2372 | "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", 2373 | "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", 2374 | "requires": { 2375 | "graceful-fs": "^4.1.9" 2376 | } 2377 | }, 2378 | "latest-version": { 2379 | "version": "3.1.0", 2380 | "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", 2381 | "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", 2382 | "requires": { 2383 | "package-json": "^4.0.0" 2384 | } 2385 | }, 2386 | "lazystream": { 2387 | "version": "1.0.0", 2388 | "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", 2389 | "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", 2390 | "requires": { 2391 | "readable-stream": "^2.0.5" 2392 | } 2393 | }, 2394 | "levn": { 2395 | "version": "0.3.0", 2396 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 2397 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 2398 | "dev": true, 2399 | "requires": { 2400 | "prelude-ls": "~1.1.2", 2401 | "type-check": "~0.3.2" 2402 | } 2403 | }, 2404 | "lie": { 2405 | "version": "3.3.0", 2406 | "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", 2407 | "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", 2408 | "requires": { 2409 | "immediate": "~3.0.5" 2410 | } 2411 | }, 2412 | "lodash": { 2413 | "version": "4.17.11", 2414 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", 2415 | "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" 2416 | }, 2417 | "lodash.difference": { 2418 | "version": "4.5.0", 2419 | "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", 2420 | "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=" 2421 | }, 2422 | "lodash.get": { 2423 | "version": "4.4.2", 2424 | "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", 2425 | "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", 2426 | "dev": true 2427 | }, 2428 | "lodash.pad": { 2429 | "version": "4.5.1", 2430 | "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", 2431 | "integrity": "sha1-QzCUmoM6fI2iLMIPaibE1Z3runA=" 2432 | }, 2433 | "lodash.padend": { 2434 | "version": "4.6.1", 2435 | "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", 2436 | "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=" 2437 | }, 2438 | "lodash.padstart": { 2439 | "version": "4.6.1", 2440 | "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", 2441 | "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" 2442 | }, 2443 | "lodash.uniq": { 2444 | "version": "4.5.0", 2445 | "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", 2446 | "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" 2447 | }, 2448 | "lolex": { 2449 | "version": "2.3.1", 2450 | "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.3.1.tgz", 2451 | "integrity": "sha512-mQuW55GhduF3ppo+ZRUTz1PRjEh1hS5BbqU7d8D0ez2OKxHDod7StPPeAVKisZR5aLkHZjdGWSL42LSONUJsZw==", 2452 | "dev": true 2453 | }, 2454 | "lowercase-keys": { 2455 | "version": "1.0.1", 2456 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", 2457 | "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" 2458 | }, 2459 | "lru-cache": { 2460 | "version": "4.1.1", 2461 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", 2462 | "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", 2463 | "requires": { 2464 | "pseudomap": "^1.0.2", 2465 | "yallist": "^2.1.2" 2466 | } 2467 | }, 2468 | "lsmod": { 2469 | "version": "1.0.0", 2470 | "resolved": "https://registry.npmjs.org/lsmod/-/lsmod-1.0.0.tgz", 2471 | "integrity": "sha1-mgD3bco26yP6BTUK/htYXUKZ5ks=" 2472 | }, 2473 | "make-dir": { 2474 | "version": "1.3.0", 2475 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", 2476 | "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", 2477 | "requires": { 2478 | "pify": "^3.0.0" 2479 | }, 2480 | "dependencies": { 2481 | "pify": { 2482 | "version": "3.0.0", 2483 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 2484 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" 2485 | } 2486 | } 2487 | }, 2488 | "map-cache": { 2489 | "version": "0.2.2", 2490 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", 2491 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" 2492 | }, 2493 | "map-visit": { 2494 | "version": "1.0.0", 2495 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", 2496 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", 2497 | "requires": { 2498 | "object-visit": "^1.0.0" 2499 | } 2500 | }, 2501 | "media-typer": { 2502 | "version": "0.3.0", 2503 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 2504 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" 2505 | }, 2506 | "merge-descriptors": { 2507 | "version": "1.0.1", 2508 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 2509 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" 2510 | }, 2511 | "methods": { 2512 | "version": "1.1.2", 2513 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 2514 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" 2515 | }, 2516 | "mime": { 2517 | "version": "1.6.0", 2518 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 2519 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" 2520 | }, 2521 | "mime-db": { 2522 | "version": "1.40.0", 2523 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", 2524 | "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" 2525 | }, 2526 | "mime-types": { 2527 | "version": "2.1.24", 2528 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", 2529 | "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", 2530 | "requires": { 2531 | "mime-db": "1.40.0" 2532 | } 2533 | }, 2534 | "mimic-fn": { 2535 | "version": "1.1.0", 2536 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", 2537 | "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", 2538 | "dev": true 2539 | }, 2540 | "minimatch": { 2541 | "version": "3.0.4", 2542 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 2543 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 2544 | "requires": { 2545 | "brace-expansion": "^1.1.7" 2546 | } 2547 | }, 2548 | "minimist": { 2549 | "version": "0.0.8", 2550 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 2551 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" 2552 | }, 2553 | "mixin-deep": { 2554 | "version": "1.3.1", 2555 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", 2556 | "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", 2557 | "requires": { 2558 | "for-in": "^1.0.2", 2559 | "is-extendable": "^1.0.1" 2560 | } 2561 | }, 2562 | "mkdirp": { 2563 | "version": "0.5.1", 2564 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 2565 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 2566 | "requires": { 2567 | "minimist": "0.0.8" 2568 | } 2569 | }, 2570 | "mocha": { 2571 | "version": "4.0.1", 2572 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-4.0.1.tgz", 2573 | "integrity": "sha512-evDmhkoA+cBNiQQQdSKZa2b9+W2mpLoj50367lhy+Klnx9OV8XlCIhigUnn1gaTFLQCa0kdNhEGDr0hCXOQFDw==", 2574 | "dev": true, 2575 | "requires": { 2576 | "browser-stdout": "1.3.0", 2577 | "commander": "2.11.0", 2578 | "debug": "3.1.0", 2579 | "diff": "3.3.1", 2580 | "escape-string-regexp": "1.0.5", 2581 | "glob": "7.1.2", 2582 | "growl": "1.10.3", 2583 | "he": "1.1.1", 2584 | "mkdirp": "0.5.1", 2585 | "supports-color": "4.4.0" 2586 | }, 2587 | "dependencies": { 2588 | "diff": { 2589 | "version": "3.3.1", 2590 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", 2591 | "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", 2592 | "dev": true 2593 | }, 2594 | "supports-color": { 2595 | "version": "4.4.0", 2596 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", 2597 | "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", 2598 | "dev": true, 2599 | "requires": { 2600 | "has-flag": "^2.0.0" 2601 | } 2602 | } 2603 | } 2604 | }, 2605 | "moment": { 2606 | "version": "2.24.0", 2607 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", 2608 | "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" 2609 | }, 2610 | "ms": { 2611 | "version": "2.0.0", 2612 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2613 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 2614 | }, 2615 | "mute-stream": { 2616 | "version": "0.0.7", 2617 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 2618 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", 2619 | "dev": true 2620 | }, 2621 | "nanomatch": { 2622 | "version": "1.2.13", 2623 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", 2624 | "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", 2625 | "requires": { 2626 | "arr-diff": "^4.0.0", 2627 | "array-unique": "^0.3.2", 2628 | "define-property": "^2.0.2", 2629 | "extend-shallow": "^3.0.2", 2630 | "fragment-cache": "^0.2.1", 2631 | "is-windows": "^1.0.2", 2632 | "kind-of": "^6.0.2", 2633 | "object.pick": "^1.3.0", 2634 | "regex-not": "^1.0.0", 2635 | "snapdragon": "^0.8.1", 2636 | "to-regex": "^3.0.1" 2637 | } 2638 | }, 2639 | "native-promise-only": { 2640 | "version": "0.8.1", 2641 | "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", 2642 | "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=" 2643 | }, 2644 | "natural-compare": { 2645 | "version": "1.4.0", 2646 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 2647 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 2648 | "dev": true 2649 | }, 2650 | "negotiator": { 2651 | "version": "0.6.2", 2652 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 2653 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" 2654 | }, 2655 | "nise": { 2656 | "version": "1.4.10", 2657 | "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.10.tgz", 2658 | "integrity": "sha512-sa0RRbj53dovjc7wombHmVli9ZihXbXCQ2uH3TNm03DyvOSIQbxg+pbqDKrk2oxMK1rtLGVlKxcB9rrc6X5YjA==", 2659 | "dev": true, 2660 | "requires": { 2661 | "@sinonjs/formatio": "^3.1.0", 2662 | "@sinonjs/text-encoding": "^0.7.1", 2663 | "just-extend": "^4.0.2", 2664 | "lolex": "^2.3.2", 2665 | "path-to-regexp": "^1.7.0" 2666 | }, 2667 | "dependencies": { 2668 | "just-extend": { 2669 | "version": "4.0.2", 2670 | "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.0.2.tgz", 2671 | "integrity": "sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw==", 2672 | "dev": true 2673 | }, 2674 | "lolex": { 2675 | "version": "2.7.5", 2676 | "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.5.tgz", 2677 | "integrity": "sha512-l9x0+1offnKKIzYVjyXU2SiwhXDLekRzKyhnbyldPHvC7BvLPVpdNUNR2KeMAiCN2D/kLNttZgQD5WjSxuBx3Q==", 2678 | "dev": true 2679 | } 2680 | } 2681 | }, 2682 | "node-dir": { 2683 | "version": "0.1.17", 2684 | "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", 2685 | "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=", 2686 | "requires": { 2687 | "minimatch": "^3.0.2" 2688 | } 2689 | }, 2690 | "node-fetch": { 2691 | "version": "1.7.3", 2692 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", 2693 | "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", 2694 | "requires": { 2695 | "encoding": "^0.1.11", 2696 | "is-stream": "^1.0.1" 2697 | } 2698 | }, 2699 | "normalize-path": { 2700 | "version": "2.1.1", 2701 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", 2702 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", 2703 | "requires": { 2704 | "remove-trailing-separator": "^1.0.1" 2705 | } 2706 | }, 2707 | "npm-conf": { 2708 | "version": "1.1.3", 2709 | "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", 2710 | "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", 2711 | "requires": { 2712 | "config-chain": "^1.1.11", 2713 | "pify": "^3.0.0" 2714 | }, 2715 | "dependencies": { 2716 | "pify": { 2717 | "version": "3.0.0", 2718 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 2719 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" 2720 | } 2721 | } 2722 | }, 2723 | "npm-run-path": { 2724 | "version": "2.0.2", 2725 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", 2726 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", 2727 | "requires": { 2728 | "path-key": "^2.0.0" 2729 | } 2730 | }, 2731 | "npmlog": { 2732 | "version": "2.0.4", 2733 | "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", 2734 | "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", 2735 | "requires": { 2736 | "ansi": "~0.3.1", 2737 | "are-we-there-yet": "~1.1.2", 2738 | "gauge": "~1.2.5" 2739 | } 2740 | }, 2741 | "number-is-nan": { 2742 | "version": "1.0.1", 2743 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 2744 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" 2745 | }, 2746 | "object-assign": { 2747 | "version": "4.1.1", 2748 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2749 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 2750 | }, 2751 | "object-copy": { 2752 | "version": "0.1.0", 2753 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", 2754 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", 2755 | "requires": { 2756 | "copy-descriptor": "^0.1.0", 2757 | "define-property": "^0.2.5", 2758 | "kind-of": "^3.0.3" 2759 | }, 2760 | "dependencies": { 2761 | "define-property": { 2762 | "version": "0.2.5", 2763 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 2764 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 2765 | "requires": { 2766 | "is-descriptor": "^0.1.0" 2767 | } 2768 | }, 2769 | "is-accessor-descriptor": { 2770 | "version": "0.1.6", 2771 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 2772 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 2773 | "requires": { 2774 | "kind-of": "^3.0.2" 2775 | } 2776 | }, 2777 | "is-buffer": { 2778 | "version": "1.1.6", 2779 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 2780 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 2781 | }, 2782 | "is-data-descriptor": { 2783 | "version": "0.1.4", 2784 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 2785 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 2786 | "requires": { 2787 | "kind-of": "^3.0.2" 2788 | } 2789 | }, 2790 | "is-descriptor": { 2791 | "version": "0.1.6", 2792 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 2793 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 2794 | "requires": { 2795 | "is-accessor-descriptor": "^0.1.6", 2796 | "is-data-descriptor": "^0.1.4", 2797 | "kind-of": "^5.0.0" 2798 | }, 2799 | "dependencies": { 2800 | "kind-of": { 2801 | "version": "5.1.0", 2802 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 2803 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" 2804 | } 2805 | } 2806 | }, 2807 | "kind-of": { 2808 | "version": "3.2.2", 2809 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2810 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2811 | "requires": { 2812 | "is-buffer": "^1.1.5" 2813 | } 2814 | } 2815 | } 2816 | }, 2817 | "object-hash": { 2818 | "version": "1.3.1", 2819 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", 2820 | "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==" 2821 | }, 2822 | "object-visit": { 2823 | "version": "1.0.1", 2824 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", 2825 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", 2826 | "requires": { 2827 | "isobject": "^3.0.0" 2828 | } 2829 | }, 2830 | "object.pick": { 2831 | "version": "1.3.0", 2832 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", 2833 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", 2834 | "requires": { 2835 | "isobject": "^3.0.1" 2836 | } 2837 | }, 2838 | "on-finished": { 2839 | "version": "2.3.0", 2840 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 2841 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 2842 | "requires": { 2843 | "ee-first": "1.1.1" 2844 | } 2845 | }, 2846 | "once": { 2847 | "version": "1.4.0", 2848 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2849 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2850 | "requires": { 2851 | "wrappy": "1" 2852 | } 2853 | }, 2854 | "onetime": { 2855 | "version": "2.0.1", 2856 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 2857 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 2858 | "dev": true, 2859 | "requires": { 2860 | "mimic-fn": "^1.0.0" 2861 | } 2862 | }, 2863 | "opn": { 2864 | "version": "5.5.0", 2865 | "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", 2866 | "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", 2867 | "requires": { 2868 | "is-wsl": "^1.1.0" 2869 | } 2870 | }, 2871 | "optionator": { 2872 | "version": "0.8.2", 2873 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 2874 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 2875 | "dev": true, 2876 | "requires": { 2877 | "deep-is": "~0.1.3", 2878 | "fast-levenshtein": "~2.0.4", 2879 | "levn": "~0.3.0", 2880 | "prelude-ls": "~1.1.2", 2881 | "type-check": "~0.3.2", 2882 | "wordwrap": "~1.0.0" 2883 | } 2884 | }, 2885 | "os-shim": { 2886 | "version": "0.1.3", 2887 | "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", 2888 | "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=" 2889 | }, 2890 | "os-tmpdir": { 2891 | "version": "1.0.2", 2892 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 2893 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" 2894 | }, 2895 | "p-finally": { 2896 | "version": "1.0.0", 2897 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 2898 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" 2899 | }, 2900 | "package-json": { 2901 | "version": "4.0.1", 2902 | "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", 2903 | "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", 2904 | "requires": { 2905 | "got": "^6.7.1", 2906 | "registry-auth-token": "^3.0.1", 2907 | "registry-url": "^3.0.3", 2908 | "semver": "^5.1.0" 2909 | } 2910 | }, 2911 | "pako": { 2912 | "version": "1.0.10", 2913 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", 2914 | "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==" 2915 | }, 2916 | "parseurl": { 2917 | "version": "1.3.3", 2918 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 2919 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" 2920 | }, 2921 | "pascalcase": { 2922 | "version": "0.1.1", 2923 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", 2924 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" 2925 | }, 2926 | "path-is-absolute": { 2927 | "version": "1.0.1", 2928 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2929 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" 2930 | }, 2931 | "path-is-inside": { 2932 | "version": "1.0.2", 2933 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 2934 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" 2935 | }, 2936 | "path-key": { 2937 | "version": "2.0.1", 2938 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 2939 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" 2940 | }, 2941 | "path-loader": { 2942 | "version": "1.0.10", 2943 | "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.10.tgz", 2944 | "integrity": "sha512-CMP0v6S6z8PHeJ6NFVyVJm6WyJjIwFvyz2b0n2/4bKdS/0uZa/9sKUlYZzubrn3zuDRU0zIuEDX9DZYQ2ZI8TA==", 2945 | "requires": { 2946 | "native-promise-only": "^0.8.1", 2947 | "superagent": "^3.8.3" 2948 | } 2949 | }, 2950 | "path-to-regexp": { 2951 | "version": "1.7.0", 2952 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", 2953 | "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", 2954 | "dev": true, 2955 | "requires": { 2956 | "isarray": "0.0.1" 2957 | }, 2958 | "dependencies": { 2959 | "isarray": { 2960 | "version": "0.0.1", 2961 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 2962 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 2963 | "dev": true 2964 | } 2965 | } 2966 | }, 2967 | "pathval": { 2968 | "version": "1.1.0", 2969 | "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", 2970 | "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", 2971 | "dev": true 2972 | }, 2973 | "pend": { 2974 | "version": "1.2.0", 2975 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 2976 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" 2977 | }, 2978 | "pify": { 2979 | "version": "2.3.0", 2980 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 2981 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" 2982 | }, 2983 | "pinkie": { 2984 | "version": "2.0.4", 2985 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 2986 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" 2987 | }, 2988 | "pinkie-promise": { 2989 | "version": "2.0.1", 2990 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 2991 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 2992 | "requires": { 2993 | "pinkie": "^2.0.0" 2994 | } 2995 | }, 2996 | "pluralize": { 2997 | "version": "7.0.0", 2998 | "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", 2999 | "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", 3000 | "dev": true 3001 | }, 3002 | "prelude-ls": { 3003 | "version": "1.1.2", 3004 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 3005 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 3006 | "dev": true 3007 | }, 3008 | "prepend-http": { 3009 | "version": "1.0.4", 3010 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", 3011 | "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" 3012 | }, 3013 | "process-nextick-args": { 3014 | "version": "1.0.7", 3015 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", 3016 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" 3017 | }, 3018 | "progress": { 3019 | "version": "2.0.0", 3020 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", 3021 | "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", 3022 | "dev": true 3023 | }, 3024 | "promise-queue": { 3025 | "version": "2.2.5", 3026 | "resolved": "https://registry.npmjs.org/promise-queue/-/promise-queue-2.2.5.tgz", 3027 | "integrity": "sha1-L29ffA9tCBCelnZZx5uIqe1ek7Q=" 3028 | }, 3029 | "proto-list": { 3030 | "version": "1.2.4", 3031 | "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", 3032 | "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" 3033 | }, 3034 | "proxy-addr": { 3035 | "version": "2.0.5", 3036 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", 3037 | "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", 3038 | "requires": { 3039 | "forwarded": "~0.1.2", 3040 | "ipaddr.js": "1.9.0" 3041 | } 3042 | }, 3043 | "pseudomap": { 3044 | "version": "1.0.2", 3045 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 3046 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" 3047 | }, 3048 | "punycode": { 3049 | "version": "1.3.2", 3050 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", 3051 | "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" 3052 | }, 3053 | "qs": { 3054 | "version": "6.7.0", 3055 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", 3056 | "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" 3057 | }, 3058 | "querystring": { 3059 | "version": "0.2.0", 3060 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", 3061 | "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" 3062 | }, 3063 | "ramda": { 3064 | "version": "0.25.0", 3065 | "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz", 3066 | "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" 3067 | }, 3068 | "range-parser": { 3069 | "version": "1.2.1", 3070 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 3071 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" 3072 | }, 3073 | "raven": { 3074 | "version": "1.2.1", 3075 | "resolved": "https://registry.npmjs.org/raven/-/raven-1.2.1.tgz", 3076 | "integrity": "sha1-lJwTTbAooZC3u/j3kKrlQbfAIL0=", 3077 | "requires": { 3078 | "cookie": "0.3.1", 3079 | "json-stringify-safe": "5.0.1", 3080 | "lsmod": "1.0.0", 3081 | "stack-trace": "0.0.9", 3082 | "uuid": "3.0.0" 3083 | }, 3084 | "dependencies": { 3085 | "cookie": { 3086 | "version": "0.3.1", 3087 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", 3088 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" 3089 | }, 3090 | "uuid": { 3091 | "version": "3.0.0", 3092 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.0.tgz", 3093 | "integrity": "sha1-Zyj8BFnEUNeWqZwxg3VpvfZy1yg=" 3094 | } 3095 | } 3096 | }, 3097 | "raw-body": { 3098 | "version": "2.4.0", 3099 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", 3100 | "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", 3101 | "requires": { 3102 | "bytes": "3.1.0", 3103 | "http-errors": "1.7.2", 3104 | "iconv-lite": "0.4.24", 3105 | "unpipe": "1.0.0" 3106 | }, 3107 | "dependencies": { 3108 | "iconv-lite": { 3109 | "version": "0.4.24", 3110 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 3111 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 3112 | "requires": { 3113 | "safer-buffer": ">= 2.1.2 < 3" 3114 | } 3115 | } 3116 | } 3117 | }, 3118 | "rc": { 3119 | "version": "1.2.8", 3120 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 3121 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 3122 | "requires": { 3123 | "deep-extend": "^0.6.0", 3124 | "ini": "~1.3.0", 3125 | "minimist": "^1.2.0", 3126 | "strip-json-comments": "~2.0.1" 3127 | }, 3128 | "dependencies": { 3129 | "minimist": { 3130 | "version": "1.2.0", 3131 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 3132 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" 3133 | } 3134 | } 3135 | }, 3136 | "readable-stream": { 3137 | "version": "2.3.3", 3138 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 3139 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 3140 | "requires": { 3141 | "core-util-is": "~1.0.0", 3142 | "inherits": "~2.0.3", 3143 | "isarray": "~1.0.0", 3144 | "process-nextick-args": "~1.0.6", 3145 | "safe-buffer": "~5.1.1", 3146 | "string_decoder": "~1.0.3", 3147 | "util-deprecate": "~1.0.1" 3148 | } 3149 | }, 3150 | "regenerator-runtime": { 3151 | "version": "0.13.2", 3152 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", 3153 | "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==" 3154 | }, 3155 | "regex-not": { 3156 | "version": "1.0.2", 3157 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", 3158 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", 3159 | "requires": { 3160 | "extend-shallow": "^3.0.2", 3161 | "safe-regex": "^1.1.0" 3162 | } 3163 | }, 3164 | "registry-auth-token": { 3165 | "version": "3.4.0", 3166 | "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", 3167 | "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", 3168 | "requires": { 3169 | "rc": "^1.1.6", 3170 | "safe-buffer": "^5.0.1" 3171 | } 3172 | }, 3173 | "registry-url": { 3174 | "version": "3.1.0", 3175 | "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", 3176 | "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", 3177 | "requires": { 3178 | "rc": "^1.0.1" 3179 | } 3180 | }, 3181 | "remove-trailing-separator": { 3182 | "version": "1.1.0", 3183 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", 3184 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" 3185 | }, 3186 | "replaceall": { 3187 | "version": "0.1.6", 3188 | "resolved": "https://registry.npmjs.org/replaceall/-/replaceall-0.1.6.tgz", 3189 | "integrity": "sha1-gdgax663LX9cSUKt8ml6MiBojY4=" 3190 | }, 3191 | "require-uncached": { 3192 | "version": "1.0.3", 3193 | "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", 3194 | "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", 3195 | "dev": true, 3196 | "requires": { 3197 | "caller-path": "^0.1.0", 3198 | "resolve-from": "^1.0.0" 3199 | } 3200 | }, 3201 | "resolve-from": { 3202 | "version": "1.0.1", 3203 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", 3204 | "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", 3205 | "dev": true 3206 | }, 3207 | "resolve-url": { 3208 | "version": "0.2.1", 3209 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", 3210 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" 3211 | }, 3212 | "restore-cursor": { 3213 | "version": "2.0.0", 3214 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 3215 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 3216 | "dev": true, 3217 | "requires": { 3218 | "onetime": "^2.0.0", 3219 | "signal-exit": "^3.0.2" 3220 | } 3221 | }, 3222 | "ret": { 3223 | "version": "0.1.15", 3224 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", 3225 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" 3226 | }, 3227 | "rimraf": { 3228 | "version": "2.6.2", 3229 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", 3230 | "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", 3231 | "requires": { 3232 | "glob": "^7.0.5" 3233 | } 3234 | }, 3235 | "run-async": { 3236 | "version": "2.3.0", 3237 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 3238 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 3239 | "requires": { 3240 | "is-promise": "^2.1.0" 3241 | } 3242 | }, 3243 | "rx": { 3244 | "version": "4.1.0", 3245 | "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", 3246 | "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=" 3247 | }, 3248 | "rx-lite": { 3249 | "version": "4.0.8", 3250 | "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", 3251 | "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", 3252 | "dev": true 3253 | }, 3254 | "rx-lite-aggregates": { 3255 | "version": "4.0.8", 3256 | "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", 3257 | "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", 3258 | "dev": true, 3259 | "requires": { 3260 | "rx-lite": "*" 3261 | } 3262 | }, 3263 | "safe-buffer": { 3264 | "version": "5.1.1", 3265 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", 3266 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" 3267 | }, 3268 | "safe-regex": { 3269 | "version": "1.1.0", 3270 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", 3271 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", 3272 | "requires": { 3273 | "ret": "~0.1.10" 3274 | } 3275 | }, 3276 | "safer-buffer": { 3277 | "version": "2.1.2", 3278 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 3279 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 3280 | }, 3281 | "samsam": { 3282 | "version": "1.3.0", 3283 | "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz", 3284 | "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==", 3285 | "dev": true 3286 | }, 3287 | "sax": { 3288 | "version": "1.2.1", 3289 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", 3290 | "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" 3291 | }, 3292 | "seek-bzip": { 3293 | "version": "1.0.5", 3294 | "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", 3295 | "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", 3296 | "requires": { 3297 | "commander": "~2.8.1" 3298 | }, 3299 | "dependencies": { 3300 | "commander": { 3301 | "version": "2.8.1", 3302 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", 3303 | "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", 3304 | "requires": { 3305 | "graceful-readlink": ">= 1.0.0" 3306 | } 3307 | } 3308 | } 3309 | }, 3310 | "semver": { 3311 | "version": "5.4.1", 3312 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", 3313 | "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" 3314 | }, 3315 | "semver-diff": { 3316 | "version": "2.1.0", 3317 | "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", 3318 | "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", 3319 | "requires": { 3320 | "semver": "^5.0.3" 3321 | } 3322 | }, 3323 | "semver-regex": { 3324 | "version": "1.0.0", 3325 | "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", 3326 | "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=" 3327 | }, 3328 | "send": { 3329 | "version": "0.17.1", 3330 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", 3331 | "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", 3332 | "requires": { 3333 | "debug": "2.6.9", 3334 | "depd": "~1.1.2", 3335 | "destroy": "~1.0.4", 3336 | "encodeurl": "~1.0.2", 3337 | "escape-html": "~1.0.3", 3338 | "etag": "~1.8.1", 3339 | "fresh": "0.5.2", 3340 | "http-errors": "~1.7.2", 3341 | "mime": "1.6.0", 3342 | "ms": "2.1.1", 3343 | "on-finished": "~2.3.0", 3344 | "range-parser": "~1.2.1", 3345 | "statuses": "~1.5.0" 3346 | }, 3347 | "dependencies": { 3348 | "debug": { 3349 | "version": "2.6.9", 3350 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3351 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3352 | "requires": { 3353 | "ms": "2.0.0" 3354 | }, 3355 | "dependencies": { 3356 | "ms": { 3357 | "version": "2.0.0", 3358 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 3359 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 3360 | } 3361 | } 3362 | }, 3363 | "ms": { 3364 | "version": "2.1.1", 3365 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 3366 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" 3367 | } 3368 | } 3369 | }, 3370 | "serve-static": { 3371 | "version": "1.14.1", 3372 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", 3373 | "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", 3374 | "requires": { 3375 | "encodeurl": "~1.0.2", 3376 | "escape-html": "~1.0.3", 3377 | "parseurl": "~1.3.3", 3378 | "send": "0.17.1" 3379 | } 3380 | }, 3381 | "serverless": { 3382 | "version": "1.44.1", 3383 | "resolved": "https://registry.npmjs.org/serverless/-/serverless-1.44.1.tgz", 3384 | "integrity": "sha512-xbAtKobCPb67ovst5FsNt0eBlymESiISjJ/KOS4KrJCfwOJNJfDHIG07VwiKC1aJ5aQZX2V1Kf++DDrzbBxBng==", 3385 | "requires": { 3386 | "@serverless/enterprise-plugin": "^1.0.3", 3387 | "archiver": "^1.1.0", 3388 | "async": "^1.5.2", 3389 | "aws-sdk": "^2.430.0", 3390 | "bluebird": "^3.5.0", 3391 | "cachedir": "^2.2.0", 3392 | "chalk": "^2.0.0", 3393 | "ci-info": "^1.1.1", 3394 | "download": "^5.0.2", 3395 | "fast-levenshtein": "^2.0.6", 3396 | "filesize": "^3.3.0", 3397 | "fs-extra": "^0.26.7", 3398 | "get-stdin": "^5.0.1", 3399 | "globby": "^6.1.0", 3400 | "graceful-fs": "^4.1.11", 3401 | "https-proxy-agent": "^2.2.1", 3402 | "is-docker": "^1.1.0", 3403 | "js-yaml": "^3.13.0", 3404 | "json-cycle": "^1.3.0", 3405 | "json-refs": "^2.1.5", 3406 | "jszip": "^3.2.1", 3407 | "jwt-decode": "^2.2.0", 3408 | "lodash": "^4.13.1", 3409 | "minimist": "^1.2.0", 3410 | "mkdirp": "^0.5.1", 3411 | "moment": "^2.13.0", 3412 | "nanomatch": "^1.2.13", 3413 | "node-fetch": "^1.6.0", 3414 | "object-hash": "^1.2.0", 3415 | "promise-queue": "^2.2.3", 3416 | "raven": "^1.2.1", 3417 | "rc": "^1.1.6", 3418 | "replaceall": "^0.1.6", 3419 | "semver": "^5.7.0", 3420 | "semver-regex": "^1.0.0", 3421 | "tabtab": "^2.2.2", 3422 | "untildify": "^3.0.3", 3423 | "update-notifier": "^2.2.0", 3424 | "uuid": "^2.0.2", 3425 | "write-file-atomic": "^2.1.0", 3426 | "yaml-ast-parser": "0.0.34" 3427 | }, 3428 | "dependencies": { 3429 | "globby": { 3430 | "version": "6.1.0", 3431 | "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", 3432 | "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", 3433 | "requires": { 3434 | "array-union": "^1.0.1", 3435 | "glob": "^7.0.3", 3436 | "object-assign": "^4.0.1", 3437 | "pify": "^2.0.0", 3438 | "pinkie-promise": "^2.0.0" 3439 | } 3440 | }, 3441 | "js-yaml": { 3442 | "version": "3.13.1", 3443 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", 3444 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", 3445 | "requires": { 3446 | "argparse": "^1.0.7", 3447 | "esprima": "^4.0.0" 3448 | } 3449 | }, 3450 | "minimist": { 3451 | "version": "1.2.0", 3452 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 3453 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" 3454 | }, 3455 | "semver": { 3456 | "version": "5.7.0", 3457 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", 3458 | "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==" 3459 | } 3460 | } 3461 | }, 3462 | "set-immediate-shim": { 3463 | "version": "1.0.1", 3464 | "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", 3465 | "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" 3466 | }, 3467 | "set-value": { 3468 | "version": "2.0.0", 3469 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", 3470 | "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", 3471 | "requires": { 3472 | "extend-shallow": "^2.0.1", 3473 | "is-extendable": "^0.1.1", 3474 | "is-plain-object": "^2.0.3", 3475 | "split-string": "^3.0.1" 3476 | }, 3477 | "dependencies": { 3478 | "extend-shallow": { 3479 | "version": "2.0.1", 3480 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 3481 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 3482 | "requires": { 3483 | "is-extendable": "^0.1.0" 3484 | } 3485 | }, 3486 | "is-extendable": { 3487 | "version": "0.1.1", 3488 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 3489 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" 3490 | } 3491 | } 3492 | }, 3493 | "setprototypeof": { 3494 | "version": "1.1.1", 3495 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", 3496 | "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" 3497 | }, 3498 | "shebang-command": { 3499 | "version": "1.2.0", 3500 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 3501 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 3502 | "requires": { 3503 | "shebang-regex": "^1.0.0" 3504 | } 3505 | }, 3506 | "shebang-regex": { 3507 | "version": "1.0.0", 3508 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 3509 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" 3510 | }, 3511 | "signal-exit": { 3512 | "version": "3.0.2", 3513 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 3514 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" 3515 | }, 3516 | "sinon": { 3517 | "version": "4.1.3", 3518 | "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.1.3.tgz", 3519 | "integrity": "sha512-c7u0ZuvBRX1eXuB4jN3BRCAOGiUTlM8SE3TxbJHrNiHUKL7wonujMOB6Fi1gQc00U91IscFORQHDga/eccqpbw==", 3520 | "dev": true, 3521 | "requires": { 3522 | "diff": "^3.1.0", 3523 | "formatio": "1.2.0", 3524 | "lodash.get": "^4.4.2", 3525 | "lolex": "^2.2.0", 3526 | "nise": "^1.2.0", 3527 | "supports-color": "^4.4.0", 3528 | "type-detect": "^4.0.5" 3529 | }, 3530 | "dependencies": { 3531 | "supports-color": { 3532 | "version": "4.5.0", 3533 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", 3534 | "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", 3535 | "dev": true, 3536 | "requires": { 3537 | "has-flag": "^2.0.0" 3538 | } 3539 | } 3540 | } 3541 | }, 3542 | "slash": { 3543 | "version": "1.0.0", 3544 | "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", 3545 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" 3546 | }, 3547 | "slice-ansi": { 3548 | "version": "1.0.0", 3549 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", 3550 | "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", 3551 | "dev": true, 3552 | "requires": { 3553 | "is-fullwidth-code-point": "^2.0.0" 3554 | } 3555 | }, 3556 | "snapdragon": { 3557 | "version": "0.8.2", 3558 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", 3559 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", 3560 | "requires": { 3561 | "base": "^0.11.1", 3562 | "debug": "^2.2.0", 3563 | "define-property": "^0.2.5", 3564 | "extend-shallow": "^2.0.1", 3565 | "map-cache": "^0.2.2", 3566 | "source-map": "^0.5.6", 3567 | "source-map-resolve": "^0.5.0", 3568 | "use": "^3.1.0" 3569 | }, 3570 | "dependencies": { 3571 | "debug": { 3572 | "version": "2.6.9", 3573 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3574 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3575 | "requires": { 3576 | "ms": "2.0.0" 3577 | } 3578 | }, 3579 | "define-property": { 3580 | "version": "0.2.5", 3581 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3582 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3583 | "requires": { 3584 | "is-descriptor": "^0.1.0" 3585 | } 3586 | }, 3587 | "extend-shallow": { 3588 | "version": "2.0.1", 3589 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 3590 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 3591 | "requires": { 3592 | "is-extendable": "^0.1.0" 3593 | } 3594 | }, 3595 | "is-accessor-descriptor": { 3596 | "version": "0.1.6", 3597 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 3598 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 3599 | "requires": { 3600 | "kind-of": "^3.0.2" 3601 | }, 3602 | "dependencies": { 3603 | "kind-of": { 3604 | "version": "3.2.2", 3605 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3606 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3607 | "requires": { 3608 | "is-buffer": "^1.1.5" 3609 | } 3610 | } 3611 | } 3612 | }, 3613 | "is-buffer": { 3614 | "version": "1.1.6", 3615 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 3616 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 3617 | }, 3618 | "is-data-descriptor": { 3619 | "version": "0.1.4", 3620 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 3621 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 3622 | "requires": { 3623 | "kind-of": "^3.0.2" 3624 | }, 3625 | "dependencies": { 3626 | "kind-of": { 3627 | "version": "3.2.2", 3628 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3629 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3630 | "requires": { 3631 | "is-buffer": "^1.1.5" 3632 | } 3633 | } 3634 | } 3635 | }, 3636 | "is-descriptor": { 3637 | "version": "0.1.6", 3638 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 3639 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 3640 | "requires": { 3641 | "is-accessor-descriptor": "^0.1.6", 3642 | "is-data-descriptor": "^0.1.4", 3643 | "kind-of": "^5.0.0" 3644 | } 3645 | }, 3646 | "is-extendable": { 3647 | "version": "0.1.1", 3648 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 3649 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" 3650 | }, 3651 | "kind-of": { 3652 | "version": "5.1.0", 3653 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 3654 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" 3655 | }, 3656 | "source-map": { 3657 | "version": "0.5.7", 3658 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3659 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" 3660 | } 3661 | } 3662 | }, 3663 | "source-map": { 3664 | "version": "0.6.1", 3665 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3666 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 3667 | }, 3668 | "source-map-resolve": { 3669 | "version": "0.5.2", 3670 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", 3671 | "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", 3672 | "requires": { 3673 | "atob": "^2.1.1", 3674 | "decode-uri-component": "^0.2.0", 3675 | "resolve-url": "^0.2.1", 3676 | "source-map-url": "^0.4.0", 3677 | "urix": "^0.1.0" 3678 | } 3679 | }, 3680 | "source-map-support": { 3681 | "version": "0.5.12", 3682 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", 3683 | "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", 3684 | "requires": { 3685 | "buffer-from": "^1.0.0", 3686 | "source-map": "^0.6.0" 3687 | } 3688 | }, 3689 | "source-map-url": { 3690 | "version": "0.4.0", 3691 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", 3692 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" 3693 | }, 3694 | "spawn-sync": { 3695 | "version": "1.0.15", 3696 | "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", 3697 | "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", 3698 | "requires": { 3699 | "concat-stream": "^1.4.7", 3700 | "os-shim": "^0.1.2" 3701 | } 3702 | }, 3703 | "split-string": { 3704 | "version": "3.1.0", 3705 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", 3706 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", 3707 | "requires": { 3708 | "extend-shallow": "^3.0.0" 3709 | } 3710 | }, 3711 | "sprintf-js": { 3712 | "version": "1.0.3", 3713 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 3714 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" 3715 | }, 3716 | "stack-trace": { 3717 | "version": "0.0.9", 3718 | "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", 3719 | "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=" 3720 | }, 3721 | "static-extend": { 3722 | "version": "0.1.2", 3723 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", 3724 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", 3725 | "requires": { 3726 | "define-property": "^0.2.5", 3727 | "object-copy": "^0.1.0" 3728 | }, 3729 | "dependencies": { 3730 | "define-property": { 3731 | "version": "0.2.5", 3732 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3733 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3734 | "requires": { 3735 | "is-descriptor": "^0.1.0" 3736 | } 3737 | }, 3738 | "is-accessor-descriptor": { 3739 | "version": "0.1.6", 3740 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 3741 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 3742 | "requires": { 3743 | "kind-of": "^3.0.2" 3744 | }, 3745 | "dependencies": { 3746 | "kind-of": { 3747 | "version": "3.2.2", 3748 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3749 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3750 | "requires": { 3751 | "is-buffer": "^1.1.5" 3752 | } 3753 | } 3754 | } 3755 | }, 3756 | "is-buffer": { 3757 | "version": "1.1.6", 3758 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 3759 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 3760 | }, 3761 | "is-data-descriptor": { 3762 | "version": "0.1.4", 3763 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 3764 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 3765 | "requires": { 3766 | "kind-of": "^3.0.2" 3767 | }, 3768 | "dependencies": { 3769 | "kind-of": { 3770 | "version": "3.2.2", 3771 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3772 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3773 | "requires": { 3774 | "is-buffer": "^1.1.5" 3775 | } 3776 | } 3777 | } 3778 | }, 3779 | "is-descriptor": { 3780 | "version": "0.1.6", 3781 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 3782 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 3783 | "requires": { 3784 | "is-accessor-descriptor": "^0.1.6", 3785 | "is-data-descriptor": "^0.1.4", 3786 | "kind-of": "^5.0.0" 3787 | } 3788 | }, 3789 | "kind-of": { 3790 | "version": "5.1.0", 3791 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 3792 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" 3793 | } 3794 | } 3795 | }, 3796 | "statuses": { 3797 | "version": "1.5.0", 3798 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 3799 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 3800 | }, 3801 | "string-width": { 3802 | "version": "2.1.1", 3803 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 3804 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 3805 | "requires": { 3806 | "is-fullwidth-code-point": "^2.0.0", 3807 | "strip-ansi": "^4.0.0" 3808 | } 3809 | }, 3810 | "string_decoder": { 3811 | "version": "1.0.3", 3812 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 3813 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 3814 | "requires": { 3815 | "safe-buffer": "~5.1.0" 3816 | } 3817 | }, 3818 | "strip-ansi": { 3819 | "version": "4.0.0", 3820 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 3821 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 3822 | "requires": { 3823 | "ansi-regex": "^3.0.0" 3824 | }, 3825 | "dependencies": { 3826 | "ansi-regex": { 3827 | "version": "3.0.0", 3828 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 3829 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" 3830 | } 3831 | } 3832 | }, 3833 | "strip-dirs": { 3834 | "version": "2.1.0", 3835 | "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", 3836 | "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", 3837 | "requires": { 3838 | "is-natural-number": "^4.0.1" 3839 | } 3840 | }, 3841 | "strip-eof": { 3842 | "version": "1.0.0", 3843 | "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", 3844 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" 3845 | }, 3846 | "strip-json-comments": { 3847 | "version": "2.0.1", 3848 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 3849 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" 3850 | }, 3851 | "strip-outer": { 3852 | "version": "1.0.1", 3853 | "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", 3854 | "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", 3855 | "requires": { 3856 | "escape-string-regexp": "^1.0.2" 3857 | } 3858 | }, 3859 | "superagent": { 3860 | "version": "3.8.3", 3861 | "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", 3862 | "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", 3863 | "requires": { 3864 | "component-emitter": "^1.2.0", 3865 | "cookiejar": "^2.1.0", 3866 | "debug": "^3.1.0", 3867 | "extend": "^3.0.0", 3868 | "form-data": "^2.3.1", 3869 | "formidable": "^1.2.0", 3870 | "methods": "^1.1.1", 3871 | "mime": "^1.4.1", 3872 | "qs": "^6.5.1", 3873 | "readable-stream": "^2.3.5" 3874 | }, 3875 | "dependencies": { 3876 | "process-nextick-args": { 3877 | "version": "2.0.0", 3878 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 3879 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" 3880 | }, 3881 | "readable-stream": { 3882 | "version": "2.3.6", 3883 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 3884 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 3885 | "requires": { 3886 | "core-util-is": "~1.0.0", 3887 | "inherits": "~2.0.3", 3888 | "isarray": "~1.0.0", 3889 | "process-nextick-args": "~2.0.0", 3890 | "safe-buffer": "~5.1.1", 3891 | "string_decoder": "~1.1.1", 3892 | "util-deprecate": "~1.0.1" 3893 | } 3894 | }, 3895 | "string_decoder": { 3896 | "version": "1.1.1", 3897 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 3898 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 3899 | "requires": { 3900 | "safe-buffer": "~5.1.0" 3901 | } 3902 | } 3903 | } 3904 | }, 3905 | "supports-color": { 3906 | "version": "2.0.0", 3907 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 3908 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" 3909 | }, 3910 | "table": { 3911 | "version": "4.0.2", 3912 | "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", 3913 | "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", 3914 | "dev": true, 3915 | "requires": { 3916 | "ajv": "^5.2.3", 3917 | "ajv-keywords": "^2.1.0", 3918 | "chalk": "^2.1.0", 3919 | "lodash": "^4.17.4", 3920 | "slice-ansi": "1.0.0", 3921 | "string-width": "^2.1.1" 3922 | } 3923 | }, 3924 | "tabtab": { 3925 | "version": "2.2.2", 3926 | "resolved": "https://registry.npmjs.org/tabtab/-/tabtab-2.2.2.tgz", 3927 | "integrity": "sha1-egR/FDsBC0y9MfhX6ClhUSy/ThQ=", 3928 | "requires": { 3929 | "debug": "^2.2.0", 3930 | "inquirer": "^1.0.2", 3931 | "lodash.difference": "^4.5.0", 3932 | "lodash.uniq": "^4.5.0", 3933 | "minimist": "^1.2.0", 3934 | "mkdirp": "^0.5.1", 3935 | "npmlog": "^2.0.3", 3936 | "object-assign": "^4.1.0" 3937 | }, 3938 | "dependencies": { 3939 | "ansi-escapes": { 3940 | "version": "1.4.0", 3941 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", 3942 | "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" 3943 | }, 3944 | "chalk": { 3945 | "version": "1.1.3", 3946 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 3947 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 3948 | "requires": { 3949 | "ansi-styles": "^2.2.1", 3950 | "escape-string-regexp": "^1.0.2", 3951 | "has-ansi": "^2.0.0", 3952 | "strip-ansi": "^3.0.0", 3953 | "supports-color": "^2.0.0" 3954 | } 3955 | }, 3956 | "cli-cursor": { 3957 | "version": "1.0.2", 3958 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", 3959 | "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", 3960 | "requires": { 3961 | "restore-cursor": "^1.0.1" 3962 | } 3963 | }, 3964 | "debug": { 3965 | "version": "2.6.9", 3966 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3967 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3968 | "requires": { 3969 | "ms": "2.0.0" 3970 | } 3971 | }, 3972 | "external-editor": { 3973 | "version": "1.1.1", 3974 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-1.1.1.tgz", 3975 | "integrity": "sha1-Etew24UPf/fnCBuvQAVwAGDEYAs=", 3976 | "requires": { 3977 | "extend": "^3.0.0", 3978 | "spawn-sync": "^1.0.15", 3979 | "tmp": "^0.0.29" 3980 | } 3981 | }, 3982 | "figures": { 3983 | "version": "1.7.0", 3984 | "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", 3985 | "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", 3986 | "requires": { 3987 | "escape-string-regexp": "^1.0.5", 3988 | "object-assign": "^4.1.0" 3989 | } 3990 | }, 3991 | "inquirer": { 3992 | "version": "1.2.3", 3993 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-1.2.3.tgz", 3994 | "integrity": "sha1-TexvMvN+97sLLtPx0aXD9UUHSRg=", 3995 | "requires": { 3996 | "ansi-escapes": "^1.1.0", 3997 | "chalk": "^1.0.0", 3998 | "cli-cursor": "^1.0.1", 3999 | "cli-width": "^2.0.0", 4000 | "external-editor": "^1.1.0", 4001 | "figures": "^1.3.5", 4002 | "lodash": "^4.3.0", 4003 | "mute-stream": "0.0.6", 4004 | "pinkie-promise": "^2.0.0", 4005 | "run-async": "^2.2.0", 4006 | "rx": "^4.1.0", 4007 | "string-width": "^1.0.1", 4008 | "strip-ansi": "^3.0.0", 4009 | "through": "^2.3.6" 4010 | } 4011 | }, 4012 | "is-fullwidth-code-point": { 4013 | "version": "1.0.0", 4014 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 4015 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 4016 | "requires": { 4017 | "number-is-nan": "^1.0.0" 4018 | } 4019 | }, 4020 | "minimist": { 4021 | "version": "1.2.0", 4022 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 4023 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" 4024 | }, 4025 | "mute-stream": { 4026 | "version": "0.0.6", 4027 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", 4028 | "integrity": "sha1-SJYrGeFp/R38JAs/HnMXYnu8R9s=" 4029 | }, 4030 | "onetime": { 4031 | "version": "1.1.0", 4032 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", 4033 | "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" 4034 | }, 4035 | "restore-cursor": { 4036 | "version": "1.0.1", 4037 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", 4038 | "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", 4039 | "requires": { 4040 | "exit-hook": "^1.0.0", 4041 | "onetime": "^1.0.0" 4042 | } 4043 | }, 4044 | "string-width": { 4045 | "version": "1.0.2", 4046 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 4047 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 4048 | "requires": { 4049 | "code-point-at": "^1.0.0", 4050 | "is-fullwidth-code-point": "^1.0.0", 4051 | "strip-ansi": "^3.0.0" 4052 | } 4053 | }, 4054 | "strip-ansi": { 4055 | "version": "3.0.1", 4056 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 4057 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 4058 | "requires": { 4059 | "ansi-regex": "^2.0.0" 4060 | } 4061 | }, 4062 | "tmp": { 4063 | "version": "0.0.29", 4064 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", 4065 | "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=", 4066 | "requires": { 4067 | "os-tmpdir": "~1.0.1" 4068 | } 4069 | } 4070 | } 4071 | }, 4072 | "tar-stream": { 4073 | "version": "1.6.2", 4074 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", 4075 | "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", 4076 | "requires": { 4077 | "bl": "^1.0.0", 4078 | "buffer-alloc": "^1.2.0", 4079 | "end-of-stream": "^1.0.0", 4080 | "fs-constants": "^1.0.0", 4081 | "readable-stream": "^2.3.0", 4082 | "to-buffer": "^1.1.1", 4083 | "xtend": "^4.0.0" 4084 | } 4085 | }, 4086 | "term-size": { 4087 | "version": "1.2.0", 4088 | "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", 4089 | "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", 4090 | "requires": { 4091 | "execa": "^0.7.0" 4092 | } 4093 | }, 4094 | "text-table": { 4095 | "version": "0.2.0", 4096 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 4097 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 4098 | "dev": true 4099 | }, 4100 | "through": { 4101 | "version": "2.3.8", 4102 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 4103 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" 4104 | }, 4105 | "timed-out": { 4106 | "version": "4.0.1", 4107 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", 4108 | "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" 4109 | }, 4110 | "tmp": { 4111 | "version": "0.0.33", 4112 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 4113 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 4114 | "dev": true, 4115 | "requires": { 4116 | "os-tmpdir": "~1.0.2" 4117 | } 4118 | }, 4119 | "to-buffer": { 4120 | "version": "1.1.1", 4121 | "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", 4122 | "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" 4123 | }, 4124 | "to-object-path": { 4125 | "version": "0.3.0", 4126 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", 4127 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", 4128 | "requires": { 4129 | "kind-of": "^3.0.2" 4130 | }, 4131 | "dependencies": { 4132 | "is-buffer": { 4133 | "version": "1.1.6", 4134 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 4135 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 4136 | }, 4137 | "kind-of": { 4138 | "version": "3.2.2", 4139 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 4140 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 4141 | "requires": { 4142 | "is-buffer": "^1.1.5" 4143 | } 4144 | } 4145 | } 4146 | }, 4147 | "to-regex": { 4148 | "version": "3.0.2", 4149 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", 4150 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", 4151 | "requires": { 4152 | "define-property": "^2.0.2", 4153 | "extend-shallow": "^3.0.2", 4154 | "regex-not": "^1.0.2", 4155 | "safe-regex": "^1.1.0" 4156 | } 4157 | }, 4158 | "toidentifier": { 4159 | "version": "1.0.0", 4160 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", 4161 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" 4162 | }, 4163 | "trim-repeated": { 4164 | "version": "1.0.0", 4165 | "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", 4166 | "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", 4167 | "requires": { 4168 | "escape-string-regexp": "^1.0.2" 4169 | } 4170 | }, 4171 | "tryit": { 4172 | "version": "1.0.3", 4173 | "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", 4174 | "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", 4175 | "dev": true 4176 | }, 4177 | "tunnel-agent": { 4178 | "version": "0.6.0", 4179 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 4180 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 4181 | "requires": { 4182 | "safe-buffer": "^5.0.1" 4183 | } 4184 | }, 4185 | "type-check": { 4186 | "version": "0.3.2", 4187 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 4188 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 4189 | "dev": true, 4190 | "requires": { 4191 | "prelude-ls": "~1.1.2" 4192 | } 4193 | }, 4194 | "type-detect": { 4195 | "version": "4.0.5", 4196 | "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.5.tgz", 4197 | "integrity": "sha512-N9IvkQslUGYGC24RkJk1ba99foK6TkwC2FHAEBlQFBP0RxQZS8ZpJuAZcwiY/w9ZJHFQb1aOXBI60OdxhTrwEQ==", 4198 | "dev": true 4199 | }, 4200 | "type-is": { 4201 | "version": "1.6.18", 4202 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 4203 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 4204 | "requires": { 4205 | "media-typer": "0.3.0", 4206 | "mime-types": "~2.1.24" 4207 | } 4208 | }, 4209 | "typedarray": { 4210 | "version": "0.0.6", 4211 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 4212 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" 4213 | }, 4214 | "unbzip2-stream": { 4215 | "version": "1.3.3", 4216 | "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz", 4217 | "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==", 4218 | "requires": { 4219 | "buffer": "^5.2.1", 4220 | "through": "^2.3.8" 4221 | } 4222 | }, 4223 | "union-value": { 4224 | "version": "1.0.0", 4225 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", 4226 | "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", 4227 | "requires": { 4228 | "arr-union": "^3.1.0", 4229 | "get-value": "^2.0.6", 4230 | "is-extendable": "^0.1.1", 4231 | "set-value": "^0.4.3" 4232 | }, 4233 | "dependencies": { 4234 | "extend-shallow": { 4235 | "version": "2.0.1", 4236 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 4237 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 4238 | "requires": { 4239 | "is-extendable": "^0.1.0" 4240 | } 4241 | }, 4242 | "is-extendable": { 4243 | "version": "0.1.1", 4244 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 4245 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" 4246 | }, 4247 | "set-value": { 4248 | "version": "0.4.3", 4249 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", 4250 | "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", 4251 | "requires": { 4252 | "extend-shallow": "^2.0.1", 4253 | "is-extendable": "^0.1.1", 4254 | "is-plain-object": "^2.0.1", 4255 | "to-object-path": "^0.3.0" 4256 | } 4257 | } 4258 | } 4259 | }, 4260 | "unique-string": { 4261 | "version": "1.0.0", 4262 | "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", 4263 | "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", 4264 | "requires": { 4265 | "crypto-random-string": "^1.0.0" 4266 | } 4267 | }, 4268 | "universalify": { 4269 | "version": "0.1.2", 4270 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 4271 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" 4272 | }, 4273 | "unpipe": { 4274 | "version": "1.0.0", 4275 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 4276 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" 4277 | }, 4278 | "unset-value": { 4279 | "version": "1.0.0", 4280 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", 4281 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", 4282 | "requires": { 4283 | "has-value": "^0.3.1", 4284 | "isobject": "^3.0.0" 4285 | }, 4286 | "dependencies": { 4287 | "has-value": { 4288 | "version": "0.3.1", 4289 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", 4290 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", 4291 | "requires": { 4292 | "get-value": "^2.0.3", 4293 | "has-values": "^0.1.4", 4294 | "isobject": "^2.0.0" 4295 | }, 4296 | "dependencies": { 4297 | "isobject": { 4298 | "version": "2.1.0", 4299 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 4300 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 4301 | "requires": { 4302 | "isarray": "1.0.0" 4303 | } 4304 | } 4305 | } 4306 | }, 4307 | "has-values": { 4308 | "version": "0.1.4", 4309 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", 4310 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" 4311 | } 4312 | } 4313 | }, 4314 | "untildify": { 4315 | "version": "3.0.3", 4316 | "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz", 4317 | "integrity": "sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==" 4318 | }, 4319 | "unzip-response": { 4320 | "version": "2.0.1", 4321 | "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", 4322 | "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" 4323 | }, 4324 | "update-notifier": { 4325 | "version": "2.5.0", 4326 | "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", 4327 | "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", 4328 | "requires": { 4329 | "boxen": "^1.2.1", 4330 | "chalk": "^2.0.1", 4331 | "configstore": "^3.0.0", 4332 | "import-lazy": "^2.1.0", 4333 | "is-ci": "^1.0.10", 4334 | "is-installed-globally": "^0.1.0", 4335 | "is-npm": "^1.0.0", 4336 | "latest-version": "^3.0.0", 4337 | "semver-diff": "^2.0.0", 4338 | "xdg-basedir": "^3.0.0" 4339 | } 4340 | }, 4341 | "uri-js": { 4342 | "version": "3.0.2", 4343 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", 4344 | "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", 4345 | "requires": { 4346 | "punycode": "^2.1.0" 4347 | }, 4348 | "dependencies": { 4349 | "punycode": { 4350 | "version": "2.1.1", 4351 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 4352 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" 4353 | } 4354 | } 4355 | }, 4356 | "urix": { 4357 | "version": "0.1.0", 4358 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", 4359 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" 4360 | }, 4361 | "url": { 4362 | "version": "0.10.3", 4363 | "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", 4364 | "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", 4365 | "requires": { 4366 | "punycode": "1.3.2", 4367 | "querystring": "0.2.0" 4368 | } 4369 | }, 4370 | "url-parse-lax": { 4371 | "version": "1.0.0", 4372 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", 4373 | "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", 4374 | "requires": { 4375 | "prepend-http": "^1.0.1" 4376 | } 4377 | }, 4378 | "url-to-options": { 4379 | "version": "1.0.1", 4380 | "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", 4381 | "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" 4382 | }, 4383 | "use": { 4384 | "version": "3.1.1", 4385 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", 4386 | "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" 4387 | }, 4388 | "util-deprecate": { 4389 | "version": "1.0.2", 4390 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 4391 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 4392 | }, 4393 | "utils-merge": { 4394 | "version": "1.0.1", 4395 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 4396 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" 4397 | }, 4398 | "uuid": { 4399 | "version": "2.0.3", 4400 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", 4401 | "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" 4402 | }, 4403 | "vary": { 4404 | "version": "1.1.2", 4405 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 4406 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" 4407 | }, 4408 | "walkdir": { 4409 | "version": "0.0.11", 4410 | "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", 4411 | "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=" 4412 | }, 4413 | "whatwg-fetch": { 4414 | "version": "3.0.0", 4415 | "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", 4416 | "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" 4417 | }, 4418 | "which": { 4419 | "version": "1.3.0", 4420 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", 4421 | "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", 4422 | "requires": { 4423 | "isexe": "^2.0.0" 4424 | } 4425 | }, 4426 | "widest-line": { 4427 | "version": "2.0.1", 4428 | "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", 4429 | "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", 4430 | "requires": { 4431 | "string-width": "^2.1.1" 4432 | } 4433 | }, 4434 | "wordwrap": { 4435 | "version": "1.0.0", 4436 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 4437 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", 4438 | "dev": true 4439 | }, 4440 | "wrappy": { 4441 | "version": "1.0.2", 4442 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4443 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 4444 | }, 4445 | "write": { 4446 | "version": "0.2.1", 4447 | "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", 4448 | "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", 4449 | "dev": true, 4450 | "requires": { 4451 | "mkdirp": "^0.5.1" 4452 | } 4453 | }, 4454 | "write-file-atomic": { 4455 | "version": "2.4.3", 4456 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", 4457 | "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", 4458 | "requires": { 4459 | "graceful-fs": "^4.1.11", 4460 | "imurmurhash": "^0.1.4", 4461 | "signal-exit": "^3.0.2" 4462 | } 4463 | }, 4464 | "xdg-basedir": { 4465 | "version": "3.0.0", 4466 | "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", 4467 | "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=" 4468 | }, 4469 | "xml2js": { 4470 | "version": "0.4.19", 4471 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", 4472 | "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", 4473 | "requires": { 4474 | "sax": ">=0.6.0", 4475 | "xmlbuilder": "~9.0.1" 4476 | } 4477 | }, 4478 | "xmlbuilder": { 4479 | "version": "9.0.7", 4480 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", 4481 | "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" 4482 | }, 4483 | "xtend": { 4484 | "version": "4.0.1", 4485 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 4486 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" 4487 | }, 4488 | "yallist": { 4489 | "version": "2.1.2", 4490 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 4491 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" 4492 | }, 4493 | "yaml-ast-parser": { 4494 | "version": "0.0.34", 4495 | "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.34.tgz", 4496 | "integrity": "sha1-0A88+ddztyQUCa6SpnQNHbGfSeY=" 4497 | }, 4498 | "yamljs": { 4499 | "version": "0.3.0", 4500 | "resolved": "https://registry.npmjs.org/yamljs/-/yamljs-0.3.0.tgz", 4501 | "integrity": "sha512-C/FsVVhht4iPQYXOInoxUM/1ELSf9EsgKH34FofQOp6hwCPrW4vG4w5++TED3xRUo8gD7l0P1J1dLlDYzODsTQ==", 4502 | "requires": { 4503 | "argparse": "^1.0.7", 4504 | "glob": "^7.0.5" 4505 | } 4506 | }, 4507 | "yauzl": { 4508 | "version": "2.10.0", 4509 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 4510 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", 4511 | "requires": { 4512 | "buffer-crc32": "~0.2.3", 4513 | "fd-slicer": "~1.1.0" 4514 | } 4515 | }, 4516 | "zip-stream": { 4517 | "version": "1.2.0", 4518 | "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", 4519 | "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", 4520 | "requires": { 4521 | "archiver-utils": "^1.3.0", 4522 | "compress-commons": "^1.2.0", 4523 | "lodash": "^4.8.0", 4524 | "readable-stream": "^2.0.0" 4525 | } 4526 | } 4527 | } 4528 | } 4529 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Trek10, Inc", 3 | "bugs": { 4 | "url": "https://github.com/trek10inc/serverless-cloudformation-changesets/issues" 5 | }, 6 | "dependencies": { 7 | "lodash": "^4.17.11", 8 | "serverless": "^1.44.1" 9 | }, 10 | "description": "A serverless plugin for creating CloudFormation ChangeSets", 11 | "devDependencies": { 12 | "chai": "^4.1.2", 13 | "eslint": "^4.13.1", 14 | "mocha": "^4.0.1", 15 | "sinon": "^4.1.3" 16 | }, 17 | "engines": { 18 | "node": ">=6.0" 19 | }, 20 | "homepage": "https://github.com/trek10inc/serverless-cloudformation-changesets", 21 | "keywords": [ 22 | "serverless", 23 | "serverless plugin", 24 | "serverless cloudformation changeset", 25 | "cloudformation changeset", 26 | "aws" 27 | ], 28 | "license": "MIT", 29 | "main": "index.js", 30 | "name": "serverless-cloudformation-changesets", 31 | "repository": { 32 | "type": "git", 33 | "url": "https://github.com/trek10inc/serverless-cloudformation-changesets" 34 | }, 35 | "scripts": { 36 | "test": "./node_modules/.bin/mocha . ./lib" 37 | }, 38 | "version": "0.1.0" 39 | } 40 | --------------------------------------------------------------------------------