Skip to content

Commit bad0218

Browse files
author
Henry Q. Dineen
committed
[compiler] improve zod v3 backwards compat
Use zod/v4 subpath imports to support both zod v3.25+ and v4.x. This allows consumers to use the compiler with either major version.
1 parent 85f415e commit bad0218

File tree

18 files changed

+45
-32
lines changed

18 files changed

+45
-32
lines changed

compiler/packages/babel-plugin-react-compiler/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@
5252
"react-dom": "0.0.0-experimental-4beb1fd8-20241118",
5353
"ts-jest": "^29.1.1",
5454
"ts-node": "^10.9.2",
55-
"zod": "^3.22.4 || ^4.0.0",
56-
"zod-validation-error": "^3.0.3 || ^4.0.0"
55+
"zod": "^3.25.0 || ^4.0.0",
56+
"zod-validation-error": "^3.5.0 || ^4.0.0"
5757
},
5858
"resolutions": {
5959
"./**/@babel/parser": "7.7.4",

compiler/packages/babel-plugin-react-compiler/src/Entrypoint/Options.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77

88
import * as t from '@babel/types';
9-
import {z} from 'zod';
9+
import {z} from 'zod/v4';
1010
import {
1111
CompilerDiagnostic,
1212
CompilerError,
@@ -20,7 +20,7 @@ import {
2020
tryParseExternalFunction,
2121
} from '../HIR/Environment';
2222
import {hasOwnProperty} from '../Utils/utils';
23-
import {fromZodError} from 'zod-validation-error';
23+
import {fromZodError} from 'zod-validation-error/v4';
2424
import {CompilerPipelineValue} from './Pipeline';
2525

2626
const PanicThresholdOptionsSchema = z.enum([

compiler/packages/babel-plugin-react-compiler/src/HIR/Environment.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
*/
77

88
import * as t from '@babel/types';
9-
import {ZodError, z} from 'zod';
10-
import {fromZodError} from 'zod-validation-error';
9+
import {ZodError, z} from 'zod/v4';
10+
import {fromZodError} from 'zod-validation-error/v4';
1111
import {CompilerError} from '../CompilerError';
1212
import {Logger, ProgramContext} from '../Entrypoint';
1313
import {Err, Ok, Result} from '../Utils/Result';

compiler/packages/babel-plugin-react-compiler/src/HIR/HIR.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import {assertExhaustive} from '../Utils/utils';
1616
import {Environment, ReactFunctionType} from './Environment';
1717
import type {HookKind} from './ObjectShape';
1818
import {Type, makeType} from './Types';
19-
import {z} from 'zod';
19+
import {z} from 'zod/v4';
2020
import type {AliasingEffect} from '../Inference/AliasingEffects';
2121
import {isReservedWord} from '../Utils/Keyword';
2222
import {Err, Ok, Result} from '../Utils/Result';

compiler/packages/babel-plugin-react-compiler/src/HIR/TypeSchema.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77

88
import {isValidIdentifier} from '@babel/types';
9-
import {z} from 'zod';
9+
import {z} from 'zod/v4';
1010
import {Effect, ValueKind} from '..';
1111
import {
1212
EffectSchema,

compiler/packages/babel-plugin-react-compiler/src/Utils/TestUtils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* LICENSE file in the root directory of this source tree.
66
*/
77

8-
import {fromZodError} from 'zod-validation-error';
8+
import {fromZodError} from 'zod-validation-error/v4';
99
import {CompilerError} from '../CompilerError';
1010
import {
1111
CompilationMode,

compiler/packages/eslint-plugin-react-compiler/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
"@babel/core": "^7.24.4",
1616
"@babel/parser": "^7.24.4",
1717
"hermes-parser": "^0.25.1",
18-
"zod": "^3.22.4 || ^4.0.0",
19-
"zod-validation-error": "^3.0.3 || ^4.0.0"
18+
"zod": "^3.25.0 || ^4.0.0",
19+
"zod-validation-error": "^3.5.0 || ^4.0.0"
2020
},
2121
"devDependencies": {
2222
"@babel/preset-env": "^7.22.4",

compiler/packages/eslint-plugin-react-compiler/tsup.config.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,14 @@ import {defineConfig} from 'tsup';
1010
export default defineConfig({
1111
entry: ['./src/index.ts'],
1212
outDir: './dist',
13-
external: ['@babel/core', 'hermes-parser', 'zod', 'zod-validation-error'],
13+
external: [
14+
'@babel/core',
15+
'hermes-parser',
16+
'zod',
17+
'zod/v4',
18+
'zod-validation-error',
19+
'zod-validation-error/v4',
20+
],
1421
splitting: false,
1522
sourcemap: false,
1623
dts: false,

compiler/packages/react-compiler-healthcheck/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
"fast-glob": "^3.3.2",
1818
"ora": "5.4.1",
1919
"yargs": "^17.7.2",
20-
"zod": "^3.22.4 || ^4.0.0",
21-
"zod-validation-error": "^3.0.3 || ^4.0.0"
20+
"zod": "^3.25.0 || ^4.0.0",
21+
"zod-validation-error": "^3.5.0 || ^4.0.0"
2222
},
2323
"devDependencies": {},
2424
"engines": {

compiler/packages/react-compiler-healthcheck/tsup.config.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ export default defineConfig({
1818
'ora',
1919
'yargs',
2020
'zod',
21+
'zod/v4',
2122
'zod-validation-error',
23+
'zod-validation-error/v4',
2224
],
2325
splitting: false,
2426
sourcemap: false,

0 commit comments

Comments
 (0)