From f2b5bae8664f70baae6d7acc7c574e0b84118050 Mon Sep 17 00:00:00 2001 From: javayhu Date: Thu, 14 Aug 2025 23:12:44 +0800 Subject: [PATCH] feat: upgrade react-hook-form & zod & @hookform/resolvers fix zod validation errors in form submission --- package.json | 6 +-- pnpm-lock.yaml | 141 +++++++++++++++++++++++++------------------------ 2 files changed, 76 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index 460efe3..2eb576c 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@dnd-kit/modifiers": "^9.0.0", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", - "@hookform/resolvers": "^4.1.0", + "@hookform/resolvers": "^5.2.1", "@marsidev/react-turnstile": "^1.1.0", "@mendable/firecrawl-js": "^1.29.1", "@next/third-parties": "^15.3.0", @@ -112,7 +112,7 @@ "react": "^19.0.0", "react-day-picker": "8.10.1", "react-dom": "^19.0.0", - "react-hook-form": "^7.54.2", + "react-hook-form": "^7.62.0", "react-remove-scroll": "^2.6.3", "react-resizable-panels": "^2.1.7", "react-tweet": "^3.2.2", @@ -130,7 +130,7 @@ "use-intl": "^3.26.5", "use-media": "^1.5.0", "vaul": "^1.1.2", - "zod": "^4.0.14", + "zod": "^4.0.17", "zustand": "^5.0.3" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 87c57d2..13a6594 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,22 +10,22 @@ importers: dependencies: '@ai-sdk/deepseek': specifier: ^1.0.0 - version: 1.0.0(zod@4.0.14) + version: 1.0.0(zod@4.0.17) '@ai-sdk/fal': specifier: ^1.0.0 - version: 1.0.0(zod@4.0.14) + version: 1.0.0(zod@4.0.17) '@ai-sdk/fireworks': specifier: ^1.0.0 - version: 1.0.0(zod@4.0.14) + version: 1.0.0(zod@4.0.17) '@ai-sdk/google': specifier: ^2.0.0 - version: 2.0.0(zod@4.0.14) + version: 2.0.0(zod@4.0.17) '@ai-sdk/openai': specifier: ^2.0.0 - version: 2.0.0(zod@4.0.14) + version: 2.0.0(zod@4.0.17) '@ai-sdk/replicate': specifier: ^1.0.0 - version: 1.0.0(zod@4.0.14) + version: 1.0.0(zod@4.0.17) '@base-ui-components/react': specifier: 1.0.0-beta.0 version: 1.0.0-beta.0(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -45,8 +45,8 @@ importers: specifier: ^3.2.2 version: 3.2.2(react@19.0.0) '@hookform/resolvers': - specifier: ^4.1.0 - version: 4.1.0(react-hook-form@7.54.2(react@19.0.0)) + specifier: ^5.2.1 + version: 5.2.1(react-hook-form@7.62.0(react@19.0.0)) '@marsidev/react-turnstile': specifier: ^1.1.0 version: 1.1.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -61,7 +61,7 @@ importers: version: 1.0.7(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@openrouter/ai-sdk-provider': specifier: ^1.0.0-beta.6 - version: 1.0.0-beta.6(ai@5.0.0(zod@4.0.14))(zod@4.0.14) + version: 1.0.0-beta.6(ai@5.0.0(zod@4.0.17))(zod@4.0.17) '@orama/orama': specifier: ^3.1.4 version: 3.1.4 @@ -184,7 +184,7 @@ importers: version: 1.9.0(react@19.0.0) ai: specifier: ^5.0.0 - version: 5.0.0(zod@4.0.14) + version: 5.0.0(zod@4.0.17) better-auth: specifier: ^1.1.19 version: 1.1.19 @@ -253,7 +253,7 @@ importers: version: 4.0.0(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(typescript@5.8.3) next-safe-action: specifier: ^7.10.4 - version: 7.10.4(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@4.0.14) + version: 7.10.4(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@4.0.17) next-themes: specifier: ^0.4.4 version: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -273,8 +273,8 @@ importers: specifier: ^19.0.0 version: 19.0.0(react@19.0.0) react-hook-form: - specifier: ^7.54.2 - version: 7.54.2(react@19.0.0) + specifier: ^7.62.0 + version: 7.62.0(react@19.0.0) react-remove-scroll: specifier: ^2.6.3 version: 2.6.3(@types/react@19.0.9)(react@19.0.0) @@ -327,8 +327,8 @@ importers: specifier: ^1.1.2 version: 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) zod: - specifier: ^4.0.14 - version: 4.0.14 + specifier: ^4.0.17 + version: 4.0.17 zustand: specifier: ^5.0.3 version: 5.0.3(@types/react@19.0.9)(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)) @@ -1415,10 +1415,10 @@ packages: '@hexagon/base64@1.1.28': resolution: {integrity: sha512-lhqDEAvWixy3bZ+UOYbPwUbBkwBq5C1LAJ/xPC8Oi+lL54oyakv/npbA0aU2hgCsx/1NUd4IBvV03+aUBWxerw==} - '@hookform/resolvers@4.1.0': - resolution: {integrity: sha512-fX/uHKb+OOCpACLc6enuTQsf0ZpRrKbeBBPETg5PCPLCIYV6osP2Bw6ezuclM61lH+wBF9eXcuC0+BFh9XOEnQ==} + '@hookform/resolvers@5.2.1': + resolution: {integrity: sha512-u0+6X58gkjMcxur1wRWokA7XsiiBJ6aK17aPZxhkoYiK5J+HcTx0Vhu9ovXe6H+dVpO6cjrn2FkJTryXEMlryQ==} peerDependencies: - react-hook-form: ^7.0.0 + react-hook-form: ^7.55.0 '@img/sharp-darwin-arm64@0.33.5': resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} @@ -3314,6 +3314,9 @@ packages: '@standard-schema/spec@1.0.0': resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} + '@standard-schema/utils@0.3.0': + resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} + '@stripe/stripe-js@5.6.0': resolution: {integrity: sha512-w8CEY73X/7tw2KKlL3iOk679V9bWseE4GzNz3zlaYxcTjmcmWOathRb0emgo/QQ3eoNzmq68+2Y2gxluAv3xGw==} engines: {node: '>=12.16'} @@ -5194,8 +5197,8 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - react-hook-form@7.54.2: - resolution: {integrity: sha512-eHpAUgUjWbZocoQYUHposymRb4ZP6d0uwUnooL2uOybA9/3tPUvoAKqEWK1WaSiTxxOfTpffNZP7QwlnM3/gEg==} + react-hook-form@7.62.0: + resolution: {integrity: sha512-7KWFejc98xqG/F4bAxpL41NB3o1nnvQO1RWZT3TqRZYL8RryQETGfEdVnJN2fy1crCiBLLjkRBVK05j24FxJGA==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 @@ -5781,8 +5784,8 @@ packages: zod@3.25.64: resolution: {integrity: sha512-hbP9FpSZf7pkS7hRVUrOjhwKJNyampPgtXKc3AN6DsWtoHsg2Sb4SQaS4Tcay380zSwd2VPo9G9180emBACp5g==} - zod@4.0.14: - resolution: {integrity: sha512-nGFJTnJN6cM2v9kXL+SOBq3AtjQby3Mv5ySGFof5UGRHrRioSJ5iG680cYNjE/yWk671nROcpPj4hAS8nyLhSw==} + zod@4.0.17: + resolution: {integrity: sha512-1PHjlYRevNxxdy2JZ8JcNAw7rX8V9P1AKkP+x/xZfxB0K5FYfuV+Ug6P/6NVSR2jHQ+FzDDoDHS04nYUsOIyLQ==} zustand@5.0.3: resolution: {integrity: sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==} @@ -5807,67 +5810,67 @@ packages: snapshots: - '@ai-sdk/deepseek@1.0.0(zod@4.0.14)': + '@ai-sdk/deepseek@1.0.0(zod@4.0.17)': dependencies: - '@ai-sdk/openai-compatible': 1.0.0(zod@4.0.14) + '@ai-sdk/openai-compatible': 1.0.0(zod@4.0.17) '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.0(zod@4.0.14) - zod: 4.0.14 + '@ai-sdk/provider-utils': 3.0.0(zod@4.0.17) + zod: 4.0.17 - '@ai-sdk/fal@1.0.0(zod@4.0.14)': + '@ai-sdk/fal@1.0.0(zod@4.0.17)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.0(zod@4.0.14) - zod: 4.0.14 + '@ai-sdk/provider-utils': 3.0.0(zod@4.0.17) + zod: 4.0.17 - '@ai-sdk/fireworks@1.0.0(zod@4.0.14)': + '@ai-sdk/fireworks@1.0.0(zod@4.0.17)': dependencies: - '@ai-sdk/openai-compatible': 1.0.0(zod@4.0.14) + '@ai-sdk/openai-compatible': 1.0.0(zod@4.0.17) '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.0(zod@4.0.14) - zod: 4.0.14 + '@ai-sdk/provider-utils': 3.0.0(zod@4.0.17) + zod: 4.0.17 - '@ai-sdk/gateway@1.0.0(zod@4.0.14)': + '@ai-sdk/gateway@1.0.0(zod@4.0.17)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.0(zod@4.0.14) - zod: 4.0.14 + '@ai-sdk/provider-utils': 3.0.0(zod@4.0.17) + zod: 4.0.17 - '@ai-sdk/google@2.0.0(zod@4.0.14)': + '@ai-sdk/google@2.0.0(zod@4.0.17)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.0(zod@4.0.14) - zod: 4.0.14 + '@ai-sdk/provider-utils': 3.0.0(zod@4.0.17) + zod: 4.0.17 - '@ai-sdk/openai-compatible@1.0.0(zod@4.0.14)': + '@ai-sdk/openai-compatible@1.0.0(zod@4.0.17)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.0(zod@4.0.14) - zod: 4.0.14 + '@ai-sdk/provider-utils': 3.0.0(zod@4.0.17) + zod: 4.0.17 - '@ai-sdk/openai@2.0.0(zod@4.0.14)': + '@ai-sdk/openai@2.0.0(zod@4.0.17)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.0(zod@4.0.14) - zod: 4.0.14 + '@ai-sdk/provider-utils': 3.0.0(zod@4.0.17) + zod: 4.0.17 - '@ai-sdk/provider-utils@3.0.0(zod@4.0.14)': + '@ai-sdk/provider-utils@3.0.0(zod@4.0.17)': dependencies: '@ai-sdk/provider': 2.0.0 '@standard-schema/spec': 1.0.0 eventsource-parser: 3.0.3 - zod: 4.0.14 - zod-to-json-schema: 3.24.6(zod@4.0.14) + zod: 4.0.17 + zod-to-json-schema: 3.24.6(zod@4.0.17) '@ai-sdk/provider@2.0.0': dependencies: json-schema: 0.4.0 - '@ai-sdk/replicate@1.0.0(zod@4.0.14)': + '@ai-sdk/replicate@1.0.0(zod@4.0.17)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.0(zod@4.0.14) - zod: 4.0.14 + '@ai-sdk/provider-utils': 3.0.0(zod@4.0.17) + zod: 4.0.17 '@alloc/quick-lru@5.2.0': {} @@ -6530,10 +6533,10 @@ snapshots: '@hexagon/base64@1.1.28': {} - '@hookform/resolvers@4.1.0(react-hook-form@7.54.2(react@19.0.0))': + '@hookform/resolvers@5.2.1(react-hook-form@7.62.0(react@19.0.0))': dependencies: - caniuse-lite: 1.0.30001699 - react-hook-form: 7.54.2(react@19.0.0) + '@standard-schema/utils': 0.3.0 + react-hook-form: 7.62.0(react@19.0.0) '@img/sharp-darwin-arm64@0.33.5': optionalDependencies: @@ -6781,10 +6784,10 @@ snapshots: dependencies: '@openpanel/sdk': 1.0.0 - '@openrouter/ai-sdk-provider@1.0.0-beta.6(ai@5.0.0(zod@4.0.14))(zod@4.0.14)': + '@openrouter/ai-sdk-provider@1.0.0-beta.6(ai@5.0.0(zod@4.0.17))(zod@4.0.17)': dependencies: - ai: 5.0.0(zod@4.0.14) - zod: 4.0.14 + ai: 5.0.0(zod@4.0.17) + zod: 4.0.17 '@opentelemetry/api@1.9.0': {} @@ -8504,6 +8507,8 @@ snapshots: '@standard-schema/spec@1.0.0': {} + '@standard-schema/utils@0.3.0': {} + '@stripe/stripe-js@5.6.0': {} '@swc/counter@0.1.3': {} @@ -8727,13 +8732,13 @@ snapshots: acorn@8.14.0: {} - ai@5.0.0(zod@4.0.14): + ai@5.0.0(zod@4.0.17): dependencies: - '@ai-sdk/gateway': 1.0.0(zod@4.0.14) + '@ai-sdk/gateway': 1.0.0(zod@4.0.17) '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.0(zod@4.0.14) + '@ai-sdk/provider-utils': 3.0.0(zod@4.0.17) '@opentelemetry/api': 1.9.0 - zod: 4.0.14 + zod: 4.0.17 ansi-regex@5.0.1: {} @@ -9458,7 +9463,7 @@ snapshots: tinyexec: 1.0.1 tinyglobby: 0.2.14 unist-util-visit: 5.0.0 - zod: 4.0.14 + zod: 4.0.17 optionalDependencies: next: 15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 @@ -10319,13 +10324,13 @@ snapshots: optionalDependencies: typescript: 5.8.3 - next-safe-action@7.10.4(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@4.0.14): + next-safe-action@7.10.4(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@4.0.17): dependencies: next: 15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) optionalDependencies: - zod: 4.0.14 + zod: 4.0.17 next-themes@0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: @@ -10738,7 +10743,7 @@ snapshots: - supports-color - utf-8-validate - react-hook-form@7.54.2(react@19.0.0): + react-hook-form@7.62.0(react@19.0.0): dependencies: react: 19.0.0 @@ -11419,9 +11424,9 @@ snapshots: dependencies: zod: 3.25.64 - zod-to-json-schema@3.24.6(zod@4.0.14): + zod-to-json-schema@3.24.6(zod@4.0.17): dependencies: - zod: 4.0.14 + zod: 4.0.17 zod-validation-error@3.5.2(zod@3.25.64): dependencies: @@ -11429,7 +11434,7 @@ snapshots: zod@3.25.64: {} - zod@4.0.14: {} + zod@4.0.17: {} zustand@5.0.3(@types/react@19.0.9)(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)): optionalDependencies: