Shows how to get repo export and walk it in TypeScript walktherepo.wisp.place

lint

+45
eslint.config.js
··· 1 + import { fileURLToPath } from 'node:url'; 2 + import { includeIgnoreFile } from '@eslint/compat'; 3 + import js from '@eslint/js'; 4 + import svelte from 'eslint-plugin-svelte'; 5 + import { defineConfig } from 'eslint/config'; 6 + import globals from 'globals'; 7 + import ts from 'typescript-eslint'; 8 + import svelteConfig from './svelte.config.js'; 9 + 10 + const gitignorePath = fileURLToPath(new URL('./.gitignore', import.meta.url)); 11 + 12 + export default defineConfig( 13 + includeIgnoreFile(gitignorePath), 14 + js.configs.recommended, 15 + ...ts.configs.recommended, 16 + ...svelte.configs.recommended, 17 + { 18 + languageOptions: { 19 + globals: { ...globals.browser, ...globals.node } 20 + }, 21 + rules: { // typescript-eslint strongly recommend that you do not use the no-undef lint rule on TypeScript projects. 22 + // see: https://typescript-eslint.io/troubleshooting/faqs/eslint/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors 23 + 'no-undef': 'off', 24 + 'quotes': ['error', 'single'], 25 + 'semi': ['error', 'always'], 26 + 'object-curly-spacing': ['error', 'always'] 27 + } 28 + }, 29 + { 30 + files: [ 31 + '**/*.svelte', 32 + '**/*.svelte.ts', 33 + '**/*.svelte.js' 34 + ], 35 + languageOptions: { 36 + parserOptions: { 37 + projectService: true, 38 + extraFileExtensions: ['.svelte'], 39 + parser: ts.parser, 40 + svelteConfig 41 + } 42 + } 43 + } 44 + ); 45 +
+11 -2
package.json
··· 7 7 "dev": "vite", 8 8 "build": "vite build", 9 9 "preview": "vite preview", 10 - "check": "svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json" 10 + "check": "svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json", 11 + "lint": "eslint ." 11 12 }, 12 13 "devDependencies": { 13 14 "@sveltejs/vite-plugin-svelte": "^6.2.1", ··· 19 20 "vite": "^7.2.4" 20 21 }, 21 22 "dependencies": { 23 + "@atcute/atproto": "^3.1.10", 22 24 "@atcute/car": "^5.0.0", 23 25 "@atcute/cbor": "^2.2.8", 26 + "@atcute/client": "^4.2.1", 24 27 "@atproto-labs/handle-resolver": "^0.3.5", 25 28 "@atproto/identity": "^0.4.10", 26 - "@atproto/lex": "^0.0.10" 29 + "@atproto/lex": "^0.0.10", 30 + "@eslint/compat": "^2.0.0", 31 + "@eslint/js": "^9.39.2", 32 + "eslint": "^9.39.2", 33 + "eslint-plugin-svelte": "^3.14.0", 34 + "globals": "^17.0.0", 35 + "typescript-eslint": "^8.52.0" 27 36 } 28 37 }
+1062
pnpm-lock.yaml
··· 8 8 9 9 .: 10 10 dependencies: 11 + '@atcute/atproto': 12 + specifier: ^3.1.10 13 + version: 3.1.10 11 14 '@atcute/car': 12 15 specifier: ^5.0.0 13 16 version: 5.0.0 14 17 '@atcute/cbor': 15 18 specifier: ^2.2.8 16 19 version: 2.2.8 20 + '@atcute/client': 21 + specifier: ^4.2.1 22 + version: 4.2.1 17 23 '@atproto-labs/handle-resolver': 18 24 specifier: ^0.3.5 19 25 version: 0.3.5 ··· 23 29 '@atproto/lex': 24 30 specifier: ^0.0.10 25 31 version: 0.0.10 32 + '@eslint/compat': 33 + specifier: ^2.0.0 34 + version: 2.0.0(eslint@9.39.2) 35 + '@eslint/js': 36 + specifier: ^9.39.2 37 + version: 9.39.2 38 + eslint: 39 + specifier: ^9.39.2 40 + version: 9.39.2 41 + eslint-plugin-svelte: 42 + specifier: ^3.14.0 43 + version: 3.14.0(eslint@9.39.2)(svelte@5.46.1) 44 + globals: 45 + specifier: ^17.0.0 46 + version: 17.0.0 26 47 devDependencies: 27 48 '@sveltejs/vite-plugin-svelte': 28 49 specifier: ^6.2.1 ··· 42 63 typescript: 43 64 specifier: ~5.9.3 44 65 version: 5.9.3 66 + typescript-eslint: 67 + specifier: ^8.52.0 68 + version: 8.52.0(eslint@9.39.2)(typescript@5.9.3) 45 69 vite: 46 70 specifier: ^7.2.4 47 71 version: 7.3.1(@types/node@24.10.4) 48 72 49 73 packages: 50 74 75 + '@atcute/atproto@3.1.10': 76 + resolution: {integrity: sha512-+GKZpOc0PJcdWMQEkTfg/rSNDAAHxmAUGBl60g2az15etqJn5WaUPNGFE2sB7hKpwi5Ue2h/L0OacINcE/JDDQ==} 77 + 51 78 '@atcute/car@5.0.0': 52 79 resolution: {integrity: sha512-OIY2xTXv8lSpZsDSn/UYQtJSMvDw5Hi4Q+uyvmiqSM+fht08QRAEq/nxa5YFciPZ3nfDFnZ3//EgJw7QhkSXLQ==} 53 80 ··· 57 84 '@atcute/cid@2.3.0': 58 85 resolution: {integrity: sha512-1SRdkTuMs/l5arQ+7Ag0F7JAueZqtzYE0d2gmbkuzi8EPweNU1kYlQs0CE4dSd81YF8PMDTOQty0K2ATq9CW9g==} 59 86 87 + '@atcute/client@4.2.1': 88 + resolution: {integrity: sha512-ZBFM2pW075JtgGFu5g7HHZBecrClhlcNH8GVP9Zz1aViWR+cjjBsTpeE63rJs+FCOHFYlirUyo5L8SGZ4kMINw==} 89 + 90 + '@atcute/identity@1.1.3': 91 + resolution: {integrity: sha512-oIqPoI8TwWeQxvcLmFEZLdN2XdWcaLVtlm8pNk0E72As9HNzzD9pwKPrLr3rmTLRIoULPPFmq9iFNsTeCIU9ng==} 92 + 93 + '@atcute/lexicons@1.2.6': 94 + resolution: {integrity: sha512-s76UQd8D+XmHIzrjD9CJ9SOOeeLPHc+sMmcj7UFakAW/dDFXc579fcRdRfuUKvXBL5v1Gs2VgDdlh/IvvQZAwA==} 95 + 60 96 '@atcute/multibase@1.1.6': 61 97 resolution: {integrity: sha512-HBxuCgYLKPPxETV0Rot4VP9e24vKl8JdzGCZOVsDaOXJgbRZoRIF67Lp0H/OgnJeH/Xpva8Z5ReoTNJE5dn3kg==} 62 98 63 99 '@atcute/uint8array@1.0.6': 64 100 resolution: {integrity: sha512-ucfRBQc7BFT8n9eCyGOzDHEMKF/nZwhS2pPao4Xtab1ML3HdFYcX2DM1tadCzas85QTGxHe5urnUAAcNKGRi9A==} 101 + 102 + '@atcute/util-text@0.0.1': 103 + resolution: {integrity: sha512-t1KZqvn0AYy+h2KcJyHnKF9aEqfRfMUmyY8j1ELtAEIgqN9CxINAjxnoRCJIFUlvWzb+oY3uElQL/Vyk3yss0g==} 65 104 66 105 '@atcute/varint@1.0.3': 67 106 resolution: {integrity: sha512-fdvMPyBB+McDT+Ai5e9RwEbwYV4yjZ60S2Dn5PTjGqUyxvoCH1z42viuheDZRUDkmfQehXJTZ5az7dSozVNtog==} ··· 142 181 143 182 '@atproto/syntax@0.4.2': 144 183 resolution: {integrity: sha512-X9XSRPinBy/0VQ677j8VXlBsYSsUXaiqxWVpGGxJYsAhugdQRb0jqaVKJFtm6RskeNkV6y9xclSUi9UYG/COrA==} 184 + 185 + '@badrap/valita@0.4.6': 186 + resolution: {integrity: sha512-4kdqcjyxo/8RQ8ayjms47HCWZIF5981oE5nIenbfThKDxWXtEHKipAOWlflpPJzZx9y/JWYQkp18Awr7VuepFg==} 187 + engines: {node: '>= 18'} 145 188 146 189 '@esbuild/aix-ppc64@0.27.2': 147 190 resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} ··· 299 342 cpu: [x64] 300 343 os: [win32] 301 344 345 + '@eslint-community/eslint-utils@4.9.1': 346 + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} 347 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 348 + peerDependencies: 349 + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 350 + 351 + '@eslint-community/regexpp@4.12.2': 352 + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} 353 + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 354 + 355 + '@eslint/compat@2.0.0': 356 + resolution: {integrity: sha512-T9AfE1G1uv4wwq94ozgTGio5EUQBqAVe1X9qsQtSNVEYW6j3hvtZVm8Smr4qL1qDPFg+lOB2cL5RxTRMzq4CTA==} 357 + engines: {node: ^20.19.0 || ^22.13.0 || >=24} 358 + peerDependencies: 359 + eslint: ^8.40 || 9 360 + peerDependenciesMeta: 361 + eslint: 362 + optional: true 363 + 364 + '@eslint/config-array@0.21.1': 365 + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} 366 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 367 + 368 + '@eslint/config-helpers@0.4.2': 369 + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} 370 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 371 + 372 + '@eslint/core@0.17.0': 373 + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} 374 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 375 + 376 + '@eslint/core@1.0.0': 377 + resolution: {integrity: sha512-PRfWP+8FOldvbApr6xL7mNCw4cJcSTq4GA7tYbgq15mRb0kWKO/wEB2jr+uwjFH3sZvEZneZyCUGTxsv4Sahyw==} 378 + engines: {node: ^20.19.0 || ^22.13.0 || >=24} 379 + 380 + '@eslint/eslintrc@3.3.3': 381 + resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} 382 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 383 + 384 + '@eslint/js@9.39.2': 385 + resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==} 386 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 387 + 388 + '@eslint/object-schema@2.1.7': 389 + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} 390 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 391 + 392 + '@eslint/plugin-kit@0.4.1': 393 + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} 394 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 395 + 396 + '@humanfs/core@0.19.1': 397 + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 398 + engines: {node: '>=18.18.0'} 399 + 400 + '@humanfs/node@0.16.7': 401 + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} 402 + engines: {node: '>=18.18.0'} 403 + 404 + '@humanwhocodes/module-importer@1.0.1': 405 + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 406 + engines: {node: '>=12.22'} 407 + 408 + '@humanwhocodes/retry@0.4.3': 409 + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} 410 + engines: {node: '>=18.18'} 411 + 302 412 '@ipld/dag-cbor@7.0.3': 303 413 resolution: {integrity: sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==} 304 414 ··· 459 569 cpu: [x64] 460 570 os: [win32] 461 571 572 + '@standard-schema/spec@1.1.0': 573 + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} 574 + 462 575 '@sveltejs/acorn-typescript@1.0.8': 463 576 resolution: {integrity: sha512-esgN+54+q0NjB0Y/4BomT9samII7jGwNy/2a3wNZbT2A2RpmXsXwUt24LvLhx6jUq2gVk4cWEvcRO6MFQbOfNA==} 464 577 peerDependencies: ··· 488 601 '@types/estree@1.0.8': 489 602 resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 490 603 604 + '@types/json-schema@7.0.15': 605 + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 606 + 491 607 '@types/node@24.10.4': 492 608 resolution: {integrity: sha512-vnDVpYPMzs4wunl27jHrfmwojOGKya0xyM3sH+UE5iv5uPS6vX7UIoh6m+vQc5LGBq52HBKPIn/zcSZVzeDEZg==} 493 609 610 + '@typescript-eslint/eslint-plugin@8.52.0': 611 + resolution: {integrity: sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==} 612 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 613 + peerDependencies: 614 + '@typescript-eslint/parser': ^8.52.0 615 + eslint: ^8.57.0 || ^9.0.0 616 + typescript: '>=4.8.4 <6.0.0' 617 + 618 + '@typescript-eslint/parser@8.52.0': 619 + resolution: {integrity: sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==} 620 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 621 + peerDependencies: 622 + eslint: ^8.57.0 || ^9.0.0 623 + typescript: '>=4.8.4 <6.0.0' 624 + 625 + '@typescript-eslint/project-service@8.52.0': 626 + resolution: {integrity: sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==} 627 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 628 + peerDependencies: 629 + typescript: '>=4.8.4 <6.0.0' 630 + 631 + '@typescript-eslint/scope-manager@8.52.0': 632 + resolution: {integrity: sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==} 633 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 634 + 635 + '@typescript-eslint/tsconfig-utils@8.52.0': 636 + resolution: {integrity: sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==} 637 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 638 + peerDependencies: 639 + typescript: '>=4.8.4 <6.0.0' 640 + 641 + '@typescript-eslint/type-utils@8.52.0': 642 + resolution: {integrity: sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ==} 643 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 644 + peerDependencies: 645 + eslint: ^8.57.0 || ^9.0.0 646 + typescript: '>=4.8.4 <6.0.0' 647 + 648 + '@typescript-eslint/types@8.52.0': 649 + resolution: {integrity: sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==} 650 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 651 + 652 + '@typescript-eslint/typescript-estree@8.52.0': 653 + resolution: {integrity: sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==} 654 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 655 + peerDependencies: 656 + typescript: '>=4.8.4 <6.0.0' 657 + 658 + '@typescript-eslint/utils@8.52.0': 659 + resolution: {integrity: sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==} 660 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 661 + peerDependencies: 662 + eslint: ^8.57.0 || ^9.0.0 663 + typescript: '>=4.8.4 <6.0.0' 664 + 665 + '@typescript-eslint/visitor-keys@8.52.0': 666 + resolution: {integrity: sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==} 667 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 668 + 494 669 abort-controller@3.0.0: 495 670 resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} 496 671 engines: {node: '>=6.5'} 497 672 673 + acorn-jsx@5.3.2: 674 + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 675 + peerDependencies: 676 + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 677 + 498 678 acorn@8.15.0: 499 679 resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} 500 680 engines: {node: '>=0.4.0'} 501 681 hasBin: true 502 682 683 + ajv@6.12.6: 684 + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 685 + 503 686 ansi-regex@5.0.1: 504 687 resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 505 688 engines: {node: '>=8'} ··· 508 691 resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 509 692 engines: {node: '>=8'} 510 693 694 + argparse@2.0.1: 695 + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 696 + 511 697 aria-query@5.3.2: 512 698 resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} 513 699 engines: {node: '>= 0.4'} ··· 520 706 resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} 521 707 engines: {node: '>= 0.4'} 522 708 709 + balanced-match@1.0.2: 710 + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 711 + 523 712 base64-js@1.5.1: 524 713 resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 525 714 715 + brace-expansion@1.1.12: 716 + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} 717 + 718 + brace-expansion@2.0.2: 719 + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} 720 + 526 721 buffer@6.0.3: 527 722 resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} 528 723 724 + callsites@3.1.0: 725 + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 726 + engines: {node: '>=6'} 727 + 529 728 cborg@1.10.2: 530 729 resolution: {integrity: sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==} 531 730 hasBin: true 532 731 732 + chalk@4.1.2: 733 + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 734 + engines: {node: '>=10'} 735 + 533 736 chokidar@4.0.3: 534 737 resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 535 738 engines: {node: '>= 14.16.0'} ··· 552 755 color-name@1.1.4: 553 756 resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 554 757 758 + concat-map@0.0.1: 759 + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 760 + 555 761 core-js@3.47.0: 556 762 resolution: {integrity: sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==} 557 763 764 + cross-spawn@7.0.6: 765 + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 766 + engines: {node: '>= 8'} 767 + 768 + cssesc@3.0.0: 769 + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 770 + engines: {node: '>=4'} 771 + hasBin: true 772 + 773 + debug@4.4.3: 774 + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} 775 + engines: {node: '>=6.0'} 776 + peerDependencies: 777 + supports-color: '*' 778 + peerDependenciesMeta: 779 + supports-color: 780 + optional: true 781 + 782 + deep-is@0.1.4: 783 + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 784 + 558 785 deepmerge@4.3.1: 559 786 resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 560 787 engines: {node: '>=0.10.0'} ··· 574 801 resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 575 802 engines: {node: '>=6'} 576 803 804 + escape-string-regexp@4.0.0: 805 + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 806 + engines: {node: '>=10'} 807 + 808 + eslint-plugin-svelte@3.14.0: 809 + resolution: {integrity: sha512-Isw0GvaMm0yHxAj71edAdGFh28ufYs+6rk2KlbbZphnqZAzrH3Se3t12IFh2H9+1F/jlDhBBL4oiOJmLqmYX0g==} 810 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 811 + peerDependencies: 812 + eslint: ^8.57.1 || ^9.0.0 813 + svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 814 + peerDependenciesMeta: 815 + svelte: 816 + optional: true 817 + 818 + eslint-scope@8.4.0: 819 + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} 820 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 821 + 822 + eslint-visitor-keys@3.4.3: 823 + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 824 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 825 + 826 + eslint-visitor-keys@4.2.1: 827 + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} 828 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 829 + 830 + eslint@9.39.2: 831 + resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==} 832 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 833 + hasBin: true 834 + peerDependencies: 835 + jiti: '*' 836 + peerDependenciesMeta: 837 + jiti: 838 + optional: true 839 + 577 840 esm-env@1.2.2: 578 841 resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} 579 842 843 + espree@10.4.0: 844 + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} 845 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 846 + 847 + esquery@1.7.0: 848 + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} 849 + engines: {node: '>=0.10'} 850 + 580 851 esrap@2.2.1: 581 852 resolution: {integrity: sha512-GiYWG34AN/4CUyaWAgunGt0Rxvr1PTMlGC0vvEov/uOQYWne2bpN03Um+k8jT+q3op33mKouP2zeJ6OlM+qeUg==} 853 + 854 + esrecurse@4.3.0: 855 + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 856 + engines: {node: '>=4.0'} 857 + 858 + estraverse@5.3.0: 859 + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 860 + engines: {node: '>=4.0'} 861 + 862 + esutils@2.0.3: 863 + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 864 + engines: {node: '>=0.10.0'} 582 865 583 866 event-target-shim@5.0.1: 584 867 resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} ··· 588 871 resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} 589 872 engines: {node: '>=0.8.x'} 590 873 874 + fast-deep-equal@3.1.3: 875 + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 876 + 877 + fast-json-stable-stringify@2.1.0: 878 + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 879 + 880 + fast-levenshtein@2.0.6: 881 + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 882 + 591 883 fast-redact@3.5.0: 592 884 resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} 593 885 engines: {node: '>=6'} ··· 601 893 picomatch: 602 894 optional: true 603 895 896 + file-entry-cache@8.0.0: 897 + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 898 + engines: {node: '>=16.0.0'} 899 + 900 + find-up@5.0.0: 901 + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 902 + engines: {node: '>=10'} 903 + 904 + flat-cache@4.0.1: 905 + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 906 + engines: {node: '>=16'} 907 + 908 + flatted@3.3.3: 909 + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 910 + 604 911 fsevents@2.3.3: 605 912 resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 606 913 engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} ··· 610 917 resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 611 918 engines: {node: 6.* || 8.* || >= 10.*} 612 919 920 + glob-parent@6.0.2: 921 + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 922 + engines: {node: '>=10.13.0'} 923 + 924 + globals@14.0.0: 925 + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 926 + engines: {node: '>=18'} 927 + 928 + globals@16.5.0: 929 + resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} 930 + engines: {node: '>=18'} 931 + 932 + globals@17.0.0: 933 + resolution: {integrity: sha512-gv5BeD2EssA793rlFWVPMMCqefTlpusw6/2TbAVMy0FzcG8wKJn4O+NqJ4+XWmmwrayJgw5TzrmWjFgmz1XPqw==} 934 + engines: {node: '>=18'} 935 + 936 + has-flag@4.0.0: 937 + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 938 + engines: {node: '>=8'} 939 + 613 940 ieee754@1.2.1: 614 941 resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 615 942 943 + ignore@5.3.2: 944 + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 945 + engines: {node: '>= 4'} 946 + 947 + ignore@7.0.5: 948 + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} 949 + engines: {node: '>= 4'} 950 + 951 + import-fresh@3.3.1: 952 + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 953 + engines: {node: '>=6'} 954 + 955 + imurmurhash@0.1.4: 956 + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 957 + engines: {node: '>=0.8.19'} 958 + 959 + is-extglob@2.1.1: 960 + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 961 + engines: {node: '>=0.10.0'} 962 + 616 963 is-fullwidth-code-point@3.0.0: 617 964 resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 618 965 engines: {node: '>=8'} 619 966 967 + is-glob@4.0.3: 968 + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 969 + engines: {node: '>=0.10.0'} 970 + 620 971 is-reference@3.0.3: 621 972 resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} 973 + 974 + isexe@2.0.0: 975 + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 622 976 623 977 iso-datestring-validator@2.2.2: 624 978 resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==} 625 979 980 + js-yaml@4.1.1: 981 + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} 982 + hasBin: true 983 + 984 + json-buffer@3.0.1: 985 + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 986 + 987 + json-schema-traverse@0.4.1: 988 + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 989 + 990 + json-stable-stringify-without-jsonify@1.0.1: 991 + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 992 + 993 + keyv@4.5.4: 994 + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 995 + 996 + known-css-properties@0.37.0: 997 + resolution: {integrity: sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==} 998 + 999 + levn@0.4.1: 1000 + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1001 + engines: {node: '>= 0.8.0'} 1002 + 1003 + lilconfig@2.1.0: 1004 + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1005 + engines: {node: '>=10'} 1006 + 626 1007 locate-character@3.0.0: 627 1008 resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} 628 1009 1010 + locate-path@6.0.0: 1011 + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1012 + engines: {node: '>=10'} 1013 + 1014 + lodash.merge@4.6.2: 1015 + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1016 + 629 1017 lru-cache@10.4.3: 630 1018 resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 631 1019 ··· 636 1024 resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} 637 1025 engines: {node: 20 || >=22} 638 1026 1027 + minimatch@3.1.2: 1028 + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1029 + 1030 + minimatch@9.0.5: 1031 + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1032 + engines: {node: '>=16 || 14 >=14.17'} 1033 + 639 1034 mri@1.2.0: 640 1035 resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 641 1036 engines: {node: '>=4'} 642 1037 1038 + ms@2.1.3: 1039 + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1040 + 643 1041 multiformats@9.9.0: 644 1042 resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} 645 1043 ··· 648 1046 engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 649 1047 hasBin: true 650 1048 1049 + natural-compare@1.4.0: 1050 + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1051 + 651 1052 obug@2.1.1: 652 1053 resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} 653 1054 ··· 655 1056 resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} 656 1057 engines: {node: '>=14.0.0'} 657 1058 1059 + optionator@0.9.4: 1060 + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1061 + engines: {node: '>= 0.8.0'} 1062 + 1063 + p-limit@3.1.0: 1064 + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1065 + engines: {node: '>=10'} 1066 + 1067 + p-locate@5.0.0: 1068 + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1069 + engines: {node: '>=10'} 1070 + 1071 + parent-module@1.0.1: 1072 + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1073 + engines: {node: '>=6'} 1074 + 658 1075 path-browserify@1.0.1: 659 1076 resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} 1077 + 1078 + path-exists@4.0.0: 1079 + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1080 + engines: {node: '>=8'} 1081 + 1082 + path-key@3.1.1: 1083 + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1084 + engines: {node: '>=8'} 660 1085 661 1086 picocolors@1.1.1: 662 1087 resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} ··· 675 1100 resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} 676 1101 hasBin: true 677 1102 1103 + postcss-load-config@3.1.4: 1104 + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} 1105 + engines: {node: '>= 10'} 1106 + peerDependencies: 1107 + postcss: '>=8.0.9' 1108 + ts-node: '>=9.0.0' 1109 + peerDependenciesMeta: 1110 + postcss: 1111 + optional: true 1112 + ts-node: 1113 + optional: true 1114 + 1115 + postcss-safe-parser@7.0.1: 1116 + resolution: {integrity: sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==} 1117 + engines: {node: '>=18.0'} 1118 + peerDependencies: 1119 + postcss: ^8.4.31 1120 + 1121 + postcss-scss@4.0.9: 1122 + resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} 1123 + engines: {node: '>=12.0'} 1124 + peerDependencies: 1125 + postcss: ^8.4.29 1126 + 1127 + postcss-selector-parser@7.1.1: 1128 + resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} 1129 + engines: {node: '>=4'} 1130 + 678 1131 postcss@8.5.6: 679 1132 resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} 680 1133 engines: {node: ^10 || ^12 || >=14} 1134 + 1135 + prelude-ls@1.2.1: 1136 + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1137 + engines: {node: '>= 0.8.0'} 681 1138 682 1139 prettier@3.7.4: 683 1140 resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==} ··· 691 1148 resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} 692 1149 engines: {node: '>= 0.6.0'} 693 1150 1151 + punycode@2.3.1: 1152 + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1153 + engines: {node: '>=6'} 1154 + 694 1155 quick-format-unescaped@4.0.4: 695 1156 resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} 696 1157 ··· 709 1170 require-directory@2.1.1: 710 1171 resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 711 1172 engines: {node: '>=0.10.0'} 1173 + 1174 + resolve-from@4.0.0: 1175 + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1176 + engines: {node: '>=4'} 712 1177 713 1178 rollup@4.55.1: 714 1179 resolution: {integrity: sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==} ··· 726 1191 resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} 727 1192 engines: {node: '>=10'} 728 1193 1194 + semver@7.7.3: 1195 + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} 1196 + engines: {node: '>=10'} 1197 + hasBin: true 1198 + 1199 + shebang-command@2.0.0: 1200 + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1201 + engines: {node: '>=8'} 1202 + 1203 + shebang-regex@3.0.0: 1204 + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1205 + engines: {node: '>=8'} 1206 + 729 1207 sonic-boom@3.8.1: 730 1208 resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} 731 1209 ··· 748 1226 resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 749 1227 engines: {node: '>=8'} 750 1228 1229 + strip-json-comments@3.1.1: 1230 + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1231 + engines: {node: '>=8'} 1232 + 1233 + supports-color@7.2.0: 1234 + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1235 + engines: {node: '>=8'} 1236 + 751 1237 svelte-check@4.3.5: 752 1238 resolution: {integrity: sha512-e4VWZETyXaKGhpkxOXP+B/d0Fp/zKViZoJmneZWe/05Y2aqSKj3YN2nLfYPJBQ87WEiY4BQCQ9hWGu9mPT1a1Q==} 753 1239 engines: {node: '>= 18.0.0'} ··· 756 1242 svelte: ^4.0.0 || ^5.0.0-next.0 757 1243 typescript: '>=5.0.0' 758 1244 1245 + svelte-eslint-parser@1.4.1: 1246 + resolution: {integrity: sha512-1eqkfQ93goAhjAXxZiu1SaKI9+0/sxp4JIWQwUpsz7ybehRE5L8dNuz7Iry7K22R47p5/+s9EM+38nHV2OlgXA==} 1247 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0, pnpm: 10.24.0} 1248 + peerDependencies: 1249 + svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 1250 + peerDependenciesMeta: 1251 + svelte: 1252 + optional: true 1253 + 759 1254 svelte@5.46.1: 760 1255 resolution: {integrity: sha512-ynjfCHD3nP2el70kN5Pmg37sSi0EjOm9FgHYQdC4giWG/hzO3AatzXXJJgP305uIhGQxSufJLuYWtkY8uK/8RA==} 761 1256 engines: {node: '>=18'} ··· 767 1262 resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} 768 1263 engines: {node: '>=12.0.0'} 769 1264 1265 + ts-api-utils@2.4.0: 1266 + resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} 1267 + engines: {node: '>=18.12'} 1268 + peerDependencies: 1269 + typescript: '>=4.8.4' 1270 + 770 1271 ts-morph@27.0.2: 771 1272 resolution: {integrity: sha512-fhUhgeljcrdZ+9DZND1De1029PrE+cMkIP7ooqkLRTrRLTqcki2AstsyJm0vRNbTbVCNJ0idGlbBrfqc7/nA8w==} 772 1273 773 1274 tslib@2.8.1: 774 1275 resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 775 1276 1277 + type-check@0.4.0: 1278 + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1279 + engines: {node: '>= 0.8.0'} 1280 + 1281 + typescript-eslint@8.52.0: 1282 + resolution: {integrity: sha512-atlQQJ2YkO4pfTVQmQ+wvYQwexPDOIgo+RaVcD7gHgzy/IQA+XTyuxNM9M9TVXvttkF7koBHmcwisKdOAf2EcA==} 1283 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1284 + peerDependencies: 1285 + eslint: ^8.57.0 || ^9.0.0 1286 + typescript: '>=4.8.4 <6.0.0' 1287 + 776 1288 typescript@5.9.3: 777 1289 resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 778 1290 engines: {node: '>=14.17'} ··· 787 1299 unicode-segmenter@0.14.5: 788 1300 resolution: {integrity: sha512-jHGmj2LUuqDcX3hqY12Ql+uhUTn8huuxNZGq7GvtF6bSybzH3aFgedYu/KTzQStEgt1Ra2F3HxadNXsNjb3m3g==} 789 1301 1302 + uri-js@4.4.1: 1303 + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1304 + 1305 + util-deprecate@1.0.2: 1306 + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1307 + 790 1308 varint@6.0.0: 791 1309 resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} 792 1310 ··· 838 1356 vite: 839 1357 optional: true 840 1358 1359 + which@2.0.2: 1360 + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1361 + engines: {node: '>= 8'} 1362 + hasBin: true 1363 + 1364 + word-wrap@1.2.5: 1365 + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1366 + engines: {node: '>=0.10.0'} 1367 + 841 1368 wrap-ansi@7.0.0: 842 1369 resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 843 1370 engines: {node: '>=10'} ··· 845 1372 y18n@5.0.8: 846 1373 resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 847 1374 engines: {node: '>=10'} 1375 + 1376 + yaml@1.10.2: 1377 + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 1378 + engines: {node: '>= 6'} 848 1379 849 1380 yargs-parser@21.1.1: 850 1381 resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} ··· 854 1385 resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 855 1386 engines: {node: '>=12'} 856 1387 1388 + yocto-queue@0.1.0: 1389 + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1390 + engines: {node: '>=10'} 1391 + 857 1392 zimmerframe@1.1.4: 858 1393 resolution: {integrity: sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==} 859 1394 ··· 861 1396 resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} 862 1397 863 1398 snapshots: 1399 + 1400 + '@atcute/atproto@3.1.10': 1401 + dependencies: 1402 + '@atcute/lexicons': 1.2.6 864 1403 865 1404 '@atcute/car@5.0.0': 866 1405 dependencies: ··· 880 1419 '@atcute/multibase': 1.1.6 881 1420 '@atcute/uint8array': 1.0.6 882 1421 1422 + '@atcute/client@4.2.1': 1423 + dependencies: 1424 + '@atcute/identity': 1.1.3 1425 + '@atcute/lexicons': 1.2.6 1426 + 1427 + '@atcute/identity@1.1.3': 1428 + dependencies: 1429 + '@atcute/lexicons': 1.2.6 1430 + '@badrap/valita': 0.4.6 1431 + 1432 + '@atcute/lexicons@1.2.6': 1433 + dependencies: 1434 + '@atcute/uint8array': 1.0.6 1435 + '@atcute/util-text': 0.0.1 1436 + '@standard-schema/spec': 1.1.0 1437 + esm-env: 1.2.2 1438 + 883 1439 '@atcute/multibase@1.1.6': 884 1440 dependencies: 885 1441 '@atcute/uint8array': 1.0.6 886 1442 887 1443 '@atcute/uint8array@1.0.6': {} 1444 + 1445 + '@atcute/util-text@0.0.1': 1446 + dependencies: 1447 + unicode-segmenter: 0.14.5 888 1448 889 1449 '@atcute/varint@1.0.3': {} 890 1450 ··· 1048 1608 1049 1609 '@atproto/syntax@0.4.2': {} 1050 1610 1611 + '@badrap/valita@0.4.6': {} 1612 + 1051 1613 '@esbuild/aix-ppc64@0.27.2': 1052 1614 optional: true 1053 1615 ··· 1126 1688 '@esbuild/win32-x64@0.27.2': 1127 1689 optional: true 1128 1690 1691 + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2)': 1692 + dependencies: 1693 + eslint: 9.39.2 1694 + eslint-visitor-keys: 3.4.3 1695 + 1696 + '@eslint-community/regexpp@4.12.2': {} 1697 + 1698 + '@eslint/compat@2.0.0(eslint@9.39.2)': 1699 + dependencies: 1700 + '@eslint/core': 1.0.0 1701 + optionalDependencies: 1702 + eslint: 9.39.2 1703 + 1704 + '@eslint/config-array@0.21.1': 1705 + dependencies: 1706 + '@eslint/object-schema': 2.1.7 1707 + debug: 4.4.3 1708 + minimatch: 3.1.2 1709 + transitivePeerDependencies: 1710 + - supports-color 1711 + 1712 + '@eslint/config-helpers@0.4.2': 1713 + dependencies: 1714 + '@eslint/core': 0.17.0 1715 + 1716 + '@eslint/core@0.17.0': 1717 + dependencies: 1718 + '@types/json-schema': 7.0.15 1719 + 1720 + '@eslint/core@1.0.0': 1721 + dependencies: 1722 + '@types/json-schema': 7.0.15 1723 + 1724 + '@eslint/eslintrc@3.3.3': 1725 + dependencies: 1726 + ajv: 6.12.6 1727 + debug: 4.4.3 1728 + espree: 10.4.0 1729 + globals: 14.0.0 1730 + ignore: 5.3.2 1731 + import-fresh: 3.3.1 1732 + js-yaml: 4.1.1 1733 + minimatch: 3.1.2 1734 + strip-json-comments: 3.1.1 1735 + transitivePeerDependencies: 1736 + - supports-color 1737 + 1738 + '@eslint/js@9.39.2': {} 1739 + 1740 + '@eslint/object-schema@2.1.7': {} 1741 + 1742 + '@eslint/plugin-kit@0.4.1': 1743 + dependencies: 1744 + '@eslint/core': 0.17.0 1745 + levn: 0.4.1 1746 + 1747 + '@humanfs/core@0.19.1': {} 1748 + 1749 + '@humanfs/node@0.16.7': 1750 + dependencies: 1751 + '@humanfs/core': 0.19.1 1752 + '@humanwhocodes/retry': 0.4.3 1753 + 1754 + '@humanwhocodes/module-importer@1.0.1': {} 1755 + 1756 + '@humanwhocodes/retry@0.4.3': {} 1757 + 1129 1758 '@ipld/dag-cbor@7.0.3': 1130 1759 dependencies: 1131 1760 cborg: 1.10.2 ··· 1237 1866 '@rollup/rollup-win32-x64-msvc@4.55.1': 1238 1867 optional: true 1239 1868 1869 + '@standard-schema/spec@1.1.0': {} 1870 + 1240 1871 '@sveltejs/acorn-typescript@1.0.8(acorn@8.15.0)': 1241 1872 dependencies: 1242 1873 acorn: 8.15.0 ··· 1268 1899 1269 1900 '@types/estree@1.0.8': {} 1270 1901 1902 + '@types/json-schema@7.0.15': {} 1903 + 1271 1904 '@types/node@24.10.4': 1272 1905 dependencies: 1273 1906 undici-types: 7.16.0 1274 1907 1908 + '@typescript-eslint/eslint-plugin@8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3)': 1909 + dependencies: 1910 + '@eslint-community/regexpp': 4.12.2 1911 + '@typescript-eslint/parser': 8.52.0(eslint@9.39.2)(typescript@5.9.3) 1912 + '@typescript-eslint/scope-manager': 8.52.0 1913 + '@typescript-eslint/type-utils': 8.52.0(eslint@9.39.2)(typescript@5.9.3) 1914 + '@typescript-eslint/utils': 8.52.0(eslint@9.39.2)(typescript@5.9.3) 1915 + '@typescript-eslint/visitor-keys': 8.52.0 1916 + eslint: 9.39.2 1917 + ignore: 7.0.5 1918 + natural-compare: 1.4.0 1919 + ts-api-utils: 2.4.0(typescript@5.9.3) 1920 + typescript: 5.9.3 1921 + transitivePeerDependencies: 1922 + - supports-color 1923 + 1924 + '@typescript-eslint/parser@8.52.0(eslint@9.39.2)(typescript@5.9.3)': 1925 + dependencies: 1926 + '@typescript-eslint/scope-manager': 8.52.0 1927 + '@typescript-eslint/types': 8.52.0 1928 + '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) 1929 + '@typescript-eslint/visitor-keys': 8.52.0 1930 + debug: 4.4.3 1931 + eslint: 9.39.2 1932 + typescript: 5.9.3 1933 + transitivePeerDependencies: 1934 + - supports-color 1935 + 1936 + '@typescript-eslint/project-service@8.52.0(typescript@5.9.3)': 1937 + dependencies: 1938 + '@typescript-eslint/tsconfig-utils': 8.52.0(typescript@5.9.3) 1939 + '@typescript-eslint/types': 8.52.0 1940 + debug: 4.4.3 1941 + typescript: 5.9.3 1942 + transitivePeerDependencies: 1943 + - supports-color 1944 + 1945 + '@typescript-eslint/scope-manager@8.52.0': 1946 + dependencies: 1947 + '@typescript-eslint/types': 8.52.0 1948 + '@typescript-eslint/visitor-keys': 8.52.0 1949 + 1950 + '@typescript-eslint/tsconfig-utils@8.52.0(typescript@5.9.3)': 1951 + dependencies: 1952 + typescript: 5.9.3 1953 + 1954 + '@typescript-eslint/type-utils@8.52.0(eslint@9.39.2)(typescript@5.9.3)': 1955 + dependencies: 1956 + '@typescript-eslint/types': 8.52.0 1957 + '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) 1958 + '@typescript-eslint/utils': 8.52.0(eslint@9.39.2)(typescript@5.9.3) 1959 + debug: 4.4.3 1960 + eslint: 9.39.2 1961 + ts-api-utils: 2.4.0(typescript@5.9.3) 1962 + typescript: 5.9.3 1963 + transitivePeerDependencies: 1964 + - supports-color 1965 + 1966 + '@typescript-eslint/types@8.52.0': {} 1967 + 1968 + '@typescript-eslint/typescript-estree@8.52.0(typescript@5.9.3)': 1969 + dependencies: 1970 + '@typescript-eslint/project-service': 8.52.0(typescript@5.9.3) 1971 + '@typescript-eslint/tsconfig-utils': 8.52.0(typescript@5.9.3) 1972 + '@typescript-eslint/types': 8.52.0 1973 + '@typescript-eslint/visitor-keys': 8.52.0 1974 + debug: 4.4.3 1975 + minimatch: 9.0.5 1976 + semver: 7.7.3 1977 + tinyglobby: 0.2.15 1978 + ts-api-utils: 2.4.0(typescript@5.9.3) 1979 + typescript: 5.9.3 1980 + transitivePeerDependencies: 1981 + - supports-color 1982 + 1983 + '@typescript-eslint/utils@8.52.0(eslint@9.39.2)(typescript@5.9.3)': 1984 + dependencies: 1985 + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) 1986 + '@typescript-eslint/scope-manager': 8.52.0 1987 + '@typescript-eslint/types': 8.52.0 1988 + '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) 1989 + eslint: 9.39.2 1990 + typescript: 5.9.3 1991 + transitivePeerDependencies: 1992 + - supports-color 1993 + 1994 + '@typescript-eslint/visitor-keys@8.52.0': 1995 + dependencies: 1996 + '@typescript-eslint/types': 8.52.0 1997 + eslint-visitor-keys: 4.2.1 1998 + 1275 1999 abort-controller@3.0.0: 1276 2000 dependencies: 1277 2001 event-target-shim: 5.0.1 1278 2002 2003 + acorn-jsx@5.3.2(acorn@8.15.0): 2004 + dependencies: 2005 + acorn: 8.15.0 2006 + 1279 2007 acorn@8.15.0: {} 1280 2008 2009 + ajv@6.12.6: 2010 + dependencies: 2011 + fast-deep-equal: 3.1.3 2012 + fast-json-stable-stringify: 2.1.0 2013 + json-schema-traverse: 0.4.1 2014 + uri-js: 4.4.1 2015 + 1281 2016 ansi-regex@5.0.1: {} 1282 2017 1283 2018 ansi-styles@4.3.0: 1284 2019 dependencies: 1285 2020 color-convert: 2.0.1 1286 2021 2022 + argparse@2.0.1: {} 2023 + 1287 2024 aria-query@5.3.2: {} 1288 2025 1289 2026 atomic-sleep@1.0.0: {} 1290 2027 1291 2028 axobject-query@4.1.0: {} 1292 2029 2030 + balanced-match@1.0.2: {} 2031 + 1293 2032 base64-js@1.5.1: {} 2033 + 2034 + brace-expansion@1.1.12: 2035 + dependencies: 2036 + balanced-match: 1.0.2 2037 + concat-map: 0.0.1 2038 + 2039 + brace-expansion@2.0.2: 2040 + dependencies: 2041 + balanced-match: 1.0.2 1294 2042 1295 2043 buffer@6.0.3: 1296 2044 dependencies: 1297 2045 base64-js: 1.5.1 1298 2046 ieee754: 1.2.1 1299 2047 2048 + callsites@3.1.0: {} 2049 + 1300 2050 cborg@1.10.2: {} 2051 + 2052 + chalk@4.1.2: 2053 + dependencies: 2054 + ansi-styles: 4.3.0 2055 + supports-color: 7.2.0 1301 2056 1302 2057 chokidar@4.0.3: 1303 2058 dependencies: ··· 1319 2074 1320 2075 color-name@1.1.4: {} 1321 2076 2077 + concat-map@0.0.1: {} 2078 + 1322 2079 core-js@3.47.0: {} 1323 2080 2081 + cross-spawn@7.0.6: 2082 + dependencies: 2083 + path-key: 3.1.1 2084 + shebang-command: 2.0.0 2085 + which: 2.0.2 2086 + 2087 + cssesc@3.0.0: {} 2088 + 2089 + debug@4.4.3: 2090 + dependencies: 2091 + ms: 2.1.3 2092 + 2093 + deep-is@0.1.4: {} 2094 + 1324 2095 deepmerge@4.3.1: {} 1325 2096 1326 2097 devalue@5.6.1: {} ··· 1358 2129 1359 2130 escalade@3.2.0: {} 1360 2131 2132 + escape-string-regexp@4.0.0: {} 2133 + 2134 + eslint-plugin-svelte@3.14.0(eslint@9.39.2)(svelte@5.46.1): 2135 + dependencies: 2136 + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) 2137 + '@jridgewell/sourcemap-codec': 1.5.5 2138 + eslint: 9.39.2 2139 + esutils: 2.0.3 2140 + globals: 16.5.0 2141 + known-css-properties: 0.37.0 2142 + postcss: 8.5.6 2143 + postcss-load-config: 3.1.4(postcss@8.5.6) 2144 + postcss-safe-parser: 7.0.1(postcss@8.5.6) 2145 + semver: 7.7.3 2146 + svelte-eslint-parser: 1.4.1(svelte@5.46.1) 2147 + optionalDependencies: 2148 + svelte: 5.46.1 2149 + transitivePeerDependencies: 2150 + - ts-node 2151 + 2152 + eslint-scope@8.4.0: 2153 + dependencies: 2154 + esrecurse: 4.3.0 2155 + estraverse: 5.3.0 2156 + 2157 + eslint-visitor-keys@3.4.3: {} 2158 + 2159 + eslint-visitor-keys@4.2.1: {} 2160 + 2161 + eslint@9.39.2: 2162 + dependencies: 2163 + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) 2164 + '@eslint-community/regexpp': 4.12.2 2165 + '@eslint/config-array': 0.21.1 2166 + '@eslint/config-helpers': 0.4.2 2167 + '@eslint/core': 0.17.0 2168 + '@eslint/eslintrc': 3.3.3 2169 + '@eslint/js': 9.39.2 2170 + '@eslint/plugin-kit': 0.4.1 2171 + '@humanfs/node': 0.16.7 2172 + '@humanwhocodes/module-importer': 1.0.1 2173 + '@humanwhocodes/retry': 0.4.3 2174 + '@types/estree': 1.0.8 2175 + ajv: 6.12.6 2176 + chalk: 4.1.2 2177 + cross-spawn: 7.0.6 2178 + debug: 4.4.3 2179 + escape-string-regexp: 4.0.0 2180 + eslint-scope: 8.4.0 2181 + eslint-visitor-keys: 4.2.1 2182 + espree: 10.4.0 2183 + esquery: 1.7.0 2184 + esutils: 2.0.3 2185 + fast-deep-equal: 3.1.3 2186 + file-entry-cache: 8.0.0 2187 + find-up: 5.0.0 2188 + glob-parent: 6.0.2 2189 + ignore: 5.3.2 2190 + imurmurhash: 0.1.4 2191 + is-glob: 4.0.3 2192 + json-stable-stringify-without-jsonify: 1.0.1 2193 + lodash.merge: 4.6.2 2194 + minimatch: 3.1.2 2195 + natural-compare: 1.4.0 2196 + optionator: 0.9.4 2197 + transitivePeerDependencies: 2198 + - supports-color 2199 + 1361 2200 esm-env@1.2.2: {} 1362 2201 2202 + espree@10.4.0: 2203 + dependencies: 2204 + acorn: 8.15.0 2205 + acorn-jsx: 5.3.2(acorn@8.15.0) 2206 + eslint-visitor-keys: 4.2.1 2207 + 2208 + esquery@1.7.0: 2209 + dependencies: 2210 + estraverse: 5.3.0 2211 + 1363 2212 esrap@2.2.1: 1364 2213 dependencies: 1365 2214 '@jridgewell/sourcemap-codec': 1.5.5 1366 2215 2216 + esrecurse@4.3.0: 2217 + dependencies: 2218 + estraverse: 5.3.0 2219 + 2220 + estraverse@5.3.0: {} 2221 + 2222 + esutils@2.0.3: {} 2223 + 1367 2224 event-target-shim@5.0.1: {} 1368 2225 1369 2226 events@3.3.0: {} 1370 2227 2228 + fast-deep-equal@3.1.3: {} 2229 + 2230 + fast-json-stable-stringify@2.1.0: {} 2231 + 2232 + fast-levenshtein@2.0.6: {} 2233 + 1371 2234 fast-redact@3.5.0: {} 1372 2235 1373 2236 fdir@6.5.0(picomatch@4.0.3): 1374 2237 optionalDependencies: 1375 2238 picomatch: 4.0.3 1376 2239 2240 + file-entry-cache@8.0.0: 2241 + dependencies: 2242 + flat-cache: 4.0.1 2243 + 2244 + find-up@5.0.0: 2245 + dependencies: 2246 + locate-path: 6.0.0 2247 + path-exists: 4.0.0 2248 + 2249 + flat-cache@4.0.1: 2250 + dependencies: 2251 + flatted: 3.3.3 2252 + keyv: 4.5.4 2253 + 2254 + flatted@3.3.3: {} 2255 + 1377 2256 fsevents@2.3.3: 1378 2257 optional: true 1379 2258 1380 2259 get-caller-file@2.0.5: {} 1381 2260 2261 + glob-parent@6.0.2: 2262 + dependencies: 2263 + is-glob: 4.0.3 2264 + 2265 + globals@14.0.0: {} 2266 + 2267 + globals@16.5.0: {} 2268 + 2269 + globals@17.0.0: {} 2270 + 2271 + has-flag@4.0.0: {} 2272 + 1382 2273 ieee754@1.2.1: {} 1383 2274 2275 + ignore@5.3.2: {} 2276 + 2277 + ignore@7.0.5: {} 2278 + 2279 + import-fresh@3.3.1: 2280 + dependencies: 2281 + parent-module: 1.0.1 2282 + resolve-from: 4.0.0 2283 + 2284 + imurmurhash@0.1.4: {} 2285 + 2286 + is-extglob@2.1.1: {} 2287 + 1384 2288 is-fullwidth-code-point@3.0.0: {} 1385 2289 2290 + is-glob@4.0.3: 2291 + dependencies: 2292 + is-extglob: 2.1.1 2293 + 1386 2294 is-reference@3.0.3: 1387 2295 dependencies: 1388 2296 '@types/estree': 1.0.8 2297 + 2298 + isexe@2.0.0: {} 1389 2299 1390 2300 iso-datestring-validator@2.2.2: {} 1391 2301 2302 + js-yaml@4.1.1: 2303 + dependencies: 2304 + argparse: 2.0.1 2305 + 2306 + json-buffer@3.0.1: {} 2307 + 2308 + json-schema-traverse@0.4.1: {} 2309 + 2310 + json-stable-stringify-without-jsonify@1.0.1: {} 2311 + 2312 + keyv@4.5.4: 2313 + dependencies: 2314 + json-buffer: 3.0.1 2315 + 2316 + known-css-properties@0.37.0: {} 2317 + 2318 + levn@0.4.1: 2319 + dependencies: 2320 + prelude-ls: 1.2.1 2321 + type-check: 0.4.0 2322 + 2323 + lilconfig@2.1.0: {} 2324 + 1392 2325 locate-character@3.0.0: {} 2326 + 2327 + locate-path@6.0.0: 2328 + dependencies: 2329 + p-locate: 5.0.0 2330 + 2331 + lodash.merge@4.6.2: {} 1393 2332 1394 2333 lru-cache@10.4.3: {} 1395 2334 ··· 1400 2339 minimatch@10.1.1: 1401 2340 dependencies: 1402 2341 '@isaacs/brace-expansion': 5.0.0 2342 + 2343 + minimatch@3.1.2: 2344 + dependencies: 2345 + brace-expansion: 1.1.12 2346 + 2347 + minimatch@9.0.5: 2348 + dependencies: 2349 + brace-expansion: 2.0.2 1403 2350 1404 2351 mri@1.2.0: {} 1405 2352 2353 + ms@2.1.3: {} 2354 + 1406 2355 multiformats@9.9.0: {} 1407 2356 1408 2357 nanoid@3.3.11: {} 2358 + 2359 + natural-compare@1.4.0: {} 1409 2360 1410 2361 obug@2.1.1: {} 1411 2362 1412 2363 on-exit-leak-free@2.1.2: {} 1413 2364 2365 + optionator@0.9.4: 2366 + dependencies: 2367 + deep-is: 0.1.4 2368 + fast-levenshtein: 2.0.6 2369 + levn: 0.4.1 2370 + prelude-ls: 1.2.1 2371 + type-check: 0.4.0 2372 + word-wrap: 1.2.5 2373 + 2374 + p-limit@3.1.0: 2375 + dependencies: 2376 + yocto-queue: 0.1.0 2377 + 2378 + p-locate@5.0.0: 2379 + dependencies: 2380 + p-limit: 3.1.0 2381 + 2382 + parent-module@1.0.1: 2383 + dependencies: 2384 + callsites: 3.1.0 2385 + 1414 2386 path-browserify@1.0.1: {} 2387 + 2388 + path-exists@4.0.0: {} 2389 + 2390 + path-key@3.1.1: {} 1415 2391 1416 2392 picocolors@1.1.1: {} 1417 2393 ··· 1437 2413 safe-stable-stringify: 2.5.0 1438 2414 sonic-boom: 3.8.1 1439 2415 thread-stream: 2.7.0 2416 + 2417 + postcss-load-config@3.1.4(postcss@8.5.6): 2418 + dependencies: 2419 + lilconfig: 2.1.0 2420 + yaml: 1.10.2 2421 + optionalDependencies: 2422 + postcss: 8.5.6 2423 + 2424 + postcss-safe-parser@7.0.1(postcss@8.5.6): 2425 + dependencies: 2426 + postcss: 8.5.6 2427 + 2428 + postcss-scss@4.0.9(postcss@8.5.6): 2429 + dependencies: 2430 + postcss: 8.5.6 2431 + 2432 + postcss-selector-parser@7.1.1: 2433 + dependencies: 2434 + cssesc: 3.0.0 2435 + util-deprecate: 1.0.2 1440 2436 1441 2437 postcss@8.5.6: 1442 2438 dependencies: ··· 1444 2440 picocolors: 1.1.1 1445 2441 source-map-js: 1.2.1 1446 2442 2443 + prelude-ls@1.2.1: {} 2444 + 1447 2445 prettier@3.7.4: {} 1448 2446 1449 2447 process-warning@3.0.0: {} 1450 2448 1451 2449 process@0.11.10: {} 2450 + 2451 + punycode@2.3.1: {} 1452 2452 1453 2453 quick-format-unescaped@4.0.4: {} 1454 2454 ··· 1465 2465 real-require@0.2.0: {} 1466 2466 1467 2467 require-directory@2.1.1: {} 2468 + 2469 + resolve-from@4.0.0: {} 1468 2470 1469 2471 rollup@4.55.1: 1470 2472 dependencies: ··· 1505 2507 1506 2508 safe-stable-stringify@2.5.0: {} 1507 2509 2510 + semver@7.7.3: {} 2511 + 2512 + shebang-command@2.0.0: 2513 + dependencies: 2514 + shebang-regex: 3.0.0 2515 + 2516 + shebang-regex@3.0.0: {} 2517 + 1508 2518 sonic-boom@3.8.1: 1509 2519 dependencies: 1510 2520 atomic-sleep: 1.0.0 ··· 1527 2537 dependencies: 1528 2538 ansi-regex: 5.0.1 1529 2539 2540 + strip-json-comments@3.1.1: {} 2541 + 2542 + supports-color@7.2.0: 2543 + dependencies: 2544 + has-flag: 4.0.0 2545 + 1530 2546 svelte-check@4.3.5(picomatch@4.0.3)(svelte@5.46.1)(typescript@5.9.3): 1531 2547 dependencies: 1532 2548 '@jridgewell/trace-mapping': 0.3.31 ··· 1538 2554 typescript: 5.9.3 1539 2555 transitivePeerDependencies: 1540 2556 - picomatch 2557 + 2558 + svelte-eslint-parser@1.4.1(svelte@5.46.1): 2559 + dependencies: 2560 + eslint-scope: 8.4.0 2561 + eslint-visitor-keys: 4.2.1 2562 + espree: 10.4.0 2563 + postcss: 8.5.6 2564 + postcss-scss: 4.0.9(postcss@8.5.6) 2565 + postcss-selector-parser: 7.1.1 2566 + optionalDependencies: 2567 + svelte: 5.46.1 1541 2568 1542 2569 svelte@5.46.1: 1543 2570 dependencies: ··· 1566 2593 fdir: 6.5.0(picomatch@4.0.3) 1567 2594 picomatch: 4.0.3 1568 2595 2596 + ts-api-utils@2.4.0(typescript@5.9.3): 2597 + dependencies: 2598 + typescript: 5.9.3 2599 + 1569 2600 ts-morph@27.0.2: 1570 2601 dependencies: 1571 2602 '@ts-morph/common': 0.28.1 1572 2603 code-block-writer: 13.0.3 1573 2604 1574 2605 tslib@2.8.1: {} 2606 + 2607 + type-check@0.4.0: 2608 + dependencies: 2609 + prelude-ls: 1.2.1 2610 + 2611 + typescript-eslint@8.52.0(eslint@9.39.2)(typescript@5.9.3): 2612 + dependencies: 2613 + '@typescript-eslint/eslint-plugin': 8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3) 2614 + '@typescript-eslint/parser': 8.52.0(eslint@9.39.2)(typescript@5.9.3) 2615 + '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) 2616 + '@typescript-eslint/utils': 8.52.0(eslint@9.39.2)(typescript@5.9.3) 2617 + eslint: 9.39.2 2618 + typescript: 5.9.3 2619 + transitivePeerDependencies: 2620 + - supports-color 1575 2621 1576 2622 typescript@5.9.3: {} 1577 2623 ··· 1583 2629 1584 2630 unicode-segmenter@0.14.5: {} 1585 2631 2632 + uri-js@4.4.1: 2633 + dependencies: 2634 + punycode: 2.3.1 2635 + 2636 + util-deprecate@1.0.2: {} 2637 + 1586 2638 varint@6.0.0: {} 1587 2639 1588 2640 vite@7.3.1(@types/node@24.10.4): ··· 1601 2653 optionalDependencies: 1602 2654 vite: 7.3.1(@types/node@24.10.4) 1603 2655 2656 + which@2.0.2: 2657 + dependencies: 2658 + isexe: 2.0.0 2659 + 2660 + word-wrap@1.2.5: {} 2661 + 1604 2662 wrap-ansi@7.0.0: 1605 2663 dependencies: 1606 2664 ansi-styles: 4.3.0 ··· 1609 2667 1610 2668 y18n@5.0.8: {} 1611 2669 2670 + yaml@1.10.2: {} 2671 + 1612 2672 yargs-parser@21.1.1: {} 1613 2673 1614 2674 yargs@17.7.2: ··· 1620 2680 string-width: 4.2.3 1621 2681 y18n: 5.0.8 1622 2682 yargs-parser: 21.1.1 2683 + 2684 + yocto-queue@0.1.0: {} 1623 2685 1624 2686 zimmerframe@1.1.4: {} 1625 2687
+6 -6
src/App.svelte
··· 1 1 <script lang="ts"> 2 2 3 - import SearchForm from "./lib/SearchForm.svelte"; 4 - import RepoStats from "./lib/RepoStats.svelte"; 3 + import SearchForm from './lib/SearchForm.svelte'; 4 + import RepoStats from './lib/RepoStats.svelte'; 5 5 6 - let showRepoStats = $state(false) 7 - let did = $state("") 8 - let pdsUrl = $state("") 6 + let showRepoStats = $state(false); 7 + let did = $state(''); 8 + let pdsUrl = $state(''); 9 9 10 10 const resolvedResult = (didResult: string, pdsUrlResult: string) => { 11 11 did = didResult; 12 12 pdsUrl = pdsUrlResult; 13 13 showRepoStats = true; 14 - } 14 + }; 15 15 16 16 17 17 </script>
+38 -31
src/lib/RepoStats.svelte
··· 1 1 <script lang="ts"> 2 - import {fromStream, fromUint8Array} from '@atcute/car'; 2 + import { fromStream } from '@atcute/car'; 3 3 import * as CBOR from '@atcute/cbor'; 4 + import { onMount } from 'svelte'; 5 + import { Client, simpleFetchHandler } from '@atcute/client'; 6 + import type {} from '@atcute/atproto'; 7 + 8 + const { did, pdsUrl } = $props(); 4 9 5 10 interface CountedCollection { 6 11 collection: string; 7 12 count: number; 8 13 } 9 14 10 - 11 - const { did, pdsUrl } = $props(); 12 - let loading = $state(true) 13 - let downloadedBytes = $state(0) 14 - let downloadedMB = $derived((downloadedBytes / (1024 * 1024)).toFixed(2)) 15 - let error: string | null = $state(null) 15 + let loading = $state(true); 16 + let downloadedBytes = $state(0); 17 + let downloadedMB = $derived((downloadedBytes / (1024 * 1024)).toFixed(2)); 18 + let error: string | null = $state(null); 16 19 let collections = $state(new Array<CountedCollection>()); 17 - let collectionsOrdered: Array<CountedCollection> = $derived([...collections].sort((a, b) => b.count - a.count)) 18 - let totalRecords = $state(0) 19 - let startTime = $state<number | null>(null) 20 - let endTime = $state<number | null>(null) 20 + let collectionsOrdered: Array<CountedCollection> = $derived([...collections].sort((a, b) => b.count - a.count)); 21 + let totalRecords = $state(0); 22 + let startTime = $state<number | null>(null); 23 + let endTime = $state<number | null>(null); 21 24 let elapsedTime = $derived.by(() => { 22 - if (!startTime) return "0.00" 23 - const end = endTime ?? Date.now() 24 - return ((end - startTime) / 1000).toFixed(2) 25 - }) 25 + if (!startTime) return '0.00'; 26 + const end = endTime ?? Date.now(); 27 + return ((end - startTime) / 1000).toFixed(2); 28 + }); 26 29 27 30 const getRepoStats = async () => { 28 - const endPoint = `${pdsUrl}/xrpc/com.atproto.sync.getRepo?did=${did}` 31 + const endPoint = `${pdsUrl}/xrpc/com.atproto.sync.getRepo?did=${did}`; 29 32 30 - startTime = Date.now() 31 - endTime = null 33 + startTime = Date.now(); 34 + endTime = null; 32 35 try { 33 - const response = await fetch(endPoint) 34 - if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`) 36 + const response = await fetch(endPoint); 37 + if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`); 35 38 36 39 const car = fromStream(response.body); 37 40 ··· 44 47 45 48 let checkForCollection = collections.find(c => c.collection === data.$type); 46 49 if (!checkForCollection) { 47 - collections.push({collection: data.$type, count: 1}); 50 + collections.push({ collection: data.$type, count: 1 }); 48 51 }else{ 49 52 checkForCollection.count++; 50 53 } ··· 52 55 totalRecords++; 53 56 } 54 57 }finally{ 55 - await car.dispose() 58 + await car.dispose(); 56 59 } 57 60 58 - endTime = Date.now() 61 + endTime = Date.now(); 59 62 loading = false; 60 63 } catch (err) { 61 - endTime = Date.now() 62 - console.error('Error fetching repo stats:', err) 63 - error = err.message 64 - loading = false 64 + endTime = Date.now(); 65 + console.error('Error fetching repo stats:', err); 66 + if (err instanceof Error){ 67 + error = err.message; 68 + }else{ 69 + error = 'Unknown error: can check the console for more details'; 70 + } 71 + loading = false; 65 72 } 66 - } 73 + }; 67 74 68 - $effect(() => { 69 - getRepoStats() 70 - }) 75 + onMount(() => { 76 + getRepoStats(); 77 + }); 71 78 72 79 </script> 73 80
+11 -11
src/lib/SearchForm.svelte
··· 1 1 <script lang="ts"> 2 - import { AtprotoDohHandleResolver} from "@atproto-labs/handle-resolver"; 3 - import { DidResolver } from "@atproto/identity" 2 + import { AtprotoDohHandleResolver } from '@atproto-labs/handle-resolver'; 3 + import { DidResolver } from '@atproto/identity'; 4 4 5 - const didResolver = new DidResolver({}) 6 - const handleResolver = new AtprotoDohHandleResolver({ dohEndpoint: 'https://cloudflare-dns.com/dns-query'}); 5 + const didResolver = new DidResolver({}); 6 + const handleResolver = new AtprotoDohHandleResolver({ dohEndpoint: 'https://cloudflare-dns.com/dns-query' }); 7 7 8 8 let handleToLookUp = $state(''); 9 9 let error: string | null = $state(null); ··· 15 15 event.preventDefault(); 16 16 error = null; 17 17 18 - let did = await handleResolver.resolve(handleToLookUp) 18 + let did = await handleResolver.resolve(handleToLookUp); 19 19 if (did === null) { 20 20 error = 'No result found'; 21 21 return; ··· 24 24 const didDoc = await didResolver.resolve(did); 25 25 if (!didDoc){ 26 26 error = 'No did doc found'; 27 - return 27 + return; 28 28 } 29 29 if (!didDoc.service){ 30 30 error = 'No services?'; 31 - return 31 + return; 32 32 } 33 - const pds = didDoc?.service?.find(s => s.id === '#atproto_pds') 33 + const pds = didDoc?.service?.find(s => s.id === '#atproto_pds'); 34 34 if (!pds){ 35 35 error = 'No pds service found????'; 36 - return 36 + return; 37 37 } 38 38 const pdsUrl = pds.serviceEndpoint; 39 - resolvedResult(did, pdsUrl) 40 - } 39 + resolvedResult(did, pdsUrl); 40 + }; 41 41 42 42 43 43
+5 -5
src/main.ts
··· 1 - import { mount } from 'svelte' 2 - import './app.css' 3 - import App from './App.svelte' 1 + import { mount } from 'svelte'; 2 + import './app.css'; 3 + import App from './App.svelte'; 4 4 5 5 const app = mount(App, { 6 6 target: document.getElementById('app')!, 7 - }) 7 + }); 8 8 9 - export default app 9 + export default app;
+2 -2
svelte.config.js
··· 1 - import { vitePreprocess } from '@sveltejs/vite-plugin-svelte' 1 + import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; 2 2 3 3 /** @type {import("@sveltejs/vite-plugin-svelte").SvelteConfig} */ 4 4 export default { 5 5 // Consult https://svelte.dev/docs#compile-time-svelte-preprocess 6 6 // for more information about preprocessors 7 7 preprocess: vitePreprocess(), 8 - } 8 + };
+2 -2
tsconfig.app.json
··· 5 5 "target": "ES2022", 6 6 "useDefineForClassFields": true, 7 7 "module": "ESNext", 8 - "types": ["svelte", "vite/client"], 8 + "types": ["svelte", "vite/client", "@atcute/bluesky"], 9 9 "noEmit": true, 10 10 /** 11 11 * Typecheck JS in `.svelte` and `.js` files by default. ··· 15 15 */ 16 16 "allowJs": true, 17 17 "checkJs": true, 18 - "moduleDetection": "force" 18 + "moduleDetection": "force", 19 19 }, 20 20 "include": ["src/**/*.ts", "src/**/*.js", "src/**/*.svelte"] 21 21 }
+1 -1
tsconfig.node.json
··· 4 4 "target": "ES2023", 5 5 "lib": ["ES2023"], 6 6 "module": "ESNext", 7 - "types": ["node"], 7 + "types": ["node", "@atcute/bluesky"], 8 8 "skipLibCheck": true, 9 9 10 10 /* Bundler mode */
+3 -3
vite.config.ts
··· 1 - import { defineConfig } from 'vite' 2 - import { svelte } from '@sveltejs/vite-plugin-svelte' 1 + import { defineConfig } from 'vite'; 2 + import { svelte } from '@sveltejs/vite-plugin-svelte'; 3 3 4 4 // https://vite.dev/config/ 5 5 export default defineConfig({ 6 6 plugins: [svelte()], 7 - }) 7 + });