├── .gitignore
├── .wp-env.json
├── .wp-env
└── .htaccess
├── README.md
├── package-lock.json
├── package.json
├── provision.sh
└── wp-content
└── mu-plugins
├── pub.php
├── stubs.php
└── wordpressorg.php
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | wp-content/plugins/*
3 | wp-content/themes/*
4 | meta.git
5 | wporg-mu-plugins.git
6 |
--------------------------------------------------------------------------------
/.wp-env.json:
--------------------------------------------------------------------------------
1 | {
2 | "core": "WordPress/WordPress#master",
3 | "mappings": {
4 | ".htaccess": "./.wp-env/.htaccess",
5 | "wp-content": "./wp-content",
6 | "wp-content/mu-plugins/pub": "./wporg-mu-plugins.git/mu-plugins",
7 | "wp-content/plugins/theme-directory": "./meta.git/wordpress.org/public_html/wp-content/plugins/theme-directory",
8 | "wp-content/themes/wporg": "./meta.git/wordpress.org/public_html/wp-content/themes/pub/wporg",
9 | "wp-content/themes/wporg-themes": "./meta.git/wordpress.org/public_html/wp-content/themes/pub/wporg-themes"
10 | },
11 | "config": {
12 | "WP_DEFAULT_THEME": "wporg-themes",
13 | "WP_ENVIRONMENT_TYPE": "local"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/.wp-env/.htaccess:
--------------------------------------------------------------------------------
1 | # BEGIN WordPress
2 | # The directives (lines) between "BEGIN WordPress" and "END WordPress" are
3 | # dynamically generated, and should only be modified via WordPress filters.
4 | # Any changes to the directives between these markers will be overwritten.
5 |
6 | RewriteEngine On
7 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
8 | RewriteBase /
9 | RewriteRule ^index\.php$ - [L]
10 | RewriteCond %{REQUEST_FILENAME} !-f
11 | RewriteCond %{REQUEST_FILENAME} !-d
12 | RewriteRule . /index.php [L]
13 |
14 |
15 | # END WordPress
16 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # WordPress Theme Directory - Local development environment
2 |
3 | ## Prerequisites
4 | - Git
5 | - Docker
6 | - Node/NPM
7 |
8 | ## Setup
9 | 1. `git clone https://github.com/wordpress/theme-directory-env`
10 | 2. `cd theme-directory-env`
11 | 3. `npm install`
12 | 4. `npm run start` (This will provision some git checkouts as needed)
13 | 5. Visit site at http://localhost:8888
14 |
15 | ## Stopping Environment
16 | `npm run wp-env stop`
17 |
18 | ## Removing Environment
19 | `npm run wp-env destroy`
20 |
21 | ## Development
22 |
23 | This utilises the https://github.com/wordpress/theme-check and https://github.com/wordpress/wordpress.org Github repo's.
24 |
25 | You'll find the sources for the Theme Directory here:
26 | - ./meta.git/wordpress.org/public_html/wp-content/plugins/theme-directory/
27 | - ./meta.git/wordpress.org/public_html/wp-content/themes/pub/wporg-themes/
28 |
29 | For Development of the Theme Directory, you'll need to run `npm install` within the wporg-themes folder, and `grunt` (or `./node_modules/grunt/bin/grunt`) to build JS/CSS
30 |
31 | ### Submitting PRs
32 | By default this clones https://github.com/WordPress/wordpress.org, to submit PRs against that, you'll first need to fork that repo to your own GitHub account, and then add it as a remote to meta.git.
33 |
34 | The simplest way is to switch the local clone to use your fork of the repo, instead of WordPress/wordpress.org directly:
35 | `git remote set-url origin https://github.com/$USERNAME/wordpress.org`
36 |
37 | Alternatively, you can add your fork as a separate remote:
38 | `git remote add fork https://github.com/$USERNAME/wordpress.org`
39 | And then when pushing your branch to your repo, use `git push --set-upstream fork $BRANCH`
40 |
41 | For any changes you wish to submit, create a ticket in https://meta.trac.wordpress.org/ in the 'Theme Directory' component and then push a PR to https://github.com/WordPress/wordpress.org with a link to the ticket in the description.
42 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "theme-directory-environment",
3 | "version": "1.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "theme-directory-environment",
9 | "version": "1.0.0",
10 | "license": "GPL-2.0-or-later",
11 | "devDependencies": {
12 | "@wordpress/env": "^4.8.0"
13 | }
14 | },
15 | "node_modules/@kwsites/file-exists": {
16 | "version": "1.1.1",
17 | "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz",
18 | "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==",
19 | "dev": true,
20 | "dependencies": {
21 | "debug": "^4.1.1"
22 | }
23 | },
24 | "node_modules/@kwsites/file-exists/node_modules/debug": {
25 | "version": "4.3.4",
26 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
27 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
28 | "dev": true,
29 | "dependencies": {
30 | "ms": "2.1.2"
31 | },
32 | "engines": {
33 | "node": ">=6.0"
34 | },
35 | "peerDependenciesMeta": {
36 | "supports-color": {
37 | "optional": true
38 | }
39 | }
40 | },
41 | "node_modules/@kwsites/file-exists/node_modules/ms": {
42 | "version": "2.1.2",
43 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
44 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
45 | "dev": true
46 | },
47 | "node_modules/@kwsites/promise-deferred": {
48 | "version": "1.1.1",
49 | "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz",
50 | "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==",
51 | "dev": true
52 | },
53 | "node_modules/@sindresorhus/is": {
54 | "version": "2.1.1",
55 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz",
56 | "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==",
57 | "dev": true,
58 | "engines": {
59 | "node": ">=10"
60 | },
61 | "funding": {
62 | "url": "https://github.com/sindresorhus/is?sponsor=1"
63 | }
64 | },
65 | "node_modules/@szmarczak/http-timer": {
66 | "version": "4.0.6",
67 | "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
68 | "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
69 | "dev": true,
70 | "dependencies": {
71 | "defer-to-connect": "^2.0.0"
72 | },
73 | "engines": {
74 | "node": ">=10"
75 | }
76 | },
77 | "node_modules/@types/cacheable-request": {
78 | "version": "6.0.2",
79 | "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
80 | "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
81 | "dev": true,
82 | "dependencies": {
83 | "@types/http-cache-semantics": "*",
84 | "@types/keyv": "*",
85 | "@types/node": "*",
86 | "@types/responselike": "*"
87 | }
88 | },
89 | "node_modules/@types/http-cache-semantics": {
90 | "version": "4.0.1",
91 | "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz",
92 | "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==",
93 | "dev": true
94 | },
95 | "node_modules/@types/json-buffer": {
96 | "version": "3.0.0",
97 | "resolved": "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz",
98 | "integrity": "sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==",
99 | "dev": true
100 | },
101 | "node_modules/@types/keyv": {
102 | "version": "3.1.4",
103 | "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
104 | "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
105 | "dev": true,
106 | "dependencies": {
107 | "@types/node": "*"
108 | }
109 | },
110 | "node_modules/@types/node": {
111 | "version": "17.0.41",
112 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.41.tgz",
113 | "integrity": "sha512-xA6drNNeqb5YyV5fO3OAEsnXLfO7uF0whiOfPTz5AeDo8KeZFmODKnvwPymMNO8qE/an8pVY/O50tig2SQCrGw==",
114 | "dev": true
115 | },
116 | "node_modules/@types/responselike": {
117 | "version": "1.0.0",
118 | "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
119 | "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
120 | "dev": true,
121 | "dependencies": {
122 | "@types/node": "*"
123 | }
124 | },
125 | "node_modules/@wordpress/env": {
126 | "version": "4.8.0",
127 | "resolved": "https://registry.npmjs.org/@wordpress/env/-/env-4.8.0.tgz",
128 | "integrity": "sha512-PiXP4z0txUdjmhW+8/43efa8gajWHr+LIO6OQt1LEM413TBFSjcjQtV4Q1Y/VaOkp7IqQ/XOveFBAVyi2NxkBA==",
129 | "dev": true,
130 | "dependencies": {
131 | "chalk": "^4.0.0",
132 | "copy-dir": "^1.3.0",
133 | "docker-compose": "^0.22.2",
134 | "extract-zip": "^1.6.7",
135 | "got": "^10.7.0",
136 | "inquirer": "^7.1.0",
137 | "js-yaml": "^3.13.1",
138 | "ora": "^4.0.2",
139 | "rimraf": "^3.0.2",
140 | "simple-git": "^3.5.0",
141 | "terminal-link": "^2.0.0",
142 | "yargs": "^17.3.0"
143 | },
144 | "bin": {
145 | "wp-env": "bin/wp-env"
146 | }
147 | },
148 | "node_modules/ansi-escapes": {
149 | "version": "4.3.2",
150 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
151 | "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
152 | "dev": true,
153 | "dependencies": {
154 | "type-fest": "^0.21.3"
155 | },
156 | "engines": {
157 | "node": ">=8"
158 | },
159 | "funding": {
160 | "url": "https://github.com/sponsors/sindresorhus"
161 | }
162 | },
163 | "node_modules/ansi-escapes/node_modules/type-fest": {
164 | "version": "0.21.3",
165 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
166 | "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
167 | "dev": true,
168 | "engines": {
169 | "node": ">=10"
170 | },
171 | "funding": {
172 | "url": "https://github.com/sponsors/sindresorhus"
173 | }
174 | },
175 | "node_modules/ansi-regex": {
176 | "version": "5.0.1",
177 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
178 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
179 | "dev": true,
180 | "engines": {
181 | "node": ">=8"
182 | }
183 | },
184 | "node_modules/ansi-styles": {
185 | "version": "4.3.0",
186 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
187 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
188 | "dev": true,
189 | "dependencies": {
190 | "color-convert": "^2.0.1"
191 | },
192 | "engines": {
193 | "node": ">=8"
194 | },
195 | "funding": {
196 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
197 | }
198 | },
199 | "node_modules/argparse": {
200 | "version": "1.0.10",
201 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
202 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
203 | "dev": true,
204 | "dependencies": {
205 | "sprintf-js": "~1.0.2"
206 | }
207 | },
208 | "node_modules/balanced-match": {
209 | "version": "1.0.2",
210 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
211 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
212 | "dev": true
213 | },
214 | "node_modules/brace-expansion": {
215 | "version": "1.1.11",
216 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
217 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
218 | "dev": true,
219 | "dependencies": {
220 | "balanced-match": "^1.0.0",
221 | "concat-map": "0.0.1"
222 | }
223 | },
224 | "node_modules/buffer-crc32": {
225 | "version": "0.2.13",
226 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
227 | "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
228 | "dev": true,
229 | "engines": {
230 | "node": "*"
231 | }
232 | },
233 | "node_modules/buffer-from": {
234 | "version": "1.1.2",
235 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
236 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
237 | "dev": true
238 | },
239 | "node_modules/cacheable-lookup": {
240 | "version": "2.0.1",
241 | "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz",
242 | "integrity": "sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==",
243 | "dev": true,
244 | "dependencies": {
245 | "@types/keyv": "^3.1.1",
246 | "keyv": "^4.0.0"
247 | },
248 | "engines": {
249 | "node": ">=10"
250 | }
251 | },
252 | "node_modules/cacheable-request": {
253 | "version": "7.0.2",
254 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
255 | "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
256 | "dev": true,
257 | "dependencies": {
258 | "clone-response": "^1.0.2",
259 | "get-stream": "^5.1.0",
260 | "http-cache-semantics": "^4.0.0",
261 | "keyv": "^4.0.0",
262 | "lowercase-keys": "^2.0.0",
263 | "normalize-url": "^6.0.1",
264 | "responselike": "^2.0.0"
265 | },
266 | "engines": {
267 | "node": ">=8"
268 | }
269 | },
270 | "node_modules/chalk": {
271 | "version": "4.1.2",
272 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
273 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
274 | "dev": true,
275 | "dependencies": {
276 | "ansi-styles": "^4.1.0",
277 | "supports-color": "^7.1.0"
278 | },
279 | "engines": {
280 | "node": ">=10"
281 | },
282 | "funding": {
283 | "url": "https://github.com/chalk/chalk?sponsor=1"
284 | }
285 | },
286 | "node_modules/chardet": {
287 | "version": "0.7.0",
288 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
289 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
290 | "dev": true
291 | },
292 | "node_modules/cli-cursor": {
293 | "version": "3.1.0",
294 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
295 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
296 | "dev": true,
297 | "dependencies": {
298 | "restore-cursor": "^3.1.0"
299 | },
300 | "engines": {
301 | "node": ">=8"
302 | }
303 | },
304 | "node_modules/cli-spinners": {
305 | "version": "2.6.1",
306 | "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
307 | "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
308 | "dev": true,
309 | "engines": {
310 | "node": ">=6"
311 | },
312 | "funding": {
313 | "url": "https://github.com/sponsors/sindresorhus"
314 | }
315 | },
316 | "node_modules/cli-width": {
317 | "version": "3.0.0",
318 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
319 | "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
320 | "dev": true,
321 | "engines": {
322 | "node": ">= 10"
323 | }
324 | },
325 | "node_modules/cliui": {
326 | "version": "7.0.4",
327 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
328 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
329 | "dev": true,
330 | "dependencies": {
331 | "string-width": "^4.2.0",
332 | "strip-ansi": "^6.0.0",
333 | "wrap-ansi": "^7.0.0"
334 | }
335 | },
336 | "node_modules/clone": {
337 | "version": "1.0.4",
338 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
339 | "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
340 | "dev": true,
341 | "engines": {
342 | "node": ">=0.8"
343 | }
344 | },
345 | "node_modules/clone-response": {
346 | "version": "1.0.2",
347 | "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
348 | "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==",
349 | "dev": true,
350 | "dependencies": {
351 | "mimic-response": "^1.0.0"
352 | }
353 | },
354 | "node_modules/clone-response/node_modules/mimic-response": {
355 | "version": "1.0.1",
356 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
357 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
358 | "dev": true,
359 | "engines": {
360 | "node": ">=4"
361 | }
362 | },
363 | "node_modules/color-convert": {
364 | "version": "2.0.1",
365 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
366 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
367 | "dev": true,
368 | "dependencies": {
369 | "color-name": "~1.1.4"
370 | },
371 | "engines": {
372 | "node": ">=7.0.0"
373 | }
374 | },
375 | "node_modules/color-name": {
376 | "version": "1.1.4",
377 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
378 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
379 | "dev": true
380 | },
381 | "node_modules/compress-brotli": {
382 | "version": "1.3.8",
383 | "resolved": "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz",
384 | "integrity": "sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==",
385 | "dev": true,
386 | "dependencies": {
387 | "@types/json-buffer": "~3.0.0",
388 | "json-buffer": "~3.0.1"
389 | },
390 | "engines": {
391 | "node": ">= 12"
392 | }
393 | },
394 | "node_modules/concat-map": {
395 | "version": "0.0.1",
396 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
397 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
398 | "dev": true
399 | },
400 | "node_modules/concat-stream": {
401 | "version": "1.6.2",
402 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
403 | "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
404 | "dev": true,
405 | "engines": [
406 | "node >= 0.8"
407 | ],
408 | "dependencies": {
409 | "buffer-from": "^1.0.0",
410 | "inherits": "^2.0.3",
411 | "readable-stream": "^2.2.2",
412 | "typedarray": "^0.0.6"
413 | }
414 | },
415 | "node_modules/copy-dir": {
416 | "version": "1.3.0",
417 | "resolved": "https://registry.npmjs.org/copy-dir/-/copy-dir-1.3.0.tgz",
418 | "integrity": "sha512-Q4+qBFnN4bwGwvtXXzbp4P/4iNk0MaiGAzvQ8OiMtlLjkIKjmNN689uVzShSM0908q7GoFHXIPx4zi75ocoaHw==",
419 | "dev": true
420 | },
421 | "node_modules/core-util-is": {
422 | "version": "1.0.3",
423 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
424 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
425 | "dev": true
426 | },
427 | "node_modules/debug": {
428 | "version": "2.6.9",
429 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
430 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
431 | "dev": true,
432 | "dependencies": {
433 | "ms": "2.0.0"
434 | }
435 | },
436 | "node_modules/decompress-response": {
437 | "version": "5.0.0",
438 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz",
439 | "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==",
440 | "dev": true,
441 | "dependencies": {
442 | "mimic-response": "^2.0.0"
443 | },
444 | "engines": {
445 | "node": ">=10"
446 | }
447 | },
448 | "node_modules/defaults": {
449 | "version": "1.0.3",
450 | "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
451 | "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==",
452 | "dev": true,
453 | "dependencies": {
454 | "clone": "^1.0.2"
455 | }
456 | },
457 | "node_modules/defer-to-connect": {
458 | "version": "2.0.1",
459 | "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
460 | "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
461 | "dev": true,
462 | "engines": {
463 | "node": ">=10"
464 | }
465 | },
466 | "node_modules/docker-compose": {
467 | "version": "0.22.2",
468 | "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.22.2.tgz",
469 | "integrity": "sha512-iXWb5+LiYmylIMFXvGTYsjI1F+Xyx78Jm/uj1dxwwZLbWkUdH6yOXY5Nr3RjbYX15EgbGJCq78d29CmWQQQMPg==",
470 | "dev": true,
471 | "engines": {
472 | "node": ">= 6.0.0"
473 | }
474 | },
475 | "node_modules/duplexer3": {
476 | "version": "0.1.4",
477 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
478 | "integrity": "sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==",
479 | "dev": true
480 | },
481 | "node_modules/emoji-regex": {
482 | "version": "8.0.0",
483 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
484 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
485 | "dev": true
486 | },
487 | "node_modules/end-of-stream": {
488 | "version": "1.4.4",
489 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
490 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
491 | "dev": true,
492 | "dependencies": {
493 | "once": "^1.4.0"
494 | }
495 | },
496 | "node_modules/escalade": {
497 | "version": "3.1.1",
498 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
499 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
500 | "dev": true,
501 | "engines": {
502 | "node": ">=6"
503 | }
504 | },
505 | "node_modules/escape-string-regexp": {
506 | "version": "1.0.5",
507 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
508 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
509 | "dev": true,
510 | "engines": {
511 | "node": ">=0.8.0"
512 | }
513 | },
514 | "node_modules/esprima": {
515 | "version": "4.0.1",
516 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
517 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
518 | "dev": true,
519 | "bin": {
520 | "esparse": "bin/esparse.js",
521 | "esvalidate": "bin/esvalidate.js"
522 | },
523 | "engines": {
524 | "node": ">=4"
525 | }
526 | },
527 | "node_modules/external-editor": {
528 | "version": "3.1.0",
529 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
530 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
531 | "dev": true,
532 | "dependencies": {
533 | "chardet": "^0.7.0",
534 | "iconv-lite": "^0.4.24",
535 | "tmp": "^0.0.33"
536 | },
537 | "engines": {
538 | "node": ">=4"
539 | }
540 | },
541 | "node_modules/extract-zip": {
542 | "version": "1.7.0",
543 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
544 | "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
545 | "dev": true,
546 | "dependencies": {
547 | "concat-stream": "^1.6.2",
548 | "debug": "^2.6.9",
549 | "mkdirp": "^0.5.4",
550 | "yauzl": "^2.10.0"
551 | },
552 | "bin": {
553 | "extract-zip": "cli.js"
554 | }
555 | },
556 | "node_modules/fd-slicer": {
557 | "version": "1.1.0",
558 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
559 | "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
560 | "dev": true,
561 | "dependencies": {
562 | "pend": "~1.2.0"
563 | }
564 | },
565 | "node_modules/figures": {
566 | "version": "3.2.0",
567 | "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
568 | "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
569 | "dev": true,
570 | "dependencies": {
571 | "escape-string-regexp": "^1.0.5"
572 | },
573 | "engines": {
574 | "node": ">=8"
575 | },
576 | "funding": {
577 | "url": "https://github.com/sponsors/sindresorhus"
578 | }
579 | },
580 | "node_modules/fs.realpath": {
581 | "version": "1.0.0",
582 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
583 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
584 | "dev": true
585 | },
586 | "node_modules/get-caller-file": {
587 | "version": "2.0.5",
588 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
589 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
590 | "dev": true,
591 | "engines": {
592 | "node": "6.* || 8.* || >= 10.*"
593 | }
594 | },
595 | "node_modules/get-stream": {
596 | "version": "5.2.0",
597 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
598 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
599 | "dev": true,
600 | "dependencies": {
601 | "pump": "^3.0.0"
602 | },
603 | "engines": {
604 | "node": ">=8"
605 | },
606 | "funding": {
607 | "url": "https://github.com/sponsors/sindresorhus"
608 | }
609 | },
610 | "node_modules/glob": {
611 | "version": "7.2.3",
612 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
613 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
614 | "dev": true,
615 | "dependencies": {
616 | "fs.realpath": "^1.0.0",
617 | "inflight": "^1.0.4",
618 | "inherits": "2",
619 | "minimatch": "^3.1.1",
620 | "once": "^1.3.0",
621 | "path-is-absolute": "^1.0.0"
622 | },
623 | "engines": {
624 | "node": "*"
625 | },
626 | "funding": {
627 | "url": "https://github.com/sponsors/isaacs"
628 | }
629 | },
630 | "node_modules/got": {
631 | "version": "10.7.0",
632 | "resolved": "https://registry.npmjs.org/got/-/got-10.7.0.tgz",
633 | "integrity": "sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==",
634 | "dev": true,
635 | "dependencies": {
636 | "@sindresorhus/is": "^2.0.0",
637 | "@szmarczak/http-timer": "^4.0.0",
638 | "@types/cacheable-request": "^6.0.1",
639 | "cacheable-lookup": "^2.0.0",
640 | "cacheable-request": "^7.0.1",
641 | "decompress-response": "^5.0.0",
642 | "duplexer3": "^0.1.4",
643 | "get-stream": "^5.0.0",
644 | "lowercase-keys": "^2.0.0",
645 | "mimic-response": "^2.1.0",
646 | "p-cancelable": "^2.0.0",
647 | "p-event": "^4.0.0",
648 | "responselike": "^2.0.0",
649 | "to-readable-stream": "^2.0.0",
650 | "type-fest": "^0.10.0"
651 | },
652 | "engines": {
653 | "node": ">=10"
654 | },
655 | "funding": {
656 | "url": "https://github.com/sindresorhus/got?sponsor=1"
657 | }
658 | },
659 | "node_modules/has-flag": {
660 | "version": "4.0.0",
661 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
662 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
663 | "dev": true,
664 | "engines": {
665 | "node": ">=8"
666 | }
667 | },
668 | "node_modules/http-cache-semantics": {
669 | "version": "4.1.0",
670 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
671 | "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
672 | "dev": true
673 | },
674 | "node_modules/iconv-lite": {
675 | "version": "0.4.24",
676 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
677 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
678 | "dev": true,
679 | "dependencies": {
680 | "safer-buffer": ">= 2.1.2 < 3"
681 | },
682 | "engines": {
683 | "node": ">=0.10.0"
684 | }
685 | },
686 | "node_modules/inflight": {
687 | "version": "1.0.6",
688 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
689 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
690 | "dev": true,
691 | "dependencies": {
692 | "once": "^1.3.0",
693 | "wrappy": "1"
694 | }
695 | },
696 | "node_modules/inherits": {
697 | "version": "2.0.4",
698 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
699 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
700 | "dev": true
701 | },
702 | "node_modules/inquirer": {
703 | "version": "7.3.3",
704 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
705 | "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
706 | "dev": true,
707 | "dependencies": {
708 | "ansi-escapes": "^4.2.1",
709 | "chalk": "^4.1.0",
710 | "cli-cursor": "^3.1.0",
711 | "cli-width": "^3.0.0",
712 | "external-editor": "^3.0.3",
713 | "figures": "^3.0.0",
714 | "lodash": "^4.17.19",
715 | "mute-stream": "0.0.8",
716 | "run-async": "^2.4.0",
717 | "rxjs": "^6.6.0",
718 | "string-width": "^4.1.0",
719 | "strip-ansi": "^6.0.0",
720 | "through": "^2.3.6"
721 | },
722 | "engines": {
723 | "node": ">=8.0.0"
724 | }
725 | },
726 | "node_modules/is-fullwidth-code-point": {
727 | "version": "3.0.0",
728 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
729 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
730 | "dev": true,
731 | "engines": {
732 | "node": ">=8"
733 | }
734 | },
735 | "node_modules/is-interactive": {
736 | "version": "1.0.0",
737 | "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
738 | "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
739 | "dev": true,
740 | "engines": {
741 | "node": ">=8"
742 | }
743 | },
744 | "node_modules/isarray": {
745 | "version": "1.0.0",
746 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
747 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
748 | "dev": true
749 | },
750 | "node_modules/js-yaml": {
751 | "version": "3.14.1",
752 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
753 | "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
754 | "dev": true,
755 | "dependencies": {
756 | "argparse": "^1.0.7",
757 | "esprima": "^4.0.0"
758 | },
759 | "bin": {
760 | "js-yaml": "bin/js-yaml.js"
761 | }
762 | },
763 | "node_modules/json-buffer": {
764 | "version": "3.0.1",
765 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
766 | "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
767 | "dev": true
768 | },
769 | "node_modules/keyv": {
770 | "version": "4.3.0",
771 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.3.0.tgz",
772 | "integrity": "sha512-C30Un9+63J0CsR7Wka5quXKqYZsT6dcRQ2aOwGcSc3RiQ4HGWpTAHlCA+puNfw2jA/s11EsxA1nCXgZRuRKMQQ==",
773 | "dev": true,
774 | "dependencies": {
775 | "compress-brotli": "^1.3.8",
776 | "json-buffer": "3.0.1"
777 | }
778 | },
779 | "node_modules/lodash": {
780 | "version": "4.17.21",
781 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
782 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
783 | "dev": true
784 | },
785 | "node_modules/log-symbols": {
786 | "version": "3.0.0",
787 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
788 | "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
789 | "dev": true,
790 | "dependencies": {
791 | "chalk": "^2.4.2"
792 | },
793 | "engines": {
794 | "node": ">=8"
795 | }
796 | },
797 | "node_modules/log-symbols/node_modules/ansi-styles": {
798 | "version": "3.2.1",
799 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
800 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
801 | "dev": true,
802 | "dependencies": {
803 | "color-convert": "^1.9.0"
804 | },
805 | "engines": {
806 | "node": ">=4"
807 | }
808 | },
809 | "node_modules/log-symbols/node_modules/chalk": {
810 | "version": "2.4.2",
811 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
812 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
813 | "dev": true,
814 | "dependencies": {
815 | "ansi-styles": "^3.2.1",
816 | "escape-string-regexp": "^1.0.5",
817 | "supports-color": "^5.3.0"
818 | },
819 | "engines": {
820 | "node": ">=4"
821 | }
822 | },
823 | "node_modules/log-symbols/node_modules/color-convert": {
824 | "version": "1.9.3",
825 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
826 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
827 | "dev": true,
828 | "dependencies": {
829 | "color-name": "1.1.3"
830 | }
831 | },
832 | "node_modules/log-symbols/node_modules/color-name": {
833 | "version": "1.1.3",
834 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
835 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
836 | "dev": true
837 | },
838 | "node_modules/log-symbols/node_modules/has-flag": {
839 | "version": "3.0.0",
840 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
841 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
842 | "dev": true,
843 | "engines": {
844 | "node": ">=4"
845 | }
846 | },
847 | "node_modules/log-symbols/node_modules/supports-color": {
848 | "version": "5.5.0",
849 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
850 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
851 | "dev": true,
852 | "dependencies": {
853 | "has-flag": "^3.0.0"
854 | },
855 | "engines": {
856 | "node": ">=4"
857 | }
858 | },
859 | "node_modules/lowercase-keys": {
860 | "version": "2.0.0",
861 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
862 | "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
863 | "dev": true,
864 | "engines": {
865 | "node": ">=8"
866 | }
867 | },
868 | "node_modules/mimic-fn": {
869 | "version": "2.1.0",
870 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
871 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
872 | "dev": true,
873 | "engines": {
874 | "node": ">=6"
875 | }
876 | },
877 | "node_modules/mimic-response": {
878 | "version": "2.1.0",
879 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
880 | "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==",
881 | "dev": true,
882 | "engines": {
883 | "node": ">=8"
884 | },
885 | "funding": {
886 | "url": "https://github.com/sponsors/sindresorhus"
887 | }
888 | },
889 | "node_modules/minimatch": {
890 | "version": "3.1.2",
891 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
892 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
893 | "dev": true,
894 | "dependencies": {
895 | "brace-expansion": "^1.1.7"
896 | },
897 | "engines": {
898 | "node": "*"
899 | }
900 | },
901 | "node_modules/minimist": {
902 | "version": "1.2.6",
903 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
904 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
905 | "dev": true
906 | },
907 | "node_modules/mkdirp": {
908 | "version": "0.5.6",
909 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
910 | "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
911 | "dev": true,
912 | "dependencies": {
913 | "minimist": "^1.2.6"
914 | },
915 | "bin": {
916 | "mkdirp": "bin/cmd.js"
917 | }
918 | },
919 | "node_modules/ms": {
920 | "version": "2.0.0",
921 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
922 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
923 | "dev": true
924 | },
925 | "node_modules/mute-stream": {
926 | "version": "0.0.8",
927 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
928 | "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
929 | "dev": true
930 | },
931 | "node_modules/normalize-url": {
932 | "version": "6.1.0",
933 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
934 | "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
935 | "dev": true,
936 | "engines": {
937 | "node": ">=10"
938 | },
939 | "funding": {
940 | "url": "https://github.com/sponsors/sindresorhus"
941 | }
942 | },
943 | "node_modules/once": {
944 | "version": "1.4.0",
945 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
946 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
947 | "dev": true,
948 | "dependencies": {
949 | "wrappy": "1"
950 | }
951 | },
952 | "node_modules/onetime": {
953 | "version": "5.1.2",
954 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
955 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
956 | "dev": true,
957 | "dependencies": {
958 | "mimic-fn": "^2.1.0"
959 | },
960 | "engines": {
961 | "node": ">=6"
962 | },
963 | "funding": {
964 | "url": "https://github.com/sponsors/sindresorhus"
965 | }
966 | },
967 | "node_modules/ora": {
968 | "version": "4.1.1",
969 | "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz",
970 | "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==",
971 | "dev": true,
972 | "dependencies": {
973 | "chalk": "^3.0.0",
974 | "cli-cursor": "^3.1.0",
975 | "cli-spinners": "^2.2.0",
976 | "is-interactive": "^1.0.0",
977 | "log-symbols": "^3.0.0",
978 | "mute-stream": "0.0.8",
979 | "strip-ansi": "^6.0.0",
980 | "wcwidth": "^1.0.1"
981 | },
982 | "engines": {
983 | "node": ">=8"
984 | },
985 | "funding": {
986 | "url": "https://github.com/sponsors/sindresorhus"
987 | }
988 | },
989 | "node_modules/ora/node_modules/chalk": {
990 | "version": "3.0.0",
991 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
992 | "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
993 | "dev": true,
994 | "dependencies": {
995 | "ansi-styles": "^4.1.0",
996 | "supports-color": "^7.1.0"
997 | },
998 | "engines": {
999 | "node": ">=8"
1000 | }
1001 | },
1002 | "node_modules/os-tmpdir": {
1003 | "version": "1.0.2",
1004 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
1005 | "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
1006 | "dev": true,
1007 | "engines": {
1008 | "node": ">=0.10.0"
1009 | }
1010 | },
1011 | "node_modules/p-cancelable": {
1012 | "version": "2.1.1",
1013 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
1014 | "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
1015 | "dev": true,
1016 | "engines": {
1017 | "node": ">=8"
1018 | }
1019 | },
1020 | "node_modules/p-event": {
1021 | "version": "4.2.0",
1022 | "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz",
1023 | "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==",
1024 | "dev": true,
1025 | "dependencies": {
1026 | "p-timeout": "^3.1.0"
1027 | },
1028 | "engines": {
1029 | "node": ">=8"
1030 | },
1031 | "funding": {
1032 | "url": "https://github.com/sponsors/sindresorhus"
1033 | }
1034 | },
1035 | "node_modules/p-finally": {
1036 | "version": "1.0.0",
1037 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
1038 | "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==",
1039 | "dev": true,
1040 | "engines": {
1041 | "node": ">=4"
1042 | }
1043 | },
1044 | "node_modules/p-timeout": {
1045 | "version": "3.2.0",
1046 | "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz",
1047 | "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==",
1048 | "dev": true,
1049 | "dependencies": {
1050 | "p-finally": "^1.0.0"
1051 | },
1052 | "engines": {
1053 | "node": ">=8"
1054 | }
1055 | },
1056 | "node_modules/path-is-absolute": {
1057 | "version": "1.0.1",
1058 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1059 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
1060 | "dev": true,
1061 | "engines": {
1062 | "node": ">=0.10.0"
1063 | }
1064 | },
1065 | "node_modules/pend": {
1066 | "version": "1.2.0",
1067 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
1068 | "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
1069 | "dev": true
1070 | },
1071 | "node_modules/process-nextick-args": {
1072 | "version": "2.0.1",
1073 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
1074 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
1075 | "dev": true
1076 | },
1077 | "node_modules/pump": {
1078 | "version": "3.0.0",
1079 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
1080 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
1081 | "dev": true,
1082 | "dependencies": {
1083 | "end-of-stream": "^1.1.0",
1084 | "once": "^1.3.1"
1085 | }
1086 | },
1087 | "node_modules/readable-stream": {
1088 | "version": "2.3.7",
1089 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
1090 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
1091 | "dev": true,
1092 | "dependencies": {
1093 | "core-util-is": "~1.0.0",
1094 | "inherits": "~2.0.3",
1095 | "isarray": "~1.0.0",
1096 | "process-nextick-args": "~2.0.0",
1097 | "safe-buffer": "~5.1.1",
1098 | "string_decoder": "~1.1.1",
1099 | "util-deprecate": "~1.0.1"
1100 | }
1101 | },
1102 | "node_modules/require-directory": {
1103 | "version": "2.1.1",
1104 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
1105 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
1106 | "dev": true,
1107 | "engines": {
1108 | "node": ">=0.10.0"
1109 | }
1110 | },
1111 | "node_modules/responselike": {
1112 | "version": "2.0.0",
1113 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
1114 | "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
1115 | "dev": true,
1116 | "dependencies": {
1117 | "lowercase-keys": "^2.0.0"
1118 | }
1119 | },
1120 | "node_modules/restore-cursor": {
1121 | "version": "3.1.0",
1122 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
1123 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
1124 | "dev": true,
1125 | "dependencies": {
1126 | "onetime": "^5.1.0",
1127 | "signal-exit": "^3.0.2"
1128 | },
1129 | "engines": {
1130 | "node": ">=8"
1131 | }
1132 | },
1133 | "node_modules/rimraf": {
1134 | "version": "3.0.2",
1135 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
1136 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
1137 | "dev": true,
1138 | "dependencies": {
1139 | "glob": "^7.1.3"
1140 | },
1141 | "bin": {
1142 | "rimraf": "bin.js"
1143 | },
1144 | "funding": {
1145 | "url": "https://github.com/sponsors/isaacs"
1146 | }
1147 | },
1148 | "node_modules/run-async": {
1149 | "version": "2.4.1",
1150 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
1151 | "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
1152 | "dev": true,
1153 | "engines": {
1154 | "node": ">=0.12.0"
1155 | }
1156 | },
1157 | "node_modules/rxjs": {
1158 | "version": "6.6.7",
1159 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
1160 | "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
1161 | "dev": true,
1162 | "dependencies": {
1163 | "tslib": "^1.9.0"
1164 | },
1165 | "engines": {
1166 | "npm": ">=2.0.0"
1167 | }
1168 | },
1169 | "node_modules/safe-buffer": {
1170 | "version": "5.1.2",
1171 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1172 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
1173 | "dev": true
1174 | },
1175 | "node_modules/safer-buffer": {
1176 | "version": "2.1.2",
1177 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1178 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1179 | "dev": true
1180 | },
1181 | "node_modules/signal-exit": {
1182 | "version": "3.0.7",
1183 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
1184 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
1185 | "dev": true
1186 | },
1187 | "node_modules/simple-git": {
1188 | "version": "3.7.1",
1189 | "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.7.1.tgz",
1190 | "integrity": "sha512-+Osjtsumbtew2y9to0pOYjNzSIr4NkKGBg7Po5SUtjQhaJf2QBmiTX/9E9cv9rmc7oUiSGFIB9e7ys5ibnT9+A==",
1191 | "dev": true,
1192 | "dependencies": {
1193 | "@kwsites/file-exists": "^1.1.1",
1194 | "@kwsites/promise-deferred": "^1.1.1",
1195 | "debug": "^4.3.3"
1196 | },
1197 | "funding": {
1198 | "type": "github",
1199 | "url": "https://github.com/sponsors/steveukx/"
1200 | }
1201 | },
1202 | "node_modules/simple-git/node_modules/debug": {
1203 | "version": "4.3.4",
1204 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
1205 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
1206 | "dev": true,
1207 | "dependencies": {
1208 | "ms": "2.1.2"
1209 | },
1210 | "engines": {
1211 | "node": ">=6.0"
1212 | },
1213 | "peerDependenciesMeta": {
1214 | "supports-color": {
1215 | "optional": true
1216 | }
1217 | }
1218 | },
1219 | "node_modules/simple-git/node_modules/ms": {
1220 | "version": "2.1.2",
1221 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1222 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1223 | "dev": true
1224 | },
1225 | "node_modules/sprintf-js": {
1226 | "version": "1.0.3",
1227 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
1228 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
1229 | "dev": true
1230 | },
1231 | "node_modules/string_decoder": {
1232 | "version": "1.1.1",
1233 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1234 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1235 | "dev": true,
1236 | "dependencies": {
1237 | "safe-buffer": "~5.1.0"
1238 | }
1239 | },
1240 | "node_modules/string-width": {
1241 | "version": "4.2.3",
1242 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
1243 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
1244 | "dev": true,
1245 | "dependencies": {
1246 | "emoji-regex": "^8.0.0",
1247 | "is-fullwidth-code-point": "^3.0.0",
1248 | "strip-ansi": "^6.0.1"
1249 | },
1250 | "engines": {
1251 | "node": ">=8"
1252 | }
1253 | },
1254 | "node_modules/strip-ansi": {
1255 | "version": "6.0.1",
1256 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
1257 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
1258 | "dev": true,
1259 | "dependencies": {
1260 | "ansi-regex": "^5.0.1"
1261 | },
1262 | "engines": {
1263 | "node": ">=8"
1264 | }
1265 | },
1266 | "node_modules/supports-color": {
1267 | "version": "7.2.0",
1268 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1269 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1270 | "dev": true,
1271 | "dependencies": {
1272 | "has-flag": "^4.0.0"
1273 | },
1274 | "engines": {
1275 | "node": ">=8"
1276 | }
1277 | },
1278 | "node_modules/supports-hyperlinks": {
1279 | "version": "2.2.0",
1280 | "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
1281 | "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
1282 | "dev": true,
1283 | "dependencies": {
1284 | "has-flag": "^4.0.0",
1285 | "supports-color": "^7.0.0"
1286 | },
1287 | "engines": {
1288 | "node": ">=8"
1289 | }
1290 | },
1291 | "node_modules/terminal-link": {
1292 | "version": "2.1.1",
1293 | "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
1294 | "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
1295 | "dev": true,
1296 | "dependencies": {
1297 | "ansi-escapes": "^4.2.1",
1298 | "supports-hyperlinks": "^2.0.0"
1299 | },
1300 | "engines": {
1301 | "node": ">=8"
1302 | },
1303 | "funding": {
1304 | "url": "https://github.com/sponsors/sindresorhus"
1305 | }
1306 | },
1307 | "node_modules/through": {
1308 | "version": "2.3.8",
1309 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
1310 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
1311 | "dev": true
1312 | },
1313 | "node_modules/tmp": {
1314 | "version": "0.0.33",
1315 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
1316 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
1317 | "dev": true,
1318 | "dependencies": {
1319 | "os-tmpdir": "~1.0.2"
1320 | },
1321 | "engines": {
1322 | "node": ">=0.6.0"
1323 | }
1324 | },
1325 | "node_modules/to-readable-stream": {
1326 | "version": "2.1.0",
1327 | "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz",
1328 | "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==",
1329 | "dev": true,
1330 | "engines": {
1331 | "node": ">=8"
1332 | }
1333 | },
1334 | "node_modules/tslib": {
1335 | "version": "1.14.1",
1336 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
1337 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
1338 | "dev": true
1339 | },
1340 | "node_modules/type-fest": {
1341 | "version": "0.10.0",
1342 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.10.0.tgz",
1343 | "integrity": "sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==",
1344 | "dev": true,
1345 | "engines": {
1346 | "node": ">=8"
1347 | },
1348 | "funding": {
1349 | "url": "https://github.com/sponsors/sindresorhus"
1350 | }
1351 | },
1352 | "node_modules/typedarray": {
1353 | "version": "0.0.6",
1354 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
1355 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
1356 | "dev": true
1357 | },
1358 | "node_modules/util-deprecate": {
1359 | "version": "1.0.2",
1360 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1361 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
1362 | "dev": true
1363 | },
1364 | "node_modules/wcwidth": {
1365 | "version": "1.0.1",
1366 | "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
1367 | "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
1368 | "dev": true,
1369 | "dependencies": {
1370 | "defaults": "^1.0.3"
1371 | }
1372 | },
1373 | "node_modules/wrap-ansi": {
1374 | "version": "7.0.0",
1375 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
1376 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
1377 | "dev": true,
1378 | "dependencies": {
1379 | "ansi-styles": "^4.0.0",
1380 | "string-width": "^4.1.0",
1381 | "strip-ansi": "^6.0.0"
1382 | },
1383 | "engines": {
1384 | "node": ">=10"
1385 | },
1386 | "funding": {
1387 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
1388 | }
1389 | },
1390 | "node_modules/wrappy": {
1391 | "version": "1.0.2",
1392 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1393 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1394 | "dev": true
1395 | },
1396 | "node_modules/y18n": {
1397 | "version": "5.0.8",
1398 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
1399 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
1400 | "dev": true,
1401 | "engines": {
1402 | "node": ">=10"
1403 | }
1404 | },
1405 | "node_modules/yargs": {
1406 | "version": "17.5.1",
1407 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz",
1408 | "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==",
1409 | "dev": true,
1410 | "dependencies": {
1411 | "cliui": "^7.0.2",
1412 | "escalade": "^3.1.1",
1413 | "get-caller-file": "^2.0.5",
1414 | "require-directory": "^2.1.1",
1415 | "string-width": "^4.2.3",
1416 | "y18n": "^5.0.5",
1417 | "yargs-parser": "^21.0.0"
1418 | },
1419 | "engines": {
1420 | "node": ">=12"
1421 | }
1422 | },
1423 | "node_modules/yargs-parser": {
1424 | "version": "21.0.1",
1425 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
1426 | "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==",
1427 | "dev": true,
1428 | "engines": {
1429 | "node": ">=12"
1430 | }
1431 | },
1432 | "node_modules/yauzl": {
1433 | "version": "2.10.0",
1434 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
1435 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
1436 | "dev": true,
1437 | "dependencies": {
1438 | "buffer-crc32": "~0.2.3",
1439 | "fd-slicer": "~1.1.0"
1440 | }
1441 | }
1442 | },
1443 | "dependencies": {
1444 | "@kwsites/file-exists": {
1445 | "version": "1.1.1",
1446 | "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz",
1447 | "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==",
1448 | "dev": true,
1449 | "requires": {
1450 | "debug": "^4.1.1"
1451 | },
1452 | "dependencies": {
1453 | "debug": {
1454 | "version": "4.3.4",
1455 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
1456 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
1457 | "dev": true,
1458 | "requires": {
1459 | "ms": "2.1.2"
1460 | }
1461 | },
1462 | "ms": {
1463 | "version": "2.1.2",
1464 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1465 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1466 | "dev": true
1467 | }
1468 | }
1469 | },
1470 | "@kwsites/promise-deferred": {
1471 | "version": "1.1.1",
1472 | "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz",
1473 | "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==",
1474 | "dev": true
1475 | },
1476 | "@sindresorhus/is": {
1477 | "version": "2.1.1",
1478 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz",
1479 | "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==",
1480 | "dev": true
1481 | },
1482 | "@szmarczak/http-timer": {
1483 | "version": "4.0.6",
1484 | "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
1485 | "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
1486 | "dev": true,
1487 | "requires": {
1488 | "defer-to-connect": "^2.0.0"
1489 | }
1490 | },
1491 | "@types/cacheable-request": {
1492 | "version": "6.0.2",
1493 | "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
1494 | "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
1495 | "dev": true,
1496 | "requires": {
1497 | "@types/http-cache-semantics": "*",
1498 | "@types/keyv": "*",
1499 | "@types/node": "*",
1500 | "@types/responselike": "*"
1501 | }
1502 | },
1503 | "@types/http-cache-semantics": {
1504 | "version": "4.0.1",
1505 | "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz",
1506 | "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==",
1507 | "dev": true
1508 | },
1509 | "@types/json-buffer": {
1510 | "version": "3.0.0",
1511 | "resolved": "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz",
1512 | "integrity": "sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==",
1513 | "dev": true
1514 | },
1515 | "@types/keyv": {
1516 | "version": "3.1.4",
1517 | "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
1518 | "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==",
1519 | "dev": true,
1520 | "requires": {
1521 | "@types/node": "*"
1522 | }
1523 | },
1524 | "@types/node": {
1525 | "version": "17.0.41",
1526 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.41.tgz",
1527 | "integrity": "sha512-xA6drNNeqb5YyV5fO3OAEsnXLfO7uF0whiOfPTz5AeDo8KeZFmODKnvwPymMNO8qE/an8pVY/O50tig2SQCrGw==",
1528 | "dev": true
1529 | },
1530 | "@types/responselike": {
1531 | "version": "1.0.0",
1532 | "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
1533 | "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
1534 | "dev": true,
1535 | "requires": {
1536 | "@types/node": "*"
1537 | }
1538 | },
1539 | "@wordpress/env": {
1540 | "version": "4.8.0",
1541 | "resolved": "https://registry.npmjs.org/@wordpress/env/-/env-4.8.0.tgz",
1542 | "integrity": "sha512-PiXP4z0txUdjmhW+8/43efa8gajWHr+LIO6OQt1LEM413TBFSjcjQtV4Q1Y/VaOkp7IqQ/XOveFBAVyi2NxkBA==",
1543 | "dev": true,
1544 | "requires": {
1545 | "chalk": "^4.0.0",
1546 | "copy-dir": "^1.3.0",
1547 | "docker-compose": "^0.22.2",
1548 | "extract-zip": "^1.6.7",
1549 | "got": "^10.7.0",
1550 | "inquirer": "^7.1.0",
1551 | "js-yaml": "^3.13.1",
1552 | "ora": "^4.0.2",
1553 | "rimraf": "^3.0.2",
1554 | "simple-git": "^3.5.0",
1555 | "terminal-link": "^2.0.0",
1556 | "yargs": "^17.3.0"
1557 | }
1558 | },
1559 | "ansi-escapes": {
1560 | "version": "4.3.2",
1561 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
1562 | "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
1563 | "dev": true,
1564 | "requires": {
1565 | "type-fest": "^0.21.3"
1566 | },
1567 | "dependencies": {
1568 | "type-fest": {
1569 | "version": "0.21.3",
1570 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
1571 | "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
1572 | "dev": true
1573 | }
1574 | }
1575 | },
1576 | "ansi-regex": {
1577 | "version": "5.0.1",
1578 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
1579 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
1580 | "dev": true
1581 | },
1582 | "ansi-styles": {
1583 | "version": "4.3.0",
1584 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1585 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1586 | "dev": true,
1587 | "requires": {
1588 | "color-convert": "^2.0.1"
1589 | }
1590 | },
1591 | "argparse": {
1592 | "version": "1.0.10",
1593 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
1594 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
1595 | "dev": true,
1596 | "requires": {
1597 | "sprintf-js": "~1.0.2"
1598 | }
1599 | },
1600 | "balanced-match": {
1601 | "version": "1.0.2",
1602 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
1603 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
1604 | "dev": true
1605 | },
1606 | "brace-expansion": {
1607 | "version": "1.1.11",
1608 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1609 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
1610 | "dev": true,
1611 | "requires": {
1612 | "balanced-match": "^1.0.0",
1613 | "concat-map": "0.0.1"
1614 | }
1615 | },
1616 | "buffer-crc32": {
1617 | "version": "0.2.13",
1618 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
1619 | "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
1620 | "dev": true
1621 | },
1622 | "buffer-from": {
1623 | "version": "1.1.2",
1624 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
1625 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
1626 | "dev": true
1627 | },
1628 | "cacheable-lookup": {
1629 | "version": "2.0.1",
1630 | "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz",
1631 | "integrity": "sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==",
1632 | "dev": true,
1633 | "requires": {
1634 | "@types/keyv": "^3.1.1",
1635 | "keyv": "^4.0.0"
1636 | }
1637 | },
1638 | "cacheable-request": {
1639 | "version": "7.0.2",
1640 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
1641 | "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
1642 | "dev": true,
1643 | "requires": {
1644 | "clone-response": "^1.0.2",
1645 | "get-stream": "^5.1.0",
1646 | "http-cache-semantics": "^4.0.0",
1647 | "keyv": "^4.0.0",
1648 | "lowercase-keys": "^2.0.0",
1649 | "normalize-url": "^6.0.1",
1650 | "responselike": "^2.0.0"
1651 | }
1652 | },
1653 | "chalk": {
1654 | "version": "4.1.2",
1655 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
1656 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
1657 | "dev": true,
1658 | "requires": {
1659 | "ansi-styles": "^4.1.0",
1660 | "supports-color": "^7.1.0"
1661 | }
1662 | },
1663 | "chardet": {
1664 | "version": "0.7.0",
1665 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
1666 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
1667 | "dev": true
1668 | },
1669 | "cli-cursor": {
1670 | "version": "3.1.0",
1671 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
1672 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
1673 | "dev": true,
1674 | "requires": {
1675 | "restore-cursor": "^3.1.0"
1676 | }
1677 | },
1678 | "cli-spinners": {
1679 | "version": "2.6.1",
1680 | "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz",
1681 | "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
1682 | "dev": true
1683 | },
1684 | "cli-width": {
1685 | "version": "3.0.0",
1686 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
1687 | "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
1688 | "dev": true
1689 | },
1690 | "cliui": {
1691 | "version": "7.0.4",
1692 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
1693 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
1694 | "dev": true,
1695 | "requires": {
1696 | "string-width": "^4.2.0",
1697 | "strip-ansi": "^6.0.0",
1698 | "wrap-ansi": "^7.0.0"
1699 | }
1700 | },
1701 | "clone": {
1702 | "version": "1.0.4",
1703 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
1704 | "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
1705 | "dev": true
1706 | },
1707 | "clone-response": {
1708 | "version": "1.0.2",
1709 | "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
1710 | "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==",
1711 | "dev": true,
1712 | "requires": {
1713 | "mimic-response": "^1.0.0"
1714 | },
1715 | "dependencies": {
1716 | "mimic-response": {
1717 | "version": "1.0.1",
1718 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
1719 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
1720 | "dev": true
1721 | }
1722 | }
1723 | },
1724 | "color-convert": {
1725 | "version": "2.0.1",
1726 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1727 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1728 | "dev": true,
1729 | "requires": {
1730 | "color-name": "~1.1.4"
1731 | }
1732 | },
1733 | "color-name": {
1734 | "version": "1.1.4",
1735 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1736 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1737 | "dev": true
1738 | },
1739 | "compress-brotli": {
1740 | "version": "1.3.8",
1741 | "resolved": "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz",
1742 | "integrity": "sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==",
1743 | "dev": true,
1744 | "requires": {
1745 | "@types/json-buffer": "~3.0.0",
1746 | "json-buffer": "~3.0.1"
1747 | }
1748 | },
1749 | "concat-map": {
1750 | "version": "0.0.1",
1751 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1752 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
1753 | "dev": true
1754 | },
1755 | "concat-stream": {
1756 | "version": "1.6.2",
1757 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
1758 | "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
1759 | "dev": true,
1760 | "requires": {
1761 | "buffer-from": "^1.0.0",
1762 | "inherits": "^2.0.3",
1763 | "readable-stream": "^2.2.2",
1764 | "typedarray": "^0.0.6"
1765 | }
1766 | },
1767 | "copy-dir": {
1768 | "version": "1.3.0",
1769 | "resolved": "https://registry.npmjs.org/copy-dir/-/copy-dir-1.3.0.tgz",
1770 | "integrity": "sha512-Q4+qBFnN4bwGwvtXXzbp4P/4iNk0MaiGAzvQ8OiMtlLjkIKjmNN689uVzShSM0908q7GoFHXIPx4zi75ocoaHw==",
1771 | "dev": true
1772 | },
1773 | "core-util-is": {
1774 | "version": "1.0.3",
1775 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
1776 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
1777 | "dev": true
1778 | },
1779 | "debug": {
1780 | "version": "2.6.9",
1781 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1782 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1783 | "dev": true,
1784 | "requires": {
1785 | "ms": "2.0.0"
1786 | }
1787 | },
1788 | "decompress-response": {
1789 | "version": "5.0.0",
1790 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz",
1791 | "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==",
1792 | "dev": true,
1793 | "requires": {
1794 | "mimic-response": "^2.0.0"
1795 | }
1796 | },
1797 | "defaults": {
1798 | "version": "1.0.3",
1799 | "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
1800 | "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==",
1801 | "dev": true,
1802 | "requires": {
1803 | "clone": "^1.0.2"
1804 | }
1805 | },
1806 | "defer-to-connect": {
1807 | "version": "2.0.1",
1808 | "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
1809 | "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
1810 | "dev": true
1811 | },
1812 | "docker-compose": {
1813 | "version": "0.22.2",
1814 | "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.22.2.tgz",
1815 | "integrity": "sha512-iXWb5+LiYmylIMFXvGTYsjI1F+Xyx78Jm/uj1dxwwZLbWkUdH6yOXY5Nr3RjbYX15EgbGJCq78d29CmWQQQMPg==",
1816 | "dev": true
1817 | },
1818 | "duplexer3": {
1819 | "version": "0.1.4",
1820 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
1821 | "integrity": "sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA==",
1822 | "dev": true
1823 | },
1824 | "emoji-regex": {
1825 | "version": "8.0.0",
1826 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
1827 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
1828 | "dev": true
1829 | },
1830 | "end-of-stream": {
1831 | "version": "1.4.4",
1832 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
1833 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
1834 | "dev": true,
1835 | "requires": {
1836 | "once": "^1.4.0"
1837 | }
1838 | },
1839 | "escalade": {
1840 | "version": "3.1.1",
1841 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
1842 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
1843 | "dev": true
1844 | },
1845 | "escape-string-regexp": {
1846 | "version": "1.0.5",
1847 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1848 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
1849 | "dev": true
1850 | },
1851 | "esprima": {
1852 | "version": "4.0.1",
1853 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
1854 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
1855 | "dev": true
1856 | },
1857 | "external-editor": {
1858 | "version": "3.1.0",
1859 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
1860 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
1861 | "dev": true,
1862 | "requires": {
1863 | "chardet": "^0.7.0",
1864 | "iconv-lite": "^0.4.24",
1865 | "tmp": "^0.0.33"
1866 | }
1867 | },
1868 | "extract-zip": {
1869 | "version": "1.7.0",
1870 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
1871 | "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
1872 | "dev": true,
1873 | "requires": {
1874 | "concat-stream": "^1.6.2",
1875 | "debug": "^2.6.9",
1876 | "mkdirp": "^0.5.4",
1877 | "yauzl": "^2.10.0"
1878 | }
1879 | },
1880 | "fd-slicer": {
1881 | "version": "1.1.0",
1882 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
1883 | "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
1884 | "dev": true,
1885 | "requires": {
1886 | "pend": "~1.2.0"
1887 | }
1888 | },
1889 | "figures": {
1890 | "version": "3.2.0",
1891 | "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
1892 | "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
1893 | "dev": true,
1894 | "requires": {
1895 | "escape-string-regexp": "^1.0.5"
1896 | }
1897 | },
1898 | "fs.realpath": {
1899 | "version": "1.0.0",
1900 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1901 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
1902 | "dev": true
1903 | },
1904 | "get-caller-file": {
1905 | "version": "2.0.5",
1906 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
1907 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
1908 | "dev": true
1909 | },
1910 | "get-stream": {
1911 | "version": "5.2.0",
1912 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
1913 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
1914 | "dev": true,
1915 | "requires": {
1916 | "pump": "^3.0.0"
1917 | }
1918 | },
1919 | "glob": {
1920 | "version": "7.2.3",
1921 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
1922 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
1923 | "dev": true,
1924 | "requires": {
1925 | "fs.realpath": "^1.0.0",
1926 | "inflight": "^1.0.4",
1927 | "inherits": "2",
1928 | "minimatch": "^3.1.1",
1929 | "once": "^1.3.0",
1930 | "path-is-absolute": "^1.0.0"
1931 | }
1932 | },
1933 | "got": {
1934 | "version": "10.7.0",
1935 | "resolved": "https://registry.npmjs.org/got/-/got-10.7.0.tgz",
1936 | "integrity": "sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==",
1937 | "dev": true,
1938 | "requires": {
1939 | "@sindresorhus/is": "^2.0.0",
1940 | "@szmarczak/http-timer": "^4.0.0",
1941 | "@types/cacheable-request": "^6.0.1",
1942 | "cacheable-lookup": "^2.0.0",
1943 | "cacheable-request": "^7.0.1",
1944 | "decompress-response": "^5.0.0",
1945 | "duplexer3": "^0.1.4",
1946 | "get-stream": "^5.0.0",
1947 | "lowercase-keys": "^2.0.0",
1948 | "mimic-response": "^2.1.0",
1949 | "p-cancelable": "^2.0.0",
1950 | "p-event": "^4.0.0",
1951 | "responselike": "^2.0.0",
1952 | "to-readable-stream": "^2.0.0",
1953 | "type-fest": "^0.10.0"
1954 | }
1955 | },
1956 | "has-flag": {
1957 | "version": "4.0.0",
1958 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1959 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1960 | "dev": true
1961 | },
1962 | "http-cache-semantics": {
1963 | "version": "4.1.0",
1964 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
1965 | "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
1966 | "dev": true
1967 | },
1968 | "iconv-lite": {
1969 | "version": "0.4.24",
1970 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1971 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1972 | "dev": true,
1973 | "requires": {
1974 | "safer-buffer": ">= 2.1.2 < 3"
1975 | }
1976 | },
1977 | "inflight": {
1978 | "version": "1.0.6",
1979 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1980 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
1981 | "dev": true,
1982 | "requires": {
1983 | "once": "^1.3.0",
1984 | "wrappy": "1"
1985 | }
1986 | },
1987 | "inherits": {
1988 | "version": "2.0.4",
1989 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1990 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1991 | "dev": true
1992 | },
1993 | "inquirer": {
1994 | "version": "7.3.3",
1995 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz",
1996 | "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==",
1997 | "dev": true,
1998 | "requires": {
1999 | "ansi-escapes": "^4.2.1",
2000 | "chalk": "^4.1.0",
2001 | "cli-cursor": "^3.1.0",
2002 | "cli-width": "^3.0.0",
2003 | "external-editor": "^3.0.3",
2004 | "figures": "^3.0.0",
2005 | "lodash": "^4.17.19",
2006 | "mute-stream": "0.0.8",
2007 | "run-async": "^2.4.0",
2008 | "rxjs": "^6.6.0",
2009 | "string-width": "^4.1.0",
2010 | "strip-ansi": "^6.0.0",
2011 | "through": "^2.3.6"
2012 | }
2013 | },
2014 | "is-fullwidth-code-point": {
2015 | "version": "3.0.0",
2016 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
2017 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
2018 | "dev": true
2019 | },
2020 | "is-interactive": {
2021 | "version": "1.0.0",
2022 | "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
2023 | "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
2024 | "dev": true
2025 | },
2026 | "isarray": {
2027 | "version": "1.0.0",
2028 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
2029 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
2030 | "dev": true
2031 | },
2032 | "js-yaml": {
2033 | "version": "3.14.1",
2034 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
2035 | "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
2036 | "dev": true,
2037 | "requires": {
2038 | "argparse": "^1.0.7",
2039 | "esprima": "^4.0.0"
2040 | }
2041 | },
2042 | "json-buffer": {
2043 | "version": "3.0.1",
2044 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
2045 | "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
2046 | "dev": true
2047 | },
2048 | "keyv": {
2049 | "version": "4.3.0",
2050 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.3.0.tgz",
2051 | "integrity": "sha512-C30Un9+63J0CsR7Wka5quXKqYZsT6dcRQ2aOwGcSc3RiQ4HGWpTAHlCA+puNfw2jA/s11EsxA1nCXgZRuRKMQQ==",
2052 | "dev": true,
2053 | "requires": {
2054 | "compress-brotli": "^1.3.8",
2055 | "json-buffer": "3.0.1"
2056 | }
2057 | },
2058 | "lodash": {
2059 | "version": "4.17.21",
2060 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
2061 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
2062 | "dev": true
2063 | },
2064 | "log-symbols": {
2065 | "version": "3.0.0",
2066 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
2067 | "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
2068 | "dev": true,
2069 | "requires": {
2070 | "chalk": "^2.4.2"
2071 | },
2072 | "dependencies": {
2073 | "ansi-styles": {
2074 | "version": "3.2.1",
2075 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
2076 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
2077 | "dev": true,
2078 | "requires": {
2079 | "color-convert": "^1.9.0"
2080 | }
2081 | },
2082 | "chalk": {
2083 | "version": "2.4.2",
2084 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
2085 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
2086 | "dev": true,
2087 | "requires": {
2088 | "ansi-styles": "^3.2.1",
2089 | "escape-string-regexp": "^1.0.5",
2090 | "supports-color": "^5.3.0"
2091 | }
2092 | },
2093 | "color-convert": {
2094 | "version": "1.9.3",
2095 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
2096 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
2097 | "dev": true,
2098 | "requires": {
2099 | "color-name": "1.1.3"
2100 | }
2101 | },
2102 | "color-name": {
2103 | "version": "1.1.3",
2104 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
2105 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
2106 | "dev": true
2107 | },
2108 | "has-flag": {
2109 | "version": "3.0.0",
2110 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
2111 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
2112 | "dev": true
2113 | },
2114 | "supports-color": {
2115 | "version": "5.5.0",
2116 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
2117 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
2118 | "dev": true,
2119 | "requires": {
2120 | "has-flag": "^3.0.0"
2121 | }
2122 | }
2123 | }
2124 | },
2125 | "lowercase-keys": {
2126 | "version": "2.0.0",
2127 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
2128 | "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
2129 | "dev": true
2130 | },
2131 | "mimic-fn": {
2132 | "version": "2.1.0",
2133 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
2134 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
2135 | "dev": true
2136 | },
2137 | "mimic-response": {
2138 | "version": "2.1.0",
2139 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
2140 | "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==",
2141 | "dev": true
2142 | },
2143 | "minimatch": {
2144 | "version": "3.1.2",
2145 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
2146 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
2147 | "dev": true,
2148 | "requires": {
2149 | "brace-expansion": "^1.1.7"
2150 | }
2151 | },
2152 | "minimist": {
2153 | "version": "1.2.6",
2154 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
2155 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
2156 | "dev": true
2157 | },
2158 | "mkdirp": {
2159 | "version": "0.5.6",
2160 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
2161 | "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
2162 | "dev": true,
2163 | "requires": {
2164 | "minimist": "^1.2.6"
2165 | }
2166 | },
2167 | "ms": {
2168 | "version": "2.0.0",
2169 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2170 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
2171 | "dev": true
2172 | },
2173 | "mute-stream": {
2174 | "version": "0.0.8",
2175 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
2176 | "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
2177 | "dev": true
2178 | },
2179 | "normalize-url": {
2180 | "version": "6.1.0",
2181 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
2182 | "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
2183 | "dev": true
2184 | },
2185 | "once": {
2186 | "version": "1.4.0",
2187 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2188 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
2189 | "dev": true,
2190 | "requires": {
2191 | "wrappy": "1"
2192 | }
2193 | },
2194 | "onetime": {
2195 | "version": "5.1.2",
2196 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
2197 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
2198 | "dev": true,
2199 | "requires": {
2200 | "mimic-fn": "^2.1.0"
2201 | }
2202 | },
2203 | "ora": {
2204 | "version": "4.1.1",
2205 | "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz",
2206 | "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==",
2207 | "dev": true,
2208 | "requires": {
2209 | "chalk": "^3.0.0",
2210 | "cli-cursor": "^3.1.0",
2211 | "cli-spinners": "^2.2.0",
2212 | "is-interactive": "^1.0.0",
2213 | "log-symbols": "^3.0.0",
2214 | "mute-stream": "0.0.8",
2215 | "strip-ansi": "^6.0.0",
2216 | "wcwidth": "^1.0.1"
2217 | },
2218 | "dependencies": {
2219 | "chalk": {
2220 | "version": "3.0.0",
2221 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
2222 | "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
2223 | "dev": true,
2224 | "requires": {
2225 | "ansi-styles": "^4.1.0",
2226 | "supports-color": "^7.1.0"
2227 | }
2228 | }
2229 | }
2230 | },
2231 | "os-tmpdir": {
2232 | "version": "1.0.2",
2233 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
2234 | "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
2235 | "dev": true
2236 | },
2237 | "p-cancelable": {
2238 | "version": "2.1.1",
2239 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
2240 | "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==",
2241 | "dev": true
2242 | },
2243 | "p-event": {
2244 | "version": "4.2.0",
2245 | "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz",
2246 | "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==",
2247 | "dev": true,
2248 | "requires": {
2249 | "p-timeout": "^3.1.0"
2250 | }
2251 | },
2252 | "p-finally": {
2253 | "version": "1.0.0",
2254 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
2255 | "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==",
2256 | "dev": true
2257 | },
2258 | "p-timeout": {
2259 | "version": "3.2.0",
2260 | "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz",
2261 | "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==",
2262 | "dev": true,
2263 | "requires": {
2264 | "p-finally": "^1.0.0"
2265 | }
2266 | },
2267 | "path-is-absolute": {
2268 | "version": "1.0.1",
2269 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2270 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
2271 | "dev": true
2272 | },
2273 | "pend": {
2274 | "version": "1.2.0",
2275 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
2276 | "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
2277 | "dev": true
2278 | },
2279 | "process-nextick-args": {
2280 | "version": "2.0.1",
2281 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
2282 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
2283 | "dev": true
2284 | },
2285 | "pump": {
2286 | "version": "3.0.0",
2287 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
2288 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
2289 | "dev": true,
2290 | "requires": {
2291 | "end-of-stream": "^1.1.0",
2292 | "once": "^1.3.1"
2293 | }
2294 | },
2295 | "readable-stream": {
2296 | "version": "2.3.7",
2297 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
2298 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
2299 | "dev": true,
2300 | "requires": {
2301 | "core-util-is": "~1.0.0",
2302 | "inherits": "~2.0.3",
2303 | "isarray": "~1.0.0",
2304 | "process-nextick-args": "~2.0.0",
2305 | "safe-buffer": "~5.1.1",
2306 | "string_decoder": "~1.1.1",
2307 | "util-deprecate": "~1.0.1"
2308 | }
2309 | },
2310 | "require-directory": {
2311 | "version": "2.1.1",
2312 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
2313 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
2314 | "dev": true
2315 | },
2316 | "responselike": {
2317 | "version": "2.0.0",
2318 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
2319 | "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
2320 | "dev": true,
2321 | "requires": {
2322 | "lowercase-keys": "^2.0.0"
2323 | }
2324 | },
2325 | "restore-cursor": {
2326 | "version": "3.1.0",
2327 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
2328 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
2329 | "dev": true,
2330 | "requires": {
2331 | "onetime": "^5.1.0",
2332 | "signal-exit": "^3.0.2"
2333 | }
2334 | },
2335 | "rimraf": {
2336 | "version": "3.0.2",
2337 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
2338 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
2339 | "dev": true,
2340 | "requires": {
2341 | "glob": "^7.1.3"
2342 | }
2343 | },
2344 | "run-async": {
2345 | "version": "2.4.1",
2346 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
2347 | "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
2348 | "dev": true
2349 | },
2350 | "rxjs": {
2351 | "version": "6.6.7",
2352 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
2353 | "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
2354 | "dev": true,
2355 | "requires": {
2356 | "tslib": "^1.9.0"
2357 | }
2358 | },
2359 | "safe-buffer": {
2360 | "version": "5.1.2",
2361 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
2362 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
2363 | "dev": true
2364 | },
2365 | "safer-buffer": {
2366 | "version": "2.1.2",
2367 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
2368 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
2369 | "dev": true
2370 | },
2371 | "signal-exit": {
2372 | "version": "3.0.7",
2373 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
2374 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
2375 | "dev": true
2376 | },
2377 | "simple-git": {
2378 | "version": "3.7.1",
2379 | "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.7.1.tgz",
2380 | "integrity": "sha512-+Osjtsumbtew2y9to0pOYjNzSIr4NkKGBg7Po5SUtjQhaJf2QBmiTX/9E9cv9rmc7oUiSGFIB9e7ys5ibnT9+A==",
2381 | "dev": true,
2382 | "requires": {
2383 | "@kwsites/file-exists": "^1.1.1",
2384 | "@kwsites/promise-deferred": "^1.1.1",
2385 | "debug": "^4.3.3"
2386 | },
2387 | "dependencies": {
2388 | "debug": {
2389 | "version": "4.3.4",
2390 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
2391 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
2392 | "dev": true,
2393 | "requires": {
2394 | "ms": "2.1.2"
2395 | }
2396 | },
2397 | "ms": {
2398 | "version": "2.1.2",
2399 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2400 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
2401 | "dev": true
2402 | }
2403 | }
2404 | },
2405 | "sprintf-js": {
2406 | "version": "1.0.3",
2407 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
2408 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
2409 | "dev": true
2410 | },
2411 | "string_decoder": {
2412 | "version": "1.1.1",
2413 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
2414 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
2415 | "dev": true,
2416 | "requires": {
2417 | "safe-buffer": "~5.1.0"
2418 | }
2419 | },
2420 | "string-width": {
2421 | "version": "4.2.3",
2422 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
2423 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
2424 | "dev": true,
2425 | "requires": {
2426 | "emoji-regex": "^8.0.0",
2427 | "is-fullwidth-code-point": "^3.0.0",
2428 | "strip-ansi": "^6.0.1"
2429 | }
2430 | },
2431 | "strip-ansi": {
2432 | "version": "6.0.1",
2433 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
2434 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
2435 | "dev": true,
2436 | "requires": {
2437 | "ansi-regex": "^5.0.1"
2438 | }
2439 | },
2440 | "supports-color": {
2441 | "version": "7.2.0",
2442 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
2443 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
2444 | "dev": true,
2445 | "requires": {
2446 | "has-flag": "^4.0.0"
2447 | }
2448 | },
2449 | "supports-hyperlinks": {
2450 | "version": "2.2.0",
2451 | "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
2452 | "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
2453 | "dev": true,
2454 | "requires": {
2455 | "has-flag": "^4.0.0",
2456 | "supports-color": "^7.0.0"
2457 | }
2458 | },
2459 | "terminal-link": {
2460 | "version": "2.1.1",
2461 | "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
2462 | "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
2463 | "dev": true,
2464 | "requires": {
2465 | "ansi-escapes": "^4.2.1",
2466 | "supports-hyperlinks": "^2.0.0"
2467 | }
2468 | },
2469 | "through": {
2470 | "version": "2.3.8",
2471 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
2472 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
2473 | "dev": true
2474 | },
2475 | "tmp": {
2476 | "version": "0.0.33",
2477 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
2478 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
2479 | "dev": true,
2480 | "requires": {
2481 | "os-tmpdir": "~1.0.2"
2482 | }
2483 | },
2484 | "to-readable-stream": {
2485 | "version": "2.1.0",
2486 | "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz",
2487 | "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==",
2488 | "dev": true
2489 | },
2490 | "tslib": {
2491 | "version": "1.14.1",
2492 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
2493 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
2494 | "dev": true
2495 | },
2496 | "type-fest": {
2497 | "version": "0.10.0",
2498 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.10.0.tgz",
2499 | "integrity": "sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==",
2500 | "dev": true
2501 | },
2502 | "typedarray": {
2503 | "version": "0.0.6",
2504 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
2505 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
2506 | "dev": true
2507 | },
2508 | "util-deprecate": {
2509 | "version": "1.0.2",
2510 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
2511 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
2512 | "dev": true
2513 | },
2514 | "wcwidth": {
2515 | "version": "1.0.1",
2516 | "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
2517 | "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
2518 | "dev": true,
2519 | "requires": {
2520 | "defaults": "^1.0.3"
2521 | }
2522 | },
2523 | "wrap-ansi": {
2524 | "version": "7.0.0",
2525 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
2526 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
2527 | "dev": true,
2528 | "requires": {
2529 | "ansi-styles": "^4.0.0",
2530 | "string-width": "^4.1.0",
2531 | "strip-ansi": "^6.0.0"
2532 | }
2533 | },
2534 | "wrappy": {
2535 | "version": "1.0.2",
2536 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2537 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
2538 | "dev": true
2539 | },
2540 | "y18n": {
2541 | "version": "5.0.8",
2542 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
2543 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
2544 | "dev": true
2545 | },
2546 | "yargs": {
2547 | "version": "17.5.1",
2548 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz",
2549 | "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==",
2550 | "dev": true,
2551 | "requires": {
2552 | "cliui": "^7.0.2",
2553 | "escalade": "^3.1.1",
2554 | "get-caller-file": "^2.0.5",
2555 | "require-directory": "^2.1.1",
2556 | "string-width": "^4.2.3",
2557 | "y18n": "^5.0.5",
2558 | "yargs-parser": "^21.0.0"
2559 | }
2560 | },
2561 | "yargs-parser": {
2562 | "version": "21.0.1",
2563 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
2564 | "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==",
2565 | "dev": true
2566 | },
2567 | "yauzl": {
2568 | "version": "2.10.0",
2569 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
2570 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
2571 | "dev": true,
2572 | "requires": {
2573 | "buffer-crc32": "~0.2.3",
2574 | "fd-slicer": "~1.1.0"
2575 | }
2576 | }
2577 | }
2578 | }
2579 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "theme-directory-environment",
3 | "version": "1.0.0",
4 | "description": "Local development tools for wordpress.org/themes/",
5 | "author": "WordPress.org",
6 | "license": "GPL-2.0-or-later",
7 | "private": true,
8 | "dependencies": {},
9 | "devDependencies": {
10 | "@wordpress/env": "^4.8.0"
11 | },
12 | "scripts": {
13 | "provision": "./provision.sh",
14 | "start": "npm run provision && npm run wp-env start && npm run wp-env run cli wp rewrite structure %postname%",
15 | "wp-env": "wp-env"
16 | },
17 | "repository": {
18 | "type": "git",
19 | "url": "https://github.com/wordpress/theme-directory-env"
20 | },
21 | "bugs": {
22 | "url": "https://github.com/wordpress/theme-directory-env/issues"
23 | },
24 | "homepage": "https://github.com/wordpress/theme-directory-env#readme"
25 | }
26 |
--------------------------------------------------------------------------------
/provision.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # This ideally wouldn't be required, but we need some Git checkouts, and submodules are not quite what we need.
4 |
5 | # We need a checkout of meta
6 | [[ -d meta.git ]] || git clone https://github.com/wordpress/wordpress.org meta.git
7 |
8 | # We need a checkout of theme-check
9 | [[ -d wp-content/plugins/theme-check ]] || git clone https://github.com/wordpress/theme-check wp-content/plugins/theme-check
10 |
11 | # we need the wporg-mu-plugins for headers.
12 | [[ -d wporg-mu-plugins.git ]] || git clone --branch build https://github.com/WordPress/wporg-mu-plugins wporg-mu-plugins.git
13 |
--------------------------------------------------------------------------------
/wp-content/mu-plugins/pub.php:
--------------------------------------------------------------------------------
1 | Provisioning Theme Directory, please wait a few moments...';
14 | ignore_user_abort( true );
15 | wp_ob_end_flush_all();
16 | flush();
17 |
18 | include_once ABSPATH . 'wp-admin/includes/admin.php';
19 |
20 | activate_plugins( [
21 | 'theme-check/theme-check.php',
22 | 'theme-directory/theme-directory.php'
23 | ] );
24 |
25 | update_option( 'posts_per_page', 12 );
26 |
27 | // Initial pages are created by wporg_themes_activate().
28 |
29 | // Add example commercial shops.
30 | if ( ! get_posts( [ 'post_type' => 'theme_shop', 'post_status' => 'any' ] ) ) {
31 | foreach ( [ 'example.com', 'example.net', 'example.org' ] as $shop ) {
32 | wp_insert_post( [
33 | 'post_type' => 'theme_shop',
34 | 'post_status' => 'publish',
35 | 'post_title' => $shop,
36 | 'post_content' => "$shop $shop $shop\nExample Example Example\n$shop $shop $shop",
37 | 'meta_input' => [
38 | 'url' => "https://$shop/",
39 | ],
40 | ] );
41 | }
42 | }
43 |
44 | // Create a default 'wordpressdotorg' user, which is special for the Theme Directory.
45 | if ( ! get_user_by( 'login', 'wordpressdotorg' ) ) {
46 | wp_insert_user( [
47 | 'user_login' => 'wordpressdotorg',
48 | 'user_pass' => 'wordpressdotorg',
49 | 'user_email' => 'wapuu@wordpress.example',
50 | 'role' => 'administrator',
51 | ] );
52 | }
53 |
54 | // Switch to the WordPressdotorg user, as it's needed for adding terms.
55 | $current_user = get_current_user_id();
56 | wp_set_current_user( get_user_by( 'login', 'wordpressdotorg' )->ID );
57 |
58 | // Add the theme directory categories.
59 | if ( ! category_exists( 'special-case-theme' ) ) {
60 | wp_insert_term( 'Special Case Theme', 'category', [
61 | 'slug' => 'special-case-theme',
62 | 'description' => 'Special Case Themes are allowed to bypass theme-check'
63 | ] );
64 | }
65 | if ( ! category_exists( 'featured' ) ) {
66 | wp_insert_term( 'Featured', 'category', [
67 | 'slug' => 'featured',
68 | 'description' => 'Featured "curated" themes. No Upsells or Lite Versions – only 100% Free like WordPress itself.'
69 | ] );
70 | }
71 |
72 | // Create all tags for the directory.
73 | $tags = themes_api( 'hot_tags' );
74 | foreach ( (array) $tags as $tag ) {
75 | if ( ! tag_exists( $tag['slug'] ) ) {
76 | wp_insert_term( $tag['name'], 'post_tag', [
77 | 'slug' => $tag['slug'],
78 | ] );
79 | }
80 | }
81 |
82 | // Reset the current user.
83 | wp_set_current_user( $current_user );
84 |
85 | // Import the default themes.
86 | $default_themes = [
87 | 'default',
88 | 'classic',
89 | 'twentyten',
90 | 'twentyeleven',
91 | 'twentytwelve',
92 | 'twentythirteen',
93 | 'twentyfourteen',
94 | 'twentyfifteen',
95 | 'twentysixteen',
96 | 'twentyseventeen',
97 | 'twentynineteen',
98 | 'twentytwenty',
99 | 'twentytwentyone',
100 | ];
101 | foreach ( $default_themes as $theme ) {
102 | import_theme_from_wporg( $theme );
103 | }
104 |
105 | update_site_option( 'initial_setup', 3 );
106 |
107 | // Hide the provisioning message.
108 | echo '';
109 | }
110 |
111 | } );
112 |
113 | function import_theme_from_wporg( $theme_slug ) {
114 | // Copied mostly from WPORG_Themes_Upload::create_or_update_theme_post()
115 | // TODO: Rewrite the Theme Directory to have this as a callable function.
116 |
117 | $args = [
118 | 'action' => 'theme_information',
119 | 'request' => [
120 | 'slug' => $theme_slug,
121 | 'fields' => [
122 | 'description' => true,
123 | 'downloaded' => true,
124 | 'ratings' => true,
125 | 'template' => true,
126 | 'theme_url' => true,
127 | 'active_installs' => true,
128 | ]
129 | ]
130 | ];
131 |
132 | // Query API directly rather than through themes_api() for reasons that will be clear later.
133 | $url = add_query_arg( $args, 'https://api.wordpress.org/themes/info/1.2/' );
134 |
135 | $theme = json_decode( file_get_contents( $url ) );
136 |
137 | $post_id = get_posts( [
138 | 'post_type' => 'repopackage',
139 | 'name' => $theme_slug,
140 | 'post_status' => 'any'
141 | ] );
142 | $post_id = $post_id ? $post_id[0]->ID : null;
143 |
144 | $post_id = wp_insert_post( array(
145 | 'ID' => $post_id,
146 | 'post_title' => $theme->name,
147 | 'post_name' => $theme_slug,
148 | 'post_content' => $theme->sections->description,
149 | 'post_parent' => 0,
150 | 'post_author' => 1,
151 | 'post_date' => $theme->creation_time,
152 | 'post_date_gmt' => $theme->creation_time,
153 | 'post_modified' => $theme->last_updated_time,
154 | 'post_modified_gmt' => $theme->last_updated_time,
155 | 'comment_status' => 'closed',
156 | 'ping_status' => 'closed',
157 | 'post_type' => 'repopackage',
158 | 'post_status' => 'publish',
159 | 'tags_input' => array_keys( (array) $theme->tags ),
160 | ) );
161 |
162 | // Finally, add post meta.
163 | $prefixed_post_meta = [
164 | '_theme_url' => $theme->theme_url,
165 | '_author' => $theme->author->author ?: $theme->author->display_name,
166 | '_author_url' => $theme->author->author_url ?: $theme->author->profile,
167 | '_requires' => $theme->requires,
168 | '_requires_php' => $theme->requires_php,
169 | '_upload_date' => $theme->last_updated,
170 | '_ticket_id' => 0,
171 | '_screenshot' => basename( parse_url ( $theme->screenshot_url, PHP_URL_PATH ) ),
172 | // TODO: These fields aren't exposed by the API.
173 | '_tested' => '',
174 | '_contributors' => '',
175 | '_license' => '',
176 | '_license_uri' => '',
177 | ];
178 | $post_meta = [
179 | '_active_installs' => $theme->active_installs,
180 | '_downloads' => $theme->downloaded,
181 | '_popularity' => 1 / rand( 1, 1000 ), // TODO: actually calculate this field.
182 |
183 | // for data shimming below.
184 | 'downloads' => (int) $theme->downloaded,
185 | 'rating' => (int) $theme->rating / 20, // convert % => 0-5
186 | 'ratings' => (array) $theme->ratings,
187 | 'num_ratings' => (int) $theme->num_ratings,
188 | ];
189 |
190 | foreach ( $prefixed_post_meta as $meta_key => $meta_value ) {
191 | $meta_data = array_filter( (array) get_post_meta( $post_id, $meta_key, true ) );
192 | $meta_data[ $theme->version ] = $meta_value;
193 | update_post_meta( $post_id, $meta_key, $meta_data );
194 | }
195 | foreach ( $post_meta as $meta_key => $meta_value ) {
196 | update_post_meta( $post_id, $meta_key, $meta_value );
197 | }
198 |
199 | wporg_themes_update_version_status( $post_id, $theme->version, 'live' );
200 | }
201 |
202 | // Shim the ratings.
203 | class WPORG_Ratings {
204 | static function get_rating_counts( $type, $theme ) {
205 | return get_posts( 'post_type=repopackage&post_status=any&name=' . $theme )[0]->ratings ?? [];
206 | }
207 | static function get_avg_rating( $type, $theme ) {
208 | return get_posts( 'post_type=repopackage&post_status=any&name=' . $theme )[0]->rating ?? 0;
209 | }
210 | static function get_rating_count( $type, $theme ) {
211 | return get_posts( 'post_type=repopackage&post_status=any&name=' . $theme )[0]->num_ratings ?? 0;
212 | }
213 | }
214 |
215 | // Shim the download counts.
216 | add_filter( 'query', function( $query ) {
217 | global $wpdb;
218 | if ( preg_match( '!^SELECT.+FROM bb_themes_stats WHERE slug = (.+)$!i', $query, $m ) ) {
219 | $theme = trim( $m[1], '\'" ' );
220 |
221 | $count = get_posts( 'post_type=repopackage&post_status=any&name=' . $theme )[0]->downloads ?? 0;
222 |
223 | $query = $wpdb->prepare( "SELECT %d", $count );
224 | }
225 |
226 | return $query;
227 | } );
228 |
--------------------------------------------------------------------------------
/wp-content/mu-plugins/wordpressorg.php:
--------------------------------------------------------------------------------
1 |