From 340f9c56ad735062360f281b62aaabd5b4dd1e5a Mon Sep 17 00:00:00 2001 From: Arnaud Date: Fri, 30 Aug 2024 17:26:27 +0200 Subject: [PATCH] Update dependencies and set Sentry --- README.md | 38 - package-lock.json | 824 ++++++++++-------- package.json | 7 +- src/CodexUrllSettings/CodexUrlSettings.tsx | 2 +- src/components/CardNumbers/CardNumbers.tsx | 2 +- .../CustomStateCellRender.tsx | 2 +- src/components/Debug/Debug.tsx | 2 +- src/components/Dialog/Dialog.tsx | 2 +- .../ErrorBoundary/ErrorBoundary.tsx | 13 +- src/components/FileCellRender/FIleCell.tsx | 2 +- src/components/Files/CidCopyButton.tsx | 2 +- src/components/Files/FileDetails.tsx | 4 +- src/components/Files/Files.tsx | 2 +- .../HttpNetworkIndicator.tsx | 2 +- src/components/LogLevel/LogLevel.tsx | 12 +- .../NodeIndicator/NodeIndicator.tsx | 21 +- .../NodeSpaceAllocation.tsx | 3 +- .../StorageRequestAvailability.tsx | 2 +- .../StorageRequestDone.tsx | 2 +- .../StorageRequestDurability.tsx | 2 +- .../StorageRequestFileChooser.tsx | 2 +- .../StorageRequestPrice.tsx | 2 +- .../StorageRequestReview.tsx | 2 +- .../StorageRequestStepper.tsx | 12 +- src/components/Welcome/Welcome.tsx | 2 +- src/hooks/useData.tsx | 3 +- src/main.tsx | 20 +- src/routes/dashboard.tsx | 2 +- src/routes/dashboard/about.tsx | 4 +- src/routes/dashboard/availabilities.tsx | 2 +- src/routes/dashboard/help.tsx | 2 +- src/routes/dashboard/index.tsx | 2 +- src/routes/dashboard/purchases.tsx | 15 +- src/sdk/codex.ts | 2 +- src/utils/promises.ts | 11 +- 35 files changed, 567 insertions(+), 462 deletions(-) diff --git a/README.md b/README.md index 64031c0..c1e0ecc 100644 --- a/README.md +++ b/README.md @@ -20,44 +20,6 @@ npm install ## Run -### Links - -In order to run the UI, you need link some internal dependencies because it is not published yet< > - -#### Codex SDK - -Clone the [Codex SDK](https://github.com/codex-storage/codex-js). - -Follow the instructions to install and build the SDK, then run this command in the SDK repository: - -``` -npm link -``` - -Now in the current repository, you'll we able to link your local SDK build by running: - -``` -npm link @codex/sdk-js -``` - -#### Codex Marketplace Components - -Clone the [Codex SDK](https://github.com/codex-storage/codex-marketplace-ui-components). - -Follow the instructions to install and build the SDK, then run this command in the SDK repository: - -``` -npm link -``` - -Now in the current repository, you'll we able to link your local SDK build by running: - -``` -npm link @codex/marketplace-ui-components -``` - -#### Codex SDK - ``` npm run dev ``` diff --git a/package-lock.json b/package-lock.json index 233e265..880a98d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,17 @@ { - "name": "@codex/marketplace-ui", + "name": "@codex-storage/marketplace-ui", "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "@codex/marketplace-ui", + "name": "@codex-storage/marketplace-ui", "version": "0.0.0", "license": "MIT", "dependencies": { - "@codex/marketplace-ui-components": "@codex/marketplace-ui-components#master", - "@codex/sdk-js": "@codex/marketplace-ui#master", + "@codex-storage/marketplace-ui-components": "0.0.1", + "@codex-storage/sdk-js": "0.0.1", + "@sentry/react": "^8.27.0", "@tanstack/react-query": "^5.51.15", "@tanstack/react-router": "^1.45.7", "classnames": "^2.5.1", @@ -39,8 +40,6 @@ "node": ">=18" } }, - "@codex/marketplace-ui": {}, - "@codex/marketplace-ui-components": {}, "node_modules/@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", @@ -68,30 +67,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.9.tgz", - "integrity": "sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz", - "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.9", - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-module-transforms": "^7.24.9", - "@babel/helpers": "^7.24.8", - "@babel/parser": "^7.24.8", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.9", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -106,22 +105,13 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/generator": { - "version": "7.24.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.10.tgz", - "integrity": "sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", "dev": true, "dependencies": { - "@babel/types": "^7.24.9", + "@babel/types": "^7.25.6", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -131,12 +121,12 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", - "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.24.8", + "@babel/compat-data": "^7.25.2", "@babel/helper-validator-option": "^7.24.8", "browserslist": "^4.23.1", "lru-cache": "^5.1.1", @@ -146,52 +136,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", - "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", - "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", - "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-imports": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", @@ -206,16 +150,15 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.24.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz", - "integrity": "sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-module-imports": "^7.24.7", "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -246,18 +189,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-string-parser": { "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", @@ -286,13 +217,13 @@ } }, "node_modules/@babel/helpers": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz", - "integrity": "sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", "dev": true, "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.8" + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" }, "engines": { "node": ">=6.9.0" @@ -314,10 +245,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", - "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", "dev": true, + "dependencies": { + "@babel/types": "^7.25.6" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -341,12 +275,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", - "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz", + "integrity": "sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -386,33 +320,30 @@ } }, "node_modules/@babel/template": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", - "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", "dev": true, "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz", - "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.8", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.8", - "@babel/types": "^7.24.8", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -421,9 +352,9 @@ } }, "node_modules/@babel/types": { - "version": "7.24.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.9.tgz", - "integrity": "sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.24.8", @@ -434,13 +365,41 @@ "node": ">=6.9.0" } }, - "node_modules/@codex/marketplace-ui-components": { - "resolved": "@codex/marketplace-ui-components", - "link": true + "node_modules/@codex-storage/marketplace-ui-components": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@codex-storage/marketplace-ui-components/-/marketplace-ui-components-0.0.1.tgz", + "integrity": "sha512-w7xeVRV1wqHSTLOnJLUorgBRPtaeo9DCLX5diJaE0HOFI3S8EFeS0xxVbpw/dWKPIQSawYIrR16v+/BMkQd2uw==", + "dependencies": { + "lucide-react": "^0.428.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@codex-storage/sdk-js": "0.0.1", + "@tanstack/react-query": "^5.51.24", + "react": "^18.3.1", + "react-dom": "^18.3.1" + } }, - "node_modules/@codex/sdk-js": { - "resolved": "@codex/marketplace-ui", - "link": true + "node_modules/@codex-storage/marketplace-ui-components/node_modules/lucide-react": { + "version": "0.428.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.428.0.tgz", + "integrity": "sha512-rGrzslfEcgqwh+TLBC5qJ8wvVIXhLvAIXVFKNHndYyb1utSxxn9rXOC+1CNJLi6yNOooyPqIs6+3YCp6uSiEvg==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc" + } + }, + "node_modules/@codex-storage/sdk-js": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@codex-storage/sdk-js/-/sdk-js-0.0.1.tgz", + "integrity": "sha512-Zhc7sBXjNKSEjRkqfSy9NG9r5gCulKiGpDZ8t19INVPJpn0VWhjqMSQLDYcCWdxkeBz/EJPS3+ktJ5kCieeeAQ==", + "dependencies": { + "valibot": "^0.36.0" + }, + "engines": { + "node": ">=20" + } }, "node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", @@ -1044,9 +1003,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.0.tgz", - "integrity": "sha512-JlPfZ/C7yn5S5p0yKk7uhHTTnFlvTgLetl2VxqE518QgyM7C9bSfFTYvB/Q/ftkq0RIPY4ySxTz+/wKJ/dXC0w==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.2.tgz", + "integrity": "sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==", "cpu": [ "arm" ], @@ -1057,9 +1016,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.0.tgz", - "integrity": "sha512-RDxUSY8D1tWYfn00DDi5myxKgOk6RvWPxhmWexcICt/MEC6yEMr4HNCu1sXXYLw8iAsg0D44NuU+qNq7zVWCrw==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.2.tgz", + "integrity": "sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==", "cpu": [ "arm64" ], @@ -1070,9 +1029,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.0.tgz", - "integrity": "sha512-emvKHL4B15x6nlNTBMtIaC9tLPRpeA5jMvRLXVbl/W9Ie7HhkrE7KQjvgS9uxgatL1HmHWDXk5TTS4IaNJxbAA==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.2.tgz", + "integrity": "sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==", "cpu": [ "arm64" ], @@ -1083,9 +1042,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.0.tgz", - "integrity": "sha512-fO28cWA1dC57qCd+D0rfLC4VPbh6EOJXrreBmFLWPGI9dpMlER2YwSPZzSGfq11XgcEpPukPTfEVFtw2q2nYJg==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.2.tgz", + "integrity": "sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==", "cpu": [ "x64" ], @@ -1096,9 +1055,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.0.tgz", - "integrity": "sha512-2Rn36Ubxdv32NUcfm0wB1tgKqkQuft00PtM23VqLuCUR4N5jcNWDoV5iBC9jeGdgS38WK66ElncprqgMUOyomw==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.2.tgz", + "integrity": "sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==", "cpu": [ "arm" ], @@ -1109,9 +1068,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.0.tgz", - "integrity": "sha512-gJuzIVdq/X1ZA2bHeCGCISe0VWqCoNT8BvkQ+BfsixXwTOndhtLUpOg0A1Fcx/+eA6ei6rMBzlOz4JzmiDw7JQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.2.tgz", + "integrity": "sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==", "cpu": [ "arm" ], @@ -1122,9 +1081,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.0.tgz", - "integrity": "sha512-0EkX2HYPkSADo9cfeGFoQ7R0/wTKb7q6DdwI4Yn/ULFE1wuRRCHybxpl2goQrx4c/yzK3I8OlgtBu4xvted0ug==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.2.tgz", + "integrity": "sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==", "cpu": [ "arm64" ], @@ -1135,9 +1094,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.0.tgz", - "integrity": "sha512-GlIQRj9px52ISomIOEUq/IojLZqzkvRpdP3cLgIE1wUWaiU5Takwlzpz002q0Nxxr1y2ZgxC2obWxjr13lvxNQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.2.tgz", + "integrity": "sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==", "cpu": [ "arm64" ], @@ -1148,9 +1107,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.0.tgz", - "integrity": "sha512-N6cFJzssruDLUOKfEKeovCKiHcdwVYOT1Hs6dovDQ61+Y9n3Ek4zXvtghPPelt6U0AH4aDGnDLb83uiJMkWYzQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.2.tgz", + "integrity": "sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==", "cpu": [ "ppc64" ], @@ -1161,9 +1120,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.0.tgz", - "integrity": "sha512-2DnD3mkS2uuam/alF+I7M84koGwvn3ZVD7uG+LEWpyzo/bq8+kKnus2EVCkcvh6PlNB8QPNFOz6fWd5N8o1CYg==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.2.tgz", + "integrity": "sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==", "cpu": [ "riscv64" ], @@ -1174,9 +1133,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.0.tgz", - "integrity": "sha512-D6pkaF7OpE7lzlTOFCB2m3Ngzu2ykw40Nka9WmKGUOTS3xcIieHe82slQlNq69sVB04ch73thKYIWz/Ian8DUA==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.2.tgz", + "integrity": "sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==", "cpu": [ "s390x" ], @@ -1187,9 +1146,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.0.tgz", - "integrity": "sha512-HBndjQLP8OsdJNSxpNIN0einbDmRFg9+UQeZV1eiYupIRuZsDEoeGU43NQsS34Pp166DtwQOnpcbV/zQxM+rWA==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.2.tgz", + "integrity": "sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==", "cpu": [ "x64" ], @@ -1200,9 +1159,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.0.tgz", - "integrity": "sha512-HxfbvfCKJe/RMYJJn0a12eiOI9OOtAUF4G6ozrFUK95BNyoJaSiBjIOHjZskTUffUrB84IPKkFG9H9nEvJGW6A==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.2.tgz", + "integrity": "sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==", "cpu": [ "x64" ], @@ -1213,9 +1172,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.0.tgz", - "integrity": "sha512-HxDMKIhmcguGTiP5TsLNolwBUK3nGGUEoV/BO9ldUBoMLBssvh4J0X8pf11i1fTV7WShWItB1bKAKjX4RQeYmg==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.2.tgz", + "integrity": "sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==", "cpu": [ "arm64" ], @@ -1226,9 +1185,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.0.tgz", - "integrity": "sha512-xItlIAZZaiG/u0wooGzRsx11rokP4qyc/79LkAOdznGRAbOFc+SfEdfUOszG1odsHNgwippUJavag/+W/Etc6Q==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.2.tgz", + "integrity": "sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==", "cpu": [ "ia32" ], @@ -1239,9 +1198,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.0.tgz", - "integrity": "sha512-xNo5fV5ycvCCKqiZcpB65VMR11NJB+StnxHz20jdqRAktfdfzhgjTiJ2doTDQE/7dqGaV5I7ZGqKpgph6lCIag==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.2.tgz", + "integrity": "sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==", "cpu": [ "x64" ], @@ -1251,10 +1210,130 @@ "win32" ] }, + "node_modules/@sentry-internal/browser-utils": { + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.27.0.tgz", + "integrity": "sha512-YTIwQ1GM1NTRXgN4DvpFSQ2x4pjlqQ0FQAyHW5x2ZYv4z7VmqG4Xkid1P/srQUipECk6nxkebfD4WR19nLsvnQ==", + "dependencies": { + "@sentry/core": "8.27.0", + "@sentry/types": "8.27.0", + "@sentry/utils": "8.27.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry-internal/feedback": { + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.27.0.tgz", + "integrity": "sha512-b71PQc9aK1X9b/SO1DiJlrnAEx4n0MzPZQ/tKd9oRWDyGit6pJWZfQns9r2rvc96kJPMOTxFAa/upXRCkA723A==", + "dependencies": { + "@sentry/core": "8.27.0", + "@sentry/types": "8.27.0", + "@sentry/utils": "8.27.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry-internal/replay": { + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.27.0.tgz", + "integrity": "sha512-Ofucncaon98dvlxte2L//hwuG9yILSxNrTz/PmO0k+HzB9q+oBic4667QF+azWR2qv4oKSWpc+vEovP3hVqveA==", + "dependencies": { + "@sentry-internal/browser-utils": "8.27.0", + "@sentry/core": "8.27.0", + "@sentry/types": "8.27.0", + "@sentry/utils": "8.27.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry-internal/replay-canvas": { + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.27.0.tgz", + "integrity": "sha512-uuEfiWbjwugB9M4KxXxovHYiKRqg/R6U4EF8xM/Ub4laUuEcWsfRp7lQ3MxL3qYojbca8ncIFic2bIoKMPeejA==", + "dependencies": { + "@sentry-internal/replay": "8.27.0", + "@sentry/core": "8.27.0", + "@sentry/types": "8.27.0", + "@sentry/utils": "8.27.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry/browser": { + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.27.0.tgz", + "integrity": "sha512-eL1eaHwoYUGkp4mpeYesH6WtCrm+0u9jYCW5Lm0MAeTmpx22BZKEmj0OljuUJXGnJwFbvPDlRjyz6QG11m8kZA==", + "dependencies": { + "@sentry-internal/browser-utils": "8.27.0", + "@sentry-internal/feedback": "8.27.0", + "@sentry-internal/replay": "8.27.0", + "@sentry-internal/replay-canvas": "8.27.0", + "@sentry/core": "8.27.0", + "@sentry/types": "8.27.0", + "@sentry/utils": "8.27.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry/core": { + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.27.0.tgz", + "integrity": "sha512-4frlXluHT3Du+Omw91K04jpvbfMtydvg4Bxj2+gt/DT19Swhm/fbEpzdUjgbAd3Jinj/n0qk/jFRXjr9JZKFjg==", + "dependencies": { + "@sentry/types": "8.27.0", + "@sentry/utils": "8.27.0" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry/react": { + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@sentry/react/-/react-8.27.0.tgz", + "integrity": "sha512-8pD+J9UVnSGmPnm5dHJup5OVsHTN/pL4Ozi01yyrpivLkQiMZNac3OXsc0C7zXnztfLQx0kmTyCOzbRROfbpnA==", + "dependencies": { + "@sentry/browser": "8.27.0", + "@sentry/core": "8.27.0", + "@sentry/types": "8.27.0", + "@sentry/utils": "8.27.0", + "hoist-non-react-statics": "^3.3.2" + }, + "engines": { + "node": ">=14.18" + }, + "peerDependencies": { + "react": "^16.14.0 || 17.x || 18.x || 19.x" + } + }, + "node_modules/@sentry/types": { + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.27.0.tgz", + "integrity": "sha512-B6lrP46+m2x0lfqWc9F4VcUbN893mVGnPEd7KIMRk95mPzkFJ3sNxggTQF5/ZfNO7lDQYQb22uysB5sj/BqFiw==", + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@sentry/utils": { + "version": "8.27.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.27.0.tgz", + "integrity": "sha512-gyJM3SyLQe0A3mkQVVNdKYvk3ZoikkYgyA/D+5StFNLKdyUgEbJgXOGXrQSSYPF7BSX6Sc5b0KHCglPII0KuKw==", + "dependencies": { + "@sentry/types": "8.27.0" + }, + "engines": { + "node": ">=14.18" + } + }, "node_modules/@tanstack/history": { - "version": "1.45.3", - "resolved": "https://registry.npmjs.org/@tanstack/history/-/history-1.45.3.tgz", - "integrity": "sha512-n4XXInV9irIq0obRvINIkESkGk280Q+xkIIbswmM0z9nAu2wsIRZNvlmPrtYh6bgNWtItOWWoihFUjLTW8g6Jg==", + "version": "1.51.6", + "resolved": "https://registry.npmjs.org/@tanstack/history/-/history-1.51.6.tgz", + "integrity": "sha512-qx6HpTSDI8X6fQauiaAIHmCAEfK2m0nkED6A3WoLs0AUcnDhFiAlJ/0KGJjYnjWtiLL35LAVsHqL9ofpsm9yHA==", "engines": { "node": ">=12" }, @@ -1264,36 +1343,36 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.51.15", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.51.15.tgz", - "integrity": "sha512-xyobHDJ0yhPE3+UkSQ2/4X1fLSg7ICJI5J1JyU9yf7F3deQfEwSImCDrB1WSRrauJkMtXW7YIEcC0oA6ZZWt5A==", + "version": "5.53.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.53.1.tgz", + "integrity": "sha512-mvLG7s4Zy3Yvc2LsKm8BVafbmPrsReKgqwhmp4XKVmRW9us3KbWRqu3qBBfhVavcUUEHfNK7PvpTchvQpVdFpw==", "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" } }, "node_modules/@tanstack/react-query": { - "version": "5.51.15", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.51.15.tgz", - "integrity": "sha512-UgFg23SrdIYrmfTSxAUn9g+J64VQy11pb9/EefoY/u2+zWuNMeqEOnvpJhf52XQy0yztQoyM9p6x8PFyTNaxXg==", + "version": "5.53.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.53.1.tgz", + "integrity": "sha512-35HU4836Ey1/W74BxmS8p9KHXcDRGPdkw6w3VX0Tc5S9v5acFl80oi/yc6nsmoLhu68wQkWMyX0h7y7cOtY5OA==", "dependencies": { - "@tanstack/query-core": "5.51.15" + "@tanstack/query-core": "5.53.1" }, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "react": "^18.0.0" + "react": "^18 || ^19" } }, "node_modules/@tanstack/react-router": { - "version": "1.45.7", - "resolved": "https://registry.npmjs.org/@tanstack/react-router/-/react-router-1.45.7.tgz", - "integrity": "sha512-5PmjvK6uqSKdLQh3oI0qeuFblu8a+cRTsXCou/o2ykqFaU7nxHQxw505PFypkKA47Qumtc9tDwzqbCHXGd6tKg==", + "version": "1.51.6", + "resolved": "https://registry.npmjs.org/@tanstack/react-router/-/react-router-1.51.6.tgz", + "integrity": "sha512-Z/y8RD50vxZUnsKHJ1VP6U9fKRKwDBmJcM8eHsIbhM7fbhK2mKvYZsSWZNsNWxRT+nnzEXCF+6tU7FIq0EGhBg==", "dependencies": { - "@tanstack/history": "1.45.3", - "@tanstack/react-store": "^0.5.4", + "@tanstack/history": "1.51.6", + "@tanstack/react-store": "^0.5.5", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" }, @@ -1327,9 +1406,9 @@ } }, "node_modules/@tanstack/router-devtools": { - "version": "1.45.7", - "resolved": "https://registry.npmjs.org/@tanstack/router-devtools/-/router-devtools-1.45.7.tgz", - "integrity": "sha512-PTQFXIkKkVhDrxUKHHtcEG7GcEG+WHQs4IezzszJXRzLRqEKw04roS1hgJNZVceRKyL4YfyVpM0ffMMX58Hl7A==", + "version": "1.51.6", + "resolved": "https://registry.npmjs.org/@tanstack/router-devtools/-/router-devtools-1.51.6.tgz", + "integrity": "sha512-YWE5lpnkXqM1t8846rwOu1OpfUwO1uayvUgTCeAmlDX0OpBWVFupHjlRP0GZ3HMZpzPGmYOwqbd+QorWraYMMQ==", "dev": true, "dependencies": { "clsx": "^2.1.1", @@ -1343,15 +1422,15 @@ "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "@tanstack/react-router": "^1.45.7", + "@tanstack/react-router": "^1.51.6", "react": ">=18", "react-dom": ">=18" } }, "node_modules/@tanstack/router-generator": { - "version": "1.45.7", - "resolved": "https://registry.npmjs.org/@tanstack/router-generator/-/router-generator-1.45.7.tgz", - "integrity": "sha512-5B756YXpZO0/yr7ahsxXoBOCpqroLx/D3l6X9qPlZaP0FVHVmTR6ZKGRX6zzuAxns/VO+sxnQso4AYLdDyZ9GA==", + "version": "1.51.6", + "resolved": "https://registry.npmjs.org/@tanstack/router-generator/-/router-generator-1.51.6.tgz", + "integrity": "sha512-iAzan/Z5pF/CAX1g6Ouc4QixRK77nlvSJECqeqzpYMkAzz07m2IybVN/piQzw4Vje0UMKfkO3GgBAHc1CG18vg==", "dev": true, "dependencies": { "prettier": "^3.3.3", @@ -1366,27 +1445,27 @@ } }, "node_modules/@tanstack/router-plugin": { - "version": "1.45.7", - "resolved": "https://registry.npmjs.org/@tanstack/router-plugin/-/router-plugin-1.45.7.tgz", - "integrity": "sha512-6nfils2t24phZPh2aj5gpnhka8prlSuMDmpPbvEHgyfXo7wQH7bljWKFj5+IsruAQVqJE79WIJGQiXQcM4lvNw==", + "version": "1.51.6", + "resolved": "https://registry.npmjs.org/@tanstack/router-plugin/-/router-plugin-1.51.6.tgz", + "integrity": "sha512-wKtgsofslYDm4WCy9x7Fwm91Qtkznwvf1lAWvhO3115J6J3RXssf5Df28gW6HVeNxVLlK3yn32DBp6pIO24A/A==", "dev": true, "dependencies": { - "@babel/core": "^7.24.8", - "@babel/generator": "^7.24.8", - "@babel/parser": "^7.24.8", + "@babel/core": "^7.25.2", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", "@babel/plugin-syntax-jsx": "^7.24.7", "@babel/plugin-syntax-typescript": "^7.24.7", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.8", - "@tanstack/router-generator": "^1.45.7", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.3", + "@babel/types": "^7.25.2", + "@tanstack/router-generator": "^1.51.6", "@types/babel__core": "^7.20.5", "@types/babel__generator": "^7.6.8", "@types/babel__template": "^7.4.4", "@types/babel__traverse": "^7.20.6", "babel-dead-code-elimination": "^1.0.6", "chokidar": "^3.6.0", - "unplugin": "^1.11.0", + "unplugin": "^1.12.2", "zod": "^3.23.8" }, "engines": { @@ -1397,8 +1476,8 @@ "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "@rsbuild/core": ">=0.7.9", - "vite": ">=5.0.13", + "@rsbuild/core": ">=1.0.0", + "vite": ">=5.0.0", "webpack": ">=5.92.0" }, "peerDependenciesMeta": { @@ -1476,9 +1555,9 @@ "dev": true }, "node_modules/@types/react": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", - "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz", + "integrity": "sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==", "dev": true, "dependencies": { "@types/prop-types": "*", @@ -1495,16 +1574,16 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.1.tgz", - "integrity": "sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", + "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.16.1", - "@typescript-eslint/type-utils": "7.16.1", - "@typescript-eslint/utils": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1528,15 +1607,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.16.1.tgz", - "integrity": "sha512-u+1Qx86jfGQ5i4JjK33/FnawZRpsLxRnKzGE6EABZ40KxVT/vWsiZFEBBHjFOljmmV3MBYOHEKi0Jm9hbAOClA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.16.1", - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/typescript-estree": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4" }, "engines": { @@ -1556,13 +1635,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz", - "integrity": "sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1" + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1573,13 +1652,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.1.tgz", - "integrity": "sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", + "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.16.1", - "@typescript-eslint/utils": "7.16.1", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -1600,9 +1679,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz", - "integrity": "sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1613,13 +1692,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz", - "integrity": "sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1640,16 +1719,28 @@ } } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/utils": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.1.tgz", - "integrity": "sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.16.1", - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/typescript-estree": "7.16.1" + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1663,12 +1754,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz", - "integrity": "sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/types": "7.18.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -1842,9 +1933,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", - "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -1861,9 +1952,9 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001640", - "electron-to-chromium": "^1.4.820", - "node-releases": "^2.0.14", + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.0" }, "bin": { @@ -1883,9 +1974,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001643", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz", - "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==", + "version": "1.0.30001655", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz", + "integrity": "sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==", "dev": true, "funding": [ { @@ -1940,18 +2031,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/classnames": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", @@ -2014,9 +2093,9 @@ "dev": true }, "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -2061,9 +2140,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.832", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.832.tgz", - "integrity": "sha512-cTen3SB0H2SGU7x467NRe1eVcQgcuS6jckKfWJHia2eo0cHIGOqHoAxevIYZD4eRHcWjkvFzo93bi3vJ9W+1lA==", + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", "dev": true }, "node_modules/esbuild": { @@ -2105,9 +2184,9 @@ } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "engines": { "node": ">=6" @@ -2190,9 +2269,9 @@ } }, "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.9", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.9.tgz", - "integrity": "sha512-QK49YrBAo5CLNLseZ7sZgvgTy21E6NEw22eZqc4teZfH8pxV3yXc9XXOYfUI6JNpw7mfHNkAeWtBxrTyykB6HA==", + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.11.tgz", + "integrity": "sha512-wrAKxMbVr8qhXTtIKfXqAn5SAtRZt0aXxe5P23Fh4pUAdC6XEsybGLB8P0PI4j1yYqOgUEUlzKAGDfo7rJOjcw==", "dev": true, "peerDependencies": { "eslint": ">=7" @@ -2297,6 +2376,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/eslint/node_modules/globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", @@ -2426,18 +2517,6 @@ "node": ">=8.6.0" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -2570,15 +2649,15 @@ } }, "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "dependencies": { - "is-glob": "^4.0.3" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=10.13.0" + "node": ">= 6" } }, "node_modules/glob/node_modules/brace-expansion": { @@ -2656,15 +2735,23 @@ "node": ">=4" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, "node_modules/idb-keyval": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.1.tgz", "integrity": "sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==" }, "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "engines": { "node": ">= 4" @@ -2909,9 +2996,9 @@ } }, "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "dependencies": { "braces": "^3.0.3", @@ -3115,9 +3202,9 @@ } }, "node_modules/postcss": { - "version": "8.4.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", - "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", "dev": true, "funding": [ { @@ -3232,6 +3319,11 @@ "react": "^18.3.1" } }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, "node_modules/react-refresh": { "version": "0.14.2", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", @@ -3289,9 +3381,9 @@ } }, "node_modules/rollup": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.0.tgz", - "integrity": "sha512-5r7EYSQIowHsK4eTZ0Y81qpZuJz+MUuYeqmmYmRMl1nwhdmbiYqt5jwzf6u7wyOzJgYqtCRMtVRKOtHANBz7rA==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.2.tgz", + "integrity": "sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==", "dev": true, "dependencies": { "@types/estree": "1.0.5" @@ -3304,22 +3396,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.19.0", - "@rollup/rollup-android-arm64": "4.19.0", - "@rollup/rollup-darwin-arm64": "4.19.0", - "@rollup/rollup-darwin-x64": "4.19.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.19.0", - "@rollup/rollup-linux-arm-musleabihf": "4.19.0", - "@rollup/rollup-linux-arm64-gnu": "4.19.0", - "@rollup/rollup-linux-arm64-musl": "4.19.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.19.0", - "@rollup/rollup-linux-riscv64-gnu": "4.19.0", - "@rollup/rollup-linux-s390x-gnu": "4.19.0", - "@rollup/rollup-linux-x64-gnu": "4.19.0", - "@rollup/rollup-linux-x64-musl": "4.19.0", - "@rollup/rollup-win32-arm64-msvc": "4.19.0", - "@rollup/rollup-win32-ia32-msvc": "4.19.0", - "@rollup/rollup-win32-x64-msvc": "4.19.0", + "@rollup/rollup-android-arm-eabi": "4.21.2", + "@rollup/rollup-android-arm64": "4.21.2", + "@rollup/rollup-darwin-arm64": "4.21.2", + "@rollup/rollup-darwin-x64": "4.21.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.2", + "@rollup/rollup-linux-arm-musleabihf": "4.21.2", + "@rollup/rollup-linux-arm64-gnu": "4.21.2", + "@rollup/rollup-linux-arm64-musl": "4.21.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.2", + "@rollup/rollup-linux-riscv64-gnu": "4.21.2", + "@rollup/rollup-linux-s390x-gnu": "4.21.2", + "@rollup/rollup-linux-x64-gnu": "4.21.2", + "@rollup/rollup-linux-x64-musl": "4.21.2", + "@rollup/rollup-win32-arm64-msvc": "4.21.2", + "@rollup/rollup-win32-ia32-msvc": "4.21.2", + "@rollup/rollup-win32-x64-msvc": "4.21.2", "fsevents": "~2.3.2" } }, @@ -3355,15 +3447,12 @@ } }, "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" } }, "node_modules/shebang-command": { @@ -3515,9 +3604,9 @@ } }, "node_modules/typescript": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", - "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -3528,15 +3617,15 @@ } }, "node_modules/unplugin": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.11.0.tgz", - "integrity": "sha512-3r7VWZ/webh0SGgJScpWl2/MRCZK5d3ZYFcNaeci/GQ7Teop7zf0Nl2pUuz7G21BwPd9pcUPOC5KmJ2L3WgC5g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.12.2.tgz", + "integrity": "sha512-bEqQxeC7rxtxPZ3M5V4Djcc4lQqKPgGe3mAWZvxcSmX5jhGxll19NliaRzQSQPrk4xJZSGniK3puLWpRuZN7VQ==", "dev": true, "dependencies": { - "acorn": "^8.11.3", + "acorn": "^8.12.1", "chokidar": "^3.6.0", "webpack-sources": "^3.2.3", - "webpack-virtual-modules": "^0.6.1" + "webpack-virtual-modules": "^0.6.2" }, "engines": { "node": ">=14.0.0" @@ -3589,15 +3678,20 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/valibot": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/valibot/-/valibot-0.36.0.tgz", + "integrity": "sha512-CjF1XN4sUce8sBK9TixrDqFM7RwNkuXdJu174/AwmQUB62QbCQADg5lLe8ldBalFgtj1uKj+pKwDJiNo4Mn+eQ==" + }, "node_modules/vite": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.4.tgz", - "integrity": "sha512-Cw+7zL3ZG9/NZBB8C+8QbQZmR54GwqIz+WMI4b3JgdYJvX+ny9AjJXqkGQlDXSXRP9rP0B4tbciRMOVEKulVOA==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.2.tgz", + "integrity": "sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==", "dev": true, "dependencies": { "esbuild": "^0.21.3", - "postcss": "^8.4.39", - "rollup": "^4.13.0" + "postcss": "^8.4.41", + "rollup": "^4.20.0" }, "bin": { "vite": "bin/vite.js" @@ -3616,6 +3710,7 @@ "less": "*", "lightningcss": "^1.21.0", "sass": "*", + "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.4.0" @@ -3633,6 +3728,9 @@ "sass": { "optional": true }, + "sass-embedded": { + "optional": true + }, "stylus": { "optional": true }, diff --git a/package.json b/package.json index 46f838d..4f63d23 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "@codex/marketplace-ui", + "name": "@codex-storage/marketplace-ui", "description": "Marketplace UI for Codex decentralized storage network.", "repository": { "type": "git", @@ -22,8 +22,9 @@ "React" ], "dependencies": { - "@codex/marketplace-ui-components": "@codex/marketplace-ui-components#master", - "@codex/sdk-js": "@codex/marketplace-ui#master", + "@codex-storage/marketplace-ui-components": "0.0.1", + "@codex-storage/sdk-js": "0.0.1", + "@sentry/react": "^8.27.0", "@tanstack/react-query": "^5.51.15", "@tanstack/react-router": "^1.45.7", "classnames": "^2.5.1", diff --git a/src/CodexUrllSettings/CodexUrlSettings.tsx b/src/CodexUrllSettings/CodexUrlSettings.tsx index 99f6766..93de247 100644 --- a/src/CodexUrllSettings/CodexUrlSettings.tsx +++ b/src/CodexUrllSettings/CodexUrlSettings.tsx @@ -1,6 +1,6 @@ import { useQueryClient } from "@tanstack/react-query"; import { useEffect, useState } from "react"; -import { Button, Input, Toast } from "@codex/marketplace-ui-components"; +import { Button, Input, Toast } from "@codex-storage/marketplace-ui-components"; import { CodexSdk } from "../sdk/codex"; export function CodexUrlSettings() { diff --git a/src/components/CardNumbers/CardNumbers.tsx b/src/components/CardNumbers/CardNumbers.tsx index 0fff4c7..05d69b4 100644 --- a/src/components/CardNumbers/CardNumbers.tsx +++ b/src/components/CardNumbers/CardNumbers.tsx @@ -1,4 +1,4 @@ -import { ButtonIcon, Input, Tooltip } from "@codex/marketplace-ui-components"; +import { ButtonIcon, Input, Tooltip } from "@codex-storage/marketplace-ui-components"; import "./CardNumbers.css"; import { Check, Info, Pencil, ShieldAlert } from "lucide-react"; import { ChangeEvent, useEffect, useState } from "react"; diff --git a/src/components/CustomStateCellRender/CustomStateCellRender.tsx b/src/components/CustomStateCellRender/CustomStateCellRender.tsx index ab68992..3cfdaee 100644 --- a/src/components/CustomStateCellRender/CustomStateCellRender.tsx +++ b/src/components/CustomStateCellRender/CustomStateCellRender.tsx @@ -1,6 +1,6 @@ import { CheckCircle, CircleDashed, ShieldAlert } from "lucide-react"; import "./CustomStateCellRender.css"; -import { StateCell, Tooltip } from "@codex/marketplace-ui-components"; +import { StateCell, Tooltip } from "@codex-storage/marketplace-ui-components"; // Import css StateCell; diff --git a/src/components/Debug/Debug.tsx b/src/components/Debug/Debug.tsx index 881e8f7..742bc08 100644 --- a/src/components/Debug/Debug.tsx +++ b/src/components/Debug/Debug.tsx @@ -1,7 +1,7 @@ import { useQuery } from "@tanstack/react-query"; import Loader from "../../assets/loader.svg"; import { CodexSdk } from "../../sdk/codex"; -import { Card, Spinner } from "@codex/marketplace-ui-components"; +import { Card, Spinner } from "@codex-storage/marketplace-ui-components"; import { Promises } from "../../utils/promises"; export function Debug() { diff --git a/src/components/Dialog/Dialog.tsx b/src/components/Dialog/Dialog.tsx index 69f2c17..1b99e36 100644 --- a/src/components/Dialog/Dialog.tsx +++ b/src/components/Dialog/Dialog.tsx @@ -1,6 +1,6 @@ import { ReactNode, useEffect, useRef } from "react"; import "./Dialog.css"; -import { Button } from "@codex/marketplace-ui-components"; +import { Button } from "@codex-storage/marketplace-ui-components"; type Props = { open: boolean; diff --git a/src/components/ErrorBoundary/ErrorBoundary.tsx b/src/components/ErrorBoundary/ErrorBoundary.tsx index 2a9e71e..502c885 100644 --- a/src/components/ErrorBoundary/ErrorBoundary.tsx +++ b/src/components/ErrorBoundary/ErrorBoundary.tsx @@ -1,7 +1,8 @@ -import { Placeholder } from "@codex/marketplace-ui-components"; +import { Placeholder } from "@codex-storage/marketplace-ui-components"; import { CircleX } from "lucide-react"; import React, { ErrorInfo, ReactNode } from "react"; import "./ErrorBoundary.css"; +import * as Sentry from "@sentry/browser"; type State = { hasError: boolean; @@ -23,14 +24,8 @@ export class ErrorBoundary extends React.Component { } componentDidCatch(error: Error, info: ErrorInfo) { - // Example 'componentStack': - // in ComponentThatThrows (created by App) - // in ErrorBoundary (created by App) - // in div (created by App) - // in App - //logErrorToMyService(error, info.componentStack); - // TODO set Sentry here - console.error("Got error", error, info); + Sentry.captureException(error); + console.error(error, info); } render() { diff --git a/src/components/FileCellRender/FIleCell.tsx b/src/components/FileCellRender/FIleCell.tsx index 0717fc0..ff5190a 100644 --- a/src/components/FileCellRender/FIleCell.tsx +++ b/src/components/FileCellRender/FIleCell.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from "react"; -import { Tooltip, WebFileIcon } from "@codex/marketplace-ui-components"; +import { Tooltip, WebFileIcon } from "@codex-storage/marketplace-ui-components"; import "./FileCell.css"; import { FileMetadata, FilesStorage } from "../../utils/file-storage"; import { PurchaseStorage } from "../../utils/purchases-storage"; diff --git a/src/components/Files/CidCopyButton.tsx b/src/components/Files/CidCopyButton.tsx index d32a5b3..cee0c72 100644 --- a/src/components/Files/CidCopyButton.tsx +++ b/src/components/Files/CidCopyButton.tsx @@ -1,7 +1,7 @@ import { useRef, useState } from "react"; import { COPY_DURATION, ICON_SIZE } from "../../utils/constants.ts"; import { Copy } from "lucide-react"; -import { Button } from "@codex/marketplace-ui-components"; +import { Button } from "@codex-storage/marketplace-ui-components"; type CopyButtonProps = { cid: string; diff --git a/src/components/Files/FileDetails.tsx b/src/components/Files/FileDetails.tsx index 5fff66f..286ecd8 100644 --- a/src/components/Files/FileDetails.tsx +++ b/src/components/Files/FileDetails.tsx @@ -1,5 +1,5 @@ -import { ButtonIcon, Button } from "@codex/marketplace-ui-components"; -import { CodexDataContent } from "@codex/sdk-js"; +import { ButtonIcon, Button } from "@codex-storage/marketplace-ui-components"; +import { CodexDataContent } from "@codex-storage/sdk-js"; import { X, DownloadIcon } from "lucide-react"; import { attributes } from "../../utils/attributes"; import { PrettyBytes } from "../../utils/bytes"; diff --git a/src/components/Files/Files.tsx b/src/components/Files/Files.tsx index 371cdc8..993ecf1 100644 --- a/src/components/Files/Files.tsx +++ b/src/components/Files/Files.tsx @@ -8,7 +8,7 @@ import { ButtonIcon, EmptyPlaceholder, WebFileIcon, -} from "@codex/marketplace-ui-components"; +} from "@codex-storage/marketplace-ui-components"; import { FileDetails } from "./FileDetails.tsx"; import { classnames } from "../../utils/classnames.ts"; import { FavoriteStorage } from "../../utils/favorite-storage.tsx"; diff --git a/src/components/HttpNetworkIndicator/HttpNetworkIndicator.tsx b/src/components/HttpNetworkIndicator/HttpNetworkIndicator.tsx index 78e0883..f06a392 100644 --- a/src/components/HttpNetworkIndicator/HttpNetworkIndicator.tsx +++ b/src/components/HttpNetworkIndicator/HttpNetworkIndicator.tsx @@ -1,4 +1,4 @@ -import { NetworkIndicator } from "@codex/marketplace-ui-components"; +import { NetworkIndicator } from "@codex-storage/marketplace-ui-components"; import { useNetwork } from "../../network/useNetwork"; export function HttpNetworkIndicator() { diff --git a/src/components/LogLevel/LogLevel.tsx b/src/components/LogLevel/LogLevel.tsx index 44422cf..3ac5d12 100644 --- a/src/components/LogLevel/LogLevel.tsx +++ b/src/components/LogLevel/LogLevel.tsx @@ -1,10 +1,15 @@ -import { CodexLogLevel } from "@codex/sdk-js"; +import { CodexLogLevel } from "@codex-storage/sdk-js"; import { useMutation, useQueryClient } from "@tanstack/react-query"; import { useState } from "react"; import { CodexSdk } from "../../sdk/codex"; import "./LogLevel.css"; -import { Button, Select, Toast } from "@codex/marketplace-ui-components"; +import { + Button, + Select, + Toast, +} from "@codex-storage/marketplace-ui-components"; import { Promises } from "../../utils/promises"; +import * as Sentry from "@sentry/browser"; export function LogLevel() { const queryClient = useQueryClient(); @@ -24,7 +29,8 @@ export function LogLevel() { queryClient.invalidateQueries({ queryKey: ["debug"] }); }, onError: (error) => { - // TODO report to sentry + Sentry.captureException(error); + setToast({ message: "Error when trying to update: " + error, time: Date.now(), diff --git a/src/components/NodeIndicator/NodeIndicator.tsx b/src/components/NodeIndicator/NodeIndicator.tsx index 496de8c..7d25ef8 100644 --- a/src/components/NodeIndicator/NodeIndicator.tsx +++ b/src/components/NodeIndicator/NodeIndicator.tsx @@ -1,11 +1,14 @@ import { useQuery, useQueryClient } from "@tanstack/react-query"; import { useEffect, useState } from "react"; import { CodexSdk } from "../../sdk/codex"; -import { NetworkIndicator, Toast } from "@codex/marketplace-ui-components"; +import { + NetworkIndicator, + Toast, +} from "@codex-storage/marketplace-ui-components"; export function NodeIndicator() { const queryClient = useQueryClient(); - const [toast, setToast] = useState({ + const [toast] = useState({ time: 0, message: "", }); @@ -16,14 +19,12 @@ export function NodeIndicator() { CodexSdk.node() .then((node) => node.spr()) .then((data) => { - if (data.error) { - setToast({ - message: "Cannot connect to the Codex node.", - time: Date.now(), - }); - } - - // TODO sentry debug + // if (data.error) { + // setToast({ + // message: "Cannot connect to the Codex node.", + // time: Date.now(), + // }); + // } return data; }), diff --git a/src/components/NodeSpaceAllocation/NodeSpaceAllocation.tsx b/src/components/NodeSpaceAllocation/NodeSpaceAllocation.tsx index 519a893..da7cb62 100644 --- a/src/components/NodeSpaceAllocation/NodeSpaceAllocation.tsx +++ b/src/components/NodeSpaceAllocation/NodeSpaceAllocation.tsx @@ -1,7 +1,7 @@ import { useQuery } from "@tanstack/react-query"; import Loader from "../../assets/loader.svg"; import { CodexSdk } from "../../sdk/codex"; -import { SpaceAllocation } from "@codex/marketplace-ui-components"; +import { SpaceAllocation } from "@codex-storage/marketplace-ui-components"; export function NodeSpaceAllocation() { const { data: space, isPending } = useQuery({ @@ -15,7 +15,6 @@ export function NodeSpaceAllocation() { } if (space.error) { - // TODO Sentry return ""; } diff --git a/src/components/StorageRequestSetup/StorageRequestAvailability.tsx b/src/components/StorageRequestSetup/StorageRequestAvailability.tsx index f598419..c658d3d 100644 --- a/src/components/StorageRequestSetup/StorageRequestAvailability.tsx +++ b/src/components/StorageRequestSetup/StorageRequestAvailability.tsx @@ -2,7 +2,7 @@ import { ChangeEvent, useEffect, useRef, useState } from "react"; import "./StorageRequestAvailability.css"; import { WebStorage } from "../../utils/web-storage"; import { StorageAvailabilityUnit, StorageAvailabilityValue } from "./types"; -import { InputGroup } from "@codex/marketplace-ui-components"; +import { InputGroup } from "@codex-storage/marketplace-ui-components"; type Props = { onToggleNext: (next: boolean) => void; diff --git a/src/components/StorageRequestSetup/StorageRequestDone.tsx b/src/components/StorageRequestSetup/StorageRequestDone.tsx index 641463b..e52e66b 100644 --- a/src/components/StorageRequestSetup/StorageRequestDone.tsx +++ b/src/components/StorageRequestSetup/StorageRequestDone.tsx @@ -1,4 +1,4 @@ -import { Placeholder } from "@codex/marketplace-ui-components"; +import { Placeholder } from "@codex-storage/marketplace-ui-components"; import { CircleCheck } from "lucide-react"; import { useEffect } from "react"; import "./StorageRequestDone.css"; diff --git a/src/components/StorageRequestSetup/StorageRequestDurability.tsx b/src/components/StorageRequestSetup/StorageRequestDurability.tsx index 5ab5396..2696a61 100644 --- a/src/components/StorageRequestSetup/StorageRequestDurability.tsx +++ b/src/components/StorageRequestSetup/StorageRequestDurability.tsx @@ -1,7 +1,7 @@ import { ChangeEvent, useEffect, useRef, useState } from "react"; import { WebStorage } from "../../utils/web-storage"; import { StorageDurabilityStepValue } from "./types"; -import { InputGroup } from "@codex/marketplace-ui-components"; +import { InputGroup } from "@codex-storage/marketplace-ui-components"; type Props = { onToggleNext: (next: boolean) => void; diff --git a/src/components/StorageRequestSetup/StorageRequestFileChooser.tsx b/src/components/StorageRequestSetup/StorageRequestFileChooser.tsx index ae4e8b2..173a465 100644 --- a/src/components/StorageRequestSetup/StorageRequestFileChooser.tsx +++ b/src/components/StorageRequestSetup/StorageRequestFileChooser.tsx @@ -8,7 +8,7 @@ import { DropdownOption, Upload, WebFileIcon, -} from "@codex/marketplace-ui-components"; +} from "@codex-storage/marketplace-ui-components"; import { useData } from "../../hooks/useData"; type Props = { diff --git a/src/components/StorageRequestSetup/StorageRequestPrice.tsx b/src/components/StorageRequestSetup/StorageRequestPrice.tsx index 9fe13ac..13a3a25 100644 --- a/src/components/StorageRequestSetup/StorageRequestPrice.tsx +++ b/src/components/StorageRequestSetup/StorageRequestPrice.tsx @@ -1,7 +1,7 @@ import { useState, useRef, useEffect, ChangeEvent } from "react"; import { WebStorage } from "../../utils/web-storage"; import { StoragePriceStepValue } from "./types"; -import { InputGroup } from "@codex/marketplace-ui-components"; +import { InputGroup } from "@codex-storage/marketplace-ui-components"; type Props = { onToggleNext: (next: boolean) => void; diff --git a/src/components/StorageRequestSetup/StorageRequestReview.tsx b/src/components/StorageRequestSetup/StorageRequestReview.tsx index ff8ef37..b56d070 100644 --- a/src/components/StorageRequestSetup/StorageRequestReview.tsx +++ b/src/components/StorageRequestSetup/StorageRequestReview.tsx @@ -1,7 +1,7 @@ import { ChangeEvent, useEffect, useState } from "react"; import { WebStorage } from "../../utils/web-storage"; import "./StorageRequestReview.css"; -import { Alert } from "@codex/marketplace-ui-components"; +import { Alert } from "@codex-storage/marketplace-ui-components"; import { CardNumbers } from "../CardNumbers/CardNumbers"; import { Range } from "../Range/Range"; import { FileWarning } from "lucide-react"; diff --git a/src/components/StorageRequestSetup/StorageRequestStepper.tsx b/src/components/StorageRequestSetup/StorageRequestStepper.tsx index 2749c02..c07bed2 100644 --- a/src/components/StorageRequestSetup/StorageRequestStepper.tsx +++ b/src/components/StorageRequestSetup/StorageRequestStepper.tsx @@ -3,15 +3,20 @@ import { useCallback, useEffect, useRef, useState } from "react"; import { WebStorage } from "../../utils/web-storage"; import { STEPPER_DURATION } from "../../utils/constants"; import { StorageRequestReview } from "./StorageRequestReview"; -import { CodexCreateStorageRequestInput } from "@codex/sdk-js"; +import { CodexCreateStorageRequestInput } from "@codex-storage/sdk-js"; import { useMutation, useQueryClient } from "@tanstack/react-query"; import { CodexSdk } from "../../sdk/codex"; import { StorageAvailabilityUnit } from "./types"; -import { Backdrop, Stepper, Toast } from "@codex/marketplace-ui-components"; +import { + Backdrop, + Stepper, + Toast, +} from "@codex-storage/marketplace-ui-components"; import { classnames } from "../../utils/classnames"; import { StorageRequestDone } from "./StorageRequestDone"; import { PurchaseStorage } from "../../utils/purchases-storage"; import { Promises } from "../../utils/promises"; +import * as Sentry from "@sentry/browser"; function calculateAvailability(value: number, unit: StorageAvailabilityUnit) { switch (unit) { @@ -61,7 +66,8 @@ export function StorageRequestStepper({ className, open, onClose }: Props) { PurchaseStorage.set(requestId, cid); }, onError: (error) => { - // TODO Sentry + Sentry.captureException(error); + setToast({ message: "Error when trying to update: " + error, time: Date.now(), diff --git a/src/components/Welcome/Welcome.tsx b/src/components/Welcome/Welcome.tsx index 3f62332..0c31579 100644 --- a/src/components/Welcome/Welcome.tsx +++ b/src/components/Welcome/Welcome.tsx @@ -1,4 +1,4 @@ -import { SimpleText } from "@codex/marketplace-ui-components"; +import { SimpleText } from "@codex-storage/marketplace-ui-components"; import "./Welcome.css"; import { Link } from "@tanstack/react-router"; import { ChevronRight } from "lucide-react"; diff --git a/src/hooks/useData.tsx b/src/hooks/useData.tsx index 17108a1..e14e3c8 100644 --- a/src/hooks/useData.tsx +++ b/src/hooks/useData.tsx @@ -1,6 +1,7 @@ import { useQuery } from "@tanstack/react-query"; import { FilesStorage } from "../utils/file-storage"; import { CodexSdk } from "../sdk/codex"; +import * as Sentry from "@sentry/browser"; export function useData() { const { data = [] } = useQuery({ @@ -9,7 +10,7 @@ export function useData() { const res = await data.cids(); if (res.error) { - // TODO Sentry + Sentry.captureException(res.data); return []; } diff --git a/src/main.tsx b/src/main.tsx index 723cb90..49e6c3c 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -6,7 +6,25 @@ import "./index.css"; // Import the generated route tree import App from "./App.tsx"; import { routeTree } from "./routeTree.gen"; -import { Failure } from "@codex/marketplace-ui-components"; +import { Failure } from "@codex-storage/marketplace-ui-components"; +import * as Sentry from "@sentry/react"; + +if (process.env.NODE_ENV === "production") { + Sentry.init({ + dsn: "https://22d77c59a27b8d5efc07132188b505b9@o4507855852011520.ingest.de.sentry.io/4507866758512720", + integrations: [ + Sentry.browserTracingIntegration(), + Sentry.replayIntegration(), + ], + // Tracing + tracesSampleRate: 1.0, // Capture 100% of the transactions + // Set 'tracePropagationTargets' to control for which URLs distributed tracing should be enabled + tracePropagationTargets: ["localhost"], + // Session Replay + replaysSessionSampleRate: 0.1, // This sets the sample rate at 10%. You may want to change it to 100% while in development and then sample at a lower rate in production. + replaysOnErrorSampleRate: 1.0, // If you're not already sampling the entire session, change the sample rate to 100% when sampling sessions where errors occur. + }); +} // Create a new router instance const router = createRouter({ diff --git a/src/routes/dashboard.tsx b/src/routes/dashboard.tsx index a6f941c..8e180e5 100644 --- a/src/routes/dashboard.tsx +++ b/src/routes/dashboard.tsx @@ -4,7 +4,7 @@ import { MenuItem, MenuItemComponentProps, Page, -} from "@codex/marketplace-ui-components"; +} from "@codex-storage/marketplace-ui-components"; import { Home, ShoppingBag, Server, Settings, HelpCircle } from "lucide-react"; import { ICON_SIZE } from "../utils/constants"; import { NodeIndicator } from "../components/NodeIndicator/NodeIndicator"; diff --git a/src/routes/dashboard/about.tsx b/src/routes/dashboard/about.tsx index 525aa97..39032ab 100644 --- a/src/routes/dashboard/about.tsx +++ b/src/routes/dashboard/about.tsx @@ -1,7 +1,7 @@ -import { CodexDataContent } from "@codex/sdk-js"; +import { CodexDataContent } from "@codex-storage/sdk-js"; import { createFileRoute, useRouterState } from "@tanstack/react-router"; import { PrettyBytes } from "../../utils/bytes.ts"; -import { Button, WebFileIcon } from "@codex/marketplace-ui-components"; +import { Button, WebFileIcon } from "@codex-storage/marketplace-ui-components"; function ProtectedIcon({ isProtected }: { isProtected: boolean }) { if (isProtected) { diff --git a/src/routes/dashboard/availabilities.tsx b/src/routes/dashboard/availabilities.tsx index 894001a..f8342f7 100644 --- a/src/routes/dashboard/availabilities.tsx +++ b/src/routes/dashboard/availabilities.tsx @@ -1,4 +1,4 @@ -import { EmptyPlaceholder } from "@codex/marketplace-ui-components"; +import { EmptyPlaceholder } from "@codex-storage/marketplace-ui-components"; import { createFileRoute } from "@tanstack/react-router"; import "./availabilities.css"; diff --git a/src/routes/dashboard/help.tsx b/src/routes/dashboard/help.tsx index e228ab4..6897190 100644 --- a/src/routes/dashboard/help.tsx +++ b/src/routes/dashboard/help.tsx @@ -1,7 +1,7 @@ import { createFileRoute } from "@tanstack/react-router"; import "./help.css"; import { HelpCircle } from "lucide-react"; -import { SimpleText } from "@codex/marketplace-ui-components"; +import { SimpleText } from "@codex-storage/marketplace-ui-components"; export const Route = createFileRoute("/dashboard/help")({ component: () => ( diff --git a/src/routes/dashboard/index.tsx b/src/routes/dashboard/index.tsx index 4f6d6b1..a5223cf 100644 --- a/src/routes/dashboard/index.tsx +++ b/src/routes/dashboard/index.tsx @@ -1,7 +1,7 @@ import { createFileRoute } from "@tanstack/react-router"; import { ErrorBoundary } from "../../components/ErrorBoundary/ErrorBoundary.tsx"; import { Files } from "../../components/Files/Files.tsx"; -import { Card, Upload } from "@codex/marketplace-ui-components"; +import { Card, Upload } from "@codex-storage/marketplace-ui-components"; import { CodexSdk } from "../../sdk/codex.ts"; import { Welcome } from "../../components/Welcome/Welcome.tsx"; import { FilesStorage } from "../../utils/file-storage.ts"; diff --git a/src/routes/dashboard/purchases.tsx b/src/routes/dashboard/purchases.tsx index 84811d7..2b81543 100644 --- a/src/routes/dashboard/purchases.tsx +++ b/src/routes/dashboard/purchases.tsx @@ -3,7 +3,13 @@ import { createFileRoute } from "@tanstack/react-router"; import { CodexSdk } from "../../sdk/codex"; import { Plus } from "lucide-react"; import { useState } from "react"; -import { Button, Cell, Spinner, Table } from "@codex/marketplace-ui-components"; +import { + Button, + Cell, + EmptyPlaceholder, + Spinner, + Table, +} from "@codex-storage/marketplace-ui-components"; import { StorageRequestStepper } from "../../components/StorageRequestSetup/StorageRequestStepper"; import "./purchases.css"; import { classnames } from "../../utils/classnames"; @@ -82,6 +88,13 @@ const Purchases = () => { /> {!open && } + + {/* {!cells.length && ( + + )} */} ); }; diff --git a/src/sdk/codex.ts b/src/sdk/codex.ts index 82f29ba..7248ae4 100644 --- a/src/sdk/codex.ts +++ b/src/sdk/codex.ts @@ -1,4 +1,4 @@ -import { Codex } from "@codex/sdk-js"; +import { Codex } from "@codex-storage/sdk-js"; import { WebStorage } from "../utils/web-storage"; export class CodexSdk { diff --git a/src/utils/promises.ts b/src/utils/promises.ts index c0ad570..bf984b1 100644 --- a/src/utils/promises.ts +++ b/src/utils/promises.ts @@ -1,8 +1,13 @@ -import { SafeValue } from "@codex/sdk-js"; +import { SafeValue } from "@codex-storage/sdk-js"; +import * as Sentry from "@sentry/browser"; export const Promises = { rejectOnError: (safe: SafeValue) => { - // TODO Sentry - return safe.error ? Promise.reject(safe.data) : Promise.resolve(safe.data); + if (safe.error) { + Sentry.captureException(safe.data); + return Promise.reject(safe.data); + } + + return Promise.resolve(safe.data); }, };