My personal site cherry.computer
htmx tailwind axum askama

build: bump ESLint to latest version

We barely have any JS (and hope to have even less soon) but might as
well take the opportunity to get my head around the new flat config
format. It's fine.

cherry.computer 0691a6a3 7ecbdcf8

verified
+1213 -986
-1
frontend/.eslintignore
··· 1 - build
···
-25
frontend/.eslintrc.json
··· 1 - { 2 - "root": true, 3 - "parser": "@typescript-eslint/parser", 4 - "plugins": ["@typescript-eslint"], 5 - "extends": [ 6 - "eslint:recommended", 7 - "plugin:@typescript-eslint/recommended", 8 - "prettier" 9 - ], 10 - "env": { "browser": true }, 11 - "overrides": [ 12 - { 13 - "files": ["*.js"], 14 - "rules": { 15 - "@typescript-eslint/no-var-requires": "off" 16 - } 17 - }, 18 - { 19 - "files": ["*.ts"], 20 - "rules": { 21 - "@typescript-eslint/no-non-null-assertion": "off" 22 - } 23 - } 24 - ] 25 - }
···
+37
frontend/eslint.config.js
···
··· 1 + import eslint from "@eslint/js"; 2 + import eslintConfigPrettier from "eslint-config-prettier"; 3 + import globals from "globals"; 4 + import tseslint from "typescript-eslint"; 5 + 6 + export default tseslint.config( 7 + eslint.configs.recommended, 8 + tseslint.configs.recommendedTypeChecked, 9 + eslintConfigPrettier, 10 + { 11 + ignores: ["build/"], 12 + }, 13 + { 14 + languageOptions: { 15 + parserOptions: { 16 + projectService: true, 17 + tsconfigRootDir: import.meta.dirname, 18 + }, 19 + }, 20 + }, 21 + { 22 + files: ["**/*.js"], 23 + extends: [tseslint.configs.disableTypeChecked], 24 + }, 25 + { 26 + files: ["esbuild.js"], 27 + languageOptions: { 28 + globals: globals.node, 29 + }, 30 + }, 31 + { 32 + files: ["**/*.ts"], 33 + rules: { 34 + "@typescript-eslint/no-unsafe-assignment": "off", 35 + }, 36 + } 37 + );
+1164 -949
frontend/package-lock.json
··· 13 "three": "^0.139.2" 14 }, 15 "devDependencies": { 16 "@types/node": "^22.10.5", 17 "@types/three": "^0.139.0", 18 - "@typescript-eslint/eslint-plugin": "^5.20.0", 19 - "@typescript-eslint/parser": "^5.20.0", 20 "browserslist": "^4.20.3", 21 "esbuild": "^0.24.2", 22 "esbuild-plugin-browserslist": "^0.15.0", 23 - "eslint": "^8.14.0", 24 - "eslint-config-prettier": "^8.5.0", 25 "minimist": "^1.2.6", 26 "prettier": "^2.6.2", 27 - "typescript": "^4.6.3" 28 } 29 }, 30 "../esbuild-plugin-postcss": { ··· 476 "node": ">=18" 477 } 478 }, 479 "node_modules/@eslint/eslintrc": { 480 - "version": "1.2.2", 481 - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz", 482 - "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==", 483 "dev": true, 484 "dependencies": { 485 "ajv": "^6.12.4", 486 "debug": "^4.3.2", 487 - "espree": "^9.3.1", 488 - "globals": "^13.9.0", 489 "ignore": "^5.2.0", 490 "import-fresh": "^3.2.1", 491 "js-yaml": "^4.1.0", 492 - "minimatch": "^3.0.4", 493 "strip-json-comments": "^3.1.1" 494 }, 495 "engines": { 496 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 497 } 498 }, 499 - "node_modules/@humanwhocodes/config-array": { 500 - "version": "0.9.5", 501 - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", 502 - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", 503 "dev": true, 504 "dependencies": { 505 - "@humanwhocodes/object-schema": "^1.2.1", 506 - "debug": "^4.1.1", 507 - "minimatch": "^3.0.4" 508 }, 509 "engines": { 510 - "node": ">=10.10.0" 511 } 512 }, 513 - "node_modules/@humanwhocodes/object-schema": { 514 - "version": "1.2.1", 515 - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", 516 - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", 517 - "dev": true 518 }, 519 "node_modules/@nodelib/fs.scandir": { 520 "version": "2.1.5", 521 "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 522 "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 523 "dev": true, 524 "dependencies": { 525 "@nodelib/fs.stat": "2.0.5", 526 "run-parallel": "^1.1.9" ··· 534 "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 535 "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 536 "dev": true, 537 "engines": { 538 "node": ">= 8" 539 } ··· 543 "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 544 "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 545 "dev": true, 546 "dependencies": { 547 "@nodelib/fs.scandir": "2.1.5", 548 "fastq": "^1.6.0" ··· 551 "node": ">= 8" 552 } 553 }, 554 "node_modules/@types/json-schema": { 555 - "version": "7.0.11", 556 - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", 557 - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", 558 - "dev": true 559 }, 560 "node_modules/@types/node": { 561 "version": "22.10.5", ··· 574 "dev": true 575 }, 576 "node_modules/@typescript-eslint/eslint-plugin": { 577 - "version": "5.20.0", 578 - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.20.0.tgz", 579 - "integrity": "sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==", 580 "dev": true, 581 "dependencies": { 582 - "@typescript-eslint/scope-manager": "5.20.0", 583 - "@typescript-eslint/type-utils": "5.20.0", 584 - "@typescript-eslint/utils": "5.20.0", 585 - "debug": "^4.3.2", 586 - "functional-red-black-tree": "^1.0.1", 587 - "ignore": "^5.1.8", 588 - "regexpp": "^3.2.0", 589 - "semver": "^7.3.5", 590 - "tsutils": "^3.21.0" 591 }, 592 "engines": { 593 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 594 }, 595 "funding": { 596 "type": "opencollective", 597 "url": "https://opencollective.com/typescript-eslint" 598 }, 599 "peerDependencies": { 600 - "@typescript-eslint/parser": "^5.0.0", 601 - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" 602 - }, 603 - "peerDependenciesMeta": { 604 - "typescript": { 605 - "optional": true 606 - } 607 } 608 }, 609 "node_modules/@typescript-eslint/parser": { 610 - "version": "5.20.0", 611 - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.20.0.tgz", 612 - "integrity": "sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==", 613 "dev": true, 614 "dependencies": { 615 - "@typescript-eslint/scope-manager": "5.20.0", 616 - "@typescript-eslint/types": "5.20.0", 617 - "@typescript-eslint/typescript-estree": "5.20.0", 618 - "debug": "^4.3.2" 619 }, 620 "engines": { 621 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 622 }, 623 "funding": { 624 "type": "opencollective", 625 "url": "https://opencollective.com/typescript-eslint" 626 }, 627 "peerDependencies": { 628 - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" 629 - }, 630 - "peerDependenciesMeta": { 631 - "typescript": { 632 - "optional": true 633 - } 634 } 635 }, 636 "node_modules/@typescript-eslint/scope-manager": { 637 - "version": "5.20.0", 638 - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz", 639 - "integrity": "sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==", 640 "dev": true, 641 "dependencies": { 642 - "@typescript-eslint/types": "5.20.0", 643 - "@typescript-eslint/visitor-keys": "5.20.0" 644 }, 645 "engines": { 646 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 647 }, 648 "funding": { 649 "type": "opencollective", ··· 651 } 652 }, 653 "node_modules/@typescript-eslint/type-utils": { 654 - "version": "5.20.0", 655 - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.20.0.tgz", 656 - "integrity": "sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==", 657 "dev": true, 658 "dependencies": { 659 - "@typescript-eslint/utils": "5.20.0", 660 - "debug": "^4.3.2", 661 - "tsutils": "^3.21.0" 662 }, 663 "engines": { 664 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 665 }, 666 "funding": { 667 "type": "opencollective", 668 "url": "https://opencollective.com/typescript-eslint" 669 }, 670 "peerDependencies": { 671 - "eslint": "*" 672 - }, 673 - "peerDependenciesMeta": { 674 - "typescript": { 675 - "optional": true 676 - } 677 } 678 }, 679 "node_modules/@typescript-eslint/types": { 680 - "version": "5.20.0", 681 - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.20.0.tgz", 682 - "integrity": "sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==", 683 "dev": true, 684 "engines": { 685 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 686 }, 687 "funding": { 688 "type": "opencollective", ··· 690 } 691 }, 692 "node_modules/@typescript-eslint/typescript-estree": { 693 - "version": "5.20.0", 694 - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz", 695 - "integrity": "sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==", 696 "dev": true, 697 "dependencies": { 698 - "@typescript-eslint/types": "5.20.0", 699 - "@typescript-eslint/visitor-keys": "5.20.0", 700 - "debug": "^4.3.2", 701 - "globby": "^11.0.4", 702 "is-glob": "^4.0.3", 703 - "semver": "^7.3.5", 704 - "tsutils": "^3.21.0" 705 }, 706 "engines": { 707 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 708 }, 709 "funding": { 710 "type": "opencollective", 711 "url": "https://opencollective.com/typescript-eslint" 712 }, 713 - "peerDependenciesMeta": { 714 - "typescript": { 715 - "optional": true 716 - } 717 } 718 }, 719 "node_modules/@typescript-eslint/utils": { 720 - "version": "5.20.0", 721 - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.20.0.tgz", 722 - "integrity": "sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==", 723 "dev": true, 724 "dependencies": { 725 - "@types/json-schema": "^7.0.9", 726 - "@typescript-eslint/scope-manager": "5.20.0", 727 - "@typescript-eslint/types": "5.20.0", 728 - "@typescript-eslint/typescript-estree": "5.20.0", 729 - "eslint-scope": "^5.1.1", 730 - "eslint-utils": "^3.0.0" 731 }, 732 "engines": { 733 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 734 }, 735 "funding": { 736 "type": "opencollective", 737 "url": "https://opencollective.com/typescript-eslint" 738 }, 739 "peerDependencies": { 740 - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" 741 } 742 }, 743 - "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { 744 - "version": "5.1.1", 745 - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", 746 - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", 747 "dev": true, 748 "dependencies": { 749 - "esrecurse": "^4.3.0", 750 - "estraverse": "^4.1.1" 751 }, 752 "engines": { 753 - "node": ">=8.0.0" 754 - } 755 - }, 756 - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { 757 - "version": "4.3.0", 758 - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 759 - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 760 - "dev": true, 761 - "engines": { 762 - "node": ">=4.0" 763 } 764 }, 765 - "node_modules/@typescript-eslint/visitor-keys": { 766 - "version": "5.20.0", 767 - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz", 768 - "integrity": "sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==", 769 "dev": true, 770 - "dependencies": { 771 - "@typescript-eslint/types": "5.20.0", 772 - "eslint-visitor-keys": "^3.0.0" 773 - }, 774 "engines": { 775 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 776 }, 777 "funding": { 778 - "type": "opencollective", 779 - "url": "https://opencollective.com/typescript-eslint" 780 } 781 }, 782 "node_modules/acorn": { 783 - "version": "8.7.0", 784 - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", 785 - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", 786 "dev": true, 787 "bin": { 788 "acorn": "bin/acorn" 789 }, ··· 796 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 797 "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 798 "dev": true, 799 "peerDependencies": { 800 "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 801 } ··· 805 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 806 "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 807 "dev": true, 808 "dependencies": { 809 "fast-deep-equal": "^3.1.1", 810 "fast-json-stable-stringify": "^2.0.0", ··· 816 "url": "https://github.com/sponsors/epoberezkin" 817 } 818 }, 819 - "node_modules/ansi-regex": { 820 - "version": "5.0.1", 821 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 822 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 823 - "dev": true, 824 - "engines": { 825 - "node": ">=8" 826 - } 827 - }, 828 "node_modules/ansi-styles": { 829 "version": "4.3.0", 830 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ··· 844 "version": "2.0.1", 845 "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 846 "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 847 - "dev": true 848 - }, 849 - "node_modules/array-union": { 850 - "version": "2.1.0", 851 - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 852 - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 853 "dev": true, 854 - "engines": { 855 - "node": ">=8" 856 - } 857 }, 858 "node_modules/balanced-match": { 859 "version": "1.0.2", 860 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 861 "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 862 - "dev": true 863 }, 864 "node_modules/brace-expansion": { 865 - "version": "1.1.11", 866 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 867 - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 868 "dev": true, 869 "dependencies": { 870 - "balanced-match": "^1.0.0", 871 - "concat-map": "0.0.1" 872 } 873 }, 874 "node_modules/braces": { 875 - "version": "3.0.2", 876 - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 877 - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 878 "dev": true, 879 "dependencies": { 880 - "fill-range": "^7.0.1" 881 }, 882 "engines": { 883 "node": ">=8" ··· 921 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 922 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 923 "dev": true, 924 "engines": { 925 "node": ">=6" 926 } ··· 983 "node_modules/concat-map": { 984 "version": "0.0.1", 985 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 986 - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 987 - "dev": true 988 }, 989 "node_modules/cross-spawn": { 990 - "version": "7.0.3", 991 - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 992 - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 993 "dev": true, 994 "dependencies": { 995 "path-key": "^3.1.0", 996 "shebang-command": "^2.0.0", ··· 1022 "version": "0.1.4", 1023 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 1024 "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 1025 - "dev": true 1026 - }, 1027 - "node_modules/dir-glob": { 1028 - "version": "3.0.1", 1029 - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 1030 - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 1031 "dev": true, 1032 - "dependencies": { 1033 - "path-type": "^4.0.0" 1034 - }, 1035 - "engines": { 1036 - "node": ">=8" 1037 - } 1038 - }, 1039 - "node_modules/doctrine": { 1040 - "version": "3.0.0", 1041 - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 1042 - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 1043 - "dev": true, 1044 - "dependencies": { 1045 - "esutils": "^2.0.2" 1046 - }, 1047 - "engines": { 1048 - "node": ">=6.0.0" 1049 - } 1050 }, 1051 "node_modules/electron-to-chromium": { 1052 "version": "1.5.79", ··· 1137 } 1138 }, 1139 "node_modules/eslint": { 1140 - "version": "8.14.0", 1141 - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", 1142 - "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", 1143 "dev": true, 1144 "dependencies": { 1145 - "@eslint/eslintrc": "^1.2.2", 1146 - "@humanwhocodes/config-array": "^0.9.2", 1147 - "ajv": "^6.10.0", 1148 "chalk": "^4.0.0", 1149 - "cross-spawn": "^7.0.2", 1150 "debug": "^4.3.2", 1151 - "doctrine": "^3.0.0", 1152 "escape-string-regexp": "^4.0.0", 1153 - "eslint-scope": "^7.1.1", 1154 - "eslint-utils": "^3.0.0", 1155 - "eslint-visitor-keys": "^3.3.0", 1156 - "espree": "^9.3.1", 1157 - "esquery": "^1.4.0", 1158 "esutils": "^2.0.2", 1159 "fast-deep-equal": "^3.1.3", 1160 - "file-entry-cache": "^6.0.1", 1161 - "functional-red-black-tree": "^1.0.1", 1162 - "glob-parent": "^6.0.1", 1163 - "globals": "^13.6.0", 1164 "ignore": "^5.2.0", 1165 - "import-fresh": "^3.0.0", 1166 "imurmurhash": "^0.1.4", 1167 "is-glob": "^4.0.0", 1168 - "js-yaml": "^4.1.0", 1169 "json-stable-stringify-without-jsonify": "^1.0.1", 1170 - "levn": "^0.4.1", 1171 "lodash.merge": "^4.6.2", 1172 - "minimatch": "^3.0.4", 1173 "natural-compare": "^1.4.0", 1174 - "optionator": "^0.9.1", 1175 - "regexpp": "^3.2.0", 1176 - "strip-ansi": "^6.0.1", 1177 - "strip-json-comments": "^3.1.0", 1178 - "text-table": "^0.2.0", 1179 - "v8-compile-cache": "^2.0.3" 1180 }, 1181 "bin": { 1182 "eslint": "bin/eslint.js" 1183 }, 1184 "engines": { 1185 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1186 }, 1187 "funding": { 1188 - "url": "https://opencollective.com/eslint" 1189 } 1190 }, 1191 "node_modules/eslint-config-prettier": { 1192 - "version": "8.5.0", 1193 - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", 1194 - "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", 1195 "dev": true, 1196 "bin": { 1197 "eslint-config-prettier": "bin/cli.js" 1198 }, ··· 1201 } 1202 }, 1203 "node_modules/eslint-scope": { 1204 - "version": "7.1.1", 1205 - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", 1206 - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", 1207 "dev": true, 1208 "dependencies": { 1209 "esrecurse": "^4.3.0", 1210 "estraverse": "^5.2.0" 1211 }, 1212 "engines": { 1213 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1214 } 1215 }, 1216 - "node_modules/eslint-utils": { 1217 - "version": "3.0.0", 1218 - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", 1219 - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", 1220 "dev": true, 1221 - "dependencies": { 1222 - "eslint-visitor-keys": "^2.0.0" 1223 - }, 1224 "engines": { 1225 - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" 1226 }, 1227 "funding": { 1228 - "url": "https://github.com/sponsors/mysticatea" 1229 - }, 1230 - "peerDependencies": { 1231 - "eslint": ">=5" 1232 } 1233 }, 1234 - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { 1235 - "version": "2.1.0", 1236 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", 1237 - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", 1238 "dev": true, 1239 - "engines": { 1240 - "node": ">=10" 1241 } 1242 }, 1243 - "node_modules/eslint-visitor-keys": { 1244 - "version": "3.3.0", 1245 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", 1246 - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", 1247 "dev": true, 1248 "engines": { 1249 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1250 } 1251 }, 1252 "node_modules/eslint/node_modules/glob-parent": { ··· 1261 "node": ">=10.13.0" 1262 } 1263 }, 1264 "node_modules/espree": { 1265 - "version": "9.3.1", 1266 - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", 1267 - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", 1268 "dev": true, 1269 "dependencies": { 1270 - "acorn": "^8.7.0", 1271 - "acorn-jsx": "^5.3.1", 1272 - "eslint-visitor-keys": "^3.3.0" 1273 }, 1274 "engines": { 1275 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1276 } 1277 }, 1278 "node_modules/esquery": { 1279 - "version": "1.4.0", 1280 - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 1281 - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 1282 "dev": true, 1283 "dependencies": { 1284 "estraverse": "^5.1.0" 1285 }, ··· 1292 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 1293 "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 1294 "dev": true, 1295 "dependencies": { 1296 "estraverse": "^5.2.0" 1297 }, ··· 1304 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1305 "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 1306 "dev": true, 1307 "engines": { 1308 "node": ">=4.0" 1309 } ··· 1313 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 1314 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 1315 "dev": true, 1316 "engines": { 1317 "node": ">=0.10.0" 1318 } ··· 1321 "version": "3.1.3", 1322 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1323 "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1324 - "dev": true 1325 }, 1326 "node_modules/fast-glob": { 1327 - "version": "3.2.11", 1328 - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 1329 - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 1330 "dev": true, 1331 "dependencies": { 1332 "@nodelib/fs.stat": "^2.0.2", 1333 "@nodelib/fs.walk": "^1.2.3", 1334 "glob-parent": "^5.1.2", 1335 "merge2": "^1.3.0", 1336 - "micromatch": "^4.0.4" 1337 }, 1338 "engines": { 1339 "node": ">=8.6.0" ··· 1343 "version": "2.1.0", 1344 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 1345 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 1346 - "dev": true 1347 }, 1348 "node_modules/fast-levenshtein": { 1349 "version": "2.0.6", 1350 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1351 - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 1352 - "dev": true 1353 }, 1354 "node_modules/fastq": { 1355 - "version": "1.13.0", 1356 - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 1357 - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 1358 "dev": true, 1359 "dependencies": { 1360 "reusify": "^1.0.4" 1361 } 1362 }, 1363 "node_modules/file-entry-cache": { 1364 - "version": "6.0.1", 1365 - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 1366 - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 1367 "dev": true, 1368 "dependencies": { 1369 - "flat-cache": "^3.0.4" 1370 }, 1371 "engines": { 1372 - "node": "^10.12.0 || >=12.0.0" 1373 } 1374 }, 1375 "node_modules/fill-range": { 1376 - "version": "7.0.1", 1377 - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1378 - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1379 "dev": true, 1380 "dependencies": { 1381 "to-regex-range": "^5.0.1" 1382 }, ··· 1384 "node": ">=8" 1385 } 1386 }, 1387 - "node_modules/flat-cache": { 1388 - "version": "3.0.4", 1389 - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 1390 - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 1391 "dev": true, 1392 "dependencies": { 1393 - "flatted": "^3.1.0", 1394 - "rimraf": "^3.0.2" 1395 }, 1396 "engines": { 1397 - "node": "^10.12.0 || >=12.0.0" 1398 } 1399 }, 1400 - "node_modules/flatted": { 1401 - "version": "3.2.5", 1402 - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", 1403 - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", 1404 - "dev": true 1405 - }, 1406 - "node_modules/fs.realpath": { 1407 - "version": "1.0.0", 1408 - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1409 - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1410 - "dev": true 1411 - }, 1412 - "node_modules/functional-red-black-tree": { 1413 - "version": "1.0.1", 1414 - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 1415 - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 1416 - "dev": true 1417 - }, 1418 - "node_modules/glob": { 1419 - "version": "7.2.0", 1420 - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 1421 - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 1422 "dev": true, 1423 "dependencies": { 1424 - "fs.realpath": "^1.0.0", 1425 - "inflight": "^1.0.4", 1426 - "inherits": "2", 1427 - "minimatch": "^3.0.4", 1428 - "once": "^1.3.0", 1429 - "path-is-absolute": "^1.0.0" 1430 }, 1431 "engines": { 1432 - "node": "*" 1433 - }, 1434 - "funding": { 1435 - "url": "https://github.com/sponsors/isaacs" 1436 } 1437 }, 1438 "node_modules/glob-parent": { 1439 "version": "5.1.2", 1440 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1441 "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1442 "dev": true, 1443 "dependencies": { 1444 "is-glob": "^4.0.1" 1445 }, ··· 1448 } 1449 }, 1450 "node_modules/globals": { 1451 - "version": "13.13.0", 1452 - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", 1453 - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", 1454 "dev": true, 1455 - "dependencies": { 1456 - "type-fest": "^0.20.2" 1457 - }, 1458 "engines": { 1459 - "node": ">=8" 1460 }, 1461 "funding": { 1462 "url": "https://github.com/sponsors/sindresorhus" 1463 } 1464 }, 1465 - "node_modules/globby": { 1466 - "version": "11.1.0", 1467 - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", 1468 - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", 1469 "dev": true, 1470 - "dependencies": { 1471 - "array-union": "^2.1.0", 1472 - "dir-glob": "^3.0.1", 1473 - "fast-glob": "^3.2.9", 1474 - "ignore": "^5.2.0", 1475 - "merge2": "^1.4.1", 1476 - "slash": "^3.0.0" 1477 - }, 1478 - "engines": { 1479 - "node": ">=10" 1480 - }, 1481 - "funding": { 1482 - "url": "https://github.com/sponsors/sindresorhus" 1483 - } 1484 }, 1485 "node_modules/has-flag": { 1486 "version": "4.0.0", ··· 1492 } 1493 }, 1494 "node_modules/ignore": { 1495 - "version": "5.2.0", 1496 - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", 1497 - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", 1498 "dev": true, 1499 "engines": { 1500 "node": ">= 4" 1501 } ··· 1505 "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 1506 "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 1507 "dev": true, 1508 "dependencies": { 1509 "parent-module": "^1.0.0", 1510 "resolve-from": "^4.0.0" ··· 1525 "node": ">=0.8.19" 1526 } 1527 }, 1528 - "node_modules/inflight": { 1529 - "version": "1.0.6", 1530 - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1531 - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1532 - "dev": true, 1533 - "dependencies": { 1534 - "once": "^1.3.0", 1535 - "wrappy": "1" 1536 - } 1537 - }, 1538 - "node_modules/inherits": { 1539 - "version": "2.0.4", 1540 - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1541 - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1542 - "dev": true 1543 - }, 1544 "node_modules/is-extglob": { 1545 "version": "2.1.1", 1546 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", ··· 1567 "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1568 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1569 "dev": true, 1570 "engines": { 1571 "node": ">=0.12.0" 1572 } ··· 1574 "node_modules/isexe": { 1575 "version": "2.0.0", 1576 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1577 - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1578 - "dev": true 1579 }, 1580 "node_modules/js-yaml": { 1581 "version": "4.1.0", 1582 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 1583 "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 1584 "dev": true, 1585 "dependencies": { 1586 "argparse": "^2.0.1" 1587 }, 1588 "bin": { 1589 "js-yaml": "bin/js-yaml.js" 1590 } 1591 }, 1592 "node_modules/json-schema-traverse": { 1593 "version": "0.4.1", 1594 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1595 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1596 - "dev": true 1597 }, 1598 "node_modules/json-stable-stringify-without-jsonify": { 1599 "version": "1.0.1", ··· 1601 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 1602 "dev": true 1603 }, 1604 "node_modules/levn": { 1605 "version": "0.4.1", 1606 "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 1607 "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 1608 "dev": true, 1609 "dependencies": { 1610 "prelude-ls": "^1.2.1", 1611 "type-check": "~0.4.0" ··· 1614 "node": ">= 0.8.0" 1615 } 1616 }, 1617 - "node_modules/lodash.merge": { 1618 - "version": "4.6.2", 1619 - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 1620 - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 1621 - "dev": true 1622 - }, 1623 - "node_modules/lru-cache": { 1624 "version": "6.0.0", 1625 - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1626 - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1627 "dev": true, 1628 "dependencies": { 1629 - "yallist": "^4.0.0" 1630 }, 1631 "engines": { 1632 "node": ">=10" 1633 } 1634 }, 1635 "node_modules/merge2": { 1636 "version": "1.4.1", 1637 "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1638 "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1639 "dev": true, 1640 "engines": { 1641 "node": ">= 8" 1642 } 1643 }, 1644 "node_modules/micromatch": { 1645 - "version": "4.0.5", 1646 - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 1647 - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 1648 "dev": true, 1649 "dependencies": { 1650 - "braces": "^3.0.2", 1651 "picomatch": "^2.3.1" 1652 }, 1653 "engines": { ··· 1655 } 1656 }, 1657 "node_modules/minimatch": { 1658 - "version": "3.1.2", 1659 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1660 - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1661 "dev": true, 1662 "dependencies": { 1663 - "brace-expansion": "^1.1.7" 1664 }, 1665 "engines": { 1666 - "node": "*" 1667 } 1668 }, 1669 "node_modules/minimist": { ··· 1697 "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", 1698 "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==" 1699 }, 1700 - "node_modules/once": { 1701 - "version": "1.4.0", 1702 - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1703 - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1704 - "dev": true, 1705 - "dependencies": { 1706 - "wrappy": "1" 1707 - } 1708 - }, 1709 "node_modules/optionator": { 1710 - "version": "0.9.1", 1711 - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 1712 - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 1713 "dev": true, 1714 "dependencies": { 1715 "deep-is": "^0.1.3", 1716 "fast-levenshtein": "^2.0.6", 1717 "levn": "^0.4.1", 1718 "prelude-ls": "^1.2.1", 1719 "type-check": "^0.4.0", 1720 - "word-wrap": "^1.2.3" 1721 }, 1722 "engines": { 1723 "node": ">= 0.8.0" 1724 } 1725 }, 1726 "node_modules/parent-module": { 1727 "version": "1.0.1", 1728 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1729 "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1730 "dev": true, 1731 "dependencies": { 1732 "callsites": "^3.0.0" 1733 }, ··· 1735 "node": ">=6" 1736 } 1737 }, 1738 - "node_modules/path-is-absolute": { 1739 - "version": "1.0.1", 1740 - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1741 - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1742 "dev": true, 1743 "engines": { 1744 - "node": ">=0.10.0" 1745 } 1746 }, 1747 "node_modules/path-key": { ··· 1749 "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1750 "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1751 "dev": true, 1752 - "engines": { 1753 - "node": ">=8" 1754 - } 1755 - }, 1756 - "node_modules/path-type": { 1757 - "version": "4.0.0", 1758 - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 1759 - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 1760 - "dev": true, 1761 "engines": { 1762 "node": ">=8" 1763 } ··· 1774 "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1775 "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1776 "dev": true, 1777 "engines": { 1778 "node": ">=8.6" 1779 }, ··· 1786 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 1787 "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 1788 "dev": true, 1789 "engines": { 1790 "node": ">= 0.8.0" 1791 } ··· 1806 } 1807 }, 1808 "node_modules/punycode": { 1809 - "version": "2.1.1", 1810 - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1811 - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1812 "dev": true, 1813 "engines": { 1814 "node": ">=6" 1815 } ··· 1832 "type": "consulting", 1833 "url": "https://feross.org/support" 1834 } 1835 - ] 1836 - }, 1837 - "node_modules/regexpp": { 1838 - "version": "3.2.0", 1839 - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", 1840 - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", 1841 - "dev": true, 1842 - "engines": { 1843 - "node": ">=8" 1844 - }, 1845 - "funding": { 1846 - "url": "https://github.com/sponsors/mysticatea" 1847 - } 1848 }, 1849 "node_modules/resolve-from": { 1850 "version": "4.0.0", 1851 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1852 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1853 "dev": true, 1854 "engines": { 1855 "node": ">=4" 1856 } ··· 1860 "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1861 "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1862 "dev": true, 1863 "engines": { 1864 "iojs": ">=1.0.0", 1865 "node": ">=0.10.0" 1866 } 1867 }, 1868 - "node_modules/rimraf": { 1869 - "version": "3.0.2", 1870 - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 1871 - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 1872 - "dev": true, 1873 - "dependencies": { 1874 - "glob": "^7.1.3" 1875 - }, 1876 - "bin": { 1877 - "rimraf": "bin.js" 1878 - }, 1879 - "funding": { 1880 - "url": "https://github.com/sponsors/isaacs" 1881 - } 1882 - }, 1883 "node_modules/run-parallel": { 1884 "version": "1.2.0", 1885 "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", ··· 1899 "url": "https://feross.org/support" 1900 } 1901 ], 1902 "dependencies": { 1903 "queue-microtask": "^1.2.2" 1904 } 1905 }, 1906 "node_modules/semver": { 1907 - "version": "7.3.7", 1908 - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", 1909 - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", 1910 "dev": true, 1911 - "dependencies": { 1912 - "lru-cache": "^6.0.0" 1913 - }, 1914 "bin": { 1915 "semver": "bin/semver.js" 1916 }, ··· 1923 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1924 "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1925 "dev": true, 1926 "dependencies": { 1927 "shebang-regex": "^3.0.0" 1928 }, ··· 1935 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1936 "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1937 "dev": true, 1938 - "engines": { 1939 - "node": ">=8" 1940 - } 1941 - }, 1942 - "node_modules/slash": { 1943 - "version": "3.0.0", 1944 - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 1945 - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 1946 - "dev": true, 1947 - "engines": { 1948 - "node": ">=8" 1949 - } 1950 - }, 1951 - "node_modules/strip-ansi": { 1952 - "version": "6.0.1", 1953 - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1954 - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1955 - "dev": true, 1956 - "dependencies": { 1957 - "ansi-regex": "^5.0.1" 1958 - }, 1959 "engines": { 1960 "node": ">=8" 1961 } ··· 1965 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 1966 "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 1967 "dev": true, 1968 "engines": { 1969 "node": ">=8" 1970 }, ··· 1984 "node": ">=8" 1985 } 1986 }, 1987 - "node_modules/text-table": { 1988 - "version": "0.2.0", 1989 - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 1990 - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 1991 - "dev": true 1992 - }, 1993 "node_modules/three": { 1994 "version": "0.139.2", 1995 "resolved": "https://registry.npmjs.org/three/-/three-0.139.2.tgz", ··· 2000 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2001 "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2002 "dev": true, 2003 "dependencies": { 2004 "is-number": "^7.0.0" 2005 }, ··· 2007 "node": ">=8.0" 2008 } 2009 }, 2010 - "node_modules/tslib": { 2011 - "version": "1.14.1", 2012 - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 2013 - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", 2014 - "dev": true 2015 - }, 2016 - "node_modules/tsutils": { 2017 - "version": "3.21.0", 2018 - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", 2019 - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", 2020 "dev": true, 2021 - "dependencies": { 2022 - "tslib": "^1.8.1" 2023 - }, 2024 "engines": { 2025 - "node": ">= 6" 2026 }, 2027 "peerDependencies": { 2028 - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" 2029 } 2030 }, 2031 "node_modules/type-check": { ··· 2033 "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 2034 "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 2035 "dev": true, 2036 "dependencies": { 2037 "prelude-ls": "^1.2.1" 2038 }, ··· 2040 "node": ">= 0.8.0" 2041 } 2042 }, 2043 - "node_modules/type-fest": { 2044 - "version": "0.20.2", 2045 - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 2046 - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 2047 - "dev": true, 2048 - "engines": { 2049 - "node": ">=10" 2050 - }, 2051 - "funding": { 2052 - "url": "https://github.com/sponsors/sindresorhus" 2053 - } 2054 - }, 2055 "node_modules/typescript": { 2056 - "version": "4.6.3", 2057 - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", 2058 - "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", 2059 "dev": true, 2060 "bin": { 2061 "tsc": "bin/tsc", 2062 "tsserver": "bin/tsserver" 2063 }, 2064 "engines": { 2065 "node": ">=4.2.0" 2066 } 2067 }, 2068 "node_modules/undici-types": { ··· 2108 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 2109 "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 2110 "dev": true, 2111 "dependencies": { 2112 "punycode": "^2.1.0" 2113 } 2114 }, 2115 - "node_modules/v8-compile-cache": { 2116 - "version": "2.3.0", 2117 - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", 2118 - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", 2119 - "dev": true 2120 - }, 2121 "node_modules/which": { 2122 "version": "2.0.2", 2123 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2124 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2125 "dev": true, 2126 "dependencies": { 2127 "isexe": "^2.0.0" 2128 }, ··· 2134 } 2135 }, 2136 "node_modules/word-wrap": { 2137 - "version": "1.2.3", 2138 - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 2139 - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 2140 "dev": true, 2141 "engines": { 2142 "node": ">=0.10.0" 2143 } 2144 }, 2145 - "node_modules/wrappy": { 2146 - "version": "1.0.2", 2147 - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2148 - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2149 - "dev": true 2150 - }, 2151 - "node_modules/yallist": { 2152 - "version": "4.0.0", 2153 - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 2154 - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 2155 - "dev": true 2156 }, 2157 "node_modules/zod": { 2158 "version": "3.24.1", ··· 2341 "dev": true, 2342 "optional": true 2343 }, 2344 "@eslint/eslintrc": { 2345 - "version": "1.2.2", 2346 - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz", 2347 - "integrity": "sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==", 2348 "dev": true, 2349 "requires": { 2350 "ajv": "^6.12.4", 2351 "debug": "^4.3.2", 2352 - "espree": "^9.3.1", 2353 - "globals": "^13.9.0", 2354 "ignore": "^5.2.0", 2355 "import-fresh": "^3.2.1", 2356 "js-yaml": "^4.1.0", 2357 - "minimatch": "^3.0.4", 2358 "strip-json-comments": "^3.1.1" 2359 } 2360 }, 2361 - "@humanwhocodes/config-array": { 2362 - "version": "0.9.5", 2363 - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", 2364 - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", 2365 "dev": true, 2366 "requires": { 2367 - "@humanwhocodes/object-schema": "^1.2.1", 2368 - "debug": "^4.1.1", 2369 - "minimatch": "^3.0.4" 2370 } 2371 }, 2372 - "@humanwhocodes/object-schema": { 2373 - "version": "1.2.1", 2374 - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", 2375 - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", 2376 "dev": true 2377 }, 2378 "@nodelib/fs.scandir": { ··· 2401 "fastq": "^1.6.0" 2402 } 2403 }, 2404 "@types/json-schema": { 2405 - "version": "7.0.11", 2406 - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", 2407 - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", 2408 "dev": true 2409 }, 2410 "@types/node": { ··· 2423 "dev": true 2424 }, 2425 "@typescript-eslint/eslint-plugin": { 2426 - "version": "5.20.0", 2427 - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.20.0.tgz", 2428 - "integrity": "sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==", 2429 "dev": true, 2430 "requires": { 2431 - "@typescript-eslint/scope-manager": "5.20.0", 2432 - "@typescript-eslint/type-utils": "5.20.0", 2433 - "@typescript-eslint/utils": "5.20.0", 2434 - "debug": "^4.3.2", 2435 - "functional-red-black-tree": "^1.0.1", 2436 - "ignore": "^5.1.8", 2437 - "regexpp": "^3.2.0", 2438 - "semver": "^7.3.5", 2439 - "tsutils": "^3.21.0" 2440 } 2441 }, 2442 "@typescript-eslint/parser": { 2443 - "version": "5.20.0", 2444 - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.20.0.tgz", 2445 - "integrity": "sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==", 2446 "dev": true, 2447 "requires": { 2448 - "@typescript-eslint/scope-manager": "5.20.0", 2449 - "@typescript-eslint/types": "5.20.0", 2450 - "@typescript-eslint/typescript-estree": "5.20.0", 2451 - "debug": "^4.3.2" 2452 } 2453 }, 2454 "@typescript-eslint/scope-manager": { 2455 - "version": "5.20.0", 2456 - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz", 2457 - "integrity": "sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==", 2458 "dev": true, 2459 "requires": { 2460 - "@typescript-eslint/types": "5.20.0", 2461 - "@typescript-eslint/visitor-keys": "5.20.0" 2462 } 2463 }, 2464 "@typescript-eslint/type-utils": { 2465 - "version": "5.20.0", 2466 - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.20.0.tgz", 2467 - "integrity": "sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==", 2468 "dev": true, 2469 "requires": { 2470 - "@typescript-eslint/utils": "5.20.0", 2471 - "debug": "^4.3.2", 2472 - "tsutils": "^3.21.0" 2473 } 2474 }, 2475 "@typescript-eslint/types": { 2476 - "version": "5.20.0", 2477 - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.20.0.tgz", 2478 - "integrity": "sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==", 2479 "dev": true 2480 }, 2481 "@typescript-eslint/typescript-estree": { 2482 - "version": "5.20.0", 2483 - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz", 2484 - "integrity": "sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==", 2485 "dev": true, 2486 "requires": { 2487 - "@typescript-eslint/types": "5.20.0", 2488 - "@typescript-eslint/visitor-keys": "5.20.0", 2489 - "debug": "^4.3.2", 2490 - "globby": "^11.0.4", 2491 "is-glob": "^4.0.3", 2492 - "semver": "^7.3.5", 2493 - "tsutils": "^3.21.0" 2494 } 2495 }, 2496 "@typescript-eslint/utils": { 2497 - "version": "5.20.0", 2498 - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.20.0.tgz", 2499 - "integrity": "sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==", 2500 "dev": true, 2501 "requires": { 2502 - "@types/json-schema": "^7.0.9", 2503 - "@typescript-eslint/scope-manager": "5.20.0", 2504 - "@typescript-eslint/types": "5.20.0", 2505 - "@typescript-eslint/typescript-estree": "5.20.0", 2506 - "eslint-scope": "^5.1.1", 2507 - "eslint-utils": "^3.0.0" 2508 - }, 2509 - "dependencies": { 2510 - "eslint-scope": { 2511 - "version": "5.1.1", 2512 - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", 2513 - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", 2514 - "dev": true, 2515 - "requires": { 2516 - "esrecurse": "^4.3.0", 2517 - "estraverse": "^4.1.1" 2518 - } 2519 - }, 2520 - "estraverse": { 2521 - "version": "4.3.0", 2522 - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 2523 - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 2524 - "dev": true 2525 - } 2526 } 2527 }, 2528 "@typescript-eslint/visitor-keys": { 2529 - "version": "5.20.0", 2530 - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz", 2531 - "integrity": "sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==", 2532 "dev": true, 2533 "requires": { 2534 - "@typescript-eslint/types": "5.20.0", 2535 - "eslint-visitor-keys": "^3.0.0" 2536 } 2537 }, 2538 "acorn": { 2539 - "version": "8.7.0", 2540 - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", 2541 - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", 2542 "dev": true 2543 }, 2544 "acorn-jsx": { ··· 2560 "uri-js": "^4.2.2" 2561 } 2562 }, 2563 - "ansi-regex": { 2564 - "version": "5.0.1", 2565 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2566 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2567 - "dev": true 2568 - }, 2569 "ansi-styles": { 2570 "version": "4.3.0", 2571 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ··· 2581 "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 2582 "dev": true 2583 }, 2584 - "array-union": { 2585 - "version": "2.1.0", 2586 - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 2587 - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 2588 - "dev": true 2589 - }, 2590 "balanced-match": { 2591 "version": "1.0.2", 2592 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", ··· 2594 "dev": true 2595 }, 2596 "brace-expansion": { 2597 - "version": "1.1.11", 2598 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2599 - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2600 "dev": true, 2601 "requires": { 2602 - "balanced-match": "^1.0.0", 2603 - "concat-map": "0.0.1" 2604 } 2605 }, 2606 "braces": { 2607 - "version": "3.0.2", 2608 - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 2609 - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 2610 "dev": true, 2611 "requires": { 2612 - "fill-range": "^7.0.1" 2613 } 2614 }, 2615 "browserslist": { ··· 2664 "concat-map": { 2665 "version": "0.0.1", 2666 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 2667 - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 2668 "dev": true 2669 }, 2670 "cross-spawn": { 2671 - "version": "7.0.3", 2672 - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 2673 - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 2674 "dev": true, 2675 "requires": { 2676 "path-key": "^3.1.0", ··· 2693 "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 2694 "dev": true 2695 }, 2696 - "dir-glob": { 2697 - "version": "3.0.1", 2698 - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 2699 - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 2700 - "dev": true, 2701 - "requires": { 2702 - "path-type": "^4.0.0" 2703 - } 2704 - }, 2705 - "doctrine": { 2706 - "version": "3.0.0", 2707 - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 2708 - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 2709 - "dev": true, 2710 - "requires": { 2711 - "esutils": "^2.0.2" 2712 - } 2713 - }, 2714 "electron-to-chromium": { 2715 "version": "1.5.79", 2716 "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.79.tgz", ··· 2773 "dev": true 2774 }, 2775 "eslint": { 2776 - "version": "8.14.0", 2777 - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz", 2778 - "integrity": "sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==", 2779 "dev": true, 2780 "requires": { 2781 - "@eslint/eslintrc": "^1.2.2", 2782 - "@humanwhocodes/config-array": "^0.9.2", 2783 - "ajv": "^6.10.0", 2784 "chalk": "^4.0.0", 2785 - "cross-spawn": "^7.0.2", 2786 "debug": "^4.3.2", 2787 - "doctrine": "^3.0.0", 2788 "escape-string-regexp": "^4.0.0", 2789 - "eslint-scope": "^7.1.1", 2790 - "eslint-utils": "^3.0.0", 2791 - "eslint-visitor-keys": "^3.3.0", 2792 - "espree": "^9.3.1", 2793 - "esquery": "^1.4.0", 2794 "esutils": "^2.0.2", 2795 "fast-deep-equal": "^3.1.3", 2796 - "file-entry-cache": "^6.0.1", 2797 - "functional-red-black-tree": "^1.0.1", 2798 - "glob-parent": "^6.0.1", 2799 - "globals": "^13.6.0", 2800 "ignore": "^5.2.0", 2801 - "import-fresh": "^3.0.0", 2802 "imurmurhash": "^0.1.4", 2803 "is-glob": "^4.0.0", 2804 - "js-yaml": "^4.1.0", 2805 "json-stable-stringify-without-jsonify": "^1.0.1", 2806 - "levn": "^0.4.1", 2807 "lodash.merge": "^4.6.2", 2808 - "minimatch": "^3.0.4", 2809 "natural-compare": "^1.4.0", 2810 - "optionator": "^0.9.1", 2811 - "regexpp": "^3.2.0", 2812 - "strip-ansi": "^6.0.1", 2813 - "strip-json-comments": "^3.1.0", 2814 - "text-table": "^0.2.0", 2815 - "v8-compile-cache": "^2.0.3" 2816 }, 2817 "dependencies": { 2818 "glob-parent": { 2819 "version": "6.0.2", 2820 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", ··· 2822 "dev": true, 2823 "requires": { 2824 "is-glob": "^4.0.3" 2825 } 2826 } 2827 } 2828 }, 2829 "eslint-config-prettier": { 2830 - "version": "8.5.0", 2831 - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", 2832 - "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", 2833 "dev": true, 2834 "requires": {} 2835 }, 2836 "eslint-scope": { 2837 - "version": "7.1.1", 2838 - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", 2839 - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", 2840 "dev": true, 2841 "requires": { 2842 "esrecurse": "^4.3.0", 2843 "estraverse": "^5.2.0" 2844 } 2845 }, 2846 - "eslint-utils": { 2847 - "version": "3.0.0", 2848 - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", 2849 - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", 2850 "dev": true, 2851 "requires": { 2852 - "eslint-visitor-keys": "^2.0.0" 2853 }, 2854 "dependencies": { 2855 "eslint-visitor-keys": { 2856 - "version": "2.1.0", 2857 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", 2858 - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", 2859 "dev": true 2860 } 2861 } 2862 }, 2863 - "eslint-visitor-keys": { 2864 - "version": "3.3.0", 2865 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", 2866 - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", 2867 - "dev": true 2868 - }, 2869 - "espree": { 2870 - "version": "9.3.1", 2871 - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", 2872 - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", 2873 - "dev": true, 2874 - "requires": { 2875 - "acorn": "^8.7.0", 2876 - "acorn-jsx": "^5.3.1", 2877 - "eslint-visitor-keys": "^3.3.0" 2878 - } 2879 - }, 2880 "esquery": { 2881 - "version": "1.4.0", 2882 - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 2883 - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 2884 "dev": true, 2885 "requires": { 2886 "estraverse": "^5.1.0" ··· 2914 "dev": true 2915 }, 2916 "fast-glob": { 2917 - "version": "3.2.11", 2918 - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 2919 - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 2920 "dev": true, 2921 "requires": { 2922 "@nodelib/fs.stat": "^2.0.2", 2923 "@nodelib/fs.walk": "^1.2.3", 2924 "glob-parent": "^5.1.2", 2925 "merge2": "^1.3.0", 2926 - "micromatch": "^4.0.4" 2927 } 2928 }, 2929 "fast-json-stable-stringify": { ··· 2935 "fast-levenshtein": { 2936 "version": "2.0.6", 2937 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 2938 - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 2939 "dev": true 2940 }, 2941 "fastq": { 2942 - "version": "1.13.0", 2943 - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 2944 - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 2945 "dev": true, 2946 "requires": { 2947 "reusify": "^1.0.4" 2948 } 2949 }, 2950 "file-entry-cache": { 2951 - "version": "6.0.1", 2952 - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 2953 - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 2954 "dev": true, 2955 "requires": { 2956 - "flat-cache": "^3.0.4" 2957 } 2958 }, 2959 "fill-range": { 2960 - "version": "7.0.1", 2961 - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 2962 - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 2963 "dev": true, 2964 "requires": { 2965 "to-regex-range": "^5.0.1" 2966 } 2967 }, 2968 - "flat-cache": { 2969 - "version": "3.0.4", 2970 - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 2971 - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 2972 "dev": true, 2973 "requires": { 2974 - "flatted": "^3.1.0", 2975 - "rimraf": "^3.0.2" 2976 } 2977 }, 2978 - "flatted": { 2979 - "version": "3.2.5", 2980 - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", 2981 - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", 2982 - "dev": true 2983 - }, 2984 - "fs.realpath": { 2985 - "version": "1.0.0", 2986 - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2987 - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 2988 - "dev": true 2989 - }, 2990 - "functional-red-black-tree": { 2991 - "version": "1.0.1", 2992 - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 2993 - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 2994 - "dev": true 2995 - }, 2996 - "glob": { 2997 - "version": "7.2.0", 2998 - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 2999 - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 3000 "dev": true, 3001 "requires": { 3002 - "fs.realpath": "^1.0.0", 3003 - "inflight": "^1.0.4", 3004 - "inherits": "2", 3005 - "minimatch": "^3.0.4", 3006 - "once": "^1.3.0", 3007 - "path-is-absolute": "^1.0.0" 3008 } 3009 }, 3010 "glob-parent": { 3011 "version": "5.1.2", ··· 3017 } 3018 }, 3019 "globals": { 3020 - "version": "13.13.0", 3021 - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", 3022 - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", 3023 - "dev": true, 3024 - "requires": { 3025 - "type-fest": "^0.20.2" 3026 - } 3027 }, 3028 - "globby": { 3029 - "version": "11.1.0", 3030 - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", 3031 - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", 3032 - "dev": true, 3033 - "requires": { 3034 - "array-union": "^2.1.0", 3035 - "dir-glob": "^3.0.1", 3036 - "fast-glob": "^3.2.9", 3037 - "ignore": "^5.2.0", 3038 - "merge2": "^1.4.1", 3039 - "slash": "^3.0.0" 3040 - } 3041 }, 3042 "has-flag": { 3043 "version": "4.0.0", ··· 3046 "dev": true 3047 }, 3048 "ignore": { 3049 - "version": "5.2.0", 3050 - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", 3051 - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", 3052 "dev": true 3053 }, 3054 "import-fresh": { ··· 3067 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 3068 "dev": true 3069 }, 3070 - "inflight": { 3071 - "version": "1.0.6", 3072 - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 3073 - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 3074 - "dev": true, 3075 - "requires": { 3076 - "once": "^1.3.0", 3077 - "wrappy": "1" 3078 - } 3079 - }, 3080 - "inherits": { 3081 - "version": "2.0.4", 3082 - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 3083 - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 3084 - "dev": true 3085 - }, 3086 "is-extglob": { 3087 "version": "2.1.1", 3088 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", ··· 3107 "isexe": { 3108 "version": "2.0.0", 3109 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 3110 - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 3111 "dev": true 3112 }, 3113 "js-yaml": { ··· 3119 "argparse": "^2.0.1" 3120 } 3121 }, 3122 "json-schema-traverse": { 3123 "version": "0.4.1", 3124 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", ··· 3131 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 3132 "dev": true 3133 }, 3134 "levn": { 3135 "version": "0.4.1", 3136 "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", ··· 3141 "type-check": "~0.4.0" 3142 } 3143 }, 3144 "lodash.merge": { 3145 "version": "4.6.2", 3146 "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 3147 "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 3148 "dev": true 3149 }, 3150 - "lru-cache": { 3151 - "version": "6.0.0", 3152 - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 3153 - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 3154 - "dev": true, 3155 - "requires": { 3156 - "yallist": "^4.0.0" 3157 - } 3158 - }, 3159 "merge2": { 3160 "version": "1.4.1", 3161 "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", ··· 3163 "dev": true 3164 }, 3165 "micromatch": { 3166 - "version": "4.0.5", 3167 - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 3168 - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 3169 "dev": true, 3170 "requires": { 3171 - "braces": "^3.0.2", 3172 "picomatch": "^2.3.1" 3173 } 3174 }, 3175 "minimatch": { 3176 - "version": "3.1.2", 3177 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3178 - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3179 "dev": true, 3180 "requires": { 3181 - "brace-expansion": "^1.1.7" 3182 } 3183 }, 3184 "minimist": { ··· 3210 "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", 3211 "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==" 3212 }, 3213 - "once": { 3214 - "version": "1.4.0", 3215 - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 3216 - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 3217 - "dev": true, 3218 - "requires": { 3219 - "wrappy": "1" 3220 - } 3221 - }, 3222 "optionator": { 3223 - "version": "0.9.1", 3224 - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 3225 - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 3226 "dev": true, 3227 "requires": { 3228 "deep-is": "^0.1.3", ··· 3230 "levn": "^0.4.1", 3231 "prelude-ls": "^1.2.1", 3232 "type-check": "^0.4.0", 3233 - "word-wrap": "^1.2.3" 3234 } 3235 }, 3236 "parent-module": { ··· 3242 "callsites": "^3.0.0" 3243 } 3244 }, 3245 - "path-is-absolute": { 3246 - "version": "1.0.1", 3247 - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3248 - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 3249 "dev": true 3250 }, 3251 "path-key": { 3252 "version": "3.1.1", 3253 "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 3254 "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 3255 - "dev": true 3256 - }, 3257 - "path-type": { 3258 - "version": "4.0.0", 3259 - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 3260 - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 3261 "dev": true 3262 }, 3263 "picocolors": { ··· 3285 "dev": true 3286 }, 3287 "punycode": { 3288 - "version": "2.1.1", 3289 - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 3290 - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 3291 "dev": true 3292 }, 3293 "queue-microtask": { ··· 3296 "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 3297 "dev": true 3298 }, 3299 - "regexpp": { 3300 - "version": "3.2.0", 3301 - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", 3302 - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", 3303 - "dev": true 3304 - }, 3305 "resolve-from": { 3306 "version": "4.0.0", 3307 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", ··· 3313 "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 3314 "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 3315 "dev": true 3316 - }, 3317 - "rimraf": { 3318 - "version": "3.0.2", 3319 - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 3320 - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 3321 - "dev": true, 3322 - "requires": { 3323 - "glob": "^7.1.3" 3324 - } 3325 }, 3326 "run-parallel": { 3327 "version": "1.2.0", ··· 3333 } 3334 }, 3335 "semver": { 3336 - "version": "7.3.7", 3337 - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", 3338 - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", 3339 - "dev": true, 3340 - "requires": { 3341 - "lru-cache": "^6.0.0" 3342 - } 3343 }, 3344 "shebang-command": { 3345 "version": "2.0.0", ··· 3356 "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 3357 "dev": true 3358 }, 3359 - "slash": { 3360 - "version": "3.0.0", 3361 - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 3362 - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 3363 - "dev": true 3364 - }, 3365 - "strip-ansi": { 3366 - "version": "6.0.1", 3367 - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 3368 - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 3369 - "dev": true, 3370 - "requires": { 3371 - "ansi-regex": "^5.0.1" 3372 - } 3373 - }, 3374 "strip-json-comments": { 3375 "version": "3.1.1", 3376 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", ··· 3386 "has-flag": "^4.0.0" 3387 } 3388 }, 3389 - "text-table": { 3390 - "version": "0.2.0", 3391 - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 3392 - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 3393 - "dev": true 3394 - }, 3395 "three": { 3396 "version": "0.139.2", 3397 "resolved": "https://registry.npmjs.org/three/-/three-0.139.2.tgz", ··· 3406 "is-number": "^7.0.0" 3407 } 3408 }, 3409 - "tslib": { 3410 - "version": "1.14.1", 3411 - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 3412 - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", 3413 - "dev": true 3414 - }, 3415 - "tsutils": { 3416 - "version": "3.21.0", 3417 - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", 3418 - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", 3419 "dev": true, 3420 - "requires": { 3421 - "tslib": "^1.8.1" 3422 - } 3423 }, 3424 "type-check": { 3425 "version": "0.4.0", ··· 3430 "prelude-ls": "^1.2.1" 3431 } 3432 }, 3433 - "type-fest": { 3434 - "version": "0.20.2", 3435 - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 3436 - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 3437 - "dev": true 3438 - }, 3439 "typescript": { 3440 - "version": "4.6.3", 3441 - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", 3442 - "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", 3443 "dev": true 3444 }, 3445 "undici-types": { 3446 "version": "6.20.0", 3447 "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", ··· 3467 "punycode": "^2.1.0" 3468 } 3469 }, 3470 - "v8-compile-cache": { 3471 - "version": "2.3.0", 3472 - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", 3473 - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", 3474 - "dev": true 3475 - }, 3476 "which": { 3477 "version": "2.0.2", 3478 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", ··· 3483 } 3484 }, 3485 "word-wrap": { 3486 - "version": "1.2.3", 3487 - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 3488 - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 3489 - "dev": true 3490 - }, 3491 - "wrappy": { 3492 - "version": "1.0.2", 3493 - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3494 - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 3495 "dev": true 3496 }, 3497 - "yallist": { 3498 - "version": "4.0.0", 3499 - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 3500 - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 3501 "dev": true 3502 }, 3503 "zod": {
··· 13 "three": "^0.139.2" 14 }, 15 "devDependencies": { 16 + "@eslint/js": "^9.17.0", 17 "@types/node": "^22.10.5", 18 "@types/three": "^0.139.0", 19 "browserslist": "^4.20.3", 20 "esbuild": "^0.24.2", 21 "esbuild-plugin-browserslist": "^0.15.0", 22 + "eslint": "^9.17.0", 23 + "eslint-config-prettier": "^9.1.0", 24 + "globals": "^15.14.0", 25 "minimist": "^1.2.6", 26 "prettier": "^2.6.2", 27 + "typescript": "^4.6.3", 28 + "typescript-eslint": "^8.19.1" 29 } 30 }, 31 "../esbuild-plugin-postcss": { ··· 477 "node": ">=18" 478 } 479 }, 480 + "node_modules/@eslint-community/eslint-utils": { 481 + "version": "4.4.1", 482 + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", 483 + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", 484 + "dev": true, 485 + "license": "MIT", 486 + "dependencies": { 487 + "eslint-visitor-keys": "^3.4.3" 488 + }, 489 + "engines": { 490 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 491 + }, 492 + "funding": { 493 + "url": "https://opencollective.com/eslint" 494 + }, 495 + "peerDependencies": { 496 + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" 497 + } 498 + }, 499 + "node_modules/@eslint-community/regexpp": { 500 + "version": "4.12.1", 501 + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", 502 + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", 503 + "dev": true, 504 + "license": "MIT", 505 + "engines": { 506 + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 507 + } 508 + }, 509 + "node_modules/@eslint/config-array": { 510 + "version": "0.19.1", 511 + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", 512 + "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", 513 + "dev": true, 514 + "license": "Apache-2.0", 515 + "dependencies": { 516 + "@eslint/object-schema": "^2.1.5", 517 + "debug": "^4.3.1", 518 + "minimatch": "^3.1.2" 519 + }, 520 + "engines": { 521 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 522 + } 523 + }, 524 + "node_modules/@eslint/config-array/node_modules/brace-expansion": { 525 + "version": "1.1.11", 526 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 527 + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 528 + "dev": true, 529 + "license": "MIT", 530 + "dependencies": { 531 + "balanced-match": "^1.0.0", 532 + "concat-map": "0.0.1" 533 + } 534 + }, 535 + "node_modules/@eslint/config-array/node_modules/minimatch": { 536 + "version": "3.1.2", 537 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 538 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 539 + "dev": true, 540 + "license": "ISC", 541 + "dependencies": { 542 + "brace-expansion": "^1.1.7" 543 + }, 544 + "engines": { 545 + "node": "*" 546 + } 547 + }, 548 + "node_modules/@eslint/core": { 549 + "version": "0.9.1", 550 + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.1.tgz", 551 + "integrity": "sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==", 552 + "dev": true, 553 + "license": "Apache-2.0", 554 + "dependencies": { 555 + "@types/json-schema": "^7.0.15" 556 + }, 557 + "engines": { 558 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 559 + } 560 + }, 561 "node_modules/@eslint/eslintrc": { 562 + "version": "3.2.0", 563 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", 564 + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", 565 "dev": true, 566 + "license": "MIT", 567 "dependencies": { 568 "ajv": "^6.12.4", 569 "debug": "^4.3.2", 570 + "espree": "^10.0.1", 571 + "globals": "^14.0.0", 572 "ignore": "^5.2.0", 573 "import-fresh": "^3.2.1", 574 "js-yaml": "^4.1.0", 575 + "minimatch": "^3.1.2", 576 "strip-json-comments": "^3.1.1" 577 }, 578 "engines": { 579 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 580 + }, 581 + "funding": { 582 + "url": "https://opencollective.com/eslint" 583 } 584 }, 585 + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { 586 + "version": "1.1.11", 587 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 588 + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 589 "dev": true, 590 + "license": "MIT", 591 "dependencies": { 592 + "balanced-match": "^1.0.0", 593 + "concat-map": "0.0.1" 594 + } 595 + }, 596 + "node_modules/@eslint/eslintrc/node_modules/globals": { 597 + "version": "14.0.0", 598 + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", 599 + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", 600 + "dev": true, 601 + "license": "MIT", 602 + "engines": { 603 + "node": ">=18" 604 + }, 605 + "funding": { 606 + "url": "https://github.com/sponsors/sindresorhus" 607 + } 608 + }, 609 + "node_modules/@eslint/eslintrc/node_modules/minimatch": { 610 + "version": "3.1.2", 611 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 612 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 613 + "dev": true, 614 + "license": "ISC", 615 + "dependencies": { 616 + "brace-expansion": "^1.1.7" 617 }, 618 "engines": { 619 + "node": "*" 620 + } 621 + }, 622 + "node_modules/@eslint/js": { 623 + "version": "9.17.0", 624 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz", 625 + "integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==", 626 + "dev": true, 627 + "license": "MIT", 628 + "engines": { 629 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 630 + } 631 + }, 632 + "node_modules/@eslint/object-schema": { 633 + "version": "2.1.5", 634 + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", 635 + "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", 636 + "dev": true, 637 + "license": "Apache-2.0", 638 + "engines": { 639 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 640 + } 641 + }, 642 + "node_modules/@eslint/plugin-kit": { 643 + "version": "0.2.4", 644 + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz", 645 + "integrity": "sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==", 646 + "dev": true, 647 + "license": "Apache-2.0", 648 + "dependencies": { 649 + "levn": "^0.4.1" 650 + }, 651 + "engines": { 652 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 653 + } 654 + }, 655 + "node_modules/@humanfs/core": { 656 + "version": "0.19.1", 657 + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", 658 + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", 659 + "dev": true, 660 + "license": "Apache-2.0", 661 + "engines": { 662 + "node": ">=18.18.0" 663 + } 664 + }, 665 + "node_modules/@humanfs/node": { 666 + "version": "0.16.6", 667 + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", 668 + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", 669 + "dev": true, 670 + "license": "Apache-2.0", 671 + "dependencies": { 672 + "@humanfs/core": "^0.19.1", 673 + "@humanwhocodes/retry": "^0.3.0" 674 + }, 675 + "engines": { 676 + "node": ">=18.18.0" 677 + } 678 + }, 679 + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { 680 + "version": "0.3.1", 681 + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", 682 + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", 683 + "dev": true, 684 + "license": "Apache-2.0", 685 + "engines": { 686 + "node": ">=18.18" 687 + }, 688 + "funding": { 689 + "type": "github", 690 + "url": "https://github.com/sponsors/nzakas" 691 + } 692 + }, 693 + "node_modules/@humanwhocodes/module-importer": { 694 + "version": "1.0.1", 695 + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 696 + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 697 + "dev": true, 698 + "license": "Apache-2.0", 699 + "engines": { 700 + "node": ">=12.22" 701 + }, 702 + "funding": { 703 + "type": "github", 704 + "url": "https://github.com/sponsors/nzakas" 705 } 706 }, 707 + "node_modules/@humanwhocodes/retry": { 708 + "version": "0.4.1", 709 + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", 710 + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", 711 + "dev": true, 712 + "license": "Apache-2.0", 713 + "engines": { 714 + "node": ">=18.18" 715 + }, 716 + "funding": { 717 + "type": "github", 718 + "url": "https://github.com/sponsors/nzakas" 719 + } 720 }, 721 "node_modules/@nodelib/fs.scandir": { 722 "version": "2.1.5", 723 "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 724 "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 725 "dev": true, 726 + "license": "MIT", 727 "dependencies": { 728 "@nodelib/fs.stat": "2.0.5", 729 "run-parallel": "^1.1.9" ··· 737 "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 738 "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 739 "dev": true, 740 + "license": "MIT", 741 "engines": { 742 "node": ">= 8" 743 } ··· 747 "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 748 "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 749 "dev": true, 750 + "license": "MIT", 751 "dependencies": { 752 "@nodelib/fs.scandir": "2.1.5", 753 "fastq": "^1.6.0" ··· 756 "node": ">= 8" 757 } 758 }, 759 + "node_modules/@types/estree": { 760 + "version": "1.0.6", 761 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", 762 + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", 763 + "dev": true, 764 + "license": "MIT" 765 + }, 766 "node_modules/@types/json-schema": { 767 + "version": "7.0.15", 768 + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 769 + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 770 + "dev": true, 771 + "license": "MIT" 772 }, 773 "node_modules/@types/node": { 774 "version": "22.10.5", ··· 787 "dev": true 788 }, 789 "node_modules/@typescript-eslint/eslint-plugin": { 790 + "version": "8.19.1", 791 + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz", 792 + "integrity": "sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==", 793 "dev": true, 794 + "license": "MIT", 795 "dependencies": { 796 + "@eslint-community/regexpp": "^4.10.0", 797 + "@typescript-eslint/scope-manager": "8.19.1", 798 + "@typescript-eslint/type-utils": "8.19.1", 799 + "@typescript-eslint/utils": "8.19.1", 800 + "@typescript-eslint/visitor-keys": "8.19.1", 801 + "graphemer": "^1.4.0", 802 + "ignore": "^5.3.1", 803 + "natural-compare": "^1.4.0", 804 + "ts-api-utils": "^2.0.0" 805 }, 806 "engines": { 807 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 808 }, 809 "funding": { 810 "type": "opencollective", 811 "url": "https://opencollective.com/typescript-eslint" 812 }, 813 "peerDependencies": { 814 + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", 815 + "eslint": "^8.57.0 || ^9.0.0", 816 + "typescript": ">=4.8.4 <5.8.0" 817 } 818 }, 819 "node_modules/@typescript-eslint/parser": { 820 + "version": "8.19.1", 821 + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.1.tgz", 822 + "integrity": "sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==", 823 "dev": true, 824 + "license": "MIT", 825 "dependencies": { 826 + "@typescript-eslint/scope-manager": "8.19.1", 827 + "@typescript-eslint/types": "8.19.1", 828 + "@typescript-eslint/typescript-estree": "8.19.1", 829 + "@typescript-eslint/visitor-keys": "8.19.1", 830 + "debug": "^4.3.4" 831 }, 832 "engines": { 833 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 834 }, 835 "funding": { 836 "type": "opencollective", 837 "url": "https://opencollective.com/typescript-eslint" 838 }, 839 "peerDependencies": { 840 + "eslint": "^8.57.0 || ^9.0.0", 841 + "typescript": ">=4.8.4 <5.8.0" 842 } 843 }, 844 "node_modules/@typescript-eslint/scope-manager": { 845 + "version": "8.19.1", 846 + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.1.tgz", 847 + "integrity": "sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==", 848 "dev": true, 849 + "license": "MIT", 850 "dependencies": { 851 + "@typescript-eslint/types": "8.19.1", 852 + "@typescript-eslint/visitor-keys": "8.19.1" 853 }, 854 "engines": { 855 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 856 }, 857 "funding": { 858 "type": "opencollective", ··· 860 } 861 }, 862 "node_modules/@typescript-eslint/type-utils": { 863 + "version": "8.19.1", 864 + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.1.tgz", 865 + "integrity": "sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==", 866 "dev": true, 867 + "license": "MIT", 868 "dependencies": { 869 + "@typescript-eslint/typescript-estree": "8.19.1", 870 + "@typescript-eslint/utils": "8.19.1", 871 + "debug": "^4.3.4", 872 + "ts-api-utils": "^2.0.0" 873 }, 874 "engines": { 875 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 876 }, 877 "funding": { 878 "type": "opencollective", 879 "url": "https://opencollective.com/typescript-eslint" 880 }, 881 "peerDependencies": { 882 + "eslint": "^8.57.0 || ^9.0.0", 883 + "typescript": ">=4.8.4 <5.8.0" 884 } 885 }, 886 "node_modules/@typescript-eslint/types": { 887 + "version": "8.19.1", 888 + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.1.tgz", 889 + "integrity": "sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==", 890 "dev": true, 891 + "license": "MIT", 892 "engines": { 893 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 894 }, 895 "funding": { 896 "type": "opencollective", ··· 898 } 899 }, 900 "node_modules/@typescript-eslint/typescript-estree": { 901 + "version": "8.19.1", 902 + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.1.tgz", 903 + "integrity": "sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==", 904 "dev": true, 905 + "license": "MIT", 906 "dependencies": { 907 + "@typescript-eslint/types": "8.19.1", 908 + "@typescript-eslint/visitor-keys": "8.19.1", 909 + "debug": "^4.3.4", 910 + "fast-glob": "^3.3.2", 911 "is-glob": "^4.0.3", 912 + "minimatch": "^9.0.4", 913 + "semver": "^7.6.0", 914 + "ts-api-utils": "^2.0.0" 915 }, 916 "engines": { 917 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 918 }, 919 "funding": { 920 "type": "opencollective", 921 "url": "https://opencollective.com/typescript-eslint" 922 }, 923 + "peerDependencies": { 924 + "typescript": ">=4.8.4 <5.8.0" 925 } 926 }, 927 "node_modules/@typescript-eslint/utils": { 928 + "version": "8.19.1", 929 + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.1.tgz", 930 + "integrity": "sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==", 931 "dev": true, 932 + "license": "MIT", 933 "dependencies": { 934 + "@eslint-community/eslint-utils": "^4.4.0", 935 + "@typescript-eslint/scope-manager": "8.19.1", 936 + "@typescript-eslint/types": "8.19.1", 937 + "@typescript-eslint/typescript-estree": "8.19.1" 938 }, 939 "engines": { 940 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 941 }, 942 "funding": { 943 "type": "opencollective", 944 "url": "https://opencollective.com/typescript-eslint" 945 }, 946 "peerDependencies": { 947 + "eslint": "^8.57.0 || ^9.0.0", 948 + "typescript": ">=4.8.4 <5.8.0" 949 } 950 }, 951 + "node_modules/@typescript-eslint/visitor-keys": { 952 + "version": "8.19.1", 953 + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.1.tgz", 954 + "integrity": "sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==", 955 "dev": true, 956 + "license": "MIT", 957 "dependencies": { 958 + "@typescript-eslint/types": "8.19.1", 959 + "eslint-visitor-keys": "^4.2.0" 960 }, 961 "engines": { 962 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 963 + }, 964 + "funding": { 965 + "type": "opencollective", 966 + "url": "https://opencollective.com/typescript-eslint" 967 } 968 }, 969 + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { 970 + "version": "4.2.0", 971 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 972 + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 973 "dev": true, 974 + "license": "Apache-2.0", 975 "engines": { 976 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 977 }, 978 "funding": { 979 + "url": "https://opencollective.com/eslint" 980 } 981 }, 982 "node_modules/acorn": { 983 + "version": "8.14.0", 984 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", 985 + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", 986 "dev": true, 987 + "license": "MIT", 988 "bin": { 989 "acorn": "bin/acorn" 990 }, ··· 997 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 998 "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 999 "dev": true, 1000 + "license": "MIT", 1001 "peerDependencies": { 1002 "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 1003 } ··· 1007 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 1008 "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 1009 "dev": true, 1010 + "license": "MIT", 1011 "dependencies": { 1012 "fast-deep-equal": "^3.1.1", 1013 "fast-json-stable-stringify": "^2.0.0", ··· 1019 "url": "https://github.com/sponsors/epoberezkin" 1020 } 1021 }, 1022 "node_modules/ansi-styles": { 1023 "version": "4.3.0", 1024 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ··· 1038 "version": "2.0.1", 1039 "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 1040 "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 1041 "dev": true, 1042 + "license": "Python-2.0" 1043 }, 1044 "node_modules/balanced-match": { 1045 "version": "1.0.2", 1046 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1047 "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1048 + "dev": true, 1049 + "license": "MIT" 1050 }, 1051 "node_modules/brace-expansion": { 1052 + "version": "2.0.1", 1053 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 1054 + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 1055 "dev": true, 1056 + "license": "MIT", 1057 "dependencies": { 1058 + "balanced-match": "^1.0.0" 1059 } 1060 }, 1061 "node_modules/braces": { 1062 + "version": "3.0.3", 1063 + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 1064 + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 1065 "dev": true, 1066 + "license": "MIT", 1067 "dependencies": { 1068 + "fill-range": "^7.1.1" 1069 }, 1070 "engines": { 1071 "node": ">=8" ··· 1109 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 1110 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 1111 "dev": true, 1112 + "license": "MIT", 1113 "engines": { 1114 "node": ">=6" 1115 } ··· 1172 "node_modules/concat-map": { 1173 "version": "0.0.1", 1174 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1175 + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1176 + "dev": true, 1177 + "license": "MIT" 1178 }, 1179 "node_modules/cross-spawn": { 1180 + "version": "7.0.6", 1181 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 1182 + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 1183 "dev": true, 1184 + "license": "MIT", 1185 "dependencies": { 1186 "path-key": "^3.1.0", 1187 "shebang-command": "^2.0.0", ··· 1213 "version": "0.1.4", 1214 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 1215 "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 1216 "dev": true, 1217 + "license": "MIT" 1218 }, 1219 "node_modules/electron-to-chromium": { 1220 "version": "1.5.79", ··· 1305 } 1306 }, 1307 "node_modules/eslint": { 1308 + "version": "9.17.0", 1309 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz", 1310 + "integrity": "sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==", 1311 "dev": true, 1312 + "license": "MIT", 1313 "dependencies": { 1314 + "@eslint-community/eslint-utils": "^4.2.0", 1315 + "@eslint-community/regexpp": "^4.12.1", 1316 + "@eslint/config-array": "^0.19.0", 1317 + "@eslint/core": "^0.9.0", 1318 + "@eslint/eslintrc": "^3.2.0", 1319 + "@eslint/js": "9.17.0", 1320 + "@eslint/plugin-kit": "^0.2.3", 1321 + "@humanfs/node": "^0.16.6", 1322 + "@humanwhocodes/module-importer": "^1.0.1", 1323 + "@humanwhocodes/retry": "^0.4.1", 1324 + "@types/estree": "^1.0.6", 1325 + "@types/json-schema": "^7.0.15", 1326 + "ajv": "^6.12.4", 1327 "chalk": "^4.0.0", 1328 + "cross-spawn": "^7.0.6", 1329 "debug": "^4.3.2", 1330 "escape-string-regexp": "^4.0.0", 1331 + "eslint-scope": "^8.2.0", 1332 + "eslint-visitor-keys": "^4.2.0", 1333 + "espree": "^10.3.0", 1334 + "esquery": "^1.5.0", 1335 "esutils": "^2.0.2", 1336 "fast-deep-equal": "^3.1.3", 1337 + "file-entry-cache": "^8.0.0", 1338 + "find-up": "^5.0.0", 1339 + "glob-parent": "^6.0.2", 1340 "ignore": "^5.2.0", 1341 "imurmurhash": "^0.1.4", 1342 "is-glob": "^4.0.0", 1343 "json-stable-stringify-without-jsonify": "^1.0.1", 1344 "lodash.merge": "^4.6.2", 1345 + "minimatch": "^3.1.2", 1346 "natural-compare": "^1.4.0", 1347 + "optionator": "^0.9.3" 1348 }, 1349 "bin": { 1350 "eslint": "bin/eslint.js" 1351 }, 1352 "engines": { 1353 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1354 }, 1355 "funding": { 1356 + "url": "https://eslint.org/donate" 1357 + }, 1358 + "peerDependencies": { 1359 + "jiti": "*" 1360 + }, 1361 + "peerDependenciesMeta": { 1362 + "jiti": { 1363 + "optional": true 1364 + } 1365 } 1366 }, 1367 "node_modules/eslint-config-prettier": { 1368 + "version": "9.1.0", 1369 + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", 1370 + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", 1371 "dev": true, 1372 + "license": "MIT", 1373 "bin": { 1374 "eslint-config-prettier": "bin/cli.js" 1375 }, ··· 1378 } 1379 }, 1380 "node_modules/eslint-scope": { 1381 + "version": "8.2.0", 1382 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", 1383 + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", 1384 "dev": true, 1385 + "license": "BSD-2-Clause", 1386 "dependencies": { 1387 "esrecurse": "^4.3.0", 1388 "estraverse": "^5.2.0" 1389 }, 1390 "engines": { 1391 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1392 + }, 1393 + "funding": { 1394 + "url": "https://opencollective.com/eslint" 1395 } 1396 }, 1397 + "node_modules/eslint-visitor-keys": { 1398 + "version": "3.4.3", 1399 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 1400 + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 1401 "dev": true, 1402 + "license": "Apache-2.0", 1403 "engines": { 1404 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1405 }, 1406 "funding": { 1407 + "url": "https://opencollective.com/eslint" 1408 } 1409 }, 1410 + "node_modules/eslint/node_modules/brace-expansion": { 1411 + "version": "1.1.11", 1412 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1413 + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1414 "dev": true, 1415 + "license": "MIT", 1416 + "dependencies": { 1417 + "balanced-match": "^1.0.0", 1418 + "concat-map": "0.0.1" 1419 } 1420 }, 1421 + "node_modules/eslint/node_modules/eslint-visitor-keys": { 1422 + "version": "4.2.0", 1423 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 1424 + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 1425 "dev": true, 1426 + "license": "Apache-2.0", 1427 "engines": { 1428 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1429 + }, 1430 + "funding": { 1431 + "url": "https://opencollective.com/eslint" 1432 } 1433 }, 1434 "node_modules/eslint/node_modules/glob-parent": { ··· 1443 "node": ">=10.13.0" 1444 } 1445 }, 1446 + "node_modules/eslint/node_modules/minimatch": { 1447 + "version": "3.1.2", 1448 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1449 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1450 + "dev": true, 1451 + "license": "ISC", 1452 + "dependencies": { 1453 + "brace-expansion": "^1.1.7" 1454 + }, 1455 + "engines": { 1456 + "node": "*" 1457 + } 1458 + }, 1459 "node_modules/espree": { 1460 + "version": "10.3.0", 1461 + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", 1462 + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", 1463 "dev": true, 1464 + "license": "BSD-2-Clause", 1465 "dependencies": { 1466 + "acorn": "^8.14.0", 1467 + "acorn-jsx": "^5.3.2", 1468 + "eslint-visitor-keys": "^4.2.0" 1469 }, 1470 "engines": { 1471 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1472 + }, 1473 + "funding": { 1474 + "url": "https://opencollective.com/eslint" 1475 + } 1476 + }, 1477 + "node_modules/espree/node_modules/eslint-visitor-keys": { 1478 + "version": "4.2.0", 1479 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 1480 + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 1481 + "dev": true, 1482 + "license": "Apache-2.0", 1483 + "engines": { 1484 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1485 + }, 1486 + "funding": { 1487 + "url": "https://opencollective.com/eslint" 1488 } 1489 }, 1490 "node_modules/esquery": { 1491 + "version": "1.6.0", 1492 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", 1493 + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", 1494 "dev": true, 1495 + "license": "BSD-3-Clause", 1496 "dependencies": { 1497 "estraverse": "^5.1.0" 1498 }, ··· 1505 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 1506 "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 1507 "dev": true, 1508 + "license": "BSD-2-Clause", 1509 "dependencies": { 1510 "estraverse": "^5.2.0" 1511 }, ··· 1518 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1519 "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 1520 "dev": true, 1521 + "license": "BSD-2-Clause", 1522 "engines": { 1523 "node": ">=4.0" 1524 } ··· 1528 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 1529 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 1530 "dev": true, 1531 + "license": "BSD-2-Clause", 1532 "engines": { 1533 "node": ">=0.10.0" 1534 } ··· 1537 "version": "3.1.3", 1538 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1539 "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1540 + "dev": true, 1541 + "license": "MIT" 1542 }, 1543 "node_modules/fast-glob": { 1544 + "version": "3.3.3", 1545 + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", 1546 + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", 1547 "dev": true, 1548 + "license": "MIT", 1549 "dependencies": { 1550 "@nodelib/fs.stat": "^2.0.2", 1551 "@nodelib/fs.walk": "^1.2.3", 1552 "glob-parent": "^5.1.2", 1553 "merge2": "^1.3.0", 1554 + "micromatch": "^4.0.8" 1555 }, 1556 "engines": { 1557 "node": ">=8.6.0" ··· 1561 "version": "2.1.0", 1562 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 1563 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 1564 + "dev": true, 1565 + "license": "MIT" 1566 }, 1567 "node_modules/fast-levenshtein": { 1568 "version": "2.0.6", 1569 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1570 + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 1571 + "dev": true, 1572 + "license": "MIT" 1573 }, 1574 "node_modules/fastq": { 1575 + "version": "1.18.0", 1576 + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", 1577 + "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", 1578 "dev": true, 1579 + "license": "ISC", 1580 "dependencies": { 1581 "reusify": "^1.0.4" 1582 } 1583 }, 1584 "node_modules/file-entry-cache": { 1585 + "version": "8.0.0", 1586 + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", 1587 + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", 1588 "dev": true, 1589 + "license": "MIT", 1590 "dependencies": { 1591 + "flat-cache": "^4.0.0" 1592 }, 1593 "engines": { 1594 + "node": ">=16.0.0" 1595 } 1596 }, 1597 "node_modules/fill-range": { 1598 + "version": "7.1.1", 1599 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 1600 + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 1601 "dev": true, 1602 + "license": "MIT", 1603 "dependencies": { 1604 "to-regex-range": "^5.0.1" 1605 }, ··· 1607 "node": ">=8" 1608 } 1609 }, 1610 + "node_modules/find-up": { 1611 + "version": "5.0.0", 1612 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 1613 + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 1614 "dev": true, 1615 + "license": "MIT", 1616 "dependencies": { 1617 + "locate-path": "^6.0.0", 1618 + "path-exists": "^4.0.0" 1619 }, 1620 "engines": { 1621 + "node": ">=10" 1622 + }, 1623 + "funding": { 1624 + "url": "https://github.com/sponsors/sindresorhus" 1625 } 1626 }, 1627 + "node_modules/flat-cache": { 1628 + "version": "4.0.1", 1629 + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", 1630 + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", 1631 "dev": true, 1632 + "license": "MIT", 1633 "dependencies": { 1634 + "flatted": "^3.2.9", 1635 + "keyv": "^4.5.4" 1636 }, 1637 "engines": { 1638 + "node": ">=16" 1639 } 1640 }, 1641 + "node_modules/flatted": { 1642 + "version": "3.3.2", 1643 + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", 1644 + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", 1645 + "dev": true, 1646 + "license": "ISC" 1647 + }, 1648 "node_modules/glob-parent": { 1649 "version": "5.1.2", 1650 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1651 "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1652 "dev": true, 1653 + "license": "ISC", 1654 "dependencies": { 1655 "is-glob": "^4.0.1" 1656 }, ··· 1659 } 1660 }, 1661 "node_modules/globals": { 1662 + "version": "15.14.0", 1663 + "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", 1664 + "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", 1665 "dev": true, 1666 + "license": "MIT", 1667 "engines": { 1668 + "node": ">=18" 1669 }, 1670 "funding": { 1671 "url": "https://github.com/sponsors/sindresorhus" 1672 } 1673 }, 1674 + "node_modules/graphemer": { 1675 + "version": "1.4.0", 1676 + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 1677 + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 1678 "dev": true, 1679 + "license": "MIT" 1680 }, 1681 "node_modules/has-flag": { 1682 "version": "4.0.0", ··· 1688 } 1689 }, 1690 "node_modules/ignore": { 1691 + "version": "5.3.2", 1692 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", 1693 + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", 1694 "dev": true, 1695 + "license": "MIT", 1696 "engines": { 1697 "node": ">= 4" 1698 } ··· 1702 "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 1703 "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 1704 "dev": true, 1705 + "license": "MIT", 1706 "dependencies": { 1707 "parent-module": "^1.0.0", 1708 "resolve-from": "^4.0.0" ··· 1723 "node": ">=0.8.19" 1724 } 1725 }, 1726 "node_modules/is-extglob": { 1727 "version": "2.1.1", 1728 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", ··· 1749 "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1750 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1751 "dev": true, 1752 + "license": "MIT", 1753 "engines": { 1754 "node": ">=0.12.0" 1755 } ··· 1757 "node_modules/isexe": { 1758 "version": "2.0.0", 1759 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1760 + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1761 + "dev": true, 1762 + "license": "ISC" 1763 }, 1764 "node_modules/js-yaml": { 1765 "version": "4.1.0", 1766 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 1767 "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 1768 "dev": true, 1769 + "license": "MIT", 1770 "dependencies": { 1771 "argparse": "^2.0.1" 1772 }, 1773 "bin": { 1774 "js-yaml": "bin/js-yaml.js" 1775 } 1776 + }, 1777 + "node_modules/json-buffer": { 1778 + "version": "3.0.1", 1779 + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 1780 + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", 1781 + "dev": true, 1782 + "license": "MIT" 1783 }, 1784 "node_modules/json-schema-traverse": { 1785 "version": "0.4.1", 1786 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1787 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1788 + "dev": true, 1789 + "license": "MIT" 1790 }, 1791 "node_modules/json-stable-stringify-without-jsonify": { 1792 "version": "1.0.1", ··· 1794 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 1795 "dev": true 1796 }, 1797 + "node_modules/keyv": { 1798 + "version": "4.5.4", 1799 + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", 1800 + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", 1801 + "dev": true, 1802 + "license": "MIT", 1803 + "dependencies": { 1804 + "json-buffer": "3.0.1" 1805 + } 1806 + }, 1807 "node_modules/levn": { 1808 "version": "0.4.1", 1809 "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 1810 "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 1811 "dev": true, 1812 + "license": "MIT", 1813 "dependencies": { 1814 "prelude-ls": "^1.2.1", 1815 "type-check": "~0.4.0" ··· 1818 "node": ">= 0.8.0" 1819 } 1820 }, 1821 + "node_modules/locate-path": { 1822 "version": "6.0.0", 1823 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 1824 + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 1825 "dev": true, 1826 + "license": "MIT", 1827 "dependencies": { 1828 + "p-locate": "^5.0.0" 1829 }, 1830 "engines": { 1831 "node": ">=10" 1832 + }, 1833 + "funding": { 1834 + "url": "https://github.com/sponsors/sindresorhus" 1835 } 1836 }, 1837 + "node_modules/lodash.merge": { 1838 + "version": "4.6.2", 1839 + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 1840 + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 1841 + "dev": true 1842 + }, 1843 "node_modules/merge2": { 1844 "version": "1.4.1", 1845 "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1846 "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1847 "dev": true, 1848 + "license": "MIT", 1849 "engines": { 1850 "node": ">= 8" 1851 } 1852 }, 1853 "node_modules/micromatch": { 1854 + "version": "4.0.8", 1855 + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 1856 + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 1857 "dev": true, 1858 + "license": "MIT", 1859 "dependencies": { 1860 + "braces": "^3.0.3", 1861 "picomatch": "^2.3.1" 1862 }, 1863 "engines": { ··· 1865 } 1866 }, 1867 "node_modules/minimatch": { 1868 + "version": "9.0.5", 1869 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 1870 + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 1871 "dev": true, 1872 + "license": "ISC", 1873 "dependencies": { 1874 + "brace-expansion": "^2.0.1" 1875 }, 1876 "engines": { 1877 + "node": ">=16 || 14 >=14.17" 1878 + }, 1879 + "funding": { 1880 + "url": "https://github.com/sponsors/isaacs" 1881 } 1882 }, 1883 "node_modules/minimist": { ··· 1911 "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", 1912 "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==" 1913 }, 1914 "node_modules/optionator": { 1915 + "version": "0.9.4", 1916 + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", 1917 + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", 1918 "dev": true, 1919 + "license": "MIT", 1920 "dependencies": { 1921 "deep-is": "^0.1.3", 1922 "fast-levenshtein": "^2.0.6", 1923 "levn": "^0.4.1", 1924 "prelude-ls": "^1.2.1", 1925 "type-check": "^0.4.0", 1926 + "word-wrap": "^1.2.5" 1927 }, 1928 "engines": { 1929 "node": ">= 0.8.0" 1930 } 1931 }, 1932 + "node_modules/p-limit": { 1933 + "version": "3.1.0", 1934 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 1935 + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 1936 + "dev": true, 1937 + "license": "MIT", 1938 + "dependencies": { 1939 + "yocto-queue": "^0.1.0" 1940 + }, 1941 + "engines": { 1942 + "node": ">=10" 1943 + }, 1944 + "funding": { 1945 + "url": "https://github.com/sponsors/sindresorhus" 1946 + } 1947 + }, 1948 + "node_modules/p-locate": { 1949 + "version": "5.0.0", 1950 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 1951 + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 1952 + "dev": true, 1953 + "license": "MIT", 1954 + "dependencies": { 1955 + "p-limit": "^3.0.2" 1956 + }, 1957 + "engines": { 1958 + "node": ">=10" 1959 + }, 1960 + "funding": { 1961 + "url": "https://github.com/sponsors/sindresorhus" 1962 + } 1963 + }, 1964 "node_modules/parent-module": { 1965 "version": "1.0.1", 1966 "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1967 "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1968 "dev": true, 1969 + "license": "MIT", 1970 "dependencies": { 1971 "callsites": "^3.0.0" 1972 }, ··· 1974 "node": ">=6" 1975 } 1976 }, 1977 + "node_modules/path-exists": { 1978 + "version": "4.0.0", 1979 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 1980 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 1981 "dev": true, 1982 + "license": "MIT", 1983 "engines": { 1984 + "node": ">=8" 1985 } 1986 }, 1987 "node_modules/path-key": { ··· 1989 "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1990 "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1991 "dev": true, 1992 + "license": "MIT", 1993 "engines": { 1994 "node": ">=8" 1995 } ··· 2006 "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2007 "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2008 "dev": true, 2009 + "license": "MIT", 2010 "engines": { 2011 "node": ">=8.6" 2012 }, ··· 2019 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 2020 "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 2021 "dev": true, 2022 + "license": "MIT", 2023 "engines": { 2024 "node": ">= 0.8.0" 2025 } ··· 2040 } 2041 }, 2042 "node_modules/punycode": { 2043 + "version": "2.3.1", 2044 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 2045 + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 2046 "dev": true, 2047 + "license": "MIT", 2048 "engines": { 2049 "node": ">=6" 2050 } ··· 2067 "type": "consulting", 2068 "url": "https://feross.org/support" 2069 } 2070 + ], 2071 + "license": "MIT" 2072 }, 2073 "node_modules/resolve-from": { 2074 "version": "4.0.0", 2075 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 2076 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 2077 "dev": true, 2078 + "license": "MIT", 2079 "engines": { 2080 "node": ">=4" 2081 } ··· 2085 "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 2086 "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 2087 "dev": true, 2088 + "license": "MIT", 2089 "engines": { 2090 "iojs": ">=1.0.0", 2091 "node": ">=0.10.0" 2092 } 2093 }, 2094 "node_modules/run-parallel": { 2095 "version": "1.2.0", 2096 "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", ··· 2110 "url": "https://feross.org/support" 2111 } 2112 ], 2113 + "license": "MIT", 2114 "dependencies": { 2115 "queue-microtask": "^1.2.2" 2116 } 2117 }, 2118 "node_modules/semver": { 2119 + "version": "7.6.3", 2120 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", 2121 + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", 2122 "dev": true, 2123 + "license": "ISC", 2124 "bin": { 2125 "semver": "bin/semver.js" 2126 }, ··· 2133 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 2134 "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 2135 "dev": true, 2136 + "license": "MIT", 2137 "dependencies": { 2138 "shebang-regex": "^3.0.0" 2139 }, ··· 2146 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 2147 "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 2148 "dev": true, 2149 + "license": "MIT", 2150 "engines": { 2151 "node": ">=8" 2152 } ··· 2156 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 2157 "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 2158 "dev": true, 2159 + "license": "MIT", 2160 "engines": { 2161 "node": ">=8" 2162 }, ··· 2176 "node": ">=8" 2177 } 2178 }, 2179 "node_modules/three": { 2180 "version": "0.139.2", 2181 "resolved": "https://registry.npmjs.org/three/-/three-0.139.2.tgz", ··· 2186 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2187 "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2188 "dev": true, 2189 + "license": "MIT", 2190 "dependencies": { 2191 "is-number": "^7.0.0" 2192 }, ··· 2194 "node": ">=8.0" 2195 } 2196 }, 2197 + "node_modules/ts-api-utils": { 2198 + "version": "2.0.0", 2199 + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz", 2200 + "integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==", 2201 "dev": true, 2202 + "license": "MIT", 2203 "engines": { 2204 + "node": ">=18.12" 2205 }, 2206 "peerDependencies": { 2207 + "typescript": ">=4.8.4" 2208 } 2209 }, 2210 "node_modules/type-check": { ··· 2212 "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 2213 "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 2214 "dev": true, 2215 + "license": "MIT", 2216 "dependencies": { 2217 "prelude-ls": "^1.2.1" 2218 }, ··· 2220 "node": ">= 0.8.0" 2221 } 2222 }, 2223 "node_modules/typescript": { 2224 + "version": "4.9.5", 2225 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", 2226 + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", 2227 "dev": true, 2228 + "license": "Apache-2.0", 2229 "bin": { 2230 "tsc": "bin/tsc", 2231 "tsserver": "bin/tsserver" 2232 }, 2233 "engines": { 2234 "node": ">=4.2.0" 2235 + } 2236 + }, 2237 + "node_modules/typescript-eslint": { 2238 + "version": "8.19.1", 2239 + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.19.1.tgz", 2240 + "integrity": "sha512-LKPUQpdEMVOeKluHi8md7rwLcoXHhwvWp3x+sJkMuq3gGm9yaYJtPo8sRZSblMFJ5pcOGCAak/scKf1mvZDlQw==", 2241 + "dev": true, 2242 + "license": "MIT", 2243 + "dependencies": { 2244 + "@typescript-eslint/eslint-plugin": "8.19.1", 2245 + "@typescript-eslint/parser": "8.19.1", 2246 + "@typescript-eslint/utils": "8.19.1" 2247 + }, 2248 + "engines": { 2249 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2250 + }, 2251 + "funding": { 2252 + "type": "opencollective", 2253 + "url": "https://opencollective.com/typescript-eslint" 2254 + }, 2255 + "peerDependencies": { 2256 + "eslint": "^8.57.0 || ^9.0.0", 2257 + "typescript": ">=4.8.4 <5.8.0" 2258 } 2259 }, 2260 "node_modules/undici-types": { ··· 2300 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 2301 "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 2302 "dev": true, 2303 + "license": "BSD-2-Clause", 2304 "dependencies": { 2305 "punycode": "^2.1.0" 2306 } 2307 }, 2308 "node_modules/which": { 2309 "version": "2.0.2", 2310 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2311 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2312 "dev": true, 2313 + "license": "ISC", 2314 "dependencies": { 2315 "isexe": "^2.0.0" 2316 }, ··· 2322 } 2323 }, 2324 "node_modules/word-wrap": { 2325 + "version": "1.2.5", 2326 + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", 2327 + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", 2328 "dev": true, 2329 + "license": "MIT", 2330 "engines": { 2331 "node": ">=0.10.0" 2332 } 2333 }, 2334 + "node_modules/yocto-queue": { 2335 + "version": "0.1.0", 2336 + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 2337 + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 2338 + "dev": true, 2339 + "license": "MIT", 2340 + "engines": { 2341 + "node": ">=10" 2342 + }, 2343 + "funding": { 2344 + "url": "https://github.com/sponsors/sindresorhus" 2345 + } 2346 }, 2347 "node_modules/zod": { 2348 "version": "3.24.1", ··· 2531 "dev": true, 2532 "optional": true 2533 }, 2534 + "@eslint-community/eslint-utils": { 2535 + "version": "4.4.1", 2536 + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", 2537 + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", 2538 + "dev": true, 2539 + "requires": { 2540 + "eslint-visitor-keys": "^3.4.3" 2541 + } 2542 + }, 2543 + "@eslint-community/regexpp": { 2544 + "version": "4.12.1", 2545 + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", 2546 + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", 2547 + "dev": true 2548 + }, 2549 + "@eslint/config-array": { 2550 + "version": "0.19.1", 2551 + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", 2552 + "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", 2553 + "dev": true, 2554 + "requires": { 2555 + "@eslint/object-schema": "^2.1.5", 2556 + "debug": "^4.3.1", 2557 + "minimatch": "^3.1.2" 2558 + }, 2559 + "dependencies": { 2560 + "brace-expansion": { 2561 + "version": "1.1.11", 2562 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2563 + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2564 + "dev": true, 2565 + "requires": { 2566 + "balanced-match": "^1.0.0", 2567 + "concat-map": "0.0.1" 2568 + } 2569 + }, 2570 + "minimatch": { 2571 + "version": "3.1.2", 2572 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2573 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2574 + "dev": true, 2575 + "requires": { 2576 + "brace-expansion": "^1.1.7" 2577 + } 2578 + } 2579 + } 2580 + }, 2581 + "@eslint/core": { 2582 + "version": "0.9.1", 2583 + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.1.tgz", 2584 + "integrity": "sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==", 2585 + "dev": true, 2586 + "requires": { 2587 + "@types/json-schema": "^7.0.15" 2588 + } 2589 + }, 2590 "@eslint/eslintrc": { 2591 + "version": "3.2.0", 2592 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", 2593 + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", 2594 "dev": true, 2595 "requires": { 2596 "ajv": "^6.12.4", 2597 "debug": "^4.3.2", 2598 + "espree": "^10.0.1", 2599 + "globals": "^14.0.0", 2600 "ignore": "^5.2.0", 2601 "import-fresh": "^3.2.1", 2602 "js-yaml": "^4.1.0", 2603 + "minimatch": "^3.1.2", 2604 "strip-json-comments": "^3.1.1" 2605 + }, 2606 + "dependencies": { 2607 + "brace-expansion": { 2608 + "version": "1.1.11", 2609 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2610 + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2611 + "dev": true, 2612 + "requires": { 2613 + "balanced-match": "^1.0.0", 2614 + "concat-map": "0.0.1" 2615 + } 2616 + }, 2617 + "globals": { 2618 + "version": "14.0.0", 2619 + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", 2620 + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", 2621 + "dev": true 2622 + }, 2623 + "minimatch": { 2624 + "version": "3.1.2", 2625 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2626 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2627 + "dev": true, 2628 + "requires": { 2629 + "brace-expansion": "^1.1.7" 2630 + } 2631 + } 2632 } 2633 }, 2634 + "@eslint/js": { 2635 + "version": "9.17.0", 2636 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz", 2637 + "integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==", 2638 + "dev": true 2639 + }, 2640 + "@eslint/object-schema": { 2641 + "version": "2.1.5", 2642 + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", 2643 + "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", 2644 + "dev": true 2645 + }, 2646 + "@eslint/plugin-kit": { 2647 + "version": "0.2.4", 2648 + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz", 2649 + "integrity": "sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==", 2650 "dev": true, 2651 "requires": { 2652 + "levn": "^0.4.1" 2653 } 2654 }, 2655 + "@humanfs/core": { 2656 + "version": "0.19.1", 2657 + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", 2658 + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", 2659 + "dev": true 2660 + }, 2661 + "@humanfs/node": { 2662 + "version": "0.16.6", 2663 + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", 2664 + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", 2665 + "dev": true, 2666 + "requires": { 2667 + "@humanfs/core": "^0.19.1", 2668 + "@humanwhocodes/retry": "^0.3.0" 2669 + }, 2670 + "dependencies": { 2671 + "@humanwhocodes/retry": { 2672 + "version": "0.3.1", 2673 + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", 2674 + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", 2675 + "dev": true 2676 + } 2677 + } 2678 + }, 2679 + "@humanwhocodes/module-importer": { 2680 + "version": "1.0.1", 2681 + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 2682 + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 2683 + "dev": true 2684 + }, 2685 + "@humanwhocodes/retry": { 2686 + "version": "0.4.1", 2687 + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", 2688 + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", 2689 "dev": true 2690 }, 2691 "@nodelib/fs.scandir": { ··· 2714 "fastq": "^1.6.0" 2715 } 2716 }, 2717 + "@types/estree": { 2718 + "version": "1.0.6", 2719 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", 2720 + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", 2721 + "dev": true 2722 + }, 2723 "@types/json-schema": { 2724 + "version": "7.0.15", 2725 + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 2726 + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 2727 "dev": true 2728 }, 2729 "@types/node": { ··· 2742 "dev": true 2743 }, 2744 "@typescript-eslint/eslint-plugin": { 2745 + "version": "8.19.1", 2746 + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz", 2747 + "integrity": "sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==", 2748 "dev": true, 2749 "requires": { 2750 + "@eslint-community/regexpp": "^4.10.0", 2751 + "@typescript-eslint/scope-manager": "8.19.1", 2752 + "@typescript-eslint/type-utils": "8.19.1", 2753 + "@typescript-eslint/utils": "8.19.1", 2754 + "@typescript-eslint/visitor-keys": "8.19.1", 2755 + "graphemer": "^1.4.0", 2756 + "ignore": "^5.3.1", 2757 + "natural-compare": "^1.4.0", 2758 + "ts-api-utils": "^2.0.0" 2759 } 2760 }, 2761 "@typescript-eslint/parser": { 2762 + "version": "8.19.1", 2763 + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.1.tgz", 2764 + "integrity": "sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==", 2765 "dev": true, 2766 "requires": { 2767 + "@typescript-eslint/scope-manager": "8.19.1", 2768 + "@typescript-eslint/types": "8.19.1", 2769 + "@typescript-eslint/typescript-estree": "8.19.1", 2770 + "@typescript-eslint/visitor-keys": "8.19.1", 2771 + "debug": "^4.3.4" 2772 } 2773 }, 2774 "@typescript-eslint/scope-manager": { 2775 + "version": "8.19.1", 2776 + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.1.tgz", 2777 + "integrity": "sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==", 2778 "dev": true, 2779 "requires": { 2780 + "@typescript-eslint/types": "8.19.1", 2781 + "@typescript-eslint/visitor-keys": "8.19.1" 2782 } 2783 }, 2784 "@typescript-eslint/type-utils": { 2785 + "version": "8.19.1", 2786 + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.1.tgz", 2787 + "integrity": "sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==", 2788 "dev": true, 2789 "requires": { 2790 + "@typescript-eslint/typescript-estree": "8.19.1", 2791 + "@typescript-eslint/utils": "8.19.1", 2792 + "debug": "^4.3.4", 2793 + "ts-api-utils": "^2.0.0" 2794 } 2795 }, 2796 "@typescript-eslint/types": { 2797 + "version": "8.19.1", 2798 + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.1.tgz", 2799 + "integrity": "sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==", 2800 "dev": true 2801 }, 2802 "@typescript-eslint/typescript-estree": { 2803 + "version": "8.19.1", 2804 + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.1.tgz", 2805 + "integrity": "sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==", 2806 "dev": true, 2807 "requires": { 2808 + "@typescript-eslint/types": "8.19.1", 2809 + "@typescript-eslint/visitor-keys": "8.19.1", 2810 + "debug": "^4.3.4", 2811 + "fast-glob": "^3.3.2", 2812 "is-glob": "^4.0.3", 2813 + "minimatch": "^9.0.4", 2814 + "semver": "^7.6.0", 2815 + "ts-api-utils": "^2.0.0" 2816 } 2817 }, 2818 "@typescript-eslint/utils": { 2819 + "version": "8.19.1", 2820 + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.1.tgz", 2821 + "integrity": "sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==", 2822 "dev": true, 2823 "requires": { 2824 + "@eslint-community/eslint-utils": "^4.4.0", 2825 + "@typescript-eslint/scope-manager": "8.19.1", 2826 + "@typescript-eslint/types": "8.19.1", 2827 + "@typescript-eslint/typescript-estree": "8.19.1" 2828 } 2829 }, 2830 "@typescript-eslint/visitor-keys": { 2831 + "version": "8.19.1", 2832 + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.1.tgz", 2833 + "integrity": "sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==", 2834 "dev": true, 2835 "requires": { 2836 + "@typescript-eslint/types": "8.19.1", 2837 + "eslint-visitor-keys": "^4.2.0" 2838 + }, 2839 + "dependencies": { 2840 + "eslint-visitor-keys": { 2841 + "version": "4.2.0", 2842 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 2843 + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 2844 + "dev": true 2845 + } 2846 } 2847 }, 2848 "acorn": { 2849 + "version": "8.14.0", 2850 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", 2851 + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", 2852 "dev": true 2853 }, 2854 "acorn-jsx": { ··· 2870 "uri-js": "^4.2.2" 2871 } 2872 }, 2873 "ansi-styles": { 2874 "version": "4.3.0", 2875 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ··· 2885 "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 2886 "dev": true 2887 }, 2888 "balanced-match": { 2889 "version": "1.0.2", 2890 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", ··· 2892 "dev": true 2893 }, 2894 "brace-expansion": { 2895 + "version": "2.0.1", 2896 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 2897 + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 2898 "dev": true, 2899 "requires": { 2900 + "balanced-match": "^1.0.0" 2901 } 2902 }, 2903 "braces": { 2904 + "version": "3.0.3", 2905 + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 2906 + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 2907 "dev": true, 2908 "requires": { 2909 + "fill-range": "^7.1.1" 2910 } 2911 }, 2912 "browserslist": { ··· 2961 "concat-map": { 2962 "version": "0.0.1", 2963 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 2964 + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 2965 "dev": true 2966 }, 2967 "cross-spawn": { 2968 + "version": "7.0.6", 2969 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 2970 + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 2971 "dev": true, 2972 "requires": { 2973 "path-key": "^3.1.0", ··· 2990 "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 2991 "dev": true 2992 }, 2993 "electron-to-chromium": { 2994 "version": "1.5.79", 2995 "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.79.tgz", ··· 3052 "dev": true 3053 }, 3054 "eslint": { 3055 + "version": "9.17.0", 3056 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz", 3057 + "integrity": "sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==", 3058 "dev": true, 3059 "requires": { 3060 + "@eslint-community/eslint-utils": "^4.2.0", 3061 + "@eslint-community/regexpp": "^4.12.1", 3062 + "@eslint/config-array": "^0.19.0", 3063 + "@eslint/core": "^0.9.0", 3064 + "@eslint/eslintrc": "^3.2.0", 3065 + "@eslint/js": "9.17.0", 3066 + "@eslint/plugin-kit": "^0.2.3", 3067 + "@humanfs/node": "^0.16.6", 3068 + "@humanwhocodes/module-importer": "^1.0.1", 3069 + "@humanwhocodes/retry": "^0.4.1", 3070 + "@types/estree": "^1.0.6", 3071 + "@types/json-schema": "^7.0.15", 3072 + "ajv": "^6.12.4", 3073 "chalk": "^4.0.0", 3074 + "cross-spawn": "^7.0.6", 3075 "debug": "^4.3.2", 3076 "escape-string-regexp": "^4.0.0", 3077 + "eslint-scope": "^8.2.0", 3078 + "eslint-visitor-keys": "^4.2.0", 3079 + "espree": "^10.3.0", 3080 + "esquery": "^1.5.0", 3081 "esutils": "^2.0.2", 3082 "fast-deep-equal": "^3.1.3", 3083 + "file-entry-cache": "^8.0.0", 3084 + "find-up": "^5.0.0", 3085 + "glob-parent": "^6.0.2", 3086 "ignore": "^5.2.0", 3087 "imurmurhash": "^0.1.4", 3088 "is-glob": "^4.0.0", 3089 "json-stable-stringify-without-jsonify": "^1.0.1", 3090 "lodash.merge": "^4.6.2", 3091 + "minimatch": "^3.1.2", 3092 "natural-compare": "^1.4.0", 3093 + "optionator": "^0.9.3" 3094 }, 3095 "dependencies": { 3096 + "brace-expansion": { 3097 + "version": "1.1.11", 3098 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 3099 + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 3100 + "dev": true, 3101 + "requires": { 3102 + "balanced-match": "^1.0.0", 3103 + "concat-map": "0.0.1" 3104 + } 3105 + }, 3106 + "eslint-visitor-keys": { 3107 + "version": "4.2.0", 3108 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 3109 + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 3110 + "dev": true 3111 + }, 3112 "glob-parent": { 3113 "version": "6.0.2", 3114 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", ··· 3116 "dev": true, 3117 "requires": { 3118 "is-glob": "^4.0.3" 3119 + } 3120 + }, 3121 + "minimatch": { 3122 + "version": "3.1.2", 3123 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3124 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3125 + "dev": true, 3126 + "requires": { 3127 + "brace-expansion": "^1.1.7" 3128 } 3129 } 3130 } 3131 }, 3132 "eslint-config-prettier": { 3133 + "version": "9.1.0", 3134 + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", 3135 + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", 3136 "dev": true, 3137 "requires": {} 3138 }, 3139 "eslint-scope": { 3140 + "version": "8.2.0", 3141 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", 3142 + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", 3143 "dev": true, 3144 "requires": { 3145 "esrecurse": "^4.3.0", 3146 "estraverse": "^5.2.0" 3147 } 3148 }, 3149 + "eslint-visitor-keys": { 3150 + "version": "3.4.3", 3151 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 3152 + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 3153 + "dev": true 3154 + }, 3155 + "espree": { 3156 + "version": "10.3.0", 3157 + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", 3158 + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", 3159 "dev": true, 3160 "requires": { 3161 + "acorn": "^8.14.0", 3162 + "acorn-jsx": "^5.3.2", 3163 + "eslint-visitor-keys": "^4.2.0" 3164 }, 3165 "dependencies": { 3166 "eslint-visitor-keys": { 3167 + "version": "4.2.0", 3168 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", 3169 + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", 3170 "dev": true 3171 } 3172 } 3173 }, 3174 "esquery": { 3175 + "version": "1.6.0", 3176 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", 3177 + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", 3178 "dev": true, 3179 "requires": { 3180 "estraverse": "^5.1.0" ··· 3208 "dev": true 3209 }, 3210 "fast-glob": { 3211 + "version": "3.3.3", 3212 + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", 3213 + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", 3214 "dev": true, 3215 "requires": { 3216 "@nodelib/fs.stat": "^2.0.2", 3217 "@nodelib/fs.walk": "^1.2.3", 3218 "glob-parent": "^5.1.2", 3219 "merge2": "^1.3.0", 3220 + "micromatch": "^4.0.8" 3221 } 3222 }, 3223 "fast-json-stable-stringify": { ··· 3229 "fast-levenshtein": { 3230 "version": "2.0.6", 3231 "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 3232 + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 3233 "dev": true 3234 }, 3235 "fastq": { 3236 + "version": "1.18.0", 3237 + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", 3238 + "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", 3239 "dev": true, 3240 "requires": { 3241 "reusify": "^1.0.4" 3242 } 3243 }, 3244 "file-entry-cache": { 3245 + "version": "8.0.0", 3246 + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", 3247 + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", 3248 "dev": true, 3249 "requires": { 3250 + "flat-cache": "^4.0.0" 3251 } 3252 }, 3253 "fill-range": { 3254 + "version": "7.1.1", 3255 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 3256 + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 3257 "dev": true, 3258 "requires": { 3259 "to-regex-range": "^5.0.1" 3260 } 3261 }, 3262 + "find-up": { 3263 + "version": "5.0.0", 3264 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 3265 + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 3266 "dev": true, 3267 "requires": { 3268 + "locate-path": "^6.0.0", 3269 + "path-exists": "^4.0.0" 3270 } 3271 }, 3272 + "flat-cache": { 3273 + "version": "4.0.1", 3274 + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", 3275 + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", 3276 "dev": true, 3277 "requires": { 3278 + "flatted": "^3.2.9", 3279 + "keyv": "^4.5.4" 3280 } 3281 + }, 3282 + "flatted": { 3283 + "version": "3.3.2", 3284 + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", 3285 + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", 3286 + "dev": true 3287 }, 3288 "glob-parent": { 3289 "version": "5.1.2", ··· 3295 } 3296 }, 3297 "globals": { 3298 + "version": "15.14.0", 3299 + "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", 3300 + "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", 3301 + "dev": true 3302 }, 3303 + "graphemer": { 3304 + "version": "1.4.0", 3305 + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 3306 + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 3307 + "dev": true 3308 }, 3309 "has-flag": { 3310 "version": "4.0.0", ··· 3313 "dev": true 3314 }, 3315 "ignore": { 3316 + "version": "5.3.2", 3317 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", 3318 + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", 3319 "dev": true 3320 }, 3321 "import-fresh": { ··· 3334 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 3335 "dev": true 3336 }, 3337 "is-extglob": { 3338 "version": "2.1.1", 3339 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", ··· 3358 "isexe": { 3359 "version": "2.0.0", 3360 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 3361 + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 3362 "dev": true 3363 }, 3364 "js-yaml": { ··· 3370 "argparse": "^2.0.1" 3371 } 3372 }, 3373 + "json-buffer": { 3374 + "version": "3.0.1", 3375 + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 3376 + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", 3377 + "dev": true 3378 + }, 3379 "json-schema-traverse": { 3380 "version": "0.4.1", 3381 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", ··· 3388 "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 3389 "dev": true 3390 }, 3391 + "keyv": { 3392 + "version": "4.5.4", 3393 + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", 3394 + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", 3395 + "dev": true, 3396 + "requires": { 3397 + "json-buffer": "3.0.1" 3398 + } 3399 + }, 3400 "levn": { 3401 "version": "0.4.1", 3402 "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", ··· 3407 "type-check": "~0.4.0" 3408 } 3409 }, 3410 + "locate-path": { 3411 + "version": "6.0.0", 3412 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 3413 + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 3414 + "dev": true, 3415 + "requires": { 3416 + "p-locate": "^5.0.0" 3417 + } 3418 + }, 3419 "lodash.merge": { 3420 "version": "4.6.2", 3421 "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 3422 "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 3423 "dev": true 3424 }, 3425 "merge2": { 3426 "version": "1.4.1", 3427 "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", ··· 3429 "dev": true 3430 }, 3431 "micromatch": { 3432 + "version": "4.0.8", 3433 + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 3434 + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 3435 "dev": true, 3436 "requires": { 3437 + "braces": "^3.0.3", 3438 "picomatch": "^2.3.1" 3439 } 3440 }, 3441 "minimatch": { 3442 + "version": "9.0.5", 3443 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 3444 + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 3445 "dev": true, 3446 "requires": { 3447 + "brace-expansion": "^2.0.1" 3448 } 3449 }, 3450 "minimist": { ··· 3476 "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", 3477 "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==" 3478 }, 3479 "optionator": { 3480 + "version": "0.9.4", 3481 + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", 3482 + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", 3483 "dev": true, 3484 "requires": { 3485 "deep-is": "^0.1.3", ··· 3487 "levn": "^0.4.1", 3488 "prelude-ls": "^1.2.1", 3489 "type-check": "^0.4.0", 3490 + "word-wrap": "^1.2.5" 3491 + } 3492 + }, 3493 + "p-limit": { 3494 + "version": "3.1.0", 3495 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 3496 + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 3497 + "dev": true, 3498 + "requires": { 3499 + "yocto-queue": "^0.1.0" 3500 + } 3501 + }, 3502 + "p-locate": { 3503 + "version": "5.0.0", 3504 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 3505 + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 3506 + "dev": true, 3507 + "requires": { 3508 + "p-limit": "^3.0.2" 3509 } 3510 }, 3511 "parent-module": { ··· 3517 "callsites": "^3.0.0" 3518 } 3519 }, 3520 + "path-exists": { 3521 + "version": "4.0.0", 3522 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 3523 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 3524 "dev": true 3525 }, 3526 "path-key": { 3527 "version": "3.1.1", 3528 "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 3529 "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 3530 "dev": true 3531 }, 3532 "picocolors": { ··· 3554 "dev": true 3555 }, 3556 "punycode": { 3557 + "version": "2.3.1", 3558 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 3559 + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 3560 "dev": true 3561 }, 3562 "queue-microtask": { ··· 3565 "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 3566 "dev": true 3567 }, 3568 "resolve-from": { 3569 "version": "4.0.0", 3570 "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", ··· 3576 "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 3577 "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 3578 "dev": true 3579 }, 3580 "run-parallel": { 3581 "version": "1.2.0", ··· 3587 } 3588 }, 3589 "semver": { 3590 + "version": "7.6.3", 3591 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", 3592 + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", 3593 + "dev": true 3594 }, 3595 "shebang-command": { 3596 "version": "2.0.0", ··· 3607 "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 3608 "dev": true 3609 }, 3610 "strip-json-comments": { 3611 "version": "3.1.1", 3612 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", ··· 3622 "has-flag": "^4.0.0" 3623 } 3624 }, 3625 "three": { 3626 "version": "0.139.2", 3627 "resolved": "https://registry.npmjs.org/three/-/three-0.139.2.tgz", ··· 3636 "is-number": "^7.0.0" 3637 } 3638 }, 3639 + "ts-api-utils": { 3640 + "version": "2.0.0", 3641 + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz", 3642 + "integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==", 3643 "dev": true, 3644 + "requires": {} 3645 }, 3646 "type-check": { 3647 "version": "0.4.0", ··· 3652 "prelude-ls": "^1.2.1" 3653 } 3654 }, 3655 "typescript": { 3656 + "version": "4.9.5", 3657 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", 3658 + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", 3659 "dev": true 3660 }, 3661 + "typescript-eslint": { 3662 + "version": "8.19.1", 3663 + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.19.1.tgz", 3664 + "integrity": "sha512-LKPUQpdEMVOeKluHi8md7rwLcoXHhwvWp3x+sJkMuq3gGm9yaYJtPo8sRZSblMFJ5pcOGCAak/scKf1mvZDlQw==", 3665 + "dev": true, 3666 + "requires": { 3667 + "@typescript-eslint/eslint-plugin": "8.19.1", 3668 + "@typescript-eslint/parser": "8.19.1", 3669 + "@typescript-eslint/utils": "8.19.1" 3670 + } 3671 + }, 3672 "undici-types": { 3673 "version": "6.20.0", 3674 "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", ··· 3694 "punycode": "^2.1.0" 3695 } 3696 }, 3697 "which": { 3698 "version": "2.0.2", 3699 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", ··· 3704 } 3705 }, 3706 "word-wrap": { 3707 + "version": "1.2.5", 3708 + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", 3709 + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", 3710 "dev": true 3711 }, 3712 + "yocto-queue": { 3713 + "version": "0.1.0", 3714 + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 3715 + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 3716 "dev": true 3717 }, 3718 "zod": {
+7 -6
frontend/package.json
··· 5 "main": "index.js", 6 "type": "module", 7 "devDependencies": { 8 "@types/node": "^22.10.5", 9 "@types/three": "^0.139.0", 10 - "@typescript-eslint/eslint-plugin": "^5.20.0", 11 - "@typescript-eslint/parser": "^5.20.0", 12 "browserslist": "^4.20.3", 13 "esbuild": "^0.24.2", 14 "esbuild-plugin-browserslist": "^0.15.0", 15 - "eslint": "^8.14.0", 16 - "eslint-config-prettier": "^8.5.0", 17 "minimist": "^1.2.6", 18 "prettier": "^2.6.2", 19 - "typescript": "^4.6.3" 20 }, 21 "scripts": { 22 "check": "tsc", ··· 24 "build:production": "npm run check && node esbuild.js --prod", 25 "start": "node esbuild.js --serve", 26 "format": "prettier --write .", 27 - "lint": "eslint . --ext .js,.jsx,.ts,.tsx", 28 "test": "echo \"Error: no test specified\" && exit 1" 29 }, 30 "author": "Ivo Murrell",
··· 5 "main": "index.js", 6 "type": "module", 7 "devDependencies": { 8 + "@eslint/js": "^9.17.0", 9 "@types/node": "^22.10.5", 10 "@types/three": "^0.139.0", 11 "browserslist": "^4.20.3", 12 "esbuild": "^0.24.2", 13 "esbuild-plugin-browserslist": "^0.15.0", 14 + "eslint": "^9.17.0", 15 + "eslint-config-prettier": "^9.1.0", 16 + "globals": "^15.14.0", 17 "minimist": "^1.2.6", 18 "prettier": "^2.6.2", 19 + "typescript": "^4.6.3", 20 + "typescript-eslint": "^8.19.1" 21 }, 22 "scripts": { 23 "check": "tsc", ··· 25 "build:production": "npm run check && node esbuild.js --prod", 26 "start": "node esbuild.js --serve", 27 "format": "prettier --write .", 28 + "lint": "eslint", 29 "test": "echo \"Error: no test specified\" && exit 1" 30 }, 31 "author": "Ivo Murrell",
+2 -2
frontend/src/ts/scrobblar.ts
··· 60 coverElement.srcset = `${art}, ${art2x} 2x, ${art3x} 3x`; 61 } 62 63 - setTimeout(pollNowListening, 10000); 64 } 65 66 - pollNowListening();
··· 60 coverElement.srcset = `${art}, ${art2x} 2x, ${art3x} 3x`; 61 } 62 63 + setTimeout(() => void pollNowListening(), 10000); 64 } 65 66 + void pollNowListening();
+2 -2
frontend/src/ts/three/FontLoader.ts
··· 1 - /* eslint-disable @typescript-eslint/no-explicit-any */ 2 import type { Shape } from "three/src/extras/core/Shape.js"; 3 import { ShapePath } from "three/src/extras/core/ShapePath.js"; 4 import { FileLoader } from "three/src/loaders/FileLoader.js"; ··· 28 text = text as string; 29 try { 30 json = JSON.parse(text); 31 - } catch (e) { 32 console.warn( 33 "THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead." 34 );
··· 1 + /* eslint-disable */ 2 import type { Shape } from "three/src/extras/core/Shape.js"; 3 import { ShapePath } from "three/src/extras/core/ShapePath.js"; 4 import { FileLoader } from "three/src/loaders/FileLoader.js"; ··· 28 text = text as string; 29 try { 30 json = JSON.parse(text); 31 + } catch { 32 console.warn( 33 "THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead." 34 );
+1 -1
frontend/src/ts/three/TextGeometry.ts
··· 19 ExtrudeGeometry, 20 ExtrudeGeometryOptions, 21 } from "three/src/geometries/ExtrudeGeometry.js"; 22 - import { Font } from "./FontLoader"; 23 24 export interface TextGeometryParameters { 25 font?: Font;
··· 19 ExtrudeGeometry, 20 ExtrudeGeometryOptions, 21 } from "three/src/geometries/ExtrudeGeometry.js"; 22 + import { Font } from "./FontLoader.js"; 23 24 export interface TextGeometryParameters { 25 font?: Font;