From 691d1aecf512ada2c17d8c33ff92c3453f611f4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicole=20Miko=C5=82ajczyk?= Date: Sun, 25 May 2025 14:47:22 +0200 Subject: [PATCH] Update valibot, finally MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nicole Mikołajczyk --- packages/pl-api/lib/entities/utils.ts | 15 +++++++++------ packages/pl-api/package.json | 4 ++-- packages/pl-api/yarn.lock | 8 ++++---- packages/pl-fe/package.json | 4 ++-- packages/pl-fe/src/schemas/utils.ts | 15 +++++++++------ packages/pl-fe/yarn.lock | 18 +++++++++--------- 6 files changed, 35 insertions(+), 29 deletions(-) diff --git a/packages/pl-api/lib/entities/utils.ts b/packages/pl-api/lib/entities/utils.ts index 78250391a..3c54d0202 100644 --- a/packages/pl-api/lib/entities/utils.ts +++ b/packages/pl-api/lib/entities/utils.ts @@ -30,11 +30,14 @@ const emojiSchema = v.pipe(v.string(), v.emoji()); const mimeSchema = v.pipe(v.string(), v.regex(/^\w+\/[-+.\w]+$/)); /** valibot schema to force the value into an object, if it isn't already. */ -const coerceObject = (shape: T) => - v.pipe( - v.any(), - v.transform((input) => typeof input === 'object' && input !== null ? input : {}), - v.object(shape), - ); +const coerceObject = (shape: T): v.ObjectSchema => + v.optional( + v.pipe( + v.any(), + v.transform((input) => typeof input === 'object' && input !== null ? input : {}), + v.object(shape), + ), + {}, + ) as any; export { filteredArray, emojiSchema, datetimeSchema, dateSchema, mimeSchema, coerceObject }; diff --git a/packages/pl-api/package.json b/packages/pl-api/package.json index c62ab1309..3b4786977 100644 --- a/packages/pl-api/package.json +++ b/packages/pl-api/package.json @@ -1,6 +1,6 @@ { "name": "pl-api", - "version": "1.0.0-rc.65", + "version": "1.0.0-rc.66", "type": "module", "homepage": "https://github.com/mkljczk/pl-fe/tree/develop/packages/pl-api", "repository": { @@ -49,7 +49,7 @@ "object-to-formdata": "^4.5.1", "query-string": "^9.1.1", "semver": "^7.7.1", - "valibot": "^1.0.0-beta.12" + "valibot": "^1.1.0" }, "module": "./dist/main.es.js", "types": "dist/main.d.ts", diff --git a/packages/pl-api/yarn.lock b/packages/pl-api/yarn.lock index 87006a307..d193ea1da 100644 --- a/packages/pl-api/yarn.lock +++ b/packages/pl-api/yarn.lock @@ -2875,10 +2875,10 @@ uri-js@^4.2.2, uri-js@^4.4.1: dependencies: punycode "^2.1.0" -valibot@^1.0.0-beta.12: - version "1.0.0-beta.12" - resolved "https://registry.yarnpkg.com/valibot/-/valibot-1.0.0-beta.12.tgz#7c0457c8b86b47c3b04fe66e990a589c79eae96a" - integrity sha512-j3WIxJ0pmUFMfdfUECn3YnZPYOiG0yHYcFEa/+RVgo0I+MXE3ToLt7gNRLtY5pwGfgNmsmhenGZfU5suu9ijUA== +valibot@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/valibot/-/valibot-1.1.0.tgz#873bb1af9e1577391690307bfe0520bd1360ec2d" + integrity sha512-Nk8lX30Qhu+9txPYTwM0cFlWLdPFsFr6LblzqIySfbZph9+BFsAHsNvHOymEviUepeIW6KFHzpX8TKhbptBXXw== vite-plugin-dts@^4.5.0: version "4.5.0" diff --git a/packages/pl-fe/package.json b/packages/pl-fe/package.json index 90451eba6..78ece3499 100644 --- a/packages/pl-fe/package.json +++ b/packages/pl-fe/package.json @@ -104,7 +104,7 @@ "multiselect-react-dropdown": "^2.0.25", "mutative": "^1.1.0", "path-browserify": "^1.0.1", - "pl-api": "^1.0.0-rc.64", + "pl-api": "^1.0.0-rc.66", "postcss": "^8.5.3", "process": "^0.11.10", "punycode": "^2.1.1", @@ -138,7 +138,7 @@ "tiny-queue": "^0.2.1", "use-mutative": "^1.2.1", "util": "^0.12.5", - "valibot": "^1.0.0-beta.12", + "valibot": "^1.1.0", "zustand": "^5.0.3", "zustand-mutative": "^1.2.0" }, diff --git a/packages/pl-fe/src/schemas/utils.ts b/packages/pl-fe/src/schemas/utils.ts index 1cc70c64e..d94ba71fa 100644 --- a/packages/pl-fe/src/schemas/utils.ts +++ b/packages/pl-fe/src/schemas/utils.ts @@ -13,11 +13,14 @@ const filteredArray = (schema: v.BaseSchema>) => ); /** valibot schema to force the value into an object, if it isn't already. */ -const coerceObject = (shape: T) => - v.pipe( - v.any(), - v.transform((input) => typeof input === 'object' ? input : {}), - v.object(shape), - ); +const coerceObject = (shape: T): v.ObjectSchema => + v.optional( + v.pipe( + v.any(), + v.transform((input) => typeof input === 'object' && input !== null ? input : {}), + v.object(shape), + ), + {}, + ) as any; export { filteredArray, coerceObject }; diff --git a/packages/pl-fe/yarn.lock b/packages/pl-fe/yarn.lock index 0ccc87709..44c3b2a38 100644 --- a/packages/pl-fe/yarn.lock +++ b/packages/pl-fe/yarn.lock @@ -6863,10 +6863,10 @@ pkg-dir@^4.1.0: dependencies: find-up "^4.0.0" -pl-api@^1.0.0-rc.64: - version "1.0.0-rc.64" - resolved "https://registry.yarnpkg.com/pl-api/-/pl-api-1.0.0-rc.64.tgz#9f1951362b6bea70fbad2286612219a235756618" - integrity sha512-WNa79HgXhff0u5Kvz2kRa+avKOIGYbNmOFfIBRJQqwnmK7xrehxkJovMwZqeJ8fxmtrLI4lMNGdSPwWlBZKGkw== +pl-api@^1.0.0-rc.66: + version "1.0.0-rc.66" + resolved "https://registry.yarnpkg.com/pl-api/-/pl-api-1.0.0-rc.66.tgz#07c1b44b201c014dae88ce6100ab9706ed7a0f6b" + integrity sha512-WqSEZKY/7z4ADggYI3jVsaClb+Q8tW+W64ZlVsWqeKAx1uNJbatMG1zRh1MlaxVj+d86zFFKQvF+PN1Uqcxa1g== dependencies: blurhash "^2.0.5" http-link-header "^1.1.3" @@ -6876,7 +6876,7 @@ pl-api@^1.0.0-rc.64: object-to-formdata "^4.5.1" query-string "^9.1.1" semver "^7.7.1" - valibot "^1.0.0-beta.12" + valibot "^1.1.0" possible-typed-array-names@^1.0.0: version "1.0.0" @@ -8892,10 +8892,10 @@ util@^0.12.5: is-typed-array "^1.1.3" which-typed-array "^1.1.2" -valibot@^1.0.0-beta.12: - version "1.0.0-beta.12" - resolved "https://registry.yarnpkg.com/valibot/-/valibot-1.0.0-beta.12.tgz#7c0457c8b86b47c3b04fe66e990a589c79eae96a" - integrity sha512-j3WIxJ0pmUFMfdfUECn3YnZPYOiG0yHYcFEa/+RVgo0I+MXE3ToLt7gNRLtY5pwGfgNmsmhenGZfU5suu9ijUA== +valibot@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/valibot/-/valibot-1.1.0.tgz#873bb1af9e1577391690307bfe0520bd1360ec2d" + integrity sha512-Nk8lX30Qhu+9txPYTwM0cFlWLdPFsFr6LblzqIySfbZph9+BFsAHsNvHOymEviUepeIW6KFHzpX8TKhbptBXXw== value-equal@^1.0.1: version "1.0.1"