Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
225 commits
Select commit Hold shift + click to select a range
4cfc102
Adjusting CI triggers.
RobinTail Apr 17, 2025
0d9382b
Migration to Zod 4 (#2537)
RobinTail Apr 17, 2025
c526776
Upgrading zod, core 0.7.1.
RobinTail Apr 18, 2025
c42bbd0
Migrating previously faulty shorthands.
RobinTail Apr 18, 2025
b60b449
Moving `deprecated` to the top level of global registry (#2549)
RobinTail Apr 18, 2025
08f4a13
Merge branch 'master' into make-v24
RobinTail Apr 18, 2025
6a21ef2
Merge branch 'master' into make-v24
RobinTail Apr 18, 2025
11f5bc3
Updating zod, core 0.8.0, external issue with circular ZodLazy, worke…
RobinTail Apr 19, 2025
8a68f01
Merge branch 'master' into make-v24
RobinTail Apr 19, 2025
43ff8f2
Fix example test.
RobinTail Apr 19, 2025
67ea7a0
FIX lazy: avoiding .extend on objects.
RobinTail Apr 19, 2025
eb9ce42
Updating zod, core 0.8.1, oneOf changed to anyOf in some places.
RobinTail Apr 20, 2025
16d8501
Changelog: initial entry for v24.
RobinTail Apr 20, 2025
a0345ae
Delegating depiction to Zod 4 (#2547)
RobinTail Apr 20, 2025
1bba5f1
Helper to ensure valid `type` (#2553)
RobinTail Apr 20, 2025
afd4737
Merge branch 'master' into make-v24
RobinTail Apr 20, 2025
694aa3e
Removing overrides for enums and literals (#2557)
RobinTail Apr 21, 2025
de75df6
Merge branch 'master' into make-v24
RobinTail Apr 21, 2025
e3984ed
Removing overrides for `any` (#2559)
RobinTail Apr 21, 2025
45c34f0
Tests for overriders and minor adjustments (#2556)
RobinTail Apr 21, 2025
1a7b502
Support `ZodInterface` (#2560)
RobinTail Apr 21, 2025
81724af
Drop `optionalPropStyle` from `Integration` (#2561)
RobinTail Apr 21, 2025
32283c6
Env test on transformation output examples missing.
RobinTail Apr 22, 2025
cde792d
env test for behaviour of .meta() that does not merge but overrides.
RobinTail Apr 22, 2025
ef841e9
Todo for examples.
RobinTail Apr 22, 2025
6bc1fa9
Brand is the only the metadata that withstands refinements (#2564)
RobinTail Apr 22, 2025
fa1a3a6
Todo regarding copyMeta() fn.
RobinTail Apr 22, 2025
3a6e17f
Metadata preservation fix (#2565)
RobinTail Apr 22, 2025
bce730f
Add explicit assertion to metadata test.
RobinTail Apr 22, 2025
6a2d236
Merge branch 'master' into make-v24
RobinTail Apr 22, 2025
3b4566e
Switching ReqResHandlingProps to core type argument.
RobinTail Apr 22, 2025
eac5c94
Ref: reusing BrandHandling type.
RobinTail Apr 22, 2025
a4928e4
Removing todo that didn't work.
RobinTail Apr 22, 2025
6711a1f
Avoiding root references by wrapping the delegation subject (#2572)
RobinTail Apr 23, 2025
cd1b15e
Changing the type of internal examples to `z.$input` symbol (#2567)
RobinTail Apr 23, 2025
67bb005
Test for the brand withstanding describing.
RobinTail Apr 23, 2025
0f6b451
minor: renaming internal method.
RobinTail Apr 23, 2025
4988336
rm redundant argument in onPipeline.
RobinTail Apr 23, 2025
83dfadd
a couple todos.
RobinTail Apr 23, 2025
0c2b400
Improve handling of `ZodError` by `ensureError` (#2573)
RobinTail Apr 23, 2025
7bb39cb
Improving coverage for onIntersection.
RobinTail Apr 23, 2025
5e790de
Switching circular schema example to z.interface().
RobinTail Apr 24, 2025
26a1ab9
Also demonstrating optional reference.
RobinTail Apr 24, 2025
372e3ac
Fixed snapshots.
RobinTail Apr 24, 2025
8d00dc7
Removing arguments from schema types (#2575)
RobinTail Apr 24, 2025
b849e9e
Updatign Zod, core 0.9.0, several issues fix, _ref added to JSONSchema.
RobinTail Apr 24, 2025
836e4e1
rm todo that i fixed.
RobinTail Apr 24, 2025
db4a988
Removing description and deprecation settets in onEach - fixed in core.
RobinTail Apr 24, 2025
cc525a0
Removing explicit registry in depict().
RobinTail Apr 24, 2025
19933ba
Adjusting the reason on env test.
RobinTail Apr 24, 2025
c1f502a
Migrating deprecated methods to shorthands in dateIn schema, with a f…
RobinTail Apr 24, 2025
3689d52
Moving try..catch from intersect() to onIntersection.
RobinTail Apr 25, 2025
bf5350e
Merge branch 'master' into make-v24
RobinTail Apr 25, 2025
2c5635a
Removing deprecated alias `ZodTypeAny` (#2578)
RobinTail Apr 25, 2025
a527948
Using shorthand z.base64() for the corresponding ez.file().
RobinTail Apr 25, 2025
e15e2fe
Migrating traverse related methods to core types (#2579)
RobinTail Apr 25, 2025
c825246
Replacing `instanceof` in traverse (#2580)
RobinTail Apr 25, 2025
ab4ec0d
Implementing `unref()` helper (#2581)
RobinTail Apr 26, 2025
3829416
Schema compliance adjustment (#2582)
RobinTail Apr 26, 2025
154627f
Restoring immutable depicters (#2583)
RobinTail Apr 27, 2025
4740d8c
Coerce became safer (#2584)
RobinTail Apr 27, 2025
4125ba5
Readme: updating technologies article for Zod version.
RobinTail Apr 27, 2025
fabc796
Reset migration for v24 (#2585)
RobinTail Apr 27, 2025
ae37bcf
v24 is dedicated to Ashley Burton.
RobinTail Apr 27, 2025
ded0e04
Security: planning for june.
RobinTail Apr 27, 2025
1f29f14
v24.0.0-beta.0
RobinTail Apr 27, 2025
104c7c1
Restoring original testing for changed/unchanged brand handling.
RobinTail Apr 27, 2025
852db85
Migration rules for v24 (#2586)
RobinTail Apr 27, 2025
a4d71c8
Update README.md
RobinTail Apr 27, 2025
34b2c12
Readme: fix type name.
RobinTail Apr 27, 2025
7b4ab5c
Migration for Depicter.
RobinTail Apr 27, 2025
ce66a31
Ref: DNRY: extracting propRemover.
RobinTail Apr 27, 2025
9d4baaa
Applying two correction from code review to Documentation.
RobinTail Apr 27, 2025
fa64656
Ref: using references size in makeRef.
RobinTail Apr 27, 2025
64c883d
Fix EmptySchema type to ensure correct intersections for EndpointsFac…
RobinTail Apr 27, 2025
53fe3b5
Restoring .and() instead of z.intersection - turned out to be recovered.
RobinTail Apr 28, 2025
a9ca7d5
Ref: DNRY isObject in depictExamples and depictParamExamples.
RobinTail Apr 28, 2025
010bc85
Restoring original naming for depicters.
RobinTail Apr 28, 2025
0226777
Revert "Ref: DNRY isObject in depictExamples and depictParamExamples."
RobinTail Apr 28, 2025
ef468e3
Ref: DNRY isObject in depictExamples and depictParamExamples.
RobinTail Apr 28, 2025
b308d7c
Reusing isObject for intersect().
RobinTail Apr 28, 2025
ef3ddf2
Ref: depictIntersection using R.tryCatch.
RobinTail Apr 28, 2025
7c3520c
Ref: DNRY for ensureCompliance().
RobinTail Apr 28, 2025
8379da4
Ref: simpler type for makeRef in ZTS context.
RobinTail Apr 28, 2025
34313f0
Ref: brand extraction in hasNestedSchema.
RobinTail Apr 28, 2025
c8283da
FIX: handling interfaces incl. circular ones by deep checks.
RobinTail Apr 28, 2025
daa87c2
Merge branch 'master' into make-v24
RobinTail Apr 28, 2025
df75b15
Merge branch 'master' into make-v24
RobinTail Apr 28, 2025
9051ed4
Deep checks using `toJSONSchema` (#2589)
RobinTail Apr 28, 2025
0331a8e
Merge branch 'master' into make-v24
RobinTail Apr 29, 2025
42414ab
Merge branch 'master' into make-v24
RobinTail Apr 29, 2025
d3158f5
Fix nullable literals and enums (#2593)
RobinTail Apr 29, 2025
02167a9
Fix: exclude ZodSuccess, ZodError and ZodFunction from the plugin.
RobinTail Apr 29, 2025
6cb2907
Plugin: rm redundant type coercion for remap.
RobinTail Apr 29, 2025
1c23ad1
Discriminating `ResultHandler::handler()` params (#2594)
RobinTail Apr 29, 2025
0f27d2b
Smoothing type coercion throu IOSchema instead of unknown in Middlewa…
RobinTail Apr 29, 2025
b9ff6e0
Add env test for the found external issue.
RobinTail Apr 29, 2025
86c5665
Diagnostics to handle error thrown from extractObjectSchema.
RobinTail Apr 29, 2025
92a4211
Upgrading zod, core 0.10, base64 no extends string, int().max fn fixe…
RobinTail Apr 30, 2025
5b38f5b
Merge branch 'master' into make-v24
RobinTail Apr 30, 2025
f78a1c3
z.number().int() -> z.int().
RobinTail Apr 30, 2025
fb39add
Replace `extractObjectSchema` with JSON Schema flattening (#2595)
RobinTail May 1, 2025
ab19eb6
Ref: Unify flatten and intersect (#2598)
RobinTail May 1, 2025
e7edc01
Ref: switching stack of flattenIO to tuples.
RobinTail May 2, 2025
efd7d58
Merge branch 'master' into make-v24
RobinTail May 2, 2025
5a4d1c6
Replacing `R.union()` (#2599)
RobinTail May 2, 2025
6f80512
Updating zod, core 0.10.1, no significant fixes.
RobinTail May 3, 2025
07c76a9
Ref: moving unref() into JSON Schema helpers.
RobinTail May 3, 2025
1ad76b7
Another bug test for env.spec.ts.
RobinTail May 3, 2025
642744e
minor: link to the zod issue.
RobinTail May 3, 2025
a60c123
Ref: no Omit<> in OpenAPIContext.
RobinTail May 3, 2025
aab3814
v24: upgrading core to 0.11 (#2600)
RobinTail May 5, 2025
54d841b
v24: Utilize `optionality` (#2604)
RobinTail May 5, 2025
93db34c
Merge branch 'master' into make-v24
RobinTail May 5, 2025
0bd7afa
Merge branch 'master' into make-v24
RobinTail May 5, 2025
d0581ca
Updating zod, core 0.11.6, no significant changes.
RobinTail May 5, 2025
fc990b8
Optionals: Restore `undefined`, but depending on `optionality` (#2607)
RobinTail May 6, 2025
6f2da48
Merge branch 'master' into make-v24
RobinTail May 6, 2025
9d47186
Merge branch 'master' into make-v24
RobinTail May 9, 2025
f41be6e
Merge branch 'master' into make-v24
RobinTail May 11, 2025
a9cc212
Merge branch 'master' into make-v24
RobinTail May 12, 2025
3d85114
Merge branch 'master' into make-v24
RobinTail May 14, 2025
b62e51b
changelog: minor, grammar.
RobinTail May 15, 2025
5e9460d
Fix validations CI - using zod 4 version instead of dist tag next.
RobinTail May 15, 2025
f723fa4
Merge branch 'master' into make-v24
RobinTail May 16, 2025
c2ba561
Merge branch 'master' into make-v24
RobinTail May 17, 2025
017728a
Merge branch 'master' into make-v24
RobinTail May 17, 2025
c375c65
Using v4 from 3.25 (#2631)
RobinTail May 18, 2025
b27afd3
A couple more assertions on ZodError.
RobinTail May 18, 2025
04c9b6c
rm 3 from zod installation command.
RobinTail May 18, 2025
6248795
Changelog: add migration sample, explaining breaking change.
RobinTail May 18, 2025
46adaf2
Changes to optionality (#2633)
RobinTail May 19, 2025
95b19d6
rev: using looseObject again, after 4320 fixed.
RobinTail May 19, 2025
a95326e
Merge branch 'master' into make-v24
RobinTail May 19, 2025
6c7aa0d
beta update.
RobinTail May 19, 2025
ba97100
beta update,
RobinTail May 19, 2025
c86572f
Using stable 3.25.
RobinTail May 19, 2025
a7c37f4
Branding: no altering refinements (#2637)
RobinTail May 19, 2025
8d67cce
Merge branch 'master' into make-v24
RobinTail May 19, 2025
ef2bbdf
Merge branch 'master' into make-v24
RobinTail May 19, 2025
482de64
Merge branch 'master' into make-v24
RobinTail May 20, 2025
38cc4c1
v24.0.0-beta.1
github-actions[bot] May 20, 2025
be7dc37
Using native storage for default label (#2643)
RobinTail May 20, 2025
e0e3b5a
Using native storage for examples (#2632)
RobinTail May 20, 2025
ecb5b3f
Ref: no reassigning meta (#2644)
RobinTail May 20, 2025
b1c7f08
zod 3.25.13.
RobinTail May 21, 2025
d9625e6
v24.0.0-beta.2
github-actions[bot] May 21, 2025
c95c8c8
Cleanup: rm `depictObject` (#2645)
RobinTail May 21, 2025
99601a7
Ref: mv isOptional into zts::onObject.
RobinTail May 21, 2025
f8aefc1
Add test for top level examples of a flattened intersection.
RobinTail May 21, 2025
67cf26c
Ref: combining tests (using each).
RobinTail May 21, 2025
b7fe51f
Merge branch 'master' into make-v24
RobinTail May 21, 2025
f1db181
rm todo that is ok.
RobinTail May 21, 2025
c1e111c
rm taking examples from flattened request in depictBody() because mix…
RobinTail May 21, 2025
9bcc366
Adjusting env test to ensure no conflict between .meta() and .describ…
RobinTail May 21, 2025
62ba8a4
Fix: Workaround for branded examples in updateUserEndpoint.
RobinTail May 21, 2025
7db698e
additional test for examples of individual prop in a depicted body.
RobinTail May 22, 2025
0030d2b
Ref: Move mixing and pulling request examples to postprocessing (#2651)
RobinTail May 22, 2025
d035ac1
feat(v24): metadata argument for `ez.dateIn()` and `ez.dateOut()` (#2…
RobinTail May 22, 2025
f60db9e
v24.0.0-beta.3
github-actions[bot] May 22, 2025
b024989
feat(v24): descriptions proprietary date schemas (#2652)
RobinTail May 22, 2025
ad0ece5
restore zod installation command in validations CI
RobinTail May 22, 2025
b8d8908
Ref: restore examples of createAt.
RobinTail May 22, 2025
b34d632
Env assertions for ZodError and clarifications for ensureError.
RobinTail May 22, 2025
29160e5
more details.
RobinTail May 22, 2025
1a36e9c
minor: jsdoc
RobinTail May 22, 2025
42dbaa7
Merge branch 'master' into make-v24
RobinTail May 22, 2025
ac2a076
Removing unused exports and correcting RawSchema type.
RobinTail May 22, 2025
18d48be
Readme: changing deprecated refinements to the new shorthand methods.
RobinTail May 23, 2025
1ccffa0
Merge branch 'master' into make-v24
RobinTail May 23, 2025
87431be
Addressing `ZodError` does not extend Error (#2656)
RobinTail May 23, 2025
a5e5740
Ref: DNRY for raw schema.
RobinTail May 23, 2025
5c20f21
Fix imports
RobinTail May 23, 2025
992b712
restore using z.intersection in one test
RobinTail May 23, 2025
fb56219
rm redundant import
RobinTail May 23, 2025
4cd77e1
rm redundant import
RobinTail May 23, 2025
efd9aa9
restore original assertions in io schema test
RobinTail May 23, 2025
160e621
restore using z.intersection in one test
RobinTail May 23, 2025
9f7cba8
Ref: avoiding ZodError::message in snapshots.
RobinTail May 23, 2025
fbbe8d3
changelog: minor, adjusting example.
RobinTail May 23, 2025
4a642b1
Changelog: mentioning discriminated argument for result handler.
RobinTail May 23, 2025
9de50b8
v24.0.0-beta.4
github-actions[bot] May 23, 2025
253ad29
Changelog: minor, clarity.
RobinTail May 23, 2025
ddf9402
Changelog: shortening.
RobinTail May 23, 2025
6dfb8f1
Merge branch 'master' into make-v24
RobinTail May 23, 2025
ddab0a9
Updating snapshots.
RobinTail May 23, 2025
ff75f79
Ref: traverse consistency: using stack.unshift() everywhere.
RobinTail May 23, 2025
9612080
Revert "Ref: traverse consistency: using stack.unshift() everywhere."
RobinTail May 23, 2025
0166b88
Merge branch 'master' into make-v24
RobinTail May 24, 2025
dbd1bb0
Updating snapshots and allow flattening with additionalProperties prop.
RobinTail May 24, 2025
2b71a58
v24.0.0-beta.5
github-actions[bot] May 24, 2025
c3b07a4
Merge branch 'master' into make-v24
RobinTail May 24, 2025
6b4c69a
Merge branch 'master' into make-v24
RobinTail May 25, 2025
e81470e
fix(v24): Definitions deduplication (#2664)
RobinTail May 25, 2025
57d08c9
FIX(fix): rm serialization because ref changes.
RobinTail May 25, 2025
67a580c
Using serialization in depictRequestParams() for makeRef() call.
RobinTail May 25, 2025
3121496
v24.0.0-beta.6
github-actions[bot] May 25, 2025
dd66081
Adjust error message format in response (#2665)
RobinTail May 26, 2025
2993824
Sharing the response examples pulling (#2666)
RobinTail May 26, 2025
d7695dc
v24.0.0-beta.7
github-actions[bot] May 26, 2025
3f7e02e
Merge branch 'master' into make-v24
RobinTail May 26, 2025
83bf134
Remove `ez.file()`, expose `ez.buffer()` (#2668)
RobinTail May 26, 2025
12b1063
Merge branch 'master' into make-v24
RobinTail May 26, 2025
5930fca
Readme: moving and renaming the section: Non-JSON response.
RobinTail May 27, 2025
7cfdb08
Merge branch 'master' into make-v24
RobinTail May 27, 2025
5fa05c1
v24.0.0-beta.8
github-actions[bot] May 27, 2025
88cf6c6
minor: naming.
RobinTail May 27, 2025
808d01b
Ref: better constraints for branded examples as per suggestion from @…
RobinTail May 27, 2025
40ba21a
AI: nullish assignment instead of deleting bag.brand prop.
RobinTail May 27, 2025
a6e352e
minor: comment for clarity.
RobinTail May 28, 2025
1815c5a
AI: simpler prop definition in Zod Plugin.
RobinTail May 28, 2025
01418fd
AI: fix inconsistent import.
RobinTail May 28, 2025
510c7ed
AI: rm snapshot for clarity.
RobinTail May 28, 2025
0781730
AI: improving context on throwing from JSON schema helper propsMerger().
RobinTail May 28, 2025
cba3933
Minimizing `any` in client types (#2670)
RobinTail May 28, 2025
a947e57
AI: casting fallback types via unknown for clarity.
RobinTail May 28, 2025
c2d9d03
Minor: explaining why EmptySchema is ZodRecord, but default assignmen…
RobinTail May 28, 2025
1e59081
ESLint: ensure consistent imports.
RobinTail May 28, 2025
959db2e
Changelog: reflecting changes to Integration.
RobinTail May 28, 2025
9ad9663
Changelog: minor, formatting.
RobinTail May 28, 2025
a867eef
AI: Changelog: wrapping bare links.
RobinTail May 28, 2025
c1d875b
v24.0.0-beta.9
github-actions[bot] May 28, 2025
89093f0
Merge branch 'master' into make-v24
RobinTail May 28, 2025
e976eb5
Updating snapshots.
RobinTail May 28, 2025
0f771eb
CI: rm temporary trigger, no more PRs to this branch
RobinTail May 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ name: "CodeQL"

on:
push:
branches: [ master, v19, v20, v21, v22 ]
branches: [ master, v20, v21, v22, v23 ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master, v19, v20, v21, v22 ]
branches: [ master, v20, v21, v22, v23 ]
schedule:
- cron: '26 8 * * 1'

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ name: Node.js CI

on:
push:
branches: [ master, v19, v20, v21, v22 ]
branches: [ master, v20, v21, v22, v23 ]
pull_request:
branches: [ master, v19, v20, v21, v22 ]
branches: [ master, v20, v21, v22, v23 ]

jobs:
build:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/validations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: Validations

on:
push:
branches: [ master, v19, v20, v21, v22 ]
branches: [ master, v20, v21, v22, v23 ]
pull_request:
branches: [ master, v19, v20, v21, v22 ]
branches: [ master, v20, v21, v22, v23 ]


jobs:
Expand Down
72 changes: 72 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,77 @@
# Changelog

## Version 24

### v24.0.0

- Switched to Zod 4:
- Minimum supported version of `zod` is 3.25.1, BUT imports MUST be from `zod/v4`;
- Read the [Explanation of the versioning strategy](https://github.com/colinhacks/zod/issues/4371);
- Express Zod API, however, is not aiming to support both Zod 3 and Zod 4 simultaneously due to:
- incompatibility of data structures;
- operating composite schemas (need to avoid mixing schemas of different versions);
- the temporary nature of this transition;
- the advantages of Zod 4 that provide opportunities to simplifications and corrections of known issues.
- `IOSchema` type had to be simplified down to a schema resulting to an `object`, but not an `array`;
- Refer to [Migration guide on Zod 4](https://v4.zod.dev/v4/changelog) for adjusting your schemas;
- Changes to `ZodType::example()` (Zod plugin method):
- Now acts as an alias for `ZodType::meta({ examples })`;
- The argument has to be the output type of the schema (used to be the opposite):
- This change is only breaking for transforming schemas;
- In order to specify an example for an input schema the `.example()` method must be called before `.transform()`;
- The transforming proprietary schemas `ez.dateIn()` and `ez.dateOut()` now accept metadata as its argument:
- This allows to set examples before transformation (`ez.dateIn()`) and to avoid the examples "branding";
- Changes to `Documentation`:
- Generating Documentation is mostly delegated to Zod 4 `z.toJSONSchema()`;
- Express Zod API implements some overrides and improvements to fit it into OpenAPI 3.1 that extends JSON Schema;
- The `numericRange` option removed from `Documentation` class constructor argument;
- The `Depicter` type signature changed: became a postprocessing function returning an overridden JSON Schema;
- Changes to `Integration`:
- The `optionalPropStyle` option removed from `Integration` class constructor:
- Use `.optional()` to add question mark to the object property as well as `undefined` to its type;
- Use `.or(z.undefined())` to add `undefined` to the type of the object property;
- See the [reasoning](https://x.com/colinhacks/status/1919292504861491252);
- `z.any()` and `z.unknown()` are required: [details](https://v4.zod.dev/v4/changelog#changes-zunknown-optionality);
- Added types generation for `z.never()`, `z.void()` and `z.unknown()` schemas;
- The fallback type for unsupported schemas and unclear transformations in response changed from `any` to `unknown`;
- The argument of `ResultHandler::handler` is now discriminated: either `output` or `error` is `null`, not both;
- The `getExamples()` public helper removed — use `.meta()?.examples` instead;
- Added the new proprietary schema `ez.buffer()`;
- The `ez.file()` schema removed: use `z.string()`, `z.base64()`, `ez.buffer()` or their union;
- Consider the automated migration using the built-in ESLint rule.

```js
// eslint.config.mjs — minimal ESLint 9 config to apply migrations automatically using "eslint --fix"
import parser from "@typescript-eslint/parser";
import migration from "express-zod-api/migration";

export default [
{ languageOptions: { parser }, plugins: { migration } },
{ files: ["**/*.ts"], rules: { "migration/v24": "error" } },
];
```

```diff
- import { z } from "zod";
+ import { z } from "zod/v4";
```

```diff
input: z.string()
+ .example("123")
.transform(Number)
- .example("123")
```

```diff
- ez.dateIn().example("2021-12-31");
+ ez.dateIn({ examples: ["2021-12-31"] });
- ez.file("base64");
+ z.base64();
- ez.file("buffer");
+ ez.buffer();
```

## Version 23

### v23.6.1
Expand Down
Loading