From 585baef49b99e74a868e9cccc0c7951efc41d80b Mon Sep 17 00:00:00 2001 From: vinicenter Date: Sat, 24 Feb 2024 13:53:50 -0300 Subject: [PATCH] fix: use aws4fetch to connect to aws --- .env.example | 7 +- .gitignore | 8 +- nuxt.config.ts | 3 +- package.json | 3 +- pnpm-lock.yaml | 1320 ++---------------------------- server/api/catches/index.post.ts | 5 +- server/utils/bucket.ts | 44 +- wrangler.toml | 0 8 files changed, 96 insertions(+), 1294 deletions(-) create mode 100644 wrangler.toml diff --git a/.env.example b/.env.example index 067b59d..89dcb0b 100644 --- a/.env.example +++ b/.env.example @@ -1,10 +1,7 @@ # This is for binding an D1 database to the application DB="" +NUXT_BUCKET_R2_PUBLIC_ENDPOINT="" NUXT_BUCKET_R2_ENDPOINT="" NUXT_BUCKET_R2_ACCESS_KEY_ID="" -NUXT_BUCKET_R2_SECRET_ACCESS_KEY="" -NUXT_BUCKET_R2_NAME="" -NUXT_BUCKET_R2_REGION="" - -NUXT_BUCKET_R2_PUBLIC_ENDPOINT="" \ No newline at end of file +NUXT_BUCKET_R2_SECRET_ACCESS_KEY="" \ No newline at end of file diff --git a/.gitignore b/.gitignore index e87bc73..18a5c22 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,9 @@ .cache dist +# Cloudflare envrionment testing +.wrangler + # Node dependencies node_modules @@ -21,4 +24,7 @@ logs # Local env files .env .env.* -!.env.example \ No newline at end of file +!.env.example + +# Database +db.sqlite \ No newline at end of file diff --git a/nuxt.config.ts b/nuxt.config.ts index 0de9740..77581c1 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -8,10 +8,9 @@ export default defineNuxtConfig({ }, runtimeConfig: { DB: process.env.DB as string, - BUCKET_R2_ENDPOINT: process.env.NUXT_BUCKET_ENDPOINT as string, + BUCKET_R2_ENDPOINT: process.env.NUXT_BUCKET_R2_ENDPOINT as string, BUCKET_R2_ACCESS_KEY_ID: process.env.NUXT_BUCKET_R2_ACCESS_KEY_ID as string, BUCKET_R2_SECRET_ACCESS_KEY: process.env.NUXT_BUCKET_R2_SECRET_ACCESS_KEY as string, - BUCKET_R2_NAME: process.env.NUXT_BUCKET_R2_NAME as string, BUCKET_R2_REGION: process.env.NUXT_BUCKET_R2_REGION as string, public: { BUCKET_R2_PUBLIC_ENDPOINT: process.env.NUXT_BUCKET_R2_PUBLIC_ENDPOINT as string, diff --git a/package.json b/package.json index 68c5939..617efe0 100644 --- a/package.json +++ b/package.json @@ -11,10 +11,9 @@ "postinstall": "nuxt prepare" }, "dependencies": { - "@aws-sdk/client-s3": "^3.521.0", - "@aws-sdk/s3-request-presigner": "^3.521.0", "@iconify-json/mdi": "^1.1.64", "@libsql/client": "^0.5.1", + "aws4fetch": "1.0.13", "better-sqlite3": "^9.4.3", "drizzle-kit": "^0.20.14", "drizzle-orm": "^0.29.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 21f5631..c5215d1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,18 +5,15 @@ settings: excludeLinksFromLockfile: false dependencies: - '@aws-sdk/client-s3': - specifier: ^3.521.0 - version: 3.521.0 - '@aws-sdk/s3-request-presigner': - specifier: ^3.521.0 - version: 3.521.0 '@iconify-json/mdi': specifier: ^1.1.64 version: 1.1.64 '@libsql/client': specifier: ^0.5.1 - version: 0.5.1 + version: 0.5.2 + aws4fetch: + specifier: 1.0.13 + version: 1.0.13 better-sqlite3: specifier: ^9.4.3 version: 9.4.3 @@ -25,7 +22,7 @@ dependencies: version: 0.20.14 drizzle-orm: specifier: ^0.29.4 - version: 0.29.4(@libsql/client@0.5.1)(better-sqlite3@9.4.3) + version: 0.29.4(@libsql/client@0.5.2)(better-sqlite3@9.4.3) h3: specifier: ^1.10.2 version: 1.10.2 @@ -64,8 +61,8 @@ packages: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/gen-mapping': 0.3.4 + '@jridgewell/trace-mapping': 0.3.23 /@antfu/install-pkg@0.1.1: resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} @@ -77,661 +74,6 @@ packages: /@antfu/utils@0.7.7: resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} - /@aws-crypto/crc32@3.0.0: - resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.521.0 - tslib: 1.14.1 - dev: false - - /@aws-crypto/crc32c@3.0.0: - resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.521.0 - tslib: 1.14.1 - dev: false - - /@aws-crypto/ie11-detection@3.0.0: - resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} - dependencies: - tslib: 1.14.1 - dev: false - - /@aws-crypto/sha1-browser@3.0.0: - resolution: {integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==} - dependencies: - '@aws-crypto/ie11-detection': 3.0.0 - '@aws-crypto/supports-web-crypto': 3.0.0 - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.521.0 - '@aws-sdk/util-locate-window': 3.495.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - dev: false - - /@aws-crypto/sha256-browser@3.0.0: - resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} - dependencies: - '@aws-crypto/ie11-detection': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-crypto/supports-web-crypto': 3.0.0 - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.521.0 - '@aws-sdk/util-locate-window': 3.495.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - dev: false - - /@aws-crypto/sha256-js@3.0.0: - resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.521.0 - tslib: 1.14.1 - dev: false - - /@aws-crypto/supports-web-crypto@3.0.0: - resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} - dependencies: - tslib: 1.14.1 - dev: false - - /@aws-crypto/util@3.0.0: - resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} - dependencies: - '@aws-sdk/types': 3.521.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - dev: false - - /@aws-sdk/client-s3@3.521.0: - resolution: {integrity: sha512-txSfcxezAIW72dgRfhX+plc/lMouilY/QFVne/Cv01SL8Tzclcyp7T7LtkV7aSO4Tb9CUScHdqwWOfjZzCm/yQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-crypto/sha1-browser': 3.0.0 - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.521.0(@aws-sdk/credential-provider-node@3.521.0) - '@aws-sdk/core': 3.521.0 - '@aws-sdk/credential-provider-node': 3.521.0 - '@aws-sdk/middleware-bucket-endpoint': 3.521.0 - '@aws-sdk/middleware-expect-continue': 3.521.0 - '@aws-sdk/middleware-flexible-checksums': 3.521.0 - '@aws-sdk/middleware-host-header': 3.521.0 - '@aws-sdk/middleware-location-constraint': 3.521.0 - '@aws-sdk/middleware-logger': 3.521.0 - '@aws-sdk/middleware-recursion-detection': 3.521.0 - '@aws-sdk/middleware-sdk-s3': 3.521.0 - '@aws-sdk/middleware-signing': 3.521.0 - '@aws-sdk/middleware-ssec': 3.521.0 - '@aws-sdk/middleware-user-agent': 3.521.0 - '@aws-sdk/region-config-resolver': 3.521.0 - '@aws-sdk/signature-v4-multi-region': 3.521.0 - '@aws-sdk/types': 3.521.0 - '@aws-sdk/util-endpoints': 3.521.0 - '@aws-sdk/util-user-agent-browser': 3.521.0 - '@aws-sdk/util-user-agent-node': 3.521.0 - '@aws-sdk/xml-builder': 3.521.0 - '@smithy/config-resolver': 2.1.2 - '@smithy/core': 1.3.3 - '@smithy/eventstream-serde-browser': 2.1.2 - '@smithy/eventstream-serde-config-resolver': 2.1.2 - '@smithy/eventstream-serde-node': 2.1.2 - '@smithy/fetch-http-handler': 2.4.2 - '@smithy/hash-blob-browser': 2.1.2 - '@smithy/hash-node': 2.1.2 - '@smithy/hash-stream-node': 2.1.2 - '@smithy/invalid-dependency': 2.1.2 - '@smithy/md5-js': 2.1.2 - '@smithy/middleware-content-length': 2.1.2 - '@smithy/middleware-endpoint': 2.4.2 - '@smithy/middleware-retry': 2.1.2 - '@smithy/middleware-serde': 2.1.2 - '@smithy/middleware-stack': 2.1.2 - '@smithy/node-config-provider': 2.2.2 - '@smithy/node-http-handler': 2.4.0 - '@smithy/protocol-http': 3.2.0 - '@smithy/smithy-client': 2.4.0 - '@smithy/types': 2.10.0 - '@smithy/url-parser': 2.1.2 - '@smithy/util-base64': 2.1.1 - '@smithy/util-body-length-browser': 2.1.1 - '@smithy/util-body-length-node': 2.2.1 - '@smithy/util-defaults-mode-browser': 2.1.2 - '@smithy/util-defaults-mode-node': 2.2.1 - '@smithy/util-endpoints': 1.1.2 - '@smithy/util-retry': 2.1.2 - '@smithy/util-stream': 2.1.2 - '@smithy/util-utf8': 2.1.1 - '@smithy/util-waiter': 2.1.2 - fast-xml-parser: 4.2.5 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - dev: false - - /@aws-sdk/client-sso-oidc@3.521.0(@aws-sdk/credential-provider-node@3.521.0): - resolution: {integrity: sha512-MhX0CjV/543MR7DRPr3lA4ZDpGGKopp8cyV4EkSGXB7LMN//eFKKDhuZDlpgWU+aFe2A3DIqlNJjqgs08W0cSA==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@aws-sdk/credential-provider-node': ^3.521.0 - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.521.0(@aws-sdk/credential-provider-node@3.521.0) - '@aws-sdk/core': 3.521.0 - '@aws-sdk/credential-provider-node': 3.521.0 - '@aws-sdk/middleware-host-header': 3.521.0 - '@aws-sdk/middleware-logger': 3.521.0 - '@aws-sdk/middleware-recursion-detection': 3.521.0 - '@aws-sdk/middleware-user-agent': 3.521.0 - '@aws-sdk/region-config-resolver': 3.521.0 - '@aws-sdk/types': 3.521.0 - '@aws-sdk/util-endpoints': 3.521.0 - '@aws-sdk/util-user-agent-browser': 3.521.0 - '@aws-sdk/util-user-agent-node': 3.521.0 - '@smithy/config-resolver': 2.1.2 - '@smithy/core': 1.3.3 - '@smithy/fetch-http-handler': 2.4.2 - '@smithy/hash-node': 2.1.2 - '@smithy/invalid-dependency': 2.1.2 - '@smithy/middleware-content-length': 2.1.2 - '@smithy/middleware-endpoint': 2.4.2 - '@smithy/middleware-retry': 2.1.2 - '@smithy/middleware-serde': 2.1.2 - '@smithy/middleware-stack': 2.1.2 - '@smithy/node-config-provider': 2.2.2 - '@smithy/node-http-handler': 2.4.0 - '@smithy/protocol-http': 3.2.0 - '@smithy/smithy-client': 2.4.0 - '@smithy/types': 2.10.0 - '@smithy/url-parser': 2.1.2 - '@smithy/util-base64': 2.1.1 - '@smithy/util-body-length-browser': 2.1.1 - '@smithy/util-body-length-node': 2.2.1 - '@smithy/util-defaults-mode-browser': 2.1.2 - '@smithy/util-defaults-mode-node': 2.2.1 - '@smithy/util-endpoints': 1.1.2 - '@smithy/util-middleware': 2.1.2 - '@smithy/util-retry': 2.1.2 - '@smithy/util-utf8': 2.1.1 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - dev: false - - /@aws-sdk/client-sso@3.521.0: - resolution: {integrity: sha512-aEx8kEvWmTwCja6hvIZd5PvxHsI1HQZkckXhw1UrkDPnfcAwQoQAgselI7D+PVT5qQDIjXRm0NpsvBLaLj6jZw==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.521.0 - '@aws-sdk/middleware-host-header': 3.521.0 - '@aws-sdk/middleware-logger': 3.521.0 - '@aws-sdk/middleware-recursion-detection': 3.521.0 - '@aws-sdk/middleware-user-agent': 3.521.0 - '@aws-sdk/region-config-resolver': 3.521.0 - '@aws-sdk/types': 3.521.0 - '@aws-sdk/util-endpoints': 3.521.0 - '@aws-sdk/util-user-agent-browser': 3.521.0 - '@aws-sdk/util-user-agent-node': 3.521.0 - '@smithy/config-resolver': 2.1.2 - '@smithy/core': 1.3.3 - '@smithy/fetch-http-handler': 2.4.2 - '@smithy/hash-node': 2.1.2 - '@smithy/invalid-dependency': 2.1.2 - '@smithy/middleware-content-length': 2.1.2 - '@smithy/middleware-endpoint': 2.4.2 - '@smithy/middleware-retry': 2.1.2 - '@smithy/middleware-serde': 2.1.2 - '@smithy/middleware-stack': 2.1.2 - '@smithy/node-config-provider': 2.2.2 - '@smithy/node-http-handler': 2.4.0 - '@smithy/protocol-http': 3.2.0 - '@smithy/smithy-client': 2.4.0 - '@smithy/types': 2.10.0 - '@smithy/url-parser': 2.1.2 - '@smithy/util-base64': 2.1.1 - '@smithy/util-body-length-browser': 2.1.1 - '@smithy/util-body-length-node': 2.2.1 - '@smithy/util-defaults-mode-browser': 2.1.2 - '@smithy/util-defaults-mode-node': 2.2.1 - '@smithy/util-endpoints': 1.1.2 - '@smithy/util-middleware': 2.1.2 - '@smithy/util-retry': 2.1.2 - '@smithy/util-utf8': 2.1.1 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - dev: false - - /@aws-sdk/client-sts@3.521.0(@aws-sdk/credential-provider-node@3.521.0): - resolution: {integrity: sha512-f1J5NDbntcwIHJqhks89sQvk7UXPmN0X0BZ2mgpj6pWP+NlPqy+1t1bia8qRhEuNITaEigoq6rqe9xaf4FdY9A==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@aws-sdk/credential-provider-node': ^3.521.0 - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.521.0 - '@aws-sdk/credential-provider-node': 3.521.0 - '@aws-sdk/middleware-host-header': 3.521.0 - '@aws-sdk/middleware-logger': 3.521.0 - '@aws-sdk/middleware-recursion-detection': 3.521.0 - '@aws-sdk/middleware-user-agent': 3.521.0 - '@aws-sdk/region-config-resolver': 3.521.0 - '@aws-sdk/types': 3.521.0 - '@aws-sdk/util-endpoints': 3.521.0 - '@aws-sdk/util-user-agent-browser': 3.521.0 - '@aws-sdk/util-user-agent-node': 3.521.0 - '@smithy/config-resolver': 2.1.2 - '@smithy/core': 1.3.3 - '@smithy/fetch-http-handler': 2.4.2 - '@smithy/hash-node': 2.1.2 - '@smithy/invalid-dependency': 2.1.2 - '@smithy/middleware-content-length': 2.1.2 - '@smithy/middleware-endpoint': 2.4.2 - '@smithy/middleware-retry': 2.1.2 - '@smithy/middleware-serde': 2.1.2 - '@smithy/middleware-stack': 2.1.2 - '@smithy/node-config-provider': 2.2.2 - '@smithy/node-http-handler': 2.4.0 - '@smithy/protocol-http': 3.2.0 - '@smithy/smithy-client': 2.4.0 - '@smithy/types': 2.10.0 - '@smithy/url-parser': 2.1.2 - '@smithy/util-base64': 2.1.1 - '@smithy/util-body-length-browser': 2.1.1 - '@smithy/util-body-length-node': 2.2.1 - '@smithy/util-defaults-mode-browser': 2.1.2 - '@smithy/util-defaults-mode-node': 2.2.1 - '@smithy/util-endpoints': 1.1.2 - '@smithy/util-middleware': 2.1.2 - '@smithy/util-retry': 2.1.2 - '@smithy/util-utf8': 2.1.1 - fast-xml-parser: 4.2.5 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - dev: false - - /@aws-sdk/core@3.521.0: - resolution: {integrity: sha512-KovKmW7yg/P2HVG2dhV2DAJLyoeGelgsnSGHaktXo/josJ3vDGRNqqRSgVaqKFxnD98dPEMLrjkzZumNUNGvLw==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/core': 1.3.3 - '@smithy/protocol-http': 3.2.0 - '@smithy/signature-v4': 2.1.2 - '@smithy/smithy-client': 2.4.0 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/credential-provider-env@3.521.0: - resolution: {integrity: sha512-OwblTJNdDAoqYVwcNfhlKDp5z+DINrjBfC6ZjNdlJpTXgxT3IqzuilTJTlydQ+2eG7aXfV9OwTVRQWdCmzFuKA==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@smithy/property-provider': 2.1.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/credential-provider-http@3.521.0: - resolution: {integrity: sha512-yJM1yNGj2XFH8v6/ffWrFY5nC3/2+8qZ8c4mMMwZru8bYXeuSV4+NNfE59HUWvkAF7xP76u4gr4I8kNrMPTlfg==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@smithy/fetch-http-handler': 2.4.2 - '@smithy/node-http-handler': 2.4.0 - '@smithy/property-provider': 2.1.2 - '@smithy/protocol-http': 3.2.0 - '@smithy/smithy-client': 2.4.0 - '@smithy/types': 2.10.0 - '@smithy/util-stream': 2.1.2 - tslib: 2.6.2 - dev: false - - /@aws-sdk/credential-provider-ini@3.521.0(@aws-sdk/credential-provider-node@3.521.0): - resolution: {integrity: sha512-HuhP1AlKgvBBxUIwxL/2DsDemiuwgbz1APUNSeJhDBF6JyZuxR0NU8zEZkvH9b4ukTcmcKGABpY0Wex4rAh3xw==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/client-sts': 3.521.0(@aws-sdk/credential-provider-node@3.521.0) - '@aws-sdk/credential-provider-env': 3.521.0 - '@aws-sdk/credential-provider-process': 3.521.0 - '@aws-sdk/credential-provider-sso': 3.521.0(@aws-sdk/credential-provider-node@3.521.0) - '@aws-sdk/credential-provider-web-identity': 3.521.0(@aws-sdk/credential-provider-node@3.521.0) - '@aws-sdk/types': 3.521.0 - '@smithy/credential-provider-imds': 2.2.2 - '@smithy/property-provider': 2.1.2 - '@smithy/shared-ini-file-loader': 2.3.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - dev: false - - /@aws-sdk/credential-provider-node@3.521.0: - resolution: {integrity: sha512-N9SR4gWI10qh4V2myBcTw8IlX3QpsMMxa4Q8d/FHiAX6eNV7e6irXkXX8o7+J1gtCRy1AtBMqAdGsve4GVqYMQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/credential-provider-env': 3.521.0 - '@aws-sdk/credential-provider-http': 3.521.0 - '@aws-sdk/credential-provider-ini': 3.521.0(@aws-sdk/credential-provider-node@3.521.0) - '@aws-sdk/credential-provider-process': 3.521.0 - '@aws-sdk/credential-provider-sso': 3.521.0(@aws-sdk/credential-provider-node@3.521.0) - '@aws-sdk/credential-provider-web-identity': 3.521.0(@aws-sdk/credential-provider-node@3.521.0) - '@aws-sdk/types': 3.521.0 - '@smithy/credential-provider-imds': 2.2.2 - '@smithy/property-provider': 2.1.2 - '@smithy/shared-ini-file-loader': 2.3.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - dev: false - - /@aws-sdk/credential-provider-process@3.521.0: - resolution: {integrity: sha512-EcJjcrpdklxbRAFFgSLk6QGVtvnfZ80ItfZ47VL9LkhWcDAkQ1Oi0esHq+zOgvjb7VkCyD3Q9CyEwT6MlJsriA==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@smithy/property-provider': 2.1.2 - '@smithy/shared-ini-file-loader': 2.3.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/credential-provider-sso@3.521.0(@aws-sdk/credential-provider-node@3.521.0): - resolution: {integrity: sha512-GAfc0ji+fC2k9VngYM3zsS1J5ojfWg0WUOBzavvHzkhx/O3CqOt82Vfikg3PvemAp9yOgKPMaasTHVeipNLBBQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/client-sso': 3.521.0 - '@aws-sdk/token-providers': 3.521.0(@aws-sdk/credential-provider-node@3.521.0) - '@aws-sdk/types': 3.521.0 - '@smithy/property-provider': 2.1.2 - '@smithy/shared-ini-file-loader': 2.3.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - dev: false - - /@aws-sdk/credential-provider-web-identity@3.521.0(@aws-sdk/credential-provider-node@3.521.0): - resolution: {integrity: sha512-ZPPJqdbPOE4BkdrPrYBtsWg0Zy5b+GY1sbMWLQt0tcISgN5EIoePCS2pGNWnBUmBT+mibMQCVv9fOQpqzRkvAw==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/client-sts': 3.521.0(@aws-sdk/credential-provider-node@3.521.0) - '@aws-sdk/types': 3.521.0 - '@smithy/property-provider': 2.1.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - dev: false - - /@aws-sdk/middleware-bucket-endpoint@3.521.0: - resolution: {integrity: sha512-wUPSpzeEGwAic5OJmXQGt1RCbt5KHighZ1ubUeNV67FMPsxaEW+Y0Kd+L0vbbFoQptIui2GqP5JxuROr6J7SjA==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@aws-sdk/util-arn-parser': 3.495.0 - '@smithy/node-config-provider': 2.2.2 - '@smithy/protocol-http': 3.2.0 - '@smithy/types': 2.10.0 - '@smithy/util-config-provider': 2.2.1 - tslib: 2.6.2 - dev: false - - /@aws-sdk/middleware-expect-continue@3.521.0: - resolution: {integrity: sha512-6NBaPS+1b1QbsbJ74KI9MkqWbj8rnY6uKNEo0wkxgA8Q6u0aTn/jV+jrn5ZemdYmfS/y/VbaoY/hE+/QNp5vUw==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@smithy/protocol-http': 3.2.0 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/middleware-flexible-checksums@3.521.0: - resolution: {integrity: sha512-sWNN0wtdwImO2QqN4J1YVTpDhdii6Tp5p8jCkCE1Qe+afQ5u52PeRAS/9U56cJnqM5JLabO4kE10Mm5rufNs2A==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-crypto/crc32': 3.0.0 - '@aws-crypto/crc32c': 3.0.0 - '@aws-sdk/types': 3.521.0 - '@smithy/is-array-buffer': 2.1.1 - '@smithy/protocol-http': 3.2.0 - '@smithy/types': 2.10.0 - '@smithy/util-utf8': 2.1.1 - tslib: 2.6.2 - dev: false - - /@aws-sdk/middleware-host-header@3.521.0: - resolution: {integrity: sha512-Bc4stnMtVAdqosYI1wedFK9tffclCuwpOK/JA4bxbnvSyP1kz4s1HBVT9OOMzdLRLWLwVj/RslXKfSbzOUP7ug==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@smithy/protocol-http': 3.2.0 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/middleware-location-constraint@3.521.0: - resolution: {integrity: sha512-XlGst6F3+20mhMVk+te7w8Yvrm9i9JGpgRdxdMN1pnXtGn/aAKF9lFFm4bOu47PR/XHun2PLmKlLnlZd7NAP2Q==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/middleware-logger@3.521.0: - resolution: {integrity: sha512-JJ4nyYvLu3RyyNHo74Rlx6WKxJsAixWCEnnFb6IGRUHvsG+xBGU7HF5koY2log8BqlDLrt4ZUaV/CGy5Dp8Mfg==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/middleware-recursion-detection@3.521.0: - resolution: {integrity: sha512-1m5AsC55liTlaYMjc4pIQfjfBHG9LpWgubSl4uUxJSdI++zdA/SRBwXl40p7Ac/y5esweluhWabyiv1g/W4+Xg==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@smithy/protocol-http': 3.2.0 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/middleware-sdk-s3@3.521.0: - resolution: {integrity: sha512-aDeOScfzGGHZ7oEDx+EPzz+JVa8/B88CPeDRaDmO5dFNv2/5PFumHfh0gc6XFl4nJWPPOrJyZ1UYU/9VdDfSyQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@aws-sdk/util-arn-parser': 3.495.0 - '@smithy/node-config-provider': 2.2.2 - '@smithy/protocol-http': 3.2.0 - '@smithy/signature-v4': 2.1.2 - '@smithy/smithy-client': 2.4.0 - '@smithy/types': 2.10.0 - '@smithy/util-config-provider': 2.2.1 - tslib: 2.6.2 - dev: false - - /@aws-sdk/middleware-signing@3.521.0: - resolution: {integrity: sha512-OW1jKeN6Eh3/OItXBtyNRFOv1MuZQBeHpEbywgYwtaqxTGxm9gFj//9wFsCXK4zg1+ghun8iC0buNbyOvCUf9A==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@smithy/property-provider': 2.1.2 - '@smithy/protocol-http': 3.2.0 - '@smithy/signature-v4': 2.1.2 - '@smithy/types': 2.10.0 - '@smithy/util-middleware': 2.1.2 - tslib: 2.6.2 - dev: false - - /@aws-sdk/middleware-ssec@3.521.0: - resolution: {integrity: sha512-O9vlns8bFxkZA71CyjQbiB2tm3v+925C37Z3wzn9sj2x0FTB3njgSR23w05d8HP2ve1GPuqoVD0T0pa+jG0Zbw==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/middleware-user-agent@3.521.0: - resolution: {integrity: sha512-+hmQjWDG93wCcJn5QY2MkzAL1aG5wl3FJ/ud2nQOu/Gx7d4QVT/B6VJwoG6GSPVuVPZwzne5n9zPVst6RmWJGA==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@aws-sdk/util-endpoints': 3.521.0 - '@smithy/protocol-http': 3.2.0 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/region-config-resolver@3.521.0: - resolution: {integrity: sha512-eC2T62nFgQva9Q0Sqoc9xsYyyH9EN2rJtmUKkWsBMf77atpmajAYRl5B/DzLwGHlXGsgVK2tJdU5wnmpQCEwEQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@smithy/node-config-provider': 2.2.2 - '@smithy/types': 2.10.0 - '@smithy/util-config-provider': 2.2.1 - '@smithy/util-middleware': 2.1.2 - tslib: 2.6.2 - dev: false - - /@aws-sdk/s3-request-presigner@3.521.0: - resolution: {integrity: sha512-H44naGH2gGPfTC2159wq2MYHA90P0XsSPfT/3gg8xD9mNl59Ylw+S0oQTChlxbHUAxyFI44CVjOUHuUBuugGgA==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/signature-v4-multi-region': 3.521.0 - '@aws-sdk/types': 3.521.0 - '@aws-sdk/util-format-url': 3.521.0 - '@smithy/middleware-endpoint': 2.4.2 - '@smithy/protocol-http': 3.2.0 - '@smithy/smithy-client': 2.4.0 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/signature-v4-multi-region@3.521.0: - resolution: {integrity: sha512-JVMGQEE6+MQ5Enc/NDQNw8cmy/soALH/Ky00SVQvrfb9ec4H40eDQbbn/d7lua52UCcvUv1w+Ppk00WzbqDAcQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/middleware-sdk-s3': 3.521.0 - '@aws-sdk/types': 3.521.0 - '@smithy/protocol-http': 3.2.0 - '@smithy/signature-v4': 2.1.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/token-providers@3.521.0(@aws-sdk/credential-provider-node@3.521.0): - resolution: {integrity: sha512-63XxPOn13j87yPWKm6UXOPdMZIMyEyCDJzmlxnIACP8m20S/c6b8xLJ4fE/PUlD0MTKxpFeQbandq5OhnLsWSQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/client-sso-oidc': 3.521.0(@aws-sdk/credential-provider-node@3.521.0) - '@aws-sdk/types': 3.521.0 - '@smithy/property-provider': 2.1.2 - '@smithy/shared-ini-file-loader': 2.3.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - dev: false - - /@aws-sdk/types@3.521.0: - resolution: {integrity: sha512-H9I3Lut0F9d+kTibrhnTRqDRzhxf/vrDu12FUdTXVZEvVAQ7w9yrVHAZx8j2e8GWegetsQsNitO3KMrj4dA4pw==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/util-arn-parser@3.495.0: - resolution: {integrity: sha512-hwdA3XAippSEUxs7jpznwD63YYFR+LtQvlEcebPTgWR9oQgG9TfS+39PUfbnEeje1ICuOrN3lrFqFbmP9uzbMg==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - - /@aws-sdk/util-endpoints@3.521.0: - resolution: {integrity: sha512-lO5+1LeAZycDqgNjQyZdPSdXFQKXaW5bRuQ3UIT3bOCcUAbDI0BYXlPm1huPNTCEkI9ItnDCbISbV0uF901VXw==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@smithy/types': 2.10.0 - '@smithy/util-endpoints': 1.1.2 - tslib: 2.6.2 - dev: false - - /@aws-sdk/util-format-url@3.521.0: - resolution: {integrity: sha512-lKERTlx3prKcZynMioubjpZWY5+t6o916MhExAo9+twiTKv1r8dWYH+k/jLMViEcYtPiM9Ces9NX1sTJhzk/yQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.521.0 - '@smithy/querystring-builder': 2.1.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/util-locate-window@3.495.0: - resolution: {integrity: sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - - /@aws-sdk/util-user-agent-browser@3.521.0: - resolution: {integrity: sha512-2t3uW6AXOvJ5iiI1JG9zPqKQDc/TRFa+v13aqT5KKw9h3WHFyRUpd4sFQL6Ul0urrq2Zg9cG4NHBkei3k9lsHA==} - dependencies: - '@aws-sdk/types': 3.521.0 - '@smithy/types': 2.10.0 - bowser: 2.11.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/util-user-agent-node@3.521.0: - resolution: {integrity: sha512-g4KMEiyLc8DG21eMrp6fJUdfQ9F0fxfCNMDRgf0SE/pWI/u4vuWR2n8obLwq1pMVx7Ksva1NO3dc+a3Rgr0hag==} - engines: {node: '>=14.0.0'} - peerDependencies: - aws-crt: '>=1.0.0' - peerDependenciesMeta: - aws-crt: - optional: true - dependencies: - '@aws-sdk/types': 3.521.0 - '@smithy/node-config-provider': 2.2.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@aws-sdk/util-utf8-browser@3.259.0: - resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} - dependencies: - tslib: 2.6.2 - dev: false - - /@aws-sdk/xml-builder@3.521.0: - resolution: {integrity: sha512-ahaG39sgpBN/UOKzOW9Ey6Iuy6tK8vh2D+/tsLFLQ59PXoCvU06xg++TGXKpxsYMJGIzBvZMDC1aBhGmm/HsaA==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - /@babel/code-frame@7.23.5: resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} @@ -770,8 +112,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.23.9 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/gen-mapping': 0.3.4 + '@jridgewell/trace-mapping': 0.3.23 jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: @@ -1762,13 +1104,13 @@ packages: wrap-ansi: 8.1.0 wrap-ansi-cjs: /wrap-ansi@7.0.0 - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + /@jridgewell/gen-mapping@0.3.4: + resolution: {integrity: sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.23 /@jridgewell/resolve-uri@3.1.2: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} @@ -1781,14 +1123,14 @@ packages: /@jridgewell/source-map@0.3.5: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/gen-mapping': 0.3.4 + '@jridgewell/trace-mapping': 0.3.23 /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.22: - resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} + /@jridgewell/trace-mapping@0.3.23: + resolution: {integrity: sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==} dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 @@ -1816,10 +1158,10 @@ packages: /@kwsites/promise-deferred@1.1.1: resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} - /@libsql/client@0.5.1: - resolution: {integrity: sha512-gzdQVPVi/64BRKP6sg+JvHTht95OHNjaldjhBrfB79H8hc/djUwWYuo9+C/+zCQ73IR+js2xTtUgNzn8bLZ/7A==} + /@libsql/client@0.5.2: + resolution: {integrity: sha512-aHnYjsqE4QWhb+HdJj2HtLw6QBt61veSu6IQgFO5rxzdY/rb69YAgYF0ZvpVoMn12B/t9U9U7H3ow/IADo4Yhg==} dependencies: - '@libsql/core': 0.5.1 + '@libsql/core': 0.5.2 '@libsql/hrana-client': 0.5.6 js-base64: 3.7.7 libsql: 0.3.2 @@ -1829,8 +1171,8 @@ packages: - utf-8-validate dev: false - /@libsql/core@0.5.1: - resolution: {integrity: sha512-oEkns102z5bLbGSQjZGAm4Ce+TwOuA8g7a86dRkGtEhOSIErw21yL0+t1oYrPtOXluDtTQ80cTvru8EoMMr78Q==} + /@libsql/core@0.5.2: + resolution: {integrity: sha512-sBo55JJXRiggymOy91MvI+lJ15U8BdWBHytAeszpebhhbrkuTfd+5jDoB3sSZ0dMH0NIPAVQEEQnQldAO+SDXg==} dependencies: js-base64: 3.7.7 dev: false @@ -2066,8 +1408,8 @@ packages: nuxt: ^3.9.0 vite: '*' dependencies: - '@nuxt/kit': 3.10.2 - '@nuxt/schema': 3.10.2 + '@nuxt/kit': 3.10.3 + '@nuxt/schema': 3.10.3 execa: 7.2.0 nuxt: 3.10.3(vite@5.1.4) vite: 5.1.4 @@ -2140,32 +1482,6 @@ packages: - supports-color - utf-8-validate - /@nuxt/kit@3.10.2: - resolution: {integrity: sha512-Bua7taY9CIm7HCTpHXqFyM1xlZkrUl6HOqWrkGjLLQg9eeWAdKT7ppT0iEMiGnb9f+5T0uL5Ec3TvuR5J8P9WA==} - engines: {node: ^14.18.0 || >=16.10.0} - dependencies: - '@nuxt/schema': 3.10.2 - c12: 1.9.0 - consola: 3.2.3 - defu: 6.1.4 - globby: 14.0.1 - hash-sum: 2.0.0 - ignore: 5.3.1 - jiti: 1.21.0 - knitwork: 1.0.0 - mlly: 1.6.1 - pathe: 1.1.2 - pkg-types: 1.0.3 - scule: 1.3.0 - semver: 7.6.0 - ufo: 1.4.0 - unctx: 2.3.1 - unimport: 3.7.1(rollup@4.12.0) - untyped: 1.4.2 - transitivePeerDependencies: - - rollup - - supports-color - /@nuxt/kit@3.10.3: resolution: {integrity: sha512-PUjYB9Mvx0qD9H1QZBwwtY4fLlCLET+Mm9BVqUOtXCaGoXd6u6BE4e/dGFPk2UEKkIcDGrUMSbqkHYvsEuK9NQ==} engines: {node: ^14.18.0 || >=16.10.0} @@ -2192,25 +1508,6 @@ packages: - rollup - supports-color - /@nuxt/schema@3.10.2: - resolution: {integrity: sha512-hHVnMlPKYR6AVK889gvcYVgewB1885/KPZW6uYhVWkeKGc63JzNCILq8ykTqG/t8LpG1ZJpwxo5KtDk9nIZrfA==} - engines: {node: ^14.18.0 || >=16.10.0} - dependencies: - '@nuxt/ui-templates': 1.3.1 - consola: 3.2.3 - defu: 6.1.4 - hookable: 5.5.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - scule: 1.3.0 - std-env: 3.7.0 - ufo: 1.4.0 - unimport: 3.7.1(rollup@4.12.0) - untyped: 1.4.2 - transitivePeerDependencies: - - rollup - - supports-color - /@nuxt/schema@3.10.3: resolution: {integrity: sha512-a4cYbeskEVBPazgAhvUGkL/j7ho/iPWMK3vCEm6dRMjSqHVEITRosrj0aMfLbRrDpTrMjlRs0ZitxiaUfE/p5Q==} engines: {node: ^14.18.0 || >=16.10.0} @@ -2319,7 +1616,7 @@ packages: autoprefixer: 10.4.17(postcss@8.4.35) clear: 0.1.0 consola: 3.2.3 - cssnano: 6.0.4(postcss@8.4.35) + cssnano: 6.0.5(postcss@8.4.35) defu: 6.1.4 esbuild: 0.20.1 escape-string-regexp: 5.0.0 @@ -2811,461 +2108,6 @@ packages: resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} - /@smithy/abort-controller@2.1.2: - resolution: {integrity: sha512-iwUxrFm/ZFCXhzhtZ6JnoJzAsqUrVfBAZUTQj8ypXGtIjwXZpKqmgYiuqrDERiydDI5gesqvsC4Rqe57GGhbVg==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/chunked-blob-reader-native@2.1.1: - resolution: {integrity: sha512-zNW+43dltfNMUrBEYLMWgI8lQr0uhtTcUyxkgC9EP4j17WREzgSFMPUFVrVV6Rc2+QtWERYjb4tzZnQGa7R9fQ==} - dependencies: - '@smithy/util-base64': 2.1.1 - tslib: 2.6.2 - dev: false - - /@smithy/chunked-blob-reader@2.1.1: - resolution: {integrity: sha512-NjNFCKxC4jVvn+lUr3Yo4/PmUJj3tbyqH6GNHueyTGS5Q27vlEJ1MkNhUDV8QGxJI7Bodnc2pD18lU2zRfhHlQ==} - dependencies: - tslib: 2.6.2 - dev: false - - /@smithy/config-resolver@2.1.2: - resolution: {integrity: sha512-ZDMY63xJVsJl7ei/yIMv9nx8OiEOulwNnQOUDGpIvzoBrcbvYwiMjIMe5mP5J4fUmttKkpiTKwta/7IUriAn9w==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/node-config-provider': 2.2.2 - '@smithy/types': 2.10.0 - '@smithy/util-config-provider': 2.2.1 - '@smithy/util-middleware': 2.1.2 - tslib: 2.6.2 - dev: false - - /@smithy/core@1.3.3: - resolution: {integrity: sha512-8cT/swERvU1EUMuJF914+psSeVy4+NcNhbRe1WEKN1yIMPE5+Tq5EaPq1HWjKCodcdBIyU9ViTjd62XnebXMHA==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/middleware-endpoint': 2.4.2 - '@smithy/middleware-retry': 2.1.2 - '@smithy/middleware-serde': 2.1.2 - '@smithy/protocol-http': 3.2.0 - '@smithy/smithy-client': 2.4.0 - '@smithy/types': 2.10.0 - '@smithy/util-middleware': 2.1.2 - tslib: 2.6.2 - dev: false - - /@smithy/credential-provider-imds@2.2.2: - resolution: {integrity: sha512-a2xpqWzhzcYwImGbFox5qJLf6i5HKdVeOVj7d6kVFElmbS2QW2T4HmefRc5z1huVArk9bh5Rk1NiFp9YBCXU3g==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/node-config-provider': 2.2.2 - '@smithy/property-provider': 2.1.2 - '@smithy/types': 2.10.0 - '@smithy/url-parser': 2.1.2 - tslib: 2.6.2 - dev: false - - /@smithy/eventstream-codec@2.1.2: - resolution: {integrity: sha512-2PHrVRixITHSOj3bxfZmY93apGf8/DFiyhRh9W0ukfi07cvlhlRonZ0fjgcqryJjUZ5vYHqqmfIE/Qe1HM9mlw==} - dependencies: - '@aws-crypto/crc32': 3.0.0 - '@smithy/types': 2.10.0 - '@smithy/util-hex-encoding': 2.1.1 - tslib: 2.6.2 - dev: false - - /@smithy/eventstream-serde-browser@2.1.2: - resolution: {integrity: sha512-2N11IFHvOmKuwK6hLVkqM8ge8oiQsFkflr4h07LToxo3rX+njkx/5eRn6RVcyNmpbdbxYYt0s0Pf8u+yhHmOKg==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/eventstream-serde-universal': 2.1.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/eventstream-serde-config-resolver@2.1.2: - resolution: {integrity: sha512-nD/+k3mK+lMMwf2AItl7uWma+edHLqiE6LyIYXYnIBlCJcIQnA/vTHjHFoSJFCfG30sBJnU/7u4X5j/mbs9uKg==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/eventstream-serde-node@2.1.2: - resolution: {integrity: sha512-zNE6DhbwDEWTKl4mELkrdgXBGC7UsFg1LDkTwizSOFB/gd7G7la083wb0JgU+xPt+TYKK0AuUlOM0rUZSJzqeA==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/eventstream-serde-universal': 2.1.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/eventstream-serde-universal@2.1.2: - resolution: {integrity: sha512-Upd/zy+dNvvIDPU1HGhW9ivNjvJQ0W4UkkQOzr5Mo0hz2lqnZAyOuit4TK2JAEg/oo+V1gUY4XywDc7zNbCF0g==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/eventstream-codec': 2.1.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/fetch-http-handler@2.4.2: - resolution: {integrity: sha512-sIGMVwa/8h6eqNjarI3F07gvML3mMXcqBe+BINNLuKsVKXMNBN6wRzeZbbx7lfiJDEHAP28qRns8flHEoBB7zw==} - dependencies: - '@smithy/protocol-http': 3.2.0 - '@smithy/querystring-builder': 2.1.2 - '@smithy/types': 2.10.0 - '@smithy/util-base64': 2.1.1 - tslib: 2.6.2 - dev: false - - /@smithy/hash-blob-browser@2.1.2: - resolution: {integrity: sha512-f8QHgOVSXeYsc4BLKWdfXRowKa2g9byAkAX5c7Ku89bi9uBquWLEVmKlYXFBlkX562Fkmp2YSeciv+zZuOrIOQ==} - dependencies: - '@smithy/chunked-blob-reader': 2.1.1 - '@smithy/chunked-blob-reader-native': 2.1.1 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/hash-node@2.1.2: - resolution: {integrity: sha512-3Sgn4s0g4xud1M/j6hQwYCkz04lVJ24wvCAx4xI26frr3Ao6v0o2VZkBpUySTeQbMUBp2DhuzJ0fV1zybzkckw==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.10.0 - '@smithy/util-buffer-from': 2.1.1 - '@smithy/util-utf8': 2.1.1 - tslib: 2.6.2 - dev: false - - /@smithy/hash-stream-node@2.1.2: - resolution: {integrity: sha512-UB6xo+KN3axrLO+MfnWb8mtdeep4vjGUcjYCVFdk9h+OqUb7JYWZZLRcupRPZx28cNBCBEUtc9wVZDI71JDdQA==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.10.0 - '@smithy/util-utf8': 2.1.1 - tslib: 2.6.2 - dev: false - - /@smithy/invalid-dependency@2.1.2: - resolution: {integrity: sha512-qdgKhkFYxDJnKecx2ANwz3JRkXjm0qDgEnAs5BIfb2z/XqA2l7s9BTH7GTC/RR4E8h6EDCeb5rM2rnARxviqIg==} - dependencies: - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/is-array-buffer@2.1.1: - resolution: {integrity: sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - - /@smithy/md5-js@2.1.2: - resolution: {integrity: sha512-C/FWR5ooyDNDfc1Opx3n0QFO5p4G0gldIbk2VU9mPGnZVTjzXcWM5jUQp33My5UK305tKYpG5/kZdQSNVh+tLw==} - dependencies: - '@smithy/types': 2.10.0 - '@smithy/util-utf8': 2.1.1 - tslib: 2.6.2 - dev: false - - /@smithy/middleware-content-length@2.1.2: - resolution: {integrity: sha512-XEWtul1tHP31EtUIobEyN499paUIbnCTRtjY+ciDCEXW81lZmpjrDG3aL0FxJDPnvatVQuMV1V5eg6MCqTFaLQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/protocol-http': 3.2.0 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/middleware-endpoint@2.4.2: - resolution: {integrity: sha512-72qbmVwaWcLOd/OT52fszrrlXywPwciwpsRiIk/dIvpcwkpGE9qrYZ2bt/SYcA/ma8Rz9Ni2AbBuSXLDYISS+A==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/middleware-serde': 2.1.2 - '@smithy/node-config-provider': 2.2.2 - '@smithy/shared-ini-file-loader': 2.3.2 - '@smithy/types': 2.10.0 - '@smithy/url-parser': 2.1.2 - '@smithy/util-middleware': 2.1.2 - tslib: 2.6.2 - dev: false - - /@smithy/middleware-retry@2.1.2: - resolution: {integrity: sha512-tlvSK+v9bPHHb0dLWvEaFW2Iz0IeA57ISvSaso36I33u8F8wYqo5FCvenH7TgMVBx57jyJBXOmYCZa9n5gdJIg==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/node-config-provider': 2.2.2 - '@smithy/protocol-http': 3.2.0 - '@smithy/service-error-classification': 2.1.2 - '@smithy/smithy-client': 2.4.0 - '@smithy/types': 2.10.0 - '@smithy/util-middleware': 2.1.2 - '@smithy/util-retry': 2.1.2 - tslib: 2.6.2 - uuid: 8.3.2 - dev: false - - /@smithy/middleware-serde@2.1.2: - resolution: {integrity: sha512-XNU6aVIhlSbjuo2XsfZ7rd4HhjTXDlNWxAmhlBfViTW1TNK02CeWdeEntp5XtQKYD//pyTIbYi35EQvIidAkOw==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/middleware-stack@2.1.2: - resolution: {integrity: sha512-EPGaHGd4XmZcaRYjbhyqiqN/Q/ESxXu5e5TK24CTZUe99y8/XCxmiX8VLMM4H0DI7K3yfElR0wPAAvceoSkTgw==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/node-config-provider@2.2.2: - resolution: {integrity: sha512-QXvpqHSijAm13ZsVkUo92b085UzDvYP1LblWTb3uWi9WilhDvYnVyPLXaryLhOWZ2YvdhK2170T3ZBqtg+quIQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/property-provider': 2.1.2 - '@smithy/shared-ini-file-loader': 2.3.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/node-http-handler@2.4.0: - resolution: {integrity: sha512-Mf2f7MMy31W8LisJ9O+7J5cKiNwBwBBLU6biQ7/sFSFdhuOxPN7hOPoZ8vlaFjvrpfOUJw9YOpjGyNTKuvomOQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/abort-controller': 2.1.2 - '@smithy/protocol-http': 3.2.0 - '@smithy/querystring-builder': 2.1.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/property-provider@2.1.2: - resolution: {integrity: sha512-yaXCVFKzxbSXqOoyA7AdAgXhwdjiLeui7n2P6XLjBCz/GZFdLUJgSY6KL1PevaxT4REMwUSs/bSHAe/0jdzEHw==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/protocol-http@3.2.0: - resolution: {integrity: sha512-VRp0YITYIQum+rX4zeZ3cW1wl9r90IQzQN+VLS1NxdSMt6NLsJiJqR9czTxlaeWNrLHsFAETmjmdrS48Ug1liA==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/querystring-builder@2.1.2: - resolution: {integrity: sha512-wk6QpuvBBLJF5w8aADsZOtxaHY9cF5MZe1Ry3hSqqBxARdUrMoXi/jukUz5W0ftXGlbA398IN8dIIUj3WXqJXg==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.10.0 - '@smithy/util-uri-escape': 2.1.1 - tslib: 2.6.2 - dev: false - - /@smithy/querystring-parser@2.1.2: - resolution: {integrity: sha512-z1yL5Iiagm/UxVy1tcuTFZdfOBK/QtYeK6wfClAJ7cOY7kIaYR6jn1cVXXJmhAQSh1b2ljP4xiZN4Ybj7Tbs5w==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/service-error-classification@2.1.2: - resolution: {integrity: sha512-R+gL1pAPuWkH6unFridk57wDH5PFY2IlVg2NUjSAjoaIaU+sxqKf/7AOWIcx9Bdn+xY0/4IRQ69urlC+F3I9gg==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.10.0 - dev: false - - /@smithy/shared-ini-file-loader@2.3.2: - resolution: {integrity: sha512-idHGDJB+gBh+aaIjmWj6agmtNWftoyAenErky74hAtKyUaCvfocSBgEJ2pQ6o68svBluvGIj4NGFgJu0198mow==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/signature-v4@2.1.2: - resolution: {integrity: sha512-DdPWaNGIbxzyocR3ncH8xlxQgsqteRADEdCPoivgBzwv17UzKy2obtdi2vwNc5lAJ955bGEkkWef9O7kc1Eocg==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/eventstream-codec': 2.1.2 - '@smithy/is-array-buffer': 2.1.1 - '@smithy/types': 2.10.0 - '@smithy/util-hex-encoding': 2.1.1 - '@smithy/util-middleware': 2.1.2 - '@smithy/util-uri-escape': 2.1.1 - '@smithy/util-utf8': 2.1.1 - tslib: 2.6.2 - dev: false - - /@smithy/smithy-client@2.4.0: - resolution: {integrity: sha512-6/jxk0om9l2s9BcgHtrBn+Hd3xcFGDzxfEJ2FvGpZxIz0S7bgvZg1gyR66O1xf1w9WZBH+W7JClhfSn2gETINw==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/middleware-endpoint': 2.4.2 - '@smithy/middleware-stack': 2.1.2 - '@smithy/protocol-http': 3.2.0 - '@smithy/types': 2.10.0 - '@smithy/util-stream': 2.1.2 - tslib: 2.6.2 - dev: false - - /@smithy/types@2.10.0: - resolution: {integrity: sha512-QYXQmpIebS8/jYXgyJjCanKZbI4Rr8tBVGBAIdDhA35f025TVjJNW69FJ0TGiDqt+lIGo037YIswq2t2Y1AYZQ==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - - /@smithy/url-parser@2.1.2: - resolution: {integrity: sha512-KBPi740ciTujUaY+RfQuPABD0QFmgSBN5qNVDCGTryfsbG4jkwC0YnElSzi72m24HegMyxzZDLG4Oh4/97mw2g==} - dependencies: - '@smithy/querystring-parser': 2.1.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/util-base64@2.1.1: - resolution: {integrity: sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/util-buffer-from': 2.1.1 - tslib: 2.6.2 - dev: false - - /@smithy/util-body-length-browser@2.1.1: - resolution: {integrity: sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag==} - dependencies: - tslib: 2.6.2 - dev: false - - /@smithy/util-body-length-node@2.2.1: - resolution: {integrity: sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - - /@smithy/util-buffer-from@2.1.1: - resolution: {integrity: sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/is-array-buffer': 2.1.1 - tslib: 2.6.2 - dev: false - - /@smithy/util-config-provider@2.2.1: - resolution: {integrity: sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - - /@smithy/util-defaults-mode-browser@2.1.2: - resolution: {integrity: sha512-YmojdmsE7VbvFGJ/8btn/5etLm1HOQkgVX6nMWlB0yBL/Vb//s3aTebUJ66zj2+LNrBS3B9S+18+LQU72Yj0AQ==} - engines: {node: '>= 10.0.0'} - dependencies: - '@smithy/property-provider': 2.1.2 - '@smithy/smithy-client': 2.4.0 - '@smithy/types': 2.10.0 - bowser: 2.11.0 - tslib: 2.6.2 - dev: false - - /@smithy/util-defaults-mode-node@2.2.1: - resolution: {integrity: sha512-kof7M9Q2qP5yaQn8hHJL3KwozyvIfLe+ys7feifSul6gBAAeoraibo/MWqotb/I0fVLMlCMDwn7WXFsGUwnsew==} - engines: {node: '>= 10.0.0'} - dependencies: - '@smithy/config-resolver': 2.1.2 - '@smithy/credential-provider-imds': 2.2.2 - '@smithy/node-config-provider': 2.2.2 - '@smithy/property-provider': 2.1.2 - '@smithy/smithy-client': 2.4.0 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/util-endpoints@1.1.2: - resolution: {integrity: sha512-2/REfdcJ20y9iF+9kSBRBsaoGzjT5dZ3E6/TA45GHJuJAb/vZTj76VLTcrl2iN3fWXiDK1B8RxchaLGbr7RxxA==} - engines: {node: '>= 14.0.0'} - dependencies: - '@smithy/node-config-provider': 2.2.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/util-hex-encoding@2.1.1: - resolution: {integrity: sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - - /@smithy/util-middleware@2.1.2: - resolution: {integrity: sha512-lvSOnwQ7iAajtWb1nAyy0CkOIn8d+jGykQOtt2NXDsPzOTfejZM/Uph+O/TmVgWoXdcGuw5peUMG2f5xEIl6UQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/util-retry@2.1.2: - resolution: {integrity: sha512-pqifOgRqwLfRu+ks3awEKKqPeYxrHLwo4Yu2EarGzeoarTd1LVEyyf5qLE6M7IiCsxnXRhn9FoWIdZOC+oC/VQ==} - engines: {node: '>= 14.0.0'} - dependencies: - '@smithy/service-error-classification': 2.1.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - - /@smithy/util-stream@2.1.2: - resolution: {integrity: sha512-AbGjvoSok7YeUKv9WRVRSChQfsufLR54YCAabTbaABRdIucywRQs29em0uAP6r4RLj+4aFZStWGYpFgT0P8UlQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/fetch-http-handler': 2.4.2 - '@smithy/node-http-handler': 2.4.0 - '@smithy/types': 2.10.0 - '@smithy/util-base64': 2.1.1 - '@smithy/util-buffer-from': 2.1.1 - '@smithy/util-hex-encoding': 2.1.1 - '@smithy/util-utf8': 2.1.1 - tslib: 2.6.2 - dev: false - - /@smithy/util-uri-escape@2.1.1: - resolution: {integrity: sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==} - engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - - /@smithy/util-utf8@2.1.1: - resolution: {integrity: sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/util-buffer-from': 2.1.1 - tslib: 2.6.2 - dev: false - - /@smithy/util-waiter@2.1.2: - resolution: {integrity: sha512-yxLC57GBDmbDmrnH+vJxsrbV4/aYUucBONkSRLZyJIVFAl/QJH+O/h+phITHDaxVZCYZAcudYJw4ERE32BJM7g==} - engines: {node: '>=14.0.0'} - dependencies: - '@smithy/abort-controller': 2.1.2 - '@smithy/types': 2.10.0 - tslib: 2.6.2 - dev: false - /@tailwindcss/aspect-ratio@0.4.2(tailwindcss@3.4.1): resolution: {integrity: sha512-8QPrypskfBa7QIMuKHg2TA7BqES6vhBrDLOv8Unb6FcFyd3TjKbc6lcmb9UPQHxfl24sXoJ41ux/H7qQQvfaSQ==} peerDependencies: @@ -3845,6 +2687,10 @@ packages: postcss: 8.4.35 postcss-value-parser: 4.2.0 + /aws4fetch@1.0.13: + resolution: {integrity: sha512-UTlirJkLtGbJurR9PlL4rOZ9HM1G/1/joWItpVwQ0f7j5Alldd7rfCMcy2kd0l2nDZ4LBdd6cFhrMwsEtazCNw==} + dev: false + /b4a@1.6.6: resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} @@ -3891,10 +2737,6 @@ packages: /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - /bowser@2.11.0: - resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} - dev: false - /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -4310,8 +3152,8 @@ packages: engines: {node: '>=4'} hasBin: true - /cssnano-preset-default@6.0.4(postcss@8.4.35): - resolution: {integrity: sha512-mvyBIFHaFA4lkBwePlB9Gycnf/rgFQRKcP/yHG/tbD0ZuIdCDSF1GoL4QC4gcp8qaJOkmVmb0mCXMR6Wi4Da0A==} + /cssnano-preset-default@6.0.5(postcss@8.4.35): + resolution: {integrity: sha512-M+qRDEr5QZrfNl0B2ySdbTLGyNb8kBcSjuwR7WBamYBOEREH9t2efnB/nblekqhdGLZdkf4oZNetykG2JWRdZQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -4320,17 +3162,17 @@ packages: cssnano-utils: 4.0.1(postcss@8.4.35) postcss: 8.4.35 postcss-calc: 9.0.1(postcss@8.4.35) - postcss-colormin: 6.0.2(postcss@8.4.35) - postcss-convert-values: 6.0.3(postcss@8.4.35) + postcss-colormin: 6.0.3(postcss@8.4.35) + postcss-convert-values: 6.0.4(postcss@8.4.35) postcss-discard-comments: 6.0.1(postcss@8.4.35) postcss-discard-duplicates: 6.0.2(postcss@8.4.35) postcss-discard-empty: 6.0.2(postcss@8.4.35) postcss-discard-overridden: 6.0.1(postcss@8.4.35) - postcss-merge-longhand: 6.0.2(postcss@8.4.35) - postcss-merge-rules: 6.0.3(postcss@8.4.35) - postcss-minify-font-values: 6.0.1(postcss@8.4.35) - postcss-minify-gradients: 6.0.1(postcss@8.4.35) - postcss-minify-params: 6.0.2(postcss@8.4.35) + postcss-merge-longhand: 6.0.3(postcss@8.4.35) + postcss-merge-rules: 6.0.4(postcss@8.4.35) + postcss-minify-font-values: 6.0.2(postcss@8.4.35) + postcss-minify-gradients: 6.0.2(postcss@8.4.35) + postcss-minify-params: 6.0.3(postcss@8.4.35) postcss-minify-selectors: 6.0.2(postcss@8.4.35) postcss-normalize-charset: 6.0.1(postcss@8.4.35) postcss-normalize-display-values: 6.0.1(postcss@8.4.35) @@ -4338,11 +3180,11 @@ packages: postcss-normalize-repeat-style: 6.0.1(postcss@8.4.35) postcss-normalize-string: 6.0.1(postcss@8.4.35) postcss-normalize-timing-functions: 6.0.1(postcss@8.4.35) - postcss-normalize-unicode: 6.0.2(postcss@8.4.35) + postcss-normalize-unicode: 6.0.3(postcss@8.4.35) postcss-normalize-url: 6.0.1(postcss@8.4.35) postcss-normalize-whitespace: 6.0.1(postcss@8.4.35) postcss-ordered-values: 6.0.1(postcss@8.4.35) - postcss-reduce-initial: 6.0.2(postcss@8.4.35) + postcss-reduce-initial: 6.0.3(postcss@8.4.35) postcss-reduce-transforms: 6.0.1(postcss@8.4.35) postcss-svgo: 6.0.2(postcss@8.4.35) postcss-unique-selectors: 6.0.2(postcss@8.4.35) @@ -4355,13 +3197,13 @@ packages: dependencies: postcss: 8.4.35 - /cssnano@6.0.4(postcss@8.4.35): - resolution: {integrity: sha512-Bp607LopXmwV9TPUxw76yvcvRk4AYrrtHtLsndAnSWUwT4xgaiC6Eaa44cZ6ciu9J7Sqv9zocMTDcyQnU4dihw==} + /cssnano@6.0.5(postcss@8.4.35): + resolution: {integrity: sha512-tpTp/ukgrElwu3ESFY4IvWnGn8eTt8cJhC2aAbtA3lvUlxp6t6UPv8YCLjNnEGiFreT1O0LiOM1U3QyTBVFl2A==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: - cssnano-preset-default: 6.0.4(postcss@8.4.35) + cssnano-preset-default: 6.0.5(postcss@8.4.35) lilconfig: 3.1.1 postcss: 8.4.35 @@ -4580,7 +3422,7 @@ packages: - supports-color dev: false - /drizzle-orm@0.29.4(@libsql/client@0.5.1)(better-sqlite3@9.4.3): + /drizzle-orm@0.29.4(@libsql/client@0.5.2)(better-sqlite3@9.4.3): resolution: {integrity: sha512-ZnSM8TAxFhzH7p1s3+w3pRE/eKaOeNkH9SKitm717pubDVVcV2I0BCDBPGKV+pe02+wMfw37ntlTcCyo2rA3IA==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' @@ -4651,7 +3493,7 @@ packages: sqlite3: optional: true dependencies: - '@libsql/client': 0.5.1 + '@libsql/client': 0.5.2 better-sqlite3: 9.4.3 dev: false @@ -4974,13 +3816,6 @@ packages: merge2: 1.4.1 micromatch: 4.0.5 - /fast-xml-parser@4.2.5: - resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} - hasBin: true - dependencies: - strnum: 1.0.5 - dev: false - /fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: @@ -6300,8 +5135,8 @@ packages: - idb-keyval - supports-color - /node-abi@3.55.0: - resolution: {integrity: sha512-uPEjtyh2tFEvWYt4Jw7McOD5FPcHkcxm/tHZc5PWaDB3JYq0rGFUbgaAK+CT5pYpQddBfsZVWI08OwoRfdfbcQ==} + /node-abi@3.56.0: + resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} engines: {node: '>=10'} dependencies: semver: 7.6.0 @@ -6858,8 +5693,8 @@ packages: postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 - /postcss-colormin@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-TXKOxs9LWcdYo5cgmcSHPkyrLAh86hX1ijmyy6J8SbOhyv6ua053M3ZAM/0j44UsnQNIWdl8gb5L7xX2htKeLw==} + /postcss-colormin@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-ECpkS+UZRyAtu/kjive2/1mihP+GNtgC8kcdU8ueWZi1ZVxMNnRziCLdhrWECJhEtSWijfX2Cl9XTTCK/hjGaA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -6870,8 +5705,8 @@ packages: postcss: 8.4.35 postcss-value-parser: 4.2.0 - /postcss-convert-values@6.0.3(postcss@8.4.35): - resolution: {integrity: sha512-Tj+VH3GtQxvBVX6hhggIUaAMLDbqoHgsAFeZ8iCOD03hnho+wrOF2IsahY9o4MANtaJEjqABrhD1SqwIILGH9A==} + /postcss-convert-values@6.0.4(postcss@8.4.35): + resolution: {integrity: sha512-YT2yrGzPXoQD3YeA2kBo/696qNwn7vI+15AOS2puXWEvSWqdCqlOyDWRy5GNnOc9ACRGOkuQ4ESQEqPJBWt/GA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -6965,18 +5800,18 @@ packages: yaml: 2.3.4 dev: true - /postcss-merge-longhand@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-+yfVB7gEM8SrCo9w2lCApKIEzrTKl5yS1F4yGhV3kSim6JzbfLGJyhR1B6X+6vOT0U33Mgx7iv4X9MVWuaSAfw==} + /postcss-merge-longhand@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-kF/y3DU8CRt+SX3tP/aG+2gkZI2Z7OXDsPU7FgxIJmuyhQQ1EHceIYcsp/alvzCm2P4c37Sfdu8nNrHc+YeyLg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 dependencies: postcss: 8.4.35 postcss-value-parser: 4.2.0 - stylehacks: 6.0.2(postcss@8.4.35) + stylehacks: 6.0.3(postcss@8.4.35) - /postcss-merge-rules@6.0.3(postcss@8.4.35): - resolution: {integrity: sha512-yfkDqSHGohy8sGYIJwBmIGDv4K4/WrJPX355XrxQb/CSsT4Kc/RxDi6akqn5s9bap85AWgv21ArcUWwWdGNSHA==} + /postcss-merge-rules@6.0.4(postcss@8.4.35): + resolution: {integrity: sha512-97iF3UJ5v8N1BWy38y+0l+Z8o5/9uGlEgtWic2PJPzoRrLB6Gxg8TVG93O0EK52jcLeMsywre26AUlX1YAYeHA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -6987,8 +5822,8 @@ packages: postcss: 8.4.35 postcss-selector-parser: 6.0.15 - /postcss-minify-font-values@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-tIwmF1zUPoN6xOtA/2FgVk1ZKrLcCvE0dpZLtzyyte0j9zUeB8RTbCqrHZGjJlxOvNWKMYtunLrrl7HPOiR46w==} + /postcss-minify-font-values@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-IedzbVMoX0a7VZWjSYr5qJ6C37rws8kl8diPBeMZLJfWKkgXuMFY5R/OxPegn/q9tK9ztd0XRH3aR0u2t+A7uQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -6996,8 +5831,8 @@ packages: postcss: 8.4.35 postcss-value-parser: 4.2.0 - /postcss-minify-gradients@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-M1RJWVjd6IOLPl1hYiOd5HQHgpp6cvJVLrieQYS9y07Yo8itAr6jaekzJphaJFR0tcg4kRewCk3kna9uHBxn/w==} + /postcss-minify-gradients@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-vP5mF7iI6/5fcpv+rSfwWQekOE+8I1i7/7RjZPGuIjj6eUaZVeG4XZYZrroFuw1WQd51u2V32wyQFZ+oYdE7CA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -7007,8 +5842,8 @@ packages: postcss: 8.4.35 postcss-value-parser: 4.2.0 - /postcss-minify-params@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-zwQtbrPEBDj+ApELZ6QylLf2/c5zmASoOuA4DzolyVGdV38iR2I5QRMsZcHkcdkZzxpN8RS4cN7LPskOkTwTZw==} + /postcss-minify-params@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-j4S74d3AAeCK5eGdQndXSrkxusV2ekOxbXGnlnZthMyZBBvSDiU34CihTASbJxuVB3bugudmwolS7+Dgs5OyOQ==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -7101,8 +5936,8 @@ packages: postcss: 8.4.35 postcss-value-parser: 4.2.0 - /postcss-normalize-unicode@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-Ff2VdAYCTGyMUwpevTZPZ4w0+mPjbZzLLyoLh/RMpqUqeQKZ+xMm31hkxBavDcGKcxm6ACzGk0nBfZ8LZkStKA==} + /postcss-normalize-unicode@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-T2Bb3gXz0ASgc3ori2dzjv6j/P2IantreaC6fT8tWjqYUiqMAh5jGIkdPwEV2FaucjQlCLeFJDJh2BeSugE1ig==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -7139,8 +5974,8 @@ packages: postcss: 8.4.35 postcss-value-parser: 4.2.0 - /postcss-reduce-initial@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-YGKalhNlCLcjcLvjU5nF8FyeCTkCO5UtvJEt0hrPZVCTtRLSOH4z00T1UntQPj4dUmIYZgMj8qK77JbSX95hSw==} + /postcss-reduce-initial@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-w4QIR9pEa1N4xMx3k30T1vLZl6udVK2RmNqrDXhBXX9L0mBj2a8ADs8zkbaEH7eUy1m30Wyr5EBgHN31Yq1JvA==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -7214,7 +6049,7 @@ packages: minimist: 1.2.8 mkdirp-classic: 0.5.3 napi-build-utils: 1.0.2 - node-abi: 3.55.0 + node-abi: 3.56.0 pump: 3.0.0 rc: 1.2.8 simple-get: 4.0.1 @@ -7768,12 +6603,8 @@ packages: dependencies: js-tokens: 8.0.3 - /strnum@1.0.5: - resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} - dev: false - - /stylehacks@6.0.2(postcss@8.4.35): - resolution: {integrity: sha512-00zvJGnCu64EpMjX8b5iCZ3us2Ptyw8+toEkb92VdmkEaRaSGBNKAoK6aWZckhXxmQP8zWiTaFaiMGIU8Ve8sg==} + /stylehacks@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-KzBqjnqktc8/I0ERCb+lGq06giF/JxDbw2r9kEVhen9noHeIDRtMWUp9r62sOk+/2bbX6sFG1GhsS7ToXG0PEg==} engines: {node: ^14 || ^16 || >=18.0} peerDependencies: postcss: ^8.4.31 @@ -7787,7 +6618,7 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: - '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/gen-mapping': 0.3.4 commander: 4.1.1 glob: 10.3.10 lines-and-columns: 1.2.4 @@ -8000,14 +6831,6 @@ packages: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: false - - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: false - /tsscmp@1.0.6: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} engines: {node: '>=0.6.x'} @@ -8265,11 +7088,6 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - dev: false - /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: diff --git a/server/api/catches/index.post.ts b/server/api/catches/index.post.ts index 9f20496..9a983e2 100644 --- a/server/api/catches/index.post.ts +++ b/server/api/catches/index.post.ts @@ -1,4 +1,5 @@ import { getPublicUrlForS3Object } from "~/server/utils/bucket" +import { initAwsClient } from "../../utils/bucket" export default defineEventHandler(async (event) => { const body = await readFormData(event) @@ -6,9 +7,9 @@ export default defineEventHandler(async (event) => { const image = body.get('image') as File const title = body.get('title') as string - const s3Client = initS3Client(event, 'catches') + const s3Client = initAwsClient(event) - await uploadFileToS3(event, s3Client, image) + await uploadFileToBucket(event, s3Client, 'catches', image) const publicUrl = getPublicUrlForS3Object(event, 'catches', image.name) diff --git a/server/utils/bucket.ts b/server/utils/bucket.ts index 73ed9f0..c05f389 100644 --- a/server/utils/bucket.ts +++ b/server/utils/bucket.ts @@ -1,22 +1,17 @@ -import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3' -import { getSignedUrl } from '@aws-sdk/s3-request-presigner' +import { AwsClient } from 'aws4fetch'; import { H3Event } from 'h3' type BucketPaths = 'catches' -export const initS3Client = (event: H3Event, path: BucketPaths) => { +export const initAwsClient = (event: H3Event) => { const runtimeConfig = useRuntimeConfig(event) - const s3Client = new S3Client({ - endpoint: `${runtimeConfig.BUCKET_R2_ENDPOINT}/${path}`, - credentials: { - accessKeyId: runtimeConfig.BUCKET_R2_ACCESS_KEY_ID, - secretAccessKey: runtimeConfig.BUCKET_R2_SECRET_ACCESS_KEY, - }, - region: runtimeConfig.BUCKET_R2_REGION, + const s3 = new AwsClient({ + accessKeyId: runtimeConfig.BUCKET_R2_ACCESS_KEY_ID, + secretAccessKey: runtimeConfig.BUCKET_R2_SECRET_ACCESS_KEY, }) - return s3Client + return s3 } export const getPublicUrlForS3Object = (event: H3Event, path: BucketPaths, key: string) => { @@ -29,31 +24,18 @@ export const getPublicUrlForS3Object = (event: H3Event, path: BucketPaths, key: } } -export const uploadFileToS3 = async (event: H3Event, s3Client: S3Client, file: File) => { +export const uploadFileToBucket = async (event: H3Event, awsClient: AwsClient, path: BucketPaths, file: File) => { const runtimeConfig = useRuntimeConfig(event) const buffer = Buffer.from(await file.arrayBuffer()) - const command = new PutObjectCommand({ - Bucket: runtimeConfig.BUCKET_R2_NAME, - Key: file.name, - Body: buffer, + const response = await awsClient.fetch(`${runtimeConfig.BUCKET_R2_ENDPOINT}/${path}`, { + method: 'POST', + headers: { + 'Content-Type': file.type, + }, + body: buffer, }) - const response = await s3Client.send(command) - return response } - -export const getSignedUrlForS3 = async (event: H3Event, s3Client: S3Client, file: File) => { - const runtimeConfig = useRuntimeConfig(event) - - const command = new PutObjectCommand({ - Bucket: runtimeConfig.BUCKET_R2_NAME, - Key: file.name, - }) - - const signedUrl = await getSignedUrl(s3Client, command, { expiresIn: 3600 }) - - return signedUrl -} diff --git a/wrangler.toml b/wrangler.toml new file mode 100644 index 0000000..e69de29