aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Markus Hatvan <markus_hatvan@aon.at>2021-09-08 10:33:47 +0200
committerLibravatar GitHub <noreply@github.com>2021-09-08 10:33:47 +0200
commitb94c29c9890c46bb6388d53bc549cc24f19f0649 (patch)
treeed38a70538414db7e8f6091d6ce5b85e50728354
parentRemove dependency on 'require' of 'electron' and 'electron/remote' modules. (diff)
downloadferdium-recipes-b94c29c9890c46bb6388d53bc549cc24f19f0649.tar.gz
ferdium-recipes-b94c29c9890c46bb6388d53bc549cc24f19f0649.tar.zst
ferdium-recipes-b94c29c9890c46bb6388d53bc549cc24f19f0649.zip
build: migrate from npm to pnpm (#603)
-rw-r--r--.devcontainer/Dockerfile2
-rw-r--r--.devcontainer/devcontainer.json2
-rw-r--r--.github/PULL_REQUEST_TEMPLATE/add_recipe.md4
-rw-r--r--.github/workflows/ferdi-builds.yml23
-rw-r--r--.gitignore3
-rwxr-xr-x.husky/pre-commit2
-rw-r--r--.prettierrc.js5
-rw-r--r--docs/integration.md63
-rw-r--r--package-lock.json1491
-rw-r--r--package.json2
-rw-r--r--pnpm-lock.yaml1171
-rw-r--r--scripts/create.js24
12 files changed, 1245 insertions, 1547 deletions
diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index 048cebe..6b5afd0 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -13,4 +13,4 @@ FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-${VARIANT}
13# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}" 13# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}"
14 14
15# [Optional] Uncomment if you want to install more global node modules 15# [Optional] Uncomment if you want to install more global node modules
16# RUN su node -c "npm install -g <your-package-list-here>" 16# RUN su node -c "pnpm install -g <your-package-list-here>"
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index d45d3cd..6c5d932 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -20,7 +20,7 @@
20 // "forwardPorts": [], 20 // "forwardPorts": [],
21 21
22 // Use 'postCreateCommand' to run commands after the container is created. 22 // Use 'postCreateCommand' to run commands after the container is created.
23 // "postCreateCommand": "npm install", 23 // "postCreateCommand": "pnpm install",
24 24
25 // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. 25 // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
26 "remoteUser": "node" 26 "remoteUser": "node"
diff --git a/.github/PULL_REQUEST_TEMPLATE/add_recipe.md b/.github/PULL_REQUEST_TEMPLATE/add_recipe.md
index dc66eeb..1dd0379 100644
--- a/.github/PULL_REQUEST_TEMPLATE/add_recipe.md
+++ b/.github/PULL_REQUEST_TEMPLATE/add_recipe.md
@@ -18,9 +18,11 @@ Service ID: [What ID does your recipe use?]
18``` 18```
19 19
20### Additional information 20### Additional information
21
21<!-- Please also accept the following checkboxes --> 22<!-- Please also accept the following checkboxes -->
23
22- [ ] I am the original creator of this package 24- [ ] I am the original creator of this package
23- [ ] I have run the `npm run package` and verified that there are no validation errors reported for this package 25- [ ] I have run the `pnpm run package` and verified that there are no validation errors reported for this package
24- [ ] My recipe has been tested to work inside Ferdi 26- [ ] My recipe has been tested to work inside Ferdi
25 27
26<!-- Here you can write anything else you want to tell us. --> 28<!-- Here you can write anything else you want to tell us. -->
diff --git a/.github/workflows/ferdi-builds.yml b/.github/workflows/ferdi-builds.yml
index 94d09d0..b6bd703 100644
--- a/.github/workflows/ferdi-builds.yml
+++ b/.github/workflows/ferdi-builds.yml
@@ -2,11 +2,11 @@
2# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions 2# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3 3
4# Note: This workflow requires some secrets setup, and set on this repo with the names: 4# Note: This workflow requires some secrets setup, and set on this repo with the names:
5 # 'FERDI_PUBLISH_TOKEN' (A GitHub Personal Access Token with appropriate permissions - for publishing the built artifacts) 5# 'FERDI_PUBLISH_TOKEN' (A GitHub Personal Access Token with appropriate permissions - for publishing the built artifacts)
6 # 'APPLEID' (The username of your Apple developer account - for notarizing the mac artifacts) 6# 'APPLEID' (The username of your Apple developer account - for notarizing the mac artifacts)
7 # 'APPLEID_PASSWORD' (An app-specific password - for notarizing the mac artifacts) 7# 'APPLEID_PASSWORD' (An app-specific password - for notarizing the mac artifacts)
8 # 'CSC_LINK' (The HTTPS link or local path to certificate - for code signing of mac and windows artifacts) 8# 'CSC_LINK' (The HTTPS link or local path to certificate - for code signing of mac and windows artifacts)
9 # 'CSC_KEY_PASSWORD' (The password to decrypt the certificate given in CSC_LINK - for code signing of mac and windows artifacts) 9# 'CSC_KEY_PASSWORD' (The password to decrypt the certificate given in CSC_LINK - for code signing of mac and windows artifacts)
10 10
11name: Ferdi Recipes Builds 11name: Ferdi Recipes Builds
12 12
@@ -32,7 +32,7 @@ jobs:
32 - name: Print latest commit 32 - name: Print latest commit
33 run: echo ${{ github.sha }} 33 run: echo ${{ github.sha }}
34 - name: Set env vars 34 - name: Set env vars
35 run: echo "NPM_CACHE=$HOME/.npm" >> $GITHUB_ENV 35 run: echo "PNPM_CACHE=$HOME/.pnpm-store" >> $GITHUB_ENV
36 - name: Checkout code 36 - name: Checkout code
37 uses: actions/checkout@v2 37 uses: actions/checkout@v2
38 - name: Cache node modules 38 - name: Cache node modules
@@ -40,8 +40,8 @@ jobs:
40 env: 40 env:
41 cache-name: cache-node-modules 41 cache-name: cache-node-modules
42 with: 42 with:
43 path: ${{ env.NPM_CACHE }} 43 path: ${{ env.PNPM_CACHE }}
44 key: build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} 44 key: build-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }}
45 restore-keys: | 45 restore-keys: |
46 build-${{ env.cache-name }}- 46 build-${{ env.cache-name }}-
47 build- 47 build-
@@ -49,5 +49,10 @@ jobs:
49 uses: actions/setup-node@v2 49 uses: actions/setup-node@v2
50 with: 50 with:
51 node-version: 14.17.6 51 node-version: 14.17.6
52 - name: Install pnpm
53 uses: pnpm/action-setup@v2.0.1
54 with:
55 version: 6.14.2
56 run_install: true
52 - name: Install node dependencies recursively 57 - name: Install node dependencies recursively
53 run: npm i && npm run package 58 run: pnpm i && pnpm run package
diff --git a/.gitignore b/.gitignore
index b511a9a..821e4c7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,7 +3,8 @@
3node_modules 3node_modules
4archives/ 4archives/
5yarn-error.log 5yarn-error.log
6npm-debug.log* 6npm-debug.log
7.pnpm-debug.log
7lerna-debug.log 8lerna-debug.log
8server*.log 9server*.log
9*.png 10*.png
diff --git a/.husky/pre-commit b/.husky/pre-commit
index 1ecae40..8c6711a 100755
--- a/.husky/pre-commit
+++ b/.husky/pre-commit
@@ -1,4 +1,4 @@
1#!/bin/sh 1#!/bin/sh
2. "$(dirname "$0")/_/husky.sh" 2. "$(dirname "$0")/_/husky.sh"
3 3
4npm run lint && npm run reformat-files && npm run package 4pnpm run lint && pnpm run reformat-files && pnpm run package
diff --git a/.prettierrc.js b/.prettierrc.js
new file mode 100644
index 0000000..6a0a094
--- /dev/null
+++ b/.prettierrc.js
@@ -0,0 +1,5 @@
1module.exports = {
2 singleQuote: true,
3 arrowParens: 'avoid',
4 trailingComma: 'all',
5};
diff --git a/docs/integration.md b/docs/integration.md
index 769bde7..38a5a32 100644
--- a/docs/integration.md
+++ b/docs/integration.md
@@ -38,30 +38,28 @@ We have also created a nice script that already does 50% of the work for you - y
383. (Optional, if you want to use our creation script) Install its dependencies via the terminal: 383. (Optional, if you want to use our creation script) Install its dependencies via the terminal:
39 39
40```Bash 40```Bash
41npm install 41pnpm install
42``` 42```
43 43
444. You can now run our automatic recipe wizard that creates and opens the new recipe for you: 444. You can now run our automatic recipe wizard that creates and opens the new recipe for you:
45 45
46```Bash 46```Bash
47# Make sure you are still in the repository's folder 47# Make sure you are still in the repository's folder
48npm run create "Service Name" 48pnpm run create "Service Name"
49``` 49```
50 50
51Replace `Service Name` with the name of your service, e.g. `npm run create "Google Hangouts"`. 51Replace `Service Name` with the name of your service, e.g. `pnpm run create "Google Hangouts"`.
52This command will automatically create the development recipe in the correct folder, prepares it for your service and opens the new recipe in your file explorer or Finder. 52This command will automatically create the development recipe in the correct folder, prepares it for your service and opens the new recipe in your file explorer or Finder. 5. Reload Ferdi (`CMD/CTRL + SHIFT + R`) in order for it to register the new recipe 6. You can now develop your recipe as described below. Please continue down below with "[Publishing](#Publishing)" after you are done creating your recipe.
535. Reload Ferdi (`CMD/CTRL + SHIFT + R`) in order for it to register the new recipe
546. You can now develop your recipe as described below. Please continue down below with "[Publishing](#Publishing)" after you are done creating your recipe.
55 53
56## Recipe structure 54## Recipe structure
57 55
58Every recipe needs a specific file structure in order to work as a Ferdi recipe 56Every recipe needs a specific file structure in order to work as a Ferdi recipe
59 57
60* icon.svg - Icon for the service in SVG form (must be square) 58- icon.svg - Icon for the service in SVG form (must be square)
61* index.js - Backend script, this script is NOT included in the service webview but only in Ferdi itself 59- index.js - Backend script, this script is NOT included in the service webview but only in Ferdi itself
62* package.json - Information about the recipe 60- package.json - Information about the recipe
63* webview.js - Frontend script, this script is injected into the service itself but still has access to all NodeJS APIs 61- webview.js - Frontend script, this script is injected into the service itself but still has access to all NodeJS APIs
64* darkmode.css - CSS File that gets included when dark mode is activated 62- darkmode.css - CSS File that gets included when dark mode is activated
65 63
66### package.json 64### package.json
67 65
@@ -89,32 +87,33 @@ Please note that the fields `id`, `name`, `version` and `config` are mandatory.
89This is your "backend" code. Right now the options are very limited and most of the services don't need a custom handling here. If your service is relatively straight forward and has a static URL eg. _messenger.com_, _`[TEAMID]`.slack.com_ or _web.skype.com_ all you need to do to return the Ferdi Class: 87This is your "backend" code. Right now the options are very limited and most of the services don't need a custom handling here. If your service is relatively straight forward and has a static URL eg. _messenger.com_, _`[TEAMID]`.slack.com_ or _web.skype.com_ all you need to do to return the Ferdi Class:
90 88
91```js 89```js
92module.exports = Ferdi => Ferdi; 90module.exports = (Ferdi) => Ferdi;
93``` 91```
94 92
95If your service can be hosted on custom servers, you can validate the given URL to detect if it's your server and not e.g. google.com. To enable validation you can override the function `validateServer` 93If your service can be hosted on custom servers, you can validate the given URL to detect if it's your server and not e.g. google.com. To enable validation you can override the function `validateServer`
96 94
97```js 95```js
98// RocketChat integration 96// RocketChat integration
99module.exports = Ferdi => class RocketChat extends Ferdi { 97module.exports = (Ferdi) =>
100 async validateUrl(url) { 98 class RocketChat extends Ferdi {
101 try { 99 async validateUrl(url) {
102 const resp = await window.fetch(`${url}/api/info`, { 100 try {
103 method: 'GET', 101 const resp = await window.fetch(`${url}/api/info`, {
104 headers: { 102 method: "GET",
105 'Content-Type': 'application/json', 103 headers: {
106 }, 104 "Content-Type": "application/json",
107 }); 105 },
108 const data = await resp.json(); 106 });
109 107 const data = await resp.json();
110 return Object.hasOwnProperty.call(data, 'version'); 108
111 } catch (err) { 109 return Object.hasOwnProperty.call(data, "version");
112 console.error(err); 110 } catch (err) {
111 console.error(err);
112 }
113
114 return false;
113 } 115 }
114 116 };
115 return false;
116 }
117};
118``` 117```
119 118
120`validateServer` needs to return a [`Promise`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise), otherwise validation will fail. 119`validateServer` needs to return a [`Promise`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise), otherwise validation will fail.
@@ -156,7 +155,7 @@ module.exports = (Ferdi) => {
156 function getMessages() { 155 function getMessages() {
157 let direct = 0; 156 let direct = 0;
158 let indirect = 0; 157 let indirect = 0;
159 const FerdiData = document.querySelector('#FerdiMessages').dataset; 158 const FerdiData = document.querySelector("#FerdiMessages").dataset;
160 if (FerdiData) { 159 if (FerdiData) {
161 direct = FerdiData.direct; 160 direct = FerdiData.direct;
162 indirect = FerdiData.indirect; 161 indirect = FerdiData.indirect;
@@ -166,7 +165,7 @@ module.exports = (Ferdi) => {
166 } 165 }
167 166
168 Ferdi.loop(getMessages); 167 Ferdi.loop(getMessages);
169} 168};
170``` 169```
171 170
172To get more information about the provided functions, check the [API docs](frontend_api.md). 171To get more information about the provided functions, check the [API docs](frontend_api.md).
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index 0c2ffee..0000000
--- a/package-lock.json
+++ /dev/null
@@ -1,1491 +0,0 @@
1{
2 "name": "ferdi-recipes",
3 "version": "1.0.0",
4 "lockfileVersion": 1,
5 "requires": true,
6 "dependencies": {
7 "@babel/code-frame": {
8 "version": "7.14.5",
9 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz",
10 "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==",
11 "dev": true,
12 "requires": {
13 "@babel/highlight": "^7.14.5"
14 }
15 },
16 "@babel/generator": {
17 "version": "7.14.8",
18 "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.8.tgz",
19 "integrity": "sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg==",
20 "dev": true,
21 "requires": {
22 "@babel/types": "^7.14.8",
23 "jsesc": "^2.5.1",
24 "source-map": "^0.5.0"
25 }
26 },
27 "@babel/helper-function-name": {
28 "version": "7.14.5",
29 "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz",
30 "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==",
31 "dev": true,
32 "requires": {
33 "@babel/helper-get-function-arity": "^7.14.5",
34 "@babel/template": "^7.14.5",
35 "@babel/types": "^7.14.5"
36 }
37 },
38 "@babel/helper-get-function-arity": {
39 "version": "7.14.5",
40 "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz",
41 "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==",
42 "dev": true,
43 "requires": {
44 "@babel/types": "^7.14.5"
45 }
46 },
47 "@babel/helper-hoist-variables": {
48 "version": "7.14.5",
49 "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz",
50 "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==",
51 "dev": true,
52 "requires": {
53 "@babel/types": "^7.14.5"
54 }
55 },
56 "@babel/helper-split-export-declaration": {
57 "version": "7.14.5",
58 "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz",
59 "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==",
60 "dev": true,
61 "requires": {
62 "@babel/types": "^7.14.5"
63 }
64 },
65 "@babel/helper-validator-identifier": {
66 "version": "7.14.8",
67 "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
68 "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
69 "dev": true
70 },
71 "@babel/highlight": {
72 "version": "7.14.5",
73 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz",
74 "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==",
75 "dev": true,
76 "requires": {
77 "@babel/helper-validator-identifier": "^7.14.5",
78 "chalk": "^2.0.0",
79 "js-tokens": "^4.0.0"
80 }
81 },
82 "@babel/parser": {
83 "version": "7.14.8",
84 "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.8.tgz",
85 "integrity": "sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA==",
86 "dev": true
87 },
88 "@babel/template": {
89 "version": "7.14.5",
90 "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz",
91 "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==",
92 "dev": true,
93 "requires": {
94 "@babel/code-frame": "^7.14.5",
95 "@babel/parser": "^7.14.5",
96 "@babel/types": "^7.14.5"
97 }
98 },
99 "@babel/traverse": {
100 "version": "7.14.8",
101 "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.8.tgz",
102 "integrity": "sha512-kexHhzCljJcFNn1KYAQ6A5wxMRzq9ebYpEDV4+WdNyr3i7O44tanbDOR/xjiG2F3sllan+LgwK+7OMk0EmydHg==",
103 "dev": true,
104 "requires": {
105 "@babel/code-frame": "^7.14.5",
106 "@babel/generator": "^7.14.8",
107 "@babel/helper-function-name": "^7.14.5",
108 "@babel/helper-hoist-variables": "^7.14.5",
109 "@babel/helper-split-export-declaration": "^7.14.5",
110 "@babel/parser": "^7.14.8",
111 "@babel/types": "^7.14.8",
112 "debug": "^4.1.0",
113 "globals": "^11.1.0"
114 }
115 },
116 "@babel/types": {
117 "version": "7.14.8",
118 "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz",
119 "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==",
120 "dev": true,
121 "requires": {
122 "@babel/helper-validator-identifier": "^7.14.8",
123 "to-fast-properties": "^2.0.0"
124 }
125 },
126 "@kwsites/file-exists": {
127 "version": "1.1.1",
128 "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz",
129 "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==",
130 "dev": true,
131 "requires": {
132 "debug": "^4.1.1"
133 }
134 },
135 "@kwsites/promise-deferred": {
136 "version": "1.1.1",
137 "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz",
138 "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==",
139 "dev": true
140 },
141 "@types/node": {
142 "version": "16.6.1",
143 "resolved": "https://registry.npmjs.org/@types/node/-/node-16.6.1.tgz",
144 "integrity": "sha512-Sr7BhXEAer9xyGuCN3Ek9eg9xPviCF2gfu9kTfuU2HkTVAMYSDeX40fvpmo72n5nansg3nsBjuQBrsS28r+NUw==",
145 "dev": true
146 },
147 "@types/tar-fs": {
148 "version": "2.0.1",
149 "resolved": "https://registry.npmjs.org/@types/tar-fs/-/tar-fs-2.0.1.tgz",
150 "integrity": "sha512-qlsQyIY9sN7p221xHuXKNoMfUenOcvEBN4zI8dGsYbYCqHtTarXOEXSIgUnK+GcR0fZDse6pAIc5pIrCh9NefQ==",
151 "dev": true,
152 "requires": {
153 "@types/node": "*",
154 "@types/tar-stream": "*"
155 }
156 },
157 "@types/tar-stream": {
158 "version": "2.2.1",
159 "resolved": "https://registry.npmjs.org/@types/tar-stream/-/tar-stream-2.2.1.tgz",
160 "integrity": "sha512-zhcfACZ4HavArMutfAB1/ApfSx44kNF2zyytU4mbO1dGCT/y9kL2IZwRDRyYYtBUxW6LRparZpLoX8i67b6IZw==",
161 "dev": true,
162 "requires": {
163 "@types/node": "*"
164 }
165 },
166 "@types/targz": {
167 "version": "1.0.1",
168 "resolved": "https://registry.npmjs.org/@types/targz/-/targz-1.0.1.tgz",
169 "integrity": "sha512-Uf5QxuLICkVOmSyDhPicBpIXk2oLIqaldObfr/WsTKTAPk666OpbeL0wZuNXwc5yg9OH1cBVj1rpMHGBJe4ilg==",
170 "dev": true,
171 "requires": {
172 "@types/tar-fs": "*"
173 }
174 },
175 "acorn": {
176 "version": "6.4.2",
177 "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
178 "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
179 "dev": true
180 },
181 "acorn-jsx": {
182 "version": "5.3.2",
183 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
184 "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
185 "dev": true
186 },
187 "ajv": {
188 "version": "6.12.6",
189 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
190 "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
191 "dev": true,
192 "requires": {
193 "fast-deep-equal": "^3.1.1",
194 "fast-json-stable-stringify": "^2.0.0",
195 "json-schema-traverse": "^0.4.1",
196 "uri-js": "^4.2.2"
197 }
198 },
199 "ansi-escapes": {
200 "version": "3.2.0",
201 "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
202 "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
203 "dev": true
204 },
205 "ansi-regex": {
206 "version": "3.0.0",
207 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
208 "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
209 "dev": true
210 },
211 "ansi-styles": {
212 "version": "3.2.1",
213 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
214 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
215 "dev": true,
216 "requires": {
217 "color-convert": "^1.9.0"
218 }
219 },
220 "argparse": {
221 "version": "1.0.10",
222 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
223 "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
224 "dev": true,
225 "requires": {
226 "sprintf-js": "~1.0.2"
227 }
228 },
229 "astral-regex": {
230 "version": "1.0.0",
231 "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
232 "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
233 "dev": true
234 },
235 "babel-eslint": {
236 "version": "10.0.3",
237 "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz",
238 "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==",
239 "dev": true,
240 "requires": {
241 "@babel/code-frame": "^7.0.0",
242 "@babel/parser": "^7.0.0",
243 "@babel/traverse": "^7.0.0",
244 "@babel/types": "^7.0.0",
245 "eslint-visitor-keys": "^1.0.0",
246 "resolve": "^1.12.0"
247 }
248 },
249 "balanced-match": {
250 "version": "1.0.2",
251 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
252 "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
253 "dev": true
254 },
255 "bl": {
256 "version": "1.2.3",
257 "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz",
258 "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==",
259 "dev": true,
260 "requires": {
261 "readable-stream": "^2.3.5",
262 "safe-buffer": "^5.1.1"
263 }
264 },
265 "brace-expansion": {
266 "version": "1.1.11",
267 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
268 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
269 "dev": true,
270 "requires": {
271 "balanced-match": "^1.0.0",
272 "concat-map": "0.0.1"
273 }
274 },
275 "buffer-alloc": {
276 "version": "1.2.0",
277 "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
278 "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
279 "dev": true,
280 "requires": {
281 "buffer-alloc-unsafe": "^1.1.0",
282 "buffer-fill": "^1.0.0"
283 }
284 },
285 "buffer-alloc-unsafe": {
286 "version": "1.1.0",
287 "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
288 "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
289 "dev": true
290 },
291 "buffer-fill": {
292 "version": "1.0.0",
293 "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
294 "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
295 "dev": true
296 },
297 "caller-path": {
298 "version": "0.1.0",
299 "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
300 "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
301 "dev": true,
302 "requires": {
303 "callsites": "^0.2.0"
304 }
305 },
306 "callsites": {
307 "version": "0.2.0",
308 "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
309 "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
310 "dev": true
311 },
312 "chalk": {
313 "version": "2.4.2",
314 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
315 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
316 "dev": true,
317 "requires": {
318 "ansi-styles": "^3.2.1",
319 "escape-string-regexp": "^1.0.5",
320 "supports-color": "^5.3.0"
321 }
322 },
323 "chardet": {
324 "version": "0.7.0",
325 "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
326 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
327 "dev": true
328 },
329 "chownr": {
330 "version": "1.1.4",
331 "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
332 "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
333 "dev": true
334 },
335 "circular-json": {
336 "version": "0.3.3",
337 "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
338 "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
339 "dev": true
340 },
341 "cli-cursor": {
342 "version": "2.1.0",
343 "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
344 "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
345 "dev": true,
346 "requires": {
347 "restore-cursor": "^2.0.0"
348 }
349 },
350 "cli-width": {
351 "version": "2.2.1",
352 "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
353 "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
354 "dev": true
355 },
356 "color-convert": {
357 "version": "1.9.3",
358 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
359 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
360 "dev": true,
361 "requires": {
362 "color-name": "1.1.3"
363 }
364 },
365 "color-name": {
366 "version": "1.1.3",
367 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
368 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
369 "dev": true
370 },
371 "concat-map": {
372 "version": "0.0.1",
373 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
374 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
375 "dev": true
376 },
377 "core-util-is": {
378 "version": "1.0.2",
379 "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
380 "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
381 "dev": true
382 },
383 "cross-spawn": {
384 "version": "6.0.5",
385 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
386 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
387 "dev": true,
388 "requires": {
389 "nice-try": "^1.0.4",
390 "path-key": "^2.0.1",
391 "semver": "^5.5.0",
392 "shebang-command": "^1.2.0",
393 "which": "^1.2.9"
394 }
395 },
396 "debug": {
397 "version": "4.3.2",
398 "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
399 "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
400 "dev": true,
401 "requires": {
402 "ms": "2.1.2"
403 }
404 },
405 "deep-is": {
406 "version": "0.1.3",
407 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
408 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
409 "dev": true
410 },
411 "define-lazy-prop": {
412 "version": "2.0.0",
413 "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
414 "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
415 "dev": true
416 },
417 "doctrine": {
418 "version": "2.1.0",
419 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
420 "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
421 "dev": true,
422 "requires": {
423 "esutils": "^2.0.2"
424 }
425 },
426 "emoji-regex": {
427 "version": "7.0.3",
428 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
429 "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
430 "dev": true
431 },
432 "end-of-stream": {
433 "version": "1.4.4",
434 "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
435 "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
436 "dev": true,
437 "requires": {
438 "once": "^1.4.0"
439 }
440 },
441 "escape-string-regexp": {
442 "version": "1.0.5",
443 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
444 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
445 "dev": true
446 },
447 "eslint": {
448 "version": "5.10.0",
449 "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.10.0.tgz",
450 "integrity": "sha512-HpqzC+BHULKlnPwWae9MaVZ5AXJKpkxCVXQHrFaRw3hbDj26V/9ArYM4Rr/SQ8pi6qUPLXSSXC4RBJlyq2Z2OQ==",
451 "dev": true,
452 "requires": {
453 "@babel/code-frame": "^7.0.0",
454 "ajv": "^6.5.3",
455 "chalk": "^2.1.0",
456 "cross-spawn": "^6.0.5",
457 "debug": "^4.0.1",
458 "doctrine": "^2.1.0",
459 "eslint-scope": "^4.0.0",
460 "eslint-utils": "^1.3.1",
461 "eslint-visitor-keys": "^1.0.0",
462 "espree": "^5.0.0",
463 "esquery": "^1.0.1",
464 "esutils": "^2.0.2",
465 "file-entry-cache": "^2.0.0",
466 "functional-red-black-tree": "^1.0.1",
467 "glob": "^7.1.2",
468 "globals": "^11.7.0",
469 "ignore": "^4.0.6",
470 "imurmurhash": "^0.1.4",
471 "inquirer": "^6.1.0",
472 "js-yaml": "^3.12.0",
473 "json-stable-stringify-without-jsonify": "^1.0.1",
474 "levn": "^0.3.0",
475 "lodash": "^4.17.5",
476 "minimatch": "^3.0.4",
477 "mkdirp": "^0.5.1",
478 "natural-compare": "^1.4.0",
479 "optionator": "^0.8.2",
480 "path-is-inside": "^1.0.2",
481 "pluralize": "^7.0.0",
482 "progress": "^2.0.0",
483 "regexpp": "^2.0.1",
484 "require-uncached": "^1.0.3",
485 "semver": "^5.5.1",
486 "strip-ansi": "^4.0.0",
487 "strip-json-comments": "^2.0.1",
488 "table": "^5.0.2",
489 "text-table": "^0.2.0"
490 }
491 },
492 "eslint-scope": {
493 "version": "4.0.3",
494 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
495 "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
496 "dev": true,
497 "requires": {
498 "esrecurse": "^4.1.0",
499 "estraverse": "^4.1.1"
500 }
501 },
502 "eslint-utils": {
503 "version": "1.4.3",
504 "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
505 "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
506 "dev": true,
507 "requires": {
508 "eslint-visitor-keys": "^1.1.0"
509 }
510 },
511 "eslint-visitor-keys": {
512 "version": "1.3.0",
513 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
514 "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
515 "dev": true
516 },
517 "espree": {
518 "version": "5.0.1",
519 "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz",
520 "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==",
521 "dev": true,
522 "requires": {
523 "acorn": "^6.0.7",
524 "acorn-jsx": "^5.0.0",
525 "eslint-visitor-keys": "^1.0.0"
526 }
527 },
528 "esprima": {
529 "version": "4.0.1",
530 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
531 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
532 "dev": true
533 },
534 "esquery": {
535 "version": "1.4.0",
536 "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
537 "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
538 "dev": true,
539 "requires": {
540 "estraverse": "^5.1.0"
541 },
542 "dependencies": {
543 "estraverse": {
544 "version": "5.2.0",
545 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
546 "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
547 "dev": true
548 }
549 }
550 },
551 "esrecurse": {
552 "version": "4.3.0",
553 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
554 "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
555 "dev": true,
556 "requires": {
557 "estraverse": "^5.2.0"
558 },
559 "dependencies": {
560 "estraverse": {
561 "version": "5.2.0",
562 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
563 "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
564 "dev": true
565 }
566 }
567 },
568 "estraverse": {
569 "version": "4.3.0",
570 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
571 "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
572 "dev": true
573 },
574 "esutils": {
575 "version": "2.0.3",
576 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
577 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
578 "dev": true
579 },
580 "external-editor": {
581 "version": "3.1.0",
582 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
583 "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
584 "dev": true,
585 "requires": {
586 "chardet": "^0.7.0",
587 "iconv-lite": "^0.4.24",
588 "tmp": "^0.0.33"
589 }
590 },
591 "fast-deep-equal": {
592 "version": "3.1.3",
593 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
594 "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
595 "dev": true
596 },
597 "fast-json-stable-stringify": {
598 "version": "2.1.0",
599 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
600 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
601 "dev": true
602 },
603 "fast-levenshtein": {
604 "version": "2.0.6",
605 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
606 "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
607 "dev": true
608 },
609 "figures": {
610 "version": "2.0.0",
611 "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
612 "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
613 "dev": true,
614 "requires": {
615 "escape-string-regexp": "^1.0.5"
616 }
617 },
618 "file-entry-cache": {
619 "version": "2.0.0",
620 "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
621 "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
622 "dev": true,
623 "requires": {
624 "flat-cache": "^1.2.1",
625 "object-assign": "^4.0.1"
626 }
627 },
628 "flat-cache": {
629 "version": "1.3.4",
630 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz",
631 "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==",
632 "dev": true,
633 "requires": {
634 "circular-json": "^0.3.1",
635 "graceful-fs": "^4.1.2",
636 "rimraf": "~2.6.2",
637 "write": "^0.2.1"
638 }
639 },
640 "fs-constants": {
641 "version": "1.0.0",
642 "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
643 "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
644 "dev": true
645 },
646 "fs-extra": {
647 "version": "10.0.0",
648 "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
649 "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
650 "dev": true,
651 "requires": {
652 "graceful-fs": "^4.2.0",
653 "jsonfile": "^6.0.1",
654 "universalify": "^2.0.0"
655 }
656 },
657 "fs.realpath": {
658 "version": "1.0.0",
659 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
660 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
661 "dev": true
662 },
663 "function-bind": {
664 "version": "1.1.1",
665 "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
666 "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
667 "dev": true
668 },
669 "functional-red-black-tree": {
670 "version": "1.0.1",
671 "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
672 "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
673 "dev": true
674 },
675 "glob": {
676 "version": "7.1.7",
677 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
678 "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
679 "dev": true,
680 "requires": {
681 "fs.realpath": "^1.0.0",
682 "inflight": "^1.0.4",
683 "inherits": "2",
684 "minimatch": "^3.0.4",
685 "once": "^1.3.0",
686 "path-is-absolute": "^1.0.0"
687 }
688 },
689 "globals": {
690 "version": "11.12.0",
691 "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
692 "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
693 "dev": true
694 },
695 "graceful-fs": {
696 "version": "4.2.6",
697 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
698 "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
699 "dev": true
700 },
701 "has": {
702 "version": "1.0.3",
703 "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
704 "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
705 "dev": true,
706 "requires": {
707 "function-bind": "^1.1.1"
708 }
709 },
710 "has-flag": {
711 "version": "3.0.0",
712 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
713 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
714 "dev": true
715 },
716 "husky": {
717 "version": "7.0.1",
718 "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.1.tgz",
719 "integrity": "sha512-gceRaITVZ+cJH9sNHqx5tFwbzlLCVxtVZcusME8JYQ8Edy5mpGDOqD8QBCdMhpyo9a+JXddnujQ4rpY2Ff9SJA==",
720 "dev": true
721 },
722 "iconv-lite": {
723 "version": "0.4.24",
724 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
725 "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
726 "dev": true,
727 "requires": {
728 "safer-buffer": ">= 2.1.2 < 3"
729 }
730 },
731 "ignore": {
732 "version": "4.0.6",
733 "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
734 "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
735 "dev": true
736 },
737 "image-size": {
738 "version": "1.0.0",
739 "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.0.tgz",
740 "integrity": "sha512-JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw==",
741 "dev": true,
742 "requires": {
743 "queue": "6.0.2"
744 }
745 },
746 "imurmurhash": {
747 "version": "0.1.4",
748 "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
749 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
750 "dev": true
751 },
752 "inflight": {
753 "version": "1.0.6",
754 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
755 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
756 "dev": true,
757 "requires": {
758 "once": "^1.3.0",
759 "wrappy": "1"
760 }
761 },
762 "inherits": {
763 "version": "2.0.4",
764 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
765 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
766 "dev": true
767 },
768 "inquirer": {
769 "version": "6.5.2",
770 "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
771 "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
772 "dev": true,
773 "requires": {
774 "ansi-escapes": "^3.2.0",
775 "chalk": "^2.4.2",
776 "cli-cursor": "^2.1.0",
777 "cli-width": "^2.0.0",
778 "external-editor": "^3.0.3",
779 "figures": "^2.0.0",
780 "lodash": "^4.17.12",
781 "mute-stream": "0.0.7",
782 "run-async": "^2.2.0",
783 "rxjs": "^6.4.0",
784 "string-width": "^2.1.0",
785 "strip-ansi": "^5.1.0",
786 "through": "^2.3.6"
787 },
788 "dependencies": {
789 "ansi-regex": {
790 "version": "4.1.0",
791 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
792 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
793 "dev": true
794 },
795 "strip-ansi": {
796 "version": "5.2.0",
797 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
798 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
799 "dev": true,
800 "requires": {
801 "ansi-regex": "^4.1.0"
802 }
803 }
804 }
805 },
806 "is-core-module": {
807 "version": "2.5.0",
808 "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz",
809 "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==",
810 "dev": true,
811 "requires": {
812 "has": "^1.0.3"
813 }
814 },
815 "is-docker": {
816 "version": "2.2.1",
817 "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
818 "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
819 "dev": true
820 },
821 "is-fullwidth-code-point": {
822 "version": "2.0.0",
823 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
824 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
825 "dev": true
826 },
827 "is-wsl": {
828 "version": "2.2.0",
829 "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
830 "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
831 "dev": true,
832 "requires": {
833 "is-docker": "^2.0.0"
834 }
835 },
836 "isarray": {
837 "version": "1.0.0",
838 "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
839 "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
840 "dev": true
841 },
842 "isexe": {
843 "version": "2.0.0",
844 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
845 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
846 "dev": true
847 },
848 "js-tokens": {
849 "version": "4.0.0",
850 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
851 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
852 "dev": true
853 },
854 "js-yaml": {
855 "version": "3.14.1",
856 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
857 "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
858 "dev": true,
859 "requires": {
860 "argparse": "^1.0.7",
861 "esprima": "^4.0.0"
862 }
863 },
864 "jsesc": {
865 "version": "2.5.2",
866 "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
867 "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
868 "dev": true
869 },
870 "json-schema-traverse": {
871 "version": "0.4.1",
872 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
873 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
874 "dev": true
875 },
876 "json-stable-stringify-without-jsonify": {
877 "version": "1.0.1",
878 "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
879 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
880 "dev": true
881 },
882 "jsonfile": {
883 "version": "6.1.0",
884 "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
885 "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
886 "dev": true,
887 "requires": {
888 "graceful-fs": "^4.1.6",
889 "universalify": "^2.0.0"
890 }
891 },
892 "levn": {
893 "version": "0.3.0",
894 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
895 "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
896 "dev": true,
897 "requires": {
898 "prelude-ls": "~1.1.2",
899 "type-check": "~0.3.2"
900 }
901 },
902 "lodash": {
903 "version": "4.17.21",
904 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
905 "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
906 "dev": true
907 },
908 "mimic-fn": {
909 "version": "1.2.0",
910 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
911 "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
912 "dev": true
913 },
914 "minimatch": {
915 "version": "3.0.4",
916 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
917 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
918 "dev": true,
919 "requires": {
920 "brace-expansion": "^1.1.7"
921 }
922 },
923 "minimist": {
924 "version": "1.2.5",
925 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
926 "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
927 "dev": true
928 },
929 "mkdirp": {
930 "version": "0.5.5",
931 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
932 "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
933 "dev": true,
934 "requires": {
935 "minimist": "^1.2.5"
936 }
937 },
938 "ms": {
939 "version": "2.1.2",
940 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
941 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
942 "dev": true
943 },
944 "mute-stream": {
945 "version": "0.0.7",
946 "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
947 "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
948 "dev": true
949 },
950 "natural-compare": {
951 "version": "1.4.0",
952 "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
953 "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
954 "dev": true
955 },
956 "nice-try": {
957 "version": "1.0.5",
958 "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
959 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
960 "dev": true
961 },
962 "object-assign": {
963 "version": "4.1.1",
964 "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
965 "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
966 "dev": true
967 },
968 "once": {
969 "version": "1.4.0",
970 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
971 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
972 "dev": true,
973 "requires": {
974 "wrappy": "1"
975 }
976 },
977 "onetime": {
978 "version": "2.0.1",
979 "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
980 "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
981 "dev": true,
982 "requires": {
983 "mimic-fn": "^1.0.0"
984 }
985 },
986 "open": {
987 "version": "8.2.0",
988 "resolved": "https://registry.npmjs.org/open/-/open-8.2.0.tgz",
989 "integrity": "sha512-O8uInONB4asyY3qUcEytpgwxQG3O0fJ/hlssoUHsBboOIRVZzT6Wq+Rwj5nffbeUhOdMjpXeISpDDzHCMRDuOQ==",
990 "dev": true,
991 "requires": {
992 "define-lazy-prop": "^2.0.0",
993 "is-docker": "^2.1.1",
994 "is-wsl": "^2.2.0"
995 }
996 },
997 "optionator": {
998 "version": "0.8.3",
999 "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
1000 "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
1001 "dev": true,
1002 "requires": {
1003 "deep-is": "~0.1.3",
1004 "fast-levenshtein": "~2.0.6",
1005 "levn": "~0.3.0",
1006 "prelude-ls": "~1.1.2",
1007 "type-check": "~0.3.2",
1008 "word-wrap": "~1.2.3"
1009 }
1010 },
1011 "os-tmpdir": {
1012 "version": "1.0.2",
1013 "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
1014 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
1015 "dev": true
1016 },
1017 "path-is-absolute": {
1018 "version": "1.0.1",
1019 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1020 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1021 "dev": true
1022 },
1023 "path-is-inside": {
1024 "version": "1.0.2",
1025 "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
1026 "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
1027 "dev": true
1028 },
1029 "path-key": {
1030 "version": "2.0.1",
1031 "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
1032 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
1033 "dev": true
1034 },
1035 "path-parse": {
1036 "version": "1.0.7",
1037 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1038 "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1039 "dev": true
1040 },
1041 "pluralize": {
1042 "version": "7.0.0",
1043 "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
1044 "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
1045 "dev": true
1046 },
1047 "prelude-ls": {
1048 "version": "1.1.2",
1049 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
1050 "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
1051 "dev": true
1052 },
1053 "prettier": {
1054 "version": "2.3.2",
1055 "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz",
1056 "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==",
1057 "dev": true
1058 },
1059 "process-nextick-args": {
1060 "version": "2.0.1",
1061 "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
1062 "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
1063 "dev": true
1064 },
1065 "progress": {
1066 "version": "2.0.3",
1067 "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
1068 "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
1069 "dev": true
1070 },
1071 "pump": {
1072 "version": "1.0.3",
1073 "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz",
1074 "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==",
1075 "dev": true,
1076 "requires": {
1077 "end-of-stream": "^1.1.0",
1078 "once": "^1.3.1"
1079 }
1080 },
1081 "punycode": {
1082 "version": "2.1.1",
1083 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1084 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
1085 "dev": true
1086 },
1087 "queue": {
1088 "version": "6.0.2",
1089 "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz",
1090 "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==",
1091 "dev": true,
1092 "requires": {
1093 "inherits": "~2.0.3"
1094 }
1095 },
1096 "readable-stream": {
1097 "version": "2.3.7",
1098 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
1099 "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
1100 "dev": true,
1101 "requires": {
1102 "core-util-is": "~1.0.0",
1103 "inherits": "~2.0.3",
1104 "isarray": "~1.0.0",
1105 "process-nextick-args": "~2.0.0",
1106 "safe-buffer": "~5.1.1",
1107 "string_decoder": "~1.1.1",
1108 "util-deprecate": "~1.0.1"
1109 },
1110 "dependencies": {
1111 "safe-buffer": {
1112 "version": "5.1.2",
1113 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1114 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
1115 "dev": true
1116 }
1117 }
1118 },
1119 "regexpp": {
1120 "version": "2.0.1",
1121 "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
1122 "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
1123 "dev": true
1124 },
1125 "require-uncached": {
1126 "version": "1.0.3",
1127 "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
1128 "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
1129 "dev": true,
1130 "requires": {
1131 "caller-path": "^0.1.0",
1132 "resolve-from": "^1.0.0"
1133 }
1134 },
1135 "resolve": {
1136 "version": "1.20.0",
1137 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
1138 "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
1139 "dev": true,
1140 "requires": {
1141 "is-core-module": "^2.2.0",
1142 "path-parse": "^1.0.6"
1143 }
1144 },
1145 "resolve-from": {
1146 "version": "1.0.1",
1147 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
1148 "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
1149 "dev": true
1150 },
1151 "restore-cursor": {
1152 "version": "2.0.0",
1153 "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
1154 "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
1155 "dev": true,
1156 "requires": {
1157 "onetime": "^2.0.0",
1158 "signal-exit": "^3.0.2"
1159 }
1160 },
1161 "rimraf": {
1162 "version": "2.6.3",
1163 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
1164 "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
1165 "dev": true,
1166 "requires": {
1167 "glob": "^7.1.3"
1168 }
1169 },
1170 "run-async": {
1171 "version": "2.4.1",
1172 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
1173 "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
1174 "dev": true
1175 },
1176 "rxjs": {
1177 "version": "6.6.7",
1178 "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
1179 "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
1180 "dev": true,
1181 "requires": {
1182 "tslib": "^1.9.0"
1183 }
1184 },
1185 "safe-buffer": {
1186 "version": "5.2.1",
1187 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1188 "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
1189 "dev": true
1190 },
1191 "safer-buffer": {
1192 "version": "2.1.2",
1193 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1194 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1195 "dev": true
1196 },
1197 "semver": {
1198 "version": "5.7.1",
1199 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1200 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1201 "dev": true
1202 },
1203 "shebang-command": {
1204 "version": "1.2.0",
1205 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
1206 "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
1207 "dev": true,
1208 "requires": {
1209 "shebang-regex": "^1.0.0"
1210 }
1211 },
1212 "shebang-regex": {
1213 "version": "1.0.0",
1214 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
1215 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
1216 "dev": true
1217 },
1218 "signal-exit": {
1219 "version": "3.0.3",
1220 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
1221 "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
1222 "dev": true
1223 },
1224 "simple-git": {
1225 "version": "2.39.0",
1226 "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.39.0.tgz",
1227 "integrity": "sha512-VOsrmc3fpp1lGVIpo+1SKNqJzrdVJeSGZCeenPKnJPNo5UouAlSkWFc037pfm9wRYtfxBdwp2deVJGCG8J6C8A==",
1228 "dev": true,
1229 "requires": {
1230 "@kwsites/file-exists": "^1.1.1",
1231 "@kwsites/promise-deferred": "^1.1.1",
1232 "debug": "^4.3.1"
1233 }
1234 },
1235 "slice-ansi": {
1236 "version": "2.1.0",
1237 "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
1238 "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
1239 "dev": true,
1240 "requires": {
1241 "ansi-styles": "^3.2.0",
1242 "astral-regex": "^1.0.0",
1243 "is-fullwidth-code-point": "^2.0.0"
1244 }
1245 },
1246 "source-map": {
1247 "version": "0.5.7",
1248 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
1249 "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
1250 "dev": true
1251 },
1252 "sprintf-js": {
1253 "version": "1.0.3",
1254 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
1255 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
1256 "dev": true
1257 },
1258 "string-width": {
1259 "version": "2.1.1",
1260 "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
1261 "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
1262 "dev": true,
1263 "requires": {
1264 "is-fullwidth-code-point": "^2.0.0",
1265 "strip-ansi": "^4.0.0"
1266 }
1267 },
1268 "string_decoder": {
1269 "version": "1.1.1",
1270 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1271 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1272 "dev": true,
1273 "requires": {
1274 "safe-buffer": "~5.1.0"
1275 },
1276 "dependencies": {
1277 "safe-buffer": {
1278 "version": "5.1.2",
1279 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1280 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
1281 "dev": true
1282 }
1283 }
1284 },
1285 "strip-ansi": {
1286 "version": "4.0.0",
1287 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
1288 "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
1289 "dev": true,
1290 "requires": {
1291 "ansi-regex": "^3.0.0"
1292 }
1293 },
1294 "strip-json-comments": {
1295 "version": "2.0.1",
1296 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
1297 "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
1298 "dev": true
1299 },
1300 "supports-color": {
1301 "version": "5.5.0",
1302 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1303 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1304 "dev": true,
1305 "requires": {
1306 "has-flag": "^3.0.0"
1307 }
1308 },
1309 "table": {
1310 "version": "5.4.6",
1311 "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
1312 "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
1313 "dev": true,
1314 "requires": {
1315 "ajv": "^6.10.2",
1316 "lodash": "^4.17.14",
1317 "slice-ansi": "^2.1.0",
1318 "string-width": "^3.0.0"
1319 },
1320 "dependencies": {
1321 "ansi-regex": {
1322 "version": "4.1.0",
1323 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1324 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
1325 "dev": true
1326 },
1327 "string-width": {
1328 "version": "3.1.0",
1329 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1330 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
1331 "dev": true,
1332 "requires": {
1333 "emoji-regex": "^7.0.1",
1334 "is-fullwidth-code-point": "^2.0.0",
1335 "strip-ansi": "^5.1.0"
1336 }
1337 },
1338 "strip-ansi": {
1339 "version": "5.2.0",
1340 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1341 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
1342 "dev": true,
1343 "requires": {
1344 "ansi-regex": "^4.1.0"
1345 }
1346 }
1347 }
1348 },
1349 "tar-fs": {
1350 "version": "1.16.3",
1351 "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz",
1352 "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==",
1353 "dev": true,
1354 "requires": {
1355 "chownr": "^1.0.1",
1356 "mkdirp": "^0.5.1",
1357 "pump": "^1.0.0",
1358 "tar-stream": "^1.1.2"
1359 }
1360 },
1361 "tar-stream": {
1362 "version": "1.6.2",
1363 "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
1364 "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
1365 "dev": true,
1366 "requires": {
1367 "bl": "^1.0.0",
1368 "buffer-alloc": "^1.2.0",
1369 "end-of-stream": "^1.0.0",
1370 "fs-constants": "^1.0.0",
1371 "readable-stream": "^2.3.0",
1372 "to-buffer": "^1.1.1",
1373 "xtend": "^4.0.0"
1374 }
1375 },
1376 "targz": {
1377 "version": "1.0.1",
1378 "resolved": "https://registry.npmjs.org/targz/-/targz-1.0.1.tgz",
1379 "integrity": "sha1-j3alI2lM3t+7XWCkB2/27uzFOY8=",
1380 "dev": true,
1381 "requires": {
1382 "tar-fs": "^1.8.1"
1383 }
1384 },
1385 "text-table": {
1386 "version": "0.2.0",
1387 "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
1388 "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
1389 "dev": true
1390 },
1391 "through": {
1392 "version": "2.3.8",
1393 "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
1394 "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
1395 "dev": true
1396 },
1397 "tmp": {
1398 "version": "0.0.33",
1399 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
1400 "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
1401 "dev": true,
1402 "requires": {
1403 "os-tmpdir": "~1.0.2"
1404 }
1405 },
1406 "to-buffer": {
1407 "version": "1.1.1",
1408 "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
1409 "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
1410 "dev": true
1411 },
1412 "to-fast-properties": {
1413 "version": "2.0.0",
1414 "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
1415 "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
1416 "dev": true
1417 },
1418 "tslib": {
1419 "version": "1.14.1",
1420 "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
1421 "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
1422 "dev": true
1423 },
1424 "type-check": {
1425 "version": "0.3.2",
1426 "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
1427 "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
1428 "dev": true,
1429 "requires": {
1430 "prelude-ls": "~1.1.2"
1431 }
1432 },
1433 "universalify": {
1434 "version": "2.0.0",
1435 "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
1436 "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
1437 "dev": true
1438 },
1439 "uri-js": {
1440 "version": "4.4.1",
1441 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
1442 "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
1443 "dev": true,
1444 "requires": {
1445 "punycode": "^2.1.0"
1446 }
1447 },
1448 "util-deprecate": {
1449 "version": "1.0.2",
1450 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1451 "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
1452 "dev": true
1453 },
1454 "which": {
1455 "version": "1.3.1",
1456 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
1457 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
1458 "dev": true,
1459 "requires": {
1460 "isexe": "^2.0.0"
1461 }
1462 },
1463 "word-wrap": {
1464 "version": "1.2.3",
1465 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
1466 "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
1467 "dev": true
1468 },
1469 "wrappy": {
1470 "version": "1.0.2",
1471 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1472 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1473 "dev": true
1474 },
1475 "write": {
1476 "version": "0.2.1",
1477 "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
1478 "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
1479 "dev": true,
1480 "requires": {
1481 "mkdirp": "^0.5.1"
1482 }
1483 },
1484 "xtend": {
1485 "version": "4.0.2",
1486 "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
1487 "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
1488 "dev": true
1489 }
1490 }
1491}
diff --git a/package.json b/package.json
index 7239839..216694f 100644
--- a/package.json
+++ b/package.json
@@ -26,7 +26,7 @@
26 }, 26 },
27 "homepage": "https://github.com/getferdi/recipes#readme", 27 "homepage": "https://github.com/getferdi/recipes#readme",
28 "devDependencies": { 28 "devDependencies": {
29 "@types/targz": "^1.0.1", 29 "@types/targz": "1.0.1",
30 "babel-eslint": "10.0.3", 30 "babel-eslint": "10.0.3",
31 "eslint": "5.10.0", 31 "eslint": "5.10.0",
32 "fs-extra": "10.0.0", 32 "fs-extra": "10.0.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 0000000..2aca6a2
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,1171 @@
1lockfileVersion: 5.3
2
3specifiers:
4 '@types/targz': 1.0.1
5 babel-eslint: 10.0.3
6 eslint: 5.10.0
7 fs-extra: 10.0.0
8 husky: 7.0.1
9 image-size: 1.0.0
10 open: 8.2.0
11 prettier: 2.3.2
12 simple-git: 2.39.0
13 targz: 1.0.1
14
15devDependencies:
16 '@types/targz': 1.0.1
17 babel-eslint: 10.0.3_eslint@5.10.0
18 eslint: 5.10.0
19 fs-extra: 10.0.0
20 husky: 7.0.1
21 image-size: 1.0.0
22 open: 8.2.0
23 prettier: 2.3.2
24 simple-git: 2.39.0
25 targz: 1.0.1
26
27packages:
28
29 /@babel/code-frame/7.14.5:
30 resolution: {integrity: sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==}
31 engines: {node: '>=6.9.0'}
32 dependencies:
33 '@babel/highlight': 7.14.5
34 dev: true
35
36 /@babel/generator/7.15.0:
37 resolution: {integrity: sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==}
38 engines: {node: '>=6.9.0'}
39 dependencies:
40 '@babel/types': 7.15.0
41 jsesc: 2.5.2
42 source-map: 0.5.7
43 dev: true
44
45 /@babel/helper-function-name/7.14.5:
46 resolution: {integrity: sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==}
47 engines: {node: '>=6.9.0'}
48 dependencies:
49 '@babel/helper-get-function-arity': 7.14.5
50 '@babel/template': 7.14.5
51 '@babel/types': 7.15.0
52 dev: true
53
54 /@babel/helper-get-function-arity/7.14.5:
55 resolution: {integrity: sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==}
56 engines: {node: '>=6.9.0'}
57 dependencies:
58 '@babel/types': 7.15.0
59 dev: true
60
61 /@babel/helper-hoist-variables/7.14.5:
62 resolution: {integrity: sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==}
63 engines: {node: '>=6.9.0'}
64 dependencies:
65 '@babel/types': 7.15.0
66 dev: true
67
68 /@babel/helper-split-export-declaration/7.14.5:
69 resolution: {integrity: sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==}
70 engines: {node: '>=6.9.0'}
71 dependencies:
72 '@babel/types': 7.15.0
73 dev: true
74
75 /@babel/helper-validator-identifier/7.14.9:
76 resolution: {integrity: sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==}
77 engines: {node: '>=6.9.0'}
78 dev: true
79
80 /@babel/highlight/7.14.5:
81 resolution: {integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==}
82 engines: {node: '>=6.9.0'}
83 dependencies:
84 '@babel/helper-validator-identifier': 7.14.9
85 chalk: 2.4.2
86 js-tokens: 4.0.0
87 dev: true
88
89 /@babel/parser/7.15.0:
90 resolution: {integrity: sha512-0v7oNOjr6YT9Z2RAOTv4T9aP+ubfx4Q/OhVtAet7PFDt0t9Oy6Jn+/rfC6b8HJ5zEqrQCiMxJfgtHpmIminmJQ==}
91 engines: {node: '>=6.0.0'}
92 hasBin: true
93 dev: true
94
95 /@babel/template/7.14.5:
96 resolution: {integrity: sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==}
97 engines: {node: '>=6.9.0'}
98 dependencies:
99 '@babel/code-frame': 7.14.5
100 '@babel/parser': 7.15.0
101 '@babel/types': 7.15.0
102 dev: true
103
104 /@babel/traverse/7.15.0:
105 resolution: {integrity: sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==}
106 engines: {node: '>=6.9.0'}
107 dependencies:
108 '@babel/code-frame': 7.14.5
109 '@babel/generator': 7.15.0
110 '@babel/helper-function-name': 7.14.5
111 '@babel/helper-hoist-variables': 7.14.5
112 '@babel/helper-split-export-declaration': 7.14.5
113 '@babel/parser': 7.15.0
114 '@babel/types': 7.15.0
115 debug: 4.3.2
116 globals: 11.12.0
117 transitivePeerDependencies:
118 - supports-color
119 dev: true
120
121 /@babel/types/7.15.0:
122 resolution: {integrity: sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==}
123 engines: {node: '>=6.9.0'}
124 dependencies:
125 '@babel/helper-validator-identifier': 7.14.9
126 to-fast-properties: 2.0.0
127 dev: true
128
129 /@kwsites/file-exists/1.1.1:
130 resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==}
131 dependencies:
132 debug: 4.3.2
133 transitivePeerDependencies:
134 - supports-color
135 dev: true
136
137 /@kwsites/promise-deferred/1.1.1:
138 resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==}
139 dev: true
140
141 /@types/node/16.7.1:
142 resolution: {integrity: sha512-ncRdc45SoYJ2H4eWU9ReDfp3vtFqDYhjOsKlFFUDEn8V1Bgr2RjYal8YT5byfadWIRluhPFU6JiDOl0H6Sl87A==}
143 dev: true
144
145 /@types/tar-fs/2.0.1:
146 resolution: {integrity: sha512-qlsQyIY9sN7p221xHuXKNoMfUenOcvEBN4zI8dGsYbYCqHtTarXOEXSIgUnK+GcR0fZDse6pAIc5pIrCh9NefQ==}
147 dependencies:
148 '@types/node': 16.7.1
149 '@types/tar-stream': 2.2.1
150 dev: true
151
152 /@types/tar-stream/2.2.1:
153 resolution: {integrity: sha512-zhcfACZ4HavArMutfAB1/ApfSx44kNF2zyytU4mbO1dGCT/y9kL2IZwRDRyYYtBUxW6LRparZpLoX8i67b6IZw==}
154 dependencies:
155 '@types/node': 16.7.1
156 dev: true
157
158 /@types/targz/1.0.1:
159 resolution: {integrity: sha512-Uf5QxuLICkVOmSyDhPicBpIXk2oLIqaldObfr/WsTKTAPk666OpbeL0wZuNXwc5yg9OH1cBVj1rpMHGBJe4ilg==}
160 dependencies:
161 '@types/tar-fs': 2.0.1
162 dev: true
163
164 /acorn-jsx/5.3.2_acorn@6.4.2:
165 resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
166 peerDependencies:
167 acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
168 dependencies:
169 acorn: 6.4.2
170 dev: true
171
172 /acorn/6.4.2:
173 resolution: {integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==}
174 engines: {node: '>=0.4.0'}
175 hasBin: true
176 dev: true
177
178 /ajv/6.12.6:
179 resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
180 dependencies:
181 fast-deep-equal: 3.1.3
182 fast-json-stable-stringify: 2.1.0
183 json-schema-traverse: 0.4.1
184 uri-js: 4.4.1
185 dev: true
186
187 /ansi-escapes/3.2.0:
188 resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==}
189 engines: {node: '>=4'}
190 dev: true
191
192 /ansi-regex/3.0.0:
193 resolution: {integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=}
194 engines: {node: '>=4'}
195 dev: true
196
197 /ansi-regex/4.1.0:
198 resolution: {integrity: sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==}
199 engines: {node: '>=6'}
200 dev: true
201
202 /ansi-styles/3.2.1:
203 resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
204 engines: {node: '>=4'}
205 dependencies:
206 color-convert: 1.9.3
207 dev: true
208
209 /argparse/1.0.10:
210 resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
211 dependencies:
212 sprintf-js: 1.0.3
213 dev: true
214
215 /astral-regex/1.0.0:
216 resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==}
217 engines: {node: '>=4'}
218 dev: true
219
220 /babel-eslint/10.0.3_eslint@5.10.0:
221 resolution: {integrity: sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==}
222 engines: {node: '>=6'}
223 deprecated: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
224 peerDependencies:
225 eslint: '>= 4.12.1'
226 dependencies:
227 '@babel/code-frame': 7.14.5
228 '@babel/parser': 7.15.0
229 '@babel/traverse': 7.15.0
230 '@babel/types': 7.15.0
231 eslint: 5.10.0
232 eslint-visitor-keys: 1.3.0
233 resolve: 1.20.0
234 transitivePeerDependencies:
235 - supports-color
236 dev: true
237
238 /balanced-match/1.0.2:
239 resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
240 dev: true
241
242 /bl/1.2.3:
243 resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==}
244 dependencies:
245 readable-stream: 2.3.7
246 safe-buffer: 5.2.1
247 dev: true
248
249 /brace-expansion/1.1.11:
250 resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
251 dependencies:
252 balanced-match: 1.0.2
253 concat-map: 0.0.1
254 dev: true
255
256 /buffer-alloc-unsafe/1.1.0:
257 resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==}
258 dev: true
259
260 /buffer-alloc/1.2.0:
261 resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==}
262 dependencies:
263 buffer-alloc-unsafe: 1.1.0
264 buffer-fill: 1.0.0
265 dev: true
266
267 /buffer-fill/1.0.0:
268 resolution: {integrity: sha1-+PeLdniYiO858gXNY39o5wISKyw=}
269 dev: true
270
271 /caller-path/0.1.0:
272 resolution: {integrity: sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=}
273 engines: {node: '>=0.10.0'}
274 dependencies:
275 callsites: 0.2.0
276 dev: true
277
278 /callsites/0.2.0:
279 resolution: {integrity: sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=}
280 engines: {node: '>=0.10.0'}
281 dev: true
282
283 /chalk/2.4.2:
284 resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
285 engines: {node: '>=4'}
286 dependencies:
287 ansi-styles: 3.2.1
288 escape-string-regexp: 1.0.5
289 supports-color: 5.5.0
290 dev: true
291
292 /chardet/0.7.0:
293 resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
294 dev: true
295
296 /chownr/1.1.4:
297 resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
298 dev: true
299
300 /circular-json/0.3.3:
301 resolution: {integrity: sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==}
302 deprecated: CircularJSON is in maintenance only, flatted is its successor.
303 dev: true
304
305 /cli-cursor/2.1.0:
306 resolution: {integrity: sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=}
307 engines: {node: '>=4'}
308 dependencies:
309 restore-cursor: 2.0.0
310 dev: true
311
312 /cli-width/2.2.1:
313 resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==}
314 dev: true
315
316 /color-convert/1.9.3:
317 resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
318 dependencies:
319 color-name: 1.1.3
320 dev: true
321
322 /color-name/1.1.3:
323 resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=}
324 dev: true
325
326 /concat-map/0.0.1:
327 resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
328 dev: true
329
330 /core-util-is/1.0.2:
331 resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=}
332 dev: true
333
334 /cross-spawn/6.0.5:
335 resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
336 engines: {node: '>=4.8'}
337 dependencies:
338 nice-try: 1.0.5
339 path-key: 2.0.1
340 semver: 5.7.1
341 shebang-command: 1.2.0
342 which: 1.3.1
343 dev: true
344
345 /debug/4.3.2:
346 resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==}
347 engines: {node: '>=6.0'}
348 peerDependencies:
349 supports-color: '*'
350 peerDependenciesMeta:
351 supports-color:
352 optional: true
353 dependencies:
354 ms: 2.1.2
355 dev: true
356
357 /deep-is/0.1.3:
358 resolution: {integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=}
359 dev: true
360
361 /define-lazy-prop/2.0.0:
362 resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
363 engines: {node: '>=8'}
364 dev: true
365
366 /doctrine/2.1.0:
367 resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
368 engines: {node: '>=0.10.0'}
369 dependencies:
370 esutils: 2.0.3
371 dev: true
372
373 /emoji-regex/7.0.3:
374 resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==}
375 dev: true
376
377 /end-of-stream/1.4.4:
378 resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
379 dependencies:
380 once: 1.4.0
381 dev: true
382
383 /escape-string-regexp/1.0.5:
384 resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=}
385 engines: {node: '>=0.8.0'}
386 dev: true
387
388 /eslint-scope/4.0.3:
389 resolution: {integrity: sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==}
390 engines: {node: '>=4.0.0'}
391 dependencies:
392 esrecurse: 4.3.0
393 estraverse: 4.3.0
394 dev: true
395
396 /eslint-utils/1.4.3:
397 resolution: {integrity: sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==}
398 engines: {node: '>=6'}
399 dependencies:
400 eslint-visitor-keys: 1.3.0
401 dev: true
402
403 /eslint-visitor-keys/1.3.0:
404 resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==}
405 engines: {node: '>=4'}
406 dev: true
407
408 /eslint/5.10.0:
409 resolution: {integrity: sha512-HpqzC+BHULKlnPwWae9MaVZ5AXJKpkxCVXQHrFaRw3hbDj26V/9ArYM4Rr/SQ8pi6qUPLXSSXC4RBJlyq2Z2OQ==}
410 engines: {node: ^6.14.0 || ^8.10.0 || >=9.10.0}
411 hasBin: true
412 dependencies:
413 '@babel/code-frame': 7.14.5
414 ajv: 6.12.6
415 chalk: 2.4.2
416 cross-spawn: 6.0.5
417 debug: 4.3.2
418 doctrine: 2.1.0
419 eslint-scope: 4.0.3
420 eslint-utils: 1.4.3
421 eslint-visitor-keys: 1.3.0
422 espree: 5.0.1
423 esquery: 1.4.0
424 esutils: 2.0.3
425 file-entry-cache: 2.0.0
426 functional-red-black-tree: 1.0.1
427 glob: 7.1.7
428 globals: 11.12.0
429 ignore: 4.0.6
430 imurmurhash: 0.1.4
431 inquirer: 6.5.2
432 js-yaml: 3.14.1
433 json-stable-stringify-without-jsonify: 1.0.1
434 levn: 0.3.0
435 lodash: 4.17.21
436 minimatch: 3.0.4
437 mkdirp: 0.5.5
438 natural-compare: 1.4.0
439 optionator: 0.8.3
440 path-is-inside: 1.0.2
441 pluralize: 7.0.0
442 progress: 2.0.3
443 regexpp: 2.0.1
444 require-uncached: 1.0.3
445 semver: 5.7.1
446 strip-ansi: 4.0.0
447 strip-json-comments: 2.0.1
448 table: 5.4.6
449 text-table: 0.2.0
450 transitivePeerDependencies:
451 - supports-color
452 dev: true
453
454 /espree/5.0.1:
455 resolution: {integrity: sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==}
456 engines: {node: '>=6.0.0'}
457 dependencies:
458 acorn: 6.4.2
459 acorn-jsx: 5.3.2_acorn@6.4.2
460 eslint-visitor-keys: 1.3.0
461 dev: true
462
463 /esprima/4.0.1:
464 resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
465 engines: {node: '>=4'}
466 hasBin: true
467 dev: true
468
469 /esquery/1.4.0:
470 resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==}
471 engines: {node: '>=0.10'}
472 dependencies:
473 estraverse: 5.2.0
474 dev: true
475
476 /esrecurse/4.3.0:
477 resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
478 engines: {node: '>=4.0'}
479 dependencies:
480 estraverse: 5.2.0
481 dev: true
482
483 /estraverse/4.3.0:
484 resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
485 engines: {node: '>=4.0'}
486 dev: true
487
488 /estraverse/5.2.0:
489 resolution: {integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==}
490 engines: {node: '>=4.0'}
491 dev: true
492
493 /esutils/2.0.3:
494 resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
495 engines: {node: '>=0.10.0'}
496 dev: true
497
498 /external-editor/3.1.0:
499 resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
500 engines: {node: '>=4'}
501 dependencies:
502 chardet: 0.7.0
503 iconv-lite: 0.4.24
504 tmp: 0.0.33
505 dev: true
506
507 /fast-deep-equal/3.1.3:
508 resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
509 dev: true
510
511 /fast-json-stable-stringify/2.1.0:
512 resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
513 dev: true
514
515 /fast-levenshtein/2.0.6:
516 resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=}
517 dev: true
518
519 /figures/2.0.0:
520 resolution: {integrity: sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=}
521 engines: {node: '>=4'}
522 dependencies:
523 escape-string-regexp: 1.0.5
524 dev: true
525
526 /file-entry-cache/2.0.0:
527 resolution: {integrity: sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=}
528 engines: {node: '>=0.10.0'}
529 dependencies:
530 flat-cache: 1.3.4
531 object-assign: 4.1.1
532 dev: true
533
534 /flat-cache/1.3.4:
535 resolution: {integrity: sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==}
536 engines: {node: '>=0.10.0'}
537 dependencies:
538 circular-json: 0.3.3
539 graceful-fs: 4.2.8
540 rimraf: 2.6.3
541 write: 0.2.1
542 dev: true
543
544 /fs-constants/1.0.0:
545 resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
546 dev: true
547
548 /fs-extra/10.0.0:
549 resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==}
550 engines: {node: '>=12'}
551 dependencies:
552 graceful-fs: 4.2.8
553 jsonfile: 6.1.0
554 universalify: 2.0.0
555 dev: true
556
557 /fs.realpath/1.0.0:
558 resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=}
559 dev: true
560
561 /function-bind/1.1.1:
562 resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
563 dev: true
564
565 /functional-red-black-tree/1.0.1:
566 resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=}
567 dev: true
568
569 /glob/7.1.7:
570 resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==}
571 dependencies:
572 fs.realpath: 1.0.0
573 inflight: 1.0.6
574 inherits: 2.0.4
575 minimatch: 3.0.4
576 once: 1.4.0
577 path-is-absolute: 1.0.1
578 dev: true
579
580 /globals/11.12.0:
581 resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
582 engines: {node: '>=4'}
583 dev: true
584
585 /graceful-fs/4.2.8:
586 resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==}
587 dev: true
588
589 /has-flag/3.0.0:
590 resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=}
591 engines: {node: '>=4'}
592 dev: true
593
594 /has/1.0.3:
595 resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
596 engines: {node: '>= 0.4.0'}
597 dependencies:
598 function-bind: 1.1.1
599 dev: true
600
601 /husky/7.0.1:
602 resolution: {integrity: sha512-gceRaITVZ+cJH9sNHqx5tFwbzlLCVxtVZcusME8JYQ8Edy5mpGDOqD8QBCdMhpyo9a+JXddnujQ4rpY2Ff9SJA==}
603 engines: {node: '>=12'}
604 hasBin: true
605 dev: true
606
607 /iconv-lite/0.4.24:
608 resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
609 engines: {node: '>=0.10.0'}
610 dependencies:
611 safer-buffer: 2.1.2
612 dev: true
613
614 /ignore/4.0.6:
615 resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==}
616 engines: {node: '>= 4'}
617 dev: true
618
619 /image-size/1.0.0:
620 resolution: {integrity: sha512-JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw==}
621 engines: {node: '>=12.0.0'}
622 hasBin: true
623 dependencies:
624 queue: 6.0.2
625 dev: true
626
627 /imurmurhash/0.1.4:
628 resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=}
629 engines: {node: '>=0.8.19'}
630 dev: true
631
632 /inflight/1.0.6:
633 resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=}
634 dependencies:
635 once: 1.4.0
636 wrappy: 1.0.2
637 dev: true
638
639 /inherits/2.0.4:
640 resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
641 dev: true
642
643 /inquirer/6.5.2:
644 resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==}
645 engines: {node: '>=6.0.0'}
646 dependencies:
647 ansi-escapes: 3.2.0
648 chalk: 2.4.2
649 cli-cursor: 2.1.0
650 cli-width: 2.2.1
651 external-editor: 3.1.0
652 figures: 2.0.0
653 lodash: 4.17.21
654 mute-stream: 0.0.7
655 run-async: 2.4.1
656 rxjs: 6.6.7
657 string-width: 2.1.1
658 strip-ansi: 5.2.0
659 through: 2.3.8
660 dev: true
661
662 /is-core-module/2.5.0:
663 resolution: {integrity: sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==}
664 dependencies:
665 has: 1.0.3
666 dev: true
667
668 /is-docker/2.2.1:
669 resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
670 engines: {node: '>=8'}
671 hasBin: true
672 dev: true
673
674 /is-fullwidth-code-point/2.0.0:
675 resolution: {integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=}
676 engines: {node: '>=4'}
677 dev: true
678
679 /is-wsl/2.2.0:
680 resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
681 engines: {node: '>=8'}
682 dependencies:
683 is-docker: 2.2.1
684 dev: true
685
686 /isarray/1.0.0:
687 resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=}
688 dev: true
689
690 /isexe/2.0.0:
691 resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=}
692 dev: true
693
694 /js-tokens/4.0.0:
695 resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
696 dev: true
697
698 /js-yaml/3.14.1:
699 resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
700 hasBin: true
701 dependencies:
702 argparse: 1.0.10
703 esprima: 4.0.1
704 dev: true
705
706 /jsesc/2.5.2:
707 resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
708 engines: {node: '>=4'}
709 hasBin: true
710 dev: true
711
712 /json-schema-traverse/0.4.1:
713 resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
714 dev: true
715
716 /json-stable-stringify-without-jsonify/1.0.1:
717 resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=}
718 dev: true
719
720 /jsonfile/6.1.0:
721 resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
722 dependencies:
723 universalify: 2.0.0
724 optionalDependencies:
725 graceful-fs: 4.2.8
726 dev: true
727
728 /levn/0.3.0:
729 resolution: {integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=}
730 engines: {node: '>= 0.8.0'}
731 dependencies:
732 prelude-ls: 1.1.2
733 type-check: 0.3.2
734 dev: true
735
736 /lodash/4.17.21:
737 resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
738 dev: true
739
740 /mimic-fn/1.2.0:
741 resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==}
742 engines: {node: '>=4'}
743 dev: true
744
745 /minimatch/3.0.4:
746 resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==}
747 dependencies:
748 brace-expansion: 1.1.11
749 dev: true
750
751 /minimist/1.2.5:
752 resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==}
753 dev: true
754
755 /mkdirp/0.5.5:
756 resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==}
757 hasBin: true
758 dependencies:
759 minimist: 1.2.5
760 dev: true
761
762 /ms/2.1.2:
763 resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
764 dev: true
765
766 /mute-stream/0.0.7:
767 resolution: {integrity: sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=}
768 dev: true
769
770 /natural-compare/1.4.0:
771 resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=}
772 dev: true
773
774 /nice-try/1.0.5:
775 resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
776 dev: true
777
778 /object-assign/4.1.1:
779 resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=}
780 engines: {node: '>=0.10.0'}
781 dev: true
782
783 /once/1.4.0:
784 resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
785 dependencies:
786 wrappy: 1.0.2
787 dev: true
788
789 /onetime/2.0.1:
790 resolution: {integrity: sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=}
791 engines: {node: '>=4'}
792 dependencies:
793 mimic-fn: 1.2.0
794 dev: true
795
796 /open/8.2.0:
797 resolution: {integrity: sha512-O8uInONB4asyY3qUcEytpgwxQG3O0fJ/hlssoUHsBboOIRVZzT6Wq+Rwj5nffbeUhOdMjpXeISpDDzHCMRDuOQ==}
798 engines: {node: '>=12'}
799 dependencies:
800 define-lazy-prop: 2.0.0
801 is-docker: 2.2.1
802 is-wsl: 2.2.0
803 dev: true
804
805 /optionator/0.8.3:
806 resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
807 engines: {node: '>= 0.8.0'}
808 dependencies:
809 deep-is: 0.1.3
810 fast-levenshtein: 2.0.6
811 levn: 0.3.0
812 prelude-ls: 1.1.2
813 type-check: 0.3.2
814 word-wrap: 1.2.3
815 dev: true
816
817 /os-tmpdir/1.0.2:
818 resolution: {integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=}
819 engines: {node: '>=0.10.0'}
820 dev: true
821
822 /path-is-absolute/1.0.1:
823 resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=}
824 engines: {node: '>=0.10.0'}
825 dev: true
826
827 /path-is-inside/1.0.2:
828 resolution: {integrity: sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=}
829 dev: true
830
831 /path-key/2.0.1:
832 resolution: {integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=}
833 engines: {node: '>=4'}
834 dev: true
835
836 /path-parse/1.0.7:
837 resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
838 dev: true
839
840 /pluralize/7.0.0:
841 resolution: {integrity: sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==}
842 engines: {node: '>=4'}
843 dev: true
844
845 /prelude-ls/1.1.2:
846 resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=}
847 engines: {node: '>= 0.8.0'}
848 dev: true
849
850 /prettier/2.3.2:
851 resolution: {integrity: sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==}
852 engines: {node: '>=10.13.0'}
853 hasBin: true
854 dev: true
855
856 /process-nextick-args/2.0.1:
857 resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
858 dev: true
859
860 /progress/2.0.3:
861 resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
862 engines: {node: '>=0.4.0'}
863 dev: true
864
865 /pump/1.0.3:
866 resolution: {integrity: sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==}
867 dependencies:
868 end-of-stream: 1.4.4
869 once: 1.4.0
870 dev: true
871
872 /punycode/2.1.1:
873 resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
874 engines: {node: '>=6'}
875 dev: true
876
877 /queue/6.0.2:
878 resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
879 dependencies:
880 inherits: 2.0.4
881 dev: true
882
883 /readable-stream/2.3.7:
884 resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==}
885 dependencies:
886 core-util-is: 1.0.2
887 inherits: 2.0.4
888 isarray: 1.0.0
889 process-nextick-args: 2.0.1
890 safe-buffer: 5.1.2
891 string_decoder: 1.1.1
892 util-deprecate: 1.0.2
893 dev: true
894
895 /regexpp/2.0.1:
896 resolution: {integrity: sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==}
897 engines: {node: '>=6.5.0'}
898 dev: true
899
900 /require-uncached/1.0.3:
901 resolution: {integrity: sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=}
902 engines: {node: '>=0.10.0'}
903 dependencies:
904 caller-path: 0.1.0
905 resolve-from: 1.0.1
906 dev: true
907
908 /resolve-from/1.0.1:
909 resolution: {integrity: sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=}
910 engines: {node: '>=0.10.0'}
911 dev: true
912
913 /resolve/1.20.0:
914 resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==}
915 dependencies:
916 is-core-module: 2.5.0
917 path-parse: 1.0.7
918 dev: true
919
920 /restore-cursor/2.0.0:
921 resolution: {integrity: sha1-n37ih/gv0ybU/RYpI9YhKe7g368=}
922 engines: {node: '>=4'}
923 dependencies:
924 onetime: 2.0.1
925 signal-exit: 3.0.3
926 dev: true
927
928 /rimraf/2.6.3:
929 resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==}
930 hasBin: true
931 dependencies:
932 glob: 7.1.7
933 dev: true
934
935 /run-async/2.4.1:
936 resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
937 engines: {node: '>=0.12.0'}
938 dev: true
939
940 /rxjs/6.6.7:
941 resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==}
942 engines: {npm: '>=2.0.0'}
943 dependencies:
944 tslib: 1.14.1
945 dev: true
946
947 /safe-buffer/5.1.2:
948 resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
949 dev: true
950
951 /safe-buffer/5.2.1:
952 resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
953 dev: true
954
955 /safer-buffer/2.1.2:
956 resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
957 dev: true
958
959 /semver/5.7.1:
960 resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
961 hasBin: true
962 dev: true
963
964 /shebang-command/1.2.0:
965 resolution: {integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=}
966 engines: {node: '>=0.10.0'}
967 dependencies:
968 shebang-regex: 1.0.0
969 dev: true
970
971 /shebang-regex/1.0.0:
972 resolution: {integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=}
973 engines: {node: '>=0.10.0'}
974 dev: true
975
976 /signal-exit/3.0.3:
977 resolution: {integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==}
978 dev: true
979
980 /simple-git/2.39.0:
981 resolution: {integrity: sha512-VOsrmc3fpp1lGVIpo+1SKNqJzrdVJeSGZCeenPKnJPNo5UouAlSkWFc037pfm9wRYtfxBdwp2deVJGCG8J6C8A==}
982 dependencies:
983 '@kwsites/file-exists': 1.1.1
984 '@kwsites/promise-deferred': 1.1.1
985 debug: 4.3.2
986 transitivePeerDependencies:
987 - supports-color
988 dev: true
989
990 /slice-ansi/2.1.0:
991 resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==}
992 engines: {node: '>=6'}
993 dependencies:
994 ansi-styles: 3.2.1
995 astral-regex: 1.0.0
996 is-fullwidth-code-point: 2.0.0
997 dev: true
998
999 /source-map/0.5.7:
1000 resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=}
1001 engines: {node: '>=0.10.0'}
1002 dev: true
1003
1004 /sprintf-js/1.0.3:
1005 resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=}
1006 dev: true
1007
1008 /string-width/2.1.1:
1009 resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==}
1010 engines: {node: '>=4'}
1011 dependencies:
1012 is-fullwidth-code-point: 2.0.0
1013 strip-ansi: 4.0.0
1014 dev: true
1015
1016 /string-width/3.1.0:
1017 resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==}
1018 engines: {node: '>=6'}
1019 dependencies:
1020 emoji-regex: 7.0.3
1021 is-fullwidth-code-point: 2.0.0
1022 strip-ansi: 5.2.0
1023 dev: true
1024
1025 /string_decoder/1.1.1:
1026 resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
1027 dependencies:
1028 safe-buffer: 5.1.2
1029 dev: true
1030
1031 /strip-ansi/4.0.0:
1032 resolution: {integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8=}
1033 engines: {node: '>=4'}
1034 dependencies:
1035 ansi-regex: 3.0.0
1036 dev: true
1037
1038 /strip-ansi/5.2.0:
1039 resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==}
1040 engines: {node: '>=6'}
1041 dependencies:
1042 ansi-regex: 4.1.0
1043 dev: true
1044
1045 /strip-json-comments/2.0.1:
1046 resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=}
1047 engines: {node: '>=0.10.0'}
1048 dev: true
1049
1050 /supports-color/5.5.0:
1051 resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
1052 engines: {node: '>=4'}
1053 dependencies:
1054 has-flag: 3.0.0
1055 dev: true
1056
1057 /table/5.4.6:
1058 resolution: {integrity: sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==}
1059 engines: {node: '>=6.0.0'}
1060 dependencies:
1061 ajv: 6.12.6
1062 lodash: 4.17.21
1063 slice-ansi: 2.1.0
1064 string-width: 3.1.0
1065 dev: true
1066
1067 /tar-fs/1.16.3:
1068 resolution: {integrity: sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==}
1069 dependencies:
1070 chownr: 1.1.4
1071 mkdirp: 0.5.5
1072 pump: 1.0.3
1073 tar-stream: 1.6.2
1074 dev: true
1075
1076 /tar-stream/1.6.2:
1077 resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==}
1078 engines: {node: '>= 0.8.0'}
1079 dependencies:
1080 bl: 1.2.3
1081 buffer-alloc: 1.2.0
1082 end-of-stream: 1.4.4
1083 fs-constants: 1.0.0
1084 readable-stream: 2.3.7
1085 to-buffer: 1.1.1
1086 xtend: 4.0.2
1087 dev: true
1088
1089 /targz/1.0.1:
1090 resolution: {integrity: sha1-j3alI2lM3t+7XWCkB2/27uzFOY8=}
1091 dependencies:
1092 tar-fs: 1.16.3
1093 dev: true
1094
1095 /text-table/0.2.0:
1096 resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=}
1097 dev: true
1098
1099 /through/2.3.8:
1100 resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=}
1101 dev: true
1102
1103 /tmp/0.0.33:
1104 resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
1105 engines: {node: '>=0.6.0'}
1106 dependencies:
1107 os-tmpdir: 1.0.2
1108 dev: true
1109
1110 /to-buffer/1.1.1:
1111 resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==}
1112 dev: true
1113
1114 /to-fast-properties/2.0.0:
1115 resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=}
1116 engines: {node: '>=4'}
1117 dev: true
1118
1119 /tslib/1.14.1:
1120 resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
1121 dev: true
1122
1123 /type-check/0.3.2:
1124 resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=}
1125 engines: {node: '>= 0.8.0'}
1126 dependencies:
1127 prelude-ls: 1.1.2
1128 dev: true
1129
1130 /universalify/2.0.0:
1131 resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
1132 engines: {node: '>= 10.0.0'}
1133 dev: true
1134
1135 /uri-js/4.4.1:
1136 resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1137 dependencies:
1138 punycode: 2.1.1
1139 dev: true
1140
1141 /util-deprecate/1.0.2:
1142 resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=}
1143 dev: true
1144
1145 /which/1.3.1:
1146 resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
1147 hasBin: true
1148 dependencies:
1149 isexe: 2.0.0
1150 dev: true
1151
1152 /word-wrap/1.2.3:
1153 resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
1154 engines: {node: '>=0.10.0'}
1155 dev: true
1156
1157 /wrappy/1.0.2:
1158 resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=}
1159 dev: true
1160
1161 /write/0.2.1:
1162 resolution: {integrity: sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=}
1163 engines: {node: '>=0.10.0'}
1164 dependencies:
1165 mkdirp: 0.5.5
1166 dev: true
1167
1168 /xtend/4.0.2:
1169 resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
1170 engines: {node: '>=0.4'}
1171 dev: true
diff --git a/scripts/create.js b/scripts/create.js
index 506364a..0e785fa 100644
--- a/scripts/create.js
+++ b/scripts/create.js
@@ -6,13 +6,13 @@ const path = require('path');
6const open = require('open'); 6const open = require('open');
7 7
8if (process.argv.length < 3) { 8if (process.argv.length < 3) {
9 console.log(`Usage: npm run create <Recipe name> [Folder name] 9 console.log(`Usage: pnpm run create <Recipe name> [Folder name]
10For example: 10For example:
11npm run create WhatsApp 11pnpm run create WhatsApp
12npm run create "Google Hangouts" 12pnpm run create "Google Hangouts"
13You can set "Folder name" to "FerdiDev" to use Ferdi's development instance instead: 13You can set "Folder name" to "FerdiDev" to use Ferdi's development instance instead:
14 14
15npm run create WhatsApp FerdiDev 15pnpm run create WhatsApp FerdiDev
16`); 16`);
17 return; 17 return;
18} 18}
@@ -25,15 +25,21 @@ const filesThatNeedTextReplace = ['package.json', 'index.js', 'webview.js', 'REA
25 25
26(async () => { 26(async () => {
27 // Folder paths 27 // Folder paths
28 const userData = process.env.APPDATA || (process.platform == 'darwin' ? process.env.HOME + '/Library/Application Support' : process.env.HOME + "/.config"); 28 const userData =
29 const recipesFolder = path.join(userData, folderName, "recipes"); 29 process.env.APPDATA ||
30 const devRecipeFolder = path.join(recipesFolder, "dev"); 30 (process.platform == 'darwin'
31 ? process.env.HOME + '/Library/Application Support'
32 : process.env.HOME + '/.config');
33 const recipesFolder = path.join(userData, folderName, 'recipes');
34 const devRecipeFolder = path.join(recipesFolder, 'dev');
31 const newRecipeFolder = path.join(devRecipeFolder, recipe); 35 const newRecipeFolder = path.join(devRecipeFolder, recipe);
32 const sampleRecipe = path.join(__dirname, 'sample_recipe'); 36 const sampleRecipe = path.join(__dirname, 'sample_recipe');
33 37
34 // Make sure dev recipe folder exists 38 // Make sure dev recipe folder exists
35 if (!await fs.exists(recipesFolder)) { 39 if (!(await fs.exists(recipesFolder))) {
36 console.log(`Couldn't find your recipe folder (${recipesFolder}). Is Ferdi installed?`); 40 console.log(
41 `Couldn't find your recipe folder (${recipesFolder}). Is Ferdi installed?`,
42 );
37 return; 43 return;
38 } 44 }
39 await fs.ensureDir(devRecipeFolder); 45 await fs.ensureDir(devRecipeFolder);