├── .env
├── .github
└── workflows
│ └── ci.yml
├── .gitignore
├── .prettierrc
├── LICENSE
├── README.md
├── jest.config.js
├── package-lock.json
├── package.json
├── prisma
└── schema.prisma
├── renovate.json
├── src
├── cli-wrapper.ts
├── cli.ts
├── sh.ts
└── utils.ts
└── tsconfig.json
/.env:
--------------------------------------------------------------------------------
1 | # Environment variables declared in this file are automatically made available to Prisma.
2 | # See the documentation for more detail: https://pris.ly/d/prisma-schema#using-environment-variables
3 |
4 | # Prisma supports the native connection string format for PostgreSQL, MySQL and SQLite.
5 | # See the documentation for all the connection string options: https://pris.ly/d/connection-strings
6 |
7 | DATABASE_URL="file:dev.db"
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: Node.js CI
2 |
3 | on:
4 | push:
5 | branches: [main]
6 | pull_request:
7 | branches: [main]
8 |
9 | jobs:
10 | test:
11 | if: "!contains(github.event.head_commit.message, 'ci skip')"
12 |
13 | strategy:
14 | matrix:
15 | os: [ubuntu-latest]
16 |
17 | runs-on: ${{ matrix.os }}
18 |
19 | # Steps represent a sequence of tasks that will be executed as part of the job
20 | steps:
21 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
22 | - uses: actions/checkout@v2
23 |
24 | - uses: actions/setup-node@v1
25 | with:
26 | node-version: 14.x
27 |
28 | - uses: actions/cache@v2
29 | with:
30 | path: ~/.npm
31 | key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
32 | restore-keys: |
33 | ${{ runner.os }}-node-
34 |
35 | - name: Install deps
36 | run: npm ci
37 |
38 | # Runs a set of commands using the runners shell
39 | - name: Build and Test
40 | run: npm run test
41 |
42 | - name: Release
43 | run: npx semantic-release --branches main
44 | env:
45 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
46 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
47 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist
4 | *.log
5 | *.db
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | "@egoist/prettier-config"
2 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright © 2021 EGOIST (https://github.com/sponsors/egoist)
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | **💛 You can help the author become a full-time open-source maintainer by [sponsoring him on GitHub](https://github.com/sponsors/egoist).**
2 |
3 | ---
4 |
5 | # prisma-repl
6 |
7 | [](https://npm.im/prisma-repl) [](https://npm.im/prisma-repl)
8 |
9 | A REPL for [Prisma](https://www.prisma.io/).
10 |
11 | ## Install
12 |
13 | ```bash
14 | npm i -g prisma-repl
15 | # Or install locally
16 | npm i -D prisma-repl
17 | ```
18 |
19 | ## Usage
20 |
21 | Make sure you're inside a valid Prisma project, i.e. the directory where you ran `prisma init` or other Prisma commands.
22 |
23 | ```bash
24 | $ prisma-repl
25 | ```
26 |
27 | The Prisma client instance is available as `db`:
28 |
29 |
30 |
31 | After regenerating the Prisma client, type `.reload` in the REPL to reload it.
32 |
33 | ## Running commands in the REPL
34 |
35 | You can directly run commands in the REPL using `sh` tag:
36 |
37 |
38 |
39 | For Prisma commands, you can use use the `prisma` shorthand:
40 |
41 |
42 |
43 | The Prisma client is automatically reloaded in the REPL when you run commands like `prisma db push` or `prisma generate`.
44 |
45 | ## Help
46 |
47 | ```
48 | prisma-repl/0.0.0
49 |
50 | Usage:
51 | $ prisma-repl [options]
52 |
53 | Options:
54 | --url Override database URL
55 | --client The output directory for your prisma client (default: node_modules/@prisma/client)
56 | --verbose Show all Prisma logs
57 | -v, --version Display version number
58 | -h, --help Display this message
59 | ```
60 |
61 | ## Sponsors
62 |
63 | [](https://github.com/sponsors/egoist)
64 |
65 | ## License
66 |
67 | MIT © [EGOIST](https://github.com/sponsors/egoist)
68 |
--------------------------------------------------------------------------------
/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | testEnvironment: 'node',
3 | transform: {
4 | '^.+\\.tsx?$': '@sucrase/jest-plugin',
5 | },
6 | testPathIgnorePatterns: ['/node_modules/', '/dist/', '/types/'],
7 | moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
8 | }
9 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "prisma-repl",
3 | "version": "0.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "prisma-repl",
9 | "version": "0.0.0",
10 | "license": "MIT",
11 | "bin": {
12 | "prisma-repl": "dist/cli-wrapper.js"
13 | },
14 | "devDependencies": {
15 | "@egoist/prettier-config": "^0.1.0",
16 | "@prisma/client": "^3.3.0",
17 | "@sucrase/jest-plugin": "^2.0.0",
18 | "@types/cross-spawn": "^6.0.2",
19 | "@types/jest": "^26.0.20",
20 | "cac": "^6.7.12",
21 | "cross-env": "^7.0.3",
22 | "cross-spawn": "^7.0.3",
23 | "execa": "^5.1.0",
24 | "prettier": "^2.2.1",
25 | "prisma": "^3.3.0",
26 | "tsup": "^4.11.2",
27 | "typescript": "^4.2.3"
28 | }
29 | },
30 | "node_modules/@babel/code-frame": {
31 | "version": "7.12.13",
32 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
33 | "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==",
34 | "dev": true,
35 | "dependencies": {
36 | "@babel/highlight": "^7.12.13"
37 | }
38 | },
39 | "node_modules/@babel/helper-validator-identifier": {
40 | "version": "7.14.0",
41 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz",
42 | "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==",
43 | "dev": true
44 | },
45 | "node_modules/@babel/highlight": {
46 | "version": "7.14.0",
47 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz",
48 | "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==",
49 | "dev": true,
50 | "dependencies": {
51 | "@babel/helper-validator-identifier": "^7.14.0",
52 | "chalk": "^2.0.0",
53 | "js-tokens": "^4.0.0"
54 | }
55 | },
56 | "node_modules/@babel/highlight/node_modules/ansi-styles": {
57 | "version": "3.2.1",
58 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
59 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
60 | "dev": true,
61 | "dependencies": {
62 | "color-convert": "^1.9.0"
63 | },
64 | "engines": {
65 | "node": ">=4"
66 | }
67 | },
68 | "node_modules/@babel/highlight/node_modules/chalk": {
69 | "version": "2.4.2",
70 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
71 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
72 | "dev": true,
73 | "dependencies": {
74 | "ansi-styles": "^3.2.1",
75 | "escape-string-regexp": "^1.0.5",
76 | "supports-color": "^5.3.0"
77 | },
78 | "engines": {
79 | "node": ">=4"
80 | }
81 | },
82 | "node_modules/@babel/highlight/node_modules/color-convert": {
83 | "version": "1.9.3",
84 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
85 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
86 | "dev": true,
87 | "dependencies": {
88 | "color-name": "1.1.3"
89 | }
90 | },
91 | "node_modules/@babel/highlight/node_modules/color-name": {
92 | "version": "1.1.3",
93 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
94 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
95 | "dev": true
96 | },
97 | "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
98 | "version": "1.0.5",
99 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
100 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
101 | "dev": true,
102 | "engines": {
103 | "node": ">=0.8.0"
104 | }
105 | },
106 | "node_modules/@babel/highlight/node_modules/has-flag": {
107 | "version": "3.0.0",
108 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
109 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
110 | "dev": true,
111 | "engines": {
112 | "node": ">=4"
113 | }
114 | },
115 | "node_modules/@babel/highlight/node_modules/supports-color": {
116 | "version": "5.5.0",
117 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
118 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
119 | "dev": true,
120 | "dependencies": {
121 | "has-flag": "^3.0.0"
122 | },
123 | "engines": {
124 | "node": ">=4"
125 | }
126 | },
127 | "node_modules/@egoist/prettier-config": {
128 | "version": "0.1.0",
129 | "resolved": "https://registry.npmjs.org/@egoist/prettier-config/-/prettier-config-0.1.0.tgz",
130 | "integrity": "sha512-BYeixvJcTY/jOgawCgFOBxYBPP0e1WQPiyZw98BsUEjSI5SbdAguRKodqcyT50wie+HGk1EuhGUzC3lfrKL4Vg==",
131 | "dev": true
132 | },
133 | "node_modules/@jest/types": {
134 | "version": "26.6.2",
135 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
136 | "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
137 | "dev": true,
138 | "dependencies": {
139 | "@types/istanbul-lib-coverage": "^2.0.0",
140 | "@types/istanbul-reports": "^3.0.0",
141 | "@types/node": "*",
142 | "@types/yargs": "^15.0.0",
143 | "chalk": "^4.0.0"
144 | },
145 | "engines": {
146 | "node": ">= 10.14.2"
147 | }
148 | },
149 | "node_modules/@nodelib/fs.scandir": {
150 | "version": "2.1.4",
151 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz",
152 | "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==",
153 | "dev": true,
154 | "dependencies": {
155 | "@nodelib/fs.stat": "2.0.4",
156 | "run-parallel": "^1.1.9"
157 | },
158 | "engines": {
159 | "node": ">= 8"
160 | }
161 | },
162 | "node_modules/@nodelib/fs.stat": {
163 | "version": "2.0.4",
164 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz",
165 | "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==",
166 | "dev": true,
167 | "engines": {
168 | "node": ">= 8"
169 | }
170 | },
171 | "node_modules/@nodelib/fs.walk": {
172 | "version": "1.2.6",
173 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz",
174 | "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==",
175 | "dev": true,
176 | "dependencies": {
177 | "@nodelib/fs.scandir": "2.1.4",
178 | "fastq": "^1.6.0"
179 | },
180 | "engines": {
181 | "node": ">= 8"
182 | }
183 | },
184 | "node_modules/@prisma/client": {
185 | "version": "3.3.0",
186 | "resolved": "https://registry.npmjs.org/@prisma/client/-/client-3.3.0.tgz",
187 | "integrity": "sha512-34tonDW2v74VcG1mx+k/IUGG/eSHKwDiYKfFIZgaPLq/C0h8YQxh7pro272xpOf1pt6duX1Bi90dpGijh1MYgQ==",
188 | "dev": true,
189 | "hasInstallScript": true,
190 | "dependencies": {
191 | "@prisma/engines-version": "3.3.0-30.33838b0f78f1fe9052cf9a00e9761c9dc097a63c"
192 | },
193 | "engines": {
194 | "node": ">=12.6"
195 | },
196 | "peerDependencies": {
197 | "prisma": "*"
198 | },
199 | "peerDependenciesMeta": {
200 | "prisma": {
201 | "optional": true
202 | }
203 | }
204 | },
205 | "node_modules/@prisma/engines": {
206 | "version": "3.3.0-30.33838b0f78f1fe9052cf9a00e9761c9dc097a63c",
207 | "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-3.3.0-30.33838b0f78f1fe9052cf9a00e9761c9dc097a63c.tgz",
208 | "integrity": "sha512-T3nEnRWmoneNZJPd9IBR29G8ZDUjNelA8+cG5y8/lh6vySm6ryWSNxj1s377U9YzFYyZmXiA9vK1iyxMoRff/g==",
209 | "dev": true,
210 | "hasInstallScript": true
211 | },
212 | "node_modules/@prisma/engines-version": {
213 | "version": "3.3.0-30.33838b0f78f1fe9052cf9a00e9761c9dc097a63c",
214 | "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-3.3.0-30.33838b0f78f1fe9052cf9a00e9761c9dc097a63c.tgz",
215 | "integrity": "sha512-g21xPYq0zHoJ/xUkNxIf5Hle0oiDyelZHU8gwq7J3RNVrccjbUZ28S99KT4yUabV8SQQRNSnR0QMLGMv9Eqs/A==",
216 | "dev": true
217 | },
218 | "node_modules/@sucrase/jest-plugin": {
219 | "version": "2.1.0",
220 | "resolved": "https://registry.npmjs.org/@sucrase/jest-plugin/-/jest-plugin-2.1.0.tgz",
221 | "integrity": "sha512-dWxoZYS//2deHTyVdiHUoZSW9BxtM+mp5vqkW2gUHe2rdCgdzFutmqb/W9Q0OzlIZEpegzVxKz2xEfQNVoINYw==",
222 | "dev": true,
223 | "dependencies": {
224 | "sucrase": "^3.18.0"
225 | }
226 | },
227 | "node_modules/@types/cross-spawn": {
228 | "version": "6.0.2",
229 | "resolved": "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.2.tgz",
230 | "integrity": "sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==",
231 | "dev": true,
232 | "dependencies": {
233 | "@types/node": "*"
234 | }
235 | },
236 | "node_modules/@types/istanbul-lib-coverage": {
237 | "version": "2.0.3",
238 | "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
239 | "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==",
240 | "dev": true
241 | },
242 | "node_modules/@types/istanbul-lib-report": {
243 | "version": "3.0.0",
244 | "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
245 | "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
246 | "dev": true,
247 | "dependencies": {
248 | "@types/istanbul-lib-coverage": "*"
249 | }
250 | },
251 | "node_modules/@types/istanbul-reports": {
252 | "version": "3.0.1",
253 | "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
254 | "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
255 | "dev": true,
256 | "dependencies": {
257 | "@types/istanbul-lib-report": "*"
258 | }
259 | },
260 | "node_modules/@types/jest": {
261 | "version": "26.0.23",
262 | "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.23.tgz",
263 | "integrity": "sha512-ZHLmWMJ9jJ9PTiT58juykZpL7KjwJywFN3Rr2pTSkyQfydf/rk22yS7W8p5DaVUMQ2BQC7oYiU3FjbTM/mYrOA==",
264 | "dev": true,
265 | "dependencies": {
266 | "jest-diff": "^26.0.0",
267 | "pretty-format": "^26.0.0"
268 | }
269 | },
270 | "node_modules/@types/node": {
271 | "version": "15.9.0",
272 | "resolved": "https://registry.npmjs.org/@types/node/-/node-15.9.0.tgz",
273 | "integrity": "sha512-AR1Vq1Ei1GaA5FjKL5PBqblTZsL5M+monvGSZwe6sSIdGiuu7Xr/pNwWJY+0ZQuN8AapD/XMB5IzBAyYRFbocA==",
274 | "dev": true
275 | },
276 | "node_modules/@types/parse-json": {
277 | "version": "4.0.0",
278 | "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
279 | "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
280 | "dev": true
281 | },
282 | "node_modules/@types/yargs": {
283 | "version": "15.0.13",
284 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz",
285 | "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==",
286 | "dev": true,
287 | "dependencies": {
288 | "@types/yargs-parser": "*"
289 | }
290 | },
291 | "node_modules/@types/yargs-parser": {
292 | "version": "20.2.0",
293 | "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz",
294 | "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==",
295 | "dev": true
296 | },
297 | "node_modules/ansi-regex": {
298 | "version": "5.0.0",
299 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
300 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
301 | "dev": true,
302 | "engines": {
303 | "node": ">=8"
304 | }
305 | },
306 | "node_modules/ansi-styles": {
307 | "version": "4.3.0",
308 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
309 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
310 | "dev": true,
311 | "dependencies": {
312 | "color-convert": "^2.0.1"
313 | },
314 | "engines": {
315 | "node": ">=8"
316 | },
317 | "funding": {
318 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
319 | }
320 | },
321 | "node_modules/any-promise": {
322 | "version": "1.3.0",
323 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
324 | "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
325 | "dev": true
326 | },
327 | "node_modules/anymatch": {
328 | "version": "3.1.2",
329 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
330 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
331 | "dev": true,
332 | "dependencies": {
333 | "normalize-path": "^3.0.0",
334 | "picomatch": "^2.0.4"
335 | },
336 | "engines": {
337 | "node": ">= 8"
338 | }
339 | },
340 | "node_modules/array-union": {
341 | "version": "2.1.0",
342 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
343 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
344 | "dev": true,
345 | "engines": {
346 | "node": ">=8"
347 | }
348 | },
349 | "node_modules/balanced-match": {
350 | "version": "1.0.2",
351 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
352 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
353 | "dev": true
354 | },
355 | "node_modules/binary-extensions": {
356 | "version": "2.2.0",
357 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
358 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
359 | "dev": true,
360 | "engines": {
361 | "node": ">=8"
362 | }
363 | },
364 | "node_modules/brace-expansion": {
365 | "version": "1.1.11",
366 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
367 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
368 | "dev": true,
369 | "dependencies": {
370 | "balanced-match": "^1.0.0",
371 | "concat-map": "0.0.1"
372 | }
373 | },
374 | "node_modules/braces": {
375 | "version": "3.0.2",
376 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
377 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
378 | "dev": true,
379 | "dependencies": {
380 | "fill-range": "^7.0.1"
381 | },
382 | "engines": {
383 | "node": ">=8"
384 | }
385 | },
386 | "node_modules/cac": {
387 | "version": "6.7.12",
388 | "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.12.tgz",
389 | "integrity": "sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==",
390 | "dev": true,
391 | "engines": {
392 | "node": ">=8"
393 | }
394 | },
395 | "node_modules/callsites": {
396 | "version": "3.1.0",
397 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
398 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
399 | "dev": true,
400 | "engines": {
401 | "node": ">=6"
402 | }
403 | },
404 | "node_modules/chalk": {
405 | "version": "4.1.1",
406 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
407 | "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
408 | "dev": true,
409 | "dependencies": {
410 | "ansi-styles": "^4.1.0",
411 | "supports-color": "^7.1.0"
412 | },
413 | "engines": {
414 | "node": ">=10"
415 | },
416 | "funding": {
417 | "url": "https://github.com/chalk/chalk?sponsor=1"
418 | }
419 | },
420 | "node_modules/chokidar": {
421 | "version": "3.5.1",
422 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
423 | "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
424 | "dev": true,
425 | "dependencies": {
426 | "anymatch": "~3.1.1",
427 | "braces": "~3.0.2",
428 | "glob-parent": "~5.1.0",
429 | "is-binary-path": "~2.1.0",
430 | "is-glob": "~4.0.1",
431 | "normalize-path": "~3.0.0",
432 | "readdirp": "~3.5.0"
433 | },
434 | "engines": {
435 | "node": ">= 8.10.0"
436 | },
437 | "optionalDependencies": {
438 | "fsevents": "~2.3.1"
439 | }
440 | },
441 | "node_modules/color-convert": {
442 | "version": "2.0.1",
443 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
444 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
445 | "dev": true,
446 | "dependencies": {
447 | "color-name": "~1.1.4"
448 | },
449 | "engines": {
450 | "node": ">=7.0.0"
451 | }
452 | },
453 | "node_modules/color-name": {
454 | "version": "1.1.4",
455 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
456 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
457 | "dev": true
458 | },
459 | "node_modules/commander": {
460 | "version": "4.1.1",
461 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
462 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
463 | "dev": true,
464 | "engines": {
465 | "node": ">= 6"
466 | }
467 | },
468 | "node_modules/concat-map": {
469 | "version": "0.0.1",
470 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
471 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
472 | "dev": true
473 | },
474 | "node_modules/cosmiconfig": {
475 | "version": "7.0.0",
476 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
477 | "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
478 | "dev": true,
479 | "dependencies": {
480 | "@types/parse-json": "^4.0.0",
481 | "import-fresh": "^3.2.1",
482 | "parse-json": "^5.0.0",
483 | "path-type": "^4.0.0",
484 | "yaml": "^1.10.0"
485 | },
486 | "engines": {
487 | "node": ">=10"
488 | }
489 | },
490 | "node_modules/cross-env": {
491 | "version": "7.0.3",
492 | "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
493 | "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
494 | "dev": true,
495 | "dependencies": {
496 | "cross-spawn": "^7.0.1"
497 | },
498 | "bin": {
499 | "cross-env": "src/bin/cross-env.js",
500 | "cross-env-shell": "src/bin/cross-env-shell.js"
501 | },
502 | "engines": {
503 | "node": ">=10.14",
504 | "npm": ">=6",
505 | "yarn": ">=1"
506 | }
507 | },
508 | "node_modules/cross-spawn": {
509 | "version": "7.0.3",
510 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
511 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
512 | "dev": true,
513 | "dependencies": {
514 | "path-key": "^3.1.0",
515 | "shebang-command": "^2.0.0",
516 | "which": "^2.0.1"
517 | },
518 | "engines": {
519 | "node": ">= 8"
520 | }
521 | },
522 | "node_modules/debug": {
523 | "version": "4.3.1",
524 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
525 | "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
526 | "dev": true,
527 | "dependencies": {
528 | "ms": "2.1.2"
529 | },
530 | "engines": {
531 | "node": ">=6.0"
532 | },
533 | "peerDependenciesMeta": {
534 | "supports-color": {
535 | "optional": true
536 | }
537 | }
538 | },
539 | "node_modules/diff-sequences": {
540 | "version": "26.6.2",
541 | "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
542 | "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==",
543 | "dev": true,
544 | "engines": {
545 | "node": ">= 10.14.2"
546 | }
547 | },
548 | "node_modules/dir-glob": {
549 | "version": "3.0.1",
550 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
551 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
552 | "dev": true,
553 | "dependencies": {
554 | "path-type": "^4.0.0"
555 | },
556 | "engines": {
557 | "node": ">=8"
558 | }
559 | },
560 | "node_modules/error-ex": {
561 | "version": "1.3.2",
562 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
563 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
564 | "dev": true,
565 | "dependencies": {
566 | "is-arrayish": "^0.2.1"
567 | }
568 | },
569 | "node_modules/execa": {
570 | "version": "5.1.0",
571 | "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.0.tgz",
572 | "integrity": "sha512-CkdUB7s2y6S+d4y+OM/+ZtQcJCiKUCth4cNImGMqrt2zEVtW2rfHGspQBE1GDo6LjeNIQmTPKXqTCKjqFKyu3A==",
573 | "dev": true,
574 | "dependencies": {
575 | "cross-spawn": "^7.0.3",
576 | "get-stream": "^6.0.0",
577 | "human-signals": "^2.1.0",
578 | "is-stream": "^2.0.0",
579 | "merge-stream": "^2.0.0",
580 | "npm-run-path": "^4.0.1",
581 | "onetime": "^5.1.2",
582 | "signal-exit": "^3.0.3",
583 | "strip-final-newline": "^2.0.0"
584 | },
585 | "engines": {
586 | "node": ">=10"
587 | },
588 | "funding": {
589 | "url": "https://github.com/sindresorhus/execa?sponsor=1"
590 | }
591 | },
592 | "node_modules/fast-glob": {
593 | "version": "3.2.5",
594 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz",
595 | "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==",
596 | "dev": true,
597 | "dependencies": {
598 | "@nodelib/fs.stat": "^2.0.2",
599 | "@nodelib/fs.walk": "^1.2.3",
600 | "glob-parent": "^5.1.0",
601 | "merge2": "^1.3.0",
602 | "micromatch": "^4.0.2",
603 | "picomatch": "^2.2.1"
604 | },
605 | "engines": {
606 | "node": ">=8"
607 | }
608 | },
609 | "node_modules/fastq": {
610 | "version": "1.11.0",
611 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz",
612 | "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==",
613 | "dev": true,
614 | "dependencies": {
615 | "reusify": "^1.0.4"
616 | }
617 | },
618 | "node_modules/fill-range": {
619 | "version": "7.0.1",
620 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
621 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
622 | "dev": true,
623 | "dependencies": {
624 | "to-regex-range": "^5.0.1"
625 | },
626 | "engines": {
627 | "node": ">=8"
628 | }
629 | },
630 | "node_modules/fs.realpath": {
631 | "version": "1.0.0",
632 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
633 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
634 | "dev": true
635 | },
636 | "node_modules/fsevents": {
637 | "version": "2.3.2",
638 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
639 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
640 | "dev": true,
641 | "hasInstallScript": true,
642 | "optional": true,
643 | "os": [
644 | "darwin"
645 | ],
646 | "engines": {
647 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
648 | }
649 | },
650 | "node_modules/get-stream": {
651 | "version": "6.0.1",
652 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
653 | "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
654 | "dev": true,
655 | "engines": {
656 | "node": ">=10"
657 | },
658 | "funding": {
659 | "url": "https://github.com/sponsors/sindresorhus"
660 | }
661 | },
662 | "node_modules/glob-parent": {
663 | "version": "5.1.2",
664 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
665 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
666 | "dev": true,
667 | "dependencies": {
668 | "is-glob": "^4.0.1"
669 | },
670 | "engines": {
671 | "node": ">= 6"
672 | }
673 | },
674 | "node_modules/globby": {
675 | "version": "11.0.3",
676 | "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz",
677 | "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==",
678 | "dev": true,
679 | "dependencies": {
680 | "array-union": "^2.1.0",
681 | "dir-glob": "^3.0.1",
682 | "fast-glob": "^3.1.1",
683 | "ignore": "^5.1.4",
684 | "merge2": "^1.3.0",
685 | "slash": "^3.0.0"
686 | },
687 | "engines": {
688 | "node": ">=10"
689 | },
690 | "funding": {
691 | "url": "https://github.com/sponsors/sindresorhus"
692 | }
693 | },
694 | "node_modules/has-flag": {
695 | "version": "4.0.0",
696 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
697 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
698 | "dev": true,
699 | "engines": {
700 | "node": ">=8"
701 | }
702 | },
703 | "node_modules/human-signals": {
704 | "version": "2.1.0",
705 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
706 | "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
707 | "dev": true,
708 | "engines": {
709 | "node": ">=10.17.0"
710 | }
711 | },
712 | "node_modules/ignore": {
713 | "version": "5.1.8",
714 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
715 | "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
716 | "dev": true,
717 | "engines": {
718 | "node": ">= 4"
719 | }
720 | },
721 | "node_modules/import-cwd": {
722 | "version": "3.0.0",
723 | "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz",
724 | "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==",
725 | "dev": true,
726 | "dependencies": {
727 | "import-from": "^3.0.0"
728 | },
729 | "engines": {
730 | "node": ">=8"
731 | }
732 | },
733 | "node_modules/import-fresh": {
734 | "version": "3.3.0",
735 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
736 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
737 | "dev": true,
738 | "dependencies": {
739 | "parent-module": "^1.0.0",
740 | "resolve-from": "^4.0.0"
741 | },
742 | "engines": {
743 | "node": ">=6"
744 | },
745 | "funding": {
746 | "url": "https://github.com/sponsors/sindresorhus"
747 | }
748 | },
749 | "node_modules/import-fresh/node_modules/resolve-from": {
750 | "version": "4.0.0",
751 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
752 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
753 | "dev": true,
754 | "engines": {
755 | "node": ">=4"
756 | }
757 | },
758 | "node_modules/import-from": {
759 | "version": "3.0.0",
760 | "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz",
761 | "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==",
762 | "dev": true,
763 | "dependencies": {
764 | "resolve-from": "^5.0.0"
765 | },
766 | "engines": {
767 | "node": ">=8"
768 | }
769 | },
770 | "node_modules/inflight": {
771 | "version": "1.0.6",
772 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
773 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
774 | "dev": true,
775 | "dependencies": {
776 | "once": "^1.3.0",
777 | "wrappy": "1"
778 | }
779 | },
780 | "node_modules/inherits": {
781 | "version": "2.0.4",
782 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
783 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
784 | "dev": true
785 | },
786 | "node_modules/is-arrayish": {
787 | "version": "0.2.1",
788 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
789 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
790 | "dev": true
791 | },
792 | "node_modules/is-binary-path": {
793 | "version": "2.1.0",
794 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
795 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
796 | "dev": true,
797 | "dependencies": {
798 | "binary-extensions": "^2.0.0"
799 | },
800 | "engines": {
801 | "node": ">=8"
802 | }
803 | },
804 | "node_modules/is-extglob": {
805 | "version": "2.1.1",
806 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
807 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
808 | "dev": true,
809 | "engines": {
810 | "node": ">=0.10.0"
811 | }
812 | },
813 | "node_modules/is-glob": {
814 | "version": "4.0.1",
815 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
816 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
817 | "dev": true,
818 | "dependencies": {
819 | "is-extglob": "^2.1.1"
820 | },
821 | "engines": {
822 | "node": ">=0.10.0"
823 | }
824 | },
825 | "node_modules/is-number": {
826 | "version": "7.0.0",
827 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
828 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
829 | "dev": true,
830 | "engines": {
831 | "node": ">=0.12.0"
832 | }
833 | },
834 | "node_modules/is-stream": {
835 | "version": "2.0.0",
836 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
837 | "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
838 | "dev": true,
839 | "engines": {
840 | "node": ">=8"
841 | }
842 | },
843 | "node_modules/isexe": {
844 | "version": "2.0.0",
845 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
846 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
847 | "dev": true
848 | },
849 | "node_modules/jest-diff": {
850 | "version": "26.6.2",
851 | "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz",
852 | "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==",
853 | "dev": true,
854 | "dependencies": {
855 | "chalk": "^4.0.0",
856 | "diff-sequences": "^26.6.2",
857 | "jest-get-type": "^26.3.0",
858 | "pretty-format": "^26.6.2"
859 | },
860 | "engines": {
861 | "node": ">= 10.14.2"
862 | }
863 | },
864 | "node_modules/jest-get-type": {
865 | "version": "26.3.0",
866 | "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
867 | "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
868 | "dev": true,
869 | "engines": {
870 | "node": ">= 10.14.2"
871 | }
872 | },
873 | "node_modules/joycon": {
874 | "version": "3.0.1",
875 | "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.0.1.tgz",
876 | "integrity": "sha512-SJcJNBg32dGgxhPtM0wQqxqV0ax9k/9TaUskGDSJkSFSQOEWWvQ3zzWdGQRIUry2j1zA5+ReH13t0Mf3StuVZA==",
877 | "dev": true,
878 | "engines": {
879 | "node": ">=10"
880 | }
881 | },
882 | "node_modules/js-tokens": {
883 | "version": "4.0.0",
884 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
885 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
886 | "dev": true
887 | },
888 | "node_modules/json-parse-even-better-errors": {
889 | "version": "2.3.1",
890 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
891 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
892 | "dev": true
893 | },
894 | "node_modules/lines-and-columns": {
895 | "version": "1.1.6",
896 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
897 | "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
898 | "dev": true
899 | },
900 | "node_modules/merge-stream": {
901 | "version": "2.0.0",
902 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
903 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
904 | "dev": true
905 | },
906 | "node_modules/merge2": {
907 | "version": "1.4.1",
908 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
909 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
910 | "dev": true,
911 | "engines": {
912 | "node": ">= 8"
913 | }
914 | },
915 | "node_modules/micromatch": {
916 | "version": "4.0.4",
917 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
918 | "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
919 | "dev": true,
920 | "dependencies": {
921 | "braces": "^3.0.1",
922 | "picomatch": "^2.2.3"
923 | },
924 | "engines": {
925 | "node": ">=8.6"
926 | }
927 | },
928 | "node_modules/mimic-fn": {
929 | "version": "2.1.0",
930 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
931 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
932 | "dev": true,
933 | "engines": {
934 | "node": ">=6"
935 | }
936 | },
937 | "node_modules/minimatch": {
938 | "version": "3.0.4",
939 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
940 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
941 | "dev": true,
942 | "dependencies": {
943 | "brace-expansion": "^1.1.7"
944 | },
945 | "engines": {
946 | "node": "*"
947 | }
948 | },
949 | "node_modules/ms": {
950 | "version": "2.1.2",
951 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
952 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
953 | "dev": true
954 | },
955 | "node_modules/mz": {
956 | "version": "2.7.0",
957 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
958 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
959 | "dev": true,
960 | "dependencies": {
961 | "any-promise": "^1.0.0",
962 | "object-assign": "^4.0.1",
963 | "thenify-all": "^1.0.0"
964 | }
965 | },
966 | "node_modules/node-modules-regexp": {
967 | "version": "1.0.0",
968 | "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
969 | "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
970 | "dev": true,
971 | "engines": {
972 | "node": ">=0.10.0"
973 | }
974 | },
975 | "node_modules/normalize-path": {
976 | "version": "3.0.0",
977 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
978 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
979 | "dev": true,
980 | "engines": {
981 | "node": ">=0.10.0"
982 | }
983 | },
984 | "node_modules/npm-run-path": {
985 | "version": "4.0.1",
986 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
987 | "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
988 | "dev": true,
989 | "dependencies": {
990 | "path-key": "^3.0.0"
991 | },
992 | "engines": {
993 | "node": ">=8"
994 | }
995 | },
996 | "node_modules/object-assign": {
997 | "version": "4.1.1",
998 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
999 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
1000 | "dev": true,
1001 | "engines": {
1002 | "node": ">=0.10.0"
1003 | }
1004 | },
1005 | "node_modules/once": {
1006 | "version": "1.4.0",
1007 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1008 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1009 | "dev": true,
1010 | "dependencies": {
1011 | "wrappy": "1"
1012 | }
1013 | },
1014 | "node_modules/onetime": {
1015 | "version": "5.1.2",
1016 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
1017 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
1018 | "dev": true,
1019 | "dependencies": {
1020 | "mimic-fn": "^2.1.0"
1021 | },
1022 | "engines": {
1023 | "node": ">=6"
1024 | },
1025 | "funding": {
1026 | "url": "https://github.com/sponsors/sindresorhus"
1027 | }
1028 | },
1029 | "node_modules/parent-module": {
1030 | "version": "1.0.1",
1031 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
1032 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
1033 | "dev": true,
1034 | "dependencies": {
1035 | "callsites": "^3.0.0"
1036 | },
1037 | "engines": {
1038 | "node": ">=6"
1039 | }
1040 | },
1041 | "node_modules/parse-json": {
1042 | "version": "5.2.0",
1043 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
1044 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
1045 | "dev": true,
1046 | "dependencies": {
1047 | "@babel/code-frame": "^7.0.0",
1048 | "error-ex": "^1.3.1",
1049 | "json-parse-even-better-errors": "^2.3.0",
1050 | "lines-and-columns": "^1.1.6"
1051 | },
1052 | "engines": {
1053 | "node": ">=8"
1054 | },
1055 | "funding": {
1056 | "url": "https://github.com/sponsors/sindresorhus"
1057 | }
1058 | },
1059 | "node_modules/path-is-absolute": {
1060 | "version": "1.0.1",
1061 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1062 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1063 | "dev": true,
1064 | "engines": {
1065 | "node": ">=0.10.0"
1066 | }
1067 | },
1068 | "node_modules/path-key": {
1069 | "version": "3.1.1",
1070 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1071 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1072 | "dev": true,
1073 | "engines": {
1074 | "node": ">=8"
1075 | }
1076 | },
1077 | "node_modules/path-type": {
1078 | "version": "4.0.0",
1079 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
1080 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
1081 | "dev": true,
1082 | "engines": {
1083 | "node": ">=8"
1084 | }
1085 | },
1086 | "node_modules/picomatch": {
1087 | "version": "2.3.0",
1088 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
1089 | "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
1090 | "dev": true,
1091 | "engines": {
1092 | "node": ">=8.6"
1093 | },
1094 | "funding": {
1095 | "url": "https://github.com/sponsors/jonschlinkert"
1096 | }
1097 | },
1098 | "node_modules/pirates": {
1099 | "version": "4.0.1",
1100 | "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
1101 | "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
1102 | "dev": true,
1103 | "dependencies": {
1104 | "node-modules-regexp": "^1.0.0"
1105 | },
1106 | "engines": {
1107 | "node": ">= 6"
1108 | }
1109 | },
1110 | "node_modules/postcss-load-config": {
1111 | "version": "3.0.1",
1112 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.0.1.tgz",
1113 | "integrity": "sha512-/pDHe30UYZUD11IeG8GWx9lNtu1ToyTsZHnyy45B4Mrwr/Kb6NgYl7k753+05CJNKnjbwh4975amoPJ+TEjHNQ==",
1114 | "dev": true,
1115 | "dependencies": {
1116 | "cosmiconfig": "^7.0.0",
1117 | "import-cwd": "^3.0.0"
1118 | },
1119 | "engines": {
1120 | "node": ">= 10"
1121 | },
1122 | "funding": {
1123 | "type": "opencollective",
1124 | "url": "https://opencollective.com/postcss/"
1125 | }
1126 | },
1127 | "node_modules/prettier": {
1128 | "version": "2.3.0",
1129 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz",
1130 | "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==",
1131 | "dev": true,
1132 | "bin": {
1133 | "prettier": "bin-prettier.js"
1134 | },
1135 | "engines": {
1136 | "node": ">=10.13.0"
1137 | }
1138 | },
1139 | "node_modules/pretty-format": {
1140 | "version": "26.6.2",
1141 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
1142 | "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
1143 | "dev": true,
1144 | "dependencies": {
1145 | "@jest/types": "^26.6.2",
1146 | "ansi-regex": "^5.0.0",
1147 | "ansi-styles": "^4.0.0",
1148 | "react-is": "^17.0.1"
1149 | },
1150 | "engines": {
1151 | "node": ">= 10"
1152 | }
1153 | },
1154 | "node_modules/prisma": {
1155 | "version": "3.3.0",
1156 | "resolved": "https://registry.npmjs.org/prisma/-/prisma-3.3.0.tgz",
1157 | "integrity": "sha512-E7C9mXRwZVpcnSeJT533qGHUVrYULsE9ihFvAtQMuxhTXkxoRlMLyo/1ZOyeu9GdXP8DJ7ruLOw06kEs/N3dVg==",
1158 | "dev": true,
1159 | "hasInstallScript": true,
1160 | "dependencies": {
1161 | "@prisma/engines": "3.3.0-30.33838b0f78f1fe9052cf9a00e9761c9dc097a63c"
1162 | },
1163 | "bin": {
1164 | "prisma": "build/index.js",
1165 | "prisma2": "build/index.js"
1166 | },
1167 | "engines": {
1168 | "node": ">=12.6"
1169 | }
1170 | },
1171 | "node_modules/queue-microtask": {
1172 | "version": "1.2.3",
1173 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
1174 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
1175 | "dev": true,
1176 | "funding": [
1177 | {
1178 | "type": "github",
1179 | "url": "https://github.com/sponsors/feross"
1180 | },
1181 | {
1182 | "type": "patreon",
1183 | "url": "https://www.patreon.com/feross"
1184 | },
1185 | {
1186 | "type": "consulting",
1187 | "url": "https://feross.org/support"
1188 | }
1189 | ]
1190 | },
1191 | "node_modules/react-is": {
1192 | "version": "17.0.2",
1193 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
1194 | "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
1195 | "dev": true
1196 | },
1197 | "node_modules/readdirp": {
1198 | "version": "3.5.0",
1199 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
1200 | "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
1201 | "dev": true,
1202 | "dependencies": {
1203 | "picomatch": "^2.2.1"
1204 | },
1205 | "engines": {
1206 | "node": ">=8.10.0"
1207 | }
1208 | },
1209 | "node_modules/resolve-from": {
1210 | "version": "5.0.0",
1211 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
1212 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
1213 | "dev": true,
1214 | "engines": {
1215 | "node": ">=8"
1216 | }
1217 | },
1218 | "node_modules/reusify": {
1219 | "version": "1.0.4",
1220 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
1221 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
1222 | "dev": true,
1223 | "engines": {
1224 | "iojs": ">=1.0.0",
1225 | "node": ">=0.10.0"
1226 | }
1227 | },
1228 | "node_modules/rollup": {
1229 | "version": "2.50.6",
1230 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.50.6.tgz",
1231 | "integrity": "sha512-6c5CJPLVgo0iNaZWWliNu1Kl43tjP9LZcp6D/tkf2eLH2a9/WeHxg9vfTFl8QV/2SOyaJX37CEm9XuGM0rviUg==",
1232 | "dev": true,
1233 | "bin": {
1234 | "rollup": "dist/bin/rollup"
1235 | },
1236 | "engines": {
1237 | "node": ">=10.0.0"
1238 | },
1239 | "optionalDependencies": {
1240 | "fsevents": "~2.3.1"
1241 | }
1242 | },
1243 | "node_modules/run-parallel": {
1244 | "version": "1.2.0",
1245 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
1246 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
1247 | "dev": true,
1248 | "funding": [
1249 | {
1250 | "type": "github",
1251 | "url": "https://github.com/sponsors/feross"
1252 | },
1253 | {
1254 | "type": "patreon",
1255 | "url": "https://www.patreon.com/feross"
1256 | },
1257 | {
1258 | "type": "consulting",
1259 | "url": "https://feross.org/support"
1260 | }
1261 | ],
1262 | "dependencies": {
1263 | "queue-microtask": "^1.2.2"
1264 | }
1265 | },
1266 | "node_modules/shebang-command": {
1267 | "version": "2.0.0",
1268 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
1269 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
1270 | "dev": true,
1271 | "dependencies": {
1272 | "shebang-regex": "^3.0.0"
1273 | },
1274 | "engines": {
1275 | "node": ">=8"
1276 | }
1277 | },
1278 | "node_modules/shebang-regex": {
1279 | "version": "3.0.0",
1280 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
1281 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
1282 | "dev": true,
1283 | "engines": {
1284 | "node": ">=8"
1285 | }
1286 | },
1287 | "node_modules/signal-exit": {
1288 | "version": "3.0.3",
1289 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
1290 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
1291 | "dev": true
1292 | },
1293 | "node_modules/slash": {
1294 | "version": "3.0.0",
1295 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
1296 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
1297 | "dev": true,
1298 | "engines": {
1299 | "node": ">=8"
1300 | }
1301 | },
1302 | "node_modules/strip-final-newline": {
1303 | "version": "2.0.0",
1304 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
1305 | "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
1306 | "dev": true,
1307 | "engines": {
1308 | "node": ">=6"
1309 | }
1310 | },
1311 | "node_modules/sucrase": {
1312 | "version": "3.18.1",
1313 | "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.18.1.tgz",
1314 | "integrity": "sha512-TRyO38wwOPhLLlM8QLOG3TgMj0FKk+arlTrS9pRAanF8cAcHvgRPKIYWGO25mPSp/Rj87zMMTjFfkqIZGI6ZdA==",
1315 | "dev": true,
1316 | "dependencies": {
1317 | "commander": "^4.0.0",
1318 | "glob": "7.1.6",
1319 | "lines-and-columns": "^1.1.6",
1320 | "mz": "^2.7.0",
1321 | "pirates": "^4.0.1",
1322 | "ts-interface-checker": "^0.1.9"
1323 | },
1324 | "bin": {
1325 | "sucrase": "bin/sucrase",
1326 | "sucrase-node": "bin/sucrase-node"
1327 | },
1328 | "engines": {
1329 | "node": ">=8"
1330 | }
1331 | },
1332 | "node_modules/sucrase/node_modules/glob": {
1333 | "version": "7.1.6",
1334 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
1335 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
1336 | "dev": true,
1337 | "dependencies": {
1338 | "fs.realpath": "^1.0.0",
1339 | "inflight": "^1.0.4",
1340 | "inherits": "2",
1341 | "minimatch": "^3.0.4",
1342 | "once": "^1.3.0",
1343 | "path-is-absolute": "^1.0.0"
1344 | },
1345 | "engines": {
1346 | "node": "*"
1347 | },
1348 | "funding": {
1349 | "url": "https://github.com/sponsors/isaacs"
1350 | }
1351 | },
1352 | "node_modules/supports-color": {
1353 | "version": "7.2.0",
1354 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1355 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1356 | "dev": true,
1357 | "dependencies": {
1358 | "has-flag": "^4.0.0"
1359 | },
1360 | "engines": {
1361 | "node": ">=8"
1362 | }
1363 | },
1364 | "node_modules/thenify": {
1365 | "version": "3.3.1",
1366 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
1367 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
1368 | "dev": true,
1369 | "dependencies": {
1370 | "any-promise": "^1.0.0"
1371 | }
1372 | },
1373 | "node_modules/thenify-all": {
1374 | "version": "1.6.0",
1375 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
1376 | "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
1377 | "dev": true,
1378 | "dependencies": {
1379 | "thenify": ">= 3.1.0 < 4"
1380 | },
1381 | "engines": {
1382 | "node": ">=0.8"
1383 | }
1384 | },
1385 | "node_modules/to-regex-range": {
1386 | "version": "5.0.1",
1387 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1388 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1389 | "dev": true,
1390 | "dependencies": {
1391 | "is-number": "^7.0.0"
1392 | },
1393 | "engines": {
1394 | "node": ">=8.0"
1395 | }
1396 | },
1397 | "node_modules/tree-kill": {
1398 | "version": "1.2.2",
1399 | "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
1400 | "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
1401 | "dev": true,
1402 | "bin": {
1403 | "tree-kill": "cli.js"
1404 | }
1405 | },
1406 | "node_modules/ts-interface-checker": {
1407 | "version": "0.1.13",
1408 | "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
1409 | "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
1410 | "dev": true
1411 | },
1412 | "node_modules/tsup": {
1413 | "version": "4.11.2",
1414 | "resolved": "https://registry.npmjs.org/tsup/-/tsup-4.11.2.tgz",
1415 | "integrity": "sha512-cp+gy0TGzFm/3PkPNeiZ2Fvi4MKI8jj6Xq6gVpSQ+Og+6GPqfws2K4zYo11OJoccuk2LnlJIJt8xwnoYCVGpSA==",
1416 | "dev": true,
1417 | "dependencies": {
1418 | "cac": "^6.7.2",
1419 | "chalk": "^4.1.0",
1420 | "chokidar": "^3.5.1",
1421 | "debug": "^4.3.1",
1422 | "esbuild": "^0.11.12",
1423 | "execa": "^5.0.0",
1424 | "globby": "^11.0.3",
1425 | "joycon": "^3.0.1",
1426 | "postcss-load-config": "^3.0.1",
1427 | "resolve-from": "^5.0.0",
1428 | "rollup": "^2.45.2",
1429 | "sucrase": "^3.18.1",
1430 | "tree-kill": "^1.2.2"
1431 | },
1432 | "bin": {
1433 | "tsup": "dist/cli-default.js",
1434 | "tsup-node": "dist/cli-node.js"
1435 | },
1436 | "peerDependencies": {
1437 | "typescript": "^4.2.3"
1438 | },
1439 | "peerDependenciesMeta": {
1440 | "typescript": {
1441 | "optional": true
1442 | }
1443 | }
1444 | },
1445 | "node_modules/tsup/node_modules/esbuild": {
1446 | "version": "0.11.23",
1447 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.11.23.tgz",
1448 | "integrity": "sha512-iaiZZ9vUF5wJV8ob1tl+5aJTrwDczlvGP0JoMmnpC2B0ppiMCu8n8gmy5ZTGl5bcG081XBVn+U+jP+mPFm5T5Q==",
1449 | "dev": true,
1450 | "hasInstallScript": true,
1451 | "bin": {
1452 | "esbuild": "bin/esbuild"
1453 | }
1454 | },
1455 | "node_modules/typescript": {
1456 | "version": "4.3.2",
1457 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz",
1458 | "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==",
1459 | "dev": true,
1460 | "bin": {
1461 | "tsc": "bin/tsc",
1462 | "tsserver": "bin/tsserver"
1463 | },
1464 | "engines": {
1465 | "node": ">=4.2.0"
1466 | }
1467 | },
1468 | "node_modules/which": {
1469 | "version": "2.0.2",
1470 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
1471 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
1472 | "dev": true,
1473 | "dependencies": {
1474 | "isexe": "^2.0.0"
1475 | },
1476 | "bin": {
1477 | "node-which": "bin/node-which"
1478 | },
1479 | "engines": {
1480 | "node": ">= 8"
1481 | }
1482 | },
1483 | "node_modules/wrappy": {
1484 | "version": "1.0.2",
1485 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1486 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1487 | "dev": true
1488 | },
1489 | "node_modules/yaml": {
1490 | "version": "1.10.2",
1491 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
1492 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
1493 | "dev": true,
1494 | "engines": {
1495 | "node": ">= 6"
1496 | }
1497 | }
1498 | },
1499 | "dependencies": {
1500 | "@babel/code-frame": {
1501 | "version": "7.12.13",
1502 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
1503 | "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==",
1504 | "dev": true,
1505 | "requires": {
1506 | "@babel/highlight": "^7.12.13"
1507 | }
1508 | },
1509 | "@babel/helper-validator-identifier": {
1510 | "version": "7.14.0",
1511 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz",
1512 | "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==",
1513 | "dev": true
1514 | },
1515 | "@babel/highlight": {
1516 | "version": "7.14.0",
1517 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz",
1518 | "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==",
1519 | "dev": true,
1520 | "requires": {
1521 | "@babel/helper-validator-identifier": "^7.14.0",
1522 | "chalk": "^2.0.0",
1523 | "js-tokens": "^4.0.0"
1524 | },
1525 | "dependencies": {
1526 | "ansi-styles": {
1527 | "version": "3.2.1",
1528 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
1529 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
1530 | "dev": true,
1531 | "requires": {
1532 | "color-convert": "^1.9.0"
1533 | }
1534 | },
1535 | "chalk": {
1536 | "version": "2.4.2",
1537 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1538 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1539 | "dev": true,
1540 | "requires": {
1541 | "ansi-styles": "^3.2.1",
1542 | "escape-string-regexp": "^1.0.5",
1543 | "supports-color": "^5.3.0"
1544 | }
1545 | },
1546 | "color-convert": {
1547 | "version": "1.9.3",
1548 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1549 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1550 | "dev": true,
1551 | "requires": {
1552 | "color-name": "1.1.3"
1553 | }
1554 | },
1555 | "color-name": {
1556 | "version": "1.1.3",
1557 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1558 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
1559 | "dev": true
1560 | },
1561 | "escape-string-regexp": {
1562 | "version": "1.0.5",
1563 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1564 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1565 | "dev": true
1566 | },
1567 | "has-flag": {
1568 | "version": "3.0.0",
1569 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1570 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
1571 | "dev": true
1572 | },
1573 | "supports-color": {
1574 | "version": "5.5.0",
1575 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1576 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1577 | "dev": true,
1578 | "requires": {
1579 | "has-flag": "^3.0.0"
1580 | }
1581 | }
1582 | }
1583 | },
1584 | "@egoist/prettier-config": {
1585 | "version": "0.1.0",
1586 | "resolved": "https://registry.npmjs.org/@egoist/prettier-config/-/prettier-config-0.1.0.tgz",
1587 | "integrity": "sha512-BYeixvJcTY/jOgawCgFOBxYBPP0e1WQPiyZw98BsUEjSI5SbdAguRKodqcyT50wie+HGk1EuhGUzC3lfrKL4Vg==",
1588 | "dev": true
1589 | },
1590 | "@jest/types": {
1591 | "version": "26.6.2",
1592 | "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
1593 | "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
1594 | "dev": true,
1595 | "requires": {
1596 | "@types/istanbul-lib-coverage": "^2.0.0",
1597 | "@types/istanbul-reports": "^3.0.0",
1598 | "@types/node": "*",
1599 | "@types/yargs": "^15.0.0",
1600 | "chalk": "^4.0.0"
1601 | }
1602 | },
1603 | "@nodelib/fs.scandir": {
1604 | "version": "2.1.4",
1605 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz",
1606 | "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==",
1607 | "dev": true,
1608 | "requires": {
1609 | "@nodelib/fs.stat": "2.0.4",
1610 | "run-parallel": "^1.1.9"
1611 | }
1612 | },
1613 | "@nodelib/fs.stat": {
1614 | "version": "2.0.4",
1615 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz",
1616 | "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==",
1617 | "dev": true
1618 | },
1619 | "@nodelib/fs.walk": {
1620 | "version": "1.2.6",
1621 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz",
1622 | "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==",
1623 | "dev": true,
1624 | "requires": {
1625 | "@nodelib/fs.scandir": "2.1.4",
1626 | "fastq": "^1.6.0"
1627 | }
1628 | },
1629 | "@prisma/client": {
1630 | "version": "3.3.0",
1631 | "resolved": "https://registry.npmjs.org/@prisma/client/-/client-3.3.0.tgz",
1632 | "integrity": "sha512-34tonDW2v74VcG1mx+k/IUGG/eSHKwDiYKfFIZgaPLq/C0h8YQxh7pro272xpOf1pt6duX1Bi90dpGijh1MYgQ==",
1633 | "dev": true,
1634 | "requires": {
1635 | "@prisma/engines-version": "3.3.0-30.33838b0f78f1fe9052cf9a00e9761c9dc097a63c"
1636 | }
1637 | },
1638 | "@prisma/engines": {
1639 | "version": "3.3.0-30.33838b0f78f1fe9052cf9a00e9761c9dc097a63c",
1640 | "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-3.3.0-30.33838b0f78f1fe9052cf9a00e9761c9dc097a63c.tgz",
1641 | "integrity": "sha512-T3nEnRWmoneNZJPd9IBR29G8ZDUjNelA8+cG5y8/lh6vySm6ryWSNxj1s377U9YzFYyZmXiA9vK1iyxMoRff/g==",
1642 | "dev": true
1643 | },
1644 | "@prisma/engines-version": {
1645 | "version": "3.3.0-30.33838b0f78f1fe9052cf9a00e9761c9dc097a63c",
1646 | "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-3.3.0-30.33838b0f78f1fe9052cf9a00e9761c9dc097a63c.tgz",
1647 | "integrity": "sha512-g21xPYq0zHoJ/xUkNxIf5Hle0oiDyelZHU8gwq7J3RNVrccjbUZ28S99KT4yUabV8SQQRNSnR0QMLGMv9Eqs/A==",
1648 | "dev": true
1649 | },
1650 | "@sucrase/jest-plugin": {
1651 | "version": "2.1.0",
1652 | "resolved": "https://registry.npmjs.org/@sucrase/jest-plugin/-/jest-plugin-2.1.0.tgz",
1653 | "integrity": "sha512-dWxoZYS//2deHTyVdiHUoZSW9BxtM+mp5vqkW2gUHe2rdCgdzFutmqb/W9Q0OzlIZEpegzVxKz2xEfQNVoINYw==",
1654 | "dev": true,
1655 | "requires": {
1656 | "sucrase": "^3.18.0"
1657 | }
1658 | },
1659 | "@types/cross-spawn": {
1660 | "version": "6.0.2",
1661 | "resolved": "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.2.tgz",
1662 | "integrity": "sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==",
1663 | "dev": true,
1664 | "requires": {
1665 | "@types/node": "*"
1666 | }
1667 | },
1668 | "@types/istanbul-lib-coverage": {
1669 | "version": "2.0.3",
1670 | "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
1671 | "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==",
1672 | "dev": true
1673 | },
1674 | "@types/istanbul-lib-report": {
1675 | "version": "3.0.0",
1676 | "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
1677 | "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
1678 | "dev": true,
1679 | "requires": {
1680 | "@types/istanbul-lib-coverage": "*"
1681 | }
1682 | },
1683 | "@types/istanbul-reports": {
1684 | "version": "3.0.1",
1685 | "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
1686 | "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
1687 | "dev": true,
1688 | "requires": {
1689 | "@types/istanbul-lib-report": "*"
1690 | }
1691 | },
1692 | "@types/jest": {
1693 | "version": "26.0.23",
1694 | "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.23.tgz",
1695 | "integrity": "sha512-ZHLmWMJ9jJ9PTiT58juykZpL7KjwJywFN3Rr2pTSkyQfydf/rk22yS7W8p5DaVUMQ2BQC7oYiU3FjbTM/mYrOA==",
1696 | "dev": true,
1697 | "requires": {
1698 | "jest-diff": "^26.0.0",
1699 | "pretty-format": "^26.0.0"
1700 | }
1701 | },
1702 | "@types/node": {
1703 | "version": "15.9.0",
1704 | "resolved": "https://registry.npmjs.org/@types/node/-/node-15.9.0.tgz",
1705 | "integrity": "sha512-AR1Vq1Ei1GaA5FjKL5PBqblTZsL5M+monvGSZwe6sSIdGiuu7Xr/pNwWJY+0ZQuN8AapD/XMB5IzBAyYRFbocA==",
1706 | "dev": true
1707 | },
1708 | "@types/parse-json": {
1709 | "version": "4.0.0",
1710 | "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
1711 | "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
1712 | "dev": true
1713 | },
1714 | "@types/yargs": {
1715 | "version": "15.0.13",
1716 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz",
1717 | "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==",
1718 | "dev": true,
1719 | "requires": {
1720 | "@types/yargs-parser": "*"
1721 | }
1722 | },
1723 | "@types/yargs-parser": {
1724 | "version": "20.2.0",
1725 | "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz",
1726 | "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==",
1727 | "dev": true
1728 | },
1729 | "ansi-regex": {
1730 | "version": "5.0.0",
1731 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
1732 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
1733 | "dev": true
1734 | },
1735 | "ansi-styles": {
1736 | "version": "4.3.0",
1737 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1738 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1739 | "dev": true,
1740 | "requires": {
1741 | "color-convert": "^2.0.1"
1742 | }
1743 | },
1744 | "any-promise": {
1745 | "version": "1.3.0",
1746 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
1747 | "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
1748 | "dev": true
1749 | },
1750 | "anymatch": {
1751 | "version": "3.1.2",
1752 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
1753 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
1754 | "dev": true,
1755 | "requires": {
1756 | "normalize-path": "^3.0.0",
1757 | "picomatch": "^2.0.4"
1758 | }
1759 | },
1760 | "array-union": {
1761 | "version": "2.1.0",
1762 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
1763 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
1764 | "dev": true
1765 | },
1766 | "balanced-match": {
1767 | "version": "1.0.2",
1768 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
1769 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
1770 | "dev": true
1771 | },
1772 | "binary-extensions": {
1773 | "version": "2.2.0",
1774 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
1775 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
1776 | "dev": true
1777 | },
1778 | "brace-expansion": {
1779 | "version": "1.1.11",
1780 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1781 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
1782 | "dev": true,
1783 | "requires": {
1784 | "balanced-match": "^1.0.0",
1785 | "concat-map": "0.0.1"
1786 | }
1787 | },
1788 | "braces": {
1789 | "version": "3.0.2",
1790 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
1791 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
1792 | "dev": true,
1793 | "requires": {
1794 | "fill-range": "^7.0.1"
1795 | }
1796 | },
1797 | "cac": {
1798 | "version": "6.7.12",
1799 | "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.12.tgz",
1800 | "integrity": "sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==",
1801 | "dev": true
1802 | },
1803 | "callsites": {
1804 | "version": "3.1.0",
1805 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
1806 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
1807 | "dev": true
1808 | },
1809 | "chalk": {
1810 | "version": "4.1.1",
1811 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
1812 | "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
1813 | "dev": true,
1814 | "requires": {
1815 | "ansi-styles": "^4.1.0",
1816 | "supports-color": "^7.1.0"
1817 | }
1818 | },
1819 | "chokidar": {
1820 | "version": "3.5.1",
1821 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
1822 | "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
1823 | "dev": true,
1824 | "requires": {
1825 | "anymatch": "~3.1.1",
1826 | "braces": "~3.0.2",
1827 | "fsevents": "~2.3.1",
1828 | "glob-parent": "~5.1.0",
1829 | "is-binary-path": "~2.1.0",
1830 | "is-glob": "~4.0.1",
1831 | "normalize-path": "~3.0.0",
1832 | "readdirp": "~3.5.0"
1833 | }
1834 | },
1835 | "color-convert": {
1836 | "version": "2.0.1",
1837 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1838 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1839 | "dev": true,
1840 | "requires": {
1841 | "color-name": "~1.1.4"
1842 | }
1843 | },
1844 | "color-name": {
1845 | "version": "1.1.4",
1846 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1847 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1848 | "dev": true
1849 | },
1850 | "commander": {
1851 | "version": "4.1.1",
1852 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
1853 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
1854 | "dev": true
1855 | },
1856 | "concat-map": {
1857 | "version": "0.0.1",
1858 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1859 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
1860 | "dev": true
1861 | },
1862 | "cosmiconfig": {
1863 | "version": "7.0.0",
1864 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
1865 | "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
1866 | "dev": true,
1867 | "requires": {
1868 | "@types/parse-json": "^4.0.0",
1869 | "import-fresh": "^3.2.1",
1870 | "parse-json": "^5.0.0",
1871 | "path-type": "^4.0.0",
1872 | "yaml": "^1.10.0"
1873 | }
1874 | },
1875 | "cross-env": {
1876 | "version": "7.0.3",
1877 | "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
1878 | "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
1879 | "dev": true,
1880 | "requires": {
1881 | "cross-spawn": "^7.0.1"
1882 | }
1883 | },
1884 | "cross-spawn": {
1885 | "version": "7.0.3",
1886 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
1887 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
1888 | "dev": true,
1889 | "requires": {
1890 | "path-key": "^3.1.0",
1891 | "shebang-command": "^2.0.0",
1892 | "which": "^2.0.1"
1893 | }
1894 | },
1895 | "debug": {
1896 | "version": "4.3.1",
1897 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
1898 | "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
1899 | "dev": true,
1900 | "requires": {
1901 | "ms": "2.1.2"
1902 | }
1903 | },
1904 | "diff-sequences": {
1905 | "version": "26.6.2",
1906 | "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
1907 | "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==",
1908 | "dev": true
1909 | },
1910 | "dir-glob": {
1911 | "version": "3.0.1",
1912 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
1913 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
1914 | "dev": true,
1915 | "requires": {
1916 | "path-type": "^4.0.0"
1917 | }
1918 | },
1919 | "error-ex": {
1920 | "version": "1.3.2",
1921 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
1922 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
1923 | "dev": true,
1924 | "requires": {
1925 | "is-arrayish": "^0.2.1"
1926 | }
1927 | },
1928 | "execa": {
1929 | "version": "5.1.0",
1930 | "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.0.tgz",
1931 | "integrity": "sha512-CkdUB7s2y6S+d4y+OM/+ZtQcJCiKUCth4cNImGMqrt2zEVtW2rfHGspQBE1GDo6LjeNIQmTPKXqTCKjqFKyu3A==",
1932 | "dev": true,
1933 | "requires": {
1934 | "cross-spawn": "^7.0.3",
1935 | "get-stream": "^6.0.0",
1936 | "human-signals": "^2.1.0",
1937 | "is-stream": "^2.0.0",
1938 | "merge-stream": "^2.0.0",
1939 | "npm-run-path": "^4.0.1",
1940 | "onetime": "^5.1.2",
1941 | "signal-exit": "^3.0.3",
1942 | "strip-final-newline": "^2.0.0"
1943 | }
1944 | },
1945 | "fast-glob": {
1946 | "version": "3.2.5",
1947 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz",
1948 | "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==",
1949 | "dev": true,
1950 | "requires": {
1951 | "@nodelib/fs.stat": "^2.0.2",
1952 | "@nodelib/fs.walk": "^1.2.3",
1953 | "glob-parent": "^5.1.0",
1954 | "merge2": "^1.3.0",
1955 | "micromatch": "^4.0.2",
1956 | "picomatch": "^2.2.1"
1957 | }
1958 | },
1959 | "fastq": {
1960 | "version": "1.11.0",
1961 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz",
1962 | "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==",
1963 | "dev": true,
1964 | "requires": {
1965 | "reusify": "^1.0.4"
1966 | }
1967 | },
1968 | "fill-range": {
1969 | "version": "7.0.1",
1970 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
1971 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1972 | "dev": true,
1973 | "requires": {
1974 | "to-regex-range": "^5.0.1"
1975 | }
1976 | },
1977 | "fs.realpath": {
1978 | "version": "1.0.0",
1979 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1980 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1981 | "dev": true
1982 | },
1983 | "fsevents": {
1984 | "version": "2.3.2",
1985 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1986 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1987 | "dev": true,
1988 | "optional": true
1989 | },
1990 | "get-stream": {
1991 | "version": "6.0.1",
1992 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
1993 | "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
1994 | "dev": true
1995 | },
1996 | "glob-parent": {
1997 | "version": "5.1.2",
1998 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1999 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
2000 | "dev": true,
2001 | "requires": {
2002 | "is-glob": "^4.0.1"
2003 | }
2004 | },
2005 | "globby": {
2006 | "version": "11.0.3",
2007 | "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz",
2008 | "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==",
2009 | "dev": true,
2010 | "requires": {
2011 | "array-union": "^2.1.0",
2012 | "dir-glob": "^3.0.1",
2013 | "fast-glob": "^3.1.1",
2014 | "ignore": "^5.1.4",
2015 | "merge2": "^1.3.0",
2016 | "slash": "^3.0.0"
2017 | }
2018 | },
2019 | "has-flag": {
2020 | "version": "4.0.0",
2021 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
2022 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
2023 | "dev": true
2024 | },
2025 | "human-signals": {
2026 | "version": "2.1.0",
2027 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
2028 | "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
2029 | "dev": true
2030 | },
2031 | "ignore": {
2032 | "version": "5.1.8",
2033 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
2034 | "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
2035 | "dev": true
2036 | },
2037 | "import-cwd": {
2038 | "version": "3.0.0",
2039 | "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz",
2040 | "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==",
2041 | "dev": true,
2042 | "requires": {
2043 | "import-from": "^3.0.0"
2044 | }
2045 | },
2046 | "import-fresh": {
2047 | "version": "3.3.0",
2048 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
2049 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
2050 | "dev": true,
2051 | "requires": {
2052 | "parent-module": "^1.0.0",
2053 | "resolve-from": "^4.0.0"
2054 | },
2055 | "dependencies": {
2056 | "resolve-from": {
2057 | "version": "4.0.0",
2058 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
2059 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
2060 | "dev": true
2061 | }
2062 | }
2063 | },
2064 | "import-from": {
2065 | "version": "3.0.0",
2066 | "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz",
2067 | "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==",
2068 | "dev": true,
2069 | "requires": {
2070 | "resolve-from": "^5.0.0"
2071 | }
2072 | },
2073 | "inflight": {
2074 | "version": "1.0.6",
2075 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
2076 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
2077 | "dev": true,
2078 | "requires": {
2079 | "once": "^1.3.0",
2080 | "wrappy": "1"
2081 | }
2082 | },
2083 | "inherits": {
2084 | "version": "2.0.4",
2085 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
2086 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
2087 | "dev": true
2088 | },
2089 | "is-arrayish": {
2090 | "version": "0.2.1",
2091 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
2092 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
2093 | "dev": true
2094 | },
2095 | "is-binary-path": {
2096 | "version": "2.1.0",
2097 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
2098 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
2099 | "dev": true,
2100 | "requires": {
2101 | "binary-extensions": "^2.0.0"
2102 | }
2103 | },
2104 | "is-extglob": {
2105 | "version": "2.1.1",
2106 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
2107 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
2108 | "dev": true
2109 | },
2110 | "is-glob": {
2111 | "version": "4.0.1",
2112 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
2113 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
2114 | "dev": true,
2115 | "requires": {
2116 | "is-extglob": "^2.1.1"
2117 | }
2118 | },
2119 | "is-number": {
2120 | "version": "7.0.0",
2121 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
2122 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
2123 | "dev": true
2124 | },
2125 | "is-stream": {
2126 | "version": "2.0.0",
2127 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
2128 | "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
2129 | "dev": true
2130 | },
2131 | "isexe": {
2132 | "version": "2.0.0",
2133 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2134 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
2135 | "dev": true
2136 | },
2137 | "jest-diff": {
2138 | "version": "26.6.2",
2139 | "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz",
2140 | "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==",
2141 | "dev": true,
2142 | "requires": {
2143 | "chalk": "^4.0.0",
2144 | "diff-sequences": "^26.6.2",
2145 | "jest-get-type": "^26.3.0",
2146 | "pretty-format": "^26.6.2"
2147 | }
2148 | },
2149 | "jest-get-type": {
2150 | "version": "26.3.0",
2151 | "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
2152 | "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==",
2153 | "dev": true
2154 | },
2155 | "joycon": {
2156 | "version": "3.0.1",
2157 | "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.0.1.tgz",
2158 | "integrity": "sha512-SJcJNBg32dGgxhPtM0wQqxqV0ax9k/9TaUskGDSJkSFSQOEWWvQ3zzWdGQRIUry2j1zA5+ReH13t0Mf3StuVZA==",
2159 | "dev": true
2160 | },
2161 | "js-tokens": {
2162 | "version": "4.0.0",
2163 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2164 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
2165 | "dev": true
2166 | },
2167 | "json-parse-even-better-errors": {
2168 | "version": "2.3.1",
2169 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
2170 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
2171 | "dev": true
2172 | },
2173 | "lines-and-columns": {
2174 | "version": "1.1.6",
2175 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
2176 | "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
2177 | "dev": true
2178 | },
2179 | "merge-stream": {
2180 | "version": "2.0.0",
2181 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
2182 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
2183 | "dev": true
2184 | },
2185 | "merge2": {
2186 | "version": "1.4.1",
2187 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
2188 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
2189 | "dev": true
2190 | },
2191 | "micromatch": {
2192 | "version": "4.0.4",
2193 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
2194 | "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
2195 | "dev": true,
2196 | "requires": {
2197 | "braces": "^3.0.1",
2198 | "picomatch": "^2.2.3"
2199 | }
2200 | },
2201 | "mimic-fn": {
2202 | "version": "2.1.0",
2203 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
2204 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
2205 | "dev": true
2206 | },
2207 | "minimatch": {
2208 | "version": "3.0.4",
2209 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2210 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2211 | "dev": true,
2212 | "requires": {
2213 | "brace-expansion": "^1.1.7"
2214 | }
2215 | },
2216 | "ms": {
2217 | "version": "2.1.2",
2218 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2219 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
2220 | "dev": true
2221 | },
2222 | "mz": {
2223 | "version": "2.7.0",
2224 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
2225 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
2226 | "dev": true,
2227 | "requires": {
2228 | "any-promise": "^1.0.0",
2229 | "object-assign": "^4.0.1",
2230 | "thenify-all": "^1.0.0"
2231 | }
2232 | },
2233 | "node-modules-regexp": {
2234 | "version": "1.0.0",
2235 | "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
2236 | "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
2237 | "dev": true
2238 | },
2239 | "normalize-path": {
2240 | "version": "3.0.0",
2241 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
2242 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
2243 | "dev": true
2244 | },
2245 | "npm-run-path": {
2246 | "version": "4.0.1",
2247 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
2248 | "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
2249 | "dev": true,
2250 | "requires": {
2251 | "path-key": "^3.0.0"
2252 | }
2253 | },
2254 | "object-assign": {
2255 | "version": "4.1.1",
2256 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
2257 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
2258 | "dev": true
2259 | },
2260 | "once": {
2261 | "version": "1.4.0",
2262 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2263 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
2264 | "dev": true,
2265 | "requires": {
2266 | "wrappy": "1"
2267 | }
2268 | },
2269 | "onetime": {
2270 | "version": "5.1.2",
2271 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
2272 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
2273 | "dev": true,
2274 | "requires": {
2275 | "mimic-fn": "^2.1.0"
2276 | }
2277 | },
2278 | "parent-module": {
2279 | "version": "1.0.1",
2280 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
2281 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
2282 | "dev": true,
2283 | "requires": {
2284 | "callsites": "^3.0.0"
2285 | }
2286 | },
2287 | "parse-json": {
2288 | "version": "5.2.0",
2289 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
2290 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
2291 | "dev": true,
2292 | "requires": {
2293 | "@babel/code-frame": "^7.0.0",
2294 | "error-ex": "^1.3.1",
2295 | "json-parse-even-better-errors": "^2.3.0",
2296 | "lines-and-columns": "^1.1.6"
2297 | }
2298 | },
2299 | "path-is-absolute": {
2300 | "version": "1.0.1",
2301 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2302 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
2303 | "dev": true
2304 | },
2305 | "path-key": {
2306 | "version": "3.1.1",
2307 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
2308 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
2309 | "dev": true
2310 | },
2311 | "path-type": {
2312 | "version": "4.0.0",
2313 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
2314 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
2315 | "dev": true
2316 | },
2317 | "picomatch": {
2318 | "version": "2.3.0",
2319 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
2320 | "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
2321 | "dev": true
2322 | },
2323 | "pirates": {
2324 | "version": "4.0.1",
2325 | "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
2326 | "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
2327 | "dev": true,
2328 | "requires": {
2329 | "node-modules-regexp": "^1.0.0"
2330 | }
2331 | },
2332 | "postcss-load-config": {
2333 | "version": "3.0.1",
2334 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.0.1.tgz",
2335 | "integrity": "sha512-/pDHe30UYZUD11IeG8GWx9lNtu1ToyTsZHnyy45B4Mrwr/Kb6NgYl7k753+05CJNKnjbwh4975amoPJ+TEjHNQ==",
2336 | "dev": true,
2337 | "requires": {
2338 | "cosmiconfig": "^7.0.0",
2339 | "import-cwd": "^3.0.0"
2340 | }
2341 | },
2342 | "prettier": {
2343 | "version": "2.3.0",
2344 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz",
2345 | "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==",
2346 | "dev": true
2347 | },
2348 | "pretty-format": {
2349 | "version": "26.6.2",
2350 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz",
2351 | "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==",
2352 | "dev": true,
2353 | "requires": {
2354 | "@jest/types": "^26.6.2",
2355 | "ansi-regex": "^5.0.0",
2356 | "ansi-styles": "^4.0.0",
2357 | "react-is": "^17.0.1"
2358 | }
2359 | },
2360 | "prisma": {
2361 | "version": "3.3.0",
2362 | "resolved": "https://registry.npmjs.org/prisma/-/prisma-3.3.0.tgz",
2363 | "integrity": "sha512-E7C9mXRwZVpcnSeJT533qGHUVrYULsE9ihFvAtQMuxhTXkxoRlMLyo/1ZOyeu9GdXP8DJ7ruLOw06kEs/N3dVg==",
2364 | "dev": true,
2365 | "requires": {
2366 | "@prisma/engines": "3.3.0-30.33838b0f78f1fe9052cf9a00e9761c9dc097a63c"
2367 | }
2368 | },
2369 | "queue-microtask": {
2370 | "version": "1.2.3",
2371 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
2372 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
2373 | "dev": true
2374 | },
2375 | "react-is": {
2376 | "version": "17.0.2",
2377 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
2378 | "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
2379 | "dev": true
2380 | },
2381 | "readdirp": {
2382 | "version": "3.5.0",
2383 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
2384 | "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
2385 | "dev": true,
2386 | "requires": {
2387 | "picomatch": "^2.2.1"
2388 | }
2389 | },
2390 | "resolve-from": {
2391 | "version": "5.0.0",
2392 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
2393 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
2394 | "dev": true
2395 | },
2396 | "reusify": {
2397 | "version": "1.0.4",
2398 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
2399 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
2400 | "dev": true
2401 | },
2402 | "rollup": {
2403 | "version": "2.50.6",
2404 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.50.6.tgz",
2405 | "integrity": "sha512-6c5CJPLVgo0iNaZWWliNu1Kl43tjP9LZcp6D/tkf2eLH2a9/WeHxg9vfTFl8QV/2SOyaJX37CEm9XuGM0rviUg==",
2406 | "dev": true,
2407 | "requires": {
2408 | "fsevents": "~2.3.1"
2409 | }
2410 | },
2411 | "run-parallel": {
2412 | "version": "1.2.0",
2413 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
2414 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
2415 | "dev": true,
2416 | "requires": {
2417 | "queue-microtask": "^1.2.2"
2418 | }
2419 | },
2420 | "shebang-command": {
2421 | "version": "2.0.0",
2422 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2423 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2424 | "dev": true,
2425 | "requires": {
2426 | "shebang-regex": "^3.0.0"
2427 | }
2428 | },
2429 | "shebang-regex": {
2430 | "version": "3.0.0",
2431 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2432 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2433 | "dev": true
2434 | },
2435 | "signal-exit": {
2436 | "version": "3.0.3",
2437 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
2438 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
2439 | "dev": true
2440 | },
2441 | "slash": {
2442 | "version": "3.0.0",
2443 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
2444 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
2445 | "dev": true
2446 | },
2447 | "strip-final-newline": {
2448 | "version": "2.0.0",
2449 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
2450 | "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
2451 | "dev": true
2452 | },
2453 | "sucrase": {
2454 | "version": "3.18.1",
2455 | "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.18.1.tgz",
2456 | "integrity": "sha512-TRyO38wwOPhLLlM8QLOG3TgMj0FKk+arlTrS9pRAanF8cAcHvgRPKIYWGO25mPSp/Rj87zMMTjFfkqIZGI6ZdA==",
2457 | "dev": true,
2458 | "requires": {
2459 | "commander": "^4.0.0",
2460 | "glob": "7.1.6",
2461 | "lines-and-columns": "^1.1.6",
2462 | "mz": "^2.7.0",
2463 | "pirates": "^4.0.1",
2464 | "ts-interface-checker": "^0.1.9"
2465 | },
2466 | "dependencies": {
2467 | "glob": {
2468 | "version": "7.1.6",
2469 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
2470 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
2471 | "dev": true,
2472 | "requires": {
2473 | "fs.realpath": "^1.0.0",
2474 | "inflight": "^1.0.4",
2475 | "inherits": "2",
2476 | "minimatch": "^3.0.4",
2477 | "once": "^1.3.0",
2478 | "path-is-absolute": "^1.0.0"
2479 | }
2480 | }
2481 | }
2482 | },
2483 | "supports-color": {
2484 | "version": "7.2.0",
2485 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
2486 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
2487 | "dev": true,
2488 | "requires": {
2489 | "has-flag": "^4.0.0"
2490 | }
2491 | },
2492 | "thenify": {
2493 | "version": "3.3.1",
2494 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
2495 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
2496 | "dev": true,
2497 | "requires": {
2498 | "any-promise": "^1.0.0"
2499 | }
2500 | },
2501 | "thenify-all": {
2502 | "version": "1.6.0",
2503 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
2504 | "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
2505 | "dev": true,
2506 | "requires": {
2507 | "thenify": ">= 3.1.0 < 4"
2508 | }
2509 | },
2510 | "to-regex-range": {
2511 | "version": "5.0.1",
2512 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
2513 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
2514 | "dev": true,
2515 | "requires": {
2516 | "is-number": "^7.0.0"
2517 | }
2518 | },
2519 | "tree-kill": {
2520 | "version": "1.2.2",
2521 | "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
2522 | "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
2523 | "dev": true
2524 | },
2525 | "ts-interface-checker": {
2526 | "version": "0.1.13",
2527 | "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
2528 | "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
2529 | "dev": true
2530 | },
2531 | "tsup": {
2532 | "version": "4.11.2",
2533 | "resolved": "https://registry.npmjs.org/tsup/-/tsup-4.11.2.tgz",
2534 | "integrity": "sha512-cp+gy0TGzFm/3PkPNeiZ2Fvi4MKI8jj6Xq6gVpSQ+Og+6GPqfws2K4zYo11OJoccuk2LnlJIJt8xwnoYCVGpSA==",
2535 | "dev": true,
2536 | "requires": {
2537 | "cac": "^6.7.2",
2538 | "chalk": "^4.1.0",
2539 | "chokidar": "^3.5.1",
2540 | "debug": "^4.3.1",
2541 | "esbuild": "^0.11.12",
2542 | "execa": "^5.0.0",
2543 | "globby": "^11.0.3",
2544 | "joycon": "^3.0.1",
2545 | "postcss-load-config": "^3.0.1",
2546 | "resolve-from": "^5.0.0",
2547 | "rollup": "^2.45.2",
2548 | "sucrase": "^3.18.1",
2549 | "tree-kill": "^1.2.2"
2550 | },
2551 | "dependencies": {
2552 | "esbuild": {
2553 | "version": "0.11.23",
2554 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.11.23.tgz",
2555 | "integrity": "sha512-iaiZZ9vUF5wJV8ob1tl+5aJTrwDczlvGP0JoMmnpC2B0ppiMCu8n8gmy5ZTGl5bcG081XBVn+U+jP+mPFm5T5Q==",
2556 | "dev": true
2557 | }
2558 | }
2559 | },
2560 | "typescript": {
2561 | "version": "4.3.2",
2562 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz",
2563 | "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==",
2564 | "dev": true
2565 | },
2566 | "which": {
2567 | "version": "2.0.2",
2568 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2569 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2570 | "dev": true,
2571 | "requires": {
2572 | "isexe": "^2.0.0"
2573 | }
2574 | },
2575 | "wrappy": {
2576 | "version": "1.0.2",
2577 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2578 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
2579 | "dev": true
2580 | },
2581 | "yaml": {
2582 | "version": "1.10.2",
2583 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
2584 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
2585 | "dev": true
2586 | }
2587 | }
2588 | }
2589 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "prisma-repl",
3 | "version": "0.0.0",
4 | "description": "REPL for Prisma databases",
5 | "publishConfig": {
6 | "access": "public"
7 | },
8 | "files": [
9 | "dist"
10 | ],
11 | "bin": "./dist/cli-wrapper.js",
12 | "scripts": {
13 | "build": "tsup src/cli.ts src/cli-wrapper.ts --format cjs --no-splitting --external @prisma/client",
14 | "test": "echo lol",
15 | "prepublishOnly": "npm run build",
16 | "demo": "npm run build && node ./dist/cli-wrapper.js"
17 | },
18 | "license": "MIT",
19 | "devDependencies": {
20 | "@egoist/prettier-config": "^0.1.0",
21 | "@prisma/client": "^3.3.0",
22 | "@sucrase/jest-plugin": "^2.0.0",
23 | "@types/cross-spawn": "^6.0.2",
24 | "@types/jest": "^26.0.20",
25 | "cac": "^6.7.12",
26 | "cross-env": "^7.0.3",
27 | "cross-spawn": "^7.0.3",
28 | "execa": "^5.1.0",
29 | "prettier": "^2.2.1",
30 | "prisma": "^3.3.0",
31 | "tsup": "^4.11.2",
32 | "typescript": "^4.2.3"
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/prisma/schema.prisma:
--------------------------------------------------------------------------------
1 | // This is your Prisma schema file,
2 | // learn more about it in the docs: https://pris.ly/d/prisma-schema
3 |
4 | datasource db {
5 | provider = "sqlite"
6 | url = env("DATABASE_URL")
7 | }
8 |
9 | generator client {
10 | provider = "prisma-client-js"
11 | }
12 |
13 | model User {
14 | id Int @id @default(autoincrement())
15 | name String
16 | }
17 |
18 | model Post2 {
19 | id Int @id @default(autoincrement())
20 | name String
21 | }
22 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": [
3 | "config:base"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/src/cli-wrapper.ts:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | import path from 'path'
3 | import execa from 'execa'
4 |
5 | execa(
6 | 'node',
7 | [
8 | '--experimental-repl-await',
9 | path.join(__dirname, 'cli.js'),
10 | ...process.argv.slice(2),
11 | ],
12 | {
13 | env: process.env,
14 | stdio: 'inherit',
15 | },
16 | )
17 |
--------------------------------------------------------------------------------
/src/cli.ts:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | import { cac } from 'cac'
3 | import repl from 'repl'
4 | import { loadContext } from './utils'
5 | import { version } from '../package.json'
6 |
7 | const cli = cac(`prisma-repl`)
8 | cli.option('--url ', 'Override database URL')
9 | cli.option('--client ', 'The output directory for your prisma client', {
10 | default: `node_modules/@prisma/client`,
11 | })
12 | cli.option('--verbose', 'Show all Prisma logs')
13 |
14 | cli.version(version)
15 | cli.help()
16 | const {
17 | options,
18 | }: {
19 | options: { url?: string; verbose?: boolean; client?: string; help?: boolean }
20 | } = cli.parse()
21 |
22 | if (options.help) {
23 | process.exit()
24 | }
25 |
26 | if (options.url) {
27 | process.env.DATABASE_URL = options.url
28 | }
29 |
30 | const r = repl.start('> ')
31 | r.on('exit', () => process.exit())
32 |
33 | r.setupHistory('node_modules/.prisma-repl-history', (err) => {
34 | if (err) console.error(err)
35 | })
36 |
37 | const initContext = () =>
38 | loadContext(r, { verbose: options.verbose, client: options.client })
39 |
40 | r.defineCommand('reload', {
41 | help: 'Remove cache for loaded modules',
42 | action(name) {
43 | this.clearBufferedCommand()
44 | initContext()
45 | this.displayPrompt()
46 | },
47 | })
48 |
49 | initContext()
50 |
--------------------------------------------------------------------------------
/src/sh.ts:
--------------------------------------------------------------------------------
1 | import execa from 'execa'
2 |
3 | export const makeTag =
4 | (commandPrefix: string, callback?: (command: string) => void) =>
5 | (literals: TemplateStringsArray | string, ...substs: string[]) => {
6 | let command = ''
7 | if (typeof literals === 'string') {
8 | command = literals
9 | } else {
10 | command = literals.raw.reduce((acc, lit, i) => {
11 | const subst = substs[i - 1]
12 |
13 | return acc + subst + lit
14 | })
15 | }
16 | execa.commandSync(commandPrefix + command, {
17 | stdio: 'inherit',
18 | preferLocal: true,
19 | })
20 | callback && callback(command)
21 | }
22 |
--------------------------------------------------------------------------------
/src/utils.ts:
--------------------------------------------------------------------------------
1 | import { REPLServer } from 'repl'
2 | import path from 'path'
3 | import { makeTag } from './sh'
4 |
5 | export function loadContext(
6 | r: REPLServer,
7 | options: { verbose?: boolean; client?: string },
8 | ) {
9 | for (const p of Object.keys(require.cache)) {
10 | delete require.cache[p]
11 | }
12 | r.context.sh = makeTag('')
13 | r.context.prisma = makeTag('prisma ', (command) => {
14 | if (command === 'db push' || command === 'generate') {
15 | loadContext(r, options)
16 | }
17 | })
18 | r.context.db = createPrismaClient({
19 | url: process.env.DATABASE_URL,
20 | verbose: options.verbose,
21 | client: options.client,
22 | })
23 | }
24 |
25 | function createPrismaClient({
26 | url,
27 | verbose,
28 | client,
29 | }: { url?: string; verbose?: boolean; client?: string } = {}) {
30 | const {
31 | PrismaClient,
32 | }: typeof import('@prisma/client') = require(path.resolve(
33 | client || 'node_modules/@prisma/client',
34 | ))
35 | return new PrismaClient({
36 | log: verbose ? ['query', 'info', 'warn', 'error'] : undefined,
37 | datasources: url
38 | ? {
39 | db: {
40 | url,
41 | },
42 | }
43 | : undefined,
44 | })
45 | }
46 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2020",
4 | "module": "esnext",
5 | "strict": true,
6 | "esModuleInterop": true,
7 | "moduleResolution": "node",
8 | "skipLibCheck": true,
9 | "noUnusedLocals": true,
10 | "noImplicitAny": true,
11 | "allowJs": true,
12 | "resolveJsonModule": true
13 | }
14 | }
15 |
--------------------------------------------------------------------------------