diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 221cc29..0000000 --- a/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "tabWidth": 2, - "printWidth": 100, - "trailingComma": "all", - "singleQuote": true, - "endOfLine": "lf" -} diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..fe6ef66 --- /dev/null +++ b/biome.json @@ -0,0 +1,31 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.9.2/schema.json", + "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true }, + "files": { "ignoreUnknown": false, "ignore": [] }, + "formatter": { + "enabled": true, + "useEditorconfig": true, + "formatWithErrors": false, + "indentStyle": "space", + "lineEnding": "lf", + "lineWidth": 100 + }, + "organizeImports": { "enabled": true }, + "linter": { + "enabled": true, + "rules": { + "style": { + "noNonNullAssertion": "off" + }, + "suspicious": { + "noEmptyBlock": "off" + } + } + }, + "javascript": { + "formatter": { + "trailingCommas": "all", + "quoteStyle": "single" + } + } +} diff --git a/eslint.config.js b/eslint.config.js deleted file mode 100644 index 2a0f9c1..0000000 --- a/eslint.config.js +++ /dev/null @@ -1,26 +0,0 @@ -import eslint from '@eslint/js'; -import tseslint from 'typescript-eslint'; -import react from '@eslint-react/eslint-plugin'; -import jsxA11y from 'eslint-plugin-jsx-a11y'; -import gitignore from 'eslint-config-flat-gitignore'; - -export default tseslint.config( - eslint.configs.recommended, - ...tseslint.configs.recommended, - react.configs.recommended, - jsxA11y.flatConfigs.recommended, - gitignore(), - { - rules: { - '@typescript-eslint/no-unused-vars': [ - 'warn', - { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }, - ], - }, - settings: { - react: { - version: 'detect', - }, - }, - }, -); diff --git a/package.json b/package.json index 0df1eb7..5c70d2a 100644 --- a/package.json +++ b/package.json @@ -17,13 +17,11 @@ "zip:firefox": "wxt zip -b firefox", "clean": "wxt clean", "postinstall": "wxt prepare", - "lint": "eslint .", - "format": "prettier --write \"src/**/*.ts\" \"src/**/*.tsx\"", + "check": "biome check", "lingui:extract": "lingui extract" }, "devDependencies": { - "@eslint-react/eslint-plugin": "^1.14.1", - "@eslint/js": "^9.10.0", + "@biomejs/biome": "^1.9.2", "@lingui/cli": "^4.11.4", "@lingui/swc-plugin": "^4.0.10", "@lingui/vite-plugin": "^4.11.4", @@ -31,7 +29,6 @@ "@svgr/core": "^8.1.0", "@svgr/plugin-jsx": "^8.1.0", "@types/chrome": "^0.0.271", - "@types/eslint__js": "^8.42.3", "@types/mdx": "^2.0.13", "@types/node": "^22.5.5", "@types/randomstring": "^1.3.0", @@ -39,17 +36,12 @@ "@types/react-dom": "^18.3.0", "@types/redux-logger": "^3.0.13", "@vitejs/plugin-react-swc": "^3.7.0", - "eslint": "^9.10.0", - "eslint-config-flat-gitignore": "^0.3.0", - "eslint-plugin-jsx-a11y": "^6.10.0", - "prettier": "^3.3.3", "randomstring": "^1.3.0", "remark-mdx-images": "^3.0.0", "remark-unwrap-images": "^4.0.0", "rollup-preserve-directives": "^1.1.1", "terser": "^5.33.0", "typescript": "^5.6.2", - "typescript-eslint": "8.6.0", "unplugin-icons": "^0.19.3", "vite-plugin-chunk-split": "^0.5.0", "wxt": "^0.19.9" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 81003c8..4888746 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -72,12 +72,9 @@ importers: specifier: ^3.3.5 version: 3.3.5(react@18.3.1) devDependencies: - '@eslint-react/eslint-plugin': - specifier: ^1.14.1 - version: 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint/js': - specifier: ^9.10.0 - version: 9.10.0 + '@biomejs/biome': + specifier: ^1.9.2 + version: 1.9.2 '@lingui/cli': specifier: ^4.11.4 version: 4.11.4(typescript@5.6.2) @@ -99,9 +96,6 @@ importers: '@types/chrome': specifier: ^0.0.271 version: 0.0.271 - '@types/eslint__js': - specifier: ^8.42.3 - version: 8.42.3 '@types/mdx': specifier: ^2.0.13 version: 2.0.13 @@ -123,18 +117,6 @@ importers: '@vitejs/plugin-react-swc': specifier: ^3.7.0 version: 3.7.0(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0)) - eslint: - specifier: ^9.10.0 - version: 9.10.0(jiti@1.21.6) - eslint-config-flat-gitignore: - specifier: ^0.3.0 - version: 0.3.0(eslint@9.10.0(jiti@1.21.6)) - eslint-plugin-jsx-a11y: - specifier: ^6.10.0 - version: 6.10.0(eslint@9.10.0(jiti@1.21.6)) - prettier: - specifier: ^3.3.3 - version: 3.3.3 randomstring: specifier: ^1.3.0 version: 1.3.0 @@ -153,9 +135,6 @@ importers: typescript: specifier: ^5.6.2 version: 5.6.2 - typescript-eslint: - specifier: 8.6.0 - version: 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) unplugin-icons: specifier: ^0.19.3 version: 0.19.3(@svgr/core@8.1.0(typescript@5.6.2))(webpack-sources@3.2.3) @@ -267,6 +246,63 @@ packages: resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} + '@biomejs/biome@1.9.2': + resolution: {integrity: sha512-4j2Gfwft8Jqp1X0qLYvK4TEy4xhTo4o6rlvJPsjPeEame8gsmbGQfOPBkw7ur+7/Z/f0HZmCZKqbMvR7vTXQYQ==} + engines: {node: '>=14.21.3'} + hasBin: true + + '@biomejs/cli-darwin-arm64@1.9.2': + resolution: {integrity: sha512-rbs9uJHFmhqB3Td0Ro+1wmeZOHhAPTL3WHr8NtaVczUmDhXkRDWScaxicG9+vhSLj1iLrW47itiK6xiIJy6vaA==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [darwin] + + '@biomejs/cli-darwin-x64@1.9.2': + resolution: {integrity: sha512-BlfULKijNaMigQ9GH9fqJVt+3JTDOSiZeWOQtG/1S1sa8Lp046JHG3wRJVOvekTPL9q/CNFW1NVG8J0JN+L1OA==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [darwin] + + '@biomejs/cli-linux-arm64-musl@1.9.2': + resolution: {integrity: sha512-ZATvbUWhNxegSALUnCKWqetTZqrK72r2RsFD19OK5jXDj/7o1hzI1KzDNG78LloZxftrwr3uI9SqCLh06shSZw==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@biomejs/cli-linux-arm64@1.9.2': + resolution: {integrity: sha512-T8TJuSxuBDeQCQzxZu2o3OU4eyLumTofhCxxFd3+aH2AEWVMnH7Z/c3QP1lHI5RRMBP9xIJeMORqDQ5j+gVZzw==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@biomejs/cli-linux-x64-musl@1.9.2': + resolution: {integrity: sha512-CjPM6jT1miV5pry9C7qv8YJk0FIZvZd86QRD3atvDgfgeh9WQU0k2Aoo0xUcPdTnoz0WNwRtDicHxwik63MmSg==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@biomejs/cli-linux-x64@1.9.2': + resolution: {integrity: sha512-T0cPk3C3Jr2pVlsuQVTBqk2qPjTm8cYcTD9p/wmR9MeVqui1C/xTVfOIwd3miRODFMrJaVQ8MYSXnVIhV9jTjg==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@biomejs/cli-win32-arm64@1.9.2': + resolution: {integrity: sha512-2x7gSty75bNIeD23ZRPXyox6Z/V0M71ObeJtvQBhi1fgrvPdtkEuw7/0wEHg6buNCubzOFuN9WYJm6FKoUHfhg==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [win32] + + '@biomejs/cli-win32-x64@1.9.2': + resolution: {integrity: sha512-JC3XvdYcjmu1FmAehVwVV0SebLpeNTnO2ZaMdGCSOdS7f8O9Fq14T2P1gTG1Q29Q8Dt1S03hh0IdVpIZykOL8g==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [win32] + '@devicefarmer/adbkit-logcat@2.1.3': resolution: {integrity: sha512-yeaGFjNBc/6+svbDeul1tNHtNChw6h8pSHAt5D+JsedUrMTN7tla7B15WLDyekxsuS2XlZHRxpuC6m92wiwCNw==} engines: {node: '>= 4'} @@ -748,79 +784,6 @@ packages: cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.4.0': - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - - '@eslint-community/regexpp@4.11.1': - resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - '@eslint-react/ast@1.14.1': - resolution: {integrity: sha512-FzhWRl/kBF5cZky4G/I5kkRiwVUTjGNfP+fwwx94NImaH1CvnMk6ataBNNtvxXKrbWGpZSexT4vHjotfZTEXMA==} - - '@eslint-react/core@1.14.1': - resolution: {integrity: sha512-SK19+40fAYWtliPV9cRIZr0cnKIBkQJE8XWr0R2QobrWw2tkKKYqCLWwR0TpuxrjAd/JpG5TTcPHAgffCRtliw==} - - '@eslint-react/eslint-plugin@1.14.1': - resolution: {integrity: sha512-aMuUJrSbUCj/+S4McaMNuEg2R8JA8aZVLgdLf5bYuNi7YYpZ7kIMaKdlLW53UlaER9kRb8lrorFUL3cyg7Yc4w==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ^4.9.5 || ^5.3.3 - peerDependenciesMeta: - typescript: - optional: true - - '@eslint-react/jsx@1.14.1': - resolution: {integrity: sha512-NN8pIM3gZDk7Zusd2fFBaA78Zv98PxBDEBP/lxwSZNkuuUtgrHEBYWKRYs10hz1B6Vp1bvhIcnLO/BQThvJJog==} - - '@eslint-react/shared@1.14.1': - resolution: {integrity: sha512-gceHz2fZeJh+EwxQC+ozh+cFbnpDALnDxpamDFxZI1QRdy0wtrB0MjJFSSZ9F6WUITWxoic2T3071U9BCjI3/Q==} - - '@eslint-react/tools@1.14.1': - resolution: {integrity: sha512-4kutt+JCXuLatE6fBuNJ6IA2+ndgdymEvq/HQuhW2Xs6+pEqaxwrHT2GeaQbc5U8pfJCEWAYvYX1r0XF/v9gJQ==} - - '@eslint-react/types@1.14.1': - resolution: {integrity: sha512-WWw6e8/EHMIMOmN3SvvfiNyKJdQOrt1ugTAJIPHnNyKzOgCKhpN0xbtIQY3ghjhAm3GBO87aWB42q6a/YZd00w==} - - '@eslint-react/var@1.14.1': - resolution: {integrity: sha512-dzjwC4XM5v3aT1pc+1JxV3aZne4eyjiu+/ajkpCgnDM7Cual63uaHNBTE4LBUQiA2/oYU4iHAa9EcEn31k3EhA==} - - '@eslint/compat@1.1.1': - resolution: {integrity: sha512-lpHyRyplhGPL5mGEh6M9O5nnKk0Gz4bFI+Zu6tKlPpDUN7XshWvH9C/px4UVm87IAANE0W81CEsNGbS1KlzXpA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/config-array@0.18.0': - resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/eslintrc@3.1.0': - resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/js@9.10.0': - resolution: {integrity: sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/object-schema@2.1.4': - resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/plugin-kit@0.1.0': - resolution: {integrity: sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - - '@humanwhocodes/retry@0.3.0': - resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} - engines: {node: '>=18.18'} - '@iconify-json/fa6-solid@1.2.0': resolution: {integrity: sha512-hywmSkhPqay1lBtEltuGhawtUpq18Yyko8H2e3/artvTv5Eey1hz7OdBA2cXRwiES17KrkmXGoLDwNtkcpN4cw==} @@ -1319,12 +1282,6 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/eslint@9.6.1': - resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} - - '@types/eslint__js@8.42.3': - resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} - '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} @@ -1358,9 +1315,6 @@ packages: '@types/istanbul-reports@3.0.4': resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -1418,63 +1372,6 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.6.0': - resolution: {integrity: sha512-UOaz/wFowmoh2G6Mr9gw60B1mm0MzUtm6Ic8G2yM1Le6gyj5Loi/N+O5mocugRGY+8OeeKmkMmbxNqUCq3B4Sg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/parser@8.6.0': - resolution: {integrity: sha512-eQcbCuA2Vmw45iGfcyG4y6rS7BhWfz9MQuk409WD47qMM+bKCGQWXxvoOs1DUp+T7UBMTtRTVT+kXr7Sh4O9Ow==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/scope-manager@8.6.0': - resolution: {integrity: sha512-ZuoutoS5y9UOxKvpc/GkvF4cuEmpokda4wRg64JEia27wX+PysIE9q+lzDtlHHgblwUWwo5/Qn+/WyTUvDwBHw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/type-utils@8.6.0': - resolution: {integrity: sha512-dtePl4gsuenXVwC7dVNlb4mGDcKjDT/Ropsk4za/ouMBPplCLyznIaR+W65mvCvsyS97dymoBRrioEXI7k0XIg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/types@8.6.0': - resolution: {integrity: sha512-rojqFZGd4MQxw33SrOy09qIDS8WEldM8JWtKQLAjf/X5mGSeEFh5ixQlxssMNyPslVIk9yzWqXCsV2eFhYrYUw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/typescript-estree@8.6.0': - resolution: {integrity: sha512-MOVAzsKJIPIlLK239l5s06YXjNqpKTVhBVDnqUumQJja5+Y94V3+4VUFRA0G60y2jNnTVwRCkhyGQpavfsbq/g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/utils@8.6.0': - resolution: {integrity: sha512-eNp9cWnYf36NaOVjkEUznf6fEgVy1TWpE0o52e4wtojjBx7D1UV2WAWGzR+8Y5lVFtpMLPwNbC67T83DWSph4A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - - '@typescript-eslint/visitor-keys@8.6.0': - resolution: {integrity: sha512-wapVFfZg9H0qOYh4grNVQiMklJGluQrOUiOhYRrQWhx7BY/+I1IYb8BczWNbbUpO+pqy0rDciv3lQH5E1bCLrg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -1506,9 +1403,6 @@ packages: resolution: {integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==} engines: {node: '>=12.0'} - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} @@ -1554,40 +1448,14 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - aria-query@5.1.3: - resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} - - array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} - array-differ@4.0.0: resolution: {integrity: sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - array-includes@3.1.8: - resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} - engines: {node: '>= 0.4'} - array-union@3.0.1: resolution: {integrity: sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==} engines: {node: '>=12'} - array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} - - array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} - - arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} - - ast-types-flow@0.0.8: - resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - astring@1.9.0: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true @@ -1602,18 +1470,6 @@ packages: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} - - axe-core@4.10.0: - resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==} - engines: {node: '>=4'} - - axobject-query@4.1.0: - resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} - engines: {node: '>= 0.4'} - babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} @@ -1635,9 +1491,6 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - birecord@0.1.1: - resolution: {integrity: sha512-VUpsf/qykW0heRlC8LooCq28Kxn3mAqKohhDG/49rrsQ1dT1CXyj/pgXS+5BSRzFTR/3DyIBOqQOrGyZOh71Aw==} - bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -1718,10 +1571,6 @@ packages: resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} engines: {node: '>=14.16'} - call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} - callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -1969,21 +1818,6 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - damerau-levenshtein@1.0.8: - resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} - date-fns@3.6.0: resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} @@ -2017,17 +1851,10 @@ packages: deep-diff@0.3.8: resolution: {integrity: sha512-yVn6RZmHiGnxRKR9sJb3iVV2XTF1Ghh2DiWRZ3dMnGc43yUdWWF/kX6lQyk3+P84iprfWKU/8zFTrlkvtFm1ug==} - deep-equal@2.2.3: - resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} - engines: {node: '>= 0.4'} - deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - default-browser-id@3.0.0: resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} engines: {node: '>=12'} @@ -2051,10 +1878,6 @@ packages: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} @@ -2063,10 +1886,6 @@ packages: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} @@ -2140,43 +1959,9 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} - - es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - - es-iterator-helpers@1.0.19: - resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} - engines: {node: '>= 0.4'} - es-module-lexer@1.5.4: resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} - es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} - - es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} @@ -2215,115 +2000,6 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - eslint-config-flat-gitignore@0.3.0: - resolution: {integrity: sha512-0Ndxo4qGhcewjTzw52TK06Mc00aDtHNTdeeW2JfONgDcLkRO/n/BteMRzNVpLQYxdCC/dFEilfM9fjjpGIJ9Og==} - peerDependencies: - eslint: ^9.5.0 - - eslint-plugin-jsx-a11y@6.10.0: - resolution: {integrity: sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - - eslint-plugin-react-debug@1.14.1: - resolution: {integrity: sha512-VFkRmXGCgmCCgUsdBpmARYhFvKbK7XgF41hgQrEhJAfYA0lXE2Urb+VkVpk57xUk+ZxMQy3sy6A1P4tQ+83hrQ==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ^4.9.5 || ^5.3.3 - peerDependenciesMeta: - typescript: - optional: true - - eslint-plugin-react-dom@1.14.1: - resolution: {integrity: sha512-hVcublIn4aAvudpl39I0l/1ldJJvn5rINHc71m+balFeKt5Qk0nPTUdPRCWRyp4ExD/mEbWAcEIP/pS0b5B/Vg==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ^4.9.5 || ^5.3.3 - peerDependenciesMeta: - typescript: - optional: true - - eslint-plugin-react-hooks-extra@1.14.1: - resolution: {integrity: sha512-R5BOTZYY9fm7qTPN1hRZxk9mj8JwvnpXbxhEZwphM3Sn2legwXVHdXXkuUqaDR6AWw+z3wfLkb8xhVBu+uY1Hg==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ^4.9.5 || ^5.3.3 - peerDependenciesMeta: - typescript: - optional: true - - eslint-plugin-react-naming-convention@1.14.1: - resolution: {integrity: sha512-F3HCtRXwtT66/KNBuhSPxk63z/1iIxV3LUrwKAPVomTpGEIGrF/vzvNjJK0eaxf2Ae7h+SGMrDvJcRaYtRpRvQ==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ^4.9.5 || ^5.3.3 - peerDependenciesMeta: - typescript: - optional: true - - eslint-plugin-react-web-api@1.14.1: - resolution: {integrity: sha512-1qS15Wfh+++1UHtGRf6palH2nfDVlKSNMaUjaANnUss04PW0PXeNF540cTuWwMPHyh8xIxcEgDzqx+8MokCtCw==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ^4.9.5 || ^5.3.3 - peerDependenciesMeta: - typescript: - optional: true - - eslint-plugin-react-x@1.14.1: - resolution: {integrity: sha512-69KBSAX9X+1Az/wfWjvztPJyaZq2PSurlYYju0bH+iWon7pBV7zSqWiGhkizLpa2bSKFhAGzbMhSuaEqPiZQkA==} - engines: {bun: '>=1.0.15', node: '>=18.18.0'} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ^4.9.5 || ^5.3.3 - peerDependenciesMeta: - typescript: - optional: true - - eslint-scope@8.0.2: - resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-visitor-keys@4.0.0: - resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint@9.10.0: - resolution: {integrity: sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - peerDependencies: - jiti: '*' - peerDependenciesMeta: - jiti: - optional: true - - espree@10.1.0: - resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} - engines: {node: '>=0.10'} - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - estree-util-attach-comments@3.0.0: resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} @@ -2345,10 +2021,6 @@ packages: estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} @@ -2383,19 +2055,10 @@ packages: fake-parse5@0.0.1: resolution: {integrity: sha512-wv0GHlawfoFemLl/kzPCmQF9XOg95pOiSX43Nf8cVomwgrJ39r4dTAaNSiNU7HpEPS/U07q1owZwJliYIsd7gg==} - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} @@ -2413,10 +2076,6 @@ packages: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} - file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} - filesize@10.1.6: resolution: {integrity: sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==} engines: {node: '>= 10.4.0'} @@ -2428,32 +2087,14 @@ packages: find-root@1.1.0: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} - find-up-simple@1.0.0: - resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} - engines: {node: '>=18'} - find-up@3.0.0: resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} engines: {node: '>=6'} - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - firefox-profile@4.6.0: resolution: {integrity: sha512-I9rAm1w8U3CdhgO4EzTJsCvgcbvynZn9lOySkZf78wUdUIQH2w9QOKf3pAX+THt2XMSSR3kJSuM8P7bYux9j8g==} hasBin: true - flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} - - flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - form-data-encoder@2.1.4: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} @@ -2485,13 +2126,6 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - - functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - fx-runner@1.4.0: resolution: {integrity: sha512-rci1g6U0rdTg6bAaBboP7XdRu01dzTAaKXxFf+PUqGuCv6Xu7o8NZdY1D5MvKGIjb6EdS1g3VlXOgksir1uGkg==} hasBin: true @@ -2508,10 +2142,6 @@ packages: resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} engines: {node: '>=18'} - get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} - get-port@7.1.0: resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} engines: {node: '>=16'} @@ -2532,10 +2162,6 @@ packages: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} - get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} - giget@1.2.3: resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==} hasBin: true @@ -2544,10 +2170,6 @@ packages: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} @@ -2567,22 +2189,11 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - - globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} - goober@2.1.14: resolution: {integrity: sha512-4UpC0NdGyAFqLNPnhCT2iHpza2q+RAY3GV85a/mRPdzyPQMsj0KmMMuetdIkzWRbJ+Hgau1EZztq8ImmiMGhsg==} peerDependencies: csstype: ^3.0.10 - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - got@12.6.1: resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} engines: {node: '>=14.16'} @@ -2596,15 +2207,9 @@ packages: graceful-readlink@1.0.1: resolution: {integrity: sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==} - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - growly@1.3.0: resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} - has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -2613,21 +2218,6 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} - - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - has-yarn@3.0.0: resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2693,10 +2283,6 @@ packages: ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} - immediate@3.0.6: resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} @@ -2742,10 +2328,6 @@ packages: resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} engines: {node: '>=8.0.0'} - internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} - is-absolute@0.1.7: resolution: {integrity: sha512-Xi9/ZSn4NFapG8RP98iNPMOeaV3mXPisxKxzKtHVqr3g56j/fBn+yZmnxSVAA8lmZbl2J9b/a4kJvfU3hqQYgA==} engines: {node: '>=0.10.0'} @@ -2756,36 +2338,13 @@ packages: is-alphanumerical@2.0.1: resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} - is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - - is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} - is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-async-function@2.0.0: - resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} - engines: {node: '>= 0.4'} - - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - is-ci@3.0.1: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true @@ -2794,14 +2353,6 @@ packages: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} - is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} - - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} @@ -2819,9 +2370,6 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} - is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -2834,10 +2382,6 @@ packages: resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} engines: {node: '>=18'} - is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -2845,12 +2389,6 @@ packages: is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - is-immutable-type@5.0.0: - resolution: {integrity: sha512-mcvHasqbRBWJznuPqqHRKiJgYAz60sZ0mvO3bN70JbkuK7ksfmgc489aKZYxMEjIbRvyOseaTjaRZLRF/xFeRA==} - peerDependencies: - eslint: '*' - typescript: '>=4.7.4' - is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} engines: {node: '>=14.16'} @@ -2868,22 +2406,10 @@ packages: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} - is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} - - is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - is-npm@6.0.0: resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -2914,22 +2440,10 @@ packages: is-reference@3.0.2: resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - is-relative@0.1.3: resolution: {integrity: sha512-wBOr+rNM4gkAZqoLRJI4myw5WzzIdQosFAAbnvfXP5z1LyzgAI3ivOKehC5KfqlQJZoihVhirgtCBj378Eg8GA==} engines: {node: '>=0.10.0'} - is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} - - is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} - is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -2942,18 +2456,6 @@ packages: resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} engines: {node: '>=18'} - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} - is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} @@ -2969,17 +2471,6 @@ packages: resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} - is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} - - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - - is-weakset@2.0.3: - resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} - engines: {node: '>= 0.4'} - is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -2995,9 +2486,6 @@ packages: isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - isexe@1.1.2: resolution: {integrity: sha512-d2eJzK691yZwPHcv1LbeAOa91yMJ9QmfTgSO1oXB65ezVhXQsxBac2vEB4bMVms9cGzaA99n6V2viHMq82VLDw==} @@ -3008,9 +2496,6 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} - iterator.prototype@1.1.2: - resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} - jest-get-type@29.6.3: resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -3054,12 +2539,6 @@ packages: resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -3068,10 +2547,6 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - jsx-ast-utils@3.3.5: - resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} - engines: {node: '>=4.0'} - jszip@3.10.1: resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} @@ -3085,13 +2560,6 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - language-subtag-registry@0.3.23: - resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} - - language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} - latest-version@7.0.0: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} engines: {node: '>=14.16'} @@ -3100,10 +2568,6 @@ packages: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - lie@3.3.0: resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} @@ -3132,10 +2596,6 @@ packages: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} @@ -3362,10 +2822,6 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} - minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -3500,30 +2956,6 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - object-inspect@1.13.2: - resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} - engines: {node: '>= 0.4'} - - object-is@1.1.6: - resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} - engines: {node: '>= 0.4'} - - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} - - object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} - - object.values@1.2.0: - resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} - engines: {node: '>= 0.4'} - ofetch@1.3.4: resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} @@ -3557,10 +2989,6 @@ packages: resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} engines: {node: '>=14.16'} - optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} - ora@5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} @@ -3589,18 +3017,10 @@ packages: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - p-locate@3.0.0: resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} engines: {node: '>=6'} - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -3653,10 +3073,6 @@ packages: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -3695,10 +3111,6 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - pkg-types@1.2.0: resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} @@ -3709,23 +3121,10 @@ packages: pofile@1.1.4: resolution: {integrity: sha512-r6Q21sKsY1AjTVVjOuU02VYKVNQGJNQHjTIvs4dEbeuuYfxgYk/DGD2mqqq4RDaVkwdSq0VEtmQUOPe/wH8X3g==} - possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - postcss@8.4.47: resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - - prettier@3.3.3: - resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} - engines: {node: '>=14'} - hasBin: true - pretty-format@29.7.0: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -3880,17 +3279,9 @@ packages: redux@5.0.1: resolution: {integrity: sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==} - reflect.getprototypeof@1.0.6: - resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} - engines: {node: '>= 0.4'} - regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} - regexparam@3.0.0: resolution: {integrity: sha512-RSYAtP31mvYLkAHrOlh25pCNQ5hWnT106VukGaaFfuJrZFkGRX5GhUAdPqpSDXxOhA2c4akmRuplv1mRqnBn6Q==} engines: {node: '>=8'} @@ -3996,10 +3387,6 @@ packages: resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} engines: {npm: '>=2.0.0'} - safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} - safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -4009,10 +3396,6 @@ packages: safe-json-stringify@1.2.0: resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==} - safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -4041,14 +3424,6 @@ packages: set-cookie-parser@2.7.0: resolution: {integrity: sha512-lXLOiqpkUumhRdFF3k1osNXCy9akgx/dyPZ5p8qAg9seJzXr5ZrlqZuWIMuY6ejOsVLE6flJ5/h3lsn57fQ/PQ==} - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - set-value@4.1.0: resolution: {integrity: sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==} engines: {node: '>=11.0'} @@ -4070,14 +3445,6 @@ packages: shellwords@0.1.1: resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} - short-unique-id@5.2.0: - resolution: {integrity: sha512-cMGfwNyfDZ/nzJ2k2M+ClthBIh//GlZl1JEf47Uoa9XR11bz8Pa2T2wQO4bVrRdH48LrIDWJahQziKo3MjhsWg==} - hasBin: true - - side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} - engines: {node: '>= 0.4'} - signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -4139,13 +3506,6 @@ packages: resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} engines: {node: '>=18'} - stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} - - string-ts@2.2.0: - resolution: {integrity: sha512-VTP0LLZo4Jp9Gz5IiDVMS9WyLx/3IeYh0PXUn0NdPqusUFNgkHPWiEdbB9TU2Iv3myUskraD5WtYEdHUrQEIlQ==} - string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -4158,20 +3518,6 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} - string.prototype.includes@2.0.0: - resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==} - - string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -4209,10 +3555,6 @@ packages: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - strip-json-comments@5.0.1: resolution: {integrity: sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==} engines: {node: '>=14.16'} @@ -4253,9 +3595,6 @@ packages: engines: {node: '>=10'} hasBin: true - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -4305,30 +3644,12 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-api-utils@1.3.0: - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' - - ts-declaration-location@1.0.4: - resolution: {integrity: sha512-r4JoxYhKULbZuH81Pjrp9OEG5St7XWk7zXwGkLKhmVcjiBVHTJXV5wK6dEa9JKW5QGSTW6b1lOjxAKp8R1SQhg==} - peerDependencies: - typescript: '>=4.0.0' - - ts-pattern@5.3.1: - resolution: {integrity: sha512-1RUMKa8jYQdNfmnK4jyzBK3/PS/tnjcZ1CW0v1vWDeYe5RBklc/nquw03MEoB66hVBm4BnlCfmOqDVxHyT1DpA==} - tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -4345,37 +3666,12 @@ packages: resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} - typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} - typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript-eslint@8.6.0: - resolution: {integrity: sha512-eEhhlxCEpCd4helh3AO1hk0UP2MvbRi9CtIAJTVPQjuSXOOO2jsEacNi4UdcJzZJbeuVg1gMhtZ8UYb+NFYPrA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - typescript@5.6.2: resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} engines: {node: '>=14.17'} @@ -4387,9 +3683,6 @@ packages: uhyphen@0.2.0: resolution: {integrity: sha512-qz3o9CHXmJJPGBdqzab7qAYuW8kQGKNEuoHFYrBwV6hWIMcpAmxDLXojcHfFr9US1Pe6zUswEIJIbLI610fuqA==} - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} @@ -4483,9 +3776,6 @@ packages: resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} engines: {node: '>=14.16'} - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} @@ -4578,21 +3868,6 @@ packages: when@3.7.7: resolution: {integrity: sha512-9lFZp/KHoqH6bPKjbWqa+3Dg/K/r2v0X/3/G2x4DBGchVS2QX2VXL3cZV994WQVnTM1/PD71Az25nAzryEUugw==} - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - - which-builtin-type@1.1.4: - resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} - engines: {node: '>= 0.4'} - - which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} - - which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} - which@1.2.4: resolution: {integrity: sha512-zDRAqDSBudazdfM9zpiI30Fu9ve47htYXcGi3ln0wfKu2a7SmrT6F3VDoYONu//48V8Vz4TdCRNPjtvyRO3yBA==} hasBin: true @@ -4609,10 +3884,6 @@ packages: winreg@0.0.12: resolution: {integrity: sha512-typ/+JRmi7RqP1NanzFULK36vczznSNN8kWVA9vIqXyv8GhghUlwhGp1Xj3Nms1FsPcNnsQrJOR10N58/nQ9hQ==} - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - wouter@3.3.5: resolution: {integrity: sha512-bx3fLQAMn+EhYbBdY3W1gw9ZfO/uchudxYMwOIBzF3HVgqNEEIT199vEoh7FLTC0Vz5+rpMO6NdFsOkGX1QQCw==} peerDependencies: @@ -4697,10 +3968,6 @@ packages: yauzl@2.10.0: resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - yoctocolors@2.1.1: resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} engines: {node: '>=18'} @@ -4857,6 +4124,41 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 + '@biomejs/biome@1.9.2': + optionalDependencies: + '@biomejs/cli-darwin-arm64': 1.9.2 + '@biomejs/cli-darwin-x64': 1.9.2 + '@biomejs/cli-linux-arm64': 1.9.2 + '@biomejs/cli-linux-arm64-musl': 1.9.2 + '@biomejs/cli-linux-x64': 1.9.2 + '@biomejs/cli-linux-x64-musl': 1.9.2 + '@biomejs/cli-win32-arm64': 1.9.2 + '@biomejs/cli-win32-x64': 1.9.2 + + '@biomejs/cli-darwin-arm64@1.9.2': + optional: true + + '@biomejs/cli-darwin-x64@1.9.2': + optional: true + + '@biomejs/cli-linux-arm64-musl@1.9.2': + optional: true + + '@biomejs/cli-linux-arm64@1.9.2': + optional: true + + '@biomejs/cli-linux-x64-musl@1.9.2': + optional: true + + '@biomejs/cli-linux-x64@1.9.2': + optional: true + + '@biomejs/cli-win32-arm64@1.9.2': + optional: true + + '@biomejs/cli-win32-x64@1.9.2': + optional: true + '@devicefarmer/adbkit-logcat@2.1.3': {} '@devicefarmer/adbkit-monkey@1.2.1': {} @@ -5171,156 +4473,6 @@ snapshots: '@esbuild/win32-x64@0.23.1': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.10.0(jiti@1.21.6))': - dependencies: - eslint: 9.10.0(jiti@1.21.6) - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.11.1': {} - - '@eslint-react/ast@1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2)': - dependencies: - '@eslint-react/tools': 1.14.1 - '@eslint-react/types': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2) - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - birecord: 0.1.1 - string-ts: 2.2.0 - ts-pattern: 5.3.1 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - '@eslint-react/core@1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2)': - dependencies: - '@eslint-react/ast': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/jsx': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/shared': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/tools': 1.14.1 - '@eslint-react/types': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/var': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/type-utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - birecord: 0.1.1 - short-unique-id: 5.2.0 - ts-pattern: 5.3.1 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - '@eslint-react/eslint-plugin@1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2)': - dependencies: - '@eslint-react/shared': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/tools': 1.14.1 - '@eslint-react/types': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/type-utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - eslint: 9.10.0(jiti@1.21.6) - eslint-plugin-react-debug: 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - eslint-plugin-react-dom: 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - eslint-plugin-react-hooks-extra: 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - eslint-plugin-react-naming-convention: 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - eslint-plugin-react-web-api: 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - eslint-plugin-react-x: 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color - - '@eslint-react/jsx@1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2)': - dependencies: - '@eslint-react/ast': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/tools': 1.14.1 - '@eslint-react/types': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/var': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - ts-pattern: 5.3.1 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - '@eslint-react/shared@1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2)': - dependencies: - '@eslint-react/tools': 1.14.1 - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - picomatch: 4.0.2 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - '@eslint-react/tools@1.14.1': {} - - '@eslint-react/types@1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2)': - dependencies: - '@eslint-react/tools': 1.14.1 - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - '@eslint-react/var@1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2)': - dependencies: - '@eslint-react/ast': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/tools': 1.14.1 - '@eslint-react/types': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - ts-pattern: 5.3.1 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - '@eslint/compat@1.1.1': {} - - '@eslint/config-array@0.18.0': - dependencies: - '@eslint/object-schema': 2.1.4 - debug: 4.3.7 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@eslint/eslintrc@3.1.0': - dependencies: - ajv: 6.12.6 - debug: 4.3.7 - espree: 10.1.0 - globals: 14.0.0 - ignore: 5.3.2 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@9.10.0': {} - - '@eslint/object-schema@2.1.4': {} - - '@eslint/plugin-kit@0.1.0': - dependencies: - levn: 0.4.1 - - '@humanwhocodes/module-importer@1.0.1': {} - - '@humanwhocodes/retry@0.3.0': {} - '@iconify-json/fa6-solid@1.2.0': dependencies: '@iconify/types': 2.0.0 @@ -5835,15 +4987,6 @@ snapshots: dependencies: '@types/ms': 0.7.34 - '@types/eslint@9.6.1': - dependencies: - '@types/estree': 1.0.6 - '@types/json-schema': 7.0.15 - - '@types/eslint__js@8.42.3': - dependencies: - '@types/eslint': 9.6.1 - '@types/estree-jsx@1.0.5': dependencies: '@types/estree': 1.0.6 @@ -5876,8 +5019,6 @@ snapshots: dependencies: '@types/istanbul-lib-report': 3.0.3 - '@types/json-schema@7.0.15': {} - '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 @@ -5934,87 +5075,6 @@ snapshots: '@types/node': 22.5.5 optional: true - '@typescript-eslint/eslint-plugin@8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2)': - dependencies: - '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/type-utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 8.6.0 - eslint: 9.10.0(jiti@1.21.6) - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.6.2) - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2)': - dependencies: - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 8.6.0 - debug: 4.3.7 - eslint: 9.10.0(jiti@1.21.6) - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@8.6.0': - dependencies: - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/visitor-keys': 8.6.0 - - '@typescript-eslint/type-utils@8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2)': - dependencies: - '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2) - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - debug: 4.3.7 - ts-api-utils: 1.3.0(typescript@5.6.2) - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - eslint - - supports-color - - '@typescript-eslint/types@8.6.0': {} - - '@typescript-eslint/typescript-estree@8.6.0(typescript@5.6.2)': - dependencies: - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/visitor-keys': 8.6.0 - debug: 4.3.7 - fast-glob: 3.3.2 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.2) - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.6)) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2) - eslint: 9.10.0(jiti@1.21.6) - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/visitor-keys@8.6.0': - dependencies: - '@typescript-eslint/types': 8.6.0 - eslint-visitor-keys: 3.4.3 - '@ungap/structured-clone@1.2.0': {} '@vitejs/plugin-react-swc@3.7.0(vite@5.4.6(@types/node@22.5.5)(terser@5.33.0))': @@ -6042,13 +5102,6 @@ snapshots: adm-zip@0.5.16: {} - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - ansi-align@3.0.1: dependencies: string-width: 4.2.3 @@ -6086,55 +5139,10 @@ snapshots: argparse@2.0.1: {} - aria-query@5.1.3: - dependencies: - deep-equal: 2.2.3 - - array-buffer-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 - array-differ@4.0.0: {} - array-includes@3.1.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 - is-string: 1.0.7 - array-union@3.0.1: {} - array.prototype.flat@1.3.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 - - array.prototype.flatmap@1.3.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 - - arraybuffer.prototype.slice@1.0.3: - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 - - ast-types-flow@0.0.8: {} - astring@1.9.0: {} async-mutex@0.5.0: @@ -6145,14 +5153,6 @@ snapshots: at-least-node@1.0.0: {} - available-typed-arrays@1.0.7: - dependencies: - possible-typed-array-names: 1.0.0 - - axe-core@4.10.0: {} - - axobject-query@4.1.0: {} - babel-plugin-macros@3.1.0: dependencies: '@babel/runtime': 7.25.6 @@ -6169,8 +5169,6 @@ snapshots: binary-extensions@2.3.0: {} - birecord@0.1.1: {} - bl@4.1.0: dependencies: buffer: 5.7.1 @@ -6282,14 +5280,6 @@ snapshots: normalize-url: 8.0.1 responselike: 3.0.0 - call-bind@1.0.7: - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.2.2 - callsites@3.1.0: {} camelcase@6.3.0: {} @@ -6547,26 +5537,6 @@ snapshots: csstype@3.1.3: {} - damerau-levenshtein@1.0.8: {} - - data-view-buffer@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - - data-view-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - - data-view-byte-offset@1.0.0: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - date-fns@3.6.0: {} debounce@1.2.1: {} @@ -6589,31 +5559,8 @@ snapshots: deep-diff@0.3.8: {} - deep-equal@2.2.3: - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - es-get-iterator: 1.1.3 - get-intrinsic: 1.2.4 - is-arguments: 1.1.1 - is-array-buffer: 3.0.4 - is-date-object: 1.0.5 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - isarray: 2.0.5 - object-is: 1.1.6 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - side-channel: 1.0.6 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.2 - which-typed-array: 1.1.15 - deep-extend@0.6.0: {} - deep-is@0.1.4: {} - default-browser-id@3.0.0: dependencies: bplist-parser: 0.2.0 @@ -6639,22 +5586,10 @@ snapshots: defer-to-connect@2.0.1: {} - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - gopd: 1.0.1 - define-lazy-prop@2.0.0: {} define-lazy-prop@3.0.0: {} - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - defu@6.1.4: {} dequal@2.0.3: {} @@ -6726,112 +5661,8 @@ snapshots: dependencies: is-arrayish: 0.2.1 - es-abstract@1.23.3: - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 - globalthis: 1.0.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-data-view: 1.0.1 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.2 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - - es-define-property@1.0.0: - dependencies: - get-intrinsic: 1.2.4 - - es-errors@1.3.0: {} - - es-get-iterator@1.1.3: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - is-arguments: 1.1.1 - is-map: 2.0.3 - is-set: 2.0.3 - is-string: 1.0.7 - isarray: 2.0.5 - stop-iteration-iterator: 1.0.0 - - es-iterator-helpers@1.0.19: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-set-tostringtag: 2.0.3 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - globalthis: 1.0.4 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - internal-slot: 1.0.7 - iterator.prototype: 1.1.2 - safe-array-concat: 1.1.2 - es-module-lexer@1.5.4: {} - es-object-atoms@1.0.0: - dependencies: - es-errors: 1.3.0 - - es-set-tostringtag@2.0.3: - dependencies: - get-intrinsic: 1.2.4 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - es-shim-unscopables@1.0.2: - dependencies: - hasown: 2.0.2 - - es-to-primitive@1.2.1: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - es6-error@4.1.1: {} esbuild@0.17.19: @@ -6881,258 +5712,46 @@ snapshots: '@esbuild/netbsd-x64': 0.21.5 '@esbuild/openbsd-x64': 0.21.5 '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 - - esbuild@0.23.1: - optionalDependencies: - '@esbuild/aix-ppc64': 0.23.1 - '@esbuild/android-arm': 0.23.1 - '@esbuild/android-arm64': 0.23.1 - '@esbuild/android-x64': 0.23.1 - '@esbuild/darwin-arm64': 0.23.1 - '@esbuild/darwin-x64': 0.23.1 - '@esbuild/freebsd-arm64': 0.23.1 - '@esbuild/freebsd-x64': 0.23.1 - '@esbuild/linux-arm': 0.23.1 - '@esbuild/linux-arm64': 0.23.1 - '@esbuild/linux-ia32': 0.23.1 - '@esbuild/linux-loong64': 0.23.1 - '@esbuild/linux-mips64el': 0.23.1 - '@esbuild/linux-ppc64': 0.23.1 - '@esbuild/linux-riscv64': 0.23.1 - '@esbuild/linux-s390x': 0.23.1 - '@esbuild/linux-x64': 0.23.1 - '@esbuild/netbsd-x64': 0.23.1 - '@esbuild/openbsd-arm64': 0.23.1 - '@esbuild/openbsd-x64': 0.23.1 - '@esbuild/sunos-x64': 0.23.1 - '@esbuild/win32-arm64': 0.23.1 - '@esbuild/win32-ia32': 0.23.1 - '@esbuild/win32-x64': 0.23.1 - - escalade@3.2.0: {} - - escape-goat@4.0.0: {} - - escape-string-regexp@1.0.5: {} - - escape-string-regexp@4.0.0: {} - - escape-string-regexp@5.0.0: {} - - eslint-config-flat-gitignore@0.3.0(eslint@9.10.0(jiti@1.21.6)): - dependencies: - '@eslint/compat': 1.1.1 - eslint: 9.10.0(jiti@1.21.6) - find-up-simple: 1.0.0 - - eslint-plugin-jsx-a11y@6.10.0(eslint@9.10.0(jiti@1.21.6)): - dependencies: - aria-query: 5.1.3 - array-includes: 3.1.8 - array.prototype.flatmap: 1.3.2 - ast-types-flow: 0.0.8 - axe-core: 4.10.0 - axobject-query: 4.1.0 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.19 - eslint: 9.10.0(jiti@1.21.6) - hasown: 2.0.2 - jsx-ast-utils: 3.3.5 - language-tags: 1.0.9 - minimatch: 3.1.2 - object.fromentries: 2.0.8 - safe-regex-test: 1.0.3 - string.prototype.includes: 2.0.0 - - eslint-plugin-react-debug@1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2): - dependencies: - '@eslint-react/ast': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/core': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/jsx': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/shared': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/tools': 1.14.1 - '@eslint-react/types': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/var': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/type-utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - eslint: 9.10.0(jiti@1.21.6) - string-ts: 2.2.0 - ts-pattern: 5.3.1 - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color - - eslint-plugin-react-dom@1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2): - dependencies: - '@eslint-react/ast': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/core': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/jsx': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/shared': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/tools': 1.14.1 - '@eslint-react/types': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/var': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - eslint: 9.10.0(jiti@1.21.6) - ts-pattern: 5.3.1 - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color - - eslint-plugin-react-hooks-extra@1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2): - dependencies: - '@eslint-react/ast': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/core': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/jsx': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/shared': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/tools': 1.14.1 - '@eslint-react/types': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/var': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/type-utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - eslint: 9.10.0(jiti@1.21.6) - ts-pattern: 5.3.1 - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color - - eslint-plugin-react-naming-convention@1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2): - dependencies: - '@eslint-react/ast': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/core': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/jsx': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/shared': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/tools': 1.14.1 - '@eslint-react/types': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/type-utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - eslint: 9.10.0(jiti@1.21.6) - ts-pattern: 5.3.1 - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color - - eslint-plugin-react-web-api@1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2): - dependencies: - '@eslint-react/ast': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/core': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/jsx': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/shared': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/tools': 1.14.1 - '@eslint-react/types': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/var': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - birecord: 0.1.1 - eslint: 9.10.0(jiti@1.21.6) - ts-pattern: 5.3.1 - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 - eslint-plugin-react-x@1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2): - dependencies: - '@eslint-react/ast': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/core': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/jsx': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/shared': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/tools': 1.14.1 - '@eslint-react/types': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@eslint-react/var': 1.14.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/type-utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - eslint: 9.10.0(jiti@1.21.6) - is-immutable-type: 5.0.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - ts-pattern: 5.3.1 + esbuild@0.23.1: optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color - - eslint-scope@8.0.2: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - - eslint-visitor-keys@3.4.3: {} - - eslint-visitor-keys@4.0.0: {} + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 - eslint@9.10.0(jiti@1.21.6): - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.6)) - '@eslint-community/regexpp': 4.11.1 - '@eslint/config-array': 0.18.0 - '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.10.0 - '@eslint/plugin-kit': 0.1.0 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.3.0 - '@nodelib/fs.walk': 1.2.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.7 - escape-string-regexp: 4.0.0 - eslint-scope: 8.0.2 - eslint-visitor-keys: 4.0.0 - espree: 10.1.0 - esquery: 1.6.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 - find-up: 5.0.0 - glob-parent: 6.0.2 - ignore: 5.3.2 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 - optionalDependencies: - jiti: 1.21.6 - transitivePeerDependencies: - - supports-color + escalade@3.2.0: {} - espree@10.1.0: - dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 4.0.0 + escape-goat@4.0.0: {} - esquery@1.6.0: - dependencies: - estraverse: 5.3.0 + escape-string-regexp@1.0.5: {} - esrecurse@4.3.0: - dependencies: - estraverse: 5.3.0 + escape-string-regexp@4.0.0: {} - estraverse@5.3.0: {} + escape-string-regexp@5.0.0: {} estree-util-attach-comments@3.0.0: dependencies: @@ -7164,8 +5783,6 @@ snapshots: dependencies: '@types/estree': 1.0.6 - esutils@2.0.3: {} - eventemitter3@5.0.1: {} execa@5.1.1: @@ -7239,8 +5856,6 @@ snapshots: fake-parse5@0.0.1: {} - fast-deep-equal@3.1.3: {} - fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -7249,10 +5864,6 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 - fast-json-stable-stringify@2.1.0: {} - - fast-levenshtein@2.0.6: {} - fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -7274,10 +5885,6 @@ snapshots: dependencies: is-unicode-supported: 2.1.0 - file-entry-cache@8.0.0: - dependencies: - flat-cache: 4.0.1 - filesize@10.1.6: {} fill-range@7.1.1: @@ -7287,17 +5894,10 @@ snapshots: find-root@1.1.0: optional: true - find-up-simple@1.0.0: {} - find-up@3.0.0: dependencies: locate-path: 3.0.0 - find-up@5.0.0: - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - firefox-profile@4.6.0: dependencies: adm-zip: 0.5.16 @@ -7306,17 +5906,6 @@ snapshots: minimist: 1.2.8 xml2js: 0.5.0 - flat-cache@4.0.1: - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - - flatted@3.3.1: {} - - for-each@0.3.3: - dependencies: - is-callable: 1.2.7 - form-data-encoder@2.1.4: {} formdata-node@6.0.3: {} @@ -7345,15 +5934,6 @@ snapshots: function-bind@1.1.2: {} - function.prototype.name@1.1.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - functions-have-names: 1.2.3 - - functions-have-names@1.2.3: {} - fx-runner@1.4.0: dependencies: commander: 2.9.0 @@ -7369,14 +5949,6 @@ snapshots: get-east-asian-width@1.2.0: {} - get-intrinsic@1.2.4: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - get-port@7.1.0: {} get-stream@5.2.0: @@ -7392,12 +5964,6 @@ snapshots: '@sec-ant/readable-stream': 0.4.1 is-stream: 4.0.1 - get-symbol-description@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - giget@1.2.3: dependencies: citty: 0.1.6 @@ -7413,10 +5979,6 @@ snapshots: dependencies: is-glob: 4.0.3 - glob-parent@6.0.2: - dependencies: - is-glob: 4.0.3 - glob-to-regexp@0.4.1: {} glob@6.0.4: @@ -7443,21 +6005,10 @@ snapshots: globals@11.12.0: {} - globals@14.0.0: {} - - globalthis@1.0.4: - dependencies: - define-properties: 1.2.1 - gopd: 1.0.1 - goober@2.1.14(csstype@3.1.3): dependencies: csstype: 3.1.3 - gopd@1.0.1: - dependencies: - get-intrinsic: 1.2.4 - got@12.6.1: dependencies: '@sindresorhus/is': 5.6.0 @@ -7478,28 +6029,12 @@ snapshots: graceful-readlink@1.0.1: {} - graphemer@1.4.0: {} - growly@1.3.0: {} - has-bigints@1.0.2: {} - has-flag@3.0.0: {} has-flag@4.0.0: {} - has-property-descriptors@1.0.2: - dependencies: - es-define-property: 1.0.0 - - has-proto@1.0.3: {} - - has-symbols@1.0.3: {} - - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.0.3 - has-yarn@3.0.0: {} hasown@2.0.2: @@ -7597,8 +6132,6 @@ snapshots: ieee754@1.2.1: {} - ignore@5.3.2: {} - immediate@3.0.6: {} immer@10.1.1: {} @@ -7645,12 +6178,6 @@ snapshots: strip-ansi: 6.0.1 through: 2.3.8 - internal-slot@1.0.7: - dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.0.6 - is-absolute@0.1.7: dependencies: is-relative: 0.1.3 @@ -7662,37 +6189,12 @@ snapshots: is-alphabetical: 2.0.1 is-decimal: 2.0.1 - is-arguments@1.1.1: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - - is-array-buffer@3.0.4: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - is-arrayish@0.2.1: {} - is-async-function@2.0.0: - dependencies: - has-tostringtag: 1.0.2 - - is-bigint@1.0.4: - dependencies: - has-bigints: 1.0.2 - is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - is-boolean-object@1.1.2: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - - is-callable@1.2.7: {} - is-ci@3.0.1: dependencies: ci-info: 3.9.0 @@ -7701,14 +6203,6 @@ snapshots: dependencies: hasown: 2.0.2 - is-data-view@1.0.1: - dependencies: - is-typed-array: 1.1.13 - - is-date-object@1.0.5: - dependencies: - has-tostringtag: 1.0.2 - is-decimal@2.0.1: {} is-docker@2.2.1: {} @@ -7717,10 +6211,6 @@ snapshots: is-extglob@2.1.1: {} - is-finalizationregistry@1.0.2: - dependencies: - call-bind: 1.0.7 - is-fullwidth-code-point@3.0.0: {} is-fullwidth-code-point@4.0.0: {} @@ -7729,26 +6219,12 @@ snapshots: dependencies: get-east-asian-width: 1.2.0 - is-generator-function@1.0.10: - dependencies: - has-tostringtag: 1.0.2 - is-glob@4.0.3: dependencies: is-extglob: 2.1.1 is-hexadecimal@2.0.1: {} - is-immutable-type@5.0.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2): - dependencies: - '@typescript-eslint/type-utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - eslint: 9.10.0(jiti@1.21.6) - ts-api-utils: 1.3.0(typescript@5.6.2) - ts-declaration-location: 1.0.4(typescript@5.6.2) - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color - is-inside-container@1.0.0: dependencies: is-docker: 3.0.0 @@ -7762,16 +6238,8 @@ snapshots: is-interactive@2.0.0: {} - is-map@2.0.3: {} - - is-negative-zero@2.0.3: {} - is-npm@6.0.0: {} - is-number-object@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - is-number@7.0.0: {} is-obj@2.0.0: {} @@ -7792,37 +6260,14 @@ snapshots: dependencies: '@types/estree': 1.0.6 - is-regex@1.1.4: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - is-relative@0.1.3: {} - is-set@2.0.3: {} - - is-shared-array-buffer@1.0.3: - dependencies: - call-bind: 1.0.7 - is-stream@2.0.1: {} is-stream@3.0.0: {} is-stream@4.0.1: {} - is-string@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - - is-symbol@1.0.4: - dependencies: - has-symbols: 1.0.3 - - is-typed-array@1.1.13: - dependencies: - which-typed-array: 1.1.15 - is-typedarray@1.0.0: {} is-unicode-supported@0.1.0: {} @@ -7831,17 +6276,6 @@ snapshots: is-unicode-supported@2.1.0: {} - is-weakmap@2.0.2: {} - - is-weakref@1.0.2: - dependencies: - call-bind: 1.0.7 - - is-weakset@2.0.3: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - is-wsl@2.2.0: dependencies: is-docker: 2.2.1 @@ -7854,22 +6288,12 @@ snapshots: isarray@1.0.0: {} - isarray@2.0.5: {} - isexe@1.1.2: {} isexe@2.0.0: {} isobject@3.0.1: {} - iterator.prototype@1.1.2: - dependencies: - define-properties: 1.2.1 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.6 - set-function-name: 2.0.2 - jest-get-type@29.6.3: {} jest-validate@29.7.0: @@ -7903,10 +6327,6 @@ snapshots: json-parse-even-better-errors@3.0.2: {} - json-schema-traverse@0.4.1: {} - - json-stable-stringify-without-jsonify@1.0.1: {} - json5@2.2.3: {} jsonfile@6.1.0: @@ -7915,13 +6335,6 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsx-ast-utils@3.3.5: - dependencies: - array-includes: 3.1.8 - array.prototype.flat: 1.3.2 - object.assign: 4.1.5 - object.values: 1.2.0 - jszip@3.10.1: dependencies: lie: 3.3.0 @@ -7937,23 +6350,12 @@ snapshots: kolorist@1.8.0: {} - language-subtag-registry@0.3.23: {} - - language-tags@1.0.9: - dependencies: - language-subtag-registry: 0.3.23 - latest-version@7.0.0: dependencies: package-json: 8.1.1 leven@3.1.0: {} - levn@0.4.1: - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - lie@3.3.0: dependencies: immediate: 3.0.6 @@ -7996,10 +6398,6 @@ snapshots: p-locate: 3.0.0 path-exists: 3.0.0 - locate-path@6.0.0: - dependencies: - p-locate: 5.0.0 - lodash.camelcase@4.3.0: {} lodash.get@4.4.2: {} @@ -8412,10 +6810,6 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@9.0.5: - dependencies: - brace-expansion: 2.0.1 - minimist@1.2.8: {} minipass@3.3.6: @@ -8554,35 +6948,6 @@ snapshots: object-assign@4.1.1: {} - object-inspect@1.13.2: {} - - object-is@1.1.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - - object-keys@1.1.1: {} - - object.assign@4.1.5: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - has-symbols: 1.0.3 - object-keys: 1.1.1 - - object.fromentries@2.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - - object.values@1.2.0: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - ofetch@1.3.4: dependencies: destr: 2.0.3 @@ -8627,15 +6992,6 @@ snapshots: is-inside-container: 1.0.0 is-wsl: 2.2.0 - optionator@0.9.4: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.5 - ora@5.4.1: dependencies: bl: 4.1.0 @@ -8682,18 +7038,10 @@ snapshots: dependencies: p-try: 2.2.0 - p-limit@3.1.0: - dependencies: - yocto-queue: 0.1.0 - p-locate@3.0.0: dependencies: p-limit: 2.3.0 - p-locate@5.0.0: - dependencies: - p-limit: 3.1.0 - p-try@2.2.0: {} package-json@8.1.1: @@ -8758,8 +7106,6 @@ snapshots: path-exists@3.0.0: {} - path-exists@4.0.0: {} - path-is-absolute@1.0.1: {} path-key@3.1.1: {} @@ -8786,8 +7132,6 @@ snapshots: picomatch@2.3.1: {} - picomatch@4.0.2: {} - pkg-types@1.2.0: dependencies: confbox: 0.1.7 @@ -8800,18 +7144,12 @@ snapshots: pofile@1.1.4: {} - possible-typed-array-names@1.0.0: {} - postcss@8.4.47: dependencies: nanoid: 3.3.7 picocolors: 1.1.0 source-map-js: 1.2.1 - prelude-ls@1.2.1: {} - - prettier@3.3.3: {} - pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 @@ -8988,25 +7326,8 @@ snapshots: redux@5.0.1: {} - reflect.getprototypeof@1.0.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - globalthis: 1.0.4 - which-builtin-type: 1.1.4 - regenerator-runtime@0.14.1: {} - regexp.prototype.flags@1.5.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-errors: 1.3.0 - set-function-name: 2.0.2 - regexparam@3.0.0: {} registry-auth-token@5.0.2: @@ -9140,13 +7461,6 @@ snapshots: dependencies: tslib: 1.14.1 - safe-array-concat@1.1.2: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 - safe-buffer@5.1.2: {} safe-buffer@5.2.1: {} @@ -9154,12 +7468,6 @@ snapshots: safe-json-stringify@1.2.0: optional: true - safe-regex-test@1.0.3: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-regex: 1.1.4 - safer-buffer@2.1.2: {} sax@1.4.1: {} @@ -9180,22 +7488,6 @@ snapshots: set-cookie-parser@2.7.0: {} - set-function-length@1.2.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - - set-function-name@2.0.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - set-value@4.1.0: dependencies: is-plain-object: 2.0.4 @@ -9213,15 +7505,6 @@ snapshots: shellwords@0.1.1: {} - short-unique-id@5.2.0: {} - - side-channel@1.0.6: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - object-inspect: 1.13.2 - signal-exit@3.0.7: {} signal-exit@4.1.0: {} @@ -9278,12 +7561,6 @@ snapshots: stdin-discarder@0.2.2: {} - stop-iteration-iterator@1.0.0: - dependencies: - internal-slot: 1.0.7 - - string-ts@2.2.0: {} - string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -9302,30 +7579,6 @@ snapshots: get-east-asian-width: 1.2.0 strip-ansi: 7.1.0 - string.prototype.includes@2.0.0: - dependencies: - define-properties: 1.2.1 - es-abstract: 1.23.3 - - string.prototype.trim@1.2.9: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - - string.prototype.trimend@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - string.prototype.trimstart@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 @@ -9357,8 +7610,6 @@ snapshots: strip-json-comments@2.0.1: {} - strip-json-comments@3.1.1: {} - strip-json-comments@5.0.1: {} strip-literal@2.1.0: @@ -9403,8 +7654,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - text-table@0.2.0: {} - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -9456,25 +7705,10 @@ snapshots: trough@2.2.0: {} - ts-api-utils@1.3.0(typescript@5.6.2): - dependencies: - typescript: 5.6.2 - - ts-declaration-location@1.0.4(typescript@5.6.2): - dependencies: - minimatch: 10.0.1 - typescript: 5.6.2 - - ts-pattern@5.3.1: {} - tslib@1.14.1: {} tslib@2.7.0: {} - type-check@0.4.0: - dependencies: - prelude-ls: 1.2.1 - type-fest@0.21.3: {} type-fest@1.4.0: {} @@ -9483,68 +7717,18 @@ snapshots: type-fest@3.13.1: {} - typed-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-typed-array: 1.1.13 - - typed-array-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - - typed-array-byte-offset@1.0.2: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - - typed-array-length@1.0.6: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 - typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 typedarray@0.0.6: {} - typescript-eslint@8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2): - dependencies: - '@typescript-eslint/eslint-plugin': 8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2))(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/parser': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.6.2) - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - eslint - - supports-color - typescript@5.6.2: {} ufo@1.5.4: {} uhyphen@0.2.0: {} - unbox-primitive@1.0.2: - dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - undici-types@6.19.8: {} unicorn-magic@0.3.0: {} @@ -9664,10 +7848,6 @@ snapshots: semver-diff: 4.0.0 xdg-basedir: 5.1.0 - uri-js@4.4.1: - dependencies: - punycode: 2.3.1 - url-parse@1.5.10: dependencies: querystringify: 2.2.0 @@ -9782,44 +7962,6 @@ snapshots: when@3.7.7: {} - which-boxed-primitive@1.0.2: - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - - which-builtin-type@1.1.4: - dependencies: - function.prototype.name: 1.1.6 - has-tostringtag: 1.0.2 - is-async-function: 2.0.0 - is-date-object: 1.0.5 - is-finalizationregistry: 1.0.2 - is-generator-function: 1.0.10 - is-regex: 1.1.4 - is-weakref: 1.0.2 - isarray: 2.0.5 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.2 - which-typed-array: 1.1.15 - - which-collection@1.0.2: - dependencies: - is-map: 2.0.3 - is-set: 2.0.3 - is-weakmap: 2.0.2 - is-weakset: 2.0.3 - - which-typed-array@1.1.15: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.2 - which@1.2.4: dependencies: is-absolute: 0.1.7 @@ -9835,8 +7977,6 @@ snapshots: winreg@0.0.12: {} - word-wrap@1.2.5: {} - wouter@3.3.5(react@18.3.1): dependencies: mitt: 3.0.1 @@ -9980,8 +8120,6 @@ snapshots: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 - yocto-queue@0.1.0: {} - yoctocolors@2.1.1: {} zip-dir@2.0.0: diff --git a/src/about.tsx b/src/about.tsx index fbc5622..b7bc907 100644 --- a/src/about.tsx +++ b/src/about.tsx @@ -1,8 +1,8 @@ -import { createRoot } from 'react-dom/client'; -import classNames from 'classnames'; -import { CssBaseline, ThemeProvider } from '@mui/material'; -import { I18nProvider } from '@lingui/react'; import { i18n } from '@lingui/core'; +import { I18nProvider } from '@lingui/react'; +import { CssBaseline, ThemeProvider } from '@mui/material'; +import classNames from 'classnames'; +import { createRoot } from 'react-dom/client'; import { theme } from './theme'; import './i18n'; diff --git a/src/components/CardList.tsx b/src/components/CardList.tsx index fabddf2..955c077 100644 --- a/src/components/CardList.tsx +++ b/src/components/CardList.tsx @@ -1,9 +1,9 @@ -import { useEffect, useRef, useState } from 'react'; +import { Trans } from '@lingui/macro'; +import { Button, List, ListSubheader } from '@mui/material'; import cn from 'classnames'; import { memoize } from 'proxy-memoize'; -import { List, Button, ListSubheader } from '@mui/material'; +import { useEffect, useRef, useState } from 'react'; import { ContentType } from 'thu-learn-lib'; -import { Trans } from '@lingui/macro'; import { downloadAllUnreadFiles, loadMoreCard } from '../redux/actions'; import { useAppDispatch, useAppSelector } from '../redux/hooks'; @@ -20,6 +20,7 @@ const CardList = () => { const scrollRef = useRef(null); useEffect(() => { + void originalCardList; if (scrollRef.current) { scrollRef.current.scrollTop = 0; setOnTop(true); @@ -43,7 +44,7 @@ const CardList = () => { ); const filtered = cards.slice(0, threshold); const unreadFileCount = cards.reduce((count, c) => { - if (c.type === ContentType.FILE && !c.hasRead) count += 1; + if (c.type === ContentType.FILE && !c.hasRead) return count + 1; return count; }, 0); const canLoadMore = threshold < cards.length; @@ -97,8 +98,11 @@ const CardList = () => { )} {canLoadMore && ( - // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions -
dispatch(loadMoreCard())}> +
dispatch(loadMoreCard())} + onKeyDown={(e) => e.key === 'Enter' && dispatch(loadMoreCard())} + > 加载更多
)} diff --git a/src/components/ContentCard.tsx b/src/components/ContentCard.tsx index b24dc32..ed7eac0 100644 --- a/src/components/ContentCard.tsx +++ b/src/components/ContentCard.tsx @@ -1,37 +1,37 @@ -import classnames from 'classnames'; -import { useLocation } from 'wouter'; -import { ContentType } from 'thu-learn-lib'; import { t } from '@lingui/macro'; import { useLingui } from '@lingui/react'; +import classnames from 'classnames'; +import { ContentType } from 'thu-learn-lib'; +import { useLocation } from 'wouter'; import { + Avatar, + Badge, Card, - CardContent, CardActionArea, CardActions, - IconButton, + CardContent, Chip, - Badge, - Avatar, + IconButton, Tooltip, } from '@mui/material'; import IconCheck from '~icons/fa6-solid/check'; -import IconStar from '~icons/fa6-solid/star'; import IconClipboard from '~icons/fa6-solid/clipboard'; import IconClipboardCheck from '~icons/fa6-solid/clipboard-check'; +import IconDownload from '~icons/fa6-solid/download'; +import IconPaperclip from '~icons/fa6-solid/paperclip'; +import IconStar from '~icons/fa6-solid/star'; import IconTrash from '~icons/fa6-solid/trash'; import IconTrashCan from '~icons/fa6-solid/trash-can'; import IconUpload from '~icons/fa6-solid/upload'; -import IconDownload from '~icons/fa6-solid/download'; -import IconPaperclip from '~icons/fa6-solid/paperclip'; -import styles from '../css/card.module.css'; import { COURSE_MAIN_FUNC } from '../constants/ui'; -import { toggleReadState, toggleIgnoreState, toggleStarState } from '../redux/actions'; +import styles from '../css/card.module.css'; +import { toggleIgnoreState, toggleReadState, toggleStarState } from '../redux/actions'; import { useAppDispatch, useAppSelector } from '../redux/hooks'; -import { formatDate, formatHomeworkGradeLevel } from '../utils/format'; import { initiateFileDownload } from '../utils/download'; +import { formatDate, formatHomeworkGradeLevel } from '../utils/format'; interface ContentCardProps { type: ContentType; @@ -121,31 +121,32 @@ const ContentCard = ({ type, id }: ContentCardProps) => { {formatDate(content.date)} {content.type === ContentType.HOMEWORK - ? ' · ' + - (content.submitted ? t`已提交` : t`未提交`) + - ' · ' + - (content.graded - ? (content.grade - ? content.gradeLevel - ? _(formatHomeworkGradeLevel(content.gradeLevel)) - : t`${content.grade}分` - : t`无评分`) + t`(${content.graderName ?? ''})` - : t`未批阅`) + ? ` · ${content.submitted ? t`已提交` : t`未提交`} · ${ + content.graded + ? ( + content.grade + ? content.gradeLevel + ? _(formatHomeworkGradeLevel(content.gradeLevel)) + : t`${content.grade}分` + : t`无评分` + ) + t`(${content.graderName ?? ''})` + : t`未批阅` + }` : content.type === ContentType.NOTIFICATION || content.type === ContentType.FILE - ? (content.markedImportant ? ' · ' + t`重要` : '') + + ? (content.markedImportant ? ` · ${t`重要`}` : '') + (content.type === ContentType.NOTIFICATION - ? ' · ' + t`发布者:${content.publisher}` - : ' · ' + - content.size + - (content.description.trim() !== '' - ? ' · ' + content.description.trim() - : '')) + ? ` · ${t`发布者:${content.publisher}`}` + : ` · ${content.size}${ + content.description.trim() !== '' + ? ` · ${content.description.trim()}` + : '' + }`) : content.type === ContentType.DISCUSSION || content.type === ContentType.QUESTION - ? ' · ' + - t`回复:${content.replyCount}` + - (content.replyCount !== 0 - ? ' · ' + t`最后回复:${content.lastReplierName}` - : '') + ? ` · ${t`回复:${content.replyCount}`}${ + content.replyCount !== 0 + ? ` · ${t`最后回复:${content.lastReplierName}`}` + : '' + }` : null} {_({ id: `course-${content.courseId}` })} diff --git a/src/components/ContentDetail.tsx b/src/components/ContentDetail.tsx index 5d453a9..93c2d0f 100644 --- a/src/components/ContentDetail.tsx +++ b/src/components/ContentDetail.tsx @@ -1,14 +1,14 @@ -import { useState, type ReactNode } from 'react'; -import { useLocation } from 'wouter'; -import { Button, Paper } from '@mui/material'; -import { ContentType, type RemoteFile } from 'thu-learn-lib'; -import { msg, Trans, t } from '@lingui/macro'; import type { MessageDescriptor } from '@lingui/core'; +import { Trans, msg, t } from '@lingui/macro'; import { useLingui } from '@lingui/react'; +import { Button, Paper } from '@mui/material'; +import { type ReactNode, useState } from 'react'; +import { ContentType, type RemoteFile } from 'thu-learn-lib'; +import { useLocation } from 'wouter'; -import type { HomeworkInfo, NotificationInfo, FileInfo, ContentInfo } from '../types/data'; -import { formatDateTime, formatHomeworkGradeLevel } from '../utils/format'; import styles from '../css/page.module.css'; +import type { ContentInfo, FileInfo, HomeworkInfo, NotificationInfo } from '../types/data'; +import { formatDateTime, formatHomeworkGradeLevel } from '../utils/format'; import IframeWrapper from './IframeWrapper'; // const initialState = { @@ -28,6 +28,7 @@ const Line = ({ title, children, __html }: LineProps) => { return ( {_(title)} + {/* biome-ignore lint/security/noDangerouslySetInnerHtml: no reason */} {__html ? : {children}} ); @@ -55,12 +56,12 @@ const ContentLink = ({ url, inApp, children }: LinkProps) => { {children} ); - else - return ( - - {children} - - ); + + return ( + + {children} + + ); }; const canFilePreview = (file: RemoteFile): boolean => { @@ -230,6 +231,7 @@ const ContentDetail = ({ content }: ContentDetailProps) => { {showPreviewFrame && !preview && ( diff --git a/src/components/CourseList.tsx b/src/components/CourseList.tsx index 8d3a9fb..41dbcb9 100644 --- a/src/components/CourseList.tsx +++ b/src/components/CourseList.tsx @@ -1,7 +1,7 @@ -import { useState } from 'react'; -import { useLocation } from 'wouter'; import { Trans } from '@lingui/macro'; import { useLingui } from '@lingui/react'; +import { useState } from 'react'; +import { useLocation } from 'wouter'; import { Collapse, @@ -12,10 +12,10 @@ import { ListSubheader, } from '@mui/material'; -import IconInbox from '~icons/fa6-solid/inbox'; -import IconBook from '~icons/fa6-solid/book'; -import IconAngleUp from '~icons/fa6-solid/angle-up'; import IconAngleDown from '~icons/fa6-solid/angle-down'; +import IconAngleUp from '~icons/fa6-solid/angle-up'; +import IconBook from '~icons/fa6-solid/book'; +import IconInbox from '~icons/fa6-solid/inbox'; import { COURSE_FUNC_LIST } from '../constants/ui'; import { refreshCardList, setCardFilter } from '../redux/actions'; @@ -45,7 +45,7 @@ const CourseList = () => { } > - {courseList.length == 0 ? ( + {courseList.length === 0 ? ( 这里什么也没有,快去选点课吧! diff --git a/src/components/IframeWrapper.tsx b/src/components/IframeWrapper.tsx index 5255233..15d79f3 100644 --- a/src/components/IframeWrapper.tsx +++ b/src/components/IframeWrapper.tsx @@ -20,10 +20,10 @@ const IframeWrapper = ({ id, className, url }: IframeWrapperProps) => { 'allow-popups', 'allow-scripts', 'allow-same-origin', - // eslint-disable-next-line @typescript-eslint/no-explicit-any + // biome-ignore lint/suspicious/noExplicitAny: wrong type 'allow-downloads' as any, ]} - > + /> ); }; diff --git a/src/components/SettingList.tsx b/src/components/SettingList.tsx index acd9f1e..86f1426 100644 --- a/src/components/SettingList.tsx +++ b/src/components/SettingList.tsx @@ -1,6 +1,6 @@ -import { useLocation } from 'wouter'; import { Trans } from '@lingui/macro'; import { useLingui } from '@lingui/react'; +import { useLocation } from 'wouter'; import { List, ListItemButton, ListItemIcon, ListItemText, ListSubheader } from '@mui/material'; diff --git a/src/components/SummaryList.tsx b/src/components/SummaryList.tsx index 98cae6d..29e837a 100644 --- a/src/components/SummaryList.tsx +++ b/src/components/SummaryList.tsx @@ -1,6 +1,6 @@ -import { useEffect, useMemo } from 'react'; import { Trans } from '@lingui/macro'; import { useLingui } from '@lingui/react'; +import { useEffect, useMemo } from 'react'; import { Badge, diff --git a/src/components/dialogs/ChangeSemesterDialog.tsx b/src/components/dialogs/ChangeSemesterDialog.tsx index 2937da8..5a7ce78 100644 --- a/src/components/dialogs/ChangeSemesterDialog.tsx +++ b/src/components/dialogs/ChangeSemesterDialog.tsx @@ -1,5 +1,5 @@ -import { useState } from 'react'; import { Trans } from '@lingui/macro'; +import { useState } from 'react'; import { Button, @@ -14,12 +14,12 @@ import { } from '@mui/material'; import { - toggleChangeSemesterDialog, - toggleIgnoreWrongSemester, insistSemester, - updateSemester, refresh, setCardFilter, + toggleChangeSemesterDialog, + toggleIgnoreWrongSemester, + updateSemester, } from '../../redux/actions'; import { useAppDispatch, useAppSelector } from '../../redux/hooks'; import { selectSemesters } from '../../redux/selectors'; @@ -36,7 +36,7 @@ const ChangeSemesterDialog = () => { const semesters = useAppSelector(selectSemesters); const [newSemester, setNewSemester] = useState( - semesters.includes(semester) ? semester : semesters[0] ?? '', + semesters.includes(semester) ? semester : (semesters[0] ?? ''), ); return ( diff --git a/src/components/dialogs/ClearDataDialog.tsx b/src/components/dialogs/ClearDataDialog.tsx index 7d4969d..70294f4 100644 --- a/src/components/dialogs/ClearDataDialog.tsx +++ b/src/components/dialogs/ClearDataDialog.tsx @@ -1,8 +1,8 @@ import { Trans } from '@lingui/macro'; -import { Dialog, DialogTitle, DialogContent, DialogActions, Button } from '@mui/material'; +import { Button, Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material'; -import { toggleClearDataDialog, clearAllData, refresh } from '../../redux/actions'; +import { clearAllData, refresh, toggleClearDataDialog } from '../../redux/actions'; import { useAppDispatch, useAppSelector } from '../../redux/hooks'; const ClearDataDialog = () => { diff --git a/src/components/dialogs/LoginDialog.tsx b/src/components/dialogs/LoginDialog.tsx index 9b54ec3..7c6d206 100644 --- a/src/components/dialogs/LoginDialog.tsx +++ b/src/components/dialogs/LoginDialog.tsx @@ -1,20 +1,20 @@ -import { useState } from 'react'; import { Trans, t } from '@lingui/macro'; +import { useState } from 'react'; import { Button, Checkbox, CircularProgress, Dialog, - DialogTitle, + DialogActions, DialogContent, DialogContentText, - DialogActions, + DialogTitle, FormControlLabel, TextField, } from '@mui/material'; -import { toggleLoginDialog, login, refresh } from '../../redux/actions'; +import { login, refresh, toggleLoginDialog } from '../../redux/actions'; import { useAppDispatch, useAppSelector } from '../../redux/hooks'; import { requestPermission } from '../../utils/permission'; @@ -45,7 +45,7 @@ const LoginDialog = () => { 在长时间不使用或者出借计算机时,请务必退出登录,以免您的凭据被泄露。
如果您选择登录,则视为您已经阅读并同意 - + 此页面 中的所有内容。否则,请立刻停止使用并从浏览器中卸载本插件。 diff --git a/src/components/dialogs/LogoutDialog.tsx b/src/components/dialogs/LogoutDialog.tsx index 5889818..c207d27 100644 --- a/src/components/dialogs/LogoutDialog.tsx +++ b/src/components/dialogs/LogoutDialog.tsx @@ -1,13 +1,13 @@ import { Trans } from '@lingui/macro'; -import { Dialog, DialogTitle, DialogContent, DialogActions, Button } from '@mui/material'; +import { Button, Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material'; import { - toggleLoginDialog, - toggleLogoutDialog, clearAllData, loggedOut, refreshCardList, setCardFilter, + toggleLoginDialog, + toggleLogoutDialog, } from '../../redux/actions'; import { useAppDispatch, useAppSelector } from '../../redux/hooks'; import { removeStoredCredential } from '../../utils/storage'; diff --git a/src/components/dialogs/NetworkErrorDialog.tsx b/src/components/dialogs/NetworkErrorDialog.tsx index e6a6c9d..3f1f5e4 100644 --- a/src/components/dialogs/NetworkErrorDialog.tsx +++ b/src/components/dialogs/NetworkErrorDialog.tsx @@ -1,11 +1,11 @@ import { Trans } from '@lingui/macro'; -import { Dialog, DialogTitle, DialogContent, DialogActions, Button } from '@mui/material'; +import { Button, Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material'; import { - toggleLoginDialog, - toggleNetworkErrorDialog, loggedIn, refresh, + toggleLoginDialog, + toggleNetworkErrorDialog, } from '../../redux/actions'; import { useAppDispatch, useAppSelector } from '../../redux/hooks'; import { requestPermission } from '../../utils/permission'; @@ -23,12 +23,9 @@ const NetworkErrorDialog = () => { 可能原因有: -
- · 网络不太给力 -
- · 服务器去思考人生了 -
- · 保存的用户凭据不正确(最近修改过密码?) +
· 网络不太给力 +
· 服务器去思考人生了 +
· 保存的用户凭据不正确(最近修改过密码?)
您可以选择重试、放弃刷新,或者更换新的凭据。
diff --git a/src/components/dialogs/NewSemesterDialog.tsx b/src/components/dialogs/NewSemesterDialog.tsx index c36275e..05ec540 100644 --- a/src/components/dialogs/NewSemesterDialog.tsx +++ b/src/components/dialogs/NewSemesterDialog.tsx @@ -1,13 +1,13 @@ import { Trans } from '@lingui/macro'; -import { Dialog, DialogTitle, DialogContent, DialogActions, Button } from '@mui/material'; +import { Button, Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material'; import { - toggleIgnoreWrongSemester, - toggleNewSemesterDialog, insistSemester, - syncSemester, refresh, setCardFilter, + syncSemester, + toggleIgnoreWrongSemester, + toggleNewSemesterDialog, } from '../../redux/actions'; import { useAppDispatch, useAppSelector } from '../../redux/hooks'; import { formatSemester } from '../../utils/format'; diff --git a/src/constants/ui.tsx b/src/constants/ui.tsx index 6e2230d..3df24d9 100644 --- a/src/constants/ui.tsx +++ b/src/constants/ui.tsx @@ -1,27 +1,27 @@ -import { ContentType } from 'thu-learn-lib'; import { msg } from '@lingui/macro'; +import { ContentType } from 'thu-learn-lib'; +import IconArrowsRotate from '~icons/fa6-solid/arrows-rotate'; +import IconBan from '~icons/fa6-solid/ban'; import IconBullhorn from '~icons/fa6-solid/bullhorn'; -import IconDownload from '~icons/fa6-solid/download'; -import IconPencil from '~icons/fa6-solid/pencil'; -import IconQuestion from '~icons/fa6-solid/question'; import IconChalkboardUser from '~icons/fa6-solid/chalkboard-user'; import IconCircleInfo from '~icons/fa6-solid/circle-info'; -import IconUpRightFromSquare from '~icons/fa6-solid/up-right-from-square'; -import IconHouse from '~icons/fa6-solid/house'; -import IconTrash from '~icons/fa6-solid/trash'; -import IconBan from '~icons/fa6-solid/ban'; +import IconDownload from '~icons/fa6-solid/download'; import IconEnvelopeOpen from '~icons/fa6-solid/envelope-open'; -import IconArrowsRotate from '~icons/fa6-solid/arrows-rotate'; +import IconHouse from '~icons/fa6-solid/house'; +import IconPencil from '~icons/fa6-solid/pencil'; +import IconQuestion from '~icons/fa6-solid/question'; import IconShuffle from '~icons/fa6-solid/shuffle'; +import IconTrash from '~icons/fa6-solid/trash'; +import IconUpRightFromSquare from '~icons/fa6-solid/up-right-from-square'; import IconUser from '~icons/fa6-solid/user'; import { + markAllRead, refresh, + toggleChangeSemesterDialog, toggleClearDataDialog, toggleLogoutDialog, - toggleChangeSemesterDialog, - markAllRead, } from '../redux/actions'; import type { AppDispatch } from '../redux/store'; diff --git a/src/css/doc.module.css b/src/css/doc.module.css index 80bf602..9f5aca9 100644 --- a/src/css/doc.module.css +++ b/src/css/doc.module.css @@ -1,12 +1,12 @@ .wrapper { flex-grow: 1; - font: 16px / 1.5 Helvetica, 'Source Han Sans SC', 'Noto Sans CJK SC', 'Microsoft Yahei', - 'Hiragino Sans GB', sans-serif; - background: url('../image/creampaper.png'); + font: 16px / 1.5 Helvetica, "Source Han Sans SC", "Noto Sans CJK SC", "Microsoft Yahei", + "Hiragino Sans GB", sans-serif; + background: url("../image/creampaper.png"); } [data-dark] .wrapper { - background: url('../image/creampaper_black.png'); + background: url("../image/creampaper_black.png"); } .wrapper a { @@ -72,12 +72,12 @@ .welcome_version { font-size: 0.9em; - font-family: 'JetBrains Mono', 'Fira Code Retina', consolas, monospace; + font-family: "JetBrains Mono", "Fira Code Retina", consolas, monospace; } .welcome_packages { font-size: 0.8em; - font-family: 'JetBrains Mono', 'Fira Code Retina', consolas, monospace; + font-family: "JetBrains Mono", "Fira Code Retina", consolas, monospace; } .welcome_footer { @@ -198,7 +198,7 @@ .doc_image_block:before, .doc_image_block:after { - content: ' '; + content: " "; display: table; } diff --git a/src/css/scrollbar.css b/src/css/scrollbar.css index a9c6086..d7e7159 100644 --- a/src/css/scrollbar.css +++ b/src/css/scrollbar.css @@ -1,17 +1,17 @@ ::-webkit-scrollbar { - width: 4px; - height: 4px; + width: 4px; + height: 4px; } ::-webkit-scrollbar-thumb { - border-radius: 2px; - background-color: #999; + border-radius: 2px; + background-color: #999; } ::-webkit-scrollbar-button { - display: none; + display: none; } ::-webkit-scrollbar-track { - background-color: #ddd; + background-color: #ddd; } diff --git a/src/main.tsx b/src/main.tsx index a59b611..053be1d 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,16 +1,16 @@ +import { i18n } from '@lingui/core'; +import { I18nProvider } from '@lingui/react'; +import { CssBaseline, ThemeProvider } from '@mui/material'; +import { SnackbarProvider } from 'notistack'; import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import { Provider } from 'react-redux'; -import { CssBaseline, ThemeProvider } from '@mui/material'; -import { SnackbarProvider } from 'notistack'; -import { i18n } from '@lingui/core'; -import { I18nProvider } from '@lingui/react'; import { Router } from 'wouter'; import { useHashLocation } from 'wouter/use-hash-location'; import { store } from './redux/store'; -import { printWelcomeMessage } from './utils/console'; import { theme } from './theme'; +import { printWelcomeMessage } from './utils/console'; import './i18n'; import './css/scrollbar.css'; import App from './pages/_app'; diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 80832aa..dcc2671 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -1,60 +1,60 @@ -import { useState, type ErrorInfo, useRef, useEffect } from 'react'; -import { ErrorBoundary, type FallbackProps } from 'react-error-boundary'; -import { Route, Switch, useLocation } from 'wouter'; -import classnames from 'classnames'; import { Trans, t } from '@lingui/macro'; import { useLingui } from '@lingui/react'; +import classnames from 'classnames'; +import { type ErrorInfo, useEffect, useRef, useState } from 'react'; +import { ErrorBoundary, type FallbackProps } from 'react-error-boundary'; +import { Route, Switch, useLocation } from 'wouter'; import { - AppBar as MuiAppBar, Button, - Toolbar, Divider, - LinearProgress, - IconButton, Drawer, + IconButton, InputBase, - Typography, - Tooltip, + LinearProgress, + ListItemIcon, + ListItemText, Menu, MenuItem, + AppBar as MuiAppBar, + Toolbar, + Tooltip, + Typography, useColorScheme, - ListItemIcon, - ListItemText, } from '@mui/material'; import { bindMenu, bindTrigger, usePopupState } from 'material-ui-popup-state/hooks'; -import IconLanguage from '~icons/fa6-solid/language'; +import IconAngleLeft from '~icons/fa6-solid/angle-left'; +import IconBars from '~icons/fa6-solid/bars'; import IconCircleHalfStroke from '~icons/fa6-solid/circle-half-stroke'; -import IconSun from '~icons/fa6-solid/sun'; +import IconFilter from '~icons/fa6-solid/filter'; +import IconLanguage from '~icons/fa6-solid/language'; import IconMoon from '~icons/fa6-solid/moon'; -import IconBars from '~icons/fa6-solid/bars'; -import IconAngleLeft from '~icons/fa6-solid/angle-left'; import IconStarOfLife from '~icons/fa6-solid/star-of-life'; -import IconFilter from '~icons/fa6-solid/filter'; +import IconSun from '~icons/fa6-solid/sun'; import IconXmark from '~icons/fa6-solid/xmark'; -import { useAppDispatch, useAppSelector } from '../redux/hooks'; +import type { Language } from '../i18n'; import { + clearAllData, + loadApp, setTitleFilter, + syncLanguage, toggleChangeSemesterDialog, togglePaneHidden, - clearAllData, tryLoginSilently, - syncLanguage, - loadApp, } from '../redux/actions'; +import { useAppDispatch, useAppSelector } from '../redux/hooks'; import { selectCardListTitle } from '../redux/selectors'; +import type { ColorMode } from '../types/ui'; +import { interceptCsrfRequest } from '../utils/csrf'; import { formatSemester } from '../utils/format'; import { removeStoredCredential } from '../utils/storage'; -import { interceptCsrfRequest } from '../utils/csrf'; -import type { ColorMode } from '../types/ui'; -import type { Language } from '../i18n'; -import SummaryList from '../components/SummaryList'; +import CardList from '../components/CardList'; import CourseList from '../components/CourseList'; import SettingList from '../components/SettingList'; -import CardList from '../components/CardList'; +import SummaryList from '../components/SummaryList'; import { ChangeSemesterDialog, ClearDataDialog, @@ -65,10 +65,10 @@ import { } from '../components/dialogs'; import Content from './content'; +import Doc from './doc/_doc'; import ContentIgnoreSetting from './settings'; import Web from './web'; import Welcome from './welcome'; -import Doc from './doc/_doc'; import styles from '../css/main.module.css'; @@ -170,7 +170,7 @@ const AppBar = () => { > - + @@ -367,7 +367,7 @@ const App = () => { // keep login state const handle = window.setInterval(() => dispatch(tryLoginSilently()), 14 * 60 * 1000); // < 15 minutes and as long as possible return () => window.clearInterval(handle); - }, []); + }, [dispatch, navigate]); useEffect(() => { interceptCsrfRequest(csrf); diff --git a/src/pages/content.tsx b/src/pages/content.tsx index e589f33..989e63a 100644 --- a/src/pages/content.tsx +++ b/src/pages/content.tsx @@ -1,5 +1,5 @@ -import { useParams } from 'wouter'; import type { ContentType } from 'thu-learn-lib'; +import { useParams } from 'wouter'; import ContentDetail from '../components/ContentDetail'; import { useAppSelector } from '../redux/hooks'; diff --git a/src/pages/doc/_doc.tsx b/src/pages/doc/_doc.tsx index 6f586d0..a68852a 100644 --- a/src/pages/doc/_doc.tsx +++ b/src/pages/doc/_doc.tsx @@ -1,11 +1,11 @@ +import { Trans } from '@lingui/macro'; import classNames from 'classnames'; import { Link, Route } from 'wouter'; -import { Trans } from '@lingui/macro'; import styles from '../../css/doc.module.css'; import About from './about'; -import Readme from './readme'; import Changelog from './changelog'; +import Readme from './readme'; const Doc = () => { return ( diff --git a/src/pages/doc/about/index.tsx b/src/pages/doc/about/index.tsx index 9cefe5a..7d6728c 100644 --- a/src/pages/doc/about/index.tsx +++ b/src/pages/doc/about/index.tsx @@ -2,8 +2,8 @@ import { useLingui } from '@lingui/react'; import styles from '../../../css/doc.module.css'; -import AboutZH from './_zh.mdx'; import AboutEN from './_en.mdx'; +import AboutZH from './_zh.mdx'; export default function About() { const { i18n } = useLingui(); diff --git a/src/pages/doc/changelog.tsx b/src/pages/doc/changelog.tsx index 31d22a1..568f494 100644 --- a/src/pages/doc/changelog.tsx +++ b/src/pages/doc/changelog.tsx @@ -1,8 +1,8 @@ import { useLingui } from '@lingui/react'; -import styles from '../../css/doc.module.css'; -import ChangelogZH from '../../../CHANGELOG_ZH.md'; import ChangelogEN from '../../../CHANGELOG.md'; +import ChangelogZH from '../../../CHANGELOG_ZH.md'; +import styles from '../../css/doc.module.css'; export default function Changelog() { const { i18n } = useLingui(); diff --git a/src/pages/doc/readme/index.tsx b/src/pages/doc/readme/index.tsx index bf26d11..9ca8b6c 100644 --- a/src/pages/doc/readme/index.tsx +++ b/src/pages/doc/readme/index.tsx @@ -1,7 +1,7 @@ import { useLingui } from '@lingui/react'; -import ReadmeZH from './_zh.mdx'; import ReadmeEN from './_en.mdx'; +import ReadmeZH from './_zh.mdx'; export default function Readme() { const { i18n } = useLingui(); diff --git a/src/pages/settings.tsx b/src/pages/settings.tsx index 0e31521..1ab87e6 100644 --- a/src/pages/settings.tsx +++ b/src/pages/settings.tsx @@ -1,22 +1,22 @@ -import { ContentType } from 'thu-learn-lib'; import { Trans } from '@lingui/macro'; import { useLingui } from '@lingui/react'; +import { ContentType } from 'thu-learn-lib'; import { Button, + Paper, + Switch, Table, TableBody, TableCell, TableHead, TableRow, - Paper, - Switch, } from '@mui/material'; +import { COURSE_MAIN_FUNC } from '../constants/ui'; import styles from '../css/page.module.css'; import { resetContentIgnore, toggleContentIgnore } from '../redux/actions'; import { useAppDispatch, useAppSelector } from '../redux/hooks'; -import { COURSE_MAIN_FUNC } from '../constants/ui'; const ContentIgnoreSetting = () => { const { _ } = useLingui(); diff --git a/src/pages/welcome.tsx b/src/pages/welcome.tsx index 0f99e77..c13f6f9 100644 --- a/src/pages/welcome.tsx +++ b/src/pages/welcome.tsx @@ -1,5 +1,5 @@ -import classNames from 'classnames'; import { Trans } from '@lingui/macro'; +import classNames from 'classnames'; import { Link } from 'wouter'; import styles from '../css/doc.module.css'; diff --git a/src/redux/actions.ts b/src/redux/actions.ts index abe8ad1..799d3ee 100644 --- a/src/redux/actions.ts +++ b/src/redux/actions.ts @@ -1,22 +1,22 @@ -import type { ThunkAction, AnyAction } from '@reduxjs/toolkit'; +import { i18n } from '@lingui/core'; +import { t } from '@lingui/macro'; +import type { AnyAction, ThunkAction } from '@reduxjs/toolkit'; import { compare as compareVersion } from 'compare-versions'; -import { ContentType, type ApiError, CourseType, SemesterType, Language } from 'thu-learn-lib'; import { enqueueSnackbar } from 'notistack'; -import { t } from '@lingui/macro'; -import { i18n } from '@lingui/core'; +import { type ApiError, ContentType, CourseType, type Language, SemesterType } from 'thu-learn-lib'; +import { version as currentVersion } from '../../package.json'; +import { STORAGE_KEY_REDUX, STORAGE_KEY_REDUX_LEGACY, STORAGE_KEY_VERSION } from '../constants'; import type { ContentInfo, FileInfo } from '../types/data'; import { initiateFileDownload } from '../utils/download'; import { failReasonToString } from '../utils/format'; import { getStoredCredential, storeCredential } from '../utils/storage'; -import { STORAGE_KEY_REDUX, STORAGE_KEY_REDUX_LEGACY, STORAGE_KEY_VERSION } from '../constants'; -import { version as currentVersion } from '../../package.json'; import { dataSlice } from './reducers/data'; import { helperSlice } from './reducers/helper'; import { uiSlice } from './reducers/ui'; -import type { RootState } from './store'; import { selectContentIgnore, selectDataLists } from './selectors'; +import type { RootState } from './store'; export const { newSemester, @@ -236,9 +236,9 @@ export const refresh = (): AppThunk> => async (dispatch, getState) // check results const failures = (await Promise.allSettled(fetchAll.map((f) => f()))).filter( - (p) => p.status == 'rejected', + (p) => p.status === 'rejected', ); - const allSuccess = failures.length == 0; + const allSuccess = failures.length === 0; if (allSuccess) { enqueueSnackbar(t`更新成功`, { variant: 'success' }); } else { @@ -422,8 +422,8 @@ export const loadApp = (): AppThunk> => async (dispatch) => if (typeof value === 'object' && '$jsan' in value) { // parse jsan // from https://github.com/kolodny/jsan/blob/7216568a9a7969dfa81b834236595e862fdde984/lib/utils.js#L23C48-L23C48 - const type = value['$jsan'][0]; - const rest = value['$jsan'].slice(1); + const type = value.$jsan[0]; + const rest = value.$jsan.slice(1); if (type === 'd') return new Date(+rest); if (type === 'u') return undefined; // other types is not needed; diff --git a/src/redux/hooks.ts b/src/redux/hooks.ts index c3dd237..b173c7d 100644 --- a/src/redux/hooks.ts +++ b/src/redux/hooks.ts @@ -1,5 +1,5 @@ import { type TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux'; -import type { RootState, AppDispatch } from './store'; +import type { AppDispatch, RootState } from './store'; // Use throughout your app instead of plain `useDispatch` and `useSelector` export const useAppDispatch: () => AppDispatch = useDispatch; diff --git a/src/redux/reducers/data.ts b/src/redux/reducers/data.ts index 09336b4..a1a586e 100644 --- a/src/redux/reducers/data.ts +++ b/src/redux/reducers/data.ts @@ -1,4 +1,4 @@ -import { createSlice, type PayloadAction } from '@reduxjs/toolkit'; +import { type PayloadAction, createSlice } from '@reduxjs/toolkit'; import { ContentType, type CourseContent, @@ -8,12 +8,12 @@ import { SemesterType, } from 'thu-learn-lib'; -import { - type DiscussionInfo, - type FileInfo, - type HomeworkInfo, - type NotificationInfo, - type QuestionInfo, +import type { + DiscussionInfo, + FileInfo, + HomeworkInfo, + NotificationInfo, + QuestionInfo, } from '../../types/data'; interface IContentIgnore { @@ -157,12 +157,12 @@ export const dataSlice = createSlice({ updateCourses: (state, action: PayloadAction) => { action.payload.sort((a, b) => a.id.localeCompare(b.id)); state.courseMap = Object.fromEntries(action.payload.map((course) => [course.id, course])); - Object.keys(state.contentIgnore).forEach((cid) => { + for (const cid of Object.keys(state.contentIgnore)) { if (!state.courseMap[cid]) delete state.contentIgnore[cid]; - }); - Object.keys(state.courseMap).forEach((cid) => { + } + for (const cid of Object.keys(state.courseMap)) { state.contentIgnore[cid] ??= { ...IGNORE_UNSET_ALL }; - }); + } }, updateNotification: (state, action: PayloadAction) => { update(state, ContentType.NOTIFICATION, action.payload); @@ -211,11 +211,11 @@ export const dataSlice = createSlice({ state.updateFinished = false; }, markAllRead: (state) => { - Object.values(state.notificationMap).forEach((c) => void (c.hasRead = true)); - Object.values(state.fileMap).forEach((c) => void (c.hasRead = true)); - Object.values(state.homeworkMap).forEach((c) => void (c.hasRead = true)); - Object.values(state.discussionMap).forEach((c) => void (c.hasRead = true)); - Object.values(state.questionMap).forEach((c) => void (c.hasRead = true)); + for (const c of Object.values(state.notificationMap)) c.hasRead = true; + for (const c of Object.values(state.fileMap)) c.hasRead = true; + for (const c of Object.values(state.homeworkMap)) c.hasRead = true; + for (const c of Object.values(state.discussionMap)) c.hasRead = true; + for (const c of Object.values(state.questionMap)) c.hasRead = true; }, clearAllData: () => { return initialState; diff --git a/src/redux/reducers/helper.ts b/src/redux/reducers/helper.ts index 2e82d59..c71f504 100644 --- a/src/redux/reducers/helper.ts +++ b/src/redux/reducers/helper.ts @@ -1,5 +1,5 @@ import { createSlice } from '@reduxjs/toolkit'; -import { Learn2018Helper, type HelperConfig } from 'thu-learn-lib'; +import { type HelperConfig, Learn2018Helper } from 'thu-learn-lib'; export interface HelperState { helper: Learn2018Helper; diff --git a/src/redux/reducers/ui.ts b/src/redux/reducers/ui.ts index db55410..5399db4 100644 --- a/src/redux/reducers/ui.ts +++ b/src/redux/reducers/ui.ts @@ -1,5 +1,5 @@ import { type PayloadAction, createSlice } from '@reduxjs/toolkit'; -import { ContentType } from 'thu-learn-lib'; +import type { ContentType } from 'thu-learn-lib'; import { CARD_BATCH_LOAD_SIZE } from '../../constants'; diff --git a/src/redux/selectors.ts b/src/redux/selectors.ts index a473bc4..4371f8d 100644 --- a/src/redux/selectors.ts +++ b/src/redux/selectors.ts @@ -1,11 +1,11 @@ +import type { MessageDescriptor } from '@lingui/core'; +import { msg } from '@lingui/macro'; import { memoize } from 'proxy-memoize'; import { ContentType } from 'thu-learn-lib'; -import { msg } from '@lingui/macro'; -import type { MessageDescriptor } from '@lingui/core'; +import { UI_NAME_COURSE, UI_NAME_SUMMARY } from '../constants/ui'; import type { ContentInfo } from '../types/data'; import type { RootState } from './store'; -import { UI_NAME_COURSE, UI_NAME_SUMMARY } from '../constants/ui'; export const selectCourseList = memoize((state: RootState) => Object.values(state.data.courseMap)); @@ -60,6 +60,7 @@ export const selectUnreadMap = memoize((state: RootState) => { homework: count(ContentType.HOMEWORK, homeworkList), discussion: count(ContentType.DISCUSSION, discussionList), question: count(ContentType.QUESTION, questionList), + ignored: 0, } : {}; }); @@ -72,15 +73,13 @@ export const selectSemesters = memoize((state: RootState) => { export const selectCardListTitle = memoize((state: RootState): MessageDescriptor[] => { if (state.helper.loggedIn) { - if (state.ui.cardFilter.courseId) { + if (state.ui.cardFilter.courseId && state.ui.cardFilter.type !== 'ignored') { return [ UI_NAME_COURSE[state.ui.cardFilter.type ?? 'summary'], { id: `course-${state.ui.cardFilter.courseId}` }, ]; - } else { - return [UI_NAME_SUMMARY[state.ui.cardFilter.type ?? 'summary']]; } - } else { - return [msg`加载中...`]; + return [UI_NAME_SUMMARY[state.ui.cardFilter.type ?? 'summary']]; } + return [msg`加载中...`]; }); diff --git a/src/redux/store.ts b/src/redux/store.ts index 39949c9..07fa482 100644 --- a/src/redux/store.ts +++ b/src/redux/store.ts @@ -1,9 +1,9 @@ import { - configureStore, - createListenerMiddleware, type Action, type AnyAction, type TypedStartListening, + configureStore, + createListenerMiddleware, } from '@reduxjs/toolkit'; import logger from 'redux-logger'; diff --git a/src/types/data.ts b/src/types/data.ts index 99dc3eb..609b572 100644 --- a/src/types/data.ts +++ b/src/types/data.ts @@ -1,10 +1,10 @@ -import { - type Notification, - type Homework, - type File, - type Discussion, - type Question, +import type { ContentType, + Discussion, + File, + Homework, + Notification, + Question, } from 'thu-learn-lib'; interface ICourseRef { diff --git a/src/utils/crypto.ts b/src/utils/crypto.ts index 37a4cc5..c77cdb0 100644 --- a/src/utils/crypto.ts +++ b/src/utils/crypto.ts @@ -9,7 +9,7 @@ export const cipher = (salt: string) => (text: string) => export const decipher = (salt: string) => (encoded: string) => encoded .match(/.{1,2}/g)! - .map((hex) => parseInt(hex, 16)) + .map((hex) => Number.parseInt(hex, 16)) .map(applySaltToChar(salt)) .map((charCode) => String.fromCharCode(charCode)) .join(''); diff --git a/src/utils/format.ts b/src/utils/format.ts index f8d15b1..70b1f67 100644 --- a/src/utils/format.ts +++ b/src/utils/format.ts @@ -1,6 +1,6 @@ +import { type MessageDescriptor, i18n } from '@lingui/core'; import { msg, t } from '@lingui/macro'; -import { i18n, type MessageDescriptor } from '@lingui/core'; -import { type SemesterInfo, SemesterType, FailReason, HomeworkGradeLevel } from 'thu-learn-lib'; +import { FailReason, HomeworkGradeLevel, type SemesterInfo, SemesterType } from 'thu-learn-lib'; export const semesterName = { [SemesterType.FALL]: msg`秋季学期`, @@ -32,8 +32,8 @@ export function semesterFromId(id: string): SemesterInfo { id, startDate: new Date(), endDate: new Date(), - startYear: parseInt(id.substring(0, 4)), - endYear: parseInt(id.substring(5, 9)), + startYear: Number.parseInt(id.substring(0, 4)), + endYear: Number.parseInt(id.substring(5, 9)), type, }; } @@ -83,6 +83,7 @@ const FAIL_REASON_MAPPING = { [FailReason.NOT_LOGGED_IN]: msg`尚未登录`, [FailReason.NO_CREDENTIAL]: msg`未提供用户名或密码`, [FailReason.UNEXPECTED_STATUS]: msg`非预期的 HTTP 响应状态`, + [FailReason.INVALID_RESPONSE]: msg`无效的 HTTP 响应`, TIMEOUT: msg`请求超时`, UNKNOWN: msg`未知错误`, }; @@ -107,6 +108,8 @@ export function formatHomeworkGradeLevel( gradeLevel?: HomeworkGradeLevel, ): MessageDescriptor | undefined { if (gradeLevel) { - return HomeworkGradeLevelNames[gradeLevel] ?? gradeLevel; + return gradeLevel in HomeworkGradeLevelNames + ? HomeworkGradeLevelNames[gradeLevel as keyof typeof HomeworkGradeLevelNames] + : { id: gradeLevel }; } } diff --git a/wxt.config.ts b/wxt.config.ts index c6c3eda..bcd68e7 100644 --- a/wxt.config.ts +++ b/wxt.config.ts @@ -1,20 +1,20 @@ -import { defineConfig } from 'wxt'; -import icons from 'unplugin-icons/vite'; -import react from '@vitejs/plugin-react-swc'; -import preserveDirectives from 'rollup-preserve-directives'; +import { execSync } from 'node:child_process'; +import path from 'node:path'; import { lingui } from '@lingui/vite-plugin'; import mdx from '@mdx-js/rollup'; +import react from '@vitejs/plugin-react-swc'; +import Randomstring from 'randomstring'; import remarkMdxImages from 'remark-mdx-images'; import remarkUnwrapImages from 'remark-unwrap-images'; +import preserveDirectives from 'rollup-preserve-directives'; +import icons from 'unplugin-icons/vite'; import { chunkSplitPlugin } from 'vite-plugin-chunk-split'; -import Randomstring from 'randomstring'; -import { execSync } from 'node:child_process'; -import path from 'node:path'; +import { defineConfig } from 'wxt'; -import { author, version } from './package.json'; -import { version as versionThuLearnLib } from './node_modules/thu-learn-lib/package.json'; import { version as versionMui } from './node_modules/@mui/material/package.json'; import { version as versionReact } from './node_modules/react/package.json'; +import { version as versionThuLearnLib } from './node_modules/thu-learn-lib/package.json'; +import { author, version } from './package.json'; const runCmd = (cmd: string) => execSync(cmd).toString().trim();