├── .gitignore ├── LICENSE ├── README.md ├── bin └── easygraphql-lt.js ├── commands └── artillery.js ├── package-lock.json ├── package.json └── utils ├── artilleryConfig ├── artillery.yml └── queryGenerator.js └── loadTesting.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | ###The MIT License 2 | 3 | Copyright (c) 2019 EasyGraphQL 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | easygraphql-lt 3 |
4 | easygraphql-lt 5 |
6 |
7 |

8 | 9 | easygraphql-load-tester is the new version of [easygraphql-load-tester](https://github.com/EasyGraphQL/easygraphql-load-tester); 10 | now the configuration is minimum, it only requires a `JSON` file. 11 | 12 | It uses [Artillery.io](https://artillery.io/) under the hood. 13 | 14 | ## How to run it: 15 | 16 | If you want do download the latest version of the GraphQL schema, run this command with out flag 17 | ```shell 18 | $ npx easygraphql-lt .json 19 | ``` 20 | 21 | Also, if you have a local copy of the schema to test, you can set the flag `--localSchema` 22 | and it'll display a list of files that might be the schema on the selected folder. 23 | ```shell 24 | $ npx easygraphql-lt .json --localSchema 25 | ``` 26 | 27 | ## How to use it: 28 | 29 | Create a JSON file that should have the next values: 30 | 31 | #### config: 32 | ##### URL (Required) 33 | The URL that is going to be used to do the load testing, it'll be used to get the latest copy 34 | of the GraphQL schema and to make all queries/mutations. 35 | 36 | ```JSON 37 | "url": "http://localhost:7000/" 38 | ``` 39 | 40 | ##### Name (Optional): 41 | This will be the name that the test is going to have; this is optional if it's not set 42 | it will display the URL as the name. 43 | 44 | ```JSON 45 | "name": "Testing my new server" 46 | ``` 47 | 48 | ##### Selected queries (Optional) 49 | You can select a list of the queries/mutations you want to test, to do this, you must create an 50 | array of strings with the name of the queries to test; this is optional if you don't 51 | create it, all the queries are going to be tested. 52 | 53 | ```JSON 54 | "selectedQueries": ["createUser", "searchUser"] 55 | ``` 56 | 57 | #### Query file (Optional) 58 | You can select if you want to save a `json` file with all the queries that were tested. 59 | If you don't pass anything it is not going to be saved. The default value is `false`. 60 | 61 | ```JSON 62 | "queryFile": true/false 63 | ``` 64 | 65 | #### Mutations (Optional) 66 | You can use [`easygraphql-lt`](https://github.com/EasyGraphQL/easygraphql-lt) to test 67 | your mutations as well; if you don't pass anything it is only going to test the queries. 68 | The default value is `false`. 69 | *If you set `withMutations: true`, don't forget to add the input values on the args* 70 | 71 | ```JSON 72 | "withMutations": true/false 73 | ``` 74 | 75 | #### Duration (Optional) 76 | You can select the duration for your tests. 77 | 78 | ```JSON 79 | "duration": 5 80 | ``` 81 | 82 | #### Arrival rate (Optional) 83 | You can select the arrival rate for your tests. 84 | 85 | ```JSON 86 | "arrivalRate": 10 87 | ``` 88 | 89 | #### Artillery output (Optional) 90 | You can have a `JSON` file with the result of the load testing used with [Artillery.io](https://artillery.io/), 91 | at the end of the test the terminal is going to display a message explaining how to run this result. If it's not set it'll be 92 | `false` by default. 93 | 94 | ```JSON 95 | "withOutput": true/false 96 | ``` 97 | 98 | #### Headers (Optional) 99 | Set additional HTTP attributes on the headers like `Authorization`or `Cookie`, etc... 100 | ```JSON 101 | "headers": { 102 | "Authorization": "", 103 | "Cookie": "name=value; name2=value2;" 104 | } 105 | ``` 106 | 107 | #### args 108 | 109 | Here you should set all the arguments that might be used on the load testing, and also if 110 | `withMutations` is `true`, you should put the values used on the `mutation`. 111 | 112 | **Note:** if you're going to use an array of string it should be created like this `"[\"a\", \"b\"]"` 113 | 114 | ### JSON file example 115 | ```json 116 | { 117 | "config": { 118 | "url": "http://localhost:7000/", 119 | "name": "Testing my new server", 120 | "selectedQueries": ["createUser", "searchUser"], 121 | "queryFile": true, 122 | "withMutations": true, 123 | "duration": 5, 124 | "arrivalRate": 10, 125 | "withOutput": true, 126 | "headers": { 127 | "Authorization": "", 128 | "Cookie": "name=value; name2=value2;" 129 | } 130 | }, 131 | "args": { 132 | "getFamilyInfoByIsLocal": { 133 | "isLocal": true, 134 | "test": "[\"a\", \"b\"]", 135 | "age": 40, 136 | "name": "Demo Test" 137 | }, 138 | "searchUser": { 139 | "name": "Demo User" 140 | }, 141 | "createUser": { 142 | "name": "Demo User" 143 | }, 144 | "createCity": { 145 | "input": { 146 | "name": "Demo Name", 147 | "country": "Demo Country" 148 | } 149 | } 150 | } 151 | } 152 | ``` 153 | 154 | # License 155 | ### The MIT License 156 | 157 | Copyright (c) 2019 EasyGraphQL 158 | 159 | Permission is hereby granted, free of charge, to any person obtaining a copy 160 | of this software and associated documentation files (the "Software"), to deal 161 | in the Software without restriction, including without limitation the rights 162 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 163 | copies of the Software, and to permit persons to whom the Software is 164 | furnished to do so, subject to the following conditions: 165 | 166 | The above copyright notice and this permission notice shall be included in 167 | all copies or substantial portions of the Software. 168 | 169 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 170 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 171 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 172 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 173 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 174 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 175 | THE SOFTWARE. -------------------------------------------------------------------------------- /bin/easygraphql-lt.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict' 4 | 5 | const runArtillery = require('../commands/artillery') 6 | 7 | runArtillery() 8 | -------------------------------------------------------------------------------- /commands/artillery.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const inquirer = require('inquirer') 4 | const fs = require('fs-extra') 5 | const path = require('path') 6 | const argv = require('minimist')(process.argv.slice(2)) 7 | 8 | const { startLoadTesting } = require('../utils/loadTesting') 9 | 10 | function runArtillery () { 11 | let fileName 12 | let filePath 13 | const questions = [] 14 | 15 | const arg = argv._.length > 0 ? argv._[0] : false 16 | const localSchema = argv.localSchema ? argv.localSchema : false 17 | 18 | if (arg && arg.includes('.json') && fs.existsSync(arg)) { 19 | fileName = arg 20 | } else if (arg && fs.existsSync(arg)) { 21 | const files = getFiles('.json') 22 | const options = { 23 | type: 'list', 24 | name: 'configFile', 25 | message: 'Config file:', 26 | choices: files 27 | } 28 | questions.push(options) 29 | filePath = arg 30 | } else { 31 | const files = getFiles('.json', true) 32 | if (files.length === 0) { 33 | console.log('> Error: There are no JSON files in this dir! ❌') 34 | process.exit(1) 35 | } 36 | const options = { 37 | type: 'list', 38 | name: 'configFile', 39 | message: 'Config file:', 40 | choices: files 41 | } 42 | questions.push(options) 43 | } 44 | 45 | if (localSchema) { 46 | const files = [].concat(getFiles('.gql', true), getFiles('.graphql', true)) 47 | const options = { 48 | type: 'list', 49 | name: 'localSchemaName', 50 | message: 'Local schema file:', 51 | choices: files 52 | } 53 | questions.push(options) 54 | } 55 | 56 | inquirer.prompt(questions).then(answers => { 57 | fileName = fileName || answers['configFile'] 58 | const localSchemaName = answers['localSchemaName'] 59 | const configFile = filePath ? path.join(path.resolve(), filePath, fileName) : path.join(path.resolve(), fileName) 60 | 61 | startLoadTesting(configFile, localSchemaName) 62 | }) 63 | } 64 | 65 | function getFiles(extension, withPath) { 66 | let files 67 | if (withPath) { 68 | files = fs.readdirSync(path.resolve()) 69 | } else { 70 | files = fs.readdirSync(extension) 71 | } 72 | 73 | return files.filter(file => file.includes(extension)) 74 | } 75 | 76 | module.exports = runArtillery 77 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "easygraphql-lt", 3 | "version": "1.0.4", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/runtime": { 8 | "version": "7.13.10", 9 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz", 10 | "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==", 11 | "requires": { 12 | "regenerator-runtime": "^0.13.4" 13 | } 14 | }, 15 | "@graphql-toolkit/common": { 16 | "version": "0.10.4", 17 | "resolved": "https://registry.npmjs.org/@graphql-toolkit/common/-/common-0.10.4.tgz", 18 | "integrity": "sha512-HQ3HaxCqX+UE8y/0h7LMDBBGSIKJxY/gaQesaksvE2Y+N4NpSWdiW6HpOcgXfC2HGf9yM0hEdsERzzL8z3mbHQ==", 19 | "requires": { 20 | "aggregate-error": "3.0.1", 21 | "camel-case": "4.1.1", 22 | "graphql-tools": "5.0.0", 23 | "lodash": "4.17.15" 24 | }, 25 | "dependencies": { 26 | "lodash": { 27 | "version": "4.17.15", 28 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", 29 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" 30 | } 31 | } 32 | }, 33 | "@graphql-toolkit/file-loading": { 34 | "version": "0.10.4", 35 | "resolved": "https://registry.npmjs.org/@graphql-toolkit/file-loading/-/file-loading-0.10.4.tgz", 36 | "integrity": "sha512-oUmy/sO3BJfax85pVKI7FZ6TWrViNuWXoJkRM293YV9bKGuYU9TgqZoHyM+oEqWO5ruXCL/nCdw3cIBau+rSNA==", 37 | "requires": { 38 | "globby": "11.0.0", 39 | "unixify": "1.0.0" 40 | } 41 | }, 42 | "@graphql-toolkit/schema-merging": { 43 | "version": "0.10.4", 44 | "resolved": "https://registry.npmjs.org/@graphql-toolkit/schema-merging/-/schema-merging-0.10.4.tgz", 45 | "integrity": "sha512-naL6reYBuILLMrkMfKz0lOLL0kl6gGYnaaywnO/Dgp9F4NeAxDdAs5CV6Fy9NO5OzePFP58Dnc4sh2RyYrrFJg==", 46 | "requires": { 47 | "@graphql-toolkit/common": "0.10.4", 48 | "deepmerge": "4.2.2", 49 | "graphql-tools": "5.0.0", 50 | "tslib": "1.11.1" 51 | }, 52 | "dependencies": { 53 | "tslib": { 54 | "version": "1.11.1", 55 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", 56 | "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==" 57 | } 58 | } 59 | }, 60 | "@nodelib/fs.scandir": { 61 | "version": "2.1.4", 62 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", 63 | "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", 64 | "requires": { 65 | "@nodelib/fs.stat": "2.0.4", 66 | "run-parallel": "^1.1.9" 67 | } 68 | }, 69 | "@nodelib/fs.stat": { 70 | "version": "2.0.4", 71 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", 72 | "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==" 73 | }, 74 | "@nodelib/fs.walk": { 75 | "version": "1.2.6", 76 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", 77 | "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", 78 | "requires": { 79 | "@nodelib/fs.scandir": "2.1.4", 80 | "fastq": "^1.6.0" 81 | } 82 | }, 83 | "@sindresorhus/is": { 84 | "version": "4.0.0", 85 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.0.tgz", 86 | "integrity": "sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ==" 87 | }, 88 | "@szmarczak/http-timer": { 89 | "version": "4.0.5", 90 | "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz", 91 | "integrity": "sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==", 92 | "requires": { 93 | "defer-to-connect": "^2.0.0" 94 | } 95 | }, 96 | "@types/cacheable-request": { 97 | "version": "6.0.1", 98 | "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz", 99 | "integrity": "sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==", 100 | "requires": { 101 | "@types/http-cache-semantics": "*", 102 | "@types/keyv": "*", 103 | "@types/node": "*", 104 | "@types/responselike": "*" 105 | } 106 | }, 107 | "@types/http-cache-semantics": { 108 | "version": "4.0.0", 109 | "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz", 110 | "integrity": "sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==" 111 | }, 112 | "@types/keyv": { 113 | "version": "3.1.1", 114 | "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.1.tgz", 115 | "integrity": "sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==", 116 | "requires": { 117 | "@types/node": "*" 118 | } 119 | }, 120 | "@types/node": { 121 | "version": "14.14.41", 122 | "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.41.tgz", 123 | "integrity": "sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==" 124 | }, 125 | "@types/responselike": { 126 | "version": "1.0.0", 127 | "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", 128 | "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", 129 | "requires": { 130 | "@types/node": "*" 131 | } 132 | }, 133 | "@wry/equality": { 134 | "version": "0.1.11", 135 | "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz", 136 | "integrity": "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==", 137 | "requires": { 138 | "tslib": "^1.9.3" 139 | } 140 | }, 141 | "after": { 142 | "version": "0.8.2", 143 | "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", 144 | "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" 145 | }, 146 | "agentkeepalive": { 147 | "version": "4.1.4", 148 | "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", 149 | "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", 150 | "requires": { 151 | "debug": "^4.1.0", 152 | "depd": "^1.1.2", 153 | "humanize-ms": "^1.2.1" 154 | }, 155 | "dependencies": { 156 | "debug": { 157 | "version": "4.3.1", 158 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", 159 | "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", 160 | "requires": { 161 | "ms": "2.1.2" 162 | } 163 | } 164 | } 165 | }, 166 | "aggregate-error": { 167 | "version": "3.0.1", 168 | "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", 169 | "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", 170 | "requires": { 171 | "clean-stack": "^2.0.0", 172 | "indent-string": "^4.0.0" 173 | } 174 | }, 175 | "ansi-align": { 176 | "version": "2.0.0", 177 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", 178 | "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", 179 | "requires": { 180 | "string-width": "^2.0.0" 181 | } 182 | }, 183 | "ansi-escapes": { 184 | "version": "3.2.0", 185 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", 186 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" 187 | }, 188 | "ansi-regex": { 189 | "version": "2.1.1", 190 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 191 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" 192 | }, 193 | "ansi-styles": { 194 | "version": "2.2.1", 195 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 196 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" 197 | }, 198 | "apollo-link": { 199 | "version": "1.2.14", 200 | "resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz", 201 | "integrity": "sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==", 202 | "requires": { 203 | "apollo-utilities": "^1.3.0", 204 | "ts-invariant": "^0.4.0", 205 | "tslib": "^1.9.3", 206 | "zen-observable-ts": "^0.8.21" 207 | } 208 | }, 209 | "apollo-link-http-common": { 210 | "version": "0.2.16", 211 | "resolved": "https://registry.npmjs.org/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz", 212 | "integrity": "sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg==", 213 | "requires": { 214 | "apollo-link": "^1.2.14", 215 | "ts-invariant": "^0.4.0", 216 | "tslib": "^1.9.3" 217 | } 218 | }, 219 | "apollo-upload-client": { 220 | "version": "13.0.0", 221 | "resolved": "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-13.0.0.tgz", 222 | "integrity": "sha512-lJ9/bk1BH1lD15WhWRha2J3+LrXrPIX5LP5EwiOUHv8PCORp4EUrcujrA3rI5hZeZygrTX8bshcuMdpqpSrvtA==", 223 | "requires": { 224 | "@babel/runtime": "^7.9.2", 225 | "apollo-link": "^1.2.12", 226 | "apollo-link-http-common": "^0.2.14", 227 | "extract-files": "^8.0.0" 228 | } 229 | }, 230 | "apollo-utilities": { 231 | "version": "1.3.4", 232 | "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz", 233 | "integrity": "sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==", 234 | "requires": { 235 | "@wry/equality": "^0.1.2", 236 | "fast-json-stable-stringify": "^2.0.0", 237 | "ts-invariant": "^0.4.0", 238 | "tslib": "^1.10.0" 239 | }, 240 | "dependencies": { 241 | "tslib": { 242 | "version": "1.14.1", 243 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 244 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 245 | } 246 | } 247 | }, 248 | "argparse": { 249 | "version": "1.0.10", 250 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 251 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 252 | "requires": { 253 | "sprintf-js": "~1.0.2" 254 | } 255 | }, 256 | "array-union": { 257 | "version": "2.1.0", 258 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 259 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" 260 | }, 261 | "arraybuffer.slice": { 262 | "version": "0.0.7", 263 | "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", 264 | "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" 265 | }, 266 | "arrivals": { 267 | "version": "2.1.2", 268 | "resolved": "https://registry.npmjs.org/arrivals/-/arrivals-2.1.2.tgz", 269 | "integrity": "sha512-g3+rxhxUen2H4+PPBOz6U6pkQ4esBuQPna1rPskgK1jamBdDZeoppyB2vPUM/l0ccunwRrq4r2rKgCvc2FnrFA==", 270 | "requires": { 271 | "debug": "^4.0.1", 272 | "nanotimer": "0.3.14" 273 | }, 274 | "dependencies": { 275 | "debug": { 276 | "version": "4.3.1", 277 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", 278 | "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", 279 | "requires": { 280 | "ms": "2.1.2" 281 | } 282 | }, 283 | "nanotimer": { 284 | "version": "0.3.14", 285 | "resolved": "https://registry.npmjs.org/nanotimer/-/nanotimer-0.3.14.tgz", 286 | "integrity": "sha1-ENgR+NBkeIGACWzh+WxwhG/Voro=" 287 | } 288 | } 289 | }, 290 | "artillery": { 291 | "version": "1.7.0", 292 | "resolved": "https://registry.npmjs.org/artillery/-/artillery-1.7.0.tgz", 293 | "integrity": "sha512-u5VWAWOAk9VMyd8aF1PU1sCl7Mrlhx3oUKhGZg8pvtGEJ6UYPzGzwVG82y9PJTyA6YJEl+tw5bLsEt4VPua7/Q==", 294 | "requires": { 295 | "agentkeepalive": "^4.1.4", 296 | "arrivals": "^2.1.2", 297 | "artillery-plugin-statsd": "^2.2.1", 298 | "async": "^1.5.2", 299 | "chalk": "1.1.3", 300 | "cheerio": "^1.0.0-rc.2", 301 | "commander": "2.9.0", 302 | "csv-parse": "^4.4.6", 303 | "debug": "^2.2.0", 304 | "deep-equal": "^1.0.1", 305 | "deep-for-each": "^3.0.0", 306 | "driftless": "^2.0.3", 307 | "esprima": "^4.0.0", 308 | "filtrex": "^0.5.4", 309 | "form-data": "^2.3.3", 310 | "got": "^11.8.2", 311 | "hpagent": "^0.1.1", 312 | "js-yaml": "^3.13.1", 313 | "jsck": "^0.3.2", 314 | "jsonpath": "^1.0.2", 315 | "lodash": "^4.17.21", 316 | "moment": "^2.22.1", 317 | "nanotimer": "^0.3.15", 318 | "opn": "^5.3.0", 319 | "ora": "^1.3.0", 320 | "pidusage": "^1.1.6", 321 | "rc": "^1.1.6", 322 | "socket.io-client": "^2.1.0", 323 | "socketio-wildcard": "^2.0.0", 324 | "stats-lite": "^2.1.0", 325 | "tmp": "0.0.28", 326 | "tough-cookie": "^2.5.0", 327 | "try-require": "^1.2.1", 328 | "update-notifier": "^2.1.0", 329 | "uuid": "^2.0.3", 330 | "ws": "^5.1.1" 331 | }, 332 | "dependencies": { 333 | "ansi-styles": { 334 | "version": "3.2.1", 335 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 336 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 337 | "requires": { 338 | "color-convert": "^1.9.0" 339 | } 340 | }, 341 | "ora": { 342 | "version": "1.4.0", 343 | "resolved": "https://registry.npmjs.org/ora/-/ora-1.4.0.tgz", 344 | "integrity": "sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==", 345 | "requires": { 346 | "chalk": "^2.1.0", 347 | "cli-cursor": "^2.1.0", 348 | "cli-spinners": "^1.0.1", 349 | "log-symbols": "^2.1.0" 350 | }, 351 | "dependencies": { 352 | "chalk": { 353 | "version": "2.4.2", 354 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 355 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 356 | "requires": { 357 | "ansi-styles": "^3.2.1", 358 | "escape-string-regexp": "^1.0.5", 359 | "supports-color": "^5.3.0" 360 | } 361 | } 362 | } 363 | }, 364 | "supports-color": { 365 | "version": "5.5.0", 366 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 367 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 368 | "requires": { 369 | "has-flag": "^3.0.0" 370 | } 371 | } 372 | } 373 | }, 374 | "artillery-plugin-statsd": { 375 | "version": "2.2.1", 376 | "resolved": "https://registry.npmjs.org/artillery-plugin-statsd/-/artillery-plugin-statsd-2.2.1.tgz", 377 | "integrity": "sha512-Zn6hxi11p1Rpazopm8bZkIqhIA5laTE3/amEhLsE933o8bgvrAJBblpsZ45vhmURztsglqC9yxSCQyW27yUZmQ==", 378 | "requires": { 379 | "debug": "^3.1.0", 380 | "lodash": "^4.17.11", 381 | "lynx": "^0.2.0" 382 | }, 383 | "dependencies": { 384 | "debug": { 385 | "version": "3.2.7", 386 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 387 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 388 | "requires": { 389 | "ms": "^2.1.1" 390 | } 391 | } 392 | } 393 | }, 394 | "async": { 395 | "version": "1.5.2", 396 | "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", 397 | "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" 398 | }, 399 | "async-limiter": { 400 | "version": "1.0.1", 401 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", 402 | "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" 403 | }, 404 | "asynckit": { 405 | "version": "0.4.0", 406 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 407 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 408 | }, 409 | "backo2": { 410 | "version": "1.0.2", 411 | "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", 412 | "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" 413 | }, 414 | "base64-arraybuffer": { 415 | "version": "0.1.4", 416 | "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", 417 | "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=" 418 | }, 419 | "blob": { 420 | "version": "0.0.5", 421 | "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", 422 | "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==" 423 | }, 424 | "boolbase": { 425 | "version": "1.0.0", 426 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 427 | "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" 428 | }, 429 | "boxen": { 430 | "version": "1.3.0", 431 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", 432 | "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", 433 | "requires": { 434 | "ansi-align": "^2.0.0", 435 | "camelcase": "^4.0.0", 436 | "chalk": "^2.0.1", 437 | "cli-boxes": "^1.0.0", 438 | "string-width": "^2.0.0", 439 | "term-size": "^1.2.0", 440 | "widest-line": "^2.0.0" 441 | }, 442 | "dependencies": { 443 | "ansi-styles": { 444 | "version": "3.2.1", 445 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 446 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 447 | "requires": { 448 | "color-convert": "^1.9.0" 449 | } 450 | }, 451 | "chalk": { 452 | "version": "2.4.2", 453 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 454 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 455 | "requires": { 456 | "ansi-styles": "^3.2.1", 457 | "escape-string-regexp": "^1.0.5", 458 | "supports-color": "^5.3.0" 459 | } 460 | }, 461 | "supports-color": { 462 | "version": "5.5.0", 463 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 464 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 465 | "requires": { 466 | "has-flag": "^3.0.0" 467 | } 468 | } 469 | } 470 | }, 471 | "braces": { 472 | "version": "3.0.2", 473 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 474 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 475 | "requires": { 476 | "fill-range": "^7.0.1" 477 | } 478 | }, 479 | "cacheable-lookup": { 480 | "version": "5.0.4", 481 | "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", 482 | "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" 483 | }, 484 | "cacheable-request": { 485 | "version": "7.0.1", 486 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz", 487 | "integrity": "sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==", 488 | "requires": { 489 | "clone-response": "^1.0.2", 490 | "get-stream": "^5.1.0", 491 | "http-cache-semantics": "^4.0.0", 492 | "keyv": "^4.0.0", 493 | "lowercase-keys": "^2.0.0", 494 | "normalize-url": "^4.1.0", 495 | "responselike": "^2.0.0" 496 | } 497 | }, 498 | "call-bind": { 499 | "version": "1.0.2", 500 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 501 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 502 | "requires": { 503 | "function-bind": "^1.1.1", 504 | "get-intrinsic": "^1.0.2" 505 | } 506 | }, 507 | "camel-case": { 508 | "version": "4.1.1", 509 | "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz", 510 | "integrity": "sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q==", 511 | "requires": { 512 | "pascal-case": "^3.1.1", 513 | "tslib": "^1.10.0" 514 | }, 515 | "dependencies": { 516 | "tslib": { 517 | "version": "1.14.1", 518 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 519 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 520 | } 521 | } 522 | }, 523 | "camelcase": { 524 | "version": "4.1.0", 525 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", 526 | "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" 527 | }, 528 | "capture-stack-trace": { 529 | "version": "1.0.1", 530 | "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", 531 | "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==" 532 | }, 533 | "chalk": { 534 | "version": "1.1.3", 535 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 536 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 537 | "requires": { 538 | "ansi-styles": "^2.2.1", 539 | "escape-string-regexp": "^1.0.2", 540 | "has-ansi": "^2.0.0", 541 | "strip-ansi": "^3.0.0", 542 | "supports-color": "^2.0.0" 543 | } 544 | }, 545 | "chardet": { 546 | "version": "0.7.0", 547 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 548 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" 549 | }, 550 | "cheerio": { 551 | "version": "1.0.0-rc.6", 552 | "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.6.tgz", 553 | "integrity": "sha512-hjx1XE1M/D5pAtMgvWwE21QClmAEeGHOIDfycgmndisdNgI6PE1cGRQkMGBcsbUbmEQyWu5PJLUcAOjtQS8DWw==", 554 | "requires": { 555 | "cheerio-select": "^1.3.0", 556 | "dom-serializer": "^1.3.1", 557 | "domhandler": "^4.1.0", 558 | "htmlparser2": "^6.1.0", 559 | "parse5": "^6.0.1", 560 | "parse5-htmlparser2-tree-adapter": "^6.0.1" 561 | } 562 | }, 563 | "cheerio-select": { 564 | "version": "1.4.0", 565 | "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.4.0.tgz", 566 | "integrity": "sha512-sobR3Yqz27L553Qa7cK6rtJlMDbiKPdNywtR95Sj/YgfpLfy0u6CGJuaBKe5YE/vTc23SCRKxWSdlon/w6I/Ew==", 567 | "requires": { 568 | "css-select": "^4.1.2", 569 | "css-what": "^5.0.0", 570 | "domelementtype": "^2.2.0", 571 | "domhandler": "^4.2.0", 572 | "domutils": "^2.6.0" 573 | } 574 | }, 575 | "ci-info": { 576 | "version": "1.6.0", 577 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", 578 | "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" 579 | }, 580 | "clean-stack": { 581 | "version": "2.2.0", 582 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", 583 | "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" 584 | }, 585 | "cli-boxes": { 586 | "version": "1.0.0", 587 | "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", 588 | "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=" 589 | }, 590 | "cli-cursor": { 591 | "version": "2.1.0", 592 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 593 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 594 | "requires": { 595 | "restore-cursor": "^2.0.0" 596 | } 597 | }, 598 | "cli-spinners": { 599 | "version": "1.3.1", 600 | "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", 601 | "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==" 602 | }, 603 | "cli-width": { 604 | "version": "2.2.1", 605 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", 606 | "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" 607 | }, 608 | "clone": { 609 | "version": "1.0.4", 610 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 611 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" 612 | }, 613 | "clone-response": { 614 | "version": "1.0.2", 615 | "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", 616 | "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", 617 | "requires": { 618 | "mimic-response": "^1.0.0" 619 | } 620 | }, 621 | "color-convert": { 622 | "version": "1.9.3", 623 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 624 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 625 | "requires": { 626 | "color-name": "1.1.3" 627 | } 628 | }, 629 | "color-name": { 630 | "version": "1.1.3", 631 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 632 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 633 | }, 634 | "combined-stream": { 635 | "version": "1.0.8", 636 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 637 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 638 | "requires": { 639 | "delayed-stream": "~1.0.0" 640 | } 641 | }, 642 | "commander": { 643 | "version": "2.9.0", 644 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", 645 | "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", 646 | "requires": { 647 | "graceful-readlink": ">= 1.0.0" 648 | } 649 | }, 650 | "component-bind": { 651 | "version": "1.0.0", 652 | "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", 653 | "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" 654 | }, 655 | "component-emitter": { 656 | "version": "1.3.0", 657 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", 658 | "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" 659 | }, 660 | "component-inherit": { 661 | "version": "0.0.3", 662 | "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", 663 | "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" 664 | }, 665 | "configstore": { 666 | "version": "3.1.5", 667 | "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.5.tgz", 668 | "integrity": "sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA==", 669 | "requires": { 670 | "dot-prop": "^4.2.1", 671 | "graceful-fs": "^4.1.2", 672 | "make-dir": "^1.0.0", 673 | "unique-string": "^1.0.0", 674 | "write-file-atomic": "^2.0.0", 675 | "xdg-basedir": "^3.0.0" 676 | } 677 | }, 678 | "create-error-class": { 679 | "version": "3.0.2", 680 | "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", 681 | "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", 682 | "requires": { 683 | "capture-stack-trace": "^1.0.0" 684 | } 685 | }, 686 | "cross-spawn": { 687 | "version": "5.1.0", 688 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", 689 | "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", 690 | "requires": { 691 | "lru-cache": "^4.0.1", 692 | "shebang-command": "^1.2.0", 693 | "which": "^1.2.9" 694 | } 695 | }, 696 | "crypto-random-string": { 697 | "version": "1.0.0", 698 | "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", 699 | "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" 700 | }, 701 | "css-select": { 702 | "version": "4.1.2", 703 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.2.tgz", 704 | "integrity": "sha512-nu5ye2Hg/4ISq4XqdLY2bEatAcLIdt3OYGFc9Tm9n7VSlFBcfRv0gBNksHRgSdUDQGtN3XrZ94ztW+NfzkFSUw==", 705 | "requires": { 706 | "boolbase": "^1.0.0", 707 | "css-what": "^5.0.0", 708 | "domhandler": "^4.2.0", 709 | "domutils": "^2.6.0", 710 | "nth-check": "^2.0.0" 711 | } 712 | }, 713 | "css-what": { 714 | "version": "5.0.0", 715 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.0.tgz", 716 | "integrity": "sha512-qxyKHQvgKwzwDWC/rGbT821eJalfupxYW2qbSJSAtdSTimsr/MlaGONoNLllaUPZWf8QnbcKM/kPVYUQuEKAFA==" 717 | }, 718 | "csv-parse": { 719 | "version": "4.15.4", 720 | "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.15.4.tgz", 721 | "integrity": "sha512-OdBbFc0yZhOm17lSxqkirrHlFFVpKRT0wp4DAGoJelsP3LbGzV9LNr7XmM/lrr0uGkCtaqac9UhP8PDHXOAbMg==" 722 | }, 723 | "debug": { 724 | "version": "2.6.9", 725 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 726 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 727 | "requires": { 728 | "ms": "2.0.0" 729 | }, 730 | "dependencies": { 731 | "ms": { 732 | "version": "2.0.0", 733 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 734 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 735 | } 736 | } 737 | }, 738 | "decompress-response": { 739 | "version": "6.0.0", 740 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", 741 | "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", 742 | "requires": { 743 | "mimic-response": "^3.1.0" 744 | }, 745 | "dependencies": { 746 | "mimic-response": { 747 | "version": "3.1.0", 748 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", 749 | "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" 750 | } 751 | } 752 | }, 753 | "deep-equal": { 754 | "version": "1.1.1", 755 | "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", 756 | "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", 757 | "requires": { 758 | "is-arguments": "^1.0.4", 759 | "is-date-object": "^1.0.1", 760 | "is-regex": "^1.0.4", 761 | "object-is": "^1.0.1", 762 | "object-keys": "^1.1.1", 763 | "regexp.prototype.flags": "^1.2.0" 764 | } 765 | }, 766 | "deep-extend": { 767 | "version": "0.6.0", 768 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 769 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" 770 | }, 771 | "deep-for-each": { 772 | "version": "3.0.0", 773 | "resolved": "https://registry.npmjs.org/deep-for-each/-/deep-for-each-3.0.0.tgz", 774 | "integrity": "sha512-pPN+0f8jlnNP+z90qqOdxGghJU5XM6oBDhvAR+qdQzjCg5pk/7VPPvKK1GqoXEFkHza6ZS+Otzzvmr0g3VUaKw==", 775 | "requires": { 776 | "lodash.isplainobject": "^4.0.6" 777 | } 778 | }, 779 | "deep-is": { 780 | "version": "0.1.3", 781 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 782 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" 783 | }, 784 | "deepmerge": { 785 | "version": "4.2.2", 786 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", 787 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" 788 | }, 789 | "defaults": { 790 | "version": "1.0.3", 791 | "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", 792 | "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", 793 | "requires": { 794 | "clone": "^1.0.2" 795 | } 796 | }, 797 | "defer-to-connect": { 798 | "version": "2.0.1", 799 | "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", 800 | "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" 801 | }, 802 | "define-properties": { 803 | "version": "1.1.3", 804 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 805 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 806 | "requires": { 807 | "object-keys": "^1.0.12" 808 | } 809 | }, 810 | "delayed-stream": { 811 | "version": "1.0.0", 812 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 813 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 814 | }, 815 | "depd": { 816 | "version": "1.1.2", 817 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 818 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" 819 | }, 820 | "deprecated-decorator": { 821 | "version": "0.1.6", 822 | "resolved": "https://registry.npmjs.org/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz", 823 | "integrity": "sha1-AJZjF7ehL+kvPMgx91g68ym4bDc=" 824 | }, 825 | "dir-glob": { 826 | "version": "3.0.1", 827 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 828 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 829 | "requires": { 830 | "path-type": "^4.0.0" 831 | } 832 | }, 833 | "dom-serializer": { 834 | "version": "1.3.1", 835 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.1.tgz", 836 | "integrity": "sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q==", 837 | "requires": { 838 | "domelementtype": "^2.0.1", 839 | "domhandler": "^4.0.0", 840 | "entities": "^2.0.0" 841 | } 842 | }, 843 | "domelementtype": { 844 | "version": "2.2.0", 845 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", 846 | "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" 847 | }, 848 | "domhandler": { 849 | "version": "4.2.0", 850 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", 851 | "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", 852 | "requires": { 853 | "domelementtype": "^2.2.0" 854 | } 855 | }, 856 | "domutils": { 857 | "version": "2.6.0", 858 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz", 859 | "integrity": "sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==", 860 | "requires": { 861 | "dom-serializer": "^1.0.1", 862 | "domelementtype": "^2.2.0", 863 | "domhandler": "^4.2.0" 864 | } 865 | }, 866 | "dot-prop": { 867 | "version": "4.2.1", 868 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", 869 | "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", 870 | "requires": { 871 | "is-obj": "^1.0.0" 872 | } 873 | }, 874 | "driftless": { 875 | "version": "2.0.3", 876 | "resolved": "https://registry.npmjs.org/driftless/-/driftless-2.0.3.tgz", 877 | "integrity": "sha512-hSDKsQphnL4O0XLAiyWQ8EiM9suXH0Qd4gMtwF86b5wygGV8r95w0JcA38FOmx9N3LjFCIHLG2winLPNken4Tg==", 878 | "requires": { 879 | "present": "^0.0.3" 880 | } 881 | }, 882 | "duplexer3": { 883 | "version": "0.1.4", 884 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", 885 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" 886 | }, 887 | "easygraphql-load-tester": { 888 | "version": "2.0.5", 889 | "resolved": "https://registry.npmjs.org/easygraphql-load-tester/-/easygraphql-load-tester-2.0.5.tgz", 890 | "integrity": "sha512-B0EugDrTuVTDMjAmhbjjmhsnBPu/SVLCHlZdWXY8YBQhdX/eJ5OBzqqmaK3ovRGVU3YI4OtFrXojK+LwDI2uYQ==", 891 | "requires": { 892 | "easygraphql-parser": "^0.0.13", 893 | "lodash.flatten": "^4.4.0", 894 | "lodash.isobject": "^3.0.2" 895 | } 896 | }, 897 | "easygraphql-parser": { 898 | "version": "0.0.13", 899 | "resolved": "https://registry.npmjs.org/easygraphql-parser/-/easygraphql-parser-0.0.13.tgz", 900 | "integrity": "sha512-aF1W/stFh1L4yus4nLdxDGsj9JidPDGpTfmkcFMjQxDpXJiDSnIysf14JE3om5gz00dkBTucZYcSJXU+JvXUKw==", 901 | "requires": { 902 | "merge-graphql-schemas": "^1.5.8" 903 | } 904 | }, 905 | "end-of-stream": { 906 | "version": "1.4.4", 907 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 908 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 909 | "requires": { 910 | "once": "^1.4.0" 911 | } 912 | }, 913 | "engine.io-client": { 914 | "version": "3.5.1", 915 | "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.1.tgz", 916 | "integrity": "sha512-oVu9kBkGbcggulyVF0kz6BV3ganqUeqXvD79WOFKa+11oK692w1NyFkuEj4xrkFRpZhn92QOqTk4RQq5LiBXbQ==", 917 | "requires": { 918 | "component-emitter": "~1.3.0", 919 | "component-inherit": "0.0.3", 920 | "debug": "~3.1.0", 921 | "engine.io-parser": "~2.2.0", 922 | "has-cors": "1.1.0", 923 | "indexof": "0.0.1", 924 | "parseqs": "0.0.6", 925 | "parseuri": "0.0.6", 926 | "ws": "~7.4.2", 927 | "xmlhttprequest-ssl": "~1.5.4", 928 | "yeast": "0.1.2" 929 | }, 930 | "dependencies": { 931 | "debug": { 932 | "version": "3.1.0", 933 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 934 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 935 | "requires": { 936 | "ms": "2.0.0" 937 | } 938 | }, 939 | "ms": { 940 | "version": "2.0.0", 941 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 942 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 943 | }, 944 | "ws": { 945 | "version": "7.4.4", 946 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz", 947 | "integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==" 948 | } 949 | } 950 | }, 951 | "engine.io-parser": { 952 | "version": "2.2.1", 953 | "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", 954 | "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", 955 | "requires": { 956 | "after": "0.8.2", 957 | "arraybuffer.slice": "~0.0.7", 958 | "base64-arraybuffer": "0.1.4", 959 | "blob": "0.0.5", 960 | "has-binary2": "~1.0.2" 961 | } 962 | }, 963 | "entities": { 964 | "version": "2.2.0", 965 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 966 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" 967 | }, 968 | "escape-string-regexp": { 969 | "version": "1.0.5", 970 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 971 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 972 | }, 973 | "escodegen": { 974 | "version": "1.14.3", 975 | "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", 976 | "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", 977 | "requires": { 978 | "esprima": "^4.0.1", 979 | "estraverse": "^4.2.0", 980 | "esutils": "^2.0.2", 981 | "optionator": "^0.8.1", 982 | "source-map": "~0.6.1" 983 | } 984 | }, 985 | "esprima": { 986 | "version": "4.0.1", 987 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 988 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" 989 | }, 990 | "estraverse": { 991 | "version": "4.3.0", 992 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 993 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" 994 | }, 995 | "esutils": { 996 | "version": "2.0.3", 997 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 998 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" 999 | }, 1000 | "execa": { 1001 | "version": "0.7.0", 1002 | "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", 1003 | "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", 1004 | "requires": { 1005 | "cross-spawn": "^5.0.1", 1006 | "get-stream": "^3.0.0", 1007 | "is-stream": "^1.1.0", 1008 | "npm-run-path": "^2.0.0", 1009 | "p-finally": "^1.0.0", 1010 | "signal-exit": "^3.0.0", 1011 | "strip-eof": "^1.0.0" 1012 | }, 1013 | "dependencies": { 1014 | "get-stream": { 1015 | "version": "3.0.0", 1016 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", 1017 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" 1018 | } 1019 | } 1020 | }, 1021 | "external-editor": { 1022 | "version": "3.1.0", 1023 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", 1024 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", 1025 | "requires": { 1026 | "chardet": "^0.7.0", 1027 | "iconv-lite": "^0.4.24", 1028 | "tmp": "^0.0.33" 1029 | }, 1030 | "dependencies": { 1031 | "tmp": { 1032 | "version": "0.0.33", 1033 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 1034 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 1035 | "requires": { 1036 | "os-tmpdir": "~1.0.2" 1037 | } 1038 | } 1039 | } 1040 | }, 1041 | "extract-files": { 1042 | "version": "8.1.0", 1043 | "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-8.1.0.tgz", 1044 | "integrity": "sha512-PTGtfthZK79WUMk+avLmwx3NGdU8+iVFXC2NMGxKsn0MnihOG2lvumj+AZo8CTwTrwjXDgZ5tztbRlEdRjBonQ==" 1045 | }, 1046 | "fast-glob": { 1047 | "version": "3.2.5", 1048 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", 1049 | "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", 1050 | "requires": { 1051 | "@nodelib/fs.stat": "^2.0.2", 1052 | "@nodelib/fs.walk": "^1.2.3", 1053 | "glob-parent": "^5.1.0", 1054 | "merge2": "^1.3.0", 1055 | "micromatch": "^4.0.2", 1056 | "picomatch": "^2.2.1" 1057 | } 1058 | }, 1059 | "fast-json-stable-stringify": { 1060 | "version": "2.1.0", 1061 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 1062 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" 1063 | }, 1064 | "fast-levenshtein": { 1065 | "version": "2.0.6", 1066 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1067 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" 1068 | }, 1069 | "fastq": { 1070 | "version": "1.11.0", 1071 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", 1072 | "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", 1073 | "requires": { 1074 | "reusify": "^1.0.4" 1075 | } 1076 | }, 1077 | "figures": { 1078 | "version": "2.0.0", 1079 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 1080 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 1081 | "requires": { 1082 | "escape-string-regexp": "^1.0.5" 1083 | } 1084 | }, 1085 | "fill-range": { 1086 | "version": "7.0.1", 1087 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1088 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1089 | "requires": { 1090 | "to-regex-range": "^5.0.1" 1091 | } 1092 | }, 1093 | "filtrex": { 1094 | "version": "0.5.4", 1095 | "resolved": "https://registry.npmjs.org/filtrex/-/filtrex-0.5.4.tgz", 1096 | "integrity": "sha1-mAddUY8GjE9Yt7WJoifZi9n2OV0=" 1097 | }, 1098 | "form-data": { 1099 | "version": "2.5.1", 1100 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", 1101 | "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", 1102 | "requires": { 1103 | "asynckit": "^0.4.0", 1104 | "combined-stream": "^1.0.6", 1105 | "mime-types": "^2.1.12" 1106 | } 1107 | }, 1108 | "fs-extra": { 1109 | "version": "7.0.1", 1110 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", 1111 | "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", 1112 | "requires": { 1113 | "graceful-fs": "^4.1.2", 1114 | "jsonfile": "^4.0.0", 1115 | "universalify": "^0.1.0" 1116 | } 1117 | }, 1118 | "function-bind": { 1119 | "version": "1.1.1", 1120 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1121 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 1122 | }, 1123 | "get-intrinsic": { 1124 | "version": "1.1.1", 1125 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", 1126 | "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", 1127 | "requires": { 1128 | "function-bind": "^1.1.1", 1129 | "has": "^1.0.3", 1130 | "has-symbols": "^1.0.1" 1131 | } 1132 | }, 1133 | "get-stream": { 1134 | "version": "5.2.0", 1135 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", 1136 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", 1137 | "requires": { 1138 | "pump": "^3.0.0" 1139 | } 1140 | }, 1141 | "glob-parent": { 1142 | "version": "5.1.2", 1143 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1144 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1145 | "requires": { 1146 | "is-glob": "^4.0.1" 1147 | } 1148 | }, 1149 | "global-dirs": { 1150 | "version": "0.1.1", 1151 | "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", 1152 | "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", 1153 | "requires": { 1154 | "ini": "^1.3.4" 1155 | } 1156 | }, 1157 | "globby": { 1158 | "version": "11.0.0", 1159 | "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.0.tgz", 1160 | "integrity": "sha512-iuehFnR3xu5wBBtm4xi0dMe92Ob87ufyu/dHwpDYfbcpYpIbrO5OnS8M1vWvrBhSGEJ3/Ecj7gnX76P8YxpPEg==", 1161 | "requires": { 1162 | "array-union": "^2.1.0", 1163 | "dir-glob": "^3.0.1", 1164 | "fast-glob": "^3.1.1", 1165 | "ignore": "^5.1.4", 1166 | "merge2": "^1.3.0", 1167 | "slash": "^3.0.0" 1168 | } 1169 | }, 1170 | "got": { 1171 | "version": "11.8.2", 1172 | "resolved": "https://registry.npmjs.org/got/-/got-11.8.2.tgz", 1173 | "integrity": "sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==", 1174 | "requires": { 1175 | "@sindresorhus/is": "^4.0.0", 1176 | "@szmarczak/http-timer": "^4.0.5", 1177 | "@types/cacheable-request": "^6.0.1", 1178 | "@types/responselike": "^1.0.0", 1179 | "cacheable-lookup": "^5.0.3", 1180 | "cacheable-request": "^7.0.1", 1181 | "decompress-response": "^6.0.0", 1182 | "http2-wrapper": "^1.0.0-beta.5.2", 1183 | "lowercase-keys": "^2.0.0", 1184 | "p-cancelable": "^2.0.0", 1185 | "responselike": "^2.0.0" 1186 | } 1187 | }, 1188 | "graceful-fs": { 1189 | "version": "4.1.15", 1190 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", 1191 | "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" 1192 | }, 1193 | "graceful-readlink": { 1194 | "version": "1.0.1", 1195 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", 1196 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" 1197 | }, 1198 | "graphql": { 1199 | "version": "14.7.0", 1200 | "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.7.0.tgz", 1201 | "integrity": "sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==", 1202 | "requires": { 1203 | "iterall": "^1.2.2" 1204 | } 1205 | }, 1206 | "graphql-tools": { 1207 | "version": "5.0.0", 1208 | "resolved": "https://registry.npmjs.org/graphql-tools/-/graphql-tools-5.0.0.tgz", 1209 | "integrity": "sha512-5zn3vtn//382b7G3Wzz3d5q/sh+f7tVrnxeuhTMTJ7pWJijNqLxH7VEzv8VwXCq19zAzHYEosFHfXiK7qzvk7w==", 1210 | "requires": { 1211 | "apollo-link": "^1.2.14", 1212 | "apollo-upload-client": "^13.0.0", 1213 | "deprecated-decorator": "^0.1.6", 1214 | "form-data": "^3.0.0", 1215 | "iterall": "^1.3.0", 1216 | "node-fetch": "^2.6.0", 1217 | "tslib": "^1.11.1", 1218 | "uuid": "^7.0.3" 1219 | }, 1220 | "dependencies": { 1221 | "form-data": { 1222 | "version": "3.0.1", 1223 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", 1224 | "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", 1225 | "requires": { 1226 | "asynckit": "^0.4.0", 1227 | "combined-stream": "^1.0.8", 1228 | "mime-types": "^2.1.12" 1229 | } 1230 | }, 1231 | "tslib": { 1232 | "version": "1.14.1", 1233 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 1234 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 1235 | }, 1236 | "uuid": { 1237 | "version": "7.0.3", 1238 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", 1239 | "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" 1240 | } 1241 | } 1242 | }, 1243 | "has": { 1244 | "version": "1.0.3", 1245 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1246 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1247 | "requires": { 1248 | "function-bind": "^1.1.1" 1249 | } 1250 | }, 1251 | "has-ansi": { 1252 | "version": "2.0.0", 1253 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1254 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1255 | "requires": { 1256 | "ansi-regex": "^2.0.0" 1257 | } 1258 | }, 1259 | "has-binary2": { 1260 | "version": "1.0.3", 1261 | "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", 1262 | "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", 1263 | "requires": { 1264 | "isarray": "2.0.1" 1265 | } 1266 | }, 1267 | "has-cors": { 1268 | "version": "1.1.0", 1269 | "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", 1270 | "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" 1271 | }, 1272 | "has-flag": { 1273 | "version": "3.0.0", 1274 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1275 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 1276 | }, 1277 | "has-symbols": { 1278 | "version": "1.0.2", 1279 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", 1280 | "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" 1281 | }, 1282 | "hpagent": { 1283 | "version": "0.1.1", 1284 | "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-0.1.1.tgz", 1285 | "integrity": "sha512-IxJWQiY0vmEjetHdoE9HZjD4Cx+mYTr25tR7JCxXaiI3QxW0YqYyM11KyZbHufoa/piWhMb2+D3FGpMgmA2cFQ==" 1286 | }, 1287 | "htmlparser2": { 1288 | "version": "6.1.0", 1289 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", 1290 | "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", 1291 | "requires": { 1292 | "domelementtype": "^2.0.1", 1293 | "domhandler": "^4.0.0", 1294 | "domutils": "^2.5.2", 1295 | "entities": "^2.0.0" 1296 | } 1297 | }, 1298 | "http-cache-semantics": { 1299 | "version": "4.1.0", 1300 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", 1301 | "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" 1302 | }, 1303 | "http2-wrapper": { 1304 | "version": "1.0.3", 1305 | "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", 1306 | "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", 1307 | "requires": { 1308 | "quick-lru": "^5.1.1", 1309 | "resolve-alpn": "^1.0.0" 1310 | } 1311 | }, 1312 | "humanize-ms": { 1313 | "version": "1.2.1", 1314 | "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", 1315 | "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", 1316 | "requires": { 1317 | "ms": "^2.0.0" 1318 | } 1319 | }, 1320 | "iconv-lite": { 1321 | "version": "0.4.24", 1322 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1323 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 1324 | "requires": { 1325 | "safer-buffer": ">= 2.1.2 < 3" 1326 | } 1327 | }, 1328 | "ignore": { 1329 | "version": "5.1.8", 1330 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", 1331 | "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" 1332 | }, 1333 | "import-lazy": { 1334 | "version": "2.1.0", 1335 | "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", 1336 | "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" 1337 | }, 1338 | "imurmurhash": { 1339 | "version": "0.1.4", 1340 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1341 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" 1342 | }, 1343 | "indent-string": { 1344 | "version": "4.0.0", 1345 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 1346 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" 1347 | }, 1348 | "indexof": { 1349 | "version": "0.0.1", 1350 | "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", 1351 | "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" 1352 | }, 1353 | "ini": { 1354 | "version": "1.3.8", 1355 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 1356 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" 1357 | }, 1358 | "inquirer": { 1359 | "version": "6.5.2", 1360 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", 1361 | "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", 1362 | "requires": { 1363 | "ansi-escapes": "^3.2.0", 1364 | "chalk": "^2.4.2", 1365 | "cli-cursor": "^2.1.0", 1366 | "cli-width": "^2.0.0", 1367 | "external-editor": "^3.0.3", 1368 | "figures": "^2.0.0", 1369 | "lodash": "^4.17.12", 1370 | "mute-stream": "0.0.7", 1371 | "run-async": "^2.2.0", 1372 | "rxjs": "^6.4.0", 1373 | "string-width": "^2.1.0", 1374 | "strip-ansi": "^5.1.0", 1375 | "through": "^2.3.6" 1376 | }, 1377 | "dependencies": { 1378 | "ansi-regex": { 1379 | "version": "4.1.0", 1380 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 1381 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" 1382 | }, 1383 | "ansi-styles": { 1384 | "version": "3.2.1", 1385 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 1386 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 1387 | "requires": { 1388 | "color-convert": "^1.9.0" 1389 | } 1390 | }, 1391 | "chalk": { 1392 | "version": "2.4.2", 1393 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 1394 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 1395 | "requires": { 1396 | "ansi-styles": "^3.2.1", 1397 | "escape-string-regexp": "^1.0.5", 1398 | "supports-color": "^5.3.0" 1399 | } 1400 | }, 1401 | "strip-ansi": { 1402 | "version": "5.2.0", 1403 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 1404 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 1405 | "requires": { 1406 | "ansi-regex": "^4.1.0" 1407 | } 1408 | }, 1409 | "supports-color": { 1410 | "version": "5.5.0", 1411 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1412 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1413 | "requires": { 1414 | "has-flag": "^3.0.0" 1415 | } 1416 | } 1417 | } 1418 | }, 1419 | "is-arguments": { 1420 | "version": "1.1.0", 1421 | "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", 1422 | "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", 1423 | "requires": { 1424 | "call-bind": "^1.0.0" 1425 | } 1426 | }, 1427 | "is-ci": { 1428 | "version": "1.2.1", 1429 | "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", 1430 | "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", 1431 | "requires": { 1432 | "ci-info": "^1.5.0" 1433 | } 1434 | }, 1435 | "is-date-object": { 1436 | "version": "1.0.2", 1437 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", 1438 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" 1439 | }, 1440 | "is-extglob": { 1441 | "version": "2.1.1", 1442 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1443 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" 1444 | }, 1445 | "is-fullwidth-code-point": { 1446 | "version": "2.0.0", 1447 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1448 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 1449 | }, 1450 | "is-glob": { 1451 | "version": "4.0.1", 1452 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", 1453 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", 1454 | "requires": { 1455 | "is-extglob": "^2.1.1" 1456 | } 1457 | }, 1458 | "is-installed-globally": { 1459 | "version": "0.1.0", 1460 | "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", 1461 | "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", 1462 | "requires": { 1463 | "global-dirs": "^0.1.0", 1464 | "is-path-inside": "^1.0.0" 1465 | } 1466 | }, 1467 | "is-npm": { 1468 | "version": "1.0.0", 1469 | "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", 1470 | "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=" 1471 | }, 1472 | "is-number": { 1473 | "version": "7.0.0", 1474 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1475 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" 1476 | }, 1477 | "is-obj": { 1478 | "version": "1.0.1", 1479 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", 1480 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" 1481 | }, 1482 | "is-path-inside": { 1483 | "version": "1.0.1", 1484 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", 1485 | "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", 1486 | "requires": { 1487 | "path-is-inside": "^1.0.1" 1488 | } 1489 | }, 1490 | "is-redirect": { 1491 | "version": "1.0.0", 1492 | "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", 1493 | "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" 1494 | }, 1495 | "is-regex": { 1496 | "version": "1.1.2", 1497 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", 1498 | "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", 1499 | "requires": { 1500 | "call-bind": "^1.0.2", 1501 | "has-symbols": "^1.0.1" 1502 | } 1503 | }, 1504 | "is-retry-allowed": { 1505 | "version": "1.2.0", 1506 | "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", 1507 | "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" 1508 | }, 1509 | "is-stream": { 1510 | "version": "1.1.0", 1511 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 1512 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 1513 | }, 1514 | "is-wsl": { 1515 | "version": "1.1.0", 1516 | "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", 1517 | "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" 1518 | }, 1519 | "isarray": { 1520 | "version": "2.0.1", 1521 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", 1522 | "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" 1523 | }, 1524 | "isexe": { 1525 | "version": "2.0.0", 1526 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1527 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" 1528 | }, 1529 | "isnumber": { 1530 | "version": "1.0.0", 1531 | "resolved": "https://registry.npmjs.org/isnumber/-/isnumber-1.0.0.tgz", 1532 | "integrity": "sha1-Dj+XWbWB2Z3YUIbw7Cp0kJz63QE=" 1533 | }, 1534 | "iterall": { 1535 | "version": "1.3.0", 1536 | "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", 1537 | "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" 1538 | }, 1539 | "js-yaml": { 1540 | "version": "3.14.1", 1541 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", 1542 | "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", 1543 | "requires": { 1544 | "argparse": "^1.0.7", 1545 | "esprima": "^4.0.0" 1546 | } 1547 | }, 1548 | "jsck": { 1549 | "version": "0.3.2", 1550 | "resolved": "https://registry.npmjs.org/jsck/-/jsck-0.3.2.tgz", 1551 | "integrity": "sha1-jgazG7V7AJDlA91O5q0PJp3/GlU=" 1552 | }, 1553 | "json-buffer": { 1554 | "version": "3.0.1", 1555 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 1556 | "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" 1557 | }, 1558 | "jsonfile": { 1559 | "version": "4.0.0", 1560 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 1561 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 1562 | "requires": { 1563 | "graceful-fs": "^4.1.6" 1564 | } 1565 | }, 1566 | "jsonpath": { 1567 | "version": "1.1.1", 1568 | "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", 1569 | "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", 1570 | "requires": { 1571 | "esprima": "1.2.2", 1572 | "static-eval": "2.0.2", 1573 | "underscore": "1.12.1" 1574 | }, 1575 | "dependencies": { 1576 | "esprima": { 1577 | "version": "1.2.2", 1578 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", 1579 | "integrity": "sha1-dqD9Zvz+FU/SkmZ9wmQBl1CxZXs=" 1580 | } 1581 | } 1582 | }, 1583 | "keyv": { 1584 | "version": "4.0.3", 1585 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz", 1586 | "integrity": "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==", 1587 | "requires": { 1588 | "json-buffer": "3.0.1" 1589 | } 1590 | }, 1591 | "latest-version": { 1592 | "version": "3.1.0", 1593 | "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", 1594 | "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", 1595 | "requires": { 1596 | "package-json": "^4.0.0" 1597 | } 1598 | }, 1599 | "levn": { 1600 | "version": "0.3.0", 1601 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 1602 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 1603 | "requires": { 1604 | "prelude-ls": "~1.1.2", 1605 | "type-check": "~0.3.2" 1606 | } 1607 | }, 1608 | "lodash": { 1609 | "version": "4.17.21", 1610 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1611 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" 1612 | }, 1613 | "lodash.flatten": { 1614 | "version": "4.4.0", 1615 | "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", 1616 | "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" 1617 | }, 1618 | "lodash.isobject": { 1619 | "version": "3.0.2", 1620 | "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", 1621 | "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=" 1622 | }, 1623 | "lodash.isplainobject": { 1624 | "version": "4.0.6", 1625 | "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 1626 | "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" 1627 | }, 1628 | "log-symbols": { 1629 | "version": "2.2.0", 1630 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", 1631 | "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", 1632 | "requires": { 1633 | "chalk": "^2.0.1" 1634 | }, 1635 | "dependencies": { 1636 | "ansi-styles": { 1637 | "version": "3.2.1", 1638 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 1639 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 1640 | "requires": { 1641 | "color-convert": "^1.9.0" 1642 | } 1643 | }, 1644 | "chalk": { 1645 | "version": "2.4.2", 1646 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 1647 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 1648 | "requires": { 1649 | "ansi-styles": "^3.2.1", 1650 | "escape-string-regexp": "^1.0.5", 1651 | "supports-color": "^5.3.0" 1652 | } 1653 | }, 1654 | "supports-color": { 1655 | "version": "5.5.0", 1656 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1657 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1658 | "requires": { 1659 | "has-flag": "^3.0.0" 1660 | } 1661 | } 1662 | } 1663 | }, 1664 | "lower-case": { 1665 | "version": "2.0.2", 1666 | "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", 1667 | "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", 1668 | "requires": { 1669 | "tslib": "^2.0.3" 1670 | }, 1671 | "dependencies": { 1672 | "tslib": { 1673 | "version": "2.2.0", 1674 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", 1675 | "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" 1676 | } 1677 | } 1678 | }, 1679 | "lowercase-keys": { 1680 | "version": "2.0.0", 1681 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", 1682 | "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" 1683 | }, 1684 | "lru-cache": { 1685 | "version": "4.1.5", 1686 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", 1687 | "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", 1688 | "requires": { 1689 | "pseudomap": "^1.0.2", 1690 | "yallist": "^2.1.2" 1691 | } 1692 | }, 1693 | "lynx": { 1694 | "version": "0.2.0", 1695 | "resolved": "https://registry.npmjs.org/lynx/-/lynx-0.2.0.tgz", 1696 | "integrity": "sha1-eeZnRTDaQYPoeVO9aGFx4HDaULk=", 1697 | "requires": { 1698 | "mersenne": "~0.0.3", 1699 | "statsd-parser": "~0.0.4" 1700 | } 1701 | }, 1702 | "make-dir": { 1703 | "version": "1.3.0", 1704 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", 1705 | "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", 1706 | "requires": { 1707 | "pify": "^3.0.0" 1708 | } 1709 | }, 1710 | "merge-graphql-schemas": { 1711 | "version": "1.7.8", 1712 | "resolved": "https://registry.npmjs.org/merge-graphql-schemas/-/merge-graphql-schemas-1.7.8.tgz", 1713 | "integrity": "sha512-C3EJ1i86OjmbcCT524wVPRl17M5VZzgyh9kIGYAlYnAILX+7xfh8cCbMKfehh9n4opZg6CtcPogCiVZ6PB2NyQ==", 1714 | "requires": { 1715 | "@graphql-toolkit/file-loading": "0.10.4", 1716 | "@graphql-toolkit/schema-merging": "0.10.4", 1717 | "tslib": "1.11.1" 1718 | }, 1719 | "dependencies": { 1720 | "tslib": { 1721 | "version": "1.11.1", 1722 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", 1723 | "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==" 1724 | } 1725 | } 1726 | }, 1727 | "merge2": { 1728 | "version": "1.4.1", 1729 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1730 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" 1731 | }, 1732 | "mersenne": { 1733 | "version": "0.0.4", 1734 | "resolved": "https://registry.npmjs.org/mersenne/-/mersenne-0.0.4.tgz", 1735 | "integrity": "sha1-QB/ex+whzbngPNPTAhOY2iGycIU=" 1736 | }, 1737 | "micromatch": { 1738 | "version": "4.0.4", 1739 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", 1740 | "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", 1741 | "requires": { 1742 | "braces": "^3.0.1", 1743 | "picomatch": "^2.2.3" 1744 | } 1745 | }, 1746 | "mime-db": { 1747 | "version": "1.38.0", 1748 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", 1749 | "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==" 1750 | }, 1751 | "mime-types": { 1752 | "version": "2.1.22", 1753 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", 1754 | "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", 1755 | "requires": { 1756 | "mime-db": "~1.38.0" 1757 | } 1758 | }, 1759 | "mimic-fn": { 1760 | "version": "1.2.0", 1761 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 1762 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" 1763 | }, 1764 | "mimic-response": { 1765 | "version": "1.0.1", 1766 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", 1767 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" 1768 | }, 1769 | "minimist": { 1770 | "version": "1.2.5", 1771 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 1772 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" 1773 | }, 1774 | "moment": { 1775 | "version": "2.29.1", 1776 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", 1777 | "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" 1778 | }, 1779 | "ms": { 1780 | "version": "2.1.2", 1781 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1782 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1783 | }, 1784 | "mute-stream": { 1785 | "version": "0.0.7", 1786 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 1787 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" 1788 | }, 1789 | "nanotimer": { 1790 | "version": "0.3.15", 1791 | "resolved": "https://registry.npmjs.org/nanotimer/-/nanotimer-0.3.15.tgz", 1792 | "integrity": "sha1-KA0nfbkUbspvilcLVyq68qmsx1Q=" 1793 | }, 1794 | "no-case": { 1795 | "version": "3.0.4", 1796 | "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", 1797 | "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", 1798 | "requires": { 1799 | "lower-case": "^2.0.2", 1800 | "tslib": "^2.0.3" 1801 | }, 1802 | "dependencies": { 1803 | "tslib": { 1804 | "version": "2.2.0", 1805 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", 1806 | "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" 1807 | } 1808 | } 1809 | }, 1810 | "node-fetch": { 1811 | "version": "2.6.1", 1812 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", 1813 | "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" 1814 | }, 1815 | "normalize-path": { 1816 | "version": "2.1.1", 1817 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", 1818 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", 1819 | "requires": { 1820 | "remove-trailing-separator": "^1.0.1" 1821 | } 1822 | }, 1823 | "normalize-url": { 1824 | "version": "4.5.0", 1825 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", 1826 | "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" 1827 | }, 1828 | "npm-run-path": { 1829 | "version": "2.0.2", 1830 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", 1831 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", 1832 | "requires": { 1833 | "path-key": "^2.0.0" 1834 | } 1835 | }, 1836 | "nth-check": { 1837 | "version": "2.0.0", 1838 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", 1839 | "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", 1840 | "requires": { 1841 | "boolbase": "^1.0.0" 1842 | } 1843 | }, 1844 | "object-is": { 1845 | "version": "1.1.5", 1846 | "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", 1847 | "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", 1848 | "requires": { 1849 | "call-bind": "^1.0.2", 1850 | "define-properties": "^1.1.3" 1851 | } 1852 | }, 1853 | "object-keys": { 1854 | "version": "1.1.1", 1855 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 1856 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" 1857 | }, 1858 | "once": { 1859 | "version": "1.4.0", 1860 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1861 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1862 | "requires": { 1863 | "wrappy": "1" 1864 | } 1865 | }, 1866 | "onetime": { 1867 | "version": "2.0.1", 1868 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 1869 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 1870 | "requires": { 1871 | "mimic-fn": "^1.0.0" 1872 | } 1873 | }, 1874 | "opn": { 1875 | "version": "5.5.0", 1876 | "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", 1877 | "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", 1878 | "requires": { 1879 | "is-wsl": "^1.1.0" 1880 | } 1881 | }, 1882 | "optionator": { 1883 | "version": "0.8.3", 1884 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", 1885 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", 1886 | "requires": { 1887 | "deep-is": "~0.1.3", 1888 | "fast-levenshtein": "~2.0.6", 1889 | "levn": "~0.3.0", 1890 | "prelude-ls": "~1.1.2", 1891 | "type-check": "~0.3.2", 1892 | "word-wrap": "~1.2.3" 1893 | } 1894 | }, 1895 | "ora": { 1896 | "version": "3.4.0", 1897 | "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", 1898 | "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", 1899 | "requires": { 1900 | "chalk": "^2.4.2", 1901 | "cli-cursor": "^2.1.0", 1902 | "cli-spinners": "^2.0.0", 1903 | "log-symbols": "^2.2.0", 1904 | "strip-ansi": "^5.2.0", 1905 | "wcwidth": "^1.0.1" 1906 | }, 1907 | "dependencies": { 1908 | "ansi-regex": { 1909 | "version": "4.1.0", 1910 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 1911 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" 1912 | }, 1913 | "ansi-styles": { 1914 | "version": "3.2.1", 1915 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 1916 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 1917 | "requires": { 1918 | "color-convert": "^1.9.0" 1919 | } 1920 | }, 1921 | "chalk": { 1922 | "version": "2.4.2", 1923 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 1924 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 1925 | "requires": { 1926 | "ansi-styles": "^3.2.1", 1927 | "escape-string-regexp": "^1.0.5", 1928 | "supports-color": "^5.3.0" 1929 | } 1930 | }, 1931 | "cli-spinners": { 1932 | "version": "2.6.0", 1933 | "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", 1934 | "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==" 1935 | }, 1936 | "strip-ansi": { 1937 | "version": "5.2.0", 1938 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 1939 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 1940 | "requires": { 1941 | "ansi-regex": "^4.1.0" 1942 | } 1943 | }, 1944 | "supports-color": { 1945 | "version": "5.5.0", 1946 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1947 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1948 | "requires": { 1949 | "has-flag": "^3.0.0" 1950 | } 1951 | } 1952 | } 1953 | }, 1954 | "os-tmpdir": { 1955 | "version": "1.0.2", 1956 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 1957 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" 1958 | }, 1959 | "p-cancelable": { 1960 | "version": "2.1.0", 1961 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.0.tgz", 1962 | "integrity": "sha512-HAZyB3ZodPo+BDpb4/Iu7Jv4P6cSazBz9ZM0ChhEXp70scx834aWCEjQRwgt41UzzejUAPdbqqONfRWTPYrPAQ==" 1963 | }, 1964 | "p-finally": { 1965 | "version": "1.0.0", 1966 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 1967 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" 1968 | }, 1969 | "package-json": { 1970 | "version": "4.0.1", 1971 | "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", 1972 | "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", 1973 | "requires": { 1974 | "got": "^6.7.1", 1975 | "registry-auth-token": "^3.0.1", 1976 | "registry-url": "^3.0.3", 1977 | "semver": "^5.1.0" 1978 | }, 1979 | "dependencies": { 1980 | "get-stream": { 1981 | "version": "3.0.0", 1982 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", 1983 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" 1984 | }, 1985 | "got": { 1986 | "version": "6.7.1", 1987 | "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", 1988 | "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", 1989 | "requires": { 1990 | "create-error-class": "^3.0.0", 1991 | "duplexer3": "^0.1.4", 1992 | "get-stream": "^3.0.0", 1993 | "is-redirect": "^1.0.0", 1994 | "is-retry-allowed": "^1.0.0", 1995 | "is-stream": "^1.0.0", 1996 | "lowercase-keys": "^1.0.0", 1997 | "safe-buffer": "^5.0.1", 1998 | "timed-out": "^4.0.0", 1999 | "unzip-response": "^2.0.1", 2000 | "url-parse-lax": "^1.0.0" 2001 | } 2002 | }, 2003 | "lowercase-keys": { 2004 | "version": "1.0.1", 2005 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", 2006 | "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" 2007 | } 2008 | } 2009 | }, 2010 | "parse5": { 2011 | "version": "6.0.1", 2012 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", 2013 | "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" 2014 | }, 2015 | "parse5-htmlparser2-tree-adapter": { 2016 | "version": "6.0.1", 2017 | "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", 2018 | "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", 2019 | "requires": { 2020 | "parse5": "^6.0.1" 2021 | } 2022 | }, 2023 | "parseqs": { 2024 | "version": "0.0.6", 2025 | "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", 2026 | "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" 2027 | }, 2028 | "parseuri": { 2029 | "version": "0.0.6", 2030 | "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", 2031 | "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" 2032 | }, 2033 | "pascal-case": { 2034 | "version": "3.1.2", 2035 | "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", 2036 | "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", 2037 | "requires": { 2038 | "no-case": "^3.0.4", 2039 | "tslib": "^2.0.3" 2040 | }, 2041 | "dependencies": { 2042 | "tslib": { 2043 | "version": "2.2.0", 2044 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", 2045 | "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" 2046 | } 2047 | } 2048 | }, 2049 | "path-is-inside": { 2050 | "version": "1.0.2", 2051 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 2052 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" 2053 | }, 2054 | "path-key": { 2055 | "version": "2.0.1", 2056 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 2057 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" 2058 | }, 2059 | "path-type": { 2060 | "version": "4.0.0", 2061 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 2062 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" 2063 | }, 2064 | "picomatch": { 2065 | "version": "2.2.3", 2066 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", 2067 | "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==" 2068 | }, 2069 | "pidusage": { 2070 | "version": "1.2.0", 2071 | "resolved": "https://registry.npmjs.org/pidusage/-/pidusage-1.2.0.tgz", 2072 | "integrity": "sha512-OGo+iSOk44HRJ8q15AyG570UYxcm5u+R99DI8Khu8P3tKGkVu5EZX4ywHglWSTMNNXQ274oeGpYrvFEhDIFGPg==" 2073 | }, 2074 | "pify": { 2075 | "version": "3.0.0", 2076 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 2077 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" 2078 | }, 2079 | "prelude-ls": { 2080 | "version": "1.1.2", 2081 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 2082 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" 2083 | }, 2084 | "prepend-http": { 2085 | "version": "1.0.4", 2086 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", 2087 | "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" 2088 | }, 2089 | "present": { 2090 | "version": "0.0.3", 2091 | "resolved": "https://registry.npmjs.org/present/-/present-0.0.3.tgz", 2092 | "integrity": "sha1-Wu+4pd32s0xldDvxzeU1I6rBwFo=" 2093 | }, 2094 | "pseudomap": { 2095 | "version": "1.0.2", 2096 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 2097 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" 2098 | }, 2099 | "psl": { 2100 | "version": "1.8.0", 2101 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", 2102 | "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" 2103 | }, 2104 | "pump": { 2105 | "version": "3.0.0", 2106 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 2107 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 2108 | "requires": { 2109 | "end-of-stream": "^1.1.0", 2110 | "once": "^1.3.1" 2111 | } 2112 | }, 2113 | "punycode": { 2114 | "version": "2.1.1", 2115 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 2116 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" 2117 | }, 2118 | "queue-microtask": { 2119 | "version": "1.2.3", 2120 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 2121 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" 2122 | }, 2123 | "quick-lru": { 2124 | "version": "5.1.1", 2125 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", 2126 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" 2127 | }, 2128 | "rc": { 2129 | "version": "1.2.8", 2130 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 2131 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 2132 | "requires": { 2133 | "deep-extend": "^0.6.0", 2134 | "ini": "~1.3.0", 2135 | "minimist": "^1.2.0", 2136 | "strip-json-comments": "~2.0.1" 2137 | } 2138 | }, 2139 | "regenerator-runtime": { 2140 | "version": "0.13.7", 2141 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", 2142 | "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" 2143 | }, 2144 | "regexp.prototype.flags": { 2145 | "version": "1.3.1", 2146 | "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", 2147 | "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", 2148 | "requires": { 2149 | "call-bind": "^1.0.2", 2150 | "define-properties": "^1.1.3" 2151 | } 2152 | }, 2153 | "registry-auth-token": { 2154 | "version": "3.4.0", 2155 | "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", 2156 | "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", 2157 | "requires": { 2158 | "rc": "^1.1.6", 2159 | "safe-buffer": "^5.0.1" 2160 | } 2161 | }, 2162 | "registry-url": { 2163 | "version": "3.1.0", 2164 | "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", 2165 | "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", 2166 | "requires": { 2167 | "rc": "^1.0.1" 2168 | } 2169 | }, 2170 | "remove-trailing-separator": { 2171 | "version": "1.1.0", 2172 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", 2173 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" 2174 | }, 2175 | "resolve-alpn": { 2176 | "version": "1.1.2", 2177 | "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.1.2.tgz", 2178 | "integrity": "sha512-8OyfzhAtA32LVUsJSke3auIyINcwdh5l3cvYKdKO0nvsYSKuiLfTM5i78PJswFPT8y6cPW+L1v6/hE95chcpDA==" 2179 | }, 2180 | "responselike": { 2181 | "version": "2.0.0", 2182 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", 2183 | "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", 2184 | "requires": { 2185 | "lowercase-keys": "^2.0.0" 2186 | } 2187 | }, 2188 | "restore-cursor": { 2189 | "version": "2.0.0", 2190 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 2191 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 2192 | "requires": { 2193 | "onetime": "^2.0.0", 2194 | "signal-exit": "^3.0.2" 2195 | } 2196 | }, 2197 | "reusify": { 2198 | "version": "1.0.4", 2199 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 2200 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" 2201 | }, 2202 | "run-async": { 2203 | "version": "2.4.1", 2204 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", 2205 | "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" 2206 | }, 2207 | "run-parallel": { 2208 | "version": "1.2.0", 2209 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 2210 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 2211 | "requires": { 2212 | "queue-microtask": "^1.2.2" 2213 | } 2214 | }, 2215 | "rxjs": { 2216 | "version": "6.6.7", 2217 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", 2218 | "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", 2219 | "requires": { 2220 | "tslib": "^1.9.0" 2221 | } 2222 | }, 2223 | "safe-buffer": { 2224 | "version": "5.2.1", 2225 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 2226 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 2227 | }, 2228 | "safer-buffer": { 2229 | "version": "2.1.2", 2230 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 2231 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 2232 | }, 2233 | "semver": { 2234 | "version": "5.7.1", 2235 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 2236 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" 2237 | }, 2238 | "semver-diff": { 2239 | "version": "2.1.0", 2240 | "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", 2241 | "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", 2242 | "requires": { 2243 | "semver": "^5.0.3" 2244 | } 2245 | }, 2246 | "shebang-command": { 2247 | "version": "1.2.0", 2248 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 2249 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 2250 | "requires": { 2251 | "shebang-regex": "^1.0.0" 2252 | } 2253 | }, 2254 | "shebang-regex": { 2255 | "version": "1.0.0", 2256 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 2257 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" 2258 | }, 2259 | "signal-exit": { 2260 | "version": "3.0.3", 2261 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", 2262 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" 2263 | }, 2264 | "slash": { 2265 | "version": "3.0.0", 2266 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 2267 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" 2268 | }, 2269 | "socket.io-client": { 2270 | "version": "2.4.0", 2271 | "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", 2272 | "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", 2273 | "requires": { 2274 | "backo2": "1.0.2", 2275 | "component-bind": "1.0.0", 2276 | "component-emitter": "~1.3.0", 2277 | "debug": "~3.1.0", 2278 | "engine.io-client": "~3.5.0", 2279 | "has-binary2": "~1.0.2", 2280 | "indexof": "0.0.1", 2281 | "parseqs": "0.0.6", 2282 | "parseuri": "0.0.6", 2283 | "socket.io-parser": "~3.3.0", 2284 | "to-array": "0.1.4" 2285 | }, 2286 | "dependencies": { 2287 | "debug": { 2288 | "version": "3.1.0", 2289 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 2290 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 2291 | "requires": { 2292 | "ms": "2.0.0" 2293 | } 2294 | }, 2295 | "ms": { 2296 | "version": "2.0.0", 2297 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2298 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 2299 | } 2300 | } 2301 | }, 2302 | "socket.io-parser": { 2303 | "version": "3.3.2", 2304 | "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", 2305 | "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", 2306 | "requires": { 2307 | "component-emitter": "~1.3.0", 2308 | "debug": "~3.1.0", 2309 | "isarray": "2.0.1" 2310 | }, 2311 | "dependencies": { 2312 | "debug": { 2313 | "version": "3.1.0", 2314 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 2315 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 2316 | "requires": { 2317 | "ms": "2.0.0" 2318 | } 2319 | }, 2320 | "ms": { 2321 | "version": "2.0.0", 2322 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2323 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 2324 | } 2325 | } 2326 | }, 2327 | "socketio-wildcard": { 2328 | "version": "2.0.0", 2329 | "resolved": "https://registry.npmjs.org/socketio-wildcard/-/socketio-wildcard-2.0.0.tgz", 2330 | "integrity": "sha1-JGboMidrGRY1Y77ncjiHR/kSR1s=" 2331 | }, 2332 | "source-map": { 2333 | "version": "0.6.1", 2334 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2335 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 2336 | "optional": true 2337 | }, 2338 | "sprintf-js": { 2339 | "version": "1.0.3", 2340 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 2341 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" 2342 | }, 2343 | "static-eval": { 2344 | "version": "2.0.2", 2345 | "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", 2346 | "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", 2347 | "requires": { 2348 | "escodegen": "^1.8.1" 2349 | } 2350 | }, 2351 | "stats-lite": { 2352 | "version": "2.2.0", 2353 | "resolved": "https://registry.npmjs.org/stats-lite/-/stats-lite-2.2.0.tgz", 2354 | "integrity": "sha512-/Kz55rgUIv2KP2MKphwYT/NCuSfAlbbMRv2ZWw7wyXayu230zdtzhxxuXXcvsc6EmmhS8bSJl3uS1wmMHFumbA==", 2355 | "requires": { 2356 | "isnumber": "~1.0.0" 2357 | } 2358 | }, 2359 | "statsd-parser": { 2360 | "version": "0.0.4", 2361 | "resolved": "https://registry.npmjs.org/statsd-parser/-/statsd-parser-0.0.4.tgz", 2362 | "integrity": "sha1-y9JDlTzELv/VSLXSI4jtaJ7GOb0=" 2363 | }, 2364 | "string-width": { 2365 | "version": "2.1.1", 2366 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 2367 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 2368 | "requires": { 2369 | "is-fullwidth-code-point": "^2.0.0", 2370 | "strip-ansi": "^4.0.0" 2371 | }, 2372 | "dependencies": { 2373 | "ansi-regex": { 2374 | "version": "3.0.0", 2375 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 2376 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" 2377 | }, 2378 | "strip-ansi": { 2379 | "version": "4.0.0", 2380 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 2381 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 2382 | "requires": { 2383 | "ansi-regex": "^3.0.0" 2384 | } 2385 | } 2386 | } 2387 | }, 2388 | "strip-ansi": { 2389 | "version": "3.0.1", 2390 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 2391 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 2392 | "requires": { 2393 | "ansi-regex": "^2.0.0" 2394 | } 2395 | }, 2396 | "strip-eof": { 2397 | "version": "1.0.0", 2398 | "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", 2399 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" 2400 | }, 2401 | "strip-json-comments": { 2402 | "version": "2.0.1", 2403 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 2404 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" 2405 | }, 2406 | "supports-color": { 2407 | "version": "2.0.0", 2408 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2409 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" 2410 | }, 2411 | "term-size": { 2412 | "version": "1.2.0", 2413 | "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", 2414 | "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", 2415 | "requires": { 2416 | "execa": "^0.7.0" 2417 | } 2418 | }, 2419 | "through": { 2420 | "version": "2.3.8", 2421 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 2422 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" 2423 | }, 2424 | "timed-out": { 2425 | "version": "4.0.1", 2426 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", 2427 | "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" 2428 | }, 2429 | "tmp": { 2430 | "version": "0.0.28", 2431 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz", 2432 | "integrity": "sha1-Fyc1t/YU6nrzlmT6hM8N5OUV0SA=", 2433 | "requires": { 2434 | "os-tmpdir": "~1.0.1" 2435 | } 2436 | }, 2437 | "to-array": { 2438 | "version": "0.1.4", 2439 | "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", 2440 | "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" 2441 | }, 2442 | "to-regex-range": { 2443 | "version": "5.0.1", 2444 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2445 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2446 | "requires": { 2447 | "is-number": "^7.0.0" 2448 | } 2449 | }, 2450 | "tough-cookie": { 2451 | "version": "2.5.0", 2452 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", 2453 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", 2454 | "requires": { 2455 | "psl": "^1.1.28", 2456 | "punycode": "^2.1.1" 2457 | } 2458 | }, 2459 | "try-require": { 2460 | "version": "1.2.1", 2461 | "resolved": "https://registry.npmjs.org/try-require/-/try-require-1.2.1.tgz", 2462 | "integrity": "sha1-NEiaLKwMCcHMEO2RugEVlNQzO+I=" 2463 | }, 2464 | "ts-invariant": { 2465 | "version": "0.4.4", 2466 | "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz", 2467 | "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==", 2468 | "requires": { 2469 | "tslib": "^1.9.3" 2470 | } 2471 | }, 2472 | "tslib": { 2473 | "version": "1.9.3", 2474 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", 2475 | "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" 2476 | }, 2477 | "type-check": { 2478 | "version": "0.3.2", 2479 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 2480 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 2481 | "requires": { 2482 | "prelude-ls": "~1.1.2" 2483 | } 2484 | }, 2485 | "underscore": { 2486 | "version": "1.12.1", 2487 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", 2488 | "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" 2489 | }, 2490 | "unique-string": { 2491 | "version": "1.0.0", 2492 | "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", 2493 | "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", 2494 | "requires": { 2495 | "crypto-random-string": "^1.0.0" 2496 | } 2497 | }, 2498 | "universalify": { 2499 | "version": "0.1.2", 2500 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 2501 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" 2502 | }, 2503 | "unixify": { 2504 | "version": "1.0.0", 2505 | "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", 2506 | "integrity": "sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA=", 2507 | "requires": { 2508 | "normalize-path": "^2.1.1" 2509 | } 2510 | }, 2511 | "unzip-response": { 2512 | "version": "2.0.1", 2513 | "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", 2514 | "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" 2515 | }, 2516 | "update-notifier": { 2517 | "version": "2.5.0", 2518 | "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", 2519 | "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", 2520 | "requires": { 2521 | "boxen": "^1.2.1", 2522 | "chalk": "^2.0.1", 2523 | "configstore": "^3.0.0", 2524 | "import-lazy": "^2.1.0", 2525 | "is-ci": "^1.0.10", 2526 | "is-installed-globally": "^0.1.0", 2527 | "is-npm": "^1.0.0", 2528 | "latest-version": "^3.0.0", 2529 | "semver-diff": "^2.0.0", 2530 | "xdg-basedir": "^3.0.0" 2531 | }, 2532 | "dependencies": { 2533 | "ansi-styles": { 2534 | "version": "3.2.1", 2535 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 2536 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 2537 | "requires": { 2538 | "color-convert": "^1.9.0" 2539 | } 2540 | }, 2541 | "chalk": { 2542 | "version": "2.4.2", 2543 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 2544 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 2545 | "requires": { 2546 | "ansi-styles": "^3.2.1", 2547 | "escape-string-regexp": "^1.0.5", 2548 | "supports-color": "^5.3.0" 2549 | } 2550 | }, 2551 | "supports-color": { 2552 | "version": "5.5.0", 2553 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 2554 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 2555 | "requires": { 2556 | "has-flag": "^3.0.0" 2557 | } 2558 | } 2559 | } 2560 | }, 2561 | "url-parse-lax": { 2562 | "version": "1.0.0", 2563 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", 2564 | "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", 2565 | "requires": { 2566 | "prepend-http": "^1.0.1" 2567 | } 2568 | }, 2569 | "uuid": { 2570 | "version": "2.0.3", 2571 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", 2572 | "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" 2573 | }, 2574 | "wcwidth": { 2575 | "version": "1.0.1", 2576 | "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", 2577 | "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", 2578 | "requires": { 2579 | "defaults": "^1.0.3" 2580 | } 2581 | }, 2582 | "which": { 2583 | "version": "1.3.1", 2584 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 2585 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 2586 | "requires": { 2587 | "isexe": "^2.0.0" 2588 | } 2589 | }, 2590 | "widest-line": { 2591 | "version": "2.0.1", 2592 | "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", 2593 | "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", 2594 | "requires": { 2595 | "string-width": "^2.1.1" 2596 | } 2597 | }, 2598 | "word-wrap": { 2599 | "version": "1.2.3", 2600 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 2601 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" 2602 | }, 2603 | "wrappy": { 2604 | "version": "1.0.2", 2605 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2606 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 2607 | }, 2608 | "write-file-atomic": { 2609 | "version": "2.4.3", 2610 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", 2611 | "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", 2612 | "requires": { 2613 | "graceful-fs": "^4.1.11", 2614 | "imurmurhash": "^0.1.4", 2615 | "signal-exit": "^3.0.2" 2616 | } 2617 | }, 2618 | "ws": { 2619 | "version": "5.2.2", 2620 | "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", 2621 | "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", 2622 | "requires": { 2623 | "async-limiter": "~1.0.0" 2624 | } 2625 | }, 2626 | "xdg-basedir": { 2627 | "version": "3.0.0", 2628 | "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", 2629 | "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=" 2630 | }, 2631 | "xmlhttprequest-ssl": { 2632 | "version": "1.5.5", 2633 | "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", 2634 | "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" 2635 | }, 2636 | "yallist": { 2637 | "version": "2.1.2", 2638 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 2639 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" 2640 | }, 2641 | "yeast": { 2642 | "version": "0.1.2", 2643 | "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", 2644 | "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" 2645 | }, 2646 | "zen-observable": { 2647 | "version": "0.8.15", 2648 | "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", 2649 | "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" 2650 | }, 2651 | "zen-observable-ts": { 2652 | "version": "0.8.21", 2653 | "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz", 2654 | "integrity": "sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==", 2655 | "requires": { 2656 | "tslib": "^1.9.3", 2657 | "zen-observable": "^0.8.0" 2658 | } 2659 | } 2660 | } 2661 | } 2662 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "easygraphql-lt", 3 | "version": "1.0.4", 4 | "description": "Do load testing to a GraphQL server without writing a single query", 5 | "bin": { 6 | "easygraphql-lt": "./bin/easygraphql-lt.js" 7 | }, 8 | "scripts": { 9 | "test": "echo \"Error: no test specified\" && exit 1" 10 | }, 11 | "keywords": [ 12 | "graphql", 13 | "testing", 14 | "load-testing" 15 | ], 16 | "homepage": "https://github.com/EasyGraphQL/easygraphql-lt", 17 | "author": { 18 | "name": "EasyGraphQL", 19 | "url": "https://github.com/EasyGraphQL" 20 | }, 21 | "repository": { 22 | "type": "git", 23 | "url": "https://github.com/EasyGraphQL/easygraphql-lt" 24 | }, 25 | "bugs": { 26 | "url": "https://github.com/EasyGraphQL/easygraphql-lt" 27 | }, 28 | "license": "MIT", 29 | "dependencies": { 30 | "artillery": "^1.7.0", 31 | "easygraphql-load-tester": "^2.0.5", 32 | "fs-extra": "^7.0.1", 33 | "graphql": "^14.5.8", 34 | "inquirer": "^6.5.2", 35 | "minimist": "^1.2.5", 36 | "ora": "^3.4.0" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /utils/artilleryConfig/artillery.yml: -------------------------------------------------------------------------------- 1 | config: 2 | target: "http://localhost:8000/" 3 | phases: 4 | - duration: 5 5 | arrivalRate: 10 6 | processor: "./queryGenerator.js" 7 | scenarios: 8 | - name: "GraphQL Query load test" 9 | flow: 10 | - function: "testCases" 11 | - loop: 12 | - post: 13 | url: "/" 14 | json: 15 | query: "{{ $loopElement.query }}" 16 | - log: "Sent a request to the {{ $loopElement.operation }}: {{ $loopElement.name }}" 17 | over: cases -------------------------------------------------------------------------------- /utils/artilleryConfig/queryGenerator.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const fs = require('fs') 4 | const path = require('path') 5 | const EasyGraphQLLoadTester = require('easygraphql-load-tester') 6 | 7 | const { config: { selectedQueries, queryFile, queryFilePath, withMutations }, args } = require('./config.json') 8 | 9 | const schema = fs.readFileSync(path.join(__dirname, 'schema.gql'), 'utf8') 10 | 11 | const easyGraphQLLoadTester = new EasyGraphQLLoadTester(schema, args) 12 | 13 | const options = { 14 | selectedQueries, 15 | queryFile, 16 | queryFilePath, 17 | withMutations 18 | } 19 | 20 | const testCases = easyGraphQLLoadTester.artillery(options) 21 | 22 | module.exports = { 23 | testCases 24 | } 25 | -------------------------------------------------------------------------------- /utils/loadTesting.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const fs = require('fs-extra') 4 | const path = require('path') 5 | const { spawn, exec } = require('child_process') 6 | const moment = require('moment') 7 | const ora = require('ora') 8 | 9 | const startLoadTesting = (configFile, localSchema) => { 10 | const { config: { url, name } } = require(configFile) 11 | 12 | const schemaPath = artilleryConfigPath('schema.gql') 13 | 14 | const testName = name ? name : url 15 | const spinner = ora(`Preparing load testing for: ${testName}`).start() 16 | 17 | if (localSchema) { 18 | fs.copyFile(localSchema, schemaPath, err => { 19 | startLoadTestingCallBack(err, configFile, spinner) 20 | }) 21 | } else { 22 | // Download a copy of the schema to be tested. 23 | exec(`npx get-graphql-schema ${url} > ${schemaPath}`, (err) => { 24 | startLoadTestingCallBack(err, configFile, spinner) 25 | }) 26 | } 27 | } 28 | 29 | const startLoadTestingCallBack = (err, configFile, spinner) => { 30 | if (err) { 31 | console.log('Error:', err.message) 32 | } 33 | 34 | runLoadTesting(configFile, spinner) 35 | } 36 | 37 | const runLoadTesting = (configFile, spinner) => { 38 | configFile = require(configFile) 39 | const newConfigFile = artilleryConfigPath('config.json') 40 | 41 | // if queryFile is required, add the path of the running folder 42 | if (configFile.config.queryFile) { 43 | configFile.config['queryFilePath'] = path.resolve() 44 | } 45 | 46 | fs.writeJSON(newConfigFile, configFile, (err) => { 47 | if (err) { 48 | console.log('Error:', err) 49 | deleteArgsFile('schema.gql') 50 | } 51 | 52 | spinner.stop() 53 | const { config: { url, duration = 5, arrivalRate = 10, withOutput, queryFilePath, headers } } = require(newConfigFile) 54 | let reportPath 55 | 56 | const artilleryBin = path.join(__dirname, '..', 'node_modules/.bin/artillery') 57 | let options = [ 58 | 'run', 59 | '--target', 60 | `${url}`, 61 | 'artillery.yml' 62 | ] 63 | 64 | const configOverride = { 65 | config: { 66 | phases: [{duration, arrivalRate }] 67 | } 68 | } 69 | 70 | if (headers) { 71 | configOverride['config']['defaults'] = { 72 | headers 73 | } 74 | } 75 | 76 | options = options.concat(['--overrides', `'${JSON.stringify(configOverride)}'`]) 77 | 78 | if (withOutput) { 79 | const date = moment().format('YYYYMMDDHHMMSS').toString() 80 | reportPath = path.join(path.resolve(), `${date}.json`) 81 | options = options.concat(['--output', reportPath]) 82 | } 83 | 84 | const artilleryRun = spawn(artilleryBin, options, { 85 | shell: true, 86 | cwd: artilleryConfigPath() 87 | }) 88 | 89 | artilleryRun.stdout.on('data', (data) => { 90 | console.log(data.toString()) 91 | }) 92 | 93 | artilleryRun.stderr.on('data', (data) => { 94 | console.log('Error:', data.toString()) 95 | }) 96 | 97 | artilleryRun.on('exit', code => { 98 | if (code === 0) { 99 | if (withOutput && reportPath) { 100 | console.log(`Full report run: "npx artillery report ${reportPath}"`, '\n') 101 | } 102 | if (queryFilePath) { 103 | console.log(`Query file: ${queryFilePath}/easygraphql-load-tester-queries.json`, '\n') 104 | } 105 | console.log('Thanks for using easygraphql-lt 🔥') 106 | } 107 | 108 | deleteArgsFile('config.json') 109 | deleteArgsFile('schema.gql') 110 | }) 111 | }) 112 | } 113 | 114 | const deleteArgsFile = fileName => { 115 | const filePath = artilleryConfigPath(fileName) 116 | fs.remove(filePath, err => { 117 | if (err) { 118 | console.log('Error: ', err) 119 | }; 120 | }) 121 | } 122 | 123 | const artilleryConfigPath = (fileName = '') => path.join(__dirname, '.', 'artilleryConfig', fileName) 124 | 125 | module.exports = { startLoadTesting, runLoadTesting } 126 | --------------------------------------------------------------------------------