Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build(deps): update dependency zod to ^3.23.0 (#4202)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [zod](https://zod.dev) ([source](https://togithub.com/colinhacks/zod)) | [`^3.22.5` -> `^3.23.0`](https://renovatebot.com/diffs/npm/zod/3.22.5/3.23.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/zod/3.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/zod/3.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/zod/3.22.5/3.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/zod/3.22.5/3.23.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>colinhacks/zod (zod)</summary> ### [`v3.23.0`](https://togithub.com/colinhacks/zod/releases/tag/v3.23.0) [Compare Source](https://togithub.com/colinhacks/zod/compare/e7a9b9b3033991be6b4225f1be21da39c250bbb0...v3.23.0) Zod 3.23 is now available. This is the final `3.x` release before Zod 4.0. To try it out: ```sh npm install zod ``` #### Features ##### `z.string().date()` Zod can now validate ISO 8601 date strings. Thanks [@​igalklebanov](https://togithub.com/igalklebanov)! [https://github.com/colinhacks/zod/pull/1766](https://togithub.com/colinhacks/zod/pull/1766) ```ts const schema = z.string().date(); schema.parse("2022-01-01"); // OK ``` ##### `z.string().time()` Zod can now validate ISO 8601 time strings. Thanks [@​igalklebanov](https://togithub.com/igalklebanov)! [https://github.com/colinhacks/zod/pull/1766](https://togithub.com/colinhacks/zod/pull/1766) ```ts const schema = z.string().time(); schema.parse("12:00:00"); // OK ``` You can specify sub-second precision using the `precision` option: ```ts const schema = z.string().time({ precision: 3 }); schema.parse("12:00:00.123"); // OK schema.parse("12:00:00.123456"); // Error schema.parse("12:00:00"); // Error ``` ##### `z.string().duration()` Zod can now validate ISO 8601 duration strings. Thanks [@​mastermatt](https://togithub.com/mastermatt)! [https://github.com/colinhacks/zod/pull/3265](https://togithub.com/colinhacks/zod/pull/3265) ```ts const schema = z.string().duration(); schema.parse("P3Y6M4DT12H30M5S"); // OK ``` ##### Improvements to `z.string().datetime()` Thanks [@​bchrobot](https://togithub.com/bchrobot) [https://github.com/colinhacks/zod/pull/2522](https://togithub.com/colinhacks/zod/pull/2522) You can now allow *unqualified* (timezone-less) datetimes using the `local: true` flag. ```ts const schema = z.string().datetime({ local: true }); schema.parse("2022-01-01T12:00:00"); // OK ``` Plus, Zod now validates the day-of-month correctly to ensure no invalid dates (e.g. February 30th) pass validation. Thanks [@​szamanr](https://togithub.com/szamanr)! [https://github.com/colinhacks/zod/pull/3391](https://togithub.com/colinhacks/zod/pull/3391) ##### `z.string().base64()` Zod can now validate base64 strings. Thanks [@​StefanTerdell](https://togithub.com/StefanTerdell)! [https://github.com/colinhacks/zod/pull/3047](https://togithub.com/colinhacks/zod/pull/3047) ```ts const schema = z.string().base64(); schema.parse("SGVsbG8gV29ybGQ="); // OK ``` ##### Improved discriminated unions The following can now be used as discriminator keys in `z.discriminatedUnion()`: - `ZodOptional` - `ZodNullable` - `ZodReadonly` - `ZodBranded` - `ZodCatch` ```ts const schema = z.discriminatedUnion("type", [ z.object({ type: z.literal("A").optional(), value: z.number() }), z.object({ type: z.literal("B").nullable(), value: z.string() }), z.object({ type: z.literal("C").readonly(), value: z.boolean() }), z.object({ type: z.literal("D").brand<"D">(), value: z.boolean() }), z.object({ type: z.literal("E").catch("E"), value: z.unknown() }), ]); ``` ##### Misc - feature: allow falsy error message by [@​fernandollisboa](https://togithub.com/fernandollisboa) in [https://github.com/colinhacks/zod/pull/3178](https://togithub.com/colinhacks/zod/pull/3178) - feature: add attribute message to enum validatiion by [@​fernandollisboa](https://togithub.com/fernandollisboa) in [https://github.com/colinhacks/zod/pull/3169](https://togithub.com/colinhacks/zod/pull/3169) #### Breaking changes There are no breaking changes to the public API of Zod. However some changes can impact ecosystem tools that rely on Zod internals. ##### `ZodFirstPartySchemaTypes` Three new types have been added to the `ZodFirstPartySchemaTypes` union. This may impact some codegen libraries. [https://github.com/colinhacks/zod/pull/3247](https://togithub.com/colinhacks/zod/pull/3247) ```diff + | ZodPipeline<any, any> + | ZodReadonly<any> + | ZodSymbol; ``` ##### Default generics in `ZodType` The third argument of the `ZodType` base class now defaults to `unknown`. This makes it easier to define recursive schemas and write generic functions that accept Zod schemas. ```diff - class ZodType<Output = any, Def extends ZodTypeDef = ZodTypeDef, Input = Output> {} + class ZodType<Output = unknown, Def extends ZodTypeDef = ZodTypeDef, Input = unknown> {} ``` ##### Unrecognized keys in `.pick()` and `.omit()` This version fixes a bug where unknown keys were accidentally accepted in `.pick()` and `omit()`. This has been fixed, which could cause compiler errors in some user code. [https://github.com/colinhacks/zod/pull/3255](https://togithub.com/colinhacks/zod/pull/3255) ```ts z.object({ name: z.string() }).pick({ notAKey: true // no longer allowed }) ``` #### Bugfixes and performance - Bugfix: Enum.extract/exclude should not remove error mapping by [@​shaharke](https://togithub.com/shaharke) in [https://github.com/colinhacks/zod/pull/3240](https://togithub.com/colinhacks/zod/pull/3240) - Added latest stable Node and TypeScript versions to test matrix for up-to-date testing. by [@​m10rten](https://togithub.com/m10rten) in [https://github.com/colinhacks/zod/pull/3278](https://togithub.com/colinhacks/zod/pull/3278) - Add types to `ZodFirstPartySchemaTypes` by [@​MatthijsMud](https://togithub.com/MatthijsMud) in [https://github.com/colinhacks/zod/pull/3247](https://togithub.com/colinhacks/zod/pull/3247) - fix: make `input` of `.required()` readonly by [@​KATT](https://togithub.com/KATT) in [https://github.com/colinhacks/zod/pull/3301](https://togithub.com/colinhacks/zod/pull/3301) - add never props to safe parse return types by [@​schicks](https://togithub.com/schicks) in [https://github.com/colinhacks/zod/pull/3295](https://togithub.com/colinhacks/zod/pull/3295) - Reporting errors of the preprocess that is the second property of object by [@​yukukotani](https://togithub.com/yukukotani) in [https://github.com/colinhacks/zod/pull/2912](https://togithub.com/colinhacks/zod/pull/2912) - Improve `addQuestionMarks`, fix [#​2184](https://togithub.com/colinhacks/zod/issues/2184) by [@​colinhacks](https://togithub.com/colinhacks) in [https://github.com/colinhacks/zod/pull/3352](https://togithub.com/colinhacks/zod/pull/3352) - fix for njs by [@​dvv](https://togithub.com/dvv) in [https://github.com/colinhacks/zod/pull/3063](https://togithub.com/colinhacks/zod/pull/3063) - only look in `src` for `bun test` by [@​rotu](https://togithub.com/rotu) in [https://github.com/colinhacks/zod/pull/3038](https://togithub.com/colinhacks/zod/pull/3038) - Restrict .pick()/.omit() mask type to only known properties by [@​petrovmiroslav](https://togithub.com/petrovmiroslav) in [https://github.com/colinhacks/zod/pull/3255](https://togithub.com/colinhacks/zod/pull/3255) - Make EnumValues generic by [@​IlyaSemenov](https://togithub.com/IlyaSemenov) in [https://github.com/colinhacks/zod/pull/2338](https://togithub.com/colinhacks/zod/pull/2338) - perf: avoid unnecessary error maps by [@​xuxucode](https://togithub.com/xuxucode) in [https://github.com/colinhacks/zod/pull/2532](https://togithub.com/colinhacks/zod/pull/2532) - Bugfix: z.record().parse should not filter out undefined values by [@​raik-casimiro](https://togithub.com/raik-casimiro) in [https://github.com/colinhacks/zod/pull/3251](https://togithub.com/colinhacks/zod/pull/3251) - Use Set.has instead of Array.indexOf for enum comparison (perf improvement) by [@​jmike](https://togithub.com/jmike) in [https://github.com/colinhacks/zod/pull/2659](https://togithub.com/colinhacks/zod/pull/2659) - \[2888] fix emails with single quotes failing validation by [@​Mansehej](https://togithub.com/Mansehej) in [https://github.com/colinhacks/zod/pull/2889](https://togithub.com/colinhacks/zod/pull/2889) - Bugfix: Commas are incorrectly allowed in email regex. by [@​mokemoko](https://togithub.com/mokemoko) in [https://github.com/colinhacks/zod/pull/3286](https://togithub.com/colinhacks/zod/pull/3286) - Fix regex in cuid2 validation to be what cuid2 library expects by [@​etareduction](https://togithub.com/etareduction) in [https://github.com/colinhacks/zod/pull/2961](https://togithub.com/colinhacks/zod/pull/2961) - Make depcruise pass by [@​rotu](https://togithub.com/rotu) in [https://github.com/colinhacks/zod/pull/3037](https://togithub.com/colinhacks/zod/pull/3037) - Faster ipv4 parsing by [@​colinhacks](https://togithub.com/colinhacks) in [https://github.com/colinhacks/zod/pull/3413](https://togithub.com/colinhacks/zod/pull/3413) #### Docs and ecosystem - chore: add pastel package to ecosystem by [@​jlarmstrongiv](https://togithub.com/jlarmstrongiv) in [https://github.com/colinhacks/zod/pull/2949](https://togithub.com/colinhacks/zod/pull/2949) - added required styles. by [@​Ansh101112](https://togithub.com/Ansh101112) in [https://github.com/colinhacks/zod/pull/2955](https://togithub.com/colinhacks/zod/pull/2955) - Feature/better chinese translate by [@​NWYLZW](https://togithub.com/NWYLZW) in [https://github.com/colinhacks/zod/pull/2988](https://togithub.com/colinhacks/zod/pull/2988) - Fix z.instanceof example by [@​alexnault](https://togithub.com/alexnault) in [https://github.com/colinhacks/zod/pull/3003](https://togithub.com/colinhacks/zod/pull/3003) - Add documentation to Zod enum exclude/extract functions by [@​shaharke](https://togithub.com/shaharke) in [https://github.com/colinhacks/zod/pull/3044](https://togithub.com/colinhacks/zod/pull/3044) - Add docs for coercing nullish values by [@​rbuetzer](https://togithub.com/rbuetzer) in [https://github.com/colinhacks/zod/pull/3067](https://togithub.com/colinhacks/zod/pull/3067) - Adds `zod-dev` utility to eco-system section by [@​schalkventer](https://togithub.com/schalkventer) in [https://github.com/colinhacks/zod/pull/3113](https://togithub.com/colinhacks/zod/pull/3113) - Add zhttp library to docs by [@​evertdespiegeleer](https://togithub.com/evertdespiegeleer) in [https://github.com/colinhacks/zod/pull/3134](https://togithub.com/colinhacks/zod/pull/3134) - fixed Readme typo in NaNs example by [@​RashJrEdmund](https://togithub.com/RashJrEdmund) in [https://github.com/colinhacks/zod/pull/3181](https://togithub.com/colinhacks/zod/pull/3181) - adds zod-config library to the ecosystem by [@​alexmarqs](https://togithub.com/alexmarqs) in [https://github.com/colinhacks/zod/pull/3200](https://togithub.com/colinhacks/zod/pull/3200) - docs: update link and description of conform integration by [@​g1eny0ung](https://togithub.com/g1eny0ung) in [https://github.com/colinhacks/zod/pull/3238](https://togithub.com/colinhacks/zod/pull/3238) - Update README.md by [@​yugmade13](https://togithub.com/yugmade13) in [https://github.com/colinhacks/zod/pull/3317](https://togithub.com/colinhacks/zod/pull/3317) - feat: overhaul generics section of readme to include more details on z.ZodTypeAny usage by [@​braden-w](https://togithub.com/braden-w) in [https://github.com/colinhacks/zod/pull/3321](https://togithub.com/colinhacks/zod/pull/3321) - Fix small typos by [@​mmorearty](https://togithub.com/mmorearty) in [https://github.com/colinhacks/zod/pull/3336](https://togithub.com/colinhacks/zod/pull/3336) - docs: update Chinese docs and correct some of the typos by [@​jiechen257](https://togithub.com/jiechen257) in [https://github.com/colinhacks/zod/pull/3338](https://togithub.com/colinhacks/zod/pull/3338) - docs: improve chinese readme by [@​luckrnx09](https://togithub.com/luckrnx09) in [https://github.com/colinhacks/zod/pull/3371](https://togithub.com/colinhacks/zod/pull/3371) - Add java-to-zod in X to Zod section by [@​ivangreene](https://togithub.com/ivangreene) in [https://github.com/colinhacks/zod/pull/3385](https://togithub.com/colinhacks/zod/pull/3385) - docs: add `orval` to "X to Zod" ecosystems by [@​soartec-lab](https://togithub.com/soartec-lab) in [https://github.com/colinhacks/zod/pull/3397](https://togithub.com/colinhacks/zod/pull/3397) #### New Contributors - [@​jlarmstrongiv](https://togithub.com/jlarmstrongiv) made their first contribution in [https://github.com/colinhacks/zod/pull/2949](https://togithub.com/colinhacks/zod/pull/2949) - [@​Ansh101112](https://togithub.com/Ansh101112) made their first contribution in [https://github.com/colinhacks/zod/pull/2955](https://togithub.com/colinhacks/zod/pull/2955) - [@​NWYLZW](https://togithub.com/NWYLZW) made their first contribution in [https://github.com/colinhacks/zod/pull/2988](https://togithub.com/colinhacks/zod/pull/2988) - [@​alexnault](https://togithub.com/alexnault) made their first contribution in [https://github.com/colinhacks/zod/pull/3003](https://togithub.com/colinhacks/zod/pull/3003) - [@​shaharke](https://togithub.com/shaharke) made their first contribution in [https://github.com/colinhacks/zod/pull/3044](https://togithub.com/colinhacks/zod/pull/3044) - [@​rbuetzer](https://togithub.com/rbuetzer) made their first contribution in [https://github.com/colinhacks/zod/pull/3067](https://togithub.com/colinhacks/zod/pull/3067) - [@​schalkventer](https://togithub.com/schalkventer) made their first contribution in [https://github.com/colinhacks/zod/pull/3113](https://togithub.com/colinhacks/zod/pull/3113) - [@​evertdespiegeleer](https://togithub.com/evertdespiegeleer) made their first contribution in [https://github.com/colinhacks/zod/pull/3134](https://togithub.com/colinhacks/zod/pull/3134) - [@​RashJrEdmund](https://togithub.com/RashJrEdmund) made their first contribution in [https://github.com/colinhacks/zod/pull/3181](https://togithub.com/colinhacks/zod/pull/3181) - [@​alexmarqs](https://togithub.com/alexmarqs) made their first contribution in [https://github.com/colinhacks/zod/pull/3200](https://togithub.com/colinhacks/zod/pull/3200) - [@​JonnyBurger](https://togithub.com/JonnyBurger) made their first contribution in [https://github.com/colinhacks/zod/pull/3214](https://togithub.com/colinhacks/zod/pull/3214) - [@​fernandollisboa](https://togithub.com/fernandollisboa) made their first contribution in [https://github.com/colinhacks/zod/pull/3178](https://togithub.com/colinhacks/zod/pull/3178) - [@​g1eny0ung](https://togithub.com/g1eny0ung) made their first contribution in [https://github.com/colinhacks/zod/pull/3238](https://togithub.com/colinhacks/zod/pull/3238) - [@​m10rten](https://togithub.com/m10rten) made their first contribution in [https://github.com/colinhacks/zod/pull/3278](https://togithub.com/colinhacks/zod/pull/3278) - [@​MatthijsMud](https://togithub.com/MatthijsMud) made their first contribution in [https://github.com/colinhacks/zod/pull/3247](https://togithub.com/colinhacks/zod/pull/3247) - [@​yugmade13](https://togithub.com/yugmade13) made their first contribution in [https://github.com/colinhacks/zod/pull/3317](https://togithub.com/colinhacks/zod/pull/3317) - [@​braden-w](https://togithub.com/braden-w) made their first contribution in [https://github.com/colinhacks/zod/pull/3321](https://togithub.com/colinhacks/zod/pull/3321) - [@​mmorearty](https://togithub.com/mmorearty) made their first contribution in [https://github.com/colinhacks/zod/pull/3336](https://togithub.com/colinhacks/zod/pull/3336) - [@​schicks](https://togithub.com/schicks) made their first contribution in [https://github.com/colinhacks/zod/pull/3295](https://togithub.com/colinhacks/zod/pull/3295) - [@​yukukotani](https://togithub.com/yukukotani) made their first contribution in [https://github.com/colinhacks/zod/pull/2912](https://togithub.com/colinhacks/zod/pull/2912) - [@​jiechen257](https://togithub.com/jiechen257) made their first contribution in [https://github.com/colinhacks/zod/pull/3338](https://togithub.com/colinhacks/zod/pull/3338) - [@​luckrnx09](https://togithub.com/luckrnx09) made their first contribution in [https://github.com/colinhacks/zod/pull/3371](https://togithub.com/colinhacks/zod/pull/3371) - [@​dvv](https://togithub.com/dvv) made their first contribution in [https://github.com/colinhacks/zod/pull/3063](https://togithub.com/colinhacks/zod/pull/3063) - [@​rotu](https://togithub.com/rotu) made their first contribution in [https://github.com/colinhacks/zod/pull/3038](https://togithub.com/colinhacks/zod/pull/3038) - [@​petrovmiroslav](https://togithub.com/petrovmiroslav) made their first contribution in [https://github.com/colinhacks/zod/pull/3255](https://togithub.com/colinhacks/zod/pull/3255) - [@​ivoilic](https://togithub.com/ivoilic) made their first contribution in [https://github.com/colinhacks/zod/pull/2364](https://togithub.com/colinhacks/zod/pull/2364) - [@​telemakhos](https://togithub.com/telemakhos) made their first contribution in [https://github.com/colinhacks/zod/pull/3388](https://togithub.com/colinhacks/zod/pull/3388) - [@​bchrobot](https://togithub.com/bchrobot) made their first contribution in [https://github.com/colinhacks/zod/pull/2522](https://togithub.com/colinhacks/zod/pull/2522) - [@​szamanr](https://togithub.com/szamanr) made their first contribution in [https://github.com/colinhacks/zod/pull/3391](https://togithub.com/colinhacks/zod/pull/3391) - [@​ivangreene](https://togithub.com/ivangreene) made their first contribution in [https://github.com/colinhacks/zod/pull/3385](https://togithub.com/colinhacks/zod/pull/3385) - [@​xuxucode](https://togithub.com/xuxucode) made their first contribution in [https://github.com/colinhacks/zod/pull/2532](https://togithub.com/colinhacks/zod/pull/2532) - [@​raik-casimiro](https://togithub.com/raik-casimiro) made their first contribution in [https://github.com/colinhacks/zod/pull/3251](https://togithub.com/colinhacks/zod/pull/3251) - [@​jmike](https://togithub.com/jmike) made their first contribution in [https://github.com/colinhacks/zod/pull/2659](https://togithub.com/colinhacks/zod/pull/2659) - [@​Mansehej](https://togithub.com/Mansehej) made their first contribution in [https://github.com/colinhacks/zod/pull/2889](https://togithub.com/colinhacks/zod/pull/2889) - [@​mokemoko](https://togithub.com/mokemoko) made their first contribution in [https://github.com/colinhacks/zod/pull/3286](https://togithub.com/colinhacks/zod/pull/3286) - [@​etareduction](https://togithub.com/etareduction) made their first contribution in [https://github.com/colinhacks/zod/pull/2961](https://togithub.com/colinhacks/zod/pull/2961) - [@​mastermatt](https://togithub.com/mastermatt) made their first contribution in [https://github.com/colinhacks/zod/pull/3265](https://togithub.com/colinhacks/zod/pull/3265) - [@​soartec-lab](https://togithub.com/soartec-lab) made their first contribution in [https://github.com/colinhacks/zod/pull/3397](https://togithub.com/colinhacks/zod/pull/3397) **Full Changelog**: colinhacks/zod@v3.22.4...v3.23.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/inabagumi/shinju-date). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjMxMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
- Loading branch information