├── .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 |
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 |
--------------------------------------------------------------------------------