├── .editorconfig
├── .eslintignore
├── .eslintrc
├── .gitignore
├── README.md
├── bin
├── run
└── run.cmd
├── img
└── commands.png
├── package-lock.json
├── package.json
├── src
├── commands
│ ├── init.ts
│ └── list.ts
└── index.ts
└── tsconfig.json
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_style = space
5 | indent_size = 2
6 | charset = utf-8
7 | trim_trailing_whitespace = true
8 | insert_final_newline = true
9 |
10 | [*.md]
11 | trim_trailing_whitespace = false
12 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | /lib
2 |
--------------------------------------------------------------------------------
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": [
3 | "oclif",
4 | "oclif-typescript"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *-debug.log
2 | *-error.log
3 | /.nyc_output
4 | /dist
5 | /lib
6 | /tmp
7 | /yarn.lock
8 | node_modules
9 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | cdkp
2 | ====
3 |
4 | [](https://oclif.io)
5 | [](https://npmjs.org/package/cdkp)
6 |
7 | CLI tool for cdkpatterns.com to make it as simple as one command to download and learn a new pattern. This tool will only download the one pattern you are interested in rather than the whole repo.
8 |
9 | ### Three Simple Commands To Deploy A pattern
10 |
11 |
12 |
13 |
14 | ## Requirements
15 |
16 | You must have git installed on your system as this is what is used to download the pattern. This uses the code at cdkpatterns.com, there is no external api.
17 |
18 | ## Usage
19 |
20 | ### Downloading a pattern
21 |
22 | `npx cdkp init {pattern-name}`
23 |
24 | pattern-name is the string name of any of the existing patterns on cdkpatterns.com with - instead of spaces e.g.
25 |
26 | * `npx cdkp init the-big-fan`
27 | * `npx cdkp init the-simple-webservice`
28 | * `npx cdkp init the-eventbridge-atm`
29 |
30 | ### Viewing Available Patterns
31 |
32 | you can view all available patterns by using the list command:
33 |
34 | * `npx cdkp list`
35 |
36 | ### Advanced Usage
37 |
38 | If you want to download the python version of a pattern you just need to include the --lang=python flag in the command:
39 |
40 | * `npx cdkp init the-big-fan --lang=python`
41 |
42 | You can also only init a pattern into a directory once because the second time would wipe the contents of the folder. There is a -f flag if you really want to wipe the contents e.g.
43 |
44 | * `npx cdkp init the-big-fan -f`
45 |
46 | If a folder called the-big-fan already existed in the directory you ran the command because you added the force flag it will be wiped
47 |
--------------------------------------------------------------------------------
/bin/run:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | require('@oclif/command').run()
4 | .then(require('@oclif/command/flush'))
5 | .catch(require('@oclif/errors/handle'))
6 |
--------------------------------------------------------------------------------
/bin/run.cmd:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | node "%~dp0\run" %*
4 |
--------------------------------------------------------------------------------
/img/commands.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cdk-patterns/cli/5a0c6baf97578bad1a483728408e7f8bd6d26dfc/img/commands.png
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "cdkp",
3 | "version": "0.7.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@babel/code-frame": {
8 | "version": "7.8.3",
9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
10 | "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
11 | "dev": true,
12 | "requires": {
13 | "@babel/highlight": "^7.8.3"
14 | }
15 | },
16 | "@babel/generator": {
17 | "version": "7.8.8",
18 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
19 | "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
20 | "dev": true,
21 | "requires": {
22 | "@babel/types": "^7.8.7",
23 | "jsesc": "^2.5.1",
24 | "lodash": "^4.17.13",
25 | "source-map": "^0.5.0"
26 | }
27 | },
28 | "@babel/helper-function-name": {
29 | "version": "7.8.3",
30 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
31 | "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
32 | "dev": true,
33 | "requires": {
34 | "@babel/helper-get-function-arity": "^7.8.3",
35 | "@babel/template": "^7.8.3",
36 | "@babel/types": "^7.8.3"
37 | }
38 | },
39 | "@babel/helper-get-function-arity": {
40 | "version": "7.8.3",
41 | "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
42 | "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
43 | "dev": true,
44 | "requires": {
45 | "@babel/types": "^7.8.3"
46 | }
47 | },
48 | "@babel/helper-split-export-declaration": {
49 | "version": "7.8.3",
50 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
51 | "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
52 | "dev": true,
53 | "requires": {
54 | "@babel/types": "^7.8.3"
55 | }
56 | },
57 | "@babel/highlight": {
58 | "version": "7.8.3",
59 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
60 | "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
61 | "dev": true,
62 | "requires": {
63 | "chalk": "^2.0.0",
64 | "esutils": "^2.0.2",
65 | "js-tokens": "^4.0.0"
66 | }
67 | },
68 | "@babel/parser": {
69 | "version": "7.8.8",
70 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
71 | "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
72 | "dev": true
73 | },
74 | "@babel/template": {
75 | "version": "7.8.6",
76 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
77 | "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
78 | "dev": true,
79 | "requires": {
80 | "@babel/code-frame": "^7.8.3",
81 | "@babel/parser": "^7.8.6",
82 | "@babel/types": "^7.8.6"
83 | }
84 | },
85 | "@babel/traverse": {
86 | "version": "7.8.6",
87 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
88 | "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
89 | "dev": true,
90 | "requires": {
91 | "@babel/code-frame": "^7.8.3",
92 | "@babel/generator": "^7.8.6",
93 | "@babel/helper-function-name": "^7.8.3",
94 | "@babel/helper-split-export-declaration": "^7.8.3",
95 | "@babel/parser": "^7.8.6",
96 | "@babel/types": "^7.8.6",
97 | "debug": "^4.1.0",
98 | "globals": "^11.1.0",
99 | "lodash": "^4.17.13"
100 | }
101 | },
102 | "@babel/types": {
103 | "version": "7.8.7",
104 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
105 | "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
106 | "dev": true,
107 | "requires": {
108 | "esutils": "^2.0.2",
109 | "lodash": "^4.17.13",
110 | "to-fast-properties": "^2.0.0"
111 | }
112 | },
113 | "@nodelib/fs.scandir": {
114 | "version": "2.1.3",
115 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
116 | "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
117 | "dev": true,
118 | "requires": {
119 | "@nodelib/fs.stat": "2.0.3",
120 | "run-parallel": "^1.1.9"
121 | }
122 | },
123 | "@nodelib/fs.stat": {
124 | "version": "2.0.3",
125 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
126 | "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
127 | "dev": true
128 | },
129 | "@nodelib/fs.walk": {
130 | "version": "1.2.4",
131 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
132 | "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
133 | "dev": true,
134 | "requires": {
135 | "@nodelib/fs.scandir": "2.1.3",
136 | "fastq": "^1.6.0"
137 | }
138 | },
139 | "@oclif/command": {
140 | "version": "1.5.19",
141 | "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.5.19.tgz",
142 | "integrity": "sha512-6+iaCMh/JXJaB2QWikqvGE9//wLEVYYwZd5sud8aLoLKog1Q75naZh2vlGVtg5Mq/NqpqGQvdIjJb3Bm+64AUQ==",
143 | "requires": {
144 | "@oclif/config": "^1",
145 | "@oclif/errors": "^1.2.2",
146 | "@oclif/parser": "^3.8.3",
147 | "@oclif/plugin-help": "^2",
148 | "debug": "^4.1.1",
149 | "semver": "^5.6.0"
150 | }
151 | },
152 | "@oclif/config": {
153 | "version": "1.14.0",
154 | "resolved": "https://registry.npmjs.org/@oclif/config/-/config-1.14.0.tgz",
155 | "integrity": "sha512-KsOP/mx9lzTah+EtGqLUXN3PDL0J3zb9/dTneFyiUK2K6T7vFEGhV6OasmqTh4uMZHGYTGrNPV8x/Yw6qZNL6A==",
156 | "requires": {
157 | "@oclif/errors": "^1.0.0",
158 | "@oclif/parser": "^3.8.0",
159 | "debug": "^4.1.1",
160 | "tslib": "^1.9.3"
161 | }
162 | },
163 | "@oclif/dev-cli": {
164 | "version": "1.22.2",
165 | "resolved": "https://registry.npmjs.org/@oclif/dev-cli/-/dev-cli-1.22.2.tgz",
166 | "integrity": "sha512-c7633R37RxrQIpwqPKxjNRm6/jb1yuG8fd16hmNz9Nw+/MUhEtQtKHSCe9ScH8n5M06l6LEo4ldk9LEGtpaWwA==",
167 | "dev": true,
168 | "requires": {
169 | "@oclif/command": "^1.5.13",
170 | "@oclif/config": "^1.12.12",
171 | "@oclif/errors": "^1.2.2",
172 | "@oclif/plugin-help": "^2.1.6",
173 | "cli-ux": "^5.2.1",
174 | "debug": "^4.1.1",
175 | "fs-extra": "^7.0.1",
176 | "github-slugger": "^1.2.1",
177 | "lodash": "^4.17.11",
178 | "normalize-package-data": "^2.5.0",
179 | "qqjs": "^0.3.10",
180 | "tslib": "^1.9.3"
181 | },
182 | "dependencies": {
183 | "fs-extra": {
184 | "version": "7.0.1",
185 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
186 | "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
187 | "dev": true,
188 | "requires": {
189 | "graceful-fs": "^4.1.2",
190 | "jsonfile": "^4.0.0",
191 | "universalify": "^0.1.0"
192 | }
193 | }
194 | }
195 | },
196 | "@oclif/errors": {
197 | "version": "1.2.2",
198 | "resolved": "https://registry.npmjs.org/@oclif/errors/-/errors-1.2.2.tgz",
199 | "integrity": "sha512-Eq8BFuJUQcbAPVofDxwdE0bL14inIiwt5EaKRVY9ZDIG11jwdXZqiQEECJx0VfnLyUZdYfRd/znDI/MytdJoKg==",
200 | "requires": {
201 | "clean-stack": "^1.3.0",
202 | "fs-extra": "^7.0.0",
203 | "indent-string": "^3.2.0",
204 | "strip-ansi": "^5.0.0",
205 | "wrap-ansi": "^4.0.0"
206 | },
207 | "dependencies": {
208 | "fs-extra": {
209 | "version": "7.0.1",
210 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
211 | "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
212 | "requires": {
213 | "graceful-fs": "^4.1.2",
214 | "jsonfile": "^4.0.0",
215 | "universalify": "^0.1.0"
216 | }
217 | }
218 | }
219 | },
220 | "@oclif/linewrap": {
221 | "version": "1.0.0",
222 | "resolved": "https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz",
223 | "integrity": "sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw=="
224 | },
225 | "@oclif/parser": {
226 | "version": "3.8.4",
227 | "resolved": "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.4.tgz",
228 | "integrity": "sha512-cyP1at3l42kQHZtqDS3KfTeyMvxITGwXwH1qk9ktBYvqgMp5h4vHT+cOD74ld3RqJUOZY/+Zi9lb4Tbza3BtuA==",
229 | "requires": {
230 | "@oclif/linewrap": "^1.0.0",
231 | "chalk": "^2.4.2",
232 | "tslib": "^1.9.3"
233 | }
234 | },
235 | "@oclif/plugin-help": {
236 | "version": "2.2.3",
237 | "resolved": "https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-2.2.3.tgz",
238 | "integrity": "sha512-bGHUdo5e7DjPJ0vTeRBMIrfqTRDBfyR5w0MP41u0n3r7YG5p14lvMmiCXxi6WDaP2Hw5nqx3PnkAIntCKZZN7g==",
239 | "requires": {
240 | "@oclif/command": "^1.5.13",
241 | "chalk": "^2.4.1",
242 | "indent-string": "^4.0.0",
243 | "lodash.template": "^4.4.0",
244 | "string-width": "^3.0.0",
245 | "strip-ansi": "^5.0.0",
246 | "widest-line": "^2.0.1",
247 | "wrap-ansi": "^4.0.0"
248 | },
249 | "dependencies": {
250 | "indent-string": {
251 | "version": "4.0.0",
252 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
253 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg=="
254 | },
255 | "string-width": {
256 | "version": "3.1.0",
257 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
258 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
259 | "requires": {
260 | "emoji-regex": "^7.0.1",
261 | "is-fullwidth-code-point": "^2.0.0",
262 | "strip-ansi": "^5.1.0"
263 | }
264 | }
265 | }
266 | },
267 | "@oclif/screen": {
268 | "version": "1.0.4",
269 | "resolved": "https://registry.npmjs.org/@oclif/screen/-/screen-1.0.4.tgz",
270 | "integrity": "sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==",
271 | "dev": true
272 | },
273 | "@oclif/test": {
274 | "version": "1.2.5",
275 | "resolved": "https://registry.npmjs.org/@oclif/test/-/test-1.2.5.tgz",
276 | "integrity": "sha512-8Y+Ix4A3Zhm87aL0ldVonDK7vFWyLfnFHzP3goYaLyIeh/60KL37lMxfmbp/kBN6/Y0Ru17iR1pdDi/hTDClLQ==",
277 | "dev": true,
278 | "requires": {
279 | "fancy-test": "^1.4.3"
280 | }
281 | },
282 | "@types/chai": {
283 | "version": "4.2.11",
284 | "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.11.tgz",
285 | "integrity": "sha512-t7uW6eFafjO+qJ3BIV2gGUyZs27egcNRkUdalkud+Qa3+kg//f129iuOFivHDXQ+vnU3fDXuwgv0cqMCbcE8sw==",
286 | "dev": true
287 | },
288 | "@types/eslint-visitor-keys": {
289 | "version": "1.0.0",
290 | "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
291 | "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==",
292 | "dev": true
293 | },
294 | "@types/events": {
295 | "version": "3.0.0",
296 | "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
297 | "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
298 | "dev": true
299 | },
300 | "@types/glob": {
301 | "version": "7.1.1",
302 | "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
303 | "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
304 | "dev": true,
305 | "requires": {
306 | "@types/events": "*",
307 | "@types/minimatch": "*",
308 | "@types/node": "*"
309 | }
310 | },
311 | "@types/json-schema": {
312 | "version": "7.0.4",
313 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz",
314 | "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==",
315 | "dev": true
316 | },
317 | "@types/lodash": {
318 | "version": "4.14.149",
319 | "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.149.tgz",
320 | "integrity": "sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ==",
321 | "dev": true
322 | },
323 | "@types/minimatch": {
324 | "version": "3.0.3",
325 | "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
326 | "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
327 | "dev": true
328 | },
329 | "@types/mocha": {
330 | "version": "5.2.7",
331 | "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz",
332 | "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==",
333 | "dev": true
334 | },
335 | "@types/node": {
336 | "version": "10.17.17",
337 | "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.17.tgz",
338 | "integrity": "sha512-gpNnRnZP3VWzzj5k3qrpRC6Rk3H/uclhAVo1aIvwzK5p5cOrs9yEyQ8H/HBsBY0u5rrWxXEiVPQ0dEB6pkjE8Q==",
339 | "dev": true
340 | },
341 | "@types/sinon": {
342 | "version": "7.5.2",
343 | "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-7.5.2.tgz",
344 | "integrity": "sha512-T+m89VdXj/eidZyejvmoP9jivXgBDdkOSBVQjU9kF349NEx10QdPNGxHeZUaj1IlJ32/ewdyXJjnJxyxJroYwg==",
345 | "dev": true
346 | },
347 | "@typescript-eslint/eslint-plugin": {
348 | "version": "2.23.0",
349 | "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.23.0.tgz",
350 | "integrity": "sha512-8iA4FvRsz8qTjR0L/nK9RcRUN3QtIHQiOm69FzV7WS3SE+7P7DyGGwh3k4UNR2JBbk+Ej2Io+jLAaqKibNhmtw==",
351 | "dev": true,
352 | "requires": {
353 | "@typescript-eslint/experimental-utils": "2.23.0",
354 | "eslint-utils": "^1.4.3",
355 | "functional-red-black-tree": "^1.0.1",
356 | "regexpp": "^3.0.0",
357 | "tsutils": "^3.17.1"
358 | },
359 | "dependencies": {
360 | "regexpp": {
361 | "version": "3.0.0",
362 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz",
363 | "integrity": "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==",
364 | "dev": true
365 | }
366 | }
367 | },
368 | "@typescript-eslint/experimental-utils": {
369 | "version": "2.23.0",
370 | "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.23.0.tgz",
371 | "integrity": "sha512-OswxY59RcXH3NNPmq+4Kis2CYZPurRU6mG5xPcn24CjFyfdVli5mySwZz/g/xDbJXgDsYqNGq7enV0IziWGXVQ==",
372 | "dev": true,
373 | "requires": {
374 | "@types/json-schema": "^7.0.3",
375 | "@typescript-eslint/typescript-estree": "2.23.0",
376 | "eslint-scope": "^5.0.0"
377 | },
378 | "dependencies": {
379 | "eslint-scope": {
380 | "version": "5.0.0",
381 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
382 | "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
383 | "dev": true,
384 | "requires": {
385 | "esrecurse": "^4.1.0",
386 | "estraverse": "^4.1.1"
387 | }
388 | }
389 | }
390 | },
391 | "@typescript-eslint/parser": {
392 | "version": "2.23.0",
393 | "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.23.0.tgz",
394 | "integrity": "sha512-k61pn/Nepk43qa1oLMiyqApC6x5eP5ddPz6VUYXCAuXxbmRLqkPYzkFRKl42ltxzB2luvejlVncrEpflgQoSUg==",
395 | "dev": true,
396 | "requires": {
397 | "@types/eslint-visitor-keys": "^1.0.0",
398 | "@typescript-eslint/experimental-utils": "2.23.0",
399 | "@typescript-eslint/typescript-estree": "2.23.0",
400 | "eslint-visitor-keys": "^1.1.0"
401 | }
402 | },
403 | "@typescript-eslint/typescript-estree": {
404 | "version": "2.23.0",
405 | "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.23.0.tgz",
406 | "integrity": "sha512-pmf7IlmvXdlEXvE/JWNNJpEvwBV59wtJqA8MLAxMKLXNKVRC3HZBXR/SlZLPWTCcwOSg9IM7GeRSV3SIerGVqw==",
407 | "dev": true,
408 | "requires": {
409 | "debug": "^4.1.1",
410 | "eslint-visitor-keys": "^1.1.0",
411 | "glob": "^7.1.6",
412 | "is-glob": "^4.0.1",
413 | "lodash": "^4.17.15",
414 | "semver": "^6.3.0",
415 | "tsutils": "^3.17.1"
416 | },
417 | "dependencies": {
418 | "semver": {
419 | "version": "6.3.0",
420 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
421 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
422 | "dev": true
423 | }
424 | }
425 | },
426 | "acorn": {
427 | "version": "6.4.1",
428 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
429 | "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
430 | "dev": true
431 | },
432 | "acorn-jsx": {
433 | "version": "5.2.0",
434 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
435 | "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
436 | "dev": true
437 | },
438 | "ajv": {
439 | "version": "6.12.0",
440 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
441 | "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
442 | "dev": true,
443 | "requires": {
444 | "fast-deep-equal": "^3.1.1",
445 | "fast-json-stable-stringify": "^2.0.0",
446 | "json-schema-traverse": "^0.4.1",
447 | "uri-js": "^4.2.2"
448 | }
449 | },
450 | "ansi-escapes": {
451 | "version": "3.2.0",
452 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
453 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
454 | "dev": true
455 | },
456 | "ansi-regex": {
457 | "version": "4.1.0",
458 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
459 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
460 | },
461 | "ansi-styles": {
462 | "version": "3.2.1",
463 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
464 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
465 | "requires": {
466 | "color-convert": "^1.9.0"
467 | }
468 | },
469 | "ansicolors": {
470 | "version": "0.3.2",
471 | "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz",
472 | "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=",
473 | "dev": true
474 | },
475 | "append-transform": {
476 | "version": "1.0.0",
477 | "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz",
478 | "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==",
479 | "dev": true,
480 | "requires": {
481 | "default-require-extensions": "^2.0.0"
482 | }
483 | },
484 | "archy": {
485 | "version": "1.0.0",
486 | "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
487 | "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
488 | "dev": true
489 | },
490 | "arg": {
491 | "version": "4.1.3",
492 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
493 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
494 | "dev": true
495 | },
496 | "argparse": {
497 | "version": "1.0.10",
498 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
499 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
500 | "dev": true,
501 | "requires": {
502 | "sprintf-js": "~1.0.2"
503 | }
504 | },
505 | "array-union": {
506 | "version": "2.1.0",
507 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
508 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
509 | "dev": true
510 | },
511 | "assertion-error": {
512 | "version": "1.1.0",
513 | "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
514 | "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
515 | "dev": true
516 | },
517 | "astral-regex": {
518 | "version": "1.0.0",
519 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
520 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
521 | "dev": true
522 | },
523 | "balanced-match": {
524 | "version": "1.0.0",
525 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
526 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
527 | "dev": true
528 | },
529 | "bl": {
530 | "version": "4.0.1",
531 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.1.tgz",
532 | "integrity": "sha512-FL/TdvchukRCuWVxT0YMO/7+L5TNeNrVFvRU2IY63aUyv9mpt8splf2NEr6qXtPo5fya5a66YohQKvGNmLrWNA==",
533 | "dev": true,
534 | "requires": {
535 | "readable-stream": "^3.4.0"
536 | }
537 | },
538 | "brace-expansion": {
539 | "version": "1.1.11",
540 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
541 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
542 | "dev": true,
543 | "requires": {
544 | "balanced-match": "^1.0.0",
545 | "concat-map": "0.0.1"
546 | }
547 | },
548 | "braces": {
549 | "version": "3.0.2",
550 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
551 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
552 | "dev": true,
553 | "requires": {
554 | "fill-range": "^7.0.1"
555 | }
556 | },
557 | "browser-stdout": {
558 | "version": "1.3.1",
559 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
560 | "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
561 | "dev": true
562 | },
563 | "buffer-from": {
564 | "version": "1.1.1",
565 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
566 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
567 | "dev": true
568 | },
569 | "caching-transform": {
570 | "version": "3.0.2",
571 | "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz",
572 | "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==",
573 | "dev": true,
574 | "requires": {
575 | "hasha": "^3.0.0",
576 | "make-dir": "^2.0.0",
577 | "package-hash": "^3.0.0",
578 | "write-file-atomic": "^2.4.2"
579 | },
580 | "dependencies": {
581 | "make-dir": {
582 | "version": "2.1.0",
583 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
584 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
585 | "dev": true,
586 | "requires": {
587 | "pify": "^4.0.1",
588 | "semver": "^5.6.0"
589 | }
590 | },
591 | "write-file-atomic": {
592 | "version": "2.4.3",
593 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
594 | "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
595 | "dev": true,
596 | "requires": {
597 | "graceful-fs": "^4.1.11",
598 | "imurmurhash": "^0.1.4",
599 | "signal-exit": "^3.0.2"
600 | }
601 | }
602 | }
603 | },
604 | "callsites": {
605 | "version": "3.1.0",
606 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
607 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
608 | "dev": true
609 | },
610 | "camelcase": {
611 | "version": "5.3.1",
612 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
613 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
614 | "dev": true
615 | },
616 | "cardinal": {
617 | "version": "2.1.1",
618 | "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz",
619 | "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=",
620 | "dev": true,
621 | "requires": {
622 | "ansicolors": "~0.3.2",
623 | "redeyed": "~2.1.0"
624 | }
625 | },
626 | "chai": {
627 | "version": "4.2.0",
628 | "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
629 | "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
630 | "dev": true,
631 | "requires": {
632 | "assertion-error": "^1.1.0",
633 | "check-error": "^1.0.2",
634 | "deep-eql": "^3.0.1",
635 | "get-func-name": "^2.0.0",
636 | "pathval": "^1.1.0",
637 | "type-detect": "^4.0.5"
638 | }
639 | },
640 | "chalk": {
641 | "version": "2.4.2",
642 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
643 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
644 | "requires": {
645 | "ansi-styles": "^3.2.1",
646 | "escape-string-regexp": "^1.0.5",
647 | "supports-color": "^5.3.0"
648 | }
649 | },
650 | "chardet": {
651 | "version": "0.7.0",
652 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
653 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
654 | "dev": true
655 | },
656 | "check-error": {
657 | "version": "1.0.2",
658 | "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
659 | "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
660 | "dev": true
661 | },
662 | "chownr": {
663 | "version": "1.1.4",
664 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
665 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
666 | "dev": true
667 | },
668 | "clean-regexp": {
669 | "version": "1.0.0",
670 | "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz",
671 | "integrity": "sha1-jffHquUf02h06PjQW5GAvBGj/tc=",
672 | "dev": true,
673 | "requires": {
674 | "escape-string-regexp": "^1.0.5"
675 | }
676 | },
677 | "clean-stack": {
678 | "version": "1.3.0",
679 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz",
680 | "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE="
681 | },
682 | "cli-cursor": {
683 | "version": "2.1.0",
684 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
685 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
686 | "dev": true,
687 | "requires": {
688 | "restore-cursor": "^2.0.0"
689 | }
690 | },
691 | "cli-progress": {
692 | "version": "3.6.0",
693 | "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.6.0.tgz",
694 | "integrity": "sha512-elg6jkiDedYrvwqWSae2FGvtbMo37Lo04oI9jJ5cI43Ge3jrDPWzeL3axv7MgBLYHDY/kGio/CXa49m4MWMrNw==",
695 | "dev": true,
696 | "requires": {
697 | "colors": "^1.1.2",
698 | "string-width": "^2.1.1"
699 | }
700 | },
701 | "cli-ux": {
702 | "version": "5.4.5",
703 | "resolved": "https://registry.npmjs.org/cli-ux/-/cli-ux-5.4.5.tgz",
704 | "integrity": "sha512-5A6FuU0wPUlfCWUjtizUvNIbXElp6jN9QUJsDibs6F9cVX1kTgaMR3m6KT0R3iriEXpMrmPKV6yYS8XICNuQ6Q==",
705 | "dev": true,
706 | "requires": {
707 | "@oclif/command": "^1.5.1",
708 | "@oclif/errors": "^1.2.1",
709 | "@oclif/linewrap": "^1.0.0",
710 | "@oclif/screen": "^1.0.3",
711 | "ansi-escapes": "^3.1.0",
712 | "ansi-styles": "^3.2.1",
713 | "cardinal": "^2.1.1",
714 | "chalk": "^2.4.1",
715 | "clean-stack": "^2.0.0",
716 | "cli-progress": "^3.4.0",
717 | "extract-stack": "^1.0.0",
718 | "fs-extra": "^7.0.1",
719 | "hyperlinker": "^1.0.0",
720 | "indent-string": "^4.0.0",
721 | "is-wsl": "^1.1.0",
722 | "js-yaml": "^3.13.1",
723 | "lodash": "^4.17.11",
724 | "natural-orderby": "^2.0.1",
725 | "password-prompt": "^1.1.2",
726 | "semver": "^5.6.0",
727 | "string-width": "^3.1.0",
728 | "strip-ansi": "^5.1.0",
729 | "supports-color": "^5.5.0",
730 | "supports-hyperlinks": "^1.0.1",
731 | "treeify": "^1.1.0",
732 | "tslib": "^1.9.3"
733 | },
734 | "dependencies": {
735 | "clean-stack": {
736 | "version": "2.2.0",
737 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
738 | "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
739 | "dev": true
740 | },
741 | "fs-extra": {
742 | "version": "7.0.1",
743 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
744 | "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
745 | "dev": true,
746 | "requires": {
747 | "graceful-fs": "^4.1.2",
748 | "jsonfile": "^4.0.0",
749 | "universalify": "^0.1.0"
750 | }
751 | },
752 | "indent-string": {
753 | "version": "4.0.0",
754 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
755 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
756 | "dev": true
757 | },
758 | "string-width": {
759 | "version": "3.1.0",
760 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
761 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
762 | "dev": true,
763 | "requires": {
764 | "emoji-regex": "^7.0.1",
765 | "is-fullwidth-code-point": "^2.0.0",
766 | "strip-ansi": "^5.1.0"
767 | }
768 | }
769 | }
770 | },
771 | "cli-width": {
772 | "version": "2.2.0",
773 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
774 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
775 | "dev": true
776 | },
777 | "cliui": {
778 | "version": "5.0.0",
779 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
780 | "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
781 | "dev": true,
782 | "requires": {
783 | "string-width": "^3.1.0",
784 | "strip-ansi": "^5.2.0",
785 | "wrap-ansi": "^5.1.0"
786 | },
787 | "dependencies": {
788 | "string-width": {
789 | "version": "3.1.0",
790 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
791 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
792 | "dev": true,
793 | "requires": {
794 | "emoji-regex": "^7.0.1",
795 | "is-fullwidth-code-point": "^2.0.0",
796 | "strip-ansi": "^5.1.0"
797 | }
798 | },
799 | "wrap-ansi": {
800 | "version": "5.1.0",
801 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
802 | "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
803 | "dev": true,
804 | "requires": {
805 | "ansi-styles": "^3.2.0",
806 | "string-width": "^3.0.0",
807 | "strip-ansi": "^5.0.0"
808 | }
809 | }
810 | }
811 | },
812 | "color-convert": {
813 | "version": "1.9.3",
814 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
815 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
816 | "requires": {
817 | "color-name": "1.1.3"
818 | }
819 | },
820 | "color-name": {
821 | "version": "1.1.3",
822 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
823 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
824 | },
825 | "colors": {
826 | "version": "1.4.0",
827 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
828 | "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
829 | "dev": true
830 | },
831 | "commander": {
832 | "version": "2.15.1",
833 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
834 | "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
835 | "dev": true
836 | },
837 | "commondir": {
838 | "version": "1.0.1",
839 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
840 | "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
841 | "dev": true
842 | },
843 | "concat-map": {
844 | "version": "0.0.1",
845 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
846 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
847 | "dev": true
848 | },
849 | "content-type": {
850 | "version": "1.0.4",
851 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
852 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
853 | "dev": true
854 | },
855 | "convert-source-map": {
856 | "version": "1.7.0",
857 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
858 | "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
859 | "dev": true,
860 | "requires": {
861 | "safe-buffer": "~5.1.1"
862 | },
863 | "dependencies": {
864 | "safe-buffer": {
865 | "version": "5.1.2",
866 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
867 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
868 | "dev": true
869 | }
870 | }
871 | },
872 | "cp-file": {
873 | "version": "6.2.0",
874 | "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz",
875 | "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==",
876 | "dev": true,
877 | "requires": {
878 | "graceful-fs": "^4.1.2",
879 | "make-dir": "^2.0.0",
880 | "nested-error-stacks": "^2.0.0",
881 | "pify": "^4.0.1",
882 | "safe-buffer": "^5.0.1"
883 | },
884 | "dependencies": {
885 | "make-dir": {
886 | "version": "2.1.0",
887 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
888 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
889 | "dev": true,
890 | "requires": {
891 | "pify": "^4.0.1",
892 | "semver": "^5.6.0"
893 | }
894 | }
895 | }
896 | },
897 | "cross-spawn": {
898 | "version": "6.0.5",
899 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
900 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
901 | "dev": true,
902 | "requires": {
903 | "nice-try": "^1.0.4",
904 | "path-key": "^2.0.1",
905 | "semver": "^5.5.0",
906 | "shebang-command": "^1.2.0",
907 | "which": "^1.2.9"
908 | }
909 | },
910 | "debug": {
911 | "version": "4.1.1",
912 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
913 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
914 | "requires": {
915 | "ms": "^2.1.1"
916 | }
917 | },
918 | "decamelize": {
919 | "version": "1.2.0",
920 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
921 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
922 | "dev": true
923 | },
924 | "deep-eql": {
925 | "version": "3.0.1",
926 | "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
927 | "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
928 | "dev": true,
929 | "requires": {
930 | "type-detect": "^4.0.0"
931 | }
932 | },
933 | "deep-is": {
934 | "version": "0.1.3",
935 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
936 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
937 | "dev": true
938 | },
939 | "default-require-extensions": {
940 | "version": "2.0.0",
941 | "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz",
942 | "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=",
943 | "dev": true,
944 | "requires": {
945 | "strip-bom": "^3.0.0"
946 | },
947 | "dependencies": {
948 | "strip-bom": {
949 | "version": "3.0.0",
950 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
951 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
952 | "dev": true
953 | }
954 | }
955 | },
956 | "detect-indent": {
957 | "version": "6.0.0",
958 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz",
959 | "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==",
960 | "dev": true
961 | },
962 | "diff": {
963 | "version": "3.5.0",
964 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
965 | "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
966 | "dev": true
967 | },
968 | "dir-glob": {
969 | "version": "3.0.1",
970 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
971 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
972 | "dev": true,
973 | "requires": {
974 | "path-type": "^4.0.0"
975 | }
976 | },
977 | "doctrine": {
978 | "version": "3.0.0",
979 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
980 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
981 | "dev": true,
982 | "requires": {
983 | "esutils": "^2.0.2"
984 | }
985 | },
986 | "emoji-regex": {
987 | "version": "7.0.3",
988 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
989 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="
990 | },
991 | "end-of-stream": {
992 | "version": "1.4.4",
993 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
994 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
995 | "dev": true,
996 | "requires": {
997 | "once": "^1.4.0"
998 | }
999 | },
1000 | "error-ex": {
1001 | "version": "1.3.2",
1002 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
1003 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
1004 | "dev": true,
1005 | "requires": {
1006 | "is-arrayish": "^0.2.1"
1007 | }
1008 | },
1009 | "es6-error": {
1010 | "version": "4.1.1",
1011 | "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
1012 | "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
1013 | "dev": true
1014 | },
1015 | "escape-string-regexp": {
1016 | "version": "1.0.5",
1017 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1018 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
1019 | },
1020 | "eslint": {
1021 | "version": "5.16.0",
1022 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz",
1023 | "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==",
1024 | "dev": true,
1025 | "requires": {
1026 | "@babel/code-frame": "^7.0.0",
1027 | "ajv": "^6.9.1",
1028 | "chalk": "^2.1.0",
1029 | "cross-spawn": "^6.0.5",
1030 | "debug": "^4.0.1",
1031 | "doctrine": "^3.0.0",
1032 | "eslint-scope": "^4.0.3",
1033 | "eslint-utils": "^1.3.1",
1034 | "eslint-visitor-keys": "^1.0.0",
1035 | "espree": "^5.0.1",
1036 | "esquery": "^1.0.1",
1037 | "esutils": "^2.0.2",
1038 | "file-entry-cache": "^5.0.1",
1039 | "functional-red-black-tree": "^1.0.1",
1040 | "glob": "^7.1.2",
1041 | "globals": "^11.7.0",
1042 | "ignore": "^4.0.6",
1043 | "import-fresh": "^3.0.0",
1044 | "imurmurhash": "^0.1.4",
1045 | "inquirer": "^6.2.2",
1046 | "js-yaml": "^3.13.0",
1047 | "json-stable-stringify-without-jsonify": "^1.0.1",
1048 | "levn": "^0.3.0",
1049 | "lodash": "^4.17.11",
1050 | "minimatch": "^3.0.4",
1051 | "mkdirp": "^0.5.1",
1052 | "natural-compare": "^1.4.0",
1053 | "optionator": "^0.8.2",
1054 | "path-is-inside": "^1.0.2",
1055 | "progress": "^2.0.0",
1056 | "regexpp": "^2.0.1",
1057 | "semver": "^5.5.1",
1058 | "strip-ansi": "^4.0.0",
1059 | "strip-json-comments": "^2.0.1",
1060 | "table": "^5.2.3",
1061 | "text-table": "^0.2.0"
1062 | },
1063 | "dependencies": {
1064 | "ansi-regex": {
1065 | "version": "3.0.0",
1066 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
1067 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
1068 | "dev": true
1069 | },
1070 | "ignore": {
1071 | "version": "4.0.6",
1072 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
1073 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
1074 | "dev": true
1075 | },
1076 | "strip-ansi": {
1077 | "version": "4.0.0",
1078 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
1079 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
1080 | "dev": true,
1081 | "requires": {
1082 | "ansi-regex": "^3.0.0"
1083 | }
1084 | }
1085 | }
1086 | },
1087 | "eslint-ast-utils": {
1088 | "version": "1.1.0",
1089 | "resolved": "https://registry.npmjs.org/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz",
1090 | "integrity": "sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA==",
1091 | "dev": true,
1092 | "requires": {
1093 | "lodash.get": "^4.4.2",
1094 | "lodash.zip": "^4.2.0"
1095 | }
1096 | },
1097 | "eslint-config-oclif": {
1098 | "version": "3.1.0",
1099 | "resolved": "https://registry.npmjs.org/eslint-config-oclif/-/eslint-config-oclif-3.1.0.tgz",
1100 | "integrity": "sha512-Tqgy43cNXsSdhTLWW4RuDYGFhV240sC4ISSv/ZiUEg/zFxExSEUpRE6J+AGnkKY9dYwIW4C9b2YSUVv8z/miMA==",
1101 | "dev": true,
1102 | "requires": {
1103 | "eslint-config-xo-space": "^0.20.0",
1104 | "eslint-plugin-mocha": "^5.2.0",
1105 | "eslint-plugin-node": "^7.0.1",
1106 | "eslint-plugin-unicorn": "^6.0.1"
1107 | }
1108 | },
1109 | "eslint-config-oclif-typescript": {
1110 | "version": "0.1.0",
1111 | "resolved": "https://registry.npmjs.org/eslint-config-oclif-typescript/-/eslint-config-oclif-typescript-0.1.0.tgz",
1112 | "integrity": "sha512-BjXNJcH2F02MdaSFml9vJskviUFVkLHbTPGM5tinIt98H6klFNKP7/lQ+fB/Goc2wB45usEuuw6+l/fwAv9i7g==",
1113 | "dev": true,
1114 | "requires": {
1115 | "@typescript-eslint/eslint-plugin": "^2.6.1",
1116 | "@typescript-eslint/parser": "^2.6.1",
1117 | "eslint-config-oclif": "^3.1.0",
1118 | "eslint-config-xo-space": "^0.20.0",
1119 | "eslint-plugin-mocha": "^5.2.0",
1120 | "eslint-plugin-node": "^7.0.1",
1121 | "eslint-plugin-unicorn": "^6.0.1"
1122 | }
1123 | },
1124 | "eslint-config-xo": {
1125 | "version": "0.24.2",
1126 | "resolved": "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.24.2.tgz",
1127 | "integrity": "sha512-ivQ7qISScW6gfBp+p31nQntz1rg34UCybd3uvlngcxt5Utsf4PMMi9QoAluLFcPUM5Tvqk4JGraR9qu3msKPKQ==",
1128 | "dev": true
1129 | },
1130 | "eslint-config-xo-space": {
1131 | "version": "0.20.0",
1132 | "resolved": "https://registry.npmjs.org/eslint-config-xo-space/-/eslint-config-xo-space-0.20.0.tgz",
1133 | "integrity": "sha512-bOsoZA8M6v1HviDUIGVq1fLVnSu3mMZzn85m2tqKb73tSzu4GKD4Jd2Py4ZKjCgvCbRRByEB5HPC3fTMnnJ1uw==",
1134 | "dev": true,
1135 | "requires": {
1136 | "eslint-config-xo": "^0.24.0"
1137 | }
1138 | },
1139 | "eslint-plugin-es": {
1140 | "version": "1.4.1",
1141 | "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz",
1142 | "integrity": "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==",
1143 | "dev": true,
1144 | "requires": {
1145 | "eslint-utils": "^1.4.2",
1146 | "regexpp": "^2.0.1"
1147 | }
1148 | },
1149 | "eslint-plugin-mocha": {
1150 | "version": "5.3.0",
1151 | "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-5.3.0.tgz",
1152 | "integrity": "sha512-3uwlJVLijjEmBeNyH60nzqgA1gacUWLUmcKV8PIGNvj1kwP/CTgAWQHn2ayyJVwziX+KETkr9opNwT1qD/RZ5A==",
1153 | "dev": true,
1154 | "requires": {
1155 | "ramda": "^0.26.1"
1156 | }
1157 | },
1158 | "eslint-plugin-node": {
1159 | "version": "7.0.1",
1160 | "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-7.0.1.tgz",
1161 | "integrity": "sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw==",
1162 | "dev": true,
1163 | "requires": {
1164 | "eslint-plugin-es": "^1.3.1",
1165 | "eslint-utils": "^1.3.1",
1166 | "ignore": "^4.0.2",
1167 | "minimatch": "^3.0.4",
1168 | "resolve": "^1.8.1",
1169 | "semver": "^5.5.0"
1170 | },
1171 | "dependencies": {
1172 | "ignore": {
1173 | "version": "4.0.6",
1174 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
1175 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
1176 | "dev": true
1177 | }
1178 | }
1179 | },
1180 | "eslint-plugin-unicorn": {
1181 | "version": "6.0.1",
1182 | "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-6.0.1.tgz",
1183 | "integrity": "sha512-hjy9LhTdtL7pz8WTrzS0CGXRkWK3VAPLDjihofj8JC+uxQLfXm0WwZPPPB7xKmcjRyoH+jruPHOCrHNEINpG/Q==",
1184 | "dev": true,
1185 | "requires": {
1186 | "clean-regexp": "^1.0.0",
1187 | "eslint-ast-utils": "^1.0.0",
1188 | "import-modules": "^1.1.0",
1189 | "lodash.camelcase": "^4.1.1",
1190 | "lodash.kebabcase": "^4.0.1",
1191 | "lodash.snakecase": "^4.0.1",
1192 | "lodash.upperfirst": "^4.2.0",
1193 | "safe-regex": "^1.1.0"
1194 | }
1195 | },
1196 | "eslint-scope": {
1197 | "version": "4.0.3",
1198 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
1199 | "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
1200 | "dev": true,
1201 | "requires": {
1202 | "esrecurse": "^4.1.0",
1203 | "estraverse": "^4.1.1"
1204 | }
1205 | },
1206 | "eslint-utils": {
1207 | "version": "1.4.3",
1208 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
1209 | "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
1210 | "dev": true,
1211 | "requires": {
1212 | "eslint-visitor-keys": "^1.1.0"
1213 | }
1214 | },
1215 | "eslint-visitor-keys": {
1216 | "version": "1.1.0",
1217 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
1218 | "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
1219 | "dev": true
1220 | },
1221 | "espree": {
1222 | "version": "5.0.1",
1223 | "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz",
1224 | "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==",
1225 | "dev": true,
1226 | "requires": {
1227 | "acorn": "^6.0.7",
1228 | "acorn-jsx": "^5.0.0",
1229 | "eslint-visitor-keys": "^1.0.0"
1230 | }
1231 | },
1232 | "esprima": {
1233 | "version": "4.0.1",
1234 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
1235 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
1236 | "dev": true
1237 | },
1238 | "esquery": {
1239 | "version": "1.1.0",
1240 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.1.0.tgz",
1241 | "integrity": "sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==",
1242 | "dev": true,
1243 | "requires": {
1244 | "estraverse": "^4.0.0"
1245 | }
1246 | },
1247 | "esrecurse": {
1248 | "version": "4.2.1",
1249 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
1250 | "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
1251 | "dev": true,
1252 | "requires": {
1253 | "estraverse": "^4.1.0"
1254 | }
1255 | },
1256 | "estraverse": {
1257 | "version": "4.3.0",
1258 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
1259 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
1260 | "dev": true
1261 | },
1262 | "esutils": {
1263 | "version": "2.0.3",
1264 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
1265 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
1266 | "dev": true
1267 | },
1268 | "execa": {
1269 | "version": "0.10.0",
1270 | "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
1271 | "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
1272 | "dev": true,
1273 | "requires": {
1274 | "cross-spawn": "^6.0.0",
1275 | "get-stream": "^3.0.0",
1276 | "is-stream": "^1.1.0",
1277 | "npm-run-path": "^2.0.0",
1278 | "p-finally": "^1.0.0",
1279 | "signal-exit": "^3.0.0",
1280 | "strip-eof": "^1.0.0"
1281 | },
1282 | "dependencies": {
1283 | "get-stream": {
1284 | "version": "3.0.0",
1285 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
1286 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
1287 | "dev": true
1288 | }
1289 | }
1290 | },
1291 | "external-editor": {
1292 | "version": "3.1.0",
1293 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
1294 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
1295 | "dev": true,
1296 | "requires": {
1297 | "chardet": "^0.7.0",
1298 | "iconv-lite": "^0.4.24",
1299 | "tmp": "^0.0.33"
1300 | },
1301 | "dependencies": {
1302 | "tmp": {
1303 | "version": "0.0.33",
1304 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
1305 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
1306 | "dev": true,
1307 | "requires": {
1308 | "os-tmpdir": "~1.0.2"
1309 | }
1310 | }
1311 | }
1312 | },
1313 | "extract-stack": {
1314 | "version": "1.0.0",
1315 | "resolved": "https://registry.npmjs.org/extract-stack/-/extract-stack-1.0.0.tgz",
1316 | "integrity": "sha1-uXrK+UQe6iMyUpYktzL8WhyBZfo=",
1317 | "dev": true
1318 | },
1319 | "fancy-test": {
1320 | "version": "1.4.7",
1321 | "resolved": "https://registry.npmjs.org/fancy-test/-/fancy-test-1.4.7.tgz",
1322 | "integrity": "sha512-drgNrpNbvXXbPAz0rn7jvzjoEihDKpm1fFF+aZ+FVLatjE3jZSc6WwfgC5x7N/+nhmentMx4TXPQ0OkS0SElVQ==",
1323 | "dev": true,
1324 | "requires": {
1325 | "@types/chai": "*",
1326 | "@types/lodash": "*",
1327 | "@types/mocha": "*",
1328 | "@types/node": "*",
1329 | "@types/sinon": "*",
1330 | "lodash": "^4.17.13",
1331 | "mock-stdin": "^0.3.1",
1332 | "stdout-stderr": "^0.1.9"
1333 | }
1334 | },
1335 | "fast-deep-equal": {
1336 | "version": "3.1.1",
1337 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
1338 | "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
1339 | "dev": true
1340 | },
1341 | "fast-glob": {
1342 | "version": "3.2.2",
1343 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz",
1344 | "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==",
1345 | "dev": true,
1346 | "requires": {
1347 | "@nodelib/fs.stat": "^2.0.2",
1348 | "@nodelib/fs.walk": "^1.2.3",
1349 | "glob-parent": "^5.1.0",
1350 | "merge2": "^1.3.0",
1351 | "micromatch": "^4.0.2",
1352 | "picomatch": "^2.2.1"
1353 | }
1354 | },
1355 | "fast-json-stable-stringify": {
1356 | "version": "2.1.0",
1357 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1358 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
1359 | "dev": true
1360 | },
1361 | "fast-levenshtein": {
1362 | "version": "2.0.6",
1363 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
1364 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
1365 | "dev": true
1366 | },
1367 | "fastq": {
1368 | "version": "1.6.1",
1369 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.1.tgz",
1370 | "integrity": "sha512-mpIH5sKYueh3YyeJwqtVo8sORi0CgtmkVbK6kZStpQlZBYQuTzG2CZ7idSiJuA7bY0SFCWUc5WIs+oYumGCQNw==",
1371 | "dev": true,
1372 | "requires": {
1373 | "reusify": "^1.0.4"
1374 | }
1375 | },
1376 | "figures": {
1377 | "version": "2.0.0",
1378 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
1379 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
1380 | "dev": true,
1381 | "requires": {
1382 | "escape-string-regexp": "^1.0.5"
1383 | }
1384 | },
1385 | "file-entry-cache": {
1386 | "version": "5.0.1",
1387 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
1388 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
1389 | "dev": true,
1390 | "requires": {
1391 | "flat-cache": "^2.0.1"
1392 | }
1393 | },
1394 | "fill-range": {
1395 | "version": "7.0.1",
1396 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
1397 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1398 | "dev": true,
1399 | "requires": {
1400 | "to-regex-range": "^5.0.1"
1401 | }
1402 | },
1403 | "find-cache-dir": {
1404 | "version": "2.1.0",
1405 | "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
1406 | "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
1407 | "dev": true,
1408 | "requires": {
1409 | "commondir": "^1.0.1",
1410 | "make-dir": "^2.0.0",
1411 | "pkg-dir": "^3.0.0"
1412 | },
1413 | "dependencies": {
1414 | "find-up": {
1415 | "version": "3.0.0",
1416 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
1417 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
1418 | "dev": true,
1419 | "requires": {
1420 | "locate-path": "^3.0.0"
1421 | }
1422 | },
1423 | "locate-path": {
1424 | "version": "3.0.0",
1425 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
1426 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
1427 | "dev": true,
1428 | "requires": {
1429 | "p-locate": "^3.0.0",
1430 | "path-exists": "^3.0.0"
1431 | }
1432 | },
1433 | "make-dir": {
1434 | "version": "2.1.0",
1435 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
1436 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
1437 | "dev": true,
1438 | "requires": {
1439 | "pify": "^4.0.1",
1440 | "semver": "^5.6.0"
1441 | }
1442 | },
1443 | "p-locate": {
1444 | "version": "3.0.0",
1445 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
1446 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
1447 | "dev": true,
1448 | "requires": {
1449 | "p-limit": "^2.0.0"
1450 | }
1451 | },
1452 | "path-exists": {
1453 | "version": "3.0.0",
1454 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
1455 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
1456 | "dev": true
1457 | },
1458 | "pkg-dir": {
1459 | "version": "3.0.0",
1460 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
1461 | "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
1462 | "dev": true,
1463 | "requires": {
1464 | "find-up": "^3.0.0"
1465 | }
1466 | }
1467 | }
1468 | },
1469 | "find-up": {
1470 | "version": "4.1.0",
1471 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
1472 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
1473 | "dev": true,
1474 | "requires": {
1475 | "locate-path": "^5.0.0",
1476 | "path-exists": "^4.0.0"
1477 | }
1478 | },
1479 | "flat-cache": {
1480 | "version": "2.0.1",
1481 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
1482 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
1483 | "dev": true,
1484 | "requires": {
1485 | "flatted": "^2.0.0",
1486 | "rimraf": "2.6.3",
1487 | "write": "1.0.3"
1488 | },
1489 | "dependencies": {
1490 | "rimraf": {
1491 | "version": "2.6.3",
1492 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
1493 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
1494 | "dev": true,
1495 | "requires": {
1496 | "glob": "^7.1.3"
1497 | }
1498 | }
1499 | }
1500 | },
1501 | "flatted": {
1502 | "version": "2.0.1",
1503 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
1504 | "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
1505 | "dev": true
1506 | },
1507 | "foreground-child": {
1508 | "version": "1.5.6",
1509 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz",
1510 | "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=",
1511 | "dev": true,
1512 | "requires": {
1513 | "cross-spawn": "^4",
1514 | "signal-exit": "^3.0.0"
1515 | },
1516 | "dependencies": {
1517 | "cross-spawn": {
1518 | "version": "4.0.2",
1519 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz",
1520 | "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=",
1521 | "dev": true,
1522 | "requires": {
1523 | "lru-cache": "^4.0.1",
1524 | "which": "^1.2.9"
1525 | }
1526 | }
1527 | }
1528 | },
1529 | "fs-constants": {
1530 | "version": "1.0.0",
1531 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
1532 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
1533 | "dev": true
1534 | },
1535 | "fs-extra": {
1536 | "version": "8.1.0",
1537 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
1538 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
1539 | "requires": {
1540 | "graceful-fs": "^4.2.0",
1541 | "jsonfile": "^4.0.0",
1542 | "universalify": "^0.1.0"
1543 | }
1544 | },
1545 | "fs.realpath": {
1546 | "version": "1.0.0",
1547 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1548 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1549 | "dev": true
1550 | },
1551 | "functional-red-black-tree": {
1552 | "version": "1.0.1",
1553 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
1554 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
1555 | "dev": true
1556 | },
1557 | "get-caller-file": {
1558 | "version": "2.0.5",
1559 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
1560 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
1561 | "dev": true
1562 | },
1563 | "get-func-name": {
1564 | "version": "2.0.0",
1565 | "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
1566 | "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
1567 | "dev": true
1568 | },
1569 | "get-stream": {
1570 | "version": "5.1.0",
1571 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
1572 | "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
1573 | "dev": true,
1574 | "requires": {
1575 | "pump": "^3.0.0"
1576 | }
1577 | },
1578 | "github-slugger": {
1579 | "version": "1.3.0",
1580 | "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz",
1581 | "integrity": "sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==",
1582 | "dev": true,
1583 | "requires": {
1584 | "emoji-regex": ">=6.0.0 <=6.1.1"
1585 | },
1586 | "dependencies": {
1587 | "emoji-regex": {
1588 | "version": "6.1.1",
1589 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz",
1590 | "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=",
1591 | "dev": true
1592 | }
1593 | }
1594 | },
1595 | "glob": {
1596 | "version": "7.1.6",
1597 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
1598 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
1599 | "dev": true,
1600 | "requires": {
1601 | "fs.realpath": "^1.0.0",
1602 | "inflight": "^1.0.4",
1603 | "inherits": "2",
1604 | "minimatch": "^3.0.4",
1605 | "once": "^1.3.0",
1606 | "path-is-absolute": "^1.0.0"
1607 | }
1608 | },
1609 | "glob-parent": {
1610 | "version": "5.1.0",
1611 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
1612 | "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
1613 | "dev": true,
1614 | "requires": {
1615 | "is-glob": "^4.0.1"
1616 | }
1617 | },
1618 | "globals": {
1619 | "version": "11.12.0",
1620 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
1621 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
1622 | "dev": true
1623 | },
1624 | "globby": {
1625 | "version": "10.0.2",
1626 | "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz",
1627 | "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==",
1628 | "dev": true,
1629 | "requires": {
1630 | "@types/glob": "^7.1.1",
1631 | "array-union": "^2.1.0",
1632 | "dir-glob": "^3.0.1",
1633 | "fast-glob": "^3.0.3",
1634 | "glob": "^7.1.3",
1635 | "ignore": "^5.1.1",
1636 | "merge2": "^1.2.3",
1637 | "slash": "^3.0.0"
1638 | }
1639 | },
1640 | "graceful-fs": {
1641 | "version": "4.2.3",
1642 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
1643 | "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ=="
1644 | },
1645 | "growl": {
1646 | "version": "1.10.5",
1647 | "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
1648 | "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
1649 | "dev": true
1650 | },
1651 | "has-flag": {
1652 | "version": "3.0.0",
1653 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1654 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
1655 | },
1656 | "hasha": {
1657 | "version": "3.0.0",
1658 | "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz",
1659 | "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=",
1660 | "dev": true,
1661 | "requires": {
1662 | "is-stream": "^1.0.1"
1663 | }
1664 | },
1665 | "he": {
1666 | "version": "1.1.1",
1667 | "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
1668 | "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
1669 | "dev": true
1670 | },
1671 | "hosted-git-info": {
1672 | "version": "2.8.8",
1673 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
1674 | "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
1675 | "dev": true
1676 | },
1677 | "html-escaper": {
1678 | "version": "2.0.0",
1679 | "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz",
1680 | "integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==",
1681 | "dev": true
1682 | },
1683 | "http-call": {
1684 | "version": "5.3.0",
1685 | "resolved": "https://registry.npmjs.org/http-call/-/http-call-5.3.0.tgz",
1686 | "integrity": "sha512-ahwimsC23ICE4kPl9xTBjKB4inbRaeLyZeRunC/1Jy/Z6X8tv22MEAjK+KBOMSVLaqXPTTmd8638waVIKLGx2w==",
1687 | "dev": true,
1688 | "requires": {
1689 | "content-type": "^1.0.4",
1690 | "debug": "^4.1.1",
1691 | "is-retry-allowed": "^1.1.0",
1692 | "is-stream": "^2.0.0",
1693 | "parse-json": "^4.0.0",
1694 | "tunnel-agent": "^0.6.0"
1695 | },
1696 | "dependencies": {
1697 | "is-stream": {
1698 | "version": "2.0.0",
1699 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
1700 | "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
1701 | "dev": true
1702 | }
1703 | }
1704 | },
1705 | "hyperlinker": {
1706 | "version": "1.0.0",
1707 | "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz",
1708 | "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==",
1709 | "dev": true
1710 | },
1711 | "iconv-lite": {
1712 | "version": "0.4.24",
1713 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1714 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1715 | "dev": true,
1716 | "requires": {
1717 | "safer-buffer": ">= 2.1.2 < 3"
1718 | }
1719 | },
1720 | "ignore": {
1721 | "version": "5.1.4",
1722 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
1723 | "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==",
1724 | "dev": true
1725 | },
1726 | "import-fresh": {
1727 | "version": "3.2.1",
1728 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
1729 | "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
1730 | "dev": true,
1731 | "requires": {
1732 | "parent-module": "^1.0.0",
1733 | "resolve-from": "^4.0.0"
1734 | }
1735 | },
1736 | "import-modules": {
1737 | "version": "1.1.0",
1738 | "resolved": "https://registry.npmjs.org/import-modules/-/import-modules-1.1.0.tgz",
1739 | "integrity": "sha1-dI23nFzEK7lwHvq0JPiU5yYA6dw=",
1740 | "dev": true
1741 | },
1742 | "imurmurhash": {
1743 | "version": "0.1.4",
1744 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
1745 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
1746 | "dev": true
1747 | },
1748 | "indent-string": {
1749 | "version": "3.2.0",
1750 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
1751 | "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok="
1752 | },
1753 | "inflight": {
1754 | "version": "1.0.6",
1755 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1756 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1757 | "dev": true,
1758 | "requires": {
1759 | "once": "^1.3.0",
1760 | "wrappy": "1"
1761 | }
1762 | },
1763 | "inherits": {
1764 | "version": "2.0.4",
1765 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1766 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1767 | "dev": true
1768 | },
1769 | "inquirer": {
1770 | "version": "6.5.2",
1771 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
1772 | "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
1773 | "dev": true,
1774 | "requires": {
1775 | "ansi-escapes": "^3.2.0",
1776 | "chalk": "^2.4.2",
1777 | "cli-cursor": "^2.1.0",
1778 | "cli-width": "^2.0.0",
1779 | "external-editor": "^3.0.3",
1780 | "figures": "^2.0.0",
1781 | "lodash": "^4.17.12",
1782 | "mute-stream": "0.0.7",
1783 | "run-async": "^2.2.0",
1784 | "rxjs": "^6.4.0",
1785 | "string-width": "^2.1.0",
1786 | "strip-ansi": "^5.1.0",
1787 | "through": "^2.3.6"
1788 | }
1789 | },
1790 | "is-arrayish": {
1791 | "version": "0.2.1",
1792 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
1793 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
1794 | "dev": true
1795 | },
1796 | "is-extglob": {
1797 | "version": "2.1.1",
1798 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1799 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
1800 | "dev": true
1801 | },
1802 | "is-fullwidth-code-point": {
1803 | "version": "2.0.0",
1804 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1805 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
1806 | },
1807 | "is-glob": {
1808 | "version": "4.0.1",
1809 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
1810 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
1811 | "dev": true,
1812 | "requires": {
1813 | "is-extglob": "^2.1.1"
1814 | }
1815 | },
1816 | "is-number": {
1817 | "version": "7.0.0",
1818 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1819 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1820 | "dev": true
1821 | },
1822 | "is-plain-obj": {
1823 | "version": "2.1.0",
1824 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
1825 | "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
1826 | "dev": true
1827 | },
1828 | "is-promise": {
1829 | "version": "2.1.0",
1830 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
1831 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
1832 | "dev": true
1833 | },
1834 | "is-retry-allowed": {
1835 | "version": "1.2.0",
1836 | "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
1837 | "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==",
1838 | "dev": true
1839 | },
1840 | "is-stream": {
1841 | "version": "1.1.0",
1842 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
1843 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
1844 | "dev": true
1845 | },
1846 | "is-typedarray": {
1847 | "version": "1.0.0",
1848 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
1849 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
1850 | "dev": true
1851 | },
1852 | "is-wsl": {
1853 | "version": "1.1.0",
1854 | "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
1855 | "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
1856 | "dev": true
1857 | },
1858 | "isexe": {
1859 | "version": "2.0.0",
1860 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1861 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1862 | "dev": true
1863 | },
1864 | "istanbul-lib-coverage": {
1865 | "version": "2.0.5",
1866 | "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
1867 | "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
1868 | "dev": true
1869 | },
1870 | "istanbul-lib-hook": {
1871 | "version": "2.0.7",
1872 | "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz",
1873 | "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==",
1874 | "dev": true,
1875 | "requires": {
1876 | "append-transform": "^1.0.0"
1877 | }
1878 | },
1879 | "istanbul-lib-instrument": {
1880 | "version": "3.3.0",
1881 | "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz",
1882 | "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==",
1883 | "dev": true,
1884 | "requires": {
1885 | "@babel/generator": "^7.4.0",
1886 | "@babel/parser": "^7.4.3",
1887 | "@babel/template": "^7.4.0",
1888 | "@babel/traverse": "^7.4.3",
1889 | "@babel/types": "^7.4.0",
1890 | "istanbul-lib-coverage": "^2.0.5",
1891 | "semver": "^6.0.0"
1892 | },
1893 | "dependencies": {
1894 | "semver": {
1895 | "version": "6.3.0",
1896 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
1897 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1898 | "dev": true
1899 | }
1900 | }
1901 | },
1902 | "istanbul-lib-report": {
1903 | "version": "2.0.8",
1904 | "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz",
1905 | "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==",
1906 | "dev": true,
1907 | "requires": {
1908 | "istanbul-lib-coverage": "^2.0.5",
1909 | "make-dir": "^2.1.0",
1910 | "supports-color": "^6.1.0"
1911 | },
1912 | "dependencies": {
1913 | "make-dir": {
1914 | "version": "2.1.0",
1915 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
1916 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
1917 | "dev": true,
1918 | "requires": {
1919 | "pify": "^4.0.1",
1920 | "semver": "^5.6.0"
1921 | }
1922 | },
1923 | "supports-color": {
1924 | "version": "6.1.0",
1925 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
1926 | "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
1927 | "dev": true,
1928 | "requires": {
1929 | "has-flag": "^3.0.0"
1930 | }
1931 | }
1932 | }
1933 | },
1934 | "istanbul-lib-source-maps": {
1935 | "version": "3.0.6",
1936 | "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
1937 | "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==",
1938 | "dev": true,
1939 | "requires": {
1940 | "debug": "^4.1.1",
1941 | "istanbul-lib-coverage": "^2.0.5",
1942 | "make-dir": "^2.1.0",
1943 | "rimraf": "^2.6.3",
1944 | "source-map": "^0.6.1"
1945 | },
1946 | "dependencies": {
1947 | "make-dir": {
1948 | "version": "2.1.0",
1949 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
1950 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
1951 | "dev": true,
1952 | "requires": {
1953 | "pify": "^4.0.1",
1954 | "semver": "^5.6.0"
1955 | }
1956 | },
1957 | "source-map": {
1958 | "version": "0.6.1",
1959 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1960 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1961 | "dev": true
1962 | }
1963 | }
1964 | },
1965 | "istanbul-reports": {
1966 | "version": "2.2.7",
1967 | "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz",
1968 | "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==",
1969 | "dev": true,
1970 | "requires": {
1971 | "html-escaper": "^2.0.0"
1972 | }
1973 | },
1974 | "js-tokens": {
1975 | "version": "4.0.0",
1976 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1977 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
1978 | "dev": true
1979 | },
1980 | "js-yaml": {
1981 | "version": "3.13.1",
1982 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
1983 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
1984 | "dev": true,
1985 | "requires": {
1986 | "argparse": "^1.0.7",
1987 | "esprima": "^4.0.0"
1988 | }
1989 | },
1990 | "jsesc": {
1991 | "version": "2.5.2",
1992 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
1993 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
1994 | "dev": true
1995 | },
1996 | "json-parse-better-errors": {
1997 | "version": "1.0.2",
1998 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
1999 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
2000 | "dev": true
2001 | },
2002 | "json-schema-traverse": {
2003 | "version": "0.4.1",
2004 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
2005 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
2006 | "dev": true
2007 | },
2008 | "json-stable-stringify-without-jsonify": {
2009 | "version": "1.0.1",
2010 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
2011 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
2012 | "dev": true
2013 | },
2014 | "jsonfile": {
2015 | "version": "4.0.0",
2016 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
2017 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
2018 | "requires": {
2019 | "graceful-fs": "^4.1.6"
2020 | }
2021 | },
2022 | "levn": {
2023 | "version": "0.3.0",
2024 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
2025 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
2026 | "dev": true,
2027 | "requires": {
2028 | "prelude-ls": "~1.1.2",
2029 | "type-check": "~0.3.2"
2030 | }
2031 | },
2032 | "lines-and-columns": {
2033 | "version": "1.1.6",
2034 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
2035 | "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
2036 | "dev": true
2037 | },
2038 | "load-json-file": {
2039 | "version": "6.2.0",
2040 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-6.2.0.tgz",
2041 | "integrity": "sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==",
2042 | "dev": true,
2043 | "requires": {
2044 | "graceful-fs": "^4.1.15",
2045 | "parse-json": "^5.0.0",
2046 | "strip-bom": "^4.0.0",
2047 | "type-fest": "^0.6.0"
2048 | },
2049 | "dependencies": {
2050 | "parse-json": {
2051 | "version": "5.0.0",
2052 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
2053 | "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
2054 | "dev": true,
2055 | "requires": {
2056 | "@babel/code-frame": "^7.0.0",
2057 | "error-ex": "^1.3.1",
2058 | "json-parse-better-errors": "^1.0.1",
2059 | "lines-and-columns": "^1.1.6"
2060 | }
2061 | }
2062 | }
2063 | },
2064 | "locate-path": {
2065 | "version": "5.0.0",
2066 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
2067 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
2068 | "dev": true,
2069 | "requires": {
2070 | "p-locate": "^4.1.0"
2071 | }
2072 | },
2073 | "lodash": {
2074 | "version": "4.17.19",
2075 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
2076 | "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
2077 | "dev": true
2078 | },
2079 | "lodash._reinterpolate": {
2080 | "version": "3.0.0",
2081 | "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
2082 | "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0="
2083 | },
2084 | "lodash.camelcase": {
2085 | "version": "4.3.0",
2086 | "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
2087 | "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
2088 | "dev": true
2089 | },
2090 | "lodash.flattendeep": {
2091 | "version": "4.4.0",
2092 | "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
2093 | "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
2094 | "dev": true
2095 | },
2096 | "lodash.get": {
2097 | "version": "4.4.2",
2098 | "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
2099 | "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
2100 | "dev": true
2101 | },
2102 | "lodash.kebabcase": {
2103 | "version": "4.1.1",
2104 | "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
2105 | "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=",
2106 | "dev": true
2107 | },
2108 | "lodash.snakecase": {
2109 | "version": "4.1.1",
2110 | "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz",
2111 | "integrity": "sha1-OdcUo1NXFHg3rv1ktdy7Fr7Nj40=",
2112 | "dev": true
2113 | },
2114 | "lodash.template": {
2115 | "version": "4.5.0",
2116 | "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
2117 | "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
2118 | "requires": {
2119 | "lodash._reinterpolate": "^3.0.0",
2120 | "lodash.templatesettings": "^4.0.0"
2121 | }
2122 | },
2123 | "lodash.templatesettings": {
2124 | "version": "4.2.0",
2125 | "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
2126 | "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
2127 | "requires": {
2128 | "lodash._reinterpolate": "^3.0.0"
2129 | }
2130 | },
2131 | "lodash.upperfirst": {
2132 | "version": "4.3.1",
2133 | "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz",
2134 | "integrity": "sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=",
2135 | "dev": true
2136 | },
2137 | "lodash.zip": {
2138 | "version": "4.2.0",
2139 | "resolved": "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz",
2140 | "integrity": "sha1-7GZi5IlkCO1KtsVCo5kLcswIACA=",
2141 | "dev": true
2142 | },
2143 | "lru-cache": {
2144 | "version": "4.1.5",
2145 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
2146 | "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
2147 | "dev": true,
2148 | "requires": {
2149 | "pseudomap": "^1.0.2",
2150 | "yallist": "^2.1.2"
2151 | }
2152 | },
2153 | "make-dir": {
2154 | "version": "3.0.2",
2155 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz",
2156 | "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==",
2157 | "dev": true,
2158 | "requires": {
2159 | "semver": "^6.0.0"
2160 | },
2161 | "dependencies": {
2162 | "semver": {
2163 | "version": "6.3.0",
2164 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2165 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2166 | "dev": true
2167 | }
2168 | }
2169 | },
2170 | "make-error": {
2171 | "version": "1.3.6",
2172 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
2173 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
2174 | "dev": true
2175 | },
2176 | "merge-source-map": {
2177 | "version": "1.1.0",
2178 | "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
2179 | "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
2180 | "dev": true,
2181 | "requires": {
2182 | "source-map": "^0.6.1"
2183 | },
2184 | "dependencies": {
2185 | "source-map": {
2186 | "version": "0.6.1",
2187 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2188 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2189 | "dev": true
2190 | }
2191 | }
2192 | },
2193 | "merge2": {
2194 | "version": "1.3.0",
2195 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
2196 | "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==",
2197 | "dev": true
2198 | },
2199 | "micromatch": {
2200 | "version": "4.0.2",
2201 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
2202 | "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
2203 | "dev": true,
2204 | "requires": {
2205 | "braces": "^3.0.1",
2206 | "picomatch": "^2.0.5"
2207 | }
2208 | },
2209 | "mimic-fn": {
2210 | "version": "1.2.0",
2211 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
2212 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
2213 | "dev": true
2214 | },
2215 | "minimatch": {
2216 | "version": "3.0.4",
2217 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2218 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2219 | "dev": true,
2220 | "requires": {
2221 | "brace-expansion": "^1.1.7"
2222 | }
2223 | },
2224 | "minimist": {
2225 | "version": "0.0.8",
2226 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
2227 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
2228 | "dev": true
2229 | },
2230 | "mkdirp": {
2231 | "version": "0.5.1",
2232 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
2233 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
2234 | "dev": true,
2235 | "requires": {
2236 | "minimist": "0.0.8"
2237 | }
2238 | },
2239 | "mocha": {
2240 | "version": "5.2.0",
2241 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz",
2242 | "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==",
2243 | "dev": true,
2244 | "requires": {
2245 | "browser-stdout": "1.3.1",
2246 | "commander": "2.15.1",
2247 | "debug": "3.1.0",
2248 | "diff": "3.5.0",
2249 | "escape-string-regexp": "1.0.5",
2250 | "glob": "7.1.2",
2251 | "growl": "1.10.5",
2252 | "he": "1.1.1",
2253 | "minimatch": "3.0.4",
2254 | "mkdirp": "0.5.1",
2255 | "supports-color": "5.4.0"
2256 | },
2257 | "dependencies": {
2258 | "debug": {
2259 | "version": "3.1.0",
2260 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
2261 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
2262 | "dev": true,
2263 | "requires": {
2264 | "ms": "2.0.0"
2265 | }
2266 | },
2267 | "glob": {
2268 | "version": "7.1.2",
2269 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
2270 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
2271 | "dev": true,
2272 | "requires": {
2273 | "fs.realpath": "^1.0.0",
2274 | "inflight": "^1.0.4",
2275 | "inherits": "2",
2276 | "minimatch": "^3.0.4",
2277 | "once": "^1.3.0",
2278 | "path-is-absolute": "^1.0.0"
2279 | }
2280 | },
2281 | "ms": {
2282 | "version": "2.0.0",
2283 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2284 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
2285 | "dev": true
2286 | },
2287 | "supports-color": {
2288 | "version": "5.4.0",
2289 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
2290 | "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
2291 | "dev": true,
2292 | "requires": {
2293 | "has-flag": "^3.0.0"
2294 | }
2295 | }
2296 | }
2297 | },
2298 | "mock-stdin": {
2299 | "version": "0.3.1",
2300 | "resolved": "https://registry.npmjs.org/mock-stdin/-/mock-stdin-0.3.1.tgz",
2301 | "integrity": "sha1-xlfZZC2QeGQ1xkyl6Zu9TQm9fdM=",
2302 | "dev": true
2303 | },
2304 | "ms": {
2305 | "version": "2.1.2",
2306 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2307 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
2308 | },
2309 | "mute-stream": {
2310 | "version": "0.0.7",
2311 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
2312 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
2313 | "dev": true
2314 | },
2315 | "natural-compare": {
2316 | "version": "1.4.0",
2317 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
2318 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
2319 | "dev": true
2320 | },
2321 | "natural-orderby": {
2322 | "version": "2.0.3",
2323 | "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz",
2324 | "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==",
2325 | "dev": true
2326 | },
2327 | "nested-error-stacks": {
2328 | "version": "2.1.0",
2329 | "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz",
2330 | "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==",
2331 | "dev": true
2332 | },
2333 | "nice-try": {
2334 | "version": "1.0.5",
2335 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
2336 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
2337 | "dev": true
2338 | },
2339 | "normalize-package-data": {
2340 | "version": "2.5.0",
2341 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
2342 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
2343 | "dev": true,
2344 | "requires": {
2345 | "hosted-git-info": "^2.1.4",
2346 | "resolve": "^1.10.0",
2347 | "semver": "2 || 3 || 4 || 5",
2348 | "validate-npm-package-license": "^3.0.1"
2349 | }
2350 | },
2351 | "npm-run-path": {
2352 | "version": "2.0.2",
2353 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
2354 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
2355 | "dev": true,
2356 | "requires": {
2357 | "path-key": "^2.0.0"
2358 | }
2359 | },
2360 | "nyc": {
2361 | "version": "14.1.1",
2362 | "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz",
2363 | "integrity": "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==",
2364 | "dev": true,
2365 | "requires": {
2366 | "archy": "^1.0.0",
2367 | "caching-transform": "^3.0.2",
2368 | "convert-source-map": "^1.6.0",
2369 | "cp-file": "^6.2.0",
2370 | "find-cache-dir": "^2.1.0",
2371 | "find-up": "^3.0.0",
2372 | "foreground-child": "^1.5.6",
2373 | "glob": "^7.1.3",
2374 | "istanbul-lib-coverage": "^2.0.5",
2375 | "istanbul-lib-hook": "^2.0.7",
2376 | "istanbul-lib-instrument": "^3.3.0",
2377 | "istanbul-lib-report": "^2.0.8",
2378 | "istanbul-lib-source-maps": "^3.0.6",
2379 | "istanbul-reports": "^2.2.4",
2380 | "js-yaml": "^3.13.1",
2381 | "make-dir": "^2.1.0",
2382 | "merge-source-map": "^1.1.0",
2383 | "resolve-from": "^4.0.0",
2384 | "rimraf": "^2.6.3",
2385 | "signal-exit": "^3.0.2",
2386 | "spawn-wrap": "^1.4.2",
2387 | "test-exclude": "^5.2.3",
2388 | "uuid": "^3.3.2",
2389 | "yargs": "^13.2.2",
2390 | "yargs-parser": "^13.0.0"
2391 | },
2392 | "dependencies": {
2393 | "find-up": {
2394 | "version": "3.0.0",
2395 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
2396 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
2397 | "dev": true,
2398 | "requires": {
2399 | "locate-path": "^3.0.0"
2400 | }
2401 | },
2402 | "locate-path": {
2403 | "version": "3.0.0",
2404 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
2405 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
2406 | "dev": true,
2407 | "requires": {
2408 | "p-locate": "^3.0.0",
2409 | "path-exists": "^3.0.0"
2410 | }
2411 | },
2412 | "make-dir": {
2413 | "version": "2.1.0",
2414 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
2415 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
2416 | "dev": true,
2417 | "requires": {
2418 | "pify": "^4.0.1",
2419 | "semver": "^5.6.0"
2420 | }
2421 | },
2422 | "p-locate": {
2423 | "version": "3.0.0",
2424 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
2425 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
2426 | "dev": true,
2427 | "requires": {
2428 | "p-limit": "^2.0.0"
2429 | }
2430 | },
2431 | "path-exists": {
2432 | "version": "3.0.0",
2433 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
2434 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
2435 | "dev": true
2436 | }
2437 | }
2438 | },
2439 | "once": {
2440 | "version": "1.4.0",
2441 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2442 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
2443 | "dev": true,
2444 | "requires": {
2445 | "wrappy": "1"
2446 | }
2447 | },
2448 | "onetime": {
2449 | "version": "2.0.1",
2450 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
2451 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
2452 | "dev": true,
2453 | "requires": {
2454 | "mimic-fn": "^1.0.0"
2455 | }
2456 | },
2457 | "optionator": {
2458 | "version": "0.8.3",
2459 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
2460 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
2461 | "dev": true,
2462 | "requires": {
2463 | "deep-is": "~0.1.3",
2464 | "fast-levenshtein": "~2.0.6",
2465 | "levn": "~0.3.0",
2466 | "prelude-ls": "~1.1.2",
2467 | "type-check": "~0.3.2",
2468 | "word-wrap": "~1.2.3"
2469 | }
2470 | },
2471 | "os-homedir": {
2472 | "version": "1.0.2",
2473 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
2474 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
2475 | "dev": true
2476 | },
2477 | "os-tmpdir": {
2478 | "version": "1.0.2",
2479 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
2480 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
2481 | "dev": true
2482 | },
2483 | "p-finally": {
2484 | "version": "1.0.0",
2485 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
2486 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
2487 | "dev": true
2488 | },
2489 | "p-limit": {
2490 | "version": "2.2.2",
2491 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz",
2492 | "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==",
2493 | "dev": true,
2494 | "requires": {
2495 | "p-try": "^2.0.0"
2496 | }
2497 | },
2498 | "p-locate": {
2499 | "version": "4.1.0",
2500 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
2501 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
2502 | "dev": true,
2503 | "requires": {
2504 | "p-limit": "^2.2.0"
2505 | }
2506 | },
2507 | "p-try": {
2508 | "version": "2.2.0",
2509 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
2510 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
2511 | "dev": true
2512 | },
2513 | "package-hash": {
2514 | "version": "3.0.0",
2515 | "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz",
2516 | "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==",
2517 | "dev": true,
2518 | "requires": {
2519 | "graceful-fs": "^4.1.15",
2520 | "hasha": "^3.0.0",
2521 | "lodash.flattendeep": "^4.4.0",
2522 | "release-zalgo": "^1.0.0"
2523 | }
2524 | },
2525 | "parent-module": {
2526 | "version": "1.0.1",
2527 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
2528 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
2529 | "dev": true,
2530 | "requires": {
2531 | "callsites": "^3.0.0"
2532 | }
2533 | },
2534 | "parse-json": {
2535 | "version": "4.0.0",
2536 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
2537 | "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
2538 | "dev": true,
2539 | "requires": {
2540 | "error-ex": "^1.3.1",
2541 | "json-parse-better-errors": "^1.0.1"
2542 | }
2543 | },
2544 | "password-prompt": {
2545 | "version": "1.1.2",
2546 | "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz",
2547 | "integrity": "sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==",
2548 | "dev": true,
2549 | "requires": {
2550 | "ansi-escapes": "^3.1.0",
2551 | "cross-spawn": "^6.0.5"
2552 | }
2553 | },
2554 | "path-exists": {
2555 | "version": "4.0.0",
2556 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
2557 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
2558 | "dev": true
2559 | },
2560 | "path-is-absolute": {
2561 | "version": "1.0.1",
2562 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2563 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
2564 | "dev": true
2565 | },
2566 | "path-is-inside": {
2567 | "version": "1.0.2",
2568 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
2569 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
2570 | "dev": true
2571 | },
2572 | "path-key": {
2573 | "version": "2.0.1",
2574 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
2575 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
2576 | "dev": true
2577 | },
2578 | "path-parse": {
2579 | "version": "1.0.6",
2580 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
2581 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
2582 | "dev": true
2583 | },
2584 | "path-type": {
2585 | "version": "4.0.0",
2586 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
2587 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
2588 | "dev": true
2589 | },
2590 | "pathval": {
2591 | "version": "1.1.0",
2592 | "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
2593 | "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
2594 | "dev": true
2595 | },
2596 | "picomatch": {
2597 | "version": "2.2.1",
2598 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz",
2599 | "integrity": "sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==",
2600 | "dev": true
2601 | },
2602 | "pify": {
2603 | "version": "4.0.1",
2604 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
2605 | "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
2606 | "dev": true
2607 | },
2608 | "pkg-dir": {
2609 | "version": "4.2.0",
2610 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
2611 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
2612 | "dev": true,
2613 | "requires": {
2614 | "find-up": "^4.0.0"
2615 | }
2616 | },
2617 | "prelude-ls": {
2618 | "version": "1.1.2",
2619 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
2620 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
2621 | "dev": true
2622 | },
2623 | "progress": {
2624 | "version": "2.0.3",
2625 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
2626 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
2627 | "dev": true
2628 | },
2629 | "pseudomap": {
2630 | "version": "1.0.2",
2631 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
2632 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
2633 | "dev": true
2634 | },
2635 | "pump": {
2636 | "version": "3.0.0",
2637 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
2638 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
2639 | "dev": true,
2640 | "requires": {
2641 | "end-of-stream": "^1.1.0",
2642 | "once": "^1.3.1"
2643 | }
2644 | },
2645 | "punycode": {
2646 | "version": "2.1.1",
2647 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
2648 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
2649 | "dev": true
2650 | },
2651 | "qqjs": {
2652 | "version": "0.3.11",
2653 | "resolved": "https://registry.npmjs.org/qqjs/-/qqjs-0.3.11.tgz",
2654 | "integrity": "sha512-pB2X5AduTl78J+xRSxQiEmga1jQV0j43jOPs/MTgTLApGFEOn6NgdE2dEjp7nvDtjkIOZbvFIojAiYUx6ep3zg==",
2655 | "dev": true,
2656 | "requires": {
2657 | "chalk": "^2.4.1",
2658 | "debug": "^4.1.1",
2659 | "execa": "^0.10.0",
2660 | "fs-extra": "^6.0.1",
2661 | "get-stream": "^5.1.0",
2662 | "glob": "^7.1.2",
2663 | "globby": "^10.0.1",
2664 | "http-call": "^5.1.2",
2665 | "load-json-file": "^6.2.0",
2666 | "pkg-dir": "^4.2.0",
2667 | "tar-fs": "^2.0.0",
2668 | "tmp": "^0.1.0",
2669 | "write-json-file": "^4.1.1"
2670 | },
2671 | "dependencies": {
2672 | "fs-extra": {
2673 | "version": "6.0.1",
2674 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz",
2675 | "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==",
2676 | "dev": true,
2677 | "requires": {
2678 | "graceful-fs": "^4.1.2",
2679 | "jsonfile": "^4.0.0",
2680 | "universalify": "^0.1.0"
2681 | }
2682 | }
2683 | }
2684 | },
2685 | "ramda": {
2686 | "version": "0.26.1",
2687 | "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz",
2688 | "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==",
2689 | "dev": true
2690 | },
2691 | "read-pkg": {
2692 | "version": "3.0.0",
2693 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
2694 | "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
2695 | "dev": true,
2696 | "requires": {
2697 | "load-json-file": "^4.0.0",
2698 | "normalize-package-data": "^2.3.2",
2699 | "path-type": "^3.0.0"
2700 | },
2701 | "dependencies": {
2702 | "load-json-file": {
2703 | "version": "4.0.0",
2704 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
2705 | "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
2706 | "dev": true,
2707 | "requires": {
2708 | "graceful-fs": "^4.1.2",
2709 | "parse-json": "^4.0.0",
2710 | "pify": "^3.0.0",
2711 | "strip-bom": "^3.0.0"
2712 | }
2713 | },
2714 | "path-type": {
2715 | "version": "3.0.0",
2716 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
2717 | "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
2718 | "dev": true,
2719 | "requires": {
2720 | "pify": "^3.0.0"
2721 | }
2722 | },
2723 | "pify": {
2724 | "version": "3.0.0",
2725 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
2726 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
2727 | "dev": true
2728 | },
2729 | "strip-bom": {
2730 | "version": "3.0.0",
2731 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
2732 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
2733 | "dev": true
2734 | }
2735 | }
2736 | },
2737 | "read-pkg-up": {
2738 | "version": "4.0.0",
2739 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz",
2740 | "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==",
2741 | "dev": true,
2742 | "requires": {
2743 | "find-up": "^3.0.0",
2744 | "read-pkg": "^3.0.0"
2745 | },
2746 | "dependencies": {
2747 | "find-up": {
2748 | "version": "3.0.0",
2749 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
2750 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
2751 | "dev": true,
2752 | "requires": {
2753 | "locate-path": "^3.0.0"
2754 | }
2755 | },
2756 | "locate-path": {
2757 | "version": "3.0.0",
2758 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
2759 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
2760 | "dev": true,
2761 | "requires": {
2762 | "p-locate": "^3.0.0",
2763 | "path-exists": "^3.0.0"
2764 | }
2765 | },
2766 | "p-locate": {
2767 | "version": "3.0.0",
2768 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
2769 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
2770 | "dev": true,
2771 | "requires": {
2772 | "p-limit": "^2.0.0"
2773 | }
2774 | },
2775 | "path-exists": {
2776 | "version": "3.0.0",
2777 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
2778 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
2779 | "dev": true
2780 | }
2781 | }
2782 | },
2783 | "readable-stream": {
2784 | "version": "3.6.0",
2785 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
2786 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
2787 | "dev": true,
2788 | "requires": {
2789 | "inherits": "^2.0.3",
2790 | "string_decoder": "^1.1.1",
2791 | "util-deprecate": "^1.0.1"
2792 | }
2793 | },
2794 | "redeyed": {
2795 | "version": "2.1.1",
2796 | "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz",
2797 | "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=",
2798 | "dev": true,
2799 | "requires": {
2800 | "esprima": "~4.0.0"
2801 | }
2802 | },
2803 | "regexpp": {
2804 | "version": "2.0.1",
2805 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
2806 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
2807 | "dev": true
2808 | },
2809 | "release-zalgo": {
2810 | "version": "1.0.0",
2811 | "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
2812 | "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=",
2813 | "dev": true,
2814 | "requires": {
2815 | "es6-error": "^4.0.1"
2816 | }
2817 | },
2818 | "require-directory": {
2819 | "version": "2.1.1",
2820 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
2821 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
2822 | "dev": true
2823 | },
2824 | "require-main-filename": {
2825 | "version": "2.0.0",
2826 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
2827 | "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
2828 | "dev": true
2829 | },
2830 | "resolve": {
2831 | "version": "1.15.1",
2832 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz",
2833 | "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==",
2834 | "dev": true,
2835 | "requires": {
2836 | "path-parse": "^1.0.6"
2837 | }
2838 | },
2839 | "resolve-from": {
2840 | "version": "4.0.0",
2841 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
2842 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
2843 | "dev": true
2844 | },
2845 | "restore-cursor": {
2846 | "version": "2.0.0",
2847 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
2848 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
2849 | "dev": true,
2850 | "requires": {
2851 | "onetime": "^2.0.0",
2852 | "signal-exit": "^3.0.2"
2853 | }
2854 | },
2855 | "ret": {
2856 | "version": "0.1.15",
2857 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
2858 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
2859 | "dev": true
2860 | },
2861 | "reusify": {
2862 | "version": "1.0.4",
2863 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
2864 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
2865 | "dev": true
2866 | },
2867 | "rimraf": {
2868 | "version": "2.7.1",
2869 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
2870 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
2871 | "dev": true,
2872 | "requires": {
2873 | "glob": "^7.1.3"
2874 | }
2875 | },
2876 | "run-async": {
2877 | "version": "2.4.0",
2878 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz",
2879 | "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==",
2880 | "dev": true,
2881 | "requires": {
2882 | "is-promise": "^2.1.0"
2883 | }
2884 | },
2885 | "run-parallel": {
2886 | "version": "1.1.9",
2887 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
2888 | "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
2889 | "dev": true
2890 | },
2891 | "rxjs": {
2892 | "version": "6.5.4",
2893 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
2894 | "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
2895 | "dev": true,
2896 | "requires": {
2897 | "tslib": "^1.9.0"
2898 | }
2899 | },
2900 | "safe-buffer": {
2901 | "version": "5.2.0",
2902 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
2903 | "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
2904 | "dev": true
2905 | },
2906 | "safe-regex": {
2907 | "version": "1.1.0",
2908 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
2909 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
2910 | "dev": true,
2911 | "requires": {
2912 | "ret": "~0.1.10"
2913 | }
2914 | },
2915 | "safer-buffer": {
2916 | "version": "2.1.2",
2917 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
2918 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
2919 | "dev": true
2920 | },
2921 | "semver": {
2922 | "version": "5.7.1",
2923 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
2924 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
2925 | },
2926 | "set-blocking": {
2927 | "version": "2.0.0",
2928 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
2929 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
2930 | "dev": true
2931 | },
2932 | "shebang-command": {
2933 | "version": "1.2.0",
2934 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
2935 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
2936 | "dev": true,
2937 | "requires": {
2938 | "shebang-regex": "^1.0.0"
2939 | }
2940 | },
2941 | "shebang-regex": {
2942 | "version": "1.0.0",
2943 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
2944 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
2945 | "dev": true
2946 | },
2947 | "signal-exit": {
2948 | "version": "3.0.2",
2949 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
2950 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
2951 | "dev": true
2952 | },
2953 | "slash": {
2954 | "version": "3.0.0",
2955 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
2956 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
2957 | "dev": true
2958 | },
2959 | "slice-ansi": {
2960 | "version": "2.1.0",
2961 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
2962 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
2963 | "dev": true,
2964 | "requires": {
2965 | "ansi-styles": "^3.2.0",
2966 | "astral-regex": "^1.0.0",
2967 | "is-fullwidth-code-point": "^2.0.0"
2968 | }
2969 | },
2970 | "sort-keys": {
2971 | "version": "4.0.0",
2972 | "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.0.0.tgz",
2973 | "integrity": "sha512-hlJLzrn/VN49uyNkZ8+9b+0q9DjmmYcYOnbMQtpkLrYpPwRApDPZfmqbUfJnAA3sb/nRib+nDot7Zi/1ER1fuA==",
2974 | "dev": true,
2975 | "requires": {
2976 | "is-plain-obj": "^2.0.0"
2977 | }
2978 | },
2979 | "source-map": {
2980 | "version": "0.5.7",
2981 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
2982 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
2983 | "dev": true
2984 | },
2985 | "source-map-support": {
2986 | "version": "0.5.16",
2987 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz",
2988 | "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==",
2989 | "dev": true,
2990 | "requires": {
2991 | "buffer-from": "^1.0.0",
2992 | "source-map": "^0.6.0"
2993 | },
2994 | "dependencies": {
2995 | "source-map": {
2996 | "version": "0.6.1",
2997 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2998 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2999 | "dev": true
3000 | }
3001 | }
3002 | },
3003 | "spawn-wrap": {
3004 | "version": "1.4.3",
3005 | "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz",
3006 | "integrity": "sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==",
3007 | "dev": true,
3008 | "requires": {
3009 | "foreground-child": "^1.5.6",
3010 | "mkdirp": "^0.5.0",
3011 | "os-homedir": "^1.0.1",
3012 | "rimraf": "^2.6.2",
3013 | "signal-exit": "^3.0.2",
3014 | "which": "^1.3.0"
3015 | }
3016 | },
3017 | "spdx-correct": {
3018 | "version": "3.1.0",
3019 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
3020 | "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
3021 | "dev": true,
3022 | "requires": {
3023 | "spdx-expression-parse": "^3.0.0",
3024 | "spdx-license-ids": "^3.0.0"
3025 | }
3026 | },
3027 | "spdx-exceptions": {
3028 | "version": "2.2.0",
3029 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
3030 | "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
3031 | "dev": true
3032 | },
3033 | "spdx-expression-parse": {
3034 | "version": "3.0.0",
3035 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
3036 | "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
3037 | "dev": true,
3038 | "requires": {
3039 | "spdx-exceptions": "^2.1.0",
3040 | "spdx-license-ids": "^3.0.0"
3041 | }
3042 | },
3043 | "spdx-license-ids": {
3044 | "version": "3.0.5",
3045 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
3046 | "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
3047 | "dev": true
3048 | },
3049 | "sprintf-js": {
3050 | "version": "1.0.3",
3051 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
3052 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
3053 | "dev": true
3054 | },
3055 | "stdout-stderr": {
3056 | "version": "0.1.13",
3057 | "resolved": "https://registry.npmjs.org/stdout-stderr/-/stdout-stderr-0.1.13.tgz",
3058 | "integrity": "sha512-Xnt9/HHHYfjZ7NeQLvuQDyL1LnbsbddgMFKCuaQKwGCdJm8LnstZIXop+uOY36UR1UXXoHXfMbC1KlVdVd2JLA==",
3059 | "dev": true,
3060 | "requires": {
3061 | "debug": "^4.1.1",
3062 | "strip-ansi": "^6.0.0"
3063 | },
3064 | "dependencies": {
3065 | "ansi-regex": {
3066 | "version": "5.0.0",
3067 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
3068 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
3069 | "dev": true
3070 | },
3071 | "strip-ansi": {
3072 | "version": "6.0.0",
3073 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
3074 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
3075 | "dev": true,
3076 | "requires": {
3077 | "ansi-regex": "^5.0.0"
3078 | }
3079 | }
3080 | }
3081 | },
3082 | "string-width": {
3083 | "version": "2.1.1",
3084 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
3085 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
3086 | "requires": {
3087 | "is-fullwidth-code-point": "^2.0.0",
3088 | "strip-ansi": "^4.0.0"
3089 | },
3090 | "dependencies": {
3091 | "ansi-regex": {
3092 | "version": "3.0.0",
3093 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
3094 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
3095 | },
3096 | "strip-ansi": {
3097 | "version": "4.0.0",
3098 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
3099 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
3100 | "requires": {
3101 | "ansi-regex": "^3.0.0"
3102 | }
3103 | }
3104 | }
3105 | },
3106 | "string_decoder": {
3107 | "version": "1.3.0",
3108 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
3109 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
3110 | "dev": true,
3111 | "requires": {
3112 | "safe-buffer": "~5.2.0"
3113 | }
3114 | },
3115 | "strip-ansi": {
3116 | "version": "5.2.0",
3117 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
3118 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
3119 | "requires": {
3120 | "ansi-regex": "^4.1.0"
3121 | }
3122 | },
3123 | "strip-bom": {
3124 | "version": "4.0.0",
3125 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
3126 | "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
3127 | "dev": true
3128 | },
3129 | "strip-eof": {
3130 | "version": "1.0.0",
3131 | "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
3132 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
3133 | "dev": true
3134 | },
3135 | "strip-json-comments": {
3136 | "version": "2.0.1",
3137 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
3138 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
3139 | "dev": true
3140 | },
3141 | "supports-color": {
3142 | "version": "5.5.0",
3143 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
3144 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
3145 | "requires": {
3146 | "has-flag": "^3.0.0"
3147 | }
3148 | },
3149 | "supports-hyperlinks": {
3150 | "version": "1.0.1",
3151 | "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz",
3152 | "integrity": "sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==",
3153 | "dev": true,
3154 | "requires": {
3155 | "has-flag": "^2.0.0",
3156 | "supports-color": "^5.0.0"
3157 | },
3158 | "dependencies": {
3159 | "has-flag": {
3160 | "version": "2.0.0",
3161 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
3162 | "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
3163 | "dev": true
3164 | }
3165 | }
3166 | },
3167 | "table": {
3168 | "version": "5.4.6",
3169 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
3170 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
3171 | "dev": true,
3172 | "requires": {
3173 | "ajv": "^6.10.2",
3174 | "lodash": "^4.17.14",
3175 | "slice-ansi": "^2.1.0",
3176 | "string-width": "^3.0.0"
3177 | },
3178 | "dependencies": {
3179 | "string-width": {
3180 | "version": "3.1.0",
3181 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
3182 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
3183 | "dev": true,
3184 | "requires": {
3185 | "emoji-regex": "^7.0.1",
3186 | "is-fullwidth-code-point": "^2.0.0",
3187 | "strip-ansi": "^5.1.0"
3188 | }
3189 | }
3190 | }
3191 | },
3192 | "tar-fs": {
3193 | "version": "2.0.0",
3194 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.0.tgz",
3195 | "integrity": "sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==",
3196 | "dev": true,
3197 | "requires": {
3198 | "chownr": "^1.1.1",
3199 | "mkdirp": "^0.5.1",
3200 | "pump": "^3.0.0",
3201 | "tar-stream": "^2.0.0"
3202 | }
3203 | },
3204 | "tar-stream": {
3205 | "version": "2.1.2",
3206 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.2.tgz",
3207 | "integrity": "sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q==",
3208 | "dev": true,
3209 | "requires": {
3210 | "bl": "^4.0.1",
3211 | "end-of-stream": "^1.4.1",
3212 | "fs-constants": "^1.0.0",
3213 | "inherits": "^2.0.3",
3214 | "readable-stream": "^3.1.1"
3215 | }
3216 | },
3217 | "test-exclude": {
3218 | "version": "5.2.3",
3219 | "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz",
3220 | "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==",
3221 | "dev": true,
3222 | "requires": {
3223 | "glob": "^7.1.3",
3224 | "minimatch": "^3.0.4",
3225 | "read-pkg-up": "^4.0.0",
3226 | "require-main-filename": "^2.0.0"
3227 | }
3228 | },
3229 | "text-table": {
3230 | "version": "0.2.0",
3231 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
3232 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
3233 | "dev": true
3234 | },
3235 | "through": {
3236 | "version": "2.3.8",
3237 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
3238 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
3239 | "dev": true
3240 | },
3241 | "tmp": {
3242 | "version": "0.1.0",
3243 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz",
3244 | "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==",
3245 | "dev": true,
3246 | "requires": {
3247 | "rimraf": "^2.6.3"
3248 | }
3249 | },
3250 | "to-fast-properties": {
3251 | "version": "2.0.0",
3252 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
3253 | "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
3254 | "dev": true
3255 | },
3256 | "to-regex-range": {
3257 | "version": "5.0.1",
3258 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
3259 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
3260 | "dev": true,
3261 | "requires": {
3262 | "is-number": "^7.0.0"
3263 | }
3264 | },
3265 | "treeify": {
3266 | "version": "1.1.0",
3267 | "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz",
3268 | "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==",
3269 | "dev": true
3270 | },
3271 | "ts-node": {
3272 | "version": "8.6.2",
3273 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.6.2.tgz",
3274 | "integrity": "sha512-4mZEbofxGqLL2RImpe3zMJukvEvcO1XP8bj8ozBPySdCUXEcU5cIRwR0aM3R+VoZq7iXc8N86NC0FspGRqP4gg==",
3275 | "dev": true,
3276 | "requires": {
3277 | "arg": "^4.1.0",
3278 | "diff": "^4.0.1",
3279 | "make-error": "^1.1.1",
3280 | "source-map-support": "^0.5.6",
3281 | "yn": "3.1.1"
3282 | },
3283 | "dependencies": {
3284 | "diff": {
3285 | "version": "4.0.2",
3286 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
3287 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
3288 | "dev": true
3289 | }
3290 | }
3291 | },
3292 | "tslib": {
3293 | "version": "1.11.1",
3294 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz",
3295 | "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA=="
3296 | },
3297 | "tsutils": {
3298 | "version": "3.17.1",
3299 | "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz",
3300 | "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==",
3301 | "dev": true,
3302 | "requires": {
3303 | "tslib": "^1.8.1"
3304 | }
3305 | },
3306 | "tunnel-agent": {
3307 | "version": "0.6.0",
3308 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
3309 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
3310 | "dev": true,
3311 | "requires": {
3312 | "safe-buffer": "^5.0.1"
3313 | }
3314 | },
3315 | "type-check": {
3316 | "version": "0.3.2",
3317 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
3318 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
3319 | "dev": true,
3320 | "requires": {
3321 | "prelude-ls": "~1.1.2"
3322 | }
3323 | },
3324 | "type-detect": {
3325 | "version": "4.0.8",
3326 | "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
3327 | "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
3328 | "dev": true
3329 | },
3330 | "type-fest": {
3331 | "version": "0.6.0",
3332 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
3333 | "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
3334 | "dev": true
3335 | },
3336 | "typedarray-to-buffer": {
3337 | "version": "3.1.5",
3338 | "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
3339 | "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
3340 | "dev": true,
3341 | "requires": {
3342 | "is-typedarray": "^1.0.0"
3343 | }
3344 | },
3345 | "typescript": {
3346 | "version": "3.8.3",
3347 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz",
3348 | "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==",
3349 | "dev": true
3350 | },
3351 | "universalify": {
3352 | "version": "0.1.2",
3353 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
3354 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
3355 | },
3356 | "uri-js": {
3357 | "version": "4.2.2",
3358 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
3359 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
3360 | "dev": true,
3361 | "requires": {
3362 | "punycode": "^2.1.0"
3363 | }
3364 | },
3365 | "util-deprecate": {
3366 | "version": "1.0.2",
3367 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
3368 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
3369 | "dev": true
3370 | },
3371 | "uuid": {
3372 | "version": "3.4.0",
3373 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
3374 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
3375 | "dev": true
3376 | },
3377 | "validate-npm-package-license": {
3378 | "version": "3.0.4",
3379 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
3380 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
3381 | "dev": true,
3382 | "requires": {
3383 | "spdx-correct": "^3.0.0",
3384 | "spdx-expression-parse": "^3.0.0"
3385 | }
3386 | },
3387 | "which": {
3388 | "version": "1.3.1",
3389 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
3390 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
3391 | "dev": true,
3392 | "requires": {
3393 | "isexe": "^2.0.0"
3394 | }
3395 | },
3396 | "which-module": {
3397 | "version": "2.0.0",
3398 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
3399 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
3400 | "dev": true
3401 | },
3402 | "widest-line": {
3403 | "version": "2.0.1",
3404 | "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz",
3405 | "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==",
3406 | "requires": {
3407 | "string-width": "^2.1.1"
3408 | }
3409 | },
3410 | "word-wrap": {
3411 | "version": "1.2.3",
3412 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
3413 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
3414 | "dev": true
3415 | },
3416 | "wrap-ansi": {
3417 | "version": "4.0.0",
3418 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-4.0.0.tgz",
3419 | "integrity": "sha512-uMTsj9rDb0/7kk1PbcbCcwvHUxp60fGDB/NNXpVa0Q+ic/e7y5+BwTxKfQ33VYgDppSwi/FBzpetYzo8s6tfbg==",
3420 | "requires": {
3421 | "ansi-styles": "^3.2.0",
3422 | "string-width": "^2.1.1",
3423 | "strip-ansi": "^4.0.0"
3424 | },
3425 | "dependencies": {
3426 | "ansi-regex": {
3427 | "version": "3.0.0",
3428 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
3429 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
3430 | },
3431 | "strip-ansi": {
3432 | "version": "4.0.0",
3433 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
3434 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
3435 | "requires": {
3436 | "ansi-regex": "^3.0.0"
3437 | }
3438 | }
3439 | }
3440 | },
3441 | "wrappy": {
3442 | "version": "1.0.2",
3443 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
3444 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
3445 | "dev": true
3446 | },
3447 | "write": {
3448 | "version": "1.0.3",
3449 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
3450 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
3451 | "dev": true,
3452 | "requires": {
3453 | "mkdirp": "^0.5.1"
3454 | }
3455 | },
3456 | "write-file-atomic": {
3457 | "version": "3.0.3",
3458 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
3459 | "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
3460 | "dev": true,
3461 | "requires": {
3462 | "imurmurhash": "^0.1.4",
3463 | "is-typedarray": "^1.0.0",
3464 | "signal-exit": "^3.0.2",
3465 | "typedarray-to-buffer": "^3.1.5"
3466 | }
3467 | },
3468 | "write-json-file": {
3469 | "version": "4.3.0",
3470 | "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-4.3.0.tgz",
3471 | "integrity": "sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ==",
3472 | "dev": true,
3473 | "requires": {
3474 | "detect-indent": "^6.0.0",
3475 | "graceful-fs": "^4.1.15",
3476 | "is-plain-obj": "^2.0.0",
3477 | "make-dir": "^3.0.0",
3478 | "sort-keys": "^4.0.0",
3479 | "write-file-atomic": "^3.0.0"
3480 | }
3481 | },
3482 | "y18n": {
3483 | "version": "4.0.0",
3484 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
3485 | "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
3486 | "dev": true
3487 | },
3488 | "yallist": {
3489 | "version": "2.1.2",
3490 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
3491 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
3492 | "dev": true
3493 | },
3494 | "yargs": {
3495 | "version": "13.3.2",
3496 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
3497 | "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
3498 | "dev": true,
3499 | "requires": {
3500 | "cliui": "^5.0.0",
3501 | "find-up": "^3.0.0",
3502 | "get-caller-file": "^2.0.1",
3503 | "require-directory": "^2.1.1",
3504 | "require-main-filename": "^2.0.0",
3505 | "set-blocking": "^2.0.0",
3506 | "string-width": "^3.0.0",
3507 | "which-module": "^2.0.0",
3508 | "y18n": "^4.0.0",
3509 | "yargs-parser": "^13.1.2"
3510 | },
3511 | "dependencies": {
3512 | "find-up": {
3513 | "version": "3.0.0",
3514 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
3515 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
3516 | "dev": true,
3517 | "requires": {
3518 | "locate-path": "^3.0.0"
3519 | }
3520 | },
3521 | "locate-path": {
3522 | "version": "3.0.0",
3523 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
3524 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
3525 | "dev": true,
3526 | "requires": {
3527 | "p-locate": "^3.0.0",
3528 | "path-exists": "^3.0.0"
3529 | }
3530 | },
3531 | "p-locate": {
3532 | "version": "3.0.0",
3533 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
3534 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
3535 | "dev": true,
3536 | "requires": {
3537 | "p-limit": "^2.0.0"
3538 | }
3539 | },
3540 | "path-exists": {
3541 | "version": "3.0.0",
3542 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
3543 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
3544 | "dev": true
3545 | },
3546 | "string-width": {
3547 | "version": "3.1.0",
3548 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
3549 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
3550 | "dev": true,
3551 | "requires": {
3552 | "emoji-regex": "^7.0.1",
3553 | "is-fullwidth-code-point": "^2.0.0",
3554 | "strip-ansi": "^5.1.0"
3555 | }
3556 | }
3557 | }
3558 | },
3559 | "yargs-parser": {
3560 | "version": "13.1.2",
3561 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
3562 | "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
3563 | "dev": true,
3564 | "requires": {
3565 | "camelcase": "^5.0.0",
3566 | "decamelize": "^1.2.0"
3567 | }
3568 | },
3569 | "yn": {
3570 | "version": "3.1.1",
3571 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
3572 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
3573 | "dev": true
3574 | }
3575 | }
3576 | }
3577 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "cdkp",
3 | "description": "CLI tool for cdk patterns",
4 | "version": "0.7.0",
5 | "author": "cdkpatterns",
6 | "bin": {
7 | "cdkp": "./bin/run"
8 | },
9 | "bugs": "https://github.com/cdk-patterns/cli/issues",
10 | "dependencies": {
11 | "@oclif/command": "^1.5.19",
12 | "@oclif/config": "^1.14.0",
13 | "@oclif/plugin-help": "^2.2.3",
14 | "fs-extra": "^8.1.0",
15 | "tslib": "^1.11.1"
16 | },
17 | "devDependencies": {
18 | "@oclif/dev-cli": "^1.22.2",
19 | "@oclif/test": "^1.2.5",
20 | "@types/chai": "^4.2.10",
21 | "@types/mocha": "^5.2.7",
22 | "@types/node": "^10.17.17",
23 | "chai": "^4.2.0",
24 | "eslint": "^5.16.0",
25 | "eslint-config-oclif": "^3.1.0",
26 | "eslint-config-oclif-typescript": "^0.1.0",
27 | "globby": "^10.0.2",
28 | "mocha": "^5.2.0",
29 | "nyc": "^14.1.1",
30 | "ts-node": "^8.6.2",
31 | "typescript": "^3.8.3"
32 | },
33 | "engines": {
34 | "node": ">=8.0.0"
35 | },
36 | "files": [
37 | "/bin",
38 | "/lib",
39 | "/npm-shrinkwrap.json",
40 | "/oclif.manifest.json"
41 | ],
42 | "homepage": "cdkpatterns.com",
43 | "keywords": [
44 | "oclif",
45 | "cdk",
46 | "patterns",
47 | "serverless",
48 | "aws",
49 | "architecture"
50 | ],
51 | "license": "MIT",
52 | "main": "lib/index.js",
53 | "oclif": {
54 | "commands": "./lib/commands",
55 | "bin": "cdkp",
56 | "plugins": [
57 | "@oclif/plugin-help"
58 | ]
59 | },
60 | "repository": "https://github.com/cdk-patterns/cli",
61 | "scripts": {
62 | "postpack": "rm -f oclif.manifest.json",
63 | "posttest": "eslint . --ext .ts --config .eslintrc",
64 | "prepack": "rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme",
65 | "test": "nyc --extension .ts mocha --forbid-only \"test/**/*.test.ts\"",
66 | "version": "oclif-dev readme && git add README.md"
67 | },
68 | "types": "lib/index.d.ts"
69 | }
70 |
--------------------------------------------------------------------------------
/src/commands/init.ts:
--------------------------------------------------------------------------------
1 | import {Command, flags} from '@oclif/command'
2 | const { execSync } = require('child_process');
3 | const fs = require('fs-extra');
4 | import * as path from 'path';
5 | const https = require('https');
6 |
7 | export default class Init extends Command {
8 | static description = 'takes a pattern name as a parameter and clones it from cdkpatterns.com'
9 |
10 | static examples = [
11 | `$ cdkp init the-big-fan
12 | *** Downloading Pattern ***
13 | From https://github.com/cdk-patterns/serverless
14 | * [new branch] main -> origin/main
15 | From https://github.com/cdk-patterns/serverless
16 | * branch main -> FETCH_HEAD
17 | *** Tidying up file structure ***
18 | *** Installing Dependencies and Building ***
19 | npm WARN the-big-fan@0.1.0 No repository field.
20 | npm WARN the-big-fan@0.1.0 No license field.
21 |
22 | *** Complete, pattern is inside the-big-fan folder ***
23 |
24 | Useful Commands:
25 | - "cd the-big-fan" to open the pattern in your cli
26 | - "npm run cdk synth" to see the generated cft
27 | - "npm run test" to run the unit tests
28 | - "npm run deploy" to deploy to aws
29 | `,
30 | ]
31 |
32 | static flags = {
33 | help: flags.help({char: 'h'}),
34 |
35 | // flag with no value (-f, --force)
36 | force: flags.boolean({char: 'f'}),
37 |
38 | // language flag for the patterm, typescript or python
39 | lang: flags.string({char: 'l', description:"typescript or python"}),
40 | }
41 |
42 | static args = [{name: 'pattern'}]
43 |
44 | async run() {
45 | const {args, flags} = this.parse(Init)
46 | const pattern = args.pattern || null;
47 | const force = flags.force || false;
48 | let lang = flags.lang || 'typescript';
49 | const base_dir = path.join(process.cwd(), pattern);
50 |
51 | lang = lang.toLowerCase();
52 |
53 | if(lang !== 'typescript' && lang !== 'python') {
54 | this.error('only typescript and python are supported');
55 | }
56 |
57 | this.getAvailablePatterns().then(async (patterns)=> {
58 | if(!patterns.includes(pattern)){
59 | this.log(pattern+' is not a valid pattern, try cdkp list to see available patterns')
60 | return;
61 | }
62 |
63 | try {
64 | if ((fs.existsSync('./'+pattern)) && (force === false)) {
65 | //file exists
66 | this.log(pattern+ ' folder already exists, you can only add a pattern once')
67 | }else {
68 | if(force === true) {
69 | this.log('Deleting previous '+pattern+ ' folder from '+base_dir);
70 | }
71 |
72 | fs.emptyDirSync(pattern)
73 | this.log('*** Downloading Pattern ***');
74 | execSync('git init', {'cwd': pattern});
75 | execSync('git remote add origin -f https://github.com/cdk-patterns/serverless', {'cwd': pattern});
76 | execSync('git config core.sparsecheckout true', {'cwd': pattern});
77 | execSync('echo '+pattern+'/'+lang+' >> .git/info/sparse-checkout', {'cwd': pattern});
78 | execSync('git pull origin main', {'cwd': pattern});
79 |
80 | this.log('*** Tidying up file structure ***');
81 | fs.removeSync(path.join(base_dir, '.git'))
82 | await this.copyFiles(path.join(base_dir, pattern, lang), base_dir)
83 | fs.removeSync(path.join(base_dir, pattern))
84 |
85 | if(lang === 'typescript'){
86 | this.log('*** Installing Dependencies and Building (This can take a couple of mins depending on pattern) ***');
87 | execSync('npm i && npm run build', {'cwd': pattern});
88 | this.log('*** Complete, pattern is inside '+base_dir+' folder ***\n');
89 | this.log('Useful Commands:');
90 | this.log('- "cd '+pattern+'" to open the pattern in your cli');
91 | this.log('- "npm run cdk synth" to see the generated cft');
92 | this.log('- "npm run test" to run the unit tests');
93 | this.log('- "npm run deploy" to deploy to aws');
94 | } else {
95 | this.log('*** Complete, pattern is inside '+base_dir+' folder ***\n');
96 | this.log('You still need to create your venv and install the dependencies as per the readme');
97 | this.log('Useful Commands:');
98 | this.log('- "cd '+pattern+'" to open the pattern in your cli');
99 | }
100 |
101 |
102 | }
103 | } catch(err) {
104 | this.error(err)
105 | }
106 | })
107 |
108 | }
109 |
110 | private getAvailablePatterns():Promise {
111 | return new Promise((resolve, reject) => {
112 | https.get('https://raw.githubusercontent.com/cdk-patterns/serverless/main/info.json', (resp:any) => {
113 | let data = '';
114 |
115 | // A chunk of data has been recieved.
116 | resp.on('data', (chunk:any) => {
117 | data += chunk;
118 | });
119 |
120 | // The whole response has been received. Print out the result.
121 | resp.on('end', () => {
122 | let cdkinfo:any = JSON.parse(data);
123 | resolve(Object.keys(cdkinfo.patterns));
124 | });
125 |
126 | }).on("error", (err:any) => {
127 | reject(err.message)
128 | });
129 | });
130 | }
131 |
132 | private async copyFiles(sourceDirectory: string, targetDirectory: string) {
133 | for (const file of await fs.readdir(sourceDirectory)) {
134 | const fromFile = path.join(sourceDirectory, file);
135 | const toFile = path.join(targetDirectory, file);
136 | if ((await fs.stat(fromFile)).isDirectory()) {
137 | await fs.mkdir(toFile);
138 | await this.copyFiles(fromFile, toFile);
139 | continue;
140 | } else {
141 | await fs.copy(fromFile, toFile);
142 | }
143 | }
144 | }
145 | }
146 |
--------------------------------------------------------------------------------
/src/commands/list.ts:
--------------------------------------------------------------------------------
1 | import {Command, flags} from '@oclif/command'
2 | const { execSync } = require('child_process');
3 | const fs = require('fs-extra');
4 | const https = require('https');
5 | import * as path from 'path';
6 |
7 | export default class List extends Command {
8 | static description = 'takes a pattern name as a parameter and clones it from cdkpatterns.com'
9 |
10 | static examples = [
11 | `$ cdkp list
12 | `,
13 | ]
14 |
15 | static flags = {
16 |
17 | }
18 |
19 | static args = [{name: 'pattern'}]
20 |
21 | async run() {
22 | const {args, flags} = this.parse(List)
23 |
24 | let that = this;
25 |
26 | https.get('https://raw.githubusercontent.com/cdk-patterns/serverless/main/info.json', (resp:any) => {
27 | let data = '';
28 |
29 | // A chunk of data has been recieved.
30 | resp.on('data', (chunk:any) => {
31 | data += chunk;
32 | });
33 |
34 | // The whole response has been received. Print out the result.
35 | resp.on('end', () => {
36 | let cdkinfo:any = JSON.parse(data);
37 | let prodPatterns = [];
38 | let learningPatterns = [];
39 |
40 | for(var pattern in cdkinfo.patterns) {
41 | if(cdkinfo.patterns[pattern].prodReady === true) {
42 | prodPatterns.push(pattern)
43 | }else {
44 | learningPatterns.push(pattern);
45 | }
46 | }
47 |
48 | if(prodPatterns.length > 0) {
49 | that.log('Production Ready Patterns')
50 | for(var pattern in prodPatterns) {
51 | that.log('- '+prodPatterns[pattern]);
52 | }
53 | that.log('\n');
54 | }
55 |
56 | if(learningPatterns.length > 0){
57 | that.log('Patterns Designed For Learning (i.e. need tweaks before prod use)')
58 | for(var pattern in learningPatterns) {
59 | that.log('- '+learningPatterns[pattern]);
60 | }
61 | }
62 | });
63 |
64 | }).on("error", (err:any) => {
65 | that.error(err.message)
66 | });
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | export {run} from '@oclif/command'
2 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "declaration": true,
4 | "importHelpers": true,
5 | "module": "commonjs",
6 | "outDir": "lib",
7 | "rootDir": "src",
8 | "strict": true,
9 | "target": "es2017"
10 | },
11 | "include": [
12 | "src/**/*"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------