From c05bb5497626e629b8644d3372045430456decbb Mon Sep 17 00:00:00 2001 From: Ren Amamiya <123083837+reyamir@users.noreply.github.com> Date: Wed, 16 Aug 2023 11:43:04 +0700 Subject: [PATCH] wip: refactor --- package.json | 30 +- pnpm-lock.yaml | 1115 ++++++------------ src-tauri/Cargo.lock | 44 +- src-tauri/Cargo.toml | 1 - src-tauri/src/main.rs | 14 - src-tauri/tauri.conf.json | 20 +- src/app/auth/import/step-3.tsx | 56 +- src/app/auth/migrate.tsx | 5 +- src/app/auth/unlock.tsx | 25 +- src/app/space/components/modals/feed.tsx | 55 +- src/app/space/components/modals/hashtag.tsx | 15 +- src/app/space/components/modals/image.tsx | 9 +- src/app/space/components/widgets/feed.tsx | 36 +- src/app/space/components/widgets/network.tsx | 47 +- src/app/space/components/widgets/thread.tsx | 11 +- src/app/space/index.tsx | 6 +- src/app/splash.tsx | 4 +- src/app/users/components/profile.tsx | 7 +- src/libs/ndk/instance.ts | 3 +- src/libs/storage.ts | 2 +- src/libs/storage/instance.ts | 6 + src/libs/storage/provider.tsx | 4 - src/main.tsx | 11 +- src/shared/composer/modal.tsx | 10 +- src/stores/widgets.tsx | 20 +- src/utils/checkActiveAccount.tsx | 17 +- src/utils/hooks/useEvent.tsx | 10 +- src/utils/hooks/useNostr.tsx | 18 +- src/utils/hooks/useProfile.tsx | 3 +- src/utils/hooks/useSocial.tsx | 33 +- src/utils/parser.tsx | 5 +- src/utils/transform.tsx | 2 +- src/utils/types.d.ts | 8 +- 33 files changed, 600 insertions(+), 1052 deletions(-) diff --git a/package.json b/package.json index 02411e23..5e32c0aa 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,8 @@ "dependencies": { "@ctrl/magnet-link": "^3.1.2", "@headlessui/react": "^1.7.16", - "@nostr-dev-kit/ndk": "^0.8.14", - "@nostr-fetch/adapter-ndk": "^0.11.0", + "@nostr-dev-kit/ndk": "^0.8.17", + "@nostr-fetch/adapter-ndk": "^0.12.2", "@radix-ui/react-alert-dialog": "^1.0.4", "@radix-ui/react-collapsible": "^1.0.3", "@radix-ui/react-dialog": "^1.0.4", @@ -30,6 +30,7 @@ "@tanstack/react-query-devtools": "^4.32.6", "@tanstack/react-virtual": "3.0.0-beta.54", "@tauri-apps/api": "2.0.0-alpha.6", + "@tauri-apps/cli": "2.0.0-alpha.11", "@tauri-apps/plugin-app": "github:tauri-apps/tauri-plugin-app#v2", "@tauri-apps/plugin-autostart": "github:tauri-apps/tauri-plugin-autostart#v2", "@tauri-apps/plugin-clipboard-manager": "github:tauri-apps/tauri-plugin-clipboard-manager#v2", @@ -44,7 +45,7 @@ "@tauri-apps/plugin-store": "github:tauri-apps/tauri-plugin-store#v2", "@tauri-apps/plugin-stronghold": "github:tauri-apps/tauri-plugin-stronghold#v2", "@tauri-apps/plugin-upload": "github:tauri-apps/tauri-plugin-upload#v2", - "@tauri-apps/plugin-window": "2.0.0-alpha.0", + "@tauri-apps/plugin-window": "github:tauri-apps/tauri-plugin-window#v2", "@tiptap/extension-image": "^2.0.4", "@tiptap/extension-mention": "^2.0.4", "@tiptap/extension-placeholder": "^2.0.4", @@ -54,8 +55,8 @@ "@tiptap/suggestion": "^2.0.4", "@void-cat/api": "^1.0.7", "dayjs": "^1.11.9", - "destr": "^1.2.2", - "get-urls": "^11.0.0", + "destr": "^2.0.1", + "get-urls": "^12.1.0", "html-to-text": "^9.0.5", "immer": "^10.0.2", "light-bolt11-decoder": "^3.0.0", @@ -78,15 +79,14 @@ }, "devDependencies": { "@tailwindcss/typography": "^0.5.9", - "@tauri-apps/cli": "2.0.0-alpha.10", "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@types/html-to-text": "^9.0.1", - "@types/node": "^18.17.5", + "@types/node": "^20.5.0", "@types/react": "^18.2.20", "@types/react-dom": "^18.2.7", "@types/youtube-player": "^5.5.7", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", + "@typescript-eslint/eslint-plugin": "^6.4.0", + "@typescript-eslint/parser": "^6.4.0", "@vitejs/plugin-react-swc": "^3.3.2", "autoprefixer": "^10.4.15", "clsx": "^2.0.0", @@ -94,19 +94,19 @@ "csstype": "^3.1.2", "encoding": "^0.1.13", "eslint": "^8.47.0", - "eslint-config-prettier": "^8.10.0", + "eslint-config-prettier": "^9.0.0", "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-react": "^7.33.1", "eslint-plugin-simple-import-sort": "^10.0.0", "husky": "^8.0.3", - "lint-staged": "^13.3.0", - "postcss": "^8.4.27", - "prettier": "^2.8.8", - "prettier-plugin-tailwindcss": "^0.3.0", + "lint-staged": "^14.0.0", + "postcss": "^8.4.28", + "prettier": "^3.0.2", + "prettier-plugin-tailwindcss": "^0.5.3", "prop-types": "^15.8.1", "tailwind-merge": "^1.14.0", "tailwindcss": "^3.3.3", - "typescript": "^4.9.5", + "typescript": "^5.1.6", "vite": "^4.4.9", "vite-plugin-top-level-await": "^1.3.1", "vite-tsconfig-paths": "^4.2.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 522343c7..b3056977 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,11 +8,11 @@ dependencies: specifier: ^1.7.16 version: 1.7.16(react-dom@18.2.0)(react@18.2.0) '@nostr-dev-kit/ndk': - specifier: ^0.8.14 - version: 0.8.14(typescript@4.9.5) + specifier: ^0.8.17 + version: 0.8.17(typescript@5.1.6) '@nostr-fetch/adapter-ndk': - specifier: ^0.11.0 - version: 0.11.0(@nostr-dev-kit/ndk@0.8.14)(nostr-fetch@0.12.2) + specifier: ^0.12.2 + version: 0.12.2(@nostr-dev-kit/ndk@0.8.17)(nostr-fetch@0.12.2) '@radix-ui/react-alert-dialog': specifier: ^1.0.4 version: 1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) @@ -40,6 +40,9 @@ dependencies: '@tauri-apps/api': specifier: 2.0.0-alpha.6 version: 2.0.0-alpha.6 + '@tauri-apps/cli': + specifier: 2.0.0-alpha.11 + version: 2.0.0-alpha.11 '@tauri-apps/plugin-app': specifier: github:tauri-apps/tauri-plugin-app#v2 version: github.com/tauri-apps/tauri-plugin-app/1efde5f3e693927a529408f414238ad40b06c9a2 @@ -83,8 +86,8 @@ dependencies: specifier: github:tauri-apps/tauri-plugin-upload#v2 version: github.com/tauri-apps/tauri-plugin-upload/c48327c9601b0097f104ddef120a1999d5b944db '@tauri-apps/plugin-window': - specifier: 2.0.0-alpha.0 - version: 2.0.0-alpha.0 + specifier: github:tauri-apps/tauri-plugin-window#v2 + version: github.com/tauri-apps/tauri-plugin-window/09c9732d0c98c13ee8aeb51de61f7eef3eb33a4b '@tiptap/extension-image': specifier: ^2.0.4 version: 2.0.4(@tiptap/core@2.0.4) @@ -113,11 +116,11 @@ dependencies: specifier: ^1.11.9 version: 1.11.9 destr: - specifier: ^1.2.2 - version: 1.2.2 + specifier: ^2.0.1 + version: 2.0.1 get-urls: - specifier: ^11.0.0 - version: 11.0.0 + specifier: ^12.1.0 + version: 12.1.0 html-to-text: specifier: ^9.0.5 version: 9.0.5 @@ -180,18 +183,15 @@ devDependencies: '@tailwindcss/typography': specifier: ^0.5.9 version: 0.5.9(tailwindcss@3.3.3) - '@tauri-apps/cli': - specifier: 2.0.0-alpha.10 - version: 2.0.0-alpha.10 '@trivago/prettier-plugin-sort-imports': specifier: ^4.2.0 - version: 4.2.0(prettier@2.8.8) + version: 4.2.0(prettier@3.0.2) '@types/html-to-text': specifier: ^9.0.1 version: 9.0.1 '@types/node': - specifier: ^18.17.5 - version: 18.17.5 + specifier: ^20.5.0 + version: 20.5.0 '@types/react': specifier: ^18.2.20 version: 18.2.20 @@ -202,17 +202,17 @@ devDependencies: specifier: ^5.5.7 version: 5.5.7 '@typescript-eslint/eslint-plugin': - specifier: ^5.62.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)(typescript@4.9.5) + specifier: ^6.4.0 + version: 6.4.0(@typescript-eslint/parser@6.4.0)(eslint@8.47.0)(typescript@5.1.6) '@typescript-eslint/parser': - specifier: ^5.62.0 - version: 5.62.0(eslint@8.47.0)(typescript@4.9.5) + specifier: ^6.4.0 + version: 6.4.0(eslint@8.47.0)(typescript@5.1.6) '@vitejs/plugin-react-swc': specifier: ^3.3.2 version: 3.3.2(vite@4.4.9) autoprefixer: specifier: ^10.4.15 - version: 10.4.15(postcss@8.4.27) + version: 10.4.15(postcss@8.4.28) clsx: specifier: ^2.0.0 version: 2.0.0 @@ -229,8 +229,8 @@ devDependencies: specifier: ^8.47.0 version: 8.47.0 eslint-config-prettier: - specifier: ^8.10.0 - version: 8.10.0(eslint@8.47.0) + specifier: ^9.0.0 + version: 9.0.0(eslint@8.47.0) eslint-plugin-jsx-a11y: specifier: ^6.7.1 version: 6.7.1(eslint@8.47.0) @@ -244,17 +244,17 @@ devDependencies: specifier: ^8.0.3 version: 8.0.3 lint-staged: - specifier: ^13.3.0 - version: 13.3.0 + specifier: ^14.0.0 + version: 14.0.0 postcss: - specifier: ^8.4.27 - version: 8.4.27 + specifier: ^8.4.28 + version: 8.4.28 prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.0.2 + version: 3.0.2 prettier-plugin-tailwindcss: - specifier: ^0.3.0 - version: 0.3.0(@trivago/prettier-plugin-sort-imports@4.2.0)(prettier@2.8.8) + specifier: ^0.5.3 + version: 0.5.3(@trivago/prettier-plugin-sort-imports@4.2.0)(prettier@3.0.2) prop-types: specifier: ^15.8.1 version: 15.8.1 @@ -265,17 +265,17 @@ devDependencies: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^4.9.5 - version: 4.9.5 + specifier: ^5.1.6 + version: 5.1.6 vite: specifier: ^4.4.9 - version: 4.4.9(@types/node@18.17.5) + version: 4.4.9(@types/node@20.5.0) vite-plugin-top-level-await: specifier: ^1.3.1 version: 1.3.1(vite@4.4.9) vite-tsconfig-paths: specifier: ^4.2.0 - version: 4.2.0(typescript@4.9.5)(vite@4.4.9) + version: 4.2.0(typescript@5.1.6)(vite@4.4.9) packages: @@ -904,18 +904,6 @@ packages: /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: false - /@jest/schemas@29.6.0: resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -964,10 +952,6 @@ packages: engines: {node: '>= 16'} dev: false - /@noble/secp256k1@1.7.1: - resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} - dev: false - /@noble/secp256k1@2.0.0: resolution: {integrity: sha512-rUGBd95e2a45rlmFTqQJYEFA4/gdIARFfuTuTqLglz0PZ6AKyzyXsEZZq7UZn8hZsvaBgpCzKKBJizT2cJERXw==} dev: false @@ -990,14 +974,14 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - /@nostr-dev-kit/ndk@0.8.14(typescript@4.9.5): - resolution: {integrity: sha512-aVYRRAypZDrnfkWWHWK+t6W/mv9yJflwMn4gYuPKCL8qUuP98QFuCO7yVbh+cWlyVQXQa+B64BDhg/oP2AIZzA==} + /@nostr-dev-kit/ndk@0.8.17(typescript@5.1.6): + resolution: {integrity: sha512-v57eIO1ecZU/btD28MpFJqLY7LJ5FpvzByellrDZixlXaMnMtRccxOe8MAe+dXaYXPRnw2VOMu3MiKtUkZUDAA==} dependencies: '@noble/hashes': 1.3.1 '@noble/secp256k1': 2.0.0 '@scure/base': 1.1.1 - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)(typescript@4.9.5) - '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.1.6) debug: 4.3.4 esbuild: 0.17.19 esbuild-plugin-alias: 0.2.1 @@ -1019,24 +1003,17 @@ packages: - typescript dev: false - /@nostr-fetch/adapter-ndk@0.11.0(@nostr-dev-kit/ndk@0.8.14)(nostr-fetch@0.12.2): - resolution: {integrity: sha512-Otl7SEzm9ecqyHB10bpYXBu1qpqJEnipp7dZ4qcA9LeJAtM38fnYKUD34HX0JXA9EDjtc6VS5UNZe544xC9GCg==} + /@nostr-fetch/adapter-ndk@0.12.2(@nostr-dev-kit/ndk@0.8.17)(nostr-fetch@0.12.2): + resolution: {integrity: sha512-+7EVuxS5DDZvNo6qbfFp7xRHwIyjyi36hYkiQFDjbQ4gX5LKo9RIPB1P+1XGkOSDFshypTbovZCaFunscJ/zhQ==} peerDependencies: - '@nostr-dev-kit/ndk': ^0.5.0 - nostr-fetch: ^0.11.0 + '@nostr-dev-kit/ndk': ^0.7.5 + nostr-fetch: ^0.12.2 dependencies: - '@nostr-dev-kit/ndk': 0.8.14(typescript@4.9.5) - '@nostr-fetch/kernel': 0.11.0 + '@nostr-dev-kit/ndk': 0.8.17(typescript@5.1.6) + '@nostr-fetch/kernel': 0.12.2 nostr-fetch: 0.12.2 dev: false - /@nostr-fetch/kernel@0.11.0: - resolution: {integrity: sha512-OQGAfrGckWkUmFBbE85hq/njVmFrWP21uO8XgXQ1ISS7yrD2N5zcOs1XXXRnaTwIMCv25E8s5Gsgf0AhVWtDEw==} - dependencies: - '@noble/hashes': 1.3.1 - '@noble/secp256k1': 1.7.1 - dev: false - /@nostr-fetch/kernel@0.12.2: resolution: {integrity: sha512-ja7StOV33NmdtAMGfQIS0/R0dAkLRm3QxN6u/YAQdp5mXER4BYxiQKxUS/dCoTCSX986MH2zp9Fm0f76u4VaNQ==} dependencies: @@ -1044,20 +1021,6 @@ packages: '@noble/hashes': 1.3.1 dev: false - /@npmcli/fs@3.1.0: - resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - semver: 7.5.4 - dev: false - - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true - dev: false - optional: true - /@popperjs/core@2.11.8: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} dev: false @@ -1827,127 +1790,116 @@ packages: resolution: {integrity: sha512-jtkwqdP2rY2iCCDVAFuaNBH3fiEi29aTn2RhtIoky8DTTiCdc48plpHHreLwmv1PICJ4AJUUESaq3xa8fZH8+g==} dev: false - /@tauri-apps/api@2.0.0-alpha.4: - resolution: {integrity: sha512-gWe5fFHbwFM+dmdDPtlDvVDVtoMneGRM+S8mECevWhKpXYxId0yxznE56YGAvPSJXC3vgsXw16mOmkTnEVKnaw==} - engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'} - dev: false - /@tauri-apps/api@2.0.0-alpha.6: resolution: {integrity: sha512-ZMOc3eu9amwvkC6M69h3hWt4/EsFaAXmtkiw4xd2LN59/lTb4ZQiVfq2QKlRcu1rj3n/Tcr7U30ZopvHwXBGIg==} engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'} dev: false - /@tauri-apps/cli-darwin-arm64@2.0.0-alpha.10: - resolution: {integrity: sha512-z6DoKRUm1Yygu2Tpatu7Fej0eZejZQcsDKsHWc3b5yoIsrodxvKbko2SvYczUx4ecXWplJBTIfTZNo6ciIRRmw==} + /@tauri-apps/cli-darwin-arm64@2.0.0-alpha.11: + resolution: {integrity: sha512-SXm5vCO/Rt5JoY9se35jA4zz8iqgA0bgbcM/qVOrTnd1DUFWUP9Tss0g+UExhqEcvUxo/QPfuwk8qVYDH3A7gg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] requiresBuild: true - dev: true + dev: false optional: true - /@tauri-apps/cli-darwin-x64@2.0.0-alpha.10: - resolution: {integrity: sha512-xqPUC5uI6zo5+1IXSwZLj1uyRWCeZgQgpyaExGDOYBjcC8HUc2NRdFGsGVtGhFWE+HftppD9p8elJLQM90B02w==} + /@tauri-apps/cli-darwin-x64@2.0.0-alpha.11: + resolution: {integrity: sha512-usboHzRGITRcT4YM6CC7M11EpgO1pormVhOb2OzhkUmt7m0HTwKDswZL7YER5Kx82RaMqXmt8MKF5q14HZqzkg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] requiresBuild: true - dev: true + dev: false optional: true - /@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-alpha.10: - resolution: {integrity: sha512-UpjG9qpF/7fkfrBoM6N+Lo08HRAKR9k7LENAFU+zd81JestxOCs0hxuX2/lGkVydtOuSXfVvMn1W5YpGKkgp3A==} + /@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-alpha.11: + resolution: {integrity: sha512-yAcJOpTnijxSmvxwkbRmHNBmFGo0UyA9qunboDaSppQQqlEozGMwQe6yASUpBdjzRaECbygoiiNez9dHOnQfOg==} engines: {node: '>= 10'} cpu: [arm] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@tauri-apps/cli-linux-arm64-gnu@2.0.0-alpha.10: - resolution: {integrity: sha512-Pc8seZINcbHDgOC0ThZ5EPUqOYbL94wEUecKkiaKn7gCl3/ZyIlRte5gizBeLwmnG4fkSLZc0UMvRilu4hGK3g==} + /@tauri-apps/cli-linux-arm64-gnu@2.0.0-alpha.11: + resolution: {integrity: sha512-tPYRhxZjAKaBcpN5WerHO39PEru9Uql8milTgp+rD+uu5C0cqUTR524YoffuIox38zB4skq7y8sQCT+oivDLkQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@tauri-apps/cli-linux-arm64-musl@2.0.0-alpha.10: - resolution: {integrity: sha512-ZlaBbJq5yXP6VmNOrUGgSDnM1JcDsYf7XfVOm/kLVVrZ3iEzYA18v4SZH2kR18bU7h5+YVCPwwnfD+B8ROGidA==} + /@tauri-apps/cli-linux-arm64-musl@2.0.0-alpha.11: + resolution: {integrity: sha512-E+FJ9nnaYcsmm88u8GZOmmiHG/3qG4guF/k7r7Y3v5N9I1NFyiEr8hg5WeHBNBZoepHSrtBRQ0Ov2Bq58hqOzg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@tauri-apps/cli-linux-x64-gnu@2.0.0-alpha.10: - resolution: {integrity: sha512-7fo0u56URSFZwJpwPMeNiYypbgYcT8i5KPMe1CQgWW19sJLHBMK1Kd0L8SeAZDlCPpY2coNifAdEm3C7Ca7xMQ==} + /@tauri-apps/cli-linux-x64-gnu@2.0.0-alpha.11: + resolution: {integrity: sha512-Rvy/r0HI2RmE+D+0EUAs5xlIa4zMxQ421PTrOY0WmyTHrjxx/M4TX3D4oJnZsKrLjQ3L8OFvV6A632BJnxpAuA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@tauri-apps/cli-linux-x64-musl@2.0.0-alpha.10: - resolution: {integrity: sha512-9lY7YJmsm7SndlIxKzj/faX/bYX1q0dib88kpxT2xW4qNt9RihTI6PST1PDce5DmEoheLU9Xp9ere8SfoHgE2A==} + /@tauri-apps/cli-linux-x64-musl@2.0.0-alpha.11: + resolution: {integrity: sha512-QT1TH+QieJKDT8YOyUKRIdcnMZgeH/vGdkzkmXbKaGURcYEjsh8qHelYzE+2oyWt8VBIJJXV7DcbNX6g4Q+fMA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true - dev: true + dev: false optional: true - /@tauri-apps/cli-win32-arm64-msvc@2.0.0-alpha.10: - resolution: {integrity: sha512-tJOHIy13vjYRkfw7++aRDQEb5CVzVQKDiJ35Zg4I8YcaPExgj6LKCpDo8N8AD4RXy4SnYKzqYTt8K9xcyIonzA==} + /@tauri-apps/cli-win32-arm64-msvc@2.0.0-alpha.11: + resolution: {integrity: sha512-ggGRBzdND1lEYlZ31ujeYvVAKZh/vHjnx7Q5Gsi4Bu3e9pSt3sId0G5G2OXH7WyxftaDUzfsLfKknE3cQwX9rA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] requiresBuild: true - dev: true + dev: false optional: true - /@tauri-apps/cli-win32-ia32-msvc@2.0.0-alpha.10: - resolution: {integrity: sha512-DN4TlOU8e6cRRVXAnldHhfDDr0ER000fojJ/Vb33fgGvaXury3jBtNyKQuoscvg6T8fLUBc72O6+4tDnXlIBwQ==} + /@tauri-apps/cli-win32-ia32-msvc@2.0.0-alpha.11: + resolution: {integrity: sha512-P32D6CvyzVB+5pPDxcKSoIClGB0el5rzaDne8jVS/VR+IidYp1oCP5wAsF9h+ldEsdesAbsbtWaMKS36kxgA2g==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] requiresBuild: true - dev: true + dev: false optional: true - /@tauri-apps/cli-win32-x64-msvc@2.0.0-alpha.10: - resolution: {integrity: sha512-H5Y+L7H24n9EVB/Dw5HHGo+wQZHTLVgWrkOwsxqssDhTPiM5CbEuyjEf/B1y8uqp4YoIlw5t7Db+GBg12KejAA==} + /@tauri-apps/cli-win32-x64-msvc@2.0.0-alpha.11: + resolution: {integrity: sha512-a3geg/sWR7+qfTuoQGFK13YlHlip47XYnMXtoaC+SAXJ7Pur+/m48PZgxYy5mwvI2ApNUTgkMO5ZwdeeK2sh5g==} engines: {node: '>= 10'} cpu: [x64] os: [win32] requiresBuild: true - dev: true + dev: false optional: true - /@tauri-apps/cli@2.0.0-alpha.10: - resolution: {integrity: sha512-8SkTAxg5J06f7BWgJjNt1NEBPRsffmj4X+PckHX3ZguZd8xqpGtACufUg0zVqaFZPmd+9OCvoEJSP5veO4utDQ==} + /@tauri-apps/cli@2.0.0-alpha.11: + resolution: {integrity: sha512-akkxK6lkPyo27F7+GHJuZTEUWwaX5yKRXrDhir+DAzEH4Gt/EZ+GsPFPgSV1EBQzDZGdMGpRovuftIky7m0TZw==} engines: {node: '>= 10'} hasBin: true optionalDependencies: - '@tauri-apps/cli-darwin-arm64': 2.0.0-alpha.10 - '@tauri-apps/cli-darwin-x64': 2.0.0-alpha.10 - '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-alpha.10 - '@tauri-apps/cli-linux-arm64-gnu': 2.0.0-alpha.10 - '@tauri-apps/cli-linux-arm64-musl': 2.0.0-alpha.10 - '@tauri-apps/cli-linux-x64-gnu': 2.0.0-alpha.10 - '@tauri-apps/cli-linux-x64-musl': 2.0.0-alpha.10 - '@tauri-apps/cli-win32-arm64-msvc': 2.0.0-alpha.10 - '@tauri-apps/cli-win32-ia32-msvc': 2.0.0-alpha.10 - '@tauri-apps/cli-win32-x64-msvc': 2.0.0-alpha.10 - dev: true - - /@tauri-apps/plugin-window@2.0.0-alpha.0: - resolution: {integrity: sha512-ZXFXOu9m8QiDB8d8LFFgwcfxIAbr0bhzj06YvmZDB3isuVtlFP9EyU4D+zmumWEWvNN2XP7xgpn68ivOVhmNNQ==} - dependencies: - '@tauri-apps/api': 2.0.0-alpha.4 + '@tauri-apps/cli-darwin-arm64': 2.0.0-alpha.11 + '@tauri-apps/cli-darwin-x64': 2.0.0-alpha.11 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-alpha.11 + '@tauri-apps/cli-linux-arm64-gnu': 2.0.0-alpha.11 + '@tauri-apps/cli-linux-arm64-musl': 2.0.0-alpha.11 + '@tauri-apps/cli-linux-x64-gnu': 2.0.0-alpha.11 + '@tauri-apps/cli-linux-x64-musl': 2.0.0-alpha.11 + '@tauri-apps/cli-win32-arm64-msvc': 2.0.0-alpha.11 + '@tauri-apps/cli-win32-ia32-msvc': 2.0.0-alpha.11 + '@tauri-apps/cli-win32-x64-msvc': 2.0.0-alpha.11 dev: false /@tiptap/core@2.0.4(@tiptap/pm@2.0.4): @@ -2242,12 +2194,7 @@ packages: '@tiptap/pm': 2.0.4(@tiptap/core@2.0.4) dev: false - /@tootallnate/once@2.0.0: - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} - dev: false - - /@trivago/prettier-plugin-sort-imports@4.2.0(prettier@2.8.8): + /@trivago/prettier-plugin-sort-imports@4.2.0(prettier@3.0.2): resolution: {integrity: sha512-YBepjbt+ZNBVmN3ev1amQH3lWCmHyt5qTbLCp/syXJRu/Kw2koXh44qayB1gMRxcL/gV8egmjN5xWSrYyfUtyw==} peerDependencies: '@vue/compiler-sfc': 3.x @@ -2262,7 +2209,7 @@ packages: '@babel/types': 7.17.0 javascript-natural-sort: 0.7.1 lodash: 4.17.21 - prettier: 2.8.8 + prettier: 3.0.2 transitivePeerDependencies: - supports-color dev: true @@ -2319,8 +2266,8 @@ packages: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: false - /@types/node@18.17.5: - resolution: {integrity: sha512-xNbS75FxH6P4UXTPUJp/zNPq6/xsfdJKussCWNOnz4aULWIRwMgP1LgaB5RiBnMX1DPCYenuqGZfnIAx5mbFLA==} + /@types/node@20.5.0: + resolution: {integrity: sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==} dev: true /@types/normalize-package-data@2.4.1: @@ -2368,7 +2315,7 @@ packages: resolution: {integrity: sha512-W8F4eoTIvzXeNrT3JroQPimZLXnlJA8smYygHZUKFPVoYwgs/OhJkA1VBhL3iSs57OQkuINqHlY4SmMT5wtnJg==} dev: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)(typescript@4.9.5): + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.47.0)(typescript@5.1.6): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2380,22 +2327,52 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.1.6) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.47.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.47.0)(typescript@4.9.5) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/utils': 5.62.0(eslint@8.47.0)(typescript@5.1.6) debug: 4.3.4 eslint: 8.47.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare-lite: 1.4.0 semver: 7.5.4 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color + dev: false - /@typescript-eslint/parser@5.62.0(eslint@8.47.0)(typescript@4.9.5): + /@typescript-eslint/eslint-plugin@6.4.0(@typescript-eslint/parser@6.4.0)(eslint@8.47.0)(typescript@5.1.6): + resolution: {integrity: sha512-62o2Hmc7Gs3p8SLfbXcipjWAa6qk2wZGChXG2JbBtYpwSRmti/9KHLqfbLs9uDigOexG+3PaQ9G2g3201FWLKg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.6.2 + '@typescript-eslint/parser': 6.4.0(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/scope-manager': 6.4.0 + '@typescript-eslint/type-utils': 6.4.0(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/utils': 6.4.0(eslint@8.47.0)(typescript@5.1.6) + '@typescript-eslint/visitor-keys': 6.4.0 + debug: 4.3.4 + eslint: 8.47.0 + graphemer: 1.4.0 + ignore: 5.2.4 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.1(typescript@5.1.6) + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@5.62.0(eslint@8.47.0)(typescript@5.1.6): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2407,12 +2384,34 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) debug: 4.3.4 eslint: 8.47.0 - typescript: 4.9.5 + typescript: 5.1.6 transitivePeerDependencies: - supports-color + dev: false + + /@typescript-eslint/parser@6.4.0(eslint@8.47.0)(typescript@5.1.6): + resolution: {integrity: sha512-I1Ah1irl033uxjxO9Xql7+biL3YD7w9IU8zF+xlzD/YxY6a4b7DYA08PXUUCbm2sEljwJF6ERFy2kTGAGcNilg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.4.0 + '@typescript-eslint/types': 6.4.0 + '@typescript-eslint/typescript-estree': 6.4.0(typescript@5.1.6) + '@typescript-eslint/visitor-keys': 6.4.0 + debug: 4.3.4 + eslint: 8.47.0 + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: true /@typescript-eslint/scope-manager@5.62.0: resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} @@ -2420,8 +2419,17 @@ packages: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 + dev: false - /@typescript-eslint/type-utils@5.62.0(eslint@8.47.0)(typescript@4.9.5): + /@typescript-eslint/scope-manager@6.4.0: + resolution: {integrity: sha512-TUS7vaKkPWDVvl7GDNHFQMsMruD+zhkd3SdVW0d7b+7Zo+bd/hXJQ8nsiUZMi1jloWo6c9qt3B7Sqo+flC1nig==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.4.0 + '@typescript-eslint/visitor-keys': 6.4.0 + dev: true + + /@typescript-eslint/type-utils@5.62.0(eslint@8.47.0)(typescript@5.1.6): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2431,20 +2439,47 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.47.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) + '@typescript-eslint/utils': 5.62.0(eslint@8.47.0)(typescript@5.1.6) debug: 4.3.4 eslint: 8.47.0 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color + dev: false + + /@typescript-eslint/type-utils@6.4.0(eslint@8.47.0)(typescript@5.1.6): + resolution: {integrity: sha512-TvqrUFFyGY0cX3WgDHcdl2/mMCWCDv/0thTtx/ODMY1QhEiyFtv/OlLaNIiYLwRpAxAtOLOY9SUf1H3Q3dlwAg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.4.0(typescript@5.1.6) + '@typescript-eslint/utils': 6.4.0(eslint@8.47.0)(typescript@5.1.6) + debug: 4.3.4 + eslint: 8.47.0 + ts-api-utils: 1.0.1(typescript@5.1.6) + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: true /@typescript-eslint/types@5.62.0: resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: false - /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5): + /@typescript-eslint/types@6.4.0: + resolution: {integrity: sha512-+FV9kVFrS7w78YtzkIsNSoYsnOtrYVnKWSTVXoL1761CsCRv5wpDOINgsXpxD67YCLZtVQekDDyaxfjVWUJmmg==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.1.6): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2459,12 +2494,34 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color + dev: false - /@typescript-eslint/utils@5.62.0(eslint@8.47.0)(typescript@4.9.5): + /@typescript-eslint/typescript-estree@6.4.0(typescript@5.1.6): + resolution: {integrity: sha512-iDPJArf/K2sxvjOR6skeUCNgHR/tCQXBsa+ee1/clRKr3olZjZ/dSkXPZjG6YkPtnW6p5D1egeEPMCW6Gn4yLA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.4.0 + '@typescript-eslint/visitor-keys': 6.4.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.1(typescript@5.1.6) + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.62.0(eslint@8.47.0)(typescript@5.1.6): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2475,13 +2532,33 @@ packages: '@types/semver': 7.5.0 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) eslint: 8.47.0 eslint-scope: 5.1.1 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript + dev: false + + /@typescript-eslint/utils@6.4.0(eslint@8.47.0)(typescript@5.1.6): + resolution: {integrity: sha512-BvvwryBQpECPGo8PwF/y/q+yacg8Hn/2XS+DqL/oRsOPK+RPt29h5Ui5dqOKHDlbXrAeHUTnyG3wZA0KTDxRZw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 6.4.0 + '@typescript-eslint/types': 6.4.0 + '@typescript-eslint/typescript-estree': 6.4.0(typescript@5.1.6) + eslint: 8.47.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true /@typescript-eslint/visitor-keys@5.62.0: resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} @@ -2489,6 +2566,15 @@ packages: dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 + dev: false + + /@typescript-eslint/visitor-keys@6.4.0: + resolution: {integrity: sha512-yJSfyT+uJm+JRDWYRYdCm2i+pmvXJSMtPR9Cq5/XQs4QIgNoLcoRtDdzsLbLsFM/c6um6ohQkg/MLxWvoIndJA==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.4.0 + eslint-visitor-keys: 3.4.3 + dev: true /@vitejs/plugin-react-swc@3.3.2(vite@4.4.9): resolution: {integrity: sha512-VJFWY5sfoZerQRvJrh518h3AcQt6f/yTuWn4/TRB+dqmYU0NX1qz7qM5Wfd+gOQqUzQW4gxKqKN3KpE/P3+zrA==} @@ -2496,7 +2582,7 @@ packages: vite: ^4 dependencies: '@swc/core': 1.3.76 - vite: 4.4.9(@types/node@18.17.5) + vite: 4.4.9(@types/node@20.5.0) transitivePeerDependencies: - '@swc/helpers' dev: true @@ -2507,10 +2593,6 @@ packages: sjcl: 1.0.8 dev: false - /abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - dev: false - /acorn-jsx@5.3.2(acorn@8.10.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -2523,30 +2605,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - /agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - - /agentkeepalive@4.5.0: - resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} - engines: {node: '>= 8.0.0'} - dependencies: - humanize-ms: 1.2.1 - dev: false - - /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: false - /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -2576,6 +2634,7 @@ packages: /ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} + dev: true /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} @@ -2597,6 +2656,7 @@ packages: /ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} + dev: true /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -2610,18 +2670,6 @@ packages: picomatch: 2.3.1 dev: true - /aproba@2.0.0: - resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - dev: false - - /are-we-there-yet@3.0.1: - resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.2 - dev: false - /arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} dev: true @@ -2721,7 +2769,7 @@ packages: resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} dev: true - /autoprefixer@10.4.15(postcss@8.4.27): + /autoprefixer@10.4.15(postcss@8.4.28): resolution: {integrity: sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -2733,7 +2781,7 @@ packages: fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 dev: true @@ -2770,12 +2818,6 @@ packages: balanced-match: 1.0.2 concat-map: 0.0.1 - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - dev: false - /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} @@ -2788,7 +2830,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001520 - electron-to-chromium: 1.4.491 + electron-to-chromium: 1.4.492 node-releases: 2.0.13 update-browserslist-db: 1.0.11(browserslist@4.21.10) dev: true @@ -2801,24 +2843,6 @@ packages: node-gyp-build: 4.6.0 dev: false - /cacache@17.1.4: - resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.3 - glob: 10.3.3 - lru-cache: 7.18.3 - minipass: 7.0.3 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - p-map: 4.0.0 - ssri: 10.0.5 - tar: 6.1.15 - unique-filename: 3.0.0 - dev: false - /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: @@ -2900,16 +2924,6 @@ packages: fsevents: 2.3.2 dev: true - /chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} - dev: false - - /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: false - /cli-cursor@4.0.0: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2929,6 +2943,13 @@ packages: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} dev: false + /clone-regexp@3.0.0: + resolution: {integrity: sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw==} + engines: {node: '>=12'} + dependencies: + is-regexp: 3.1.0 + dev: false + /clsx@2.0.0: resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} engines: {node: '>=6'} @@ -2951,11 +2972,6 @@ packages: /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} - hasBin: true - dev: false - /colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: true @@ -2977,8 +2993,9 @@ packages: /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - /console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + /convert-hrtime@5.0.0: + resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==} + engines: {node: '>=12'} dev: false /copy-anything@3.0.5: @@ -3126,16 +3143,12 @@ packages: has-property-descriptors: 1.0.0 object-keys: 1.1.1 - /delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - dev: false - /dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - /destr@1.2.2: - resolution: {integrity: sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==} + /destr@2.0.1: + resolution: {integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==} dev: false /detect-node-es@1.1.0: @@ -3207,9 +3220,10 @@ packages: /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true - /electron-to-chromium@1.4.491: - resolution: {integrity: sha512-ZzPqGKghdVzlQJ+qpfE+r6EB321zed7e5JsvHIlMM4zPFF8okXUkF5Of7h7F3l3cltPL0rG7YVmlp5Qro7RQLA==} + /electron-to-chromium@1.4.492: + resolution: {integrity: sha512-36K9b/6skMVwAIEsC7GiQ8I8N3soCALVSHqWHzNDtGemAcI9Xu8hP02cywWM0A794rTHm0b0zHPeLJHtgFVamQ==} dev: true /emoji-regex@8.0.0: @@ -3218,11 +3232,13 @@ packages: /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true /encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} dependencies: iconv-lite: 0.6.3 + dev: true /entities@3.0.1: resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} @@ -3234,15 +3250,6 @@ packages: engines: {node: '>=0.12'} dev: false - /env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} - dev: false - - /err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - dev: false - /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: @@ -3428,6 +3435,16 @@ packages: eslint: '>=7.0.0' dependencies: eslint: 8.47.0 + dev: false + + /eslint-config-prettier@9.0.0(eslint@8.47.0): + resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.47.0 + dev: true /eslint-formatter-pretty@4.1.0: resolution: {integrity: sha512-IsUTtGxF1hrH6lMWiSl1WbGaiP01eT6kzywdY1U+zLc0MP+nwEnUiS9UI8IaOTUhTeQJLlCEWIbXINBH4YJbBQ==} @@ -3474,7 +3491,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.1.6) debug: 3.2.7 eslint: 8.47.0 eslint-import-resolver-node: 0.3.9 @@ -3492,7 +3509,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.62.0(eslint@8.47.0)(typescript@5.1.6) array-includes: 3.1.6 array.prototype.findlastindex: 1.2.2 array.prototype.flat: 1.3.1 @@ -3585,6 +3602,7 @@ packages: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 + dev: false /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} @@ -3674,6 +3692,7 @@ packages: /estraverse@4.3.0: resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} engines: {node: '>=4.0'} + dev: false /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} @@ -3701,10 +3720,6 @@ packages: strip-final-newline: 3.0.0 dev: true - /exponential-backoff@3.1.1: - resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} - dev: false - /ext@1.7.0: resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} dependencies: @@ -3789,14 +3804,6 @@ packages: dependencies: is-callable: 1.2.7 - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} - dependencies: - cross-spawn: 7.0.3 - signal-exit: 4.1.0 - dev: false - /formdata-polyfill@4.0.10: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} @@ -3808,20 +3815,6 @@ packages: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true - /fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: false - - /fs-minipass@3.0.3: - resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minipass: 7.0.3 - dev: false - /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -3836,6 +3829,11 @@ packages: /function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + /function-timeout@0.1.1: + resolution: {integrity: sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg==} + engines: {node: '>=14.16'} + dev: false + /function.prototype.name@1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} engines: {node: '>= 0.4'} @@ -3848,20 +3846,6 @@ packages: /functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - /gauge@4.0.4: - resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - aproba: 2.0.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - dev: false - /get-intrinsic@1.2.1: resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} dependencies: @@ -3887,15 +3871,15 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.2.1 - /get-urls@11.0.0: - resolution: {integrity: sha512-rxTvv9HszwTtPfN7oRGVTVn7aPmvLKGqY41SFpMyKan65un/nZHWhqmD+URmnCG7w/B+IFqKw1lWzYfxgfFLEw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /get-urls@12.1.0: + resolution: {integrity: sha512-qHO+QmPiI1bEw0Y/m+WMAAx/UoEEXLZwEx0DVaKMtlHNrKbMeV960LryIpd+E2Ykb9XkVHmVtpbCsmul3GhR0g==} + engines: {node: '>=16'} dependencies: - normalize-url: 7.2.0 - re2: 1.20.1 - url-regex-safe: 3.0.0(re2@1.20.1) + normalize-url: 8.0.0 + super-regex: 0.2.0 + url-regex-safe: 4.0.0 transitivePeerDependencies: - - supports-color + - re2 dev: false /glob-parent@5.1.2: @@ -3910,18 +3894,6 @@ packages: dependencies: is-glob: 4.0.3 - /glob@10.3.3: - resolution: {integrity: sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - dependencies: - foreground-child: 3.1.1 - jackspeak: 2.2.3 - minimatch: 9.0.3 - minipass: 7.0.3 - path-scurry: 1.10.1 - dev: false - /glob@7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} dependencies: @@ -4022,10 +3994,6 @@ packages: dependencies: has-symbols: 1.0.3 - /has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - dev: false - /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} @@ -4067,42 +4035,11 @@ packages: entities: 4.5.0 dev: false - /http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - dev: false - - /http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} - dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - - /https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - dependencies: - agent-base: 6.0.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - /human-signals@4.3.1: resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} engines: {node: '>=14.18.0'} dev: true - /humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - dependencies: - ms: 2.1.3 - dev: false - /husky@8.0.3: resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} engines: {node: '>=14'} @@ -4114,6 +4051,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 + dev: true /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} @@ -4152,11 +4090,6 @@ packages: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} dev: false - /install-artifact-from-github@1.3.3: - resolution: {integrity: sha512-x79SL0d8WOi1ZjXSTUqqs0GPQZ92YArJAN9O46wgU9wdH2U9ecyyhB9YGDbPe2OLV4ptmt6AZYRQZ2GydQZosQ==} - hasBin: true - dev: false - /internal-slot@1.0.5: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} @@ -4176,10 +4109,6 @@ packages: engines: {node: '>=8'} dev: false - /ip@2.0.0: - resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} - dev: false - /irregular-plurals@3.5.0: resolution: {integrity: sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==} engines: {node: '>=8'} @@ -4262,10 +4191,6 @@ packages: dependencies: is-extglob: 2.1.1 - /is-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - dev: false - /is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} @@ -4308,6 +4233,11 @@ packages: call-bind: 1.0.2 has-tostringtag: 1.0.0 + /is-regexp@3.1.0: + resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==} + engines: {node: '>=12'} + dev: false + /is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: @@ -4366,15 +4296,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /jackspeak@2.2.3: - resolution: {integrity: sha512-pF0kfjmg8DJLxDrizHoCZGUFz4P4czQ3HyfW4BU0ffebYkzAVlBywp5zaxW/TM+r0sGbmrQdi8EQQVTJFxnGsQ==} - engines: {node: '>=14'} - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - dev: false - /javascript-natural-sort@0.7.1: resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} dev: true @@ -4496,8 +4417,8 @@ packages: uc.micro: 1.0.6 dev: false - /lint-staged@13.3.0: - resolution: {integrity: sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ==} + /lint-staged@14.0.0: + resolution: {integrity: sha512-0tLf0pqZYkar/wu3nTctk4rVIG+d7PanDYv4/IQR4qwdqfQkTDziLRFnqMcLuLBTuUqmcLwsHPD2EjQ18d/oaA==} engines: {node: ^16.14.0 || >=18.0.0} hasBin: true dependencies: @@ -4615,38 +4536,10 @@ packages: dependencies: yallist: 4.0.0 - /lru-cache@7.18.3: - resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} - engines: {node: '>=12'} - dev: false - /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: false - /make-fetch-happen@11.1.1: - resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - agentkeepalive: 4.5.0 - cacache: 17.1.4 - http-cache-semantics: 4.1.1 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - is-lambda: 1.0.1 - lru-cache: 7.18.3 - minipass: 5.0.0 - minipass-fetch: 3.0.4 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - socks-proxy-agent: 7.0.0 - ssri: 10.0.5 - transitivePeerDependencies: - - supports-color - dev: false - /map-obj@1.0.1: resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} engines: {node: '>=0.10.0'} @@ -5116,13 +5009,6 @@ packages: dependencies: brace-expansion: 1.1.11 - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: false - /minimist-options@4.1.0: resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} engines: {node: '>= 6'} @@ -5136,76 +5022,6 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: false - /minipass-collect@1.0.2: - resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: false - - /minipass-fetch@3.0.4: - resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minipass: 7.0.3 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - dev: false - - /minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: false - - /minipass-pipeline@1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} - dependencies: - minipass: 3.3.6 - dev: false - - /minipass-sized@1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} - dependencies: - minipass: 3.3.6 - dev: false - - /minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} - dependencies: - yallist: 4.0.0 - dev: false - - /minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - engines: {node: '>=8'} - dev: false - - /minipass@7.0.3: - resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} - engines: {node: '>=16 || 14 >=14.17'} - dev: false - - /minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - yallist: 4.0.0 - dev: false - - /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: false - /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -5230,10 +5046,6 @@ packages: thenify-all: 1.6.0 dev: true - /nan@2.17.0: - resolution: {integrity: sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==} - dev: false - /nanoid@3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -5242,15 +5054,11 @@ packages: /natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: false /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: false - /next-tick@1.1.0: resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} dev: false @@ -5278,38 +5086,10 @@ packages: hasBin: true dev: false - /node-gyp@9.4.0: - resolution: {integrity: sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==} - engines: {node: ^12.13 || ^14.13 || >=16} - hasBin: true - dependencies: - env-paths: 2.2.1 - exponential-backoff: 3.1.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - make-fetch-happen: 11.1.1 - nopt: 6.0.0 - npmlog: 6.0.2 - rimraf: 3.0.2 - semver: 7.5.4 - tar: 6.1.15 - which: 2.0.2 - transitivePeerDependencies: - - supports-color - dev: false - /node-releases@2.0.13: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} dev: true - /nopt@6.0.0: - resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - hasBin: true - dependencies: - abbrev: 1.1.1 - dev: false - /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: @@ -5339,9 +5119,9 @@ packages: engines: {node: '>=0.10.0'} dev: true - /normalize-url@7.2.0: - resolution: {integrity: sha512-uhXOdZry0L6M2UIo9BTt7FdpBDiAGN/7oItedQwPKh8jh31ZlvC8U9Xl/EJ3aijDHaywXTW3QbZ6LuCocur1YA==} - engines: {node: '>=12.20'} + /normalize-url@8.0.0: + resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} + engines: {node: '>=14.16'} dev: false /nostr-fetch@0.12.2: @@ -5383,16 +5163,6 @@ packages: path-key: 4.0.0 dev: true - /npmlog@6.0.2: - resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - are-we-there-yet: 3.0.1 - console-control-strings: 1.1.0 - gauge: 4.0.4 - set-blocking: 2.0.0 - dev: false - /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -5533,13 +5303,6 @@ packages: dependencies: p-limit: 3.1.0 - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - dependencies: - aggregate-error: 3.1.0 - dev: false - /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -5601,14 +5364,6 @@ packages: /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - lru-cache: 10.0.1 - minipass: 7.0.3 - dev: false - /path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} @@ -5666,29 +5421,29 @@ packages: irregular-plurals: 3.5.0 dev: false - /postcss-import@15.1.0(postcss@8.4.27): + /postcss-import@15.1.0(postcss@8.4.28): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.4 dev: true - /postcss-js@4.0.1(postcss@8.4.27): + /postcss-js@4.0.1(postcss@8.4.28): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.27 + postcss: 8.4.28 dev: true - /postcss-load-config@4.0.1(postcss@8.4.27): + /postcss-load-config@4.0.1(postcss@8.4.28): resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} engines: {node: '>= 14'} peerDependencies: @@ -5701,17 +5456,17 @@ packages: optional: true dependencies: lilconfig: 2.1.0 - postcss: 8.4.27 + postcss: 8.4.28 yaml: 2.3.1 dev: true - /postcss-nested@6.0.1(postcss@8.4.27): + /postcss-nested@6.0.1(postcss@8.4.28): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.27 + postcss: 8.4.28 postcss-selector-parser: 6.0.13 dev: true @@ -5735,8 +5490,8 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.27: - resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} + /postcss@8.4.28: + resolution: {integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 @@ -5748,16 +5503,16 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - /prettier-plugin-tailwindcss@0.3.0(@trivago/prettier-plugin-sort-imports@4.2.0)(prettier@2.8.8): - resolution: {integrity: sha512-009/Xqdy7UmkcTBpwlq7jsViDqXAYSOMLDrHAdTMlVZOrKfM2o9Ci7EMWTMZ7SkKBFTG04UM9F9iM2+4i6boDA==} - engines: {node: '>=12.17.0'} + /prettier-plugin-tailwindcss@0.5.3(@trivago/prettier-plugin-sort-imports@4.2.0)(prettier@3.0.2): + resolution: {integrity: sha512-M5K80V21yM+CTm/FEFYRv9/9LyInYbCSXpIoPAKMm8zy89IOwdiA2e4JVbcO7tvRtAQWz32zdj7/WKcsmFyAVg==} + engines: {node: '>=14.21.3'} peerDependencies: '@ianvs/prettier-plugin-sort-imports': '*' '@prettier/plugin-pug': '*' '@shopify/prettier-plugin-liquid': '*' '@shufo/prettier-plugin-blade': '*' '@trivago/prettier-plugin-sort-imports': '*' - prettier: '>=2.2.0' + prettier: ^3.0 prettier-plugin-astro: '*' prettier-plugin-css-order: '*' prettier-plugin-import-sort: '*' @@ -5800,13 +5555,13 @@ packages: prettier-plugin-twig-melody: optional: true dependencies: - '@trivago/prettier-plugin-sort-imports': 4.2.0(prettier@2.8.8) - prettier: 2.8.8 + '@trivago/prettier-plugin-sort-imports': 4.2.0(prettier@3.0.2) + prettier: 3.0.2 dev: true - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} + /prettier@3.0.2: + resolution: {integrity: sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ==} + engines: {node: '>=14'} hasBin: true dev: true @@ -5819,14 +5574,6 @@ packages: react-is: 18.2.0 dev: false - /promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} - dependencies: - err-code: 2.0.3 - retry: 0.12.0 - dev: false - /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: @@ -6001,17 +5748,6 @@ packages: engines: {node: '>=8'} dev: false - /re2@1.20.1: - resolution: {integrity: sha512-JbzIoI5adNCqGUK8wHG1dMSyggvPyA4kx2hewt1lma5sP7/iWCfM15XKbCZlX2yvu5k80jSKAOQqJF7KC+2n8Q==} - requiresBuild: true - dependencies: - install-artifact-from-github: 1.3.3 - nan: 2.17.0 - node-gyp: 9.4.0 - transitivePeerDependencies: - - supports-color - dev: false - /react-dom@18.2.0(react@18.2.0): resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: @@ -6224,15 +5960,6 @@ packages: type-fest: 0.6.0 dev: false - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: false - /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -6322,11 +6049,6 @@ packages: signal-exit: 3.0.7 dev: true - /retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} - dev: false - /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -6374,10 +6096,6 @@ packages: has-symbols: 1.0.3 isarray: 2.0.5 - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: false - /safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: @@ -6387,6 +6105,7 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true /scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} @@ -6416,10 +6135,6 @@ packages: dependencies: lru-cache: 6.0.0 - /set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - dev: false - /shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -6455,11 +6170,7 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: false + dev: true /sjcl@1.0.8: resolution: {integrity: sha512-LzIjEQ0S0DpIgnxMEayM1rq9aGwGRG4OnZhCdjx7glTaJtf4zRfpg87ImfjSJjoW9vKpagd82McDOwbRT5kQKQ==} @@ -6477,30 +6188,6 @@ packages: is-fullwidth-code-point: 4.0.0 dev: true - /smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - dev: false - - /socks-proxy-agent@7.0.0: - resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} - engines: {node: '>= 10'} - dependencies: - agent-base: 6.0.2 - debug: 4.3.4 - socks: 2.7.1 - transitivePeerDependencies: - - supports-color - dev: false - - /socks@2.7.1: - resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} - engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} - dependencies: - ip: 2.0.0 - smart-buffer: 4.2.0 - dev: false - /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} @@ -6537,13 +6224,6 @@ packages: resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} dev: false - /ssri@10.0.5: - resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - minipass: 7.0.3 - dev: false - /string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -6565,6 +6245,7 @@ packages: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 + dev: true /string.prototype.matchall@4.0.8: resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} @@ -6610,12 +6291,6 @@ packages: define-properties: 1.2.0 es-abstract: 1.22.1 - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - dev: false - /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -6627,6 +6302,7 @@ packages: engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 + dev: true /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} @@ -6669,6 +6345,15 @@ packages: ts-interface-checker: 0.1.13 dev: true + /super-regex@0.2.0: + resolution: {integrity: sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw==} + engines: {node: '>=14.16'} + dependencies: + clone-regexp: 3.0.0 + function-timeout: 0.1.1 + time-span: 5.1.0 + dev: false + /superjson@1.13.1: resolution: {integrity: sha512-AVH2eknm9DEd3qvxM4Sq+LTCkSXE2ssfh1t11MHMXyYXFQyQ1HLgVvV+guLTsaQnJU3gnaVo34TohHPulY/wLg==} engines: {node: '>=10'} @@ -6723,11 +6408,11 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.27 - postcss-import: 15.1.0(postcss@8.4.27) - postcss-js: 4.0.1(postcss@8.4.27) - postcss-load-config: 4.0.1(postcss@8.4.27) - postcss-nested: 6.0.1(postcss@8.4.27) + postcss: 8.4.28 + postcss-import: 15.1.0(postcss@8.4.28) + postcss-js: 4.0.1(postcss@8.4.28) + postcss-load-config: 4.0.1(postcss@8.4.28) + postcss-nested: 6.0.1(postcss@8.4.28) postcss-selector-parser: 6.0.13 resolve: 1.22.4 sucrase: 3.34.0 @@ -6735,18 +6420,6 @@ packages: - ts-node dev: true - /tar@6.1.15: - resolution: {integrity: sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==} - engines: {node: '>=10'} - dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 5.0.0 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 - dev: false - /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -6768,6 +6441,13 @@ packages: engines: {node: '>=10'} dev: false + /time-span@5.1.0: + resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==} + engines: {node: '>=12'} + dependencies: + convert-hrtime: 5.0.0 + dev: false + /tippy.js@6.3.7: resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==} dependencies: @@ -6803,11 +6483,20 @@ packages: resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} dev: false + /ts-api-utils@1.0.1(typescript@5.1.6): + resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.1.6 + dev: true + /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true - /tsconfck@2.1.2(typescript@4.9.5): + /tsconfck@2.1.2(typescript@5.1.6): resolution: {integrity: sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==} engines: {node: ^14.13.1 || ^16 || >=18} hasBin: true @@ -6817,7 +6506,7 @@ packages: typescript: optional: true dependencies: - typescript: 4.9.5 + typescript: 5.1.6 dev: true /tsconfig-paths@3.14.2: @@ -6845,6 +6534,7 @@ packages: /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: false /tslib@2.6.1: resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} @@ -6854,14 +6544,15 @@ packages: resolution: {integrity: sha512-h9wayHHFI5+yqt8iau0vqH96cTNhezhZ/Fk/hrIdpfkiMu3lg9nzyvMfs5bIdX51IVzZO6DudLqhkL/rVXpT6g==} dev: false - /tsutils@3.21.0(typescript@4.9.5): + /tsutils@3.21.0(typescript@5.1.6): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.9.5 + typescript: 5.1.6 + dev: false /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} @@ -6951,16 +6642,10 @@ packages: is-typedarray: 1.0.0 dev: false - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - /typescript@5.1.6: resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} engines: {node: '>=14.17'} hasBin: true - dev: false /uc.micro@1.0.6: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} @@ -6986,20 +6671,6 @@ packages: vfile: 5.3.7 dev: false - /unique-filename@3.0.0: - resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - unique-slug: 4.0.0 - dev: false - - /unique-slug@4.0.0: - resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - imurmurhash: 0.1.4 - dev: false - /unist-util-generated@2.0.1: resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} dev: false @@ -7053,17 +6724,16 @@ packages: dependencies: punycode: 2.3.0 - /url-regex-safe@3.0.0(re2@1.20.1): - resolution: {integrity: sha512-+2U40NrcmtWFVjuxXVt9bGRw6c7/MgkGKN9xIfPrT/2RX0LTkkae6CCEDp93xqUN0UKm/rr821QnHd2dHQmN3A==} - engines: {node: '>= 10.12.0'} + /url-regex-safe@4.0.0: + resolution: {integrity: sha512-BrnFCWKNFrFnRzKD66NtJqQepfJrUHNPvPxE5y5NSAhXBb4OlobQjt7907Jm4ItPiXaeX+dDWMkcnOd4jR9N8A==} + engines: {node: '>= 14'} peerDependencies: - re2: ^1.17.2 + re2: ^1.20.1 peerDependenciesMeta: re2: optional: true dependencies: ip-regex: 4.3.0 - re2: 1.20.1 tlds: 1.242.0 dev: false @@ -7121,6 +6791,7 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true /uuid@9.0.0: resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} @@ -7169,13 +6840,13 @@ packages: '@rollup/plugin-virtual': 3.0.1 '@swc/core': 1.3.76 uuid: 9.0.0 - vite: 4.4.9(@types/node@18.17.5) + vite: 4.4.9(@types/node@20.5.0) transitivePeerDependencies: - '@swc/helpers' - rollup dev: true - /vite-tsconfig-paths@4.2.0(typescript@4.9.5)(vite@4.4.9): + /vite-tsconfig-paths@4.2.0(typescript@5.1.6)(vite@4.4.9): resolution: {integrity: sha512-jGpus0eUy5qbbMVGiTxCL1iB9ZGN6Bd37VGLJU39kTDD6ZfULTTb1bcc5IeTWqWJKiWV5YihCaibeASPiGi8kw==} peerDependencies: vite: '*' @@ -7185,14 +6856,14 @@ packages: dependencies: debug: 4.3.4 globrex: 0.1.2 - tsconfck: 2.1.2(typescript@4.9.5) - vite: 4.4.9(@types/node@18.17.5) + tsconfck: 2.1.2(typescript@5.1.6) + vite: 4.4.9(@types/node@20.5.0) transitivePeerDependencies: - supports-color - typescript dev: true - /vite@4.4.9(@types/node@18.17.5): + /vite@4.4.9(@types/node@20.5.0): resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -7220,9 +6891,9 @@ packages: terser: optional: true dependencies: - '@types/node': 18.17.5 + '@types/node': 20.5.0 esbuild: 0.18.20 - postcss: 8.4.27 + postcss: 8.4.28 rollup: 3.28.0 optionalDependencies: fsevents: 2.3.2 @@ -7293,21 +6964,6 @@ packages: dependencies: isexe: 2.0.0 - /wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - dependencies: - string-width: 4.2.3 - dev: false - - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: false - /wrap-ansi@8.1.0: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} @@ -7315,6 +6971,7 @@ packages: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.1.0 + dev: true /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -7477,3 +7134,11 @@ packages: dependencies: '@tauri-apps/api': 2.0.0-alpha.6 dev: false + + github.com/tauri-apps/tauri-plugin-window/09c9732d0c98c13ee8aeb51de61f7eef3eb33a4b: + resolution: {tarball: https://codeload.github.com/tauri-apps/tauri-plugin-window/tar.gz/09c9732d0c98c13ee8aeb51de61f7eef3eb33a4b} + name: '@tauri-apps/plugin-window' + version: 2.0.0-alpha.1 + dependencies: + '@tauri-apps/api': 2.0.0-alpha.6 + dev: false diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 690127f2..16ade8fc 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -182,9 +182,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.73" +version = "1.0.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f768393e7fabd388fe8409b13faa4d93ab0fef35db1508438dfdb066918bcf38" +checksum = "8c6f84b74db2535ebae81eede2f39b947dcbf01d093ae5f791e5dd414a1bf289" [[package]] name = "arboard" @@ -2758,7 +2758,6 @@ dependencies = [ "tauri-plugin-upload", "tauri-plugin-window", "webpage", - "window-vibrancy", ] [[package]] @@ -2913,9 +2912,9 @@ dependencies = [ [[package]] name = "muda" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47e33f46fb20f85553edb85e30a6a5231567f4103276ccdb5a2050613d253b1d" +checksum = "a5381209b232fae437a2dd8054c9fe4953fb7a4b05e6e437f64aacdd01f97859" dependencies = [ "cocoa 0.25.0", "crossbeam-channel", @@ -4233,9 +4232,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.104" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" +checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" dependencies = [ "itoa 1.0.9", "ryu", @@ -4948,9 +4947,9 @@ dependencies = [ [[package]] name = "tao" -version = "0.22.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60279ecb16c33a6cef45cd37a9602455c190942d20e360bd8499bff49f2a48f3" +checksum = "c561b4a9a3787c78ec0fbbd5c719aa84a6572bb6ff3ddfce4db4c46d3a8070a5" dependencies = [ "bitflags 1.3.2", "cairo-rs", @@ -5506,18 +5505,18 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.45" +version = "1.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dedd246497092a89beedfe2c9f176d44c1b672ea6090edc20544ade01fbb7ea0" +checksum = "d9207952ae1a003f42d3d5e892dac3c6ba42aa6ac0c79a6a91a2b5cb4253e75c" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.45" +version = "1.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d7b1fadccbbc7e19ea64708629f9d8dccd007c260d66485f20a6d41bc1cf4b3" +checksum = "f1728216d3244de4f14f14f8c15c79be1a7c67867d28d69b719690e2a19fb445" dependencies = [ "proc-macro2", "quote", @@ -5746,9 +5745,9 @@ dependencies = [ [[package]] name = "tray-icon" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b0e5bec13da15e62330e9bcf8b9fd42489b5acfe29ac8fec7ed659dbee21d9" +checksum = "672bc5a19944bfd51e5a874e9fcb7f129b76e5dd448fe295fa25411f3f800637" dependencies = [ "cocoa 0.25.0", "core-graphics 0.23.1", @@ -6209,17 +6208,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "window-vibrancy" -version = "0.4.0" -source = "git+https://github.com/tauri-apps/window-vibrancy?branch=dev#98dc472a7f96bfba595c74b009073bd2c7b28339" -dependencies = [ - "cocoa 0.25.0", - "objc", - "raw-window-handle", - "windows-sys 0.48.0", -] - [[package]] name = "windows" version = "0.36.1" @@ -6504,9 +6492,9 @@ checksum = "d419259aba16b663966e29e6d7c6ecfa0bb8425818bb96f6f1f3c3eb71a6e7b9" [[package]] name = "winnow" -version = "0.5.10" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5504cc7644f4b593cbc05c4a55bf9bd4e94b867c3c0bd440934174d50482427d" +checksum = "1e461589e194280efaa97236b73623445efa195aa633fd7004f39805707a9d53" dependencies = [ "memchr", ] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 560966d8..5a403bcf 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -33,7 +33,6 @@ tauri-plugin-os = { git = "https://github.com/tauri-apps/plugins-workspace", bra tauri-plugin-window = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-store = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-shell = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } -window-vibrancy = { git = "https://github.com/tauri-apps/window-vibrancy", branch = "dev" } sqlx-cli = { version = "0.7.0", default-features = false, features = [ "sqlite", ] } diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 5bf16f95..0ba3c818 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -9,7 +9,6 @@ use opg::opengraph; use tauri::Manager; use tauri_plugin_autostart::MacosLauncher; use tauri_plugin_sql::{Migration, MigrationKind}; -use window_vibrancy::{apply_mica, apply_vibrancy, NSVisualEffectMaterial}; #[derive(Clone, serde::Serialize)] struct Payload { @@ -174,19 +173,6 @@ fn main() { .plugin(tauri_plugin_window::init()) .plugin(tauri_plugin_store::Builder::default().build()) .plugin(tauri_plugin_shell::init()) - .setup(|app| { - let window = app.get_window("main").unwrap(); - - #[cfg(target_os = "macos")] - apply_vibrancy(&window, NSVisualEffectMaterial::HudWindow, None, None) - .expect("Unsupported platform! 'apply_vibrancy' is only supported on macOS"); - - #[cfg(target_os = "windows")] - apply_mica(&window, Some(true)) - .expect("Unsupported platform! 'apply_mica' is only supported on Windows"); - - Ok(()) - }) .invoke_handler(tauri::generate_handler![close_splashscreen, opengraph]) .run(tauri::generate_context!()) .expect("error while running tauri application"); diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 95db317c..4c9b7057 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -73,13 +73,6 @@ "resources": [], "shortDescription": "", "targets": "all", - "updater": { - "active": true, - "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IEU4RjAzODFBREQ4MkM3RTEKUldUaHg0TGRHamp3NkI5bnhoOEVjanlHWFNzQ2Q3NDhubFFLUmJpSHJ1L2FqNnB3alF1Y2R3U3gK", - "windows": { - "installMode": "passive" - } - }, "windows": { "certificateThumbprint": null, "digestAlgorithm": "sha256", @@ -103,7 +96,12 @@ "center": true, "fullscreen": false, "hiddenTitle": true, - "visible": false + "visible": false, + "fileDropEnabled": true, + "windowEffects": { + "effects": ["mica", "hudWindow"], + "state": "followsWindowActiveState" + } }, { "width": 400, @@ -114,7 +112,11 @@ "resizable": false, "titleBarStyle": "Overlay", "label": "splashscreen", - "url": "splashscreen" + "url": "splashscreen", + "windowEffects": { + "effects": ["mica", "hudWindow"], + "state": "followsWindowActiveState" + } } ], "macOSPrivateApi": true diff --git a/src/app/auth/import/step-3.tsx b/src/app/auth/import/step-3.tsx index 24c838d1..a32f8e38 100644 --- a/src/app/auth/import/step-3.tsx +++ b/src/app/auth/import/step-3.tsx @@ -58,40 +58,28 @@ export function ImportStep3Screen() {
- {status === 'loading' ? ( -
-
-
-
-
-
-
-
-
- ) : ( -
- - -
- )} +
+ + +
); diff --git a/src/app/auth/migrate.tsx b/src/app/auth/migrate.tsx index c93237b1..5a177f89 100644 --- a/src/app/auth/migrate.tsx +++ b/src/app/auth/migrate.tsx @@ -5,15 +5,12 @@ import { useState } from 'react'; import { Resolver, useForm } from 'react-hook-form'; import { useNavigate } from 'react-router-dom'; -import { removePrivkey } from '@libs/storage'; import { useStorage } from '@libs/storage/provider'; import { EyeOffIcon, EyeOnIcon, LoaderIcon } from '@shared/icons'; import { useStronghold } from '@stores/stronghold'; -import { useAccount } from '@utils/hooks/useAccount'; - type FormValues = { password: string; }; @@ -73,7 +70,7 @@ export function MigrateScreen() { // add privkey to state setPrivkey(db.account.privkey); // remove privkey in db - await removePrivkey(); + await db.removePrivkey(); // clear cache await queryClient.invalidateQueries(['account']); // redirect to home diff --git a/src/app/auth/unlock.tsx b/src/app/auth/unlock.tsx index 3b6f4bce..b0a7d343 100644 --- a/src/app/auth/unlock.tsx +++ b/src/app/auth/unlock.tsx @@ -4,9 +4,11 @@ import { useState } from 'react'; import { Resolver, useForm } from 'react-hook-form'; import { Link, useNavigate } from 'react-router-dom'; +import { User } from '@app/auth/components/user'; + import { useStorage } from '@libs/storage/provider'; -import { EyeOffIcon, EyeOnIcon, LoaderIcon } from '@shared/icons'; +import { ArrowRightCircleIcon, EyeOffIcon, EyeOnIcon, LoaderIcon } from '@shared/icons'; import { useStronghold } from '@stores/stronghold'; @@ -36,7 +38,6 @@ export function UnlockScreen() { const [loading, setLoading] = useState(false); const { db } = useStorage(); - const { register, setError, @@ -79,13 +80,17 @@ export function UnlockScreen() {

Enter password to unlock

+
+ +
state.setWidget); + const [open, setOpen] = useState(false); const [loading, setLoading] = useState(false); const [selected, setSelected] = useState([]); const [query, setQuery] = useState(''); - const { status, account } = useAccount(); - - const setWidget = useWidgets((state) => state.setWidget); - - useHotkeys(ADD_FEEDBLOCK_SHORTCUT, () => setOpen(true)); - + const { db } = useStorage(); const { register, handleSubmit, @@ -43,8 +38,8 @@ export function FeedModal() { } }); - // insert to database - setWidget({ + // update state + setWidget(db, { kind: BLOCK_KINDS.feed, title: data.title, content: JSON.stringify(selected), @@ -155,26 +150,22 @@ export function FeedModal() { )} )} - {status === 'loading' ? ( -

Loading...

- ) : ( - account?.follows?.map((follow) => ( - - {({ selected }) => ( - <> - - {selected && ( - - )} - - )} - - )) - )} + {db.account?.follows?.map((follow) => ( + + {({ selected }) => ( + <> + + {selected && ( + + )} + + )} + + ))}
diff --git a/src/app/space/components/modals/hashtag.tsx b/src/app/space/components/modals/hashtag.tsx index 96e7ebfa..cf2c7d01 100644 --- a/src/app/space/components/modals/hashtag.tsx +++ b/src/app/space/components/modals/hashtag.tsx @@ -1,22 +1,21 @@ import * as Dialog from '@radix-ui/react-dialog'; import { useState } from 'react'; import { useForm } from 'react-hook-form'; -import { useHotkeys } from 'react-hotkeys-hook'; + +import { useStorage } from '@libs/storage/provider'; import { CancelIcon, CommandIcon, LoaderIcon } from '@shared/icons'; import { BLOCK_KINDS } from '@stores/constants'; -import { ADD_HASHTAGBLOCK_SHORTCUT } from '@stores/shortcuts'; import { useWidgets } from '@stores/widgets'; export function HashtagModal() { + const setWidget = useWidgets((state) => state.setWidget); + const [loading, setLoading] = useState(false); const [open, setOpen] = useState(false); - const setWidget = useWidgets((state) => state.setWidget); - - useHotkeys(ADD_HASHTAGBLOCK_SHORTCUT, () => setOpen(false)); - + const { db } = useStorage(); const { register, handleSubmit, @@ -27,8 +26,8 @@ export function HashtagModal() { const onSubmit = async (data: { hashtag: string }) => { setLoading(true); - // mutate - setWidget({ + // update state + setWidget(db, { kind: BLOCK_KINDS.hashtag, title: data.hashtag, content: data.hashtag.replace('#', ''), diff --git a/src/app/space/components/modals/image.tsx b/src/app/space/components/modals/image.tsx index e51cbdc3..7b25adac 100644 --- a/src/app/space/components/modals/image.tsx +++ b/src/app/space/components/modals/image.tsx @@ -1,13 +1,13 @@ import * as Dialog from '@radix-ui/react-dialog'; import { useEffect, useState } from 'react'; import { useForm } from 'react-hook-form'; -import { useHotkeys } from 'react-hotkeys-hook'; + +import { useStorage } from '@libs/storage/provider'; import { CancelIcon, CommandIcon, LoaderIcon } from '@shared/icons'; import { Image } from '@shared/image'; import { BLOCK_KINDS, DEFAULT_AVATAR } from '@stores/constants'; -import { ADD_IMAGEBLOCK_SHORTCUT } from '@stores/shortcuts'; import { useWidgets } from '@stores/widgets'; import { useImageUploader } from '@utils/hooks/useUploader'; @@ -20,8 +20,7 @@ export function ImageModal() { const [loading, setLoading] = useState(false); const [image, setImage] = useState(''); - useHotkeys(ADD_IMAGEBLOCK_SHORTCUT, () => setOpen(false)); - + const { db } = useStorage(); const { register, handleSubmit, @@ -41,7 +40,7 @@ export function ImageModal() { setLoading(true); // mutate - setWidget({ kind: BLOCK_KINDS.image, title: data.title, content: data.content }); + setWidget(db, { kind: BLOCK_KINDS.image, title: data.title, content: data.content }); setLoading(false); // reset form diff --git a/src/app/space/components/widgets/feed.tsx b/src/app/space/components/widgets/feed.tsx index e529fdaf..50b91ebf 100644 --- a/src/app/space/components/widgets/feed.tsx +++ b/src/app/space/components/widgets/feed.tsx @@ -58,21 +58,13 @@ export function FeedBlock({ params }: { params: Widget }) { const reply = note.tags.find((el) => el[3] === 'reply')?.[1]; if (root || reply) { return ( -
+
); } else { return ( -
+
); @@ -80,32 +72,20 @@ export function FeedBlock({ params }: { params: Widget }) { } case 6: return ( -
- +
+
); case 1063: return ( -
- +
+
); default: return ( -
- +
+
); } diff --git a/src/app/space/components/widgets/network.tsx b/src/app/space/components/widgets/network.tsx index 5b3d429c..0c8bd0f4 100644 --- a/src/app/space/components/widgets/network.tsx +++ b/src/app/space/components/widgets/network.tsx @@ -1,7 +1,7 @@ import { useInfiniteQuery } from '@tanstack/react-query'; import { useVirtualizer } from '@tanstack/react-virtual'; import { NostrEvent } from 'nostr-fetch'; -import { useCallback, useEffect, useMemo, useRef } from 'react'; +import { useCallback, useMemo, useRef } from 'react'; import { Link } from 'react-router-dom'; import { NoteKind_1, NoteKind_1063, NoteThread, Repost } from '@shared/notes'; @@ -14,14 +14,15 @@ import { LumeEvent } from '@utils/types'; export function NetworkBlock() { const { fetchNotes } = useNostr(); - const { status, data, hasNextPage, isFetchingNextPage, fetchNextPage } = - useInfiniteQuery({ - queryKey: ['network-widget'], - queryFn: async ({ pageParam = 24 }) => { - return await fetchNotes(pageParam); - }, - getNextPageParam: (lastPage) => lastPage.nextCursor, - }); + const { status, data, hasNextPage, isFetchingNextPage } = useInfiniteQuery({ + queryKey: ['network-widget'], + queryFn: async ({ pageParam = 24 }) => { + return await fetchNotes(pageParam); + }, + getNextPageParam: (lastPage) => lastPage.nextCursor, + refetchOnWindowFocus: false, + refetchOnReconnect: false, + }); const parentRef = useRef(); const notes = useMemo( @@ -40,18 +41,6 @@ export function NetworkBlock() { const itemsVirtualizer = rowVirtualizer.getVirtualItems(); const totalSize = rowVirtualizer.getTotalSize(); - useEffect(() => { - const [lastItem] = [...itemsVirtualizer].reverse(); - - if (!lastItem) { - return; - } - - if (lastItem.index >= notes.length - 1 && hasNextPage && !isFetchingNextPage) { - fetchNextPage(); - } - }, [notes.length, fetchNextPage, itemsVirtualizer]); - const renderItem = useCallback( (index: string | number) => { const note: LumeEvent = notes[index]; @@ -69,7 +58,7 @@ export function NetworkBlock() { if (root || reply) { return (
@@ -79,7 +68,7 @@ export function NetworkBlock() { } else { return (
@@ -91,31 +80,31 @@ export function NetworkBlock() { case 6: return (
- +
); case 1063: return (
- +
); default: return (
- +
); } diff --git a/src/app/space/components/widgets/thread.tsx b/src/app/space/components/widgets/thread.tsx index 8056b246..b9e27c32 100644 --- a/src/app/space/components/widgets/thread.tsx +++ b/src/app/space/components/widgets/thread.tsx @@ -1,4 +1,5 @@ -// import { useLiveThread } from '@app/space/hooks/useLiveThread'; +import { useStorage } from '@libs/storage/provider'; + import { NoteActions, NoteContent, @@ -10,16 +11,12 @@ import { RepliesList } from '@shared/notes/replies/list'; import { NoteSkeleton } from '@shared/notes/skeleton'; import { TitleBar } from '@shared/titleBar'; -import { useAccount } from '@utils/hooks/useAccount'; import { useEvent } from '@utils/hooks/useEvent'; import { Widget } from '@utils/types'; export function ThreadBlock({ params }: { params: Widget }) { const { status, data } = useEvent(params.content); - const { account } = useAccount(); - - // subscribe to live reply - // useLiveThread(params.content); + const { db } = useStorage(); return (
@@ -50,7 +47,7 @@ export function ThreadBlock({ params }: { params: Widget }) {
)}
- {account && } +
diff --git a/src/app/space/index.tsx b/src/app/space/index.tsx index 70783fb8..d7d3f2bb 100644 --- a/src/app/space/index.tsx +++ b/src/app/space/index.tsx @@ -10,6 +10,8 @@ import { NetworkBlock } from '@app/space/components/widgets/network'; import { ThreadBlock } from '@app/space/components/widgets/thread'; import { UserBlock } from '@app/space/components/widgets/user'; +import { useStorage } from '@libs/storage/provider'; + import { LoaderIcon } from '@shared/icons'; import { useWidgets } from '@stores/widgets'; @@ -22,6 +24,8 @@ export function SpaceScreen() { state.fetchWidgets, ]); + const { db } = useStorage(); + const renderItem = useCallback( (widget: Widget) => { switch (widget.kind) { @@ -43,7 +47,7 @@ export function SpaceScreen() { ); useEffect(() => { - fetchWidgets(); + fetchWidgets(db); }, [fetchWidgets]); return ( diff --git a/src/app/splash.tsx b/src/app/splash.tsx index 38bd50a7..7be1558d 100644 --- a/src/app/splash.tsx +++ b/src/app/splash.tsx @@ -30,7 +30,7 @@ export function SplashScreen() { if (user.status === 'ok') { const now = Math.floor(Date.now() / 1000); await db.updateLastLogin(now); - invoke('close_splashscreen'); + await invoke('close_splashscreen'); } else { setIsLoading(false); setErrorMessage(user.message); @@ -55,7 +55,7 @@ export function SplashScreen() { }, [ndk, db.account]); return ( -
+
diff --git a/src/app/users/components/profile.tsx b/src/app/users/components/profile.tsx index 48d9425b..95fe5eda 100644 --- a/src/app/users/components/profile.tsx +++ b/src/app/users/components/profile.tsx @@ -3,19 +3,20 @@ import { Link } from 'react-router-dom'; import { UserMetadata } from '@app/users/components/metadata'; +import { useStorage } from '@libs/storage/provider'; + import { EditProfileModal } from '@shared/editProfileModal'; import { Image } from '@shared/image'; import { DEFAULT_AVATAR } from '@stores/constants'; -import { useAccount } from '@utils/hooks/useAccount'; import { useProfile } from '@utils/hooks/useProfile'; import { useSocial } from '@utils/hooks/useSocial'; import { shortenKey } from '@utils/shortenKey'; export function UserProfile({ pubkey }: { pubkey: string }) { + const { db } = useStorage(); const { user } = useProfile(pubkey); - const { account } = useAccount(); const { status, userFollows, follow, unfollow } = useSocial(); const [followed, setFollowed] = useState(false); @@ -109,7 +110,7 @@ export function UserProfile({ pubkey }: { pubkey: string }) { Message - {account && account.pubkey === pubkey && } + {db.account.pubkey === pubkey && }
diff --git a/src/libs/ndk/instance.ts b/src/libs/ndk/instance.ts index fd5d39b3..8f2ee5ec 100644 --- a/src/libs/ndk/instance.ts +++ b/src/libs/ndk/instance.ts @@ -3,7 +3,6 @@ import NDK from '@nostr-dev-kit/ndk'; import { useEffect, useState } from 'react'; import TauriAdapter from '@libs/ndk/cache'; -import { getExplicitRelayUrls } from '@libs/storage'; import { useStorage } from '@libs/storage/provider'; import { FULL_RELAYS } from '@stores/constants'; @@ -56,7 +55,7 @@ export const NDKInstance = () => { async function initNDK() { let explicitRelayUrls: string[]; - const explicitRelayUrlsFromDB = await getExplicitRelayUrls(); + const explicitRelayUrlsFromDB = await db.getExplicitRelayUrls(); if (explicitRelayUrlsFromDB) { explicitRelayUrls = await verifyRelays(explicitRelayUrlsFromDB); diff --git a/src/libs/storage.ts b/src/libs/storage.ts index c924717d..ec835f3f 100644 --- a/src/libs/storage.ts +++ b/src/libs/storage.ts @@ -1,5 +1,5 @@ import Database from '@tauri-apps/plugin-sql'; -import destr from 'destr'; +import { destr } from 'destr'; import { parser } from '@utils/parser'; import { getParentID } from '@utils/transform'; diff --git a/src/libs/storage/instance.ts b/src/libs/storage/instance.ts index f33065d3..46087546 100644 --- a/src/libs/storage/instance.ts +++ b/src/libs/storage/instance.ts @@ -184,6 +184,12 @@ export class LumeStorage { ); } + public async removePrivkey() { + return await this.db.execute( + `UPDATE accounts SET privkey = "privkey is stored in secure storage" WHERE id = "${this.account.id}";` + ); + } + public async close() { return this.db.close(); } diff --git a/src/libs/storage/provider.tsx b/src/libs/storage/provider.tsx index 5e6ed51e..aeb712ae 100644 --- a/src/libs/storage/provider.tsx +++ b/src/libs/storage/provider.tsx @@ -24,10 +24,6 @@ const StorageProvider = ({ children }: PropsWithChildren) => { useEffect(() => { if (!db) initLumeStorage(); - - return () => { - db.close(); - }; }, []); if (db) { diff --git a/src/main.tsx b/src/main.tsx index 71a81ce1..c82bc34f 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -2,20 +2,11 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { createRoot } from 'react-dom/client'; import { NDKProvider } from '@libs/ndk/provider'; -import { getSetting } from '@libs/storage'; import { StorageProvider } from '@libs/storage/provider'; import App from './app'; -const cacheTime = await getSetting('cache_time'); - -const queryClient = new QueryClient({ - defaultOptions: { - queries: { - cacheTime: parseInt(cacheTime), - }, - }, -}); +const queryClient = new QueryClient(); const container = document.getElementById('root'); const root = createRoot(container); diff --git a/src/shared/composer/modal.tsx b/src/shared/composer/modal.tsx index 3cf0b35e..067d0219 100644 --- a/src/shared/composer/modal.tsx +++ b/src/shared/composer/modal.tsx @@ -1,6 +1,8 @@ import * as Dialog from '@radix-ui/react-dialog'; import { useHotkeys } from 'react-hotkeys-hook'; +import { useStorage } from '@libs/storage/provider'; + import { Composer, ComposerUser } from '@shared/composer'; import { CancelIcon, @@ -12,10 +14,8 @@ import { import { useComposer } from '@stores/composer'; import { COMPOSE_SHORTCUT } from '@stores/shortcuts'; -import { useAccount } from '@utils/hooks/useAccount'; - export function ComposerModal() { - const { account } = useAccount(); + const { db } = useStorage(); const [toggle, open] = useComposer((state) => [state.toggleModal, state.open]); useHotkeys(COMPOSE_SHORTCUT, () => toggle(true)); @@ -25,7 +25,7 @@ export function ComposerModal() {