diff --git a/package-lock.json b/package-lock.json index 65763b45..806acdfa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "botserver", - "version": "1.2.0", + "version": "1.2.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1524,9 +1524,9 @@ "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" }, "@types/async": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/async/-/async-2.4.0.tgz", - "integrity": "sha512-1/6EglKPJZjkj2KWSFrvbOeqDZTb+KEiU293MUwc/z3/g4a+jOPADHfcOzt/EbY0uEEr+dkUWTYQfVDzzOrMaw==" + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/async/-/async-2.4.1.tgz", + "integrity": "sha512-C09BK/wXzbW+/JK9zckhe+FeSbg7NmvVjUWwApnw7ksRpUq3ecGLiq2Aw1LlY4Z/VmtdhSaIs7jO5/MWRYMcOA==" }, "@types/bluebird": { "version": "3.5.18", @@ -1679,9 +1679,9 @@ "integrity": "sha512-cDB930/7MbzaGF6U3IwSQp6XBru8xWajF5PV2YZZeV8DyiliTuld11afVztGI9+yJZ29il5E+NpGA6ooV/Cjkg==" }, "@types/mime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.0.tgz", - "integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz", + "integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==" }, "@types/minimatch": { "version": "3.0.3", @@ -1689,9 +1689,9 @@ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" }, "@types/mocha": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.5.tgz", - "integrity": "sha1-ikrM/EA8EkoLr+ip/GGgXsEDIHM=" + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.6.tgz", + "integrity": "sha512-1axi39YdtBI7z957vdqXI4Ac25e7YihYQtJa+Clnxg1zTJEaIRbndt71O3sP4GAMgiAm0pY26/b9BrY4MR/PMw==" }, "@types/node": { "version": "10.11.7", @@ -1730,10 +1730,15 @@ "@types/request": "*" } }, + "@types/semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==" + }, "@types/sequelize": { - "version": "4.27.34", - "resolved": "https://registry.npmjs.org/@types/sequelize/-/sequelize-4.27.34.tgz", - "integrity": "sha512-s2NjoIbZewDn64SrZlHZWqJcotK/Ae9m9nh0jcV/5r3ufcHWguLfEr+165Un9eZtRZszY5vDDNzy4jWc5gptDQ==", + "version": "4.27.37", + "resolved": "https://registry.npmjs.org/@types/sequelize/-/sequelize-4.27.37.tgz", + "integrity": "sha512-o1bnbLaw/tPf0QsrLyXB1JwnMvK7gNR29bgCjNlk0fnYyHHk9M7jrnevqjM8tkd5uJVx5bRj09Bxm4ynrYyCkQ==", "dev": true, "requires": { "@types/bluebird": "*", @@ -1761,9 +1766,9 @@ } }, "@types/sprintf-js": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/sprintf-js/-/sprintf-js-1.1.1.tgz", - "integrity": "sha512-h8jF5yPUoHH1QUIDfHgqFs7Y0UykKB5CJ1Z32PHGmHRLmW0pI+kYKAEnXVqeUZ3ygFmDkyvhD4vUZN+RZyTd1w==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-hkgzYF+qnIl8uTO8rmUSVSfQ8BIfMXC4yJAF4n8BE758YsKBZvFC4NumnAegj7KmylP0liEZNpb9RRGFMbFejA==" }, "@types/tough-cookie": { "version": "2.3.3", @@ -1857,9 +1862,9 @@ }, "dependencies": { "acorn": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.6.tgz", - "integrity": "sha512-5M3G/A4uBSMIlfJ+h9W125vJvPFH/zirISsW5qfxF5YzEvXJCtolLoQvM5yZft0DvMcUrPGKPOlgEu55I6iUtA==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.0.tgz", + "integrity": "sha512-MW/FjM+IvU9CgBzjO3UIPCE2pyEwUsoFl+VGdczOPEdxfGFjuKny/gN54mOuX7Qxmb9Rg9MCn2oKiSUeW+pjrw==" } } }, @@ -2000,6 +2005,11 @@ } } }, + "ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==" + }, "ansi-escapes": { "version": "3.1.0", "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", @@ -2063,10 +2073,20 @@ "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } } }, "aproba": { @@ -2219,11 +2239,18 @@ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha1-skWiPKcZMAROxT+kaqAKPofGphA=", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", + "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", "requires": { - "lodash": "^4.17.10" + "lodash": "^4.17.11" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + } } }, "async-each": { @@ -2279,7 +2306,7 @@ }, "axios": { "version": "0.18.0", - "resolved": "http://registry.npmjs.org/axios/-/axios-0.18.0.tgz", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { "follow-redirects": "^1.3.0", @@ -2332,11 +2359,28 @@ } }, "azure-cognitiveservices-luis-runtime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/azure-cognitiveservices-luis-runtime/-/azure-cognitiveservices-luis-runtime-1.1.0.tgz", - "integrity": "sha512-0MKylLmqUUxGTl+iKFopQb4ni7OWRkvDujrWX75s4i8T5Kl+IZXaODGYuWwvGlsbqH/D/+Jf1VD3oCBve+AJBw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/azure-cognitiveservices-luis-runtime/-/azure-cognitiveservices-luis-runtime-1.2.2.tgz", + "integrity": "sha512-qds2UQ85IWMj9w3HXB0BS0MqSyQ50YlVtS6Y1X6aSf2sN1RVvdct6gZnUMREgjDTKgo+/Iwh4MmPVmhvpPUu0A==", "requires": { - "ms-rest": "^2.3.3" + "ms-rest": "^2.5.0" + }, + "dependencies": { + "ms-rest": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ms-rest/-/ms-rest-2.5.0.tgz", + "integrity": "sha512-QUTg9CsmWpofDO0MR37z8B28/T9ObpQ+FM23GGDMKXw8KYDJ3cEBdK6dJTDDrtSoZG3U+S/vdmSEwJ7FNj6Kog==", + "requires": { + "duplexer": "^0.1.1", + "is-buffer": "^1.1.6", + "is-stream": "^1.1.0", + "moment": "^2.21.0", + "request": "^2.88.0", + "through": "^2.3.8", + "tunnel": "0.0.5", + "uuid": "^3.2.1" + } + } } }, "azure-cognitiveservices-textanalytics": { @@ -2377,7 +2421,7 @@ }, "readable-stream": { "version": "2.0.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "requires": { "core-util-is": "~1.0.0", @@ -2390,7 +2434,7 @@ }, "sax": { "version": "0.5.8", - "resolved": "http://registry.npmjs.org/sax/-/sax-0.5.8.tgz", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=" }, "string_decoder": { @@ -2580,9 +2624,9 @@ "dev": true }, "big-integer": { - "version": "1.6.36", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz", - "integrity": "sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg==" + "version": "1.6.42", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.42.tgz", + "integrity": "sha512-3UQFKcRMx+5Z+IK5vYTMYK2jzLRJkt+XqyDdacgWgtMjjuifKpKTFneJLEgeBElOE2/lXZ1LcMcb5s8pwG2U8Q==" }, "big-number": { "version": "1.0.0", @@ -2610,9 +2654,9 @@ } }, "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=" + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz", + "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==" }, "binary-search-bounds": { "version": "2.0.3", @@ -2620,9 +2664,9 @@ "integrity": "sha1-X/hhbW3SylOIvIWy1iZuK52lAtw=" }, "bl": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-2.1.2.tgz", - "integrity": "sha512-DvC0x+PxmSJNx8wXoFV15pC2+GOJ3ohb4F1REq3X32a2Z3nEBpR1Guu740M7ouYAImFj4BXDNilLNZbygtG9lQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.0.tgz", + "integrity": "sha512-wbgvOpqopSr7uq6fJrLH8EsvYMJf9gzfo2jCsL2eTy75qXPukA4pCgHamOQkZtY5vmfVtjB+P3LNlMHW5CEZXA==", "requires": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1" @@ -2659,107 +2703,37 @@ } }, "botbuilder": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/botbuilder/-/botbuilder-4.1.7.tgz", - "integrity": "sha512-AlZhvjeqiCpeWGN1TkqBi09l6f0spYIh0Xzc4rJYF8feCFi4k2FEYC1IpiiOAtYhEBeQ9SOGFcUUwPaLmsI3Xg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/botbuilder/-/botbuilder-4.2.1.tgz", + "integrity": "sha512-58664aLhN1WQwAxMBK7LZQhFh8DHwenvpgz6ADFgeZLZS28NACfX+Uta8k2+WF6RK3g+VKoGOhV/yI71c5ccVg==", "requires": { "@types/filenamify": "^2.0.1", "@types/node": "^9.3.0", "async-file": "^2.0.2", - "botbuilder-core": "^4.1.7", - "botframework-connector": "^4.1.7", + "botbuilder-core": "^4.2.1", + "botframework-connector": "^4.2.1", "filenamify": "^2.0.0", "rimraf": "^2.6.2" }, "dependencies": { - "@types/jsonwebtoken": { - "version": "7.2.8", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-7.2.8.tgz", - "integrity": "sha512-XENN3YzEB8D6TiUww0O8SRznzy1v+77lH7UmuN54xq/IHIsyWjWOzZuFFTtoiRuaE782uAoRwBe/wwow+vQXZw==", - "requires": { - "@types/node": "*" - } - }, "@types/node": { - "version": "9.6.40", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.40.tgz", - "integrity": "sha512-M3HHoXXndsho/sTbQML2BJr7/uwNhMg8P0D4lb+UsM65JQZx268faiz9hKpY4FpocWqpwlLwa8vevw8hLtKjOw==" - }, - "base64url": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", - "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==" - }, - "botbuilder-core": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/botbuilder-core/-/botbuilder-core-4.1.7.tgz", - "integrity": "sha512-kfNOOpHVDLNdpYVMAefWjETXI4VsnDHgucEfKgANcCUrXmsYETlioHOCngUWLrFcaeVMJodeZvafIYl5NTgy0A==", - "requires": { - "assert": "^1.4.1", - "botframework-schema": "^4.1.7" - } - }, - "botframework-connector": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/botframework-connector/-/botframework-connector-4.1.7.tgz", - "integrity": "sha512-aIGY0acc/cMxmg1o+06HqReOjNC8qxbmPJDg+wDgaAwr85bSrDZE1CbyITcj2OqPG/QQ7VM3YzpPAZPlKkDWoQ==", - "requires": { - "@types/jsonwebtoken": "7.2.8", - "@types/node": "^9.3.0", - "@types/request": "^2.47.0", - "base64url": "^3.0.0", - "botframework-schema": "^4.1.7", - "jsonwebtoken": "8.0.1", - "ms-rest-azure-js": "1.0.176", - "ms-rest-js": "1.0.455", - "request": "^2.87.0", - "rsa-pem-from-mod-exp": "^0.8.4" - } - }, - "botframework-schema": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/botframework-schema/-/botframework-schema-4.1.7.tgz", - "integrity": "sha512-vPb5gHldmTIpUFx5uCdv/4XEsouMkXvSfQS2zsAC3VqAo29YESHYzNbr5HecRaUveb48NZ27+Djm0U0mLFxe9Q==", - "requires": { - "@types/node": "^9.3.0", - "ms-rest-js": "1.0.455" - } - }, - "ms-rest-azure-js": { - "version": "1.0.176", - "resolved": "https://registry.npmjs.org/ms-rest-azure-js/-/ms-rest-azure-js-1.0.176.tgz", - "integrity": "sha512-qtEBpSf/1nJ0/m1jGLkHISRnpOeHUp5n4SvzZRdFeYnGF4SQx9v/fl8a8ZwEmyujmgbUwyLNM9qKpH5PmW7pZg==", - "requires": { - "ms-rest-js": "^1.0.443", - "tslib": "^1.9.2" - } - }, - "ms-rest-js": { - "version": "1.0.455", - "resolved": "https://registry.npmjs.org/ms-rest-js/-/ms-rest-js-1.0.455.tgz", - "integrity": "sha512-RUDnFFNhk4ZdvOACg0yfaxmp5OzNwUcTIwgh/rVBeuNzgA7hOoVh5zFW06XmOtaBHXL2Bu/vWoQtzloEUlv9tw==", - "requires": { - "axios": "^0.18.0", - "form-data": "^2.3.2", - "tough-cookie": "^2.4.3", - "tslib": "^1.9.2", - "uuid": "^3.2.1", - "xml2js": "^0.4.19" - } + "version": "9.6.42", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.42.tgz", + "integrity": "sha512-SpeVQJFekfnEaZZO1yl4je/36upII36L7gOT4DBx51B1GeAB45mmDb3a5OBQB+ZeFxVVOP37r8Owsl940G/fBg==" } } }, "botbuilder-ai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botbuilder-ai/-/botbuilder-ai-4.2.0.tgz", - "integrity": "sha512-dt2OydZ9pWyMSNgha3PlC6lBq3sXUXAYmadqogNqvWpYEmIMdBOCUc02Vn2w1suxLX84GdYqdBI2klwrRZ7oKg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/botbuilder-ai/-/botbuilder-ai-4.2.1.tgz", + "integrity": "sha512-gej7KR0iFIK38M4eIkGFOn+Tk7sMpzGTJgMVy/ctz21m6vQDGfqFLjJzDk4GRG9oLaZfq5bqUw5sLtepLAZcUg==", "requires": { "@microsoft/recognizers-text-date-time": "1.1.2", "@types/html-entities": "^1.2.16", "@types/node": "^9.3.0", "@types/request-promise-native": "^1.0.10", "azure-cognitiveservices-luis-runtime": "^1.0.0", - "botbuilder": "^4.2.0", + "botbuilder": "^4.2.1", "html-entities": "^1.2.1", "moment": "^2.20.1", "ms-rest": "^2.3.6", @@ -2768,282 +2742,40 @@ "request-promise-native": "1.0.5" }, "dependencies": { - "@types/jsonwebtoken": { - "version": "7.2.8", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-7.2.8.tgz", - "integrity": "sha512-XENN3YzEB8D6TiUww0O8SRznzy1v+77lH7UmuN54xq/IHIsyWjWOzZuFFTtoiRuaE782uAoRwBe/wwow+vQXZw==", - "requires": { - "@types/node": "*" - } - }, "@types/node": { - "version": "9.6.41", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.41.tgz", - "integrity": "sha512-sPZWEbFMz6qAy9SLY7jh5cgepmsiwqUUHjvEm8lpU6kug2hmmcyuTnwhoGw/GWpI5Npue4EqvsiQQI0eWjW/ZA==" + "version": "9.6.42", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.42.tgz", + "integrity": "sha512-SpeVQJFekfnEaZZO1yl4je/36upII36L7gOT4DBx51B1GeAB45mmDb3a5OBQB+ZeFxVVOP37r8Owsl940G/fBg==" }, - "base64url": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", - "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==" - }, - "botbuilder": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botbuilder/-/botbuilder-4.2.0.tgz", - "integrity": "sha512-RqR9j/Dd1ljPFrnYOLt/8g61+5pec+yRFAU0nKSU5S+He+E7t62RzZDsXJuv3KExjDJelUXwTjZFp+vPDIOqQA==", + "request-promise-native": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz", + "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=", "requires": { - "@types/filenamify": "^2.0.1", - "@types/node": "^9.3.0", - "async-file": "^2.0.2", - "botbuilder-core": "^4.2.0", - "botframework-connector": "^4.2.0", - "filenamify": "^2.0.0", - "rimraf": "^2.6.2" + "request-promise-core": "1.1.1", + "stealthy-require": "^1.1.0", + "tough-cookie": ">=2.3.3" } - }, - "botbuilder-core": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botbuilder-core/-/botbuilder-core-4.2.0.tgz", - "integrity": "sha512-aP9C3hymP5DeI88ntg5rG9apaB03FkqhPu/ReEeZmh89WPxWarK5EgXqH0MIS4uomoF24pRY9CXlHscJ37iH1Q==", - "requires": { - "assert": "^1.4.1", - "botframework-schema": "^4.2.0" - } - }, - "botframework-connector": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botframework-connector/-/botframework-connector-4.2.0.tgz", - "integrity": "sha512-DQtBpB4a6i/lbVBEkYS9IB0WAGJeCY04EiCl1yeh7F9K6uSwE78nNFXJtsWam1PGsinvMwHIHvFyUF5GorUgkA==", - "requires": { - "@types/jsonwebtoken": "7.2.8", - "@types/node": "^9.3.0", - "base64url": "^3.0.0", - "botframework-schema": "^4.2.0", - "form-data": "^2.3.3", - "jsonwebtoken": "8.0.1", - "ms-rest-azure-js": "1.0.176", - "ms-rest-js": "1.0.455", - "nock": "^10.0.3", - "node-fetch": "^2.2.1", - "rsa-pem-from-mod-exp": "^0.8.4" - }, - "dependencies": { - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - } - } - }, - "botframework-schema": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botframework-schema/-/botframework-schema-4.2.0.tgz", - "integrity": "sha512-IfU27JWFuIADK8q2plUL1v6KuZtv6aR255gZrPrCKRHDPzEz7jGW0ZJoAAkIl9jgMfBPv+Xz6GD5HIHcB+kYGQ==", - "requires": { - "@types/node": "^9.3.0", - "ms-rest-js": "1.0.455" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms-rest-azure-js": { - "version": "1.0.176", - "resolved": "https://registry.npmjs.org/ms-rest-azure-js/-/ms-rest-azure-js-1.0.176.tgz", - "integrity": "sha512-qtEBpSf/1nJ0/m1jGLkHISRnpOeHUp5n4SvzZRdFeYnGF4SQx9v/fl8a8ZwEmyujmgbUwyLNM9qKpH5PmW7pZg==", - "requires": { - "ms-rest-js": "^1.0.443", - "tslib": "^1.9.2" - } - }, - "ms-rest-js": { - "version": "1.0.455", - "resolved": "https://registry.npmjs.org/ms-rest-js/-/ms-rest-js-1.0.455.tgz", - "integrity": "sha512-RUDnFFNhk4ZdvOACg0yfaxmp5OzNwUcTIwgh/rVBeuNzgA7hOoVh5zFW06XmOtaBHXL2Bu/vWoQtzloEUlv9tw==", - "requires": { - "axios": "^0.18.0", - "form-data": "^2.3.2", - "tough-cookie": "^2.4.3", - "tslib": "^1.9.2", - "uuid": "^3.2.1", - "xml2js": "^0.4.19" - } - }, - "nock": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/nock/-/nock-10.0.6.tgz", - "integrity": "sha512-b47OWj1qf/LqSQYnmokNWM8D88KvUl2y7jT0567NB3ZBAZFz2bWp2PC81Xn7u8F2/vJxzkzNZybnemeFa7AZ2w==", - "requires": { - "chai": "^4.1.2", - "debug": "^4.1.0", - "deep-equal": "^1.0.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.5", - "mkdirp": "^0.5.0", - "propagate": "^1.0.0", - "qs": "^6.5.1", - "semver": "^5.5.0" - } - }, - "node-fetch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", - "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" } } }, "botbuilder-azure": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botbuilder-azure/-/botbuilder-azure-4.2.0.tgz", - "integrity": "sha512-WL8dHtVESE/qTFTGcJwlFeKyUeewoyoNr5ENavu1W40N8UjZB32ivmX2dvd0Zm4TIbeBwgmomF2gE9rE+0Rv3w==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/botbuilder-azure/-/botbuilder-azure-4.2.1.tgz", + "integrity": "sha512-YbdIF3Xp3m1Ei3EnPY3YyPPrH/u10pBplMTluPnc1Qptd1z5mRtuG02kLsG22SivQN7rhyA8WNSgHlAjXShpeg==", "requires": { "@types/node": "^9.3.0", "azure-storage": "^2.10.2", - "botbuilder": "^4.2.0", + "botbuilder": "^4.2.1", "documentdb": "1.14.5", "flat": "^4.0.0", "semaphore": "^1.1.0" }, "dependencies": { - "@types/jsonwebtoken": { - "version": "7.2.8", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-7.2.8.tgz", - "integrity": "sha512-XENN3YzEB8D6TiUww0O8SRznzy1v+77lH7UmuN54xq/IHIsyWjWOzZuFFTtoiRuaE782uAoRwBe/wwow+vQXZw==", - "requires": { - "@types/node": "*" - } - }, "@types/node": { - "version": "9.6.41", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.41.tgz", - "integrity": "sha512-sPZWEbFMz6qAy9SLY7jh5cgepmsiwqUUHjvEm8lpU6kug2hmmcyuTnwhoGw/GWpI5Npue4EqvsiQQI0eWjW/ZA==" - }, - "base64url": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", - "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==" - }, - "botbuilder": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botbuilder/-/botbuilder-4.2.0.tgz", - "integrity": "sha512-RqR9j/Dd1ljPFrnYOLt/8g61+5pec+yRFAU0nKSU5S+He+E7t62RzZDsXJuv3KExjDJelUXwTjZFp+vPDIOqQA==", - "requires": { - "@types/filenamify": "^2.0.1", - "@types/node": "^9.3.0", - "async-file": "^2.0.2", - "botbuilder-core": "^4.2.0", - "botframework-connector": "^4.2.0", - "filenamify": "^2.0.0", - "rimraf": "^2.6.2" - } - }, - "botbuilder-core": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botbuilder-core/-/botbuilder-core-4.2.0.tgz", - "integrity": "sha512-aP9C3hymP5DeI88ntg5rG9apaB03FkqhPu/ReEeZmh89WPxWarK5EgXqH0MIS4uomoF24pRY9CXlHscJ37iH1Q==", - "requires": { - "assert": "^1.4.1", - "botframework-schema": "^4.2.0" - } - }, - "botframework-connector": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botframework-connector/-/botframework-connector-4.2.0.tgz", - "integrity": "sha512-DQtBpB4a6i/lbVBEkYS9IB0WAGJeCY04EiCl1yeh7F9K6uSwE78nNFXJtsWam1PGsinvMwHIHvFyUF5GorUgkA==", - "requires": { - "@types/jsonwebtoken": "7.2.8", - "@types/node": "^9.3.0", - "base64url": "^3.0.0", - "botframework-schema": "^4.2.0", - "form-data": "^2.3.3", - "jsonwebtoken": "8.0.1", - "ms-rest-azure-js": "1.0.176", - "ms-rest-js": "1.0.455", - "nock": "^10.0.3", - "node-fetch": "^2.2.1", - "rsa-pem-from-mod-exp": "^0.8.4" - }, - "dependencies": { - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - } - } - }, - "botframework-schema": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botframework-schema/-/botframework-schema-4.2.0.tgz", - "integrity": "sha512-IfU27JWFuIADK8q2plUL1v6KuZtv6aR255gZrPrCKRHDPzEz7jGW0ZJoAAkIl9jgMfBPv+Xz6GD5HIHcB+kYGQ==", - "requires": { - "@types/node": "^9.3.0", - "ms-rest-js": "1.0.455" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms-rest-azure-js": { - "version": "1.0.176", - "resolved": "https://registry.npmjs.org/ms-rest-azure-js/-/ms-rest-azure-js-1.0.176.tgz", - "integrity": "sha512-qtEBpSf/1nJ0/m1jGLkHISRnpOeHUp5n4SvzZRdFeYnGF4SQx9v/fl8a8ZwEmyujmgbUwyLNM9qKpH5PmW7pZg==", - "requires": { - "ms-rest-js": "^1.0.443", - "tslib": "^1.9.2" - } - }, - "ms-rest-js": { - "version": "1.0.455", - "resolved": "https://registry.npmjs.org/ms-rest-js/-/ms-rest-js-1.0.455.tgz", - "integrity": "sha512-RUDnFFNhk4ZdvOACg0yfaxmp5OzNwUcTIwgh/rVBeuNzgA7hOoVh5zFW06XmOtaBHXL2Bu/vWoQtzloEUlv9tw==", - "requires": { - "axios": "^0.18.0", - "form-data": "^2.3.2", - "tough-cookie": "^2.4.3", - "tslib": "^1.9.2", - "uuid": "^3.2.1", - "xml2js": "^0.4.19" - } - }, - "nock": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/nock/-/nock-10.0.6.tgz", - "integrity": "sha512-b47OWj1qf/LqSQYnmokNWM8D88KvUl2y7jT0567NB3ZBAZFz2bWp2PC81Xn7u8F2/vJxzkzNZybnemeFa7AZ2w==", - "requires": { - "chai": "^4.1.2", - "debug": "^4.1.0", - "deep-equal": "^1.0.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.5", - "mkdirp": "^0.5.0", - "propagate": "^1.0.0", - "qs": "^6.5.1", - "semver": "^5.5.0" - } - }, - "node-fetch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", - "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" + "version": "9.6.42", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.42.tgz", + "integrity": "sha512-SpeVQJFekfnEaZZO1yl4je/36upII36L7gOT4DBx51B1GeAB45mmDb3a5OBQB+ZeFxVVOP37r8Owsl940G/fBg==" } } }, @@ -3165,12 +2897,12 @@ } }, "botbuilder-core": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botbuilder-core/-/botbuilder-core-4.2.0.tgz", - "integrity": "sha512-aP9C3hymP5DeI88ntg5rG9apaB03FkqhPu/ReEeZmh89WPxWarK5EgXqH0MIS4uomoF24pRY9CXlHscJ37iH1Q==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/botbuilder-core/-/botbuilder-core-4.2.1.tgz", + "integrity": "sha512-U8n+eY9Cjce0GkMyyE0mv4HBjCjtyuczz6usl9XF2N7nY61jYDah4W5e4zqYdLdlqnBwfxG8ptS9pdnmVsC2ww==", "requires": { "assert": "^1.4.1", - "botframework-schema": "^4.2.0" + "botframework-schema": "^4.2.1" } }, "botbuilder-core-extensions": { @@ -3212,16 +2944,16 @@ } }, "botbuilder-dialogs": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botbuilder-dialogs/-/botbuilder-dialogs-4.2.0.tgz", - "integrity": "sha512-wi7Vk/mRHqsjNVhCbXK6yoYsQ7uS7EySM+bcDRthw5uDQ9LyHHoRg3wzT+mqbfjzwgpKR/TXxPUDM4nDL8Hz+Q==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/botbuilder-dialogs/-/botbuilder-dialogs-4.2.1.tgz", + "integrity": "sha512-QHD9WigzC7rOJT0hb9Xzs/yHs1g/MOabJey8qxlZPdnnQqK5X8KJaZEEDnRqcUmLj/ydbxnxqImLEsMD5zlGag==", "requires": { "@microsoft/recognizers-text-choice": "1.1.2", "@microsoft/recognizers-text-date-time": "1.1.2", "@microsoft/recognizers-text-number": "1.1.2", "@microsoft/recognizers-text-suite": "1.1.2", "@types/node": "^9.3.0", - "botbuilder-core": "^4.2.0" + "botbuilder-core": "^4.2.1" }, "dependencies": { "@microsoft/recognizers-text-choice": { @@ -3259,40 +2991,9 @@ } }, "@types/node": { - "version": "9.6.41", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.41.tgz", - "integrity": "sha512-sPZWEbFMz6qAy9SLY7jh5cgepmsiwqUUHjvEm8lpU6kug2hmmcyuTnwhoGw/GWpI5Npue4EqvsiQQI0eWjW/ZA==" - }, - "botbuilder-core": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botbuilder-core/-/botbuilder-core-4.2.0.tgz", - "integrity": "sha512-aP9C3hymP5DeI88ntg5rG9apaB03FkqhPu/ReEeZmh89WPxWarK5EgXqH0MIS4uomoF24pRY9CXlHscJ37iH1Q==", - "requires": { - "assert": "^1.4.1", - "botframework-schema": "^4.2.0" - } - }, - "botframework-schema": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botframework-schema/-/botframework-schema-4.2.0.tgz", - "integrity": "sha512-IfU27JWFuIADK8q2plUL1v6KuZtv6aR255gZrPrCKRHDPzEz7jGW0ZJoAAkIl9jgMfBPv+Xz6GD5HIHcB+kYGQ==", - "requires": { - "@types/node": "^9.3.0", - "ms-rest-js": "1.0.455" - } - }, - "ms-rest-js": { - "version": "1.0.455", - "resolved": "https://registry.npmjs.org/ms-rest-js/-/ms-rest-js-1.0.455.tgz", - "integrity": "sha512-RUDnFFNhk4ZdvOACg0yfaxmp5OzNwUcTIwgh/rVBeuNzgA7hOoVh5zFW06XmOtaBHXL2Bu/vWoQtzloEUlv9tw==", - "requires": { - "axios": "^0.18.0", - "form-data": "^2.3.2", - "tough-cookie": "^2.4.3", - "tslib": "^1.9.2", - "uuid": "^3.2.1", - "xml2js": "^0.4.19" - } + "version": "9.6.42", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.42.tgz", + "integrity": "sha512-SpeVQJFekfnEaZZO1yl4je/36upII36L7gOT4DBx51B1GeAB45mmDb3a5OBQB+ZeFxVVOP37r8Owsl940G/fBg==" } } }, @@ -3315,9 +3016,9 @@ } }, "@types/node": { - "version": "9.6.41", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.41.tgz", - "integrity": "sha512-sPZWEbFMz6qAy9SLY7jh5cgepmsiwqUUHjvEm8lpU6kug2hmmcyuTnwhoGw/GWpI5Npue4EqvsiQQI0eWjW/ZA==" + "version": "9.6.42", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.42.tgz", + "integrity": "sha512-SpeVQJFekfnEaZZO1yl4je/36upII36L7gOT4DBx51B1GeAB45mmDb3a5OBQB+ZeFxVVOP37r8Owsl940G/fBg==" }, "@types/url-join": { "version": "0.8.3", @@ -3358,12 +3059,20 @@ "url-join": "^1.1.0" } }, - "jsonwebtoken": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.4.0.tgz", - "integrity": "sha512-coyXjRTCy0pw5WYBpMvWOMN+Kjaik2MwTUIq9cna/W7NpO9E+iYbumZONAz3hcr+tXFJECoQVrtmIoC3Oz0gvg==", + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", "requires": { - "jws": "^3.1.5", + "safe-buffer": "^5.0.1" + } + }, + "jsonwebtoken": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.0.tgz", + "integrity": "sha512-IqEycp0znWHNA11TpYi77bVgyBO/pGESDh7Ajhas+u0ttkGkKYIIAjniL4Bw5+oVejVF+SYkaI7XKfwCCyeTuA==", + "requires": { + "jws": "^3.2.1", "lodash.includes": "^4.3.0", "lodash.isboolean": "^3.0.3", "lodash.isinteger": "^4.0.4", @@ -3371,9 +3080,34 @@ "lodash.isplainobject": "^4.0.6", "lodash.isstring": "^4.0.1", "lodash.once": "^4.0.0", - "ms": "^2.1.1" + "ms": "^2.1.1", + "semver": "^5.6.0" } }, + "jwa": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.3.0.tgz", + "integrity": "sha512-SxObIyzv9a6MYuZYaSN6DhSm9j3+qkokwvCB0/OTSV5ylPq1wUQiygZQcHT5Qlux0I5kmISx3J86TxKhuefItg==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.1.tgz", + "integrity": "sha512-bGA2omSrFUkd72dhh05bIAN832znP4wOU3lfuXtRBuGTbsmNmDXMQg28f0Vsxaxgk4myF5YkKQpz6qeRpMgX9g==", + "requires": { + "jwa": "^1.2.0", + "safe-buffer": "^5.0.1" + } + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" + }, "url-join": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/url-join/-/url-join-1.1.0.tgz", @@ -3499,14 +3233,14 @@ } }, "botframework-connector": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botframework-connector/-/botframework-connector-4.2.0.tgz", - "integrity": "sha512-DQtBpB4a6i/lbVBEkYS9IB0WAGJeCY04EiCl1yeh7F9K6uSwE78nNFXJtsWam1PGsinvMwHIHvFyUF5GorUgkA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/botframework-connector/-/botframework-connector-4.2.1.tgz", + "integrity": "sha512-O2RmSG4AFyNc7h9zD2a7kdIBw8jF3Thpl8Pwfs/BpKGhRrCIJAMasV0+UbIV2Iwi2NEl7WzdpXjUsnpmB57XgQ==", "requires": { "@types/jsonwebtoken": "7.2.8", "@types/node": "^9.3.0", "base64url": "^3.0.0", - "botframework-schema": "^4.2.0", + "botframework-schema": "^4.2.1", "form-data": "^2.3.3", "jsonwebtoken": "8.0.1", "ms-rest-azure-js": "1.0.176", @@ -3525,9 +3259,9 @@ } }, "@types/node": { - "version": "9.6.41", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.41.tgz", - "integrity": "sha512-sPZWEbFMz6qAy9SLY7jh5cgepmsiwqUUHjvEm8lpU6kug2hmmcyuTnwhoGw/GWpI5Npue4EqvsiQQI0eWjW/ZA==" + "version": "9.6.42", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.42.tgz", + "integrity": "sha512-SpeVQJFekfnEaZZO1yl4je/36upII36L7gOT4DBx51B1GeAB45mmDb3a5OBQB+ZeFxVVOP37r8Owsl940G/fBg==" }, "base64url": { "version": "3.0.1", @@ -3565,18 +3299,18 @@ } }, "botframework-schema": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/botframework-schema/-/botframework-schema-4.2.0.tgz", - "integrity": "sha512-IfU27JWFuIADK8q2plUL1v6KuZtv6aR255gZrPrCKRHDPzEz7jGW0ZJoAAkIl9jgMfBPv+Xz6GD5HIHcB+kYGQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/botframework-schema/-/botframework-schema-4.2.1.tgz", + "integrity": "sha512-0aJ5UIjs6dKZYdovnlnoIb7+wBId3cubQzwC0tH6S//JhayqrKqMcD8vPPgwZHhBhBx8ZFNmKD3MJtCvZZ1GYA==", "requires": { "@types/node": "^9.3.0", "ms-rest-js": "1.0.455" }, "dependencies": { "@types/node": { - "version": "9.6.41", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.41.tgz", - "integrity": "sha512-sPZWEbFMz6qAy9SLY7jh5cgepmsiwqUUHjvEm8lpU6kug2hmmcyuTnwhoGw/GWpI5Npue4EqvsiQQI0eWjW/ZA==" + "version": "9.6.42", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.42.tgz", + "integrity": "sha512-SpeVQJFekfnEaZZO1yl4je/36upII36L7gOT4DBx51B1GeAB45mmDb3a5OBQB+ZeFxVVOP37r8Owsl940G/fBg==" }, "ms-rest-js": { "version": "1.0.455", @@ -3594,19 +3328,19 @@ } }, "botlib": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/botlib/-/botlib-0.1.10.tgz", - "integrity": "sha512-1C+YzEZqRQgKpmb88ui0Zae9SubOTu2tZsTnZ1EuR9zH4wfDg5F1vybPrSphzz7zPpItoIdCGcMi553lcyWaxA==", + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/botlib/-/botlib-0.1.12.tgz", + "integrity": "sha512-odBPlEBeYHSEfDfiTDknIp+/NM6Ar1q1TShXZ7xwc/+0CD90Y3dyjlVZDwiZtG2vfk5btiB8GjLzgP4v1nYE6A==", "requires": { - "async": "2.6.1", - "botbuilder": "4.1.3", - "botbuilder-ai": "4.2.0", - "botbuilder-azure": "4.2.0", + "async": "2.6.2", + "botbuilder": "4.2.1", + "botbuilder-ai": "4.2.1", + "botbuilder-azure": "4.2.1", "botbuilder-choices": "4.0.0-preview1.2", - "botbuilder-dialogs": "4.2.0", + "botbuilder-dialogs": "4.2.1", "botbuilder-location": "2.0.0", "botbuilder-prompts": "4.0.0-preview1.2", - "chrono-node": "1.3.5", + "chrono-node": "1.3.11", "dotenv-extended": "2.3.0", "iconv-lite": "0.4.24", "ms": "2.1.1", @@ -3618,25 +3352,112 @@ "winston": "3.2.1" }, "dependencies": { + "@microsoft/recognizers-text-choice": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@microsoft/recognizers-text-choice/-/recognizers-text-choice-1.1.2.tgz", + "integrity": "sha512-4hFdqxusM0YrOXYM2RVYPl2rLjItSh6VkRiACjWB95GKC/DBGjJRYQpTxhzuZAsJSkDMinu/aLf8DvQtwUaLtA==", + "requires": { + "@microsoft/recognizers-text": "~1.1.2", + "grapheme-splitter": "^1.0.2" + } + }, + "@microsoft/recognizers-text-number": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@microsoft/recognizers-text-number/-/recognizers-text-number-1.1.2.tgz", + "integrity": "sha512-GESjSF42dllym83diyd6pmlzFwdzidewoq/qSQz89lSoTx9HdJQHjbXxwdBp7w4Ax/Jroo2lcAedM3B7alZhYQ==", + "requires": { + "@microsoft/recognizers-text": "~1.1.2", + "bignumber.js": "^7.2.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.sortby": "^4.7.0", + "lodash.trimend": "^4.5.1" + } + }, + "@microsoft/recognizers-text-suite": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@microsoft/recognizers-text-suite/-/recognizers-text-suite-1.1.2.tgz", + "integrity": "sha512-w3WCsKa//64jE1fGPFlV02rRg9+b3oDp+K5/skPAn4KDr80LjXxD1ulIgiJ2Ll/2OoBl8ociCiCjYA7zS3LpdQ==", + "requires": { + "@microsoft/recognizers-text": "~1.1.2", + "@microsoft/recognizers-text-choice": "~1.1.2", + "@microsoft/recognizers-text-date-time": "~1.1.2", + "@microsoft/recognizers-text-number": "~1.1.2", + "@microsoft/recognizers-text-number-with-unit": "~1.1.2", + "@microsoft/recognizers-text-sequence": "~1.1.2" + } + }, "@types/node": { - "version": "9.6.41", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.41.tgz", - "integrity": "sha512-sPZWEbFMz6qAy9SLY7jh5cgepmsiwqUUHjvEm8lpU6kug2hmmcyuTnwhoGw/GWpI5Npue4EqvsiQQI0eWjW/ZA==" + "version": "9.6.42", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.42.tgz", + "integrity": "sha512-SpeVQJFekfnEaZZO1yl4je/36upII36L7gOT4DBx51B1GeAB45mmDb3a5OBQB+ZeFxVVOP37r8Owsl940G/fBg==" + }, + "async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", + "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", + "requires": { + "lodash": "^4.17.11" + } }, "botbuilder": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/botbuilder/-/botbuilder-4.1.3.tgz", - "integrity": "sha512-o6ASOl3sbgVw3+zKCYFYqLh5UBbifw7EhuIMgPaw/7MMkL8WWT9y0EY63DX7AyDZZZ+sdG0qY6C9/5HvT3e6AA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/botbuilder/-/botbuilder-4.2.1.tgz", + "integrity": "sha512-58664aLhN1WQwAxMBK7LZQhFh8DHwenvpgz6ADFgeZLZS28NACfX+Uta8k2+WF6RK3g+VKoGOhV/yI71c5ccVg==", "requires": { "@types/filenamify": "^2.0.1", "@types/node": "^9.3.0", "async-file": "^2.0.2", - "botbuilder-core": "^4.1.3", - "botframework-connector": "^4.1.3", + "botbuilder-core": "^4.2.1", + "botframework-connector": "^4.2.1", "filenamify": "^2.0.0", "rimraf": "^2.6.2" } }, + "botbuilder-ai": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/botbuilder-ai/-/botbuilder-ai-4.2.1.tgz", + "integrity": "sha512-gej7KR0iFIK38M4eIkGFOn+Tk7sMpzGTJgMVy/ctz21m6vQDGfqFLjJzDk4GRG9oLaZfq5bqUw5sLtepLAZcUg==", + "requires": { + "@microsoft/recognizers-text-date-time": "1.1.2", + "@types/html-entities": "^1.2.16", + "@types/node": "^9.3.0", + "@types/request-promise-native": "^1.0.10", + "azure-cognitiveservices-luis-runtime": "^1.0.0", + "botbuilder": "^4.2.1", + "html-entities": "^1.2.1", + "moment": "^2.20.1", + "ms-rest": "^2.3.6", + "mstranslator": "^3.0.0", + "request": "^2.87.0", + "request-promise-native": "1.0.5" + } + }, + "botbuilder-azure": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/botbuilder-azure/-/botbuilder-azure-4.2.1.tgz", + "integrity": "sha512-YbdIF3Xp3m1Ei3EnPY3YyPPrH/u10pBplMTluPnc1Qptd1z5mRtuG02kLsG22SivQN7rhyA8WNSgHlAjXShpeg==", + "requires": { + "@types/node": "^9.3.0", + "azure-storage": "^2.10.2", + "botbuilder": "^4.2.1", + "documentdb": "1.14.5", + "flat": "^4.0.0", + "semaphore": "^1.1.0" + } + }, + "botbuilder-dialogs": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/botbuilder-dialogs/-/botbuilder-dialogs-4.2.1.tgz", + "integrity": "sha512-QHD9WigzC7rOJT0hb9Xzs/yHs1g/MOabJey8qxlZPdnnQqK5X8KJaZEEDnRqcUmLj/ydbxnxqImLEsMD5zlGag==", + "requires": { + "@microsoft/recognizers-text-choice": "1.1.2", + "@microsoft/recognizers-text-date-time": "1.1.2", + "@microsoft/recognizers-text-number": "1.1.2", + "@microsoft/recognizers-text-suite": "1.1.2", + "@types/node": "^9.3.0", + "botbuilder-core": "^4.2.1" + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -3644,6 +3465,21 @@ "requires": { "safer-buffer": ">= 2.1.2 < 3" } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + }, + "request-promise-native": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz", + "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=", + "requires": { + "request-promise-core": "1.1.1", + "stealthy-require": "^1.1.0", + "tough-cookie": ">=2.3.3" + } } } }, @@ -3751,7 +3587,7 @@ "browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=" + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" }, "browserify-mime": { "version": "1.2.9", @@ -4088,23 +3924,22 @@ "integrity": "sha1-sffn/HPSXn/R1FWtyU4UODAYK1o=" }, "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha1-NW/04rDo5D4yLRijckYLvPOszSY=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.2.tgz", + "integrity": "sha512-IwXUx0FXc5ibYmPC2XeEj5mpXoV66sR+t3jqu2NS2GYwCktt3KF1/Qqjws/NkegajBA4RbZ5+DDwlOiJsxDHEg==", "requires": { "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", "glob-parent": "^3.1.0", - "inherits": "^2.0.1", + "inherits": "^2.0.3", "is-binary-path": "^1.0.0", "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", + "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "readdirp": "^2.2.1", + "upath": "^1.1.0" } }, "chownr": { @@ -4113,11 +3948,18 @@ "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" }, "chrono-node": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/chrono-node/-/chrono-node-1.3.5.tgz", - "integrity": "sha1-oklSmKMtqCvMAa2b59d++l4kQSI=", + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/chrono-node/-/chrono-node-1.3.11.tgz", + "integrity": "sha512-jDWRnY6nYvzfV3HPYBqo+tot7tcsUs9i3arGbMdI0TouPSXP2C2y/Ctp27rxKTQDi6yuTxAB2cw+Q6igGhOhdQ==", "requires": { - "moment": "^2.10.3" + "moment": "2.21.0" + }, + "dependencies": { + "moment": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz", + "integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==" + } } }, "circular-json": { @@ -4503,26 +4345,29 @@ "commander": { "version": "2.15.1", "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true }, "commitizen": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-3.0.5.tgz", - "integrity": "sha512-WB9sz7qudArOsW1ninU8YGLNoXLQ5lJBZf538iQ7i96SXAkqVMZdmPtSyN4WFPM5PjQR7rWxDa+hzfGIJfrXUg==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-3.0.7.tgz", + "integrity": "sha512-2j8E8Ik1pe1Jqy1gQ1SzEZDJCdr0ItjvhbXmDqhz186Q3ukRoQHMBkmCqmsFYmfDmchBkrOXV1239mTeXEPJKQ==", "dev": true, "requires": { "cachedir": "2.1.0", "cz-conventional-changelog": "2.1.0", "dedent": "0.7.0", "detect-indent": "^5.0.0", - "find-node-modules": "1.0.4", + "find-node-modules": "2.0.0", "find-root": "1.1.0", "fs-extra": "^7.0.0", "glob": "7.1.3", "inquirer": "6.2.0", + "is-utf8": "^0.2.1", "lodash": "4.17.11", "minimist": "1.2.0", "shelljs": "0.7.6", + "strip-bom": "3.0.0", "strip-json-comments": "2.0.1" }, "dependencies": { @@ -4607,14 +4452,14 @@ }, "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", + "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -4622,7 +4467,7 @@ }, "shelljs": { "version": "0.7.6", - "resolved": "http://registry.npmjs.org/shelljs/-/shelljs-0.7.6.tgz", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.6.tgz", "integrity": "sha1-N5zM+1a5HIYB5HkzVutTgpJN6a0=", "dev": true, "requires": { @@ -4689,6 +4534,15 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, "configstore": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", @@ -4902,9 +4756,9 @@ } }, "coveralls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.2.tgz", - "integrity": "sha512-Tv0LKe/MkBOilH2v7WBiTBdudg2ChfGbdXafc/s330djpF3zKOmuehTeRwjXWc7pzfj9FrDUTA7tEx6Div8NFw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.3.tgz", + "integrity": "sha512-viNfeGlda2zJr8Gj1zqXpDMRjw9uM54p7wzZdvLRyOgnAfCe974Dq4veZkjJdxQXbmdppu6flEajFYseHYaUhg==", "dev": true, "requires": { "growl": "~> 1.10.0", @@ -4912,22 +4766,12 @@ "lcov-parse": "^0.0.10", "log-driver": "^1.2.7", "minimist": "^1.2.0", - "request": "^2.85.0" + "request": "^2.86.0" }, "dependencies": { - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } @@ -4995,22 +4839,22 @@ "dev": true }, "cssom": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", - "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==" + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.6.tgz", + "integrity": "sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==" }, "cssstyle": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.1.1.tgz", - "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.1.tgz", + "integrity": "sha512-7DYm8qe+gPx/h77QlCyFmX80+fGaE/6A/Ekl0zaszYOubvySO2saYFdQ78P29D0UsULxFKCetDGNaNRUdSF+2A==", "requires": { "cssom": "0.3.x" } }, "csv-parse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.3.1.tgz", - "integrity": "sha512-1V98UTtfefu8yKdYIGX1LFhfE2yMllveq2uCBay5y4ybfTzvW6I4M6r8Yc2YnKJdJBUig5ksEMh/bLqKg4vEMQ==" + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.3.3.tgz", + "integrity": "sha512-bZ+AZjm2LlWEp5+TKeFeXDldduCUUaxEif+KUv+zvAwmCvCKTqeSHVEyxztGCQ6OE+87ObRq4NsCmg91SuJbhQ==" }, "csv-parser": { "version": "1.12.1", @@ -5206,9 +5050,9 @@ } }, "decompress-zip": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.3.1.tgz", - "integrity": "sha512-pNGzi0RIpLA/CqrMQoSuh/1+YiVGJSEhQeibgoZQEdPFQOhO5pvqim3sp1qMvio3+mkonUQ1Akjdw8RgvV/RsA==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.3.2.tgz", + "integrity": "sha512-Ab1QY4LrWMrUuo53lLnmGOby7v8ryqxJ+bKibKSiPisx+25mhut1dScVBXAYx14i/PqSrFZvR2FRRazhLbvL+g==", "requires": { "binary": "^0.3.0", "graceful-fs": "^4.1.3", @@ -5234,7 +5078,7 @@ }, "readable-stream": { "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { "core-util-is": "~1.0.0", @@ -5303,7 +5147,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -5543,13 +5386,9 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, "detect-file": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz", - "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=", - "dev": true, - "requires": { - "fs-exists-sync": "^0.1.0" - } + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" }, "detect-indent": { "version": "5.0.0", @@ -5753,6 +5592,31 @@ "safe-buffer": "^5.0.1" } }, + "editorconfig": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.2.tgz", + "integrity": "sha512-GWjSI19PVJAM9IZRGOS+YKI8LN+/sjkSjNyvxL5ucqP9/IqtYNXBaQ/6c/hkPNYQHyOHra2KoXZI/JVpuqwmcQ==", + "requires": { + "@types/node": "^10.11.7", + "@types/semver": "^5.5.0", + "commander": "^2.19.0", + "lru-cache": "^4.1.3", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" + } + } + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -5884,7 +5748,6 @@ "version": "1.12.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", - "dev": true, "requires": { "es-to-primitive": "^1.1.1", "function-bind": "^1.1.1", @@ -5897,7 +5760,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -5944,9 +5806,9 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", - "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz", + "integrity": "sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==", "requires": { "esprima": "^3.1.3", "estraverse": "^4.2.0", @@ -6110,8 +5972,7 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", - "dev": true + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" }, "esquery": { "version": "1.0.1", @@ -6226,64 +6087,12 @@ } } }, - "expand-range": { - "version": "1.8.2", - "resolved": "http://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "expand-tilde": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", - "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", - "dev": true, + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "requires": { - "os-homedir": "^1.0.1" + "homedir-polyfill": "^1.0.1" } }, "express": { @@ -6514,12 +6323,6 @@ "object-assign": "^4.0.1" } }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, "filename-reserved-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", @@ -6606,13 +6409,27 @@ } }, "find-node-modules": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-1.0.4.tgz", - "integrity": "sha1-tt6zzMtpnIcDdne87eLF9YYrJVA=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.0.0.tgz", + "integrity": "sha512-8MWIBRgJi/WpjjfVXumjPKCtmQ10B+fjx6zmSA+770GMJirLhWIzg8l763rhjl9xaeaHbnxPNRQKq2mgMhr+aw==", "dev": true, "requires": { - "findup-sync": "0.4.2", - "merge": "^1.2.0" + "findup-sync": "^3.0.0", + "merge": "^1.2.1" + }, + "dependencies": { + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + } } }, "find-parent-dir": { @@ -6684,104 +6501,22 @@ } }, "findup-sync": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.2.tgz", - "integrity": "sha1-qBF9D3MST1pFRoOVef5S1xKfteU=", - "dev": true, + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", "requires": { - "detect-file": "^0.1.0", - "is-glob": "^2.0.1", - "micromatch": "^2.3.7", - "resolve-dir": "^0.1.0" + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" }, "dependencies": { - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "^1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "is-extglob": "^2.1.0" } } } @@ -6820,25 +6555,20 @@ "dev": true }, "follow-redirects": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz", - "integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz", + "integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==", "requires": { - "debug": "=3.1.0" + "debug": "^3.2.6" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -6847,15 +6577,6 @@ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -6910,12 +6631,6 @@ "readable-stream": "^2.0.0" } }, - "fs-exists-sync": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", - "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", - "dev": true - }, "fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", @@ -6934,23 +6649,15 @@ "minipass": "^2.2.1" } }, - "fs-walk": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/fs-walk/-/fs-walk-0.0.2.tgz", - "integrity": "sha1-IhA4W9vDKrUZM87lAu8YUWeXYE0=", - "requires": { - "async": "*" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", + "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", "optional": true, "requires": { "nan": "^2.9.2", @@ -6973,7 +6680,7 @@ "optional": true }, "are-we-there-yet": { - "version": "1.1.4", + "version": "1.1.5", "bundled": true, "optional": true, "requires": { @@ -6996,7 +6703,7 @@ } }, "chownr": { - "version": "1.0.1", + "version": "1.1.1", "bundled": true, "optional": true }, @@ -7029,7 +6736,7 @@ } }, "deep-extend": { - "version": "0.5.1", + "version": "0.6.0", "bundled": true, "optional": true }, @@ -7072,7 +6779,7 @@ } }, "glob": { - "version": "7.1.2", + "version": "7.1.3", "bundled": true, "optional": true, "requires": { @@ -7090,11 +6797,11 @@ "optional": true }, "iconv-lite": { - "version": "0.4.21", + "version": "0.4.24", "bundled": true, "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { @@ -7151,16 +6858,16 @@ "optional": true }, "minipass": { - "version": "2.2.4", + "version": "2.3.5", "bundled": true, "optional": true, "requires": { - "safe-buffer": "^5.1.1", + "safe-buffer": "^5.1.2", "yallist": "^3.0.0" } }, "minizlib": { - "version": "1.1.0", + "version": "1.2.1", "bundled": true, "optional": true, "requires": { @@ -7181,7 +6888,7 @@ "optional": true }, "needle": { - "version": "2.2.0", + "version": "2.2.4", "bundled": true, "optional": true, "requires": { @@ -7191,17 +6898,17 @@ } }, "node-pre-gyp": { - "version": "0.10.0", + "version": "0.10.3", "bundled": true, "optional": true, "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", - "needle": "^2.2.0", + "needle": "^2.2.1", "nopt": "^4.0.1", "npm-packlist": "^1.1.6", "npmlog": "^4.0.2", - "rc": "^1.1.7", + "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", "tar": "^4" @@ -7217,12 +6924,12 @@ } }, "npm-bundled": { - "version": "1.0.3", + "version": "1.0.5", "bundled": true, "optional": true }, "npm-packlist": { - "version": "1.1.10", + "version": "1.2.0", "bundled": true, "optional": true, "requires": { @@ -7289,11 +6996,11 @@ "optional": true }, "rc": { - "version": "1.2.7", + "version": "1.2.8", "bundled": true, "optional": true, "requires": { - "deep-extend": "^0.5.1", + "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" @@ -7321,15 +7028,15 @@ } }, "rimraf": { - "version": "2.6.2", + "version": "2.6.3", "bundled": true, "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "safe-buffer": { - "version": "5.1.1", + "version": "5.1.2", "bundled": true, "optional": true }, @@ -7344,7 +7051,7 @@ "optional": true }, "semver": { - "version": "5.5.0", + "version": "5.6.0", "bundled": true, "optional": true }, @@ -7390,16 +7097,16 @@ "optional": true }, "tar": { - "version": "4.4.1", + "version": "4.4.8", "bundled": true, "optional": true, "requires": { - "chownr": "^1.0.1", + "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", + "safe-buffer": "^5.1.2", "yallist": "^3.0.2" } }, @@ -7409,11 +7116,11 @@ "optional": true }, "wide-align": { - "version": "1.1.2", + "version": "1.1.3", "bundled": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { @@ -7422,7 +7129,7 @@ "optional": true }, "yallist": { - "version": "3.0.2", + "version": "3.0.3", "bundled": true, "optional": true } @@ -7431,8 +7138,7 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "function.name": { "version": "1.0.11", @@ -7697,42 +7403,6 @@ "path-is-absolute": "^1.0.0" } }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", @@ -7768,41 +7438,25 @@ } }, "global-modules": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", - "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=", - "dev": true, + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "requires": { - "global-prefix": "^0.1.4", - "is-windows": "^0.2.0" - }, - "dependencies": { - "is-windows": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", - "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", - "dev": true - } + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" } }, "global-prefix": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", - "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=", - "dev": true, + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", "requires": { - "homedir-polyfill": "^1.0.0", + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", "ini": "^1.3.4", - "is-windows": "^0.2.0", - "which": "^1.2.12" - }, - "dependencies": { - "is-windows": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", - "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", - "dev": true - } + "is-windows": "^1.0.1", + "which": "^1.2.14" } }, "globals": { @@ -7903,7 +7557,7 @@ "growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4=" + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" }, "gry": { "version": "4.3.1", @@ -7952,7 +7606,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -7974,8 +7627,7 @@ "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" }, "has-unicode": { "version": "2.0.1", @@ -8032,9 +7684,9 @@ } }, "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, "highlight.js": { "version": "9.14.1", @@ -8053,10 +7705,9 @@ "dev": true }, "homedir-polyfill": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", - "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", - "dev": true, + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "requires": { "parse-passwd": "^1.0.0" } @@ -8547,8 +8198,7 @@ "is-callable": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" }, "is-data-descriptor": { "version": "0.1.4", @@ -8571,8 +8221,7 @@ "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" }, "is-descriptor": { "version": "0.1.6", @@ -8597,21 +8246,6 @@ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "^2.0.0" - } - }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -8724,18 +8358,6 @@ "isobject": "^3.0.1" } }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", @@ -8756,7 +8378,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, "requires": { "has": "^1.0.1" } @@ -8806,7 +8427,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, "requires": { "has-symbols": "^1.0.0" } @@ -8840,6 +8460,12 @@ "unc-path-regex": "^0.1.2" } }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -8913,21 +8539,21 @@ } }, "istanbul-lib-coverage": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", - "integrity": "sha512-nPvSZsVlbG9aLhZYaC3Oi1gT/tpyo3Yt5fNyf6NmcKIayz4VV/txxJFFKAK/gU4dcNn8ehsanBbVHVl0+amOLA==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw==" }, "istanbul-lib-instrument": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.0.0.tgz", - "integrity": "sha512-eQY9vN9elYjdgN9Iv6NS/00bptm02EBBk70lRMaVjeA6QYocQgenVrSgC28TJurdnZa80AGO3ASdFN+w/njGiQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.1.0.tgz", + "integrity": "sha512-ooVllVGT38HIk8MxDj/OIHXSYvH+1tq/Vb38s8ixt9GoJadXska4WkGY+0wkmtYCZNYtaARniH/DixUGGLZ0uA==", "requires": { "@babel/generator": "^7.0.0", "@babel/parser": "^7.0.0", "@babel/template": "^7.0.0", "@babel/traverse": "^7.0.0", "@babel/types": "^7.0.0", - "istanbul-lib-coverage": "^2.0.1", + "istanbul-lib-coverage": "^2.0.3", "semver": "^5.5.0" } }, @@ -8943,6 +8569,33 @@ "integrity": "sha512-CpKJh9VRNhS+XqZtg1UMejETGEiqwCGDC/uwPEEQwc2nfdbSm73SIE29TplG2gLYuBOOTNDqxzG6A9NtEPLt0w==", "dev": true }, + "js-beautify": { + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.8.9.tgz", + "integrity": "sha512-MwPmLywK9RSX0SPsUJjN7i+RQY9w/yC17Lbrq9ViEefpLRgqAR2BgrMN2AbifkUuhDV8tRauLhLda/9+bE0YQA==", + "requires": { + "config-chain": "^1.1.12", + "editorconfig": "^0.15.2", + "glob": "^7.1.3", + "mkdirp": "~0.5.0", + "nopt": "~4.0.1" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, "js-levenshtein": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", @@ -8959,7 +8612,6 @@ "version": "3.12.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", - "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -9382,11 +9034,6 @@ "integrity": "sha1-+CbJtOKoUR2E46yinbBeGk87cqk=", "dev": true }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" - }, "lodash.escaperegexp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", @@ -9504,6 +9151,14 @@ "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", "dev": true }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "requires": { + "chalk": "^2.0.1" + } + }, "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", @@ -9574,7 +9229,6 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, "requires": { "p-defer": "^1.0.0" } @@ -9599,9 +9253,9 @@ } }, "marked": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.6.0.tgz", - "integrity": "sha512-HduzIW2xApSXKXJSpCipSxKyvMbwRRa/TwMbepmlZziKdH8548WSoDP4SxzulEKjlo8BE39l+2fwJZuRKOln6g==" + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.6.1.tgz", + "integrity": "sha512-+H0L3ibcWhAZE02SKMqmvYsErLo4EAVJxu5h3bHBBDvvjeWXtl92rGUSBYHL2++5Y+RSNgl8dYOAXcYe7lp1fA==" }, "marked-terminal": { "version": "3.2.0", @@ -9617,15 +9271,9 @@ "supports-hyperlinks": "^1.0.1" } }, - "math-random": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", - "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", - "dev": true - }, "md5.js": { "version": "1.3.4", - "resolved": "http://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", "requires": { "hash-base": "^3.0.0", @@ -9866,36 +9514,210 @@ "integrity": "sha1-dVSm+Nhxg0zJe1RisSLEwSTW3pE=" }, "mocha": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", - "integrity": "sha1-bYrlCPWRZ/lA8rWzxKYSrlDJCuY=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.0.1.tgz", + "integrity": "sha512-tQzCxWqxSD6Oyg5r7Ptbev0yAMD8p+Vfh4snPFuiUsWqYj0eVYTDT2DkEY307FTj0WRlIWN9rWMMAUzRmijgVQ==", "requires": { + "ansi-colors": "3.2.3", "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", + "debug": "3.2.6", "diff": "3.5.0", "escape-string-regexp": "1.0.5", - "glob": "7.1.2", + "findup-sync": "2.0.0", + "glob": "7.1.3", "growl": "1.10.5", - "he": "1.1.1", + "he": "1.2.0", + "js-yaml": "3.12.0", + "log-symbols": "2.2.0", "minimatch": "3.0.4", "mkdirp": "0.5.1", - "supports-color": "5.4.0" + "ms": "2.1.1", + "node-environment-flags": "1.0.4", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "12.0.5", + "yargs-parser": "11.1.1", + "yargs-unparser": "1.5.0" }, "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } + "ms": "^2.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "mem": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", + "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^2.0.0" + } + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-limit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", + "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } @@ -10193,21 +10015,21 @@ } }, "ngrok": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ngrok/-/ngrok-3.1.0.tgz", - "integrity": "sha512-8eui7ZJkBaczrl8FS4m7G2qh8JJYUOeznE7UsJAbeGuktGtb6aWXiCGqbgngqK/l0S4jue1JIgIZbFtbMJMv6A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/ngrok/-/ngrok-3.1.1.tgz", + "integrity": "sha512-dCW/Ni12GRBL7XIyiFmilKOfCW7UVFf65I/HpE8FC5rXGJwdhIYLc9Qr05GRb6hNs6fZGwyLpcDLnDhUSgZasQ==", "requires": { "@types/node": "^8.10.30", - "decompress-zip": "^0.3.1", + "decompress-zip": "^0.3.2", "request": "^2.88.0", "request-promise-native": "^1.0.5", "uuid": "^3.3.2" }, "dependencies": { "@types/node": { - "version": "8.10.36", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.36.tgz", - "integrity": "sha512-SL6KhfM7PTqiFmbCW3eVNwVBZ+88Mrzbuvn9olPsfv43mbiWaFY+nRcz/TGGku0/lc2FepdMbImdMY1JrQ+zbw==" + "version": "8.10.40", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.40.tgz", + "integrity": "sha512-RRSjdwz63kS4u7edIwJUn8NqKLLQ6LyqF/X4+4jp38MBT3Vwetewi2N4dgJEshLbDwNgOJXNYoOwzVZUSSLhkQ==" } } }, @@ -10251,6 +10073,14 @@ "lodash.toarray": "^4.4.0" } }, + "node-environment-flags": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.4.tgz", + "integrity": "sha512-M9rwCnWVLW7PX+NUWe3ejEdiLYinRpsEre9hMkU/6NS4h+EEulYaDH1gCEZ2gyXsmw+RXYDaV2JkkTNcsPDJ0Q==", + "requires": { + "object.getownpropertydescriptors": "^2.0.3" + } + }, "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", @@ -10325,12 +10155,9 @@ } }, "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "normalize-url": { "version": "3.3.0", @@ -13588,56 +13415,41 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "nwsapi": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.9.tgz", - "integrity": "sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.0.tgz", + "integrity": "sha512-ZG3bLAvdHmhIjaQ/Db1qvBxsGvFMLIRpQszyqbg31VJ53UP++uZX1/gf3Ut96pdwN9AuDwlMqIYLm0UPCdUeHg==" }, "nyc": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-13.1.0.tgz", - "integrity": "sha512-3GyY6TpQ58z9Frpv4GMExE1SV2tAgYqC7HSy2omEhNiCT3mhT9NyiOvIE8zkbuJVFzmvvNTnE4h/7/wQae7xLg==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-13.3.0.tgz", + "integrity": "sha512-P+FwIuro2aFG6B0Esd9ZDWUd51uZrAEoGutqZxzrVmYl3qSfkLgcQpBPBjtDFsUQLFY1dvTQJPOyeqr8S9GF8w==", "requires": { "archy": "^1.0.0", "arrify": "^1.0.1", - "caching-transform": "^2.0.0", + "caching-transform": "^3.0.1", "convert-source-map": "^1.6.0", - "debug-log": "^1.0.1", "find-cache-dir": "^2.0.0", "find-up": "^3.0.0", "foreground-child": "^1.5.6", "glob": "^7.1.3", - "istanbul-lib-coverage": "^2.0.1", - "istanbul-lib-hook": "^2.0.1", - "istanbul-lib-instrument": "^3.0.0", - "istanbul-lib-report": "^2.0.2", - "istanbul-lib-source-maps": "^2.0.1", - "istanbul-reports": "^2.0.1", + "istanbul-lib-coverage": "^2.0.3", + "istanbul-lib-hook": "^2.0.3", + "istanbul-lib-instrument": "^3.1.0", + "istanbul-lib-report": "^2.0.4", + "istanbul-lib-source-maps": "^3.0.2", + "istanbul-reports": "^2.1.1", "make-dir": "^1.3.0", "merge-source-map": "^1.1.0", "resolve-from": "^4.0.0", - "rimraf": "^2.6.2", + "rimraf": "^2.6.3", "signal-exit": "^3.0.2", "spawn-wrap": "^1.4.2", - "test-exclude": "^5.0.0", + "test-exclude": "^5.1.0", "uuid": "^3.3.2", - "yargs": "11.1.0", - "yargs-parser": "^9.0.2" + "yargs": "^12.0.5", + "yargs-parser": "^11.1.1" }, "dependencies": { - "align-text": { - "version": "0.1.4", - "bundled": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - } - }, - "amdefine": { - "version": "1.0.1", - "bundled": true - }, "ansi-regex": { "version": "3.0.0", "bundled": true @@ -13658,8 +13470,11 @@ "bundled": true }, "async": { - "version": "1.5.2", - "bundled": true + "version": "2.6.2", + "bundled": true, + "requires": { + "lodash": "^4.17.11" + } }, "balanced-match": { "version": "1.0.0", @@ -13673,55 +13488,38 @@ "concat-map": "0.0.1" } }, - "builtin-modules": { - "version": "1.1.1", - "bundled": true - }, "caching-transform": { - "version": "2.0.0", + "version": "3.0.1", "bundled": true, "requires": { - "make-dir": "^1.0.0", - "md5-hex": "^2.0.0", - "package-hash": "^2.0.0", - "write-file-atomic": "^2.0.0" + "hasha": "^3.0.0", + "make-dir": "^1.3.0", + "package-hash": "^3.0.0", + "write-file-atomic": "^2.3.0" } }, "camelcase": { - "version": "1.2.1", - "bundled": true, - "optional": true - }, - "center-align": { - "version": "0.1.3", - "bundled": true, - "optional": true, - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - } + "version": "5.0.0", + "bundled": true }, "cliui": { - "version": "2.1.0", + "version": "4.1.0", "bundled": true, - "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "bundled": true, - "optional": true - } + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" } }, "code-point-at": { "version": "1.1.0", "bundled": true }, + "commander": { + "version": "2.17.1", + "bundled": true, + "optional": true + }, "commondir": { "version": "1.0.1", "bundled": true @@ -13746,16 +13544,12 @@ } }, "debug": { - "version": "3.1.0", + "version": "4.1.1", "bundled": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, - "debug-log": { - "version": "1.0.1", - "bundled": true - }, "decamelize": { "version": "1.2.0", "bundled": true @@ -13767,6 +13561,13 @@ "strip-bom": "^3.0.0" } }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "requires": { + "once": "^1.4.0" + } + }, "error-ex": { "version": "1.3.2", "bundled": true, @@ -13779,11 +13580,11 @@ "bundled": true }, "execa": { - "version": "0.7.0", + "version": "1.0.0", "bundled": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", @@ -13792,10 +13593,12 @@ }, "dependencies": { "cross-spawn": { - "version": "5.1.0", + "version": "6.0.5", "bundled": true, "requires": { - "lru-cache": "^4.0.1", + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", "shebang-command": "^1.2.0", "which": "^1.2.9" } @@ -13835,8 +13638,11 @@ "bundled": true }, "get-stream": { - "version": "3.0.0", - "bundled": true + "version": "4.1.0", + "bundled": true, + "requires": { + "pump": "^3.0.0" + } }, "glob": { "version": "7.1.3", @@ -13851,25 +13657,22 @@ } }, "graceful-fs": { - "version": "4.1.11", + "version": "4.1.15", "bundled": true }, "handlebars": { - "version": "4.0.11", + "version": "4.1.0", "bundled": true, "requires": { - "async": "^1.4.0", + "async": "^2.5.0", "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" }, "dependencies": { "source-map": { - "version": "0.4.4", - "bundled": true, - "requires": { - "amdefine": ">=0.0.4" - } + "version": "0.6.1", + "bundled": true } } }, @@ -13877,6 +13680,13 @@ "version": "3.0.0", "bundled": true }, + "hasha": { + "version": "3.0.0", + "bundled": true, + "requires": { + "is-stream": "^1.0.1" + } + }, "hosted-git-info": { "version": "2.7.1", "bundled": true @@ -13898,25 +13708,13 @@ "bundled": true }, "invert-kv": { - "version": "1.0.0", + "version": "2.0.0", "bundled": true }, "is-arrayish": { "version": "0.2.1", "bundled": true }, - "is-buffer": { - "version": "1.1.6", - "bundled": true, - "optional": true - }, - "is-builtin-module": { - "version": "1.0.0", - "bundled": true, - "requires": { - "builtin-modules": "^1.0.0" - } - }, "is-fullwidth-code-point": { "version": "2.0.0", "bundled": true @@ -13930,31 +13728,40 @@ "bundled": true }, "istanbul-lib-coverage": { - "version": "2.0.1", + "version": "2.0.3", "bundled": true }, "istanbul-lib-hook": { - "version": "2.0.1", + "version": "2.0.3", "bundled": true, "requires": { "append-transform": "^1.0.0" } }, "istanbul-lib-report": { - "version": "2.0.2", + "version": "2.0.4", "bundled": true, "requires": { - "istanbul-lib-coverage": "^2.0.1", + "istanbul-lib-coverage": "^2.0.3", "make-dir": "^1.3.0", - "supports-color": "^5.4.0" + "supports-color": "^6.0.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "bundled": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "istanbul-lib-source-maps": { - "version": "2.0.1", + "version": "3.0.2", "bundled": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^2.0.1", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.3", "make-dir": "^1.3.0", "rimraf": "^2.6.2", "source-map": "^0.6.1" @@ -13967,34 +13774,21 @@ } }, "istanbul-reports": { - "version": "2.0.1", + "version": "2.1.1", "bundled": true, "requires": { - "handlebars": "^4.0.11" + "handlebars": "^4.1.0" } }, "json-parse-better-errors": { "version": "1.0.2", "bundled": true }, - "kind-of": { - "version": "3.2.2", - "bundled": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "lazy-cache": { - "version": "1.0.4", - "bundled": true, - "optional": true - }, "lcid": { - "version": "1.0.0", + "version": "2.0.0", "bundled": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "^2.0.0" } }, "load-json-file": { @@ -14015,17 +13809,16 @@ "path-exists": "^3.0.0" } }, + "lodash": { + "version": "4.17.11", + "bundled": true + }, "lodash.flattendeep": { "version": "4.4.0", "bundled": true }, - "longest": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, "lru-cache": { - "version": "4.1.3", + "version": "4.1.5", "bundled": true, "requires": { "pseudomap": "^1.0.2", @@ -14039,22 +13832,20 @@ "pify": "^3.0.0" } }, - "md5-hex": { - "version": "2.0.0", + "map-age-cleaner": { + "version": "0.1.3", "bundled": true, "requires": { - "md5-o-matic": "^0.1.1" + "p-defer": "^1.0.0" } }, - "md5-o-matic": { - "version": "0.1.1", - "bundled": true - }, "mem": { - "version": "1.1.0", + "version": "4.1.0", "bundled": true, "requires": { - "mimic-fn": "^1.0.0" + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^2.0.0" } }, "merge-source-map": { @@ -14099,15 +13890,19 @@ } }, "ms": { - "version": "2.0.0", + "version": "2.1.1", + "bundled": true + }, + "nice-try": { + "version": "1.0.5", "bundled": true }, "normalize-package-data": { - "version": "2.4.0", + "version": "2.5.0", "bundled": true, "requires": { "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", + "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" } @@ -14143,20 +13938,28 @@ "bundled": true }, "os-locale": { - "version": "2.1.0", + "version": "3.1.0", "bundled": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" } }, + "p-defer": { + "version": "1.0.0", + "bundled": true + }, "p-finally": { "version": "1.0.0", "bundled": true }, - "p-limit": { + "p-is-promise": { "version": "2.0.0", + "bundled": true + }, + "p-limit": { + "version": "2.1.0", "bundled": true, "requires": { "p-try": "^2.0.0" @@ -14174,12 +13977,12 @@ "bundled": true }, "package-hash": { - "version": "2.0.0", + "version": "3.0.0", "bundled": true, "requires": { - "graceful-fs": "^4.1.11", + "graceful-fs": "^4.1.15", + "hasha": "^3.0.0", "lodash.flattendeep": "^4.4.0", - "md5-hex": "^2.0.0", "release-zalgo": "^1.0.0" } }, @@ -14203,6 +14006,10 @@ "version": "2.0.1", "bundled": true }, + "path-parse": { + "version": "1.0.6", + "bundled": true + }, "path-type": { "version": "3.0.0", "bundled": true, @@ -14225,6 +14032,14 @@ "version": "1.0.2", "bundled": true }, + "pump": { + "version": "3.0.0", + "bundled": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "read-pkg": { "version": "3.0.0", "bundled": true, @@ -14249,11 +14064,6 @@ "es6-error": "^4.0.1" } }, - "repeat-string": { - "version": "1.6.1", - "bundled": true, - "optional": true - }, "require-directory": { "version": "2.1.1", "bundled": true @@ -14262,23 +14072,22 @@ "version": "1.0.1", "bundled": true }, + "resolve": { + "version": "1.10.0", + "bundled": true, + "requires": { + "path-parse": "^1.0.6" + } + }, "resolve-from": { "version": "4.0.0", "bundled": true }, - "right-align": { - "version": "0.1.3", - "bundled": true, - "optional": true, - "requires": { - "align-text": "^0.1.1" - } - }, "rimraf": { - "version": "2.6.2", + "version": "2.6.3", "bundled": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "safe-buffer": { @@ -14286,7 +14095,7 @@ "bundled": true }, "semver": { - "version": "5.5.0", + "version": "5.6.0", "bundled": true }, "set-blocking": { @@ -14308,11 +14117,6 @@ "version": "3.0.2", "bundled": true }, - "source-map": { - "version": "0.5.7", - "bundled": true, - "optional": true - }, "spawn-wrap": { "version": "1.4.2", "bundled": true, @@ -14326,7 +14130,7 @@ } }, "spdx-correct": { - "version": "3.0.0", + "version": "3.1.0", "bundled": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -14334,7 +14138,7 @@ } }, "spdx-exceptions": { - "version": "2.1.0", + "version": "2.2.0", "bundled": true }, "spdx-expression-parse": { @@ -14346,7 +14150,7 @@ } }, "spdx-license-ids": { - "version": "3.0.0", + "version": "3.0.3", "bundled": true }, "string-width": { @@ -14372,15 +14176,8 @@ "version": "1.0.0", "bundled": true }, - "supports-color": { - "version": "5.4.0", - "bundled": true, - "requires": { - "has-flag": "^3.0.0" - } - }, "test-exclude": { - "version": "5.0.0", + "version": "5.1.0", "bundled": true, "requires": { "arrify": "^1.0.1", @@ -14390,39 +14187,27 @@ } }, "uglify-js": { - "version": "2.8.29", + "version": "3.4.9", "bundled": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "commander": "~2.17.1", + "source-map": "~0.6.1" }, "dependencies": { - "yargs": { - "version": "3.10.0", + "source-map": { + "version": "0.6.1", "bundled": true, - "optional": true, - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } + "optional": true } } }, - "uglify-to-browserify": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, "uuid": { "version": "3.3.2", "bundled": true }, "validate-npm-package-license": { - "version": "3.0.3", + "version": "3.0.4", "bundled": true, "requires": { "spdx-correct": "^3.0.0", @@ -14440,11 +14225,6 @@ "version": "2.0.0", "bundled": true }, - "window-size": { - "version": "0.1.0", - "bundled": true, - "optional": true - }, "wordwrap": { "version": "0.0.3", "bundled": true @@ -14491,7 +14271,7 @@ "bundled": true }, "write-file-atomic": { - "version": "2.3.0", + "version": "2.4.2", "bundled": true, "requires": { "graceful-fs": "^4.1.11", @@ -14500,7 +14280,7 @@ } }, "y18n": { - "version": "3.2.1", + "version": "4.0.0", "bundled": true }, "yallist": { @@ -14508,78 +14288,29 @@ "bundled": true }, "yargs": { - "version": "11.1.0", + "version": "12.0.5", "bundled": true, "requires": { "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", + "os-locale": "^3.0.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", "string-width": "^2.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" - }, - "dependencies": { - "cliui": { - "version": "4.1.0", - "bundled": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "bundled": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "bundled": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "bundled": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "bundled": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "bundled": true - } + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" } }, "yargs-parser": { - "version": "9.0.2", + "version": "11.1.1", "bundled": true, "requires": { - "camelcase": "^4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "bundled": true - } + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } @@ -14625,8 +14356,7 @@ "object-keys": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", - "dev": true + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" }, "object-visit": { "version": "1.0.1", @@ -14636,14 +14366,24 @@ "isobject": "^3.0.0" } }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" } }, "object.pick": { @@ -14819,8 +14559,7 @@ "p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" }, "p-filter": { "version": "1.0.0", @@ -14839,8 +14578,7 @@ "p-is-promise": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", - "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==", - "dev": true + "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==" }, "p-limit": { "version": "1.3.0", @@ -14938,35 +14676,6 @@ "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", "dev": true }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, "parse-it": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/parse-it/-/parse-it-1.0.8.tgz", @@ -14988,8 +14697,7 @@ "parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" }, "parse-url": { "version": "1.3.11", @@ -15283,12 +14991,6 @@ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, "prettier-standard": { "version": "9.1.1", "resolved": "https://registry.npmjs.org/prettier-standard/-/prettier-standard-9.1.1.tgz", @@ -15411,6 +15113,11 @@ "resolved": "https://registry.npmjs.org/propagate/-/propagate-1.0.0.tgz", "integrity": "sha1-AMLa7t2iDofjeCs0Stuhzd1q1wk=" }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" + }, "protocols": { "version": "1.4.6", "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.6.tgz", @@ -15518,25 +15225,6 @@ "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==", "dev": true }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", - "dev": true, - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, "range-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", @@ -15672,14 +15360,13 @@ } }, "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" } }, "readline": { @@ -15767,15 +15454,6 @@ "private": "^0.1.6" } }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "^0.1.3" - } - }, "regex-escape": { "version": "3.4.8", "resolved": "https://registry.npmjs.org/regex-escape/-/regex-escape-3.4.8.tgz", @@ -16068,14 +15746,29 @@ } }, "request-promise": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.2.tgz", - "integrity": "sha1-0epG1lSm7k+O5qT+oQGMIpEZBLQ=", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.4.tgz", + "integrity": "sha512-8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==", "requires": { "bluebird": "^3.5.0", - "request-promise-core": "1.1.1", - "stealthy-require": "^1.1.0", - "tough-cookie": ">=2.3.3" + "request-promise-core": "1.1.2", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + }, + "request-promise-core": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", + "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", + "requires": { + "lodash": "^4.17.11" + } + } } }, "request-promise-core": { @@ -16087,13 +15780,28 @@ } }, "request-promise-native": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz", - "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz", + "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==", "requires": { - "request-promise-core": "1.1.1", - "stealthy-require": "^1.1.0", - "tough-cookie": ">=2.3.3" + "request-promise-core": "1.1.2", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + }, + "request-promise-core": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", + "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", + "requires": { + "lodash": "^4.17.11" + } + } } }, "require-directory": { @@ -16136,13 +15844,12 @@ } }, "resolve-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", - "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=", - "dev": true, + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", "requires": { - "expand-tilde": "^1.2.2", - "global-modules": "^0.2.3" + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" } }, "resolve-from": { @@ -16692,11 +16399,6 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" - }, "set-value": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", @@ -16768,6 +16470,11 @@ } } }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -17218,9 +16925,9 @@ } }, "sprintf-js": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz", - "integrity": "sha1-Nr54Mgr+WAH2zqPueLblqrlA6gw=" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" }, "sqlite3": { "version": "4.0.6", @@ -17661,9 +17368,9 @@ } }, "swagger-client": { - "version": "3.8.22", - "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.8.22.tgz", - "integrity": "sha512-Jm+X3p6B6hvdSIZ3hJRltrHP2z3if6zt+fmYZaFwyAiPt6IU25PHkipqC92KSCy/pK2bpo9ZQfmphFEtuGc3ig==", + "version": "3.8.24", + "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.8.24.tgz", + "integrity": "sha512-XFPOEz+IUPqIlYne2VAglYqqFBUykQvcVtfWbaE3BEu1xjAvCk1G873vj3NVQ0qR+2P1xq4VYMLCHqfqNGsLRA==", "requires": { "@kyleshockey/js-yaml": "^1.0.1", "@kyleshockey/object-assign-deep": "^0.4.0", @@ -17740,9 +17447,9 @@ } }, "tedious": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tedious/-/tedious-4.1.3.tgz", - "integrity": "sha512-GM6iglXiil+DDXYezbEUTIhqRUxR4vL4Dz1wQKHegkhPGRMWoIl34Vk3esFUaD5B030Ce+pZoc7iky++MOADTA==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/tedious/-/tedious-5.0.3.tgz", + "integrity": "sha512-GSGmm7+o+5Zzi2vSKIKkC+8J4uRc9wOR+DZ3LTecz8quTpA+5KAd2cmfbENxi7dTWTP3ARobpY3jchBqbbo4WQ==", "requires": { "adal-node": "^0.1.22", "big-number": "1.0.0", @@ -18343,17 +18050,17 @@ "integrity": "sha512-BJONvKQWolyNqnzjKQIJflsuvyjapsCPR07maHiRvUOXIbhY56SqmYs+VKevq7SIFXsnlfTEE7meP+6Y/Q2Pyw==" }, "typedoc-plugin-markdown": { - "version": "1.1.25", - "resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-1.1.25.tgz", - "integrity": "sha512-mnKsyNPwQtyeyeHCP3KJlzr/Glwv1yfNYEdQFHqJORTbrXy5M8IwPBAzVdUxQvdg16cvHHwUweeBOnTV98ZtxA==", + "version": "1.1.26", + "resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-1.1.26.tgz", + "integrity": "sha512-OMl3HU346gGmPpaHndjHdMWVm6zdR1iSSRgd+Q0mMT4s2f5mijkZSrCe1SFr9meZG8bPMeQo+gNUZ36pGdL6iA==", "requires": { "turndown": "^5.0.3" } }, "typescript": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.1.tgz", - "integrity": "sha512-cTmIDFW7O0IHbn1DPYjkiebHxwtCMU+eTy30ZtJNBPF9j2O1ITu5XH2YnBeVRKWHqF+3JQwWJv0Q0aUgX8W7IA==" + "version": "3.3.3333", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.3333.tgz", + "integrity": "sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==" }, "typpy": { "version": "2.3.10", @@ -18547,7 +18254,7 @@ "upath": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha1-NSVll+RqWB20eT0M5H+prr/J+r0=" + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==" }, "update-notifier": { "version": "2.3.0", @@ -18707,7 +18414,7 @@ }, "validator": { "version": "9.4.1", - "resolved": "http://registry.npmjs.org/validator/-/validator-9.4.1.tgz", + "resolved": "https://registry.npmjs.org/validator/-/validator-9.4.1.tgz", "integrity": "sha512-YV5KjzvRmSyJ1ee/Dm5UED0G+1L4GZnLN3w6/T+zZm8scVua4sOhYKWTUrKa0H/tMiJyO9QLHMPN+9mB/aMunA==" }, "vary": { @@ -19049,7 +18756,7 @@ }, "xmlbuilder": { "version": "9.0.7", - "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" }, "xmldom": { @@ -19140,6 +18847,171 @@ } } }, + "yargs-unparser": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz", + "integrity": "sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==", + "requires": { + "flat": "^4.1.0", + "lodash": "^4.17.11", + "yargs": "^12.0.5" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + }, + "mem": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", + "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^2.0.0" + } + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-limit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", + "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, "yn": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/yn/-/yn-3.0.0.tgz", diff --git a/package.json b/package.json index 10cd7ef8..4863fb4b 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "@microsoft/microsoft-graph-client": "1.4.0", "@semantic-release/exec": "^3.3.2", "adal-node": "0.1.28", - "async": "2.6.1", + "async": "2.6.2", "async-promises": "0.2.1", "azure-arm-cognitiveservices": "2.4.1", "azure-arm-resource": "7.3.0", @@ -60,39 +60,39 @@ "azure-arm-website": "5.7.0", "bluebird": "^3.5.3", "body-parser": "1.18.3", - "botbuilder": "^4.1.7", - "botbuilder-ai": "^4.2.0", - "botbuilder-azure": "^4.2.0", + "botbuilder": "^4.2.1", + "botbuilder-ai": "^4.2.1", + "botbuilder-azure": "^4.2.1", "botbuilder-choices": "^4.0.0-preview1.2", - "botbuilder-dialogs": "^4.2.0", + "botbuilder-dialogs": "^4.2.1", "botbuilder-prompts": "^4.0.0-preview1.2", - "botlib": "^0.1.10", + "botlib": "^0.1.12", "chai": "4.2.0", "child_process": "^1.0.2", - "chokidar": "2.0.4", + "chokidar": "2.1.2", "cli-spinner": "^0.2.8", - "csv-parse": "4.3.1", + "csv-parse": "4.3.3", "dotenv-extended": "2.3.0", "express": "4.16.4", "express-promise-router": "3.0.3", "fs-extra": "7.0.1", - "fs-walk": "0.0.2", "ip": "^1.1.5", + "js-beautify": "^1.8.9", "localize": "0.4.7", - "marked": "0.6.0", - "mocha": "5.2.0", + "marked": "0.6.1", + "mocha": "6.0.1", "mocha-typescript": "1.1.17", "ms": "2.1.1", "ms-rest-azure": "2.6.0", "nexmo": "2.4.1", - "ngrok": "^3.1.0", - "nyc": "^13.1.0", + "ngrok": "^3.1.1", + "nyc": "^13.3.0", "opn": "^5.4.0", "pragmatismo-io-framework": "1.0.19", "process-exists": "^3.1.0", "public-ip": "^3.0.0", "reflect-metadata": "0.1.13", - "request-promise-native": "1.0.5", + "request-promise-native": "1.0.7", "scanf": "^1.0.2", "sequelize": "4.42.0", "sequelize-typescript": "0.6.7", @@ -100,13 +100,13 @@ "simple-git": "^1.107.0", "sqlite3": "4.0.6", "strict-password-generator": "^1.1.2", - "swagger-client": "3.8.22", - "tedious": "4.1.3", + "swagger-client": "3.8.24", + "tedious": "5.0.3", "ts-node": "8.0.2", "typedoc": "0.14.2", "typedoc-plugin-external-module-name": "^2.0.0", - "typedoc-plugin-markdown": "^1.1.25", - "typescript": "3.3.1", + "typedoc-plugin-markdown": "^1.1.26", + "typescript": "3.3.3333", "url-join": "4.0.0", "vbscript-to-typescript": "^1.0.8", "wait-until": "0.0.2", @@ -121,13 +121,13 @@ "@semantic-release/npm": "^5.1.4", "@semantic-release/release-notes-generator": "^7.1.4", "@types/chai": "4.1.7", - "@types/mocha": "5.2.5", - "@types/sequelize": "4.27.34", + "@types/mocha": "5.2.6", + "@types/sequelize": "4.27.37", "@types/url-join": "4.0.0", "@types/winston": "2.4.4", "ban-sensitive-files": "1.9.2", - "commitizen": "^3.0.5", - "coveralls": "^3.0.2", + "commitizen": "^3.0.7", + "coveralls": "^3.0.3", "cz-conventional-changelog": "^2.1.0", "dependency-check": "3.3.0", "deps-ok": "1.4.1", diff --git a/packages/admin.gbapp/dialogs/AdminDialog.ts b/packages/admin.gbapp/dialogs/AdminDialog.ts index 4d3b4a03..c3473f20 100644 --- a/packages/admin.gbapp/dialogs/AdminDialog.ts +++ b/packages/admin.gbapp/dialogs/AdminDialog.ts @@ -178,7 +178,7 @@ export class AdminDialog extends IGBDialog { ); } - private static setupSecurityDialogs(min: any) { + private static setupSecurityDialogs(min: GBMinInstance) { min.dialogs.add( new WaterfallDialog('/setupSecurity', [ async step => { diff --git a/packages/console.gblib/services/ConsoleDirectLine.ts b/packages/console.gblib/services/ConsoleDirectLine.ts index a15768f0..9cf41844 100644 --- a/packages/console.gblib/services/ConsoleDirectLine.ts +++ b/packages/console.gblib/services/ConsoleDirectLine.ts @@ -36,7 +36,6 @@ const _ = require('lodash'); const Parse = require('csv-parse'); const Async = require('async'); const UrlJoin = require('url-join'); -const Walk = require('fs-walk'); const logger = require('../../../src/logger'); const Swagger = require('swagger-client'); const rp = require('request-promise'); diff --git a/packages/core.gbapp/services/GBAPIService.ts b/packages/core.gbapp/services/GBAPIService.ts index 85f3ad5a..d1a2e64f 100644 --- a/packages/core.gbapp/services/GBAPIService.ts +++ b/packages/core.gbapp/services/GBAPIService.ts @@ -35,6 +35,7 @@ import { TurnContext } from 'botbuilder'; import { WaterfallStepContext } from 'botbuilder-dialogs'; import { GBMinInstance } from 'botlib'; +import { GBAdminService } from '../../admin.gbapp/services/GBAdminService'; const WaitUntil = require('wait-until'); class SysClass { @@ -44,7 +45,11 @@ class SysClass { this.min = min; } - public async deployBot( + public generatePassword(){ + return GBAdminService.getRndPassword(); + } + + public async createABotFarmUsing( botId, description, location, diff --git a/packages/core.gbapp/services/GBDeployer.ts b/packages/core.gbapp/services/GBDeployer.ts index cbed900d..1234aa89 100644 --- a/packages/core.gbapp/services/GBDeployer.ts +++ b/packages/core.gbapp/services/GBDeployer.ts @@ -231,7 +231,7 @@ export class GBDeployer { case '.gbdialog': const vm = new GBVMService(); - return vm.loadJS(localPath, min, this.core, this, localPath); + return vm.loadDialogPackage(localPath, min, this.core, this); default: const err = GBError.create(`GuaribasBusinessError: Unknown package type: ${packageType}.`); diff --git a/packages/core.gbapp/services/GBMinService.ts b/packages/core.gbapp/services/GBMinService.ts index f0ad8c7e..6191e1c8 100644 --- a/packages/core.gbapp/services/GBMinService.ts +++ b/packages/core.gbapp/services/GBMinService.ts @@ -45,6 +45,7 @@ const AuthenticationContext = require('adal-node').AuthenticationContext; import { AutoSaveStateMiddleware, BotFrameworkAdapter, ConversationState, MemoryStorage, UserState } from 'botbuilder'; +import { ConfirmPrompt } from 'botbuilder-dialogs'; import { GBMinInstance, IGBAdminService, IGBConversationalService, IGBCoreService, IGBPackage } from 'botlib'; import { GBAnalyticsPackage } from '../../analytics.gblib'; import { GBCorePackage } from '../../core.gbapp'; @@ -56,7 +57,6 @@ import { GuaribasInstance } from '../models/GBModel'; import { Messages } from '../strings'; import { GBAdminPackage } from './../../admin.gbapp/index'; import { GBDeployer } from './GBDeployer'; -import { ConfirmPrompt } from 'botbuilder-dialogs'; /** Minimal service layer for a bot. */ @@ -108,7 +108,7 @@ export class GBMinService { const uiPackage = 'default.gbui'; server.use('/', express.static(UrlJoin(GBDeployer.deployFolder, uiPackage, 'build'))); - Promise.all( + await Promise.all( instances.map(async instance => { // Gets the authorization key for each instance from Bot Service. @@ -119,39 +119,7 @@ export class GBMinService { server.get('/instances/:botId', (req, res) => { (async () => { - // Returns the instance object to clients requesting bot info. - - let botId = req.params.botId; - if (botId === '[default]') { - botId = bootInstance.botId; - } - - const instance = await this.core.loadInstance(botId); - - if (instance) { - const speechToken = await this.getSTSToken(instance); - let theme = instance.theme; - if (!theme) { - theme = 'default.gbtheme'; - } - - res.send( - JSON.stringify({ - instanceId: instance.instanceId, - botId: botId, - theme: theme, - secret: instance.webchatKey, // TODO: Use token. - speechToken: speechToken, - conversationId: webchatToken.conversationId, - authenticatorTenant: instance.authenticatorTenant, - authenticatorClientId: instance.authenticatorClientId - }) - ); - } else { - const error = `Instance not found: ${botId}.`; - res.sendStatus(error); - logger.error(error); - } + await this.sendInstanceToClient(req, bootInstance, res, webchatToken); })(); }); @@ -171,7 +139,7 @@ export class GBMinService { const url = `/api/messages/${instance.botId}`; server.post(url, async (req, res) => { - return await this.receiver(adapter, req, res, conversationState, min, instance, appPackages); + await this.receiver(adapter, req, res, conversationState, min, instance, appPackages); }); logger.info(`GeneralBots(${instance.engineName}) listening on: ${url}.`); @@ -186,71 +154,94 @@ export class GBMinService { // Clients get redirected here in order to create an OAuth authorize url and redirect them to AAD. // There they will authenticate and give their consent to allow this app access to // some resource they own. - server.get(`/${min.instance.botId}/auth`, function(req, res) { - let authorizationUrl = UrlJoin( - min.instance.authenticatorAuthorityHostUrl, - min.instance.authenticatorTenant, - '/oauth2/authorize' - ); - authorizationUrl = `${authorizationUrl}?response_type=code&client_id=${ - min.instance.authenticatorClientId - }&redirect_uri=${UrlJoin(min.instance.botEndpoint, min.instance.botId, 'token')}`; - res.redirect(authorizationUrl); - }); + this.handleOAuthRequests(server, min); // After consent is granted AAD redirects here. The ADAL library // is invoked via the AuthenticationContext and retrieves an // access token that can be used to access the user owned resource. - server.get(`/${min.instance.botId}/token`, async (req, res) => { - const state = await min.adminService.getValue(min.instance.instanceId, 'AntiCSRFAttackState'); - - if (req.query.state !== state) { - const msg = 'WARNING: state field was not provided as anti-CSRF token'; - logger.error(msg); - throw new Error(msg); - } - - const authenticationContext = new AuthenticationContext( - UrlJoin(min.instance.authenticatorAuthorityHostUrl, min.instance.authenticatorTenant) - ); - - const resource = 'https://graph.microsoft.com'; - - authenticationContext.acquireTokenWithAuthorizationCode( - req.query.code, - UrlJoin(instance.botEndpoint, min.instance.botId, '/token'), - resource, - instance.authenticatorClientId, - instance.authenticatorClientSecret, - async (err, token) => { - if (err) { - const msg = `Error acquiring token: ${err}`; - logger.error(msg); - res.send(msg); - } else { - await this.adminService.setValue(instance.instanceId, 'refreshToken', token.refreshToken); - await this.adminService.setValue(instance.instanceId, 'accessToken', token.accessToken); - await this.adminService.setValue(instance.instanceId, 'expiresOn', token.expiresOn.toString()); - await this.adminService.setValue(instance.instanceId, 'AntiCSRFAttackState', null); - - res.redirect(min.instance.botEndpoint); - } - } - ); - }); + this.handleOAuthTokenRequests(server, min, instance); }) ); } + private handleOAuthTokenRequests(server: any, min: GBMinInstance, instance: GuaribasInstance) { + server.get(`/${min.instance.botId}/token`, async (req, res) => { + const state = await min.adminService.getValue(min.instance.instanceId, 'AntiCSRFAttackState'); + if (req.query.state !== state) { + const msg = 'WARNING: state field was not provided as anti-CSRF token'; + logger.error(msg); + throw new Error(msg); + } + const authenticationContext = new AuthenticationContext( + UrlJoin(min.instance.authenticatorAuthorityHostUrl, min.instance.authenticatorTenant)); + const resource = 'https://graph.microsoft.com'; + authenticationContext.acquireTokenWithAuthorizationCode( + req.query.code, UrlJoin(instance.botEndpoint, min.instance.botId, '/token'), + resource, instance.authenticatorClientId, instance.authenticatorClientSecret, async (err, token) => { + if (err) { + const msg = `Error acquiring token: ${err}`; + logger.error(msg); + res.send(msg); + } else { + await this.adminService.setValue(instance.instanceId, 'refreshToken', token.refreshToken); + await this.adminService.setValue(instance.instanceId, 'accessToken', token.accessToken); + await this.adminService.setValue(instance.instanceId, 'expiresOn', token.expiresOn.toString()); + await this.adminService.setValue(instance.instanceId, 'AntiCSRFAttackState', null); + res.redirect(min.instance.botEndpoint); + } + }); + }); + } + + private handleOAuthRequests(server: any, min: GBMinInstance) { + server.get(`/${min.instance.botId}/auth`, function (req, res) { + let authorizationUrl = UrlJoin(min.instance.authenticatorAuthorityHostUrl, min.instance.authenticatorTenant, '/oauth2/authorize'); + authorizationUrl = `${authorizationUrl}?response_type=code&client_id=${min.instance.authenticatorClientId}&redirect_uri=${UrlJoin(min.instance.botEndpoint, min.instance.botId, 'token')}`; + res.redirect(authorizationUrl); + }); + } + + /** + * Returns the instance object to clients requesting bot info. + */ + private async sendInstanceToClient(req, bootInstance: GuaribasInstance, res: any, webchatToken: any) { + let botId = req.params.botId; + if (botId === '[default]') { + botId = bootInstance.botId; + } + const instance = await this.core.loadInstance(botId); + if (instance) { + const speechToken = await this.getSTSToken(instance); + let theme = instance.theme; + if (!theme) { + theme = 'default.gbtheme'; + } + res.send(JSON.stringify({ + instanceId: instance.instanceId, + botId: botId, + theme: theme, + secret: instance.webchatKey, + speechToken: speechToken, + conversationId: webchatToken.conversationId, + authenticatorTenant: instance.authenticatorTenant, + authenticatorClientId: instance.authenticatorClientId + })); + } else { + const error = `Instance not found: ${botId}.`; + res.sendStatus(error); + logger.error(error); + } + } + /** * Get Webchat key from Bot Service. * * @param instance The Bot instance. * */ - public async getWebchatToken(instance: any) { + private async getWebchatToken(instance: any) { const options = { url: 'https://directline.botframework.com/v3/directline/tokens/generate', method: 'POST', @@ -276,7 +267,7 @@ export class GBMinService { * @param instance The general bot instance. * */ - public async getSTSToken(instance: any) { + private async getSTSToken(instance: any) { // TODO: Make dynamic: https://CHANGE.api.cognitive.microsoft.com/sts/v1.0 const options = { @@ -327,7 +318,7 @@ export class GBMinService { return { min, adapter, conversationState }; } - private invokeLoadBot(appPackages: any[], min: any, server: any) { + private invokeLoadBot(appPackages: any[], min: GBMinInstance, server: any) { const sysPackages = new Array(); // NOTE: A semicolon is necessary before this line. [ @@ -348,12 +339,12 @@ export class GBMinService { p.channel.received(req, res); }); } - }, this); + }, this); appPackages.forEach(e => { e.sysPackages = sysPackages; e.loadBot(min); - }, this); + }, this); } /** @@ -364,11 +355,13 @@ export class GBMinService { req: any, res: any, conversationState: ConversationState, - min: any, + min: GBMinInstance, instance: any, appPackages: any[] ) { - return await adapter.processActivity(req, res, async context => { + + await adapter.processActivity(req, res, async context => { + // Get loaded user state const state = await conversationState.get(context); const step = await min.dialogs.createContext(context, state); @@ -412,32 +405,7 @@ export class GBMinService { // Processes messages. } else if (context.activity.type === 'message') { // Checks for /admin request. - if (context.activity.text === 'alpha-vba') { - min.sandbox.context = context; - min.sandbox.step = step; - min.sandbox['bot'].bind(min.sandbox); - await min.sandbox['bot'](); - } else if (context.activity.text === 'admin') { - await step.beginDialog('/admin'); - - // Checks for /menu JSON signature. - } else if (context.activity.text.startsWith('{"title"')) { - await step.beginDialog('/menu', { - data: JSON.parse(context.activity.text) - }); - - // Otherwise, continue to the active dialog in the stack. - } else { - const user = await min.userProfile.get(context, {}); - - if (step.activeDialog) { - await step.continueDialog(); - } else { - await step.beginDialog('/answer', { - query: context.activity.text - }); - } - } + await this.processMessageActivity(context, min, step); // Processes events. } else if (context.activity.type === 'event') { @@ -445,31 +413,7 @@ export class GBMinService { // TODO: Understand MSFT changes: await step.endAll(); - if (context.activity.name === 'whoAmI') { - await step.beginDialog('/whoAmI'); - } else if (context.activity.name === 'showSubjects') { - await step.beginDialog('/menu'); - } else if (context.activity.name === 'giveFeedback') { - await step.beginDialog('/feedback', { - fromMenu: true - }); - } else if (context.activity.name === 'showFAQ') { - await step.beginDialog('/faq'); - } else if (context.activity.name === 'answerEvent') { - await step.beginDialog('/answerEvent', { - questionId: (context.activity as any).data, - fromFaq: true - }); - } else if (context.activity.name === 'quality') { - await step.beginDialog('/quality', { - score: (context.activity as any).data - }); - } else if (context.activity.name === 'updateToken') { - const token = (context.activity as any).data; - await step.beginDialog('/adminUpdateToken', { token: token }); - } else { - await step.continueDialog(); - } + await this.processEventActivity(context, step); } await conversationState.saveChanges(context, true); } catch (error) { @@ -481,4 +425,69 @@ export class GBMinService { } }); } + + private async processEventActivity(context, step: any) { + if (context.activity.name === 'whoAmI') { + await step.beginDialog('/whoAmI'); + } else if (context.activity.name === 'showSubjects') { + await step.beginDialog('/menu'); + } else if (context.activity.name === 'giveFeedback') { + await step.beginDialog('/feedback', { + fromMenu: true + }); + } else if (context.activity.name === 'showFAQ') { + await step.beginDialog('/faq'); + } else if (context.activity.name === 'answerEvent') { + await step.beginDialog('/answerEvent', { + questionId: (context.activity).data, + fromFaq: true + }); + } else if (context.activity.name === 'quality') { + await step.beginDialog('/quality', { + score: (context.activity).data + }); + } else if (context.activity.name === 'updateToken') { + const token = (context.activity).data; + await step.beginDialog('/adminUpdateToken', { token: token }); + } else { + await step.continueDialog(); + } + } + + private async processMessageActivity(context, min: GBMinInstance, step: any) { + + // Direct script invoking by itent name. + + let mainMethod = min.scriptMap[context.activity.text]; + if (mainMethod != undefined) { + min.sandbox.context = context; + min.sandbox.step = step; + min.sandbox[mainMethod].bind(min.sandbox); + await min.sandbox[mainMethod](); + + }else if (context.activity.text === 'admin') { + + await step.beginDialog('/admin'); + + // Checks for /menu JSON signature. + } else if (context.activity.text.startsWith('{"title"')) { + + await step.beginDialog('/menu', { + data: JSON.parse(context.activity.text) + }); + // Otherwise, continue to the active dialog in the stack. + + } else { + + const user = await min.userProfile.get(context, {}); + if (step.activeDialog) { + await step.continueDialog(); + } else { + await step.beginDialog('/answer', { + query: context.activity.text + }); + } + + } + } } diff --git a/packages/core.gbapp/services/GBVMService.ts b/packages/core.gbapp/services/GBVMService.ts index a016f362..3818f063 100644 --- a/packages/core.gbapp/services/GBVMService.ts +++ b/packages/core.gbapp/services/GBVMService.ts @@ -35,19 +35,22 @@ import { WaterfallDialog } from 'botbuilder-dialogs'; import { GBMinInstance, IGBCoreService } from 'botlib'; import * as fs from 'fs'; -import DialogClass from './GBAPIService'; import { GBDeployer } from './GBDeployer'; import { TSCompiler } from './TSCompiler'; -const util = require('util'); +import GBAPIService from './GBAPIService'; +import DialogClass from './GBAPIService'; +const walkPromise = require('walk-promise'); const logger = require('../../../src/logger'); const vm = require('vm'); const UrlJoin = require('url-join'); const vb2ts = require('vbscript-to-typescript/dist/converter'); +var beautify = require('js-beautify').js; /** * @fileoverview Virtualization services for emulation of BASIC. - * This alpha version is using a converter to translate BASIC to TS - * and string replacements to emulate await code. + * This alpha version is using a hack in form of converter to + * translate BASIC to TSand string replacements to emulate await code. + * See http://jsfiddle.net/roderick/dym05hsy for more info on vb2ts, so * http://stevehanov.ca/blog/index.php?id=92 should be used to run it without * translation and enhance classic BASIC experience. */ @@ -55,41 +58,95 @@ const vb2ts = require('vbscript-to-typescript/dist/converter'); export class GBVMService implements IGBCoreService { private readonly script = new vm.Script(); - public async loadJS( - filename: string, - min: GBMinInstance, - core: IGBCoreService, - deployer: GBDeployer, - localPath: string - ): Promise { - const path = 'packages/default.gbdialog'; - const file = 'bot.vbs'; - const source = UrlJoin(path, file); + public async loadDialogPackage(folder: string, min: GBMinInstance, core: IGBCoreService, deployer: GBDeployer) { + const files = await walkPromise(folder); - // Example when handled through fs.watch() listener - fs.watchFile(source, async (curr, prev) => { - await this.run(source, path, min, deployer, filename); - }); - await this.run(source, path, min, deployer, filename); - this.addHearDialog(min); + return Promise.all( + files.map(async file => { + if ( + file.name.endsWith('.vbs') || + file.name.endsWith('.vb') || + file.name.endsWith('.basic') || + file.name.endsWith('.bas') + ) { + const mainName = file.name.replace(/\-|\./g, ''); + // min.scriptMap[file.name] = ; + + const filename = UrlJoin(folder, file.name); + fs.watchFile(filename, async () => { + await this.run(filename, min, deployer, mainName); + }); + await this.run(filename, min, deployer, mainName); + this.addHearDialog(min); + } + }) + ); } - public async run(source: any, path: string, min: any, deployer: GBDeployer, filename: string) { - // Converts VBS into TS. + /** + * Converts General Bots BASIC + * + * + * @param code General Bots BASIC + */ + public convertGBASICToVBS(code: string) { + // Start and End of VB2TS tags of processing. - vb2ts.convertFile(source); + code = `<%\n${code}`; + + // Keywords from General Bots BASIC. + + code = code.replace(/(hear)\s*(\w+)/g, ($0, $1, $2) => { + return `${$2} = hear()`; + }); + + code = code.replace(/(wait)\s*(\d+)/g, ($0, $1, $2) => { + return `sys().wait(${$2})`; + }); + + code = code.replace(/(generate a password)/g, ($0, $1) => { + return 'let password = sys().generatePassword()'; + }); + + code = code.replace(/(create a bot farm using)(\s)(.*)/g, ($0, $1, $2, $3) => { + return `sys().createABotFarmUsing (${$3})`; + }); + + code = code.replace(/(talk)(\s)(.*)/g, ($0, $1, $2, $3) => { + return `talk (${$3})\n`; + }); + + code = `${code}\n%>`; + + return code; + } + + public async run(filename: any, min: GBMinInstance, deployer: GBDeployer, mainName: string) { + // Converts General Bots BASIC into regular VBS + + const basicCode: string = fs.readFileSync(filename, 'utf8'); + const vbsCode = await this.convertGBASICToVBS(basicCode); + const vbsFile = `${filename}.compiled`; + fs.writeFileSync(vbsFile, vbsCode, 'utf8'); + + // Converts VBS into TS. + vb2ts.convertFile(vbsFile); // Convert TS into JS. - const tsfile = `bot.ts`; + const tsfile: string = `${filename}.ts`; + let tsCode: string = fs.readFileSync(tsfile, 'utf8'); + tsCode = tsCode.replace(/export.*\n/g, `export function ${mainName}() {`); + fs.writeFileSync(tsfile, tsCode); + const tsc = new TSCompiler(); - tsc.compile([UrlJoin(path, tsfile)]); + tsc.compile([tsfile]); // Run JS into the GB context. - const jsfile = `bot.js`; - const localPath = UrlJoin(path, jsfile); + const jsfile = `${tsfile}.js`.replace('.ts', ''); + + if (fs.existsSync(jsfile)) { + let code: string = fs.readFileSync(jsfile, 'utf8'); - if (fs.existsSync(localPath)) { - let code: string = fs.readFileSync(localPath, 'utf8'); code = code.replace(/^.*exports.*$/gm, ''); // Finds all hear calls. @@ -104,7 +161,7 @@ export class GBVMService implements IGBCoreService { // Writes async body. - const variable = match1[1]; // variable = hear(); + const variable = match1[1]; // Construct variable = hear (). parsedCode = code.substring(pos, pos + match1.index); parsedCode += `hear (async (${variable}) => {\n`; @@ -146,22 +203,10 @@ export class GBVMService implements IGBCoreService { code = parsedCode; } - parsedCode = parsedCode.replace(/("[^"]*"|'[^']*')|\btalk\b/g, ($0, $1) => { - return $1 == undefined ? 'this.talk' : $1; - }); + parsedCode = this.handleThisAndAwait(parsedCode); - parsedCode = parsedCode.replace(/("[^"]*"|'[^']*')|\bhear\b/g, ($0, $1) => { - return $1 == undefined ? 'this.hear' : $1; - }); - - parsedCode = parsedCode.replace(/("[^"]*"|'[^']*')|\bsendEmail\b/g, ($0, $1) => { - return $1 == undefined ? 'this.sendEmail' : $1; - }); - - parsedCode = parsedCode.replace(/this\./gm, 'await this.'); - parsedCode = parsedCode.replace(/function/gm, 'async function'); - - fs.writeFileSync(localPath, parsedCode); + parsedCode = beautify(parsedCode, { indent_size: 2, space_in_empty_paren: true }) + fs.writeFileSync(jsfile, parsedCode); const sandbox: DialogClass = new DialogClass(min); const context = vm.createContext(sandbox); @@ -172,6 +217,28 @@ export class GBVMService implements IGBCoreService { } } + private handleThisAndAwait(code: string) { + // this insertion. + + code = code.replace(/sys\(\)/g, 'this.sys()'); + code = code.replace(/("[^"]*"|'[^']*')|\btalk\b/g, ($0, $1) => { + return $1 == undefined ? 'this.talk' : $1; + }); + code = code.replace(/("[^"]*"|'[^']*')|\bhear\b/g, ($0, $1) => { + return $1 == undefined ? 'this.hear' : $1; + }); + code = code.replace(/("[^"]*"|'[^']*')|\bsendEmail\b/g, ($0, $1) => { + return $1 == undefined ? 'this.sendEmail' : $1; + }); + + // await insertion. + + code = code.replace(/this\./gm, 'await this.'); + code = code.replace(/function/gm, 'async function'); + + return code; + } + private addHearDialog(min) { min.dialogs.add( new WaterfallDialog('/hear', [ diff --git a/packages/default.gbdialog/bot.vbs b/packages/default.gbdialog/bot.vbs index d81ccc15..f21417c8 100644 --- a/packages/default.gbdialog/bot.vbs +++ b/packages/default.gbdialog/bot.vbs @@ -1,54 +1,20 @@ -<% -'**************************************************************************** -' ( )_ _ -' _ _ _ __ _ _ __ ___ ___ _ _ | ,_)(_) ___ ___ _ -' ( '_`\ ( '__)/'_` ) /'_ `\/' _ ` _ `\ /'_` )| | | |/',__)/' _ `\ /'_`\ -' | (_) )| | ( (_| |( (_) || ( ) ( ) |( (_| || |_ | |\__, \| ( ) |( (_) ) -' | ,__/'(_) `\__,_)`\__ |(_) (_) (_)`\__,_)`\__)(_)(____/(_) (_)`\___/' -' | | ( )_) | -' (_) \___/' -' -' General Bots Copyright (c) Pragmatismo.io. All rights reserved. -' Licensed under the AGPL-3.0. -' -' This BASIC file is based on this JavaScript file by Rodrigo Ruotolo: -' -> http://jsfiddle.net/roderick/dym05hsy -' -' According to our dual licensing model, this program can be used either -' under the terms of the GNU Affero General Public License, version 3, -' or under a proprietary license. -' -' The texts of the GNU Affero General Public License with an additional -' permission and of our proprietary license can be found at and -' in the LICENSE file you have received along with this program. -' -' This program is distributed in the hope that it will be useful, -' but WITHOUT ANY WARRANTY, without even the implied warranty of -' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -' GNU Affero General Public License for more details. -' -' "General Bots" is a registered trademark of Pragmatismo.io. -' The licensing of the program under the AGPLv3 does not imply a -' trademark license. Therefore any rights, title and interest in -' our trademarks remain entirely with us. -' -'**************************************************************************** +' General Bots Copyright (c) Pragmatismo.io. All rights reserved. Licensed under the AGPL-3.0. -talk ("How many installments do you want to pay your Credit?") -installments = hear () +talk "How many installments do you want to pay your Credit?" +hear installments if installments > 60 then - talk ("The maximum number of payments is 60") + talk "The maximum number of payments is 60" else - talk ("What is the amount requested?") - ammount = hear () + talk "What is the amount requested?" + hear ammount if ammount >100000 then - talk ("We are sorry, we can only accept proposals bellow 100k") + talk "We are sorry, we can only accept proposals bellow 100k" else - talk ("What is the best due date?") - dueDate = hear () + talk "What is the best due date?" + hear dueDate interestRate = 0 adjustment = 0 @@ -84,15 +50,15 @@ else end if if installments > 60 then - talk ("The maximum number of payments is 60") + talk "The maximum number of payments is 60" end if ' TODO: This must be reviewed in terms of financing logic. - nInstallments = parseInt(installments) - vAmmount = parseFloat(ammount) - initialPayment = parseFloat(vAmmount) * 0.3 ' 30% of the value + nInstallments = parseIntinstallments + vAmmount = parseFloatammount + initialPayment = parseFloatvAmmount * 0.3 ' 30% of the value tac = 800 adjustment = 1.3 @@ -100,13 +66,12 @@ else paymentValue = totalValue * adjustment finalValue = paymentValue * nInstallments + initialPayment - talk("Congratulations! Your credit analysis is **done**:") - talk("First payment: **" + initialPayment + "**") - talk("Payment value: **" + paymentValue + "**") - talk("Interest Rate: **" + interestRate + "%**") - talk("Total Value: **" + totalValue + "**") - talk("Final Value: **" + finalValue + "**") + talk "Congratulations! Your credit analysis is **done**:" + talk "First payment: **" + initialPayment + "**" + talk "Payment value: **" + paymentValue + "**" + talk "Interest Rate: **" + interestRate + "%**" + talk "Total Value: **" + totalValue + "**" + talk "Final Value: **" + finalValue + "**" end if end if -%> \ No newline at end of file diff --git a/packages/default.gbdialog/sys-bot-farm-creation.vbs b/packages/default.gbdialog/sys-bot-farm-creation.vbs index c18b3305..7ab1d431 100644 --- a/packages/default.gbdialog/sys-bot-farm-creation.vbs +++ b/packages/default.gbdialog/sys-bot-farm-creation.vbs @@ -1,8 +1,7 @@ -' General Bots Copyright (c) Pragmatismo.io. All rights reserved. -' Licensed under the AGPL-3.0. +' General Bots Copyright (c) Pragmatismo.io. All rights reserved. Licensed under the AGPL-3.0. talk "Please, tell me what is the Bot name?" -hear name +hear title talk "If you tell me your username/password, I can show service subscription list to you." talk "What is your Username (eg.: human@domain.bot)" @@ -16,7 +15,8 @@ talk "Can you describe in a few words what the bot is about?" hear description talk "Please, choose what subscription would you like to connect to:" -hear one of subscriptions (email, password) into subscriptionId + +subscriptionId = "" talk "Please, provide the cloud location just like 'westus'?" hear cloudLocation @@ -26,6 +26,7 @@ hear nlpKey talk "Sorry, this part cannot be automated yet due to Microsoft schedule, please go to https://apps.dev.microsoft.com/portal/register-app to generate manually an App ID and App Secret." wait 1 + talk "Please, provide the App ID you just generated:" hear appId @@ -33,4 +34,5 @@ talk "Please, provide the Generated Password:" hear appPassword talk "Now, I am going to create a Bot farm... Wait 5 minutes or more..." -create bot farm (name, username, password, description, cloudLocation, nlpKey, appId, appPassword, subscriptionId) + +create a bot farm using title, username, password, description, cloudLocation, nlpKey, appId, appPassword, subscriptionId diff --git a/packages/security.gblib/services/SecService.ts b/packages/security.gblib/services/SecService.ts index c4d7d675..277b0081 100644 --- a/packages/security.gblib/services/SecService.ts +++ b/packages/security.gblib/services/SecService.ts @@ -36,7 +36,6 @@ const _ = require('lodash'); const Parse = require('csv-parse'); const Async = require('async'); const UrlJoin = require('url-join'); -const Walk = require('fs-walk'); const logger = require('../../../src/logger'); import { GBService, GBServiceCallback, IGBInstance } from 'botlib'; diff --git a/packages/whatsapp.gblib/services/WhatsappDirectLine.ts b/packages/whatsapp.gblib/services/WhatsappDirectLine.ts index 97d806bf..5203524e 100644 --- a/packages/whatsapp.gblib/services/WhatsappDirectLine.ts +++ b/packages/whatsapp.gblib/services/WhatsappDirectLine.ts @@ -36,7 +36,6 @@ const _ = require('lodash'); const Parse = require('csv-parse'); const Async = require('async'); const UrlJoin = require('url-join'); -const Walk = require('fs-walk'); const logger = require('../../../src/logger'); const Swagger = require('swagger-client'); const rp = require('request-promise'); diff --git a/src/app.ts b/src/app.ts index 54ef2b30..50474bdc 100644 --- a/src/app.ts +++ b/src/app.ts @@ -51,6 +51,7 @@ import { GBDeployer } from '../packages/core.gbapp/services/GBDeployer'; import { GBImporter } from '../packages/core.gbapp/services/GBImporterService'; import { GBMinService } from '../packages/core.gbapp/services/GBMinService'; import { GBVMService } from '../packages/core.gbapp/services/GBVMService'; +import { load } from 'dotenv'; const appPackages = new Array(); @@ -163,6 +164,9 @@ export class GBServer { } } +let service:GBVMService = new GBVMService (); +service.loadDialogPackage('C:\\Sources\\opensource\\BotServer\\packages\\default.gbdialog',null,null,null); + // First line to run. -GBServer.run(); +// GBServer.run();