├── .gitignore ├── .vscode └── settings.json ├── README.md ├── codegen.ts ├── package.json ├── pnpm-lock.yaml ├── renovate.json ├── src ├── index.ts ├── notion-helpers.ts ├── plan.ts └── utils.ts ├── tsconfig.json └── wrangler.toml /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | 3 | logs 4 | _.log 5 | npm-debug.log_ 6 | yarn-debug.log* 7 | yarn-error.log* 8 | lerna-debug.log* 9 | .pnpm-debug.log* 10 | 11 | # Diagnostic reports (https://nodejs.org/api/report.html) 12 | 13 | report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json 14 | 15 | # Runtime data 16 | 17 | pids 18 | _.pid 19 | _.seed 20 | \*.pid.lock 21 | 22 | # Directory for instrumented libs generated by jscoverage/JSCover 23 | 24 | lib-cov 25 | 26 | # Coverage directory used by tools like istanbul 27 | 28 | coverage 29 | \*.lcov 30 | 31 | # nyc test coverage 32 | 33 | .nyc_output 34 | 35 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 36 | 37 | .grunt 38 | 39 | # Bower dependency directory (https://bower.io/) 40 | 41 | bower_components 42 | 43 | # node-waf configuration 44 | 45 | .lock-wscript 46 | 47 | # Compiled binary addons (https://nodejs.org/api/addons.html) 48 | 49 | build/Release 50 | 51 | # Dependency directories 52 | 53 | node_modules/ 54 | jspm_packages/ 55 | 56 | # Snowpack dependency directory (https://snowpack.dev/) 57 | 58 | web_modules/ 59 | 60 | # TypeScript cache 61 | 62 | \*.tsbuildinfo 63 | 64 | # Optional npm cache directory 65 | 66 | .npm 67 | 68 | # Optional eslint cache 69 | 70 | .eslintcache 71 | 72 | # Optional stylelint cache 73 | 74 | .stylelintcache 75 | 76 | # Microbundle cache 77 | 78 | .rpt2_cache/ 79 | .rts2_cache_cjs/ 80 | .rts2_cache_es/ 81 | .rts2_cache_umd/ 82 | 83 | # Optional REPL history 84 | 85 | .node_repl_history 86 | 87 | # Output of 'npm pack' 88 | 89 | \*.tgz 90 | 91 | # Yarn Integrity file 92 | 93 | .yarn-integrity 94 | 95 | # dotenv environment variable files 96 | 97 | .env 98 | .env.development.local 99 | .env.test.local 100 | .env.production.local 101 | .env.local 102 | 103 | # parcel-bundler cache (https://parceljs.org/) 104 | 105 | .cache 106 | .parcel-cache 107 | 108 | # Next.js build output 109 | 110 | .next 111 | out 112 | 113 | # Nuxt.js build / generate output 114 | 115 | .nuxt 116 | dist 117 | 118 | # Gatsby files 119 | 120 | .cache/ 121 | 122 | # Comment in the public line in if your project uses Gatsby and not Next.js 123 | 124 | # https://nextjs.org/blog/next-9-1#public-directory-support 125 | 126 | # public 127 | 128 | # vuepress build output 129 | 130 | .vuepress/dist 131 | 132 | # vuepress v2.x temp and cache directory 133 | 134 | .temp 135 | .cache 136 | 137 | # Docusaurus cache and generated files 138 | 139 | .docusaurus 140 | 141 | # Serverless directories 142 | 143 | .serverless/ 144 | 145 | # FuseBox cache 146 | 147 | .fusebox/ 148 | 149 | # DynamoDB Local files 150 | 151 | .dynamodb/ 152 | 153 | # TernJS port file 154 | 155 | .tern-port 156 | 157 | # Stores VSCode versions used for testing VSCode extensions 158 | 159 | .vscode-test 160 | 161 | # yarn v2 162 | 163 | .yarn/cache 164 | .yarn/unplugged 165 | .yarn/build-state.yml 166 | .yarn/install-state.gz 167 | .pnp.\* 168 | 169 | # wrangler project 170 | 171 | .dev.vars 172 | 173 | src/types.ts -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "yaml.schemas": { 3 | "https://json.schemastore.org/github-workflow.json": "file:///Users/dotansimha/Dev/guild-sync/.github/workflows/deploy.yaml" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # notion-github-sync 2 | 3 | This bot syncs public Notion pages as GitHub Discussions/Issues. It's done periodically, based on the pages shared with the Notion Integration, and based on metadata specific on your Notion page. 4 | 5 | ## Usage 6 | 7 | To use this tool, please make sure to have the following: 8 | 9 | 1. Deploy this tool or run it locally with the relevant env vars. 10 | 2. Make sure to add the user your wish to use as collaborator in your repos (this is needed only in order to delete Discussions) 11 | 3. To make a Notion page public and syncable, first make sure to share this page with the Notion Integration you created: 12 | 13 | ![image](https://user-images.githubusercontent.com/3680083/177030441-7110357f-5f48-400e-b043-ed77fda794f1.png) 14 | 15 | 4. If you wish to make the Notion page public (with the Notion url), also tick `Share to web`: 16 | 17 | ![image](https://user-images.githubusercontent.com/3680083/177030470-bd8bafc5-a0ee-4c2e-920b-a7b3d2000483.png) 18 | 19 | 5. Annotate the top of your Notion page with the repo you wish to sync the page with the following text (NOT as code block, just as text - this should be the first block of your Notion page): 20 | 21 | ``` 22 | /github-public dotansimha/test-notion-sync discussion 23 | ``` 24 | 25 | You can also specify a custom GitHub Discussion category (the default is General): 26 | 27 | ``` 28 | /github-public dotansimha/test-notion-sync discussion General 29 | ``` 30 | 31 | Or, as an issue: 32 | 33 | You can also specify a custom GitHub Discussion category (the default is General): 34 | 35 | ``` 36 | /github-public dotansimha/test-notion-sync issue 37 | ``` 38 | 39 | You can find a synced example page here: https://github.com/dotansimha/test-notion-sync/discussions/12 40 | 41 | To remove a public discussion: 42 | 43 | 1. Make sure to delete the annotation from your page. 44 | 2. Wait for the next sync (or, manually run it) 45 | 3. You can also remove now the integration access from the page. 46 | 47 | ## Getting started (development) 48 | 49 | 1. Clone this repo 50 | 2. Make sure to install Wrangler CLI: https://developers.cloudflare.com/workers/wrangler/get-started/ and use `pnpm` 51 | 3. Create a Notion integration and get your Notion token (see https://www.notion.so/my-integrations). Use the token as `NOTION_TOKEN` env var. 52 | 4. Create a GitHub Personal Access token for the relevant user (to create/update/delete the GH Discussions). Use the token as `GH_BOT_TOKEN` env var. 53 | 5. Create `.dev.vars` file and add `NOTION_TOKEN` and `GH_BOT_TOKEN` to it (and other env vars if needed, see below) 54 | 6. Run `pnpm generate` to generate TypeScript types for the GraphQL queries. 55 | 7. Run `pnpm install` 56 | 8. Run `pnpm start` for development. 57 | 58 | > We use Wrangler for the Worker development. 59 | 60 | ## Config 61 | 62 | The following configurations can be set in the env of your project, in order to customize how the bot will run: 63 | 64 | - `NOTION_TOKEN` - required, a Notion intergraion API key 65 | - `GH_BOT_TOKEN` - requried (also during development) 66 | - `DRY_RUN` - set to `1` if you wish to just test the create/update/delete plan of this bot, without affecting any data on GitHub. 67 | - `ENABLE_FETCH` - Set to `1` to enable. This will enable the `fetch` event for the worker, this is helpful for development if you want to trigger the bot manually, or if you wish your bot to have a manual trigger. 68 | - `CUSTOM_HEADER_LINK` - customize the link added to the header of every GitHub issue/discussion. To use an external like, you can add markdown, for example: `[The Guild's](https://the-guild.dev)`. 69 | - `IGNORED_REPOS` - If the GitHub user you are using, is used for creating other issues/discussions, or a real (non-bot) user, you can reduce the stress of loading existing issues/discussion with ignoring some repos. This field is comma-separated (for example: `user/repo1,user/repo2`) 70 | 71 | For local development, please add your config to a file called `.dev.vars` 72 | 73 | ## Deployment (as CloudFlare Worker) 74 | 75 | - Every change to `main` branch will run CI and deploy to prod. 76 | - Make sure to configure your `NOTION_TOKEN` and `GH_BOT_TOKEN` (PAT) as part of the env vars. 77 | - You can also deploy from local env by running: `pnpm run deploy` 78 | 79 | > If you wish to have a clone of your own, make sure to rename worker name in the `wrangler.toml` file 80 | -------------------------------------------------------------------------------- /codegen.ts: -------------------------------------------------------------------------------- 1 | import { CodegenConfig } from "@graphql-codegen/cli"; 2 | import { config as loadDotenv } from "dotenv"; 3 | 4 | loadDotenv({ 5 | path: ".dev.vars", 6 | }); 7 | 8 | const config: CodegenConfig = { 9 | schema: [ 10 | { 11 | "https://api.github.com/graphql": { 12 | headers: { 13 | Authorization: `Bearer ${process.env.GH_BOT_TOKEN}`, 14 | }, 15 | }, 16 | }, 17 | ], 18 | documents: "src/**/*.ts", 19 | generates: { 20 | "src/types.ts": { 21 | config: { 22 | scalars: { 23 | URI: "string", 24 | }, 25 | }, 26 | plugins: ["typescript", "typescript-operations"], 27 | }, 28 | }, 29 | }; 30 | 31 | export default config; 32 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "guild-sync", 3 | "version": "0.0.0", 4 | "devDependencies": { 5 | "dotenv": "16.0.3", 6 | "@graphql-codegen/cli": "2.13.6", 7 | "@graphql-codegen/typescript": "2.7.4", 8 | "@graphql-codegen/typescript-operations": "2.5.4", 9 | "@cloudflare/workers-types": "3.16.0", 10 | "graphql": "16.6.0", 11 | "typescript": "4.8.4", 12 | "wrangler": "2.1.10" 13 | }, 14 | "private": true, 15 | "scripts": { 16 | "generate": "graphql-codegen --config codegen.ts", 17 | "prestart": "npm run generate", 18 | "predeploy": "npm run generate", 19 | "start": "wrangler dev", 20 | "deploy": "wrangler publish" 21 | }, 22 | "dependencies": { 23 | "notion-to-md": "2.5.5", 24 | "@notionhq/client": "2.2.1", 25 | "@octokit/core": "4.0.5" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@cloudflare/workers-types': 3.16.0 5 | '@graphql-codegen/cli': 2.13.5 6 | '@graphql-codegen/typescript': 2.7.3 7 | '@graphql-codegen/typescript-operations': 2.5.3 8 | '@notionhq/client': 2.2.1 9 | '@octokit/core': 4.0.5 10 | dotenv: 16.0.3 11 | graphql: 16.6.0 12 | notion-to-md: 2.5.5 13 | typescript: 4.8.4 14 | wrangler: 2.1.10 15 | 16 | dependencies: 17 | '@notionhq/client': 2.2.1 18 | '@octokit/core': 4.0.5 19 | notion-to-md: 2.5.5 20 | 21 | devDependencies: 22 | '@cloudflare/workers-types': 3.16.0 23 | '@graphql-codegen/cli': 2.13.5_siotesyb2nuw4tqpprclj4vbfq 24 | '@graphql-codegen/typescript': 2.7.3_graphql@16.6.0 25 | '@graphql-codegen/typescript-operations': 2.5.3_graphql@16.6.0 26 | dotenv: 16.0.3 27 | graphql: 16.6.0 28 | typescript: 4.8.4 29 | wrangler: 2.1.10 30 | 31 | packages: 32 | 33 | /@ampproject/remapping/2.2.0: 34 | resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} 35 | engines: {node: '>=6.0.0'} 36 | dependencies: 37 | '@jridgewell/gen-mapping': 0.1.1 38 | '@jridgewell/trace-mapping': 0.3.16 39 | dev: true 40 | 41 | /@ardatan/relay-compiler/12.0.0_graphql@16.6.0: 42 | resolution: {integrity: sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==} 43 | hasBin: true 44 | peerDependencies: 45 | graphql: '*' 46 | dependencies: 47 | '@babel/core': 7.19.3 48 | '@babel/generator': 7.19.3 49 | '@babel/parser': 7.19.3 50 | '@babel/runtime': 7.19.0 51 | '@babel/traverse': 7.19.3 52 | '@babel/types': 7.19.3 53 | babel-preset-fbjs: 3.4.0_@babel+core@7.19.3 54 | chalk: 4.1.2 55 | fb-watchman: 2.0.2 56 | fbjs: 3.0.4 57 | glob: 7.2.3 58 | graphql: 16.6.0 59 | immutable: 3.7.6 60 | invariant: 2.2.4 61 | nullthrows: 1.1.1 62 | relay-runtime: 12.0.0 63 | signedsource: 1.0.0 64 | yargs: 15.4.1 65 | transitivePeerDependencies: 66 | - encoding 67 | - supports-color 68 | dev: true 69 | 70 | /@ardatan/sync-fetch/0.0.1: 71 | resolution: {integrity: sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==} 72 | engines: {node: '>=14'} 73 | dependencies: 74 | node-fetch: 2.6.7 75 | transitivePeerDependencies: 76 | - encoding 77 | dev: true 78 | 79 | /@babel/code-frame/7.18.6: 80 | resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} 81 | engines: {node: '>=6.9.0'} 82 | dependencies: 83 | '@babel/highlight': 7.18.6 84 | dev: true 85 | 86 | /@babel/compat-data/7.19.3: 87 | resolution: {integrity: sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==} 88 | engines: {node: '>=6.9.0'} 89 | dev: true 90 | 91 | /@babel/core/7.19.3: 92 | resolution: {integrity: sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==} 93 | engines: {node: '>=6.9.0'} 94 | dependencies: 95 | '@ampproject/remapping': 2.2.0 96 | '@babel/code-frame': 7.18.6 97 | '@babel/generator': 7.19.3 98 | '@babel/helper-compilation-targets': 7.19.3_@babel+core@7.19.3 99 | '@babel/helper-module-transforms': 7.19.0 100 | '@babel/helpers': 7.19.0 101 | '@babel/parser': 7.19.3 102 | '@babel/template': 7.18.10 103 | '@babel/traverse': 7.19.3 104 | '@babel/types': 7.19.3 105 | convert-source-map: 1.8.0 106 | debug: 4.3.4 107 | gensync: 1.0.0-beta.2 108 | json5: 2.2.1 109 | semver: 6.3.0 110 | transitivePeerDependencies: 111 | - supports-color 112 | dev: true 113 | 114 | /@babel/generator/7.19.3: 115 | resolution: {integrity: sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==} 116 | engines: {node: '>=6.9.0'} 117 | dependencies: 118 | '@babel/types': 7.19.3 119 | '@jridgewell/gen-mapping': 0.3.2 120 | jsesc: 2.5.2 121 | dev: true 122 | 123 | /@babel/helper-annotate-as-pure/7.18.6: 124 | resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} 125 | engines: {node: '>=6.9.0'} 126 | dependencies: 127 | '@babel/types': 7.19.3 128 | dev: true 129 | 130 | /@babel/helper-compilation-targets/7.19.3_@babel+core@7.19.3: 131 | resolution: {integrity: sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==} 132 | engines: {node: '>=6.9.0'} 133 | peerDependencies: 134 | '@babel/core': ^7.0.0 135 | dependencies: 136 | '@babel/compat-data': 7.19.3 137 | '@babel/core': 7.19.3 138 | '@babel/helper-validator-option': 7.18.6 139 | browserslist: 4.21.4 140 | semver: 6.3.0 141 | dev: true 142 | 143 | /@babel/helper-create-class-features-plugin/7.19.0_@babel+core@7.19.3: 144 | resolution: {integrity: sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==} 145 | engines: {node: '>=6.9.0'} 146 | peerDependencies: 147 | '@babel/core': ^7.0.0 148 | dependencies: 149 | '@babel/core': 7.19.3 150 | '@babel/helper-annotate-as-pure': 7.18.6 151 | '@babel/helper-environment-visitor': 7.18.9 152 | '@babel/helper-function-name': 7.19.0 153 | '@babel/helper-member-expression-to-functions': 7.18.9 154 | '@babel/helper-optimise-call-expression': 7.18.6 155 | '@babel/helper-replace-supers': 7.19.1 156 | '@babel/helper-split-export-declaration': 7.18.6 157 | transitivePeerDependencies: 158 | - supports-color 159 | dev: true 160 | 161 | /@babel/helper-environment-visitor/7.18.9: 162 | resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} 163 | engines: {node: '>=6.9.0'} 164 | dev: true 165 | 166 | /@babel/helper-function-name/7.19.0: 167 | resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} 168 | engines: {node: '>=6.9.0'} 169 | dependencies: 170 | '@babel/template': 7.18.10 171 | '@babel/types': 7.19.3 172 | dev: true 173 | 174 | /@babel/helper-hoist-variables/7.18.6: 175 | resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} 176 | engines: {node: '>=6.9.0'} 177 | dependencies: 178 | '@babel/types': 7.19.3 179 | dev: true 180 | 181 | /@babel/helper-member-expression-to-functions/7.18.9: 182 | resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==} 183 | engines: {node: '>=6.9.0'} 184 | dependencies: 185 | '@babel/types': 7.19.3 186 | dev: true 187 | 188 | /@babel/helper-module-imports/7.18.6: 189 | resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} 190 | engines: {node: '>=6.9.0'} 191 | dependencies: 192 | '@babel/types': 7.19.3 193 | dev: true 194 | 195 | /@babel/helper-module-transforms/7.19.0: 196 | resolution: {integrity: sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==} 197 | engines: {node: '>=6.9.0'} 198 | dependencies: 199 | '@babel/helper-environment-visitor': 7.18.9 200 | '@babel/helper-module-imports': 7.18.6 201 | '@babel/helper-simple-access': 7.18.6 202 | '@babel/helper-split-export-declaration': 7.18.6 203 | '@babel/helper-validator-identifier': 7.19.1 204 | '@babel/template': 7.18.10 205 | '@babel/traverse': 7.19.3 206 | '@babel/types': 7.19.3 207 | transitivePeerDependencies: 208 | - supports-color 209 | dev: true 210 | 211 | /@babel/helper-optimise-call-expression/7.18.6: 212 | resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} 213 | engines: {node: '>=6.9.0'} 214 | dependencies: 215 | '@babel/types': 7.19.3 216 | dev: true 217 | 218 | /@babel/helper-plugin-utils/7.19.0: 219 | resolution: {integrity: sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==} 220 | engines: {node: '>=6.9.0'} 221 | dev: true 222 | 223 | /@babel/helper-replace-supers/7.19.1: 224 | resolution: {integrity: sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==} 225 | engines: {node: '>=6.9.0'} 226 | dependencies: 227 | '@babel/helper-environment-visitor': 7.18.9 228 | '@babel/helper-member-expression-to-functions': 7.18.9 229 | '@babel/helper-optimise-call-expression': 7.18.6 230 | '@babel/traverse': 7.19.3 231 | '@babel/types': 7.19.3 232 | transitivePeerDependencies: 233 | - supports-color 234 | dev: true 235 | 236 | /@babel/helper-simple-access/7.18.6: 237 | resolution: {integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==} 238 | engines: {node: '>=6.9.0'} 239 | dependencies: 240 | '@babel/types': 7.19.3 241 | dev: true 242 | 243 | /@babel/helper-skip-transparent-expression-wrappers/7.18.9: 244 | resolution: {integrity: sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==} 245 | engines: {node: '>=6.9.0'} 246 | dependencies: 247 | '@babel/types': 7.19.3 248 | dev: true 249 | 250 | /@babel/helper-split-export-declaration/7.18.6: 251 | resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} 252 | engines: {node: '>=6.9.0'} 253 | dependencies: 254 | '@babel/types': 7.19.3 255 | dev: true 256 | 257 | /@babel/helper-string-parser/7.18.10: 258 | resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==} 259 | engines: {node: '>=6.9.0'} 260 | dev: true 261 | 262 | /@babel/helper-validator-identifier/7.19.1: 263 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 264 | engines: {node: '>=6.9.0'} 265 | dev: true 266 | 267 | /@babel/helper-validator-option/7.18.6: 268 | resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} 269 | engines: {node: '>=6.9.0'} 270 | dev: true 271 | 272 | /@babel/helpers/7.19.0: 273 | resolution: {integrity: sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==} 274 | engines: {node: '>=6.9.0'} 275 | dependencies: 276 | '@babel/template': 7.18.10 277 | '@babel/traverse': 7.19.3 278 | '@babel/types': 7.19.3 279 | transitivePeerDependencies: 280 | - supports-color 281 | dev: true 282 | 283 | /@babel/highlight/7.18.6: 284 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 285 | engines: {node: '>=6.9.0'} 286 | dependencies: 287 | '@babel/helper-validator-identifier': 7.19.1 288 | chalk: 2.4.2 289 | js-tokens: 4.0.0 290 | dev: true 291 | 292 | /@babel/parser/7.19.3: 293 | resolution: {integrity: sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==} 294 | engines: {node: '>=6.0.0'} 295 | hasBin: true 296 | dependencies: 297 | '@babel/types': 7.19.3 298 | dev: true 299 | 300 | /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.19.3: 301 | resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} 302 | engines: {node: '>=6.9.0'} 303 | peerDependencies: 304 | '@babel/core': ^7.0.0-0 305 | dependencies: 306 | '@babel/core': 7.19.3 307 | '@babel/helper-create-class-features-plugin': 7.19.0_@babel+core@7.19.3 308 | '@babel/helper-plugin-utils': 7.19.0 309 | transitivePeerDependencies: 310 | - supports-color 311 | dev: true 312 | 313 | /@babel/plugin-proposal-object-rest-spread/7.18.9_@babel+core@7.19.3: 314 | resolution: {integrity: sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==} 315 | engines: {node: '>=6.9.0'} 316 | peerDependencies: 317 | '@babel/core': ^7.0.0-0 318 | dependencies: 319 | '@babel/compat-data': 7.19.3 320 | '@babel/core': 7.19.3 321 | '@babel/helper-compilation-targets': 7.19.3_@babel+core@7.19.3 322 | '@babel/helper-plugin-utils': 7.19.0 323 | '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.19.3 324 | '@babel/plugin-transform-parameters': 7.18.8_@babel+core@7.19.3 325 | dev: true 326 | 327 | /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.19.3: 328 | resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} 329 | peerDependencies: 330 | '@babel/core': ^7.0.0-0 331 | dependencies: 332 | '@babel/core': 7.19.3 333 | '@babel/helper-plugin-utils': 7.19.0 334 | dev: true 335 | 336 | /@babel/plugin-syntax-flow/7.18.6_@babel+core@7.19.3: 337 | resolution: {integrity: sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==} 338 | engines: {node: '>=6.9.0'} 339 | peerDependencies: 340 | '@babel/core': ^7.0.0-0 341 | dependencies: 342 | '@babel/core': 7.19.3 343 | '@babel/helper-plugin-utils': 7.19.0 344 | dev: true 345 | 346 | /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.19.3: 347 | resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} 348 | engines: {node: '>=6.9.0'} 349 | peerDependencies: 350 | '@babel/core': ^7.0.0-0 351 | dependencies: 352 | '@babel/core': 7.19.3 353 | '@babel/helper-plugin-utils': 7.19.0 354 | dev: true 355 | 356 | /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.19.3: 357 | resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} 358 | peerDependencies: 359 | '@babel/core': ^7.0.0-0 360 | dependencies: 361 | '@babel/core': 7.19.3 362 | '@babel/helper-plugin-utils': 7.19.0 363 | dev: true 364 | 365 | /@babel/plugin-transform-arrow-functions/7.18.6_@babel+core@7.19.3: 366 | resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} 367 | engines: {node: '>=6.9.0'} 368 | peerDependencies: 369 | '@babel/core': ^7.0.0-0 370 | dependencies: 371 | '@babel/core': 7.19.3 372 | '@babel/helper-plugin-utils': 7.19.0 373 | dev: true 374 | 375 | /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.19.3: 376 | resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} 377 | engines: {node: '>=6.9.0'} 378 | peerDependencies: 379 | '@babel/core': ^7.0.0-0 380 | dependencies: 381 | '@babel/core': 7.19.3 382 | '@babel/helper-plugin-utils': 7.19.0 383 | dev: true 384 | 385 | /@babel/plugin-transform-block-scoping/7.18.9_@babel+core@7.19.3: 386 | resolution: {integrity: sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==} 387 | engines: {node: '>=6.9.0'} 388 | peerDependencies: 389 | '@babel/core': ^7.0.0-0 390 | dependencies: 391 | '@babel/core': 7.19.3 392 | '@babel/helper-plugin-utils': 7.19.0 393 | dev: true 394 | 395 | /@babel/plugin-transform-classes/7.19.0_@babel+core@7.19.3: 396 | resolution: {integrity: sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==} 397 | engines: {node: '>=6.9.0'} 398 | peerDependencies: 399 | '@babel/core': ^7.0.0-0 400 | dependencies: 401 | '@babel/core': 7.19.3 402 | '@babel/helper-annotate-as-pure': 7.18.6 403 | '@babel/helper-compilation-targets': 7.19.3_@babel+core@7.19.3 404 | '@babel/helper-environment-visitor': 7.18.9 405 | '@babel/helper-function-name': 7.19.0 406 | '@babel/helper-optimise-call-expression': 7.18.6 407 | '@babel/helper-plugin-utils': 7.19.0 408 | '@babel/helper-replace-supers': 7.19.1 409 | '@babel/helper-split-export-declaration': 7.18.6 410 | globals: 11.12.0 411 | transitivePeerDependencies: 412 | - supports-color 413 | dev: true 414 | 415 | /@babel/plugin-transform-computed-properties/7.18.9_@babel+core@7.19.3: 416 | resolution: {integrity: sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==} 417 | engines: {node: '>=6.9.0'} 418 | peerDependencies: 419 | '@babel/core': ^7.0.0-0 420 | dependencies: 421 | '@babel/core': 7.19.3 422 | '@babel/helper-plugin-utils': 7.19.0 423 | dev: true 424 | 425 | /@babel/plugin-transform-destructuring/7.18.13_@babel+core@7.19.3: 426 | resolution: {integrity: sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==} 427 | engines: {node: '>=6.9.0'} 428 | peerDependencies: 429 | '@babel/core': ^7.0.0-0 430 | dependencies: 431 | '@babel/core': 7.19.3 432 | '@babel/helper-plugin-utils': 7.19.0 433 | dev: true 434 | 435 | /@babel/plugin-transform-flow-strip-types/7.19.0_@babel+core@7.19.3: 436 | resolution: {integrity: sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==} 437 | engines: {node: '>=6.9.0'} 438 | peerDependencies: 439 | '@babel/core': ^7.0.0-0 440 | dependencies: 441 | '@babel/core': 7.19.3 442 | '@babel/helper-plugin-utils': 7.19.0 443 | '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.19.3 444 | dev: true 445 | 446 | /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.19.3: 447 | resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} 448 | engines: {node: '>=6.9.0'} 449 | peerDependencies: 450 | '@babel/core': ^7.0.0-0 451 | dependencies: 452 | '@babel/core': 7.19.3 453 | '@babel/helper-plugin-utils': 7.19.0 454 | dev: true 455 | 456 | /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.19.3: 457 | resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} 458 | engines: {node: '>=6.9.0'} 459 | peerDependencies: 460 | '@babel/core': ^7.0.0-0 461 | dependencies: 462 | '@babel/core': 7.19.3 463 | '@babel/helper-compilation-targets': 7.19.3_@babel+core@7.19.3 464 | '@babel/helper-function-name': 7.19.0 465 | '@babel/helper-plugin-utils': 7.19.0 466 | dev: true 467 | 468 | /@babel/plugin-transform-literals/7.18.9_@babel+core@7.19.3: 469 | resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} 470 | engines: {node: '>=6.9.0'} 471 | peerDependencies: 472 | '@babel/core': ^7.0.0-0 473 | dependencies: 474 | '@babel/core': 7.19.3 475 | '@babel/helper-plugin-utils': 7.19.0 476 | dev: true 477 | 478 | /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.19.3: 479 | resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} 480 | engines: {node: '>=6.9.0'} 481 | peerDependencies: 482 | '@babel/core': ^7.0.0-0 483 | dependencies: 484 | '@babel/core': 7.19.3 485 | '@babel/helper-plugin-utils': 7.19.0 486 | dev: true 487 | 488 | /@babel/plugin-transform-modules-commonjs/7.18.6_@babel+core@7.19.3: 489 | resolution: {integrity: sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==} 490 | engines: {node: '>=6.9.0'} 491 | peerDependencies: 492 | '@babel/core': ^7.0.0-0 493 | dependencies: 494 | '@babel/core': 7.19.3 495 | '@babel/helper-module-transforms': 7.19.0 496 | '@babel/helper-plugin-utils': 7.19.0 497 | '@babel/helper-simple-access': 7.18.6 498 | babel-plugin-dynamic-import-node: 2.3.3 499 | transitivePeerDependencies: 500 | - supports-color 501 | dev: true 502 | 503 | /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.19.3: 504 | resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} 505 | engines: {node: '>=6.9.0'} 506 | peerDependencies: 507 | '@babel/core': ^7.0.0-0 508 | dependencies: 509 | '@babel/core': 7.19.3 510 | '@babel/helper-plugin-utils': 7.19.0 511 | '@babel/helper-replace-supers': 7.19.1 512 | transitivePeerDependencies: 513 | - supports-color 514 | dev: true 515 | 516 | /@babel/plugin-transform-parameters/7.18.8_@babel+core@7.19.3: 517 | resolution: {integrity: sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==} 518 | engines: {node: '>=6.9.0'} 519 | peerDependencies: 520 | '@babel/core': ^7.0.0-0 521 | dependencies: 522 | '@babel/core': 7.19.3 523 | '@babel/helper-plugin-utils': 7.19.0 524 | dev: true 525 | 526 | /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.19.3: 527 | resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} 528 | engines: {node: '>=6.9.0'} 529 | peerDependencies: 530 | '@babel/core': ^7.0.0-0 531 | dependencies: 532 | '@babel/core': 7.19.3 533 | '@babel/helper-plugin-utils': 7.19.0 534 | dev: true 535 | 536 | /@babel/plugin-transform-react-display-name/7.18.6_@babel+core@7.19.3: 537 | resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==} 538 | engines: {node: '>=6.9.0'} 539 | peerDependencies: 540 | '@babel/core': ^7.0.0-0 541 | dependencies: 542 | '@babel/core': 7.19.3 543 | '@babel/helper-plugin-utils': 7.19.0 544 | dev: true 545 | 546 | /@babel/plugin-transform-react-jsx/7.19.0_@babel+core@7.19.3: 547 | resolution: {integrity: sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==} 548 | engines: {node: '>=6.9.0'} 549 | peerDependencies: 550 | '@babel/core': ^7.0.0-0 551 | dependencies: 552 | '@babel/core': 7.19.3 553 | '@babel/helper-annotate-as-pure': 7.18.6 554 | '@babel/helper-module-imports': 7.18.6 555 | '@babel/helper-plugin-utils': 7.19.0 556 | '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.19.3 557 | '@babel/types': 7.19.3 558 | dev: true 559 | 560 | /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.19.3: 561 | resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} 562 | engines: {node: '>=6.9.0'} 563 | peerDependencies: 564 | '@babel/core': ^7.0.0-0 565 | dependencies: 566 | '@babel/core': 7.19.3 567 | '@babel/helper-plugin-utils': 7.19.0 568 | dev: true 569 | 570 | /@babel/plugin-transform-spread/7.19.0_@babel+core@7.19.3: 571 | resolution: {integrity: sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==} 572 | engines: {node: '>=6.9.0'} 573 | peerDependencies: 574 | '@babel/core': ^7.0.0-0 575 | dependencies: 576 | '@babel/core': 7.19.3 577 | '@babel/helper-plugin-utils': 7.19.0 578 | '@babel/helper-skip-transparent-expression-wrappers': 7.18.9 579 | dev: true 580 | 581 | /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.19.3: 582 | resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} 583 | engines: {node: '>=6.9.0'} 584 | peerDependencies: 585 | '@babel/core': ^7.0.0-0 586 | dependencies: 587 | '@babel/core': 7.19.3 588 | '@babel/helper-plugin-utils': 7.19.0 589 | dev: true 590 | 591 | /@babel/runtime/7.19.0: 592 | resolution: {integrity: sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==} 593 | engines: {node: '>=6.9.0'} 594 | dependencies: 595 | regenerator-runtime: 0.13.9 596 | dev: true 597 | 598 | /@babel/template/7.18.10: 599 | resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} 600 | engines: {node: '>=6.9.0'} 601 | dependencies: 602 | '@babel/code-frame': 7.18.6 603 | '@babel/parser': 7.19.3 604 | '@babel/types': 7.19.3 605 | dev: true 606 | 607 | /@babel/traverse/7.19.3: 608 | resolution: {integrity: sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==} 609 | engines: {node: '>=6.9.0'} 610 | dependencies: 611 | '@babel/code-frame': 7.18.6 612 | '@babel/generator': 7.19.3 613 | '@babel/helper-environment-visitor': 7.18.9 614 | '@babel/helper-function-name': 7.19.0 615 | '@babel/helper-hoist-variables': 7.18.6 616 | '@babel/helper-split-export-declaration': 7.18.6 617 | '@babel/parser': 7.19.3 618 | '@babel/types': 7.19.3 619 | debug: 4.3.4 620 | globals: 11.12.0 621 | transitivePeerDependencies: 622 | - supports-color 623 | dev: true 624 | 625 | /@babel/types/7.19.3: 626 | resolution: {integrity: sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==} 627 | engines: {node: '>=6.9.0'} 628 | dependencies: 629 | '@babel/helper-string-parser': 7.18.10 630 | '@babel/helper-validator-identifier': 7.19.1 631 | to-fast-properties: 2.0.0 632 | dev: true 633 | 634 | /@cloudflare/kv-asset-handler/0.2.0: 635 | resolution: {integrity: sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==} 636 | dependencies: 637 | mime: 3.0.0 638 | dev: true 639 | 640 | /@cloudflare/workers-types/3.16.0: 641 | resolution: {integrity: sha512-gaBUSaKS65mN3iKZEgichbXYEmAa/pXkc5Gbt+1BptYphdGkj09ggdsiE4w8g0F/uI1g36QaTKrzVnBAWMipvQ==} 642 | dev: true 643 | 644 | /@cspotcode/source-map-support/0.8.1: 645 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 646 | engines: {node: '>=12'} 647 | dependencies: 648 | '@jridgewell/trace-mapping': 0.3.9 649 | dev: true 650 | 651 | /@esbuild-plugins/node-globals-polyfill/0.1.1_esbuild@0.14.51: 652 | resolution: {integrity: sha512-MR0oAA+mlnJWrt1RQVQ+4VYuRJW/P2YmRTv1AsplObyvuBMnPHiizUF95HHYiSsMGLhyGtWufaq2XQg6+iurBg==} 653 | peerDependencies: 654 | esbuild: '*' 655 | dependencies: 656 | esbuild: 0.14.51 657 | dev: true 658 | 659 | /@esbuild-plugins/node-modules-polyfill/0.1.4_esbuild@0.14.51: 660 | resolution: {integrity: sha512-uZbcXi0zbmKC/050p3gJnne5Qdzw8vkXIv+c2BW0Lsc1ji1SkrxbKPUy5Efr0blbTu1SL8w4eyfpnSdPg3G0Qg==} 661 | peerDependencies: 662 | esbuild: '*' 663 | dependencies: 664 | esbuild: 0.14.51 665 | escape-string-regexp: 4.0.0 666 | rollup-plugin-node-polyfills: 0.2.1 667 | dev: true 668 | 669 | /@graphql-codegen/cli/2.13.5_siotesyb2nuw4tqpprclj4vbfq: 670 | resolution: {integrity: sha512-qqkQxd+9jBdZDjUSCsH3rTHKmFY9KNQwvwXXEMpRSz+oByYTxGZ0ZE5Lxt0hRXFkGOe8BaVkfPiwa2qSUfA5vw==} 671 | hasBin: true 672 | peerDependencies: 673 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 674 | dependencies: 675 | '@babel/generator': 7.19.3 676 | '@babel/template': 7.18.10 677 | '@babel/types': 7.19.3 678 | '@graphql-codegen/core': 2.6.2_graphql@16.6.0 679 | '@graphql-codegen/plugin-helpers': 2.7.1_graphql@16.6.0 680 | '@graphql-tools/apollo-engine-loader': 7.3.13_graphql@16.6.0 681 | '@graphql-tools/code-file-loader': 7.3.6_graphql@16.6.0 682 | '@graphql-tools/git-loader': 7.2.6_graphql@16.6.0 683 | '@graphql-tools/github-loader': 7.3.13_graphql@16.6.0 684 | '@graphql-tools/graphql-file-loader': 7.5.5_graphql@16.6.0 685 | '@graphql-tools/json-file-loader': 7.4.6_graphql@16.6.0 686 | '@graphql-tools/load': 7.7.7_graphql@16.6.0 687 | '@graphql-tools/prisma-loader': 7.2.24_graphql@16.6.0 688 | '@graphql-tools/url-loader': 7.16.4_graphql@16.6.0 689 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 690 | '@whatwg-node/fetch': 0.3.2 691 | ansi-escapes: 4.3.2 692 | chalk: 4.1.2 693 | chokidar: 3.5.3 694 | cosmiconfig: 7.0.1 695 | cosmiconfig-typescript-loader: 4.1.1_ollydpoxwdashhemwxkyttgehy 696 | debounce: 1.2.1 697 | detect-indent: 6.1.0 698 | graphql: 16.6.0 699 | graphql-config: 4.3.6_siotesyb2nuw4tqpprclj4vbfq 700 | inquirer: 8.2.4 701 | is-glob: 4.0.3 702 | json-to-pretty-yaml: 1.2.2 703 | listr2: 4.0.5 704 | log-symbols: 4.1.0 705 | mkdirp: 1.0.4 706 | string-env-interpolation: 1.0.1 707 | ts-log: 2.2.5 708 | tslib: 2.4.0 709 | yaml: 1.10.2 710 | yargs: 17.6.0 711 | transitivePeerDependencies: 712 | - '@swc/core' 713 | - '@swc/wasm' 714 | - '@types/node' 715 | - bufferutil 716 | - encoding 717 | - enquirer 718 | - supports-color 719 | - ts-node 720 | - typescript 721 | - utf-8-validate 722 | dev: true 723 | 724 | /@graphql-codegen/core/2.6.2_graphql@16.6.0: 725 | resolution: {integrity: sha512-58T5yf9nEfAhDwN1Vz1hImqpdJ/gGpCGUaroQ5tqskZPf7eZYYVkEXbtqRZZLx1MCCKwjWX4hMtTPpHhwKCkng==} 726 | peerDependencies: 727 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 728 | dependencies: 729 | '@graphql-codegen/plugin-helpers': 2.7.1_graphql@16.6.0 730 | '@graphql-tools/schema': 9.0.4_graphql@16.6.0 731 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 732 | graphql: 16.6.0 733 | tslib: 2.4.0 734 | dev: true 735 | 736 | /@graphql-codegen/plugin-helpers/2.7.1_graphql@16.6.0: 737 | resolution: {integrity: sha512-wpEShhwbQp8pqXolnSCNaj0pU91LbuBvYHpYqm96TUqyeKQYAYRVmw3JIt0g8UQpKYhg8lYIDwWdcINOYqkGLg==} 738 | peerDependencies: 739 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 740 | dependencies: 741 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 742 | change-case-all: 1.0.14 743 | common-tags: 1.8.2 744 | graphql: 16.6.0 745 | import-from: 4.0.0 746 | lodash: 4.17.21 747 | tslib: 2.4.0 748 | dev: true 749 | 750 | /@graphql-codegen/schema-ast/2.5.1_graphql@16.6.0: 751 | resolution: {integrity: sha512-tewa5DEKbglWn7kYyVBkh3J8YQ5ALqAMVmZwiVFIGOao5u66nd+e4HuFqp0u+Jpz4SJGGi0ap/oFrEvlqLjd2A==} 752 | peerDependencies: 753 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 754 | dependencies: 755 | '@graphql-codegen/plugin-helpers': 2.7.1_graphql@16.6.0 756 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 757 | graphql: 16.6.0 758 | tslib: 2.4.0 759 | dev: true 760 | 761 | /@graphql-codegen/typescript-operations/2.5.3_graphql@16.6.0: 762 | resolution: {integrity: sha512-s+pA+Erm0HeBb/D5cNrflwRM5KWhkiA5cbz4uA99l3fzFPveoQBPfRCBu0XAlJLP/kBDy64+o4B8Nfc7wdRtmA==} 763 | peerDependencies: 764 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 765 | dependencies: 766 | '@graphql-codegen/plugin-helpers': 2.7.1_graphql@16.6.0 767 | '@graphql-codegen/typescript': 2.7.3_graphql@16.6.0 768 | '@graphql-codegen/visitor-plugin-common': 2.12.1_graphql@16.6.0 769 | auto-bind: 4.0.0 770 | graphql: 16.6.0 771 | tslib: 2.4.0 772 | transitivePeerDependencies: 773 | - encoding 774 | - supports-color 775 | dev: true 776 | 777 | /@graphql-codegen/typescript/2.7.3_graphql@16.6.0: 778 | resolution: {integrity: sha512-EzX/acijXtbG/AwPzho2ZZWaNo00+xAbsRDP+vnT2PwQV3AYq3/5bFvjq1XfAGWbTntdmlYlIwC9hf5bI85WVA==} 779 | peerDependencies: 780 | graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 781 | dependencies: 782 | '@graphql-codegen/plugin-helpers': 2.7.1_graphql@16.6.0 783 | '@graphql-codegen/schema-ast': 2.5.1_graphql@16.6.0 784 | '@graphql-codegen/visitor-plugin-common': 2.12.1_graphql@16.6.0 785 | auto-bind: 4.0.0 786 | graphql: 16.6.0 787 | tslib: 2.4.0 788 | transitivePeerDependencies: 789 | - encoding 790 | - supports-color 791 | dev: true 792 | 793 | /@graphql-codegen/visitor-plugin-common/2.12.1_graphql@16.6.0: 794 | resolution: {integrity: sha512-dIUrX4+i/uazyPQqXyQ8cqykgNFe1lknjnfDWFo0gnk2W8+ruuL2JpSrj/7efzFHxbYGMQrCABDCUTVLi3DcVA==} 795 | peerDependencies: 796 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 797 | dependencies: 798 | '@graphql-codegen/plugin-helpers': 2.7.1_graphql@16.6.0 799 | '@graphql-tools/optimize': 1.3.1_graphql@16.6.0 800 | '@graphql-tools/relay-operation-optimizer': 6.5.6_graphql@16.6.0 801 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 802 | auto-bind: 4.0.0 803 | change-case-all: 1.0.14 804 | dependency-graph: 0.11.0 805 | graphql: 16.6.0 806 | graphql-tag: 2.12.6_graphql@16.6.0 807 | parse-filepath: 1.0.2 808 | tslib: 2.4.0 809 | transitivePeerDependencies: 810 | - encoding 811 | - supports-color 812 | dev: true 813 | 814 | /@graphql-tools/apollo-engine-loader/7.3.13_graphql@16.6.0: 815 | resolution: {integrity: sha512-fr2TcA9fM+H81ymdtyDaocZ/Ua4Vhhf1IvpQoPpuEUwLorREd86N8VORUEIBvEdJ1b7Bz7NqwL3RnM5m9KXftA==} 816 | peerDependencies: 817 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 818 | dependencies: 819 | '@ardatan/sync-fetch': 0.0.1 820 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 821 | '@whatwg-node/fetch': 0.4.7 822 | graphql: 16.6.0 823 | tslib: 2.4.0 824 | transitivePeerDependencies: 825 | - encoding 826 | dev: true 827 | 828 | /@graphql-tools/batch-execute/8.5.6_graphql@16.6.0: 829 | resolution: {integrity: sha512-33vMvVDLBKsNJVNhcySVXF+zkcRL/GRs1Lt+MxygrYCypcAPpFm+amE2y9vOCFufuaKExIX7Lonnmxu19vPzaQ==} 830 | peerDependencies: 831 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 832 | dependencies: 833 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 834 | dataloader: 2.1.0 835 | graphql: 16.6.0 836 | tslib: 2.4.0 837 | value-or-promise: 1.0.11 838 | dev: true 839 | 840 | /@graphql-tools/code-file-loader/7.3.6_graphql@16.6.0: 841 | resolution: {integrity: sha512-PNWWSwSuQAqANerDwS0zdQ5FPipirv75TjjzBHnY+6AF/WvKq5sQiUQheA2P7B+MZc/KdQ7h/JAGMQOhKNVA+Q==} 842 | peerDependencies: 843 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 844 | dependencies: 845 | '@graphql-tools/graphql-tag-pluck': 7.3.6_graphql@16.6.0 846 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 847 | globby: 11.1.0 848 | graphql: 16.6.0 849 | tslib: 2.4.0 850 | unixify: 1.0.0 851 | transitivePeerDependencies: 852 | - supports-color 853 | dev: true 854 | 855 | /@graphql-tools/delegate/9.0.8_graphql@16.6.0: 856 | resolution: {integrity: sha512-h+Uce0Np0eKj7wILOvlffRQ9jEQ4KelNXfqG8A2w+2sO2P6CbKsR7bJ4ch9lcUdCBbZ4Wg6L/K+1C4NRFfzbNw==} 857 | peerDependencies: 858 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 859 | dependencies: 860 | '@graphql-tools/batch-execute': 8.5.6_graphql@16.6.0 861 | '@graphql-tools/schema': 9.0.4_graphql@16.6.0 862 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 863 | dataloader: 2.1.0 864 | graphql: 16.6.0 865 | tslib: 2.4.0 866 | value-or-promise: 1.0.11 867 | dev: true 868 | 869 | /@graphql-tools/git-loader/7.2.6_graphql@16.6.0: 870 | resolution: {integrity: sha512-QA94Gjp70xcdIYUbZDIm8fnuDN0IvoIIVVU+lXQemoV+vDeJKIjrP9tfOTjVDPIDXQnCYswvu9HLe8BlEApQYw==} 871 | peerDependencies: 872 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 873 | dependencies: 874 | '@graphql-tools/graphql-tag-pluck': 7.3.6_graphql@16.6.0 875 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 876 | graphql: 16.6.0 877 | is-glob: 4.0.3 878 | micromatch: 4.0.5 879 | tslib: 2.4.0 880 | unixify: 1.0.0 881 | transitivePeerDependencies: 882 | - supports-color 883 | dev: true 884 | 885 | /@graphql-tools/github-loader/7.3.13_graphql@16.6.0: 886 | resolution: {integrity: sha512-4RTjdtdtQC+n9LJMKpBThQGD3LnpeLVjU2A7BoVuKR+NQPJtcUzzuD6dXeYm5RiOMOQUsPGxQWKhJenW20aLUg==} 887 | peerDependencies: 888 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 889 | dependencies: 890 | '@ardatan/sync-fetch': 0.0.1 891 | '@graphql-tools/graphql-tag-pluck': 7.3.6_graphql@16.6.0 892 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 893 | '@whatwg-node/fetch': 0.4.7 894 | graphql: 16.6.0 895 | tslib: 2.4.0 896 | transitivePeerDependencies: 897 | - encoding 898 | - supports-color 899 | dev: true 900 | 901 | /@graphql-tools/graphql-file-loader/7.5.5_graphql@16.6.0: 902 | resolution: {integrity: sha512-OL+7qO1S66TpMK7OGz8Ag2WL08HlxKxrObVSDlxzWbSubWuXM5v959XscYAKRf6daYcVpkfNvO37QjflL9mjhg==} 903 | peerDependencies: 904 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 905 | dependencies: 906 | '@graphql-tools/import': 6.7.6_graphql@16.6.0 907 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 908 | globby: 11.1.0 909 | graphql: 16.6.0 910 | tslib: 2.4.0 911 | unixify: 1.0.0 912 | dev: true 913 | 914 | /@graphql-tools/graphql-tag-pluck/7.3.6_graphql@16.6.0: 915 | resolution: {integrity: sha512-qULgqsOGKY1/PBqmP7fJZqbCg/TzPHKB9Wl51HGA9QjGymrzmrH5EjvsC8RtgdubF8yuTTVVFTz1lmSQ7RPssQ==} 916 | peerDependencies: 917 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 918 | dependencies: 919 | '@babel/parser': 7.19.3 920 | '@babel/traverse': 7.19.3 921 | '@babel/types': 7.19.3 922 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 923 | graphql: 16.6.0 924 | tslib: 2.4.0 925 | transitivePeerDependencies: 926 | - supports-color 927 | dev: true 928 | 929 | /@graphql-tools/import/6.7.6_graphql@16.6.0: 930 | resolution: {integrity: sha512-WtUyiO2qCaK/H4u81zAw/NbBvCOzwKl4N+Vl+FqrFCzYobscwL6x6roePyoXM1O3+JJIIn3CETv4kg4kwxaBVw==} 931 | peerDependencies: 932 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 933 | dependencies: 934 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 935 | graphql: 16.6.0 936 | resolve-from: 5.0.0 937 | tslib: 2.4.0 938 | dev: true 939 | 940 | /@graphql-tools/json-file-loader/7.4.6_graphql@16.6.0: 941 | resolution: {integrity: sha512-34AfjCitO4NtJ5AcXYLcFF3GDsMVTycrljSaBA2t1d7B4bMPtREDphKXLMc/Uf2zW6IW1i1sZZyrcmArPy1Z8A==} 942 | peerDependencies: 943 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 944 | dependencies: 945 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 946 | globby: 11.1.0 947 | graphql: 16.6.0 948 | tslib: 2.4.0 949 | unixify: 1.0.0 950 | dev: true 951 | 952 | /@graphql-tools/load/7.7.7_graphql@16.6.0: 953 | resolution: {integrity: sha512-IpI2672zcoAX4FLjcH5kvHc7eqjPyLP1svrIcZKQenv0GRS6dW0HI9E5UCBs0y/yy8yW6s+SvpmNsfIlkMj3Kw==} 954 | peerDependencies: 955 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 956 | dependencies: 957 | '@graphql-tools/schema': 9.0.4_graphql@16.6.0 958 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 959 | graphql: 16.6.0 960 | p-limit: 3.1.0 961 | tslib: 2.4.0 962 | dev: true 963 | 964 | /@graphql-tools/merge/8.3.6_graphql@16.6.0: 965 | resolution: {integrity: sha512-uUBokxXi89bj08P+iCvQk3Vew4vcfL5ZM6NTylWi8PIpoq4r5nJ625bRuN8h2uubEdRiH8ntN9M4xkd/j7AybQ==} 966 | peerDependencies: 967 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 968 | dependencies: 969 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 970 | graphql: 16.6.0 971 | tslib: 2.4.0 972 | dev: true 973 | 974 | /@graphql-tools/optimize/1.3.1_graphql@16.6.0: 975 | resolution: {integrity: sha512-5j5CZSRGWVobt4bgRRg7zhjPiSimk+/zIuColih8E8DxuFOaJ+t0qu7eZS5KXWBkjcd4BPNuhUPpNlEmHPqVRQ==} 976 | peerDependencies: 977 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 978 | dependencies: 979 | graphql: 16.6.0 980 | tslib: 2.4.0 981 | dev: true 982 | 983 | /@graphql-tools/prisma-loader/7.2.24_graphql@16.6.0: 984 | resolution: {integrity: sha512-CRQvoraCIcQa44RMSF3EpzLedouR9SSLC6ylFEHCFf2b8r1EfbK5NOdLL1V9znOjjapI6/oJURlFWdldcAaMgg==} 985 | peerDependencies: 986 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 987 | dependencies: 988 | '@graphql-tools/url-loader': 7.16.4_graphql@16.6.0 989 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 990 | '@types/js-yaml': 4.0.5 991 | '@types/json-stable-stringify': 1.0.34 992 | '@types/jsonwebtoken': 8.5.9 993 | chalk: 4.1.2 994 | debug: 4.3.4 995 | dotenv: 16.0.3 996 | graphql: 16.6.0 997 | graphql-request: 5.0.0_graphql@16.6.0 998 | http-proxy-agent: 5.0.0 999 | https-proxy-agent: 5.0.1 1000 | isomorphic-fetch: 3.0.0 1001 | js-yaml: 4.1.0 1002 | json-stable-stringify: 1.0.1 1003 | jsonwebtoken: 8.5.1 1004 | lodash: 4.17.21 1005 | scuid: 1.1.0 1006 | tslib: 2.4.0 1007 | yaml-ast-parser: 0.0.43 1008 | transitivePeerDependencies: 1009 | - '@types/node' 1010 | - bufferutil 1011 | - encoding 1012 | - supports-color 1013 | - utf-8-validate 1014 | dev: true 1015 | 1016 | /@graphql-tools/relay-operation-optimizer/6.5.6_graphql@16.6.0: 1017 | resolution: {integrity: sha512-2KjaWYxD/NC6KtckbDEAbN46QO+74d1SBaZQ26qQjWhyoAjon12xlMW4HWxHEN0d0xuz0cnOVUVc+t4wVXePUg==} 1018 | peerDependencies: 1019 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1020 | dependencies: 1021 | '@ardatan/relay-compiler': 12.0.0_graphql@16.6.0 1022 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 1023 | graphql: 16.6.0 1024 | tslib: 2.4.0 1025 | transitivePeerDependencies: 1026 | - encoding 1027 | - supports-color 1028 | dev: true 1029 | 1030 | /@graphql-tools/schema/9.0.4_graphql@16.6.0: 1031 | resolution: {integrity: sha512-B/b8ukjs18fq+/s7p97P8L1VMrwapYc3N2KvdG/uNThSazRRn8GsBK0Nr+FH+mVKiUfb4Dno79e3SumZVoHuOQ==} 1032 | peerDependencies: 1033 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1034 | dependencies: 1035 | '@graphql-tools/merge': 8.3.6_graphql@16.6.0 1036 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 1037 | graphql: 16.6.0 1038 | tslib: 2.4.0 1039 | value-or-promise: 1.0.11 1040 | dev: true 1041 | 1042 | /@graphql-tools/url-loader/7.16.4_graphql@16.6.0: 1043 | resolution: {integrity: sha512-7yGrJJNcqVQIplCyVLk7tW2mAgYyZ06FRmCBnzw3B61+aIjFavrm6YlnKkhdqYSYyFmIbVcigdP3vkoYIu23TA==} 1044 | peerDependencies: 1045 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1046 | dependencies: 1047 | '@ardatan/sync-fetch': 0.0.1 1048 | '@graphql-tools/delegate': 9.0.8_graphql@16.6.0 1049 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 1050 | '@graphql-tools/wrap': 9.2.3_graphql@16.6.0 1051 | '@types/ws': 8.5.3 1052 | '@whatwg-node/fetch': 0.4.7 1053 | dset: 3.1.2 1054 | extract-files: 11.0.0 1055 | graphql: 16.6.0 1056 | graphql-ws: 5.11.2_graphql@16.6.0 1057 | isomorphic-ws: 5.0.0_ws@8.9.0 1058 | meros: 1.2.1 1059 | tslib: 2.4.0 1060 | value-or-promise: 1.0.11 1061 | ws: 8.9.0 1062 | transitivePeerDependencies: 1063 | - '@types/node' 1064 | - bufferutil 1065 | - encoding 1066 | - utf-8-validate 1067 | dev: true 1068 | 1069 | /@graphql-tools/utils/8.12.0_graphql@16.6.0: 1070 | resolution: {integrity: sha512-TeO+MJWGXjUTS52qfK4R8HiPoF/R7X+qmgtOYd8DTH0l6b+5Y/tlg5aGeUJefqImRq7nvi93Ms40k/Uz4D5CWw==} 1071 | peerDependencies: 1072 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1073 | dependencies: 1074 | graphql: 16.6.0 1075 | tslib: 2.4.0 1076 | dev: true 1077 | 1078 | /@graphql-tools/wrap/9.2.3_graphql@16.6.0: 1079 | resolution: {integrity: sha512-aiLjcAuUwcvA1mF25c7KFDPXEdQDpo6bTDyAMCSlFXpF4T01hoxLERmfmbRmsmy/dP80ZB31a+t70aspVdqZSA==} 1080 | peerDependencies: 1081 | graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 1082 | dependencies: 1083 | '@graphql-tools/delegate': 9.0.8_graphql@16.6.0 1084 | '@graphql-tools/schema': 9.0.4_graphql@16.6.0 1085 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 1086 | graphql: 16.6.0 1087 | tslib: 2.4.0 1088 | value-or-promise: 1.0.11 1089 | dev: true 1090 | 1091 | /@graphql-typed-document-node/core/3.1.1_graphql@16.6.0: 1092 | resolution: {integrity: sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==} 1093 | peerDependencies: 1094 | graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 1095 | dependencies: 1096 | graphql: 16.6.0 1097 | dev: true 1098 | 1099 | /@iarna/toml/2.2.5: 1100 | resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} 1101 | dev: true 1102 | 1103 | /@jridgewell/gen-mapping/0.1.1: 1104 | resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} 1105 | engines: {node: '>=6.0.0'} 1106 | dependencies: 1107 | '@jridgewell/set-array': 1.1.2 1108 | '@jridgewell/sourcemap-codec': 1.4.14 1109 | dev: true 1110 | 1111 | /@jridgewell/gen-mapping/0.3.2: 1112 | resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} 1113 | engines: {node: '>=6.0.0'} 1114 | dependencies: 1115 | '@jridgewell/set-array': 1.1.2 1116 | '@jridgewell/sourcemap-codec': 1.4.14 1117 | '@jridgewell/trace-mapping': 0.3.16 1118 | dev: true 1119 | 1120 | /@jridgewell/resolve-uri/3.1.0: 1121 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} 1122 | engines: {node: '>=6.0.0'} 1123 | dev: true 1124 | 1125 | /@jridgewell/set-array/1.1.2: 1126 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 1127 | engines: {node: '>=6.0.0'} 1128 | dev: true 1129 | 1130 | /@jridgewell/sourcemap-codec/1.4.14: 1131 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} 1132 | dev: true 1133 | 1134 | /@jridgewell/trace-mapping/0.3.16: 1135 | resolution: {integrity: sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA==} 1136 | dependencies: 1137 | '@jridgewell/resolve-uri': 3.1.0 1138 | '@jridgewell/sourcemap-codec': 1.4.14 1139 | dev: true 1140 | 1141 | /@jridgewell/trace-mapping/0.3.9: 1142 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 1143 | dependencies: 1144 | '@jridgewell/resolve-uri': 3.1.0 1145 | '@jridgewell/sourcemap-codec': 1.4.14 1146 | dev: true 1147 | 1148 | /@miniflare/cache/2.9.0: 1149 | resolution: {integrity: sha512-lriPxUEva9TJ01vU9P7pI60s3SsFnb4apWkNwZ+D7CRqyXPipSbapY8BWI2FUIwkEG7xap6UhzeTS76NettCXQ==} 1150 | engines: {node: '>=16.13'} 1151 | dependencies: 1152 | '@miniflare/core': 2.9.0 1153 | '@miniflare/shared': 2.9.0 1154 | http-cache-semantics: 4.1.0 1155 | undici: 5.9.1 1156 | dev: true 1157 | 1158 | /@miniflare/cli-parser/2.9.0: 1159 | resolution: {integrity: sha512-gu8Z7NWNcYw6514/yOvajaj3GmebRucx+EEt3p1vKirO+gvFgKAt/puyUN3p7u8ZZmLuLF/B+wVnH3lj8BWKlg==} 1160 | engines: {node: '>=16.13'} 1161 | dependencies: 1162 | '@miniflare/shared': 2.9.0 1163 | kleur: 4.1.5 1164 | dev: true 1165 | 1166 | /@miniflare/core/2.9.0: 1167 | resolution: {integrity: sha512-QqSwF6oHvgrFvN5lnrLc6EEagFlZWW+UMU8QdrE8305cNGHrIOxKCA2nte4PVFZUVw/Ts13a0tVhUk3a2fAyxQ==} 1168 | engines: {node: '>=16.13'} 1169 | dependencies: 1170 | '@iarna/toml': 2.2.5 1171 | '@miniflare/queues': 2.9.0 1172 | '@miniflare/shared': 2.9.0 1173 | '@miniflare/watcher': 2.9.0 1174 | busboy: 1.6.0 1175 | dotenv: 10.0.0 1176 | kleur: 4.1.5 1177 | set-cookie-parser: 2.5.1 1178 | undici: 5.9.1 1179 | urlpattern-polyfill: 4.0.3 1180 | dev: true 1181 | 1182 | /@miniflare/d1/2.9.0: 1183 | resolution: {integrity: sha512-swK9nzxw1SvVh/4cH3bRR1SBuHQU/YsB8WvuHojxufmgviAD1xhms3XO3rkpAzfKoGM5Oy6DovMe0xUXV/GS0w==} 1184 | engines: {node: '>=16.7'} 1185 | dependencies: 1186 | '@miniflare/core': 2.9.0 1187 | '@miniflare/shared': 2.9.0 1188 | dev: true 1189 | 1190 | /@miniflare/durable-objects/2.9.0: 1191 | resolution: {integrity: sha512-7uTvfEUXS7xqwrsWOwWrFUuKc4EiMpVkAWPeYGLB/0TJaJ6N+sZMpYYymdW79TQwPIDfgtpfkIy93MRydqpnrw==} 1192 | engines: {node: '>=16.13'} 1193 | dependencies: 1194 | '@miniflare/core': 2.9.0 1195 | '@miniflare/shared': 2.9.0 1196 | '@miniflare/storage-memory': 2.9.0 1197 | undici: 5.9.1 1198 | dev: true 1199 | 1200 | /@miniflare/html-rewriter/2.9.0: 1201 | resolution: {integrity: sha512-K5OB70PtkMo7M+tU46s/cX/j/qtjD9AlJ0hecYswrxVsfrT/YWyrCQJevmShFfJ92h7jPNigbeC3Od3JiVb6QA==} 1202 | engines: {node: '>=16.13'} 1203 | dependencies: 1204 | '@miniflare/core': 2.9.0 1205 | '@miniflare/shared': 2.9.0 1206 | html-rewriter-wasm: 0.4.1 1207 | undici: 5.9.1 1208 | dev: true 1209 | 1210 | /@miniflare/http-server/2.9.0: 1211 | resolution: {integrity: sha512-IVJMkFfMpecq9WiCTvATEKhMuKPK9fMs2E6zmgexaefr3u1VlNtj2QxBxoPUXkT9xMJQlT5sSKstlRR1XKDz9Q==} 1212 | engines: {node: '>=16.13'} 1213 | dependencies: 1214 | '@miniflare/core': 2.9.0 1215 | '@miniflare/shared': 2.9.0 1216 | '@miniflare/web-sockets': 2.9.0 1217 | kleur: 4.1.5 1218 | selfsigned: 2.1.1 1219 | undici: 5.9.1 1220 | ws: 8.9.0 1221 | youch: 2.2.2 1222 | transitivePeerDependencies: 1223 | - bufferutil 1224 | - utf-8-validate 1225 | dev: true 1226 | 1227 | /@miniflare/kv/2.9.0: 1228 | resolution: {integrity: sha512-EqG51okY5rDtgjYs2Ny6j6IUVdTlJzDjwBKBIuW+wOV9NsAAzEchKVdYAXc8CyxvkggpYX481HydTD2OzK3INQ==} 1229 | engines: {node: '>=16.13'} 1230 | dependencies: 1231 | '@miniflare/shared': 2.9.0 1232 | dev: true 1233 | 1234 | /@miniflare/queues/2.9.0: 1235 | resolution: {integrity: sha512-cAHWIlLF57rxQaJl19AzXw1k0SOM/uLTlx8r2PylHajZ/RRSs7CkCox3oKA6E5zKyfyxk2M64bmsAFZ9RCA0gw==} 1236 | engines: {node: '>=16.7'} 1237 | dependencies: 1238 | '@miniflare/shared': 2.9.0 1239 | dev: true 1240 | 1241 | /@miniflare/r2/2.9.0: 1242 | resolution: {integrity: sha512-aMFWxxciAE3YsVok2OLy3A7hP5+2j/NaK7txmadgoe1CA8HYZyNuvv7v6bn8HKM5gWnJdT8sk4yEbMbBQ7Jv/A==} 1243 | engines: {node: '>=16.13'} 1244 | dependencies: 1245 | '@miniflare/shared': 2.9.0 1246 | undici: 5.9.1 1247 | dev: true 1248 | 1249 | /@miniflare/runner-vm/2.9.0: 1250 | resolution: {integrity: sha512-vewP+Fy7Czb261GmB9x/YtQkoDs/QP9B5LbP0YfJ35bI2C2j940eJLm8JP72IHV7ILtWNOqMc3Ure8uAbpf9NQ==} 1251 | engines: {node: '>=16.13'} 1252 | dependencies: 1253 | '@miniflare/shared': 2.9.0 1254 | dev: true 1255 | 1256 | /@miniflare/scheduler/2.9.0: 1257 | resolution: {integrity: sha512-eodSCGkJYi4Z+Imbx/bNScDfDSt5HOypVSYjbFHj+hA2aNOdkGw6a1b6mzwx49jJD3GadIkonZAKD0S114yWMA==} 1258 | engines: {node: '>=16.13'} 1259 | dependencies: 1260 | '@miniflare/core': 2.9.0 1261 | '@miniflare/shared': 2.9.0 1262 | cron-schedule: 3.0.6 1263 | dev: true 1264 | 1265 | /@miniflare/shared/2.9.0: 1266 | resolution: {integrity: sha512-5Ew/Ph0cHDQqKvOlmN70kz+qZW0hdgE9fQBStKLY3vDYhnBEhopbCUChSS+FCcL7WtxVJJVE7iB6J09NQTnQ/A==} 1267 | engines: {node: '>=16.13'} 1268 | dependencies: 1269 | '@types/better-sqlite3': 7.6.1 1270 | kleur: 4.1.5 1271 | npx-import: 1.1.3 1272 | picomatch: 2.3.1 1273 | dev: true 1274 | 1275 | /@miniflare/sites/2.9.0: 1276 | resolution: {integrity: sha512-+tWf7znxSQqXWGzPup8Xqkl8EmLmx+HaLC+UBtWPNnaJZrsjbbVxKwHpmGIdm+wZasEGfQk/82R21gUs9wdZnw==} 1277 | engines: {node: '>=16.13'} 1278 | dependencies: 1279 | '@miniflare/kv': 2.9.0 1280 | '@miniflare/shared': 2.9.0 1281 | '@miniflare/storage-file': 2.9.0 1282 | dev: true 1283 | 1284 | /@miniflare/storage-file/2.9.0: 1285 | resolution: {integrity: sha512-HZHtHfJaLoDzQFddoIMcDGgAJ3/Nee98gwUYusQam7rj9pbEXnWmk54dzjzsDlkQpB/3MBFQNbtN5Bj1NIt0pg==} 1286 | engines: {node: '>=16.13'} 1287 | dependencies: 1288 | '@miniflare/shared': 2.9.0 1289 | '@miniflare/storage-memory': 2.9.0 1290 | dev: true 1291 | 1292 | /@miniflare/storage-memory/2.9.0: 1293 | resolution: {integrity: sha512-p2yrr0omQhv6teDbdzhdBKzoQAFmUBMLEx+PtrO7CJHX15ICD08/pFAFAp96IcljNwZZDchU20Z3AcbldMj6Tw==} 1294 | engines: {node: '>=16.13'} 1295 | dependencies: 1296 | '@miniflare/shared': 2.9.0 1297 | dev: true 1298 | 1299 | /@miniflare/watcher/2.9.0: 1300 | resolution: {integrity: sha512-Yqz8Q1He/2chebXvmCft8sMamuUiDQ4FIn0bwiF0+GBP2vvGCmy6SejXZY4ZD4REluPqQSis3CLKcIOWlHnIsw==} 1301 | engines: {node: '>=16.13'} 1302 | dependencies: 1303 | '@miniflare/shared': 2.9.0 1304 | dev: true 1305 | 1306 | /@miniflare/web-sockets/2.9.0: 1307 | resolution: {integrity: sha512-Nob9e84m78qeQCka6OQf/JdNOmMkKCkX+i3rg+TYKSSITiMVuyzWp3vz3Ma184lAZiLg44lxBF4ZzENEdi99Kg==} 1308 | engines: {node: '>=16.13'} 1309 | dependencies: 1310 | '@miniflare/core': 2.9.0 1311 | '@miniflare/shared': 2.9.0 1312 | undici: 5.9.1 1313 | ws: 8.9.0 1314 | transitivePeerDependencies: 1315 | - bufferutil 1316 | - utf-8-validate 1317 | dev: true 1318 | 1319 | /@nodelib/fs.scandir/2.1.5: 1320 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 1321 | engines: {node: '>= 8'} 1322 | dependencies: 1323 | '@nodelib/fs.stat': 2.0.5 1324 | run-parallel: 1.2.0 1325 | dev: true 1326 | 1327 | /@nodelib/fs.stat/2.0.5: 1328 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 1329 | engines: {node: '>= 8'} 1330 | dev: true 1331 | 1332 | /@nodelib/fs.walk/1.2.8: 1333 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 1334 | engines: {node: '>= 8'} 1335 | dependencies: 1336 | '@nodelib/fs.scandir': 2.1.5 1337 | fastq: 1.13.0 1338 | dev: true 1339 | 1340 | /@notionhq/client/2.2.1: 1341 | resolution: {integrity: sha512-EExR8gCWuqvYQsNw5Z9kvZhRTy7wgioI4ypr5y0dPclvxBXZ7I7Yy509ZbCbeAFes33eLFV8Heu0svQwg8ZSZQ==} 1342 | engines: {node: '>=12'} 1343 | dependencies: 1344 | '@types/node-fetch': 2.6.2 1345 | node-fetch: 2.6.7 1346 | transitivePeerDependencies: 1347 | - encoding 1348 | dev: false 1349 | 1350 | /@octokit/auth-token/3.0.1: 1351 | resolution: {integrity: sha512-/USkK4cioY209wXRpund6HZzHo9GmjakpV9ycOkpMcMxMk7QVcVFVyCMtzvXYiHsB2crgDgrtNYSELYFBXhhaA==} 1352 | engines: {node: '>= 14'} 1353 | dependencies: 1354 | '@octokit/types': 7.5.1 1355 | dev: false 1356 | 1357 | /@octokit/core/4.0.5: 1358 | resolution: {integrity: sha512-4R3HeHTYVHCfzSAi0C6pbGXV8UDI5Rk+k3G7kLVNckswN9mvpOzW9oENfjfH3nEmzg8y3AmKmzs8Sg6pLCeOCA==} 1359 | engines: {node: '>= 14'} 1360 | dependencies: 1361 | '@octokit/auth-token': 3.0.1 1362 | '@octokit/graphql': 5.0.1 1363 | '@octokit/request': 6.2.1 1364 | '@octokit/request-error': 3.0.1 1365 | '@octokit/types': 7.5.1 1366 | before-after-hook: 2.2.3 1367 | universal-user-agent: 6.0.0 1368 | transitivePeerDependencies: 1369 | - encoding 1370 | dev: false 1371 | 1372 | /@octokit/endpoint/7.0.2: 1373 | resolution: {integrity: sha512-8/AUACfE9vpRpehE6ZLfEtzkibe5nfsSwFZVMsG8qabqRt1M81qZYUFRZa1B8w8lP6cdfDJfRq9HWS+MbmR7tw==} 1374 | engines: {node: '>= 14'} 1375 | dependencies: 1376 | '@octokit/types': 7.5.1 1377 | is-plain-object: 5.0.0 1378 | universal-user-agent: 6.0.0 1379 | dev: false 1380 | 1381 | /@octokit/graphql/5.0.1: 1382 | resolution: {integrity: sha512-sxmnewSwAixkP1TrLdE6yRG53eEhHhDTYUykUwdV9x8f91WcbhunIHk9x1PZLALdBZKRPUO2HRcm4kezZ79HoA==} 1383 | engines: {node: '>= 14'} 1384 | dependencies: 1385 | '@octokit/request': 6.2.1 1386 | '@octokit/types': 7.5.1 1387 | universal-user-agent: 6.0.0 1388 | transitivePeerDependencies: 1389 | - encoding 1390 | dev: false 1391 | 1392 | /@octokit/openapi-types/13.13.1: 1393 | resolution: {integrity: sha512-4EuKSk3N95UBWFau3Bz9b3pheQ8jQYbKmBL5+GSuY8YDPDwu03J4BjI+66yNi8aaX/3h1qDpb0mbBkLdr+cfGQ==} 1394 | dev: false 1395 | 1396 | /@octokit/request-error/3.0.1: 1397 | resolution: {integrity: sha512-ym4Bp0HTP7F3VFssV88WD1ZyCIRoE8H35pXSKwLeMizcdZAYc/t6N9X9Yr9n6t3aG9IH75XDnZ6UeZph0vHMWQ==} 1398 | engines: {node: '>= 14'} 1399 | dependencies: 1400 | '@octokit/types': 7.5.1 1401 | deprecation: 2.3.1 1402 | once: 1.4.0 1403 | dev: false 1404 | 1405 | /@octokit/request/6.2.1: 1406 | resolution: {integrity: sha512-gYKRCia3cpajRzDSU+3pt1q2OcuC6PK8PmFIyxZDWCzRXRSIBH8jXjFJ8ZceoygBIm0KsEUg4x1+XcYBz7dHPQ==} 1407 | engines: {node: '>= 14'} 1408 | dependencies: 1409 | '@octokit/endpoint': 7.0.2 1410 | '@octokit/request-error': 3.0.1 1411 | '@octokit/types': 7.5.1 1412 | is-plain-object: 5.0.0 1413 | node-fetch: 2.6.7 1414 | universal-user-agent: 6.0.0 1415 | transitivePeerDependencies: 1416 | - encoding 1417 | dev: false 1418 | 1419 | /@octokit/types/7.5.1: 1420 | resolution: {integrity: sha512-Zk4OUMLCSpXNI8KZZn47lVLJSsgMyCimsWWQI5hyjZg7hdYm0kjotaIkbG0Pp8SfU2CofMBzonboTqvzn3FrJA==} 1421 | dependencies: 1422 | '@octokit/openapi-types': 13.13.1 1423 | dev: false 1424 | 1425 | /@peculiar/asn1-schema/2.3.0: 1426 | resolution: {integrity: sha512-DtNLAG4vmDrdSJFPe7rypkcj597chNQL7u+2dBtYo5mh7VW2+im6ke+O0NVr8W1f4re4C3F71LhoMb0Yxqa48Q==} 1427 | dependencies: 1428 | asn1js: 3.0.5 1429 | pvtsutils: 1.3.2 1430 | tslib: 2.4.0 1431 | dev: true 1432 | 1433 | /@peculiar/json-schema/1.1.12: 1434 | resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} 1435 | engines: {node: '>=8.0.0'} 1436 | dependencies: 1437 | tslib: 2.4.0 1438 | dev: true 1439 | 1440 | /@peculiar/webcrypto/1.4.0: 1441 | resolution: {integrity: sha512-U58N44b2m3OuTgpmKgf0LPDOmP3bhwNz01vAnj1mBwxBASRhptWYK+M3zG+HBkDqGQM+bFsoIihTW8MdmPXEqg==} 1442 | engines: {node: '>=10.12.0'} 1443 | dependencies: 1444 | '@peculiar/asn1-schema': 2.3.0 1445 | '@peculiar/json-schema': 1.1.12 1446 | pvtsutils: 1.3.2 1447 | tslib: 2.4.0 1448 | webcrypto-core: 1.7.5 1449 | dev: true 1450 | 1451 | /@tootallnate/once/2.0.0: 1452 | resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} 1453 | engines: {node: '>= 10'} 1454 | dev: true 1455 | 1456 | /@tsconfig/node10/1.0.9: 1457 | resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} 1458 | dev: true 1459 | 1460 | /@tsconfig/node12/1.0.11: 1461 | resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} 1462 | dev: true 1463 | 1464 | /@tsconfig/node14/1.0.3: 1465 | resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} 1466 | dev: true 1467 | 1468 | /@tsconfig/node16/1.0.3: 1469 | resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} 1470 | dev: true 1471 | 1472 | /@types/better-sqlite3/7.6.1: 1473 | resolution: {integrity: sha512-2MuzBUSwAjY8GoT04vcLUojHmuuOCEFboESZfx6u9gpnHym5mYBMhCKGoe+R+yXkiho1xg348LRH8x27cJLHjw==} 1474 | dependencies: 1475 | '@types/node': 18.8.3 1476 | dev: true 1477 | 1478 | /@types/js-yaml/4.0.5: 1479 | resolution: {integrity: sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==} 1480 | dev: true 1481 | 1482 | /@types/json-stable-stringify/1.0.34: 1483 | resolution: {integrity: sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==} 1484 | dev: true 1485 | 1486 | /@types/jsonwebtoken/8.5.9: 1487 | resolution: {integrity: sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg==} 1488 | dependencies: 1489 | '@types/node': 18.8.3 1490 | dev: true 1491 | 1492 | /@types/node-fetch/2.6.2: 1493 | resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} 1494 | dependencies: 1495 | '@types/node': 18.8.3 1496 | form-data: 3.0.1 1497 | dev: false 1498 | 1499 | /@types/node/18.8.3: 1500 | resolution: {integrity: sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w==} 1501 | 1502 | /@types/parse-json/4.0.0: 1503 | resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} 1504 | dev: true 1505 | 1506 | /@types/stack-trace/0.0.29: 1507 | resolution: {integrity: sha512-TgfOX+mGY/NyNxJLIbDWrO9DjGoVSW9+aB8H2yy1fy32jsvxijhmyJI9fDFgvz3YP4lvJaq9DzdR/M1bOgVc9g==} 1508 | dev: true 1509 | 1510 | /@types/ws/8.5.3: 1511 | resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} 1512 | dependencies: 1513 | '@types/node': 18.8.3 1514 | dev: true 1515 | 1516 | /@whatwg-node/fetch/0.3.2: 1517 | resolution: {integrity: sha512-Bs5zAWQs0tXsLa4mRmLw7Psps1EN78vPtgcLpw3qPY8s6UYPUM67zFZ9cy+7tZ64PXhfwzxJn+m7RH2Lq48RNQ==} 1518 | dependencies: 1519 | '@peculiar/webcrypto': 1.4.0 1520 | abort-controller: 3.0.0 1521 | busboy: 1.6.0 1522 | event-target-polyfill: 0.0.3 1523 | form-data-encoder: 1.7.2 1524 | formdata-node: 4.4.1 1525 | node-fetch: 2.6.7 1526 | undici: 5.11.0 1527 | web-streams-polyfill: 3.2.1 1528 | transitivePeerDependencies: 1529 | - encoding 1530 | dev: true 1531 | 1532 | /@whatwg-node/fetch/0.4.7: 1533 | resolution: {integrity: sha512-+oKDMGtmUJ7H37VDL5U2Vdk+ZxsIypZxO2q6y42ytu6W3PL6OIIUYZGliNqQgWtCdtxOZ9WPQvbIAuiLpnLlUw==} 1534 | dependencies: 1535 | '@peculiar/webcrypto': 1.4.0 1536 | abort-controller: 3.0.0 1537 | busboy: 1.6.0 1538 | form-data-encoder: 1.7.2 1539 | formdata-node: 4.4.1 1540 | node-fetch: 2.6.7 1541 | undici: 5.11.0 1542 | web-streams-polyfill: 3.2.1 1543 | transitivePeerDependencies: 1544 | - encoding 1545 | dev: true 1546 | 1547 | /abort-controller/3.0.0: 1548 | resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} 1549 | engines: {node: '>=6.5'} 1550 | dependencies: 1551 | event-target-shim: 5.0.1 1552 | dev: true 1553 | 1554 | /acorn-walk/8.2.0: 1555 | resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} 1556 | engines: {node: '>=0.4.0'} 1557 | dev: true 1558 | 1559 | /acorn/8.8.0: 1560 | resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} 1561 | engines: {node: '>=0.4.0'} 1562 | hasBin: true 1563 | dev: true 1564 | 1565 | /agent-base/6.0.2: 1566 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} 1567 | engines: {node: '>= 6.0.0'} 1568 | dependencies: 1569 | debug: 4.3.4 1570 | transitivePeerDependencies: 1571 | - supports-color 1572 | dev: true 1573 | 1574 | /aggregate-error/3.1.0: 1575 | resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 1576 | engines: {node: '>=8'} 1577 | dependencies: 1578 | clean-stack: 2.2.0 1579 | indent-string: 4.0.0 1580 | dev: true 1581 | 1582 | /ansi-escapes/4.3.2: 1583 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 1584 | engines: {node: '>=8'} 1585 | dependencies: 1586 | type-fest: 0.21.3 1587 | dev: true 1588 | 1589 | /ansi-regex/5.0.1: 1590 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 1591 | engines: {node: '>=8'} 1592 | dev: true 1593 | 1594 | /ansi-styles/3.2.1: 1595 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 1596 | engines: {node: '>=4'} 1597 | dependencies: 1598 | color-convert: 1.9.3 1599 | dev: true 1600 | 1601 | /ansi-styles/4.3.0: 1602 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 1603 | engines: {node: '>=8'} 1604 | dependencies: 1605 | color-convert: 2.0.1 1606 | dev: true 1607 | 1608 | /anymatch/3.1.2: 1609 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} 1610 | engines: {node: '>= 8'} 1611 | dependencies: 1612 | normalize-path: 3.0.0 1613 | picomatch: 2.3.1 1614 | dev: true 1615 | 1616 | /arg/4.1.3: 1617 | resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} 1618 | dev: true 1619 | 1620 | /argparse/2.0.1: 1621 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 1622 | dev: true 1623 | 1624 | /array-union/2.1.0: 1625 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 1626 | engines: {node: '>=8'} 1627 | dev: true 1628 | 1629 | /asap/2.0.6: 1630 | resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} 1631 | dev: true 1632 | 1633 | /asn1js/3.0.5: 1634 | resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} 1635 | engines: {node: '>=12.0.0'} 1636 | dependencies: 1637 | pvtsutils: 1.3.2 1638 | pvutils: 1.1.3 1639 | tslib: 2.4.0 1640 | dev: true 1641 | 1642 | /astral-regex/2.0.0: 1643 | resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} 1644 | engines: {node: '>=8'} 1645 | dev: true 1646 | 1647 | /asynckit/0.4.0: 1648 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 1649 | 1650 | /auto-bind/4.0.0: 1651 | resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} 1652 | engines: {node: '>=8'} 1653 | dev: true 1654 | 1655 | /babel-plugin-dynamic-import-node/2.3.3: 1656 | resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} 1657 | dependencies: 1658 | object.assign: 4.1.4 1659 | dev: true 1660 | 1661 | /babel-plugin-syntax-trailing-function-commas/7.0.0-beta.0: 1662 | resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} 1663 | dev: true 1664 | 1665 | /babel-preset-fbjs/3.4.0_@babel+core@7.19.3: 1666 | resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} 1667 | peerDependencies: 1668 | '@babel/core': ^7.0.0 1669 | dependencies: 1670 | '@babel/core': 7.19.3 1671 | '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.19.3 1672 | '@babel/plugin-proposal-object-rest-spread': 7.18.9_@babel+core@7.19.3 1673 | '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.19.3 1674 | '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.19.3 1675 | '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.19.3 1676 | '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.19.3 1677 | '@babel/plugin-transform-arrow-functions': 7.18.6_@babel+core@7.19.3 1678 | '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.19.3 1679 | '@babel/plugin-transform-block-scoping': 7.18.9_@babel+core@7.19.3 1680 | '@babel/plugin-transform-classes': 7.19.0_@babel+core@7.19.3 1681 | '@babel/plugin-transform-computed-properties': 7.18.9_@babel+core@7.19.3 1682 | '@babel/plugin-transform-destructuring': 7.18.13_@babel+core@7.19.3 1683 | '@babel/plugin-transform-flow-strip-types': 7.19.0_@babel+core@7.19.3 1684 | '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.19.3 1685 | '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.19.3 1686 | '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.19.3 1687 | '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.19.3 1688 | '@babel/plugin-transform-modules-commonjs': 7.18.6_@babel+core@7.19.3 1689 | '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.19.3 1690 | '@babel/plugin-transform-parameters': 7.18.8_@babel+core@7.19.3 1691 | '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.19.3 1692 | '@babel/plugin-transform-react-display-name': 7.18.6_@babel+core@7.19.3 1693 | '@babel/plugin-transform-react-jsx': 7.19.0_@babel+core@7.19.3 1694 | '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.19.3 1695 | '@babel/plugin-transform-spread': 7.19.0_@babel+core@7.19.3 1696 | '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.19.3 1697 | babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 1698 | transitivePeerDependencies: 1699 | - supports-color 1700 | dev: true 1701 | 1702 | /balanced-match/1.0.2: 1703 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1704 | dev: true 1705 | 1706 | /base64-js/1.5.1: 1707 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 1708 | dev: true 1709 | 1710 | /before-after-hook/2.2.3: 1711 | resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} 1712 | dev: false 1713 | 1714 | /binary-extensions/2.2.0: 1715 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 1716 | engines: {node: '>=8'} 1717 | dev: true 1718 | 1719 | /bl/4.1.0: 1720 | resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 1721 | dependencies: 1722 | buffer: 5.7.1 1723 | inherits: 2.0.4 1724 | readable-stream: 3.6.0 1725 | dev: true 1726 | 1727 | /blake3-wasm/2.1.5: 1728 | resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} 1729 | dev: true 1730 | 1731 | /brace-expansion/1.1.11: 1732 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 1733 | dependencies: 1734 | balanced-match: 1.0.2 1735 | concat-map: 0.0.1 1736 | dev: true 1737 | 1738 | /braces/3.0.2: 1739 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 1740 | engines: {node: '>=8'} 1741 | dependencies: 1742 | fill-range: 7.0.1 1743 | dev: true 1744 | 1745 | /browserslist/4.21.4: 1746 | resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} 1747 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1748 | hasBin: true 1749 | dependencies: 1750 | caniuse-lite: 1.0.30001418 1751 | electron-to-chromium: 1.4.276 1752 | node-releases: 2.0.6 1753 | update-browserslist-db: 1.0.10_browserslist@4.21.4 1754 | dev: true 1755 | 1756 | /bser/2.1.1: 1757 | resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} 1758 | dependencies: 1759 | node-int64: 0.4.0 1760 | dev: true 1761 | 1762 | /buffer-equal-constant-time/1.0.1: 1763 | resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} 1764 | dev: true 1765 | 1766 | /buffer-from/1.1.2: 1767 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 1768 | dev: true 1769 | 1770 | /buffer/5.7.1: 1771 | resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 1772 | dependencies: 1773 | base64-js: 1.5.1 1774 | ieee754: 1.2.1 1775 | dev: true 1776 | 1777 | /builtins/5.0.1: 1778 | resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} 1779 | dependencies: 1780 | semver: 7.3.8 1781 | dev: true 1782 | 1783 | /busboy/1.6.0: 1784 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 1785 | engines: {node: '>=10.16.0'} 1786 | dependencies: 1787 | streamsearch: 1.1.0 1788 | dev: true 1789 | 1790 | /call-bind/1.0.2: 1791 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 1792 | dependencies: 1793 | function-bind: 1.1.1 1794 | get-intrinsic: 1.1.3 1795 | dev: true 1796 | 1797 | /callsites/3.1.0: 1798 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 1799 | engines: {node: '>=6'} 1800 | dev: true 1801 | 1802 | /camel-case/4.1.2: 1803 | resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} 1804 | dependencies: 1805 | pascal-case: 3.1.2 1806 | tslib: 2.4.0 1807 | dev: true 1808 | 1809 | /camelcase/5.3.1: 1810 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 1811 | engines: {node: '>=6'} 1812 | dev: true 1813 | 1814 | /caniuse-lite/1.0.30001418: 1815 | resolution: {integrity: sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg==} 1816 | dev: true 1817 | 1818 | /capital-case/1.0.4: 1819 | resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} 1820 | dependencies: 1821 | no-case: 3.0.4 1822 | tslib: 2.4.0 1823 | upper-case-first: 2.0.2 1824 | dev: true 1825 | 1826 | /chalk/2.4.2: 1827 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1828 | engines: {node: '>=4'} 1829 | dependencies: 1830 | ansi-styles: 3.2.1 1831 | escape-string-regexp: 1.0.5 1832 | supports-color: 5.5.0 1833 | dev: true 1834 | 1835 | /chalk/4.1.2: 1836 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1837 | engines: {node: '>=10'} 1838 | dependencies: 1839 | ansi-styles: 4.3.0 1840 | supports-color: 7.2.0 1841 | dev: true 1842 | 1843 | /change-case-all/1.0.14: 1844 | resolution: {integrity: sha512-CWVm2uT7dmSHdO/z1CXT/n47mWonyypzBbuCy5tN7uMg22BsfkhwT6oHmFCAk+gL1LOOxhdbB9SZz3J1KTY3gA==} 1845 | dependencies: 1846 | change-case: 4.1.2 1847 | is-lower-case: 2.0.2 1848 | is-upper-case: 2.0.2 1849 | lower-case: 2.0.2 1850 | lower-case-first: 2.0.2 1851 | sponge-case: 1.0.1 1852 | swap-case: 2.0.2 1853 | title-case: 3.0.3 1854 | upper-case: 2.0.2 1855 | upper-case-first: 2.0.2 1856 | dev: true 1857 | 1858 | /change-case/4.1.2: 1859 | resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} 1860 | dependencies: 1861 | camel-case: 4.1.2 1862 | capital-case: 1.0.4 1863 | constant-case: 3.0.4 1864 | dot-case: 3.0.4 1865 | header-case: 2.0.4 1866 | no-case: 3.0.4 1867 | param-case: 3.0.4 1868 | pascal-case: 3.1.2 1869 | path-case: 3.0.4 1870 | sentence-case: 3.0.4 1871 | snake-case: 3.0.4 1872 | tslib: 2.4.0 1873 | dev: true 1874 | 1875 | /chardet/0.7.0: 1876 | resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 1877 | dev: true 1878 | 1879 | /chokidar/3.5.3: 1880 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 1881 | engines: {node: '>= 8.10.0'} 1882 | dependencies: 1883 | anymatch: 3.1.2 1884 | braces: 3.0.2 1885 | glob-parent: 5.1.2 1886 | is-binary-path: 2.1.0 1887 | is-glob: 4.0.3 1888 | normalize-path: 3.0.0 1889 | readdirp: 3.6.0 1890 | optionalDependencies: 1891 | fsevents: 2.3.2 1892 | dev: true 1893 | 1894 | /clean-stack/2.2.0: 1895 | resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 1896 | engines: {node: '>=6'} 1897 | dev: true 1898 | 1899 | /cli-cursor/3.1.0: 1900 | resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 1901 | engines: {node: '>=8'} 1902 | dependencies: 1903 | restore-cursor: 3.1.0 1904 | dev: true 1905 | 1906 | /cli-spinners/2.7.0: 1907 | resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} 1908 | engines: {node: '>=6'} 1909 | dev: true 1910 | 1911 | /cli-truncate/2.1.0: 1912 | resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} 1913 | engines: {node: '>=8'} 1914 | dependencies: 1915 | slice-ansi: 3.0.0 1916 | string-width: 4.2.3 1917 | dev: true 1918 | 1919 | /cli-width/3.0.0: 1920 | resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} 1921 | engines: {node: '>= 10'} 1922 | dev: true 1923 | 1924 | /cliui/6.0.0: 1925 | resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} 1926 | dependencies: 1927 | string-width: 4.2.3 1928 | strip-ansi: 6.0.1 1929 | wrap-ansi: 6.2.0 1930 | dev: true 1931 | 1932 | /cliui/8.0.1: 1933 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 1934 | engines: {node: '>=12'} 1935 | dependencies: 1936 | string-width: 4.2.3 1937 | strip-ansi: 6.0.1 1938 | wrap-ansi: 7.0.0 1939 | dev: true 1940 | 1941 | /clone/1.0.4: 1942 | resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} 1943 | engines: {node: '>=0.8'} 1944 | dev: true 1945 | 1946 | /color-convert/1.9.3: 1947 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1948 | dependencies: 1949 | color-name: 1.1.3 1950 | dev: true 1951 | 1952 | /color-convert/2.0.1: 1953 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1954 | engines: {node: '>=7.0.0'} 1955 | dependencies: 1956 | color-name: 1.1.4 1957 | dev: true 1958 | 1959 | /color-name/1.1.3: 1960 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1961 | dev: true 1962 | 1963 | /color-name/1.1.4: 1964 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1965 | dev: true 1966 | 1967 | /colorette/2.0.19: 1968 | resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} 1969 | dev: true 1970 | 1971 | /combined-stream/1.0.8: 1972 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 1973 | engines: {node: '>= 0.8'} 1974 | dependencies: 1975 | delayed-stream: 1.0.0 1976 | 1977 | /common-tags/1.8.2: 1978 | resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} 1979 | engines: {node: '>=4.0.0'} 1980 | dev: true 1981 | 1982 | /concat-map/0.0.1: 1983 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1984 | dev: true 1985 | 1986 | /constant-case/3.0.4: 1987 | resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} 1988 | dependencies: 1989 | no-case: 3.0.4 1990 | tslib: 2.4.0 1991 | upper-case: 2.0.2 1992 | dev: true 1993 | 1994 | /convert-source-map/1.8.0: 1995 | resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} 1996 | dependencies: 1997 | safe-buffer: 5.1.2 1998 | dev: true 1999 | 2000 | /cookie/0.4.2: 2001 | resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} 2002 | engines: {node: '>= 0.6'} 2003 | dev: true 2004 | 2005 | /cosmiconfig-toml-loader/1.0.0: 2006 | resolution: {integrity: sha512-H/2gurFWVi7xXvCyvsWRLCMekl4tITJcX0QEsDMpzxtuxDyM59xLatYNg4s/k9AA/HdtCYfj2su8mgA0GSDLDA==} 2007 | dependencies: 2008 | '@iarna/toml': 2.2.5 2009 | dev: true 2010 | 2011 | /cosmiconfig-typescript-loader/4.1.1_iq4inwuv4kwxih6sjysxmpdvle: 2012 | resolution: {integrity: sha512-9DHpa379Gp0o0Zefii35fcmuuin6q92FnLDffzdZ0l9tVd3nEobG3O+MZ06+kuBvFTSVScvNb/oHA13Nd4iipg==} 2013 | engines: {node: '>=12', npm: '>=6'} 2014 | peerDependencies: 2015 | '@types/node': '*' 2016 | cosmiconfig: '>=7' 2017 | ts-node: '>=10' 2018 | typescript: '>=3' 2019 | dependencies: 2020 | cosmiconfig: 7.0.1 2021 | ts-node: 10.9.1_typescript@4.8.4 2022 | typescript: 4.8.4 2023 | dev: true 2024 | 2025 | /cosmiconfig-typescript-loader/4.1.1_ollydpoxwdashhemwxkyttgehy: 2026 | resolution: {integrity: sha512-9DHpa379Gp0o0Zefii35fcmuuin6q92FnLDffzdZ0l9tVd3nEobG3O+MZ06+kuBvFTSVScvNb/oHA13Nd4iipg==} 2027 | engines: {node: '>=12', npm: '>=6'} 2028 | peerDependencies: 2029 | '@types/node': '*' 2030 | cosmiconfig: '>=7' 2031 | ts-node: '>=10' 2032 | typescript: '>=3' 2033 | dependencies: 2034 | cosmiconfig: 7.0.1 2035 | typescript: 4.8.4 2036 | dev: true 2037 | 2038 | /cosmiconfig/7.0.1: 2039 | resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} 2040 | engines: {node: '>=10'} 2041 | dependencies: 2042 | '@types/parse-json': 4.0.0 2043 | import-fresh: 3.3.0 2044 | parse-json: 5.2.0 2045 | path-type: 4.0.0 2046 | yaml: 1.10.2 2047 | dev: true 2048 | 2049 | /create-require/1.1.1: 2050 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} 2051 | dev: true 2052 | 2053 | /cron-schedule/3.0.6: 2054 | resolution: {integrity: sha512-izfGgKyzzIyLaeb1EtZ3KbglkS6AKp9cv7LxmiyoOu+fXfol1tQDC0Cof0enVZGNtudTHW+3lfuW9ZkLQss4Wg==} 2055 | dev: true 2056 | 2057 | /cross-fetch/3.1.5: 2058 | resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} 2059 | dependencies: 2060 | node-fetch: 2.6.7 2061 | transitivePeerDependencies: 2062 | - encoding 2063 | dev: true 2064 | 2065 | /cross-spawn/7.0.3: 2066 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 2067 | engines: {node: '>= 8'} 2068 | dependencies: 2069 | path-key: 3.1.1 2070 | shebang-command: 2.0.0 2071 | which: 2.0.2 2072 | dev: true 2073 | 2074 | /dataloader/2.1.0: 2075 | resolution: {integrity: sha512-qTcEYLen3r7ojZNgVUaRggOI+KM7jrKxXeSHhogh/TWxYMeONEMqY+hmkobiYQozsGIyg9OYVzO4ZIfoB4I0pQ==} 2076 | dev: true 2077 | 2078 | /debounce/1.2.1: 2079 | resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} 2080 | dev: true 2081 | 2082 | /debug/4.3.4: 2083 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 2084 | engines: {node: '>=6.0'} 2085 | peerDependencies: 2086 | supports-color: '*' 2087 | peerDependenciesMeta: 2088 | supports-color: 2089 | optional: true 2090 | dependencies: 2091 | ms: 2.1.2 2092 | dev: true 2093 | 2094 | /decamelize/1.2.0: 2095 | resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} 2096 | engines: {node: '>=0.10.0'} 2097 | dev: true 2098 | 2099 | /defaults/1.0.3: 2100 | resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==} 2101 | dependencies: 2102 | clone: 1.0.4 2103 | dev: true 2104 | 2105 | /define-properties/1.1.4: 2106 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 2107 | engines: {node: '>= 0.4'} 2108 | dependencies: 2109 | has-property-descriptors: 1.0.0 2110 | object-keys: 1.1.1 2111 | dev: true 2112 | 2113 | /delayed-stream/1.0.0: 2114 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 2115 | engines: {node: '>=0.4.0'} 2116 | 2117 | /dependency-graph/0.11.0: 2118 | resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} 2119 | engines: {node: '>= 0.6.0'} 2120 | dev: true 2121 | 2122 | /deprecation/2.3.1: 2123 | resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} 2124 | dev: false 2125 | 2126 | /detect-indent/6.1.0: 2127 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} 2128 | engines: {node: '>=8'} 2129 | dev: true 2130 | 2131 | /diff/4.0.2: 2132 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} 2133 | engines: {node: '>=0.3.1'} 2134 | dev: true 2135 | 2136 | /dir-glob/3.0.1: 2137 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 2138 | engines: {node: '>=8'} 2139 | dependencies: 2140 | path-type: 4.0.0 2141 | dev: true 2142 | 2143 | /dot-case/3.0.4: 2144 | resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} 2145 | dependencies: 2146 | no-case: 3.0.4 2147 | tslib: 2.4.0 2148 | dev: true 2149 | 2150 | /dotenv/10.0.0: 2151 | resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} 2152 | engines: {node: '>=10'} 2153 | dev: true 2154 | 2155 | /dotenv/16.0.3: 2156 | resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} 2157 | engines: {node: '>=12'} 2158 | dev: true 2159 | 2160 | /dset/3.1.2: 2161 | resolution: {integrity: sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==} 2162 | engines: {node: '>=4'} 2163 | dev: true 2164 | 2165 | /ecdsa-sig-formatter/1.0.11: 2166 | resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} 2167 | dependencies: 2168 | safe-buffer: 5.2.1 2169 | dev: true 2170 | 2171 | /electron-to-chromium/1.4.276: 2172 | resolution: {integrity: sha512-EpuHPqu8YhonqLBXHoU6hDJCD98FCe6KDoet3/gY1qsQ6usjJoHqBH2YIVs8FXaAtHwVL8Uqa/fsYao/vq9VWQ==} 2173 | dev: true 2174 | 2175 | /emoji-regex/8.0.0: 2176 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 2177 | dev: true 2178 | 2179 | /error-ex/1.3.2: 2180 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 2181 | dependencies: 2182 | is-arrayish: 0.2.1 2183 | dev: true 2184 | 2185 | /esbuild-android-64/0.14.51: 2186 | resolution: {integrity: sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ==} 2187 | engines: {node: '>=12'} 2188 | cpu: [x64] 2189 | os: [android] 2190 | requiresBuild: true 2191 | dev: true 2192 | optional: true 2193 | 2194 | /esbuild-android-arm64/0.14.51: 2195 | resolution: {integrity: sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A==} 2196 | engines: {node: '>=12'} 2197 | cpu: [arm64] 2198 | os: [android] 2199 | requiresBuild: true 2200 | dev: true 2201 | optional: true 2202 | 2203 | /esbuild-darwin-64/0.14.51: 2204 | resolution: {integrity: sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA==} 2205 | engines: {node: '>=12'} 2206 | cpu: [x64] 2207 | os: [darwin] 2208 | requiresBuild: true 2209 | dev: true 2210 | optional: true 2211 | 2212 | /esbuild-darwin-arm64/0.14.51: 2213 | resolution: {integrity: sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow==} 2214 | engines: {node: '>=12'} 2215 | cpu: [arm64] 2216 | os: [darwin] 2217 | requiresBuild: true 2218 | dev: true 2219 | optional: true 2220 | 2221 | /esbuild-freebsd-64/0.14.51: 2222 | resolution: {integrity: sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g==} 2223 | engines: {node: '>=12'} 2224 | cpu: [x64] 2225 | os: [freebsd] 2226 | requiresBuild: true 2227 | dev: true 2228 | optional: true 2229 | 2230 | /esbuild-freebsd-arm64/0.14.51: 2231 | resolution: {integrity: sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg==} 2232 | engines: {node: '>=12'} 2233 | cpu: [arm64] 2234 | os: [freebsd] 2235 | requiresBuild: true 2236 | dev: true 2237 | optional: true 2238 | 2239 | /esbuild-linux-32/0.14.51: 2240 | resolution: {integrity: sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w==} 2241 | engines: {node: '>=12'} 2242 | cpu: [ia32] 2243 | os: [linux] 2244 | requiresBuild: true 2245 | dev: true 2246 | optional: true 2247 | 2248 | /esbuild-linux-64/0.14.51: 2249 | resolution: {integrity: sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA==} 2250 | engines: {node: '>=12'} 2251 | cpu: [x64] 2252 | os: [linux] 2253 | requiresBuild: true 2254 | dev: true 2255 | optional: true 2256 | 2257 | /esbuild-linux-arm/0.14.51: 2258 | resolution: {integrity: sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg==} 2259 | engines: {node: '>=12'} 2260 | cpu: [arm] 2261 | os: [linux] 2262 | requiresBuild: true 2263 | dev: true 2264 | optional: true 2265 | 2266 | /esbuild-linux-arm64/0.14.51: 2267 | resolution: {integrity: sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw==} 2268 | engines: {node: '>=12'} 2269 | cpu: [arm64] 2270 | os: [linux] 2271 | requiresBuild: true 2272 | dev: true 2273 | optional: true 2274 | 2275 | /esbuild-linux-mips64le/0.14.51: 2276 | resolution: {integrity: sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A==} 2277 | engines: {node: '>=12'} 2278 | cpu: [mips64el] 2279 | os: [linux] 2280 | requiresBuild: true 2281 | dev: true 2282 | optional: true 2283 | 2284 | /esbuild-linux-ppc64le/0.14.51: 2285 | resolution: {integrity: sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ==} 2286 | engines: {node: '>=12'} 2287 | cpu: [ppc64] 2288 | os: [linux] 2289 | requiresBuild: true 2290 | dev: true 2291 | optional: true 2292 | 2293 | /esbuild-linux-riscv64/0.14.51: 2294 | resolution: {integrity: sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA==} 2295 | engines: {node: '>=12'} 2296 | cpu: [riscv64] 2297 | os: [linux] 2298 | requiresBuild: true 2299 | dev: true 2300 | optional: true 2301 | 2302 | /esbuild-linux-s390x/0.14.51: 2303 | resolution: {integrity: sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw==} 2304 | engines: {node: '>=12'} 2305 | cpu: [s390x] 2306 | os: [linux] 2307 | requiresBuild: true 2308 | dev: true 2309 | optional: true 2310 | 2311 | /esbuild-netbsd-64/0.14.51: 2312 | resolution: {integrity: sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A==} 2313 | engines: {node: '>=12'} 2314 | cpu: [x64] 2315 | os: [netbsd] 2316 | requiresBuild: true 2317 | dev: true 2318 | optional: true 2319 | 2320 | /esbuild-openbsd-64/0.14.51: 2321 | resolution: {integrity: sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA==} 2322 | engines: {node: '>=12'} 2323 | cpu: [x64] 2324 | os: [openbsd] 2325 | requiresBuild: true 2326 | dev: true 2327 | optional: true 2328 | 2329 | /esbuild-sunos-64/0.14.51: 2330 | resolution: {integrity: sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA==} 2331 | engines: {node: '>=12'} 2332 | cpu: [x64] 2333 | os: [sunos] 2334 | requiresBuild: true 2335 | dev: true 2336 | optional: true 2337 | 2338 | /esbuild-windows-32/0.14.51: 2339 | resolution: {integrity: sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg==} 2340 | engines: {node: '>=12'} 2341 | cpu: [ia32] 2342 | os: [win32] 2343 | requiresBuild: true 2344 | dev: true 2345 | optional: true 2346 | 2347 | /esbuild-windows-64/0.14.51: 2348 | resolution: {integrity: sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA==} 2349 | engines: {node: '>=12'} 2350 | cpu: [x64] 2351 | os: [win32] 2352 | requiresBuild: true 2353 | dev: true 2354 | optional: true 2355 | 2356 | /esbuild-windows-arm64/0.14.51: 2357 | resolution: {integrity: sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g==} 2358 | engines: {node: '>=12'} 2359 | cpu: [arm64] 2360 | os: [win32] 2361 | requiresBuild: true 2362 | dev: true 2363 | optional: true 2364 | 2365 | /esbuild/0.14.51: 2366 | resolution: {integrity: sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw==} 2367 | engines: {node: '>=12'} 2368 | hasBin: true 2369 | requiresBuild: true 2370 | optionalDependencies: 2371 | esbuild-android-64: 0.14.51 2372 | esbuild-android-arm64: 0.14.51 2373 | esbuild-darwin-64: 0.14.51 2374 | esbuild-darwin-arm64: 0.14.51 2375 | esbuild-freebsd-64: 0.14.51 2376 | esbuild-freebsd-arm64: 0.14.51 2377 | esbuild-linux-32: 0.14.51 2378 | esbuild-linux-64: 0.14.51 2379 | esbuild-linux-arm: 0.14.51 2380 | esbuild-linux-arm64: 0.14.51 2381 | esbuild-linux-mips64le: 0.14.51 2382 | esbuild-linux-ppc64le: 0.14.51 2383 | esbuild-linux-riscv64: 0.14.51 2384 | esbuild-linux-s390x: 0.14.51 2385 | esbuild-netbsd-64: 0.14.51 2386 | esbuild-openbsd-64: 0.14.51 2387 | esbuild-sunos-64: 0.14.51 2388 | esbuild-windows-32: 0.14.51 2389 | esbuild-windows-64: 0.14.51 2390 | esbuild-windows-arm64: 0.14.51 2391 | dev: true 2392 | 2393 | /escalade/3.1.1: 2394 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 2395 | engines: {node: '>=6'} 2396 | dev: true 2397 | 2398 | /escape-string-regexp/1.0.5: 2399 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 2400 | engines: {node: '>=0.8.0'} 2401 | dev: true 2402 | 2403 | /escape-string-regexp/4.0.0: 2404 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 2405 | engines: {node: '>=10'} 2406 | dev: true 2407 | 2408 | /estree-walker/0.6.1: 2409 | resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} 2410 | dev: true 2411 | 2412 | /event-target-polyfill/0.0.3: 2413 | resolution: {integrity: sha512-ZMc6UuvmbinrCk4RzGyVmRyIsAyxMRlp4CqSrcQRO8Dy0A9ldbiRy5kdtBj4OtP7EClGdqGfIqo9JmOClMsGLQ==} 2414 | dev: true 2415 | 2416 | /event-target-shim/5.0.1: 2417 | resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} 2418 | engines: {node: '>=6'} 2419 | dev: true 2420 | 2421 | /execa/6.1.0: 2422 | resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} 2423 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2424 | dependencies: 2425 | cross-spawn: 7.0.3 2426 | get-stream: 6.0.1 2427 | human-signals: 3.0.1 2428 | is-stream: 3.0.0 2429 | merge-stream: 2.0.0 2430 | npm-run-path: 5.1.0 2431 | onetime: 6.0.0 2432 | signal-exit: 3.0.7 2433 | strip-final-newline: 3.0.0 2434 | dev: true 2435 | 2436 | /external-editor/3.1.0: 2437 | resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} 2438 | engines: {node: '>=4'} 2439 | dependencies: 2440 | chardet: 0.7.0 2441 | iconv-lite: 0.4.24 2442 | tmp: 0.0.33 2443 | dev: true 2444 | 2445 | /extract-files/11.0.0: 2446 | resolution: {integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==} 2447 | engines: {node: ^12.20 || >= 14.13} 2448 | dev: true 2449 | 2450 | /extract-files/9.0.0: 2451 | resolution: {integrity: sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==} 2452 | engines: {node: ^10.17.0 || ^12.0.0 || >= 13.7.0} 2453 | dev: true 2454 | 2455 | /fast-glob/3.2.12: 2456 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 2457 | engines: {node: '>=8.6.0'} 2458 | dependencies: 2459 | '@nodelib/fs.stat': 2.0.5 2460 | '@nodelib/fs.walk': 1.2.8 2461 | glob-parent: 5.1.2 2462 | merge2: 1.4.1 2463 | micromatch: 4.0.5 2464 | dev: true 2465 | 2466 | /fastq/1.13.0: 2467 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 2468 | dependencies: 2469 | reusify: 1.0.4 2470 | dev: true 2471 | 2472 | /fb-watchman/2.0.2: 2473 | resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} 2474 | dependencies: 2475 | bser: 2.1.1 2476 | dev: true 2477 | 2478 | /fbjs-css-vars/1.0.2: 2479 | resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} 2480 | dev: true 2481 | 2482 | /fbjs/3.0.4: 2483 | resolution: {integrity: sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ==} 2484 | dependencies: 2485 | cross-fetch: 3.1.5 2486 | fbjs-css-vars: 1.0.2 2487 | loose-envify: 1.4.0 2488 | object-assign: 4.1.1 2489 | promise: 7.3.1 2490 | setimmediate: 1.0.5 2491 | ua-parser-js: 0.7.31 2492 | transitivePeerDependencies: 2493 | - encoding 2494 | dev: true 2495 | 2496 | /figures/3.2.0: 2497 | resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} 2498 | engines: {node: '>=8'} 2499 | dependencies: 2500 | escape-string-regexp: 1.0.5 2501 | dev: true 2502 | 2503 | /fill-range/7.0.1: 2504 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 2505 | engines: {node: '>=8'} 2506 | dependencies: 2507 | to-regex-range: 5.0.1 2508 | dev: true 2509 | 2510 | /find-up/4.1.0: 2511 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 2512 | engines: {node: '>=8'} 2513 | dependencies: 2514 | locate-path: 5.0.0 2515 | path-exists: 4.0.0 2516 | dev: true 2517 | 2518 | /form-data-encoder/1.7.2: 2519 | resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} 2520 | dev: true 2521 | 2522 | /form-data/3.0.1: 2523 | resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} 2524 | engines: {node: '>= 6'} 2525 | dependencies: 2526 | asynckit: 0.4.0 2527 | combined-stream: 1.0.8 2528 | mime-types: 2.1.35 2529 | 2530 | /formdata-node/4.4.1: 2531 | resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} 2532 | engines: {node: '>= 12.20'} 2533 | dependencies: 2534 | node-domexception: 1.0.0 2535 | web-streams-polyfill: 4.0.0-beta.3 2536 | dev: true 2537 | 2538 | /fs.realpath/1.0.0: 2539 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 2540 | dev: true 2541 | 2542 | /fsevents/2.3.2: 2543 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 2544 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 2545 | os: [darwin] 2546 | requiresBuild: true 2547 | dev: true 2548 | optional: true 2549 | 2550 | /function-bind/1.1.1: 2551 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 2552 | dev: true 2553 | 2554 | /gensync/1.0.0-beta.2: 2555 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 2556 | engines: {node: '>=6.9.0'} 2557 | dev: true 2558 | 2559 | /get-caller-file/2.0.5: 2560 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 2561 | engines: {node: 6.* || 8.* || >= 10.*} 2562 | dev: true 2563 | 2564 | /get-intrinsic/1.1.3: 2565 | resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==} 2566 | dependencies: 2567 | function-bind: 1.1.1 2568 | has: 1.0.3 2569 | has-symbols: 1.0.3 2570 | dev: true 2571 | 2572 | /get-stream/6.0.1: 2573 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 2574 | engines: {node: '>=10'} 2575 | dev: true 2576 | 2577 | /glob-parent/5.1.2: 2578 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 2579 | engines: {node: '>= 6'} 2580 | dependencies: 2581 | is-glob: 4.0.3 2582 | dev: true 2583 | 2584 | /glob/7.2.3: 2585 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 2586 | dependencies: 2587 | fs.realpath: 1.0.0 2588 | inflight: 1.0.6 2589 | inherits: 2.0.4 2590 | minimatch: 3.1.2 2591 | once: 1.4.0 2592 | path-is-absolute: 1.0.1 2593 | dev: true 2594 | 2595 | /globals/11.12.0: 2596 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 2597 | engines: {node: '>=4'} 2598 | dev: true 2599 | 2600 | /globby/11.1.0: 2601 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 2602 | engines: {node: '>=10'} 2603 | dependencies: 2604 | array-union: 2.1.0 2605 | dir-glob: 3.0.1 2606 | fast-glob: 3.2.12 2607 | ignore: 5.2.0 2608 | merge2: 1.4.1 2609 | slash: 3.0.0 2610 | dev: true 2611 | 2612 | /graphql-config/4.3.6_siotesyb2nuw4tqpprclj4vbfq: 2613 | resolution: {integrity: sha512-i7mAPwc0LAZPnYu2bI8B6yXU5820Wy/ArvmOseDLZIu0OU1UTULEuexHo6ZcHXeT9NvGGaUPQZm8NV3z79YydA==} 2614 | engines: {node: '>= 10.0.0'} 2615 | peerDependencies: 2616 | graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 2617 | dependencies: 2618 | '@graphql-tools/graphql-file-loader': 7.5.5_graphql@16.6.0 2619 | '@graphql-tools/json-file-loader': 7.4.6_graphql@16.6.0 2620 | '@graphql-tools/load': 7.7.7_graphql@16.6.0 2621 | '@graphql-tools/merge': 8.3.6_graphql@16.6.0 2622 | '@graphql-tools/url-loader': 7.16.4_graphql@16.6.0 2623 | '@graphql-tools/utils': 8.12.0_graphql@16.6.0 2624 | cosmiconfig: 7.0.1 2625 | cosmiconfig-toml-loader: 1.0.0 2626 | cosmiconfig-typescript-loader: 4.1.1_iq4inwuv4kwxih6sjysxmpdvle 2627 | graphql: 16.6.0 2628 | minimatch: 4.2.1 2629 | string-env-interpolation: 1.0.1 2630 | ts-node: 10.9.1_typescript@4.8.4 2631 | tslib: 2.4.0 2632 | transitivePeerDependencies: 2633 | - '@swc/core' 2634 | - '@swc/wasm' 2635 | - '@types/node' 2636 | - bufferutil 2637 | - encoding 2638 | - typescript 2639 | - utf-8-validate 2640 | dev: true 2641 | 2642 | /graphql-request/5.0.0_graphql@16.6.0: 2643 | resolution: {integrity: sha512-SpVEnIo2J5k2+Zf76cUkdvIRaq5FMZvGQYnA4lUWYbc99m+fHh4CZYRRO/Ff4tCLQ613fzCm3SiDT64ubW5Gyw==} 2644 | peerDependencies: 2645 | graphql: 14 - 16 2646 | dependencies: 2647 | '@graphql-typed-document-node/core': 3.1.1_graphql@16.6.0 2648 | cross-fetch: 3.1.5 2649 | extract-files: 9.0.0 2650 | form-data: 3.0.1 2651 | graphql: 16.6.0 2652 | transitivePeerDependencies: 2653 | - encoding 2654 | dev: true 2655 | 2656 | /graphql-tag/2.12.6_graphql@16.6.0: 2657 | resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} 2658 | engines: {node: '>=10'} 2659 | peerDependencies: 2660 | graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 2661 | dependencies: 2662 | graphql: 16.6.0 2663 | tslib: 2.4.0 2664 | dev: true 2665 | 2666 | /graphql-ws/5.11.2_graphql@16.6.0: 2667 | resolution: {integrity: sha512-4EiZ3/UXYcjm+xFGP544/yW1+DVI8ZpKASFbzrV5EDTFWJp0ZvLl4Dy2fSZAzz9imKp5pZMIcjB0x/H69Pv/6w==} 2668 | engines: {node: '>=10'} 2669 | peerDependencies: 2670 | graphql: '>=0.11 <=16' 2671 | dependencies: 2672 | graphql: 16.6.0 2673 | dev: true 2674 | 2675 | /graphql/16.6.0: 2676 | resolution: {integrity: sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==} 2677 | engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} 2678 | dev: true 2679 | 2680 | /has-flag/3.0.0: 2681 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 2682 | engines: {node: '>=4'} 2683 | dev: true 2684 | 2685 | /has-flag/4.0.0: 2686 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 2687 | engines: {node: '>=8'} 2688 | dev: true 2689 | 2690 | /has-property-descriptors/1.0.0: 2691 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 2692 | dependencies: 2693 | get-intrinsic: 1.1.3 2694 | dev: true 2695 | 2696 | /has-symbols/1.0.3: 2697 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 2698 | engines: {node: '>= 0.4'} 2699 | dev: true 2700 | 2701 | /has/1.0.3: 2702 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 2703 | engines: {node: '>= 0.4.0'} 2704 | dependencies: 2705 | function-bind: 1.1.1 2706 | dev: true 2707 | 2708 | /header-case/2.0.4: 2709 | resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} 2710 | dependencies: 2711 | capital-case: 1.0.4 2712 | tslib: 2.4.0 2713 | dev: true 2714 | 2715 | /html-rewriter-wasm/0.4.1: 2716 | resolution: {integrity: sha512-lNovG8CMCCmcVB1Q7xggMSf7tqPCijZXaH4gL6iE8BFghdQCbaY5Met9i1x2Ex8m/cZHDUtXK9H6/znKamRP8Q==} 2717 | dev: true 2718 | 2719 | /http-cache-semantics/4.1.0: 2720 | resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} 2721 | dev: true 2722 | 2723 | /http-proxy-agent/5.0.0: 2724 | resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} 2725 | engines: {node: '>= 6'} 2726 | dependencies: 2727 | '@tootallnate/once': 2.0.0 2728 | agent-base: 6.0.2 2729 | debug: 4.3.4 2730 | transitivePeerDependencies: 2731 | - supports-color 2732 | dev: true 2733 | 2734 | /https-proxy-agent/5.0.1: 2735 | resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} 2736 | engines: {node: '>= 6'} 2737 | dependencies: 2738 | agent-base: 6.0.2 2739 | debug: 4.3.4 2740 | transitivePeerDependencies: 2741 | - supports-color 2742 | dev: true 2743 | 2744 | /human-signals/3.0.1: 2745 | resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} 2746 | engines: {node: '>=12.20.0'} 2747 | dev: true 2748 | 2749 | /iconv-lite/0.4.24: 2750 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 2751 | engines: {node: '>=0.10.0'} 2752 | dependencies: 2753 | safer-buffer: 2.1.2 2754 | dev: true 2755 | 2756 | /ieee754/1.2.1: 2757 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 2758 | dev: true 2759 | 2760 | /ignore/5.2.0: 2761 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 2762 | engines: {node: '>= 4'} 2763 | dev: true 2764 | 2765 | /immutable/3.7.6: 2766 | resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==} 2767 | engines: {node: '>=0.8.0'} 2768 | dev: true 2769 | 2770 | /import-fresh/3.3.0: 2771 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 2772 | engines: {node: '>=6'} 2773 | dependencies: 2774 | parent-module: 1.0.1 2775 | resolve-from: 4.0.0 2776 | dev: true 2777 | 2778 | /import-from/4.0.0: 2779 | resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} 2780 | engines: {node: '>=12.2'} 2781 | dev: true 2782 | 2783 | /indent-string/4.0.0: 2784 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 2785 | engines: {node: '>=8'} 2786 | dev: true 2787 | 2788 | /inflight/1.0.6: 2789 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 2790 | dependencies: 2791 | once: 1.4.0 2792 | wrappy: 1.0.2 2793 | dev: true 2794 | 2795 | /inherits/2.0.4: 2796 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 2797 | dev: true 2798 | 2799 | /inquirer/8.2.4: 2800 | resolution: {integrity: sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==} 2801 | engines: {node: '>=12.0.0'} 2802 | dependencies: 2803 | ansi-escapes: 4.3.2 2804 | chalk: 4.1.2 2805 | cli-cursor: 3.1.0 2806 | cli-width: 3.0.0 2807 | external-editor: 3.1.0 2808 | figures: 3.2.0 2809 | lodash: 4.17.21 2810 | mute-stream: 0.0.8 2811 | ora: 5.4.1 2812 | run-async: 2.4.1 2813 | rxjs: 7.5.7 2814 | string-width: 4.2.3 2815 | strip-ansi: 6.0.1 2816 | through: 2.3.8 2817 | wrap-ansi: 7.0.0 2818 | dev: true 2819 | 2820 | /invariant/2.2.4: 2821 | resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} 2822 | dependencies: 2823 | loose-envify: 1.4.0 2824 | dev: true 2825 | 2826 | /is-absolute/1.0.0: 2827 | resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} 2828 | engines: {node: '>=0.10.0'} 2829 | dependencies: 2830 | is-relative: 1.0.0 2831 | is-windows: 1.0.2 2832 | dev: true 2833 | 2834 | /is-arrayish/0.2.1: 2835 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 2836 | dev: true 2837 | 2838 | /is-binary-path/2.1.0: 2839 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 2840 | engines: {node: '>=8'} 2841 | dependencies: 2842 | binary-extensions: 2.2.0 2843 | dev: true 2844 | 2845 | /is-extglob/2.1.1: 2846 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 2847 | engines: {node: '>=0.10.0'} 2848 | dev: true 2849 | 2850 | /is-fullwidth-code-point/3.0.0: 2851 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 2852 | engines: {node: '>=8'} 2853 | dev: true 2854 | 2855 | /is-glob/4.0.3: 2856 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 2857 | engines: {node: '>=0.10.0'} 2858 | dependencies: 2859 | is-extglob: 2.1.1 2860 | dev: true 2861 | 2862 | /is-interactive/1.0.0: 2863 | resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} 2864 | engines: {node: '>=8'} 2865 | dev: true 2866 | 2867 | /is-lower-case/2.0.2: 2868 | resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} 2869 | dependencies: 2870 | tslib: 2.4.0 2871 | dev: true 2872 | 2873 | /is-number/7.0.0: 2874 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 2875 | engines: {node: '>=0.12.0'} 2876 | dev: true 2877 | 2878 | /is-plain-object/5.0.0: 2879 | resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} 2880 | engines: {node: '>=0.10.0'} 2881 | dev: false 2882 | 2883 | /is-relative/1.0.0: 2884 | resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} 2885 | engines: {node: '>=0.10.0'} 2886 | dependencies: 2887 | is-unc-path: 1.0.0 2888 | dev: true 2889 | 2890 | /is-stream/3.0.0: 2891 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 2892 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2893 | dev: true 2894 | 2895 | /is-unc-path/1.0.0: 2896 | resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} 2897 | engines: {node: '>=0.10.0'} 2898 | dependencies: 2899 | unc-path-regex: 0.1.2 2900 | dev: true 2901 | 2902 | /is-unicode-supported/0.1.0: 2903 | resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} 2904 | engines: {node: '>=10'} 2905 | dev: true 2906 | 2907 | /is-upper-case/2.0.2: 2908 | resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} 2909 | dependencies: 2910 | tslib: 2.4.0 2911 | dev: true 2912 | 2913 | /is-windows/1.0.2: 2914 | resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} 2915 | engines: {node: '>=0.10.0'} 2916 | dev: true 2917 | 2918 | /isexe/2.0.0: 2919 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 2920 | dev: true 2921 | 2922 | /isomorphic-fetch/3.0.0: 2923 | resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} 2924 | dependencies: 2925 | node-fetch: 2.6.7 2926 | whatwg-fetch: 3.6.2 2927 | transitivePeerDependencies: 2928 | - encoding 2929 | dev: true 2930 | 2931 | /isomorphic-ws/5.0.0_ws@8.9.0: 2932 | resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} 2933 | peerDependencies: 2934 | ws: '*' 2935 | dependencies: 2936 | ws: 8.9.0 2937 | dev: true 2938 | 2939 | /js-tokens/4.0.0: 2940 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2941 | dev: true 2942 | 2943 | /js-yaml/4.1.0: 2944 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 2945 | hasBin: true 2946 | dependencies: 2947 | argparse: 2.0.1 2948 | dev: true 2949 | 2950 | /jsesc/2.5.2: 2951 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 2952 | engines: {node: '>=4'} 2953 | hasBin: true 2954 | dev: true 2955 | 2956 | /json-parse-even-better-errors/2.3.1: 2957 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 2958 | dev: true 2959 | 2960 | /json-stable-stringify/1.0.1: 2961 | resolution: {integrity: sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==} 2962 | dependencies: 2963 | jsonify: 0.0.0 2964 | dev: true 2965 | 2966 | /json-to-pretty-yaml/1.2.2: 2967 | resolution: {integrity: sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==} 2968 | engines: {node: '>= 0.2.0'} 2969 | dependencies: 2970 | remedial: 1.0.8 2971 | remove-trailing-spaces: 1.0.8 2972 | dev: true 2973 | 2974 | /json5/2.2.1: 2975 | resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} 2976 | engines: {node: '>=6'} 2977 | hasBin: true 2978 | dev: true 2979 | 2980 | /jsonify/0.0.0: 2981 | resolution: {integrity: sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA==} 2982 | dev: true 2983 | 2984 | /jsonwebtoken/8.5.1: 2985 | resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} 2986 | engines: {node: '>=4', npm: '>=1.4.28'} 2987 | dependencies: 2988 | jws: 3.2.2 2989 | lodash.includes: 4.3.0 2990 | lodash.isboolean: 3.0.3 2991 | lodash.isinteger: 4.0.4 2992 | lodash.isnumber: 3.0.3 2993 | lodash.isplainobject: 4.0.6 2994 | lodash.isstring: 4.0.1 2995 | lodash.once: 4.1.1 2996 | ms: 2.1.3 2997 | semver: 5.7.1 2998 | dev: true 2999 | 3000 | /jwa/1.4.1: 3001 | resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} 3002 | dependencies: 3003 | buffer-equal-constant-time: 1.0.1 3004 | ecdsa-sig-formatter: 1.0.11 3005 | safe-buffer: 5.2.1 3006 | dev: true 3007 | 3008 | /jws/3.2.2: 3009 | resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} 3010 | dependencies: 3011 | jwa: 1.4.1 3012 | safe-buffer: 5.2.1 3013 | dev: true 3014 | 3015 | /kleur/4.1.5: 3016 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 3017 | engines: {node: '>=6'} 3018 | dev: true 3019 | 3020 | /lines-and-columns/1.2.4: 3021 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 3022 | dev: true 3023 | 3024 | /listr2/4.0.5: 3025 | resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} 3026 | engines: {node: '>=12'} 3027 | peerDependencies: 3028 | enquirer: '>= 2.3.0 < 3' 3029 | peerDependenciesMeta: 3030 | enquirer: 3031 | optional: true 3032 | dependencies: 3033 | cli-truncate: 2.1.0 3034 | colorette: 2.0.19 3035 | log-update: 4.0.0 3036 | p-map: 4.0.0 3037 | rfdc: 1.3.0 3038 | rxjs: 7.5.7 3039 | through: 2.3.8 3040 | wrap-ansi: 7.0.0 3041 | dev: true 3042 | 3043 | /locate-path/5.0.0: 3044 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 3045 | engines: {node: '>=8'} 3046 | dependencies: 3047 | p-locate: 4.1.0 3048 | dev: true 3049 | 3050 | /lodash.includes/4.3.0: 3051 | resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} 3052 | dev: true 3053 | 3054 | /lodash.isboolean/3.0.3: 3055 | resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} 3056 | dev: true 3057 | 3058 | /lodash.isinteger/4.0.4: 3059 | resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} 3060 | dev: true 3061 | 3062 | /lodash.isnumber/3.0.3: 3063 | resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} 3064 | dev: true 3065 | 3066 | /lodash.isplainobject/4.0.6: 3067 | resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} 3068 | dev: true 3069 | 3070 | /lodash.isstring/4.0.1: 3071 | resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} 3072 | dev: true 3073 | 3074 | /lodash.once/4.1.1: 3075 | resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} 3076 | dev: true 3077 | 3078 | /lodash/4.17.21: 3079 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 3080 | dev: true 3081 | 3082 | /log-symbols/4.1.0: 3083 | resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} 3084 | engines: {node: '>=10'} 3085 | dependencies: 3086 | chalk: 4.1.2 3087 | is-unicode-supported: 0.1.0 3088 | dev: true 3089 | 3090 | /log-update/4.0.0: 3091 | resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} 3092 | engines: {node: '>=10'} 3093 | dependencies: 3094 | ansi-escapes: 4.3.2 3095 | cli-cursor: 3.1.0 3096 | slice-ansi: 4.0.0 3097 | wrap-ansi: 6.2.0 3098 | dev: true 3099 | 3100 | /loose-envify/1.4.0: 3101 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 3102 | hasBin: true 3103 | dependencies: 3104 | js-tokens: 4.0.0 3105 | dev: true 3106 | 3107 | /lower-case-first/2.0.2: 3108 | resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==} 3109 | dependencies: 3110 | tslib: 2.4.0 3111 | dev: true 3112 | 3113 | /lower-case/2.0.2: 3114 | resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} 3115 | dependencies: 3116 | tslib: 2.4.0 3117 | dev: true 3118 | 3119 | /lru-cache/6.0.0: 3120 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 3121 | engines: {node: '>=10'} 3122 | dependencies: 3123 | yallist: 4.0.0 3124 | dev: true 3125 | 3126 | /magic-string/0.25.9: 3127 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 3128 | dependencies: 3129 | sourcemap-codec: 1.4.8 3130 | dev: true 3131 | 3132 | /make-error/1.3.6: 3133 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} 3134 | dev: true 3135 | 3136 | /map-cache/0.2.2: 3137 | resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} 3138 | engines: {node: '>=0.10.0'} 3139 | dev: true 3140 | 3141 | /markdown-table/2.0.0: 3142 | resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} 3143 | dependencies: 3144 | repeat-string: 1.6.1 3145 | dev: false 3146 | 3147 | /merge-stream/2.0.0: 3148 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 3149 | dev: true 3150 | 3151 | /merge2/1.4.1: 3152 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 3153 | engines: {node: '>= 8'} 3154 | dev: true 3155 | 3156 | /meros/1.2.1: 3157 | resolution: {integrity: sha512-R2f/jxYqCAGI19KhAvaxSOxALBMkaXWH2a7rOyqQw+ZmizX5bKkEYWLzdhC+U82ZVVPVp6MCXe3EkVligh+12g==} 3158 | engines: {node: '>=13'} 3159 | peerDependencies: 3160 | '@types/node': '>=13' 3161 | peerDependenciesMeta: 3162 | '@types/node': 3163 | optional: true 3164 | dev: true 3165 | 3166 | /micromatch/4.0.5: 3167 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 3168 | engines: {node: '>=8.6'} 3169 | dependencies: 3170 | braces: 3.0.2 3171 | picomatch: 2.3.1 3172 | dev: true 3173 | 3174 | /mime-db/1.52.0: 3175 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 3176 | engines: {node: '>= 0.6'} 3177 | 3178 | /mime-types/2.1.35: 3179 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 3180 | engines: {node: '>= 0.6'} 3181 | dependencies: 3182 | mime-db: 1.52.0 3183 | 3184 | /mime/3.0.0: 3185 | resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} 3186 | engines: {node: '>=10.0.0'} 3187 | hasBin: true 3188 | dev: true 3189 | 3190 | /mimic-fn/2.1.0: 3191 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 3192 | engines: {node: '>=6'} 3193 | dev: true 3194 | 3195 | /mimic-fn/4.0.0: 3196 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 3197 | engines: {node: '>=12'} 3198 | dev: true 3199 | 3200 | /miniflare/2.9.0: 3201 | resolution: {integrity: sha512-HBGQ5Jj6sMU1B1hX6G3ML46ThtUvu1nvxgXjDDmhp2RhWKYj0XvcohW/nPPL/MTP1gpvfT880De9EHmobVsDsw==} 3202 | engines: {node: '>=16.13'} 3203 | hasBin: true 3204 | peerDependencies: 3205 | '@miniflare/storage-redis': 2.9.0 3206 | cron-schedule: ^3.0.4 3207 | ioredis: ^4.27.9 3208 | peerDependenciesMeta: 3209 | '@miniflare/storage-redis': 3210 | optional: true 3211 | cron-schedule: 3212 | optional: true 3213 | ioredis: 3214 | optional: true 3215 | dependencies: 3216 | '@miniflare/cache': 2.9.0 3217 | '@miniflare/cli-parser': 2.9.0 3218 | '@miniflare/core': 2.9.0 3219 | '@miniflare/d1': 2.9.0 3220 | '@miniflare/durable-objects': 2.9.0 3221 | '@miniflare/html-rewriter': 2.9.0 3222 | '@miniflare/http-server': 2.9.0 3223 | '@miniflare/kv': 2.9.0 3224 | '@miniflare/queues': 2.9.0 3225 | '@miniflare/r2': 2.9.0 3226 | '@miniflare/runner-vm': 2.9.0 3227 | '@miniflare/scheduler': 2.9.0 3228 | '@miniflare/shared': 2.9.0 3229 | '@miniflare/sites': 2.9.0 3230 | '@miniflare/storage-file': 2.9.0 3231 | '@miniflare/storage-memory': 2.9.0 3232 | '@miniflare/web-sockets': 2.9.0 3233 | kleur: 4.1.5 3234 | semiver: 1.1.0 3235 | source-map-support: 0.5.21 3236 | undici: 5.9.1 3237 | transitivePeerDependencies: 3238 | - bufferutil 3239 | - utf-8-validate 3240 | dev: true 3241 | 3242 | /minimatch/3.1.2: 3243 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 3244 | dependencies: 3245 | brace-expansion: 1.1.11 3246 | dev: true 3247 | 3248 | /minimatch/4.2.1: 3249 | resolution: {integrity: sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==} 3250 | engines: {node: '>=10'} 3251 | dependencies: 3252 | brace-expansion: 1.1.11 3253 | dev: true 3254 | 3255 | /mkdirp/1.0.4: 3256 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} 3257 | engines: {node: '>=10'} 3258 | hasBin: true 3259 | dev: true 3260 | 3261 | /ms/2.1.2: 3262 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 3263 | dev: true 3264 | 3265 | /ms/2.1.3: 3266 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 3267 | dev: true 3268 | 3269 | /mustache/4.2.0: 3270 | resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} 3271 | hasBin: true 3272 | dev: true 3273 | 3274 | /mute-stream/0.0.8: 3275 | resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} 3276 | dev: true 3277 | 3278 | /nanoid/3.3.4: 3279 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 3280 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 3281 | hasBin: true 3282 | dev: true 3283 | 3284 | /no-case/3.0.4: 3285 | resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} 3286 | dependencies: 3287 | lower-case: 2.0.2 3288 | tslib: 2.4.0 3289 | dev: true 3290 | 3291 | /node-domexception/1.0.0: 3292 | resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} 3293 | engines: {node: '>=10.5.0'} 3294 | dev: true 3295 | 3296 | /node-fetch/2.6.7: 3297 | resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} 3298 | engines: {node: 4.x || >=6.0.0} 3299 | peerDependencies: 3300 | encoding: ^0.1.0 3301 | peerDependenciesMeta: 3302 | encoding: 3303 | optional: true 3304 | dependencies: 3305 | whatwg-url: 5.0.0 3306 | 3307 | /node-forge/1.3.1: 3308 | resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} 3309 | engines: {node: '>= 6.13.0'} 3310 | dev: true 3311 | 3312 | /node-int64/0.4.0: 3313 | resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} 3314 | dev: true 3315 | 3316 | /node-releases/2.0.6: 3317 | resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} 3318 | dev: true 3319 | 3320 | /normalize-path/2.1.1: 3321 | resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} 3322 | engines: {node: '>=0.10.0'} 3323 | dependencies: 3324 | remove-trailing-separator: 1.1.0 3325 | dev: true 3326 | 3327 | /normalize-path/3.0.0: 3328 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 3329 | engines: {node: '>=0.10.0'} 3330 | dev: true 3331 | 3332 | /notion-to-md/2.5.5: 3333 | resolution: {integrity: sha512-EdzuNZpJyc+287ItRALOld90RkshWBDiSA0WThf75z98Y8cyynhu6Hg+h377eD5K4UOSQHy5K0SUV4vGdCxCiA==} 3334 | engines: {node: '>=12'} 3335 | dependencies: 3336 | markdown-table: 2.0.0 3337 | dev: false 3338 | 3339 | /npm-run-path/5.1.0: 3340 | resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} 3341 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 3342 | dependencies: 3343 | path-key: 4.0.0 3344 | dev: true 3345 | 3346 | /npx-import/1.1.3: 3347 | resolution: {integrity: sha512-zy6249FJ81OtPsvz2y0+rgis31EN5wbdwBG2umtEh65W/4onYArHuoUSZ+W+T7BQYK7YF+h9G4CuGPusMCcLOw==} 3348 | dependencies: 3349 | execa: 6.1.0 3350 | parse-package-name: 1.0.0 3351 | semver: 7.3.8 3352 | validate-npm-package-name: 4.0.0 3353 | dev: true 3354 | 3355 | /nullthrows/1.1.1: 3356 | resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} 3357 | dev: true 3358 | 3359 | /object-assign/4.1.1: 3360 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 3361 | engines: {node: '>=0.10.0'} 3362 | dev: true 3363 | 3364 | /object-keys/1.1.1: 3365 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 3366 | engines: {node: '>= 0.4'} 3367 | dev: true 3368 | 3369 | /object.assign/4.1.4: 3370 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} 3371 | engines: {node: '>= 0.4'} 3372 | dependencies: 3373 | call-bind: 1.0.2 3374 | define-properties: 1.1.4 3375 | has-symbols: 1.0.3 3376 | object-keys: 1.1.1 3377 | dev: true 3378 | 3379 | /once/1.4.0: 3380 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 3381 | dependencies: 3382 | wrappy: 1.0.2 3383 | 3384 | /onetime/5.1.2: 3385 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 3386 | engines: {node: '>=6'} 3387 | dependencies: 3388 | mimic-fn: 2.1.0 3389 | dev: true 3390 | 3391 | /onetime/6.0.0: 3392 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 3393 | engines: {node: '>=12'} 3394 | dependencies: 3395 | mimic-fn: 4.0.0 3396 | dev: true 3397 | 3398 | /ora/5.4.1: 3399 | resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} 3400 | engines: {node: '>=10'} 3401 | dependencies: 3402 | bl: 4.1.0 3403 | chalk: 4.1.2 3404 | cli-cursor: 3.1.0 3405 | cli-spinners: 2.7.0 3406 | is-interactive: 1.0.0 3407 | is-unicode-supported: 0.1.0 3408 | log-symbols: 4.1.0 3409 | strip-ansi: 6.0.1 3410 | wcwidth: 1.0.1 3411 | dev: true 3412 | 3413 | /os-tmpdir/1.0.2: 3414 | resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} 3415 | engines: {node: '>=0.10.0'} 3416 | dev: true 3417 | 3418 | /p-limit/2.3.0: 3419 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 3420 | engines: {node: '>=6'} 3421 | dependencies: 3422 | p-try: 2.2.0 3423 | dev: true 3424 | 3425 | /p-limit/3.1.0: 3426 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 3427 | engines: {node: '>=10'} 3428 | dependencies: 3429 | yocto-queue: 0.1.0 3430 | dev: true 3431 | 3432 | /p-locate/4.1.0: 3433 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 3434 | engines: {node: '>=8'} 3435 | dependencies: 3436 | p-limit: 2.3.0 3437 | dev: true 3438 | 3439 | /p-map/4.0.0: 3440 | resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} 3441 | engines: {node: '>=10'} 3442 | dependencies: 3443 | aggregate-error: 3.1.0 3444 | dev: true 3445 | 3446 | /p-try/2.2.0: 3447 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 3448 | engines: {node: '>=6'} 3449 | dev: true 3450 | 3451 | /param-case/3.0.4: 3452 | resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} 3453 | dependencies: 3454 | dot-case: 3.0.4 3455 | tslib: 2.4.0 3456 | dev: true 3457 | 3458 | /parent-module/1.0.1: 3459 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 3460 | engines: {node: '>=6'} 3461 | dependencies: 3462 | callsites: 3.1.0 3463 | dev: true 3464 | 3465 | /parse-filepath/1.0.2: 3466 | resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} 3467 | engines: {node: '>=0.8'} 3468 | dependencies: 3469 | is-absolute: 1.0.0 3470 | map-cache: 0.2.2 3471 | path-root: 0.1.1 3472 | dev: true 3473 | 3474 | /parse-json/5.2.0: 3475 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 3476 | engines: {node: '>=8'} 3477 | dependencies: 3478 | '@babel/code-frame': 7.18.6 3479 | error-ex: 1.3.2 3480 | json-parse-even-better-errors: 2.3.1 3481 | lines-and-columns: 1.2.4 3482 | dev: true 3483 | 3484 | /parse-package-name/1.0.0: 3485 | resolution: {integrity: sha512-kBeTUtcj+SkyfaW4+KBe0HtsloBJ/mKTPoxpVdA57GZiPerREsUWJOhVj9anXweFiJkm5y8FG1sxFZkZ0SN6wg==} 3486 | dev: true 3487 | 3488 | /pascal-case/3.1.2: 3489 | resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} 3490 | dependencies: 3491 | no-case: 3.0.4 3492 | tslib: 2.4.0 3493 | dev: true 3494 | 3495 | /path-case/3.0.4: 3496 | resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} 3497 | dependencies: 3498 | dot-case: 3.0.4 3499 | tslib: 2.4.0 3500 | dev: true 3501 | 3502 | /path-exists/4.0.0: 3503 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 3504 | engines: {node: '>=8'} 3505 | dev: true 3506 | 3507 | /path-is-absolute/1.0.1: 3508 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 3509 | engines: {node: '>=0.10.0'} 3510 | dev: true 3511 | 3512 | /path-key/3.1.1: 3513 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 3514 | engines: {node: '>=8'} 3515 | dev: true 3516 | 3517 | /path-key/4.0.0: 3518 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 3519 | engines: {node: '>=12'} 3520 | dev: true 3521 | 3522 | /path-root-regex/0.1.2: 3523 | resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} 3524 | engines: {node: '>=0.10.0'} 3525 | dev: true 3526 | 3527 | /path-root/0.1.1: 3528 | resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} 3529 | engines: {node: '>=0.10.0'} 3530 | dependencies: 3531 | path-root-regex: 0.1.2 3532 | dev: true 3533 | 3534 | /path-to-regexp/6.2.1: 3535 | resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} 3536 | dev: true 3537 | 3538 | /path-type/4.0.0: 3539 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 3540 | engines: {node: '>=8'} 3541 | dev: true 3542 | 3543 | /picocolors/1.0.0: 3544 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 3545 | dev: true 3546 | 3547 | /picomatch/2.3.1: 3548 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 3549 | engines: {node: '>=8.6'} 3550 | dev: true 3551 | 3552 | /promise/7.3.1: 3553 | resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} 3554 | dependencies: 3555 | asap: 2.0.6 3556 | dev: true 3557 | 3558 | /pvtsutils/1.3.2: 3559 | resolution: {integrity: sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==} 3560 | dependencies: 3561 | tslib: 2.4.0 3562 | dev: true 3563 | 3564 | /pvutils/1.1.3: 3565 | resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} 3566 | engines: {node: '>=6.0.0'} 3567 | dev: true 3568 | 3569 | /queue-microtask/1.2.3: 3570 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 3571 | dev: true 3572 | 3573 | /readable-stream/3.6.0: 3574 | resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} 3575 | engines: {node: '>= 6'} 3576 | dependencies: 3577 | inherits: 2.0.4 3578 | string_decoder: 1.3.0 3579 | util-deprecate: 1.0.2 3580 | dev: true 3581 | 3582 | /readdirp/3.6.0: 3583 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 3584 | engines: {node: '>=8.10.0'} 3585 | dependencies: 3586 | picomatch: 2.3.1 3587 | dev: true 3588 | 3589 | /regenerator-runtime/0.13.9: 3590 | resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} 3591 | dev: true 3592 | 3593 | /relay-runtime/12.0.0: 3594 | resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} 3595 | dependencies: 3596 | '@babel/runtime': 7.19.0 3597 | fbjs: 3.0.4 3598 | invariant: 2.2.4 3599 | transitivePeerDependencies: 3600 | - encoding 3601 | dev: true 3602 | 3603 | /remedial/1.0.8: 3604 | resolution: {integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==} 3605 | dev: true 3606 | 3607 | /remove-trailing-separator/1.1.0: 3608 | resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} 3609 | dev: true 3610 | 3611 | /remove-trailing-spaces/1.0.8: 3612 | resolution: {integrity: sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA==} 3613 | dev: true 3614 | 3615 | /repeat-string/1.6.1: 3616 | resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} 3617 | engines: {node: '>=0.10'} 3618 | dev: false 3619 | 3620 | /require-directory/2.1.1: 3621 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 3622 | engines: {node: '>=0.10.0'} 3623 | dev: true 3624 | 3625 | /require-main-filename/2.0.0: 3626 | resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} 3627 | dev: true 3628 | 3629 | /resolve-from/4.0.0: 3630 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 3631 | engines: {node: '>=4'} 3632 | dev: true 3633 | 3634 | /resolve-from/5.0.0: 3635 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 3636 | engines: {node: '>=8'} 3637 | dev: true 3638 | 3639 | /restore-cursor/3.1.0: 3640 | resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 3641 | engines: {node: '>=8'} 3642 | dependencies: 3643 | onetime: 5.1.2 3644 | signal-exit: 3.0.7 3645 | dev: true 3646 | 3647 | /reusify/1.0.4: 3648 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 3649 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 3650 | dev: true 3651 | 3652 | /rfdc/1.3.0: 3653 | resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} 3654 | dev: true 3655 | 3656 | /rollup-plugin-inject/3.0.2: 3657 | resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==} 3658 | deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. 3659 | dependencies: 3660 | estree-walker: 0.6.1 3661 | magic-string: 0.25.9 3662 | rollup-pluginutils: 2.8.2 3663 | dev: true 3664 | 3665 | /rollup-plugin-node-polyfills/0.2.1: 3666 | resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==} 3667 | dependencies: 3668 | rollup-plugin-inject: 3.0.2 3669 | dev: true 3670 | 3671 | /rollup-pluginutils/2.8.2: 3672 | resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} 3673 | dependencies: 3674 | estree-walker: 0.6.1 3675 | dev: true 3676 | 3677 | /run-async/2.4.1: 3678 | resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} 3679 | engines: {node: '>=0.12.0'} 3680 | dev: true 3681 | 3682 | /run-parallel/1.2.0: 3683 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 3684 | dependencies: 3685 | queue-microtask: 1.2.3 3686 | dev: true 3687 | 3688 | /rxjs/7.5.7: 3689 | resolution: {integrity: sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==} 3690 | dependencies: 3691 | tslib: 2.4.0 3692 | dev: true 3693 | 3694 | /safe-buffer/5.1.2: 3695 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 3696 | dev: true 3697 | 3698 | /safe-buffer/5.2.1: 3699 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 3700 | dev: true 3701 | 3702 | /safer-buffer/2.1.2: 3703 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 3704 | dev: true 3705 | 3706 | /scuid/1.1.0: 3707 | resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} 3708 | dev: true 3709 | 3710 | /selfsigned/2.1.1: 3711 | resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} 3712 | engines: {node: '>=10'} 3713 | dependencies: 3714 | node-forge: 1.3.1 3715 | dev: true 3716 | 3717 | /semiver/1.1.0: 3718 | resolution: {integrity: sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==} 3719 | engines: {node: '>=6'} 3720 | dev: true 3721 | 3722 | /semver/5.7.1: 3723 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 3724 | hasBin: true 3725 | dev: true 3726 | 3727 | /semver/6.3.0: 3728 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 3729 | hasBin: true 3730 | dev: true 3731 | 3732 | /semver/7.3.8: 3733 | resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} 3734 | engines: {node: '>=10'} 3735 | hasBin: true 3736 | dependencies: 3737 | lru-cache: 6.0.0 3738 | dev: true 3739 | 3740 | /sentence-case/3.0.4: 3741 | resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} 3742 | dependencies: 3743 | no-case: 3.0.4 3744 | tslib: 2.4.0 3745 | upper-case-first: 2.0.2 3746 | dev: true 3747 | 3748 | /set-blocking/2.0.0: 3749 | resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} 3750 | dev: true 3751 | 3752 | /set-cookie-parser/2.5.1: 3753 | resolution: {integrity: sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==} 3754 | dev: true 3755 | 3756 | /setimmediate/1.0.5: 3757 | resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} 3758 | dev: true 3759 | 3760 | /shebang-command/2.0.0: 3761 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 3762 | engines: {node: '>=8'} 3763 | dependencies: 3764 | shebang-regex: 3.0.0 3765 | dev: true 3766 | 3767 | /shebang-regex/3.0.0: 3768 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 3769 | engines: {node: '>=8'} 3770 | dev: true 3771 | 3772 | /signal-exit/3.0.7: 3773 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 3774 | dev: true 3775 | 3776 | /signedsource/1.0.0: 3777 | resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} 3778 | dev: true 3779 | 3780 | /slash/3.0.0: 3781 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 3782 | engines: {node: '>=8'} 3783 | dev: true 3784 | 3785 | /slice-ansi/3.0.0: 3786 | resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} 3787 | engines: {node: '>=8'} 3788 | dependencies: 3789 | ansi-styles: 4.3.0 3790 | astral-regex: 2.0.0 3791 | is-fullwidth-code-point: 3.0.0 3792 | dev: true 3793 | 3794 | /slice-ansi/4.0.0: 3795 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} 3796 | engines: {node: '>=10'} 3797 | dependencies: 3798 | ansi-styles: 4.3.0 3799 | astral-regex: 2.0.0 3800 | is-fullwidth-code-point: 3.0.0 3801 | dev: true 3802 | 3803 | /snake-case/3.0.4: 3804 | resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} 3805 | dependencies: 3806 | dot-case: 3.0.4 3807 | tslib: 2.4.0 3808 | dev: true 3809 | 3810 | /source-map-support/0.5.21: 3811 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 3812 | dependencies: 3813 | buffer-from: 1.1.2 3814 | source-map: 0.6.1 3815 | dev: true 3816 | 3817 | /source-map/0.6.1: 3818 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 3819 | engines: {node: '>=0.10.0'} 3820 | dev: true 3821 | 3822 | /source-map/0.7.4: 3823 | resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} 3824 | engines: {node: '>= 8'} 3825 | dev: true 3826 | 3827 | /sourcemap-codec/1.4.8: 3828 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 3829 | dev: true 3830 | 3831 | /sponge-case/1.0.1: 3832 | resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==} 3833 | dependencies: 3834 | tslib: 2.4.0 3835 | dev: true 3836 | 3837 | /stack-trace/0.0.10: 3838 | resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} 3839 | dev: true 3840 | 3841 | /streamsearch/1.1.0: 3842 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 3843 | engines: {node: '>=10.0.0'} 3844 | dev: true 3845 | 3846 | /string-env-interpolation/1.0.1: 3847 | resolution: {integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==} 3848 | dev: true 3849 | 3850 | /string-width/4.2.3: 3851 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 3852 | engines: {node: '>=8'} 3853 | dependencies: 3854 | emoji-regex: 8.0.0 3855 | is-fullwidth-code-point: 3.0.0 3856 | strip-ansi: 6.0.1 3857 | dev: true 3858 | 3859 | /string_decoder/1.3.0: 3860 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 3861 | dependencies: 3862 | safe-buffer: 5.2.1 3863 | dev: true 3864 | 3865 | /strip-ansi/6.0.1: 3866 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 3867 | engines: {node: '>=8'} 3868 | dependencies: 3869 | ansi-regex: 5.0.1 3870 | dev: true 3871 | 3872 | /strip-final-newline/3.0.0: 3873 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 3874 | engines: {node: '>=12'} 3875 | dev: true 3876 | 3877 | /supports-color/5.5.0: 3878 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 3879 | engines: {node: '>=4'} 3880 | dependencies: 3881 | has-flag: 3.0.0 3882 | dev: true 3883 | 3884 | /supports-color/7.2.0: 3885 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 3886 | engines: {node: '>=8'} 3887 | dependencies: 3888 | has-flag: 4.0.0 3889 | dev: true 3890 | 3891 | /swap-case/2.0.2: 3892 | resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==} 3893 | dependencies: 3894 | tslib: 2.4.0 3895 | dev: true 3896 | 3897 | /through/2.3.8: 3898 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 3899 | dev: true 3900 | 3901 | /title-case/3.0.3: 3902 | resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} 3903 | dependencies: 3904 | tslib: 2.4.0 3905 | dev: true 3906 | 3907 | /tmp/0.0.33: 3908 | resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 3909 | engines: {node: '>=0.6.0'} 3910 | dependencies: 3911 | os-tmpdir: 1.0.2 3912 | dev: true 3913 | 3914 | /to-fast-properties/2.0.0: 3915 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 3916 | engines: {node: '>=4'} 3917 | dev: true 3918 | 3919 | /to-regex-range/5.0.1: 3920 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 3921 | engines: {node: '>=8.0'} 3922 | dependencies: 3923 | is-number: 7.0.0 3924 | dev: true 3925 | 3926 | /tr46/0.0.3: 3927 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 3928 | 3929 | /ts-log/2.2.5: 3930 | resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==} 3931 | dev: true 3932 | 3933 | /ts-node/10.9.1_typescript@4.8.4: 3934 | resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} 3935 | hasBin: true 3936 | peerDependencies: 3937 | '@swc/core': '>=1.2.50' 3938 | '@swc/wasm': '>=1.2.50' 3939 | '@types/node': '*' 3940 | typescript: '>=2.7' 3941 | peerDependenciesMeta: 3942 | '@swc/core': 3943 | optional: true 3944 | '@swc/wasm': 3945 | optional: true 3946 | dependencies: 3947 | '@cspotcode/source-map-support': 0.8.1 3948 | '@tsconfig/node10': 1.0.9 3949 | '@tsconfig/node12': 1.0.11 3950 | '@tsconfig/node14': 1.0.3 3951 | '@tsconfig/node16': 1.0.3 3952 | acorn: 8.8.0 3953 | acorn-walk: 8.2.0 3954 | arg: 4.1.3 3955 | create-require: 1.1.1 3956 | diff: 4.0.2 3957 | make-error: 1.3.6 3958 | typescript: 4.8.4 3959 | v8-compile-cache-lib: 3.0.1 3960 | yn: 3.1.1 3961 | dev: true 3962 | 3963 | /tslib/2.4.0: 3964 | resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} 3965 | dev: true 3966 | 3967 | /type-fest/0.21.3: 3968 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 3969 | engines: {node: '>=10'} 3970 | dev: true 3971 | 3972 | /typescript/4.8.4: 3973 | resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} 3974 | engines: {node: '>=4.2.0'} 3975 | hasBin: true 3976 | dev: true 3977 | 3978 | /ua-parser-js/0.7.31: 3979 | resolution: {integrity: sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==} 3980 | dev: true 3981 | 3982 | /unc-path-regex/0.1.2: 3983 | resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} 3984 | engines: {node: '>=0.10.0'} 3985 | dev: true 3986 | 3987 | /undici/5.11.0: 3988 | resolution: {integrity: sha512-oWjWJHzFet0Ow4YZBkyiJwiK5vWqEYoH7BINzJAJOLedZ++JpAlCbUktW2GQ2DS2FpKmxD/JMtWUUWl1BtghGw==} 3989 | engines: {node: '>=12.18'} 3990 | dependencies: 3991 | busboy: 1.6.0 3992 | dev: true 3993 | 3994 | /undici/5.9.1: 3995 | resolution: {integrity: sha512-6fB3a+SNnWEm4CJbgo0/CWR8RGcOCQP68SF4X0mxtYTq2VNN8T88NYrWVBAeSX+zb7bny2dx2iYhP3XHi00omg==} 3996 | engines: {node: '>=12.18'} 3997 | dev: true 3998 | 3999 | /universal-user-agent/6.0.0: 4000 | resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} 4001 | dev: false 4002 | 4003 | /unixify/1.0.0: 4004 | resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} 4005 | engines: {node: '>=0.10.0'} 4006 | dependencies: 4007 | normalize-path: 2.1.1 4008 | dev: true 4009 | 4010 | /update-browserslist-db/1.0.10_browserslist@4.21.4: 4011 | resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} 4012 | hasBin: true 4013 | peerDependencies: 4014 | browserslist: '>= 4.21.0' 4015 | dependencies: 4016 | browserslist: 4.21.4 4017 | escalade: 3.1.1 4018 | picocolors: 1.0.0 4019 | dev: true 4020 | 4021 | /upper-case-first/2.0.2: 4022 | resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} 4023 | dependencies: 4024 | tslib: 2.4.0 4025 | dev: true 4026 | 4027 | /upper-case/2.0.2: 4028 | resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} 4029 | dependencies: 4030 | tslib: 2.4.0 4031 | dev: true 4032 | 4033 | /urlpattern-polyfill/4.0.3: 4034 | resolution: {integrity: sha512-DOE84vZT2fEcl9gqCUTcnAw5ZY5Id55ikUcziSUntuEFL3pRvavg5kwDmTEUJkeCHInTlV/HexFomgYnzO5kdQ==} 4035 | dev: true 4036 | 4037 | /util-deprecate/1.0.2: 4038 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 4039 | dev: true 4040 | 4041 | /v8-compile-cache-lib/3.0.1: 4042 | resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} 4043 | dev: true 4044 | 4045 | /validate-npm-package-name/4.0.0: 4046 | resolution: {integrity: sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==} 4047 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 4048 | dependencies: 4049 | builtins: 5.0.1 4050 | dev: true 4051 | 4052 | /value-or-promise/1.0.11: 4053 | resolution: {integrity: sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==} 4054 | engines: {node: '>=12'} 4055 | dev: true 4056 | 4057 | /wcwidth/1.0.1: 4058 | resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} 4059 | dependencies: 4060 | defaults: 1.0.3 4061 | dev: true 4062 | 4063 | /web-streams-polyfill/3.2.1: 4064 | resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} 4065 | engines: {node: '>= 8'} 4066 | dev: true 4067 | 4068 | /web-streams-polyfill/4.0.0-beta.3: 4069 | resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} 4070 | engines: {node: '>= 14'} 4071 | dev: true 4072 | 4073 | /webcrypto-core/1.7.5: 4074 | resolution: {integrity: sha512-gaExY2/3EHQlRNNNVSrbG2Cg94Rutl7fAaKILS1w8ZDhGxdFOaw6EbCfHIxPy9vt/xwp5o0VQAx9aySPF6hU1A==} 4075 | dependencies: 4076 | '@peculiar/asn1-schema': 2.3.0 4077 | '@peculiar/json-schema': 1.1.12 4078 | asn1js: 3.0.5 4079 | pvtsutils: 1.3.2 4080 | tslib: 2.4.0 4081 | dev: true 4082 | 4083 | /webidl-conversions/3.0.1: 4084 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 4085 | 4086 | /whatwg-fetch/3.6.2: 4087 | resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==} 4088 | dev: true 4089 | 4090 | /whatwg-url/5.0.0: 4091 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 4092 | dependencies: 4093 | tr46: 0.0.3 4094 | webidl-conversions: 3.0.1 4095 | 4096 | /which-module/2.0.0: 4097 | resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} 4098 | dev: true 4099 | 4100 | /which/2.0.2: 4101 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 4102 | engines: {node: '>= 8'} 4103 | hasBin: true 4104 | dependencies: 4105 | isexe: 2.0.0 4106 | dev: true 4107 | 4108 | /wrangler/2.1.10: 4109 | resolution: {integrity: sha512-hiaTNvkKw8axZljxHOjtDXIVo4GOrDclyxr0cF2aypzAwtrGlaYWD+WP0Z66BqRLpUpbF3BdzrPn1k+xGp0u+Q==} 4110 | engines: {node: '>=16.13.0'} 4111 | hasBin: true 4112 | dependencies: 4113 | '@cloudflare/kv-asset-handler': 0.2.0 4114 | '@esbuild-plugins/node-globals-polyfill': 0.1.1_esbuild@0.14.51 4115 | '@esbuild-plugins/node-modules-polyfill': 0.1.4_esbuild@0.14.51 4116 | '@miniflare/core': 2.9.0 4117 | '@miniflare/d1': 2.9.0 4118 | '@miniflare/durable-objects': 2.9.0 4119 | blake3-wasm: 2.1.5 4120 | chokidar: 3.5.3 4121 | esbuild: 0.14.51 4122 | miniflare: 2.9.0 4123 | nanoid: 3.3.4 4124 | path-to-regexp: 6.2.1 4125 | selfsigned: 2.1.1 4126 | source-map: 0.7.4 4127 | xxhash-wasm: 1.0.1 4128 | optionalDependencies: 4129 | fsevents: 2.3.2 4130 | transitivePeerDependencies: 4131 | - '@miniflare/storage-redis' 4132 | - bufferutil 4133 | - cron-schedule 4134 | - ioredis 4135 | - utf-8-validate 4136 | dev: true 4137 | 4138 | /wrap-ansi/6.2.0: 4139 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 4140 | engines: {node: '>=8'} 4141 | dependencies: 4142 | ansi-styles: 4.3.0 4143 | string-width: 4.2.3 4144 | strip-ansi: 6.0.1 4145 | dev: true 4146 | 4147 | /wrap-ansi/7.0.0: 4148 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 4149 | engines: {node: '>=10'} 4150 | dependencies: 4151 | ansi-styles: 4.3.0 4152 | string-width: 4.2.3 4153 | strip-ansi: 6.0.1 4154 | dev: true 4155 | 4156 | /wrappy/1.0.2: 4157 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 4158 | 4159 | /ws/8.9.0: 4160 | resolution: {integrity: sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==} 4161 | engines: {node: '>=10.0.0'} 4162 | peerDependencies: 4163 | bufferutil: ^4.0.1 4164 | utf-8-validate: ^5.0.2 4165 | peerDependenciesMeta: 4166 | bufferutil: 4167 | optional: true 4168 | utf-8-validate: 4169 | optional: true 4170 | dev: true 4171 | 4172 | /xxhash-wasm/1.0.1: 4173 | resolution: {integrity: sha512-Lc9CTvDrH2vRoiaUzz25q7lRaviMhz90pkx6YxR9EPYtF99yOJnv2cB+CQ0hp/TLoqrUsk8z/W2EN31T568Azw==} 4174 | dev: true 4175 | 4176 | /y18n/4.0.3: 4177 | resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} 4178 | dev: true 4179 | 4180 | /y18n/5.0.8: 4181 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 4182 | engines: {node: '>=10'} 4183 | dev: true 4184 | 4185 | /yallist/4.0.0: 4186 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 4187 | dev: true 4188 | 4189 | /yaml-ast-parser/0.0.43: 4190 | resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} 4191 | dev: true 4192 | 4193 | /yaml/1.10.2: 4194 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 4195 | engines: {node: '>= 6'} 4196 | dev: true 4197 | 4198 | /yargs-parser/18.1.3: 4199 | resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} 4200 | engines: {node: '>=6'} 4201 | dependencies: 4202 | camelcase: 5.3.1 4203 | decamelize: 1.2.0 4204 | dev: true 4205 | 4206 | /yargs-parser/21.1.1: 4207 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 4208 | engines: {node: '>=12'} 4209 | dev: true 4210 | 4211 | /yargs/15.4.1: 4212 | resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} 4213 | engines: {node: '>=8'} 4214 | dependencies: 4215 | cliui: 6.0.0 4216 | decamelize: 1.2.0 4217 | find-up: 4.1.0 4218 | get-caller-file: 2.0.5 4219 | require-directory: 2.1.1 4220 | require-main-filename: 2.0.0 4221 | set-blocking: 2.0.0 4222 | string-width: 4.2.3 4223 | which-module: 2.0.0 4224 | y18n: 4.0.3 4225 | yargs-parser: 18.1.3 4226 | dev: true 4227 | 4228 | /yargs/17.6.0: 4229 | resolution: {integrity: sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==} 4230 | engines: {node: '>=12'} 4231 | dependencies: 4232 | cliui: 8.0.1 4233 | escalade: 3.1.1 4234 | get-caller-file: 2.0.5 4235 | require-directory: 2.1.1 4236 | string-width: 4.2.3 4237 | y18n: 5.0.8 4238 | yargs-parser: 21.1.1 4239 | dev: true 4240 | 4241 | /yn/3.1.1: 4242 | resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} 4243 | engines: {node: '>=6'} 4244 | dev: true 4245 | 4246 | /yocto-queue/0.1.0: 4247 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 4248 | engines: {node: '>=10'} 4249 | dev: true 4250 | 4251 | /youch/2.2.2: 4252 | resolution: {integrity: sha512-/FaCeG3GkuJwaMR34GHVg0l8jCbafZLHiFowSjqLlqhC6OMyf2tPJBu8UirF7/NI9X/R5ai4QfEKUCOxMAGxZQ==} 4253 | dependencies: 4254 | '@types/stack-trace': 0.0.29 4255 | cookie: 0.4.2 4256 | mustache: 4.2.0 4257 | stack-trace: 0.0.10 4258 | dev: true 4259 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "config:base" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { Client } from "@notionhq/client"; 2 | import { Octokit } from "@octokit/core"; 3 | import { NotionToMarkdown } from "notion-to-md"; 4 | import { getSharedNotionPages } from "./notion-helpers"; 5 | import { buildUpdatePlan } from "./plan"; 6 | import { 7 | createDiscussion, 8 | createIssue, 9 | deleteDiscussion, 10 | deleteIssue, 11 | getBotLogin, 12 | getExistingDiscussions, 13 | getExistingIssues, 14 | updateDiscussion, 15 | updateIssue, 16 | } from "./utils"; 17 | 18 | export interface Env { 19 | NOTION_TOKEN: string; 20 | GH_BOT_TOKEN: string; 21 | DRY_RUN?: string; 22 | ENABLE_FETCH?: string; 23 | CUSTOM_HEADER_LINK?: string; 24 | IGNORED_REPOS?: string; 25 | } 26 | 27 | async function run(env: Env) { 28 | const ignoredRepos = (env.IGNORED_REPOS || "") 29 | .split(",") 30 | .map((v) => v.trim()); 31 | const shouldExecute = !env.DRY_RUN; 32 | const botBrand = env.CUSTOM_HEADER_LINK ? `${env.CUSTOM_HEADER_LINK} ` : ""; 33 | const headerNote = `> This page is synced automatically from ${botBrand}Notion`; 34 | const notion = new Client({ 35 | auth: env.NOTION_TOKEN, 36 | notionVersion: "2022-06-28", 37 | }); 38 | const n2m = new NotionToMarkdown({ notionClient: notion }); 39 | const octokit = new Octokit({ auth: env.GH_BOT_TOKEN }); 40 | const login = await getBotLogin(octokit); 41 | console.info(`GitHub user identified as: ${login}`); 42 | const [relevantPages, discussions, issues] = await Promise.all([ 43 | getSharedNotionPages(notion), 44 | getExistingDiscussions(octokit, login, ignoredRepos), 45 | getExistingIssues(octokit, login, ignoredRepos), 46 | ]); 47 | console.info("Found existing issues:", issues); 48 | console.info("Found existing discussions:", discussions); 49 | console.info("Found shared Notion pages:", relevantPages); 50 | const { discussions: discussionsPlan, issues: issuesPlan } = 51 | await buildUpdatePlan( 52 | octokit, 53 | n2m, 54 | relevantPages, 55 | discussions, 56 | issues, 57 | headerNote 58 | ); 59 | 60 | console.info(`Built GitHub Discussion sync plan:`, discussionsPlan); 61 | console.info(`Built GitHub Issues sync plan:`, issuesPlan); 62 | 63 | await Promise.all([ 64 | ...discussionsPlan.delete.map(async (item) => { 65 | console.info( 66 | `Deleting discussion with id ${item.discussion.id}: "${item.discussion.title}"` 67 | ); 68 | shouldExecute && (await deleteDiscussion(octokit, item)); 69 | }), 70 | ...discussionsPlan.update.map(async (item) => { 71 | console.info( 72 | `Updating discussion with id ${item.discussion.id}: "${item.title}"` 73 | ); 74 | shouldExecute && (await updateDiscussion(octokit, item)); 75 | }), 76 | ...discussionsPlan.create.map(async (item) => { 77 | console.info(`Creating discussion: "${item.title}"`); 78 | shouldExecute && (await createDiscussion(octokit, item)); 79 | }), 80 | ...issuesPlan.delete.map(async (item) => { 81 | console.info( 82 | `Deleting issue with id ${item.issue.id}: "${item.issue.title}"` 83 | ); 84 | shouldExecute && (await deleteIssue(octokit, item)); 85 | }), 86 | ...issuesPlan.update.map(async (item) => { 87 | console.info(`Updating issue with id ${item.issue.id}: "${item.title}"`); 88 | shouldExecute && (await updateIssue(octokit, item)); 89 | }), 90 | ...issuesPlan.create.map(async (item) => { 91 | console.info(`Creating issue: "${item.title}"`); 92 | shouldExecute && (await createIssue(octokit, item)); 93 | }), 94 | ]); 95 | 96 | return { 97 | discussionsPlan, 98 | issuesPlan, 99 | }; 100 | } 101 | 102 | export default { 103 | async fetch( 104 | request: Request, 105 | env: Env, 106 | ctx: ExecutionContext 107 | ): Promise { 108 | if (!env.ENABLE_FETCH) { 109 | return new Response( 110 | JSON.stringify({ 111 | error: `Manual execution for this bot is not enabled. If you with to enable it, please set ENABLE_FETCH=1`, 112 | }), 113 | { status: 400 } 114 | ); 115 | } 116 | 117 | try { 118 | const plan = await run(env); 119 | console.info(`Sync result:`, plan); 120 | return new Response(JSON.stringify({ plan }), { status: 200 }); 121 | } catch (e) { 122 | console.error(`Failed to run worker:`, e); 123 | return new Response( 124 | JSON.stringify({ 125 | error: (e as Error).message, 126 | }), 127 | { 128 | status: 500, 129 | } 130 | ); 131 | } 132 | }, 133 | async scheduled( 134 | controller: ScheduledController, 135 | env: Env, 136 | ctx: ExecutionContext 137 | ): Promise { 138 | const result = await run(env); 139 | console.info(`Scheduled sync result: `, result); 140 | }, 141 | }; 142 | -------------------------------------------------------------------------------- /src/notion-helpers.ts: -------------------------------------------------------------------------------- 1 | import { Client, isFullPage } from "@notionhq/client"; 2 | import { Page } from "./utils"; 3 | 4 | export function composeLink(page: Page): string { 5 | if ((page as any).url) { 6 | return `> Notion page URL: ${(page as any).url}`; 7 | } 8 | 9 | return ""; 10 | } 11 | 12 | export function composeSignature(pageId: string): string { 13 | return ``; 14 | } 15 | 16 | export function extractPageTitle(page: Page): string | null { 17 | const pageTitleProps = 18 | (page as any).properties?.title || (page as any).properties?.Title; 19 | 20 | if (!pageTitleProps) { 21 | return null; 22 | } 23 | 24 | try { 25 | const titleRecord = pageTitleProps.title?.[0]; 26 | if (!titleRecord) { 27 | return null; 28 | } 29 | 30 | return titleRecord.plain_text || null; 31 | } catch (e) { 32 | console.error("failed on pageTitleProps", page); 33 | 34 | return null; 35 | } 36 | } 37 | 38 | export async function getSharedNotionPages(notion: Client) { 39 | const relevantPages = await notion.search({ 40 | page_size: 100, 41 | filter: { 42 | property: "object", 43 | value: "page", 44 | }, 45 | sort: { 46 | direction: "descending", 47 | timestamp: "last_edited_time", 48 | }, 49 | }); 50 | 51 | return relevantPages.results; 52 | } 53 | 54 | export function shouldHandlePage(page: any): boolean { 55 | if (isFullPage(page)) { 56 | if (page.archived) { 57 | return false; 58 | } 59 | 60 | // These are usually created by Notion when you create a DB inside Page. 61 | // In most cases, these pages are empty and causes the bot to overfetch, until it gets rate limited. 62 | const isMultiSelect = page.properties?.Type?.type === "multi_select"; 63 | 64 | if (isMultiSelect) { 65 | return false; 66 | } 67 | 68 | return true; 69 | } 70 | 71 | return false; 72 | } 73 | -------------------------------------------------------------------------------- /src/plan.ts: -------------------------------------------------------------------------------- 1 | import { Octokit } from "@octokit/core"; 2 | import { NotionToMarkdown } from "notion-to-md"; 3 | import { MdBlock } from "notion-to-md/build/types"; 4 | import { 5 | composeLink, 6 | composeSignature, 7 | extractPageTitle, 8 | shouldHandlePage, 9 | } from "./notion-helpers"; 10 | import { 11 | Discussion, 12 | DiscussionCreateRecord, 13 | DiscussionDeleteRecord, 14 | DiscussionUpdateRecord, 15 | getRepoInfo, 16 | Issue, 17 | IssueCreateRecord, 18 | IssueDeleteRecord, 19 | IssueUpdateRecord, 20 | Page, 21 | } from "./utils"; 22 | 23 | export function distinguishPage( 24 | detectionBlock: MdBlock 25 | ): 26 | | { type: "issue"; repo: string } 27 | | { type: "discussion"; repo: string; categoryName: string } 28 | | null { 29 | if (!detectionBlock) { 30 | return null; 31 | } 32 | 33 | const content = detectionBlock.parent.trim().split(" "); 34 | 35 | if (content.length === 0) { 36 | return null; 37 | } 38 | 39 | const [declaration, repo, type, maybeCategory] = content; 40 | 41 | if (declaration !== "/github-public") { 42 | return null; 43 | } 44 | 45 | if (type === "issue") { 46 | return { 47 | type: "issue", 48 | repo, 49 | }; 50 | } else if (type === "discussion") { 51 | return { 52 | type: "discussion", 53 | repo, 54 | categoryName: maybeCategory || "General", 55 | }; 56 | } else { 57 | // this is legacy, just to support empty as discussion 58 | return { 59 | type: "discussion", 60 | repo, 61 | categoryName: type || "General", 62 | }; 63 | } 64 | 65 | return null; 66 | } 67 | 68 | export async function buildUpdatePlan( 69 | octokit: Octokit, 70 | n2m: NotionToMarkdown, 71 | pages: Page[], 72 | discussions: Discussion[], 73 | issues: Issue[], 74 | headerNote: string 75 | ): Promise<{ 76 | issues: { 77 | create: Array; 78 | update: Array; 79 | delete: Array; 80 | }; 81 | discussions: { 82 | create: Array; 83 | update: Array; 84 | delete: Array; 85 | }; 86 | }> { 87 | const outputIssues: { 88 | create: Array; 89 | update: Array; 90 | delete: Array; 91 | } = { 92 | create: [], 93 | update: [], 94 | delete: [], 95 | }; 96 | const outputDiscussions: { 97 | create: Array; 98 | update: Array; 99 | delete: Array; 100 | } = { 101 | create: [], 102 | update: [], 103 | delete: [], 104 | }; 105 | 106 | await Promise.all( 107 | pages.map(async (page) => { 108 | const pageTitle = extractPageTitle(page); 109 | 110 | if (!pageTitle) { 111 | console.warn(`Notion object with id ${page.id} has no title, skipping`); 112 | 113 | return; 114 | } 115 | 116 | const shouldHandle = shouldHandlePage(page); 117 | 118 | if (!shouldHandle) { 119 | console.warn( 120 | `Notion object with title ${pageTitle} is not a syncable page, skipping` 121 | ); 122 | 123 | return; 124 | } 125 | 126 | const mdBlocks = await n2m.pageToMarkdown(page.id, 2); 127 | const pageAttributes = distinguishPage(mdBlocks[0]); 128 | const notionPageSignature = composeSignature(page.id); 129 | const existingDiscussion = discussions.find((v) => 130 | v.body.startsWith(notionPageSignature) 131 | ); 132 | const existingIssue = issues.find((v) => 133 | v.body.startsWith(notionPageSignature) 134 | ); 135 | 136 | if (pageAttributes === null) { 137 | console.warn(`Notion page with title "${pageTitle}" has no attributes`); 138 | 139 | if (existingDiscussion) { 140 | outputDiscussions.delete.push({ 141 | repoId: existingDiscussion.repository.id, 142 | discussion: existingDiscussion, 143 | }); 144 | } 145 | 146 | if (existingIssue) { 147 | outputIssues.delete.push({ 148 | repoId: existingIssue.repository.id, 149 | issue: existingIssue, 150 | }); 151 | } 152 | } else if (pageAttributes.type === "discussion") { 153 | const [owner, name] = pageAttributes.repo.split("/"); 154 | const repoInfo = await getRepoInfo(octokit, name, owner); 155 | const category = (repoInfo.discussionCategories || []).find( 156 | (d: any) => 157 | d.name.toLowerCase() === pageAttributes.categoryName.toLowerCase() 158 | ); 159 | 160 | if (!category) { 161 | throw new Error( 162 | `Category ${pageAttributes.categoryName} not found in repo ${pageAttributes.repo}` 163 | ); 164 | } 165 | 166 | if (existingDiscussion) { 167 | outputDiscussions.update.push({ 168 | page, 169 | body: `${notionPageSignature}\n${headerNote}\n${composeLink( 170 | page 171 | )}\n${n2m.toMarkdownString(mdBlocks.slice(1))}`, 172 | title: pageTitle, 173 | repoId: existingDiscussion.repository.id, 174 | discussion: existingDiscussion, 175 | categoryId: category.id, 176 | }); 177 | } else { 178 | outputDiscussions.create.push({ 179 | page, 180 | body: `${notionPageSignature}\n${headerNote}\n${composeLink( 181 | page 182 | )}\n${n2m.toMarkdownString(mdBlocks.slice(1))}`, 183 | title: pageTitle, 184 | categoryId: category.id, 185 | repoId: repoInfo.id, 186 | }); 187 | } 188 | } else if (pageAttributes.type === "issue") { 189 | if (existingIssue) { 190 | outputIssues.update.push({ 191 | page, 192 | body: `${notionPageSignature}\n${headerNote}\n${composeLink( 193 | page 194 | )}\n${n2m.toMarkdownString(mdBlocks.slice(1))}`, 195 | title: pageTitle, 196 | repoId: existingIssue.repository.id, 197 | issue: existingIssue, 198 | }); 199 | } else { 200 | const [owner, name] = pageAttributes.repo.split("/"); 201 | const repoInfo = await getRepoInfo(octokit, name, owner); 202 | 203 | outputIssues.create.push({ 204 | page, 205 | body: `${notionPageSignature}\n${headerNote}\n${composeLink( 206 | page 207 | )}\n${n2m.toMarkdownString(mdBlocks.slice(1))}`, 208 | title: pageTitle, 209 | repoId: repoInfo.id, 210 | }); 211 | } 212 | } 213 | }) 214 | ); 215 | 216 | return { 217 | issues: outputIssues, 218 | discussions: outputDiscussions, 219 | }; 220 | } 221 | -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | import { 2 | CreateDiscussionMutation, 3 | CreateIssueMutation, 4 | CurrentUserQuery, 5 | DeleteDiscussionMutation, 6 | DeleteIssueMutation, 7 | MyDiscussionsQuery, 8 | MyIssuesQuery, 9 | RepositoryQuery, 10 | UpdateDiscussionMutation, 11 | UpdateIssueMutation, 12 | } from "./types"; 13 | import { Octokit } from "@octokit/core"; 14 | import { Client } from "@notionhq/client"; 15 | 16 | export type Page = Awaited>["results"][number]; 17 | export type DiscussionsSearchResult = NonNullable< 18 | MyDiscussionsQuery["search"]["nodes"] 19 | >[number]; 20 | export type Discussion = Extract< 21 | DiscussionsSearchResult, 22 | { __typename: "Discussion" } 23 | >; 24 | 25 | export type IssuesSearchResult = NonNullable< 26 | MyIssuesQuery["search"]["nodes"] 27 | >[number]; 28 | export type Issue = Extract; 29 | 30 | function isDiscussion(obj: DiscussionsSearchResult): obj is Discussion { 31 | return obj?.__typename === "Discussion"; 32 | } 33 | 34 | export async function getExistingDiscussions( 35 | octokit: Octokit, 36 | login: string, 37 | ignoredRepos: string[] = [] 38 | ) { 39 | const discussionsByBot = await octokit.graphql( 40 | /* GraphQL */ ` 41 | query myDiscussions($q: String!) { 42 | search(type: DISCUSSION, query: $q, first: 100) { 43 | nodes { 44 | __typename 45 | ... on Discussion { 46 | title 47 | body 48 | repository { 49 | id 50 | owner { 51 | login 52 | } 53 | name 54 | } 55 | author { 56 | login 57 | } 58 | id 59 | } 60 | } 61 | } 62 | } 63 | `, 64 | { 65 | q: `author:${login} ${ignoredRepos.map((v) => `-repo:${v}`).join(" ")}`, 66 | } 67 | ); 68 | 69 | return (discussionsByBot.search.nodes || []).filter(isDiscussion); 70 | } 71 | 72 | function isIssue(obj: IssuesSearchResult): obj is Issue { 73 | return obj?.__typename === "Issue"; 74 | } 75 | 76 | export async function getExistingIssues( 77 | octokit: Octokit, 78 | login: string, 79 | ignoredRepos: string[] 80 | ) { 81 | const issuesByBot = await octokit.graphql( 82 | /* GraphQL */ ` 83 | query myIssues($q: String!) { 84 | search(type: ISSUE, query: $q, first: 100) { 85 | nodes { 86 | __typename 87 | ... on Issue { 88 | title 89 | body 90 | repository { 91 | id 92 | owner { 93 | login 94 | } 95 | name 96 | } 97 | author { 98 | login 99 | } 100 | id 101 | } 102 | } 103 | } 104 | } 105 | `, 106 | { 107 | q: `author:${login} ${ignoredRepos.map((v) => `-repo:${v}`).join(" ")}`, 108 | } 109 | ); 110 | 111 | return (issuesByBot.search.nodes || []).filter(isIssue); 112 | } 113 | 114 | export type IssueCreateRecord = { 115 | page: Page; 116 | repoId: string; 117 | title: string; 118 | body: string; 119 | }; 120 | 121 | export type IssueUpdateRecord = { 122 | page: Page; 123 | issue: Issue; 124 | repoId: string; 125 | title: string; 126 | body: string; 127 | }; 128 | 129 | export type IssueDeleteRecord = { 130 | issue: Issue; 131 | repoId: string; 132 | }; 133 | 134 | export type DiscussionCreateRecord = { 135 | page: Page; 136 | repoId: string; 137 | categoryId: string; 138 | title: string; 139 | body: string; 140 | }; 141 | 142 | export type DiscussionUpdateRecord = { 143 | page: Page; 144 | discussion: Discussion; 145 | categoryId: string; 146 | repoId: string; 147 | title: string; 148 | body: string; 149 | }; 150 | 151 | export type DiscussionDeleteRecord = { 152 | discussion: Discussion; 153 | repoId: string; 154 | }; 155 | 156 | const repoInfoCache = new Map< 157 | string, 158 | Awaited> 159 | >(); 160 | 161 | export async function getRepoInfo( 162 | octokit: Octokit, 163 | name: string, 164 | owner: string 165 | ): Promise<{ 166 | id: string; 167 | discussionCategories: ({ 168 | __typename?: "DiscussionCategory" | undefined; 169 | id: string; 170 | name: string; 171 | } | null)[]; 172 | }> { 173 | const key = `${owner}/${name}`; 174 | 175 | if (repoInfoCache.has(key)) { 176 | return repoInfoCache.get(key)!; 177 | } 178 | 179 | const { repository } = await octokit.graphql( 180 | /* GraphQL */ ` 181 | query repository($name: String!, $owner: String!) { 182 | repository(name: $name, owner: $owner, followRenames: true) { 183 | id 184 | discussionCategories(first: 50) { 185 | nodes { 186 | id 187 | name 188 | } 189 | } 190 | } 191 | } 192 | `, 193 | { 194 | name, 195 | owner, 196 | } 197 | ); 198 | 199 | const result = { 200 | id: repository!.id, 201 | discussionCategories: repository?.discussionCategories.nodes || [], 202 | }; 203 | 204 | repoInfoCache.set(key, result); 205 | 206 | return result; 207 | } 208 | 209 | export async function createDiscussion( 210 | octokit: Octokit, 211 | record: DiscussionCreateRecord 212 | ) { 213 | await octokit.graphql( 214 | /* GraphQL */ ` 215 | mutation createDiscussion( 216 | $repoId: ID! 217 | $title: String! 218 | $body: String! 219 | $categoryId: ID! 220 | ) { 221 | createDiscussion( 222 | input: { 223 | repositoryId: $repoId 224 | title: $title 225 | body: $body 226 | categoryId: $categoryId 227 | } 228 | ) { 229 | clientMutationId 230 | discussion { 231 | id 232 | title 233 | url 234 | } 235 | } 236 | } 237 | `, 238 | { 239 | repoId: record.repoId, 240 | categoryId: record.categoryId, 241 | title: record.title, 242 | body: record.body, 243 | } 244 | ); 245 | } 246 | 247 | export async function createIssue(octokit: Octokit, record: IssueCreateRecord) { 248 | await octokit.graphql( 249 | /* GraphQL */ ` 250 | mutation createIssue($repoId: ID!, $title: String!, $body: String!) { 251 | createIssue( 252 | input: { repositoryId: $repoId, title: $title, body: $body } 253 | ) { 254 | clientMutationId 255 | issue { 256 | id 257 | title 258 | url 259 | } 260 | } 261 | } 262 | `, 263 | { 264 | repoId: record.repoId, 265 | title: record.title, 266 | body: record.body, 267 | } 268 | ); 269 | } 270 | 271 | export async function deleteDiscussion( 272 | octokit: Octokit, 273 | record: DiscussionDeleteRecord 274 | ) { 275 | await octokit.graphql( 276 | /* GraphQL */ ` 277 | mutation deleteDiscussion($id: ID!) { 278 | deleteDiscussion(input: { id: $id }) { 279 | __typename 280 | } 281 | } 282 | `, 283 | { 284 | id: record.discussion.id, 285 | } 286 | ); 287 | } 288 | 289 | export async function deleteIssue(octokit: Octokit, record: IssueDeleteRecord) { 290 | await octokit.graphql( 291 | /* GraphQL */ ` 292 | mutation deleteIssue($id: ID!) { 293 | deleteIssue(input: { issueId: $id }) { 294 | __typename 295 | } 296 | } 297 | `, 298 | { 299 | id: record.issue.id, 300 | } 301 | ); 302 | } 303 | 304 | export async function updateDiscussion( 305 | octokit: Octokit, 306 | record: DiscussionUpdateRecord 307 | ) { 308 | await octokit.graphql( 309 | /* GraphQL */ ` 310 | mutation updateDiscussion( 311 | $id: ID! 312 | $title: String! 313 | $body: String! 314 | $categoryId: ID! 315 | ) { 316 | updateDiscussion( 317 | input: { 318 | discussionId: $id 319 | title: $title 320 | body: $body 321 | categoryId: $categoryId 322 | } 323 | ) { 324 | __typename 325 | } 326 | } 327 | `, 328 | { 329 | id: record.discussion.id, 330 | categoryId: record.categoryId, 331 | title: record.title, 332 | body: record.body, 333 | } 334 | ); 335 | } 336 | 337 | export async function updateIssue(octokit: Octokit, record: IssueUpdateRecord) { 338 | await octokit.graphql( 339 | /* GraphQL */ ` 340 | mutation updateIssue($id: ID!, $title: String!, $body: String!) { 341 | updateIssue(input: { id: $id, title: $title, body: $body }) { 342 | __typename 343 | } 344 | } 345 | `, 346 | { 347 | id: record.issue.id, 348 | title: record.title, 349 | body: record.body, 350 | } 351 | ); 352 | } 353 | 354 | export async function getBotLogin(octokit: Octokit) { 355 | const { 356 | viewer: { login }, 357 | } = await octokit.graphql(/* GraphQL */ ` 358 | query currentUser { 359 | viewer { 360 | login 361 | } 362 | } 363 | `); 364 | 365 | return login; 366 | } 367 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Enable incremental compilation */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "es2021" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, 15 | "lib": [ 16 | "es2021" 17 | ] /* Specify a set of bundled library declaration files that describe the target runtime environment. */, 18 | // "jsx": "preserve", /* Specify what JSX code is generated. */ 19 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ 20 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 21 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ 22 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 23 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ 24 | // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ 25 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 26 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 27 | 28 | /* Modules */ 29 | "module": "es2022" /* Specify what module code is generated. */, 30 | // "rootDir": "./", /* Specify the root folder within your source files. */ 31 | "moduleResolution": "node" /* Specify how TypeScript looks up a file from a given module specifier. */, 32 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 33 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 34 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 35 | // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ 36 | "types": [ 37 | "@cloudflare/workers-types" 38 | ] /* Specify type package names to be included without being referenced in a source file. */, 39 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 40 | "resolveJsonModule": true /* Enable importing .json files */, 41 | // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ 42 | 43 | /* JavaScript Support */ 44 | "allowJs": true /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */, 45 | "checkJs": true /* Enable error reporting in type-checked JavaScript files. */, 46 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ 47 | 48 | /* Emit */ 49 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 50 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 51 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 52 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 53 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ 54 | // "outDir": "./", /* Specify an output folder for all emitted files. */ 55 | // "removeComments": true, /* Disable emitting comments. */ 56 | "noEmit": true /* Disable emitting files from a compilation. */, 57 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 58 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ 59 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 60 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 61 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 62 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 63 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 64 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 65 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 66 | // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ 67 | // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ 68 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 69 | // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ 70 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 71 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 72 | 73 | /* Interop Constraints */ 74 | "isolatedModules": true /* Ensure that each file can be safely transpiled without relying on other imports. */, 75 | "allowSyntheticDefaultImports": true /* Allow 'import x from y' when a module doesn't have a default export. */, 76 | // "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */, 77 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 78 | "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, 79 | 80 | /* Type Checking */ 81 | "strict": true /* Enable all strict type-checking options. */, 82 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ 83 | // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ 84 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 85 | // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ 86 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 87 | // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ 88 | // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ 89 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 90 | // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ 91 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ 92 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 93 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 94 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 95 | // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ 96 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 97 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ 98 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 99 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 100 | 101 | /* Completeness */ 102 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 103 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /wrangler.toml: -------------------------------------------------------------------------------- 1 | name = "guild-sync" 2 | main = "src/index.ts" 3 | compatibility_date = "2022-06-23" 4 | 5 | [triggers] 6 | crons = ["*/5 * * * *"] # every 5 minutes 7 | 8 | [vars] 9 | CUSTOM_HEADER_LINK = "[The Guild's](https://the-guild.dev)" 10 | ENABLE_FETCH = "1" 11 | IGNORED_REPOS = "the-guild-org/crisp-chats" --------------------------------------------------------------------------------