From 63919c53c90c0d56890a2bb82f32beddad861bb3 Mon Sep 17 00:00:00 2001 From: Sebastian Pietras Date: Wed, 21 Jan 2026 21:48:35 +0100 Subject: [PATCH] Cleaned up code, added some utilities and fixed forms --- src/package-lock.json.jinja | 596 +++++++++--------- .../test/components/test-widget/main.tsx | 3 +- src/src/common/generic/lib/create-url/main.ts | 4 +- .../common/generic/lib/create-url/types.ts | 4 +- .../common/localization/locales/en.po.jinja | 6 +- .../common/localization/locales/pl.po.jinja | 6 +- .../orpc/lib/get-validation-issue/main.ts | 4 +- .../orpc/lib/get-validation-issue/types.ts | 4 +- src/src/instrumentation.ts | 2 +- .../isomorphic/core/hooks/use-form/main.ts | 4 +- src/src/proxy.ts | 17 + src/src/server/generic/constants.ts | 7 + .../lib/get-original-base-url/index.ts | 7 + .../generic/lib/get-original-base-url/main.ts | 32 + .../lib/get-original-base-url/types.ts | 7 + .../lib/get-original-request-url/index.ts | 7 + .../lib/get-original-request-url/main.ts | 40 ++ .../lib/get-original-request-url/types.ts | 7 + .../generic/lib/get-request-url/index.ts | 4 + .../generic/lib/get-request-url/main.ts | 20 + .../generic/lib/get-request-url/types.ts | 7 + .../vars/test/vars/validate/main.ts | 15 +- 22 files changed, 488 insertions(+), 315 deletions(-) create mode 100644 src/src/proxy.ts create mode 100644 src/src/server/generic/constants.ts create mode 100644 src/src/server/generic/lib/get-original-base-url/index.ts create mode 100644 src/src/server/generic/lib/get-original-base-url/main.ts create mode 100644 src/src/server/generic/lib/get-original-base-url/types.ts create mode 100644 src/src/server/generic/lib/get-original-request-url/index.ts create mode 100644 src/src/server/generic/lib/get-original-request-url/main.ts create mode 100644 src/src/server/generic/lib/get-original-request-url/types.ts create mode 100644 src/src/server/generic/lib/get-request-url/index.ts create mode 100644 src/src/server/generic/lib/get-request-url/main.ts create mode 100644 src/src/server/generic/lib/get-request-url/types.ts diff --git a/src/package-lock.json.jinja b/src/package-lock.json.jinja index 42fe04b..b961cd6 100644 --- a/src/package-lock.json.jinja +++ b/src/package-lock.json.jinja @@ -68,13 +68,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", + "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -83,9 +83,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", - "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.6.tgz", + "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==", "devOptional": true, "license": "MIT", "engines": { @@ -93,21 +93,21 @@ } }, "node_modules/@babel/core": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz", + "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -134,14 +134,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", - "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz", + "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -151,13 +151,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.2", + "@babel/compat-data": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -188,29 +188,29 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -249,27 +249,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", - "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", + "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.5" + "@babel/types": "^7.28.6" }, "bin": { "parser": "bin/babel-parser.js" @@ -279,42 +279,42 @@ } }, "node_modules/@babel/runtime": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", - "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", - "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", + "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", "devOptional": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6", "debug": "^4.3.1" }, "engines": { @@ -322,9 +322,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", - "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", + "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", "devOptional": true, "license": "MIT", "dependencies": { @@ -349,26 +349,26 @@ } }, "node_modules/@cacheable/memory/node_modules/@keyv/bigmap": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.0.tgz", - "integrity": "sha512-KT01GjzV6AQD5+IYrcpoYLkCu1Jod3nau1Z7EsEuViO3TZGRacSbO9MfHmbJ1WaOXFtWLxPVj169cn2WNKPkIg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.1.tgz", + "integrity": "sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==", "dev": true, "license": "MIT", "dependencies": { - "hashery": "^1.2.0", - "hookified": "^1.13.0" + "hashery": "^1.4.0", + "hookified": "^1.15.0" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "keyv": "^5.5.4" + "keyv": "^5.6.0" } }, "node_modules/@cacheable/memory/node_modules/keyv": { - "version": "5.5.5", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.5.tgz", - "integrity": "sha512-FA5LmZVF1VziNc0bIdCSA1IoSVnDCqE8HJIZZv2/W8YmoAM50+tnUgJR/gQZwEeIMleuIOnRnHA/UaZRNeV4iQ==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", + "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", "dev": true, "license": "MIT", "dependencies": { @@ -387,9 +387,9 @@ } }, "node_modules/@cacheable/utils/node_modules/keyv": { - "version": "5.5.5", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.5.tgz", - "integrity": "sha512-FA5LmZVF1VziNc0bIdCSA1IoSVnDCqE8HJIZZv2/W8YmoAM50+tnUgJR/gQZwEeIMleuIOnRnHA/UaZRNeV4iQ==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", + "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", "dev": true, "license": "MIT", "dependencies": { @@ -420,9 +420,9 @@ } }, "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.24.tgz", - "integrity": "sha512-T0pSTcd9eYEHV+llVPSkZU7URdVGu87BpSvozMwRoLJYXmLXvEHgYfv0yDsQH9+DIdLzkJCOJBABqWWnwTGPvg==", + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.25.tgz", + "integrity": "sha512-g0Kw9W3vjx5BEBAF8c5Fm2NcB/Fs8jJXh85aXqwEXiL+tqtOut07TWgyaGzAAfTM+gKckrrncyeGEZPcaRgm2Q==", "dev": true, "funding": [ { @@ -2207,9 +2207,9 @@ } }, "node_modules/@mantine/core": { - "version": "8.3.12", - "resolved": "https://registry.npmjs.org/@mantine/core/-/core-8.3.12.tgz", - "integrity": "sha512-bDEoUl4SneltfI1GeEaBk6BVDbLuB/w15YwseAmUvc8ldAbNcsVhxKxY/BdhwqUo6O3L2vhdlb3WwxR1y8741g==", + "version": "8.3.13", + "resolved": "https://registry.npmjs.org/@mantine/core/-/core-8.3.13.tgz", + "integrity": "sha512-ZgW4vqN4meaPyIMxzAufBvsgmJRfYZdTpsrAOcS8pWy7m9e8i685E7XsAxnwJCOIHudpvpvt+7Bx7VaIjEsYEw==", "license": "MIT", "dependencies": { "@floating-ui/react": "^0.27.16", @@ -2220,7 +2220,7 @@ "type-fest": "^4.41.0" }, "peerDependencies": { - "@mantine/hooks": "8.3.12", + "@mantine/hooks": "8.3.13", "react": "^18.x || ^19.x", "react-dom": "^18.x || ^19.x" } @@ -2238,25 +2238,25 @@ } }, "node_modules/@mantine/dates": { - "version": "8.3.12", - "resolved": "https://registry.npmjs.org/@mantine/dates/-/dates-8.3.12.tgz", - "integrity": "sha512-rL2kYJRTrU29l1KjQt5bdUweiZuJs3DjiIcc6VGHUuj7OwfYZbEpWzMbcu8fSrya/+kZAe8JM0irX22CjmsDGw==", + "version": "8.3.13", + "resolved": "https://registry.npmjs.org/@mantine/dates/-/dates-8.3.13.tgz", + "integrity": "sha512-Fk3k9oUENQQwU2cb1Ir2Q3J17emkYvW8xWaAF3nZC0PEF4KddY/p8bhF4NCxhsRjkvtEJiaAWlEq+6LF6hNxDA==", "license": "MIT", "dependencies": { "clsx": "^2.1.1" }, "peerDependencies": { - "@mantine/core": "8.3.12", - "@mantine/hooks": "8.3.12", + "@mantine/core": "8.3.13", + "@mantine/hooks": "8.3.13", "dayjs": ">=1.0.0", "react": "^18.x || ^19.x", "react-dom": "^18.x || ^19.x" } }, "node_modules/@mantine/form": { - "version": "8.3.12", - "resolved": "https://registry.npmjs.org/@mantine/form/-/form-8.3.12.tgz", - "integrity": "sha512-bjXL1Ah3lAZYHrjrF37FeHV8DFGeXV+apn0PRQw2MTLpdUSqKsiYIDDgugzRfNXWX1cn1ELtxtDXsMfdj/LI7Q==", + "version": "8.3.13", + "resolved": "https://registry.npmjs.org/@mantine/form/-/form-8.3.13.tgz", + "integrity": "sha512-P7Avh24QiL8V517Jxj8JuUbCuSOA1BjwTB8/htH92cRmLoJtWn4ycZYE7ks8v3Hrg8fpd0Xd2O5o9R4+bXwD/A==", "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -2267,34 +2267,34 @@ } }, "node_modules/@mantine/hooks": { - "version": "8.3.12", - "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-8.3.12.tgz", - "integrity": "sha512-lMMDzDewd3lUNtJCAHDj3g8On9X5aBl4q6EBwgOixKQSby9RG9ASEpK8oYHundHTm9tzo3MDeXWV/z32oSQWuw==", + "version": "8.3.13", + "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-8.3.13.tgz", + "integrity": "sha512-7YMbMW/tR9E8m/9DbBW01+3RNApm2mE/JbRKXf9s9+KxgbjQvq0FYGWV8Y4+Sjz48AO4vtWk2qBriUTgBMKAyg==", "license": "MIT", "peerDependencies": { "react": "^18.x || ^19.x" } }, "node_modules/@mantine/notifications": { - "version": "8.3.12", - "resolved": "https://registry.npmjs.org/@mantine/notifications/-/notifications-8.3.12.tgz", - "integrity": "sha512-lqPPa11XdcndG8ywMao8yVkMA4jg/pBNbS85bR7OwHQa1yUftmfVlqJl9PZZCiWLX2AgKY3+xM5dHo4LidL+DA==", + "version": "8.3.13", + "resolved": "https://registry.npmjs.org/@mantine/notifications/-/notifications-8.3.13.tgz", + "integrity": "sha512-VgQwA3C4NbjguobobFnqqQyKBWXOfzM8BES1LIX9EyzMwsvGAlShJHrF9/yLS0Jqf5DiZi4L8hxL3wcmmbnljA==", "license": "MIT", "dependencies": { - "@mantine/store": "8.3.12", + "@mantine/store": "8.3.13", "react-transition-group": "4.4.5" }, "peerDependencies": { - "@mantine/core": "8.3.12", - "@mantine/hooks": "8.3.12", + "@mantine/core": "8.3.13", + "@mantine/hooks": "8.3.13", "react": "^18.x || ^19.x", "react-dom": "^18.x || ^19.x" } }, "node_modules/@mantine/store": { - "version": "8.3.12", - "resolved": "https://registry.npmjs.org/@mantine/store/-/store-8.3.12.tgz", - "integrity": "sha512-EC4eIKpm5s7neMbBrWsP6jGKLqrzHf63Ao3penYr7fn25dFXdbXZYw+IG8GYzxOC4yG61b2zTS+bpy5+vwzXpw==", + "version": "8.3.13", + "resolved": "https://registry.npmjs.org/@mantine/store/-/store-8.3.13.tgz", + "integrity": "sha512-pnHHwiffGfaqLFxuyJIuU1P6+3zOd7bfBRVFFzIEDyUbPJs7dmVUFt31bry5FokrBfCjNWyg2XfyAQqIwd2LLA==", "license": "MIT", "peerDependencies": { "react": "^18.x || ^19.x" @@ -2492,51 +2492,51 @@ } }, "node_modules/@orpc/client": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@orpc/client/-/client-1.13.2.tgz", - "integrity": "sha512-xlT72B4EFVCEGPev5edEfN5uqu4fnxZyOoCq9UWUAyj0gNDTCF2Z5mfmA4mdBgwV90k+lIcGLMnUI25baedqpw==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@orpc/client/-/client-1.13.4.tgz", + "integrity": "sha512-s13GPMeoooJc5Th2EaYT5HMFtWG8S03DUVytYfJv8pIhP87RYKl94w52A36denH6r/B4LaAgBeC9nTAOslK+Og==", "license": "MIT", "dependencies": { - "@orpc/shared": "1.13.2", - "@orpc/standard-server": "1.13.2", - "@orpc/standard-server-fetch": "1.13.2", - "@orpc/standard-server-peer": "1.13.2" + "@orpc/shared": "1.13.4", + "@orpc/standard-server": "1.13.4", + "@orpc/standard-server-fetch": "1.13.4", + "@orpc/standard-server-peer": "1.13.4" } }, "node_modules/@orpc/contract": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@orpc/contract/-/contract-1.13.2.tgz", - "integrity": "sha512-td5ExzLPQ2y2zE9itgqod5gmC3WvCFIlkyJSNFRCRhff04PzokE9/hjqGhW5zsNgKuv4rcPYOrkh0e/YiyFndQ==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@orpc/contract/-/contract-1.13.4.tgz", + "integrity": "sha512-TIxyaF67uOlihCRcasjHZxguZpbqfNK7aMrDLnhoufmQBE4OKvguNzmrOFHgsuM0OXoopX0Nuhun1ccaxKP10A==", "license": "MIT", "dependencies": { - "@orpc/client": "1.13.2", - "@orpc/shared": "1.13.2", + "@orpc/client": "1.13.4", + "@orpc/shared": "1.13.4", "@standard-schema/spec": "^1.1.0", "openapi-types": "^12.1.3" } }, "node_modules/@orpc/interop": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@orpc/interop/-/interop-1.13.2.tgz", - "integrity": "sha512-N6AHeREWsXBm0KPShIwwwuPEwGR+slWgyLchXfQYE0HLEQmf2wSZYhoawgaaETl5EoPc6Z7/LUaTqPCE380CzQ==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@orpc/interop/-/interop-1.13.4.tgz", + "integrity": "sha512-h8HWMSTSUYTtfN9ytGJD/MLMgWaUJOg8Z1Bq7fycnj74DVib0NLGIItoCquJkSzgZ7Otc+s1l0/2NPOViTyl9Q==", "license": "MIT" }, "node_modules/@orpc/server": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@orpc/server/-/server-1.13.2.tgz", - "integrity": "sha512-sHGMT5eQ9eFSfXeRr6F3wkVRm76fUJzDurtCIZe5koStS20e5YZOkg7FH5kZb57c0d/EqvqPAbdHD8WRVl4qLQ==", - "license": "MIT", - "dependencies": { - "@orpc/client": "1.13.2", - "@orpc/contract": "1.13.2", - "@orpc/interop": "1.13.2", - "@orpc/shared": "1.13.2", - "@orpc/standard-server": "1.13.2", - "@orpc/standard-server-aws-lambda": "1.13.2", - "@orpc/standard-server-fastify": "1.13.2", - "@orpc/standard-server-fetch": "1.13.2", - "@orpc/standard-server-node": "1.13.2", - "@orpc/standard-server-peer": "1.13.2", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@orpc/server/-/server-1.13.4.tgz", + "integrity": "sha512-noGqSP53KpH+2UvCpIoOCMPn5LY5UIB674ijzSZ2LYHT0EUNGpOgYd5Rab09VUAaG2NejwJc9VvWztFW3Op08w==", + "license": "MIT", + "dependencies": { + "@orpc/client": "1.13.4", + "@orpc/contract": "1.13.4", + "@orpc/interop": "1.13.4", + "@orpc/shared": "1.13.4", + "@orpc/standard-server": "1.13.4", + "@orpc/standard-server-aws-lambda": "1.13.4", + "@orpc/standard-server-fastify": "1.13.4", + "@orpc/standard-server-fetch": "1.13.4", + "@orpc/standard-server-node": "1.13.4", + "@orpc/standard-server-peer": "1.13.4", "cookie": "^1.1.1" }, "peerDependencies": { @@ -2553,9 +2553,9 @@ } }, "node_modules/@orpc/shared": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@orpc/shared/-/shared-1.13.2.tgz", - "integrity": "sha512-1icIwoMxtXSTwGFJE2u/Hu4XhZQS81bk0hvRcG7jHATATTMLcNAFR+sv3AG56WTH6yF3C1A96VpYzvCYRUseFA==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@orpc/shared/-/shared-1.13.4.tgz", + "integrity": "sha512-TYt9rLG/BUkNQBeQ6C1tEiHS/Seb8OojHgj9GlvqyjHJhMZx5qjsIyTW6RqLPZJ4U2vgK6x4Her36+tlFCKJug==", "license": "MIT", "dependencies": { "radash": "^12.1.1", @@ -2571,35 +2571,35 @@ } }, "node_modules/@orpc/standard-server": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@orpc/standard-server/-/standard-server-1.13.2.tgz", - "integrity": "sha512-qjxKOvCg2mYBQMPdjEqQEDI+F/v6qm9zKMeFsfxnWKvPhDrPSEk8x40vdXlLbbpW6TCXpQikpycfdvq5H4Nb+Q==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@orpc/standard-server/-/standard-server-1.13.4.tgz", + "integrity": "sha512-ZOzgfVp6XUg+wVYw+gqesfRfGPtQbnBIrIiSnFMtZF+6ncmFJeF2Shc4RI2Guqc0Qz25juy8Ogo4tX3YqysOcg==", "license": "MIT", "dependencies": { - "@orpc/shared": "1.13.2" + "@orpc/shared": "1.13.4" } }, "node_modules/@orpc/standard-server-aws-lambda": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@orpc/standard-server-aws-lambda/-/standard-server-aws-lambda-1.13.2.tgz", - "integrity": "sha512-Gkw72+b5eZKjsSJ5zT4vsnEbHww8An1hkkai4jmLvADtujQQMccjhWNTC7MKGBe1/M818plnfbhqmLx+2rU0IA==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@orpc/standard-server-aws-lambda/-/standard-server-aws-lambda-1.13.4.tgz", + "integrity": "sha512-iTJK6DiwLufVZtflLAxx5GCNQLo3NhNuQQgVtFavpx5xgCTuRb1dKNjHAoVCkF2lyqUFxv4AON2ZOSvuCCCzpw==", "license": "MIT", "dependencies": { - "@orpc/shared": "1.13.2", - "@orpc/standard-server": "1.13.2", - "@orpc/standard-server-fetch": "1.13.2", - "@orpc/standard-server-node": "1.13.2" + "@orpc/shared": "1.13.4", + "@orpc/standard-server": "1.13.4", + "@orpc/standard-server-fetch": "1.13.4", + "@orpc/standard-server-node": "1.13.4" } }, "node_modules/@orpc/standard-server-fastify": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@orpc/standard-server-fastify/-/standard-server-fastify-1.13.2.tgz", - "integrity": "sha512-N8GHu9GHDm7wQePdTfWxWaJQPGXyjsirHTjJZEBbUDR0R64C8b2JCt+eK1iq9DK3Oc5kYNJUWZQhwlZUCWCClg==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@orpc/standard-server-fastify/-/standard-server-fastify-1.13.4.tgz", + "integrity": "sha512-+E40iAD2IY/Vgg7FAE9aM2kQOL73LwJikkMiiD8G08kAEp1By9N7W5ejxXYiRcTVRF0j9vgvNSwhf4aSJmxp8g==", "license": "MIT", "dependencies": { - "@orpc/shared": "1.13.2", - "@orpc/standard-server": "1.13.2", - "@orpc/standard-server-node": "1.13.2" + "@orpc/shared": "1.13.4", + "@orpc/standard-server": "1.13.4", + "@orpc/standard-server-node": "1.13.4" }, "peerDependencies": { "fastify": ">=5.6.1" @@ -2611,46 +2611,46 @@ } }, "node_modules/@orpc/standard-server-fetch": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@orpc/standard-server-fetch/-/standard-server-fetch-1.13.2.tgz", - "integrity": "sha512-JanRDFk78kB8/P5NljV1nx3zcpBsTC9sCAhBcE3ezY1u3Kvt7teRhPxRXcoD0TEBdQjEUeXcqX+zEh4Op2E8nw==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@orpc/standard-server-fetch/-/standard-server-fetch-1.13.4.tgz", + "integrity": "sha512-/zmKwnuxfAXbppJpgr1CMnQX3ptPlYcDzLz1TaVzz9VG/Xg58Ov3YhabS2Oi1utLVhy5t4kaCppUducAvoKN+A==", "license": "MIT", "dependencies": { - "@orpc/shared": "1.13.2", - "@orpc/standard-server": "1.13.2" + "@orpc/shared": "1.13.4", + "@orpc/standard-server": "1.13.4" } }, "node_modules/@orpc/standard-server-node": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@orpc/standard-server-node/-/standard-server-node-1.13.2.tgz", - "integrity": "sha512-asWTGGQEcBKkpz6qEsn0Gfdsj0eZ4zDp/P89jJFuYEREwqsWMrZSiyEQNcCU0Q6UoLai+Wvil575L58i3Adgmg==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@orpc/standard-server-node/-/standard-server-node-1.13.4.tgz", + "integrity": "sha512-4sVTsoI1xBmKEqmcxPRGKqf/Egbtr83Lg8yLiUrt5YdjOAYENiahWyU51itL21VPdAdMFDoDdUC9aCpikyQCaw==", "license": "MIT", "dependencies": { - "@orpc/shared": "1.13.2", - "@orpc/standard-server": "1.13.2", - "@orpc/standard-server-fetch": "1.13.2" + "@orpc/shared": "1.13.4", + "@orpc/standard-server": "1.13.4", + "@orpc/standard-server-fetch": "1.13.4" } }, "node_modules/@orpc/standard-server-peer": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@orpc/standard-server-peer/-/standard-server-peer-1.13.2.tgz", - "integrity": "sha512-LMxaMSmp98jnm0jiHpqPgH5qHXeOvah7pmysrcLaqMfwH+GwRS6S+/ls2hAy9aIba4LrTZyIpTgSohHD/Ed73g==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@orpc/standard-server-peer/-/standard-server-peer-1.13.4.tgz", + "integrity": "sha512-UfqnTLqevjCKUk4cmImOG8cQUwANpV1dp9e9u2O1ki6BRBsg/zlXFg6G2N6wP0zr9ayIiO1d2qJdH55yl/1BNw==", "license": "MIT", "dependencies": { - "@orpc/shared": "1.13.2", - "@orpc/standard-server": "1.13.2" + "@orpc/shared": "1.13.4", + "@orpc/standard-server": "1.13.4" } }, "node_modules/@orpc/tanstack-query": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@orpc/tanstack-query/-/tanstack-query-1.13.2.tgz", - "integrity": "sha512-a/BzZP4YZiqPCBoWzr1miHPHDpqGhH8BKPf1RyB9i61s554Utic3MQqKO0PHa61TT0OxEXuZTowVgdwk1zsQFA==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@orpc/tanstack-query/-/tanstack-query-1.13.4.tgz", + "integrity": "sha512-gCL/kh3kf6OUGKfXxSoOZpcX1jNYzxGfo/PkLQKX7ui4xiTbfWw3sCDF30sNS4I7yAOnBwDwJ3N2xzfkTftOBg==", "license": "MIT", "dependencies": { - "@orpc/shared": "1.13.2" + "@orpc/shared": "1.13.4" }, "peerDependencies": { - "@orpc/client": "1.13.2", + "@orpc/client": "1.13.4", "@tanstack/query-core": ">=5.80.2" } }, @@ -2835,13 +2835,13 @@ } }, "node_modules/@tanstack/eslint-plugin-query": { - "version": "5.91.2", - "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.91.2.tgz", - "integrity": "sha512-UPeWKl/Acu1IuuHJlsN+eITUHqAaa9/04geHHPedY8siVarSaWprY0SVMKrkpKfk5ehRT7+/MZ5QwWuEtkWrFw==", + "version": "5.91.3", + "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.91.3.tgz", + "integrity": "sha512-5GMGZMYFK9dOvjpdedjJs4hU40EdPuO2AjzObQzP7eOSsikunCfrXaU3oNGXSsvoU9ve1Z1xQZZuDyPi0C1M7Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "^8.44.1" + "@typescript-eslint/utils": "^8.48.0" }, "funding": { "type": "github", @@ -2852,9 +2852,9 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.90.16", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.90.16.tgz", - "integrity": "sha512-MvtWckSVufs/ja463/K4PyJeqT+HMlJWtw6PrCpywznd2NSgO3m4KwO9RqbFqGg6iDE8vVMFWMeQI4Io3eEYww==", + "version": "5.90.19", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.90.19.tgz", + "integrity": "sha512-GLW5sjPVIvH491VV1ufddnfldyVB+teCnpPIvweEfkpRx7CfUmUGhoh9cdcUKBh/KwVxk22aNEDxeTsvmyB/WA==", "license": "MIT", "funding": { "type": "github", @@ -2873,12 +2873,12 @@ } }, "node_modules/@tanstack/react-query": { - "version": "5.90.16", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.16.tgz", - "integrity": "sha512-bpMGOmV4OPmif7TNMteU/Ehf/hoC0Kf98PDc0F4BZkFrEapRMEqI/V6YS0lyzwSV6PQpY1y4xxArUIfBW5LVxQ==", + "version": "5.90.19", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.19.tgz", + "integrity": "sha512-qTZRZ4QyTzQc+M0IzrbKHxSeISUmRB3RPGmao5bT+sI6ayxSRhn0FXEnT5Hg3as8SBFcRosrXXRFB+yAcxVxJQ==", "license": "MIT", "dependencies": { - "@tanstack/query-core": "5.90.16" + "@tanstack/query-core": "5.90.19" }, "funding": { "type": "github", @@ -2907,9 +2907,9 @@ } }, "node_modules/@tsconfig/bases": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/@tsconfig/bases/-/bases-1.0.16.tgz", - "integrity": "sha512-BcuvYcRrWHm8/ZxFmUYQyIp74a7kEiNCw+e557bGnNUbqzzi/sw4BfwT8zbA9RPnDy4yPXSf3krJNjW8uRB4zA==", + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/@tsconfig/bases/-/bases-1.0.17.tgz", + "integrity": "sha512-ojG+KTLOQbLDwBteaKEVjA7U5IY7g4Silq4qUhU1tJV3z2UTEkjv++pRoOsDSGoe/7U5Y3nXrgTEXSyK8vLSpg==", "dev": true, "license": "MIT" }, @@ -2993,18 +2993,18 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.19.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.5.tgz", - "integrity": "sha512-HfF8+mYcHPcPypui3w3mvzuIErlNOh2OAG+BCeBZCEwyiD5ls2SiCwEyT47OELtf7M3nHxBdu0FsmzdKxkN52Q==", + "version": "22.19.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.7.tgz", + "integrity": "sha512-MciR4AKGHWl7xwxkBa6xUGxQJ4VBOmPTF7sL+iGzuahOFaO0jHCsuEfS80pan1ef4gWId1oWOweIhrDEYLuaOw==", "license": "MIT", "dependencies": { "undici-types": "~6.21.0" } }, "node_modules/@types/react": { - "version": "19.2.8", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.8.tgz", - "integrity": "sha512-3MbSL37jEchWZz2p2mjntRZtPt837ij10ApxKfgmXCTuHWagYg7iA5bqPw6C8BMPfwidlvfPI/fxOc42HLhcyg==", + "version": "19.2.9", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.9.tgz", + "integrity": "sha512-Lpo8kgb/igvMIPeNV2rsYKTgaORYdO1XGVZ4Qz3akwOj0ySGYMPlQWa8BaLn0G63D1aSaAQ5ldR06wCpChQCjA==", "devOptional": true, "license": "MIT", "dependencies": { @@ -3396,14 +3396,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.52.0.tgz", - "integrity": "sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==", + "version": "8.53.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.53.1.tgz", + "integrity": "sha512-WYC4FB5Ra0xidsmlPb+1SsnaSKPmS3gsjIARwbEkHkoWloQmuzcfypljaJcR78uyLA1h8sHdWWPHSLDI+MtNog==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.52.0", - "@typescript-eslint/types": "^8.52.0", + "@typescript-eslint/tsconfig-utils": "^8.53.1", + "@typescript-eslint/types": "^8.53.1", "debug": "^4.4.3" }, "engines": { @@ -3418,14 +3418,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.52.0.tgz", - "integrity": "sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==", + "version": "8.53.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.53.1.tgz", + "integrity": "sha512-Lu23yw1uJMFY8cUeq7JlrizAgeQvWugNQzJp8C3x8Eo5Jw5Q2ykMdiiTB9vBVOOUBysMzmRRmUfwFrZuI2C4SQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/visitor-keys": "8.52.0" + "@typescript-eslint/types": "8.53.1", + "@typescript-eslint/visitor-keys": "8.53.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3436,9 +3436,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.52.0.tgz", - "integrity": "sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==", + "version": "8.53.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.53.1.tgz", + "integrity": "sha512-qfvLXS6F6b1y43pnf0pPbXJ+YoXIC7HKg0UGZ27uMIemKMKA6XH2DTxsEDdpdN29D+vHV07x/pnlPNVLhdhWiA==", "dev": true, "license": "MIT", "engines": { @@ -3632,9 +3632,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.52.0.tgz", - "integrity": "sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==", + "version": "8.53.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.1.tgz", + "integrity": "sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==", "dev": true, "license": "MIT", "engines": { @@ -3646,16 +3646,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.52.0.tgz", - "integrity": "sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==", + "version": "8.53.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.1.tgz", + "integrity": "sha512-RGlVipGhQAG4GxV1s34O91cxQ/vWiHJTDHbXRr0li2q/BGg3RR/7NM8QDWgkEgrwQYCvmJV9ichIwyoKCQ+DTg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.52.0", - "@typescript-eslint/tsconfig-utils": "8.52.0", - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/visitor-keys": "8.52.0", + "@typescript-eslint/project-service": "8.53.1", + "@typescript-eslint/tsconfig-utils": "8.53.1", + "@typescript-eslint/types": "8.53.1", + "@typescript-eslint/visitor-keys": "8.53.1", "debug": "^4.4.3", "minimatch": "^9.0.5", "semver": "^7.7.3", @@ -3674,16 +3674,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.52.0.tgz", - "integrity": "sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==", + "version": "8.53.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.53.1.tgz", + "integrity": "sha512-c4bMvGVWW4hv6JmDUEG7fSYlWOl3II2I4ylt0NM+seinYQlZMQIaKaXIIVJWt9Ofh6whrpM+EdDQXKXjNovvrg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.52.0", - "@typescript-eslint/types": "8.52.0", - "@typescript-eslint/typescript-estree": "8.52.0" + "@typescript-eslint/scope-manager": "8.53.1", + "@typescript-eslint/types": "8.53.1", + "@typescript-eslint/typescript-estree": "8.53.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3698,13 +3698,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.52.0.tgz", - "integrity": "sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==", + "version": "8.53.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.1.tgz", + "integrity": "sha512-oy+wV7xDKFPRyNggmXuZQSBzvoLnpmJs+GhzRhPjrxl2b/jIlyjVokzm47CZCDUdXKr2zd7ZLodPfOBpOPyPlg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.52.0", + "@typescript-eslint/types": "8.53.1", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -3729,12 +3729,12 @@ } }, "node_modules/@unhead/react": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@unhead/react/-/react-2.1.1.tgz", - "integrity": "sha512-WD2seVvB7PsReydiE+XQTmIjia55wosuDj2VQuS96elIDhNuFI7ZHYQzZzNXbg7QCm7BhtzR+cKYa/+iXWWyCw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@unhead/react/-/react-2.1.2.tgz", + "integrity": "sha512-VNKa0JJZq5Jp28VuiOMfjAA7CTLHI0SdW/Hs1ZPq2PsNV/cgxGv8quFBGXWx4gfoHB52pejO929RKjIpYX5+iQ==", "license": "MIT", "dependencies": { - "unhead": "2.1.1" + "unhead": "2.1.2" }, "funding": { "url": "https://github.com/sponsors/harlan-zw" @@ -4324,9 +4324,9 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.9.14", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.14.tgz", - "integrity": "sha512-B0xUquLkiGLgHhpPBqvl7GWegWBUNuujQ6kXd/r1U38ElPT6Ok8KZ8e+FpUGEc2ZoRQUzq/aUnaKFc/svWUGSg==", + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.17.tgz", + "integrity": "sha512-agD0MgJFUP/4nvjqzIB29zRPUuCF7Ge6mEv9s8dHrtYD7QWXRcx75rOADE/d5ah1NI+0vkDl0yorDd5U852IQQ==", "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.js" @@ -4420,12 +4420,15 @@ "license": "MIT" }, "node_modules/browserslist-to-es-version": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/browserslist-to-es-version/-/browserslist-to-es-version-1.3.0.tgz", - "integrity": "sha512-JFc47VPWtTqFkR9OEVmYTygtSLhmTpTG7i9bpCXiNj59EKYpzy3NL7QDR0/1elDWB66T5+ImKoMnbjJARgEsRA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/browserslist-to-es-version/-/browserslist-to-es-version-1.4.1.tgz", + "integrity": "sha512-1bYCrck5Qh5HUy7P+iDuK39v757/ry5PnQo20vf4sHGeUrYKL2N2OF05U9ARSGt06TpFDQiTv9MT+eitYgWWxA==", "license": "MIT", "dependencies": { "browserslist": "^4.28.1" + }, + "bin": { + "browserslist-to-es-version": "dist/cli.js" } }, "node_modules/buffer": { @@ -4536,23 +4539,23 @@ } }, "node_modules/cacheable": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.3.1.tgz", - "integrity": "sha512-yr+FSHWn1ZUou5LkULX/S+jhfgfnLbuKQjE40tyEd4fxGZVMbBL5ifno0J0OauykS8UiCSgHi+DV/YD+rjFxFg==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.3.2.tgz", + "integrity": "sha512-w+ZuRNmex9c1TR9RcsxbfTKCjSL0rh1WA5SABbrWprIHeNBdmyQLSYonlDy9gpD+63XT8DgZ/wNh1Smvc9WnJA==", "dev": true, "license": "MIT", "dependencies": { - "@cacheable/memory": "^2.0.6", - "@cacheable/utils": "^2.3.2", - "hookified": "^1.14.0", + "@cacheable/memory": "^2.0.7", + "@cacheable/utils": "^2.3.3", + "hookified": "^1.15.0", "keyv": "^5.5.5", - "qified": "^0.5.3" + "qified": "^0.6.0" } }, "node_modules/cacheable/node_modules/keyv": { - "version": "5.5.5", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.5.tgz", - "integrity": "sha512-FA5LmZVF1VziNc0bIdCSA1IoSVnDCqE8HJIZZv2/W8YmoAM50+tnUgJR/gQZwEeIMleuIOnRnHA/UaZRNeV4iQ==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", + "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", "dev": true, "license": "MIT", "dependencies": { @@ -4643,9 +4646,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001763", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001763.tgz", - "integrity": "sha512-mh/dGtq56uN98LlNX9qdbKnzINhX0QzhiWBFEkFfsFO4QyCvL8YegrJAazCwXIeqkIob8BlZPGM3xdnY+sgmvQ==", + "version": "1.0.30001765", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001765.tgz", + "integrity": "sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==", "funding": [ { "type": "opencollective", @@ -6803,9 +6806,9 @@ } }, "node_modules/hookable": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", - "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-6.0.1.tgz", + "integrity": "sha512-uKGyY8BuzN/a5gvzvA+3FVWo0+wUjgtfSdnmjtrOVwQCZPHpHDH2WRO3VZSOeluYrHoDCiXFffZXs8Dj1ULWtw==", "license": "MIT" }, "node_modules/hookified": { @@ -7808,9 +7811,9 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", "dev": true, "license": "MIT" }, @@ -8164,25 +8167,30 @@ } }, "node_modules/nypm": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.2.tgz", - "integrity": "sha512-7eM+hpOtrKrBDCh7Ypu2lJ9Z7PNZBdi/8AT3AX8xoCj43BBVHD0hPSTEvMtkMpfs8FCqBGhxB+uToIQimA111g==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.4.tgz", + "integrity": "sha512-1TvCKjZyyklN+JJj2TS3P4uSQEInrM/HkkuSXsEzm1ApPgBffOn8gFguNnZf07r/1X6vlryfIqMUkJKQMzlZiw==", "dev": true, "license": "MIT", "dependencies": { - "citty": "^0.1.6", - "consola": "^3.4.2", + "citty": "^0.2.0", "pathe": "^2.0.3", - "pkg-types": "^2.3.0", - "tinyexec": "^1.0.1" + "tinyexec": "^1.0.2" }, "bin": { "nypm": "dist/cli.mjs" }, "engines": { - "node": "^14.16.0 || >=16.10.0" + "node": ">=18" } }, + "node_modules/nypm/node_modules/citty": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.2.0.tgz", + "integrity": "sha512-8csy5IBFI2ex2hTVpaHN2j+LNE199AgiI7y4dMintrr8i0lQiFn+0AWMZrWdHKIgMOer65f8IThysYhoReqjWA==", + "dev": true, + "license": "MIT" + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -8968,13 +8976,13 @@ } }, "node_modules/qified": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/qified/-/qified-0.5.3.tgz", - "integrity": "sha512-kXuQdQTB6oN3KhI6V4acnBSZx8D2I4xzZvn9+wFLLFCoBNQY/sFnCW6c43OL7pOQ2HvGV4lnWIXNmgfp7cTWhQ==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/qified/-/qified-0.6.0.tgz", + "integrity": "sha512-tsSGN1x3h569ZSU1u6diwhltLyfUWDp3YbFHedapTmpBl0B3P6U3+Qptg7xu+v+1io1EwhdPyyRHYbEw0KN2FA==", "dev": true, "license": "MIT", "dependencies": { - "hookified": "^1.13.0" + "hookified": "^1.14.0" }, "engines": { "node": ">=20" @@ -10445,25 +10453,25 @@ } }, "node_modules/stylelint/node_modules/file-entry-cache": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-11.1.1.tgz", - "integrity": "sha512-TPVFSDE7q91Dlk1xpFLvFllf8r0HyOMOlnWy7Z2HBku5H3KhIeOGInexrIeg2D64DosVB/JXkrrk6N/7Wriq4A==", + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-11.1.2.tgz", + "integrity": "sha512-N2WFfK12gmrK1c1GXOqiAJ1tc5YE+R53zvQ+t5P8S5XhnmKYVB5eZEiLNZKDSmoG8wqqbF9EXYBBW/nef19log==", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^6.1.19" + "flat-cache": "^6.1.20" } }, "node_modules/stylelint/node_modules/flat-cache": { - "version": "6.1.19", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.19.tgz", - "integrity": "sha512-l/K33newPTZMTGAnnzaiqSl6NnH7Namh8jBNjrgjprWxGmZUuxx/sJNIRaijOh3n7q7ESbhNZC+pvVZMFdeU4A==", + "version": "6.1.20", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.20.tgz", + "integrity": "sha512-AhHYqwvN62NVLp4lObVXGVluiABTHapoB57EyegZVmazN+hhGhLTn3uZbOofoTw4DSDvVCadzzyChXhOAvy8uQ==", "dev": true, "license": "MIT", "dependencies": { - "cacheable": "^2.2.0", + "cacheable": "^2.3.2", "flatted": "^3.3.3", - "hookified": "^1.13.0" + "hookified": "^1.15.0" } }, "node_modules/stylelint/node_modules/ignore": { @@ -10668,9 +10676,9 @@ } }, "node_modules/terser": { - "version": "5.44.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz", - "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", + "version": "5.46.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", + "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", "license": "BSD-2-Clause", "peer": true, "dependencies": { @@ -11181,12 +11189,12 @@ "license": "MIT" }, "node_modules/unhead": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/unhead/-/unhead-2.1.1.tgz", - "integrity": "sha512-NOt8n2KybAOxSLfNXegAVai4SGU8bPKqWnqCzNAvnRH2i8mW+0bbFjN/L75LBgCSTiOjJSpANe5w2V34Grr7Cw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/unhead/-/unhead-2.1.2.tgz", + "integrity": "sha512-vSihrxyb+zsEUfEbraZBCjdE0p/WSoc2NGDrpwwSNAwuPxhYK1nH3eegf02IENLpn1sUhL8IoO84JWmRQ6tILA==", "license": "MIT", "dependencies": { - "hookable": "^5.5.3" + "hookable": "^6.0.1" }, "funding": { "url": "https://github.com/sponsors/harlan-zw" @@ -11382,9 +11390,9 @@ } }, "node_modules/watchpack": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.0.tgz", - "integrity": "sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", "license": "MIT", "peer": true, "dependencies": { @@ -11607,9 +11615,9 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/src/src/client/test/components/test-widget/main.tsx b/src/src/client/test/components/test-widget/main.tsx index f74bc96..b71bbfb 100644 --- a/src/src/client/test/components/test-widget/main.tsx +++ b/src/src/client/test/components/test-widget/main.tsx @@ -42,7 +42,8 @@ export function TestWidget({}: TestWidgetInput) { return { errors: { - value: getValidationIssue({ error: error, path: "value" }), + value: getValidationIssue({ error: error, path: "value" }) + .message, }, }; } diff --git a/src/src/common/generic/lib/create-url/main.ts b/src/src/common/generic/lib/create-url/main.ts index 0c01bc2..fd50cfe 100644 --- a/src/src/common/generic/lib/create-url/main.ts +++ b/src/src/common/generic/lib/create-url/main.ts @@ -21,5 +21,7 @@ export function createUrl({ : ""; const fragmentPart = fragment ? `#${fragment}` : ""; - return basePart + pathPart + queryPart + fragmentPart; + const url = basePart + pathPart + queryPart + fragmentPart; + + return { url: url }; } diff --git a/src/src/common/generic/lib/create-url/types.ts b/src/src/common/generic/lib/create-url/types.ts index 85b2034..bb02290 100644 --- a/src/src/common/generic/lib/create-url/types.ts +++ b/src/src/common/generic/lib/create-url/types.ts @@ -19,4 +19,6 @@ type RelativeUrlInput = AnyUrlInput & { export type CreateUrlInput = AbsoluteUrlInput | RelativeUrlInput; -export type CreateUrlOutput = string; +export type CreateUrlOutput = { + url: string; +}; diff --git a/src/src/common/localization/locales/en.po.jinja b/src/src/common/localization/locales/en.po.jinja index 79790b4..2c334e4 100644 --- a/src/src/common/localization/locales/en.po.jinja +++ b/src/src/common/localization/locales/en.po.jinja @@ -13,7 +13,7 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/client/test/components/test-widget/main.tsx:51 +#: src/client/test/components/test-widget/main.tsx:52 msgid "An unexpected error occurred" msgstr "An unexpected error occurred" @@ -43,7 +43,7 @@ msgid "Info" msgstr "Info" #: src/client/test/components/test-widget/main.tsx:41 -#: src/client/test/components/test-widget/main.tsx:61 +#: src/client/test/components/test-widget/main.tsx:62 msgid "Invalid input" msgstr "Invalid input" @@ -75,6 +75,6 @@ msgstr "Success" msgid "Warning" msgstr "Warning" -#: src/server/orpc/vars/procedures/vars/test/vars/validate/main.ts:27 +#: src/server/orpc/vars/procedures/vars/test/vars/validate/main.ts:28 msgid "Why did the chicken cross the road? To get to the other side." msgstr "Why did the chicken cross the road? To get to the other side." diff --git a/src/src/common/localization/locales/pl.po.jinja b/src/src/common/localization/locales/pl.po.jinja index 7fccfbd..33e5844 100644 --- a/src/src/common/localization/locales/pl.po.jinja +++ b/src/src/common/localization/locales/pl.po.jinja @@ -13,7 +13,7 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/client/test/components/test-widget/main.tsx:51 +#: src/client/test/components/test-widget/main.tsx:52 msgid "An unexpected error occurred" msgstr "Wystąpił nieoczekiwany błąd" @@ -43,7 +43,7 @@ msgid "Info" msgstr "Informacja" #: src/client/test/components/test-widget/main.tsx:41 -#: src/client/test/components/test-widget/main.tsx:61 +#: src/client/test/components/test-widget/main.tsx:62 msgid "Invalid input" msgstr "Nieprawidłowe dane wejściowe" @@ -75,6 +75,6 @@ msgstr "Sukces" msgid "Warning" msgstr "Ostrzeżenie" -#: src/server/orpc/vars/procedures/vars/test/vars/validate/main.ts:27 +#: src/server/orpc/vars/procedures/vars/test/vars/validate/main.ts:28 msgid "Why did the chicken cross the road? To get to the other side." msgstr "Dlaczego kura przeszła przez ulicę? Żeby dostać się na drugą stronę." diff --git a/src/src/common/orpc/lib/get-validation-issue/main.ts b/src/src/common/orpc/lib/get-validation-issue/main.ts index 4ae6b7f..14b5caa 100644 --- a/src/src/common/orpc/lib/get-validation-issue/main.ts +++ b/src/src/common/orpc/lib/get-validation-issue/main.ts @@ -11,5 +11,7 @@ export function getValidationIssue({ (issue) => issue.path?.join(".") === path, ); - return issue?.message; + const message = issue?.message; + + return { message: message }; } diff --git a/src/src/common/orpc/lib/get-validation-issue/types.ts b/src/src/common/orpc/lib/get-validation-issue/types.ts index 4e9eaf6..75df4d9 100644 --- a/src/src/common/orpc/lib/get-validation-issue/types.ts +++ b/src/src/common/orpc/lib/get-validation-issue/types.ts @@ -5,4 +5,6 @@ export type GetValidationIssueInput = { path: string; }; -export type GetValidationIssueOutput = string | undefined; +export type GetValidationIssueOutput = { + message: string | undefined; +}; diff --git a/src/src/instrumentation.ts b/src/src/instrumentation.ts index 1e8b8eb..9e76d03 100644 --- a/src/src/instrumentation.ts +++ b/src/src/instrumentation.ts @@ -15,7 +15,7 @@ export async function register() { path: config.apis.icanhazdadjoke.path, port: config.apis.icanhazdadjoke.port, scheme: config.apis.icanhazdadjoke.scheme, - }), + }).url, }), }), }; diff --git a/src/src/isomorphic/core/hooks/use-form/main.ts b/src/src/isomorphic/core/hooks/use-form/main.ts index 3e42920..8259867 100644 --- a/src/src/isomorphic/core/hooks/use-form/main.ts +++ b/src/src/isomorphic/core/hooks/use-form/main.ts @@ -43,7 +43,7 @@ export function useForm({ result, form.reset, form.setErrors, - form.setValues, + form.setInitialValues, localization.localize, ); } finally { @@ -53,7 +53,7 @@ export function useForm({ [ form.reset, form.setErrors, - form.setValues, + form.setInitialValues, localization.localize, onSubmit, ], diff --git a/src/src/proxy.ts b/src/src/proxy.ts new file mode 100644 index 0000000..97ed9be --- /dev/null +++ b/src/src/proxy.ts @@ -0,0 +1,17 @@ +import type { NextRequest } from "next/server"; + +import { NextResponse } from "next/server"; + +import { serverGenericConstants } from "./server/generic/constants"; +import { getRequestUrl } from "./server/generic/lib/get-request-url"; + +export async function proxy(request: NextRequest) { + const { requestUrl } = await getRequestUrl({ request: request }); + + const headers = new Headers({ + ...Object.fromEntries(request.headers), + [serverGenericConstants.headers.requestUrl]: requestUrl, + }); + + return NextResponse.next({ request: { headers: headers } }); +} diff --git a/src/src/server/generic/constants.ts b/src/src/server/generic/constants.ts new file mode 100644 index 0000000..8a0914b --- /dev/null +++ b/src/src/server/generic/constants.ts @@ -0,0 +1,7 @@ +import "server-only"; + +export const serverGenericConstants = { + headers: { + requestUrl: "X-Next-Request-URL", + }, +} as const; diff --git a/src/src/server/generic/lib/get-original-base-url/index.ts b/src/src/server/generic/lib/get-original-base-url/index.ts new file mode 100644 index 0000000..f29ad1b --- /dev/null +++ b/src/src/server/generic/lib/get-original-base-url/index.ts @@ -0,0 +1,7 @@ +import "server-only"; + +export { getOriginalBaseUrl } from "./main"; +export type { + GetOriginalBaseUrlInput, + GetOriginalBaseUrlOutput, +} from "./types"; diff --git a/src/src/server/generic/lib/get-original-base-url/main.ts b/src/src/server/generic/lib/get-original-base-url/main.ts new file mode 100644 index 0000000..69ae1b3 --- /dev/null +++ b/src/src/server/generic/lib/get-original-base-url/main.ts @@ -0,0 +1,32 @@ +import { trimEnd } from "es-toolkit/string"; + +import type { + GetOriginalBaseUrlInput, + GetOriginalBaseUrlOutput, +} from "./types"; + +import { getOriginalRequestUrl } from "../get-original-request-url"; +import { getRequestUrl } from "../get-request-url"; + +export async function getOriginalBaseUrl({ + request, +}: GetOriginalBaseUrlInput): Promise { + const { requestUrl } = await getRequestUrl({ request: request }); + const { originalRequestUrl } = await getOriginalRequestUrl({ + request: request, + }); + + const path = trimEnd(new URL(requestUrl).pathname, "/"); + const originalPath = trimEnd(new URL(originalRequestUrl).pathname, "/"); + + const url = new URL(originalRequestUrl); + url.search = ""; + url.hash = ""; + url.pathname = originalPath.endsWith(path) + ? originalPath.slice(0, originalPath.length - path.length) + "/" + : "/"; + + const originalBaseUrl = url.toString(); + + return { originalBaseUrl: originalBaseUrl }; +} diff --git a/src/src/server/generic/lib/get-original-base-url/types.ts b/src/src/server/generic/lib/get-original-base-url/types.ts new file mode 100644 index 0000000..5727502 --- /dev/null +++ b/src/src/server/generic/lib/get-original-base-url/types.ts @@ -0,0 +1,7 @@ +export type GetOriginalBaseUrlInput = { + request?: Request; +}; + +export type GetOriginalBaseUrlOutput = { + originalBaseUrl: string; +}; diff --git a/src/src/server/generic/lib/get-original-request-url/index.ts b/src/src/server/generic/lib/get-original-request-url/index.ts new file mode 100644 index 0000000..9d51df1 --- /dev/null +++ b/src/src/server/generic/lib/get-original-request-url/index.ts @@ -0,0 +1,7 @@ +import "server-only"; + +export { getOriginalRequestUrl } from "./main"; +export type { + GetOriginalRequestUrlInput, + GetOriginalRequestUrlOutput, +} from "./types"; diff --git a/src/src/server/generic/lib/get-original-request-url/main.ts b/src/src/server/generic/lib/get-original-request-url/main.ts new file mode 100644 index 0000000..8a1f108 --- /dev/null +++ b/src/src/server/generic/lib/get-original-request-url/main.ts @@ -0,0 +1,40 @@ +import { trimEnd } from "es-toolkit/string"; +import { headers } from "next/headers"; + +import type { + GetOriginalRequestUrlInput, + GetOriginalRequestUrlOutput, +} from "./types"; + +import { getRequestUrl } from "../get-request-url"; + +export async function getOriginalRequestUrl({ + request, +}: GetOriginalRequestUrlInput): Promise { + const { requestUrl } = await getRequestUrl({ request: request }); + + const h = await headers(); + const url = new URL(requestUrl); + + const proto = + /proto="?([^";,\s]+)"?/i.exec(h.get("Forwarded") ?? "")?.[1]?.trim() || + h.get("X-Forwarded-Proto")?.split(",")[0]?.trim() || + url.protocol.replace(":", ""); + + const host = + /host="?([^";,\s]+)"?/i.exec(h.get("Forwarded") ?? "")?.[1]?.trim() || + h.get("X-Forwarded-Host")?.split(",")[0]?.trim() || + h.get("Host")?.trim() || + url.host; + + const prefix = h.get("X-Forwarded-Prefix")?.split(",")[0]?.trim() || ""; + + url.protocol = proto; + url.port = ""; + url.host = host; + url.pathname = trimEnd(prefix, "/") + url.pathname; + + const originalRequestUrl = url.toString(); + + return { originalRequestUrl: originalRequestUrl }; +} diff --git a/src/src/server/generic/lib/get-original-request-url/types.ts b/src/src/server/generic/lib/get-original-request-url/types.ts new file mode 100644 index 0000000..75a776b --- /dev/null +++ b/src/src/server/generic/lib/get-original-request-url/types.ts @@ -0,0 +1,7 @@ +export type GetOriginalRequestUrlInput = { + request?: Request; +}; + +export type GetOriginalRequestUrlOutput = { + originalRequestUrl: string; +}; diff --git a/src/src/server/generic/lib/get-request-url/index.ts b/src/src/server/generic/lib/get-request-url/index.ts new file mode 100644 index 0000000..d87dd00 --- /dev/null +++ b/src/src/server/generic/lib/get-request-url/index.ts @@ -0,0 +1,4 @@ +import "server-only"; + +export { getRequestUrl } from "./main"; +export type { GetRequestUrlInput, GetRequestUrlOutput } from "./types"; diff --git a/src/src/server/generic/lib/get-request-url/main.ts b/src/src/server/generic/lib/get-request-url/main.ts new file mode 100644 index 0000000..082804a --- /dev/null +++ b/src/src/server/generic/lib/get-request-url/main.ts @@ -0,0 +1,20 @@ +import { headers } from "next/headers"; + +import type { GetRequestUrlInput, GetRequestUrlOutput } from "./types"; + +import { serverGenericConstants } from "../../constants"; + +export async function getRequestUrl({ + request, +}: GetRequestUrlInput): Promise { + if (request === undefined) + return { + requestUrl: (await headers()).get( + serverGenericConstants.headers.requestUrl, + )!, + }; + + const requestUrl = request.url; + + return { requestUrl: requestUrl }; +} diff --git a/src/src/server/generic/lib/get-request-url/types.ts b/src/src/server/generic/lib/get-request-url/types.ts new file mode 100644 index 0000000..46e6ae3 --- /dev/null +++ b/src/src/server/generic/lib/get-request-url/types.ts @@ -0,0 +1,7 @@ +export type GetRequestUrlInput = { + request?: Request; +}; + +export type GetRequestUrlOutput = { + requestUrl: string; +}; diff --git a/src/src/server/orpc/vars/procedures/vars/test/vars/validate/main.ts b/src/src/server/orpc/vars/procedures/vars/test/vars/validate/main.ts index e8695d9..f294292 100644 --- a/src/src/server/orpc/vars/procedures/vars/test/vars/validate/main.ts +++ b/src/src/server/orpc/vars/procedures/vars/test/vars/validate/main.ts @@ -12,17 +12,18 @@ export const validate = orpcServerRootBase.test.validate locale: context.localeMiddleware.locale, }); - const response = await state.current.apis.icanhazdadjoke.getRandomJoke({ - headers: { - Accept: "application/json", - }, - throwOnError: true, - }); + const { data: getRandomJokeData } = + await state.current.apis.icanhazdadjoke.getRandomJoke({ + headers: { + Accept: "application/json", + }, + throwOnError: true, + }); return { message: context.localeMiddleware.locale === "en" - ? response.data.joke + ? getRandomJokeData.joke : localization.localize( msg({ message: