├── .github
└── workflows
│ └── code-check.yml
├── .gitignore
├── README.md
├── biome.json
├── package.json
├── pnpm-lock.yaml
├── src
├── commands
│ ├── add.ts
│ └── init.ts
├── index.ts
└── utils
│ ├── get-config-info.ts
│ ├── get-package-info.ts
│ ├── get-svg.ts
│ ├── get-svgs-list.ts
│ ├── handle-error.ts
│ └── logger.ts
├── tsconfig.json
└── tsup.config.ts
/.github/workflows/code-check.yml:
--------------------------------------------------------------------------------
1 | name: Code check and Publish
2 |
3 | on:
4 | pull_request:
5 | branches: ["*"]
6 | push:
7 | branches: ["main"]
8 |
9 | jobs:
10 | quality:
11 | runs-on: ubuntu-latest
12 | name: Quality Check
13 | steps:
14 | - name: Checkout
15 | uses: actions/checkout@v4
16 |
17 | - name: Setup Biome
18 | uses: biomejs/setup-biome@v1
19 | with:
20 | version: 1.4.1
21 |
22 | - name: Run Biome
23 | run: biome ci .
24 |
25 | publish:
26 | needs: quality
27 | runs-on: ubuntu-latest
28 | name: Publish
29 | steps:
30 | - name: Checkout code
31 | uses: actions/checkout@v4
32 | with:
33 | fetch-depth: 0
34 |
35 | - name: Install Node.js
36 | uses: actions/setup-node@v4
37 | with:
38 | node-version: 20
39 | registry-url: "https://registry.npmjs.org"
40 |
41 | - name: Install pnpm
42 | uses: pnpm/action-setup@v3
43 | id: pnpm-install
44 | with:
45 | version: 9.0.6
46 | run_install: false
47 |
48 | - name: Get pnpm store directory
49 | id: pnpm-cache
50 | run: |
51 | echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT
52 |
53 | - name: Setup pnpm cache
54 | uses: actions/cache@v4
55 | with:
56 | path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
57 | key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
58 | restore-keys: |
59 | ${{ runner.os }}-pnpm-store-
60 |
61 | - name: Install dependencies
62 | run: pnpm install
63 |
64 | - name: publish package
65 | run: pnpm pub:release
66 | env:
67 | NODE_AUTH_TOKEN: ${{secrets.SVGL_AUTH_TOKEN}}
68 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | test
4 | public
5 | .env
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # svgls cli
2 |
3 | #### A CLI for easily adding SVG icons to your project. 🧩
4 |
5 |
12 |
13 | ## Usage
14 |
15 | ### Initialize Config
16 |
17 | > This is optional command. It's only needed if you want to set a default workspace path.
18 |
19 | Use the `init` command to initialize a config file for a new project:
20 |
21 | ```bash
22 | npx svgls init
23 | ```
24 |
25 | This will prompt you to enter the path you want to use for your workspace and save it in a `svgls.json` file.
26 |
27 | You can edit this file manually later if you want to change the path.
28 |
29 | ### Add SVGs
30 |
31 | Use the `add` command to interactively add SVGs to your project:
32 |
33 | ```bash
34 | npx svgls add
35 | ```
36 |
37 | This launches an interactive mode where you can:
38 |
39 | - Use arrow keys to navigate the SVG list
40 | - Press spacebar to select/deselect SVGs
41 | - Press enter to confirm selection
42 |
43 |
44 | You can also pass a space-separated list of SVG names on the command line:
45 |
46 | ### Example
47 |
48 | ```bash
49 | npx svgls add aws dub github
50 | ```
51 |
52 | ## Credits
53 |
54 | SVG icons from [pheralb's](https://twitter.com/pheralb_) open-source SVG repository.
55 |
56 | Visit https://svgl.vercel.app to browse and download SVGs manually.
57 |
--------------------------------------------------------------------------------
/biome.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://biomejs.dev/schemas/1.4.1/schema.json",
3 | "organizeImports": {
4 | "enabled": true
5 | },
6 | "overrides": [
7 | {
8 | "ignore": ["node_modules", "dist"]
9 | }
10 | ],
11 | "linter": {
12 | "enabled": true,
13 | "rules": {
14 | "recommended": true,
15 | "nursery": {
16 | "recommended": true,
17 | "noUnusedImports": "warn",
18 | "useAwait": "warn"
19 | }
20 | }
21 | },
22 | "formatter": {
23 | "indentWidth": 2,
24 | "indentStyle": "space"
25 | },
26 | "javascript": {
27 | "formatter": {
28 | "semicolons": "asNeeded",
29 | "trailingComma": "none",
30 | "bracketSpacing": true
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "svgls",
3 | "version": "0.0.13",
4 | "description": "a beautiful library with svg logos.",
5 | "publishConfig": {
6 | "access": "public"
7 | },
8 | "type": "module",
9 | "exports": "./dist/index.js",
10 | "bin": "./dist/index.js",
11 | "license": "MIT",
12 | "author": {
13 | "name": "sujjeee",
14 | "url": "https://twitter.com/sujjeeee"
15 | },
16 | "homepage": "https://svgl.app",
17 | "bugs": {
18 | "url": "https://github.com/sujjeee/svgls/issues"
19 | },
20 | "repository": {
21 | "type": "git",
22 | "url": "https://github.com/sujjeee/svgls.git"
23 | },
24 | "files": [
25 | "dist"
26 | ],
27 | "keywords": [
28 | "svgs",
29 | "logos",
30 | "svgl",
31 | "svgls",
32 | "svgs collections",
33 | "svgs library",
34 | "sujjeee"
35 | ],
36 | "scripts": {
37 | "dev": "tsup --watch",
38 | "build": "tsup",
39 | "typecheck": "tsc --noEmit",
40 | "clean": "rimraf dist",
41 | "reset": "rimraf dist && rimraf public",
42 | "clean:public": "rimraf public",
43 | "start": "node dist/index.js ",
44 | "lint": "biome lint .",
45 | "lint:fix": "biome lint --apply-unsafe .",
46 | "format": "biome format .",
47 | "format:fix": "biome format --write .",
48 | "code-check": "biome check .",
49 | "code-check:fix": "biome check --apply-unsafe .",
50 | "biome:ci": "biome ci .",
51 | "pub:release": "pnpm build && pnpm publish --access public"
52 | },
53 | "dependencies": {
54 | "chalk": "^5.3.0",
55 | "commander": "^11.1.0",
56 | "fs-extra": "^11.2.0",
57 | "node-fetch": "^3.3.2",
58 | "ora": "^7.0.1",
59 | "package-json": "^8.1.1",
60 | "prompts": "^2.4.2",
61 | "rimraf": "^5.0.10",
62 | "zod": "^3.23.8"
63 | },
64 | "devDependencies": {
65 | "@biomejs/biome": "1.4.1",
66 | "@types/fs-extra": "^11.0.4",
67 | "@types/node": "^20.16.1",
68 | "@types/prompts": "^2.4.9",
69 | "ts-node": "^10.9.2",
70 | "tsup": "^8.2.4",
71 | "type-fest": "^4.25.0",
72 | "typescript": "^5.5.4"
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | chalk:
12 | specifier: ^5.3.0
13 | version: 5.3.0
14 | commander:
15 | specifier: ^11.1.0
16 | version: 11.1.0
17 | fs-extra:
18 | specifier: ^11.2.0
19 | version: 11.2.0
20 | node-fetch:
21 | specifier: ^3.3.2
22 | version: 3.3.2
23 | ora:
24 | specifier: ^7.0.1
25 | version: 7.0.1
26 | package-json:
27 | specifier: ^8.1.1
28 | version: 8.1.1
29 | prompts:
30 | specifier: ^2.4.2
31 | version: 2.4.2
32 | rimraf:
33 | specifier: ^5.0.10
34 | version: 5.0.10
35 | zod:
36 | specifier: ^3.23.8
37 | version: 3.23.8
38 | devDependencies:
39 | '@biomejs/biome':
40 | specifier: 1.4.1
41 | version: 1.4.1
42 | '@types/fs-extra':
43 | specifier: ^11.0.4
44 | version: 11.0.4
45 | '@types/node':
46 | specifier: ^20.16.1
47 | version: 20.16.1
48 | '@types/prompts':
49 | specifier: ^2.4.9
50 | version: 2.4.9
51 | ts-node:
52 | specifier: ^10.9.2
53 | version: 10.9.2(@types/node@20.16.1)(typescript@5.5.4)
54 | tsup:
55 | specifier: ^8.2.4
56 | version: 8.2.4(typescript@5.5.4)
57 | type-fest:
58 | specifier: ^4.25.0
59 | version: 4.25.0
60 | typescript:
61 | specifier: ^5.5.4
62 | version: 5.5.4
63 |
64 | packages:
65 |
66 | '@biomejs/biome@1.4.1':
67 | resolution: {integrity: sha512-JccVAwPbhi37pdxbAGmaOBjUTKEwEjWAhl7rKkVVuXHo4MLASXJ5HR8BTgrImi4/7rTBsGz1tgVD1Kwv1CHGRg==}
68 | engines: {node: '>=14.*'}
69 | hasBin: true
70 |
71 | '@biomejs/cli-darwin-arm64@1.4.1':
72 | resolution: {integrity: sha512-PZWy2Idndqux38p6AXSDQM2ldRAWi32bvb7bMbTN0ALzpWYMYnxd71ornatumSSJYoNhKmxzDLq+jct7nZJ79w==}
73 | engines: {node: '>=14.*'}
74 | cpu: [arm64]
75 | os: [darwin]
76 |
77 | '@biomejs/cli-darwin-x64@1.4.1':
78 | resolution: {integrity: sha512-soj3BWhnsM1M2JlzR09cibUzG1owJqetwj/Oo7yg0foijo9lNH9XWXZfJBYDKgW/6Fomn+CC2EcUS+hisQzt9g==}
79 | engines: {node: '>=14.*'}
80 | cpu: [x64]
81 | os: [darwin]
82 |
83 | '@biomejs/cli-linux-arm64@1.4.1':
84 | resolution: {integrity: sha512-YIZqfJUg4F+fPsBTXxgD7EU2E5OAYbmYSl/snf4PevwfQCWE/omOFZv+NnIQmjYj9I7ParDgcJvanoA3/kO0JQ==}
85 | engines: {node: '>=14.*'}
86 | cpu: [arm64]
87 | os: [linux]
88 |
89 | '@biomejs/cli-linux-x64@1.4.1':
90 | resolution: {integrity: sha512-9YOZw3qBd/KUj63A6Hn2zZgzGb2nbESM0qNmeMXgmqinVKM//uc4OgY5TuKITuGjMSvcVxxd4dX1IzYjV9qvNQ==}
91 | engines: {node: '>=14.*'}
92 | cpu: [x64]
93 | os: [linux]
94 |
95 | '@biomejs/cli-win32-arm64@1.4.1':
96 | resolution: {integrity: sha512-nWQbvkNKxYn/kCQ0yVF8kCaS3VzaGvtFSmItXiMknU4521LDjJ7tNWH12Gol+pIslrCbd4E1LhJa0a3ThRsBVg==}
97 | engines: {node: '>=14.*'}
98 | cpu: [arm64]
99 | os: [win32]
100 |
101 | '@biomejs/cli-win32-x64@1.4.1':
102 | resolution: {integrity: sha512-88fR2CQxQ4YLs2BUDuywWYQpUKgU3A3sTezANFc/4LGKQFFLV2yX+F7QAdZVkMHfA+RD9Xg178HomM/6mnTNPA==}
103 | engines: {node: '>=14.*'}
104 | cpu: [x64]
105 | os: [win32]
106 |
107 | '@cspotcode/source-map-support@0.8.1':
108 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
109 | engines: {node: '>=12'}
110 |
111 | '@esbuild/aix-ppc64@0.23.1':
112 | resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==}
113 | engines: {node: '>=18'}
114 | cpu: [ppc64]
115 | os: [aix]
116 |
117 | '@esbuild/android-arm64@0.23.1':
118 | resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==}
119 | engines: {node: '>=18'}
120 | cpu: [arm64]
121 | os: [android]
122 |
123 | '@esbuild/android-arm@0.23.1':
124 | resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==}
125 | engines: {node: '>=18'}
126 | cpu: [arm]
127 | os: [android]
128 |
129 | '@esbuild/android-x64@0.23.1':
130 | resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==}
131 | engines: {node: '>=18'}
132 | cpu: [x64]
133 | os: [android]
134 |
135 | '@esbuild/darwin-arm64@0.23.1':
136 | resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==}
137 | engines: {node: '>=18'}
138 | cpu: [arm64]
139 | os: [darwin]
140 |
141 | '@esbuild/darwin-x64@0.23.1':
142 | resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==}
143 | engines: {node: '>=18'}
144 | cpu: [x64]
145 | os: [darwin]
146 |
147 | '@esbuild/freebsd-arm64@0.23.1':
148 | resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==}
149 | engines: {node: '>=18'}
150 | cpu: [arm64]
151 | os: [freebsd]
152 |
153 | '@esbuild/freebsd-x64@0.23.1':
154 | resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==}
155 | engines: {node: '>=18'}
156 | cpu: [x64]
157 | os: [freebsd]
158 |
159 | '@esbuild/linux-arm64@0.23.1':
160 | resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==}
161 | engines: {node: '>=18'}
162 | cpu: [arm64]
163 | os: [linux]
164 |
165 | '@esbuild/linux-arm@0.23.1':
166 | resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==}
167 | engines: {node: '>=18'}
168 | cpu: [arm]
169 | os: [linux]
170 |
171 | '@esbuild/linux-ia32@0.23.1':
172 | resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==}
173 | engines: {node: '>=18'}
174 | cpu: [ia32]
175 | os: [linux]
176 |
177 | '@esbuild/linux-loong64@0.23.1':
178 | resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==}
179 | engines: {node: '>=18'}
180 | cpu: [loong64]
181 | os: [linux]
182 |
183 | '@esbuild/linux-mips64el@0.23.1':
184 | resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==}
185 | engines: {node: '>=18'}
186 | cpu: [mips64el]
187 | os: [linux]
188 |
189 | '@esbuild/linux-ppc64@0.23.1':
190 | resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==}
191 | engines: {node: '>=18'}
192 | cpu: [ppc64]
193 | os: [linux]
194 |
195 | '@esbuild/linux-riscv64@0.23.1':
196 | resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==}
197 | engines: {node: '>=18'}
198 | cpu: [riscv64]
199 | os: [linux]
200 |
201 | '@esbuild/linux-s390x@0.23.1':
202 | resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==}
203 | engines: {node: '>=18'}
204 | cpu: [s390x]
205 | os: [linux]
206 |
207 | '@esbuild/linux-x64@0.23.1':
208 | resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==}
209 | engines: {node: '>=18'}
210 | cpu: [x64]
211 | os: [linux]
212 |
213 | '@esbuild/netbsd-x64@0.23.1':
214 | resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==}
215 | engines: {node: '>=18'}
216 | cpu: [x64]
217 | os: [netbsd]
218 |
219 | '@esbuild/openbsd-arm64@0.23.1':
220 | resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==}
221 | engines: {node: '>=18'}
222 | cpu: [arm64]
223 | os: [openbsd]
224 |
225 | '@esbuild/openbsd-x64@0.23.1':
226 | resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==}
227 | engines: {node: '>=18'}
228 | cpu: [x64]
229 | os: [openbsd]
230 |
231 | '@esbuild/sunos-x64@0.23.1':
232 | resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==}
233 | engines: {node: '>=18'}
234 | cpu: [x64]
235 | os: [sunos]
236 |
237 | '@esbuild/win32-arm64@0.23.1':
238 | resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==}
239 | engines: {node: '>=18'}
240 | cpu: [arm64]
241 | os: [win32]
242 |
243 | '@esbuild/win32-ia32@0.23.1':
244 | resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==}
245 | engines: {node: '>=18'}
246 | cpu: [ia32]
247 | os: [win32]
248 |
249 | '@esbuild/win32-x64@0.23.1':
250 | resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==}
251 | engines: {node: '>=18'}
252 | cpu: [x64]
253 | os: [win32]
254 |
255 | '@isaacs/cliui@8.0.2':
256 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
257 | engines: {node: '>=12'}
258 |
259 | '@jridgewell/gen-mapping@0.3.5':
260 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
261 | engines: {node: '>=6.0.0'}
262 |
263 | '@jridgewell/resolve-uri@3.1.2':
264 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
265 | engines: {node: '>=6.0.0'}
266 |
267 | '@jridgewell/set-array@1.2.1':
268 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
269 | engines: {node: '>=6.0.0'}
270 |
271 | '@jridgewell/sourcemap-codec@1.5.0':
272 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
273 |
274 | '@jridgewell/trace-mapping@0.3.25':
275 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
276 |
277 | '@jridgewell/trace-mapping@0.3.9':
278 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
279 |
280 | '@nodelib/fs.scandir@2.1.5':
281 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
282 | engines: {node: '>= 8'}
283 |
284 | '@nodelib/fs.stat@2.0.5':
285 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
286 | engines: {node: '>= 8'}
287 |
288 | '@nodelib/fs.walk@1.2.8':
289 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
290 | engines: {node: '>= 8'}
291 |
292 | '@pkgjs/parseargs@0.11.0':
293 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
294 | engines: {node: '>=14'}
295 |
296 | '@pnpm/config.env-replace@1.1.0':
297 | resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==}
298 | engines: {node: '>=12.22.0'}
299 |
300 | '@pnpm/network.ca-file@1.0.2':
301 | resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==}
302 | engines: {node: '>=12.22.0'}
303 |
304 | '@pnpm/npm-conf@2.3.1':
305 | resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==}
306 | engines: {node: '>=12'}
307 |
308 | '@rollup/rollup-android-arm-eabi@4.21.0':
309 | resolution: {integrity: sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==}
310 | cpu: [arm]
311 | os: [android]
312 |
313 | '@rollup/rollup-android-arm64@4.21.0':
314 | resolution: {integrity: sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==}
315 | cpu: [arm64]
316 | os: [android]
317 |
318 | '@rollup/rollup-darwin-arm64@4.21.0':
319 | resolution: {integrity: sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==}
320 | cpu: [arm64]
321 | os: [darwin]
322 |
323 | '@rollup/rollup-darwin-x64@4.21.0':
324 | resolution: {integrity: sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==}
325 | cpu: [x64]
326 | os: [darwin]
327 |
328 | '@rollup/rollup-linux-arm-gnueabihf@4.21.0':
329 | resolution: {integrity: sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==}
330 | cpu: [arm]
331 | os: [linux]
332 |
333 | '@rollup/rollup-linux-arm-musleabihf@4.21.0':
334 | resolution: {integrity: sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==}
335 | cpu: [arm]
336 | os: [linux]
337 |
338 | '@rollup/rollup-linux-arm64-gnu@4.21.0':
339 | resolution: {integrity: sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==}
340 | cpu: [arm64]
341 | os: [linux]
342 |
343 | '@rollup/rollup-linux-arm64-musl@4.21.0':
344 | resolution: {integrity: sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==}
345 | cpu: [arm64]
346 | os: [linux]
347 |
348 | '@rollup/rollup-linux-powerpc64le-gnu@4.21.0':
349 | resolution: {integrity: sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==}
350 | cpu: [ppc64]
351 | os: [linux]
352 |
353 | '@rollup/rollup-linux-riscv64-gnu@4.21.0':
354 | resolution: {integrity: sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==}
355 | cpu: [riscv64]
356 | os: [linux]
357 |
358 | '@rollup/rollup-linux-s390x-gnu@4.21.0':
359 | resolution: {integrity: sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==}
360 | cpu: [s390x]
361 | os: [linux]
362 |
363 | '@rollup/rollup-linux-x64-gnu@4.21.0':
364 | resolution: {integrity: sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==}
365 | cpu: [x64]
366 | os: [linux]
367 |
368 | '@rollup/rollup-linux-x64-musl@4.21.0':
369 | resolution: {integrity: sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==}
370 | cpu: [x64]
371 | os: [linux]
372 |
373 | '@rollup/rollup-win32-arm64-msvc@4.21.0':
374 | resolution: {integrity: sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==}
375 | cpu: [arm64]
376 | os: [win32]
377 |
378 | '@rollup/rollup-win32-ia32-msvc@4.21.0':
379 | resolution: {integrity: sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==}
380 | cpu: [ia32]
381 | os: [win32]
382 |
383 | '@rollup/rollup-win32-x64-msvc@4.21.0':
384 | resolution: {integrity: sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==}
385 | cpu: [x64]
386 | os: [win32]
387 |
388 | '@sindresorhus/is@5.6.0':
389 | resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==}
390 | engines: {node: '>=14.16'}
391 |
392 | '@szmarczak/http-timer@5.0.1':
393 | resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
394 | engines: {node: '>=14.16'}
395 |
396 | '@tsconfig/node10@1.0.11':
397 | resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
398 |
399 | '@tsconfig/node12@1.0.11':
400 | resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
401 |
402 | '@tsconfig/node14@1.0.3':
403 | resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
404 |
405 | '@tsconfig/node16@1.0.4':
406 | resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
407 |
408 | '@types/estree@1.0.5':
409 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
410 |
411 | '@types/fs-extra@11.0.4':
412 | resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==}
413 |
414 | '@types/http-cache-semantics@4.0.4':
415 | resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
416 |
417 | '@types/jsonfile@6.1.4':
418 | resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==}
419 |
420 | '@types/node@20.16.1':
421 | resolution: {integrity: sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==}
422 |
423 | '@types/prompts@2.4.9':
424 | resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==}
425 |
426 | acorn-walk@8.3.3:
427 | resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==}
428 | engines: {node: '>=0.4.0'}
429 |
430 | acorn@8.12.1:
431 | resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
432 | engines: {node: '>=0.4.0'}
433 | hasBin: true
434 |
435 | ansi-regex@5.0.1:
436 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
437 | engines: {node: '>=8'}
438 |
439 | ansi-regex@6.0.1:
440 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
441 | engines: {node: '>=12'}
442 |
443 | ansi-styles@4.3.0:
444 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
445 | engines: {node: '>=8'}
446 |
447 | ansi-styles@6.2.1:
448 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
449 | engines: {node: '>=12'}
450 |
451 | any-promise@1.3.0:
452 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
453 |
454 | anymatch@3.1.3:
455 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
456 | engines: {node: '>= 8'}
457 |
458 | arg@4.1.3:
459 | resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
460 |
461 | array-union@2.1.0:
462 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
463 | engines: {node: '>=8'}
464 |
465 | balanced-match@1.0.2:
466 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
467 |
468 | base64-js@1.5.1:
469 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
470 |
471 | binary-extensions@2.3.0:
472 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
473 | engines: {node: '>=8'}
474 |
475 | bl@5.1.0:
476 | resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==}
477 |
478 | brace-expansion@2.0.1:
479 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
480 |
481 | braces@3.0.3:
482 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
483 | engines: {node: '>=8'}
484 |
485 | buffer@6.0.3:
486 | resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
487 |
488 | bundle-require@5.0.0:
489 | resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==}
490 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
491 | peerDependencies:
492 | esbuild: '>=0.18'
493 |
494 | cac@6.7.14:
495 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
496 | engines: {node: '>=8'}
497 |
498 | cacheable-lookup@7.0.0:
499 | resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==}
500 | engines: {node: '>=14.16'}
501 |
502 | cacheable-request@10.2.14:
503 | resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==}
504 | engines: {node: '>=14.16'}
505 |
506 | chalk@5.3.0:
507 | resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
508 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
509 |
510 | chokidar@3.6.0:
511 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
512 | engines: {node: '>= 8.10.0'}
513 |
514 | cli-cursor@4.0.0:
515 | resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
516 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
517 |
518 | cli-spinners@2.9.2:
519 | resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
520 | engines: {node: '>=6'}
521 |
522 | color-convert@2.0.1:
523 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
524 | engines: {node: '>=7.0.0'}
525 |
526 | color-name@1.1.4:
527 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
528 |
529 | commander@11.1.0:
530 | resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
531 | engines: {node: '>=16'}
532 |
533 | commander@4.1.1:
534 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
535 | engines: {node: '>= 6'}
536 |
537 | config-chain@1.1.13:
538 | resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
539 |
540 | consola@3.2.3:
541 | resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
542 | engines: {node: ^14.18.0 || >=16.10.0}
543 |
544 | create-require@1.1.1:
545 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
546 |
547 | cross-spawn@7.0.3:
548 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
549 | engines: {node: '>= 8'}
550 |
551 | data-uri-to-buffer@4.0.1:
552 | resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
553 | engines: {node: '>= 12'}
554 |
555 | debug@4.3.6:
556 | resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==}
557 | engines: {node: '>=6.0'}
558 | peerDependencies:
559 | supports-color: '*'
560 | peerDependenciesMeta:
561 | supports-color:
562 | optional: true
563 |
564 | decompress-response@6.0.0:
565 | resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
566 | engines: {node: '>=10'}
567 |
568 | deep-extend@0.6.0:
569 | resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
570 | engines: {node: '>=4.0.0'}
571 |
572 | defer-to-connect@2.0.1:
573 | resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==}
574 | engines: {node: '>=10'}
575 |
576 | diff@4.0.2:
577 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
578 | engines: {node: '>=0.3.1'}
579 |
580 | dir-glob@3.0.1:
581 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
582 | engines: {node: '>=8'}
583 |
584 | eastasianwidth@0.2.0:
585 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
586 |
587 | emoji-regex@10.3.0:
588 | resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
589 |
590 | emoji-regex@8.0.0:
591 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
592 |
593 | emoji-regex@9.2.2:
594 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
595 |
596 | esbuild@0.23.1:
597 | resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==}
598 | engines: {node: '>=18'}
599 | hasBin: true
600 |
601 | execa@5.1.1:
602 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
603 | engines: {node: '>=10'}
604 |
605 | fast-glob@3.3.2:
606 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
607 | engines: {node: '>=8.6.0'}
608 |
609 | fastq@1.17.1:
610 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
611 |
612 | fetch-blob@3.2.0:
613 | resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
614 | engines: {node: ^12.20 || >= 14.13}
615 |
616 | fill-range@7.1.1:
617 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
618 | engines: {node: '>=8'}
619 |
620 | foreground-child@3.3.0:
621 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
622 | engines: {node: '>=14'}
623 |
624 | form-data-encoder@2.1.4:
625 | resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==}
626 | engines: {node: '>= 14.17'}
627 |
628 | formdata-polyfill@4.0.10:
629 | resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==}
630 | engines: {node: '>=12.20.0'}
631 |
632 | fs-extra@11.2.0:
633 | resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
634 | engines: {node: '>=14.14'}
635 |
636 | fsevents@2.3.3:
637 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
638 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
639 | os: [darwin]
640 |
641 | get-stream@6.0.1:
642 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
643 | engines: {node: '>=10'}
644 |
645 | glob-parent@5.1.2:
646 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
647 | engines: {node: '>= 6'}
648 |
649 | glob@10.4.5:
650 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
651 | hasBin: true
652 |
653 | globby@11.1.0:
654 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
655 | engines: {node: '>=10'}
656 |
657 | got@12.6.1:
658 | resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==}
659 | engines: {node: '>=14.16'}
660 |
661 | graceful-fs@4.2.10:
662 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
663 |
664 | graceful-fs@4.2.11:
665 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
666 |
667 | http-cache-semantics@4.1.1:
668 | resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
669 |
670 | http2-wrapper@2.2.1:
671 | resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==}
672 | engines: {node: '>=10.19.0'}
673 |
674 | human-signals@2.1.0:
675 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
676 | engines: {node: '>=10.17.0'}
677 |
678 | ieee754@1.2.1:
679 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
680 |
681 | ignore@5.3.2:
682 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
683 | engines: {node: '>= 4'}
684 |
685 | inherits@2.0.4:
686 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
687 |
688 | ini@1.3.8:
689 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
690 |
691 | is-binary-path@2.1.0:
692 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
693 | engines: {node: '>=8'}
694 |
695 | is-extglob@2.1.1:
696 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
697 | engines: {node: '>=0.10.0'}
698 |
699 | is-fullwidth-code-point@3.0.0:
700 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
701 | engines: {node: '>=8'}
702 |
703 | is-glob@4.0.3:
704 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
705 | engines: {node: '>=0.10.0'}
706 |
707 | is-interactive@2.0.0:
708 | resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
709 | engines: {node: '>=12'}
710 |
711 | is-number@7.0.0:
712 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
713 | engines: {node: '>=0.12.0'}
714 |
715 | is-stream@2.0.1:
716 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
717 | engines: {node: '>=8'}
718 |
719 | is-unicode-supported@1.3.0:
720 | resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
721 | engines: {node: '>=12'}
722 |
723 | isexe@2.0.0:
724 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
725 |
726 | jackspeak@3.4.3:
727 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
728 |
729 | joycon@3.1.1:
730 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
731 | engines: {node: '>=10'}
732 |
733 | json-buffer@3.0.1:
734 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
735 |
736 | jsonfile@6.1.0:
737 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
738 |
739 | keyv@4.5.4:
740 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
741 |
742 | kleur@3.0.3:
743 | resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
744 | engines: {node: '>=6'}
745 |
746 | lilconfig@3.1.2:
747 | resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
748 | engines: {node: '>=14'}
749 |
750 | lines-and-columns@1.2.4:
751 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
752 |
753 | load-tsconfig@0.2.5:
754 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
755 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
756 |
757 | lodash.sortby@4.7.0:
758 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
759 |
760 | log-symbols@5.1.0:
761 | resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==}
762 | engines: {node: '>=12'}
763 |
764 | lowercase-keys@3.0.0:
765 | resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==}
766 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
767 |
768 | lru-cache@10.4.3:
769 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
770 |
771 | make-error@1.3.6:
772 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
773 |
774 | merge-stream@2.0.0:
775 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
776 |
777 | merge2@1.4.1:
778 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
779 | engines: {node: '>= 8'}
780 |
781 | micromatch@4.0.7:
782 | resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
783 | engines: {node: '>=8.6'}
784 |
785 | mimic-fn@2.1.0:
786 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
787 | engines: {node: '>=6'}
788 |
789 | mimic-response@3.1.0:
790 | resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
791 | engines: {node: '>=10'}
792 |
793 | mimic-response@4.0.0:
794 | resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==}
795 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
796 |
797 | minimatch@9.0.5:
798 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
799 | engines: {node: '>=16 || 14 >=14.17'}
800 |
801 | minimist@1.2.8:
802 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
803 |
804 | minipass@7.1.2:
805 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
806 | engines: {node: '>=16 || 14 >=14.17'}
807 |
808 | ms@2.1.2:
809 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
810 |
811 | mz@2.7.0:
812 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
813 |
814 | node-domexception@1.0.0:
815 | resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==}
816 | engines: {node: '>=10.5.0'}
817 |
818 | node-fetch@3.3.2:
819 | resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==}
820 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
821 |
822 | normalize-path@3.0.0:
823 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
824 | engines: {node: '>=0.10.0'}
825 |
826 | normalize-url@8.0.1:
827 | resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==}
828 | engines: {node: '>=14.16'}
829 |
830 | npm-run-path@4.0.1:
831 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
832 | engines: {node: '>=8'}
833 |
834 | object-assign@4.1.1:
835 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
836 | engines: {node: '>=0.10.0'}
837 |
838 | onetime@5.1.2:
839 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
840 | engines: {node: '>=6'}
841 |
842 | ora@7.0.1:
843 | resolution: {integrity: sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==}
844 | engines: {node: '>=16'}
845 |
846 | p-cancelable@3.0.0:
847 | resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==}
848 | engines: {node: '>=12.20'}
849 |
850 | package-json-from-dist@1.0.0:
851 | resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==}
852 |
853 | package-json@8.1.1:
854 | resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==}
855 | engines: {node: '>=14.16'}
856 |
857 | path-key@3.1.1:
858 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
859 | engines: {node: '>=8'}
860 |
861 | path-scurry@1.11.1:
862 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
863 | engines: {node: '>=16 || 14 >=14.18'}
864 |
865 | path-type@4.0.0:
866 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
867 | engines: {node: '>=8'}
868 |
869 | picocolors@1.0.1:
870 | resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
871 |
872 | picomatch@2.3.1:
873 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
874 | engines: {node: '>=8.6'}
875 |
876 | pirates@4.0.6:
877 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
878 | engines: {node: '>= 6'}
879 |
880 | postcss-load-config@6.0.1:
881 | resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==}
882 | engines: {node: '>= 18'}
883 | peerDependencies:
884 | jiti: '>=1.21.0'
885 | postcss: '>=8.0.9'
886 | tsx: ^4.8.1
887 | yaml: ^2.4.2
888 | peerDependenciesMeta:
889 | jiti:
890 | optional: true
891 | postcss:
892 | optional: true
893 | tsx:
894 | optional: true
895 | yaml:
896 | optional: true
897 |
898 | prompts@2.4.2:
899 | resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
900 | engines: {node: '>= 6'}
901 |
902 | proto-list@1.2.4:
903 | resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
904 |
905 | punycode@2.3.1:
906 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
907 | engines: {node: '>=6'}
908 |
909 | queue-microtask@1.2.3:
910 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
911 |
912 | quick-lru@5.1.1:
913 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
914 | engines: {node: '>=10'}
915 |
916 | rc@1.2.8:
917 | resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
918 | hasBin: true
919 |
920 | readable-stream@3.6.2:
921 | resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
922 | engines: {node: '>= 6'}
923 |
924 | readdirp@3.6.0:
925 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
926 | engines: {node: '>=8.10.0'}
927 |
928 | registry-auth-token@5.0.2:
929 | resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==}
930 | engines: {node: '>=14'}
931 |
932 | registry-url@6.0.1:
933 | resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==}
934 | engines: {node: '>=12'}
935 |
936 | resolve-alpn@1.2.1:
937 | resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
938 |
939 | resolve-from@5.0.0:
940 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
941 | engines: {node: '>=8'}
942 |
943 | responselike@3.0.0:
944 | resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==}
945 | engines: {node: '>=14.16'}
946 |
947 | restore-cursor@4.0.0:
948 | resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
949 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
950 |
951 | reusify@1.0.4:
952 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
953 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
954 |
955 | rimraf@5.0.10:
956 | resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==}
957 | hasBin: true
958 |
959 | rollup@4.21.0:
960 | resolution: {integrity: sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==}
961 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
962 | hasBin: true
963 |
964 | run-parallel@1.2.0:
965 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
966 |
967 | safe-buffer@5.2.1:
968 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
969 |
970 | semver@7.6.3:
971 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
972 | engines: {node: '>=10'}
973 | hasBin: true
974 |
975 | shebang-command@2.0.0:
976 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
977 | engines: {node: '>=8'}
978 |
979 | shebang-regex@3.0.0:
980 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
981 | engines: {node: '>=8'}
982 |
983 | signal-exit@3.0.7:
984 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
985 |
986 | signal-exit@4.1.0:
987 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
988 | engines: {node: '>=14'}
989 |
990 | sisteransi@1.0.5:
991 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
992 |
993 | slash@3.0.0:
994 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
995 | engines: {node: '>=8'}
996 |
997 | source-map@0.8.0-beta.0:
998 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
999 | engines: {node: '>= 8'}
1000 |
1001 | stdin-discarder@0.1.0:
1002 | resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==}
1003 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1004 |
1005 | string-width@4.2.3:
1006 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
1007 | engines: {node: '>=8'}
1008 |
1009 | string-width@5.1.2:
1010 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
1011 | engines: {node: '>=12'}
1012 |
1013 | string-width@6.1.0:
1014 | resolution: {integrity: sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==}
1015 | engines: {node: '>=16'}
1016 |
1017 | string_decoder@1.3.0:
1018 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
1019 |
1020 | strip-ansi@6.0.1:
1021 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1022 | engines: {node: '>=8'}
1023 |
1024 | strip-ansi@7.1.0:
1025 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
1026 | engines: {node: '>=12'}
1027 |
1028 | strip-final-newline@2.0.0:
1029 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
1030 | engines: {node: '>=6'}
1031 |
1032 | strip-json-comments@2.0.1:
1033 | resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
1034 | engines: {node: '>=0.10.0'}
1035 |
1036 | sucrase@3.35.0:
1037 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
1038 | engines: {node: '>=16 || 14 >=14.17'}
1039 | hasBin: true
1040 |
1041 | thenify-all@1.6.0:
1042 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
1043 | engines: {node: '>=0.8'}
1044 |
1045 | thenify@3.3.1:
1046 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
1047 |
1048 | to-regex-range@5.0.1:
1049 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1050 | engines: {node: '>=8.0'}
1051 |
1052 | tr46@1.0.1:
1053 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
1054 |
1055 | tree-kill@1.2.2:
1056 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
1057 | hasBin: true
1058 |
1059 | ts-interface-checker@0.1.13:
1060 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
1061 |
1062 | ts-node@10.9.2:
1063 | resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
1064 | hasBin: true
1065 | peerDependencies:
1066 | '@swc/core': '>=1.2.50'
1067 | '@swc/wasm': '>=1.2.50'
1068 | '@types/node': '*'
1069 | typescript: '>=2.7'
1070 | peerDependenciesMeta:
1071 | '@swc/core':
1072 | optional: true
1073 | '@swc/wasm':
1074 | optional: true
1075 |
1076 | tsup@8.2.4:
1077 | resolution: {integrity: sha512-akpCPePnBnC/CXgRrcy72ZSntgIEUa1jN0oJbbvpALWKNOz1B7aM+UVDWGRGIO/T/PZugAESWDJUAb5FD48o8Q==}
1078 | engines: {node: '>=18'}
1079 | hasBin: true
1080 | peerDependencies:
1081 | '@microsoft/api-extractor': ^7.36.0
1082 | '@swc/core': ^1
1083 | postcss: ^8.4.12
1084 | typescript: '>=4.5.0'
1085 | peerDependenciesMeta:
1086 | '@microsoft/api-extractor':
1087 | optional: true
1088 | '@swc/core':
1089 | optional: true
1090 | postcss:
1091 | optional: true
1092 | typescript:
1093 | optional: true
1094 |
1095 | type-fest@4.25.0:
1096 | resolution: {integrity: sha512-bRkIGlXsnGBRBQRAY56UXBm//9qH4bmJfFvq83gSz41N282df+fjy8ofcEgc1sM8geNt5cl6mC2g9Fht1cs8Aw==}
1097 | engines: {node: '>=16'}
1098 |
1099 | typescript@5.5.4:
1100 | resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==}
1101 | engines: {node: '>=14.17'}
1102 | hasBin: true
1103 |
1104 | undici-types@6.19.8:
1105 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
1106 |
1107 | universalify@2.0.1:
1108 | resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
1109 | engines: {node: '>= 10.0.0'}
1110 |
1111 | util-deprecate@1.0.2:
1112 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1113 |
1114 | v8-compile-cache-lib@3.0.1:
1115 | resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
1116 |
1117 | web-streams-polyfill@3.3.3:
1118 | resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
1119 | engines: {node: '>= 8'}
1120 |
1121 | webidl-conversions@4.0.2:
1122 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
1123 |
1124 | whatwg-url@7.1.0:
1125 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
1126 |
1127 | which@2.0.2:
1128 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1129 | engines: {node: '>= 8'}
1130 | hasBin: true
1131 |
1132 | wrap-ansi@7.0.0:
1133 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
1134 | engines: {node: '>=10'}
1135 |
1136 | wrap-ansi@8.1.0:
1137 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
1138 | engines: {node: '>=12'}
1139 |
1140 | yn@3.1.1:
1141 | resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
1142 | engines: {node: '>=6'}
1143 |
1144 | zod@3.23.8:
1145 | resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
1146 |
1147 | snapshots:
1148 |
1149 | '@biomejs/biome@1.4.1':
1150 | optionalDependencies:
1151 | '@biomejs/cli-darwin-arm64': 1.4.1
1152 | '@biomejs/cli-darwin-x64': 1.4.1
1153 | '@biomejs/cli-linux-arm64': 1.4.1
1154 | '@biomejs/cli-linux-x64': 1.4.1
1155 | '@biomejs/cli-win32-arm64': 1.4.1
1156 | '@biomejs/cli-win32-x64': 1.4.1
1157 |
1158 | '@biomejs/cli-darwin-arm64@1.4.1':
1159 | optional: true
1160 |
1161 | '@biomejs/cli-darwin-x64@1.4.1':
1162 | optional: true
1163 |
1164 | '@biomejs/cli-linux-arm64@1.4.1':
1165 | optional: true
1166 |
1167 | '@biomejs/cli-linux-x64@1.4.1':
1168 | optional: true
1169 |
1170 | '@biomejs/cli-win32-arm64@1.4.1':
1171 | optional: true
1172 |
1173 | '@biomejs/cli-win32-x64@1.4.1':
1174 | optional: true
1175 |
1176 | '@cspotcode/source-map-support@0.8.1':
1177 | dependencies:
1178 | '@jridgewell/trace-mapping': 0.3.9
1179 |
1180 | '@esbuild/aix-ppc64@0.23.1':
1181 | optional: true
1182 |
1183 | '@esbuild/android-arm64@0.23.1':
1184 | optional: true
1185 |
1186 | '@esbuild/android-arm@0.23.1':
1187 | optional: true
1188 |
1189 | '@esbuild/android-x64@0.23.1':
1190 | optional: true
1191 |
1192 | '@esbuild/darwin-arm64@0.23.1':
1193 | optional: true
1194 |
1195 | '@esbuild/darwin-x64@0.23.1':
1196 | optional: true
1197 |
1198 | '@esbuild/freebsd-arm64@0.23.1':
1199 | optional: true
1200 |
1201 | '@esbuild/freebsd-x64@0.23.1':
1202 | optional: true
1203 |
1204 | '@esbuild/linux-arm64@0.23.1':
1205 | optional: true
1206 |
1207 | '@esbuild/linux-arm@0.23.1':
1208 | optional: true
1209 |
1210 | '@esbuild/linux-ia32@0.23.1':
1211 | optional: true
1212 |
1213 | '@esbuild/linux-loong64@0.23.1':
1214 | optional: true
1215 |
1216 | '@esbuild/linux-mips64el@0.23.1':
1217 | optional: true
1218 |
1219 | '@esbuild/linux-ppc64@0.23.1':
1220 | optional: true
1221 |
1222 | '@esbuild/linux-riscv64@0.23.1':
1223 | optional: true
1224 |
1225 | '@esbuild/linux-s390x@0.23.1':
1226 | optional: true
1227 |
1228 | '@esbuild/linux-x64@0.23.1':
1229 | optional: true
1230 |
1231 | '@esbuild/netbsd-x64@0.23.1':
1232 | optional: true
1233 |
1234 | '@esbuild/openbsd-arm64@0.23.1':
1235 | optional: true
1236 |
1237 | '@esbuild/openbsd-x64@0.23.1':
1238 | optional: true
1239 |
1240 | '@esbuild/sunos-x64@0.23.1':
1241 | optional: true
1242 |
1243 | '@esbuild/win32-arm64@0.23.1':
1244 | optional: true
1245 |
1246 | '@esbuild/win32-ia32@0.23.1':
1247 | optional: true
1248 |
1249 | '@esbuild/win32-x64@0.23.1':
1250 | optional: true
1251 |
1252 | '@isaacs/cliui@8.0.2':
1253 | dependencies:
1254 | string-width: 5.1.2
1255 | string-width-cjs: string-width@4.2.3
1256 | strip-ansi: 7.1.0
1257 | strip-ansi-cjs: strip-ansi@6.0.1
1258 | wrap-ansi: 8.1.0
1259 | wrap-ansi-cjs: wrap-ansi@7.0.0
1260 |
1261 | '@jridgewell/gen-mapping@0.3.5':
1262 | dependencies:
1263 | '@jridgewell/set-array': 1.2.1
1264 | '@jridgewell/sourcemap-codec': 1.5.0
1265 | '@jridgewell/trace-mapping': 0.3.25
1266 |
1267 | '@jridgewell/resolve-uri@3.1.2': {}
1268 |
1269 | '@jridgewell/set-array@1.2.1': {}
1270 |
1271 | '@jridgewell/sourcemap-codec@1.5.0': {}
1272 |
1273 | '@jridgewell/trace-mapping@0.3.25':
1274 | dependencies:
1275 | '@jridgewell/resolve-uri': 3.1.2
1276 | '@jridgewell/sourcemap-codec': 1.5.0
1277 |
1278 | '@jridgewell/trace-mapping@0.3.9':
1279 | dependencies:
1280 | '@jridgewell/resolve-uri': 3.1.2
1281 | '@jridgewell/sourcemap-codec': 1.5.0
1282 |
1283 | '@nodelib/fs.scandir@2.1.5':
1284 | dependencies:
1285 | '@nodelib/fs.stat': 2.0.5
1286 | run-parallel: 1.2.0
1287 |
1288 | '@nodelib/fs.stat@2.0.5': {}
1289 |
1290 | '@nodelib/fs.walk@1.2.8':
1291 | dependencies:
1292 | '@nodelib/fs.scandir': 2.1.5
1293 | fastq: 1.17.1
1294 |
1295 | '@pkgjs/parseargs@0.11.0':
1296 | optional: true
1297 |
1298 | '@pnpm/config.env-replace@1.1.0': {}
1299 |
1300 | '@pnpm/network.ca-file@1.0.2':
1301 | dependencies:
1302 | graceful-fs: 4.2.10
1303 |
1304 | '@pnpm/npm-conf@2.3.1':
1305 | dependencies:
1306 | '@pnpm/config.env-replace': 1.1.0
1307 | '@pnpm/network.ca-file': 1.0.2
1308 | config-chain: 1.1.13
1309 |
1310 | '@rollup/rollup-android-arm-eabi@4.21.0':
1311 | optional: true
1312 |
1313 | '@rollup/rollup-android-arm64@4.21.0':
1314 | optional: true
1315 |
1316 | '@rollup/rollup-darwin-arm64@4.21.0':
1317 | optional: true
1318 |
1319 | '@rollup/rollup-darwin-x64@4.21.0':
1320 | optional: true
1321 |
1322 | '@rollup/rollup-linux-arm-gnueabihf@4.21.0':
1323 | optional: true
1324 |
1325 | '@rollup/rollup-linux-arm-musleabihf@4.21.0':
1326 | optional: true
1327 |
1328 | '@rollup/rollup-linux-arm64-gnu@4.21.0':
1329 | optional: true
1330 |
1331 | '@rollup/rollup-linux-arm64-musl@4.21.0':
1332 | optional: true
1333 |
1334 | '@rollup/rollup-linux-powerpc64le-gnu@4.21.0':
1335 | optional: true
1336 |
1337 | '@rollup/rollup-linux-riscv64-gnu@4.21.0':
1338 | optional: true
1339 |
1340 | '@rollup/rollup-linux-s390x-gnu@4.21.0':
1341 | optional: true
1342 |
1343 | '@rollup/rollup-linux-x64-gnu@4.21.0':
1344 | optional: true
1345 |
1346 | '@rollup/rollup-linux-x64-musl@4.21.0':
1347 | optional: true
1348 |
1349 | '@rollup/rollup-win32-arm64-msvc@4.21.0':
1350 | optional: true
1351 |
1352 | '@rollup/rollup-win32-ia32-msvc@4.21.0':
1353 | optional: true
1354 |
1355 | '@rollup/rollup-win32-x64-msvc@4.21.0':
1356 | optional: true
1357 |
1358 | '@sindresorhus/is@5.6.0': {}
1359 |
1360 | '@szmarczak/http-timer@5.0.1':
1361 | dependencies:
1362 | defer-to-connect: 2.0.1
1363 |
1364 | '@tsconfig/node10@1.0.11': {}
1365 |
1366 | '@tsconfig/node12@1.0.11': {}
1367 |
1368 | '@tsconfig/node14@1.0.3': {}
1369 |
1370 | '@tsconfig/node16@1.0.4': {}
1371 |
1372 | '@types/estree@1.0.5': {}
1373 |
1374 | '@types/fs-extra@11.0.4':
1375 | dependencies:
1376 | '@types/jsonfile': 6.1.4
1377 | '@types/node': 20.16.1
1378 |
1379 | '@types/http-cache-semantics@4.0.4': {}
1380 |
1381 | '@types/jsonfile@6.1.4':
1382 | dependencies:
1383 | '@types/node': 20.16.1
1384 |
1385 | '@types/node@20.16.1':
1386 | dependencies:
1387 | undici-types: 6.19.8
1388 |
1389 | '@types/prompts@2.4.9':
1390 | dependencies:
1391 | '@types/node': 20.16.1
1392 | kleur: 3.0.3
1393 |
1394 | acorn-walk@8.3.3:
1395 | dependencies:
1396 | acorn: 8.12.1
1397 |
1398 | acorn@8.12.1: {}
1399 |
1400 | ansi-regex@5.0.1: {}
1401 |
1402 | ansi-regex@6.0.1: {}
1403 |
1404 | ansi-styles@4.3.0:
1405 | dependencies:
1406 | color-convert: 2.0.1
1407 |
1408 | ansi-styles@6.2.1: {}
1409 |
1410 | any-promise@1.3.0: {}
1411 |
1412 | anymatch@3.1.3:
1413 | dependencies:
1414 | normalize-path: 3.0.0
1415 | picomatch: 2.3.1
1416 |
1417 | arg@4.1.3: {}
1418 |
1419 | array-union@2.1.0: {}
1420 |
1421 | balanced-match@1.0.2: {}
1422 |
1423 | base64-js@1.5.1: {}
1424 |
1425 | binary-extensions@2.3.0: {}
1426 |
1427 | bl@5.1.0:
1428 | dependencies:
1429 | buffer: 6.0.3
1430 | inherits: 2.0.4
1431 | readable-stream: 3.6.2
1432 |
1433 | brace-expansion@2.0.1:
1434 | dependencies:
1435 | balanced-match: 1.0.2
1436 |
1437 | braces@3.0.3:
1438 | dependencies:
1439 | fill-range: 7.1.1
1440 |
1441 | buffer@6.0.3:
1442 | dependencies:
1443 | base64-js: 1.5.1
1444 | ieee754: 1.2.1
1445 |
1446 | bundle-require@5.0.0(esbuild@0.23.1):
1447 | dependencies:
1448 | esbuild: 0.23.1
1449 | load-tsconfig: 0.2.5
1450 |
1451 | cac@6.7.14: {}
1452 |
1453 | cacheable-lookup@7.0.0: {}
1454 |
1455 | cacheable-request@10.2.14:
1456 | dependencies:
1457 | '@types/http-cache-semantics': 4.0.4
1458 | get-stream: 6.0.1
1459 | http-cache-semantics: 4.1.1
1460 | keyv: 4.5.4
1461 | mimic-response: 4.0.0
1462 | normalize-url: 8.0.1
1463 | responselike: 3.0.0
1464 |
1465 | chalk@5.3.0: {}
1466 |
1467 | chokidar@3.6.0:
1468 | dependencies:
1469 | anymatch: 3.1.3
1470 | braces: 3.0.3
1471 | glob-parent: 5.1.2
1472 | is-binary-path: 2.1.0
1473 | is-glob: 4.0.3
1474 | normalize-path: 3.0.0
1475 | readdirp: 3.6.0
1476 | optionalDependencies:
1477 | fsevents: 2.3.3
1478 |
1479 | cli-cursor@4.0.0:
1480 | dependencies:
1481 | restore-cursor: 4.0.0
1482 |
1483 | cli-spinners@2.9.2: {}
1484 |
1485 | color-convert@2.0.1:
1486 | dependencies:
1487 | color-name: 1.1.4
1488 |
1489 | color-name@1.1.4: {}
1490 |
1491 | commander@11.1.0: {}
1492 |
1493 | commander@4.1.1: {}
1494 |
1495 | config-chain@1.1.13:
1496 | dependencies:
1497 | ini: 1.3.8
1498 | proto-list: 1.2.4
1499 |
1500 | consola@3.2.3: {}
1501 |
1502 | create-require@1.1.1: {}
1503 |
1504 | cross-spawn@7.0.3:
1505 | dependencies:
1506 | path-key: 3.1.1
1507 | shebang-command: 2.0.0
1508 | which: 2.0.2
1509 |
1510 | data-uri-to-buffer@4.0.1: {}
1511 |
1512 | debug@4.3.6:
1513 | dependencies:
1514 | ms: 2.1.2
1515 |
1516 | decompress-response@6.0.0:
1517 | dependencies:
1518 | mimic-response: 3.1.0
1519 |
1520 | deep-extend@0.6.0: {}
1521 |
1522 | defer-to-connect@2.0.1: {}
1523 |
1524 | diff@4.0.2: {}
1525 |
1526 | dir-glob@3.0.1:
1527 | dependencies:
1528 | path-type: 4.0.0
1529 |
1530 | eastasianwidth@0.2.0: {}
1531 |
1532 | emoji-regex@10.3.0: {}
1533 |
1534 | emoji-regex@8.0.0: {}
1535 |
1536 | emoji-regex@9.2.2: {}
1537 |
1538 | esbuild@0.23.1:
1539 | optionalDependencies:
1540 | '@esbuild/aix-ppc64': 0.23.1
1541 | '@esbuild/android-arm': 0.23.1
1542 | '@esbuild/android-arm64': 0.23.1
1543 | '@esbuild/android-x64': 0.23.1
1544 | '@esbuild/darwin-arm64': 0.23.1
1545 | '@esbuild/darwin-x64': 0.23.1
1546 | '@esbuild/freebsd-arm64': 0.23.1
1547 | '@esbuild/freebsd-x64': 0.23.1
1548 | '@esbuild/linux-arm': 0.23.1
1549 | '@esbuild/linux-arm64': 0.23.1
1550 | '@esbuild/linux-ia32': 0.23.1
1551 | '@esbuild/linux-loong64': 0.23.1
1552 | '@esbuild/linux-mips64el': 0.23.1
1553 | '@esbuild/linux-ppc64': 0.23.1
1554 | '@esbuild/linux-riscv64': 0.23.1
1555 | '@esbuild/linux-s390x': 0.23.1
1556 | '@esbuild/linux-x64': 0.23.1
1557 | '@esbuild/netbsd-x64': 0.23.1
1558 | '@esbuild/openbsd-arm64': 0.23.1
1559 | '@esbuild/openbsd-x64': 0.23.1
1560 | '@esbuild/sunos-x64': 0.23.1
1561 | '@esbuild/win32-arm64': 0.23.1
1562 | '@esbuild/win32-ia32': 0.23.1
1563 | '@esbuild/win32-x64': 0.23.1
1564 |
1565 | execa@5.1.1:
1566 | dependencies:
1567 | cross-spawn: 7.0.3
1568 | get-stream: 6.0.1
1569 | human-signals: 2.1.0
1570 | is-stream: 2.0.1
1571 | merge-stream: 2.0.0
1572 | npm-run-path: 4.0.1
1573 | onetime: 5.1.2
1574 | signal-exit: 3.0.7
1575 | strip-final-newline: 2.0.0
1576 |
1577 | fast-glob@3.3.2:
1578 | dependencies:
1579 | '@nodelib/fs.stat': 2.0.5
1580 | '@nodelib/fs.walk': 1.2.8
1581 | glob-parent: 5.1.2
1582 | merge2: 1.4.1
1583 | micromatch: 4.0.7
1584 |
1585 | fastq@1.17.1:
1586 | dependencies:
1587 | reusify: 1.0.4
1588 |
1589 | fetch-blob@3.2.0:
1590 | dependencies:
1591 | node-domexception: 1.0.0
1592 | web-streams-polyfill: 3.3.3
1593 |
1594 | fill-range@7.1.1:
1595 | dependencies:
1596 | to-regex-range: 5.0.1
1597 |
1598 | foreground-child@3.3.0:
1599 | dependencies:
1600 | cross-spawn: 7.0.3
1601 | signal-exit: 4.1.0
1602 |
1603 | form-data-encoder@2.1.4: {}
1604 |
1605 | formdata-polyfill@4.0.10:
1606 | dependencies:
1607 | fetch-blob: 3.2.0
1608 |
1609 | fs-extra@11.2.0:
1610 | dependencies:
1611 | graceful-fs: 4.2.11
1612 | jsonfile: 6.1.0
1613 | universalify: 2.0.1
1614 |
1615 | fsevents@2.3.3:
1616 | optional: true
1617 |
1618 | get-stream@6.0.1: {}
1619 |
1620 | glob-parent@5.1.2:
1621 | dependencies:
1622 | is-glob: 4.0.3
1623 |
1624 | glob@10.4.5:
1625 | dependencies:
1626 | foreground-child: 3.3.0
1627 | jackspeak: 3.4.3
1628 | minimatch: 9.0.5
1629 | minipass: 7.1.2
1630 | package-json-from-dist: 1.0.0
1631 | path-scurry: 1.11.1
1632 |
1633 | globby@11.1.0:
1634 | dependencies:
1635 | array-union: 2.1.0
1636 | dir-glob: 3.0.1
1637 | fast-glob: 3.3.2
1638 | ignore: 5.3.2
1639 | merge2: 1.4.1
1640 | slash: 3.0.0
1641 |
1642 | got@12.6.1:
1643 | dependencies:
1644 | '@sindresorhus/is': 5.6.0
1645 | '@szmarczak/http-timer': 5.0.1
1646 | cacheable-lookup: 7.0.0
1647 | cacheable-request: 10.2.14
1648 | decompress-response: 6.0.0
1649 | form-data-encoder: 2.1.4
1650 | get-stream: 6.0.1
1651 | http2-wrapper: 2.2.1
1652 | lowercase-keys: 3.0.0
1653 | p-cancelable: 3.0.0
1654 | responselike: 3.0.0
1655 |
1656 | graceful-fs@4.2.10: {}
1657 |
1658 | graceful-fs@4.2.11: {}
1659 |
1660 | http-cache-semantics@4.1.1: {}
1661 |
1662 | http2-wrapper@2.2.1:
1663 | dependencies:
1664 | quick-lru: 5.1.1
1665 | resolve-alpn: 1.2.1
1666 |
1667 | human-signals@2.1.0: {}
1668 |
1669 | ieee754@1.2.1: {}
1670 |
1671 | ignore@5.3.2: {}
1672 |
1673 | inherits@2.0.4: {}
1674 |
1675 | ini@1.3.8: {}
1676 |
1677 | is-binary-path@2.1.0:
1678 | dependencies:
1679 | binary-extensions: 2.3.0
1680 |
1681 | is-extglob@2.1.1: {}
1682 |
1683 | is-fullwidth-code-point@3.0.0: {}
1684 |
1685 | is-glob@4.0.3:
1686 | dependencies:
1687 | is-extglob: 2.1.1
1688 |
1689 | is-interactive@2.0.0: {}
1690 |
1691 | is-number@7.0.0: {}
1692 |
1693 | is-stream@2.0.1: {}
1694 |
1695 | is-unicode-supported@1.3.0: {}
1696 |
1697 | isexe@2.0.0: {}
1698 |
1699 | jackspeak@3.4.3:
1700 | dependencies:
1701 | '@isaacs/cliui': 8.0.2
1702 | optionalDependencies:
1703 | '@pkgjs/parseargs': 0.11.0
1704 |
1705 | joycon@3.1.1: {}
1706 |
1707 | json-buffer@3.0.1: {}
1708 |
1709 | jsonfile@6.1.0:
1710 | dependencies:
1711 | universalify: 2.0.1
1712 | optionalDependencies:
1713 | graceful-fs: 4.2.11
1714 |
1715 | keyv@4.5.4:
1716 | dependencies:
1717 | json-buffer: 3.0.1
1718 |
1719 | kleur@3.0.3: {}
1720 |
1721 | lilconfig@3.1.2: {}
1722 |
1723 | lines-and-columns@1.2.4: {}
1724 |
1725 | load-tsconfig@0.2.5: {}
1726 |
1727 | lodash.sortby@4.7.0: {}
1728 |
1729 | log-symbols@5.1.0:
1730 | dependencies:
1731 | chalk: 5.3.0
1732 | is-unicode-supported: 1.3.0
1733 |
1734 | lowercase-keys@3.0.0: {}
1735 |
1736 | lru-cache@10.4.3: {}
1737 |
1738 | make-error@1.3.6: {}
1739 |
1740 | merge-stream@2.0.0: {}
1741 |
1742 | merge2@1.4.1: {}
1743 |
1744 | micromatch@4.0.7:
1745 | dependencies:
1746 | braces: 3.0.3
1747 | picomatch: 2.3.1
1748 |
1749 | mimic-fn@2.1.0: {}
1750 |
1751 | mimic-response@3.1.0: {}
1752 |
1753 | mimic-response@4.0.0: {}
1754 |
1755 | minimatch@9.0.5:
1756 | dependencies:
1757 | brace-expansion: 2.0.1
1758 |
1759 | minimist@1.2.8: {}
1760 |
1761 | minipass@7.1.2: {}
1762 |
1763 | ms@2.1.2: {}
1764 |
1765 | mz@2.7.0:
1766 | dependencies:
1767 | any-promise: 1.3.0
1768 | object-assign: 4.1.1
1769 | thenify-all: 1.6.0
1770 |
1771 | node-domexception@1.0.0: {}
1772 |
1773 | node-fetch@3.3.2:
1774 | dependencies:
1775 | data-uri-to-buffer: 4.0.1
1776 | fetch-blob: 3.2.0
1777 | formdata-polyfill: 4.0.10
1778 |
1779 | normalize-path@3.0.0: {}
1780 |
1781 | normalize-url@8.0.1: {}
1782 |
1783 | npm-run-path@4.0.1:
1784 | dependencies:
1785 | path-key: 3.1.1
1786 |
1787 | object-assign@4.1.1: {}
1788 |
1789 | onetime@5.1.2:
1790 | dependencies:
1791 | mimic-fn: 2.1.0
1792 |
1793 | ora@7.0.1:
1794 | dependencies:
1795 | chalk: 5.3.0
1796 | cli-cursor: 4.0.0
1797 | cli-spinners: 2.9.2
1798 | is-interactive: 2.0.0
1799 | is-unicode-supported: 1.3.0
1800 | log-symbols: 5.1.0
1801 | stdin-discarder: 0.1.0
1802 | string-width: 6.1.0
1803 | strip-ansi: 7.1.0
1804 |
1805 | p-cancelable@3.0.0: {}
1806 |
1807 | package-json-from-dist@1.0.0: {}
1808 |
1809 | package-json@8.1.1:
1810 | dependencies:
1811 | got: 12.6.1
1812 | registry-auth-token: 5.0.2
1813 | registry-url: 6.0.1
1814 | semver: 7.6.3
1815 |
1816 | path-key@3.1.1: {}
1817 |
1818 | path-scurry@1.11.1:
1819 | dependencies:
1820 | lru-cache: 10.4.3
1821 | minipass: 7.1.2
1822 |
1823 | path-type@4.0.0: {}
1824 |
1825 | picocolors@1.0.1: {}
1826 |
1827 | picomatch@2.3.1: {}
1828 |
1829 | pirates@4.0.6: {}
1830 |
1831 | postcss-load-config@6.0.1:
1832 | dependencies:
1833 | lilconfig: 3.1.2
1834 |
1835 | prompts@2.4.2:
1836 | dependencies:
1837 | kleur: 3.0.3
1838 | sisteransi: 1.0.5
1839 |
1840 | proto-list@1.2.4: {}
1841 |
1842 | punycode@2.3.1: {}
1843 |
1844 | queue-microtask@1.2.3: {}
1845 |
1846 | quick-lru@5.1.1: {}
1847 |
1848 | rc@1.2.8:
1849 | dependencies:
1850 | deep-extend: 0.6.0
1851 | ini: 1.3.8
1852 | minimist: 1.2.8
1853 | strip-json-comments: 2.0.1
1854 |
1855 | readable-stream@3.6.2:
1856 | dependencies:
1857 | inherits: 2.0.4
1858 | string_decoder: 1.3.0
1859 | util-deprecate: 1.0.2
1860 |
1861 | readdirp@3.6.0:
1862 | dependencies:
1863 | picomatch: 2.3.1
1864 |
1865 | registry-auth-token@5.0.2:
1866 | dependencies:
1867 | '@pnpm/npm-conf': 2.3.1
1868 |
1869 | registry-url@6.0.1:
1870 | dependencies:
1871 | rc: 1.2.8
1872 |
1873 | resolve-alpn@1.2.1: {}
1874 |
1875 | resolve-from@5.0.0: {}
1876 |
1877 | responselike@3.0.0:
1878 | dependencies:
1879 | lowercase-keys: 3.0.0
1880 |
1881 | restore-cursor@4.0.0:
1882 | dependencies:
1883 | onetime: 5.1.2
1884 | signal-exit: 3.0.7
1885 |
1886 | reusify@1.0.4: {}
1887 |
1888 | rimraf@5.0.10:
1889 | dependencies:
1890 | glob: 10.4.5
1891 |
1892 | rollup@4.21.0:
1893 | dependencies:
1894 | '@types/estree': 1.0.5
1895 | optionalDependencies:
1896 | '@rollup/rollup-android-arm-eabi': 4.21.0
1897 | '@rollup/rollup-android-arm64': 4.21.0
1898 | '@rollup/rollup-darwin-arm64': 4.21.0
1899 | '@rollup/rollup-darwin-x64': 4.21.0
1900 | '@rollup/rollup-linux-arm-gnueabihf': 4.21.0
1901 | '@rollup/rollup-linux-arm-musleabihf': 4.21.0
1902 | '@rollup/rollup-linux-arm64-gnu': 4.21.0
1903 | '@rollup/rollup-linux-arm64-musl': 4.21.0
1904 | '@rollup/rollup-linux-powerpc64le-gnu': 4.21.0
1905 | '@rollup/rollup-linux-riscv64-gnu': 4.21.0
1906 | '@rollup/rollup-linux-s390x-gnu': 4.21.0
1907 | '@rollup/rollup-linux-x64-gnu': 4.21.0
1908 | '@rollup/rollup-linux-x64-musl': 4.21.0
1909 | '@rollup/rollup-win32-arm64-msvc': 4.21.0
1910 | '@rollup/rollup-win32-ia32-msvc': 4.21.0
1911 | '@rollup/rollup-win32-x64-msvc': 4.21.0
1912 | fsevents: 2.3.3
1913 |
1914 | run-parallel@1.2.0:
1915 | dependencies:
1916 | queue-microtask: 1.2.3
1917 |
1918 | safe-buffer@5.2.1: {}
1919 |
1920 | semver@7.6.3: {}
1921 |
1922 | shebang-command@2.0.0:
1923 | dependencies:
1924 | shebang-regex: 3.0.0
1925 |
1926 | shebang-regex@3.0.0: {}
1927 |
1928 | signal-exit@3.0.7: {}
1929 |
1930 | signal-exit@4.1.0: {}
1931 |
1932 | sisteransi@1.0.5: {}
1933 |
1934 | slash@3.0.0: {}
1935 |
1936 | source-map@0.8.0-beta.0:
1937 | dependencies:
1938 | whatwg-url: 7.1.0
1939 |
1940 | stdin-discarder@0.1.0:
1941 | dependencies:
1942 | bl: 5.1.0
1943 |
1944 | string-width@4.2.3:
1945 | dependencies:
1946 | emoji-regex: 8.0.0
1947 | is-fullwidth-code-point: 3.0.0
1948 | strip-ansi: 6.0.1
1949 |
1950 | string-width@5.1.2:
1951 | dependencies:
1952 | eastasianwidth: 0.2.0
1953 | emoji-regex: 9.2.2
1954 | strip-ansi: 7.1.0
1955 |
1956 | string-width@6.1.0:
1957 | dependencies:
1958 | eastasianwidth: 0.2.0
1959 | emoji-regex: 10.3.0
1960 | strip-ansi: 7.1.0
1961 |
1962 | string_decoder@1.3.0:
1963 | dependencies:
1964 | safe-buffer: 5.2.1
1965 |
1966 | strip-ansi@6.0.1:
1967 | dependencies:
1968 | ansi-regex: 5.0.1
1969 |
1970 | strip-ansi@7.1.0:
1971 | dependencies:
1972 | ansi-regex: 6.0.1
1973 |
1974 | strip-final-newline@2.0.0: {}
1975 |
1976 | strip-json-comments@2.0.1: {}
1977 |
1978 | sucrase@3.35.0:
1979 | dependencies:
1980 | '@jridgewell/gen-mapping': 0.3.5
1981 | commander: 4.1.1
1982 | glob: 10.4.5
1983 | lines-and-columns: 1.2.4
1984 | mz: 2.7.0
1985 | pirates: 4.0.6
1986 | ts-interface-checker: 0.1.13
1987 |
1988 | thenify-all@1.6.0:
1989 | dependencies:
1990 | thenify: 3.3.1
1991 |
1992 | thenify@3.3.1:
1993 | dependencies:
1994 | any-promise: 1.3.0
1995 |
1996 | to-regex-range@5.0.1:
1997 | dependencies:
1998 | is-number: 7.0.0
1999 |
2000 | tr46@1.0.1:
2001 | dependencies:
2002 | punycode: 2.3.1
2003 |
2004 | tree-kill@1.2.2: {}
2005 |
2006 | ts-interface-checker@0.1.13: {}
2007 |
2008 | ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4):
2009 | dependencies:
2010 | '@cspotcode/source-map-support': 0.8.1
2011 | '@tsconfig/node10': 1.0.11
2012 | '@tsconfig/node12': 1.0.11
2013 | '@tsconfig/node14': 1.0.3
2014 | '@tsconfig/node16': 1.0.4
2015 | '@types/node': 20.16.1
2016 | acorn: 8.12.1
2017 | acorn-walk: 8.3.3
2018 | arg: 4.1.3
2019 | create-require: 1.1.1
2020 | diff: 4.0.2
2021 | make-error: 1.3.6
2022 | typescript: 5.5.4
2023 | v8-compile-cache-lib: 3.0.1
2024 | yn: 3.1.1
2025 |
2026 | tsup@8.2.4(typescript@5.5.4):
2027 | dependencies:
2028 | bundle-require: 5.0.0(esbuild@0.23.1)
2029 | cac: 6.7.14
2030 | chokidar: 3.6.0
2031 | consola: 3.2.3
2032 | debug: 4.3.6
2033 | esbuild: 0.23.1
2034 | execa: 5.1.1
2035 | globby: 11.1.0
2036 | joycon: 3.1.1
2037 | picocolors: 1.0.1
2038 | postcss-load-config: 6.0.1
2039 | resolve-from: 5.0.0
2040 | rollup: 4.21.0
2041 | source-map: 0.8.0-beta.0
2042 | sucrase: 3.35.0
2043 | tree-kill: 1.2.2
2044 | optionalDependencies:
2045 | typescript: 5.5.4
2046 | transitivePeerDependencies:
2047 | - jiti
2048 | - supports-color
2049 | - tsx
2050 | - yaml
2051 |
2052 | type-fest@4.25.0: {}
2053 |
2054 | typescript@5.5.4: {}
2055 |
2056 | undici-types@6.19.8: {}
2057 |
2058 | universalify@2.0.1: {}
2059 |
2060 | util-deprecate@1.0.2: {}
2061 |
2062 | v8-compile-cache-lib@3.0.1: {}
2063 |
2064 | web-streams-polyfill@3.3.3: {}
2065 |
2066 | webidl-conversions@4.0.2: {}
2067 |
2068 | whatwg-url@7.1.0:
2069 | dependencies:
2070 | lodash.sortby: 4.7.0
2071 | tr46: 1.0.1
2072 | webidl-conversions: 4.0.2
2073 |
2074 | which@2.0.2:
2075 | dependencies:
2076 | isexe: 2.0.0
2077 |
2078 | wrap-ansi@7.0.0:
2079 | dependencies:
2080 | ansi-styles: 4.3.0
2081 | string-width: 4.2.3
2082 | strip-ansi: 6.0.1
2083 |
2084 | wrap-ansi@8.1.0:
2085 | dependencies:
2086 | ansi-styles: 6.2.1
2087 | string-width: 5.1.2
2088 | strip-ansi: 7.1.0
2089 |
2090 | yn@3.1.1: {}
2091 |
2092 | zod@3.23.8: {}
2093 |
--------------------------------------------------------------------------------
/src/commands/add.ts:
--------------------------------------------------------------------------------
1 | import { existsSync, promises as fs } from "fs"
2 | import path from "path"
3 | import { getConfigInfo } from "@/src/utils/get-config-info"
4 | import { filterSvgs, getSVGNameFromUrl, getSvg } from "@/src/utils/get-svg"
5 | import { getSvgsList } from "@/src/utils/get-svgs-list"
6 | import { handleError } from "@/src/utils/handle-error"
7 | import { logger } from "@/src/utils/logger"
8 | import { Command } from "commander"
9 | import { default as create } from "fs-extra"
10 | import ora from "ora"
11 | import prompts from "prompts"
12 | import { z } from "zod"
13 |
14 | const addOptionsSchema = z.object({
15 | svgs: z.array(z.string()).optional(),
16 | cwd: z.string(),
17 | all: z.boolean(),
18 | path: z.string().optional(),
19 | theme: z.enum(["light", "dark", "both"]).optional()
20 | })
21 |
22 | export const add = new Command()
23 | .name("add")
24 | .description("add a svg to your project")
25 | .argument("[svgs...]", "the svg to add")
26 | .option(
27 | "-c, --cwd ",
28 | "the working directory. defaults to the current directory.",
29 | process.cwd()
30 | )
31 | .option("-a, --all", "add all available svg", false)
32 | .option("-p, --path ", "the path to add the svg to")
33 | .option("-t, --theme ", "select svg theme")
34 | .action(async (svgs, opts) => {
35 | try {
36 | const options = addOptionsSchema.parse({ svgs, ...opts })
37 |
38 | const cwd = path.resolve(options.cwd)
39 |
40 | if (!existsSync(cwd)) {
41 | logger.error(`The path ${cwd} does not exist. Please try again.`)
42 | process.exit(1)
43 | }
44 |
45 | const availableSvgs = await getSvgsList()
46 |
47 | let selectedSvgs = options.all
48 | ? availableSvgs.map((svgs) => svgs.route)
49 | : options.svgs
50 | ?.map((svgName) => {
51 | const svg = availableSvgs.find(
52 | (item) => item.title.toLowerCase() === svgName.toLowerCase()
53 | )
54 | return svg ? svg.route : null
55 | })
56 | .filter((route) => route !== null)
57 |
58 | if (!options.svgs?.length && !options.all) {
59 | const { svgs } = await prompts({
60 | type: "multiselect",
61 | name: "svgs",
62 | message: "Which svgs would you like to add?",
63 | hint: "Space to select. A to toggle all. Enter to submit.",
64 | instructions: false,
65 | choices: availableSvgs.map((svgs) => ({
66 | title: svgs.title,
67 | value: svgs.route,
68 | selected: options.all ? true : options.svgs?.includes(svgs.title)
69 | }))
70 | })
71 |
72 | selectedSvgs = svgs
73 | }
74 |
75 | const workSpacePath = getConfigInfo()
76 |
77 | if (!selectedSvgs?.length) {
78 | logger.warn("No svgs selected. Exiting.")
79 | process.exit(0)
80 | }
81 |
82 | const filteredSvgs = filterSvgs({
83 | select: options.theme || workSpacePath?.theme || "both",
84 | selectedSvgs
85 | })
86 |
87 | const spinner = ora("Fetching SVGs...").start()
88 | const payload = await getSvg(filteredSvgs)
89 |
90 | for (const item of payload) {
91 | const targetDir = options.path
92 | ? path.resolve(cwd, options.path)
93 | : workSpacePath?.path
94 | ? workSpacePath.path
95 | : "public/svg"
96 |
97 | if (!targetDir) {
98 | continue
99 | }
100 |
101 | if (!existsSync(targetDir)) {
102 | await fs.mkdir(targetDir, { recursive: true })
103 | }
104 |
105 | if (!item.svg) {
106 | spinner.stop()
107 | logger.warn(
108 | `SVG for ${getSVGNameFromUrl(item.path)} is not available.`
109 | )
110 | } else {
111 | const filePath = path.resolve(targetDir, getSVGNameFromUrl(item.path))
112 |
113 | create.writeFileSync(filePath, item.svg)
114 | spinner.text = `Adding ${item.path}...`
115 | }
116 | }
117 |
118 | spinner.succeed("Done.")
119 | } catch (error) {
120 | handleError(error)
121 | }
122 | })
123 |
--------------------------------------------------------------------------------
/src/commands/init.ts:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | import { promises as fs } from "fs"
4 | import path from "path"
5 | import { handleError } from "@/src/utils/handle-error"
6 | import { logger } from "@/src/utils/logger"
7 | import chalk from "chalk"
8 | import { Command } from "commander"
9 | import ora from "ora"
10 | import prompts from "prompts"
11 |
12 | export interface ConfigType {
13 | path: string
14 | theme: "light" | "dark" | "both"
15 | }
16 |
17 | export const init = new Command()
18 | .name("init")
19 | .description("initialize svgl config file")
20 | .option(
21 | "-c, --cwd ",
22 | "the working directory. defaults to the current directory.",
23 | process.cwd()
24 | )
25 | .action(async () => {
26 | try {
27 | await promptForConfig()
28 | logger.info("")
29 | logger.info(`${chalk.green("Success!")} Configuration completed.`)
30 | logger.info("")
31 | } catch (error) {
32 | handleError(error)
33 | }
34 | })
35 |
36 | export async function promptForConfig() {
37 | const highlight = (text: string) => chalk.cyan(text)
38 |
39 | const options = await prompts([
40 | {
41 | type: "text",
42 | name: "path",
43 | message: `Where you want to add ${highlight("svgs")}?`,
44 | initial: "public/svgs"
45 | },
46 | {
47 | type: "select",
48 | name: "theme",
49 | message: "Select the SVG theme:",
50 | choices: [
51 | { title: "Light", value: "light" },
52 | { title: "Dark", value: "dark" },
53 | { title: "Both (default)", value: "both" }
54 | ],
55 | initial: 2
56 | }
57 | ])
58 |
59 | const config = {
60 | path: options.path,
61 | theme: options.theme
62 | }
63 |
64 | const spinner = ora("Configuring...").start()
65 | const targetPath = path.resolve("svgls.json")
66 | await fs.writeFile(targetPath, JSON.stringify(config, null, 2), "utf8")
67 | spinner.succeed("Configuration completed")
68 | }
69 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | import { add } from "@/src/commands/add"
4 | import { init } from "@/src/commands/init"
5 | import { getPackageInfo } from "@/src/utils/get-package-info"
6 | import { Command } from "commander"
7 |
8 | process.on("SIGINT", () => process.exit(0))
9 | process.on("SIGTERM", () => process.exit(0))
10 |
11 | async function main() {
12 | const packageInfo = await getPackageInfo()
13 |
14 | const program = new Command()
15 | .name("svgls")
16 | .description("a beautiful library with svg logos.")
17 | .version(
18 | packageInfo.version || "1.0.0",
19 | "-v, --version",
20 | "display the version number"
21 | )
22 |
23 | program.addCommand(init).addCommand(add)
24 |
25 | program.parse()
26 | }
27 |
28 | main()
29 |
--------------------------------------------------------------------------------
/src/utils/get-config-info.ts:
--------------------------------------------------------------------------------
1 | import path from "path"
2 | import { ConfigType } from "@/src/commands/init"
3 | import fs from "fs-extra"
4 |
5 | export function getConfigInfo() {
6 | const configInfoPath = path.join("svgls.json")
7 |
8 | if (!fs.existsSync(configInfoPath)) {
9 | return null
10 | }
11 |
12 | return fs.readJSONSync(configInfoPath) as ConfigType
13 | }
14 |
--------------------------------------------------------------------------------
/src/utils/get-package-info.ts:
--------------------------------------------------------------------------------
1 | import packageJson from "package-json"
2 | import type { PackageJson } from "type-fest"
3 |
4 | export async function getPackageInfo() {
5 | const packageInfo = await packageJson("svgls")
6 | return packageInfo as PackageJson
7 | }
8 |
--------------------------------------------------------------------------------
/src/utils/get-svg.ts:
--------------------------------------------------------------------------------
1 | import { SvglAPIResponse } from "@/src/utils/get-svgs-list"
2 |
3 | export async function getSvg(paths: string[]) {
4 | try {
5 | const results = await Promise.all(
6 | paths.map(async (path) => {
7 | const response = await fetch(path)
8 |
9 | if (!response.ok) {
10 | return { path, svg: null }
11 | }
12 |
13 | const svg = await response.text()
14 | return { path, svg }
15 | })
16 | )
17 |
18 | return results
19 | } catch (error) {
20 | throw new Error(
21 | "Failed to fetch svg from github. Please visit https://svgl.vercel.app to download svgs manually."
22 | )
23 | }
24 | }
25 |
26 | interface FilterSvgsProps {
27 | selectedSvgs: SvglAPIResponse["route"][]
28 | select: "light" | "dark" | "both"
29 | }
30 |
31 | export function filterSvgs({
32 | selectedSvgs,
33 | select
34 | }: FilterSvgsProps): string[] {
35 | return selectedSvgs.flatMap((svg) => {
36 | if (typeof svg === "object" && svg.light && svg.dark) {
37 | if (select === "light") {
38 | return [svg.light]
39 | }
40 | if (select === "dark") {
41 | return [svg.dark]
42 | }
43 | return [svg.light, svg.dark]
44 | }
45 | if (typeof svg === "string") {
46 | return [svg]
47 | }
48 | return []
49 | })
50 | }
51 |
52 | export function getSVGNameFromUrl(url: string) {
53 | const baseUrl = "https://svgl.app/library/"
54 |
55 | if (url.startsWith(baseUrl)) {
56 | return url.substring(baseUrl.length)
57 | }
58 |
59 | throw new Error(`Invalid URL: ${url}`)
60 | }
61 |
--------------------------------------------------------------------------------
/src/utils/get-svgs-list.ts:
--------------------------------------------------------------------------------
1 | import fetch from "node-fetch"
2 |
3 | export interface SvglAPIResponse {
4 | id: number
5 | title: string
6 | category: string
7 | route:
8 | | {
9 | light: string
10 | dark: string
11 | }
12 | | string
13 | wordmark?: {
14 | light: string
15 | dark: string
16 | }
17 | url: string
18 | }
19 |
20 | export async function getSvgsList() {
21 | const response = await fetch("https://api.svgl.app")
22 | const svgs = (await response.json()) as SvglAPIResponse[]
23 |
24 | return svgs
25 | }
26 |
--------------------------------------------------------------------------------
/src/utils/handle-error.ts:
--------------------------------------------------------------------------------
1 | import { logger } from "@/src/utils/logger"
2 |
3 | export function handleError(error: unknown) {
4 | if (typeof error === "string") {
5 | logger.error(error)
6 | process.exit(1)
7 | }
8 |
9 | if (error instanceof Error) {
10 | logger.error(error.message)
11 | process.exit(1)
12 | }
13 |
14 | logger.error("Something went wrong. Please try again.")
15 | process.exit(1)
16 | }
17 |
--------------------------------------------------------------------------------
/src/utils/logger.ts:
--------------------------------------------------------------------------------
1 | import chalk from "chalk"
2 |
3 | export const logger = {
4 | error(...args: unknown[]) {
5 | console.log(chalk.red(...args))
6 | },
7 | warn(...args: unknown[]) {
8 | console.log(chalk.yellow(...args))
9 | },
10 | info(...args: unknown[]) {
11 | console.log(chalk.cyan(...args))
12 | },
13 | success(...args: unknown[]) {
14 | console.log(chalk.green(...args))
15 | },
16 | break() {
17 | console.log("")
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://json.schemastore.org/tsconfig",
3 | "display": "Default",
4 | "compilerOptions": {
5 | "composite": false,
6 | "declaration": true,
7 | "declarationMap": true,
8 | "esModuleInterop": true,
9 | "forceConsistentCasingInFileNames": true,
10 | "inlineSources": false,
11 | "isolatedModules": true,
12 | "moduleResolution": "node",
13 | "noUnusedLocals": false,
14 | "noUnusedParameters": false,
15 | "preserveWatchOutput": true,
16 | "skipLibCheck": true,
17 | "strict": true,
18 | "outDir": "dist",
19 | "baseUrl": ".",
20 | "paths": {
21 | "@/*": ["./*"]
22 | }
23 | },
24 | "include": ["src/**/*.ts"],
25 | "exclude": ["node_modules"]
26 | }
27 |
--------------------------------------------------------------------------------
/tsup.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "tsup"
2 |
3 | export default defineConfig({
4 | clean: true,
5 | dts: true,
6 | entry: ["src/index.ts"],
7 | format: ["esm"],
8 | sourcemap: true,
9 | minify: true,
10 | target: "esnext",
11 | outDir: "dist"
12 | })
13 |
--------------------------------------------------------------------------------