From 47306cbde10c282eb62e673e3d7e04e87319875b Mon Sep 17 00:00:00 2001 From: Christopher Serr Date: Mon, 23 Feb 2026 19:59:15 +0100 Subject: [PATCH] Migrate from Webpack to Vite MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces Webpack with Vite 7 as the build tool. **Build system** - Replace `webpack.config.js` with vite.config.ts - Update all npm scripts (`serve`, `publish`, `tauri:build-html`) to use Vite - Remove Webpack-related dependencies (webpack, css-loader, style-loader, ts-loader, html-webpack-plugin, workbox-webpack-plugin, etc.) - Add Vite dependencies (vite, @vitejs/plugin-react, vite-plugin-pwa, favicons) - Add tsconfig.node.json for the Vite config file **WASM & asset preloading** - Custom Vite plugin injects `` tags and an inline ` diff --git a/livesplit-core b/livesplit-core index de463fda4..1f6344491 160000 --- a/livesplit-core +++ b/livesplit-core @@ -1 +1 @@ -Subproject commit de463fda4275370b2d774e6cf97bb2179e94496a +Subproject commit 1f6344491cbe75b2eb78d0c04adf39cbf8f78ed0 diff --git a/package-lock.json b/package-lock.json index eec9a93a3..b2c99baa6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,7 @@ "name": "livesplit", "dependencies": { "idb": "^8.0.0", - "lucide-react": "^0.544.0", + "lucide-react": "^0.575.0", "markdown-it": "^14.1.0", "react": "^19.0.0", "react-dom": "^19.0.0", @@ -17,29 +17,20 @@ }, "devDependencies": { "@babel/plugin-transform-explicit-resource-management": "^7.28.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.6.1", "@tauri-apps/cli": "^2.2.7", "@types/markdown-it": "^14.1.2", + "@types/node": "^25.3.0", "@types/react": "^19.0.10", "@types/react-dom": "^19.0.4", "@types/react-resizable": "^3.0.3", "@types/react-sidebar": "^3.0.2", - "clean-webpack-plugin": "^4.0.0", - "css-loader": "^7.1.2", - "eslint": "^9.20.1", - "favicons-webpack-plugin": "^6.0.0", - "html-inline-script-webpack-plugin": "^3.1.0", - "html-webpack-plugin": "^5.6.0", - "react-compiler-webpack": "^0.2.0", - "react-refresh-typescript": "^2.0.7", - "style-loader": "^4.0.0", - "ts-loader": "^9.4.2", + "@vitejs/plugin-react": "^5.1.4", + "eslint": "^10.0.1", + "favicons": "^7.2.0", "typescript": "^5.9.3", "typescript-eslint": "^8.24.0", - "webpack": "^5.91.0", - "webpack-cli": "^6.0.1", - "webpack-dev-server": "^5.2.0", - "workbox-webpack-plugin": "^7.0.0" + "vite": "^7.3.1", + "vite-plugin-pwa": "^1.0.3" } }, "node_modules/@babel/code-frame": { @@ -535,38 +526,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", - "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", - "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", @@ -1243,6 +1202,38 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-regenerator": { "version": "7.29.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz", @@ -1597,16 +1588,6 @@ "node": ">=6.9.0" } }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", - "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.17.0" - } - }, "node_modules/@emnapi/runtime": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", @@ -1614,1487 +1595,1489 @@ "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "tslib": "^2.4.0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=18" } }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/@esbuild/android-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "cpu": [ + "arm" + ], "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=18" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "node_modules/@esbuild/android-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=18" } }, - "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "node_modules/@esbuild/android-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.7", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" } }, - "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.17.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" } }, - "node_modules/@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" } }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", - "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=18" } }, - "node_modules/@eslint/js": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", - "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" + "node": ">=18" } }, - "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "node_modules/@esbuild/linux-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" } }, - "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.17.0", - "levn": "^0.4.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18" } }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=18.18.0" + "node": ">=18" } }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "cpu": [ + "loong64" + ], "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=18.18.0" + "node": ">=18" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "cpu": [ + "mips64el" + ], "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "node": ">=18" } }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@img/sharp-darwin-arm64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", - "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", "cpu": [ - "arm64" + "ppc64" ], "dev": true, - "license": "Apache-2.0", + "license": "MIT", "optional": true, "os": [ - "darwin" + "linux" ], - "peer": true, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.0.4" + "node": ">=18" } }, - "node_modules/@img/sharp-darwin-x64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", - "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", "cpu": [ - "x64" + "riscv64" ], "dev": true, - "license": "Apache-2.0", + "license": "MIT", "optional": true, "os": [ - "darwin" + "linux" ], - "peer": true, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.0.4" + "node": ">=18" } }, - "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", - "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", "cpu": [ - "arm64" + "s390x" ], "dev": true, - "license": "LGPL-3.0-or-later", + "license": "MIT", "optional": true, "os": [ - "darwin" + "linux" ], - "peer": true, - "funding": { - "url": "https://opencollective.com/libvips" + "engines": { + "node": ">=18" } }, - "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", - "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", + "node_modules/@esbuild/linux-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", "cpu": [ "x64" ], "dev": true, - "license": "LGPL-3.0-or-later", + "license": "MIT", "optional": true, "os": [ - "darwin" + "linux" ], - "peer": true, - "funding": { - "url": "https://opencollective.com/libvips" + "engines": { + "node": ">=18" } }, - "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", - "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", "cpu": [ - "arm" + "arm64" ], "dev": true, - "license": "LGPL-3.0-or-later", + "license": "MIT", "optional": true, "os": [ - "linux" + "netbsd" ], - "peer": true, - "funding": { - "url": "https://opencollective.com/libvips" + "engines": { + "node": ">=18" } }, - "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", - "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", "cpu": [ - "arm64" + "x64" ], "dev": true, - "license": "LGPL-3.0-or-later", + "license": "MIT", "optional": true, "os": [ - "linux" + "netbsd" ], - "peer": true, - "funding": { - "url": "https://opencollective.com/libvips" + "engines": { + "node": ">=18" } }, - "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", - "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", "cpu": [ - "s390x" + "arm64" ], "dev": true, - "license": "LGPL-3.0-or-later", + "license": "MIT", "optional": true, "os": [ - "linux" + "openbsd" ], - "peer": true, - "funding": { - "url": "https://opencollective.com/libvips" + "engines": { + "node": ">=18" } }, - "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", - "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", "cpu": [ "x64" ], "dev": true, - "license": "LGPL-3.0-or-later", + "license": "MIT", "optional": true, "os": [ - "linux" + "openbsd" ], - "peer": true, - "funding": { - "url": "https://opencollective.com/libvips" + "engines": { + "node": ">=18" } }, - "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", - "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", "cpu": [ "arm64" ], "dev": true, - "license": "LGPL-3.0-or-later", + "license": "MIT", "optional": true, "os": [ - "linux" + "openharmony" ], - "peer": true, - "funding": { - "url": "https://opencollective.com/libvips" + "engines": { + "node": ">=18" } }, - "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", - "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", "cpu": [ "x64" ], "dev": true, - "license": "LGPL-3.0-or-later", + "license": "MIT", "optional": true, "os": [ - "linux" + "sunos" ], - "peer": true, - "funding": { - "url": "https://opencollective.com/libvips" + "engines": { + "node": ">=18" } }, - "node_modules/@img/sharp-linux-arm": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", - "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", "cpu": [ - "arm" + "arm64" ], "dev": true, - "license": "Apache-2.0", + "license": "MIT", "optional": true, "os": [ - "linux" + "win32" ], - "peer": true, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.0.5" + "node": ">=18" } }, - "node_modules/@img/sharp-linux-arm64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", - "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", "cpu": [ - "arm64" + "ia32" ], "dev": true, - "license": "Apache-2.0", + "license": "MIT", "optional": true, "os": [ - "linux" + "win32" ], - "peer": true, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.0.4" + "node": ">=18" } }, - "node_modules/@img/sharp-linux-s390x": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", - "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", + "node_modules/@esbuild/win32-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", "cpu": [ - "s390x" + "x64" ], "dev": true, - "license": "Apache-2.0", + "license": "MIT", "optional": true, "os": [ - "linux" + "win32" ], - "peer": true, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.0.4" + "node": ">=18" } }, - "node_modules/@img/sharp-linux-x64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", - "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", - "cpu": [ - "x64" - ], + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/libvips" + "url": "https://opencollective.com/eslint" }, - "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.0.4" + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", - "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "peer": true, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" + "url": "https://opencollective.com/eslint" } }, - "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", - "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", - "cpu": [ - "x64" - ], + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "peer": true, + "license": "MIT", "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.0.4" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@img/sharp-wasm32": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", - "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", - "cpu": [ - "wasm32" - ], + "node_modules/@eslint/config-array": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.2.tgz", + "integrity": "sha512-YF+fE6LV4v5MGWRGj7G404/OZzGNepVF8fxk7jqmqo3lrza7a0uUcDnROGRBG1WFC1omYUS/Wp1f42i0M+3Q3A==", "dev": true, - "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", - "optional": true, - "peer": true, + "license": "Apache-2.0", "dependencies": { - "@emnapi/runtime": "^1.2.0" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "@eslint/object-schema": "^3.0.2", + "debug": "^4.3.1", + "minimatch": "^10.2.1" }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-ia32": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", - "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "peer": true, "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, - "node_modules/@img/sharp-win32-x64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", - "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", - "cpu": [ - "x64" - ], + "node_modules/@eslint/config-helpers": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.2.tgz", + "integrity": "sha512-a5MxrdDXEvqnIq+LisyCX6tQMPF/dSJpCfBgBauY+pNZ28yCtSsTvyTYrMhaI+LK26bVyCJfJkT0u8KIj2i1dQ==", "dev": true, - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.1.0" }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@isaacs/cliui": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz", - "integrity": "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==", - "dev": true, - "license": "BlueOak-1.0.0", "engines": { - "node": ">=18" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "node_modules/@eslint/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.1.0.tgz", + "integrity": "sha512-/nr9K9wkr3P1EzFTdFdMoLuo1PmIxjmwvPozwoSodjNBdefGujXQUF93u1DDZpEaTuDvMsIQddsd35BwtrW9Xw==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", + "@types/json-schema": "^7.0.15" + }, "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", - "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, - "node_modules/@jsonjoy.com/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "node_modules/@eslint/object-schema": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.2.tgz", + "integrity": "sha512-HOy56KJt48Bx8KmJ+XGQNSUMT/6dZee/M54XyUyuvTvPXJmsERRvBchsUVx1UMe1WwIH49XLAczNC7V2INsuUw==", "dev": true, "license": "Apache-2.0", "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, - "node_modules/@jsonjoy.com/buffers": { - "version": "17.67.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-17.67.0.tgz", - "integrity": "sha512-tfExRpYxBvi32vPs9ZHaTjSP4fHAfzSmcahOfNxtvGHcyJel+aibkPlGeBB+7AoC6hL7lXIE++8okecBxx7lcw==", + "node_modules/@eslint/plugin-kit": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.6.0.tgz", + "integrity": "sha512-bIZEUzOI1jkhviX2cp5vNyXQc6olzb2ohewQubuYlMXZ2Q/XjBO0x0XhGPvc9fjSIiUN0vw+0hq53BJ4eQSJKQ==", "dev": true, "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "dependencies": { + "@eslint/core": "^1.1.0", + "levn": "^0.4.1" }, - "peerDependencies": { - "tslib": "2" + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" } }, - "node_modules/@jsonjoy.com/codegen": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz", - "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==", + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, "license": "Apache-2.0", "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "node": ">=18.18.0" } }, - "node_modules/@jsonjoy.com/fs-core": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-core/-/fs-core-4.56.10.tgz", - "integrity": "sha512-PyAEA/3cnHhsGcdY+AmIU+ZPqTuZkDhCXQ2wkXypdLitSpd6d5Ivxhnq4wa2ETRWFVJGabYynBWxIijOswSmOw==", + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@jsonjoy.com/fs-node-builtins": "4.56.10", - "@jsonjoy.com/fs-node-utils": "4.56.10", - "thingies": "^2.5.0" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" }, "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "node": ">=18.18.0" } }, - "node_modules/@jsonjoy.com/fs-fsa": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-fsa/-/fs-fsa-4.56.10.tgz", - "integrity": "sha512-/FVK63ysNzTPOnCCcPoPHt77TOmachdMS422txM4KhxddLdbW1fIbFMYH0AM0ow/YchCyS5gqEjKLNyv71j/5Q==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/fs-core": "4.56.10", - "@jsonjoy.com/fs-node-builtins": "4.56.10", - "@jsonjoy.com/fs-node-utils": "4.56.10", - "thingies": "^2.5.0" - }, "engines": { - "node": ">=10.0" + "node": ">=12.22" }, "funding": { "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@jsonjoy.com/fs-node": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node/-/fs-node-4.56.10.tgz", - "integrity": "sha512-7R4Gv3tkUdW3dXfXiOkqxkElxKNVdd8BDOWC0/dbERd0pXpPY+s2s1Mino+aTvkGrFPiY+mmVxA7zhskm4Ue4Q==", + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/fs-core": "4.56.10", - "@jsonjoy.com/fs-node-builtins": "4.56.10", - "@jsonjoy.com/fs-node-utils": "4.56.10", - "@jsonjoy.com/fs-print": "4.56.10", - "@jsonjoy.com/fs-snapshot": "4.56.10", - "glob-to-regex.js": "^1.0.0", - "thingies": "^2.5.0" - }, "engines": { - "node": ">=10.0" + "node": ">=18.18" }, "funding": { "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@jsonjoy.com/fs-node-builtins": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.56.10.tgz", - "integrity": "sha512-uUnKz8R0YJyKq5jXpZtkGV9U0pJDt8hmYcLRrPjROheIfjMXsz82kXMgAA/qNg0wrZ1Kv+hrg7azqEZx6XZCVw==", + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=10.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "url": "https://opencollective.com/libvips" }, - "peerDependencies": { - "tslib": "2" + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.4" } }, - "node_modules/@jsonjoy.com/fs-node-to-fsa": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.56.10.tgz", - "integrity": "sha512-oH+O6Y4lhn9NyG6aEoFwIBNKZeYy66toP5LJcDOMBgL99BKQMUf/zWJspdRhMdn/3hbzQsZ8EHHsuekbFLGUWw==", + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", + "cpu": [ + "x64" + ], "dev": true, "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/fs-fsa": "4.56.10", - "@jsonjoy.com/fs-node-builtins": "4.56.10", - "@jsonjoy.com/fs-node-utils": "4.56.10" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=10.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "url": "https://opencollective.com/libvips" }, - "peerDependencies": { - "tslib": "2" + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.4" } }, - "node_modules/@jsonjoy.com/fs-node-utils": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.56.10.tgz", - "integrity": "sha512-8EuPBgVI2aDPwFdaNQeNpHsyqPi3rr+85tMNG/lHvQLiVjzoZsvxA//Xd8aB567LUhy4QS03ptT+unkD/DIsNg==", + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", + "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", + "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", + "cpu": [ + "arm" + ], "dev": true, "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/fs-node-builtins": "4.56.10" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "url": "https://opencollective.com/libvips" }, - "peerDependencies": { - "tslib": "2" + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.5" } }, - "node_modules/@jsonjoy.com/fs-print": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-print/-/fs-print-4.56.10.tgz", - "integrity": "sha512-JW4fp5mAYepzFsSGrQ48ep8FXxpg4niFWHdF78wDrFGof7F3tKDJln72QFDEn/27M1yHd4v7sKHHVPh78aWcEw==", + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/fs-node-utils": "4.56.10", - "tree-dump": "^1.1.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "url": "https://opencollective.com/libvips" }, - "peerDependencies": { - "tslib": "2" + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.4" } }, - "node_modules/@jsonjoy.com/fs-snapshot": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.56.10.tgz", - "integrity": "sha512-DkR6l5fj7+qj0+fVKm/OOXMGfDFCGXLfyHkORH3DF8hxkpDgIHbhf/DwncBMs2igu/ST7OEkexn1gIqoU6Y+9g==", + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", + "cpu": [ + "s390x" + ], "dev": true, "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/buffers": "^17.65.0", - "@jsonjoy.com/fs-node-utils": "4.56.10", - "@jsonjoy.com/json-pack": "^17.65.0", - "@jsonjoy.com/util": "^17.65.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "url": "https://opencollective.com/libvips" }, - "peerDependencies": { - "tslib": "2" + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.4" } }, - "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/base64": { - "version": "17.67.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-17.67.0.tgz", - "integrity": "sha512-5SEsJGsm15aP8TQGkDfJvz9axgPwAEm98S5DxOuYe8e1EbfajcDmgeXXzccEjh+mLnjqEKrkBdjHWS5vFNwDdw==", + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", + "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", + "cpu": [ + "x64" + ], "dev": true, "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "url": "https://opencollective.com/libvips" }, - "peerDependencies": { - "tslib": "2" + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.4" } }, - "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/codegen": { - "version": "17.67.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-17.67.0.tgz", - "integrity": "sha512-idnkUplROpdBOV0HMcwhsCUS5TRUi9poagdGs70A6S4ux9+/aPuKbh8+UYRTLYQHtXvAdNfQWXDqZEx5k4Dj2Q==", + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", + "cpu": [ + "arm64" + ], "dev": true, "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "url": "https://opencollective.com/libvips" }, - "peerDependencies": { - "tslib": "2" + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" } }, - "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pack": { - "version": "17.67.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-17.67.0.tgz", - "integrity": "sha512-t0ejURcGaZsn1ClbJ/3kFqSOjlryd92eQY465IYrezsXmPcfHPE/av4twRSxf6WE+TkZgLY+71vCZbiIiFKA/w==", + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", + "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", + "cpu": [ + "x64" + ], "dev": true, "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/base64": "17.67.0", - "@jsonjoy.com/buffers": "17.67.0", - "@jsonjoy.com/codegen": "17.67.0", - "@jsonjoy.com/json-pointer": "17.67.0", - "@jsonjoy.com/util": "17.67.0", - "hyperdyperid": "^1.2.0", - "thingies": "^2.5.0", - "tree-dump": "^1.1.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "url": "https://opencollective.com/libvips" }, - "peerDependencies": { - "tslib": "2" + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.4" } }, - "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pointer": { - "version": "17.67.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-17.67.0.tgz", - "integrity": "sha512-+iqOFInH+QZGmSuaybBUNdh7yvNrXvqR+h3wjXm0N/3JK1EyyFAeGJvqnmQL61d1ARLlk/wJdFKSL+LHJ1eaUA==", + "node_modules/@img/sharp-wasm32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", + "cpu": [ + "wasm32" + ], "dev": true, - "license": "Apache-2.0", + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, "dependencies": { - "@jsonjoy.com/util": "17.67.0" + "@emnapi/runtime": "^1.2.0" }, "engines": { - "node": ">=10.0" + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, - "peerDependencies": { - "tslib": "2" + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@isaacs/cliui": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz", + "integrity": "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, - "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/util": { - "version": "17.67.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-17.67.0.tgz", - "integrity": "sha512-6+8xBaz1rLSohlGh68D1pdw3AwDi9xydm8QNlAFkvnavCJYSze+pxoW2VKP8p308jtlMRLs5NTHfPlZLd4w7ew==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@jsonjoy.com/buffers": "17.67.0", - "@jsonjoy.com/codegen": "17.67.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jsonjoy.com/json-pack": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz", - "integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==", + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.3.tgz", + "integrity": "sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==", "dev": true, - "license": "Apache-2.0", + "license": "MIT" + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.1.tgz", + "integrity": "sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==", + "dev": true, + "license": "MIT", "dependencies": { - "@jsonjoy.com/base64": "^1.1.2", - "@jsonjoy.com/buffers": "^1.2.0", - "@jsonjoy.com/codegen": "^1.0.0", - "@jsonjoy.com/json-pointer": "^1.0.2", - "@jsonjoy.com/util": "^1.9.0", - "hyperdyperid": "^1.2.0", - "thingies": "^2.5.0", - "tree-dump": "^1.1.0" + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.22.1" }, "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "node": ">=14.0.0" }, "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/json-pack/node_modules/@jsonjoy.com/buffers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", - "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "rollup": "^2.78.0||^3.0.0||^4.0.0" }, - "peerDependencies": { - "tslib": "2" + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@jsonjoy.com/json-pointer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz", - "integrity": "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==", + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@jsonjoy.com/codegen": "^1.0.0", - "@jsonjoy.com/util": "^1.9.0" + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" }, "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "node": ">=14.0.0" }, "peerDependencies": { - "tslib": "2" + "rollup": "^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@jsonjoy.com/util": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.9.0.tgz", - "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==", + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@jsonjoy.com/buffers": "^1.0.0", - "@jsonjoy.com/codegen": "^1.0.0" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" }, "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "node": ">=14.0.0" }, "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/util/node_modules/@jsonjoy.com/buffers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", - "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, - "peerDependencies": { - "tslib": "2" + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", + "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", + "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@peculiar/asn1-cms": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.6.1.tgz", - "integrity": "sha512-vdG4fBF6Lkirkcl53q6eOdn3XYKt+kJTG59edgRZORlg/3atWWEReRCx5rYE1ZzTTX6vLK5zDMjHh7vbrcXGtw==", + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", + "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.1", - "@peculiar/asn1-x509-attr": "^2.6.1", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@peculiar/asn1-csr": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.6.1.tgz", - "integrity": "sha512-WRWnKfIocHyzFYQTka8O/tXCiBquAPSrRjXbOkHbO4qdmS6loffCEGs+rby6WxxGdJCuunnhS2duHURhjyio6w==", + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", + "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.1", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@peculiar/asn1-ecc": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.6.1.tgz", - "integrity": "sha512-+Vqw8WFxrtDIN5ehUdvlN2m73exS2JVG0UAyfVB31gIfor3zWEAQPD+K9ydCxaj3MLen9k0JhKpu9LqviuCE1g==", + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", + "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.1", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } + "optional": true, + "os": [ + "freebsd" + ] }, - "node_modules/@peculiar/asn1-pfx": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.6.1.tgz", - "integrity": "sha512-nB5jVQy3MAAWvq0KY0R2JUZG8bO/bTLpnwyOzXyEh/e54ynGTatAR+csOnXkkVD9AFZ2uL8Z7EV918+qB1qDvw==", + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", + "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@peculiar/asn1-cms": "^2.6.1", - "@peculiar/asn1-pkcs8": "^2.6.1", - "@peculiar/asn1-rsa": "^2.6.1", - "@peculiar/asn1-schema": "^2.6.0", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } + "optional": true, + "os": [ + "freebsd" + ] }, - "node_modules/@peculiar/asn1-pkcs8": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.6.1.tgz", - "integrity": "sha512-JB5iQ9Izn5yGMw3ZG4Nw3Xn/hb/G38GYF3lf7WmJb8JZUydhVGEjK/ZlFSWhnlB7K/4oqEs8HnfFIKklhR58Tw==", + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", + "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.1", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@peculiar/asn1-pkcs9": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.6.1.tgz", - "integrity": "sha512-5EV8nZoMSxeWmcxWmmcolg22ojZRgJg+Y9MX2fnE2bGRo5KQLqV5IL9kdSQDZxlHz95tHvIq9F//bvL1OeNILw==", + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", + "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "@peculiar/asn1-cms": "^2.6.1", - "@peculiar/asn1-pfx": "^2.6.1", - "@peculiar/asn1-pkcs8": "^2.6.1", - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.1", - "@peculiar/asn1-x509-attr": "^2.6.1", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@peculiar/asn1-rsa": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.6.1.tgz", - "integrity": "sha512-1nVMEh46SElUt5CB3RUTV4EG/z7iYc7EoaDY5ECwganibQPkZ/Y2eMsTKB/LeyrUJ+W/tKoD9WUqIy8vB+CEdA==", + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", + "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.1", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@peculiar/asn1-schema": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.6.0.tgz", - "integrity": "sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==", + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", + "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "asn1js": "^3.0.6", - "pvtsutils": "^1.3.6", - "tslib": "^2.8.1" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@peculiar/asn1-x509": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.6.1.tgz", - "integrity": "sha512-O9jT5F1A2+t3r7C4VT7LYGXqkGLK7Kj1xFpz7U0isPrubwU5PbDoyYtx6MiGst29yq7pXN5vZbQFKRCP+lLZlA==", + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", + "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", + "cpu": [ + "loong64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.6.0", - "asn1js": "^3.0.6", - "pvtsutils": "^1.3.6", - "tslib": "^2.8.1" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@peculiar/asn1-x509-attr": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.6.1.tgz", - "integrity": "sha512-tlW6cxoHwgcQghnJwv3YS+9OO1737zgPogZ+CgWRUK4roEwIPzRH4JEiG770xe5HX2ATfCpmX60gurfWIF9dcQ==", + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", + "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", + "cpu": [ + "loong64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.1", - "asn1js": "^3.0.6", - "tslib": "^2.8.1" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@peculiar/x509": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.14.3.tgz", - "integrity": "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==", + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", + "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@peculiar/asn1-cms": "^2.6.0", - "@peculiar/asn1-csr": "^2.6.0", - "@peculiar/asn1-ecc": "^2.6.0", - "@peculiar/asn1-pkcs9": "^2.6.0", - "@peculiar/asn1-rsa": "^2.6.0", - "@peculiar/asn1-schema": "^2.6.0", - "@peculiar/asn1-x509": "^2.6.0", - "pvtsutils": "^1.3.6", - "reflect-metadata": "^0.2.2", - "tslib": "^2.8.1", - "tsyringe": "^4.10.0" - }, - "engines": { - "node": ">=20.0.0" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.6.2.tgz", - "integrity": "sha512-IhIAD5n4XvGHuL9nAgWfsBR0TdxtjrUWETYKCBHxauYXEv+b+ctEbs9neEgPC7Ecgzv4bpZTBwesAoGDeFymzA==", + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", + "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "anser": "^2.1.1", - "core-js-pure": "^3.23.3", - "error-stack-parser": "^2.0.6", - "html-entities": "^2.1.0", - "schema-utils": "^4.2.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "@types/webpack": "5.x", - "react-refresh": ">=0.10.0 <1.0.0", - "sockjs-client": "^1.4.0", - "type-fest": ">=0.17.0 <6.0.0", - "webpack": "^5.0.0", - "webpack-dev-server": "^4.8.0 || 5.x", - "webpack-hot-middleware": "2.x", - "webpack-plugin-serve": "1.x" - }, - "peerDependenciesMeta": { - "@types/webpack": { - "optional": true - }, - "sockjs-client": { - "optional": true - }, - "type-fest": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - }, - "webpack-hot-middleware": { - "optional": true - }, - "webpack-plugin-serve": { - "optional": true - } - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", + "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0" - }, - "peerDependenciesMeta": { - "@types/babel__core": { - "optional": true - } - } + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", + "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.1.tgz", - "integrity": "sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==", + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", + "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "cpu": [ + "s390x" + ], "dev": true, "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "@types/resolve": "1.20.2", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.22.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.78.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@rollup/plugin-node-resolve/node_modules/@rollup/pluginutils": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", - "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", + "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@rollup/plugin-node-resolve/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", + "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@rollup/plugin-node-resolve/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", + "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } + "optional": true, + "os": [ + "openbsd" + ] }, - "node_modules/@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", + "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" - } + "optional": true, + "os": [ + "openharmony" + ] }, - "node_modules/@rollup/plugin-terser": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", - "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", + "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "serialize-javascript": "^6.0.1", - "smob": "^1.0.0", - "terser": "^5.17.4" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", + "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@rollup/pluginutils/node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", + "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", + "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, "node_modules/@surma/rollup-plugin-off-main-thread": { "version": "2.2.3", @@ -3326,69 +3309,57 @@ "node": ">= 10" } }, - "node_modules/@types/body-parser": { - "version": "1.19.6", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", - "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "@babel/types": "^7.0.0" } }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, "license": "MIT", "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "@babel/types": "^7.28.2" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "node_modules/@types/esrecurse": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", + "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } + "license": "MIT" }, "node_modules/@types/estree": { "version": "1.0.8", @@ -3397,67 +3368,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/express": { - "version": "4.17.25", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", - "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "^1" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.19.8", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz", - "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/http-errors": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", - "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/http-proxy": { - "version": "1.17.17", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz", - "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -3490,20 +3400,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/node": { "version": "25.3.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.0.tgz", @@ -3514,20 +3410,6 @@ "undici-types": "~7.18.0" } }, - "node_modules/@types/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/react": { "version": "19.2.14", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", @@ -3551,89 +3433,29 @@ "node_modules/@types/react-resizable": { "version": "3.0.8", "resolved": "https://registry.npmjs.org/@types/react-resizable/-/react-resizable-3.0.8.tgz", - "integrity": "sha512-Pcvt2eGA7KNXldt1hkhVhAgZ8hK41m0mp89mFgQi7LAAEZiaLgm4fHJ5zbJZ/4m2LVaAyYrrRRv1LHDcrGQanA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-sidebar": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/react-sidebar/-/react-sidebar-3.0.4.tgz", - "integrity": "sha512-ztxMkMqzXdsDv0NylAELFYnafQt89yZvZR1lOLCGt1Bax+22o28tZyjffj99E9R2LCi/cWbjrmTWNRBLL6Y2Bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/resolve": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", - "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/retry": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", - "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/send": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", - "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", - "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", + "integrity": "sha512-Pcvt2eGA7KNXldt1hkhVhAgZ8hK41m0mp89mFgQi7LAAEZiaLgm4fHJ5zbJZ/4m2LVaAyYrrRRv1LHDcrGQanA==", "dev": true, "license": "MIT", "dependencies": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "<1" + "@types/react": "*" } }, - "node_modules/@types/serve-static/node_modules/@types/send": { - "version": "0.17.6", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", - "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "node_modules/@types/react-sidebar": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/react-sidebar/-/react-sidebar-3.0.4.tgz", + "integrity": "sha512-ztxMkMqzXdsDv0NylAELFYnafQt89yZvZR1lOLCGt1Bax+22o28tZyjffj99E9R2LCi/cWbjrmTWNRBLL6Y2Bw==", "dev": true, "license": "MIT", "dependencies": { - "@types/mime": "^1", - "@types/node": "*" + "@types/react": "*" } }, - "node_modules/@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } + "license": "MIT" }, "node_modules/@types/trusted-types": { "version": "2.0.7", @@ -3642,16 +3464,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.56.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.0.tgz", @@ -3840,24 +3652,14 @@ "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.6.tgz", + "integrity": "sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^5.0.2" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -3921,263 +3723,25 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.0.tgz", - "integrity": "sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "node_modules/@vitejs/plugin-react": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.4.tgz", + "integrity": "sha512-VIcFLdRi/VYRU8OL/puL7QXMYafHmqOnwTZY50U1JPlCNj30PxCMx65c494b1K9be9hX83KVt0+gTEwTWLqToA==", "dev": true, "license": "MIT", "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz", - "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz", - "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12.0" + "@babel/core": "^7.29.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-rc.3", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.18.0" }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz", - "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==", - "dev": true, - "license": "MIT", "engines": { - "node": ">=18.12.0" + "node": "^20.19.0 || >=22.12.0" }, "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/accepts/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, "node_modules/acorn": { @@ -4193,19 +3757,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-phases": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", - "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "acorn": "^8.14.0" - } - }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -4217,9 +3768,9 @@ } }, "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, "license": "MIT", "dependencies": { @@ -4233,108 +3784,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/anser": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/anser/-/anser-2.3.5.tgz", - "integrity": "sha512-vcZjxvvVoxTeR5XBNJB38oTu/7eDCZlwdz32N1eNgpyPF7j/Z7Idf+CUwQOkKKpJ7RJyjxgLHCM7vdIK0iCNMQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "license": "Apache-2.0", - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -4358,36 +3807,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", @@ -4410,21 +3829,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/asn1js": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.7.tgz", - "integrity": "sha512-uLvq6KJu04qoQM6gvBfKFjlh6Gl0vOKQuR5cJMDHQkmwfMOQeN3F3SHCv9SNYSL+CRoHvOGFfllDlVz03GQjvQ==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "pvtsutils": "^1.3.6", - "pvutils": "^1.1.3", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/async": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", @@ -4445,21 +3849,11 @@ "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/author-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz", - "integrity": "sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=0.8" + "node": ">= 4.0.0" } }, "node_modules/available-typed-arrays": { @@ -4520,24 +3914,16 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/babel-plugin-react-compiler": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-1.0.0.tgz", - "integrity": "sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==", + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "@babel/types": "^7.26.0" + "engines": { + "node": "18 || 20 || >=22" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, "node_modules/baseline-browser-mapping": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", @@ -4551,108 +3937,17 @@ "node": ">=6.0.0" } }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/body-parser": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", - "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "~1.2.0", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.14.0", - "raw-body": "~2.5.3", - "type-is": "~1.6.18", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/bonjour-service": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", - "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true, - "license": "ISC" - }, "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz", + "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==", "dev": true, "license": "MIT", "dependencies": { - "fill-range": "^7.1.1" + "balanced-match": "^4.0.2" }, "engines": { - "node": ">=8" + "node": "18 || 20 || >=22" } }, "node_modules/browserslist": { @@ -4696,42 +3991,6 @@ "dev": true, "license": "MIT" }, - "node_modules/bundle-name": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", - "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "run-applescript": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/bytestreamjs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bytestreamjs/-/bytestreamjs-2.0.1.tgz", - "integrity": "sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/call-bind": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", @@ -4782,31 +4041,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, "node_modules/caniuse-lite": { - "version": "1.0.30001770", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001770.tgz", - "integrity": "sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==", + "version": "1.0.30001772", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001772.tgz", + "integrity": "sha512-mIwLZICj+ntVTw4BT2zfp+yu/AqV6GMKfJVJMx3MwPxs+uk/uj2GLl2dH8LQbjiLDX66amCga5nKFyDgRR43kg==", "dev": true, "funding": [ { @@ -4824,125 +4062,6 @@ ], "license": "CC-BY-4.0" }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/clean-css": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", - "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 10.0" - } - }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-webpack-plugin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz", - "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==", - "dev": true, - "license": "MIT", - "dependencies": { - "del": "^4.1.1" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "webpack": ">=4.0.0 <6.0.0" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/clsx": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", @@ -4958,184 +4077,66 @@ "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" }, "engines": { - "node": ">=12.5.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", - "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "compressible": "~2.0.18", - "debug": "2.6.9", - "negotiator": "~0.6.4", - "on-headers": "~1.1.0", - "safe-buffer": "5.2.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" + "node": ">=12.5.0" } }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { - "safe-buffer": "5.2.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.6" + "node": ">=7.0.0" } }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.6" + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true, "license": "MIT" }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=4.0.0" } }, - "node_modules/cookie-signature": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", - "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true, "license": "MIT" }, @@ -5153,25 +4154,6 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/core-js-pure": { - "version": "3.48.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.48.0.tgz", - "integrity": "sha512-1slJgk89tWC51HQ1AEqG+s2VuwpTRr8ocu4n20QUcH1v9lAN0RXen0Q0AABa/DK1I7RrNWLucplOHMx8hfTGTw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true, - "license": "MIT" - }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -5197,98 +4179,6 @@ "node": ">=8" } }, - "node_modules/css-loader": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.4.tgz", - "integrity": "sha512-vv3J9tlOl04WjiMvHQI/9tmIrCxVrj6PFbHemBB1iihpeRbi/I4h033eoFIhwxBBqLhI0KYFS7yvynBFhIZfTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.40", - "postcss-modules-extract-imports": "^3.1.0", - "postcss-modules-local-by-default": "^4.0.5", - "postcss-modules-scope": "^3.2.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.6.3" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || ^1.0.0 || ^2.0.0-0", - "webpack": "^5.27.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-what": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", - "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", @@ -5353,276 +4243,82 @@ "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-browser": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", - "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "bundle-name": "^4.1.0", - "default-browser-id": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser-id": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", - "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true, - "license": "MIT" - }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "license": "MIT", - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "license": "MIT", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "ms": "^2.1.3" }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } + "license": "MIT" }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "domelementtype": "^2.2.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { - "node": ">= 4" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "license": "Apache-2.0", + "engines": { + "node": ">=8" } }, "node_modules/dunder-proto": { @@ -5640,13 +4336,6 @@ "node": ">= 0.4" } }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true, - "license": "MIT" - }, "node_modules/ejs": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", @@ -5664,36 +4353,12 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.286", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", - "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "version": "1.5.302", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.302.tgz", + "integrity": "sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==", "dev": true, "license": "ISC" }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.19.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", - "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.3.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -5706,29 +4371,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/envinfo": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz", - "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==", - "dev": true, - "license": "MIT", - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "stackframe": "^1.3.4" - } - }, "node_modules/es-abstract": { "version": "1.24.1", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", @@ -5818,13 +4460,6 @@ "node": ">= 0.4" } }, - "node_modules/es-module-lexer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", - "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", - "dev": true, - "license": "MIT" - }, "node_modules/es-object-atoms": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", @@ -5872,6 +4507,48 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/esbuild": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" + } + }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -5903,33 +4580,30 @@ } }, "node_modules/eslint": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", - "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.0.1.tgz", + "integrity": "sha512-20MV9SUdeN6Jd84xESsKhRly+/vxI+hwvpBMA93s+9dAcjdCuCojn4IqUGS3lvVaqjVYGYHSRMCpeFtF2rQYxQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.2", - "@eslint/plugin-kit": "^0.4.1", + "@eslint-community/regexpp": "^4.12.2", + "@eslint/config-array": "^0.23.2", + "@eslint/config-helpers": "^0.5.2", + "@eslint/core": "^1.1.0", + "@eslint/plugin-kit": "^0.6.0", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.12.4", - "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", + "eslint-scope": "^9.1.1", + "eslint-visitor-keys": "^5.0.1", + "espree": "^11.1.1", + "esquery": "^1.7.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", @@ -5939,8 +4613,7 @@ "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", + "minimatch": "^10.2.1", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, @@ -5948,7 +4621,7 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://eslint.org/donate" @@ -5963,48 +4636,50 @@ } }, "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.1.tgz", + "integrity": "sha512-GaUN0sWim5qc8KVErfPBWmc31LEsOkrUJbvJZV+xuL3u2phMUK4HIvXlWAakfC8W4nzlK+chPEAkYOYb5ZScIw==", "dev": true, "license": "BSD-2-Clause", "dependencies": { + "@types/esrecurse": "^4.3.1", + "@types/estree": "^1.0.8", "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", "dev": true, "license": "Apache-2.0", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-11.1.1.tgz", + "integrity": "sha512-AVHPqQoZYc+RUM4/3Ly5udlZY/U4LS8pIG05jEjWM2lQMU/oaZ7qshzAl2YP1tfNmXfftH3ohurfwNAug+MnsQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.15.0", + "acorn": "^8.16.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" + "eslint-visitor-keys": "^5.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" @@ -6047,9 +4722,9 @@ } }, "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true, "license": "MIT" }, @@ -6063,97 +4738,6 @@ "node": ">=0.10.0" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true, - "license": "MIT" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/express": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", - "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "~1.20.3", - "content-disposition": "~0.5.4", - "content-type": "~1.0.4", - "cookie": "~0.7.1", - "cookie-signature": "~1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.3.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "~0.1.12", - "proxy-addr": "~2.0.7", - "qs": "~6.14.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "~0.19.0", - "serve-static": "~1.16.2", - "setprototypeof": "1.2.0", - "statuses": "~2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -6192,23 +4776,12 @@ ], "license": "BSD-3-Clause" }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.9.1" - } - }, "node_modules/favicons": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/favicons/-/favicons-7.2.0.tgz", "integrity": "sha512-k/2rVBRIRzOeom3wI9jBPaSEvoTSQEW4iM0EveBmBBKFxO8mSyyRWtDlfC3VnEfu0avmjrMzy8/ZFPSe6F71Hw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "escape-html": "^1.0.3", "sharp": "^0.33.1", @@ -6218,39 +4791,22 @@ "node": ">=14.0.0" } }, - "node_modules/favicons-webpack-plugin": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/favicons-webpack-plugin/-/favicons-webpack-plugin-6.0.1.tgz", - "integrity": "sha512-Gl0Co4zIZq74EKXdpfe8FaoJqbuf0undV4UgpsL34vqICRAYUDwQdp3D+z+uxEOV0i9o+vHDn7Q6jaSxRiDJUA==", + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, "license": "MIT", - "dependencies": { - "find-root": "^1.1.0", - "parse-author": "^2.0.0", - "parse5": "^7.1.1" - }, "engines": { - "node": ">=16" - }, - "optionalDependencies": { - "html-webpack-plugin": "^5.5.0" + "node": ">=12.0.0" }, "peerDependencies": { - "favicons": "^7.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "websocket-driver": ">=0.5.1" + "picomatch": "^3 || ^4" }, - "engines": { - "node": ">=0.8.0" + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, "node_modules/file-entry-cache": { @@ -6267,94 +4823,18 @@ } }, "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.5.tgz", + "integrity": "sha512-ct/ckWBV/9Dg3MlvCXsLcSUyoWwv9mCKqlhLNB2DAuXR/NZolSXlQqP5dyy6guWlPXBhodZyZ5lGPQcbQDxrEQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", - "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "statuses": "~2.0.2", - "unpipe": "~1.0.0" + "minimatch": "^10.2.1" }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "node": "20 || >=22" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "dev": true, - "license": "MIT" - }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -6372,16 +4852,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } - }, "node_modules/flat-cache": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", @@ -6403,27 +4873,6 @@ "dev": true, "license": "ISC" }, - "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, "node_modules/for-each": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", @@ -6457,26 +4906,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -6493,13 +4922,6 @@ "node": ">=10" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -6641,22 +5063,25 @@ } }, "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz", + "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==", "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.3.1", + "jackspeak": "^4.1.1", + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -6675,43 +5100,6 @@ "node": ">=10.13.0" } }, - "node_modules/glob-to-regex.js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz", - "integrity": "sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/globalthis": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", @@ -6729,33 +5117,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/globby/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -6776,13 +5137,6 @@ "dev": true, "license": "ISC" }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true, - "license": "MIT" - }, "node_modules/has-bigints": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", @@ -6796,16 +5150,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/has-property-descriptors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", @@ -6815,357 +5159,66 @@ "dependencies": { "es-define-property": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-entities": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", - "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ], - "license": "MIT" - }, - "node_modules/html-inline-script-webpack-plugin": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/html-inline-script-webpack-plugin/-/html-inline-script-webpack-plugin-3.2.1.tgz", - "integrity": "sha512-PEj9Ve31BE0dva6eTD6wHMOztgIdPxF6gx3wad7ohBkCn7MXpuUvPC9t5ThMJ2NrVi1jWGBYU76DfoS+8dabRw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0", - "npm": ">=6.0.0" - }, - "peerDependencies": { - "html-webpack-plugin": "^5.0.0", - "webpack": "^5.0.0" - } - }, - "node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/html-webpack-plugin": { - "version": "5.6.6", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.6.tgz", - "integrity": "sha512-bLjW01UTrvoWTJQL5LsMRo1SypHW80FTm12OJRSnr3v6YHNhfe+1r0MYUZJMACxnCHURVnBWRwAsWs2yPU9Ezw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.20.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "dev": true, - "license": "MIT" - }, - "node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", - "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", - "dev": true, - "license": "MIT" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-proxy-middleware": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", - "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" + "dunder-proto": "^1.0.0" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hyperdyperid": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", - "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=10.18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "has-symbols": "^1.0.3" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" }, - "peerDependencies": { - "postcss": "^8.1.0" + "engines": { + "node": ">= 0.4" } }, "node_modules/idb": { @@ -7184,43 +5237,6 @@ "node": ">= 4" } }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", - "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -7231,25 +5247,6 @@ "node": ">=0.8.19" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, "node_modules/internal-slot": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", @@ -7265,26 +5262,6 @@ "node": ">= 0.4" } }, - "node_modules/interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ipaddr.js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", - "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, "node_modules/is-array-buffer": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", @@ -7308,8 +5285,7 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz", "integrity": "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/is-async-function": { "version": "2.1.1", @@ -7347,19 +5323,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-boolean-object": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", @@ -7441,22 +5404,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "dev": true, - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -7516,25 +5463,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", @@ -7568,29 +5496,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-network-error": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz", - "integrity": "sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/is-number-object": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", @@ -7618,68 +5523,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-path-inside": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-is-inside": "^1.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", @@ -7848,22 +5691,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-wsl": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", - "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -7878,16 +5705,6 @@ "dev": true, "license": "ISC" }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/jackspeak": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.2.3.tgz", @@ -7922,56 +5739,12 @@ "node": ">=10" } }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "license": "MIT" }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -7992,13 +5765,6 @@ "dev": true, "license": "MIT" }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "license": "MIT" - }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", @@ -8048,43 +5814,22 @@ }, "node_modules/jsonpointer": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/launch-editor": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.13.0.tgz", - "integrity": "sha512-u+9asUHMJ99lA15VRMXw5XKfySFR9dGXwgsgS14YTbUq3GITP58mIM32At90P5fZ+MUId5Yw+IwI/yKub7jnCQ==", + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^1.1.1", - "shell-quote": "^1.8.3" + "json-buffer": "3.0.1" } }, "node_modules/leven": { @@ -8120,20 +5865,6 @@ "uc.micro": "^2.0.0" } }, - "node_modules/loader-runner": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", - "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -8164,13 +5895,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, "node_modules/lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", @@ -8190,16 +5914,6 @@ "loose-envify": "cli.js" } }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -8211,9 +5925,9 @@ } }, "node_modules/lucide-react": { - "version": "0.544.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.544.0.tgz", - "integrity": "sha512-t5tS44bqd825zAW45UQxpG2CvcC4urOwn2TrwSH8u+MjeE+1NnWl6QqeQ/6NdjMqdOygyiT9p3Ev0p1NJykxjw==", + "version": "0.575.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.575.0.tgz", + "integrity": "sha512-VuXgKZrk0uiDlWjGGXmKV6MSk9Yy4l10qgVvzGn2AWBx1Ylt0iBexKOAoA6I7JO3m+M9oeovJd3yYENfkUbOeg==", "license": "ISC", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" @@ -8262,141 +5976,20 @@ "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", "license": "MIT" }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "4.56.10", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.56.10.tgz", - "integrity": "sha512-eLvzyrwqLHnLYalJP7YZ3wBe79MXktMdfQbvMrVD80K+NhrIukCVBvgP30zTJYEEDh9hZ/ep9z0KOdD7FSHo7w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/fs-core": "4.56.10", - "@jsonjoy.com/fs-fsa": "4.56.10", - "@jsonjoy.com/fs-node": "4.56.10", - "@jsonjoy.com/fs-node-builtins": "4.56.10", - "@jsonjoy.com/fs-node-to-fsa": "4.56.10", - "@jsonjoy.com/fs-node-utils": "4.56.10", - "@jsonjoy.com/fs-print": "4.56.10", - "@jsonjoy.com/fs-snapshot": "4.56.10", - "@jsonjoy.com/json-pack": "^1.11.0", - "@jsonjoy.com/util": "^1.9.0", - "glob-to-regex.js": "^1.0.1", - "thingies": "^2.5.0", - "tree-dump": "^1.0.3", - "tslib": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true, - "license": "ISC" - }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.2.tgz", + "integrity": "sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^5.0.2" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minipass": { @@ -8416,20 +6009,6 @@ "dev": true, "license": "MIT" }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dev": true, - "license": "MIT", - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -8456,34 +6035,6 @@ "dev": true, "license": "MIT" }, - "node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "license": "MIT" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, "node_modules/node-releases": { "version": "2.0.27", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", @@ -8491,29 +6042,6 @@ "dev": true, "license": "MIT" }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -8567,65 +6095,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true, - "license": "MIT" - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", - "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/open": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", - "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "wsl-utils": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -8665,163 +6134,41 @@ "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/p-retry": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", - "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/retry": "0.12.2", - "is-network-error": "^1.0.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-author": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz", - "integrity": "sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "author-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", "dependencies": { - "entities": "^6.0.0" + "yocto-queue": "^0.1.0" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "dev": true, - "license": "BSD-2-Clause", "engines": { - "node": ">=0.12" + "node": ">=10" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, "engines": { - "node": ">= 0.8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } + "license": "BlueOak-1.0.0" }, "node_modules/path-exists": { "version": "4.0.0", @@ -8833,23 +6180,6 @@ "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "dev": true, - "license": "(WTFPL OR MIT)" - }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -8894,13 +6224,6 @@ "node": "20 || >=22" } }, - "node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", - "dev": true, - "license": "MIT" - }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -8909,138 +6232,18 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkijs": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.3.3.tgz", - "integrity": "sha512-+KD8hJtqQMYoTuL1bbGOqxb4z+nZkTAwVdNtWwe8Tc2xNbEmdJYIYoc6Qt0uF55e6YW6KuTHw1DjQ18gMhzepw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@noble/hashes": "1.4.0", - "asn1js": "^3.0.6", - "bytestreamjs": "^2.0.1", - "pvtsutils": "^1.3.6", - "pvutils": "^1.1.3", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=16.0.0" - } - }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -9080,90 +6283,6 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", - "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^7.0.0", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", - "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", - "dev": true, - "license": "ISC", - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-selector-parser": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", - "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true, - "license": "MIT" - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -9175,36 +6294,18 @@ } }, "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.1.1.tgz", + "integrity": "sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": "^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true, - "license": "MIT" - }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -9216,30 +6317,6 @@ "react-is": "^16.13.1" } }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -9259,42 +6336,6 @@ "node": ">=6" } }, - "node_modules/pvtsutils": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz", - "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.8.1" - } - }, - "node_modules/pvutils": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.5.tgz", - "integrity": "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/qs": { - "version": "6.14.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", - "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -9305,32 +6346,6 @@ "safe-buffer": "^5.1.0" } }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/react": { "version": "19.2.4", "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", @@ -9340,21 +6355,6 @@ "node": ">=0.10.0" } }, - "node_modules/react-compiler-webpack": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/react-compiler-webpack/-/react-compiler-webpack-0.2.1.tgz", - "integrity": "sha512-rZNkO7j5EHTj+kmp4yfQtPJcTLl9d5VKG9PcfjoSfZqwkuTtzdzxUeZws+D/71d1wH4e7rfn9rSoapVzo7emGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.28.4", - "@babel/plugin-syntax-jsx": "^7.27.1", - "@babel/plugin-syntax-typescript": "^7.27.1" - }, - "peerDependencies": { - "babel-plugin-react-compiler": "*" - } - }, "node_modules/react-dom": { "version": "19.2.4", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", @@ -9393,20 +6393,8 @@ "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", "dev": true, "license": "MIT", - "peer": true, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-refresh-typescript": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/react-refresh-typescript/-/react-refresh-typescript-2.0.11.tgz", - "integrity": "sha512-u6afET6t6NDNcxD67wSVlgazX/CiRuC7qSqALZueMckjmPQnOBajmwibJr2TTU6MtttDNPjBhD8K3AB8i0opJg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "react-refresh": "0.10.x || 0.11.x || 0.12.x || 0.13.x || 0.14.x || 0.15.x || 0.16.x || 0.17.x || 0.18.x || 0.19.x", - "typescript": "^4.8 || ^5.0" + "node": ">=0.10.0" } }, "node_modules/react-resizable": { @@ -9450,54 +6438,6 @@ "react-dom": "^18 || ^19" } }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/reflect-metadata": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", - "dev": true, - "license": "Apache-2.0" - }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -9600,30 +6540,6 @@ "regjsparser": "bin/parser" } }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "dev": true, - "license": "MIT", - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -9634,13 +6550,6 @@ "node": ">=0.10.0" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true, - "license": "MIT" - }, "node_modules/resolve": { "version": "1.22.11", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", @@ -9662,423 +6571,161 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/rollup": { - "version": "2.79.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", - "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", - "dev": true, - "license": "MIT", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/run-applescript": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", - "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "license": "MIT" - }, - "node_modules/sax": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", - "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", - "dev": true, - "license": "BlueOak-1.0.0", - "peer": true, - "engines": { - "node": ">=11.0.0" - } - }, - "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "license": "MIT" - }, - "node_modules/schema-utils": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/schema-utils/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true, - "license": "MIT" - }, - "node_modules/selfsigned": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-5.5.0.tgz", - "integrity": "sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==", - "dev": true, - "license": "MIT", - "dependencies": { - "@peculiar/x509": "^1.14.2", - "pkijs": "^3.3.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/send": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", - "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "node_modules/rollup": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", + "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", "dev": true, "license": "MIT", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.4.1", - "range-parser": "~1.2.1", - "statuses": "~2.0.2" + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">= 0.8.0" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.59.0", + "@rollup/rollup-android-arm64": "4.59.0", + "@rollup/rollup-darwin-arm64": "4.59.0", + "@rollup/rollup-darwin-x64": "4.59.0", + "@rollup/rollup-freebsd-arm64": "4.59.0", + "@rollup/rollup-freebsd-x64": "4.59.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", + "@rollup/rollup-linux-arm-musleabihf": "4.59.0", + "@rollup/rollup-linux-arm64-gnu": "4.59.0", + "@rollup/rollup-linux-arm64-musl": "4.59.0", + "@rollup/rollup-linux-loong64-gnu": "4.59.0", + "@rollup/rollup-linux-loong64-musl": "4.59.0", + "@rollup/rollup-linux-ppc64-gnu": "4.59.0", + "@rollup/rollup-linux-ppc64-musl": "4.59.0", + "@rollup/rollup-linux-riscv64-gnu": "4.59.0", + "@rollup/rollup-linux-riscv64-musl": "4.59.0", + "@rollup/rollup-linux-s390x-gnu": "4.59.0", + "@rollup/rollup-linux-x64-gnu": "4.59.0", + "@rollup/rollup-linux-x64-musl": "4.59.0", + "@rollup/rollup-openbsd-x64": "4.59.0", + "@rollup/rollup-openharmony-arm64": "4.59.0", + "@rollup/rollup-win32-arm64-msvc": "4.59.0", + "@rollup/rollup-win32-ia32-msvc": "4.59.0", + "@rollup/rollup-win32-x64-gnu": "4.59.0", + "@rollup/rollup-win32-x64-msvc": "4.59.0", + "fsevents": "~2.3.2" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT" }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-index": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.2.tgz", - "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", "dev": true, "license": "MIT", "dependencies": { - "accepts": "~1.3.8", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.8.0", - "mime-types": "~2.1.35", - "parseurl": "~1.3.3" + "es-errors": "^1.3.0", + "isarray": "^2.0.5" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true, - "license": "MIT", + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "node_modules/sax": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", + "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", "dev": true, - "license": "MIT", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": ">= 0.6" + "node": ">=11.0.0" } }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", "license": "MIT" }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/serve-static": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", - "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "~0.19.1" - }, - "engines": { - "node": ">= 0.8.0" + "randombytes": "^2.1.0" } }, "node_modules/set-function-length": { @@ -10130,26 +6777,6 @@ "node": ">= 0.4" } }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true, - "license": "ISC" - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/sharp": { "version": "0.33.5", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", @@ -10157,7 +6784,6 @@ "dev": true, "hasInstallScript": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.3", @@ -10197,7 +6823,6 @@ "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", - "peer": true, "bin": { "semver": "bin/semver.js" }, @@ -10228,19 +6853,6 @@ "node": ">=8" } }, - "node_modules/shell-quote": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", - "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/side-channel": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", @@ -10336,7 +6948,6 @@ "integrity": "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-arrayish": "^0.3.1" } @@ -10351,33 +6962,18 @@ "node": ">=20.0.0" } }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true, - "license": "MIT" - }, "node_modules/source-map": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", - "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "deprecated": "The work that was done in this beta branch won't be included in future versions", "dev": true, "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, "engines": { - "node": ">= 12" + "node": ">= 8" } }, "node_modules/source-map-js": { @@ -10419,55 +7015,6 @@ "dev": true, "license": "MIT" }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "dev": true, - "license": "MIT" - }, - "node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/stop-iteration-iterator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", @@ -10482,16 +7029,6 @@ "node": ">= 0.4" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, "node_modules/string.prototype.matchall": { "version": "4.0.12", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", @@ -10594,19 +7131,6 @@ "node": ">=4" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", @@ -10617,49 +7141,6 @@ "node": ">=10" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz", - "integrity": "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.27.0" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -10673,35 +7154,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tagged-tag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz", - "integrity": "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/temp-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", @@ -10722,21 +7174,8 @@ "is-stream": "^2.0.0", "temp-dir": "^2.0.0", "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "dev": true, - "license": "(MIT OR CC0-1.0)", + "unique-string": "^2.0.0" + }, "engines": { "node": ">=10" }, @@ -10763,72 +7202,6 @@ "node": ">=10" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.16", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", - "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", - "terser": "^5.31.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/thingies": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.5.0.tgz", - "integrity": "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "^2" - } - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true, - "license": "MIT" - }, "node_modules/tinyglobby": { "version": "0.2.15", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", @@ -10846,60 +7219,6 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, "node_modules/tr46": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", @@ -10910,23 +7229,6 @@ "punycode": "^2.1.0" } }, - "node_modules/tree-dump": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz", - "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, "node_modules/ts-api-utils": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", @@ -10940,66 +7242,13 @@ "typescript": ">=4.8.4" } }, - "node_modules/ts-loader": { - "version": "9.5.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.4.tgz", - "integrity": "sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4", - "source-map": "^0.7.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-loader/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, - "license": "0BSD" - }, - "node_modules/tsyringe": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.10.0.tgz", - "integrity": "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^1.9.3" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/tsyringe/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true, - "license": "0BSD" + "license": "0BSD", + "optional": true }, "node_modules/type-check": { "version": "0.4.0", @@ -11015,37 +7264,18 @@ } }, "node_modules/type-fest": { - "version": "5.4.4", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.4.4.tgz", - "integrity": "sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", "dev": true, "license": "(MIT OR CC0-1.0)", - "optional": true, - "peer": true, - "dependencies": { - "tagged-tag": "^1.0.0" - }, "engines": { - "node": ">=20" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/typed-array-buffer": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", @@ -11261,16 +7491,6 @@ "node": ">= 10.0.0" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", @@ -11323,371 +7543,118 @@ "punycode": "^2.1.0" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", - "dev": true, - "license": "MIT" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/watchpack": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", - "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/webpack": { - "version": "5.105.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.2.tgz", - "integrity": "sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==", + "node_modules/vite": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", + "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "dev": true, "license": "MIT", "dependencies": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.8", - "@types/json-schema": "^7.0.15", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.15.0", - "acorn-import-phases": "^1.0.3", - "browserslist": "^4.28.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.19.0", - "es-module-lexer": "^2.0.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.3.1", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^4.3.3", - "tapable": "^2.3.0", - "terser-webpack-plugin": "^5.3.16", - "watchpack": "^2.5.1", - "webpack-sources": "^3.3.3" + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" }, "bin": { - "webpack": "bin/webpack.js" + "vite": "bin/vite.js" }, "engines": { - "node": ">=10.13.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz", - "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@discoveryjs/json-ext": "^0.6.1", - "@webpack-cli/configtest": "^3.0.1", - "@webpack-cli/info": "^3.0.1", - "@webpack-cli/serve": "^3.0.1", - "colorette": "^2.0.14", - "commander": "^12.1.0", - "cross-spawn": "^7.0.3", - "envinfo": "^7.14.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^6.0.1" - }, - "bin": { - "webpack-cli": "bin/cli.js" + "url": "https://github.com/vitejs/vite?sponsor=1" }, - "engines": { - "node": ">=18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "optionalDependencies": { + "fsevents": "~2.3.3" }, "peerDependencies": { - "webpack": "^5.82.0" + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { - "webpack-bundle-analyzer": { + "@types/node": { "optional": true }, - "webpack-dev-server": { + "jiti": { "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.5.tgz", - "integrity": "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^4.43.1", - "mime-types": "^3.0.1", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { + }, + "less": { "optional": true - } - } - }, - "node_modules/webpack-dev-middleware/node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } } }, - "node_modules/webpack-dev-middleware/node_modules/mime-types": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", - "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "node_modules/vite-plugin-pwa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-1.2.0.tgz", + "integrity": "sha512-a2xld+SJshT9Lgcv8Ji4+srFJL4k/1bVbd1x06JIkvecpQkwkvCncD1+gSzcdm3s+owWLpMJerG3aN5jupJEVw==", "dev": true, "license": "MIT", "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/webpack-dev-server": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.3.tgz", - "integrity": "sha512-9Gyu2F7+bg4Vv+pjbovuYDhHX+mqdqITykfzdM9UyKqKHlsE5aAjRhR+oOEfXW5vBeu8tarzlJFIZva4ZjAdrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/bonjour": "^3.5.13", - "@types/connect-history-api-fallback": "^1.5.4", - "@types/express": "^4.17.25", - "@types/express-serve-static-core": "^4.17.21", - "@types/serve-index": "^1.9.4", - "@types/serve-static": "^1.15.5", - "@types/sockjs": "^0.3.36", - "@types/ws": "^8.5.10", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.2.1", - "chokidar": "^3.6.0", - "colorette": "^2.0.10", - "compression": "^1.8.1", - "connect-history-api-fallback": "^2.0.0", - "express": "^4.22.1", - "graceful-fs": "^4.2.6", - "http-proxy-middleware": "^2.0.9", - "ipaddr.js": "^2.1.0", - "launch-editor": "^2.6.1", - "open": "^10.0.3", - "p-retry": "^6.2.0", - "schema-utils": "^4.2.0", - "selfsigned": "^5.5.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^7.4.2", - "ws": "^8.18.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" + "debug": "^4.3.6", + "pretty-bytes": "^6.1.1", + "tinyglobby": "^0.2.10", + "workbox-build": "^7.4.0", + "workbox-window": "^7.4.0" }, "engines": { - "node": ">= 18.12.0" + "node": ">=16.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/antfu" }, "peerDependencies": { - "webpack": "^5.0.0" + "@vite-pwa/assets-generator": "^1.0.0", + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "workbox-build": "^7.4.0", + "workbox-window": "^7.4.0" }, "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { + "@vite-pwa/assets-generator": { "optional": true } } }, - "node_modules/webpack-merge": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", - "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.1" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.4.tgz", - "integrity": "sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=0.8.0" - } + "license": "BSD-2-Clause" }, "node_modules/whatwg-url": { "version": "7.1.0", @@ -11806,13 +7773,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true, - "license": "MIT" - }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", @@ -11918,71 +7878,93 @@ "ajv": ">=8" } }, - "node_modules/workbox-build/node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "node_modules/workbox-build/node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } } }, - "node_modules/workbox-build/node_modules/balanced-match": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.3.tgz", - "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==", + "node_modules/workbox-build/node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", "dev": true, "license": "MIT", - "engines": { - "node": "20 || >=22" + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" } }, - "node_modules/workbox-build/node_modules/brace-expansion": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", - "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", + "node_modules/workbox-build/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^4.0.2" + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" }, "engines": { - "node": "20 || >=22" + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/workbox-build/node_modules/glob": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz", - "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "node_modules/workbox-build/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT" + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", "dependencies": { - "foreground-child": "^3.3.1", - "jackspeak": "^4.1.1", - "minimatch": "^10.1.1", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/workbox-build/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true, + "license": "MIT" + }, "node_modules/workbox-build/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -11990,34 +7972,46 @@ "dev": true, "license": "MIT" }, - "node_modules/workbox-build/node_modules/minimatch": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.2.tgz", - "integrity": "sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==", + "node_modules/workbox-build/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.2" + "license": "MIT", + "engines": { + "node": ">=8.6" }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/workbox-build/node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "license": "MIT", "engines": { - "node": "18 || 20 || >=22" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/workbox-build/node_modules/source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "deprecated": "The work that was done in this beta branch won't be included in future versions", + "node_modules/workbox-build/node_modules/rollup": { + "version": "2.80.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.80.0.tgz", + "integrity": "sha512-cIFJOD1DESzpjOBl763Kp1AH7UE/0fcdHe6rZXUdQ9c50uvgigvW97u3IcSeBwOkgqL/PXPBktBCh0KEu5L8XQ==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "whatwg-url": "^7.0.0" + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">= 8" + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, "node_modules/workbox-cacheable-response": { @@ -12153,47 +8147,6 @@ "dev": true, "license": "MIT" }, - "node_modules/workbox-webpack-plugin": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-7.4.0.tgz", - "integrity": "sha512-NRgx4lYe4JP5I8qqiROmngbc38WyyN3BZh48lUir2XYJ63EuHWN0KpDxgcYQ/fJtQQIBoswwUPmpqwQmaupnxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "7.4.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "webpack": "^4.4.0 || ^5.91.0" - } - }, - "node_modules/workbox-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, "node_modules/workbox-window": { "version": "7.4.0", "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-7.4.0.tgz", @@ -12205,58 +8158,12 @@ "workbox-core": "7.4.0" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/ws": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", - "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/wsl-utils": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", - "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-wsl": "^3.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/xml2js": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" @@ -12271,7 +8178,6 @@ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=4.0" } diff --git a/package.json b/package.json index 541a9ffb9..21ae00f35 100644 --- a/package.json +++ b/package.json @@ -7,16 +7,16 @@ "build:core:release": "node buildCore.js --release", "build:core:deploy": "node buildCore.js --max-opt --nightly", "lint": "eslint src", - "publish": "webpack --mode production", - "serve": "webpack serve", + "publish": "vite build", + "serve": "vite", "tauri:icons": "tauri icon src/assets/icon.png", - "tauri:build-html": "webpack --mode production --env TAURI=true", + "tauri:build-html": "vite build --mode tauri", "tauri:watch": "tauri dev", "tauri:publish": "tauri build" }, "dependencies": { "idb": "^8.0.0", - "lucide-react": "^0.544.0", + "lucide-react": "^0.575.0", "markdown-it": "^14.1.0", "react": "^19.0.0", "react-dom": "^19.0.0", @@ -26,29 +26,20 @@ }, "devDependencies": { "@babel/plugin-transform-explicit-resource-management": "^7.28.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.6.1", "@tauri-apps/cli": "^2.2.7", "@types/markdown-it": "^14.1.2", + "@types/node": "^25.3.0", "@types/react": "^19.0.10", "@types/react-dom": "^19.0.4", "@types/react-resizable": "^3.0.3", "@types/react-sidebar": "^3.0.2", - "clean-webpack-plugin": "^4.0.0", - "css-loader": "^7.1.2", - "eslint": "^9.20.1", - "favicons-webpack-plugin": "^6.0.0", - "html-inline-script-webpack-plugin": "^3.1.0", - "html-webpack-plugin": "^5.6.0", - "react-compiler-webpack": "^0.2.0", - "react-refresh-typescript": "^2.0.7", - "style-loader": "^4.0.0", - "ts-loader": "^9.4.2", + "@vitejs/plugin-react": "^5.1.4", + "eslint": "^10.0.1", + "favicons": "^7.2.0", "typescript": "^5.9.3", "typescript-eslint": "^8.24.0", - "webpack": "^5.91.0", - "webpack-cli": "^6.0.1", - "webpack-dev-server": "^5.2.0", - "workbox-webpack-plugin": "^7.0.0" + "vite": "^7.3.1", + "vite-plugin-pwa": "^1.0.3" }, "prettier": { "quoteProps": "consistent", diff --git a/src/assets/screenshot-narrow.png b/src/assets/screenshot-narrow.png new file mode 100644 index 0000000000000000000000000000000000000000..c41c4875c2304e48c7f223af6f39df13bbb61ee5 GIT binary patch literal 121221 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 z⪙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

FI1kLw$f?>hhaLs86LZ*})NSo{Dt_ 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 H9RI%n_oZEG literal 0 HcmV?d00001 diff --git a/src/catchWasmError.ts b/src/catchWasmError.ts new file mode 100644 index 000000000..34652d4a1 --- /dev/null +++ b/src/catchWasmError.ts @@ -0,0 +1,10 @@ +import { preloadWasm } from "./livesplit-core/preload"; + +// Unfortunately, this module can't depend on the localization system, so we +// have to hardcode the error message here. This is because the localization +// system itself depends on the WebAssembly module. But if it fails loading, we +// can't ever resolve the message to display to the user. So we just have to +// hardcode it here. +preloadWasm().catch((e) => { + alert("Couldn't load LiveSplit One.\nYou may be using a browser that is not up to date.\nPlease update your browser or your iOS version and try again.\nAnother reason might be that a browser extension, such as an adblocker, is blocking access to important scripts. Here's the exact error message for reporting purposes:\n\n" + e); +}); diff --git a/src/css/RunEditor.module.css b/src/css/RunEditor.module.css index 532441be1..b192d5368 100644 --- a/src/css/RunEditor.module.css +++ b/src/css/RunEditor.module.css @@ -157,6 +157,12 @@ composes: table from "Table.module.css"; td { overflow: hidden; + &.segmentIconContainer { + height: 19px; + cursor: pointer; + display: flex; + justify-content: center; + } > input { width: 100%; @@ -173,13 +179,6 @@ } } -tbody > tr > .segmentIconContainer { - height: 19px; - cursor: pointer; - display: flex; - justify-content: center; -} - .bottomSection { display: flex; flex-wrap: wrap; diff --git a/src/index.tsx b/src/index.tsx index c31d6e3eb..52ecb191e 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,89 +1,78 @@ // The polyfill must be imported before anything else, as it may be required by // other modules. import "./polyfill"; -import { preloadWasm } from "./livesplit-core/preload"; +import "./catchWasmError"; +import { LiveSplit } from "./ui/LiveSplit"; +import React from "react"; +import { createRoot } from "react-dom/client"; import { Label, resolve } from "./localization"; -if ( - process.env.NODE_ENV === "production" && - window.__TAURI__ == null && - "serviceWorker" in navigator -) { - navigator.serviceWorker.register("/service-worker.js"); -} - -preloadWasm(); - import "./css/variables.css"; import "./css/main.css"; try { - const { LiveSplit, React, createRoot } = await import("./indexDelayed"); - - try { - const { - splits, - splitsKey, - layout, - comparison, - timingMethod, - hotkeys, - layoutWidth, - layoutHeight, - generalSettings, - } = await LiveSplit.loadStoredData(); + const { + splits, + splitsKey, + layout, + comparison, + timingMethod, + hotkeys, + layoutWidth, + layoutHeight, + generalSettings, + } = await LiveSplit.loadStoredData(); - async function requestWakeLock() { - try { - await (navigator as any)?.wakeLock?.request(); - } catch { - // It's fine if it fails. - } + async function requestWakeLock() { + try { + await (navigator as any)?.wakeLock?.request(); + } catch { + // It's fine if it fails. } + } - requestWakeLock(); + requestWakeLock(); - document.addEventListener("visibilitychange", () => { - if (document.visibilityState === "visible") { - requestWakeLock(); - } - }); + document.addEventListener("visibilitychange", () => { + if (document.visibilityState === "visible") { + requestWakeLock(); + } + }); - // The renderer requires the fonts to be loaded before it gets created - // as otherwise information may be cached incorrectly. - try { - const promises = []; - for (const fontFace of document.fonts) { - if (fontFace.family === "timer" || fontFace.family === "fira") { - promises.push(fontFace.load()); - } + // The renderer requires the fonts to be loaded before it gets created + // as otherwise information may be cached incorrectly. + try { + const promises = []; + for (const fontFace of document.fonts) { + if (fontFace.family === "timer" || fontFace.family === "fira") { + promises.push(fontFace.load()); } - await Promise.all(promises); - } catch { - // If somehow something goes wrong, that's kind of bad, but we - // should still have the fallback fonts that we can fall back to. } + await Promise.all(promises); + } catch { + // If somehow something goes wrong, that's kind of bad, but we + // should still have the fallback fonts that we can fall back to. + } - const container = document.getElementById("base"); - const root = createRoot(container!); - root.render( - , - ); - } catch (e: any) { - if (e.name === "InvalidStateError") { - alert(resolve(Label.LoadFailedPrivateBrowsing, undefined)); - } + const container = document.getElementById("base"); + const root = createRoot(container!); + root.render( + , + ); +} catch (e: any) { + if (e.name === "InvalidStateError") { + alert(resolve(Label.LoadFailedPrivateBrowsing, undefined)); + } else { + alert(`${resolve(Label.LoadFailedOutdatedBrowser, undefined)}\n\n${e}`); } -} catch (_) { - alert(resolve(Label.LoadFailedOutdatedBrowser, undefined)); } diff --git a/src/indexDelayed.ts b/src/indexDelayed.ts deleted file mode 100644 index cdacee161..000000000 --- a/src/indexDelayed.ts +++ /dev/null @@ -1,20 +0,0 @@ -// This bundles all the imports that are used in the `index.ts` file. They are -// not imported directly there, because we want to keep the size of the -// `index.html` as small as possible, so it can focus on requesting the WASM -// file as soon as possible. This should result in the `indexDelayed.ts` bundle -// containing basically all the JS. This JS bundle and the WASM file should then -// be requested in parallel. While it would be possible to request these all -// individually over in the `index.ts`, browsers don't actually like doing too -// many requests in parallel and it turns out that big JavaScript files actually -// compress better than having many small ones. The WASM file also is pretty -// big, so ideally we are not bottlenecked by the large JS file. If necessary, -// we could do some more bundle splitting for stuff that isn't used until much -// later, like the Markdown library. - -// FIXME: Look into pulling even more CSS out of the index.ts as well. - -import { LiveSplit } from "./ui/LiveSplit"; -import React from "react"; -import { createRoot } from "react-dom/client"; - -export { LiveSplit, React, createRoot }; diff --git a/src/ui/Embed.tsx b/src/ui/Embed.tsx index c6e3d52bd..a436c05b3 100644 --- a/src/ui/Embed.tsx +++ b/src/ui/Embed.tsx @@ -1,7 +1,7 @@ import * as React from "react"; import { Option } from "../util/OptionUtil"; -import * as runEditorClasses from "../css/RunEditor.module.css"; +import runEditorClasses from "../css/RunEditor.module.css"; export function resolveEmbed(uri: string): Option { const youtube = tryYoutubeFromUri(uri); diff --git a/src/ui/LiveSplit.tsx b/src/ui/LiveSplit.tsx index 8c0948dad..e7874e8bc 100644 --- a/src/ui/LiveSplit.tsx +++ b/src/ui/LiveSplit.tsx @@ -61,9 +61,9 @@ import timerFont from "../css/timer.woff"; import firaFont from "../css/FiraSans-Regular.woff"; import "react-toastify/dist/ReactToastify.css"; -import * as classes from "../css/LiveSplit.module.css"; -import * as sidebarClasses from "../css/Sidebar.module.css"; -import * as toastClasses from "../css/Toast.module.css"; +import classes from "../css/LiveSplit.module.css"; +import sidebarClasses from "../css/Sidebar.module.css"; +import toastClasses from "../css/Toast.module.css"; import { Label, orAutoLang, resolve, setHtmlLang } from "../localization"; function getRootCssVar(name: string) { diff --git a/src/ui/components/ColorPicker.tsx b/src/ui/components/ColorPicker.tsx index 00c9d8524..07c879c12 100644 --- a/src/ui/components/ColorPicker.tsx +++ b/src/ui/components/ColorPicker.tsx @@ -3,7 +3,7 @@ import { useEffect, useState } from "react"; import { Color } from "../../livesplit-core"; import { Pipette } from "lucide-react"; -import * as classes from "../../css/ColorPicker.module.css"; +import classes from "../../css/ColorPicker.module.css"; const EyeDropper = (window as any).EyeDropper; const hasEyeDropper = !!EyeDropper; diff --git a/src/ui/components/ContextMenu.tsx b/src/ui/components/ContextMenu.tsx index 7c6475a13..7469ae464 100644 --- a/src/ui/components/ContextMenu.tsx +++ b/src/ui/components/ContextMenu.tsx @@ -1,7 +1,7 @@ import React, { createContext, useContext, ReactNode } from "react"; import { expect } from "../../util/OptionUtil"; -import * as classes from "../../css/ContextMenu.module.css"; +import classes from "../../css/ContextMenu.module.css"; import { Language } from "../../livesplit-core"; export interface Position { diff --git a/src/ui/components/Dialog.tsx b/src/ui/components/Dialog.tsx index adec4fb88..fe28a25ca 100644 --- a/src/ui/components/Dialog.tsx +++ b/src/ui/components/Dialog.tsx @@ -1,6 +1,6 @@ import React, { useState, useEffect } from "react"; -import * as classes from "../../css/Dialog.module.css"; +import classes from "../../css/Dialog.module.css"; export interface Options { title: string | React.JSX.Element; diff --git a/src/ui/components/DragUpload.tsx b/src/ui/components/DragUpload.tsx index 4306ae7e9..b0d2d8edb 100644 --- a/src/ui/components/DragUpload.tsx +++ b/src/ui/components/DragUpload.tsx @@ -1,7 +1,7 @@ import React, { useEffect, useRef } from "react"; import { toast } from "react-toastify"; -import * as classes from "../../css/DragUpload.module.css"; +import classes from "../../css/DragUpload.module.css"; export function DragUpload({ children, diff --git a/src/ui/components/Layout.tsx b/src/ui/components/Layout.tsx index 3db993350..53edd6626 100644 --- a/src/ui/components/Layout.tsx +++ b/src/ui/components/Layout.tsx @@ -6,7 +6,7 @@ import AutoRefresh from "../../util/AutoRefresh"; import { UrlCache } from "../../util/UrlCache"; import { GeneralSettings } from "../views/MainSettings"; -import * as classes from "../../css/Layout.module.css"; +import classes from "../../css/Layout.module.css"; export function Layout({ getState, diff --git a/src/ui/components/Leaderboard.tsx b/src/ui/components/Leaderboard.tsx index 5b3fad574..db8191142 100644 --- a/src/ui/components/Leaderboard.tsx +++ b/src/ui/components/Leaderboard.tsx @@ -13,10 +13,10 @@ import { Markdown, replaceFlag } from "./Markdown"; import { formatLeaderboardTime } from "../../util/TimeUtil"; import { formatDate, Label, resolve } from "../../localization"; -import * as classes from "../../css/Leaderboard.module.css"; -import * as runEditorClasses from "../../css/RunEditor.module.css"; -import * as tableClasses from "../../css/Table.module.css"; -import * as markdownClasses from "../../css/Markdown.module.css"; +import classes from "../../css/Leaderboard.module.css"; +import runEditorClasses from "../../css/RunEditor.module.css"; +import tableClasses from "../../css/Table.module.css"; +import markdownClasses from "../../css/Markdown.module.css"; import { Language } from "../../livesplit-core"; export interface Filters { diff --git a/src/ui/components/Markdown.tsx b/src/ui/components/Markdown.tsx index 19a64c4af..10cdea6a4 100644 --- a/src/ui/components/Markdown.tsx +++ b/src/ui/components/Markdown.tsx @@ -2,7 +2,7 @@ import * as React from "react"; import markdownit from "markdown-it"; import { emoteList } from "../../api/EmoteList"; -import * as classes from "../../css/Markdown.module.css"; +import classes from "../../css/Markdown.module.css"; const UNSAFE = markdownit({ html: true, breaks: false, linkify: true }); const SAFE = markdownit({ html: false, breaks: true, linkify: true }); diff --git a/src/ui/components/Settings/Accuracy.tsx b/src/ui/components/Settings/Accuracy.tsx index 4f63e8eee..a15d80268 100644 --- a/src/ui/components/Settings/Accuracy.tsx +++ b/src/ui/components/Settings/Accuracy.tsx @@ -4,7 +4,7 @@ import { AccuracyJson, Language } from "../../../livesplit-core"; import { SettingValueFactory } from "."; import { Label, resolve } from "../../../localization"; -import * as tableClasses from "../../../css/Table.module.css"; +import tableClasses from "../../../css/Table.module.css"; export function Accuracy({ value, diff --git a/src/ui/components/Settings/Alignment.tsx b/src/ui/components/Settings/Alignment.tsx index f3a688a41..4e2e70e7d 100644 --- a/src/ui/components/Settings/Alignment.tsx +++ b/src/ui/components/Settings/Alignment.tsx @@ -1,10 +1,10 @@ import * as React from "react"; import { expect } from "../../../util/OptionUtil"; -import { Alignment, Language } from "../../../livesplit-core"; +import type { Alignment, Language } from "../../../livesplit-core"; import { SettingValueFactory } from "."; import { Label, resolve } from "../../../localization"; -import * as tableClasses from "../../../css/Table.module.css"; +import tableClasses from "../../../css/Table.module.css"; export function Alignment({ value, diff --git a/src/ui/components/Settings/Color.tsx b/src/ui/components/Settings/Color.tsx index 7b33aae2f..30387a304 100644 --- a/src/ui/components/Settings/Color.tsx +++ b/src/ui/components/Settings/Color.tsx @@ -1,10 +1,10 @@ import * as React from "react"; -import { Color } from "../../../livesplit-core"; +import type { Color } from "../../../livesplit-core"; import { SettingValueFactory } from "."; import { ColorPicker } from "../ColorPicker"; import { Switch } from "../Switch"; -import * as tableClasses from "../../../css/Table.module.css"; +import tableClasses from "../../../css/Table.module.css"; export function Color({ value, diff --git a/src/ui/components/Settings/Column.tsx b/src/ui/components/Settings/Column.tsx index 50b85113c..84370b6dd 100644 --- a/src/ui/components/Settings/Column.tsx +++ b/src/ui/components/Settings/Column.tsx @@ -1,6 +1,6 @@ import * as React from "react"; import { expect } from "../../../util/OptionUtil"; -import { +import type { ColumnKind, ColumnStartWith, ColumnUpdateWith, @@ -10,7 +10,7 @@ import { import { SettingValueFactory } from "."; import { Label, resolve } from "../../../localization"; -import * as tableClasses from "../../../css/Table.module.css"; +import tableClasses from "../../../css/Table.module.css"; export function ColumnKind({ value, diff --git a/src/ui/components/Settings/DigitsFormat.tsx b/src/ui/components/Settings/DigitsFormat.tsx index de6278405..6ac396d5c 100644 --- a/src/ui/components/Settings/DigitsFormat.tsx +++ b/src/ui/components/Settings/DigitsFormat.tsx @@ -3,7 +3,7 @@ import { expect } from "../../../util/OptionUtil"; import { DigitsFormatJson, Language } from "../../../livesplit-core"; import { SettingValueFactory } from "."; -import * as tableClasses from "../../../css/Table.module.css"; +import tableClasses from "../../../css/Table.module.css"; export function DigitsFormat({ value, diff --git a/src/ui/components/Settings/Font.tsx b/src/ui/components/Settings/Font.tsx index a8e9224fe..d1bb90113 100644 --- a/src/ui/components/Settings/Font.tsx +++ b/src/ui/components/Settings/Font.tsx @@ -1,12 +1,12 @@ import * as React from "react"; import { expect } from "../../../util/OptionUtil"; -import { Font, Language } from "../../../livesplit-core"; +import type { Font, Language } from "../../../livesplit-core"; import { SettingValueFactory } from "."; import { Switch } from "../Switch"; import * as FontList from "../../../util/FontList"; import { Label, resolve } from "../../../localization"; -import * as tableClasses from "../../../css/Table.module.css"; +import tableClasses from "../../../css/Table.module.css"; export function Font({ value, diff --git a/src/ui/components/Settings/Gradient.tsx b/src/ui/components/Settings/Gradient.tsx index 333374d02..687c99ac0 100644 --- a/src/ui/components/Settings/Gradient.tsx +++ b/src/ui/components/Settings/Gradient.tsx @@ -1,5 +1,5 @@ import * as React from "react"; -import { +import type { Color, DeltaGradient, Gradient, @@ -11,7 +11,7 @@ import { assertNever, expect, Option } from "../../../util/OptionUtil"; import { ColorPicker } from "../ColorPicker"; import { Label, resolve } from "../../../localization"; -import * as tableClasses from "../../../css/Table.module.css"; +import tableClasses from "../../../css/Table.module.css"; export function Gradient({ value, diff --git a/src/ui/components/Settings/HotkeyButton.tsx b/src/ui/components/Settings/HotkeyButton.tsx index 251156538..cb11d0425 100644 --- a/src/ui/components/Settings/HotkeyButton.tsx +++ b/src/ui/components/Settings/HotkeyButton.tsx @@ -5,8 +5,8 @@ import { Circle, Trash } from "lucide-react"; import { Label, resolve } from "../../../localization"; import { Language } from "../../../livesplit-core"; -import * as classes from "../../../css/HotkeyButton.module.css"; -import * as tooltipClasses from "../../../css/Tooltip.module.css"; +import classes from "../../../css/HotkeyButton.module.css"; +import tooltipClasses from "../../../css/Tooltip.module.css"; function resolveKey( keyCode: string, diff --git a/src/ui/components/Settings/LayoutBackground.tsx b/src/ui/components/Settings/LayoutBackground.tsx index 2aa13711d..3f1a6ff95 100644 --- a/src/ui/components/Settings/LayoutBackground.tsx +++ b/src/ui/components/Settings/LayoutBackground.tsx @@ -1,6 +1,10 @@ import * as React from "react"; import { Option, assertNever, expect } from "../../../util/OptionUtil"; -import { Color, Language, LayoutBackground } from "../../../livesplit-core"; +import type { + Color, + Language, + LayoutBackground, +} from "../../../livesplit-core"; import { ColorPicker } from "../ColorPicker"; import { SettingValueFactory } from "."; import { UrlCache } from "../../../util/UrlCache"; @@ -8,8 +12,8 @@ import { toast } from "react-toastify"; import { FILE_EXT_IMAGES, openFileAsArrayBuffer } from "../../../util/FileUtil"; import { Label, resolve } from "../../../localization"; -import * as colorPickerClasses from "../../../css/ColorPicker.module.css"; -import * as tableClasses from "../../../css/Table.module.css"; +import colorPickerClasses from "../../../css/ColorPicker.module.css"; +import tableClasses from "../../../css/Table.module.css"; export function LayoutBackground({ value, diff --git a/src/ui/components/Settings/LayoutDirection.tsx b/src/ui/components/Settings/LayoutDirection.tsx index fe38c8058..d3ad869f7 100644 --- a/src/ui/components/Settings/LayoutDirection.tsx +++ b/src/ui/components/Settings/LayoutDirection.tsx @@ -1,10 +1,10 @@ import * as React from "react"; import { expect } from "../../../util/OptionUtil"; -import { Language, LayoutDirection } from "../../../livesplit-core"; +import type { Language, LayoutDirection } from "../../../livesplit-core"; import { SettingValueFactory } from "."; import { Label, resolve } from "../../../localization"; -import * as tableClasses from "../../../css/Table.module.css"; +import tableClasses from "../../../css/Table.module.css"; export function LayoutDirection({ value, diff --git a/src/ui/components/Settings/ServerConnectionButton.tsx b/src/ui/components/Settings/ServerConnectionButton.tsx index e392ff8db..911835d3f 100644 --- a/src/ui/components/Settings/ServerConnectionButton.tsx +++ b/src/ui/components/Settings/ServerConnectionButton.tsx @@ -4,8 +4,8 @@ import { LiveSplitServer } from "../../../api/LiveSplitServer"; import { Label, resolve } from "../../../localization"; import { Language } from "../../../livesplit-core"; -import * as classes from "../../../css/LiveSplitServerButton.module.css"; -import * as tableClasses from "../../../css/Table.module.css"; +import classes from "../../../css/LiveSplitServerButton.module.css"; +import tableClasses from "../../../css/Table.module.css"; export function ServerConnectionButton({ value, diff --git a/src/ui/components/Settings/String.tsx b/src/ui/components/Settings/String.tsx index 424348409..1da2cabb7 100644 --- a/src/ui/components/Settings/String.tsx +++ b/src/ui/components/Settings/String.tsx @@ -5,8 +5,8 @@ import { Switch } from "../Switch"; import { Label, resolve } from "../../../localization"; import { Language } from "../../../livesplit-core"; -import * as tableClasses from "../../../css/Table.module.css"; -import * as tooltipClasses from "../../../css/Tooltip.module.css"; +import tableClasses from "../../../css/Table.module.css"; +import tooltipClasses from "../../../css/Tooltip.module.css"; export function String({ value, diff --git a/src/ui/components/Settings/TimingMethod.tsx b/src/ui/components/Settings/TimingMethod.tsx index 497a2dbcf..45c0cb143 100644 --- a/src/ui/components/Settings/TimingMethod.tsx +++ b/src/ui/components/Settings/TimingMethod.tsx @@ -5,7 +5,7 @@ import { SettingValueFactory } from "."; import { Switch } from "../Switch"; import { Label, resolve } from "../../../localization"; -import * as tableClasses from "../../../css/Table.module.css"; +import tableClasses from "../../../css/Table.module.css"; export function OptionalTimingMethod({ value, diff --git a/src/ui/components/Settings/index.tsx b/src/ui/components/Settings/index.tsx index 25d0dae80..e3ff46b6a 100644 --- a/src/ui/components/Settings/index.tsx +++ b/src/ui/components/Settings/index.tsx @@ -34,8 +34,8 @@ import { } from "./String"; import { Label, resolve } from "../../../localization"; -import * as tableClasses from "../../../css/Table.module.css"; -import * as tooltipClasses from "../../../css/Tooltip.module.css"; +import tableClasses from "../../../css/Table.module.css"; +import tooltipClasses from "../../../css/Tooltip.module.css"; export interface Props { context: string; diff --git a/src/ui/components/Switch.tsx b/src/ui/components/Switch.tsx index 61b74427c..a1a1f8c8d 100644 --- a/src/ui/components/Switch.tsx +++ b/src/ui/components/Switch.tsx @@ -1,6 +1,6 @@ import React from "react"; -import * as classes from "../../css/Switch.module.css"; +import classes from "../../css/Switch.module.css"; export function Switch({ checked, diff --git a/src/ui/components/TextBox.tsx b/src/ui/components/TextBox.tsx index 61392cf92..c6a36ffbe 100644 --- a/src/ui/components/TextBox.tsx +++ b/src/ui/components/TextBox.tsx @@ -1,6 +1,6 @@ import * as React from "react"; -import * as classes from "../../css/TextBox.module.css"; +import classes from "../../css/TextBox.module.css"; export function TextBox({ className, diff --git a/src/ui/views/About.tsx b/src/ui/views/About.tsx index 673d0a907..4d7bd4920 100644 --- a/src/ui/views/About.tsx +++ b/src/ui/views/About.tsx @@ -6,7 +6,7 @@ import { ArrowLeft } from "lucide-react"; import { GeneralSettings } from "./MainSettings"; import { formatDate, getLocale, Label, resolve } from "../../localization"; -import * as classes from "../../css/About.module.css"; +import classes from "../../css/About.module.css"; import { Language, Lang } from "../../livesplit-core"; interface Callbacks { diff --git a/src/ui/views/LayoutEditor.tsx b/src/ui/views/LayoutEditor.tsx index 02106c4b0..bb5a044e5 100644 --- a/src/ui/views/LayoutEditor.tsx +++ b/src/ui/views/LayoutEditor.tsx @@ -15,10 +15,10 @@ import { import { ArrowDown, ArrowUp, Check, Copy, Plus, Trash, X } from "lucide-react"; import { Label, orAutoLang, resolve } from "../../localization"; -import * as classes from "../../css/LayoutEditor.module.css"; -import * as buttonGroupClasses from "../../css/ButtonGroup.module.css"; -import * as tableClasses from "../../css/Table.module.css"; -import * as tooltipClasses from "../../css/Tooltip.module.css"; +import classes from "../../css/LayoutEditor.module.css"; +import buttonGroupClasses from "../../css/ButtonGroup.module.css"; +import tableClasses from "../../css/Table.module.css"; +import tooltipClasses from "../../css/Tooltip.module.css"; export interface Props { editor: LiveSplit.LayoutEditor; diff --git a/src/ui/views/LayoutView.tsx b/src/ui/views/LayoutView.tsx index 150f635d7..b88f21c58 100644 --- a/src/ui/views/LayoutView.tsx +++ b/src/ui/views/LayoutView.tsx @@ -24,7 +24,7 @@ import { } from "lucide-react"; import { Label, resolve } from "../../localization"; -import * as sidebarClasses from "../../css/Sidebar.module.css"; +import sidebarClasses from "../../css/Sidebar.module.css"; export interface Props { isDesktop: boolean; diff --git a/src/ui/views/MainSettings.tsx b/src/ui/views/MainSettings.tsx index 45f457e2a..d86f35ccc 100644 --- a/src/ui/views/MainSettings.tsx +++ b/src/ui/views/MainSettings.tsx @@ -23,7 +23,7 @@ import { Option } from "../../util/OptionUtil"; import { LSOCommandSink } from "../../util/LSOCommandSink"; import { Check, FlaskConical, X } from "lucide-react"; -import * as buttonGroupClasses from "../../css/ButtonGroup.module.css"; +import buttonGroupClasses from "../../css/ButtonGroup.module.css"; import { Label, orAutoLang, resolve, setHtmlLang } from "../../localization"; export interface GeneralSettings { diff --git a/src/ui/views/RunEditor.tsx b/src/ui/views/RunEditor.tsx index 5cd99cea5..9a241e509 100644 --- a/src/ui/views/RunEditor.tsx +++ b/src/ui/views/RunEditor.tsx @@ -49,11 +49,11 @@ import { } from "../components/Leaderboard"; import { Label, orAutoLang, resolve } from "../../localization"; -import * as classes from "../../css/RunEditor.module.css"; -import * as buttonGroupClasses from "../../css/ButtonGroup.module.css"; -import * as tableClasses from "../../css/Table.module.css"; -import * as markdownClasses from "../../css/Markdown.module.css"; -import * as tooltipClasses from "../../css/Tooltip.module.css"; +import classes from "../../css/RunEditor.module.css"; +import buttonGroupClasses from "../../css/ButtonGroup.module.css"; +import tableClasses from "../../css/Table.module.css"; +import markdownClasses from "../../css/Markdown.module.css"; +import tooltipClasses from "../../css/Tooltip.module.css"; export interface Props { editor: LiveSplit.RunEditor; diff --git a/src/ui/views/SplitsSelection.tsx b/src/ui/views/SplitsSelection.tsx index 72716d470..de2437e6a 100644 --- a/src/ui/views/SplitsSelection.tsx +++ b/src/ui/views/SplitsSelection.tsx @@ -35,8 +35,8 @@ import { Upload, } from "lucide-react"; -import * as classes from "../../css/SplitsSelection.module.css"; -import * as sidebarClasses from "../../css/Sidebar.module.css"; +import classes from "../../css/SplitsSelection.module.css"; +import sidebarClasses from "../../css/Sidebar.module.css"; export interface EditingInfo { splitsKey?: number; diff --git a/src/ui/views/TimerView.tsx b/src/ui/views/TimerView.tsx index 51237e643..2c982a30e 100644 --- a/src/ui/views/TimerView.tsx +++ b/src/ui/views/TimerView.tsx @@ -33,9 +33,9 @@ import { import LiveSplitIcon from "../../assets/icon.svg"; -import * as classes from "../../css/TimerView.module.css"; -import * as sidebarClasses from "../../css/Sidebar.module.css"; -import * as buttonGroupClasses from "../../css/ButtonGroup.module.css"; +import classes from "../../css/TimerView.module.css"; +import sidebarClasses from "../../css/Sidebar.module.css"; +import buttonGroupClasses from "../../css/ButtonGroup.module.css"; import { Label, orAutoLang, resolve } from "../../localization"; export interface Props { diff --git a/src/util/OptionUtil.tsx b/src/util/OptionUtil.tsx index 61e2f6c14..9f91853a0 100644 --- a/src/util/OptionUtil.tsx +++ b/src/util/OptionUtil.tsx @@ -1,7 +1,7 @@ import * as React from "react"; import { toast } from "react-toastify"; -import * as toastClasses from "../css/Toast.module.css"; +import toastClasses from "../css/Toast.module.css"; import { Label, resolve } from "../localization"; import { Language } from "../livesplit-core"; diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 000000000..f07699092 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "target": "ES2024", + "module": "ESNext", + "moduleResolution": "Bundler", + "strict": true, + "noImplicitAny": true, + "types": [ + "node" + ], + "lib": [ + "ES2024" + ] + }, + "include": [ + "vite.config.ts" + ] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 000000000..20c32401f --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,380 @@ +import { execSync } from "node:child_process"; +import { promises as fs } from "node:fs"; +import path from "node:path"; +import { defineConfig, type Plugin, type UserConfig } from "vite"; +import react from "@vitejs/plugin-react"; +import { VitePWA } from "vite-plugin-pwa"; +import favicons from "favicons"; + +let faviconGenerationPromise: Promise | undefined; +let faviconHtmlTags: string[] = []; + +async function generateFavicons() { + const source = path.resolve("src", "assets", "icon.svg"); + const outputDir = path.resolve("public", "icons"); + + await fs.mkdir(outputDir, { recursive: true }); + + const result = await favicons(source, { + path: "/icons/", + appName: "LiveSplit One", + appDescription: + "A version of LiveSplit that works on a lot of platforms.", + developerName: "CryZe", + developerURL: "https://livesplit.org", + background: "#171717", + theme_color: "#232323", + display: "standalone", + orientation: "any", + start_url: "/", + lang: "en-US", + appleStatusBarStyle: "black-translucent", + manifestMaskable: path.resolve("src", "assets", "maskable.svg"), + icons: { + appleIcon: { + offset: 10, + }, + appleStartup: { + offset: 15, + }, + windows: false, + yandex: false, + } as any, + }); + + faviconHtmlTags = result.html; + + await Promise.all([ + ...result.images.map((image) => + fs.writeFile(path.join(outputDir, image.name), image.contents), + ), + ...result.files.map((file) => + fs.writeFile(path.join(outputDir, file.name), file.contents), + ), + ]); + + const screenshotDefs = [ + { file: "screenshot-wide.png", formFactor: "wide", sizes: "1280x720" }, + { file: "screenshot-narrow.png", formFactor: "narrow", sizes: "469x834" }, + ]; + const screenshots: { src: string; sizes: string; type: string; form_factor: string; label: string }[] = []; + for (const def of screenshotDefs) { + const srcPath = path.resolve("src", "assets", def.file); + try { + await fs.access(srcPath); + await fs.copyFile(srcPath, path.join(outputDir, def.file)); + screenshots.push({ + src: `/icons/${def.file}`, + sizes: def.sizes, + type: "image/png", + form_factor: def.formFactor, + label: "LiveSplit One", + }); + } catch { + // Screenshot file not found, skip. + } + } + if (screenshots.length > 0) { + const manifestPath = path.join(outputDir, "manifest.webmanifest"); + const manifest = JSON.parse(await fs.readFile(manifestPath, "utf-8")); + manifest.screenshots = screenshots; + await fs.writeFile(manifestPath, JSON.stringify(manifest, null, 2)); + } +} + +async function ensureFavicons() { + faviconGenerationPromise ??= generateFavicons(); + await faviconGenerationPromise; +} + +function parseChangelog() { + return execSync('git log --grep "^Changelog" -10') + .toString() + .split(/^commit /m) + .slice(1) + .map((commit: string) => { + const dateString = commit.match(/^Date: (.*)$/m)?.[1]; + if (!dateString) { + throw `Date not found in commit:\n${commit}`; + } + const dateValue = new Date(dateString); + const date = dateValue.toISOString().split("T")[0]; + const id = commit.substring(0, commit.indexOf("\n")); + const changelogEntries = parseChangelogEntries(commit); + if (changelogEntries.length === 0) { + throw `Changelog not found in commit:\n${commit}`; + } + const messages: Record = {}; + for (const entry of changelogEntries) { + messages[entry.lang] = entry.message; + } + const message = + messages.en ?? + messages["en-US"] ?? + Object.values(messages)[0] ?? + ""; + return { + id, + message, + messages, + date, + }; + }) + .filter((changelog: { message: string }) => changelog.message); +} + +function parseChangelogEntries(commit: string) { + const entries: { lang: string; message: string }[] = []; + let current: { lang: string; message: string } | null = null; + for (const line of commit.split("\n")) { + const match = line.match(/^ Changelog(?:\s*\(([^)]+)\))?:\s*(.*)$/); + if (match) { + if (current) { + current.message = current.message.trim(); + entries.push(current); + } + const lang = match[1] || "en"; + current = { lang, message: match[2] }; + continue; + } + if (current && line.startsWith(" ")) { + current.message += `\n${line.replace(/^ /, "")}`; + } + } + if (current) { + current.message = current.message.trim(); + entries.push(current); + } + return entries.filter((entry) => entry.message); +} + +async function getContributorsForRepo(repoName: string, githubToken?: string) { + const contributorsData = await fetch( + `https://api.github.com/repos/LiveSplit/${repoName}/contributors`, + { + headers: { + ...(githubToken + ? { Authorization: `Bearer ${githubToken}` } + : {}), + }, + }, + ); + + if (!contributorsData.ok) { + throw new Error( + `GitHub API request for ${repoName} failed: ${contributorsData.status} ${contributorsData.statusText}`, + ); + } + + return contributorsData.json(); +} + +function preloadPlugin() { + let base = "/"; + + return { + name: "lso-preload-plugin", + enforce: "post", + configResolved(config: any) { + base = config.base || "/"; + }, + transformIndexHtml: { + order: "post" as const, + handler(html: string) { + // Inject with a placeholder that will replace + // with the hashed URL. + const preloads = [ + ``, + ``, + ``, + ].join("\n "); + const script = ``; + return html.replace("", `\n ${preloads}\n ${script}`); + }, + }, + generateBundle(_options: any, bundle: any) { + const wasmEntry = Object.keys(bundle).find((key: string) => + key.endsWith(".wasm"), + ); + const timerFont = Object.keys(bundle).find((key: string) => + key.endsWith(".woff") && /(?:^|[\\/])timer[^/\\]*\.woff$/.test(key), + ); + const firaFont = Object.keys(bundle).find((key: string) => + key.endsWith(".woff") && /(?:^|[\\/])FiraSans[^/\\]*\.woff$/.test(key), + ); + + for (const chunk of Object.values(bundle) as any[]) { + if ( + chunk.type === "asset" && + chunk.fileName.endsWith(".html") + ) { + let source = chunk.source as string; + if (wasmEntry) { + source = source.replaceAll( + "__WASM_PRELOAD_URL__", + `${base}${wasmEntry}`, + ); + } + if (timerFont) { + source = source.replaceAll( + "__FONT_TIMER_URL__", + `${base}${timerFont}`, + ); + } + if (firaFont) { + source = source.replaceAll( + "__FONT_FIRA_URL__", + `${base}${firaFont}`, + ); + } + chunk.source = source; + } + } + }, + }; +} + +export default defineConfig(async ({ mode }) => { + const isTauri = mode === "tauri"; + const isProduction = mode === "production"; + + await ensureFavicons(); + + const isBuildOptimized = isProduction || isTauri; + + let contributorsList: { id: number; name: string }[] = []; + const changelog = parseChangelog(); + try { + const [lsoContributorsList, coreContributorsList] = await Promise.all([ + getContributorsForRepo("LiveSplitOne", process.env.GITHUB_TOKEN), + getContributorsForRepo("livesplit-core", process.env.GITHUB_TOKEN), + ]); + + const coreContributorsMap: Record = {}; + for (const coreContributor of coreContributorsList) { + if ( + coreContributor.type === "User" && + !coreContributor.login.includes("dependabot") + ) { + coreContributorsMap[coreContributor.login] = coreContributor; + } + } + + for (const lsoContributor of lsoContributorsList) { + const existingContributor = + coreContributorsMap[lsoContributor.login]; + if (existingContributor) { + existingContributor.contributions += + lsoContributor.contributions; + } else if ( + lsoContributor.type === "User" && + !lsoContributor.login.includes("dependabot") + ) { + coreContributorsMap[lsoContributor.login] = lsoContributor; + } + } + + contributorsList = Object.values(coreContributorsMap) + .sort((a: any, b: any) => + a.login > b.login ? 1 : b.login > a.login ? -1 : 0, + ) + .sort((a: any, b: any) => b.contributions - a.contributions) + .map((user: any) => { + return { id: user.id, name: user.login }; + }); + } catch (e) { + if (isBuildOptimized) { + throw e; + } + console.warn("Failed to load GitHub data, skipping:", e); + } + + const commitHash = execSync("git rev-parse --short HEAD").toString(); + const date = new Date() + .toISOString() + .replace("T", " ") + .replace(/\..+/, " UTC"); + + return { + plugins: [ + isBuildOptimized ? preloadPlugin() : undefined, + react({ + babel: { + plugins: [ + // Necessary until Safari supports `using` declarations: + // https://caniuse.com/mdn-javascript_statements_using + // https://caniuse.com/mdn-javascript_statements_await_using + "@babel/plugin-transform-explicit-resource-management", + ], + }, + }), + ...(!isTauri + ? [ + { + name: "inject-generated-favicons", + transformIndexHtml(html: string) { + if (faviconHtmlTags.length === 0) { + return html; + } + + return html.replace( + "", + `${faviconHtmlTags.join("\n")}\n`, + ); + }, + }, + ] as Plugin[] + : []), + ...(!isTauri && isProduction + ? [ + VitePWA({ + registerType: "autoUpdate", + injectRegister: "inline", + manifest: false, + filename: "service-worker.js", + workbox: { + clientsClaim: true, + skipWaiting: true, + maximumFileSizeToCacheInBytes: 100 * 1024 * 1024, + globPatterns: [ + "**/*.{js,css,html,wasm,woff}", + ], + globIgnores: ["icons/**"], + runtimeCaching: [ + { + urlPattern: ({ url }: { url: URL }) => + url.origin === self.origin && + url.pathname.startsWith("/icons/"), + handler: "CacheFirst" as const, + }, + ], + }, + }), + ] + : []), + ], + define: { + BUILD_DATE: JSON.stringify(date), + COMMIT_HASH: JSON.stringify(commitHash), + CONTRIBUTORS_LIST: JSON.stringify(contributorsList), + CHANGELOG: JSON.stringify(changelog), + }, + css: { + modules: { + generateScopedName: isBuildOptimized + ? "[hash:base64]" + : "[name]_[local]_[hash:base64]", + }, + }, + build: { + target: "esnext", + outDir: + isTauri + ? path.join("src-tauri", "target", "dist") + : path.join("dist"), + emptyOutDir: true, + chunkSizeWarningLimit: 1024, + }, + esbuild: { legalComments: 'none' }, + } satisfies UserConfig; +}); diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 59bb8bfa5..000000000 --- a/webpack.config.js +++ /dev/null @@ -1,321 +0,0 @@ -import HtmlWebpackPlugin from "html-webpack-plugin"; -import HtmlInlineScriptPlugin from "html-inline-script-webpack-plugin"; -import FaviconsWebpackPlugin from "favicons-webpack-plugin"; -import { CleanWebpackPlugin } from "clean-webpack-plugin"; -import WorkboxPlugin from "workbox-webpack-plugin"; -import ReactRefreshTypeScript from "react-refresh-typescript"; -import ReactRefreshWebpackPlugin from "@pmmmwh/react-refresh-webpack-plugin"; -import webpack from "webpack"; -import { execSync } from "child_process"; -import path from "path"; -import { fileURLToPath } from "url"; -import { - defineReactCompilerLoaderOption, - reactCompilerLoader, -} from "react-compiler-webpack"; - -function parseChangelog() { - return execSync('git log --grep "^Changelog" -10') - .toString() - .split(/^commit /m) - .slice(1) - .map((commit) => { - const dateString = commit.match(/^Date: (.*)$/m)?.[1]; - if (!dateString) { - throw `Date not found in commit:\n${commit}`; - } - const dateValue = new Date(dateString); - const date = dateValue.toISOString().split("T")[0]; - const id = commit.substring(0, commit.indexOf("\n")); - const changelogEntries = parseChangelogEntries(commit); - if (changelogEntries.length === 0) { - throw `Changelog not found in commit:\n${commit}`; - } - const messages = {}; - for (const entry of changelogEntries) { - messages[entry.lang] = entry.message; - } - const message = - messages.en ?? - messages["en-US"] ?? - Object.values(messages)[0] ?? - ""; - return { - id, - message, - messages, - date, - }; - }) - .filter((changelog) => changelog.message); -} - -function parseChangelogEntries(commit) { - const entries = []; - let current = null; - for (const line of commit.split("\n")) { - const match = line.match(/^ Changelog(?:\s*\(([^)]+)\))?:\s*(.*)$/); - if (match) { - if (current) { - current.message = current.message.trim(); - entries.push(current); - } - const lang = match[1] || "en"; - current = { lang, message: match[2] }; - continue; - } - if (current && line.startsWith(" ")) { - current.message += `\n${line.replace(/^ /, "")}`; - } - } - if (current) { - current.message = current.message.trim(); - entries.push(current); - } - return entries.filter((entry) => entry.message); -} - -export default async (env, argv) => { - const getContributorsForRepo = async (repoName) => { - const contributorsData = await fetch( - `https://api.github.com/repos/LiveSplit/${repoName}/contributors`, - { - headers: { - Authorization: env.GITHUB_TOKEN - ? `Bearer ${env.GITHUB_TOKEN}` - : undefined, - }, - }, - ); - return contributorsData.json(); - }; - - const lsoContributorsList = await getContributorsForRepo("LiveSplitOne"); - const coreContributorsList = await getContributorsForRepo("livesplit-core"); - - const coreContributorsMap = {}; - for (const coreContributor of coreContributorsList) { - if ( - coreContributor.type === "User" && - !coreContributor.login.includes("dependabot") - ) { - coreContributorsMap[coreContributor.login] = coreContributor; - } - } - - for (let lsoContributor of lsoContributorsList) { - const existingContributor = coreContributorsMap[lsoContributor.login]; - if (existingContributor) { - existingContributor.contributions += lsoContributor.contributions; - } else if ( - lsoContributor.type === "User" && - !lsoContributor.login.includes("dependabot") - ) { - coreContributorsMap[lsoContributor.login] = lsoContributor; - } - } - - const contributorsList = Object.values(coreContributorsMap) - // Sort by contributions, but fallback to alphabetical order for the - // same amount of contributions - .sort((a, b) => (a.login > b.login ? 1 : b.login > a.login ? -1 : 0)) - .sort((a, b) => b.contributions - a.contributions) - .map((user) => { - return { id: user.id, name: user.login }; - }); - const commitHash = execSync("git rev-parse --short HEAD").toString(); - const date = new Date() - .toISOString() - .replace("T", " ") - .replace(/\..+/, " UTC"); - - const changelog = parseChangelog(); - - const basePath = path.dirname(fileURLToPath(import.meta.url)); - - const isProduction = argv.mode === "production"; - const isTauri = env.TAURI === "true"; - const distPath = path.join( - ...[ - basePath, - ...(isTauri ? ["src-tauri", "target", "dist"] : ["dist"]), - ], - ); - - return { - entry: { - bundle: ["./src/index.tsx"], - }, - output: { - filename: "[name].js", - path: distPath, - publicPath: "", - }, - - devtool: isProduction ? undefined : "source-map", - - devServer: { - port: 8080, - hot: true, - }, - - resolve: { - extensions: [ - ".webpack.js", - ".web.js", - ".ts", - ".tsx", - ".js", - ".json", - ".wasm", - ], - }, - - plugins: [ - ...(isProduction - ? [ - new CleanWebpackPlugin({ - protectWebpackAssets: false, - cleanAfterEveryBuildPatterns: ["*.LICENSE.txt"], - }), - ] - : []), - ...(isTauri - ? [] - : [ - new FaviconsWebpackPlugin({ - logo: path.resolve("src/assets/icon.svg"), - inject: true, - logoMaskable: path.resolve("src/assets/maskable.svg"), - favicons: { - appName: "LiveSplit One", - appDescription: - "A version of LiveSplit that works on a lot of platforms.", - developerName: "CryZe", - developerURL: "https://livesplit.org", - background: "#171717", - theme_color: "#232323", - appleStatusBarStyle: "black-translucent", - icons: { - appleIcon: { - offset: 10, - }, - appleStartup: { - offset: 15, - }, - windows: false, - coast: false, - yandex: false, - }, - start_url: "/", - }, - }), - ]), - new HtmlWebpackPlugin({ - template: "./src/index.html", - }), - new webpack.DefinePlugin({ - BUILD_DATE: JSON.stringify(date), - COMMIT_HASH: JSON.stringify(commitHash), - CONTRIBUTORS_LIST: JSON.stringify(contributorsList), - CHANGELOG: JSON.stringify(changelog), - }), - ...(isProduction - ? [ - new HtmlInlineScriptPlugin({ - scriptMatchPattern: ["^bundle.js$"], - }), - ...(isTauri - ? [] - : [ - new WorkboxPlugin.GenerateSW({ - clientsClaim: true, - skipWaiting: true, - maximumFileSizeToCacheInBytes: - 100 * 1024 * 1024, - exclude: [/^assets/, /\.LICENSE\.txt$/], - - runtimeCaching: [ - { - urlPattern: (context) => { - return ( - self.origin === - context.url.origin && - context.url.pathname.startsWith( - "/assets/", - ) - ); - }, - handler: "CacheFirst", - }, - ], - }), - ]), - ] - : []), - ...(!isProduction ? [new ReactRefreshWebpackPlugin()] : []), - ], - - module: { - rules: [ - { - test: /\.tsx?$/, - use: [ - ...(isProduction - ? [ - { - loader: reactCompilerLoader, - options: defineReactCompilerLoaderOption({ - babelTransFormOpt: { - plugins: [ - "@babel/plugin-transform-explicit-resource-management", - ], - }, - }), - }, - ] - : []), - { - loader: "ts-loader", - options: { - getCustomTransformers: () => ({ - before: [ - !isProduction && - ReactRefreshTypeScript(), - ].filter(Boolean), - }), - transpileOnly: !isProduction, - }, - }, - ], - exclude: "/node_modules", - }, - { - test: /\.css$/, - use: [ - "style-loader", - { - loader: "css-loader", - options: { - modules: { - auto: true, - // In development mode, we want to know - // which classes are being used in the DOM. - localIdentName: isProduction - ? "[hash:base64]" - : "[name]_[local]_[hash:base64]", - }, - }, - }, - ], - }, - { - test: /\.(png|jpg|gif|woff|ico|svg)$/, - type: "asset/resource", - }, - ], - }, - - mode: isProduction ? "production" : "development", - }; -};