diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/component-declaration-basic.flow.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/component-declaration-basic.flow.expect.md index 42dc6ad88a3..12184dafbbe 100644 --- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/component-declaration-basic.flow.expect.md +++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/component-declaration-basic.flow.expect.md @@ -7,8 +7,17 @@ export default component Foo(bar: number) { return ; } +component Bar(bar: number) { + return
{bar}
; +} + function shouldNotCompile() {} +export const FIXTURE_ENTRYPOINT = { + fn: Foo, + params: [{bar: 42}], +}; + ``` ## Code @@ -29,7 +38,28 @@ export default function Foo(t0) { return t1; } +function Bar(t0) { + const $ = _c(2); + const { bar } = t0; + let t1; + if ($[0] !== bar) { + t1 =
{bar}
; + $[0] = bar; + $[1] = t1; + } else { + t1 = $[1]; + } + return t1; +} + function shouldNotCompile() {} +export const FIXTURE_ENTRYPOINT = { + fn: Foo, + params: [{ bar: 42 }], +}; + ``` - \ No newline at end of file + +### Eval output +(kind: ok)
42
\ No newline at end of file diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/component-declaration-basic.flow.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/component-declaration-basic.flow.js index ed69217d58b..d29777d4f08 100644 --- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/component-declaration-basic.flow.js +++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/component-declaration-basic.flow.js @@ -3,4 +3,13 @@ export default component Foo(bar: number) { return ; } +component Bar(bar: number) { + return
{bar}
; +} + function shouldNotCompile() {} + +export const FIXTURE_ENTRYPOINT = { + fn: Foo, + params: [{bar: 42}], +}; diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hook-declaration-basic.flow.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hook-declaration-basic.flow.expect.md index dcaa443f26d..f75514e8a87 100644 --- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hook-declaration-basic.flow.expect.md +++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hook-declaration-basic.flow.expect.md @@ -7,6 +7,11 @@ export default hook useFoo(bar: number) { return [bar]; } +export const FIXTURE_ENTRYPOINT = { + fn: useFoo, + params: [42], +}; + ``` ## Code @@ -26,5 +31,12 @@ export default function useFoo(bar) { return t0; } +export const FIXTURE_ENTRYPOINT = { + fn: useFoo, + params: [42], +}; + ``` - \ No newline at end of file + +### Eval output +(kind: ok) [42] \ No newline at end of file diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hook-declaration-basic.flow.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hook-declaration-basic.flow.js index b726e1218d3..217fbe16365 100644 --- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hook-declaration-basic.flow.js +++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hook-declaration-basic.flow.js @@ -2,3 +2,8 @@ export default hook useFoo(bar: number) { return [bar]; } + +export const FIXTURE_ENTRYPOINT = { + fn: useFoo, + params: [42], +}; diff --git a/compiler/packages/snap/src/SproutTodoFilter.ts b/compiler/packages/snap/src/SproutTodoFilter.ts index f36c69e0260..2d875430263 100644 --- a/compiler/packages/snap/src/SproutTodoFilter.ts +++ b/compiler/packages/snap/src/SproutTodoFilter.ts @@ -390,11 +390,12 @@ const skipFilter = new Set([ 'template-literal', 'multi-arrow-expr-export-default-gating-test', - // TODO: we should be able to support these - 'component-declaration-basic.flow', - 'hook-declaration-basic.flow', + // works, but appears differently when printing + // due to optional function argument 'nested-function-with-param-as-captured-dep', 'deeply-nested-function-expressions-with-params', + + // TODO: we should be able to support these 'readonly-object-method-calls', 'readonly-object-method-calls-mutable-lambda', 'preserve-memo-validation/useMemo-with-refs.flow', @@ -483,7 +484,6 @@ const skipFilter = new Set([ 'rules-of-hooks/rules-of-hooks-69521d94fa03', // bugs - 'bug-renaming-jsx-tag-lowercase', 'fbt/bug-fbt-plural-multiple-function-calls', 'fbt/bug-fbt-plural-multiple-mixed-call-tag', 'bug-invalid-hoisting-functionexpr',