├── .eslintrc.cjs ├── .github └── workflows │ └── release.yml ├── .gitignore ├── .releaserc.json ├── LICENSE ├── README.md ├── assets └── supabase-to-zod-logo.jpg ├── docs └── CHANGELOG.md ├── example ├── schema.ts └── types.ts ├── package.json ├── pnpm-lock.yaml ├── prettier.config.cjs ├── renovate.json ├── src ├── cli.ts ├── index.ts ├── lib │ ├── .gitignore │ ├── get-import-path.ts │ ├── get-node-name.ts │ ├── index.ts │ └── transform-types.ts └── supabase-to-zod.ts ├── supabase ├── .gitignore ├── config.toml ├── migrations │ └── 20221218132051_init.sql └── seed.sql ├── tsconfig.json └── tsup.config.js /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['universe/node'], 3 | }; 4 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | on: 3 | push: 4 | branches: 5 | - main 6 | jobs: 7 | release: 8 | name: Release 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v3 12 | 13 | - uses: pnpm/action-setup@v2.2.2 14 | with: 15 | version: 8.x.x 16 | 17 | - name: Set up Node 18 | uses: actions/setup-node@v3 19 | with: 20 | node-version: 20 21 | cache: pnpm 22 | 23 | - name: Install Dependencies 24 | run: pnpm install --frozen-lockfile 25 | 26 | - name: Build Packages 27 | run: pnpm run build 28 | 29 | - name: Release 30 | env: 31 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 32 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 33 | run: pnpm run semantic-release 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | 85 | # Gatsby files 86 | .cache/ 87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 88 | # https://nextjs.org/blog/next-9-1#public-directory-support 89 | # public 90 | 91 | # vuepress build output 92 | .vuepress/dist 93 | 94 | # Serverless directories 95 | .serverless/ 96 | 97 | # FuseBox cache 98 | .fusebox/ 99 | 100 | # DynamoDB Local files 101 | .dynamodb/ 102 | 103 | # TernJS port file 104 | .tern-port 105 | -------------------------------------------------------------------------------- /.releaserc.json: -------------------------------------------------------------------------------- 1 | { 2 | "branches": ["main"], 3 | "plugins": [ 4 | "@semantic-release/commit-analyzer", 5 | "@semantic-release/release-notes-generator", 6 | [ 7 | "@semantic-release/changelog", 8 | { 9 | "changelogFile": "docs/CHANGELOG.md" 10 | } 11 | ], 12 | "@semantic-release/npm", 13 | [ 14 | "@semantic-release/git", 15 | { 16 | "assets": ["docs/CHANGELOG.md", "package.json"] 17 | } 18 | ] 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Philipp Steinrötter 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 | 3 |

supabase-to-zod

4 |
5 | 6 | Generate [Zod](https://github.com/colinhacks/zod) schemas (v3) from Typescript types generated by the Supabase CLI. 7 | 8 | [![Version](https://img.shields.io/npm/v/supabase-to-zod.svg)](https://npmjs.org/package/supabase-to-zod) 9 | [![License](https://img.shields.io/npm/l/supabase-to-zod.svg)](https://github.com/psteinroe/supabase-to-zod/blob/main/LICENSE) 10 | 11 | > [!NOTE] 12 | > @dohoo forked this project and created SupaZod. It's a significant improvement, and I recommend trying it out instead: https://github.com/dohooo/supazod 13 | 14 | 15 | ## Usage 16 | 17 | ```sh 18 | $ pnpm add --D supabase-to-zod 19 | $ supabase gen types typescript --local > types.ts 20 | $ pnpm supabase-to-zod --input types.ts --output schemas.ts 21 | ``` 22 | 23 | That's it, go to `schemas.ts` file, you should have a schema for all tables, views, enums and functions. 24 | 25 | ## Authors Note 26 | This project was created in a few hours during the Launchweek VI hackathon and the approach is **very** hacky: It transforms the nested `Database` type generated by the Supabase CLI into flat types, and passes them through `ts-to-zod` to generate zod schemas. A proper solution would be using the pg-meta API to generate zod schemas directly from the source of truth, similar to how the Typescript types are generated. 27 | -------------------------------------------------------------------------------- /assets/supabase-to-zod-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/psteinroe/supabase-to-zod/616026a178f24f5c4ade42157fe0602a311a5cf1/assets/supabase-to-zod-logo.jpg -------------------------------------------------------------------------------- /docs/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## [1.0.7](https://github.com/psteinroe/supabase-to-zod/compare/v1.0.6...v1.0.7) (2024-06-26) 2 | 3 | 4 | ### Bug Fixes 5 | 6 | * use correct child in single-member enum mode ([b5d4ca1](https://github.com/psteinroe/supabase-to-zod/commit/b5d4ca1e29b0c84137cdec7df3e152512f609915)) 7 | 8 | ## [1.0.6](https://github.com/psteinroe/supabase-to-zod/compare/v1.0.5...v1.0.6) (2024-06-26) 9 | 10 | 11 | ### Bug Fixes 12 | 13 | * trigger a release ([6fae2d5](https://github.com/psteinroe/supabase-to-zod/commit/6fae2d5b35d66589248993c73d89a0affc80310f)) 14 | 15 | ## [1.0.5](https://github.com/psteinroe/supabase-to-zod/compare/v1.0.4...v1.0.5) (2024-02-15) 16 | 17 | 18 | ### Bug Fixes 19 | 20 | * supa-db-type-declaration ([b5c627c](https://github.com/psteinroe/supabase-to-zod/commit/b5c627c507048255ae04a5b82d582103c7f17d26)) 21 | 22 | ## [1.0.4](https://github.com/psteinroe/supabase-to-zod/compare/v1.0.3...v1.0.4) (2023-01-03) 23 | 24 | 25 | ### Bug Fixes 26 | 27 | * only exclude record number ([51dd431](https://github.com/psteinroe/supabase-to-zod/commit/51dd4315ba3eb50d5b8d69bba7b15bb5f037e800)) 28 | 29 | ## [1.0.3](https://github.com/psteinroe/supabase-to-zod/compare/v1.0.2...v1.0.3) (2022-12-18) 30 | 31 | 32 | ### Bug Fixes 33 | 34 | * release ([a80960d](https://github.com/psteinroe/supabase-to-zod/commit/a80960dc9d96201252cb6e8cc5a4c35d6dbee4f3)) 35 | -------------------------------------------------------------------------------- /example/schema.ts: -------------------------------------------------------------------------------- 1 | // Generated by ts-to-zod 2 | import { z } from 'zod'; 3 | import { Json } from './types'; 4 | 5 | export const jsonSchema: z.ZodSchema = z.lazy(() => 6 | z 7 | .union([ 8 | z.string(), 9 | z.number(), 10 | z.boolean(), 11 | z.record(jsonSchema), 12 | z.array(jsonSchema), 13 | ]) 14 | .nullable() 15 | ); 16 | 17 | export const channelsRowSchema = z.object({ 18 | id: z.number(), 19 | data: jsonSchema.nullable(), 20 | slug: z.string().nullable(), 21 | }); 22 | 23 | export const channelsInsertSchema = z.object({ 24 | id: z.number().optional(), 25 | data: jsonSchema.optional().nullable(), 26 | slug: z.string().optional().nullable(), 27 | }); 28 | 29 | export const channelsUpdateSchema = z.object({ 30 | id: z.number().optional(), 31 | data: jsonSchema.optional().nullable(), 32 | slug: z.string().optional().nullable(), 33 | }); 34 | 35 | export const messagesRowSchema = z.object({ 36 | id: z.number(), 37 | data: jsonSchema.nullable(), 38 | message: z.string().nullable(), 39 | username: z.string(), 40 | channel_id: z.number(), 41 | }); 42 | 43 | export const messagesInsertSchema = z.object({ 44 | id: z.number().optional(), 45 | data: jsonSchema.optional().nullable(), 46 | message: z.string().optional().nullable(), 47 | username: z.string(), 48 | channel_id: z.number(), 49 | }); 50 | 51 | export const messagesUpdateSchema = z.object({ 52 | id: z.number().optional(), 53 | data: jsonSchema.optional().nullable(), 54 | message: z.string().optional().nullable(), 55 | username: z.string().optional(), 56 | channel_id: z.number().optional(), 57 | }); 58 | 59 | export const shopsRowSchema = z.object({ 60 | id: z.number(), 61 | address: z.string().nullable(), 62 | shop_geom: z.unknown().nullable(), 63 | }); 64 | 65 | export const shopsInsertSchema = z.object({ 66 | id: z.number(), 67 | address: z.string().optional().nullable(), 68 | shop_geom: z.unknown().optional().nullable(), 69 | }); 70 | 71 | export const shopsUpdateSchema = z.object({ 72 | id: z.number().optional(), 73 | address: z.string().optional().nullable(), 74 | shop_geom: z.unknown().optional().nullable(), 75 | }); 76 | 77 | export const nonUpdatableViewRowSchema = z.object({ 78 | username: z.string().nullable(), 79 | }); 80 | 81 | export const updatableViewRowSchema = z.object({ 82 | username: z.string().nullable(), 83 | non_updatable_column: z.number().nullable(), 84 | }); 85 | 86 | export const updatableViewInsertSchema = z.object({ 87 | username: z.string().optional().nullable(), 88 | non_updatable_column: z.never().optional(), 89 | }); 90 | 91 | export const updatableViewUpdateSchema = z.object({ 92 | username: z.string().optional().nullable(), 93 | non_updatable_column: z.never().optional(), 94 | }); 95 | 96 | export const userStatusSchema = z.union([ 97 | z.literal('ONLINE'), 98 | z.literal('OFFLINE'), 99 | ]); 100 | 101 | export const usersRowSchema = z.object({ 102 | username: z.string(), 103 | data: jsonSchema.nullable(), 104 | age_range: z.unknown().nullable(), 105 | catchphrase: z.unknown().nullable(), 106 | status: userStatusSchema.nullable(), 107 | }); 108 | 109 | export const usersInsertSchema = z.object({ 110 | username: z.string(), 111 | data: jsonSchema.optional().nullable(), 112 | age_range: z.unknown().optional().nullable(), 113 | catchphrase: z.unknown().optional().nullable(), 114 | status: userStatusSchema.optional().nullable(), 115 | }); 116 | 117 | export const usersUpdateSchema = z.object({ 118 | username: z.string().optional(), 119 | data: jsonSchema.optional().nullable(), 120 | age_range: z.unknown().optional().nullable(), 121 | catchphrase: z.unknown().optional().nullable(), 122 | status: userStatusSchema.optional().nullable(), 123 | }); 124 | -------------------------------------------------------------------------------- /example/types.ts: -------------------------------------------------------------------------------- 1 | export type Json = 2 | | string 3 | | number 4 | | boolean 5 | | null 6 | | { [key: string]: Json } 7 | | Json[] 8 | 9 | export interface Database { 10 | public: { 11 | Tables: { 12 | channels: { 13 | Row: { 14 | id: number 15 | data: Json | null 16 | slug: string | null 17 | } 18 | Insert: { 19 | id?: number 20 | data?: Json | null 21 | slug?: string | null 22 | } 23 | Update: { 24 | id?: number 25 | data?: Json | null 26 | slug?: string | null 27 | } 28 | } 29 | messages: { 30 | Row: { 31 | id: number 32 | data: Json | null 33 | message: string | null 34 | username: string 35 | channel_id: number 36 | } 37 | Insert: { 38 | id?: number 39 | data?: Json | null 40 | message?: string | null 41 | username: string 42 | channel_id: number 43 | } 44 | Update: { 45 | id?: number 46 | data?: Json | null 47 | message?: string | null 48 | username?: string 49 | channel_id?: number 50 | } 51 | } 52 | shops: { 53 | Row: { 54 | id: number 55 | address: string | null 56 | shop_geom: unknown | null 57 | } 58 | Insert: { 59 | id: number 60 | address?: string | null 61 | shop_geom?: unknown | null 62 | } 63 | Update: { 64 | id?: number 65 | address?: string | null 66 | shop_geom?: unknown | null 67 | } 68 | } 69 | users: { 70 | Row: { 71 | username: string 72 | data: Json | null 73 | age_range: unknown | null 74 | catchphrase: unknown | null 75 | status: Database["public"]["Enums"]["user_status"] | null 76 | } 77 | Insert: { 78 | username: string 79 | data?: Json | null 80 | age_range?: unknown | null 81 | catchphrase?: unknown | null 82 | status?: Database["public"]["Enums"]["user_status"] | null 83 | } 84 | Update: { 85 | username?: string 86 | data?: Json | null 87 | age_range?: unknown | null 88 | catchphrase?: unknown | null 89 | status?: Database["public"]["Enums"]["user_status"] | null 90 | } 91 | } 92 | } 93 | Views: { 94 | non_updatable_view: { 95 | Row: { 96 | username: string | null 97 | } 98 | } 99 | updatable_view: { 100 | Row: { 101 | username: string | null 102 | non_updatable_column: number | null 103 | } 104 | Insert: { 105 | username?: string | null 106 | non_updatable_column?: never 107 | } 108 | Update: { 109 | username?: string | null 110 | non_updatable_column?: never 111 | } 112 | } 113 | } 114 | Functions: { 115 | get_status: { 116 | Args: { name_param: string } 117 | Returns: Database["public"]["Enums"]["user_status"] 118 | } 119 | get_username_and_status: { 120 | Args: { name_param: string } 121 | Returns: { 122 | username: string 123 | status: Database["public"]["Enums"]["user_status"] 124 | }[] 125 | } 126 | offline_user: { 127 | Args: { name_param: string } 128 | Returns: Database["public"]["Enums"]["user_status"] 129 | } 130 | void_func: { 131 | Args: Record 132 | Returns: undefined 133 | } 134 | } 135 | Enums: { 136 | user_status: "ONLINE" | "OFFLINE" 137 | } 138 | } 139 | } 140 | 141 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "supabase-to-zod", 3 | "description": "Generate Zod schemas (v3) from Typescript types generated by the Supabase CLI.", 4 | "version": "1.0.7", 5 | "license": "MIT", 6 | "type": "module", 7 | "main": "./dist/index.js", 8 | "source": "./src/index.ts", 9 | "types": "./dist/index.d.ts", 10 | "files": [ 11 | "dist/**" 12 | ], 13 | "bin": { 14 | "supabase-to-zod": "./dist/cli.js" 15 | }, 16 | "scripts": { 17 | "temp": "node --loader=ts-node/esm --experimental-specifier-resolution=node ./src/lib/temp.ts", 18 | "build": "tsup", 19 | "clean": "rm -rf .nyc_output && rm -rf node_modules && rm -rf dist", 20 | "dev": "tsup --watch", 21 | "lint": "eslint src/**", 22 | "lint:report": "eslint src/** --format json", 23 | "lint:fix": "eslint src/** --fix", 24 | "format:write": "prettier --write \"src/**/*.{ts,tsx,md}\"", 25 | "format:check": "prettier --check \"src/**/*.{ts,tsx,md}\"", 26 | "semantic-release": "semantic-release" 27 | }, 28 | "dependencies": { 29 | "case": "1.6.3", 30 | "commander": "^12.0.0", 31 | "prettier": "3.2.5", 32 | "slash": "^5.1.0", 33 | "ts-to-zod": "3.7.0", 34 | "typescript": "5.3.3", 35 | "zod": "^3.22.4" 36 | }, 37 | "devDependencies": { 38 | "@semantic-release/changelog": "^6.0.3", 39 | "@semantic-release/commit-analyzer": "^11.1.0", 40 | "@semantic-release/git": "^10.0.1", 41 | "@semantic-release/npm": "^11.0.2", 42 | "@semantic-release/release-notes-generator": "^12.1.0", 43 | "@types/node": "20.11.16", 44 | "@types/prettier": "2.7.3", 45 | "eslint": "^8.56.0", 46 | "semantic-release": "^23.0.2", 47 | "ts-node": "^10.9.2", 48 | "tsup": "8.0.1" 49 | }, 50 | "repository": { 51 | "type": "git", 52 | "url": "https://github.com/psteinroe/supabase-to-zod.git" 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | dependencies: 8 | case: 9 | specifier: 1.6.3 10 | version: 1.6.3 11 | commander: 12 | specifier: ^12.0.0 13 | version: 12.0.0 14 | prettier: 15 | specifier: 3.2.5 16 | version: 3.2.5 17 | slash: 18 | specifier: ^5.1.0 19 | version: 5.1.0 20 | ts-to-zod: 21 | specifier: 3.7.0 22 | version: 3.7.0 23 | typescript: 24 | specifier: 5.3.3 25 | version: 5.3.3 26 | zod: 27 | specifier: ^3.22.4 28 | version: 3.22.4 29 | 30 | devDependencies: 31 | '@semantic-release/changelog': 32 | specifier: ^6.0.3 33 | version: 6.0.3(semantic-release@23.0.2) 34 | '@semantic-release/commit-analyzer': 35 | specifier: ^11.1.0 36 | version: 11.1.0(semantic-release@23.0.2) 37 | '@semantic-release/git': 38 | specifier: ^10.0.1 39 | version: 10.0.1(semantic-release@23.0.2) 40 | '@semantic-release/npm': 41 | specifier: ^11.0.2 42 | version: 11.0.2(semantic-release@23.0.2) 43 | '@semantic-release/release-notes-generator': 44 | specifier: ^12.1.0 45 | version: 12.1.0(semantic-release@23.0.2) 46 | '@types/node': 47 | specifier: 20.11.16 48 | version: 20.11.16 49 | '@types/prettier': 50 | specifier: 2.7.3 51 | version: 2.7.3 52 | eslint: 53 | specifier: ^8.56.0 54 | version: 8.56.0 55 | semantic-release: 56 | specifier: ^23.0.2 57 | version: 23.0.2(typescript@5.3.3) 58 | ts-node: 59 | specifier: ^10.9.2 60 | version: 10.9.2(@types/node@20.11.16)(typescript@5.3.3) 61 | tsup: 62 | specifier: 8.0.1 63 | version: 8.0.1(ts-node@10.9.2)(typescript@5.3.3) 64 | 65 | packages: 66 | 67 | /@aashutoshrathi/word-wrap@1.2.6: 68 | resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} 69 | engines: {node: '>=0.10.0'} 70 | dev: true 71 | 72 | /@babel/code-frame@7.18.6: 73 | resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} 74 | engines: {node: '>=6.9.0'} 75 | dependencies: 76 | '@babel/highlight': 7.18.6 77 | dev: true 78 | 79 | /@babel/code-frame@7.23.5: 80 | resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} 81 | engines: {node: '>=6.9.0'} 82 | dependencies: 83 | '@babel/highlight': 7.23.4 84 | chalk: 2.4.2 85 | dev: true 86 | 87 | /@babel/helper-validator-identifier@7.19.1: 88 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 89 | engines: {node: '>=6.9.0'} 90 | dev: true 91 | 92 | /@babel/helper-validator-identifier@7.22.20: 93 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} 94 | engines: {node: '>=6.9.0'} 95 | dev: true 96 | 97 | /@babel/highlight@7.18.6: 98 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 99 | engines: {node: '>=6.9.0'} 100 | dependencies: 101 | '@babel/helper-validator-identifier': 7.19.1 102 | chalk: 2.4.2 103 | js-tokens: 4.0.0 104 | dev: true 105 | 106 | /@babel/highlight@7.23.4: 107 | resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} 108 | engines: {node: '>=6.9.0'} 109 | dependencies: 110 | '@babel/helper-validator-identifier': 7.22.20 111 | chalk: 2.4.2 112 | js-tokens: 4.0.0 113 | dev: true 114 | 115 | /@colors/colors@1.5.0: 116 | resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} 117 | engines: {node: '>=0.1.90'} 118 | requiresBuild: true 119 | dev: true 120 | optional: true 121 | 122 | /@cspotcode/source-map-support@0.8.1: 123 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 124 | engines: {node: '>=12'} 125 | dependencies: 126 | '@jridgewell/trace-mapping': 0.3.9 127 | dev: true 128 | 129 | /@esbuild/aix-ppc64@0.19.12: 130 | resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} 131 | engines: {node: '>=12'} 132 | cpu: [ppc64] 133 | os: [aix] 134 | requiresBuild: true 135 | dev: true 136 | optional: true 137 | 138 | /@esbuild/android-arm64@0.19.12: 139 | resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} 140 | engines: {node: '>=12'} 141 | cpu: [arm64] 142 | os: [android] 143 | requiresBuild: true 144 | dev: true 145 | optional: true 146 | 147 | /@esbuild/android-arm@0.19.12: 148 | resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} 149 | engines: {node: '>=12'} 150 | cpu: [arm] 151 | os: [android] 152 | requiresBuild: true 153 | dev: true 154 | optional: true 155 | 156 | /@esbuild/android-x64@0.19.12: 157 | resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} 158 | engines: {node: '>=12'} 159 | cpu: [x64] 160 | os: [android] 161 | requiresBuild: true 162 | dev: true 163 | optional: true 164 | 165 | /@esbuild/darwin-arm64@0.19.12: 166 | resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} 167 | engines: {node: '>=12'} 168 | cpu: [arm64] 169 | os: [darwin] 170 | requiresBuild: true 171 | dev: true 172 | optional: true 173 | 174 | /@esbuild/darwin-x64@0.19.12: 175 | resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} 176 | engines: {node: '>=12'} 177 | cpu: [x64] 178 | os: [darwin] 179 | requiresBuild: true 180 | dev: true 181 | optional: true 182 | 183 | /@esbuild/freebsd-arm64@0.19.12: 184 | resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} 185 | engines: {node: '>=12'} 186 | cpu: [arm64] 187 | os: [freebsd] 188 | requiresBuild: true 189 | dev: true 190 | optional: true 191 | 192 | /@esbuild/freebsd-x64@0.19.12: 193 | resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} 194 | engines: {node: '>=12'} 195 | cpu: [x64] 196 | os: [freebsd] 197 | requiresBuild: true 198 | dev: true 199 | optional: true 200 | 201 | /@esbuild/linux-arm64@0.19.12: 202 | resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} 203 | engines: {node: '>=12'} 204 | cpu: [arm64] 205 | os: [linux] 206 | requiresBuild: true 207 | dev: true 208 | optional: true 209 | 210 | /@esbuild/linux-arm@0.19.12: 211 | resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} 212 | engines: {node: '>=12'} 213 | cpu: [arm] 214 | os: [linux] 215 | requiresBuild: true 216 | dev: true 217 | optional: true 218 | 219 | /@esbuild/linux-ia32@0.19.12: 220 | resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} 221 | engines: {node: '>=12'} 222 | cpu: [ia32] 223 | os: [linux] 224 | requiresBuild: true 225 | dev: true 226 | optional: true 227 | 228 | /@esbuild/linux-loong64@0.19.12: 229 | resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} 230 | engines: {node: '>=12'} 231 | cpu: [loong64] 232 | os: [linux] 233 | requiresBuild: true 234 | dev: true 235 | optional: true 236 | 237 | /@esbuild/linux-mips64el@0.19.12: 238 | resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} 239 | engines: {node: '>=12'} 240 | cpu: [mips64el] 241 | os: [linux] 242 | requiresBuild: true 243 | dev: true 244 | optional: true 245 | 246 | /@esbuild/linux-ppc64@0.19.12: 247 | resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} 248 | engines: {node: '>=12'} 249 | cpu: [ppc64] 250 | os: [linux] 251 | requiresBuild: true 252 | dev: true 253 | optional: true 254 | 255 | /@esbuild/linux-riscv64@0.19.12: 256 | resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} 257 | engines: {node: '>=12'} 258 | cpu: [riscv64] 259 | os: [linux] 260 | requiresBuild: true 261 | dev: true 262 | optional: true 263 | 264 | /@esbuild/linux-s390x@0.19.12: 265 | resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} 266 | engines: {node: '>=12'} 267 | cpu: [s390x] 268 | os: [linux] 269 | requiresBuild: true 270 | dev: true 271 | optional: true 272 | 273 | /@esbuild/linux-x64@0.19.12: 274 | resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} 275 | engines: {node: '>=12'} 276 | cpu: [x64] 277 | os: [linux] 278 | requiresBuild: true 279 | dev: true 280 | optional: true 281 | 282 | /@esbuild/netbsd-x64@0.19.12: 283 | resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} 284 | engines: {node: '>=12'} 285 | cpu: [x64] 286 | os: [netbsd] 287 | requiresBuild: true 288 | dev: true 289 | optional: true 290 | 291 | /@esbuild/openbsd-x64@0.19.12: 292 | resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} 293 | engines: {node: '>=12'} 294 | cpu: [x64] 295 | os: [openbsd] 296 | requiresBuild: true 297 | dev: true 298 | optional: true 299 | 300 | /@esbuild/sunos-x64@0.19.12: 301 | resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} 302 | engines: {node: '>=12'} 303 | cpu: [x64] 304 | os: [sunos] 305 | requiresBuild: true 306 | dev: true 307 | optional: true 308 | 309 | /@esbuild/win32-arm64@0.19.12: 310 | resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} 311 | engines: {node: '>=12'} 312 | cpu: [arm64] 313 | os: [win32] 314 | requiresBuild: true 315 | dev: true 316 | optional: true 317 | 318 | /@esbuild/win32-ia32@0.19.12: 319 | resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} 320 | engines: {node: '>=12'} 321 | cpu: [ia32] 322 | os: [win32] 323 | requiresBuild: true 324 | dev: true 325 | optional: true 326 | 327 | /@esbuild/win32-x64@0.19.12: 328 | resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} 329 | engines: {node: '>=12'} 330 | cpu: [x64] 331 | os: [win32] 332 | requiresBuild: true 333 | dev: true 334 | optional: true 335 | 336 | /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): 337 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 338 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 339 | peerDependencies: 340 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 341 | dependencies: 342 | eslint: 8.56.0 343 | eslint-visitor-keys: 3.4.3 344 | dev: true 345 | 346 | /@eslint-community/regexpp@4.10.0: 347 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} 348 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 349 | dev: true 350 | 351 | /@eslint/eslintrc@2.1.4: 352 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} 353 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 354 | dependencies: 355 | ajv: 6.12.6 356 | debug: 4.3.4(supports-color@8.1.1) 357 | espree: 9.6.1 358 | globals: 13.24.0 359 | ignore: 5.2.1 360 | import-fresh: 3.3.0 361 | js-yaml: 4.1.0 362 | minimatch: 3.1.2 363 | strip-json-comments: 3.1.1 364 | transitivePeerDependencies: 365 | - supports-color 366 | dev: true 367 | 368 | /@eslint/js@8.56.0: 369 | resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} 370 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 371 | dev: true 372 | 373 | /@humanwhocodes/config-array@0.11.14: 374 | resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} 375 | engines: {node: '>=10.10.0'} 376 | dependencies: 377 | '@humanwhocodes/object-schema': 2.0.2 378 | debug: 4.3.4(supports-color@8.1.1) 379 | minimatch: 3.1.2 380 | transitivePeerDependencies: 381 | - supports-color 382 | dev: true 383 | 384 | /@humanwhocodes/module-importer@1.0.1: 385 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 386 | engines: {node: '>=12.22'} 387 | dev: true 388 | 389 | /@humanwhocodes/object-schema@2.0.2: 390 | resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} 391 | dev: true 392 | 393 | /@jridgewell/resolve-uri@3.1.0: 394 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} 395 | engines: {node: '>=6.0.0'} 396 | dev: true 397 | 398 | /@jridgewell/sourcemap-codec@1.4.14: 399 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} 400 | dev: true 401 | 402 | /@jridgewell/trace-mapping@0.3.9: 403 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 404 | dependencies: 405 | '@jridgewell/resolve-uri': 3.1.0 406 | '@jridgewell/sourcemap-codec': 1.4.14 407 | dev: true 408 | 409 | /@nodelib/fs.scandir@2.1.5: 410 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 411 | engines: {node: '>= 8'} 412 | dependencies: 413 | '@nodelib/fs.stat': 2.0.5 414 | run-parallel: 1.2.0 415 | 416 | /@nodelib/fs.stat@2.0.5: 417 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 418 | engines: {node: '>= 8'} 419 | 420 | /@nodelib/fs.walk@1.2.8: 421 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 422 | engines: {node: '>= 8'} 423 | dependencies: 424 | '@nodelib/fs.scandir': 2.1.5 425 | fastq: 1.14.0 426 | 427 | /@oclif/core@3.19.1: 428 | resolution: {integrity: sha512-dd1h4Hz+LwpuYhKvgBjDmW3/HgUAm93JM95cnbzSv5VcmiBeC+utjLvY96PmPbYxxDoz7XazEOl8oOpSLSEgcg==} 429 | engines: {node: '>=18.0.0'} 430 | dependencies: 431 | '@types/cli-progress': 3.11.5 432 | ansi-escapes: 4.3.2 433 | ansi-styles: 4.3.0 434 | cardinal: 2.1.1 435 | chalk: 4.1.2 436 | clean-stack: 3.0.1 437 | cli-progress: 3.12.0 438 | color: 4.2.3 439 | debug: 4.3.4(supports-color@8.1.1) 440 | ejs: 3.1.9 441 | get-package-type: 0.1.0 442 | globby: 11.1.0 443 | hyperlinker: 1.0.0 444 | indent-string: 4.0.0 445 | is-wsl: 2.2.0 446 | js-yaml: 3.14.1 447 | natural-orderby: 2.0.3 448 | object-treeify: 1.1.33 449 | password-prompt: 1.1.3 450 | slice-ansi: 4.0.0 451 | string-width: 4.2.3 452 | strip-ansi: 6.0.1 453 | supports-color: 8.1.1 454 | supports-hyperlinks: 2.3.0 455 | widest-line: 3.1.0 456 | wordwrap: 1.0.0 457 | wrap-ansi: 7.0.0 458 | dev: false 459 | 460 | /@octokit/auth-token@4.0.0: 461 | resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} 462 | engines: {node: '>= 18'} 463 | dev: true 464 | 465 | /@octokit/core@5.1.0: 466 | resolution: {integrity: sha512-BDa2VAMLSh3otEiaMJ/3Y36GU4qf6GI+VivQ/P41NC6GHcdxpKlqV0ikSZ5gdQsmS3ojXeRx5vasgNTinF0Q4g==} 467 | engines: {node: '>= 18'} 468 | dependencies: 469 | '@octokit/auth-token': 4.0.0 470 | '@octokit/graphql': 7.0.2 471 | '@octokit/request': 8.1.6 472 | '@octokit/request-error': 5.0.1 473 | '@octokit/types': 12.4.0 474 | before-after-hook: 2.2.3 475 | universal-user-agent: 6.0.0 476 | dev: true 477 | 478 | /@octokit/endpoint@9.0.4: 479 | resolution: {integrity: sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==} 480 | engines: {node: '>= 18'} 481 | dependencies: 482 | '@octokit/types': 12.4.0 483 | universal-user-agent: 6.0.0 484 | dev: true 485 | 486 | /@octokit/graphql@7.0.2: 487 | resolution: {integrity: sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==} 488 | engines: {node: '>= 18'} 489 | dependencies: 490 | '@octokit/request': 8.1.6 491 | '@octokit/types': 12.4.0 492 | universal-user-agent: 6.0.0 493 | dev: true 494 | 495 | /@octokit/openapi-types@19.1.0: 496 | resolution: {integrity: sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw==} 497 | dev: true 498 | 499 | /@octokit/plugin-paginate-rest@9.1.5(@octokit/core@5.1.0): 500 | resolution: {integrity: sha512-WKTQXxK+bu49qzwv4qKbMMRXej1DU2gq017euWyKVudA6MldaSSQuxtz+vGbhxV4CjxpUxjZu6rM2wfc1FiWVg==} 501 | engines: {node: '>= 18'} 502 | peerDependencies: 503 | '@octokit/core': '>=5' 504 | dependencies: 505 | '@octokit/core': 5.1.0 506 | '@octokit/types': 12.4.0 507 | dev: true 508 | 509 | /@octokit/plugin-retry@6.0.1(@octokit/core@5.1.0): 510 | resolution: {integrity: sha512-SKs+Tz9oj0g4p28qkZwl/topGcb0k0qPNX/i7vBKmDsjoeqnVfFUquqrE/O9oJY7+oLzdCtkiWSXLpLjvl6uog==} 511 | engines: {node: '>= 18'} 512 | peerDependencies: 513 | '@octokit/core': '>=5' 514 | dependencies: 515 | '@octokit/core': 5.1.0 516 | '@octokit/request-error': 5.0.1 517 | '@octokit/types': 12.4.0 518 | bottleneck: 2.19.5 519 | dev: true 520 | 521 | /@octokit/plugin-throttling@8.1.3(@octokit/core@5.1.0): 522 | resolution: {integrity: sha512-pfyqaqpc0EXh5Cn4HX9lWYsZ4gGbjnSmUILeu4u2gnuM50K/wIk9s1Pxt3lVeVwekmITgN/nJdoh43Ka+vye8A==} 523 | engines: {node: '>= 18'} 524 | peerDependencies: 525 | '@octokit/core': ^5.0.0 526 | dependencies: 527 | '@octokit/core': 5.1.0 528 | '@octokit/types': 12.4.0 529 | bottleneck: 2.19.5 530 | dev: true 531 | 532 | /@octokit/request-error@5.0.1: 533 | resolution: {integrity: sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==} 534 | engines: {node: '>= 18'} 535 | dependencies: 536 | '@octokit/types': 12.4.0 537 | deprecation: 2.3.1 538 | once: 1.4.0 539 | dev: true 540 | 541 | /@octokit/request@8.1.6: 542 | resolution: {integrity: sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==} 543 | engines: {node: '>= 18'} 544 | dependencies: 545 | '@octokit/endpoint': 9.0.4 546 | '@octokit/request-error': 5.0.1 547 | '@octokit/types': 12.4.0 548 | universal-user-agent: 6.0.0 549 | dev: true 550 | 551 | /@octokit/types@12.4.0: 552 | resolution: {integrity: sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ==} 553 | dependencies: 554 | '@octokit/openapi-types': 19.1.0 555 | dev: true 556 | 557 | /@pnpm/config.env-replace@1.1.0: 558 | resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} 559 | engines: {node: '>=12.22.0'} 560 | dev: true 561 | 562 | /@pnpm/network.ca-file@1.0.2: 563 | resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} 564 | engines: {node: '>=12.22.0'} 565 | dependencies: 566 | graceful-fs: 4.2.10 567 | dev: true 568 | 569 | /@pnpm/npm-conf@2.2.2: 570 | resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} 571 | engines: {node: '>=12'} 572 | dependencies: 573 | '@pnpm/config.env-replace': 1.1.0 574 | '@pnpm/network.ca-file': 1.0.2 575 | config-chain: 1.1.13 576 | dev: true 577 | 578 | /@rollup/rollup-android-arm-eabi@4.9.6: 579 | resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==} 580 | cpu: [arm] 581 | os: [android] 582 | requiresBuild: true 583 | dev: true 584 | optional: true 585 | 586 | /@rollup/rollup-android-arm64@4.9.6: 587 | resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==} 588 | cpu: [arm64] 589 | os: [android] 590 | requiresBuild: true 591 | dev: true 592 | optional: true 593 | 594 | /@rollup/rollup-darwin-arm64@4.9.6: 595 | resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==} 596 | cpu: [arm64] 597 | os: [darwin] 598 | requiresBuild: true 599 | dev: true 600 | optional: true 601 | 602 | /@rollup/rollup-darwin-x64@4.9.6: 603 | resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==} 604 | cpu: [x64] 605 | os: [darwin] 606 | requiresBuild: true 607 | dev: true 608 | optional: true 609 | 610 | /@rollup/rollup-linux-arm-gnueabihf@4.9.6: 611 | resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==} 612 | cpu: [arm] 613 | os: [linux] 614 | requiresBuild: true 615 | dev: true 616 | optional: true 617 | 618 | /@rollup/rollup-linux-arm64-gnu@4.9.6: 619 | resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==} 620 | cpu: [arm64] 621 | os: [linux] 622 | requiresBuild: true 623 | dev: true 624 | optional: true 625 | 626 | /@rollup/rollup-linux-arm64-musl@4.9.6: 627 | resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==} 628 | cpu: [arm64] 629 | os: [linux] 630 | requiresBuild: true 631 | dev: true 632 | optional: true 633 | 634 | /@rollup/rollup-linux-riscv64-gnu@4.9.6: 635 | resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==} 636 | cpu: [riscv64] 637 | os: [linux] 638 | requiresBuild: true 639 | dev: true 640 | optional: true 641 | 642 | /@rollup/rollup-linux-x64-gnu@4.9.6: 643 | resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==} 644 | cpu: [x64] 645 | os: [linux] 646 | requiresBuild: true 647 | dev: true 648 | optional: true 649 | 650 | /@rollup/rollup-linux-x64-musl@4.9.6: 651 | resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==} 652 | cpu: [x64] 653 | os: [linux] 654 | requiresBuild: true 655 | dev: true 656 | optional: true 657 | 658 | /@rollup/rollup-win32-arm64-msvc@4.9.6: 659 | resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==} 660 | cpu: [arm64] 661 | os: [win32] 662 | requiresBuild: true 663 | dev: true 664 | optional: true 665 | 666 | /@rollup/rollup-win32-ia32-msvc@4.9.6: 667 | resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==} 668 | cpu: [ia32] 669 | os: [win32] 670 | requiresBuild: true 671 | dev: true 672 | optional: true 673 | 674 | /@rollup/rollup-win32-x64-msvc@4.9.6: 675 | resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==} 676 | cpu: [x64] 677 | os: [win32] 678 | requiresBuild: true 679 | dev: true 680 | optional: true 681 | 682 | /@semantic-release/changelog@6.0.3(semantic-release@23.0.2): 683 | resolution: {integrity: sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag==} 684 | engines: {node: '>=14.17'} 685 | peerDependencies: 686 | semantic-release: '>=18.0.0' 687 | dependencies: 688 | '@semantic-release/error': 3.0.0 689 | aggregate-error: 3.1.0 690 | fs-extra: 11.2.0 691 | lodash: 4.17.21 692 | semantic-release: 23.0.2(typescript@5.3.3) 693 | dev: true 694 | 695 | /@semantic-release/commit-analyzer@11.1.0(semantic-release@23.0.2): 696 | resolution: {integrity: sha512-cXNTbv3nXR2hlzHjAMgbuiQVtvWHTlwwISt60B+4NZv01y/QRY7p2HcJm8Eh2StzcTJoNnflvKjHH/cjFS7d5g==} 697 | engines: {node: ^18.17 || >=20.6.1} 698 | peerDependencies: 699 | semantic-release: '>=20.1.0' 700 | dependencies: 701 | conventional-changelog-angular: 7.0.0 702 | conventional-commits-filter: 4.0.0 703 | conventional-commits-parser: 5.0.0 704 | debug: 4.3.4(supports-color@8.1.1) 705 | import-from-esm: 1.3.3 706 | lodash-es: 4.17.21 707 | micromatch: 4.0.5 708 | semantic-release: 23.0.2(typescript@5.3.3) 709 | transitivePeerDependencies: 710 | - supports-color 711 | dev: true 712 | 713 | /@semantic-release/error@3.0.0: 714 | resolution: {integrity: sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==} 715 | engines: {node: '>=14.17'} 716 | dev: true 717 | 718 | /@semantic-release/error@4.0.0: 719 | resolution: {integrity: sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==} 720 | engines: {node: '>=18'} 721 | dev: true 722 | 723 | /@semantic-release/git@10.0.1(semantic-release@23.0.2): 724 | resolution: {integrity: sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==} 725 | engines: {node: '>=14.17'} 726 | peerDependencies: 727 | semantic-release: '>=18.0.0' 728 | dependencies: 729 | '@semantic-release/error': 3.0.0 730 | aggregate-error: 3.1.0 731 | debug: 4.3.4(supports-color@8.1.1) 732 | dir-glob: 3.0.1 733 | execa: 5.1.1 734 | lodash: 4.17.21 735 | micromatch: 4.0.5 736 | p-reduce: 2.1.0 737 | semantic-release: 23.0.2(typescript@5.3.3) 738 | transitivePeerDependencies: 739 | - supports-color 740 | dev: true 741 | 742 | /@semantic-release/github@9.2.6(semantic-release@23.0.2): 743 | resolution: {integrity: sha512-shi+Lrf6exeNZF+sBhK+P011LSbhmIAoUEgEY6SsxF8irJ+J2stwI5jkyDQ+4gzYyDImzV6LCKdYB9FXnQRWKA==} 744 | engines: {node: '>=18'} 745 | peerDependencies: 746 | semantic-release: '>=20.1.0' 747 | dependencies: 748 | '@octokit/core': 5.1.0 749 | '@octokit/plugin-paginate-rest': 9.1.5(@octokit/core@5.1.0) 750 | '@octokit/plugin-retry': 6.0.1(@octokit/core@5.1.0) 751 | '@octokit/plugin-throttling': 8.1.3(@octokit/core@5.1.0) 752 | '@semantic-release/error': 4.0.0 753 | aggregate-error: 5.0.0 754 | debug: 4.3.4(supports-color@8.1.1) 755 | dir-glob: 3.0.1 756 | globby: 14.0.0 757 | http-proxy-agent: 7.0.0 758 | https-proxy-agent: 7.0.2 759 | issue-parser: 6.0.0 760 | lodash-es: 4.17.21 761 | mime: 4.0.1 762 | p-filter: 4.1.0 763 | semantic-release: 23.0.2(typescript@5.3.3) 764 | url-join: 5.0.0 765 | transitivePeerDependencies: 766 | - supports-color 767 | dev: true 768 | 769 | /@semantic-release/npm@11.0.2(semantic-release@23.0.2): 770 | resolution: {integrity: sha512-owtf3RjyPvRE63iUKZ5/xO4uqjRpVQDUB9+nnXj0xwfIeM9pRl+cG+zGDzdftR4m3f2s4Wyf3SexW+kF5DFtWA==} 771 | engines: {node: ^18.17 || >=20} 772 | peerDependencies: 773 | semantic-release: '>=20.1.0' 774 | dependencies: 775 | '@semantic-release/error': 4.0.0 776 | aggregate-error: 5.0.0 777 | execa: 8.0.1 778 | fs-extra: 11.2.0 779 | lodash-es: 4.17.21 780 | nerf-dart: 1.0.0 781 | normalize-url: 8.0.0 782 | npm: 10.4.0 783 | rc: 1.2.8 784 | read-pkg: 9.0.1 785 | registry-auth-token: 5.0.2 786 | semantic-release: 23.0.2(typescript@5.3.3) 787 | semver: 7.3.8 788 | tempy: 3.1.0 789 | dev: true 790 | 791 | /@semantic-release/release-notes-generator@12.1.0(semantic-release@23.0.2): 792 | resolution: {integrity: sha512-g6M9AjUKAZUZnxaJZnouNBeDNTCUrJ5Ltj+VJ60gJeDaRRahcHsry9HW8yKrnKkKNkx5lbWiEP1FPMqVNQz8Kg==} 793 | engines: {node: ^18.17 || >=20.6.1} 794 | peerDependencies: 795 | semantic-release: '>=20.1.0' 796 | dependencies: 797 | conventional-changelog-angular: 7.0.0 798 | conventional-changelog-writer: 7.0.1 799 | conventional-commits-filter: 4.0.0 800 | conventional-commits-parser: 5.0.0 801 | debug: 4.3.4(supports-color@8.1.1) 802 | get-stream: 7.0.1 803 | import-from-esm: 1.3.3 804 | into-stream: 7.0.0 805 | lodash-es: 4.17.21 806 | read-pkg-up: 11.0.0 807 | semantic-release: 23.0.2(typescript@5.3.3) 808 | transitivePeerDependencies: 809 | - supports-color 810 | dev: true 811 | 812 | /@sindresorhus/is@4.6.0: 813 | resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} 814 | engines: {node: '>=10'} 815 | dev: true 816 | 817 | /@sindresorhus/merge-streams@1.0.0: 818 | resolution: {integrity: sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==} 819 | engines: {node: '>=18'} 820 | dev: true 821 | 822 | /@tsconfig/node10@1.0.9: 823 | resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} 824 | dev: true 825 | 826 | /@tsconfig/node12@1.0.11: 827 | resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} 828 | dev: true 829 | 830 | /@tsconfig/node14@1.0.3: 831 | resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} 832 | dev: true 833 | 834 | /@tsconfig/node16@1.0.3: 835 | resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} 836 | dev: true 837 | 838 | /@types/cli-progress@3.11.5: 839 | resolution: {integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g==} 840 | dependencies: 841 | '@types/node': 20.11.16 842 | dev: false 843 | 844 | /@types/estree@1.0.5: 845 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} 846 | dev: true 847 | 848 | /@types/node@20.11.16: 849 | resolution: {integrity: sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==} 850 | dependencies: 851 | undici-types: 5.26.5 852 | 853 | /@types/normalize-package-data@2.4.4: 854 | resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} 855 | dev: true 856 | 857 | /@types/prettier@2.7.3: 858 | resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} 859 | dev: true 860 | 861 | /@typescript/vfs@1.5.0: 862 | resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==} 863 | dependencies: 864 | debug: 4.3.4(supports-color@8.1.1) 865 | transitivePeerDependencies: 866 | - supports-color 867 | dev: false 868 | 869 | /@ungap/structured-clone@1.2.0: 870 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} 871 | dev: true 872 | 873 | /JSONStream@1.3.5: 874 | resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} 875 | hasBin: true 876 | dependencies: 877 | jsonparse: 1.3.1 878 | through: 2.3.8 879 | dev: true 880 | 881 | /acorn-jsx@5.3.2(acorn@8.11.3): 882 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 883 | peerDependencies: 884 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 885 | dependencies: 886 | acorn: 8.11.3 887 | dev: true 888 | 889 | /acorn-walk@8.2.0: 890 | resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} 891 | engines: {node: '>=0.4.0'} 892 | dev: true 893 | 894 | /acorn@8.11.3: 895 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} 896 | engines: {node: '>=0.4.0'} 897 | hasBin: true 898 | dev: true 899 | 900 | /acorn@8.8.1: 901 | resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} 902 | engines: {node: '>=0.4.0'} 903 | hasBin: true 904 | dev: true 905 | 906 | /agent-base@7.1.0: 907 | resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} 908 | engines: {node: '>= 14'} 909 | dependencies: 910 | debug: 4.3.4(supports-color@8.1.1) 911 | transitivePeerDependencies: 912 | - supports-color 913 | dev: true 914 | 915 | /aggregate-error@3.1.0: 916 | resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 917 | engines: {node: '>=8'} 918 | dependencies: 919 | clean-stack: 2.2.0 920 | indent-string: 4.0.0 921 | dev: true 922 | 923 | /aggregate-error@5.0.0: 924 | resolution: {integrity: sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==} 925 | engines: {node: '>=18'} 926 | dependencies: 927 | clean-stack: 5.2.0 928 | indent-string: 5.0.0 929 | dev: true 930 | 931 | /ajv@6.12.6: 932 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 933 | dependencies: 934 | fast-deep-equal: 3.1.3 935 | fast-json-stable-stringify: 2.1.0 936 | json-schema-traverse: 0.4.1 937 | uri-js: 4.4.1 938 | dev: true 939 | 940 | /ansi-escapes@4.3.2: 941 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 942 | engines: {node: '>=8'} 943 | dependencies: 944 | type-fest: 0.21.3 945 | dev: false 946 | 947 | /ansi-escapes@6.2.0: 948 | resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} 949 | engines: {node: '>=14.16'} 950 | dependencies: 951 | type-fest: 3.13.1 952 | dev: true 953 | 954 | /ansi-regex@5.0.1: 955 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 956 | engines: {node: '>=8'} 957 | 958 | /ansi-styles@3.2.1: 959 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 960 | engines: {node: '>=4'} 961 | dependencies: 962 | color-convert: 1.9.3 963 | dev: true 964 | 965 | /ansi-styles@4.3.0: 966 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 967 | engines: {node: '>=8'} 968 | dependencies: 969 | color-convert: 2.0.1 970 | 971 | /ansicolors@0.3.2: 972 | resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} 973 | dev: false 974 | 975 | /any-promise@1.3.0: 976 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 977 | dev: true 978 | 979 | /anymatch@3.1.3: 980 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 981 | engines: {node: '>= 8'} 982 | dependencies: 983 | normalize-path: 3.0.0 984 | picomatch: 2.3.1 985 | 986 | /arg@4.1.3: 987 | resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} 988 | dev: true 989 | 990 | /argparse@1.0.10: 991 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 992 | dependencies: 993 | sprintf-js: 1.0.3 994 | dev: false 995 | 996 | /argparse@2.0.1: 997 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 998 | dev: true 999 | 1000 | /argv-formatter@1.0.0: 1001 | resolution: {integrity: sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==} 1002 | dev: true 1003 | 1004 | /array-ify@1.0.0: 1005 | resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} 1006 | dev: true 1007 | 1008 | /array-union@2.1.0: 1009 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 1010 | engines: {node: '>=8'} 1011 | 1012 | /astral-regex@2.0.0: 1013 | resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} 1014 | engines: {node: '>=8'} 1015 | dev: false 1016 | 1017 | /async@3.2.4: 1018 | resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} 1019 | dev: false 1020 | 1021 | /balanced-match@1.0.2: 1022 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1023 | 1024 | /base64-js@1.5.1: 1025 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 1026 | dev: false 1027 | 1028 | /before-after-hook@2.2.3: 1029 | resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} 1030 | dev: true 1031 | 1032 | /binary-extensions@2.2.0: 1033 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 1034 | engines: {node: '>=8'} 1035 | 1036 | /bl@4.1.0: 1037 | resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 1038 | dependencies: 1039 | buffer: 5.7.1 1040 | inherits: 2.0.4 1041 | readable-stream: 3.6.0 1042 | dev: false 1043 | 1044 | /bottleneck@2.19.5: 1045 | resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} 1046 | dev: true 1047 | 1048 | /brace-expansion@1.1.11: 1049 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 1050 | dependencies: 1051 | balanced-match: 1.0.2 1052 | concat-map: 0.0.1 1053 | 1054 | /brace-expansion@2.0.1: 1055 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 1056 | dependencies: 1057 | balanced-match: 1.0.2 1058 | dev: false 1059 | 1060 | /braces@3.0.2: 1061 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 1062 | engines: {node: '>=8'} 1063 | dependencies: 1064 | fill-range: 7.0.1 1065 | 1066 | /buffer@5.7.1: 1067 | resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 1068 | dependencies: 1069 | base64-js: 1.5.1 1070 | ieee754: 1.2.1 1071 | dev: false 1072 | 1073 | /bundle-require@4.0.2(esbuild@0.19.12): 1074 | resolution: {integrity: sha512-jwzPOChofl67PSTW2SGubV9HBQAhhR2i6nskiOThauo9dzwDUgOWQScFVaJkjEfYX+UXiD+LEx8EblQMc2wIag==} 1075 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1076 | peerDependencies: 1077 | esbuild: '>=0.17' 1078 | dependencies: 1079 | esbuild: 0.19.12 1080 | load-tsconfig: 0.2.3 1081 | dev: true 1082 | 1083 | /cac@6.7.14: 1084 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 1085 | engines: {node: '>=8'} 1086 | dev: true 1087 | 1088 | /callsites@3.1.0: 1089 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 1090 | engines: {node: '>=6'} 1091 | 1092 | /cardinal@2.1.1: 1093 | resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} 1094 | hasBin: true 1095 | dependencies: 1096 | ansicolors: 0.3.2 1097 | redeyed: 2.1.1 1098 | dev: false 1099 | 1100 | /case@1.6.3: 1101 | resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} 1102 | engines: {node: '>= 0.8.0'} 1103 | dev: false 1104 | 1105 | /chalk@2.4.2: 1106 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1107 | engines: {node: '>=4'} 1108 | dependencies: 1109 | ansi-styles: 3.2.1 1110 | escape-string-regexp: 1.0.5 1111 | supports-color: 5.5.0 1112 | dev: true 1113 | 1114 | /chalk@4.1.2: 1115 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1116 | engines: {node: '>=10'} 1117 | dependencies: 1118 | ansi-styles: 4.3.0 1119 | supports-color: 7.2.0 1120 | 1121 | /chalk@5.3.0: 1122 | resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} 1123 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 1124 | dev: true 1125 | 1126 | /char-regex@1.0.2: 1127 | resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} 1128 | engines: {node: '>=10'} 1129 | dev: true 1130 | 1131 | /chardet@0.7.0: 1132 | resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 1133 | dev: false 1134 | 1135 | /chokidar@3.5.3: 1136 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 1137 | engines: {node: '>= 8.10.0'} 1138 | dependencies: 1139 | anymatch: 3.1.3 1140 | braces: 3.0.2 1141 | glob-parent: 5.1.2 1142 | is-binary-path: 2.1.0 1143 | is-glob: 4.0.3 1144 | normalize-path: 3.0.0 1145 | readdirp: 3.6.0 1146 | optionalDependencies: 1147 | fsevents: 2.3.2 1148 | 1149 | /clean-stack@2.2.0: 1150 | resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 1151 | engines: {node: '>=6'} 1152 | dev: true 1153 | 1154 | /clean-stack@3.0.1: 1155 | resolution: {integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==} 1156 | engines: {node: '>=10'} 1157 | dependencies: 1158 | escape-string-regexp: 4.0.0 1159 | dev: false 1160 | 1161 | /clean-stack@5.2.0: 1162 | resolution: {integrity: sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==} 1163 | engines: {node: '>=14.16'} 1164 | dependencies: 1165 | escape-string-regexp: 5.0.0 1166 | dev: true 1167 | 1168 | /cli-cursor@3.1.0: 1169 | resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 1170 | engines: {node: '>=8'} 1171 | dependencies: 1172 | restore-cursor: 3.1.0 1173 | dev: false 1174 | 1175 | /cli-highlight@2.1.11: 1176 | resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} 1177 | engines: {node: '>=8.0.0', npm: '>=5.0.0'} 1178 | hasBin: true 1179 | dependencies: 1180 | chalk: 4.1.2 1181 | highlight.js: 10.7.3 1182 | mz: 2.7.0 1183 | parse5: 5.1.1 1184 | parse5-htmlparser2-tree-adapter: 6.0.1 1185 | yargs: 16.2.0 1186 | dev: true 1187 | 1188 | /cli-progress@3.12.0: 1189 | resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} 1190 | engines: {node: '>=4'} 1191 | dependencies: 1192 | string-width: 4.2.3 1193 | dev: false 1194 | 1195 | /cli-spinners@2.7.0: 1196 | resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} 1197 | engines: {node: '>=6'} 1198 | dev: false 1199 | 1200 | /cli-table3@0.6.3: 1201 | resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} 1202 | engines: {node: 10.* || >= 12.*} 1203 | dependencies: 1204 | string-width: 4.2.3 1205 | optionalDependencies: 1206 | '@colors/colors': 1.5.0 1207 | dev: true 1208 | 1209 | /cli-width@3.0.0: 1210 | resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} 1211 | engines: {node: '>= 10'} 1212 | dev: false 1213 | 1214 | /cliui@7.0.4: 1215 | resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} 1216 | dependencies: 1217 | string-width: 4.2.3 1218 | strip-ansi: 6.0.1 1219 | wrap-ansi: 7.0.0 1220 | dev: true 1221 | 1222 | /cliui@8.0.1: 1223 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 1224 | engines: {node: '>=12'} 1225 | dependencies: 1226 | string-width: 4.2.3 1227 | strip-ansi: 6.0.1 1228 | wrap-ansi: 7.0.0 1229 | dev: true 1230 | 1231 | /clone@1.0.4: 1232 | resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} 1233 | engines: {node: '>=0.8'} 1234 | dev: false 1235 | 1236 | /color-convert@1.9.3: 1237 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1238 | dependencies: 1239 | color-name: 1.1.3 1240 | dev: true 1241 | 1242 | /color-convert@2.0.1: 1243 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1244 | engines: {node: '>=7.0.0'} 1245 | dependencies: 1246 | color-name: 1.1.4 1247 | 1248 | /color-name@1.1.3: 1249 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1250 | dev: true 1251 | 1252 | /color-name@1.1.4: 1253 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1254 | 1255 | /color-string@1.9.1: 1256 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} 1257 | dependencies: 1258 | color-name: 1.1.4 1259 | simple-swizzle: 0.2.2 1260 | dev: false 1261 | 1262 | /color@4.2.3: 1263 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} 1264 | engines: {node: '>=12.5.0'} 1265 | dependencies: 1266 | color-convert: 2.0.1 1267 | color-string: 1.9.1 1268 | dev: false 1269 | 1270 | /commander@12.0.0: 1271 | resolution: {integrity: sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==} 1272 | engines: {node: '>=18'} 1273 | dev: false 1274 | 1275 | /commander@4.1.1: 1276 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 1277 | engines: {node: '>= 6'} 1278 | dev: true 1279 | 1280 | /compare-func@2.0.0: 1281 | resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} 1282 | dependencies: 1283 | array-ify: 1.0.0 1284 | dot-prop: 5.3.0 1285 | dev: true 1286 | 1287 | /concat-map@0.0.1: 1288 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1289 | 1290 | /config-chain@1.1.13: 1291 | resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} 1292 | dependencies: 1293 | ini: 1.3.8 1294 | proto-list: 1.2.4 1295 | dev: true 1296 | 1297 | /conventional-changelog-angular@7.0.0: 1298 | resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} 1299 | engines: {node: '>=16'} 1300 | dependencies: 1301 | compare-func: 2.0.0 1302 | dev: true 1303 | 1304 | /conventional-changelog-writer@7.0.1: 1305 | resolution: {integrity: sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==} 1306 | engines: {node: '>=16'} 1307 | hasBin: true 1308 | dependencies: 1309 | conventional-commits-filter: 4.0.0 1310 | handlebars: 4.7.7 1311 | json-stringify-safe: 5.0.1 1312 | meow: 12.1.1 1313 | semver: 7.6.0 1314 | split2: 4.2.0 1315 | dev: true 1316 | 1317 | /conventional-commits-filter@4.0.0: 1318 | resolution: {integrity: sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==} 1319 | engines: {node: '>=16'} 1320 | dev: true 1321 | 1322 | /conventional-commits-parser@5.0.0: 1323 | resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} 1324 | engines: {node: '>=16'} 1325 | hasBin: true 1326 | dependencies: 1327 | JSONStream: 1.3.5 1328 | is-text-path: 2.0.0 1329 | meow: 12.1.1 1330 | split2: 4.2.0 1331 | dev: true 1332 | 1333 | /core-util-is@1.0.3: 1334 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} 1335 | dev: true 1336 | 1337 | /cosmiconfig@9.0.0(typescript@5.3.3): 1338 | resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} 1339 | engines: {node: '>=14'} 1340 | peerDependencies: 1341 | typescript: '>=4.9.5' 1342 | peerDependenciesMeta: 1343 | typescript: 1344 | optional: true 1345 | dependencies: 1346 | env-paths: 2.2.1 1347 | import-fresh: 3.3.0 1348 | js-yaml: 4.1.0 1349 | parse-json: 5.2.0 1350 | typescript: 5.3.3 1351 | dev: true 1352 | 1353 | /create-require@1.1.1: 1354 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} 1355 | dev: true 1356 | 1357 | /cross-spawn@7.0.3: 1358 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1359 | engines: {node: '>= 8'} 1360 | dependencies: 1361 | path-key: 3.1.1 1362 | shebang-command: 2.0.0 1363 | which: 2.0.2 1364 | 1365 | /crypto-random-string@4.0.0: 1366 | resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} 1367 | engines: {node: '>=12'} 1368 | dependencies: 1369 | type-fest: 1.4.0 1370 | dev: true 1371 | 1372 | /debug@4.3.4(supports-color@8.1.1): 1373 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1374 | engines: {node: '>=6.0'} 1375 | peerDependencies: 1376 | supports-color: '*' 1377 | peerDependenciesMeta: 1378 | supports-color: 1379 | optional: true 1380 | dependencies: 1381 | ms: 2.1.2 1382 | supports-color: 8.1.1 1383 | 1384 | /deep-extend@0.6.0: 1385 | resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} 1386 | engines: {node: '>=4.0.0'} 1387 | dev: true 1388 | 1389 | /deep-is@0.1.4: 1390 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1391 | dev: true 1392 | 1393 | /defaults@1.0.4: 1394 | resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} 1395 | dependencies: 1396 | clone: 1.0.4 1397 | dev: false 1398 | 1399 | /deprecation@2.3.1: 1400 | resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} 1401 | dev: true 1402 | 1403 | /diff@4.0.2: 1404 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} 1405 | engines: {node: '>=0.3.1'} 1406 | dev: true 1407 | 1408 | /dir-glob@3.0.1: 1409 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1410 | engines: {node: '>=8'} 1411 | dependencies: 1412 | path-type: 4.0.0 1413 | 1414 | /doctrine@3.0.0: 1415 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1416 | engines: {node: '>=6.0.0'} 1417 | dependencies: 1418 | esutils: 2.0.3 1419 | dev: true 1420 | 1421 | /dot-prop@5.3.0: 1422 | resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} 1423 | engines: {node: '>=8'} 1424 | dependencies: 1425 | is-obj: 2.0.0 1426 | dev: true 1427 | 1428 | /duplexer2@0.1.4: 1429 | resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} 1430 | dependencies: 1431 | readable-stream: 2.3.7 1432 | dev: true 1433 | 1434 | /ejs@3.1.9: 1435 | resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} 1436 | engines: {node: '>=0.10.0'} 1437 | hasBin: true 1438 | dependencies: 1439 | jake: 10.8.7 1440 | dev: false 1441 | 1442 | /emoji-regex@8.0.0: 1443 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1444 | 1445 | /emojilib@2.4.0: 1446 | resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} 1447 | dev: true 1448 | 1449 | /env-ci@11.0.0: 1450 | resolution: {integrity: sha512-apikxMgkipkgTvMdRT9MNqWx5VLOci79F4VBd7Op/7OPjjoanjdAvn6fglMCCEf/1bAh8eOiuEVCUs4V3qP3nQ==} 1451 | engines: {node: ^18.17 || >=20.6.1} 1452 | dependencies: 1453 | execa: 8.0.1 1454 | java-properties: 1.0.2 1455 | dev: true 1456 | 1457 | /env-paths@2.2.1: 1458 | resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} 1459 | engines: {node: '>=6'} 1460 | dev: true 1461 | 1462 | /error-ex@1.3.2: 1463 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1464 | dependencies: 1465 | is-arrayish: 0.2.1 1466 | dev: true 1467 | 1468 | /esbuild@0.19.12: 1469 | resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} 1470 | engines: {node: '>=12'} 1471 | hasBin: true 1472 | requiresBuild: true 1473 | optionalDependencies: 1474 | '@esbuild/aix-ppc64': 0.19.12 1475 | '@esbuild/android-arm': 0.19.12 1476 | '@esbuild/android-arm64': 0.19.12 1477 | '@esbuild/android-x64': 0.19.12 1478 | '@esbuild/darwin-arm64': 0.19.12 1479 | '@esbuild/darwin-x64': 0.19.12 1480 | '@esbuild/freebsd-arm64': 0.19.12 1481 | '@esbuild/freebsd-x64': 0.19.12 1482 | '@esbuild/linux-arm': 0.19.12 1483 | '@esbuild/linux-arm64': 0.19.12 1484 | '@esbuild/linux-ia32': 0.19.12 1485 | '@esbuild/linux-loong64': 0.19.12 1486 | '@esbuild/linux-mips64el': 0.19.12 1487 | '@esbuild/linux-ppc64': 0.19.12 1488 | '@esbuild/linux-riscv64': 0.19.12 1489 | '@esbuild/linux-s390x': 0.19.12 1490 | '@esbuild/linux-x64': 0.19.12 1491 | '@esbuild/netbsd-x64': 0.19.12 1492 | '@esbuild/openbsd-x64': 0.19.12 1493 | '@esbuild/sunos-x64': 0.19.12 1494 | '@esbuild/win32-arm64': 0.19.12 1495 | '@esbuild/win32-ia32': 0.19.12 1496 | '@esbuild/win32-x64': 0.19.12 1497 | dev: true 1498 | 1499 | /escalade@3.1.1: 1500 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1501 | engines: {node: '>=6'} 1502 | dev: true 1503 | 1504 | /escape-string-regexp@1.0.5: 1505 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1506 | engines: {node: '>=0.8.0'} 1507 | 1508 | /escape-string-regexp@4.0.0: 1509 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1510 | engines: {node: '>=10'} 1511 | 1512 | /escape-string-regexp@5.0.0: 1513 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 1514 | engines: {node: '>=12'} 1515 | dev: true 1516 | 1517 | /eslint-scope@7.2.2: 1518 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 1519 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1520 | dependencies: 1521 | esrecurse: 4.3.0 1522 | estraverse: 5.3.0 1523 | dev: true 1524 | 1525 | /eslint-visitor-keys@3.4.3: 1526 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1527 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1528 | dev: true 1529 | 1530 | /eslint@8.56.0: 1531 | resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} 1532 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1533 | hasBin: true 1534 | dependencies: 1535 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) 1536 | '@eslint-community/regexpp': 4.10.0 1537 | '@eslint/eslintrc': 2.1.4 1538 | '@eslint/js': 8.56.0 1539 | '@humanwhocodes/config-array': 0.11.14 1540 | '@humanwhocodes/module-importer': 1.0.1 1541 | '@nodelib/fs.walk': 1.2.8 1542 | '@ungap/structured-clone': 1.2.0 1543 | ajv: 6.12.6 1544 | chalk: 4.1.2 1545 | cross-spawn: 7.0.3 1546 | debug: 4.3.4(supports-color@8.1.1) 1547 | doctrine: 3.0.0 1548 | escape-string-regexp: 4.0.0 1549 | eslint-scope: 7.2.2 1550 | eslint-visitor-keys: 3.4.3 1551 | espree: 9.6.1 1552 | esquery: 1.5.0 1553 | esutils: 2.0.3 1554 | fast-deep-equal: 3.1.3 1555 | file-entry-cache: 6.0.1 1556 | find-up: 5.0.0 1557 | glob-parent: 6.0.2 1558 | globals: 13.24.0 1559 | graphemer: 1.4.0 1560 | ignore: 5.2.1 1561 | imurmurhash: 0.1.4 1562 | is-glob: 4.0.3 1563 | is-path-inside: 3.0.3 1564 | js-yaml: 4.1.0 1565 | json-stable-stringify-without-jsonify: 1.0.1 1566 | levn: 0.4.1 1567 | lodash.merge: 4.6.2 1568 | minimatch: 3.1.2 1569 | natural-compare: 1.4.0 1570 | optionator: 0.9.3 1571 | strip-ansi: 6.0.1 1572 | text-table: 0.2.0 1573 | transitivePeerDependencies: 1574 | - supports-color 1575 | dev: true 1576 | 1577 | /esm@3.2.25: 1578 | resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} 1579 | engines: {node: '>=6'} 1580 | requiresBuild: true 1581 | dev: false 1582 | optional: true 1583 | 1584 | /espree@9.6.1: 1585 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 1586 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1587 | dependencies: 1588 | acorn: 8.11.3 1589 | acorn-jsx: 5.3.2(acorn@8.11.3) 1590 | eslint-visitor-keys: 3.4.3 1591 | dev: true 1592 | 1593 | /esprima@4.0.1: 1594 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 1595 | engines: {node: '>=4'} 1596 | hasBin: true 1597 | dev: false 1598 | 1599 | /esquery@1.5.0: 1600 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 1601 | engines: {node: '>=0.10'} 1602 | dependencies: 1603 | estraverse: 5.3.0 1604 | dev: true 1605 | 1606 | /esrecurse@4.3.0: 1607 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1608 | engines: {node: '>=4.0'} 1609 | dependencies: 1610 | estraverse: 5.3.0 1611 | dev: true 1612 | 1613 | /estraverse@5.3.0: 1614 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1615 | engines: {node: '>=4.0'} 1616 | dev: true 1617 | 1618 | /esutils@2.0.3: 1619 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1620 | engines: {node: '>=0.10.0'} 1621 | dev: true 1622 | 1623 | /execa@5.1.1: 1624 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 1625 | engines: {node: '>=10'} 1626 | dependencies: 1627 | cross-spawn: 7.0.3 1628 | get-stream: 6.0.1 1629 | human-signals: 2.1.0 1630 | is-stream: 2.0.1 1631 | merge-stream: 2.0.0 1632 | npm-run-path: 4.0.1 1633 | onetime: 5.1.2 1634 | signal-exit: 3.0.7 1635 | strip-final-newline: 2.0.0 1636 | dev: true 1637 | 1638 | /execa@8.0.1: 1639 | resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} 1640 | engines: {node: '>=16.17'} 1641 | dependencies: 1642 | cross-spawn: 7.0.3 1643 | get-stream: 8.0.1 1644 | human-signals: 5.0.0 1645 | is-stream: 3.0.0 1646 | merge-stream: 2.0.0 1647 | npm-run-path: 5.2.0 1648 | onetime: 6.0.0 1649 | signal-exit: 4.1.0 1650 | strip-final-newline: 3.0.0 1651 | dev: true 1652 | 1653 | /external-editor@3.1.0: 1654 | resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} 1655 | engines: {node: '>=4'} 1656 | dependencies: 1657 | chardet: 0.7.0 1658 | iconv-lite: 0.4.24 1659 | tmp: 0.0.33 1660 | dev: false 1661 | 1662 | /fast-deep-equal@3.1.3: 1663 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1664 | dev: true 1665 | 1666 | /fast-glob@3.2.12: 1667 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 1668 | engines: {node: '>=8.6.0'} 1669 | dependencies: 1670 | '@nodelib/fs.stat': 2.0.5 1671 | '@nodelib/fs.walk': 1.2.8 1672 | glob-parent: 5.1.2 1673 | merge2: 1.4.1 1674 | micromatch: 4.0.5 1675 | 1676 | /fast-glob@3.3.2: 1677 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1678 | engines: {node: '>=8.6.0'} 1679 | dependencies: 1680 | '@nodelib/fs.stat': 2.0.5 1681 | '@nodelib/fs.walk': 1.2.8 1682 | glob-parent: 5.1.2 1683 | merge2: 1.4.1 1684 | micromatch: 4.0.5 1685 | dev: true 1686 | 1687 | /fast-json-stable-stringify@2.1.0: 1688 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1689 | dev: true 1690 | 1691 | /fast-levenshtein@2.0.6: 1692 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1693 | dev: true 1694 | 1695 | /fastq@1.14.0: 1696 | resolution: {integrity: sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==} 1697 | dependencies: 1698 | reusify: 1.0.4 1699 | 1700 | /figures@2.0.0: 1701 | resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} 1702 | engines: {node: '>=4'} 1703 | dependencies: 1704 | escape-string-regexp: 1.0.5 1705 | dev: true 1706 | 1707 | /figures@3.2.0: 1708 | resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} 1709 | engines: {node: '>=8'} 1710 | dependencies: 1711 | escape-string-regexp: 1.0.5 1712 | dev: false 1713 | 1714 | /figures@6.0.1: 1715 | resolution: {integrity: sha512-0oY/olScYD4IhQ8u//gCPA4F3mlTn2dacYmiDm/mbDQvpmLjV4uH+zhsQ5IyXRyvqkvtUkXkNdGvg5OFJTCsuQ==} 1716 | engines: {node: '>=18'} 1717 | dependencies: 1718 | is-unicode-supported: 2.0.0 1719 | dev: true 1720 | 1721 | /file-entry-cache@6.0.1: 1722 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1723 | engines: {node: ^10.12.0 || >=12.0.0} 1724 | dependencies: 1725 | flat-cache: 3.0.4 1726 | dev: true 1727 | 1728 | /filelist@1.0.4: 1729 | resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} 1730 | dependencies: 1731 | minimatch: 5.1.6 1732 | dev: false 1733 | 1734 | /fill-range@7.0.1: 1735 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1736 | engines: {node: '>=8'} 1737 | dependencies: 1738 | to-regex-range: 5.0.1 1739 | 1740 | /find-up-simple@1.0.0: 1741 | resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} 1742 | engines: {node: '>=18'} 1743 | dev: true 1744 | 1745 | /find-up@2.1.0: 1746 | resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} 1747 | engines: {node: '>=4'} 1748 | dependencies: 1749 | locate-path: 2.0.0 1750 | dev: true 1751 | 1752 | /find-up@5.0.0: 1753 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1754 | engines: {node: '>=10'} 1755 | dependencies: 1756 | locate-path: 6.0.0 1757 | path-exists: 4.0.0 1758 | dev: true 1759 | 1760 | /find-versions@5.1.0: 1761 | resolution: {integrity: sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==} 1762 | engines: {node: '>=12'} 1763 | dependencies: 1764 | semver-regex: 4.0.5 1765 | dev: true 1766 | 1767 | /flat-cache@3.0.4: 1768 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1769 | engines: {node: ^10.12.0 || >=12.0.0} 1770 | dependencies: 1771 | flatted: 3.2.7 1772 | rimraf: 3.0.2 1773 | dev: true 1774 | 1775 | /flatted@3.2.7: 1776 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} 1777 | dev: true 1778 | 1779 | /from2@2.3.0: 1780 | resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} 1781 | dependencies: 1782 | inherits: 2.0.4 1783 | readable-stream: 2.3.7 1784 | dev: true 1785 | 1786 | /fs-extra@11.2.0: 1787 | resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} 1788 | engines: {node: '>=14.14'} 1789 | dependencies: 1790 | graceful-fs: 4.2.10 1791 | jsonfile: 6.1.0 1792 | universalify: 2.0.0 1793 | 1794 | /fs.realpath@1.0.0: 1795 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1796 | dev: true 1797 | 1798 | /fsevents@2.3.2: 1799 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1800 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1801 | os: [darwin] 1802 | requiresBuild: true 1803 | optional: true 1804 | 1805 | /function-bind@1.1.1: 1806 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1807 | dev: true 1808 | 1809 | /get-caller-file@2.0.5: 1810 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1811 | engines: {node: 6.* || 8.* || >= 10.*} 1812 | dev: true 1813 | 1814 | /get-package-type@0.1.0: 1815 | resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} 1816 | engines: {node: '>=8.0.0'} 1817 | dev: false 1818 | 1819 | /get-stream@6.0.1: 1820 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1821 | engines: {node: '>=10'} 1822 | dev: true 1823 | 1824 | /get-stream@7.0.1: 1825 | resolution: {integrity: sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==} 1826 | engines: {node: '>=16'} 1827 | dev: true 1828 | 1829 | /get-stream@8.0.1: 1830 | resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} 1831 | engines: {node: '>=16'} 1832 | dev: true 1833 | 1834 | /git-log-parser@1.2.0: 1835 | resolution: {integrity: sha512-rnCVNfkTL8tdNryFuaY0fYiBWEBcgF748O6ZI61rslBvr2o7U65c2/6npCRqH40vuAhtgtDiqLTJjBVdrejCzA==} 1836 | dependencies: 1837 | argv-formatter: 1.0.0 1838 | spawn-error-forwarder: 1.0.0 1839 | split2: 1.0.0 1840 | stream-combiner2: 1.1.1 1841 | through2: 2.0.5 1842 | traverse: 0.6.7 1843 | dev: true 1844 | 1845 | /glob-parent@5.1.2: 1846 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1847 | engines: {node: '>= 6'} 1848 | dependencies: 1849 | is-glob: 4.0.3 1850 | 1851 | /glob-parent@6.0.2: 1852 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1853 | engines: {node: '>=10.13.0'} 1854 | dependencies: 1855 | is-glob: 4.0.3 1856 | dev: true 1857 | 1858 | /glob@7.1.6: 1859 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} 1860 | dependencies: 1861 | fs.realpath: 1.0.0 1862 | inflight: 1.0.6 1863 | inherits: 2.0.4 1864 | minimatch: 3.1.2 1865 | once: 1.4.0 1866 | path-is-absolute: 1.0.1 1867 | dev: true 1868 | 1869 | /glob@7.2.3: 1870 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1871 | dependencies: 1872 | fs.realpath: 1.0.0 1873 | inflight: 1.0.6 1874 | inherits: 2.0.4 1875 | minimatch: 3.1.2 1876 | once: 1.4.0 1877 | path-is-absolute: 1.0.1 1878 | dev: true 1879 | 1880 | /globals@13.24.0: 1881 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} 1882 | engines: {node: '>=8'} 1883 | dependencies: 1884 | type-fest: 0.20.2 1885 | dev: true 1886 | 1887 | /globby@11.1.0: 1888 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1889 | engines: {node: '>=10'} 1890 | dependencies: 1891 | array-union: 2.1.0 1892 | dir-glob: 3.0.1 1893 | fast-glob: 3.2.12 1894 | ignore: 5.2.1 1895 | merge2: 1.4.1 1896 | slash: 3.0.0 1897 | 1898 | /globby@14.0.0: 1899 | resolution: {integrity: sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==} 1900 | engines: {node: '>=18'} 1901 | dependencies: 1902 | '@sindresorhus/merge-streams': 1.0.0 1903 | fast-glob: 3.3.2 1904 | ignore: 5.3.1 1905 | path-type: 5.0.0 1906 | slash: 5.1.0 1907 | unicorn-magic: 0.1.0 1908 | dev: true 1909 | 1910 | /graceful-fs@4.2.10: 1911 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 1912 | 1913 | /graphemer@1.4.0: 1914 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1915 | dev: true 1916 | 1917 | /handlebars@4.7.7: 1918 | resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} 1919 | engines: {node: '>=0.4.7'} 1920 | hasBin: true 1921 | dependencies: 1922 | minimist: 1.2.7 1923 | neo-async: 2.6.2 1924 | source-map: 0.6.1 1925 | wordwrap: 1.0.0 1926 | optionalDependencies: 1927 | uglify-js: 3.17.4 1928 | dev: true 1929 | 1930 | /has-flag@3.0.0: 1931 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1932 | engines: {node: '>=4'} 1933 | dev: true 1934 | 1935 | /has-flag@4.0.0: 1936 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1937 | engines: {node: '>=8'} 1938 | 1939 | /has@1.0.3: 1940 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1941 | engines: {node: '>= 0.4.0'} 1942 | dependencies: 1943 | function-bind: 1.1.1 1944 | dev: true 1945 | 1946 | /highlight.js@10.7.3: 1947 | resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} 1948 | dev: true 1949 | 1950 | /hook-std@3.0.0: 1951 | resolution: {integrity: sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==} 1952 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1953 | dev: true 1954 | 1955 | /hosted-git-info@7.0.1: 1956 | resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} 1957 | engines: {node: ^16.14.0 || >=18.0.0} 1958 | dependencies: 1959 | lru-cache: 10.2.0 1960 | dev: true 1961 | 1962 | /http-proxy-agent@7.0.0: 1963 | resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} 1964 | engines: {node: '>= 14'} 1965 | dependencies: 1966 | agent-base: 7.1.0 1967 | debug: 4.3.4(supports-color@8.1.1) 1968 | transitivePeerDependencies: 1969 | - supports-color 1970 | dev: true 1971 | 1972 | /https-proxy-agent@7.0.2: 1973 | resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} 1974 | engines: {node: '>= 14'} 1975 | dependencies: 1976 | agent-base: 7.1.0 1977 | debug: 4.3.4(supports-color@8.1.1) 1978 | transitivePeerDependencies: 1979 | - supports-color 1980 | dev: true 1981 | 1982 | /human-signals@2.1.0: 1983 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1984 | engines: {node: '>=10.17.0'} 1985 | dev: true 1986 | 1987 | /human-signals@5.0.0: 1988 | resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} 1989 | engines: {node: '>=16.17.0'} 1990 | dev: true 1991 | 1992 | /hyperlinker@1.0.0: 1993 | resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==} 1994 | engines: {node: '>=4'} 1995 | dev: false 1996 | 1997 | /iconv-lite@0.4.24: 1998 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1999 | engines: {node: '>=0.10.0'} 2000 | dependencies: 2001 | safer-buffer: 2.1.2 2002 | dev: false 2003 | 2004 | /ieee754@1.2.1: 2005 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 2006 | dev: false 2007 | 2008 | /ignore@5.2.1: 2009 | resolution: {integrity: sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==} 2010 | engines: {node: '>= 4'} 2011 | 2012 | /ignore@5.3.1: 2013 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} 2014 | engines: {node: '>= 4'} 2015 | dev: true 2016 | 2017 | /import-fresh@3.3.0: 2018 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 2019 | engines: {node: '>=6'} 2020 | dependencies: 2021 | parent-module: 1.0.1 2022 | resolve-from: 4.0.0 2023 | dev: true 2024 | 2025 | /import-from-esm@1.3.3: 2026 | resolution: {integrity: sha512-U3Qt/CyfFpTUv6LOP2jRTLYjphH6zg3okMfHbyqRa/W2w6hr8OsJWVggNlR4jxuojQy81TgTJTxgSkyoteRGMQ==} 2027 | engines: {node: '>=16.20'} 2028 | dependencies: 2029 | debug: 4.3.4(supports-color@8.1.1) 2030 | import-meta-resolve: 4.0.0 2031 | transitivePeerDependencies: 2032 | - supports-color 2033 | dev: true 2034 | 2035 | /import-meta-resolve@4.0.0: 2036 | resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} 2037 | dev: true 2038 | 2039 | /imurmurhash@0.1.4: 2040 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 2041 | engines: {node: '>=0.8.19'} 2042 | dev: true 2043 | 2044 | /indent-string@4.0.0: 2045 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 2046 | engines: {node: '>=8'} 2047 | 2048 | /indent-string@5.0.0: 2049 | resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} 2050 | engines: {node: '>=12'} 2051 | dev: true 2052 | 2053 | /index-to-position@0.1.2: 2054 | resolution: {integrity: sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==} 2055 | engines: {node: '>=18'} 2056 | dev: true 2057 | 2058 | /inflight@1.0.6: 2059 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 2060 | dependencies: 2061 | once: 1.4.0 2062 | wrappy: 1.0.2 2063 | dev: true 2064 | 2065 | /inherits@2.0.4: 2066 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 2067 | 2068 | /ini@1.3.8: 2069 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 2070 | dev: true 2071 | 2072 | /inquirer@8.2.5: 2073 | resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} 2074 | engines: {node: '>=12.0.0'} 2075 | dependencies: 2076 | ansi-escapes: 4.3.2 2077 | chalk: 4.1.2 2078 | cli-cursor: 3.1.0 2079 | cli-width: 3.0.0 2080 | external-editor: 3.1.0 2081 | figures: 3.2.0 2082 | lodash: 4.17.21 2083 | mute-stream: 0.0.8 2084 | ora: 5.4.1 2085 | run-async: 2.4.1 2086 | rxjs: 7.6.0 2087 | string-width: 4.2.3 2088 | strip-ansi: 6.0.1 2089 | through: 2.3.8 2090 | wrap-ansi: 7.0.0 2091 | dev: false 2092 | 2093 | /into-stream@7.0.0: 2094 | resolution: {integrity: sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==} 2095 | engines: {node: '>=12'} 2096 | dependencies: 2097 | from2: 2.3.0 2098 | p-is-promise: 3.0.0 2099 | dev: true 2100 | 2101 | /is-arrayish@0.2.1: 2102 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 2103 | dev: true 2104 | 2105 | /is-arrayish@0.3.2: 2106 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} 2107 | dev: false 2108 | 2109 | /is-binary-path@2.1.0: 2110 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 2111 | engines: {node: '>=8'} 2112 | dependencies: 2113 | binary-extensions: 2.2.0 2114 | 2115 | /is-core-module@2.11.0: 2116 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} 2117 | dependencies: 2118 | has: 1.0.3 2119 | dev: true 2120 | 2121 | /is-docker@2.2.1: 2122 | resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} 2123 | engines: {node: '>=8'} 2124 | hasBin: true 2125 | dev: false 2126 | 2127 | /is-extglob@2.1.1: 2128 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 2129 | engines: {node: '>=0.10.0'} 2130 | 2131 | /is-fullwidth-code-point@3.0.0: 2132 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 2133 | engines: {node: '>=8'} 2134 | 2135 | /is-glob@4.0.3: 2136 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 2137 | engines: {node: '>=0.10.0'} 2138 | dependencies: 2139 | is-extglob: 2.1.1 2140 | 2141 | /is-interactive@1.0.0: 2142 | resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} 2143 | engines: {node: '>=8'} 2144 | dev: false 2145 | 2146 | /is-number@7.0.0: 2147 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 2148 | engines: {node: '>=0.12.0'} 2149 | 2150 | /is-obj@2.0.0: 2151 | resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} 2152 | engines: {node: '>=8'} 2153 | dev: true 2154 | 2155 | /is-observable@2.1.0: 2156 | resolution: {integrity: sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw==} 2157 | engines: {node: '>=8'} 2158 | dev: false 2159 | 2160 | /is-path-inside@3.0.3: 2161 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 2162 | engines: {node: '>=8'} 2163 | dev: true 2164 | 2165 | /is-stream@2.0.1: 2166 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 2167 | engines: {node: '>=8'} 2168 | dev: true 2169 | 2170 | /is-stream@3.0.0: 2171 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 2172 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2173 | dev: true 2174 | 2175 | /is-text-path@2.0.0: 2176 | resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} 2177 | engines: {node: '>=8'} 2178 | dependencies: 2179 | text-extensions: 2.4.0 2180 | dev: true 2181 | 2182 | /is-unicode-supported@0.1.0: 2183 | resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} 2184 | engines: {node: '>=10'} 2185 | dev: false 2186 | 2187 | /is-unicode-supported@2.0.0: 2188 | resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} 2189 | engines: {node: '>=18'} 2190 | dev: true 2191 | 2192 | /is-wsl@2.2.0: 2193 | resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} 2194 | engines: {node: '>=8'} 2195 | dependencies: 2196 | is-docker: 2.2.1 2197 | dev: false 2198 | 2199 | /isarray@1.0.0: 2200 | resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} 2201 | dev: true 2202 | 2203 | /isexe@2.0.0: 2204 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 2205 | 2206 | /issue-parser@6.0.0: 2207 | resolution: {integrity: sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==} 2208 | engines: {node: '>=10.13'} 2209 | dependencies: 2210 | lodash.capitalize: 4.2.1 2211 | lodash.escaperegexp: 4.1.2 2212 | lodash.isplainobject: 4.0.6 2213 | lodash.isstring: 4.0.1 2214 | lodash.uniqby: 4.7.0 2215 | dev: true 2216 | 2217 | /jake@10.8.7: 2218 | resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} 2219 | engines: {node: '>=10'} 2220 | hasBin: true 2221 | dependencies: 2222 | async: 3.2.4 2223 | chalk: 4.1.2 2224 | filelist: 1.0.4 2225 | minimatch: 3.1.2 2226 | dev: false 2227 | 2228 | /java-properties@1.0.2: 2229 | resolution: {integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==} 2230 | engines: {node: '>= 0.6.0'} 2231 | dev: true 2232 | 2233 | /joycon@3.1.1: 2234 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 2235 | engines: {node: '>=10'} 2236 | dev: true 2237 | 2238 | /js-tokens@4.0.0: 2239 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2240 | dev: true 2241 | 2242 | /js-yaml@3.14.1: 2243 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 2244 | hasBin: true 2245 | dependencies: 2246 | argparse: 1.0.10 2247 | esprima: 4.0.1 2248 | dev: false 2249 | 2250 | /js-yaml@4.1.0: 2251 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 2252 | hasBin: true 2253 | dependencies: 2254 | argparse: 2.0.1 2255 | dev: true 2256 | 2257 | /json-parse-better-errors@1.0.2: 2258 | resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} 2259 | dev: true 2260 | 2261 | /json-parse-even-better-errors@2.3.1: 2262 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 2263 | dev: true 2264 | 2265 | /json-schema-traverse@0.4.1: 2266 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 2267 | dev: true 2268 | 2269 | /json-stable-stringify-without-jsonify@1.0.1: 2270 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 2271 | dev: true 2272 | 2273 | /json-stringify-safe@5.0.1: 2274 | resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} 2275 | dev: true 2276 | 2277 | /jsonfile@6.1.0: 2278 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 2279 | dependencies: 2280 | universalify: 2.0.0 2281 | optionalDependencies: 2282 | graceful-fs: 4.2.10 2283 | 2284 | /jsonparse@1.3.1: 2285 | resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} 2286 | engines: {'0': node >= 0.2.0} 2287 | dev: true 2288 | 2289 | /levn@0.4.1: 2290 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 2291 | engines: {node: '>= 0.8.0'} 2292 | dependencies: 2293 | prelude-ls: 1.2.1 2294 | type-check: 0.4.0 2295 | dev: true 2296 | 2297 | /lilconfig@3.0.0: 2298 | resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} 2299 | engines: {node: '>=14'} 2300 | dev: true 2301 | 2302 | /lines-and-columns@1.2.4: 2303 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 2304 | dev: true 2305 | 2306 | /load-json-file@4.0.0: 2307 | resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} 2308 | engines: {node: '>=4'} 2309 | dependencies: 2310 | graceful-fs: 4.2.10 2311 | parse-json: 4.0.0 2312 | pify: 3.0.0 2313 | strip-bom: 3.0.0 2314 | dev: true 2315 | 2316 | /load-tsconfig@0.2.3: 2317 | resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==} 2318 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2319 | dev: true 2320 | 2321 | /locate-path@2.0.0: 2322 | resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} 2323 | engines: {node: '>=4'} 2324 | dependencies: 2325 | p-locate: 2.0.0 2326 | path-exists: 3.0.0 2327 | dev: true 2328 | 2329 | /locate-path@6.0.0: 2330 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 2331 | engines: {node: '>=10'} 2332 | dependencies: 2333 | p-locate: 5.0.0 2334 | dev: true 2335 | 2336 | /lodash-es@4.17.21: 2337 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} 2338 | dev: true 2339 | 2340 | /lodash.capitalize@4.2.1: 2341 | resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} 2342 | dev: true 2343 | 2344 | /lodash.escaperegexp@4.1.2: 2345 | resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} 2346 | dev: true 2347 | 2348 | /lodash.isplainobject@4.0.6: 2349 | resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} 2350 | dev: true 2351 | 2352 | /lodash.isstring@4.0.1: 2353 | resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} 2354 | dev: true 2355 | 2356 | /lodash.merge@4.6.2: 2357 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 2358 | dev: true 2359 | 2360 | /lodash.sortby@4.7.0: 2361 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 2362 | dev: true 2363 | 2364 | /lodash.uniqby@4.7.0: 2365 | resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} 2366 | dev: true 2367 | 2368 | /lodash@4.17.21: 2369 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 2370 | 2371 | /log-symbols@4.1.0: 2372 | resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} 2373 | engines: {node: '>=10'} 2374 | dependencies: 2375 | chalk: 4.1.2 2376 | is-unicode-supported: 0.1.0 2377 | dev: false 2378 | 2379 | /lru-cache@10.2.0: 2380 | resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} 2381 | engines: {node: 14 || >=16.14} 2382 | dev: true 2383 | 2384 | /lru-cache@6.0.0: 2385 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2386 | engines: {node: '>=10'} 2387 | dependencies: 2388 | yallist: 4.0.0 2389 | dev: true 2390 | 2391 | /make-error@1.3.6: 2392 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} 2393 | dev: true 2394 | 2395 | /marked-terminal@7.0.0(marked@12.0.0): 2396 | resolution: {integrity: sha512-sNEx8nn9Ktcm6pL0TnRz8tnXq/mSS0Q1FRSwJOAqw4lAB4l49UeDf85Gm1n9RPFm5qurCPjwi1StAQT2XExhZw==} 2397 | engines: {node: '>=16.0.0'} 2398 | peerDependencies: 2399 | marked: '>=1 <13' 2400 | dependencies: 2401 | ansi-escapes: 6.2.0 2402 | chalk: 5.3.0 2403 | cli-highlight: 2.1.11 2404 | cli-table3: 0.6.3 2405 | marked: 12.0.0 2406 | node-emoji: 2.1.3 2407 | supports-hyperlinks: 3.0.0 2408 | dev: true 2409 | 2410 | /marked@12.0.0: 2411 | resolution: {integrity: sha512-Vkwtq9rLqXryZnWaQc86+FHLC6tr/fycMfYAhiOIXkrNmeGAyhSxjqu0Rs1i0bBqw5u0S7+lV9fdH2ZSVaoa0w==} 2412 | engines: {node: '>= 18'} 2413 | hasBin: true 2414 | dev: true 2415 | 2416 | /meow@12.1.1: 2417 | resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} 2418 | engines: {node: '>=16.10'} 2419 | dev: true 2420 | 2421 | /merge-stream@2.0.0: 2422 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 2423 | dev: true 2424 | 2425 | /merge2@1.4.1: 2426 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2427 | engines: {node: '>= 8'} 2428 | 2429 | /micromatch@4.0.5: 2430 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2431 | engines: {node: '>=8.6'} 2432 | dependencies: 2433 | braces: 3.0.2 2434 | picomatch: 2.3.1 2435 | 2436 | /mime@4.0.1: 2437 | resolution: {integrity: sha512-5lZ5tyrIfliMXzFtkYyekWbtRXObT9OWa8IwQ5uxTBDHucNNwniRqo0yInflj+iYi5CBa6qxadGzGarDfuEOxA==} 2438 | engines: {node: '>=16'} 2439 | hasBin: true 2440 | dev: true 2441 | 2442 | /mimic-fn@2.1.0: 2443 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 2444 | engines: {node: '>=6'} 2445 | 2446 | /mimic-fn@4.0.0: 2447 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 2448 | engines: {node: '>=12'} 2449 | dev: true 2450 | 2451 | /minimatch@3.1.2: 2452 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2453 | dependencies: 2454 | brace-expansion: 1.1.11 2455 | 2456 | /minimatch@5.1.6: 2457 | resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} 2458 | engines: {node: '>=10'} 2459 | dependencies: 2460 | brace-expansion: 2.0.1 2461 | dev: false 2462 | 2463 | /minimist@1.2.7: 2464 | resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} 2465 | dev: true 2466 | 2467 | /ms@2.1.2: 2468 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2469 | 2470 | /mute-stream@0.0.8: 2471 | resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} 2472 | dev: false 2473 | 2474 | /mz@2.7.0: 2475 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 2476 | dependencies: 2477 | any-promise: 1.3.0 2478 | object-assign: 4.1.1 2479 | thenify-all: 1.6.0 2480 | dev: true 2481 | 2482 | /natural-compare@1.4.0: 2483 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2484 | dev: true 2485 | 2486 | /natural-orderby@2.0.3: 2487 | resolution: {integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==} 2488 | dev: false 2489 | 2490 | /neo-async@2.6.2: 2491 | resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} 2492 | dev: true 2493 | 2494 | /nerf-dart@1.0.0: 2495 | resolution: {integrity: sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==} 2496 | dev: true 2497 | 2498 | /node-emoji@2.1.3: 2499 | resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} 2500 | engines: {node: '>=18'} 2501 | dependencies: 2502 | '@sindresorhus/is': 4.6.0 2503 | char-regex: 1.0.2 2504 | emojilib: 2.4.0 2505 | skin-tone: 2.0.0 2506 | dev: true 2507 | 2508 | /normalize-package-data@6.0.0: 2509 | resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} 2510 | engines: {node: ^16.14.0 || >=18.0.0} 2511 | dependencies: 2512 | hosted-git-info: 7.0.1 2513 | is-core-module: 2.11.0 2514 | semver: 7.3.8 2515 | validate-npm-package-license: 3.0.4 2516 | dev: true 2517 | 2518 | /normalize-path@3.0.0: 2519 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2520 | engines: {node: '>=0.10.0'} 2521 | 2522 | /normalize-url@8.0.0: 2523 | resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} 2524 | engines: {node: '>=14.16'} 2525 | dev: true 2526 | 2527 | /npm-run-path@4.0.1: 2528 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 2529 | engines: {node: '>=8'} 2530 | dependencies: 2531 | path-key: 3.1.1 2532 | dev: true 2533 | 2534 | /npm-run-path@5.2.0: 2535 | resolution: {integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==} 2536 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2537 | dependencies: 2538 | path-key: 4.0.0 2539 | dev: true 2540 | 2541 | /npm@10.4.0: 2542 | resolution: {integrity: sha512-RS7Mx0OVfXlOcQLRePuDIYdFCVBPCNapWHplDK+mh7GDdP/Tvor4ocuybRRPSvfcRb2vjRJt1fHCqw3cr8qACQ==} 2543 | engines: {node: ^18.17.0 || >=20.5.0} 2544 | hasBin: true 2545 | dev: true 2546 | bundledDependencies: 2547 | - '@isaacs/string-locale-compare' 2548 | - '@npmcli/arborist' 2549 | - '@npmcli/config' 2550 | - '@npmcli/fs' 2551 | - '@npmcli/map-workspaces' 2552 | - '@npmcli/package-json' 2553 | - '@npmcli/promise-spawn' 2554 | - '@npmcli/run-script' 2555 | - '@sigstore/tuf' 2556 | - abbrev 2557 | - archy 2558 | - cacache 2559 | - chalk 2560 | - ci-info 2561 | - cli-columns 2562 | - cli-table3 2563 | - columnify 2564 | - fastest-levenshtein 2565 | - fs-minipass 2566 | - glob 2567 | - graceful-fs 2568 | - hosted-git-info 2569 | - ini 2570 | - init-package-json 2571 | - is-cidr 2572 | - json-parse-even-better-errors 2573 | - libnpmaccess 2574 | - libnpmdiff 2575 | - libnpmexec 2576 | - libnpmfund 2577 | - libnpmhook 2578 | - libnpmorg 2579 | - libnpmpack 2580 | - libnpmpublish 2581 | - libnpmsearch 2582 | - libnpmteam 2583 | - libnpmversion 2584 | - make-fetch-happen 2585 | - minimatch 2586 | - minipass 2587 | - minipass-pipeline 2588 | - ms 2589 | - node-gyp 2590 | - nopt 2591 | - normalize-package-data 2592 | - npm-audit-report 2593 | - npm-install-checks 2594 | - npm-package-arg 2595 | - npm-pick-manifest 2596 | - npm-profile 2597 | - npm-registry-fetch 2598 | - npm-user-validate 2599 | - npmlog 2600 | - p-map 2601 | - pacote 2602 | - parse-conflict-json 2603 | - proc-log 2604 | - qrcode-terminal 2605 | - read 2606 | - semver 2607 | - spdx-expression-parse 2608 | - ssri 2609 | - supports-color 2610 | - tar 2611 | - text-table 2612 | - tiny-relative-date 2613 | - treeverse 2614 | - validate-npm-package-name 2615 | - which 2616 | - write-file-atomic 2617 | 2618 | /object-assign@4.1.1: 2619 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 2620 | engines: {node: '>=0.10.0'} 2621 | dev: true 2622 | 2623 | /object-treeify@1.1.33: 2624 | resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} 2625 | engines: {node: '>= 10'} 2626 | dev: false 2627 | 2628 | /observable-fns@0.6.1: 2629 | resolution: {integrity: sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg==} 2630 | dev: false 2631 | 2632 | /once@1.4.0: 2633 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2634 | dependencies: 2635 | wrappy: 1.0.2 2636 | dev: true 2637 | 2638 | /onetime@5.1.2: 2639 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 2640 | engines: {node: '>=6'} 2641 | dependencies: 2642 | mimic-fn: 2.1.0 2643 | 2644 | /onetime@6.0.0: 2645 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 2646 | engines: {node: '>=12'} 2647 | dependencies: 2648 | mimic-fn: 4.0.0 2649 | dev: true 2650 | 2651 | /optionator@0.9.3: 2652 | resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} 2653 | engines: {node: '>= 0.8.0'} 2654 | dependencies: 2655 | '@aashutoshrathi/word-wrap': 1.2.6 2656 | deep-is: 0.1.4 2657 | fast-levenshtein: 2.0.6 2658 | levn: 0.4.1 2659 | prelude-ls: 1.2.1 2660 | type-check: 0.4.0 2661 | dev: true 2662 | 2663 | /ora@5.4.1: 2664 | resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} 2665 | engines: {node: '>=10'} 2666 | dependencies: 2667 | bl: 4.1.0 2668 | chalk: 4.1.2 2669 | cli-cursor: 3.1.0 2670 | cli-spinners: 2.7.0 2671 | is-interactive: 1.0.0 2672 | is-unicode-supported: 0.1.0 2673 | log-symbols: 4.1.0 2674 | strip-ansi: 6.0.1 2675 | wcwidth: 1.0.1 2676 | dev: false 2677 | 2678 | /os-tmpdir@1.0.2: 2679 | resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} 2680 | engines: {node: '>=0.10.0'} 2681 | dev: false 2682 | 2683 | /p-each-series@3.0.0: 2684 | resolution: {integrity: sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==} 2685 | engines: {node: '>=12'} 2686 | dev: true 2687 | 2688 | /p-filter@4.1.0: 2689 | resolution: {integrity: sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==} 2690 | engines: {node: '>=18'} 2691 | dependencies: 2692 | p-map: 7.0.1 2693 | dev: true 2694 | 2695 | /p-is-promise@3.0.0: 2696 | resolution: {integrity: sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==} 2697 | engines: {node: '>=8'} 2698 | dev: true 2699 | 2700 | /p-limit@1.3.0: 2701 | resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} 2702 | engines: {node: '>=4'} 2703 | dependencies: 2704 | p-try: 1.0.0 2705 | dev: true 2706 | 2707 | /p-limit@3.1.0: 2708 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2709 | engines: {node: '>=10'} 2710 | dependencies: 2711 | yocto-queue: 0.1.0 2712 | dev: true 2713 | 2714 | /p-locate@2.0.0: 2715 | resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} 2716 | engines: {node: '>=4'} 2717 | dependencies: 2718 | p-limit: 1.3.0 2719 | dev: true 2720 | 2721 | /p-locate@5.0.0: 2722 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 2723 | engines: {node: '>=10'} 2724 | dependencies: 2725 | p-limit: 3.1.0 2726 | dev: true 2727 | 2728 | /p-map@7.0.1: 2729 | resolution: {integrity: sha512-2wnaR0XL/FDOj+TgpDuRb2KTjLnu3Fma6b1ZUwGY7LcqenMcvP/YFpjpbPKY6WVGsbuJZRuoUz8iPrt8ORnAFw==} 2730 | engines: {node: '>=18'} 2731 | dev: true 2732 | 2733 | /p-reduce@2.1.0: 2734 | resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==} 2735 | engines: {node: '>=8'} 2736 | dev: true 2737 | 2738 | /p-reduce@3.0.0: 2739 | resolution: {integrity: sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==} 2740 | engines: {node: '>=12'} 2741 | dev: true 2742 | 2743 | /p-try@1.0.0: 2744 | resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} 2745 | engines: {node: '>=4'} 2746 | dev: true 2747 | 2748 | /parent-module@1.0.1: 2749 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2750 | engines: {node: '>=6'} 2751 | dependencies: 2752 | callsites: 3.1.0 2753 | dev: true 2754 | 2755 | /parse-json@4.0.0: 2756 | resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} 2757 | engines: {node: '>=4'} 2758 | dependencies: 2759 | error-ex: 1.3.2 2760 | json-parse-better-errors: 1.0.2 2761 | dev: true 2762 | 2763 | /parse-json@5.2.0: 2764 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 2765 | engines: {node: '>=8'} 2766 | dependencies: 2767 | '@babel/code-frame': 7.18.6 2768 | error-ex: 1.3.2 2769 | json-parse-even-better-errors: 2.3.1 2770 | lines-and-columns: 1.2.4 2771 | dev: true 2772 | 2773 | /parse-json@8.1.0: 2774 | resolution: {integrity: sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==} 2775 | engines: {node: '>=18'} 2776 | dependencies: 2777 | '@babel/code-frame': 7.23.5 2778 | index-to-position: 0.1.2 2779 | type-fest: 4.10.2 2780 | dev: true 2781 | 2782 | /parse5-htmlparser2-tree-adapter@6.0.1: 2783 | resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} 2784 | dependencies: 2785 | parse5: 6.0.1 2786 | dev: true 2787 | 2788 | /parse5@5.1.1: 2789 | resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} 2790 | dev: true 2791 | 2792 | /parse5@6.0.1: 2793 | resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} 2794 | dev: true 2795 | 2796 | /password-prompt@1.1.3: 2797 | resolution: {integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==} 2798 | dependencies: 2799 | ansi-escapes: 4.3.2 2800 | cross-spawn: 7.0.3 2801 | dev: false 2802 | 2803 | /path-exists@3.0.0: 2804 | resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} 2805 | engines: {node: '>=4'} 2806 | dev: true 2807 | 2808 | /path-exists@4.0.0: 2809 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2810 | engines: {node: '>=8'} 2811 | dev: true 2812 | 2813 | /path-is-absolute@1.0.1: 2814 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2815 | engines: {node: '>=0.10.0'} 2816 | dev: true 2817 | 2818 | /path-key@3.1.1: 2819 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2820 | engines: {node: '>=8'} 2821 | 2822 | /path-key@4.0.0: 2823 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 2824 | engines: {node: '>=12'} 2825 | dev: true 2826 | 2827 | /path-type@4.0.0: 2828 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2829 | engines: {node: '>=8'} 2830 | 2831 | /path-type@5.0.0: 2832 | resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} 2833 | engines: {node: '>=12'} 2834 | dev: true 2835 | 2836 | /picomatch@2.3.1: 2837 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2838 | engines: {node: '>=8.6'} 2839 | 2840 | /pify@3.0.0: 2841 | resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} 2842 | engines: {node: '>=4'} 2843 | dev: true 2844 | 2845 | /pirates@4.0.5: 2846 | resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} 2847 | engines: {node: '>= 6'} 2848 | dev: true 2849 | 2850 | /pkg-conf@2.1.0: 2851 | resolution: {integrity: sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==} 2852 | engines: {node: '>=4'} 2853 | dependencies: 2854 | find-up: 2.1.0 2855 | load-json-file: 4.0.0 2856 | dev: true 2857 | 2858 | /postcss-load-config@4.0.2(ts-node@10.9.2): 2859 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 2860 | engines: {node: '>= 14'} 2861 | peerDependencies: 2862 | postcss: '>=8.0.9' 2863 | ts-node: '>=9.0.0' 2864 | peerDependenciesMeta: 2865 | postcss: 2866 | optional: true 2867 | ts-node: 2868 | optional: true 2869 | dependencies: 2870 | lilconfig: 3.0.0 2871 | ts-node: 10.9.2(@types/node@20.11.16)(typescript@5.3.3) 2872 | yaml: 2.3.4 2873 | dev: true 2874 | 2875 | /prelude-ls@1.2.1: 2876 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2877 | engines: {node: '>= 0.8.0'} 2878 | dev: true 2879 | 2880 | /prettier@3.0.3: 2881 | resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} 2882 | engines: {node: '>=14'} 2883 | hasBin: true 2884 | dev: false 2885 | 2886 | /prettier@3.2.5: 2887 | resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} 2888 | engines: {node: '>=14'} 2889 | hasBin: true 2890 | dev: false 2891 | 2892 | /process-nextick-args@2.0.1: 2893 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} 2894 | dev: true 2895 | 2896 | /proto-list@1.2.4: 2897 | resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} 2898 | dev: true 2899 | 2900 | /punycode@2.1.1: 2901 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 2902 | engines: {node: '>=6'} 2903 | dev: true 2904 | 2905 | /queue-microtask@1.2.3: 2906 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2907 | 2908 | /rc@1.2.8: 2909 | resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} 2910 | hasBin: true 2911 | dependencies: 2912 | deep-extend: 0.6.0 2913 | ini: 1.3.8 2914 | minimist: 1.2.7 2915 | strip-json-comments: 2.0.1 2916 | dev: true 2917 | 2918 | /read-pkg-up@11.0.0: 2919 | resolution: {integrity: sha512-LOVbvF1Q0SZdjClSefZ0Nz5z8u+tIE7mV5NibzmE9VYmDe9CaBbAVtz1veOSZbofrdsilxuDAYnFenukZVp8/Q==} 2920 | engines: {node: '>=18'} 2921 | deprecated: Renamed to read-package-up 2922 | dependencies: 2923 | find-up-simple: 1.0.0 2924 | read-pkg: 9.0.1 2925 | type-fest: 4.10.2 2926 | dev: true 2927 | 2928 | /read-pkg@9.0.1: 2929 | resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} 2930 | engines: {node: '>=18'} 2931 | dependencies: 2932 | '@types/normalize-package-data': 2.4.4 2933 | normalize-package-data: 6.0.0 2934 | parse-json: 8.1.0 2935 | type-fest: 4.10.2 2936 | unicorn-magic: 0.1.0 2937 | dev: true 2938 | 2939 | /readable-stream@2.3.7: 2940 | resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} 2941 | dependencies: 2942 | core-util-is: 1.0.3 2943 | inherits: 2.0.4 2944 | isarray: 1.0.0 2945 | process-nextick-args: 2.0.1 2946 | safe-buffer: 5.1.2 2947 | string_decoder: 1.1.1 2948 | util-deprecate: 1.0.2 2949 | dev: true 2950 | 2951 | /readable-stream@3.6.0: 2952 | resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} 2953 | engines: {node: '>= 6'} 2954 | dependencies: 2955 | inherits: 2.0.4 2956 | string_decoder: 1.3.0 2957 | util-deprecate: 1.0.2 2958 | dev: false 2959 | 2960 | /readdirp@3.6.0: 2961 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2962 | engines: {node: '>=8.10.0'} 2963 | dependencies: 2964 | picomatch: 2.3.1 2965 | 2966 | /redeyed@2.1.1: 2967 | resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} 2968 | dependencies: 2969 | esprima: 4.0.1 2970 | dev: false 2971 | 2972 | /registry-auth-token@5.0.2: 2973 | resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} 2974 | engines: {node: '>=14'} 2975 | dependencies: 2976 | '@pnpm/npm-conf': 2.2.2 2977 | dev: true 2978 | 2979 | /require-directory@2.1.1: 2980 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 2981 | engines: {node: '>=0.10.0'} 2982 | dev: true 2983 | 2984 | /resolve-from@4.0.0: 2985 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2986 | engines: {node: '>=4'} 2987 | dev: true 2988 | 2989 | /resolve-from@5.0.0: 2990 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 2991 | engines: {node: '>=8'} 2992 | dev: true 2993 | 2994 | /restore-cursor@3.1.0: 2995 | resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 2996 | engines: {node: '>=8'} 2997 | dependencies: 2998 | onetime: 5.1.2 2999 | signal-exit: 3.0.7 3000 | dev: false 3001 | 3002 | /reusify@1.0.4: 3003 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 3004 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 3005 | 3006 | /rimraf@3.0.2: 3007 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 3008 | hasBin: true 3009 | dependencies: 3010 | glob: 7.2.3 3011 | dev: true 3012 | 3013 | /rollup@4.9.6: 3014 | resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} 3015 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 3016 | hasBin: true 3017 | dependencies: 3018 | '@types/estree': 1.0.5 3019 | optionalDependencies: 3020 | '@rollup/rollup-android-arm-eabi': 4.9.6 3021 | '@rollup/rollup-android-arm64': 4.9.6 3022 | '@rollup/rollup-darwin-arm64': 4.9.6 3023 | '@rollup/rollup-darwin-x64': 4.9.6 3024 | '@rollup/rollup-linux-arm-gnueabihf': 4.9.6 3025 | '@rollup/rollup-linux-arm64-gnu': 4.9.6 3026 | '@rollup/rollup-linux-arm64-musl': 4.9.6 3027 | '@rollup/rollup-linux-riscv64-gnu': 4.9.6 3028 | '@rollup/rollup-linux-x64-gnu': 4.9.6 3029 | '@rollup/rollup-linux-x64-musl': 4.9.6 3030 | '@rollup/rollup-win32-arm64-msvc': 4.9.6 3031 | '@rollup/rollup-win32-ia32-msvc': 4.9.6 3032 | '@rollup/rollup-win32-x64-msvc': 4.9.6 3033 | fsevents: 2.3.2 3034 | dev: true 3035 | 3036 | /run-async@2.4.1: 3037 | resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} 3038 | engines: {node: '>=0.12.0'} 3039 | dev: false 3040 | 3041 | /run-parallel@1.2.0: 3042 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 3043 | dependencies: 3044 | queue-microtask: 1.2.3 3045 | 3046 | /rxjs@7.6.0: 3047 | resolution: {integrity: sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ==} 3048 | dependencies: 3049 | tslib: 2.4.1 3050 | dev: false 3051 | 3052 | /safe-buffer@5.1.2: 3053 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 3054 | dev: true 3055 | 3056 | /safe-buffer@5.2.1: 3057 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 3058 | dev: false 3059 | 3060 | /safer-buffer@2.1.2: 3061 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 3062 | dev: false 3063 | 3064 | /semantic-release@23.0.2(typescript@5.3.3): 3065 | resolution: {integrity: sha512-OnVYJ6Xgzwe1x8MKswba7RU9+5djS1MWRTrTn5qsq3xZYpslroZkV9Pt0dA2YcIuieeuSZWJhn+yUWoBUHO5Fw==} 3066 | engines: {node: '>=20.8.1'} 3067 | hasBin: true 3068 | dependencies: 3069 | '@semantic-release/commit-analyzer': 11.1.0(semantic-release@23.0.2) 3070 | '@semantic-release/error': 4.0.0 3071 | '@semantic-release/github': 9.2.6(semantic-release@23.0.2) 3072 | '@semantic-release/npm': 11.0.2(semantic-release@23.0.2) 3073 | '@semantic-release/release-notes-generator': 12.1.0(semantic-release@23.0.2) 3074 | aggregate-error: 5.0.0 3075 | cosmiconfig: 9.0.0(typescript@5.3.3) 3076 | debug: 4.3.4(supports-color@8.1.1) 3077 | env-ci: 11.0.0 3078 | execa: 8.0.1 3079 | figures: 6.0.1 3080 | find-versions: 5.1.0 3081 | get-stream: 6.0.1 3082 | git-log-parser: 1.2.0 3083 | hook-std: 3.0.0 3084 | hosted-git-info: 7.0.1 3085 | import-from-esm: 1.3.3 3086 | lodash-es: 4.17.21 3087 | marked: 12.0.0 3088 | marked-terminal: 7.0.0(marked@12.0.0) 3089 | micromatch: 4.0.5 3090 | p-each-series: 3.0.0 3091 | p-reduce: 3.0.0 3092 | read-pkg-up: 11.0.0 3093 | resolve-from: 5.0.0 3094 | semver: 7.3.8 3095 | semver-diff: 4.0.0 3096 | signale: 1.4.0 3097 | yargs: 17.7.2 3098 | transitivePeerDependencies: 3099 | - supports-color 3100 | - typescript 3101 | dev: true 3102 | 3103 | /semver-diff@4.0.0: 3104 | resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} 3105 | engines: {node: '>=12'} 3106 | dependencies: 3107 | semver: 7.3.8 3108 | dev: true 3109 | 3110 | /semver-regex@4.0.5: 3111 | resolution: {integrity: sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==} 3112 | engines: {node: '>=12'} 3113 | dev: true 3114 | 3115 | /semver@7.3.8: 3116 | resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} 3117 | engines: {node: '>=10'} 3118 | hasBin: true 3119 | dependencies: 3120 | lru-cache: 6.0.0 3121 | dev: true 3122 | 3123 | /semver@7.6.0: 3124 | resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} 3125 | engines: {node: '>=10'} 3126 | hasBin: true 3127 | dependencies: 3128 | lru-cache: 6.0.0 3129 | dev: true 3130 | 3131 | /shebang-command@2.0.0: 3132 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 3133 | engines: {node: '>=8'} 3134 | dependencies: 3135 | shebang-regex: 3.0.0 3136 | 3137 | /shebang-regex@3.0.0: 3138 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 3139 | engines: {node: '>=8'} 3140 | 3141 | /signal-exit@3.0.7: 3142 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 3143 | 3144 | /signal-exit@4.1.0: 3145 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 3146 | engines: {node: '>=14'} 3147 | dev: true 3148 | 3149 | /signale@1.4.0: 3150 | resolution: {integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==} 3151 | engines: {node: '>=6'} 3152 | dependencies: 3153 | chalk: 2.4.2 3154 | figures: 2.0.0 3155 | pkg-conf: 2.1.0 3156 | dev: true 3157 | 3158 | /simple-swizzle@0.2.2: 3159 | resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} 3160 | dependencies: 3161 | is-arrayish: 0.3.2 3162 | dev: false 3163 | 3164 | /skin-tone@2.0.0: 3165 | resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} 3166 | engines: {node: '>=8'} 3167 | dependencies: 3168 | unicode-emoji-modifier-base: 1.0.0 3169 | dev: true 3170 | 3171 | /slash@3.0.0: 3172 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 3173 | engines: {node: '>=8'} 3174 | 3175 | /slash@5.1.0: 3176 | resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} 3177 | engines: {node: '>=14.16'} 3178 | 3179 | /slice-ansi@4.0.0: 3180 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} 3181 | engines: {node: '>=10'} 3182 | dependencies: 3183 | ansi-styles: 4.3.0 3184 | astral-regex: 2.0.0 3185 | is-fullwidth-code-point: 3.0.0 3186 | dev: false 3187 | 3188 | /source-map@0.6.1: 3189 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 3190 | engines: {node: '>=0.10.0'} 3191 | dev: true 3192 | 3193 | /source-map@0.8.0-beta.0: 3194 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 3195 | engines: {node: '>= 8'} 3196 | dependencies: 3197 | whatwg-url: 7.1.0 3198 | dev: true 3199 | 3200 | /spawn-error-forwarder@1.0.0: 3201 | resolution: {integrity: sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==} 3202 | dev: true 3203 | 3204 | /spdx-correct@3.1.1: 3205 | resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} 3206 | dependencies: 3207 | spdx-expression-parse: 3.0.1 3208 | spdx-license-ids: 3.0.12 3209 | dev: true 3210 | 3211 | /spdx-exceptions@2.3.0: 3212 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 3213 | dev: true 3214 | 3215 | /spdx-expression-parse@3.0.1: 3216 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 3217 | dependencies: 3218 | spdx-exceptions: 2.3.0 3219 | spdx-license-ids: 3.0.12 3220 | dev: true 3221 | 3222 | /spdx-license-ids@3.0.12: 3223 | resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} 3224 | dev: true 3225 | 3226 | /split2@1.0.0: 3227 | resolution: {integrity: sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==} 3228 | dependencies: 3229 | through2: 2.0.5 3230 | dev: true 3231 | 3232 | /split2@4.2.0: 3233 | resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} 3234 | engines: {node: '>= 10.x'} 3235 | dev: true 3236 | 3237 | /sprintf-js@1.0.3: 3238 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 3239 | dev: false 3240 | 3241 | /stream-combiner2@1.1.1: 3242 | resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} 3243 | dependencies: 3244 | duplexer2: 0.1.4 3245 | readable-stream: 2.3.7 3246 | dev: true 3247 | 3248 | /string-width@4.2.3: 3249 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 3250 | engines: {node: '>=8'} 3251 | dependencies: 3252 | emoji-regex: 8.0.0 3253 | is-fullwidth-code-point: 3.0.0 3254 | strip-ansi: 6.0.1 3255 | 3256 | /string_decoder@1.1.1: 3257 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} 3258 | dependencies: 3259 | safe-buffer: 5.1.2 3260 | dev: true 3261 | 3262 | /string_decoder@1.3.0: 3263 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 3264 | dependencies: 3265 | safe-buffer: 5.2.1 3266 | dev: false 3267 | 3268 | /strip-ansi@6.0.1: 3269 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 3270 | engines: {node: '>=8'} 3271 | dependencies: 3272 | ansi-regex: 5.0.1 3273 | 3274 | /strip-bom@3.0.0: 3275 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 3276 | engines: {node: '>=4'} 3277 | dev: true 3278 | 3279 | /strip-final-newline@2.0.0: 3280 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 3281 | engines: {node: '>=6'} 3282 | dev: true 3283 | 3284 | /strip-final-newline@3.0.0: 3285 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 3286 | engines: {node: '>=12'} 3287 | dev: true 3288 | 3289 | /strip-json-comments@2.0.1: 3290 | resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} 3291 | engines: {node: '>=0.10.0'} 3292 | dev: true 3293 | 3294 | /strip-json-comments@3.1.1: 3295 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 3296 | engines: {node: '>=8'} 3297 | dev: true 3298 | 3299 | /sucrase@3.29.0: 3300 | resolution: {integrity: sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==} 3301 | engines: {node: '>=8'} 3302 | hasBin: true 3303 | dependencies: 3304 | commander: 4.1.1 3305 | glob: 7.1.6 3306 | lines-and-columns: 1.2.4 3307 | mz: 2.7.0 3308 | pirates: 4.0.5 3309 | ts-interface-checker: 0.1.13 3310 | dev: true 3311 | 3312 | /supports-color@5.5.0: 3313 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 3314 | engines: {node: '>=4'} 3315 | dependencies: 3316 | has-flag: 3.0.0 3317 | dev: true 3318 | 3319 | /supports-color@7.2.0: 3320 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 3321 | engines: {node: '>=8'} 3322 | dependencies: 3323 | has-flag: 4.0.0 3324 | 3325 | /supports-color@8.1.1: 3326 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 3327 | engines: {node: '>=10'} 3328 | dependencies: 3329 | has-flag: 4.0.0 3330 | 3331 | /supports-hyperlinks@2.3.0: 3332 | resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} 3333 | engines: {node: '>=8'} 3334 | dependencies: 3335 | has-flag: 4.0.0 3336 | supports-color: 7.2.0 3337 | dev: false 3338 | 3339 | /supports-hyperlinks@3.0.0: 3340 | resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==} 3341 | engines: {node: '>=14.18'} 3342 | dependencies: 3343 | has-flag: 4.0.0 3344 | supports-color: 7.2.0 3345 | dev: true 3346 | 3347 | /temp-dir@3.0.0: 3348 | resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} 3349 | engines: {node: '>=14.16'} 3350 | dev: true 3351 | 3352 | /tempy@3.1.0: 3353 | resolution: {integrity: sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==} 3354 | engines: {node: '>=14.16'} 3355 | dependencies: 3356 | is-stream: 3.0.0 3357 | temp-dir: 3.0.0 3358 | type-fest: 2.19.0 3359 | unique-string: 3.0.0 3360 | dev: true 3361 | 3362 | /text-extensions@2.4.0: 3363 | resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} 3364 | engines: {node: '>=8'} 3365 | dev: true 3366 | 3367 | /text-table@0.2.0: 3368 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 3369 | dev: true 3370 | 3371 | /thenify-all@1.6.0: 3372 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 3373 | engines: {node: '>=0.8'} 3374 | dependencies: 3375 | thenify: 3.3.1 3376 | dev: true 3377 | 3378 | /thenify@3.3.1: 3379 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 3380 | dependencies: 3381 | any-promise: 1.3.0 3382 | dev: true 3383 | 3384 | /threads@1.7.0: 3385 | resolution: {integrity: sha512-Mx5NBSHX3sQYR6iI9VYbgHKBLisyB+xROCBGjjWm1O9wb9vfLxdaGtmT/KCjUqMsSNW6nERzCW3T6H43LqjDZQ==} 3386 | dependencies: 3387 | callsites: 3.1.0 3388 | debug: 4.3.4(supports-color@8.1.1) 3389 | is-observable: 2.1.0 3390 | observable-fns: 0.6.1 3391 | optionalDependencies: 3392 | tiny-worker: 2.3.0 3393 | transitivePeerDependencies: 3394 | - supports-color 3395 | dev: false 3396 | 3397 | /through2@2.0.5: 3398 | resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} 3399 | dependencies: 3400 | readable-stream: 2.3.7 3401 | xtend: 4.0.2 3402 | dev: true 3403 | 3404 | /through@2.3.8: 3405 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 3406 | 3407 | /tiny-worker@2.3.0: 3408 | resolution: {integrity: sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==} 3409 | requiresBuild: true 3410 | dependencies: 3411 | esm: 3.2.25 3412 | dev: false 3413 | optional: true 3414 | 3415 | /tmp@0.0.33: 3416 | resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 3417 | engines: {node: '>=0.6.0'} 3418 | dependencies: 3419 | os-tmpdir: 1.0.2 3420 | dev: false 3421 | 3422 | /to-regex-range@5.0.1: 3423 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 3424 | engines: {node: '>=8.0'} 3425 | dependencies: 3426 | is-number: 7.0.0 3427 | 3428 | /tr46@1.0.1: 3429 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 3430 | dependencies: 3431 | punycode: 2.1.1 3432 | dev: true 3433 | 3434 | /traverse@0.6.7: 3435 | resolution: {integrity: sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==} 3436 | dev: true 3437 | 3438 | /tree-kill@1.2.2: 3439 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 3440 | hasBin: true 3441 | dev: true 3442 | 3443 | /ts-interface-checker@0.1.13: 3444 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 3445 | dev: true 3446 | 3447 | /ts-node@10.9.2(@types/node@20.11.16)(typescript@5.3.3): 3448 | resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} 3449 | hasBin: true 3450 | peerDependencies: 3451 | '@swc/core': '>=1.2.50' 3452 | '@swc/wasm': '>=1.2.50' 3453 | '@types/node': '*' 3454 | typescript: '>=2.7' 3455 | peerDependenciesMeta: 3456 | '@swc/core': 3457 | optional: true 3458 | '@swc/wasm': 3459 | optional: true 3460 | dependencies: 3461 | '@cspotcode/source-map-support': 0.8.1 3462 | '@tsconfig/node10': 1.0.9 3463 | '@tsconfig/node12': 1.0.11 3464 | '@tsconfig/node14': 1.0.3 3465 | '@tsconfig/node16': 1.0.3 3466 | '@types/node': 20.11.16 3467 | acorn: 8.8.1 3468 | acorn-walk: 8.2.0 3469 | arg: 4.1.3 3470 | create-require: 1.1.1 3471 | diff: 4.0.2 3472 | make-error: 1.3.6 3473 | typescript: 5.3.3 3474 | v8-compile-cache-lib: 3.0.1 3475 | yn: 3.1.1 3476 | dev: true 3477 | 3478 | /ts-to-zod@3.7.0: 3479 | resolution: {integrity: sha512-FU0BZH1hoLtlLPLXdjyuWWJ3Gjqumza7mxh/KIZqrsatPvoESrq73FLv0TmVGVA+tUMagmsH/OQUXUz5E8zfCw==} 3480 | hasBin: true 3481 | dependencies: 3482 | '@oclif/core': 3.19.1 3483 | '@typescript/vfs': 1.5.0 3484 | case: 1.6.3 3485 | chokidar: 3.5.3 3486 | fs-extra: 11.2.0 3487 | inquirer: 8.2.5 3488 | lodash: 4.17.21 3489 | ora: 5.4.1 3490 | prettier: 3.0.3 3491 | rxjs: 7.6.0 3492 | slash: 3.0.0 3493 | threads: 1.7.0 3494 | tslib: 2.4.1 3495 | tsutils: 3.21.0(typescript@5.3.3) 3496 | typescript: 5.3.3 3497 | zod: 3.22.4 3498 | transitivePeerDependencies: 3499 | - supports-color 3500 | dev: false 3501 | 3502 | /tslib@1.14.1: 3503 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 3504 | dev: false 3505 | 3506 | /tslib@2.4.1: 3507 | resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} 3508 | dev: false 3509 | 3510 | /tsup@8.0.1(ts-node@10.9.2)(typescript@5.3.3): 3511 | resolution: {integrity: sha512-hvW7gUSG96j53ZTSlT4j/KL0q1Q2l6TqGBFc6/mu/L46IoNWqLLUzLRLP1R8Q7xrJTmkDxxDoojV5uCVs1sVOg==} 3512 | engines: {node: '>=18'} 3513 | hasBin: true 3514 | peerDependencies: 3515 | '@microsoft/api-extractor': ^7.36.0 3516 | '@swc/core': ^1 3517 | postcss: ^8.4.12 3518 | typescript: '>=4.5.0' 3519 | peerDependenciesMeta: 3520 | '@microsoft/api-extractor': 3521 | optional: true 3522 | '@swc/core': 3523 | optional: true 3524 | postcss: 3525 | optional: true 3526 | typescript: 3527 | optional: true 3528 | dependencies: 3529 | bundle-require: 4.0.2(esbuild@0.19.12) 3530 | cac: 6.7.14 3531 | chokidar: 3.5.3 3532 | debug: 4.3.4(supports-color@8.1.1) 3533 | esbuild: 0.19.12 3534 | execa: 5.1.1 3535 | globby: 11.1.0 3536 | joycon: 3.1.1 3537 | postcss-load-config: 4.0.2(ts-node@10.9.2) 3538 | resolve-from: 5.0.0 3539 | rollup: 4.9.6 3540 | source-map: 0.8.0-beta.0 3541 | sucrase: 3.29.0 3542 | tree-kill: 1.2.2 3543 | typescript: 5.3.3 3544 | transitivePeerDependencies: 3545 | - supports-color 3546 | - ts-node 3547 | dev: true 3548 | 3549 | /tsutils@3.21.0(typescript@5.3.3): 3550 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 3551 | engines: {node: '>= 6'} 3552 | peerDependencies: 3553 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 3554 | dependencies: 3555 | tslib: 1.14.1 3556 | typescript: 5.3.3 3557 | dev: false 3558 | 3559 | /type-check@0.4.0: 3560 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 3561 | engines: {node: '>= 0.8.0'} 3562 | dependencies: 3563 | prelude-ls: 1.2.1 3564 | dev: true 3565 | 3566 | /type-fest@0.20.2: 3567 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 3568 | engines: {node: '>=10'} 3569 | dev: true 3570 | 3571 | /type-fest@0.21.3: 3572 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 3573 | engines: {node: '>=10'} 3574 | dev: false 3575 | 3576 | /type-fest@1.4.0: 3577 | resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} 3578 | engines: {node: '>=10'} 3579 | dev: true 3580 | 3581 | /type-fest@2.19.0: 3582 | resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} 3583 | engines: {node: '>=12.20'} 3584 | dev: true 3585 | 3586 | /type-fest@3.13.1: 3587 | resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} 3588 | engines: {node: '>=14.16'} 3589 | dev: true 3590 | 3591 | /type-fest@4.10.2: 3592 | resolution: {integrity: sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw==} 3593 | engines: {node: '>=16'} 3594 | dev: true 3595 | 3596 | /typescript@5.3.3: 3597 | resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} 3598 | engines: {node: '>=14.17'} 3599 | hasBin: true 3600 | 3601 | /uglify-js@3.17.4: 3602 | resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} 3603 | engines: {node: '>=0.8.0'} 3604 | hasBin: true 3605 | requiresBuild: true 3606 | dev: true 3607 | optional: true 3608 | 3609 | /undici-types@5.26.5: 3610 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 3611 | 3612 | /unicode-emoji-modifier-base@1.0.0: 3613 | resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} 3614 | engines: {node: '>=4'} 3615 | dev: true 3616 | 3617 | /unicorn-magic@0.1.0: 3618 | resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} 3619 | engines: {node: '>=18'} 3620 | dev: true 3621 | 3622 | /unique-string@3.0.0: 3623 | resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} 3624 | engines: {node: '>=12'} 3625 | dependencies: 3626 | crypto-random-string: 4.0.0 3627 | dev: true 3628 | 3629 | /universal-user-agent@6.0.0: 3630 | resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} 3631 | dev: true 3632 | 3633 | /universalify@2.0.0: 3634 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} 3635 | engines: {node: '>= 10.0.0'} 3636 | 3637 | /uri-js@4.4.1: 3638 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 3639 | dependencies: 3640 | punycode: 2.1.1 3641 | dev: true 3642 | 3643 | /url-join@5.0.0: 3644 | resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==} 3645 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 3646 | dev: true 3647 | 3648 | /util-deprecate@1.0.2: 3649 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 3650 | 3651 | /v8-compile-cache-lib@3.0.1: 3652 | resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} 3653 | dev: true 3654 | 3655 | /validate-npm-package-license@3.0.4: 3656 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 3657 | dependencies: 3658 | spdx-correct: 3.1.1 3659 | spdx-expression-parse: 3.0.1 3660 | dev: true 3661 | 3662 | /wcwidth@1.0.1: 3663 | resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} 3664 | dependencies: 3665 | defaults: 1.0.4 3666 | dev: false 3667 | 3668 | /webidl-conversions@4.0.2: 3669 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 3670 | dev: true 3671 | 3672 | /whatwg-url@7.1.0: 3673 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 3674 | dependencies: 3675 | lodash.sortby: 4.7.0 3676 | tr46: 1.0.1 3677 | webidl-conversions: 4.0.2 3678 | dev: true 3679 | 3680 | /which@2.0.2: 3681 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3682 | engines: {node: '>= 8'} 3683 | hasBin: true 3684 | dependencies: 3685 | isexe: 2.0.0 3686 | 3687 | /widest-line@3.1.0: 3688 | resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} 3689 | engines: {node: '>=8'} 3690 | dependencies: 3691 | string-width: 4.2.3 3692 | dev: false 3693 | 3694 | /wordwrap@1.0.0: 3695 | resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} 3696 | 3697 | /wrap-ansi@7.0.0: 3698 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 3699 | engines: {node: '>=10'} 3700 | dependencies: 3701 | ansi-styles: 4.3.0 3702 | string-width: 4.2.3 3703 | strip-ansi: 6.0.1 3704 | 3705 | /wrappy@1.0.2: 3706 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3707 | dev: true 3708 | 3709 | /xtend@4.0.2: 3710 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 3711 | engines: {node: '>=0.4'} 3712 | dev: true 3713 | 3714 | /y18n@5.0.8: 3715 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 3716 | engines: {node: '>=10'} 3717 | dev: true 3718 | 3719 | /yallist@4.0.0: 3720 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3721 | dev: true 3722 | 3723 | /yaml@2.3.4: 3724 | resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} 3725 | engines: {node: '>= 14'} 3726 | dev: true 3727 | 3728 | /yargs-parser@20.2.9: 3729 | resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} 3730 | engines: {node: '>=10'} 3731 | dev: true 3732 | 3733 | /yargs-parser@21.1.1: 3734 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 3735 | engines: {node: '>=12'} 3736 | dev: true 3737 | 3738 | /yargs@16.2.0: 3739 | resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} 3740 | engines: {node: '>=10'} 3741 | dependencies: 3742 | cliui: 7.0.4 3743 | escalade: 3.1.1 3744 | get-caller-file: 2.0.5 3745 | require-directory: 2.1.1 3746 | string-width: 4.2.3 3747 | y18n: 5.0.8 3748 | yargs-parser: 20.2.9 3749 | dev: true 3750 | 3751 | /yargs@17.7.2: 3752 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 3753 | engines: {node: '>=12'} 3754 | dependencies: 3755 | cliui: 8.0.1 3756 | escalade: 3.1.1 3757 | get-caller-file: 2.0.5 3758 | require-directory: 2.1.1 3759 | string-width: 4.2.3 3760 | y18n: 5.0.8 3761 | yargs-parser: 21.1.1 3762 | dev: true 3763 | 3764 | /yn@3.1.1: 3765 | resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} 3766 | engines: {node: '>=6'} 3767 | dev: true 3768 | 3769 | /yocto-queue@0.1.0: 3770 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 3771 | engines: {node: '>=10'} 3772 | dev: true 3773 | 3774 | /zod@3.22.4: 3775 | resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} 3776 | dev: false 3777 | -------------------------------------------------------------------------------- /prettier.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | singleQuote: true, 3 | }; 4 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": [ 4 | "config:base" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /src/cli.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | import { program } from 'commander'; 4 | import fsSync from 'node:fs'; 5 | import { join } from 'node:path'; 6 | import supabaseToZod, { supabaseToZodOptionsSchema } from './supabase-to-zod'; 7 | import * as url from 'url'; 8 | 9 | const __dirname = url.fileURLToPath(new URL('.', import.meta.url)); 10 | const defaultPackageJsonPath = join(__dirname, 'package.json'); 11 | const packageJsonPath = fsSync.existsSync(defaultPackageJsonPath) 12 | ? defaultPackageJsonPath 13 | : join(__dirname, '../package.json'); 14 | 15 | const packageJson = JSON.parse( 16 | fsSync.readFileSync(packageJsonPath, {}).toString() 17 | ); 18 | 19 | program 20 | .name(packageJson.name) 21 | .version(packageJson.version) 22 | .option('-i, --input ', 'Path to the types generated by supabase cli') 23 | .option('-o, --output ', 'Path to the output file') 24 | .option('-s, --schema [schema]', 'Specify schema', 'public') 25 | .parse(process.argv); 26 | const opts = supabaseToZodOptionsSchema.parse(program.opts()); 27 | void (async () => { 28 | try { 29 | await supabaseToZod(opts); 30 | process.exit(); 31 | } catch (error) { 32 | console.error(error); 33 | process.exit(1); 34 | } 35 | })(); 36 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import supabaseToZod from './supabase-to-zod'; 2 | 3 | export { transformTypes, TransformTypesOptions } from './lib'; 4 | export default supabaseToZod; 5 | -------------------------------------------------------------------------------- /src/lib/.gitignore: -------------------------------------------------------------------------------- 1 | temp.ts 2 | temp 3 | -------------------------------------------------------------------------------- /src/lib/get-import-path.ts: -------------------------------------------------------------------------------- 1 | import slash from 'slash'; 2 | import { parse, relative } from 'path'; 3 | 4 | /** 5 | * Resolve the path of an import. 6 | * 7 | * @param from path of the current file 8 | * @param to path of the import file 9 | * @returns relative path without extension 10 | */ 11 | export function getImportPath(from: string, to: string) { 12 | const relativePath = slash(relative(from, to).slice(1)); 13 | const { dir, name } = parse(relativePath); 14 | 15 | return `${dir}/${name}`; 16 | } 17 | -------------------------------------------------------------------------------- /src/lib/get-node-name.ts: -------------------------------------------------------------------------------- 1 | import ts from 'typescript'; 2 | 3 | export const getNodeName = (n: ts.Node) => { 4 | let name: string | undefined; 5 | n.forEachChild((n) => { 6 | if (ts.isIdentifier(n)) { 7 | name = n.text; 8 | } 9 | 10 | // Handle quoted identifiers in case they contain special characters 11 | if (ts.isStringLiteral(n)) { 12 | name = n.text; 13 | } 14 | }); 15 | if (!name) throw new Error('Cannot get name of node'); 16 | return name; 17 | }; 18 | -------------------------------------------------------------------------------- /src/lib/index.ts: -------------------------------------------------------------------------------- 1 | export * from './get-import-path'; 2 | export * from './transform-types'; 3 | -------------------------------------------------------------------------------- /src/lib/transform-types.ts: -------------------------------------------------------------------------------- 1 | import ts from 'typescript'; 2 | import { z } from 'zod'; 3 | import { getNodeName } from './get-node-name'; 4 | 5 | const enumFormatterSchema = z.function().args(z.string()).returns(z.string()); 6 | const compositeTypeFormatterSchema = z 7 | .function() 8 | .args(z.string()) 9 | .returns(z.string()); 10 | 11 | const functionFormatterSchema = z 12 | .function() 13 | .args(z.string(), z.string()) 14 | .returns(z.string()); 15 | 16 | const tableOrViewFormatterSchema = z 17 | .function() 18 | .args(z.string(), z.string()) 19 | .returns(z.string()); 20 | 21 | export const transformTypesOptionsSchema = z.object({ 22 | sourceText: z.string(), 23 | schema: z.string().default('public'), 24 | enumFormatter: enumFormatterSchema.default(() => (name: string) => name), 25 | compositeTypeFormatter: compositeTypeFormatterSchema.default( 26 | () => (name: string) => name 27 | ), 28 | functionFormatter: functionFormatterSchema.default( 29 | () => (name: string, type: string) => `${name}${type}` 30 | ), 31 | tableOrViewFormatter: tableOrViewFormatterSchema.default( 32 | () => (name: string, operation: string) => `${name}${operation}` 33 | ), 34 | }); 35 | 36 | export type TransformTypesOptions = z.infer; 37 | 38 | export const transformTypes = z 39 | .function() 40 | .args(transformTypesOptionsSchema) 41 | .returns(z.string()) 42 | .implement((opts) => { 43 | const { 44 | schema, 45 | tableOrViewFormatter, 46 | enumFormatter, 47 | compositeTypeFormatter, 48 | functionFormatter, 49 | } = opts; 50 | const sourceFile = ts.createSourceFile( 51 | 'index.ts', 52 | opts.sourceText, 53 | ts.ScriptTarget.Latest 54 | ); 55 | 56 | const typeStrings: string[] = []; 57 | const enumNames: { name: string; formattedName: string }[] = []; 58 | const compositeTypeNames: { name: string; formattedName: string }[] = []; 59 | 60 | sourceFile.forEachChild((n) => { 61 | const processDatabase = (n: ts.Node | ts.TypeNode) => { 62 | if (ts.isPropertySignature(n)) { 63 | // Schema 64 | const schemaName = getNodeName(n); 65 | if (schemaName === schema) { 66 | n.forEachChild((n) => { 67 | if (ts.isTypeLiteralNode(n)) { 68 | n.forEachChild((n) => { 69 | if (ts.isPropertySignature(n) && ts.isIdentifier(n.name)) { 70 | if (['Tables', 'Views'].includes(n.name.text)) { 71 | n.forEachChild((n) => { 72 | if (ts.isTypeLiteralNode(n)) { 73 | n.forEachChild((n) => { 74 | if (ts.isPropertySignature(n)) { 75 | // Table or View 76 | const tableOrViewName = getNodeName(n); 77 | n.forEachChild((n) => { 78 | if (ts.isTypeLiteralNode(n)) { 79 | n.forEachChild((n) => { 80 | if (ts.isPropertySignature(n)) { 81 | const operation = getNodeName(n); 82 | if (operation) { 83 | n.forEachChild((n) => { 84 | if ( 85 | ts.isTypeLiteralNode(n) || 86 | // Handle `Relationships` operation which is an array 87 | ts.isTupleTypeNode(n) 88 | ) { 89 | typeStrings.push( 90 | `export type ${tableOrViewFormatter( 91 | tableOrViewName, 92 | operation, 93 | )} = ${n.getText(sourceFile)}`, 94 | ); 95 | } 96 | }); 97 | } 98 | } 99 | }); 100 | } 101 | }); 102 | } 103 | }); 104 | } 105 | }); 106 | } 107 | if ('Enums' === n.name.text) { 108 | n.forEachChild((n) => { 109 | if (ts.isTypeLiteralNode(n)) { 110 | n.forEachChild((n) => { 111 | const enumName = getNodeName(n); 112 | if (ts.isPropertySignature(n)) { 113 | n.forEachChild((n) => { 114 | if (ts.isUnionTypeNode(n)) { 115 | const formattedName = enumFormatter(enumName); 116 | typeStrings.push( 117 | `export type ${formattedName} = ${n.getText( 118 | sourceFile, 119 | )}`, 120 | ); 121 | enumNames.push({ 122 | formattedName, 123 | name: enumName, 124 | }); 125 | } 126 | 127 | // Handle single-member enums 128 | if (ts.isLiteralTypeNode(n)) { 129 | const formattedName = enumFormatter(enumName); 130 | typeStrings.push( 131 | `export type ${formattedName} = ${n.getText( 132 | sourceFile, 133 | )}`, 134 | ); 135 | enumNames.push({ 136 | formattedName, 137 | name: enumName, 138 | }); 139 | } 140 | }); 141 | } 142 | }); 143 | } 144 | }); 145 | } 146 | if ('CompositeTypes' === n.name.text) { 147 | n.forEachChild((n) => { 148 | if (ts.isTypeLiteralNode(n)) { 149 | n.forEachChild((n) => { 150 | const enumName = getNodeName(n); 151 | if (ts.isPropertySignature(n)) { 152 | n.forEachChild((n) => { 153 | if (ts.isTypeLiteralNode(n)) { 154 | const formattedName = 155 | compositeTypeFormatter(enumName); 156 | typeStrings.push( 157 | `export type ${formattedName} = ${n.getText( 158 | sourceFile, 159 | )}`, 160 | ); 161 | compositeTypeNames.push({ 162 | formattedName, 163 | name: enumName, 164 | }); 165 | } 166 | }); 167 | } 168 | }); 169 | } 170 | }); 171 | } 172 | if ('Functions' === n.name.text) { 173 | n.forEachChild((n) => { 174 | if (ts.isTypeLiteralNode(n)) { 175 | n.forEachChild((n) => { 176 | if (ts.isPropertySignature(n)) { 177 | const functionName = getNodeName(n); 178 | n.forEachChild((n) => { 179 | if (ts.isTypeLiteralNode(n)) { 180 | n.forEachChild((n) => { 181 | if (ts.isPropertySignature(n)) { 182 | const argType = getNodeName(n); 183 | n.forEachChild((n) => { 184 | if (ts.isTypeReferenceNode(n)) { 185 | typeStrings.push( 186 | `export type ${functionFormatter( 187 | functionName, 188 | argType, 189 | )} = ${n.getText(sourceFile)}`, 190 | ); 191 | } 192 | }); 193 | } 194 | }); 195 | } 196 | }); 197 | } 198 | }); 199 | } 200 | }); 201 | } 202 | } 203 | }); 204 | } 205 | }); 206 | } 207 | } 208 | }; 209 | 210 | // Database 211 | if ( 212 | ts.isTypeAliasDeclaration(n) && 213 | ts.isTypeLiteralNode(n.type) && 214 | n.name.text === 'Database' 215 | ) { 216 | n.type.members.forEach(processDatabase); 217 | } else if (ts.isInterfaceDeclaration(n) && n.name.text === 'Database') { 218 | n.forEachChild(processDatabase); 219 | } 220 | 221 | if (ts.isTypeAliasDeclaration(n) && n.name.text === 'Json') { 222 | typeStrings.push(n.getText(sourceFile)); 223 | } 224 | }); 225 | 226 | let parsedTypes = typeStrings 227 | .filter((s) => !s.includes('Record; 43 | 44 | export default async function supabaseToZod(opts: SupabaseToZodOptions) { 45 | const inputPath = join(process.cwd(), opts.input); 46 | const outputPath = join(process.cwd(), opts.output); 47 | 48 | const sourceText = await fs.readFile(inputPath, 'utf-8'); 49 | 50 | const parsedTypes = transformTypes({ sourceText, ...opts }); 51 | 52 | const { getZodSchemasFile, errors } = generate({ 53 | sourceText: parsedTypes, 54 | ...opts, 55 | }); 56 | 57 | if (errors.length > 0) { 58 | throw new Error(errors.join('\n')); 59 | } 60 | 61 | const zodSchemasFile = getZodSchemasFile( 62 | getImportPath(outputPath, inputPath) 63 | ); 64 | 65 | const prettierConfig = await prettier.resolveConfig(process.cwd()); 66 | 67 | await fs.writeFile( 68 | outputPath, 69 | await prettier.format(zodSchemasFile, { 70 | parser: 'babel-ts', 71 | ...prettierConfig, 72 | }) 73 | ); 74 | } 75 | -------------------------------------------------------------------------------- /supabase/.gitignore: -------------------------------------------------------------------------------- 1 | # Supabase 2 | .branches 3 | .temp 4 | -------------------------------------------------------------------------------- /supabase/config.toml: -------------------------------------------------------------------------------- 1 | # A string used to distinguish different Supabase projects on the same host. Defaults to the working 2 | # directory name when running `supabase init`. 3 | project_id = "supabase-to-zod" 4 | 5 | [api] 6 | # Port to use for the API URL. 7 | port = 54321 8 | # Schemas to expose in your API. Tables, views and stored procedures in this schema will get API 9 | # endpoints. public and storage are always included. 10 | schemas = [] 11 | # Extra schemas to add to the search_path of every request. 12 | extra_search_path = ["extensions"] 13 | # The maximum number of rows returns from a view, table, or stored procedure. Limits payload size 14 | # for accidental or malicious requests. 15 | max_rows = 1000 16 | 17 | [db] 18 | # Port to use for the local database URL. 19 | port = 54322 20 | # The database major version to use. This has to be the same as your remote database's. Run `SHOW 21 | # server_version;` on the remote database to check. 22 | major_version = 14 23 | 24 | [studio] 25 | # Port to use for Supabase Studio. 26 | port = 54323 27 | 28 | # Email testing server. Emails sent with the local dev setup are not actually sent - rather, they 29 | # are monitored, and you can view the emails that would have been sent from the web interface. 30 | [inbucket] 31 | # Port to use for the email testing server web interface. 32 | port = 54324 33 | smtp_port = 54325 34 | pop3_port = 54326 35 | 36 | [storage] 37 | # The maximum file size allowed (e.g. "5MB", "500KB"). 38 | file_size_limit = "50MiB" 39 | 40 | [auth] 41 | # The base URL of your website. Used as an allow-list for redirects and for constructing URLs used 42 | # in emails. 43 | site_url = "http://localhost:3000" 44 | # A list of *exact* URLs that auth providers are permitted to redirect to post authentication. 45 | additional_redirect_urls = ["https://localhost:3000"] 46 | # How long tokens are valid for, in seconds. Defaults to 3600 (1 hour), maximum 604,800 seconds (one 47 | # week). 48 | jwt_expiry = 3600 49 | # Allow/disallow new user signups to your project. 50 | enable_signup = true 51 | 52 | [auth.email] 53 | # Allow/disallow new user signups via email to your project. 54 | enable_signup = true 55 | # If enabled, a user will be required to confirm any email change on both the old, and new email 56 | # addresses. If disabled, only the new email is required to confirm. 57 | double_confirm_changes = true 58 | # If enabled, users need to confirm their email address before signing in. 59 | enable_confirmations = false 60 | 61 | # Use an external OAuth provider. The full list of providers are: `apple`, `azure`, `bitbucket`, 62 | # `discord`, `facebook`, `github`, `gitlab`, `google`, `twitch`, `twitter`, `slack`, `spotify`. 63 | [auth.external.apple] 64 | enabled = false 65 | client_id = "" 66 | secret = "" 67 | # Overrides the default auth redirectUrl. 68 | redirect_uri = "" 69 | # Overrides the default auth provider URL. Used to support self-hosted gitlab, single-tenant Azure, 70 | # or any other third-party OIDC providers. 71 | url = "" 72 | -------------------------------------------------------------------------------- /supabase/migrations/20221218132051_init.sql: -------------------------------------------------------------------------------- 1 | -- Create a second schema 2 | create schema personal; 3 | 4 | -- USERS 5 | create type public.user_status as ENUM ( 6 | 'ONLINE', 7 | 'OFFLINE' 8 | ); 9 | 10 | create table public.users ( 11 | username text primary key, 12 | data jsonb default null, 13 | age_range int4range default null, 14 | status user_status default 'ONLINE' ::public.user_status, 15 | catchphrase tsvector default null 16 | ); 17 | 18 | alter table public.users replica identity 19 | full; 20 | 21 | -- Send "previous data" to supabase 22 | comment on column public.users.data is 'For unstructured data and prototyping.'; 23 | 24 | -- CHANNELS 25 | create table public.channels ( 26 | id bigint generated by default as identity primary key, 27 | data jsonb default null, 28 | slug text 29 | ); 30 | 31 | alter table public.users replica identity 32 | full; 33 | 34 | -- Send "previous data" to supabase 35 | comment on column public.channels.data is 'For unstructured data and prototyping.'; 36 | 37 | -- MESSAGES 38 | create table public.messages ( 39 | id bigint generated by default as identity primary key, 40 | data jsonb default null, 41 | message text, 42 | username text references users not null, 43 | channel_id bigint references channels not null 44 | ); 45 | 46 | alter table public.messages replica identity 47 | full; 48 | 49 | -- Send "previous data" to supabase 50 | comment on column public.messages.data is 'For unstructured data and prototyping.'; 51 | 52 | -- STORED FUNCTION 53 | create function public.get_status (name_param text) 54 | returns user_status 55 | as $$ 56 | select 57 | status 58 | from 59 | users 60 | where 61 | username = name_param; 62 | 63 | $$ 64 | language SQL 65 | immutable; 66 | 67 | create function public.get_username_and_status (name_param text) 68 | returns table ( 69 | username text, 70 | status user_status 71 | ) 72 | as $$ 73 | select 74 | username, 75 | status 76 | from 77 | users 78 | where 79 | username = name_param; 80 | 81 | $$ 82 | language SQL 83 | immutable; 84 | 85 | create function public.offline_user (name_param text) 86 | returns user_status 87 | as $$ 88 | update 89 | users 90 | set 91 | status = 'OFFLINE' 92 | where 93 | username = name_param 94 | returning 95 | status; 96 | 97 | $$ 98 | language SQL 99 | volatile; 100 | 101 | create function public.void_func () 102 | returns void 103 | as $$ 104 | $$ 105 | language SQL; 106 | 107 | 108 | create extension postgis schema extensions; 109 | 110 | create table public.shops ( 111 | id int primary key, 112 | address text, 113 | shop_geom extensions.geometry(point, 4326) 114 | ); 115 | 116 | create view public.non_updatable_view as 117 | select 118 | username 119 | from 120 | public.users 121 | limit 1; 122 | 123 | create view public.updatable_view as 124 | select 125 | username, 126 | 1 as non_updatable_column 127 | from 128 | public.users; 129 | 130 | -- SECOND SCHEMA USERS 131 | create type personal.user_status as ENUM ( 132 | 'ONLINE', 133 | 'OFFLINE' 134 | ); 135 | 136 | create table personal.users ( 137 | username text primary key, 138 | data jsonb default null, 139 | age_range int4range default null, 140 | status user_status default 'ONLINE' ::public.user_status 141 | ); 142 | 143 | -- SECOND SCHEMA STORED FUNCTION 144 | create function personal.get_status (name_param text) 145 | returns user_status 146 | as $$ 147 | select 148 | status 149 | from 150 | users 151 | where 152 | username = name_param; 153 | 154 | $$ 155 | language SQL 156 | immutable; 157 | -------------------------------------------------------------------------------- /supabase/seed.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/psteinroe/supabase-to-zod/616026a178f24f5c4ade42157fe0602a311a5cf1/supabase/seed.sql -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/tsconfig", 3 | "include": ["**/*.ts"], 4 | "exclude": ["node_modules"], 5 | "compilerOptions": { 6 | "lib": ["ESNext"], 7 | "module": "ESNext", 8 | "target": "ESNext", 9 | "outDir": "./dist", 10 | "strict": true, 11 | "esModuleInterop": true, 12 | "moduleResolution": "node" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tsup.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'tsup'; 2 | 3 | const isProduction = process.env.NODE_ENV === 'production'; 4 | 5 | export default defineConfig({ 6 | clean: true, 7 | dts: true, 8 | entry: ['src/index.ts', 'src/cli.ts'], 9 | format: ['cjs', 'esm'], 10 | minify: isProduction, 11 | shims: true, 12 | sourcemap: true, 13 | }); 14 | --------------------------------------------------------------------------------