├── .editorconfig
├── .github
└── workflows
│ └── CI.yml
├── .gitignore
├── .prettierrc.json
├── LICENSE
├── README.md
├── index.html
├── package.json
├── pnpm-lock.yaml
├── public
└── favicon.ico
├── src
├── App.svelte
├── ConfigJson.svelte
├── DragDropList.svelte
├── FileInput.svelte
├── GlobalControl.svelte
├── HelpText.svelte
├── LoadList.svelte
├── LoadListItemEditor.svelte
├── Switches.svelte
├── index.ts
├── lang
│ ├── en-US.json
│ └── zh-CN.json
├── loadListEdit
│ ├── Elyby.svelte
│ ├── JsonAPI.svelte
│ ├── Legacy.svelte
│ └── Mojang.svelte
└── styles.css
├── svelte.config.js
├── tsconfig.json
├── types.d.ts
└── vite.config.ts
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_style = space
5 | indent_size = 2
6 | end_of_line = lf
7 | charset = utf-8
8 | trim_trailing_whitespace = true
9 | insert_final_newline = true
10 |
--------------------------------------------------------------------------------
/.github/workflows/CI.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on: [push, pull_request]
4 |
5 | jobs:
6 | test:
7 | runs-on: ubuntu-latest
8 | steps:
9 | - uses: actions/checkout@v3
10 | - uses: pnpm/action-setup@v2.4.0
11 | with:
12 | version: 8.6.10
13 | run_install: true
14 | - run: pnpm test
15 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | dist/
2 | node_modules
3 |
--------------------------------------------------------------------------------
/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": false,
3 | "singleQuote": true,
4 | "trailingComma": "es5"
5 | }
6 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017-present The Blessing Skin Team
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 | # CustomSkinLoader GUI
2 |
3 | [](https://app.netlify.com/sites/mc-csl/deploys)
4 |
5 | Online CustomSkinLoader configuration editor.
6 |
7 | [Visit here!](https://mc-csl.netlify.app/)
8 |
9 | If some new configuration options from later CustomSkinLoader version are missing,
10 | please open an issue to let us know!
11 |
12 | ## Features
13 |
14 | - Open an existing local configuration then edit it.
15 | - Copy the JSON or download JSON file.
16 |
17 | ## Contributing
18 |
19 | We use [pnpm](https://pnpm.js.org/) to manage our dependencies.
20 | Please use pnpm to install dependencies.
21 |
22 | We're using [Svelte](https://svelte.dev/) as front-end framework.
23 |
24 | UI framework is [Shoelace](https://shoelace.style/),
25 | which is a Web Components library.
26 |
27 | ## License
28 |
29 | MIT License
30 |
31 | 2017-present (c) The Blessing Skin Team
32 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 | CustomSkinLoader GUI
12 |
16 |
20 |
21 |
26 |
31 |
32 |
33 | You need to enable JavaScript to run this app.
34 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "license": "MIT",
4 | "type": "module",
5 | "packageManager": "pnpm@8.6.10",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "vite build",
9 | "test": "tsc -p . && svelte-check && prettier --check --plugin=prettier-plugin-svelte src",
10 | "fmt": "prettier --write --plugin=prettier-plugin-svelte src"
11 | },
12 | "dependencies": {
13 | "@shoelace-style/shoelace": "^2.6.0",
14 | "highlight.js": "^11.8.0",
15 | "svelte": "^4.1.2",
16 | "svelte-dnd-action": "^0.9.24",
17 | "svelte-i18n": "^3.7.0"
18 | },
19 | "devDependencies": {
20 | "@gplane/tsconfig": "^6.0.0",
21 | "@sveltejs/vite-plugin-svelte": "^2.4.3",
22 | "prettier": "^3.0.1",
23 | "prettier-plugin-svelte": "^3.0.3",
24 | "svelte-check": "^3.4.6",
25 | "svelte-hmr": "^0.15.2",
26 | "svelte-preprocess": "^5.0.4",
27 | "typescript": "^5.1.6",
28 | "vite": "^4.4.8"
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | dependencies:
8 | '@shoelace-style/shoelace':
9 | specifier: ^2.6.0
10 | version: 2.6.0
11 | highlight.js:
12 | specifier: ^11.8.0
13 | version: 11.8.0
14 | svelte:
15 | specifier: ^4.1.2
16 | version: 4.1.2
17 | svelte-dnd-action:
18 | specifier: ^0.9.24
19 | version: 0.9.24(svelte@4.1.2)
20 | svelte-i18n:
21 | specifier: ^3.7.0
22 | version: 3.7.0(svelte@4.1.2)
23 |
24 | devDependencies:
25 | '@gplane/tsconfig':
26 | specifier: ^6.0.0
27 | version: 6.0.0
28 | '@sveltejs/vite-plugin-svelte':
29 | specifier: ^2.4.3
30 | version: 2.4.3(svelte@4.1.2)(vite@4.4.8)
31 | prettier:
32 | specifier: ^3.0.1
33 | version: 3.0.1
34 | prettier-plugin-svelte:
35 | specifier: ^3.0.3
36 | version: 3.0.3(prettier@3.0.1)(svelte@4.1.2)
37 | svelte-check:
38 | specifier: ^3.4.6
39 | version: 3.4.6(svelte@4.1.2)
40 | svelte-hmr:
41 | specifier: ^0.15.2
42 | version: 0.15.2(svelte@4.1.2)
43 | svelte-preprocess:
44 | specifier: ^5.0.4
45 | version: 5.0.4(svelte@4.1.2)(typescript@5.1.6)
46 | typescript:
47 | specifier: ^5.1.6
48 | version: 5.1.6
49 | vite:
50 | specifier: ^4.4.8
51 | version: 4.4.8
52 |
53 | packages:
54 |
55 | /@ampproject/remapping@2.2.1:
56 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
57 | engines: {node: '>=6.0.0'}
58 | dependencies:
59 | '@jridgewell/gen-mapping': 0.3.3
60 | '@jridgewell/trace-mapping': 0.3.18
61 |
62 | /@ctrl/tinycolor@3.6.0:
63 | resolution: {integrity: sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==}
64 | engines: {node: '>=10'}
65 | dev: false
66 |
67 | /@esbuild/android-arm64@0.18.17:
68 | resolution: {integrity: sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==}
69 | engines: {node: '>=12'}
70 | cpu: [arm64]
71 | os: [android]
72 | requiresBuild: true
73 | dev: true
74 | optional: true
75 |
76 | /@esbuild/android-arm@0.18.17:
77 | resolution: {integrity: sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==}
78 | engines: {node: '>=12'}
79 | cpu: [arm]
80 | os: [android]
81 | requiresBuild: true
82 | dev: true
83 | optional: true
84 |
85 | /@esbuild/android-x64@0.18.17:
86 | resolution: {integrity: sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==}
87 | engines: {node: '>=12'}
88 | cpu: [x64]
89 | os: [android]
90 | requiresBuild: true
91 | dev: true
92 | optional: true
93 |
94 | /@esbuild/darwin-arm64@0.18.17:
95 | resolution: {integrity: sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==}
96 | engines: {node: '>=12'}
97 | cpu: [arm64]
98 | os: [darwin]
99 | requiresBuild: true
100 | dev: true
101 | optional: true
102 |
103 | /@esbuild/darwin-x64@0.18.17:
104 | resolution: {integrity: sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==}
105 | engines: {node: '>=12'}
106 | cpu: [x64]
107 | os: [darwin]
108 | requiresBuild: true
109 | dev: true
110 | optional: true
111 |
112 | /@esbuild/freebsd-arm64@0.18.17:
113 | resolution: {integrity: sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==}
114 | engines: {node: '>=12'}
115 | cpu: [arm64]
116 | os: [freebsd]
117 | requiresBuild: true
118 | dev: true
119 | optional: true
120 |
121 | /@esbuild/freebsd-x64@0.18.17:
122 | resolution: {integrity: sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==}
123 | engines: {node: '>=12'}
124 | cpu: [x64]
125 | os: [freebsd]
126 | requiresBuild: true
127 | dev: true
128 | optional: true
129 |
130 | /@esbuild/linux-arm64@0.18.17:
131 | resolution: {integrity: sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==}
132 | engines: {node: '>=12'}
133 | cpu: [arm64]
134 | os: [linux]
135 | requiresBuild: true
136 | dev: true
137 | optional: true
138 |
139 | /@esbuild/linux-arm@0.18.17:
140 | resolution: {integrity: sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==}
141 | engines: {node: '>=12'}
142 | cpu: [arm]
143 | os: [linux]
144 | requiresBuild: true
145 | dev: true
146 | optional: true
147 |
148 | /@esbuild/linux-ia32@0.18.17:
149 | resolution: {integrity: sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==}
150 | engines: {node: '>=12'}
151 | cpu: [ia32]
152 | os: [linux]
153 | requiresBuild: true
154 | dev: true
155 | optional: true
156 |
157 | /@esbuild/linux-loong64@0.18.17:
158 | resolution: {integrity: sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==}
159 | engines: {node: '>=12'}
160 | cpu: [loong64]
161 | os: [linux]
162 | requiresBuild: true
163 | dev: true
164 | optional: true
165 |
166 | /@esbuild/linux-mips64el@0.18.17:
167 | resolution: {integrity: sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==}
168 | engines: {node: '>=12'}
169 | cpu: [mips64el]
170 | os: [linux]
171 | requiresBuild: true
172 | dev: true
173 | optional: true
174 |
175 | /@esbuild/linux-ppc64@0.18.17:
176 | resolution: {integrity: sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==}
177 | engines: {node: '>=12'}
178 | cpu: [ppc64]
179 | os: [linux]
180 | requiresBuild: true
181 | dev: true
182 | optional: true
183 |
184 | /@esbuild/linux-riscv64@0.18.17:
185 | resolution: {integrity: sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==}
186 | engines: {node: '>=12'}
187 | cpu: [riscv64]
188 | os: [linux]
189 | requiresBuild: true
190 | dev: true
191 | optional: true
192 |
193 | /@esbuild/linux-s390x@0.18.17:
194 | resolution: {integrity: sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==}
195 | engines: {node: '>=12'}
196 | cpu: [s390x]
197 | os: [linux]
198 | requiresBuild: true
199 | dev: true
200 | optional: true
201 |
202 | /@esbuild/linux-x64@0.18.17:
203 | resolution: {integrity: sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==}
204 | engines: {node: '>=12'}
205 | cpu: [x64]
206 | os: [linux]
207 | requiresBuild: true
208 | dev: true
209 | optional: true
210 |
211 | /@esbuild/netbsd-x64@0.18.17:
212 | resolution: {integrity: sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==}
213 | engines: {node: '>=12'}
214 | cpu: [x64]
215 | os: [netbsd]
216 | requiresBuild: true
217 | dev: true
218 | optional: true
219 |
220 | /@esbuild/openbsd-x64@0.18.17:
221 | resolution: {integrity: sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==}
222 | engines: {node: '>=12'}
223 | cpu: [x64]
224 | os: [openbsd]
225 | requiresBuild: true
226 | dev: true
227 | optional: true
228 |
229 | /@esbuild/sunos-x64@0.18.17:
230 | resolution: {integrity: sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==}
231 | engines: {node: '>=12'}
232 | cpu: [x64]
233 | os: [sunos]
234 | requiresBuild: true
235 | dev: true
236 | optional: true
237 |
238 | /@esbuild/win32-arm64@0.18.17:
239 | resolution: {integrity: sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==}
240 | engines: {node: '>=12'}
241 | cpu: [arm64]
242 | os: [win32]
243 | requiresBuild: true
244 | dev: true
245 | optional: true
246 |
247 | /@esbuild/win32-ia32@0.18.17:
248 | resolution: {integrity: sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==}
249 | engines: {node: '>=12'}
250 | cpu: [ia32]
251 | os: [win32]
252 | requiresBuild: true
253 | dev: true
254 | optional: true
255 |
256 | /@esbuild/win32-x64@0.18.17:
257 | resolution: {integrity: sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==}
258 | engines: {node: '>=12'}
259 | cpu: [x64]
260 | os: [win32]
261 | requiresBuild: true
262 | dev: true
263 | optional: true
264 |
265 | /@floating-ui/core@1.4.1:
266 | resolution: {integrity: sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==}
267 | dependencies:
268 | '@floating-ui/utils': 0.1.1
269 | dev: false
270 |
271 | /@floating-ui/dom@1.5.1:
272 | resolution: {integrity: sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==}
273 | dependencies:
274 | '@floating-ui/core': 1.4.1
275 | '@floating-ui/utils': 0.1.1
276 | dev: false
277 |
278 | /@floating-ui/utils@0.1.1:
279 | resolution: {integrity: sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==}
280 | dev: false
281 |
282 | /@formatjs/ecma402-abstract@1.11.4:
283 | resolution: {integrity: sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==}
284 | dependencies:
285 | '@formatjs/intl-localematcher': 0.2.25
286 | tslib: 2.6.1
287 | dev: false
288 |
289 | /@formatjs/fast-memoize@1.2.1:
290 | resolution: {integrity: sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==}
291 | dependencies:
292 | tslib: 2.6.1
293 | dev: false
294 |
295 | /@formatjs/icu-messageformat-parser@2.1.0:
296 | resolution: {integrity: sha512-Qxv/lmCN6hKpBSss2uQ8IROVnta2r9jd3ymUEIjm2UyIkUCHVcbUVRGL/KS/wv7876edvsPe+hjHVJ4z8YuVaw==}
297 | dependencies:
298 | '@formatjs/ecma402-abstract': 1.11.4
299 | '@formatjs/icu-skeleton-parser': 1.3.6
300 | tslib: 2.6.1
301 | dev: false
302 |
303 | /@formatjs/icu-skeleton-parser@1.3.6:
304 | resolution: {integrity: sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==}
305 | dependencies:
306 | '@formatjs/ecma402-abstract': 1.11.4
307 | tslib: 2.6.1
308 | dev: false
309 |
310 | /@formatjs/intl-localematcher@0.2.25:
311 | resolution: {integrity: sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==}
312 | dependencies:
313 | tslib: 2.6.1
314 | dev: false
315 |
316 | /@gplane/tsconfig@6.0.0:
317 | resolution: {integrity: sha512-K61z8tl3I5tR66MJoGoBCY1y950fybDfPol7uzcg/YPilretE0bl41GOOX0BpRbblYLOWzSJvdqlimzjAfryog==}
318 | dev: true
319 |
320 | /@jridgewell/gen-mapping@0.3.3:
321 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
322 | engines: {node: '>=6.0.0'}
323 | dependencies:
324 | '@jridgewell/set-array': 1.1.2
325 | '@jridgewell/sourcemap-codec': 1.4.15
326 | '@jridgewell/trace-mapping': 0.3.18
327 |
328 | /@jridgewell/resolve-uri@3.1.0:
329 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
330 | engines: {node: '>=6.0.0'}
331 |
332 | /@jridgewell/set-array@1.1.2:
333 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
334 | engines: {node: '>=6.0.0'}
335 |
336 | /@jridgewell/sourcemap-codec@1.4.14:
337 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
338 |
339 | /@jridgewell/sourcemap-codec@1.4.15:
340 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
341 |
342 | /@jridgewell/trace-mapping@0.3.18:
343 | resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==}
344 | dependencies:
345 | '@jridgewell/resolve-uri': 3.1.0
346 | '@jridgewell/sourcemap-codec': 1.4.14
347 |
348 | /@lit-labs/react@1.2.1:
349 | resolution: {integrity: sha512-DiZdJYFU0tBbdQkfwwRSwYyI/mcWkg3sWesKRsHUd4G+NekTmmeq9fzsurvcKTNVa0comNljwtg4Hvi1ds3V+A==}
350 | dev: false
351 |
352 | /@lit-labs/ssr-dom-shim@1.1.1:
353 | resolution: {integrity: sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==}
354 | dev: false
355 |
356 | /@lit/reactive-element@1.6.3:
357 | resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==}
358 | dependencies:
359 | '@lit-labs/ssr-dom-shim': 1.1.1
360 | dev: false
361 |
362 | /@nodelib/fs.scandir@2.1.5:
363 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
364 | engines: {node: '>= 8'}
365 | dependencies:
366 | '@nodelib/fs.stat': 2.0.5
367 | run-parallel: 1.2.0
368 | dev: true
369 |
370 | /@nodelib/fs.stat@2.0.5:
371 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
372 | engines: {node: '>= 8'}
373 | dev: true
374 |
375 | /@nodelib/fs.walk@1.2.8:
376 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
377 | engines: {node: '>= 8'}
378 | dependencies:
379 | '@nodelib/fs.scandir': 2.1.5
380 | fastq: 1.15.0
381 | dev: true
382 |
383 | /@shoelace-style/animations@1.1.0:
384 | resolution: {integrity: sha512-Be+cahtZyI2dPKRm8EZSx3YJQ+jLvEcn3xzRP7tM4tqBnvd/eW/64Xh0iOf0t2w5P8iJKfdBbpVNE9naCaOf2g==}
385 | dev: false
386 |
387 | /@shoelace-style/localize@3.1.1:
388 | resolution: {integrity: sha512-NkM/hj3Js6yXCU9WxhsyxRUdyqUUUl/BSvIluUMptQteUWGOJaoyP1iMbOMqO544DYMzBfnoCw66ZHkGuTdKgA==}
389 | dev: false
390 |
391 | /@shoelace-style/shoelace@2.6.0:
392 | resolution: {integrity: sha512-Pa5Ll8GkFHtttES1FuFpkJ5pbUdlCAn86LVlU94pRHzqYNI81wQQzckkXPT+8aHCMSlfcr+t9RhaFY62T4iU+w==}
393 | engines: {node: '>=14.17.0'}
394 | dependencies:
395 | '@ctrl/tinycolor': 3.6.0
396 | '@floating-ui/dom': 1.5.1
397 | '@lit-labs/react': 1.2.1
398 | '@shoelace-style/animations': 1.1.0
399 | '@shoelace-style/localize': 3.1.1
400 | composed-offset-position: 0.0.4
401 | lit: 2.8.0
402 | qr-creator: 1.0.0
403 | dev: false
404 |
405 | /@sveltejs/vite-plugin-svelte-inspector@1.0.3(@sveltejs/vite-plugin-svelte@2.4.3)(svelte@4.1.2)(vite@4.4.8):
406 | resolution: {integrity: sha512-Khdl5jmmPN6SUsVuqSXatKpQTMIifoQPDanaxC84m9JxIibWvSABJyHpyys0Z+1yYrxY5TTEQm+6elh0XCMaOA==}
407 | engines: {node: ^14.18.0 || >= 16}
408 | peerDependencies:
409 | '@sveltejs/vite-plugin-svelte': ^2.2.0
410 | svelte: ^3.54.0 || ^4.0.0
411 | vite: ^4.0.0
412 | dependencies:
413 | '@sveltejs/vite-plugin-svelte': 2.4.3(svelte@4.1.2)(vite@4.4.8)
414 | debug: 4.3.4
415 | svelte: 4.1.2
416 | vite: 4.4.8
417 | transitivePeerDependencies:
418 | - supports-color
419 | dev: true
420 |
421 | /@sveltejs/vite-plugin-svelte@2.4.3(svelte@4.1.2)(vite@4.4.8):
422 | resolution: {integrity: sha512-NY2h+B54KHZO3kDURTdARqthn6D4YSIebtfW75NvZ/fwyk4G+AJw3V/i0OBjyN4406Ht9yZcnNWMuRUFnDNNiA==}
423 | engines: {node: ^14.18.0 || >= 16}
424 | peerDependencies:
425 | svelte: ^3.54.0 || ^4.0.0
426 | vite: ^4.0.0
427 | dependencies:
428 | '@sveltejs/vite-plugin-svelte-inspector': 1.0.3(@sveltejs/vite-plugin-svelte@2.4.3)(svelte@4.1.2)(vite@4.4.8)
429 | debug: 4.3.4
430 | deepmerge: 4.3.1
431 | kleur: 4.1.5
432 | magic-string: 0.30.2
433 | svelte: 4.1.2
434 | svelte-hmr: 0.15.2(svelte@4.1.2)
435 | vite: 4.4.8
436 | vitefu: 0.2.4(vite@4.4.8)
437 | transitivePeerDependencies:
438 | - supports-color
439 | dev: true
440 |
441 | /@types/estree@1.0.1:
442 | resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==}
443 |
444 | /@types/pug@2.0.6:
445 | resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==}
446 | dev: true
447 |
448 | /@types/trusted-types@2.0.3:
449 | resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==}
450 | dev: false
451 |
452 | /acorn@8.10.0:
453 | resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
454 | engines: {node: '>=0.4.0'}
455 | hasBin: true
456 |
457 | /anymatch@3.1.3:
458 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
459 | engines: {node: '>= 8'}
460 | dependencies:
461 | normalize-path: 3.0.0
462 | picomatch: 2.3.1
463 | dev: true
464 |
465 | /aria-query@5.3.0:
466 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
467 | dependencies:
468 | dequal: 2.0.3
469 |
470 | /axobject-query@3.2.1:
471 | resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
472 | dependencies:
473 | dequal: 2.0.3
474 |
475 | /balanced-match@1.0.2:
476 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
477 | dev: true
478 |
479 | /binary-extensions@2.2.0:
480 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
481 | engines: {node: '>=8'}
482 | dev: true
483 |
484 | /brace-expansion@1.1.11:
485 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
486 | dependencies:
487 | balanced-match: 1.0.2
488 | concat-map: 0.0.1
489 | dev: true
490 |
491 | /braces@3.0.2:
492 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
493 | engines: {node: '>=8'}
494 | dependencies:
495 | fill-range: 7.0.1
496 | dev: true
497 |
498 | /buffer-crc32@0.2.13:
499 | resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
500 | dev: true
501 |
502 | /callsites@3.1.0:
503 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
504 | engines: {node: '>=6'}
505 | dev: true
506 |
507 | /chokidar@3.5.3:
508 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
509 | engines: {node: '>= 8.10.0'}
510 | dependencies:
511 | anymatch: 3.1.3
512 | braces: 3.0.2
513 | glob-parent: 5.1.2
514 | is-binary-path: 2.1.0
515 | is-glob: 4.0.3
516 | normalize-path: 3.0.0
517 | readdirp: 3.6.0
518 | optionalDependencies:
519 | fsevents: 2.3.2
520 | dev: true
521 |
522 | /cli-color@2.0.3:
523 | resolution: {integrity: sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==}
524 | engines: {node: '>=0.10'}
525 | dependencies:
526 | d: 1.0.1
527 | es5-ext: 0.10.62
528 | es6-iterator: 2.0.3
529 | memoizee: 0.4.15
530 | timers-ext: 0.1.7
531 | dev: false
532 |
533 | /code-red@1.0.3:
534 | resolution: {integrity: sha512-kVwJELqiILQyG5aeuyKFbdsI1fmQy1Cmf7dQ8eGmVuJoaRVdwey7WaMknr2ZFeVSYSKT0rExsa8EGw0aoI/1QQ==}
535 | dependencies:
536 | '@jridgewell/sourcemap-codec': 1.4.15
537 | '@types/estree': 1.0.1
538 | acorn: 8.10.0
539 | estree-walker: 3.0.3
540 | periscopic: 3.1.0
541 |
542 | /composed-offset-position@0.0.4:
543 | resolution: {integrity: sha512-vMlvu1RuNegVE0YsCDSV/X4X10j56mq7PCIyOKK74FxkXzGLwhOUmdkJLSdOBOMwWycobGUMgft2lp+YgTe8hw==}
544 | dev: false
545 |
546 | /concat-map@0.0.1:
547 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
548 | dev: true
549 |
550 | /css-tree@2.3.1:
551 | resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
552 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
553 | dependencies:
554 | mdn-data: 2.0.30
555 | source-map-js: 1.0.2
556 |
557 | /d@1.0.1:
558 | resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
559 | dependencies:
560 | es5-ext: 0.10.62
561 | type: 1.2.0
562 | dev: false
563 |
564 | /debug@4.3.4:
565 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
566 | engines: {node: '>=6.0'}
567 | peerDependencies:
568 | supports-color: '*'
569 | peerDependenciesMeta:
570 | supports-color:
571 | optional: true
572 | dependencies:
573 | ms: 2.1.2
574 | dev: true
575 |
576 | /deepmerge@4.3.1:
577 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
578 | engines: {node: '>=0.10.0'}
579 |
580 | /dequal@2.0.3:
581 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
582 | engines: {node: '>=6'}
583 |
584 | /detect-indent@6.1.0:
585 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
586 | engines: {node: '>=8'}
587 | dev: true
588 |
589 | /es5-ext@0.10.62:
590 | resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==}
591 | engines: {node: '>=0.10'}
592 | requiresBuild: true
593 | dependencies:
594 | es6-iterator: 2.0.3
595 | es6-symbol: 3.1.3
596 | next-tick: 1.1.0
597 | dev: false
598 |
599 | /es6-iterator@2.0.3:
600 | resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
601 | dependencies:
602 | d: 1.0.1
603 | es5-ext: 0.10.62
604 | es6-symbol: 3.1.3
605 | dev: false
606 |
607 | /es6-promise@3.3.1:
608 | resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
609 | dev: true
610 |
611 | /es6-symbol@3.1.3:
612 | resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
613 | dependencies:
614 | d: 1.0.1
615 | ext: 1.7.0
616 | dev: false
617 |
618 | /es6-weak-map@2.0.3:
619 | resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
620 | dependencies:
621 | d: 1.0.1
622 | es5-ext: 0.10.62
623 | es6-iterator: 2.0.3
624 | es6-symbol: 3.1.3
625 | dev: false
626 |
627 | /esbuild@0.18.17:
628 | resolution: {integrity: sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==}
629 | engines: {node: '>=12'}
630 | hasBin: true
631 | requiresBuild: true
632 | optionalDependencies:
633 | '@esbuild/android-arm': 0.18.17
634 | '@esbuild/android-arm64': 0.18.17
635 | '@esbuild/android-x64': 0.18.17
636 | '@esbuild/darwin-arm64': 0.18.17
637 | '@esbuild/darwin-x64': 0.18.17
638 | '@esbuild/freebsd-arm64': 0.18.17
639 | '@esbuild/freebsd-x64': 0.18.17
640 | '@esbuild/linux-arm': 0.18.17
641 | '@esbuild/linux-arm64': 0.18.17
642 | '@esbuild/linux-ia32': 0.18.17
643 | '@esbuild/linux-loong64': 0.18.17
644 | '@esbuild/linux-mips64el': 0.18.17
645 | '@esbuild/linux-ppc64': 0.18.17
646 | '@esbuild/linux-riscv64': 0.18.17
647 | '@esbuild/linux-s390x': 0.18.17
648 | '@esbuild/linux-x64': 0.18.17
649 | '@esbuild/netbsd-x64': 0.18.17
650 | '@esbuild/openbsd-x64': 0.18.17
651 | '@esbuild/sunos-x64': 0.18.17
652 | '@esbuild/win32-arm64': 0.18.17
653 | '@esbuild/win32-ia32': 0.18.17
654 | '@esbuild/win32-x64': 0.18.17
655 | dev: true
656 |
657 | /estree-walker@2.0.2:
658 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
659 | dev: false
660 |
661 | /estree-walker@3.0.3:
662 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
663 | dependencies:
664 | '@types/estree': 1.0.1
665 |
666 | /event-emitter@0.3.5:
667 | resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
668 | dependencies:
669 | d: 1.0.1
670 | es5-ext: 0.10.62
671 | dev: false
672 |
673 | /ext@1.7.0:
674 | resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
675 | dependencies:
676 | type: 2.7.2
677 | dev: false
678 |
679 | /fast-glob@3.3.1:
680 | resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
681 | engines: {node: '>=8.6.0'}
682 | dependencies:
683 | '@nodelib/fs.stat': 2.0.5
684 | '@nodelib/fs.walk': 1.2.8
685 | glob-parent: 5.1.2
686 | merge2: 1.4.1
687 | micromatch: 4.0.5
688 | dev: true
689 |
690 | /fastq@1.15.0:
691 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
692 | dependencies:
693 | reusify: 1.0.4
694 | dev: true
695 |
696 | /fill-range@7.0.1:
697 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
698 | engines: {node: '>=8'}
699 | dependencies:
700 | to-regex-range: 5.0.1
701 | dev: true
702 |
703 | /fs.realpath@1.0.0:
704 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
705 | dev: true
706 |
707 | /fsevents@2.3.2:
708 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
709 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
710 | os: [darwin]
711 | requiresBuild: true
712 | dev: true
713 | optional: true
714 |
715 | /glob-parent@5.1.2:
716 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
717 | engines: {node: '>= 6'}
718 | dependencies:
719 | is-glob: 4.0.3
720 | dev: true
721 |
722 | /glob@7.2.3:
723 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
724 | dependencies:
725 | fs.realpath: 1.0.0
726 | inflight: 1.0.6
727 | inherits: 2.0.4
728 | minimatch: 3.1.2
729 | once: 1.4.0
730 | path-is-absolute: 1.0.1
731 | dev: true
732 |
733 | /globalyzer@0.1.0:
734 | resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
735 | dev: false
736 |
737 | /globrex@0.1.2:
738 | resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
739 | dev: false
740 |
741 | /graceful-fs@4.2.11:
742 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
743 | dev: true
744 |
745 | /highlight.js@11.8.0:
746 | resolution: {integrity: sha512-MedQhoqVdr0U6SSnWPzfiadUcDHfN/Wzq25AkXiQv9oiOO/sG0S7XkvpFIqWBl9Yq1UYyYOOVORs5UW2XlPyzg==}
747 | engines: {node: '>=12.0.0'}
748 | dev: false
749 |
750 | /import-fresh@3.3.0:
751 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
752 | engines: {node: '>=6'}
753 | dependencies:
754 | parent-module: 1.0.1
755 | resolve-from: 4.0.0
756 | dev: true
757 |
758 | /inflight@1.0.6:
759 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
760 | dependencies:
761 | once: 1.4.0
762 | wrappy: 1.0.2
763 | dev: true
764 |
765 | /inherits@2.0.4:
766 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
767 | dev: true
768 |
769 | /intl-messageformat@9.13.0:
770 | resolution: {integrity: sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw==}
771 | dependencies:
772 | '@formatjs/ecma402-abstract': 1.11.4
773 | '@formatjs/fast-memoize': 1.2.1
774 | '@formatjs/icu-messageformat-parser': 2.1.0
775 | tslib: 2.6.1
776 | dev: false
777 |
778 | /is-binary-path@2.1.0:
779 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
780 | engines: {node: '>=8'}
781 | dependencies:
782 | binary-extensions: 2.2.0
783 | dev: true
784 |
785 | /is-extglob@2.1.1:
786 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
787 | engines: {node: '>=0.10.0'}
788 | dev: true
789 |
790 | /is-glob@4.0.3:
791 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
792 | engines: {node: '>=0.10.0'}
793 | dependencies:
794 | is-extglob: 2.1.1
795 | dev: true
796 |
797 | /is-number@7.0.0:
798 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
799 | engines: {node: '>=0.12.0'}
800 | dev: true
801 |
802 | /is-promise@2.2.2:
803 | resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
804 | dev: false
805 |
806 | /is-reference@3.0.1:
807 | resolution: {integrity: sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==}
808 | dependencies:
809 | '@types/estree': 1.0.1
810 |
811 | /kleur@4.1.5:
812 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
813 | engines: {node: '>=6'}
814 | dev: true
815 |
816 | /lit-element@3.3.3:
817 | resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==}
818 | dependencies:
819 | '@lit-labs/ssr-dom-shim': 1.1.1
820 | '@lit/reactive-element': 1.6.3
821 | lit-html: 2.8.0
822 | dev: false
823 |
824 | /lit-html@2.8.0:
825 | resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==}
826 | dependencies:
827 | '@types/trusted-types': 2.0.3
828 | dev: false
829 |
830 | /lit@2.8.0:
831 | resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==}
832 | dependencies:
833 | '@lit/reactive-element': 1.6.3
834 | lit-element: 3.3.3
835 | lit-html: 2.8.0
836 | dev: false
837 |
838 | /locate-character@3.0.0:
839 | resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
840 |
841 | /lru-queue@0.1.0:
842 | resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
843 | dependencies:
844 | es5-ext: 0.10.62
845 | dev: false
846 |
847 | /magic-string@0.27.0:
848 | resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
849 | engines: {node: '>=12'}
850 | dependencies:
851 | '@jridgewell/sourcemap-codec': 1.4.15
852 | dev: true
853 |
854 | /magic-string@0.30.2:
855 | resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==}
856 | engines: {node: '>=12'}
857 | dependencies:
858 | '@jridgewell/sourcemap-codec': 1.4.15
859 |
860 | /mdn-data@2.0.30:
861 | resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
862 |
863 | /memoizee@0.4.15:
864 | resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==}
865 | dependencies:
866 | d: 1.0.1
867 | es5-ext: 0.10.62
868 | es6-weak-map: 2.0.3
869 | event-emitter: 0.3.5
870 | is-promise: 2.2.2
871 | lru-queue: 0.1.0
872 | next-tick: 1.1.0
873 | timers-ext: 0.1.7
874 | dev: false
875 |
876 | /merge2@1.4.1:
877 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
878 | engines: {node: '>= 8'}
879 | dev: true
880 |
881 | /micromatch@4.0.5:
882 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
883 | engines: {node: '>=8.6'}
884 | dependencies:
885 | braces: 3.0.2
886 | picomatch: 2.3.1
887 | dev: true
888 |
889 | /min-indent@1.0.1:
890 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
891 | engines: {node: '>=4'}
892 | dev: true
893 |
894 | /minimatch@3.1.2:
895 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
896 | dependencies:
897 | brace-expansion: 1.1.11
898 | dev: true
899 |
900 | /minimist@1.2.8:
901 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
902 | dev: true
903 |
904 | /mkdirp@0.5.6:
905 | resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
906 | hasBin: true
907 | dependencies:
908 | minimist: 1.2.8
909 | dev: true
910 |
911 | /mri@1.2.0:
912 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
913 | engines: {node: '>=4'}
914 |
915 | /ms@2.1.2:
916 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
917 | dev: true
918 |
919 | /nanoid@3.3.6:
920 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
921 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
922 | hasBin: true
923 | dev: true
924 |
925 | /next-tick@1.1.0:
926 | resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
927 | dev: false
928 |
929 | /normalize-path@3.0.0:
930 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
931 | engines: {node: '>=0.10.0'}
932 | dev: true
933 |
934 | /once@1.4.0:
935 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
936 | dependencies:
937 | wrappy: 1.0.2
938 | dev: true
939 |
940 | /parent-module@1.0.1:
941 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
942 | engines: {node: '>=6'}
943 | dependencies:
944 | callsites: 3.1.0
945 | dev: true
946 |
947 | /path-is-absolute@1.0.1:
948 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
949 | engines: {node: '>=0.10.0'}
950 | dev: true
951 |
952 | /periscopic@3.1.0:
953 | resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
954 | dependencies:
955 | '@types/estree': 1.0.1
956 | estree-walker: 3.0.3
957 | is-reference: 3.0.1
958 |
959 | /picocolors@1.0.0:
960 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
961 | dev: true
962 |
963 | /picomatch@2.3.1:
964 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
965 | engines: {node: '>=8.6'}
966 | dev: true
967 |
968 | /postcss@8.4.27:
969 | resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==}
970 | engines: {node: ^10 || ^12 || >=14}
971 | dependencies:
972 | nanoid: 3.3.6
973 | picocolors: 1.0.0
974 | source-map-js: 1.0.2
975 | dev: true
976 |
977 | /prettier-plugin-svelte@3.0.3(prettier@3.0.1)(svelte@4.1.2):
978 | resolution: {integrity: sha512-dLhieh4obJEK1hnZ6koxF+tMUrZbV5YGvRpf2+OADyanjya5j0z1Llo8iGwiHmFWZVG/hLEw/AJD5chXd9r3XA==}
979 | peerDependencies:
980 | prettier: ^3.0.0
981 | svelte: ^3.2.0 || ^4.0.0-next.0
982 | dependencies:
983 | prettier: 3.0.1
984 | svelte: 4.1.2
985 | dev: true
986 |
987 | /prettier@3.0.1:
988 | resolution: {integrity: sha512-fcOWSnnpCrovBsmFZIGIy9UqK2FaI7Hqax+DIO0A9UxeVoY4iweyaFjS5TavZN97Hfehph0nhsZnjlVKzEQSrQ==}
989 | engines: {node: '>=14'}
990 | hasBin: true
991 | dev: true
992 |
993 | /qr-creator@1.0.0:
994 | resolution: {integrity: sha512-C0cqfbS1P5hfqN4NhsYsUXePlk9BO+a45bAQ3xLYjBL3bOIFzoVEjs79Fado9u9BPBD3buHi3+vY+C8tHh4qMQ==}
995 | dev: false
996 |
997 | /queue-microtask@1.2.3:
998 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
999 | dev: true
1000 |
1001 | /readdirp@3.6.0:
1002 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1003 | engines: {node: '>=8.10.0'}
1004 | dependencies:
1005 | picomatch: 2.3.1
1006 | dev: true
1007 |
1008 | /resolve-from@4.0.0:
1009 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1010 | engines: {node: '>=4'}
1011 | dev: true
1012 |
1013 | /reusify@1.0.4:
1014 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1015 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1016 | dev: true
1017 |
1018 | /rimraf@2.7.1:
1019 | resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
1020 | hasBin: true
1021 | dependencies:
1022 | glob: 7.2.3
1023 | dev: true
1024 |
1025 | /rollup@3.27.1:
1026 | resolution: {integrity: sha512-tXNDFwOkN6C2w5Blj1g6ForKeFw6c1mDu5jxoeDO3/pmYjgt+8yvIFjKzH5FQUq70OKZBkOt0zzv0THXL7vwzQ==}
1027 | engines: {node: '>=14.18.0', npm: '>=8.0.0'}
1028 | hasBin: true
1029 | optionalDependencies:
1030 | fsevents: 2.3.2
1031 | dev: true
1032 |
1033 | /run-parallel@1.2.0:
1034 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1035 | dependencies:
1036 | queue-microtask: 1.2.3
1037 | dev: true
1038 |
1039 | /sade@1.8.1:
1040 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
1041 | engines: {node: '>=6'}
1042 | dependencies:
1043 | mri: 1.2.0
1044 |
1045 | /sander@0.5.1:
1046 | resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==}
1047 | dependencies:
1048 | es6-promise: 3.3.1
1049 | graceful-fs: 4.2.11
1050 | mkdirp: 0.5.6
1051 | rimraf: 2.7.1
1052 | dev: true
1053 |
1054 | /sorcery@0.11.0:
1055 | resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==}
1056 | hasBin: true
1057 | dependencies:
1058 | '@jridgewell/sourcemap-codec': 1.4.15
1059 | buffer-crc32: 0.2.13
1060 | minimist: 1.2.8
1061 | sander: 0.5.1
1062 | dev: true
1063 |
1064 | /source-map-js@1.0.2:
1065 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1066 | engines: {node: '>=0.10.0'}
1067 |
1068 | /strip-indent@3.0.0:
1069 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
1070 | engines: {node: '>=8'}
1071 | dependencies:
1072 | min-indent: 1.0.1
1073 | dev: true
1074 |
1075 | /svelte-check@3.4.6(svelte@4.1.2):
1076 | resolution: {integrity: sha512-OBlY8866Zh1zHQTkBMPS6psPi7o2umTUyj6JWm4SacnIHXpWFm658pG32m3dKvKFL49V4ntAkfFHKo4ztH07og==}
1077 | hasBin: true
1078 | peerDependencies:
1079 | svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0
1080 | dependencies:
1081 | '@jridgewell/trace-mapping': 0.3.18
1082 | chokidar: 3.5.3
1083 | fast-glob: 3.3.1
1084 | import-fresh: 3.3.0
1085 | picocolors: 1.0.0
1086 | sade: 1.8.1
1087 | svelte: 4.1.2
1088 | svelte-preprocess: 5.0.4(svelte@4.1.2)(typescript@5.1.6)
1089 | typescript: 5.1.6
1090 | transitivePeerDependencies:
1091 | - '@babel/core'
1092 | - coffeescript
1093 | - less
1094 | - postcss
1095 | - postcss-load-config
1096 | - pug
1097 | - sass
1098 | - stylus
1099 | - sugarss
1100 | dev: true
1101 |
1102 | /svelte-dnd-action@0.9.24(svelte@4.1.2):
1103 | resolution: {integrity: sha512-rp+LqH4Pq8uYVko6Qpe9hvQeJkrmG0erT8N0DffLYeFFp2u1cxpj/icB0j4eJNqYPfHQYEyo1nyol4tnq+iOew==}
1104 | peerDependencies:
1105 | svelte: '>=3.23.0'
1106 | dependencies:
1107 | svelte: 4.1.2
1108 | dev: false
1109 |
1110 | /svelte-hmr@0.15.2(svelte@4.1.2):
1111 | resolution: {integrity: sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==}
1112 | engines: {node: ^12.20 || ^14.13.1 || >= 16}
1113 | peerDependencies:
1114 | svelte: ^3.19.0 || ^4.0.0-next.0
1115 | dependencies:
1116 | svelte: 4.1.2
1117 | dev: true
1118 |
1119 | /svelte-i18n@3.7.0(svelte@4.1.2):
1120 | resolution: {integrity: sha512-kfdJsYsyOE9tFEVtjPXvrUaufXQnbFAI6LsX9vaQP+xm8A5Wao2qQ6pRZmIUCAvXvYQt7aXQ7hK9+NP9AlxehA==}
1121 | engines: {node: '>= 16'}
1122 | hasBin: true
1123 | peerDependencies:
1124 | svelte: ^3 || ^4
1125 | dependencies:
1126 | cli-color: 2.0.3
1127 | deepmerge: 4.3.1
1128 | estree-walker: 2.0.2
1129 | intl-messageformat: 9.13.0
1130 | sade: 1.8.1
1131 | svelte: 4.1.2
1132 | tiny-glob: 0.2.9
1133 | dev: false
1134 |
1135 | /svelte-preprocess@5.0.4(svelte@4.1.2)(typescript@5.1.6):
1136 | resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==}
1137 | engines: {node: '>= 14.10.0'}
1138 | requiresBuild: true
1139 | peerDependencies:
1140 | '@babel/core': ^7.10.2
1141 | coffeescript: ^2.5.1
1142 | less: ^3.11.3 || ^4.0.0
1143 | postcss: ^7 || ^8
1144 | postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0
1145 | pug: ^3.0.0
1146 | sass: ^1.26.8
1147 | stylus: ^0.55.0
1148 | sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
1149 | svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0
1150 | typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0'
1151 | peerDependenciesMeta:
1152 | '@babel/core':
1153 | optional: true
1154 | coffeescript:
1155 | optional: true
1156 | less:
1157 | optional: true
1158 | postcss:
1159 | optional: true
1160 | postcss-load-config:
1161 | optional: true
1162 | pug:
1163 | optional: true
1164 | sass:
1165 | optional: true
1166 | stylus:
1167 | optional: true
1168 | sugarss:
1169 | optional: true
1170 | typescript:
1171 | optional: true
1172 | dependencies:
1173 | '@types/pug': 2.0.6
1174 | detect-indent: 6.1.0
1175 | magic-string: 0.27.0
1176 | sorcery: 0.11.0
1177 | strip-indent: 3.0.0
1178 | svelte: 4.1.2
1179 | typescript: 5.1.6
1180 | dev: true
1181 |
1182 | /svelte@4.1.2:
1183 | resolution: {integrity: sha512-/evA8U6CgOHe5ZD1C1W3va9iJG7mWflcCdghBORJaAhD2JzrVERJty/2gl0pIPrJYBGZwZycH6onYf+64XXF9g==}
1184 | engines: {node: '>=16'}
1185 | dependencies:
1186 | '@ampproject/remapping': 2.2.1
1187 | '@jridgewell/sourcemap-codec': 1.4.15
1188 | '@jridgewell/trace-mapping': 0.3.18
1189 | acorn: 8.10.0
1190 | aria-query: 5.3.0
1191 | axobject-query: 3.2.1
1192 | code-red: 1.0.3
1193 | css-tree: 2.3.1
1194 | estree-walker: 3.0.3
1195 | is-reference: 3.0.1
1196 | locate-character: 3.0.0
1197 | magic-string: 0.30.2
1198 | periscopic: 3.1.0
1199 |
1200 | /timers-ext@0.1.7:
1201 | resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==}
1202 | dependencies:
1203 | es5-ext: 0.10.62
1204 | next-tick: 1.1.0
1205 | dev: false
1206 |
1207 | /tiny-glob@0.2.9:
1208 | resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
1209 | dependencies:
1210 | globalyzer: 0.1.0
1211 | globrex: 0.1.2
1212 | dev: false
1213 |
1214 | /to-regex-range@5.0.1:
1215 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1216 | engines: {node: '>=8.0'}
1217 | dependencies:
1218 | is-number: 7.0.0
1219 | dev: true
1220 |
1221 | /tslib@2.6.1:
1222 | resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==}
1223 | dev: false
1224 |
1225 | /type@1.2.0:
1226 | resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
1227 | dev: false
1228 |
1229 | /type@2.7.2:
1230 | resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
1231 | dev: false
1232 |
1233 | /typescript@5.1.6:
1234 | resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==}
1235 | engines: {node: '>=14.17'}
1236 | hasBin: true
1237 | dev: true
1238 |
1239 | /vite@4.4.8:
1240 | resolution: {integrity: sha512-LONawOUUjxQridNWGQlNizfKH89qPigK36XhMI7COMGztz8KNY0JHim7/xDd71CZwGT4HtSRgI7Hy+RlhG0Gvg==}
1241 | engines: {node: ^14.18.0 || >=16.0.0}
1242 | hasBin: true
1243 | peerDependencies:
1244 | '@types/node': '>= 14'
1245 | less: '*'
1246 | lightningcss: ^1.21.0
1247 | sass: '*'
1248 | stylus: '*'
1249 | sugarss: '*'
1250 | terser: ^5.4.0
1251 | peerDependenciesMeta:
1252 | '@types/node':
1253 | optional: true
1254 | less:
1255 | optional: true
1256 | lightningcss:
1257 | optional: true
1258 | sass:
1259 | optional: true
1260 | stylus:
1261 | optional: true
1262 | sugarss:
1263 | optional: true
1264 | terser:
1265 | optional: true
1266 | dependencies:
1267 | esbuild: 0.18.17
1268 | postcss: 8.4.27
1269 | rollup: 3.27.1
1270 | optionalDependencies:
1271 | fsevents: 2.3.2
1272 | dev: true
1273 |
1274 | /vitefu@0.2.4(vite@4.4.8):
1275 | resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==}
1276 | peerDependencies:
1277 | vite: ^3.0.0 || ^4.0.0
1278 | peerDependenciesMeta:
1279 | vite:
1280 | optional: true
1281 | dependencies:
1282 | vite: 4.4.8
1283 | dev: true
1284 |
1285 | /wrappy@1.0.2:
1286 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1287 | dev: true
1288 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bs-community/customskinloader-gui/dc8aa24e5121aa05eef2d43e23db16141cd3be6b/public/favicon.ico
--------------------------------------------------------------------------------
/src/App.svelte:
--------------------------------------------------------------------------------
1 |
86 |
87 |
88 |
89 |
90 |
91 |
103 |
104 |
111 | {$_('cacheExpiry.suffix')}
112 |
113 | {$_('cacheExpiry.help')}
114 |
115 |
116 |
117 |
{$_('threadPoolSize.label')}
118 |
125 |
126 |
127 | {$_('threadPoolSize.help')}
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
170 |
--------------------------------------------------------------------------------
/src/ConfigJson.svelte:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 | {@html code}
22 |
23 |
24 |
29 | {$_('json.download')}
30 |
31 |
37 | {#if copied}
38 | {$_('json.copied')}
39 | {:else}
40 | {$_('json.copy')}
41 | {/if}
42 |
43 |
44 |
45 |
46 |
64 |
--------------------------------------------------------------------------------
/src/DragDropList.svelte:
--------------------------------------------------------------------------------
1 |
19 |
20 | (items = e.detail.items)}
23 | on:finalize={(e) => (items = e.detail.items)}
24 | >
25 | {#each items as item, i (item.name)}
26 | editItem(i)}>
27 | {item.name}
28 |
29 | editItem(i)} />
30 | removeItem(i)} />
31 |
32 |
33 | {/each}
34 |
35 |
36 |
52 |
--------------------------------------------------------------------------------
/src/FileInput.svelte:
--------------------------------------------------------------------------------
1 |
35 |
36 |
37 | {$_('openLocal')}
38 |
39 |
40 |
41 |
42 | {message}
43 | dialog.hide()}>
44 | {$_('ok')}
45 |
46 |
47 |
48 |
53 |
--------------------------------------------------------------------------------
/src/GlobalControl.svelte:
--------------------------------------------------------------------------------
1 |
54 |
55 |
56 |
57 |
58 | dispatch('acceptLocal', detail)} />
59 |
64 | {$_('viewOnGithub')}
65 |
66 |
67 |
68 |
69 | 中文(简体)
70 | English
71 |
72 | (darkMode = !darkMode)}>
73 | {$_('darkMode')}
74 |
75 |
76 |
77 |
78 |
79 |
105 |
--------------------------------------------------------------------------------
/src/HelpText.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
11 |
--------------------------------------------------------------------------------
/src/LoadList.svelte:
--------------------------------------------------------------------------------
1 |
68 |
69 |
70 |
71 |
72 | {$_('dragTip')}
73 |
74 |
75 | {#if editing === -1}
76 | {$_('add')}
77 | {:else if editingItem}
78 |
79 |
80 |
86 | MojangAPI
87 |
88 |
94 | CustomSkinAPI
95 |
96 |
102 | UniSkinAPI
103 |
104 |
110 | GlitchlessAPI
111 |
112 |
118 | Elyby
119 |
120 |
126 | {$_('legacy')}
127 |
128 |
129 |
135 |
136 |
(editing = -1)}>
137 | {$_('done')}
138 |
139 |
140 | {/if}
141 |
142 |
156 |
--------------------------------------------------------------------------------
/src/LoadListItemEditor.svelte:
--------------------------------------------------------------------------------
1 |
13 |
14 | {#if item.type === 'MojangAPI'}
15 |
16 | {:else if item.type === 'CustomSkinAPI' || item.type === 'UniSkinAPI' || item.type === 'GlitchlessAPI'}
17 |
18 | {:else if item.type === 'Elyby'}
19 |
20 | {:else}
21 |
22 | {/if}
23 |
--------------------------------------------------------------------------------
/src/Switches.svelte:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | {$_('hoverTip')}
19 |
20 |
21 |
22 | (enable = !enable)}
26 | >
27 | {$_('enableCSL')}
28 |
29 |
30 |
31 |
32 | (enableSkull = !enableSkull)}
36 | >
37 | {$_('enableSkull')}
38 |
39 |
40 |
41 |
42 | (enableDynamicSkull = !enableDynamicSkull)}
46 | >
47 | {$_('enableDynamicSkull')}
48 |
49 |
50 |
51 |
52 | (enableTransparentSkin = !enableTransparentSkin)}
56 | >
57 | {$_('enableTransparentSkin')}
58 |
59 |
60 |
61 |
62 | (ignoreHttpsCertificate = !ignoreHttpsCertificate)}
66 | >
67 | {$_('ignoreHttpsCertificate')}
68 |
69 |
70 |
71 |
72 | (enableUpdateSkull = !enableUpdateSkull)}
77 | >
78 | {$_('enableUpdateSkull.label')}
79 |
80 |
81 |
82 |
83 | (enableLocalProfileCache = !enableLocalProfileCache)}
88 | >
89 | {$_('enableLocalProfileCache.label')}
90 |
91 |
92 |
93 |
94 | (enableCacheAutoClean = !enableCacheAutoClean)}
99 | >
100 | {$_('enableCacheAutoClean.label')}
101 |
102 |
103 |
104 |
105 | (forceLoadAllTextures = !forceLoadAllTextures)}
110 | >
111 | {$_('forceLoadAllTextures.label')}
112 |
113 |
114 |
115 |
116 | (enableCape = !enableCape)}
120 | >
121 | {$_('enableCape')}
122 |
123 |
124 |
125 |
130 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import hljs from 'highlight.js/lib/core'
2 | import json from 'highlight.js/lib/languages/json'
3 | import { overrideItemIdKeyNameBeforeInitialisingDndZones } from 'svelte-dnd-action'
4 | import { addMessages, init, getLocaleFromNavigator } from 'svelte-i18n'
5 | import App from './App.svelte'
6 | import langZhCN from './lang/zh-CN.json'
7 | import langEnUs from './lang/en-US.json'
8 |
9 | hljs.registerLanguage('json', json)
10 |
11 | // stop logging of "svelte-dnd-action"
12 | console.debug = () => {}
13 |
14 | overrideItemIdKeyNameBeforeInitialisingDndZones('name')
15 |
16 | addMessages('zh-CN', langZhCN)
17 | addMessages('en-US', langEnUs)
18 |
19 | init({
20 | fallbackLocale: 'en',
21 | initialLocale: getLocaleFromNavigator(),
22 | })
23 |
24 | new App({
25 | target: document.body,
26 | })
27 |
--------------------------------------------------------------------------------
/src/lang/en-US.json:
--------------------------------------------------------------------------------
1 | {
2 | "openLocal": "Open local config file",
3 | "viewOnGithub": "View on GitHub",
4 | "darkMode": "Dark Mode",
5 | "fileInput": {
6 | "invalid": "Invalid JSON file. Please choose another file.",
7 | "failed": "Failed to read file."
8 | },
9 | "ok": "OK",
10 | "hoverTip": "Hover on options below to gather more information.",
11 | "enableCSL": "Enable CustomSkinLoader",
12 | "enableSkull": "Enable loading skulls",
13 | "enableDynamicSkull": "Enable dynamic skulls",
14 | "enableTransparentSkin": "Enable transparent skins",
15 | "ignoreHttpsCertificate": "Ignore global HTTPS certificates",
16 | "enableUpdateSkull": {
17 | "label": "Enable updating skulls",
18 | "tip": "We don't advise to enable this because of performance issues."
19 | },
20 | "enableLocalProfileCache": {
21 | "label": "Enable cache of local profiles",
22 | "tip": "This will allow you to use cached skins even without network, but we don't advise to enable this if you're using a stable network."
23 | },
24 | "enableCacheAutoClean": {
25 | "label": "Clean cache when loading CustomSkinLoader",
26 | "tip": "It won't be cleaned if caching local profiles is enabled."
27 | },
28 | "forceLoadAllTextures": {
29 | "label": "Force to load skin and cape even they come from different skin servers",
30 | "tip": "If disabled, once CustomSkinLoader can load any textures, it will stop continuing loading. We don't advise to enable this."
31 | },
32 | "enableCape": "Enable loading capes",
33 | "cacheExpiry": {
34 | "label": "Cache expires after",
35 | "suffix": "sec",
36 | "help": "It shouldn't be too low or too high. Setting it to 0 will disable cache."
37 | },
38 | "threadPoolSize": {
39 | "label": "Thread pool size of loading skins and skulls",
40 | "help": "It can be increased when entering a server which has many players, but it should't be too high."
41 | },
42 | "dragTip": "To re-order items, drag and drop each item.",
43 | "add": "Add",
44 | "legacy": "Legacy",
45 | "name": "Name",
46 | "done": "Done",
47 | "advanced": "Advanced",
48 | "optional": "Optional",
49 | "mojang": {
50 | "apiRoot": "Yggdrasil API root URL. Optional.",
51 | "sessionRoot": "Yggdrasil API session server URL. Optional."
52 | },
53 | "jsonApi": {
54 | "root": "Skin server root URL"
55 | },
56 | "legacyApi": {
57 | "skin": "Skin file path",
58 | "cape": "Cape file path",
59 | "elytra": "Elytra file path",
60 | "model": "Model",
61 | "auto": "Auto detect",
62 | "steve": "Steve",
63 | "alex": "Alex",
64 | "checkPNG": "Check if file is valid PNG."
65 | },
66 | "json": {
67 | "download": "Download",
68 | "copy": "Copy",
69 | "copied": "Copied!"
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/src/lang/zh-CN.json:
--------------------------------------------------------------------------------
1 | {
2 | "openLocal": "打开本地配置文件",
3 | "viewOnGithub": "在 GitHub 上查看此项目",
4 | "darkMode": "夜间模式",
5 | "fileInput": {
6 | "invalid": "不是有效的 JSON 文件,请重新选择",
7 | "failed": "读取失败"
8 | },
9 | "ok": "好",
10 | "hoverTip": "鼠标悬浮于下面的选项上可获得更多信息。",
11 | "enableCSL": "启用 CustomSkinLoader",
12 | "enableSkull": "启用头颅加载",
13 | "enableDynamicSkull": "启用动态头颅",
14 | "enableTransparentSkin": "启用透明皮肤",
15 | "ignoreHttpsCertificate": "忽略全局 HTTPS 证书",
16 | "enableUpdateSkull": {
17 | "label": "开启头颅更新",
18 | "tip": "易引发卡顿,不建议开启。"
19 | },
20 | "enableLocalProfileCache": {
21 | "label": "开启本地皮肤信息缓存",
22 | "tip": "开启后可在无网络时继续使用缓存的皮肤,不建议在网络状态稳定时仍然开启。"
23 | },
24 | "enableCacheAutoClean": {
25 | "label": "启动时清理所有缓存",
26 | "tip": "若开启了本地皮肤信息缓存,则强制不清理。"
27 | },
28 | "forceLoadAllTextures": {
29 | "label": "加载皮肤又加载披风后才停止加载",
30 | "tip": "不开启的默认逻辑是有任意皮肤站提供了任意材质就停止加载,不建议开启。"
31 | },
32 | "enableCape": "允许加载披风",
33 | "cacheExpiry": {
34 | "label": "缓存有效期",
35 | "suffix": "秒",
36 | "help": "不建议设置过小或过大。设置为 0 相当于关闭缓存。"
37 | },
38 | "threadPoolSize": {
39 | "label": "加载皮肤和头颅的线程池大小",
40 | "help": "游玩在线人数较多的服务器时,可以适当增大该项的值,但也请不要设置得太高。"
41 | },
42 | "dragTip": "可以通过拖拽列表项目来调整顺序。",
43 | "add": "添加",
44 | "legacy": "传统加载方式",
45 | "name": "名称",
46 | "done": "完成",
47 | "advanced": "高级选项",
48 | "optional": "可选",
49 | "mojang": {
50 | "apiRoot": "可选,Yggdrasil API 的根(Root)地址",
51 | "sessionRoot": "可选,Yggdrasil API 的会话服务器(Session Server)的地址"
52 | },
53 | "jsonApi": {
54 | "root": "皮肤站的根(Root)地址"
55 | },
56 | "legacyApi": {
57 | "skin": "皮肤文件位置",
58 | "cape": "披风文件位置",
59 | "elytra": "鞘翅文件位置",
60 | "model": "模型",
61 | "auto": "自动识别",
62 | "steve": "Steve 模型",
63 | "alex": "Alex 模型",
64 | "checkPNG": "检查材质文件是否为 PNG"
65 | },
66 | "json": {
67 | "download": "下载",
68 | "copy": "复制",
69 | "copied": "已复制"
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/src/loadListEdit/Elyby.svelte:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
17 | {$_('optional')}
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/loadListEdit/JsonAPI.svelte:
--------------------------------------------------------------------------------
1 |
14 |
15 |
22 | {$_('jsonApi.root')}
23 |
24 |
25 |
30 | {$_('optional')}
31 |
32 |
33 |
--------------------------------------------------------------------------------
/src/loadListEdit/Legacy.svelte:
--------------------------------------------------------------------------------
1 |
25 |
26 |
32 |
37 |
42 |
43 | {$_('legacyApi.model')}
44 |
50 | {$_('legacyApi.auto')}
51 |
52 |
58 | {$_('legacyApi.steve')}
59 |
60 |
66 | {$_('legacyApi.alex')}
67 |
68 | (item.checkPNG = !item.checkPNG)}
71 | >
72 | {$_('legacyApi.checkPNG')}
73 |
74 |
75 |
76 |
85 |
--------------------------------------------------------------------------------
/src/loadListEdit/Mojang.svelte:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 | {$_('mojang.apiRoot')}
18 |
19 |
24 | {$_('mojang.sessionRoot')}
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/styles.css:
--------------------------------------------------------------------------------
1 | * {
2 | margin: 0;
3 | padding: 0;
4 | }
5 |
6 | body {
7 | padding: 20px 40px;
8 | }
9 |
10 | body.sl-theme-dark sl-details::part(summary),
11 | body.sl-theme-dark sl-details::part(summary-icon),
12 | body.sl-theme-dark label,
13 | body.sl-theme-dark sl-menu-item,
14 | body.sl-theme-dark sl-input::part(label) {
15 | color: var(--sl-input-color);
16 | }
17 |
18 | #item-editor sl-input,
19 | #item-editor sl-details,
20 | #item-editor sl-button {
21 | margin-top: var(--sl-spacing-x-small);
22 | }
23 |
--------------------------------------------------------------------------------
/svelte.config.js:
--------------------------------------------------------------------------------
1 | import preprocess from 'svelte-preprocess'
2 |
3 | export default {
4 | preprocess: preprocess({}),
5 | css: true,
6 | }
7 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@gplane/tsconfig",
3 | "compilerOptions": {
4 | "types": ["svelte"],
5 | "noEmit": true,
6 | "moduleResolution": "bundler"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/types.d.ts:
--------------------------------------------------------------------------------
1 | declare module 'svelte-dnd-action' {
2 | interface DndOptions {
3 | items: T[]
4 | type?: string
5 | flipDurationMs?: number
6 | dragDisabled?: boolean
7 | dropFromOthersDisabled?: boolean
8 | dropTargetStyle?: Record
9 | transformDraggedElement?: Function
10 | }
11 |
12 | export function dndzone(
13 | node: HTMLElement,
14 | options: DndOptions
15 | ): { update: Function; destroy: Function }
16 |
17 | export function overrideItemIdKeyNameBeforeInitialisingDndZones(key: string)
18 | }
19 |
20 | type CSLConfig = {
21 | enable: boolean
22 | enableSkull: boolean
23 | enableDynamicSkull: boolean
24 | enableTransparentSkin: boolean
25 | ignoreHttpsCertificate: boolean
26 | cacheExpiry: number
27 | enableUpdateSkull: boolean
28 | enableLocalProfileCache: boolean
29 | enableCacheAutoClean: boolean
30 | forceLoadAllTextures: boolean
31 | enableCape: boolean
32 | threadPoolSize: number
33 | loadlist: LoadListItem[]
34 | }
35 |
36 | type LoadListItem =
37 | | MojangAPI
38 | | CustomSkinAPI
39 | | UniSkinAPI
40 | | Legacy
41 | | Elyby
42 | | GlitchlessAPI
43 | type MojangAPI = {
44 | type: 'MojangAPI'
45 | name: string
46 | apiRoot?: string
47 | sessionRoot?: string
48 | }
49 | type CustomSkinAPI = {
50 | type: 'CustomSkinAPI'
51 | name: string
52 | root: string
53 | userAgent?: string
54 | }
55 | type UniSkinAPI = {
56 | type: 'UniSkinAPI'
57 | name: string
58 | root: string
59 | userAgent?: string
60 | }
61 | type Legacy = {
62 | type: 'Legacy'
63 | name: string
64 | skin: string
65 | cape?: string
66 | elytra?: string
67 | model?: 'default' | 'slim' | 'auto'
68 | checkPNG?: boolean
69 | }
70 | type Elyby = {
71 | type: 'Elyby'
72 | name: string
73 | userAgent?: string
74 | }
75 | type GlitchlessAPI = {
76 | type: 'GlitchlessAPI'
77 | name: string
78 | root: string
79 | userAgent?: string
80 | }
81 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import { svelte } from '@sveltejs/vite-plugin-svelte'
3 |
4 | export default defineConfig({
5 | plugins: [svelte({})],
6 | })
7 |
--------------------------------------------------------------------------------