├── .gitignore ├── .prettierrc ├── .vercelignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── api ├── appstore │ ├── rating-count │ │ └── [country] │ │ │ └── [id].ts │ └── rating │ │ └── [country] │ │ └── [id].ts ├── hatena │ └── b │ │ └── [url].ts └── producthunt │ └── upvotes │ └── [slug].ts ├── index.html ├── lib ├── badge.ts └── fetch.ts ├── package-lock.json ├── package.json ├── tsconfig.json └── vercel.json /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | 3 | # Created by https://www.toptal.com/developers/gitignore/api/node 4 | # Edit at https://www.toptal.com/developers/gitignore?templates=node 5 | 6 | ### Node ### 7 | # Logs 8 | logs 9 | *.log 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | lerna-debug.log* 14 | 15 | # Diagnostic reports (https://nodejs.org/api/report.html) 16 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 17 | 18 | # Runtime data 19 | pids 20 | *.pid 21 | *.seed 22 | *.pid.lock 23 | 24 | # Directory for instrumented libs generated by jscoverage/JSCover 25 | lib-cov 26 | 27 | # Coverage directory used by tools like istanbul 28 | coverage 29 | *.lcov 30 | 31 | # nyc test coverage 32 | .nyc_output 33 | 34 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 35 | .grunt 36 | 37 | # Bower dependency directory (https://bower.io/) 38 | bower_components 39 | 40 | # node-waf configuration 41 | .lock-wscript 42 | 43 | # Compiled binary addons (https://nodejs.org/api/addons.html) 44 | build/Release 45 | 46 | # Dependency directories 47 | node_modules/ 48 | jspm_packages/ 49 | 50 | # TypeScript v1 declaration files 51 | typings/ 52 | 53 | # TypeScript cache 54 | *.tsbuildinfo 55 | 56 | # Optional npm cache directory 57 | .npm 58 | 59 | # Optional eslint cache 60 | .eslintcache 61 | 62 | # Microbundle cache 63 | .rpt2_cache/ 64 | .rts2_cache_cjs/ 65 | .rts2_cache_es/ 66 | .rts2_cache_umd/ 67 | 68 | # Optional REPL history 69 | .node_repl_history 70 | 71 | # Output of 'npm pack' 72 | *.tgz 73 | 74 | # Yarn Integrity file 75 | .yarn-integrity 76 | 77 | # dotenv environment variables file 78 | .env 79 | .env.test 80 | 81 | # parcel-bundler cache (https://parceljs.org/) 82 | .cache 83 | 84 | # Next.js build output 85 | .next 86 | 87 | # Nuxt.js build / generate output 88 | .nuxt 89 | dist 90 | 91 | # Gatsby files 92 | .cache/ 93 | # Comment in the public line in if your project uses Gatsby and not Next.js 94 | # https://nextjs.org/blog/next-9-1#public-directory-support 95 | # public 96 | 97 | # vuepress build output 98 | .vuepress/dist 99 | 100 | # Serverless directories 101 | .serverless/ 102 | 103 | # FuseBox cache 104 | .fusebox/ 105 | 106 | # DynamoDB Local files 107 | .dynamodb/ 108 | 109 | # TernJS port file 110 | .tern-port 111 | 112 | # Stores VSCode versions used for testing VSCode extensions 113 | .vscode-test 114 | 115 | # End of https://www.toptal.com/developers/gitignore/api/node 116 | 117 | .vercel -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /.vercelignore: -------------------------------------------------------------------------------- 1 | .env 2 | .envrc 3 | .vscode -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guide 2 | 3 | ## Development Guide 4 | 5 | ```bash 6 | git clone https://github.com/uetchy/badge-api.git && cd badge-api 7 | npm install 8 | 9 | npm i -g vercel 10 | vc dev 11 | ``` 12 | 13 | ### Adding new badge 14 | 15 | 1. Create file-system routes for new badge in `api/` 16 | 2. Update README.md 17 | 3. Create an pull request 18 | 19 | #### File-system routes 20 | 21 | If you want your new badge location to be `badge.vercel.app/foobar/:baz`, then create a file named `[baz].ts` in `api/foobar`. 22 | 23 | ```ts 24 | import { makeBadge } from "../../../lib/badge"; 25 | import { json } from "../../../lib/fetch"; 26 | 27 | export default makeBadge(async ({ baz }) => { 28 | const response = await json(`https://example.com/api?q=${baz}`); 29 | 30 | return { 31 | label: "foobar", 32 | color: "magenta", 33 | status: response.status, 34 | }; 35 | }); 36 | ``` 37 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, and 10 | distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by the 13 | copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all other 16 | entities that control, are controlled by, or are under common control with 17 | that entity. For the purposes of this definition, "control" means (i) the 18 | power, direct or indirect, to cause the direction or management of such 19 | entity, whether by contract or otherwise, or (ii) ownership of 20 | fifty percent (50%) or more of the outstanding shares, or (iii) beneficial 21 | ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity exercising 24 | permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation source, 28 | and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical transformation 31 | or translation of a Source form, including but not limited to compiled 32 | object code, generated documentation, and conversions to 33 | other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or Object 36 | form, made available under the License, as indicated by a copyright notice 37 | that is included in or attached to the work (an example is provided in the 38 | Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object form, 41 | that is based on (or derived from) the Work and for which the editorial 42 | revisions, annotations, elaborations, or other modifications represent, 43 | as a whole, an original work of authorship. For the purposes of this 44 | License, Derivative Works shall not include works that remain separable 45 | from, or merely link (or bind by name) to the interfaces of, the Work and 46 | Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including the original 49 | version of the Work and any modifications or additions to that Work or 50 | Derivative Works thereof, that is intentionally submitted to Licensor for 51 | inclusion in the Work by the copyright owner or by an individual or 52 | Legal Entity authorized to submit on behalf of the copyright owner. 53 | For the purposes of this definition, "submitted" means any form of 54 | electronic, verbal, or written communication sent to the Licensor or its 55 | representatives, including but not limited to communication on electronic 56 | mailing lists, source code control systems, and issue tracking systems 57 | that are managed by, or on behalf of, the Licensor for the purpose of 58 | discussing and improving the Work, but excluding communication that is 59 | conspicuously marked or otherwise designated in writing by the copyright 60 | owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity on 63 | behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. 67 | 68 | Subject to the terms and conditions of this License, each Contributor 69 | hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, 70 | royalty-free, irrevocable copyright license to reproduce, prepare 71 | Derivative Works of, publicly display, publicly perform, sublicense, 72 | and distribute the Work and such Derivative Works in 73 | Source or Object form. 74 | 75 | 3. Grant of Patent License. 76 | 77 | Subject to the terms and conditions of this License, each Contributor 78 | hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, 79 | royalty-free, irrevocable (except as stated in this section) patent 80 | license to make, have made, use, offer to sell, sell, import, and 81 | otherwise transfer the Work, where such license applies only to those 82 | patent claims licensable by such Contributor that are necessarily 83 | infringed by their Contribution(s) alone or by combination of their 84 | Contribution(s) with the Work to which such Contribution(s) was submitted. 85 | If You institute patent litigation against any entity (including a 86 | cross-claim or counterclaim in a lawsuit) alleging that the Work or a 87 | Contribution incorporated within the Work constitutes direct or 88 | contributory patent infringement, then any patent licenses granted to 89 | You under this License for that Work shall terminate as of the date such 90 | litigation is filed. 91 | 92 | 4. Redistribution. 93 | 94 | You may reproduce and distribute copies of the Work or Derivative Works 95 | thereof in any medium, with or without modifications, and in Source or 96 | Object form, provided that You meet the following conditions: 97 | 98 | 1. You must give any other recipients of the Work or Derivative Works a 99 | copy of this License; and 100 | 101 | 2. You must cause any modified files to carry prominent notices stating 102 | that You changed the files; and 103 | 104 | 3. You must retain, in the Source form of any Derivative Works that You 105 | distribute, all copyright, patent, trademark, and attribution notices from 106 | the Source form of the Work, excluding those notices that do not pertain 107 | to any part of the Derivative Works; and 108 | 109 | 4. If the Work includes a "NOTICE" text file as part of its distribution, 110 | then any Derivative Works that You distribute must include a readable copy 111 | of the attribution notices contained within such NOTICE file, excluding 112 | those notices that do not pertain to any part of the Derivative Works, 113 | in at least one of the following places: within a NOTICE text file 114 | distributed as part of the Derivative Works; within the Source form or 115 | documentation, if provided along with the Derivative Works; or, within a 116 | display generated by the Derivative Works, if and wherever such 117 | third-party notices normally appear. The contents of the NOTICE file are 118 | for informational purposes only and do not modify the License. 119 | You may add Your own attribution notices within Derivative Works that You 120 | distribute, alongside or as an addendum to the NOTICE text from the Work, 121 | provided that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and may 125 | provide additional or different license terms and conditions for use, 126 | reproduction, or distribution of Your modifications, or for any such 127 | Derivative Works as a whole, provided Your use, reproduction, and 128 | distribution of the Work otherwise complies with the conditions 129 | stated in this License. 130 | 131 | 5. Submission of Contributions. 132 | 133 | Unless You explicitly state otherwise, any Contribution intentionally 134 | submitted for inclusion in the Work by You to the Licensor shall be under 135 | the terms and conditions of this License, without any additional 136 | terms or conditions. Notwithstanding the above, nothing herein shall 137 | supersede or modify the terms of any separate license agreement you may 138 | have executed with Licensor regarding such Contributions. 139 | 140 | 6. Trademarks. 141 | 142 | This License does not grant permission to use the trade names, trademarks, 143 | service marks, or product names of the Licensor, except as required for 144 | reasonable and customary use in describing the origin of the Work and 145 | reproducing the content of the NOTICE file. 146 | 147 | 7. Disclaimer of Warranty. 148 | 149 | Unless required by applicable law or agreed to in writing, Licensor 150 | provides the Work (and each Contributor provides its Contributions) 151 | on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 152 | either express or implied, including, without limitation, any warranties 153 | or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS 154 | FOR A PARTICULAR PURPOSE. You are solely responsible for determining the 155 | appropriateness of using or redistributing the Work and assume any risks 156 | associated with Your exercise of permissions under this License. 157 | 158 | 8. Limitation of Liability. 159 | 160 | In no event and under no legal theory, whether in tort 161 | (including negligence), contract, or otherwise, unless required by 162 | applicable law (such as deliberate and grossly negligent acts) or agreed 163 | to in writing, shall any Contributor be liable to You for damages, 164 | including any direct, indirect, special, incidental, or consequential 165 | damages of any character arising as a result of this License or out of 166 | the use or inability to use the Work (including but not limited to damages 167 | for loss of goodwill, work stoppage, computer failure or malfunction, 168 | or any and all other commercial damages or losses), even if such 169 | Contributor has been advised of the possibility of such damages. 170 | 171 | 9. Accepting Warranty or Additional Liability. 172 | 173 | While redistributing the Work or Derivative Works thereof, You may choose 174 | to offer, and charge a fee for, acceptance of support, warranty, 175 | indemnity, or other liability obligations and/or rights consistent with 176 | this License. However, in accepting such obligations, You may act only 177 | on Your own behalf and on Your sole responsibility, not on behalf of any 178 | other Contributor, and only if You agree to indemnify, defend, and hold 179 | each Contributor harmless for any liability incurred by, or claims 180 | asserted against, such Contributor by reason of your accepting any such 181 | warranty or additional liability. 182 | 183 | END OF TERMS AND CONDITIONS 184 | 185 | APPENDIX: How to apply the Apache License to your work 186 | 187 | To apply the Apache License to your work, attach the following boilerplate 188 | notice, with the fields enclosed by brackets "[]" replaced with your own 189 | identifying information. (Don't include the brackets!) The text should be 190 | enclosed in the appropriate comment syntax for the file format. We also 191 | recommend that a file or class name and description of purpose be included 192 | on the same "printed page" as the copyright notice for easier 193 | identification within third-party archives. 194 | 195 | Copyright 2020 Yasuaki Uechi 196 | 197 | Licensed under the Apache License, Version 2.0 (the "License"); 198 | you may not use this file except in compliance with the License. 199 | You may obtain a copy of the License at 200 | 201 | http://www.apache.org/licenses/LICENSE-2.0 202 | 203 | Unless required by applicable law or agreed to in writing, software 204 | distributed under the License is distributed on an "AS IS" BASIS, 205 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 206 | or implied. See the License for the specific language governing 207 | permissions and limitations under the License. 208 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Badge API 2 | 3 | ## Gallery 4 | 5 | ### App Store 6 | 7 | ``` 8 | https://badge.vercel.app/appstore/:subject/:country/:id 9 | ``` 10 | 11 | | subject | badge | url | 12 | | ------------ | ------------------------------------------------------------------- | ---------------------------------------------------------------- | 13 | | rating | ![](https://badge.vercel.app/appstore/rating/us/id1232780281) | `https://badge.vercel.app/appstore/rating/us/id1232780281` | 14 | | rating count | ![](https://badge.vercel.app/appstore/rating-count/us/id1232780281) | `https://badge.vercel.app/appstore/rating-count/us/id1232780281` | 15 | 16 | ### Product Hunt 17 | 18 | ``` 19 | https://badge.vercel.app/producthunt/:subject/:slug 20 | ``` 21 | 22 | | subject | badge | url | 23 | | ------- | ------------------------------------------------------- | ---------------------------------------------------- | 24 | | upvotes | ![](https://badge.vercel.app/producthunt/upvotes/namae) | `https://badge.vercel.app/producthunt/upvotes/namae` | 25 | 26 | ### Hatena Bookmark 27 | 28 | ``` 29 | https://badge.vercel.app/hatena/:subject/:url 30 | ``` 31 | 32 | | subject | badge | url | 33 | | -------------- | ------------------------------------------------ | --------------------------------------------- | 34 | | bookmark count | ![](https://badge.vercel.app/hatena/b/namae.dev) | `https://badge.vercel.app/hatena/b/namae.dev` | 35 | 36 | ## Contribution 37 | 38 | See [Contribution Guide](CONTRIBUTING.md). 39 | 40 | ## License 41 | 42 | Apache License © [Yasuaki Uechi](https://github.com/uetchy) 2020 43 | -------------------------------------------------------------------------------- /api/appstore/rating-count/[country]/[id].ts: -------------------------------------------------------------------------------- 1 | import { makeBadge } from "../../../../lib/badge"; 2 | import { html } from "../../../../lib/fetch"; 3 | 4 | function makeErrorBadge(status: string) { 5 | return { 6 | label: "rating", 7 | color: "gray", 8 | status: status, 9 | }; 10 | } 11 | 12 | export default makeBadge(async ({ country, id }) => { 13 | const url = `https://apps.apple.com/${country}/app/${id}`; 14 | const dom = await html(url, { 15 | headers: { 16 | "user-agent": 17 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.2 Safari/605.1.15", 18 | }, 19 | }); 20 | 21 | const schemaContent = dom.window.document.querySelector( 22 | 'script[name="schema:software-application"][type="application/ld+json"]' 23 | )?.textContent; 24 | 25 | if (!schemaContent) { 26 | return makeErrorBadge("missing schema"); 27 | } 28 | 29 | const schema = JSON.parse(schemaContent); 30 | 31 | if (!schema.aggregateRating) { 32 | return makeErrorBadge("unavailable"); 33 | } 34 | 35 | const reviewCount = schema.aggregateRating.reviewCount; 36 | 37 | return { 38 | label: "rating count", 39 | color: "0070c9", 40 | status: reviewCount.toString(), 41 | }; 42 | }); 43 | -------------------------------------------------------------------------------- /api/appstore/rating/[country]/[id].ts: -------------------------------------------------------------------------------- 1 | import { makeBadge } from "../../../../lib/badge"; 2 | import { html } from "../../../../lib/fetch"; 3 | 4 | function makeErrorBadge(status: string) { 5 | return { 6 | label: "rating", 7 | color: "gray", 8 | status: status, 9 | }; 10 | } 11 | 12 | export default makeBadge(async ({ country, id }) => { 13 | const url = `https://apps.apple.com/${country}/app/${id}`; 14 | const dom = await html(url, { 15 | headers: { 16 | "user-agent": 17 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.2 Safari/605.1.15", 18 | }, 19 | }); 20 | 21 | const schemaContent = dom.window.document.querySelector( 22 | 'script[name="schema:software-application"][type="application/ld+json"]' 23 | )?.textContent; 24 | 25 | if (!schemaContent) { 26 | return makeErrorBadge("missing schema"); 27 | } 28 | 29 | const schema = JSON.parse(schemaContent); 30 | 31 | if (!schema.aggregateRating) { 32 | return makeErrorBadge("unavailable"); 33 | } 34 | const rating = Math.round(schema.aggregateRating.ratingValue); 35 | const stars = "★".repeat(rating) + "☆".repeat(5 - rating); 36 | 37 | return { 38 | label: "rating", 39 | color: "0070c9", 40 | status: stars, 41 | }; 42 | }); 43 | -------------------------------------------------------------------------------- /api/hatena/b/[url].ts: -------------------------------------------------------------------------------- 1 | import { makeBadge } from "../../../lib/badge"; 2 | import { text } from "../../../lib/fetch"; 3 | 4 | export default makeBadge(async ({ url }) => { 5 | const status = await text( 6 | `https://bookmark.hatenaapis.com/count/entry?url=https://${encodeURIComponent( 7 | url as string 8 | )}` 9 | ); 10 | 11 | return { 12 | label: "bookmarks", 13 | color: "04A4DE", 14 | status, 15 | }; 16 | }); 17 | -------------------------------------------------------------------------------- /api/producthunt/upvotes/[slug].ts: -------------------------------------------------------------------------------- 1 | import { makeBadge } from "../../../lib/badge"; 2 | import { graphql } from "../../../lib/fetch"; 3 | 4 | export default makeBadge(async ({ slug }) => { 5 | const status = await graphql( 6 | "https://api.producthunt.com/v2/api/graphql", 7 | ` 8 | { 9 | post(slug: "${slug}") { 10 | votesCount 11 | } 12 | } 13 | `, 14 | { 15 | headers: { 16 | authorization: `Bearer ${process.env.PRODUCT_HUNT_TOKEN}`, 17 | }, 18 | } 19 | ); 20 | 21 | if (!status.post) { 22 | return { 23 | label: "upvotes", 24 | color: "gray", 25 | status: "not found", 26 | }; 27 | } 28 | 29 | return { 30 | label: "upvotes", 31 | color: "cc4d29", 32 | status: status.post.votesCount.toString(), 33 | }; 34 | }); 35 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | badge.vercel.app 6 | 7 | 8 | 12 | 16 | 17 | 18 |
19 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /lib/badge.ts: -------------------------------------------------------------------------------- 1 | import { 2 | VercelRequest, 3 | VercelResponse, 4 | VercelRequestQuery, 5 | } from "@vercel/node"; 6 | import { badgen } from "badgen"; 7 | 8 | export interface BadgenOptions { 9 | status: string; 10 | subject?: string; 11 | color?: string; 12 | label?: string; 13 | labelColor?: string; 14 | style?: "flat" | "classic"; 15 | icon?: string; 16 | iconWidth?: number; 17 | scale?: number; 18 | } 19 | 20 | export function makeBadge( 21 | resolve: (query: VercelRequestQuery) => Promise | BadgenOptions 22 | ) { 23 | return async (req: VercelRequest, res: VercelResponse) => { 24 | const isFlat = req.query.flat !== undefined; 25 | delete req.query.flat; 26 | 27 | res.setHeader("Content-Type", "image/svg+xml"); 28 | 29 | try { 30 | const badge = badgen({ 31 | ...(await Promise.resolve(resolve(req.query))), 32 | style: isFlat ? "flat" : "classic", 33 | }); 34 | 35 | res.setHeader("Cache-Control", "s-maxage=86400"); 36 | res.send(badge); 37 | } catch (err: any) { 38 | res.send( 39 | badgen({ 40 | label: "error", 41 | color: "gray", 42 | status: err.message, 43 | }) 44 | ); 45 | } 46 | }; 47 | } 48 | -------------------------------------------------------------------------------- /lib/fetch.ts: -------------------------------------------------------------------------------- 1 | import "cross-fetch/polyfill"; 2 | import { GraphQLClient } from "graphql-request"; 3 | import { PatchedRequestInit } from "graphql-request/dist/types"; 4 | import { JSDOM } from "jsdom"; 5 | 6 | export async function graphql( 7 | url: string, 8 | query: string, 9 | init?: PatchedRequestInit 10 | ) { 11 | const graphQLClient = new GraphQLClient(url, init); 12 | return await graphQLClient.request(query); 13 | } 14 | 15 | export async function json(url: string, init?: RequestInit) { 16 | return await fetch(url, init).then((res) => res.json()); 17 | } 18 | 19 | export async function text(url: string, init?: RequestInit) { 20 | return await fetch(url, init).then((res) => res.text()); 21 | } 22 | 23 | export async function html(url: string, init?: RequestInit) { 24 | const bodyString = await text(url, init); 25 | return new JSDOM(bodyString); 26 | } 27 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "badge-api", 3 | "version": "0.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "badge-api", 9 | "version": "0.0.0", 10 | "license": "Apache-2.0", 11 | "dependencies": { 12 | "badgen": "^3.2.2", 13 | "cross-fetch": "^3.1.5", 14 | "graphql": "^16.3.0", 15 | "graphql-request": "^4.2.0", 16 | "jsdom": "^20.0.0" 17 | }, 18 | "devDependencies": { 19 | "@types/jsdom": "^20.0.0", 20 | "@types/node": "^18.6.2", 21 | "@vercel/node": "^2.5.1", 22 | "typescript": "^4.6.3" 23 | } 24 | }, 25 | "node_modules/@edge-runtime/format": { 26 | "version": "1.0.0", 27 | "resolved": "https://registry.npmjs.org/@edge-runtime/format/-/format-1.0.0.tgz", 28 | "integrity": "sha512-mxi0n00nJwnjaXUQIfTS7l64yvwGXs435gEjuDhzTHZyrmnCYdELXdJr3Q+6v4DO1mmmtNTYFHUvIlpCmMUC6g==", 29 | "dev": true 30 | }, 31 | "node_modules/@edge-runtime/primitives": { 32 | "version": "1.0.1", 33 | "resolved": "https://registry.npmjs.org/@edge-runtime/primitives/-/primitives-1.0.1.tgz", 34 | "integrity": "sha512-a5rouOhbkLHJZeXQZs5QppI8DwFsAyK7gzCIg6sWVTZnF5WxN0oQ85iEgSIjvQaHPbAAHDJ2WwKwP07CWv8SUA==", 35 | "dev": true 36 | }, 37 | "node_modules/@edge-runtime/vm": { 38 | "version": "1.0.1", 39 | "resolved": "https://registry.npmjs.org/@edge-runtime/vm/-/vm-1.0.1.tgz", 40 | "integrity": "sha512-kkPeYBCGgeoyBxKdHwRy8zKtpGFS3aviPnDaRKNx/NaWFr/EwG8TTdv9T+VP3JzuFC48me0VF4fnnIEARrI/7Q==", 41 | "dev": true, 42 | "dependencies": { 43 | "@edge-runtime/primitives": "^1.0.1" 44 | } 45 | }, 46 | "node_modules/@nodelib/fs.scandir": { 47 | "version": "2.1.5", 48 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 49 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 50 | "dev": true, 51 | "dependencies": { 52 | "@nodelib/fs.stat": "2.0.5", 53 | "run-parallel": "^1.1.9" 54 | }, 55 | "engines": { 56 | "node": ">= 8" 57 | } 58 | }, 59 | "node_modules/@nodelib/fs.stat": { 60 | "version": "2.0.5", 61 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 62 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 63 | "dev": true, 64 | "engines": { 65 | "node": ">= 8" 66 | } 67 | }, 68 | "node_modules/@nodelib/fs.walk": { 69 | "version": "1.2.8", 70 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 71 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 72 | "dev": true, 73 | "dependencies": { 74 | "@nodelib/fs.scandir": "2.1.5", 75 | "fastq": "^1.6.0" 76 | }, 77 | "engines": { 78 | "node": ">= 8" 79 | } 80 | }, 81 | "node_modules/@tootallnate/once": { 82 | "version": "2.0.0", 83 | "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", 84 | "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", 85 | "engines": { 86 | "node": ">= 10" 87 | } 88 | }, 89 | "node_modules/@ts-morph/common": { 90 | "version": "0.11.1", 91 | "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.11.1.tgz", 92 | "integrity": "sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==", 93 | "dev": true, 94 | "dependencies": { 95 | "fast-glob": "^3.2.7", 96 | "minimatch": "^3.0.4", 97 | "mkdirp": "^1.0.4", 98 | "path-browserify": "^1.0.1" 99 | } 100 | }, 101 | "node_modules/@types/jsdom": { 102 | "version": "20.0.0", 103 | "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.0.tgz", 104 | "integrity": "sha512-YfAchFs0yM1QPDrLm2VHe+WHGtqms3NXnXAMolrgrVP6fgBHHXy1ozAbo/dFtPNtZC/m66bPiCTWYmqp1F14gA==", 105 | "dev": true, 106 | "dependencies": { 107 | "@types/node": "*", 108 | "@types/tough-cookie": "*", 109 | "parse5": "^7.0.0" 110 | } 111 | }, 112 | "node_modules/@types/json-schema": { 113 | "version": "7.0.11", 114 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", 115 | "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", 116 | "dev": true 117 | }, 118 | "node_modules/@types/node": { 119 | "version": "18.6.2", 120 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.2.tgz", 121 | "integrity": "sha512-KcfkBq9H4PI6Vpu5B/KoPeuVDAbmi+2mDBqGPGUgoL7yXQtcWGu2vJWmmRkneWK3Rh0nIAX192Aa87AqKHYChQ==", 122 | "dev": true 123 | }, 124 | "node_modules/@types/tough-cookie": { 125 | "version": "4.0.2", 126 | "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", 127 | "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", 128 | "dev": true 129 | }, 130 | "node_modules/@vercel/build-utils": { 131 | "version": "5.0.6", 132 | "resolved": "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-5.0.6.tgz", 133 | "integrity": "sha512-81IDxsWrM1y5+KTKSBEj+gaXy375wqbWQ3mNxFW4aiNTLLy0z3gL9Y6ZN9LzvapTBBDpoU+oS1PuHNnyXMVxdA==", 134 | "dev": true 135 | }, 136 | "node_modules/@vercel/node": { 137 | "version": "2.5.1", 138 | "resolved": "https://registry.npmjs.org/@vercel/node/-/node-2.5.1.tgz", 139 | "integrity": "sha512-bXet2jiyDVm/yBXgTj2PHEyLyMPqJD7WAQbC4WR12vsY5tw/2jUBAyXntg42EKkNmsGrlp1dibQhglYGgTEpRQ==", 140 | "dev": true, 141 | "dependencies": { 142 | "@types/node": "*", 143 | "@vercel/build-utils": "5.0.6", 144 | "@vercel/node-bridge": "3.0.0", 145 | "@vercel/static-config": "2.0.1", 146 | "edge-runtime": "1.0.1", 147 | "esbuild": "0.14.47", 148 | "exit-hook": "2.2.1", 149 | "node-fetch": "2.6.7", 150 | "ts-node": "8.9.1", 151 | "typescript": "4.3.4" 152 | } 153 | }, 154 | "node_modules/@vercel/node-bridge": { 155 | "version": "3.0.0", 156 | "resolved": "https://registry.npmjs.org/@vercel/node-bridge/-/node-bridge-3.0.0.tgz", 157 | "integrity": "sha512-TNQK6cufwrhd8ASDk5YHHenH8Xhp9sY8xUjOTKnQQI37KLk+Sw2HlHhT5rzUFN23ahosUlkY8InwtYUmSNb9kw==", 158 | "dev": true 159 | }, 160 | "node_modules/@vercel/node/node_modules/typescript": { 161 | "version": "4.3.4", 162 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.4.tgz", 163 | "integrity": "sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==", 164 | "dev": true, 165 | "bin": { 166 | "tsc": "bin/tsc", 167 | "tsserver": "bin/tsserver" 168 | }, 169 | "engines": { 170 | "node": ">=4.2.0" 171 | } 172 | }, 173 | "node_modules/@vercel/static-config": { 174 | "version": "2.0.1", 175 | "resolved": "https://registry.npmjs.org/@vercel/static-config/-/static-config-2.0.1.tgz", 176 | "integrity": "sha512-J3l3H0iE6FC0KHIlkY1Em291uwWmW22QIN8Cb8nLo9P5BW6a3r0kypmk86UGEWhfWxzt4Hnmb+6JEwkVNnv8/Q==", 177 | "dev": true, 178 | "dependencies": { 179 | "ajv": "8.6.3", 180 | "json-schema-to-ts": "1.6.4", 181 | "ts-morph": "12.0.0" 182 | } 183 | }, 184 | "node_modules/abab": { 185 | "version": "2.0.6", 186 | "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", 187 | "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" 188 | }, 189 | "node_modules/acorn": { 190 | "version": "8.8.0", 191 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", 192 | "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", 193 | "bin": { 194 | "acorn": "bin/acorn" 195 | }, 196 | "engines": { 197 | "node": ">=0.4.0" 198 | } 199 | }, 200 | "node_modules/acorn-globals": { 201 | "version": "6.0.0", 202 | "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", 203 | "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", 204 | "dependencies": { 205 | "acorn": "^7.1.1", 206 | "acorn-walk": "^7.1.1" 207 | } 208 | }, 209 | "node_modules/acorn-globals/node_modules/acorn": { 210 | "version": "7.4.1", 211 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", 212 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", 213 | "bin": { 214 | "acorn": "bin/acorn" 215 | }, 216 | "engines": { 217 | "node": ">=0.4.0" 218 | } 219 | }, 220 | "node_modules/acorn-walk": { 221 | "version": "7.2.0", 222 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", 223 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", 224 | "engines": { 225 | "node": ">=0.4.0" 226 | } 227 | }, 228 | "node_modules/agent-base": { 229 | "version": "6.0.2", 230 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", 231 | "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", 232 | "dependencies": { 233 | "debug": "4" 234 | }, 235 | "engines": { 236 | "node": ">= 6.0.0" 237 | } 238 | }, 239 | "node_modules/ajv": { 240 | "version": "8.6.3", 241 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", 242 | "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", 243 | "dev": true, 244 | "dependencies": { 245 | "fast-deep-equal": "^3.1.1", 246 | "json-schema-traverse": "^1.0.0", 247 | "require-from-string": "^2.0.2", 248 | "uri-js": "^4.2.2" 249 | }, 250 | "funding": { 251 | "type": "github", 252 | "url": "https://github.com/sponsors/epoberezkin" 253 | } 254 | }, 255 | "node_modules/arg": { 256 | "version": "4.1.3", 257 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", 258 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", 259 | "dev": true 260 | }, 261 | "node_modules/asynckit": { 262 | "version": "0.4.0", 263 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 264 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 265 | }, 266 | "node_modules/badgen": { 267 | "version": "3.2.2", 268 | "resolved": "https://registry.npmjs.org/badgen/-/badgen-3.2.2.tgz", 269 | "integrity": "sha512-MfBNhOzp+qbTg/3BAeaK1g+VE3uZ0CRfqMyrfyI3JUBz7b+DwxrZbYQdz5JQnibRih9YOVzXuVJl3A3xaWXfFQ==" 270 | }, 271 | "node_modules/balanced-match": { 272 | "version": "1.0.2", 273 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 274 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 275 | "dev": true 276 | }, 277 | "node_modules/brace-expansion": { 278 | "version": "1.1.11", 279 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 280 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 281 | "dev": true, 282 | "dependencies": { 283 | "balanced-match": "^1.0.0", 284 | "concat-map": "0.0.1" 285 | } 286 | }, 287 | "node_modules/braces": { 288 | "version": "3.0.2", 289 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 290 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 291 | "dev": true, 292 | "dependencies": { 293 | "fill-range": "^7.0.1" 294 | }, 295 | "engines": { 296 | "node": ">=8" 297 | } 298 | }, 299 | "node_modules/browser-process-hrtime": { 300 | "version": "1.0.0", 301 | "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", 302 | "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" 303 | }, 304 | "node_modules/buffer-from": { 305 | "version": "1.1.2", 306 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 307 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 308 | "dev": true 309 | }, 310 | "node_modules/code-block-writer": { 311 | "version": "10.1.1", 312 | "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-10.1.1.tgz", 313 | "integrity": "sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==", 314 | "dev": true 315 | }, 316 | "node_modules/combined-stream": { 317 | "version": "1.0.8", 318 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 319 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 320 | "dependencies": { 321 | "delayed-stream": "~1.0.0" 322 | }, 323 | "engines": { 324 | "node": ">= 0.8" 325 | } 326 | }, 327 | "node_modules/concat-map": { 328 | "version": "0.0.1", 329 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 330 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 331 | "dev": true 332 | }, 333 | "node_modules/convert-hrtime": { 334 | "version": "3.0.0", 335 | "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-3.0.0.tgz", 336 | "integrity": "sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==", 337 | "dev": true, 338 | "engines": { 339 | "node": ">=8" 340 | } 341 | }, 342 | "node_modules/cross-fetch": { 343 | "version": "3.1.5", 344 | "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", 345 | "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", 346 | "dependencies": { 347 | "node-fetch": "2.6.7" 348 | } 349 | }, 350 | "node_modules/cssom": { 351 | "version": "0.5.0", 352 | "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", 353 | "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" 354 | }, 355 | "node_modules/cssstyle": { 356 | "version": "2.3.0", 357 | "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", 358 | "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", 359 | "dependencies": { 360 | "cssom": "~0.3.6" 361 | }, 362 | "engines": { 363 | "node": ">=8" 364 | } 365 | }, 366 | "node_modules/cssstyle/node_modules/cssom": { 367 | "version": "0.3.8", 368 | "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", 369 | "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" 370 | }, 371 | "node_modules/data-urls": { 372 | "version": "3.0.2", 373 | "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", 374 | "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", 375 | "dependencies": { 376 | "abab": "^2.0.6", 377 | "whatwg-mimetype": "^3.0.0", 378 | "whatwg-url": "^11.0.0" 379 | }, 380 | "engines": { 381 | "node": ">=12" 382 | } 383 | }, 384 | "node_modules/debug": { 385 | "version": "4.3.4", 386 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 387 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 388 | "dependencies": { 389 | "ms": "2.1.2" 390 | }, 391 | "engines": { 392 | "node": ">=6.0" 393 | }, 394 | "peerDependenciesMeta": { 395 | "supports-color": { 396 | "optional": true 397 | } 398 | } 399 | }, 400 | "node_modules/decimal.js": { 401 | "version": "10.3.1", 402 | "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", 403 | "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" 404 | }, 405 | "node_modules/deep-is": { 406 | "version": "0.1.4", 407 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 408 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" 409 | }, 410 | "node_modules/delayed-stream": { 411 | "version": "1.0.0", 412 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 413 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 414 | "engines": { 415 | "node": ">=0.4.0" 416 | } 417 | }, 418 | "node_modules/diff": { 419 | "version": "4.0.2", 420 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", 421 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", 422 | "dev": true, 423 | "engines": { 424 | "node": ">=0.3.1" 425 | } 426 | }, 427 | "node_modules/domexception": { 428 | "version": "4.0.0", 429 | "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", 430 | "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", 431 | "dependencies": { 432 | "webidl-conversions": "^7.0.0" 433 | }, 434 | "engines": { 435 | "node": ">=12" 436 | } 437 | }, 438 | "node_modules/edge-runtime": { 439 | "version": "1.0.1", 440 | "resolved": "https://registry.npmjs.org/edge-runtime/-/edge-runtime-1.0.1.tgz", 441 | "integrity": "sha512-1/7ZlGy7LUWufVoWPdphYvyOiNFiN1u/hIyWDBeJjoFAKQGjl70A0SdG2cwVd1UhcPlA95ieYly1B4h0/8MPog==", 442 | "dev": true, 443 | "dependencies": { 444 | "@edge-runtime/format": "^1.0.0", 445 | "@edge-runtime/vm": "^1.0.1", 446 | "exit-hook": "2.2.1", 447 | "http-status": "~1.5.0", 448 | "mri": "1.2.0", 449 | "picocolors": "1.0.0", 450 | "pretty-bytes": "5.6.0", 451 | "pretty-ms": "7.0.1", 452 | "time-span": "4.0.0" 453 | }, 454 | "bin": { 455 | "edge-runtime": "dist/cli/index.js" 456 | } 457 | }, 458 | "node_modules/entities": { 459 | "version": "4.3.1", 460 | "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz", 461 | "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==", 462 | "engines": { 463 | "node": ">=0.12" 464 | }, 465 | "funding": { 466 | "url": "https://github.com/fb55/entities?sponsor=1" 467 | } 468 | }, 469 | "node_modules/esbuild": { 470 | "version": "0.14.47", 471 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.47.tgz", 472 | "integrity": "sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==", 473 | "dev": true, 474 | "hasInstallScript": true, 475 | "bin": { 476 | "esbuild": "bin/esbuild" 477 | }, 478 | "engines": { 479 | "node": ">=12" 480 | }, 481 | "optionalDependencies": { 482 | "esbuild-android-64": "0.14.47", 483 | "esbuild-android-arm64": "0.14.47", 484 | "esbuild-darwin-64": "0.14.47", 485 | "esbuild-darwin-arm64": "0.14.47", 486 | "esbuild-freebsd-64": "0.14.47", 487 | "esbuild-freebsd-arm64": "0.14.47", 488 | "esbuild-linux-32": "0.14.47", 489 | "esbuild-linux-64": "0.14.47", 490 | "esbuild-linux-arm": "0.14.47", 491 | "esbuild-linux-arm64": "0.14.47", 492 | "esbuild-linux-mips64le": "0.14.47", 493 | "esbuild-linux-ppc64le": "0.14.47", 494 | "esbuild-linux-riscv64": "0.14.47", 495 | "esbuild-linux-s390x": "0.14.47", 496 | "esbuild-netbsd-64": "0.14.47", 497 | "esbuild-openbsd-64": "0.14.47", 498 | "esbuild-sunos-64": "0.14.47", 499 | "esbuild-windows-32": "0.14.47", 500 | "esbuild-windows-64": "0.14.47", 501 | "esbuild-windows-arm64": "0.14.47" 502 | } 503 | }, 504 | "node_modules/esbuild-android-64": { 505 | "version": "0.14.47", 506 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz", 507 | "integrity": "sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==", 508 | "cpu": [ 509 | "x64" 510 | ], 511 | "dev": true, 512 | "optional": true, 513 | "os": [ 514 | "android" 515 | ], 516 | "engines": { 517 | "node": ">=12" 518 | } 519 | }, 520 | "node_modules/esbuild-android-arm64": { 521 | "version": "0.14.47", 522 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz", 523 | "integrity": "sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==", 524 | "cpu": [ 525 | "arm64" 526 | ], 527 | "dev": true, 528 | "optional": true, 529 | "os": [ 530 | "android" 531 | ], 532 | "engines": { 533 | "node": ">=12" 534 | } 535 | }, 536 | "node_modules/esbuild-darwin-64": { 537 | "version": "0.14.47", 538 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz", 539 | "integrity": "sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==", 540 | "cpu": [ 541 | "x64" 542 | ], 543 | "dev": true, 544 | "optional": true, 545 | "os": [ 546 | "darwin" 547 | ], 548 | "engines": { 549 | "node": ">=12" 550 | } 551 | }, 552 | "node_modules/esbuild-darwin-arm64": { 553 | "version": "0.14.47", 554 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz", 555 | "integrity": "sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==", 556 | "cpu": [ 557 | "arm64" 558 | ], 559 | "dev": true, 560 | "optional": true, 561 | "os": [ 562 | "darwin" 563 | ], 564 | "engines": { 565 | "node": ">=12" 566 | } 567 | }, 568 | "node_modules/esbuild-freebsd-64": { 569 | "version": "0.14.47", 570 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz", 571 | "integrity": "sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==", 572 | "cpu": [ 573 | "x64" 574 | ], 575 | "dev": true, 576 | "optional": true, 577 | "os": [ 578 | "freebsd" 579 | ], 580 | "engines": { 581 | "node": ">=12" 582 | } 583 | }, 584 | "node_modules/esbuild-freebsd-arm64": { 585 | "version": "0.14.47", 586 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz", 587 | "integrity": "sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==", 588 | "cpu": [ 589 | "arm64" 590 | ], 591 | "dev": true, 592 | "optional": true, 593 | "os": [ 594 | "freebsd" 595 | ], 596 | "engines": { 597 | "node": ">=12" 598 | } 599 | }, 600 | "node_modules/esbuild-linux-32": { 601 | "version": "0.14.47", 602 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz", 603 | "integrity": "sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==", 604 | "cpu": [ 605 | "ia32" 606 | ], 607 | "dev": true, 608 | "optional": true, 609 | "os": [ 610 | "linux" 611 | ], 612 | "engines": { 613 | "node": ">=12" 614 | } 615 | }, 616 | "node_modules/esbuild-linux-64": { 617 | "version": "0.14.47", 618 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.47.tgz", 619 | "integrity": "sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw==", 620 | "cpu": [ 621 | "x64" 622 | ], 623 | "dev": true, 624 | "optional": true, 625 | "os": [ 626 | "linux" 627 | ], 628 | "engines": { 629 | "node": ">=12" 630 | } 631 | }, 632 | "node_modules/esbuild-linux-arm": { 633 | "version": "0.14.47", 634 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz", 635 | "integrity": "sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==", 636 | "cpu": [ 637 | "arm" 638 | ], 639 | "dev": true, 640 | "optional": true, 641 | "os": [ 642 | "linux" 643 | ], 644 | "engines": { 645 | "node": ">=12" 646 | } 647 | }, 648 | "node_modules/esbuild-linux-arm64": { 649 | "version": "0.14.47", 650 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz", 651 | "integrity": "sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==", 652 | "cpu": [ 653 | "arm64" 654 | ], 655 | "dev": true, 656 | "optional": true, 657 | "os": [ 658 | "linux" 659 | ], 660 | "engines": { 661 | "node": ">=12" 662 | } 663 | }, 664 | "node_modules/esbuild-linux-mips64le": { 665 | "version": "0.14.47", 666 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz", 667 | "integrity": "sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==", 668 | "cpu": [ 669 | "mips64el" 670 | ], 671 | "dev": true, 672 | "optional": true, 673 | "os": [ 674 | "linux" 675 | ], 676 | "engines": { 677 | "node": ">=12" 678 | } 679 | }, 680 | "node_modules/esbuild-linux-ppc64le": { 681 | "version": "0.14.47", 682 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz", 683 | "integrity": "sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==", 684 | "cpu": [ 685 | "ppc64" 686 | ], 687 | "dev": true, 688 | "optional": true, 689 | "os": [ 690 | "linux" 691 | ], 692 | "engines": { 693 | "node": ">=12" 694 | } 695 | }, 696 | "node_modules/esbuild-linux-riscv64": { 697 | "version": "0.14.47", 698 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz", 699 | "integrity": "sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==", 700 | "cpu": [ 701 | "riscv64" 702 | ], 703 | "dev": true, 704 | "optional": true, 705 | "os": [ 706 | "linux" 707 | ], 708 | "engines": { 709 | "node": ">=12" 710 | } 711 | }, 712 | "node_modules/esbuild-linux-s390x": { 713 | "version": "0.14.47", 714 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz", 715 | "integrity": "sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==", 716 | "cpu": [ 717 | "s390x" 718 | ], 719 | "dev": true, 720 | "optional": true, 721 | "os": [ 722 | "linux" 723 | ], 724 | "engines": { 725 | "node": ">=12" 726 | } 727 | }, 728 | "node_modules/esbuild-netbsd-64": { 729 | "version": "0.14.47", 730 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz", 731 | "integrity": "sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==", 732 | "cpu": [ 733 | "x64" 734 | ], 735 | "dev": true, 736 | "optional": true, 737 | "os": [ 738 | "netbsd" 739 | ], 740 | "engines": { 741 | "node": ">=12" 742 | } 743 | }, 744 | "node_modules/esbuild-openbsd-64": { 745 | "version": "0.14.47", 746 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz", 747 | "integrity": "sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==", 748 | "cpu": [ 749 | "x64" 750 | ], 751 | "dev": true, 752 | "optional": true, 753 | "os": [ 754 | "openbsd" 755 | ], 756 | "engines": { 757 | "node": ">=12" 758 | } 759 | }, 760 | "node_modules/esbuild-sunos-64": { 761 | "version": "0.14.47", 762 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz", 763 | "integrity": "sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==", 764 | "cpu": [ 765 | "x64" 766 | ], 767 | "dev": true, 768 | "optional": true, 769 | "os": [ 770 | "sunos" 771 | ], 772 | "engines": { 773 | "node": ">=12" 774 | } 775 | }, 776 | "node_modules/esbuild-windows-32": { 777 | "version": "0.14.47", 778 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz", 779 | "integrity": "sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==", 780 | "cpu": [ 781 | "ia32" 782 | ], 783 | "dev": true, 784 | "optional": true, 785 | "os": [ 786 | "win32" 787 | ], 788 | "engines": { 789 | "node": ">=12" 790 | } 791 | }, 792 | "node_modules/esbuild-windows-64": { 793 | "version": "0.14.47", 794 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz", 795 | "integrity": "sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==", 796 | "cpu": [ 797 | "x64" 798 | ], 799 | "dev": true, 800 | "optional": true, 801 | "os": [ 802 | "win32" 803 | ], 804 | "engines": { 805 | "node": ">=12" 806 | } 807 | }, 808 | "node_modules/esbuild-windows-arm64": { 809 | "version": "0.14.47", 810 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz", 811 | "integrity": "sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==", 812 | "cpu": [ 813 | "arm64" 814 | ], 815 | "dev": true, 816 | "optional": true, 817 | "os": [ 818 | "win32" 819 | ], 820 | "engines": { 821 | "node": ">=12" 822 | } 823 | }, 824 | "node_modules/escodegen": { 825 | "version": "2.0.0", 826 | "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", 827 | "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", 828 | "dependencies": { 829 | "esprima": "^4.0.1", 830 | "estraverse": "^5.2.0", 831 | "esutils": "^2.0.2", 832 | "optionator": "^0.8.1" 833 | }, 834 | "bin": { 835 | "escodegen": "bin/escodegen.js", 836 | "esgenerate": "bin/esgenerate.js" 837 | }, 838 | "engines": { 839 | "node": ">=6.0" 840 | }, 841 | "optionalDependencies": { 842 | "source-map": "~0.6.1" 843 | } 844 | }, 845 | "node_modules/esprima": { 846 | "version": "4.0.1", 847 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 848 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 849 | "bin": { 850 | "esparse": "bin/esparse.js", 851 | "esvalidate": "bin/esvalidate.js" 852 | }, 853 | "engines": { 854 | "node": ">=4" 855 | } 856 | }, 857 | "node_modules/estraverse": { 858 | "version": "5.3.0", 859 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 860 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 861 | "engines": { 862 | "node": ">=4.0" 863 | } 864 | }, 865 | "node_modules/esutils": { 866 | "version": "2.0.3", 867 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 868 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 869 | "engines": { 870 | "node": ">=0.10.0" 871 | } 872 | }, 873 | "node_modules/exit-hook": { 874 | "version": "2.2.1", 875 | "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz", 876 | "integrity": "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==", 877 | "dev": true, 878 | "engines": { 879 | "node": ">=6" 880 | }, 881 | "funding": { 882 | "url": "https://github.com/sponsors/sindresorhus" 883 | } 884 | }, 885 | "node_modules/extract-files": { 886 | "version": "9.0.0", 887 | "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz", 888 | "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==", 889 | "engines": { 890 | "node": "^10.17.0 || ^12.0.0 || >= 13.7.0" 891 | }, 892 | "funding": { 893 | "url": "https://github.com/sponsors/jaydenseric" 894 | } 895 | }, 896 | "node_modules/fast-deep-equal": { 897 | "version": "3.1.3", 898 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 899 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 900 | "dev": true 901 | }, 902 | "node_modules/fast-glob": { 903 | "version": "3.2.11", 904 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 905 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 906 | "dev": true, 907 | "dependencies": { 908 | "@nodelib/fs.stat": "^2.0.2", 909 | "@nodelib/fs.walk": "^1.2.3", 910 | "glob-parent": "^5.1.2", 911 | "merge2": "^1.3.0", 912 | "micromatch": "^4.0.4" 913 | }, 914 | "engines": { 915 | "node": ">=8.6.0" 916 | } 917 | }, 918 | "node_modules/fast-levenshtein": { 919 | "version": "2.0.6", 920 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 921 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" 922 | }, 923 | "node_modules/fastq": { 924 | "version": "1.13.0", 925 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 926 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 927 | "dev": true, 928 | "dependencies": { 929 | "reusify": "^1.0.4" 930 | } 931 | }, 932 | "node_modules/fill-range": { 933 | "version": "7.0.1", 934 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 935 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 936 | "dev": true, 937 | "dependencies": { 938 | "to-regex-range": "^5.0.1" 939 | }, 940 | "engines": { 941 | "node": ">=8" 942 | } 943 | }, 944 | "node_modules/form-data": { 945 | "version": "3.0.1", 946 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", 947 | "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", 948 | "dependencies": { 949 | "asynckit": "^0.4.0", 950 | "combined-stream": "^1.0.8", 951 | "mime-types": "^2.1.12" 952 | }, 953 | "engines": { 954 | "node": ">= 6" 955 | } 956 | }, 957 | "node_modules/glob-parent": { 958 | "version": "5.1.2", 959 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 960 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 961 | "dev": true, 962 | "dependencies": { 963 | "is-glob": "^4.0.1" 964 | }, 965 | "engines": { 966 | "node": ">= 6" 967 | } 968 | }, 969 | "node_modules/graphql": { 970 | "version": "16.5.0", 971 | "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.5.0.tgz", 972 | "integrity": "sha512-qbHgh8Ix+j/qY+a/ZcJnFQ+j8ezakqPiHwPiZhV/3PgGlgf96QMBB5/f2rkiC9sgLoy/xvT6TSiaf2nTHJh5iA==", 973 | "engines": { 974 | "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" 975 | } 976 | }, 977 | "node_modules/graphql-request": { 978 | "version": "4.3.0", 979 | "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-4.3.0.tgz", 980 | "integrity": "sha512-2v6hQViJvSsifK606AliqiNiijb1uwWp6Re7o0RTyH+uRTv/u7Uqm2g4Fjq/LgZIzARB38RZEvVBFOQOVdlBow==", 981 | "dependencies": { 982 | "cross-fetch": "^3.1.5", 983 | "extract-files": "^9.0.0", 984 | "form-data": "^3.0.0" 985 | }, 986 | "peerDependencies": { 987 | "graphql": "14 - 16" 988 | } 989 | }, 990 | "node_modules/html-encoding-sniffer": { 991 | "version": "3.0.0", 992 | "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", 993 | "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", 994 | "dependencies": { 995 | "whatwg-encoding": "^2.0.0" 996 | }, 997 | "engines": { 998 | "node": ">=12" 999 | } 1000 | }, 1001 | "node_modules/http-proxy-agent": { 1002 | "version": "5.0.0", 1003 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", 1004 | "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", 1005 | "dependencies": { 1006 | "@tootallnate/once": "2", 1007 | "agent-base": "6", 1008 | "debug": "4" 1009 | }, 1010 | "engines": { 1011 | "node": ">= 6" 1012 | } 1013 | }, 1014 | "node_modules/http-status": { 1015 | "version": "1.5.2", 1016 | "resolved": "https://registry.npmjs.org/http-status/-/http-status-1.5.2.tgz", 1017 | "integrity": "sha512-HzxX+/hV/8US1Gq4V6R6PgUmJ5Pt/DGATs4QhdEOpG8LrdS9/3UG2nnOvkqUpRks04yjVtV5p/NODjO+wvf6vg==", 1018 | "dev": true, 1019 | "engines": { 1020 | "node": ">= 0.4.0" 1021 | } 1022 | }, 1023 | "node_modules/https-proxy-agent": { 1024 | "version": "5.0.1", 1025 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", 1026 | "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", 1027 | "dependencies": { 1028 | "agent-base": "6", 1029 | "debug": "4" 1030 | }, 1031 | "engines": { 1032 | "node": ">= 6" 1033 | } 1034 | }, 1035 | "node_modules/iconv-lite": { 1036 | "version": "0.6.3", 1037 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 1038 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 1039 | "dependencies": { 1040 | "safer-buffer": ">= 2.1.2 < 3.0.0" 1041 | }, 1042 | "engines": { 1043 | "node": ">=0.10.0" 1044 | } 1045 | }, 1046 | "node_modules/is-extglob": { 1047 | "version": "2.1.1", 1048 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1049 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1050 | "dev": true, 1051 | "engines": { 1052 | "node": ">=0.10.0" 1053 | } 1054 | }, 1055 | "node_modules/is-glob": { 1056 | "version": "4.0.3", 1057 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1058 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1059 | "dev": true, 1060 | "dependencies": { 1061 | "is-extglob": "^2.1.1" 1062 | }, 1063 | "engines": { 1064 | "node": ">=0.10.0" 1065 | } 1066 | }, 1067 | "node_modules/is-number": { 1068 | "version": "7.0.0", 1069 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1070 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1071 | "dev": true, 1072 | "engines": { 1073 | "node": ">=0.12.0" 1074 | } 1075 | }, 1076 | "node_modules/is-potential-custom-element-name": { 1077 | "version": "1.0.1", 1078 | "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", 1079 | "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" 1080 | }, 1081 | "node_modules/jsdom": { 1082 | "version": "20.0.0", 1083 | "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.0.tgz", 1084 | "integrity": "sha512-x4a6CKCgx00uCmP+QakBDFXwjAJ69IkkIWHmtmjd3wvXPcdOS44hfX2vqkOQrVrq8l9DhNNADZRXaCEWvgXtVA==", 1085 | "dependencies": { 1086 | "abab": "^2.0.6", 1087 | "acorn": "^8.7.1", 1088 | "acorn-globals": "^6.0.0", 1089 | "cssom": "^0.5.0", 1090 | "cssstyle": "^2.3.0", 1091 | "data-urls": "^3.0.2", 1092 | "decimal.js": "^10.3.1", 1093 | "domexception": "^4.0.0", 1094 | "escodegen": "^2.0.0", 1095 | "form-data": "^4.0.0", 1096 | "html-encoding-sniffer": "^3.0.0", 1097 | "http-proxy-agent": "^5.0.0", 1098 | "https-proxy-agent": "^5.0.1", 1099 | "is-potential-custom-element-name": "^1.0.1", 1100 | "nwsapi": "^2.2.0", 1101 | "parse5": "^7.0.0", 1102 | "saxes": "^6.0.0", 1103 | "symbol-tree": "^3.2.4", 1104 | "tough-cookie": "^4.0.0", 1105 | "w3c-hr-time": "^1.0.2", 1106 | "w3c-xmlserializer": "^3.0.0", 1107 | "webidl-conversions": "^7.0.0", 1108 | "whatwg-encoding": "^2.0.0", 1109 | "whatwg-mimetype": "^3.0.0", 1110 | "whatwg-url": "^11.0.0", 1111 | "ws": "^8.8.0", 1112 | "xml-name-validator": "^4.0.0" 1113 | }, 1114 | "engines": { 1115 | "node": ">=14" 1116 | }, 1117 | "peerDependencies": { 1118 | "canvas": "^2.5.0" 1119 | }, 1120 | "peerDependenciesMeta": { 1121 | "canvas": { 1122 | "optional": true 1123 | } 1124 | } 1125 | }, 1126 | "node_modules/jsdom/node_modules/form-data": { 1127 | "version": "4.0.0", 1128 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 1129 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 1130 | "dependencies": { 1131 | "asynckit": "^0.4.0", 1132 | "combined-stream": "^1.0.8", 1133 | "mime-types": "^2.1.12" 1134 | }, 1135 | "engines": { 1136 | "node": ">= 6" 1137 | } 1138 | }, 1139 | "node_modules/json-schema-to-ts": { 1140 | "version": "1.6.4", 1141 | "resolved": "https://registry.npmjs.org/json-schema-to-ts/-/json-schema-to-ts-1.6.4.tgz", 1142 | "integrity": "sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==", 1143 | "dev": true, 1144 | "dependencies": { 1145 | "@types/json-schema": "^7.0.6", 1146 | "ts-toolbelt": "^6.15.5" 1147 | } 1148 | }, 1149 | "node_modules/json-schema-traverse": { 1150 | "version": "1.0.0", 1151 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 1152 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", 1153 | "dev": true 1154 | }, 1155 | "node_modules/levn": { 1156 | "version": "0.3.0", 1157 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 1158 | "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", 1159 | "dependencies": { 1160 | "prelude-ls": "~1.1.2", 1161 | "type-check": "~0.3.2" 1162 | }, 1163 | "engines": { 1164 | "node": ">= 0.8.0" 1165 | } 1166 | }, 1167 | "node_modules/make-error": { 1168 | "version": "1.3.6", 1169 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", 1170 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", 1171 | "dev": true 1172 | }, 1173 | "node_modules/merge2": { 1174 | "version": "1.4.1", 1175 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1176 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1177 | "dev": true, 1178 | "engines": { 1179 | "node": ">= 8" 1180 | } 1181 | }, 1182 | "node_modules/micromatch": { 1183 | "version": "4.0.5", 1184 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 1185 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 1186 | "dev": true, 1187 | "dependencies": { 1188 | "braces": "^3.0.2", 1189 | "picomatch": "^2.3.1" 1190 | }, 1191 | "engines": { 1192 | "node": ">=8.6" 1193 | } 1194 | }, 1195 | "node_modules/mime-db": { 1196 | "version": "1.52.0", 1197 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 1198 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 1199 | "engines": { 1200 | "node": ">= 0.6" 1201 | } 1202 | }, 1203 | "node_modules/mime-types": { 1204 | "version": "2.1.35", 1205 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 1206 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 1207 | "dependencies": { 1208 | "mime-db": "1.52.0" 1209 | }, 1210 | "engines": { 1211 | "node": ">= 0.6" 1212 | } 1213 | }, 1214 | "node_modules/minimatch": { 1215 | "version": "3.1.2", 1216 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1217 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1218 | "dev": true, 1219 | "dependencies": { 1220 | "brace-expansion": "^1.1.7" 1221 | }, 1222 | "engines": { 1223 | "node": "*" 1224 | } 1225 | }, 1226 | "node_modules/mkdirp": { 1227 | "version": "1.0.4", 1228 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 1229 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 1230 | "dev": true, 1231 | "bin": { 1232 | "mkdirp": "bin/cmd.js" 1233 | }, 1234 | "engines": { 1235 | "node": ">=10" 1236 | } 1237 | }, 1238 | "node_modules/mri": { 1239 | "version": "1.2.0", 1240 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", 1241 | "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", 1242 | "dev": true, 1243 | "engines": { 1244 | "node": ">=4" 1245 | } 1246 | }, 1247 | "node_modules/ms": { 1248 | "version": "2.1.2", 1249 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1250 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1251 | }, 1252 | "node_modules/node-fetch": { 1253 | "version": "2.6.7", 1254 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", 1255 | "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", 1256 | "dependencies": { 1257 | "whatwg-url": "^5.0.0" 1258 | }, 1259 | "engines": { 1260 | "node": "4.x || >=6.0.0" 1261 | }, 1262 | "peerDependencies": { 1263 | "encoding": "^0.1.0" 1264 | }, 1265 | "peerDependenciesMeta": { 1266 | "encoding": { 1267 | "optional": true 1268 | } 1269 | } 1270 | }, 1271 | "node_modules/node-fetch/node_modules/tr46": { 1272 | "version": "0.0.3", 1273 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 1274 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 1275 | }, 1276 | "node_modules/node-fetch/node_modules/webidl-conversions": { 1277 | "version": "3.0.1", 1278 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 1279 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 1280 | }, 1281 | "node_modules/node-fetch/node_modules/whatwg-url": { 1282 | "version": "5.0.0", 1283 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 1284 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 1285 | "dependencies": { 1286 | "tr46": "~0.0.3", 1287 | "webidl-conversions": "^3.0.0" 1288 | } 1289 | }, 1290 | "node_modules/nwsapi": { 1291 | "version": "2.2.1", 1292 | "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz", 1293 | "integrity": "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==" 1294 | }, 1295 | "node_modules/optionator": { 1296 | "version": "0.8.3", 1297 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", 1298 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", 1299 | "dependencies": { 1300 | "deep-is": "~0.1.3", 1301 | "fast-levenshtein": "~2.0.6", 1302 | "levn": "~0.3.0", 1303 | "prelude-ls": "~1.1.2", 1304 | "type-check": "~0.3.2", 1305 | "word-wrap": "~1.2.3" 1306 | }, 1307 | "engines": { 1308 | "node": ">= 0.8.0" 1309 | } 1310 | }, 1311 | "node_modules/parse-ms": { 1312 | "version": "2.1.0", 1313 | "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", 1314 | "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", 1315 | "dev": true, 1316 | "engines": { 1317 | "node": ">=6" 1318 | } 1319 | }, 1320 | "node_modules/parse5": { 1321 | "version": "7.0.0", 1322 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz", 1323 | "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==", 1324 | "dependencies": { 1325 | "entities": "^4.3.0" 1326 | }, 1327 | "funding": { 1328 | "url": "https://github.com/inikulin/parse5?sponsor=1" 1329 | } 1330 | }, 1331 | "node_modules/path-browserify": { 1332 | "version": "1.0.1", 1333 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", 1334 | "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", 1335 | "dev": true 1336 | }, 1337 | "node_modules/picocolors": { 1338 | "version": "1.0.0", 1339 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1340 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 1341 | "dev": true 1342 | }, 1343 | "node_modules/picomatch": { 1344 | "version": "2.3.1", 1345 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1346 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1347 | "dev": true, 1348 | "engines": { 1349 | "node": ">=8.6" 1350 | }, 1351 | "funding": { 1352 | "url": "https://github.com/sponsors/jonschlinkert" 1353 | } 1354 | }, 1355 | "node_modules/prelude-ls": { 1356 | "version": "1.1.2", 1357 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 1358 | "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", 1359 | "engines": { 1360 | "node": ">= 0.8.0" 1361 | } 1362 | }, 1363 | "node_modules/pretty-bytes": { 1364 | "version": "5.6.0", 1365 | "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", 1366 | "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", 1367 | "dev": true, 1368 | "engines": { 1369 | "node": ">=6" 1370 | }, 1371 | "funding": { 1372 | "url": "https://github.com/sponsors/sindresorhus" 1373 | } 1374 | }, 1375 | "node_modules/pretty-ms": { 1376 | "version": "7.0.1", 1377 | "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", 1378 | "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", 1379 | "dev": true, 1380 | "dependencies": { 1381 | "parse-ms": "^2.1.0" 1382 | }, 1383 | "engines": { 1384 | "node": ">=10" 1385 | }, 1386 | "funding": { 1387 | "url": "https://github.com/sponsors/sindresorhus" 1388 | } 1389 | }, 1390 | "node_modules/psl": { 1391 | "version": "1.9.0", 1392 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", 1393 | "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" 1394 | }, 1395 | "node_modules/punycode": { 1396 | "version": "2.1.1", 1397 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1398 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1399 | "engines": { 1400 | "node": ">=6" 1401 | } 1402 | }, 1403 | "node_modules/queue-microtask": { 1404 | "version": "1.2.3", 1405 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1406 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1407 | "dev": true, 1408 | "funding": [ 1409 | { 1410 | "type": "github", 1411 | "url": "https://github.com/sponsors/feross" 1412 | }, 1413 | { 1414 | "type": "patreon", 1415 | "url": "https://www.patreon.com/feross" 1416 | }, 1417 | { 1418 | "type": "consulting", 1419 | "url": "https://feross.org/support" 1420 | } 1421 | ] 1422 | }, 1423 | "node_modules/require-from-string": { 1424 | "version": "2.0.2", 1425 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 1426 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 1427 | "dev": true, 1428 | "engines": { 1429 | "node": ">=0.10.0" 1430 | } 1431 | }, 1432 | "node_modules/reusify": { 1433 | "version": "1.0.4", 1434 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1435 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1436 | "dev": true, 1437 | "engines": { 1438 | "iojs": ">=1.0.0", 1439 | "node": ">=0.10.0" 1440 | } 1441 | }, 1442 | "node_modules/run-parallel": { 1443 | "version": "1.2.0", 1444 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1445 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1446 | "dev": true, 1447 | "funding": [ 1448 | { 1449 | "type": "github", 1450 | "url": "https://github.com/sponsors/feross" 1451 | }, 1452 | { 1453 | "type": "patreon", 1454 | "url": "https://www.patreon.com/feross" 1455 | }, 1456 | { 1457 | "type": "consulting", 1458 | "url": "https://feross.org/support" 1459 | } 1460 | ], 1461 | "dependencies": { 1462 | "queue-microtask": "^1.2.2" 1463 | } 1464 | }, 1465 | "node_modules/safer-buffer": { 1466 | "version": "2.1.2", 1467 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1468 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1469 | }, 1470 | "node_modules/saxes": { 1471 | "version": "6.0.0", 1472 | "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", 1473 | "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", 1474 | "dependencies": { 1475 | "xmlchars": "^2.2.0" 1476 | }, 1477 | "engines": { 1478 | "node": ">=v12.22.7" 1479 | } 1480 | }, 1481 | "node_modules/source-map": { 1482 | "version": "0.6.1", 1483 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1484 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1485 | "devOptional": true, 1486 | "engines": { 1487 | "node": ">=0.10.0" 1488 | } 1489 | }, 1490 | "node_modules/source-map-support": { 1491 | "version": "0.5.21", 1492 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 1493 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 1494 | "dev": true, 1495 | "dependencies": { 1496 | "buffer-from": "^1.0.0", 1497 | "source-map": "^0.6.0" 1498 | } 1499 | }, 1500 | "node_modules/symbol-tree": { 1501 | "version": "3.2.4", 1502 | "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", 1503 | "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" 1504 | }, 1505 | "node_modules/time-span": { 1506 | "version": "4.0.0", 1507 | "resolved": "https://registry.npmjs.org/time-span/-/time-span-4.0.0.tgz", 1508 | "integrity": "sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==", 1509 | "dev": true, 1510 | "dependencies": { 1511 | "convert-hrtime": "^3.0.0" 1512 | }, 1513 | "engines": { 1514 | "node": ">=10" 1515 | }, 1516 | "funding": { 1517 | "url": "https://github.com/sponsors/sindresorhus" 1518 | } 1519 | }, 1520 | "node_modules/to-regex-range": { 1521 | "version": "5.0.1", 1522 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1523 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1524 | "dev": true, 1525 | "dependencies": { 1526 | "is-number": "^7.0.0" 1527 | }, 1528 | "engines": { 1529 | "node": ">=8.0" 1530 | } 1531 | }, 1532 | "node_modules/tough-cookie": { 1533 | "version": "4.0.0", 1534 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", 1535 | "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", 1536 | "dependencies": { 1537 | "psl": "^1.1.33", 1538 | "punycode": "^2.1.1", 1539 | "universalify": "^0.1.2" 1540 | }, 1541 | "engines": { 1542 | "node": ">=6" 1543 | } 1544 | }, 1545 | "node_modules/tr46": { 1546 | "version": "3.0.0", 1547 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", 1548 | "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", 1549 | "dependencies": { 1550 | "punycode": "^2.1.1" 1551 | }, 1552 | "engines": { 1553 | "node": ">=12" 1554 | } 1555 | }, 1556 | "node_modules/ts-morph": { 1557 | "version": "12.0.0", 1558 | "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-12.0.0.tgz", 1559 | "integrity": "sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==", 1560 | "dev": true, 1561 | "dependencies": { 1562 | "@ts-morph/common": "~0.11.0", 1563 | "code-block-writer": "^10.1.1" 1564 | } 1565 | }, 1566 | "node_modules/ts-node": { 1567 | "version": "8.9.1", 1568 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.9.1.tgz", 1569 | "integrity": "sha512-yrq6ODsxEFTLz0R3BX2myf0WBCSQh9A+py8PBo1dCzWIOcvisbyH6akNKqDHMgXePF2kir5mm5JXJTH3OUJYOQ==", 1570 | "dev": true, 1571 | "dependencies": { 1572 | "arg": "^4.1.0", 1573 | "diff": "^4.0.1", 1574 | "make-error": "^1.1.1", 1575 | "source-map-support": "^0.5.17", 1576 | "yn": "3.1.1" 1577 | }, 1578 | "bin": { 1579 | "ts-node": "dist/bin.js", 1580 | "ts-node-script": "dist/bin-script.js", 1581 | "ts-node-transpile-only": "dist/bin-transpile.js", 1582 | "ts-script": "dist/bin-script-deprecated.js" 1583 | }, 1584 | "engines": { 1585 | "node": ">=6.0.0" 1586 | }, 1587 | "peerDependencies": { 1588 | "typescript": ">=2.7" 1589 | } 1590 | }, 1591 | "node_modules/ts-toolbelt": { 1592 | "version": "6.15.5", 1593 | "resolved": "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-6.15.5.tgz", 1594 | "integrity": "sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==", 1595 | "dev": true 1596 | }, 1597 | "node_modules/type-check": { 1598 | "version": "0.3.2", 1599 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 1600 | "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", 1601 | "dependencies": { 1602 | "prelude-ls": "~1.1.2" 1603 | }, 1604 | "engines": { 1605 | "node": ">= 0.8.0" 1606 | } 1607 | }, 1608 | "node_modules/typescript": { 1609 | "version": "4.7.4", 1610 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", 1611 | "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", 1612 | "dev": true, 1613 | "bin": { 1614 | "tsc": "bin/tsc", 1615 | "tsserver": "bin/tsserver" 1616 | }, 1617 | "engines": { 1618 | "node": ">=4.2.0" 1619 | } 1620 | }, 1621 | "node_modules/universalify": { 1622 | "version": "0.1.2", 1623 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 1624 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 1625 | "engines": { 1626 | "node": ">= 4.0.0" 1627 | } 1628 | }, 1629 | "node_modules/uri-js": { 1630 | "version": "4.4.1", 1631 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 1632 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 1633 | "dev": true, 1634 | "dependencies": { 1635 | "punycode": "^2.1.0" 1636 | } 1637 | }, 1638 | "node_modules/w3c-hr-time": { 1639 | "version": "1.0.2", 1640 | "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", 1641 | "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", 1642 | "dependencies": { 1643 | "browser-process-hrtime": "^1.0.0" 1644 | } 1645 | }, 1646 | "node_modules/w3c-xmlserializer": { 1647 | "version": "3.0.0", 1648 | "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz", 1649 | "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==", 1650 | "dependencies": { 1651 | "xml-name-validator": "^4.0.0" 1652 | }, 1653 | "engines": { 1654 | "node": ">=12" 1655 | } 1656 | }, 1657 | "node_modules/webidl-conversions": { 1658 | "version": "7.0.0", 1659 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", 1660 | "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", 1661 | "engines": { 1662 | "node": ">=12" 1663 | } 1664 | }, 1665 | "node_modules/whatwg-encoding": { 1666 | "version": "2.0.0", 1667 | "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", 1668 | "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", 1669 | "dependencies": { 1670 | "iconv-lite": "0.6.3" 1671 | }, 1672 | "engines": { 1673 | "node": ">=12" 1674 | } 1675 | }, 1676 | "node_modules/whatwg-mimetype": { 1677 | "version": "3.0.0", 1678 | "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", 1679 | "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", 1680 | "engines": { 1681 | "node": ">=12" 1682 | } 1683 | }, 1684 | "node_modules/whatwg-url": { 1685 | "version": "11.0.0", 1686 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", 1687 | "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", 1688 | "dependencies": { 1689 | "tr46": "^3.0.0", 1690 | "webidl-conversions": "^7.0.0" 1691 | }, 1692 | "engines": { 1693 | "node": ">=12" 1694 | } 1695 | }, 1696 | "node_modules/word-wrap": { 1697 | "version": "1.2.3", 1698 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 1699 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 1700 | "engines": { 1701 | "node": ">=0.10.0" 1702 | } 1703 | }, 1704 | "node_modules/ws": { 1705 | "version": "8.8.1", 1706 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", 1707 | "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", 1708 | "engines": { 1709 | "node": ">=10.0.0" 1710 | }, 1711 | "peerDependencies": { 1712 | "bufferutil": "^4.0.1", 1713 | "utf-8-validate": "^5.0.2" 1714 | }, 1715 | "peerDependenciesMeta": { 1716 | "bufferutil": { 1717 | "optional": true 1718 | }, 1719 | "utf-8-validate": { 1720 | "optional": true 1721 | } 1722 | } 1723 | }, 1724 | "node_modules/xml-name-validator": { 1725 | "version": "4.0.0", 1726 | "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", 1727 | "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", 1728 | "engines": { 1729 | "node": ">=12" 1730 | } 1731 | }, 1732 | "node_modules/xmlchars": { 1733 | "version": "2.2.0", 1734 | "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", 1735 | "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" 1736 | }, 1737 | "node_modules/yn": { 1738 | "version": "3.1.1", 1739 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", 1740 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", 1741 | "dev": true, 1742 | "engines": { 1743 | "node": ">=6" 1744 | } 1745 | } 1746 | }, 1747 | "dependencies": { 1748 | "@edge-runtime/format": { 1749 | "version": "1.0.0", 1750 | "resolved": "https://registry.npmjs.org/@edge-runtime/format/-/format-1.0.0.tgz", 1751 | "integrity": "sha512-mxi0n00nJwnjaXUQIfTS7l64yvwGXs435gEjuDhzTHZyrmnCYdELXdJr3Q+6v4DO1mmmtNTYFHUvIlpCmMUC6g==", 1752 | "dev": true 1753 | }, 1754 | "@edge-runtime/primitives": { 1755 | "version": "1.0.1", 1756 | "resolved": "https://registry.npmjs.org/@edge-runtime/primitives/-/primitives-1.0.1.tgz", 1757 | "integrity": "sha512-a5rouOhbkLHJZeXQZs5QppI8DwFsAyK7gzCIg6sWVTZnF5WxN0oQ85iEgSIjvQaHPbAAHDJ2WwKwP07CWv8SUA==", 1758 | "dev": true 1759 | }, 1760 | "@edge-runtime/vm": { 1761 | "version": "1.0.1", 1762 | "resolved": "https://registry.npmjs.org/@edge-runtime/vm/-/vm-1.0.1.tgz", 1763 | "integrity": "sha512-kkPeYBCGgeoyBxKdHwRy8zKtpGFS3aviPnDaRKNx/NaWFr/EwG8TTdv9T+VP3JzuFC48me0VF4fnnIEARrI/7Q==", 1764 | "dev": true, 1765 | "requires": { 1766 | "@edge-runtime/primitives": "^1.0.1" 1767 | } 1768 | }, 1769 | "@nodelib/fs.scandir": { 1770 | "version": "2.1.5", 1771 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 1772 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 1773 | "dev": true, 1774 | "requires": { 1775 | "@nodelib/fs.stat": "2.0.5", 1776 | "run-parallel": "^1.1.9" 1777 | } 1778 | }, 1779 | "@nodelib/fs.stat": { 1780 | "version": "2.0.5", 1781 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 1782 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 1783 | "dev": true 1784 | }, 1785 | "@nodelib/fs.walk": { 1786 | "version": "1.2.8", 1787 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 1788 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 1789 | "dev": true, 1790 | "requires": { 1791 | "@nodelib/fs.scandir": "2.1.5", 1792 | "fastq": "^1.6.0" 1793 | } 1794 | }, 1795 | "@tootallnate/once": { 1796 | "version": "2.0.0", 1797 | "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", 1798 | "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" 1799 | }, 1800 | "@ts-morph/common": { 1801 | "version": "0.11.1", 1802 | "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.11.1.tgz", 1803 | "integrity": "sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==", 1804 | "dev": true, 1805 | "requires": { 1806 | "fast-glob": "^3.2.7", 1807 | "minimatch": "^3.0.4", 1808 | "mkdirp": "^1.0.4", 1809 | "path-browserify": "^1.0.1" 1810 | } 1811 | }, 1812 | "@types/jsdom": { 1813 | "version": "20.0.0", 1814 | "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.0.tgz", 1815 | "integrity": "sha512-YfAchFs0yM1QPDrLm2VHe+WHGtqms3NXnXAMolrgrVP6fgBHHXy1ozAbo/dFtPNtZC/m66bPiCTWYmqp1F14gA==", 1816 | "dev": true, 1817 | "requires": { 1818 | "@types/node": "*", 1819 | "@types/tough-cookie": "*", 1820 | "parse5": "^7.0.0" 1821 | } 1822 | }, 1823 | "@types/json-schema": { 1824 | "version": "7.0.11", 1825 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", 1826 | "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", 1827 | "dev": true 1828 | }, 1829 | "@types/node": { 1830 | "version": "18.6.2", 1831 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.2.tgz", 1832 | "integrity": "sha512-KcfkBq9H4PI6Vpu5B/KoPeuVDAbmi+2mDBqGPGUgoL7yXQtcWGu2vJWmmRkneWK3Rh0nIAX192Aa87AqKHYChQ==", 1833 | "dev": true 1834 | }, 1835 | "@types/tough-cookie": { 1836 | "version": "4.0.2", 1837 | "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", 1838 | "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", 1839 | "dev": true 1840 | }, 1841 | "@vercel/build-utils": { 1842 | "version": "5.0.6", 1843 | "resolved": "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-5.0.6.tgz", 1844 | "integrity": "sha512-81IDxsWrM1y5+KTKSBEj+gaXy375wqbWQ3mNxFW4aiNTLLy0z3gL9Y6ZN9LzvapTBBDpoU+oS1PuHNnyXMVxdA==", 1845 | "dev": true 1846 | }, 1847 | "@vercel/node": { 1848 | "version": "2.5.1", 1849 | "resolved": "https://registry.npmjs.org/@vercel/node/-/node-2.5.1.tgz", 1850 | "integrity": "sha512-bXet2jiyDVm/yBXgTj2PHEyLyMPqJD7WAQbC4WR12vsY5tw/2jUBAyXntg42EKkNmsGrlp1dibQhglYGgTEpRQ==", 1851 | "dev": true, 1852 | "requires": { 1853 | "@types/node": "*", 1854 | "@vercel/build-utils": "5.0.6", 1855 | "@vercel/node-bridge": "3.0.0", 1856 | "@vercel/static-config": "2.0.1", 1857 | "edge-runtime": "1.0.1", 1858 | "esbuild": "0.14.47", 1859 | "exit-hook": "2.2.1", 1860 | "node-fetch": "2.6.7", 1861 | "ts-node": "8.9.1", 1862 | "typescript": "4.3.4" 1863 | }, 1864 | "dependencies": { 1865 | "typescript": { 1866 | "version": "4.3.4", 1867 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.4.tgz", 1868 | "integrity": "sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==", 1869 | "dev": true 1870 | } 1871 | } 1872 | }, 1873 | "@vercel/node-bridge": { 1874 | "version": "3.0.0", 1875 | "resolved": "https://registry.npmjs.org/@vercel/node-bridge/-/node-bridge-3.0.0.tgz", 1876 | "integrity": "sha512-TNQK6cufwrhd8ASDk5YHHenH8Xhp9sY8xUjOTKnQQI37KLk+Sw2HlHhT5rzUFN23ahosUlkY8InwtYUmSNb9kw==", 1877 | "dev": true 1878 | }, 1879 | "@vercel/static-config": { 1880 | "version": "2.0.1", 1881 | "resolved": "https://registry.npmjs.org/@vercel/static-config/-/static-config-2.0.1.tgz", 1882 | "integrity": "sha512-J3l3H0iE6FC0KHIlkY1Em291uwWmW22QIN8Cb8nLo9P5BW6a3r0kypmk86UGEWhfWxzt4Hnmb+6JEwkVNnv8/Q==", 1883 | "dev": true, 1884 | "requires": { 1885 | "ajv": "8.6.3", 1886 | "json-schema-to-ts": "1.6.4", 1887 | "ts-morph": "12.0.0" 1888 | } 1889 | }, 1890 | "abab": { 1891 | "version": "2.0.6", 1892 | "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", 1893 | "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" 1894 | }, 1895 | "acorn": { 1896 | "version": "8.8.0", 1897 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", 1898 | "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==" 1899 | }, 1900 | "acorn-globals": { 1901 | "version": "6.0.0", 1902 | "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", 1903 | "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", 1904 | "requires": { 1905 | "acorn": "^7.1.1", 1906 | "acorn-walk": "^7.1.1" 1907 | }, 1908 | "dependencies": { 1909 | "acorn": { 1910 | "version": "7.4.1", 1911 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", 1912 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" 1913 | } 1914 | } 1915 | }, 1916 | "acorn-walk": { 1917 | "version": "7.2.0", 1918 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", 1919 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" 1920 | }, 1921 | "agent-base": { 1922 | "version": "6.0.2", 1923 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", 1924 | "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", 1925 | "requires": { 1926 | "debug": "4" 1927 | } 1928 | }, 1929 | "ajv": { 1930 | "version": "8.6.3", 1931 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", 1932 | "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", 1933 | "dev": true, 1934 | "requires": { 1935 | "fast-deep-equal": "^3.1.1", 1936 | "json-schema-traverse": "^1.0.0", 1937 | "require-from-string": "^2.0.2", 1938 | "uri-js": "^4.2.2" 1939 | } 1940 | }, 1941 | "arg": { 1942 | "version": "4.1.3", 1943 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", 1944 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", 1945 | "dev": true 1946 | }, 1947 | "asynckit": { 1948 | "version": "0.4.0", 1949 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 1950 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 1951 | }, 1952 | "badgen": { 1953 | "version": "3.2.2", 1954 | "resolved": "https://registry.npmjs.org/badgen/-/badgen-3.2.2.tgz", 1955 | "integrity": "sha512-MfBNhOzp+qbTg/3BAeaK1g+VE3uZ0CRfqMyrfyI3JUBz7b+DwxrZbYQdz5JQnibRih9YOVzXuVJl3A3xaWXfFQ==" 1956 | }, 1957 | "balanced-match": { 1958 | "version": "1.0.2", 1959 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1960 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1961 | "dev": true 1962 | }, 1963 | "brace-expansion": { 1964 | "version": "1.1.11", 1965 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1966 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1967 | "dev": true, 1968 | "requires": { 1969 | "balanced-match": "^1.0.0", 1970 | "concat-map": "0.0.1" 1971 | } 1972 | }, 1973 | "braces": { 1974 | "version": "3.0.2", 1975 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 1976 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 1977 | "dev": true, 1978 | "requires": { 1979 | "fill-range": "^7.0.1" 1980 | } 1981 | }, 1982 | "browser-process-hrtime": { 1983 | "version": "1.0.0", 1984 | "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", 1985 | "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" 1986 | }, 1987 | "buffer-from": { 1988 | "version": "1.1.2", 1989 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 1990 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 1991 | "dev": true 1992 | }, 1993 | "code-block-writer": { 1994 | "version": "10.1.1", 1995 | "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-10.1.1.tgz", 1996 | "integrity": "sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==", 1997 | "dev": true 1998 | }, 1999 | "combined-stream": { 2000 | "version": "1.0.8", 2001 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 2002 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 2003 | "requires": { 2004 | "delayed-stream": "~1.0.0" 2005 | } 2006 | }, 2007 | "concat-map": { 2008 | "version": "0.0.1", 2009 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 2010 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 2011 | "dev": true 2012 | }, 2013 | "convert-hrtime": { 2014 | "version": "3.0.0", 2015 | "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-3.0.0.tgz", 2016 | "integrity": "sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==", 2017 | "dev": true 2018 | }, 2019 | "cross-fetch": { 2020 | "version": "3.1.5", 2021 | "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", 2022 | "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", 2023 | "requires": { 2024 | "node-fetch": "2.6.7" 2025 | } 2026 | }, 2027 | "cssom": { 2028 | "version": "0.5.0", 2029 | "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", 2030 | "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" 2031 | }, 2032 | "cssstyle": { 2033 | "version": "2.3.0", 2034 | "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", 2035 | "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", 2036 | "requires": { 2037 | "cssom": "~0.3.6" 2038 | }, 2039 | "dependencies": { 2040 | "cssom": { 2041 | "version": "0.3.8", 2042 | "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", 2043 | "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" 2044 | } 2045 | } 2046 | }, 2047 | "data-urls": { 2048 | "version": "3.0.2", 2049 | "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", 2050 | "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", 2051 | "requires": { 2052 | "abab": "^2.0.6", 2053 | "whatwg-mimetype": "^3.0.0", 2054 | "whatwg-url": "^11.0.0" 2055 | } 2056 | }, 2057 | "debug": { 2058 | "version": "4.3.4", 2059 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 2060 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 2061 | "requires": { 2062 | "ms": "2.1.2" 2063 | } 2064 | }, 2065 | "decimal.js": { 2066 | "version": "10.3.1", 2067 | "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", 2068 | "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" 2069 | }, 2070 | "deep-is": { 2071 | "version": "0.1.4", 2072 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 2073 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" 2074 | }, 2075 | "delayed-stream": { 2076 | "version": "1.0.0", 2077 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 2078 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" 2079 | }, 2080 | "diff": { 2081 | "version": "4.0.2", 2082 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", 2083 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", 2084 | "dev": true 2085 | }, 2086 | "domexception": { 2087 | "version": "4.0.0", 2088 | "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", 2089 | "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", 2090 | "requires": { 2091 | "webidl-conversions": "^7.0.0" 2092 | } 2093 | }, 2094 | "edge-runtime": { 2095 | "version": "1.0.1", 2096 | "resolved": "https://registry.npmjs.org/edge-runtime/-/edge-runtime-1.0.1.tgz", 2097 | "integrity": "sha512-1/7ZlGy7LUWufVoWPdphYvyOiNFiN1u/hIyWDBeJjoFAKQGjl70A0SdG2cwVd1UhcPlA95ieYly1B4h0/8MPog==", 2098 | "dev": true, 2099 | "requires": { 2100 | "@edge-runtime/format": "^1.0.0", 2101 | "@edge-runtime/vm": "^1.0.1", 2102 | "exit-hook": "2.2.1", 2103 | "http-status": "~1.5.0", 2104 | "mri": "1.2.0", 2105 | "picocolors": "1.0.0", 2106 | "pretty-bytes": "5.6.0", 2107 | "pretty-ms": "7.0.1", 2108 | "time-span": "4.0.0" 2109 | } 2110 | }, 2111 | "entities": { 2112 | "version": "4.3.1", 2113 | "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz", 2114 | "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==" 2115 | }, 2116 | "esbuild": { 2117 | "version": "0.14.47", 2118 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.47.tgz", 2119 | "integrity": "sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==", 2120 | "dev": true, 2121 | "requires": { 2122 | "esbuild-android-64": "0.14.47", 2123 | "esbuild-android-arm64": "0.14.47", 2124 | "esbuild-darwin-64": "0.14.47", 2125 | "esbuild-darwin-arm64": "0.14.47", 2126 | "esbuild-freebsd-64": "0.14.47", 2127 | "esbuild-freebsd-arm64": "0.14.47", 2128 | "esbuild-linux-32": "0.14.47", 2129 | "esbuild-linux-64": "0.14.47", 2130 | "esbuild-linux-arm": "0.14.47", 2131 | "esbuild-linux-arm64": "0.14.47", 2132 | "esbuild-linux-mips64le": "0.14.47", 2133 | "esbuild-linux-ppc64le": "0.14.47", 2134 | "esbuild-linux-riscv64": "0.14.47", 2135 | "esbuild-linux-s390x": "0.14.47", 2136 | "esbuild-netbsd-64": "0.14.47", 2137 | "esbuild-openbsd-64": "0.14.47", 2138 | "esbuild-sunos-64": "0.14.47", 2139 | "esbuild-windows-32": "0.14.47", 2140 | "esbuild-windows-64": "0.14.47", 2141 | "esbuild-windows-arm64": "0.14.47" 2142 | } 2143 | }, 2144 | "esbuild-android-64": { 2145 | "version": "0.14.47", 2146 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz", 2147 | "integrity": "sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==", 2148 | "dev": true, 2149 | "optional": true 2150 | }, 2151 | "esbuild-android-arm64": { 2152 | "version": "0.14.47", 2153 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz", 2154 | "integrity": "sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==", 2155 | "dev": true, 2156 | "optional": true 2157 | }, 2158 | "esbuild-darwin-64": { 2159 | "version": "0.14.47", 2160 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz", 2161 | "integrity": "sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==", 2162 | "dev": true, 2163 | "optional": true 2164 | }, 2165 | "esbuild-darwin-arm64": { 2166 | "version": "0.14.47", 2167 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz", 2168 | "integrity": "sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==", 2169 | "dev": true, 2170 | "optional": true 2171 | }, 2172 | "esbuild-freebsd-64": { 2173 | "version": "0.14.47", 2174 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz", 2175 | "integrity": "sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==", 2176 | "dev": true, 2177 | "optional": true 2178 | }, 2179 | "esbuild-freebsd-arm64": { 2180 | "version": "0.14.47", 2181 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz", 2182 | "integrity": "sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==", 2183 | "dev": true, 2184 | "optional": true 2185 | }, 2186 | "esbuild-linux-32": { 2187 | "version": "0.14.47", 2188 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz", 2189 | "integrity": "sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==", 2190 | "dev": true, 2191 | "optional": true 2192 | }, 2193 | "esbuild-linux-64": { 2194 | "version": "0.14.47", 2195 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.47.tgz", 2196 | "integrity": "sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw==", 2197 | "dev": true, 2198 | "optional": true 2199 | }, 2200 | "esbuild-linux-arm": { 2201 | "version": "0.14.47", 2202 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz", 2203 | "integrity": "sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==", 2204 | "dev": true, 2205 | "optional": true 2206 | }, 2207 | "esbuild-linux-arm64": { 2208 | "version": "0.14.47", 2209 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz", 2210 | "integrity": "sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==", 2211 | "dev": true, 2212 | "optional": true 2213 | }, 2214 | "esbuild-linux-mips64le": { 2215 | "version": "0.14.47", 2216 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz", 2217 | "integrity": "sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==", 2218 | "dev": true, 2219 | "optional": true 2220 | }, 2221 | "esbuild-linux-ppc64le": { 2222 | "version": "0.14.47", 2223 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz", 2224 | "integrity": "sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==", 2225 | "dev": true, 2226 | "optional": true 2227 | }, 2228 | "esbuild-linux-riscv64": { 2229 | "version": "0.14.47", 2230 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz", 2231 | "integrity": "sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==", 2232 | "dev": true, 2233 | "optional": true 2234 | }, 2235 | "esbuild-linux-s390x": { 2236 | "version": "0.14.47", 2237 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz", 2238 | "integrity": "sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==", 2239 | "dev": true, 2240 | "optional": true 2241 | }, 2242 | "esbuild-netbsd-64": { 2243 | "version": "0.14.47", 2244 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz", 2245 | "integrity": "sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==", 2246 | "dev": true, 2247 | "optional": true 2248 | }, 2249 | "esbuild-openbsd-64": { 2250 | "version": "0.14.47", 2251 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz", 2252 | "integrity": "sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==", 2253 | "dev": true, 2254 | "optional": true 2255 | }, 2256 | "esbuild-sunos-64": { 2257 | "version": "0.14.47", 2258 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz", 2259 | "integrity": "sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==", 2260 | "dev": true, 2261 | "optional": true 2262 | }, 2263 | "esbuild-windows-32": { 2264 | "version": "0.14.47", 2265 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz", 2266 | "integrity": "sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==", 2267 | "dev": true, 2268 | "optional": true 2269 | }, 2270 | "esbuild-windows-64": { 2271 | "version": "0.14.47", 2272 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz", 2273 | "integrity": "sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==", 2274 | "dev": true, 2275 | "optional": true 2276 | }, 2277 | "esbuild-windows-arm64": { 2278 | "version": "0.14.47", 2279 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz", 2280 | "integrity": "sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==", 2281 | "dev": true, 2282 | "optional": true 2283 | }, 2284 | "escodegen": { 2285 | "version": "2.0.0", 2286 | "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", 2287 | "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", 2288 | "requires": { 2289 | "esprima": "^4.0.1", 2290 | "estraverse": "^5.2.0", 2291 | "esutils": "^2.0.2", 2292 | "optionator": "^0.8.1", 2293 | "source-map": "~0.6.1" 2294 | } 2295 | }, 2296 | "esprima": { 2297 | "version": "4.0.1", 2298 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 2299 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" 2300 | }, 2301 | "estraverse": { 2302 | "version": "5.3.0", 2303 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2304 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" 2305 | }, 2306 | "esutils": { 2307 | "version": "2.0.3", 2308 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 2309 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" 2310 | }, 2311 | "exit-hook": { 2312 | "version": "2.2.1", 2313 | "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz", 2314 | "integrity": "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==", 2315 | "dev": true 2316 | }, 2317 | "extract-files": { 2318 | "version": "9.0.0", 2319 | "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz", 2320 | "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==" 2321 | }, 2322 | "fast-deep-equal": { 2323 | "version": "3.1.3", 2324 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 2325 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 2326 | "dev": true 2327 | }, 2328 | "fast-glob": { 2329 | "version": "3.2.11", 2330 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 2331 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 2332 | "dev": true, 2333 | "requires": { 2334 | "@nodelib/fs.stat": "^2.0.2", 2335 | "@nodelib/fs.walk": "^1.2.3", 2336 | "glob-parent": "^5.1.2", 2337 | "merge2": "^1.3.0", 2338 | "micromatch": "^4.0.4" 2339 | } 2340 | }, 2341 | "fast-levenshtein": { 2342 | "version": "2.0.6", 2343 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 2344 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" 2345 | }, 2346 | "fastq": { 2347 | "version": "1.13.0", 2348 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 2349 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 2350 | "dev": true, 2351 | "requires": { 2352 | "reusify": "^1.0.4" 2353 | } 2354 | }, 2355 | "fill-range": { 2356 | "version": "7.0.1", 2357 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 2358 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 2359 | "dev": true, 2360 | "requires": { 2361 | "to-regex-range": "^5.0.1" 2362 | } 2363 | }, 2364 | "form-data": { 2365 | "version": "3.0.1", 2366 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", 2367 | "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", 2368 | "requires": { 2369 | "asynckit": "^0.4.0", 2370 | "combined-stream": "^1.0.8", 2371 | "mime-types": "^2.1.12" 2372 | } 2373 | }, 2374 | "glob-parent": { 2375 | "version": "5.1.2", 2376 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2377 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2378 | "dev": true, 2379 | "requires": { 2380 | "is-glob": "^4.0.1" 2381 | } 2382 | }, 2383 | "graphql": { 2384 | "version": "16.5.0", 2385 | "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.5.0.tgz", 2386 | "integrity": "sha512-qbHgh8Ix+j/qY+a/ZcJnFQ+j8ezakqPiHwPiZhV/3PgGlgf96QMBB5/f2rkiC9sgLoy/xvT6TSiaf2nTHJh5iA==" 2387 | }, 2388 | "graphql-request": { 2389 | "version": "4.3.0", 2390 | "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-4.3.0.tgz", 2391 | "integrity": "sha512-2v6hQViJvSsifK606AliqiNiijb1uwWp6Re7o0RTyH+uRTv/u7Uqm2g4Fjq/LgZIzARB38RZEvVBFOQOVdlBow==", 2392 | "requires": { 2393 | "cross-fetch": "^3.1.5", 2394 | "extract-files": "^9.0.0", 2395 | "form-data": "^3.0.0" 2396 | } 2397 | }, 2398 | "html-encoding-sniffer": { 2399 | "version": "3.0.0", 2400 | "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", 2401 | "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", 2402 | "requires": { 2403 | "whatwg-encoding": "^2.0.0" 2404 | } 2405 | }, 2406 | "http-proxy-agent": { 2407 | "version": "5.0.0", 2408 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", 2409 | "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", 2410 | "requires": { 2411 | "@tootallnate/once": "2", 2412 | "agent-base": "6", 2413 | "debug": "4" 2414 | } 2415 | }, 2416 | "http-status": { 2417 | "version": "1.5.2", 2418 | "resolved": "https://registry.npmjs.org/http-status/-/http-status-1.5.2.tgz", 2419 | "integrity": "sha512-HzxX+/hV/8US1Gq4V6R6PgUmJ5Pt/DGATs4QhdEOpG8LrdS9/3UG2nnOvkqUpRks04yjVtV5p/NODjO+wvf6vg==", 2420 | "dev": true 2421 | }, 2422 | "https-proxy-agent": { 2423 | "version": "5.0.1", 2424 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", 2425 | "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", 2426 | "requires": { 2427 | "agent-base": "6", 2428 | "debug": "4" 2429 | } 2430 | }, 2431 | "iconv-lite": { 2432 | "version": "0.6.3", 2433 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 2434 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 2435 | "requires": { 2436 | "safer-buffer": ">= 2.1.2 < 3.0.0" 2437 | } 2438 | }, 2439 | "is-extglob": { 2440 | "version": "2.1.1", 2441 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2442 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 2443 | "dev": true 2444 | }, 2445 | "is-glob": { 2446 | "version": "4.0.3", 2447 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2448 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2449 | "dev": true, 2450 | "requires": { 2451 | "is-extglob": "^2.1.1" 2452 | } 2453 | }, 2454 | "is-number": { 2455 | "version": "7.0.0", 2456 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2457 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 2458 | "dev": true 2459 | }, 2460 | "is-potential-custom-element-name": { 2461 | "version": "1.0.1", 2462 | "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", 2463 | "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" 2464 | }, 2465 | "jsdom": { 2466 | "version": "20.0.0", 2467 | "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.0.tgz", 2468 | "integrity": "sha512-x4a6CKCgx00uCmP+QakBDFXwjAJ69IkkIWHmtmjd3wvXPcdOS44hfX2vqkOQrVrq8l9DhNNADZRXaCEWvgXtVA==", 2469 | "requires": { 2470 | "abab": "^2.0.6", 2471 | "acorn": "^8.7.1", 2472 | "acorn-globals": "^6.0.0", 2473 | "cssom": "^0.5.0", 2474 | "cssstyle": "^2.3.0", 2475 | "data-urls": "^3.0.2", 2476 | "decimal.js": "^10.3.1", 2477 | "domexception": "^4.0.0", 2478 | "escodegen": "^2.0.0", 2479 | "form-data": "^4.0.0", 2480 | "html-encoding-sniffer": "^3.0.0", 2481 | "http-proxy-agent": "^5.0.0", 2482 | "https-proxy-agent": "^5.0.1", 2483 | "is-potential-custom-element-name": "^1.0.1", 2484 | "nwsapi": "^2.2.0", 2485 | "parse5": "^7.0.0", 2486 | "saxes": "^6.0.0", 2487 | "symbol-tree": "^3.2.4", 2488 | "tough-cookie": "^4.0.0", 2489 | "w3c-hr-time": "^1.0.2", 2490 | "w3c-xmlserializer": "^3.0.0", 2491 | "webidl-conversions": "^7.0.0", 2492 | "whatwg-encoding": "^2.0.0", 2493 | "whatwg-mimetype": "^3.0.0", 2494 | "whatwg-url": "^11.0.0", 2495 | "ws": "^8.8.0", 2496 | "xml-name-validator": "^4.0.0" 2497 | }, 2498 | "dependencies": { 2499 | "form-data": { 2500 | "version": "4.0.0", 2501 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 2502 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 2503 | "requires": { 2504 | "asynckit": "^0.4.0", 2505 | "combined-stream": "^1.0.8", 2506 | "mime-types": "^2.1.12" 2507 | } 2508 | } 2509 | } 2510 | }, 2511 | "json-schema-to-ts": { 2512 | "version": "1.6.4", 2513 | "resolved": "https://registry.npmjs.org/json-schema-to-ts/-/json-schema-to-ts-1.6.4.tgz", 2514 | "integrity": "sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==", 2515 | "dev": true, 2516 | "requires": { 2517 | "@types/json-schema": "^7.0.6", 2518 | "ts-toolbelt": "^6.15.5" 2519 | } 2520 | }, 2521 | "json-schema-traverse": { 2522 | "version": "1.0.0", 2523 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 2524 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", 2525 | "dev": true 2526 | }, 2527 | "levn": { 2528 | "version": "0.3.0", 2529 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 2530 | "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", 2531 | "requires": { 2532 | "prelude-ls": "~1.1.2", 2533 | "type-check": "~0.3.2" 2534 | } 2535 | }, 2536 | "make-error": { 2537 | "version": "1.3.6", 2538 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", 2539 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", 2540 | "dev": true 2541 | }, 2542 | "merge2": { 2543 | "version": "1.4.1", 2544 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 2545 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 2546 | "dev": true 2547 | }, 2548 | "micromatch": { 2549 | "version": "4.0.5", 2550 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 2551 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 2552 | "dev": true, 2553 | "requires": { 2554 | "braces": "^3.0.2", 2555 | "picomatch": "^2.3.1" 2556 | } 2557 | }, 2558 | "mime-db": { 2559 | "version": "1.52.0", 2560 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 2561 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" 2562 | }, 2563 | "mime-types": { 2564 | "version": "2.1.35", 2565 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 2566 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 2567 | "requires": { 2568 | "mime-db": "1.52.0" 2569 | } 2570 | }, 2571 | "minimatch": { 2572 | "version": "3.1.2", 2573 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2574 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2575 | "dev": true, 2576 | "requires": { 2577 | "brace-expansion": "^1.1.7" 2578 | } 2579 | }, 2580 | "mkdirp": { 2581 | "version": "1.0.4", 2582 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 2583 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 2584 | "dev": true 2585 | }, 2586 | "mri": { 2587 | "version": "1.2.0", 2588 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", 2589 | "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", 2590 | "dev": true 2591 | }, 2592 | "ms": { 2593 | "version": "2.1.2", 2594 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 2595 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 2596 | }, 2597 | "node-fetch": { 2598 | "version": "2.6.7", 2599 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", 2600 | "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", 2601 | "requires": { 2602 | "whatwg-url": "^5.0.0" 2603 | }, 2604 | "dependencies": { 2605 | "tr46": { 2606 | "version": "0.0.3", 2607 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 2608 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 2609 | }, 2610 | "webidl-conversions": { 2611 | "version": "3.0.1", 2612 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 2613 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 2614 | }, 2615 | "whatwg-url": { 2616 | "version": "5.0.0", 2617 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 2618 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 2619 | "requires": { 2620 | "tr46": "~0.0.3", 2621 | "webidl-conversions": "^3.0.0" 2622 | } 2623 | } 2624 | } 2625 | }, 2626 | "nwsapi": { 2627 | "version": "2.2.1", 2628 | "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz", 2629 | "integrity": "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==" 2630 | }, 2631 | "optionator": { 2632 | "version": "0.8.3", 2633 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", 2634 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", 2635 | "requires": { 2636 | "deep-is": "~0.1.3", 2637 | "fast-levenshtein": "~2.0.6", 2638 | "levn": "~0.3.0", 2639 | "prelude-ls": "~1.1.2", 2640 | "type-check": "~0.3.2", 2641 | "word-wrap": "~1.2.3" 2642 | } 2643 | }, 2644 | "parse-ms": { 2645 | "version": "2.1.0", 2646 | "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", 2647 | "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", 2648 | "dev": true 2649 | }, 2650 | "parse5": { 2651 | "version": "7.0.0", 2652 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.0.0.tgz", 2653 | "integrity": "sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==", 2654 | "requires": { 2655 | "entities": "^4.3.0" 2656 | } 2657 | }, 2658 | "path-browserify": { 2659 | "version": "1.0.1", 2660 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", 2661 | "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", 2662 | "dev": true 2663 | }, 2664 | "picocolors": { 2665 | "version": "1.0.0", 2666 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 2667 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 2668 | "dev": true 2669 | }, 2670 | "picomatch": { 2671 | "version": "2.3.1", 2672 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2673 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2674 | "dev": true 2675 | }, 2676 | "prelude-ls": { 2677 | "version": "1.1.2", 2678 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 2679 | "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" 2680 | }, 2681 | "pretty-bytes": { 2682 | "version": "5.6.0", 2683 | "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", 2684 | "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", 2685 | "dev": true 2686 | }, 2687 | "pretty-ms": { 2688 | "version": "7.0.1", 2689 | "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", 2690 | "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", 2691 | "dev": true, 2692 | "requires": { 2693 | "parse-ms": "^2.1.0" 2694 | } 2695 | }, 2696 | "psl": { 2697 | "version": "1.9.0", 2698 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", 2699 | "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" 2700 | }, 2701 | "punycode": { 2702 | "version": "2.1.1", 2703 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 2704 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" 2705 | }, 2706 | "queue-microtask": { 2707 | "version": "1.2.3", 2708 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 2709 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 2710 | "dev": true 2711 | }, 2712 | "require-from-string": { 2713 | "version": "2.0.2", 2714 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 2715 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 2716 | "dev": true 2717 | }, 2718 | "reusify": { 2719 | "version": "1.0.4", 2720 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 2721 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 2722 | "dev": true 2723 | }, 2724 | "run-parallel": { 2725 | "version": "1.2.0", 2726 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 2727 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 2728 | "dev": true, 2729 | "requires": { 2730 | "queue-microtask": "^1.2.2" 2731 | } 2732 | }, 2733 | "safer-buffer": { 2734 | "version": "2.1.2", 2735 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 2736 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 2737 | }, 2738 | "saxes": { 2739 | "version": "6.0.0", 2740 | "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", 2741 | "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", 2742 | "requires": { 2743 | "xmlchars": "^2.2.0" 2744 | } 2745 | }, 2746 | "source-map": { 2747 | "version": "0.6.1", 2748 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2749 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 2750 | "devOptional": true 2751 | }, 2752 | "source-map-support": { 2753 | "version": "0.5.21", 2754 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 2755 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 2756 | "dev": true, 2757 | "requires": { 2758 | "buffer-from": "^1.0.0", 2759 | "source-map": "^0.6.0" 2760 | } 2761 | }, 2762 | "symbol-tree": { 2763 | "version": "3.2.4", 2764 | "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", 2765 | "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" 2766 | }, 2767 | "time-span": { 2768 | "version": "4.0.0", 2769 | "resolved": "https://registry.npmjs.org/time-span/-/time-span-4.0.0.tgz", 2770 | "integrity": "sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==", 2771 | "dev": true, 2772 | "requires": { 2773 | "convert-hrtime": "^3.0.0" 2774 | } 2775 | }, 2776 | "to-regex-range": { 2777 | "version": "5.0.1", 2778 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2779 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2780 | "dev": true, 2781 | "requires": { 2782 | "is-number": "^7.0.0" 2783 | } 2784 | }, 2785 | "tough-cookie": { 2786 | "version": "4.0.0", 2787 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", 2788 | "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", 2789 | "requires": { 2790 | "psl": "^1.1.33", 2791 | "punycode": "^2.1.1", 2792 | "universalify": "^0.1.2" 2793 | } 2794 | }, 2795 | "tr46": { 2796 | "version": "3.0.0", 2797 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", 2798 | "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", 2799 | "requires": { 2800 | "punycode": "^2.1.1" 2801 | } 2802 | }, 2803 | "ts-morph": { 2804 | "version": "12.0.0", 2805 | "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-12.0.0.tgz", 2806 | "integrity": "sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==", 2807 | "dev": true, 2808 | "requires": { 2809 | "@ts-morph/common": "~0.11.0", 2810 | "code-block-writer": "^10.1.1" 2811 | } 2812 | }, 2813 | "ts-node": { 2814 | "version": "8.9.1", 2815 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.9.1.tgz", 2816 | "integrity": "sha512-yrq6ODsxEFTLz0R3BX2myf0WBCSQh9A+py8PBo1dCzWIOcvisbyH6akNKqDHMgXePF2kir5mm5JXJTH3OUJYOQ==", 2817 | "dev": true, 2818 | "requires": { 2819 | "arg": "^4.1.0", 2820 | "diff": "^4.0.1", 2821 | "make-error": "^1.1.1", 2822 | "source-map-support": "^0.5.17", 2823 | "yn": "3.1.1" 2824 | } 2825 | }, 2826 | "ts-toolbelt": { 2827 | "version": "6.15.5", 2828 | "resolved": "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-6.15.5.tgz", 2829 | "integrity": "sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==", 2830 | "dev": true 2831 | }, 2832 | "type-check": { 2833 | "version": "0.3.2", 2834 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 2835 | "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", 2836 | "requires": { 2837 | "prelude-ls": "~1.1.2" 2838 | } 2839 | }, 2840 | "typescript": { 2841 | "version": "4.7.4", 2842 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", 2843 | "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", 2844 | "dev": true 2845 | }, 2846 | "universalify": { 2847 | "version": "0.1.2", 2848 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 2849 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" 2850 | }, 2851 | "uri-js": { 2852 | "version": "4.4.1", 2853 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 2854 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 2855 | "dev": true, 2856 | "requires": { 2857 | "punycode": "^2.1.0" 2858 | } 2859 | }, 2860 | "w3c-hr-time": { 2861 | "version": "1.0.2", 2862 | "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", 2863 | "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", 2864 | "requires": { 2865 | "browser-process-hrtime": "^1.0.0" 2866 | } 2867 | }, 2868 | "w3c-xmlserializer": { 2869 | "version": "3.0.0", 2870 | "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz", 2871 | "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==", 2872 | "requires": { 2873 | "xml-name-validator": "^4.0.0" 2874 | } 2875 | }, 2876 | "webidl-conversions": { 2877 | "version": "7.0.0", 2878 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", 2879 | "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" 2880 | }, 2881 | "whatwg-encoding": { 2882 | "version": "2.0.0", 2883 | "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", 2884 | "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", 2885 | "requires": { 2886 | "iconv-lite": "0.6.3" 2887 | } 2888 | }, 2889 | "whatwg-mimetype": { 2890 | "version": "3.0.0", 2891 | "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", 2892 | "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==" 2893 | }, 2894 | "whatwg-url": { 2895 | "version": "11.0.0", 2896 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", 2897 | "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", 2898 | "requires": { 2899 | "tr46": "^3.0.0", 2900 | "webidl-conversions": "^7.0.0" 2901 | } 2902 | }, 2903 | "word-wrap": { 2904 | "version": "1.2.3", 2905 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 2906 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" 2907 | }, 2908 | "ws": { 2909 | "version": "8.8.1", 2910 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", 2911 | "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", 2912 | "requires": {} 2913 | }, 2914 | "xml-name-validator": { 2915 | "version": "4.0.0", 2916 | "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", 2917 | "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==" 2918 | }, 2919 | "xmlchars": { 2920 | "version": "2.2.0", 2921 | "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", 2922 | "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" 2923 | }, 2924 | "yn": { 2925 | "version": "3.1.1", 2926 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", 2927 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", 2928 | "dev": true 2929 | } 2930 | } 2931 | } 2932 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "badge-api", 3 | "description": "Extra badges for App Store, Product Hunt and Hatena bookmarks", 4 | "version": "0.0.0", 5 | "author": "Yasuaki Uechi (https://uechi.io)", 6 | "dependencies": { 7 | "badgen": "^3.2.2", 8 | "cross-fetch": "^3.1.5", 9 | "graphql": "^16.3.0", 10 | "graphql-request": "^4.2.0", 11 | "jsdom": "^20.0.0" 12 | }, 13 | "devDependencies": { 14 | "@types/jsdom": "^20.0.0", 15 | "@types/node": "^18.6.2", 16 | "@vercel/node": "^2.5.1", 17 | "typescript": "^4.6.3" 18 | }, 19 | "repository": { 20 | "type": "git", 21 | "url": "https://github.com/uetchy/badge-api.git" 22 | }, 23 | "bugs": { 24 | "url": "https://github.com/uetchy/badge-api/issues" 25 | }, 26 | "license": "Apache-2.0", 27 | "private": true 28 | } 29 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | 5 | /* Basic Options */ 6 | // "incremental": true, /* Enable incremental compilation */ 7 | "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, 8 | "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, 9 | // "lib": [], /* Specify library files to be included in the compilation. */ 10 | // "allowJs": true, /* Allow javascript files to be compiled. */ 11 | // "checkJs": true, /* Report errors in .js files. */ 12 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ 13 | // "declaration": true, /* Generates corresponding '.d.ts' file. */ 14 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 15 | // "sourceMap": true, /* Generates corresponding '.map' file. */ 16 | // "outFile": "./", /* Concatenate and emit output to single file. */ 17 | // "outDir": "./", /* Redirect output structure to the directory. */ 18 | // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 19 | // "composite": true, /* Enable project compilation */ 20 | // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ 21 | // "removeComments": true, /* Do not emit comments to output. */ 22 | // "noEmit": true, /* Do not emit outputs. */ 23 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 24 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 25 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 26 | 27 | /* Strict Type-Checking Options */ 28 | "strict": true /* Enable all strict type-checking options. */, 29 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 30 | // "strictNullChecks": true, /* Enable strict null checks. */ 31 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */ 32 | // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ 33 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ 34 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ 35 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ 36 | 37 | /* Additional Checks */ 38 | // "noUnusedLocals": true, /* Report errors on unused locals. */ 39 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 40 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 41 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 42 | 43 | /* Module Resolution Options */ 44 | // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 45 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 46 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 47 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 48 | // "typeRoots": [], /* List of folders to include type definitions from. */ 49 | // "types": [], /* Type declaration files to be included in compilation. */ 50 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 51 | "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, 52 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 53 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 54 | 55 | /* Source Map Options */ 56 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 57 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 58 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 59 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 60 | 61 | /* Experimental Options */ 62 | // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ 63 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 64 | 65 | /* Advanced Options */ 66 | "skipLibCheck": true /* Skip type checking of declaration files. */, 67 | "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- 1 | { 2 | "rewrites": [ 3 | { 4 | "source": "/(.*)", 5 | "destination": "/api/$1" 6 | } 7 | ], 8 | "github": { 9 | "silent": true 10 | } 11 | } 12 | --------------------------------------------------------------------------------