Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(deps): update dependency zod to v3.23.0 (#176)
[![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)! [colinhacks/zod#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)! [colinhacks/zod#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)! [colinhacks/zod#3265 ```ts const schema = z.string().duration(); schema.parse("P3Y6M4DT12H30M5S"); // OK ``` ##### Improvements to `z.string().datetime()` Thanks [@​bchrobot](https://togithub.com/bchrobot) [colinhacks/zod#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)! [colinhacks/zod#3391 ##### `z.string().base64()` Zod can now validate base64 strings. Thanks [@​StefanTerdell](https://togithub.com/StefanTerdell)! [colinhacks/zod#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 [colinhacks/zod#3178 - feature: add attribute message to enum validatiion by [@​fernandollisboa](https://togithub.com/fernandollisboa) in [colinhacks/zod#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. [colinhacks/zod#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. [colinhacks/zod#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 [colinhacks/zod#3240 - Added latest stable Node and TypeScript versions to test matrix for up-to-date testing. by [@​m10rten](https://togithub.com/m10rten) in [colinhacks/zod#3278 - Add types to `ZodFirstPartySchemaTypes` by [@​MatthijsMud](https://togithub.com/MatthijsMud) in [colinhacks/zod#3247 - fix: make `input` of `.required()` readonly by [@​KATT](https://togithub.com/KATT) in [colinhacks/zod#3301 - add never props to safe parse return types by [@​schicks](https://togithub.com/schicks) in [colinhacks/zod#3295 - Reporting errors of the preprocess that is the second property of object by [@​yukukotani](https://togithub.com/yukukotani) in [colinhacks/zod#2912 - Improve `addQuestionMarks`, fix [#​2184](https://togithub.com/colinhacks/zod/issues/2184) by [@​colinhacks](https://togithub.com/colinhacks) in [colinhacks/zod#3352 - fix for njs by [@​dvv](https://togithub.com/dvv) in [colinhacks/zod#3063 - only look in `src` for `bun test` by [@​rotu](https://togithub.com/rotu) in [colinhacks/zod#3038 - Restrict .pick()/.omit() mask type to only known properties by [@​petrovmiroslav](https://togithub.com/petrovmiroslav) in [colinhacks/zod#3255 - Make EnumValues generic by [@​IlyaSemenov](https://togithub.com/IlyaSemenov) in [colinhacks/zod#2338 - perf: avoid unnecessary error maps by [@​xuxucode](https://togithub.com/xuxucode) in [colinhacks/zod#2532 - Bugfix: z.record().parse should not filter out undefined values by [@​raik-casimiro](https://togithub.com/raik-casimiro) in [colinhacks/zod#3251 - Use Set.has instead of Array.indexOf for enum comparison (perf improvement) by [@​jmike](https://togithub.com/jmike) in [colinhacks/zod#2659 - \[2888] fix emails with single quotes failing validation by [@​Mansehej](https://togithub.com/Mansehej) in [colinhacks/zod#2889 - Bugfix: Commas are incorrectly allowed in email regex. by [@​mokemoko](https://togithub.com/mokemoko) in [colinhacks/zod#3286 - Fix regex in cuid2 validation to be what cuid2 library expects by [@​etareduction](https://togithub.com/etareduction) in [colinhacks/zod#2961 - Make depcruise pass by [@​rotu](https://togithub.com/rotu) in [colinhacks/zod#3037 - Faster ipv4 parsing by [@​colinhacks](https://togithub.com/colinhacks) in [colinhacks/zod#3413 #### Docs and ecosystem - chore: add pastel package to ecosystem by [@​jlarmstrongiv](https://togithub.com/jlarmstrongiv) in [colinhacks/zod#2949 - added required styles. by [@​Ansh101112](https://togithub.com/Ansh101112) in [colinhacks/zod#2955 - Feature/better chinese translate by [@​NWYLZW](https://togithub.com/NWYLZW) in [colinhacks/zod#2988 - Fix z.instanceof example by [@​alexnault](https://togithub.com/alexnault) in [colinhacks/zod#3003 - Add documentation to Zod enum exclude/extract functions by [@​shaharke](https://togithub.com/shaharke) in [colinhacks/zod#3044 - Add docs for coercing nullish values by [@​rbuetzer](https://togithub.com/rbuetzer) in [colinhacks/zod#3067 - Adds `zod-dev` utility to eco-system section by [@​schalkventer](https://togithub.com/schalkventer) in [colinhacks/zod#3113 - Add zhttp library to docs by [@​evertdespiegeleer](https://togithub.com/evertdespiegeleer) in [colinhacks/zod#3134 - fixed Readme typo in NaNs example by [@​RashJrEdmund](https://togithub.com/RashJrEdmund) in [colinhacks/zod#3181 - adds zod-config library to the ecosystem by [@​alexmarqs](https://togithub.com/alexmarqs) in [colinhacks/zod#3200 - docs: update link and description of conform integration by [@​g1eny0ung](https://togithub.com/g1eny0ung) in [colinhacks/zod#3238 - Update README.md by [@​yugmade13](https://togithub.com/yugmade13) in [colinhacks/zod#3317 - feat: overhaul generics section of readme to include more details on z.ZodTypeAny usage by [@​braden-w](https://togithub.com/braden-w) in [colinhacks/zod#3321 - Fix small typos by [@​mmorearty](https://togithub.com/mmorearty) in [colinhacks/zod#3336 - docs: update Chinese docs and correct some of the typos by [@​jiechen257](https://togithub.com/jiechen257) in [colinhacks/zod#3338 - docs: improve chinese readme by [@​luckrnx09](https://togithub.com/luckrnx09) in [colinhacks/zod#3371 - Add java-to-zod in X to Zod section by [@​ivangreene](https://togithub.com/ivangreene) in [colinhacks/zod#3385 - docs: add `orval` to "X to Zod" ecosystems by [@​soartec-lab](https://togithub.com/soartec-lab) in [colinhacks/zod#3397 #### New Contributors - [@​jlarmstrongiv](https://togithub.com/jlarmstrongiv) made their first contribution in [colinhacks/zod#2949 - [@​Ansh101112](https://togithub.com/Ansh101112) made their first contribution in [colinhacks/zod#2955 - [@​NWYLZW](https://togithub.com/NWYLZW) made their first contribution in [colinhacks/zod#2988 - [@​alexnault](https://togithub.com/alexnault) made their first contribution in [colinhacks/zod#3003 - [@​shaharke](https://togithub.com/shaharke) made their first contribution in [colinhacks/zod#3044 - [@​rbuetzer](https://togithub.com/rbuetzer) made their first contribution in [colinhacks/zod#3067 - [@​schalkventer](https://togithub.com/schalkventer) made their first contribution in [colinhacks/zod#3113 - [@​evertdespiegeleer](https://togithub.com/evertdespiegeleer) made their first contribution in [colinhacks/zod#3134 - [@​RashJrEdmund](https://togithub.com/RashJrEdmund) made their first contribution in [colinhacks/zod#3181 - [@​alexmarqs](https://togithub.com/alexmarqs) made their first contribution in [colinhacks/zod#3200 - [@​JonnyBurger](https://togithub.com/JonnyBurger) made their first contribution in [colinhacks/zod#3214 - [@​fernandollisboa](https://togithub.com/fernandollisboa) made their first contribution in [colinhacks/zod#3178 - [@​g1eny0ung](https://togithub.com/g1eny0ung) made their first contribution in [colinhacks/zod#3238 - [@​m10rten](https://togithub.com/m10rten) made their first contribution in [colinhacks/zod#3278 - [@​MatthijsMud](https://togithub.com/MatthijsMud) made their first contribution in [colinhacks/zod#3247 - [@​yugmade13](https://togithub.com/yugmade13) made their first contribution in [colinhacks/zod#3317 - [@​braden-w](https://togithub.com/braden-w) made their first contribution in [colinhacks/zod#3321 - [@​mmorearty](https://togithub.com/mmorearty) made their first contribution in [colinhacks/zod#3336 - [@​schicks](https://togithub.com/schicks) made their first contribution in [colinhacks/zod#3295 - [@​yukukotani](https://togithub.com/yukukotani) made their first contribution in [colinhacks/zod#2912 - [@​jiechen257](https://togithub.com/jiechen257) made their first contribution in [colinhacks/zod#3338 - [@​luckrnx09](https://togithub.com/luckrnx09) made their first contribution in [colinhacks/zod#3371 - [@​dvv](https://togithub.com/dvv) made their first contribution in [colinhacks/zod#3063 - [@​rotu](https://togithub.com/rotu) made their first contribution in [colinhacks/zod#3038 - [@​petrovmiroslav](https://togithub.com/petrovmiroslav) made their first contribution in [colinhacks/zod#3255 - [@​ivoilic](https://togithub.com/ivoilic) made their first contribution in [colinhacks/zod#2364 - [@​telemakhos](https://togithub.com/telemakhos) made their first contribution in [colinhacks/zod#3388 - [@​bchrobot](https://togithub.com/bchrobot) made their first contribution in [colinhacks/zod#2522 - [@​szamanr](https://togithub.com/szamanr) made their first contribution in [colinhacks/zod#3391 - [@​ivangreene](https://togithub.com/ivangreene) made their first contribution in [colinhacks/zod#3385 - [@​xuxucode](https://togithub.com/xuxucode) made their first contribution in [colinhacks/zod#2532 - [@​raik-casimiro](https://togithub.com/raik-casimiro) made their first contribution in [colinhacks/zod#3251 - [@​jmike](https://togithub.com/jmike) made their first contribution in [colinhacks/zod#2659 - [@​Mansehej](https://togithub.com/Mansehej) made their first contribution in [colinhacks/zod#2889 - [@​mokemoko](https://togithub.com/mokemoko) made their first contribution in [colinhacks/zod#3286 - [@​etareduction](https://togithub.com/etareduction) made their first contribution in [colinhacks/zod#2961 - [@​mastermatt](https://togithub.com/mastermatt) made their first contribution in [colinhacks/zod#3265 - [@​soartec-lab](https://togithub.com/soartec-lab) made their first contribution in [colinhacks/zod#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/JoshuaKGoldberg/boston-ts-website). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjMxMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
- Loading branch information