Skip to content

Commit a1f157e

Browse files
authored
[compiler][ez] Add validation for auto-deps config (facebook#31813)
numRequiredArgs has to be more than 0 and the pass depends on that --
1 parent 605a880 commit a1f157e

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ const EnvironmentConfigSchema = z.object({
285285
z.array(
286286
z.object({
287287
function: ExternalFunctionSchema,
288-
numRequiredArgs: z.number(),
288+
numRequiredArgs: z.number().min(1, 'numRequiredArgs must be > 0'),
289289
}),
290290
),
291291
)

compiler/packages/babel-plugin-react-compiler/src/__tests__/envConfig-test.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,24 @@ describe('parseConfigPragma()', () => {
2424
);
2525
});
2626

27+
it('effect autodeps config must have at least 1 required argument', () => {
28+
expect(() => {
29+
validateEnvironmentConfig({
30+
inferEffectDependencies: [
31+
{
32+
function: {
33+
source: 'react',
34+
importSpecifierName: 'useEffect',
35+
},
36+
numRequiredArgs: 0,
37+
},
38+
],
39+
} as any);
40+
}).toThrowErrorMatchingInlineSnapshot(
41+
`"InvalidConfig: Could not validate environment config. Update React Compiler config to fix the error. Validation error: numRequiredArgs must be > 0 at "inferEffectDependencies[0].numRequiredArgs""`,
42+
);
43+
});
44+
2745
it('can parse stringy enums', () => {
2846
const stringyHook = {
2947
effectKind: 'freeze',

0 commit comments

Comments
 (0)