{} : f} />;
-}
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{props: null}],
-};
diff --git "a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/functionexpr\342\200\223conditional-access.expect.md" "b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/functionexpr\342\200\223conditional-access.expect.md"
deleted file mode 100644
index c7aa3e3b7544..000000000000
--- "a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/functionexpr\342\200\223conditional-access.expect.md"
+++ /dev/null
@@ -1,58 +0,0 @@
-
-## Input
-
-```javascript
-// @enableTreatFunctionDepsAsConditional
-function Component(props) {
- function getLength() {
- return props.bar.length;
- }
-
- return props.bar && getLength();
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{bar: null}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @enableTreatFunctionDepsAsConditional
-function Component(props) {
- const $ = _c(5);
- let t0;
- if ($[0] !== props.bar) {
- t0 = function getLength() {
- return props.bar.length;
- };
- $[0] = props.bar;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- const getLength = t0;
- let t1;
- if ($[2] !== getLength || $[3] !== props.bar) {
- t1 = props.bar && getLength();
- $[2] = getLength;
- $[3] = props.bar;
- $[4] = t1;
- } else {
- t1 = $[4];
- }
- return t1;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ bar: null }],
-};
-
-```
-
-### Eval output
-(kind: ok) null
\ No newline at end of file
diff --git "a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/functionexpr\342\200\223conditional-access.js" "b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/functionexpr\342\200\223conditional-access.js"
deleted file mode 100644
index 6e59fb947d15..000000000000
--- "a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/functionexpr\342\200\223conditional-access.js"
+++ /dev/null
@@ -1,13 +0,0 @@
-// @enableTreatFunctionDepsAsConditional
-function Component(props) {
- function getLength() {
- return props.bar.length;
- }
-
- return props.bar && getLength();
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{bar: null}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/gating/error.dynamic-gating-invalid-identifier-nopanic-required-feature.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/gating/error.dynamic-gating-invalid-identifier-nopanic-required-feature.expect.md
deleted file mode 100644
index 05b7218de741..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/gating/error.dynamic-gating-invalid-identifier-nopanic-required-feature.expect.md
+++ /dev/null
@@ -1,42 +0,0 @@
-
-## Input
-
-```javascript
-// @dynamicGating:{"source":"shared-runtime"} @panicThreshold:"none" @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function ReactiveVariable({propVal}) {
- 'use memo if(invalid identifier)';
- const arr = [propVal];
- useEffect(() => print(arr), AUTODEPS);
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: ReactiveVariable,
- params: [{}],
-};
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot infer dependencies of this effect. This will break your build!
-
-To resolve, either pass a dependency array or fix reported compiler bailout diagnostics.
-
-error.dynamic-gating-invalid-identifier-nopanic-required-feature.ts:8:2
- 6 | 'use memo if(invalid identifier)';
- 7 | const arr = [propVal];
-> 8 | useEffect(() => print(arr), AUTODEPS);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cannot infer dependencies
- 9 | }
- 10 |
- 11 | export const FIXTURE_ENTRYPOINT = {
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/gating/error.dynamic-gating-invalid-identifier-nopanic-required-feature.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/gating/error.dynamic-gating-invalid-identifier-nopanic-required-feature.js
deleted file mode 100644
index c753bc263827..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/gating/error.dynamic-gating-invalid-identifier-nopanic-required-feature.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// @dynamicGating:{"source":"shared-runtime"} @panicThreshold:"none" @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function ReactiveVariable({propVal}) {
- 'use memo if(invalid identifier)';
- const arr = [propVal];
- useEffect(() => print(arr), AUTODEPS);
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: ReactiveVariable,
- params: [{}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hooks-with-prefix.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hooks-with-prefix.expect.md
deleted file mode 100644
index 1170f6a60a81..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hooks-with-prefix.expect.md
+++ /dev/null
@@ -1,95 +0,0 @@
-
-## Input
-
-```javascript
-// @hookPattern:".*\b(use[^$]+)$" @enablePreserveExistingMemoizationGuarantees:false
-
-import * as React from 'react';
-import {makeArray, useHook} from 'shared-runtime';
-
-const React$useState = React.useState;
-const React$useMemo = React.useMemo;
-const Internal$Reassigned$useHook = useHook;
-
-function Component() {
- const [state, setState] = React$useState(0);
- const object = Internal$Reassigned$useHook();
- const json = JSON.stringify(object);
- const doubledArray = React$useMemo(() => {
- return makeArray(state);
- }, [state]);
- return (
-
- {doubledArray.join('')}
- {json}
-
- );
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @hookPattern:".*\b(use[^$]+)$" @enablePreserveExistingMemoizationGuarantees:false
-
-import * as React from "react";
-import { makeArray, useHook } from "shared-runtime";
-
-const React$useState = React.useState;
-const React$useMemo = React.useMemo;
-const Internal$Reassigned$useHook = useHook;
-
-function Component() {
- const $ = _c(7);
- const [state] = React$useState(0);
- const object = Internal$Reassigned$useHook();
- let t0;
- if ($[0] !== object) {
- t0 = JSON.stringify(object);
- $[0] = object;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- const json = t0;
- let t1;
- if ($[2] !== state) {
- const doubledArray = makeArray(state);
- t1 = doubledArray.join("");
- $[2] = state;
- $[3] = t1;
- } else {
- t1 = $[3];
- }
- let t2;
- if ($[4] !== json || $[5] !== t1) {
- t2 = (
-
- {t1}
- {json}
-
- );
- $[4] = json;
- $[5] = t1;
- $[6] = t2;
- } else {
- t2 = $[6];
- }
- return t2;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{}],
-};
-
-```
-
-### Eval output
-(kind: ok) 0{"a":0,"b":"value1","c":true}
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hooks-with-prefix.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hooks-with-prefix.js
deleted file mode 100644
index 4db8451bc855..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hooks-with-prefix.js
+++ /dev/null
@@ -1,28 +0,0 @@
-// @hookPattern:".*\b(use[^$]+)$" @enablePreserveExistingMemoizationGuarantees:false
-
-import * as React from 'react';
-import {makeArray, useHook} from 'shared-runtime';
-
-const React$useState = React.useState;
-const React$useMemo = React.useMemo;
-const Internal$Reassigned$useHook = useHook;
-
-function Component() {
- const [state, setState] = React$useState(0);
- const object = Internal$Reassigned$useHook();
- const json = JSON.stringify(object);
- const doubledArray = React$useMemo(() => {
- return makeArray(state);
- }, [state]);
- return (
-
- {doubledArray.join('')}
- {json}
-
- );
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.callsite-in-non-react-fn-default-import.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.callsite-in-non-react-fn-default-import.expect.md
deleted file mode 100644
index c85f4d4468f9..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.callsite-in-non-react-fn-default-import.expect.md
+++ /dev/null
@@ -1,34 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @compilationMode:"infer" @panicThreshold:"none"
-import useMyEffect from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-function nonReactFn(arg) {
- useMyEffect(() => [1, 2, arg], AUTODEPS);
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot infer dependencies of this effect. This will break your build!
-
-To resolve, either pass a dependency array or fix reported compiler bailout diagnostics.
-
-error.callsite-in-non-react-fn-default-import.ts:6:2
- 4 |
- 5 | function nonReactFn(arg) {
-> 6 | useMyEffect(() => [1, 2, arg], AUTODEPS);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cannot infer dependencies
- 7 | }
- 8 |
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.callsite-in-non-react-fn-default-import.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.callsite-in-non-react-fn-default-import.js
deleted file mode 100644
index adfe3ffadd59..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.callsite-in-non-react-fn-default-import.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// @inferEffectDependencies @compilationMode:"infer" @panicThreshold:"none"
-import useMyEffect from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-function nonReactFn(arg) {
- useMyEffect(() => [1, 2, arg], AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.callsite-in-non-react-fn.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.callsite-in-non-react-fn.expect.md
deleted file mode 100644
index a372aeb6b290..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.callsite-in-non-react-fn.expect.md
+++ /dev/null
@@ -1,33 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @compilationMode:"infer" @panicThreshold:"none"
-import {useEffect, AUTODEPS} from 'react';
-
-function nonReactFn(arg) {
- useEffect(() => [1, 2, arg], AUTODEPS);
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot infer dependencies of this effect. This will break your build!
-
-To resolve, either pass a dependency array or fix reported compiler bailout diagnostics.
-
-error.callsite-in-non-react-fn.ts:5:2
- 3 |
- 4 | function nonReactFn(arg) {
-> 5 | useEffect(() => [1, 2, arg], AUTODEPS);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cannot infer dependencies
- 6 | }
- 7 |
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.callsite-in-non-react-fn.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.callsite-in-non-react-fn.js
deleted file mode 100644
index 9cbc47086b23..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.callsite-in-non-react-fn.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// @inferEffectDependencies @compilationMode:"infer" @panicThreshold:"none"
-import {useEffect, AUTODEPS} from 'react';
-
-function nonReactFn(arg) {
- useEffect(() => [1, 2, arg], AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.non-inlined-effect-fn.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.non-inlined-effect-fn.expect.md
deleted file mode 100644
index ac56c25cb324..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.non-inlined-effect-fn.expect.md
+++ /dev/null
@@ -1,48 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none"
-import {useEffect, AUTODEPS} from 'react';
-
-/**
- * Error on non-inlined effect functions:
- * 1. From the effect hook callee's perspective, it only makes sense
- * to either
- * (a) never hard error (i.e. failing to infer deps is acceptable) or
- * (b) always hard error,
- * regardless of whether the callback function is an inline fn.
- * 2. (Technical detail) it's harder to support detecting cases in which
- * function (pre-Forget transform) was inline but becomes memoized
- */
-function Component({foo}) {
- function f() {
- console.log(foo);
- }
-
- // No inferred dep array, the argument is not a lambda
- useEffect(f, AUTODEPS);
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot infer dependencies of this effect. This will break your build!
-
-To resolve, either pass a dependency array or fix reported compiler bailout diagnostics.
-
-error.non-inlined-effect-fn.ts:20:2
- 18 |
- 19 | // No inferred dep array, the argument is not a lambda
-> 20 | useEffect(f, AUTODEPS);
- | ^^^^^^^^^^^^^^^^^^^^^^ Cannot infer dependencies
- 21 | }
- 22 |
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.non-inlined-effect-fn.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.non-inlined-effect-fn.js
deleted file mode 100644
index c113fe363c53..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.non-inlined-effect-fn.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// @inferEffectDependencies @panicThreshold:"none"
-import {useEffect, AUTODEPS} from 'react';
-
-/**
- * Error on non-inlined effect functions:
- * 1. From the effect hook callee's perspective, it only makes sense
- * to either
- * (a) never hard error (i.e. failing to infer deps is acceptable) or
- * (b) always hard error,
- * regardless of whether the callback function is an inline fn.
- * 2. (Technical detail) it's harder to support detecting cases in which
- * function (pre-Forget transform) was inline but becomes memoized
- */
-function Component({foo}) {
- function f() {
- console.log(foo);
- }
-
- // No inferred dep array, the argument is not a lambda
- useEffect(f, AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-dynamic-gating.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-dynamic-gating.expect.md
deleted file mode 100644
index 251d7c76c900..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-dynamic-gating.expect.md
+++ /dev/null
@@ -1,50 +0,0 @@
-
-## Input
-
-```javascript
-// @dynamicGating:{"source":"shared-runtime"} @inferEffectDependencies @panicThreshold:"none"
-
-import useEffectWrapper from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-/**
- * TODO: run the non-forget enabled version through the effect inference
- * pipeline.
- */
-function Component({foo}) {
- 'use memo if(getTrue)';
- const arr = [];
- useEffectWrapper(() => arr.push(foo), AUTODEPS);
- arr.push(2);
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{foo: 1}],
- sequentialRenders: [{foo: 1}, {foo: 2}],
-};
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot infer dependencies of this effect. This will break your build!
-
-To resolve, either pass a dependency array or fix reported compiler bailout diagnostics.
-
-error.todo-dynamic-gating.ts:13:2
- 11 | 'use memo if(getTrue)';
- 12 | const arr = [];
-> 13 | useEffectWrapper(() => arr.push(foo), AUTODEPS);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cannot infer dependencies
- 14 | arr.push(2);
- 15 | return arr;
- 16 | }
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-dynamic-gating.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-dynamic-gating.js
deleted file mode 100644
index 667abfea6f26..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-dynamic-gating.js
+++ /dev/null
@@ -1,22 +0,0 @@
-// @dynamicGating:{"source":"shared-runtime"} @inferEffectDependencies @panicThreshold:"none"
-
-import useEffectWrapper from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-/**
- * TODO: run the non-forget enabled version through the effect inference
- * pipeline.
- */
-function Component({foo}) {
- 'use memo if(getTrue)';
- const arr = [];
- useEffectWrapper(() => arr.push(foo), AUTODEPS);
- arr.push(2);
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{foo: 1}],
- sequentialRenders: [{foo: 1}, {foo: 2}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-gating.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-gating.expect.md
deleted file mode 100644
index 041a0f4e8bc8..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-gating.expect.md
+++ /dev/null
@@ -1,48 +0,0 @@
-
-## Input
-
-```javascript
-// @gating @inferEffectDependencies @panicThreshold:"none"
-import useEffectWrapper from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-/**
- * TODO: run the non-forget enabled version through the effect inference
- * pipeline.
- */
-function Component({foo}) {
- const arr = [];
- useEffectWrapper(() => arr.push(foo), AUTODEPS);
- arr.push(2);
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{foo: 1}],
- sequentialRenders: [{foo: 1}, {foo: 2}],
-};
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot infer dependencies of this effect. This will break your build!
-
-To resolve, either pass a dependency array or fix reported compiler bailout diagnostics.
-
-error.todo-gating.ts:11:2
- 9 | function Component({foo}) {
- 10 | const arr = [];
-> 11 | useEffectWrapper(() => arr.push(foo), AUTODEPS);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cannot infer dependencies
- 12 | arr.push(2);
- 13 | return arr;
- 14 | }
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-gating.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-gating.js
deleted file mode 100644
index 60bd9a362e30..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-gating.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// @gating @inferEffectDependencies @panicThreshold:"none"
-import useEffectWrapper from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-/**
- * TODO: run the non-forget enabled version through the effect inference
- * pipeline.
- */
-function Component({foo}) {
- const arr = [];
- useEffectWrapper(() => arr.push(foo), AUTODEPS);
- arr.push(2);
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{foo: 1}],
- sequentialRenders: [{foo: 1}, {foo: 2}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-import-default-property-useEffect.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-import-default-property-useEffect.expect.md
deleted file mode 100644
index 3c7fa047f8b5..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-import-default-property-useEffect.expect.md
+++ /dev/null
@@ -1,34 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none"
-import React from 'react';
-
-function NonReactiveDepInEffect() {
- const obj = makeObject_Primitives();
- React.useEffect(() => print(obj), React.AUTODEPS);
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot infer dependencies of this effect. This will break your build!
-
-To resolve, either pass a dependency array or fix reported compiler bailout diagnostics.
-
-error.todo-import-default-property-useEffect.ts:6:2
- 4 | function NonReactiveDepInEffect() {
- 5 | const obj = makeObject_Primitives();
-> 6 | React.useEffect(() => print(obj), React.AUTODEPS);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cannot infer dependencies
- 7 | }
- 8 |
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-import-default-property-useEffect.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-import-default-property-useEffect.js
deleted file mode 100644
index c3044274cd25..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-import-default-property-useEffect.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// @inferEffectDependencies @panicThreshold:"none"
-import React from 'react';
-
-function NonReactiveDepInEffect() {
- const obj = makeObject_Primitives();
- React.useEffect(() => print(obj), React.AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-syntax.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-syntax.expect.md
deleted file mode 100644
index 00af7ec6ad59..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-syntax.expect.md
+++ /dev/null
@@ -1,60 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none"
-import {useSpecialEffect} from 'shared-runtime';
-import {AUTODEPS} from 'react';
-
-/**
- * Note that a react compiler-based transform still has limitations on JS syntax.
- * We should surface these as actionable lint / build errors to devs.
- */
-function Component({prop1}) {
- 'use memo';
- useSpecialEffect(
- () => {
- try {
- console.log(prop1);
- } finally {
- console.log('exiting');
- }
- },
- [prop1],
- AUTODEPS
- );
- return {prop1}
;
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot infer dependencies of this effect. This will break your build!
-
-To resolve, either pass a dependency array or fix reported compiler bailout diagnostics Todo: (BuildHIR::lowerStatement) Handle TryStatement without a catch clause (13:6).
-
-error.todo-syntax.ts:11:2
- 9 | function Component({prop1}) {
- 10 | 'use memo';
-> 11 | useSpecialEffect(
- | ^^^^^^^^^^^^^^^^^
-> 12 | () => {
- | ^^^^^^^^^^^
-> 13 | try {
- …
- | ^^^^^^^^^^^
-> 20 | AUTODEPS
- | ^^^^^^^^^^^
-> 21 | );
- | ^^^^ Cannot infer dependencies
- 22 | return {prop1}
;
- 23 | }
- 24 |
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-syntax.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-syntax.js
deleted file mode 100644
index ad1e58532953..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.todo-syntax.js
+++ /dev/null
@@ -1,23 +0,0 @@
-// @inferEffectDependencies @panicThreshold:"none"
-import {useSpecialEffect} from 'shared-runtime';
-import {AUTODEPS} from 'react';
-
-/**
- * Note that a react compiler-based transform still has limitations on JS syntax.
- * We should surface these as actionable lint / build errors to devs.
- */
-function Component({prop1}) {
- 'use memo';
- useSpecialEffect(
- () => {
- try {
- console.log(prop1);
- } finally {
- console.log('exiting');
- }
- },
- [prop1],
- AUTODEPS
- );
- return {prop1}
;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.use-no-memo.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.use-no-memo.expect.md
deleted file mode 100644
index 8371ba004034..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.use-no-memo.expect.md
+++ /dev/null
@@ -1,34 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none"
-import {useEffect, AUTODEPS} from 'react';
-
-function Component({propVal}) {
- 'use no memo';
- useEffect(() => [propVal], AUTODEPS);
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot infer dependencies of this effect. This will break your build!
-
-To resolve, either pass a dependency array or fix reported compiler bailout diagnostics.
-
-error.use-no-memo.ts:6:2
- 4 | function Component({propVal}) {
- 5 | 'use no memo';
-> 6 | useEffect(() => [propVal], AUTODEPS);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cannot infer dependencies
- 7 | }
- 8 |
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.use-no-memo.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.use-no-memo.js
deleted file mode 100644
index 30fbd8c2a61e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/error.use-no-memo.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// @inferEffectDependencies @panicThreshold:"none"
-import {useEffect, AUTODEPS} from 'react';
-
-function Component({propVal}) {
- 'use no memo';
- useEffect(() => [propVal], AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-granular-access.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-granular-access.expect.md
deleted file mode 100644
index b8cf1bc40aa8..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-granular-access.expect.md
+++ /dev/null
@@ -1,39 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none"
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function Component({foo}) {
- const arr = [];
- // Taking either arr[0].value or arr as a dependency is reasonable
- // as long as developers know what to expect.
- useEffect(() => print(arr[0].value), AUTODEPS);
- arr.push({value: foo});
- return arr;
-}
-
-```
-
-## Code
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none"
-import { useEffect, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-function Component(t0) {
- const { foo } = t0;
- const arr = [];
-
- useEffect(() => print(arr[0].value), [arr[0].value]);
- arr.push({ value: foo });
- return arr;
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-granular-access.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-granular-access.js
deleted file mode 100644
index 9ec840ab623e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-granular-access.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// @inferEffectDependencies @panicThreshold:"none"
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function Component({foo}) {
- const arr = [];
- // Taking either arr[0].value or arr as a dependency is reasonable
- // as long as developers know what to expect.
- useEffect(() => print(arr[0].value), AUTODEPS);
- arr.push({value: foo});
- return arr;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-optional-chain.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-optional-chain.expect.md
deleted file mode 100644
index 4606d49f37fa..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-optional-chain.expect.md
+++ /dev/null
@@ -1,58 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function Component({foo}) {
- const arr = [];
- // Taking either arr[0].value or arr as a dependency is reasonable
- // as long as developers know what to expect.
- useEffect(() => print(arr[0]?.value), AUTODEPS);
- arr.push({value: foo});
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{foo: 1}],
-};
-
-```
-
-## Code
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly
-import { useEffect, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-function Component(t0) {
- const { foo } = t0;
- const arr = [];
-
- useEffect(() => print(arr[0]?.value), [arr[0]?.value]);
- arr.push({ value: foo });
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ foo: 1 }],
-};
-
-```
-
-## Logs
-
-```
-{"kind":"CompileError","fnLoc":{"start":{"line":5,"column":0,"index":149},"end":{"line":12,"column":1,"index":404},"filename":"mutate-after-useeffect-optional-chain.ts"},"detail":{"options":{"category":"Immutability","reason":"This value cannot be modified","description":"Modifying a value used previously in an effect function or as an effect dependency is not allowed. Consider moving the modification before calling useEffect()","details":[{"kind":"error","loc":{"start":{"line":10,"column":2,"index":365},"end":{"line":10,"column":5,"index":368},"filename":"mutate-after-useeffect-optional-chain.ts","identifierName":"arr"},"message":"value cannot be modified"}]}}}
-{"kind":"AutoDepsDecorations","fnLoc":{"start":{"line":9,"column":2,"index":314},"end":{"line":9,"column":49,"index":361},"filename":"mutate-after-useeffect-optional-chain.ts"},"decorations":[{"start":{"line":9,"column":24,"index":336},"end":{"line":9,"column":27,"index":339},"filename":"mutate-after-useeffect-optional-chain.ts","identifierName":"arr"}]}
-{"kind":"CompileSuccess","fnLoc":{"start":{"line":5,"column":0,"index":149},"end":{"line":12,"column":1,"index":404},"filename":"mutate-after-useeffect-optional-chain.ts"},"fnName":"Component","memoSlots":0,"memoBlocks":0,"memoValues":0,"prunedMemoBlocks":0,"prunedMemoValues":0}
-```
-
-### Eval output
-(kind: ok) [{"value":1}]
-logs: [1]
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-optional-chain.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-optional-chain.js
deleted file mode 100644
index c78251bf2d3b..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-optional-chain.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function Component({foo}) {
- const arr = [];
- // Taking either arr[0].value or arr as a dependency is reasonable
- // as long as developers know what to expect.
- useEffect(() => print(arr[0]?.value), AUTODEPS);
- arr.push({value: foo});
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{foo: 1}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-ref-access.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-ref-access.expect.md
deleted file mode 100644
index ea5a887b8bf7..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-ref-access.expect.md
+++ /dev/null
@@ -1,57 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly
-
-import {useEffect, useRef, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function Component({arrRef}) {
- // Avoid taking arr.current as a dependency
- useEffect(() => print(arrRef.current), AUTODEPS);
- arrRef.current.val = 2;
- return arrRef;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{arrRef: {current: {val: 'initial ref value'}}}],
-};
-
-```
-
-## Code
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly
-
-import { useEffect, useRef, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-function Component(t0) {
- const { arrRef } = t0;
-
- useEffect(() => print(arrRef.current), [arrRef]);
- arrRef.current.val = 2;
- return arrRef;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ arrRef: { current: { val: "initial ref value" } } }],
-};
-
-```
-
-## Logs
-
-```
-{"kind":"CompileError","fnLoc":{"start":{"line":6,"column":0,"index":158},"end":{"line":11,"column":1,"index":331},"filename":"mutate-after-useeffect-ref-access.ts"},"detail":{"options":{"category":"Refs","reason":"Cannot access refs during render","description":"React refs are values that are not needed for rendering. Refs should only be accessed outside of render, such as in event handlers or effects. Accessing a ref value (the `current` property) during render can cause your component not to update as expected (https://react.dev/reference/react/useRef)","details":[{"kind":"error","loc":{"start":{"line":9,"column":2,"index":289},"end":{"line":9,"column":16,"index":303},"filename":"mutate-after-useeffect-ref-access.ts"},"message":"Cannot update ref during render"}]}}}
-{"kind":"AutoDepsDecorations","fnLoc":{"start":{"line":8,"column":2,"index":237},"end":{"line":8,"column":50,"index":285},"filename":"mutate-after-useeffect-ref-access.ts"},"decorations":[{"start":{"line":8,"column":24,"index":259},"end":{"line":8,"column":30,"index":265},"filename":"mutate-after-useeffect-ref-access.ts","identifierName":"arrRef"}]}
-{"kind":"CompileSuccess","fnLoc":{"start":{"line":6,"column":0,"index":158},"end":{"line":11,"column":1,"index":331},"filename":"mutate-after-useeffect-ref-access.ts"},"fnName":"Component","memoSlots":0,"memoBlocks":0,"memoValues":0,"prunedMemoBlocks":0,"prunedMemoValues":0}
-```
-
-### Eval output
-(kind: ok) {"current":{"val":2}}
-logs: [{ val: 2 }]
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-ref-access.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-ref-access.js
deleted file mode 100644
index d972d6d001c8..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect-ref-access.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly
-
-import {useEffect, useRef, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function Component({arrRef}) {
- // Avoid taking arr.current as a dependency
- useEffect(() => print(arrRef.current), AUTODEPS);
- arrRef.current.val = 2;
- return arrRef;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{arrRef: {current: {val: 'initial ref value'}}}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect.expect.md
deleted file mode 100644
index 71cd9fb62085..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect.expect.md
+++ /dev/null
@@ -1,56 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly
-import {useEffect, AUTODEPS} from 'react';
-
-function Component({foo}) {
- const arr = [];
- useEffect(() => {
- arr.push(foo);
- }, AUTODEPS);
- arr.push(2);
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{foo: 1}],
-};
-
-```
-
-## Code
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly
-import { useEffect, AUTODEPS } from "react";
-
-function Component(t0) {
- const { foo } = t0;
- const arr = [];
- useEffect(() => {
- arr.push(foo);
- }, [arr, foo]);
- arr.push(2);
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ foo: 1 }],
-};
-
-```
-
-## Logs
-
-```
-{"kind":"CompileError","fnLoc":{"start":{"line":4,"column":0,"index":111},"end":{"line":11,"column":1,"index":242},"filename":"mutate-after-useeffect.ts"},"detail":{"options":{"category":"Immutability","reason":"This value cannot be modified","description":"Modifying a value used previously in an effect function or as an effect dependency is not allowed. Consider moving the modification before calling useEffect()","details":[{"kind":"error","loc":{"start":{"line":9,"column":2,"index":214},"end":{"line":9,"column":5,"index":217},"filename":"mutate-after-useeffect.ts","identifierName":"arr"},"message":"value cannot be modified"}]}}}
-{"kind":"AutoDepsDecorations","fnLoc":{"start":{"line":6,"column":2,"index":159},"end":{"line":8,"column":14,"index":210},"filename":"mutate-after-useeffect.ts"},"decorations":[{"start":{"line":7,"column":4,"index":181},"end":{"line":7,"column":7,"index":184},"filename":"mutate-after-useeffect.ts","identifierName":"arr"},{"start":{"line":7,"column":4,"index":181},"end":{"line":7,"column":7,"index":184},"filename":"mutate-after-useeffect.ts","identifierName":"arr"},{"start":{"line":7,"column":13,"index":190},"end":{"line":7,"column":16,"index":193},"filename":"mutate-after-useeffect.ts","identifierName":"foo"}]}
-{"kind":"CompileSuccess","fnLoc":{"start":{"line":4,"column":0,"index":111},"end":{"line":11,"column":1,"index":242},"filename":"mutate-after-useeffect.ts"},"fnName":"Component","memoSlots":0,"memoBlocks":0,"memoValues":0,"prunedMemoBlocks":0,"prunedMemoValues":0}
-```
-
-### Eval output
-(kind: ok) [2]
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect.js
deleted file mode 100644
index 965f64fd7aeb..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/bailout-retry/mutate-after-useeffect.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly
-import {useEffect, AUTODEPS} from 'react';
-
-function Component({foo}) {
- const arr = [];
- useEffect(() => {
- arr.push(foo);
- }, AUTODEPS);
- arr.push(2);
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{foo: 1}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/error.wrong-index-no-func.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/error.wrong-index-no-func.expect.md
deleted file mode 100644
index 4b2f94a263a1..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/error.wrong-index-no-func.expect.md
+++ /dev/null
@@ -1,33 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-
-function Component({foo}) {
- useEffect(AUTODEPS);
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot infer dependencies of this effect. This will break your build!
-
-To resolve, either pass a dependency array or fix reported compiler bailout diagnostics.
-
-error.wrong-index-no-func.ts:5:2
- 3 |
- 4 | function Component({foo}) {
-> 5 | useEffect(AUTODEPS);
- | ^^^^^^^^^^^^^^^^^^^ Cannot infer dependencies
- 6 | }
- 7 |
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/error.wrong-index-no-func.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/error.wrong-index-no-func.js
deleted file mode 100644
index 973798b5731b..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/error.wrong-index-no-func.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-
-function Component({foo}) {
- useEffect(AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/error.wrong-index.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/error.wrong-index.expect.md
deleted file mode 100644
index 0a5cde5cd65d..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/error.wrong-index.expect.md
+++ /dev/null
@@ -1,52 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {AUTODEPS} from 'react';
-import useEffectWrapper from 'useEffectWrapper';
-
-function Component({foo}) {
- useEffectWrapper(
- () => {
- console.log(foo);
- },
- [foo],
- AUTODEPS
- );
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot infer dependencies of this effect. This will break your build!
-
-To resolve, either pass a dependency array or fix reported compiler bailout diagnostics.
-
-error.wrong-index.ts:6:2
- 4 |
- 5 | function Component({foo}) {
-> 6 | useEffectWrapper(
- | ^^^^^^^^^^^^^^^^^
-> 7 | () => {
- | ^^^^^^^^^^^
-> 8 | console.log(foo);
- | ^^^^^^^^^^^
-> 9 | },
- | ^^^^^^^^^^^
-> 10 | [foo],
- | ^^^^^^^^^^^
-> 11 | AUTODEPS
- | ^^^^^^^^^^^
-> 12 | );
- | ^^^^ Cannot infer dependencies
- 13 | }
- 14 |
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/error.wrong-index.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/error.wrong-index.js
deleted file mode 100644
index b0898e3dbde9..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/error.wrong-index.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// @inferEffectDependencies
-import {AUTODEPS} from 'react';
-import useEffectWrapper from 'useEffectWrapper';
-
-function Component({foo}) {
- useEffectWrapper(
- () => {
- console.log(foo);
- },
- [foo],
- AUTODEPS
- );
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/helper-nonreactive.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/helper-nonreactive.expect.md
deleted file mode 100644
index ae2b018d36dd..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/helper-nonreactive.expect.md
+++ /dev/null
@@ -1,49 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, useRef, AUTODEPS} from 'react';
-function useCustomRef() {
- const ref = useRef();
- return ref;
-}
-function NonReactiveWrapper() {
- const ref = useCustomRef();
- useEffect(() => {
- print(ref);
- }, AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useEffect, useRef, AUTODEPS } from "react";
-function useCustomRef() {
- const ref = useRef();
- return ref;
-}
-
-function NonReactiveWrapper() {
- const $ = _c(2);
- const ref = useCustomRef();
- let t0;
- if ($[0] !== ref) {
- t0 = () => {
- print(ref);
- };
- $[0] = ref;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- useEffect(t0, [ref]);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/helper-nonreactive.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/helper-nonreactive.js
deleted file mode 100644
index 18de64bc08b4..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/helper-nonreactive.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, useRef, AUTODEPS} from 'react';
-function useCustomRef() {
- const ref = useRef();
- return ref;
-}
-function NonReactiveWrapper() {
- const ref = useCustomRef();
- useEffect(() => {
- print(ref);
- }, AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/import-namespace-useEffect.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/import-namespace-useEffect.expect.md
deleted file mode 100644
index a221475b95bb..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/import-namespace-useEffect.expect.md
+++ /dev/null
@@ -1,59 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import * as React from 'react';
-import * as SharedRuntime from 'shared-runtime';
-
-function NonReactiveDepInEffect() {
- const obj = makeObject_Primitives();
- React.useEffect(() => print(obj), React.AUTODEPS);
- SharedRuntime.useSpecialEffect(() => print(obj), [obj], React.AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import * as React from "react";
-import * as SharedRuntime from "shared-runtime";
-
-function NonReactiveDepInEffect() {
- const $ = _c(4);
- let t0;
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
- t0 = makeObject_Primitives();
- $[0] = t0;
- } else {
- t0 = $[0];
- }
- const obj = t0;
- let t1;
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
- t1 = () => print(obj);
- $[1] = t1;
- } else {
- t1 = $[1];
- }
- React.useEffect(t1, [obj]);
- let t2;
- let t3;
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
- t2 = () => print(obj);
- t3 = [obj];
- $[2] = t2;
- $[3] = t3;
- } else {
- t2 = $[2];
- t3 = $[3];
- }
- SharedRuntime.useSpecialEffect(t2, t3, [obj]);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/import-namespace-useEffect.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/import-namespace-useEffect.js
deleted file mode 100644
index 3ef0bf400e5b..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/import-namespace-useEffect.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// @inferEffectDependencies
-import * as React from 'react';
-import * as SharedRuntime from 'shared-runtime';
-
-function NonReactiveDepInEffect() {
- const obj = makeObject_Primitives();
- React.useEffect(() => print(obj), React.AUTODEPS);
- SharedRuntime.useSpecialEffect(() => print(obj), [obj], React.AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/infer-deps-custom-config.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/infer-deps-custom-config.expect.md
deleted file mode 100644
index 03d9ba04e90c..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/infer-deps-custom-config.expect.md
+++ /dev/null
@@ -1,63 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {print, useSpecialEffect} from 'shared-runtime';
-import {AUTODEPS} from 'react';
-
-function CustomConfig({propVal}) {
- // Insertion
- useSpecialEffect(() => print(propVal), [propVal], AUTODEPS);
- // No insertion
- useSpecialEffect(() => print(propVal), [propVal], [propVal]);
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { print, useSpecialEffect } from "shared-runtime";
-import { AUTODEPS } from "react";
-
-function CustomConfig(t0) {
- const $ = _c(7);
- const { propVal } = t0;
- let t1;
- let t2;
- if ($[0] !== propVal) {
- t1 = () => print(propVal);
- t2 = [propVal];
- $[0] = propVal;
- $[1] = t1;
- $[2] = t2;
- } else {
- t1 = $[1];
- t2 = $[2];
- }
- useSpecialEffect(t1, t2, [propVal]);
- let t3;
- let t4;
- let t5;
- if ($[3] !== propVal) {
- t3 = () => print(propVal);
- t4 = [propVal];
- t5 = [propVal];
- $[3] = propVal;
- $[4] = t3;
- $[5] = t4;
- $[6] = t5;
- } else {
- t3 = $[4];
- t4 = $[5];
- t5 = $[6];
- }
- useSpecialEffect(t3, t4, t5);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/infer-deps-custom-config.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/infer-deps-custom-config.js
deleted file mode 100644
index efb821239841..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/infer-deps-custom-config.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// @inferEffectDependencies
-import {print, useSpecialEffect} from 'shared-runtime';
-import {AUTODEPS} from 'react';
-
-function CustomConfig({propVal}) {
- // Insertion
- useSpecialEffect(() => print(propVal), [propVal], AUTODEPS);
- // No insertion
- useSpecialEffect(() => print(propVal), [propVal], [propVal]);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/infer-effect-dependencies.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/infer-effect-dependencies.expect.md
deleted file mode 100644
index e09c0ef8e8a4..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/infer-effect-dependencies.expect.md
+++ /dev/null
@@ -1,129 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, useRef, AUTODEPS} from 'react';
-import useEffectWrapper from 'useEffectWrapper';
-
-const moduleNonReactive = 0;
-
-function Component({foo, bar}) {
- const localNonreactive = 0;
- const ref = useRef(0);
- const localNonPrimitiveReactive = {
- foo,
- };
- const localNonPrimitiveNonreactive = {};
- useEffect(() => {
- console.log(foo);
- console.log(bar);
- console.log(moduleNonReactive);
- console.log(localNonreactive);
- console.log(globalValue);
- console.log(ref.current);
- console.log(localNonPrimitiveReactive);
- console.log(localNonPrimitiveNonreactive);
- }, AUTODEPS);
-
- // Optional chains and property accesses
- // TODO: we may be able to save bytes by omitting property accesses if the
- // object of the member expression is already included in the inferred deps
- useEffect(() => {
- console.log(bar?.baz);
- console.log(bar.qux);
- }, AUTODEPS);
-
- useEffectWrapper(() => {
- console.log(foo);
- }, AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useEffect, useRef, AUTODEPS } from "react";
-import useEffectWrapper from "useEffectWrapper";
-
-const moduleNonReactive = 0;
-
-function Component(t0) {
- const $ = _c(12);
- const { foo, bar } = t0;
-
- const ref = useRef(0);
- let t1;
- if ($[0] !== foo) {
- t1 = { foo };
- $[0] = foo;
- $[1] = t1;
- } else {
- t1 = $[1];
- }
- const localNonPrimitiveReactive = t1;
- let t2;
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
- t2 = {};
- $[2] = t2;
- } else {
- t2 = $[2];
- }
- const localNonPrimitiveNonreactive = t2;
- let t3;
- if ($[3] !== bar || $[4] !== foo || $[5] !== localNonPrimitiveReactive) {
- t3 = () => {
- console.log(foo);
- console.log(bar);
- console.log(moduleNonReactive);
- console.log(0);
- console.log(globalValue);
- console.log(ref.current);
- console.log(localNonPrimitiveReactive);
- console.log(localNonPrimitiveNonreactive);
- };
- $[3] = bar;
- $[4] = foo;
- $[5] = localNonPrimitiveReactive;
- $[6] = t3;
- } else {
- t3 = $[6];
- }
- useEffect(t3, [
- foo,
- bar,
- localNonPrimitiveReactive,
- localNonPrimitiveNonreactive,
- ]);
- let t4;
- if ($[7] !== bar.baz || $[8] !== bar.qux) {
- t4 = () => {
- console.log(bar?.baz);
- console.log(bar.qux);
- };
- $[7] = bar.baz;
- $[8] = bar.qux;
- $[9] = t4;
- } else {
- t4 = $[9];
- }
- useEffect(t4, [bar.baz, bar.qux]);
- let t5;
- if ($[10] !== foo) {
- t5 = () => {
- console.log(foo);
- };
- $[10] = foo;
- $[11] = t5;
- } else {
- t5 = $[11];
- }
- useEffectWrapper(t5, [foo]);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/infer-effect-dependencies.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/infer-effect-dependencies.js
deleted file mode 100644
index bf02842d25ff..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/infer-effect-dependencies.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, useRef, AUTODEPS} from 'react';
-import useEffectWrapper from 'useEffectWrapper';
-
-const moduleNonReactive = 0;
-
-function Component({foo, bar}) {
- const localNonreactive = 0;
- const ref = useRef(0);
- const localNonPrimitiveReactive = {
- foo,
- };
- const localNonPrimitiveNonreactive = {};
- useEffect(() => {
- console.log(foo);
- console.log(bar);
- console.log(moduleNonReactive);
- console.log(localNonreactive);
- console.log(globalValue);
- console.log(ref.current);
- console.log(localNonPrimitiveReactive);
- console.log(localNonPrimitiveNonreactive);
- }, AUTODEPS);
-
- // Optional chains and property accesses
- // TODO: we may be able to save bytes by omitting property accesses if the
- // object of the member expression is already included in the inferred deps
- useEffect(() => {
- console.log(bar?.baz);
- console.log(bar.qux);
- }, AUTODEPS);
-
- useEffectWrapper(() => {
- console.log(foo);
- }, AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-dep.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-dep.expect.md
deleted file mode 100644
index 2730f8941b51..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-dep.expect.md
+++ /dev/null
@@ -1,80 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {makeObject_Primitives, print} from 'shared-runtime';
-
-/**
- * Note that `obj` is currently added to the effect dependency array, even
- * though it's non-reactive due to memoization.
- *
- * This is a TODO in effect dependency inference. Note that we cannot simply
- * filter out non-reactive effect dependencies, as some non-reactive (by data
- * flow) values become reactive due to scope pruning. See the
- * `infer-effect-deps/pruned-nonreactive-obj` fixture for why this matters.
- *
- * Realizing that this `useEffect` should have an empty dependency array
- * requires effect dependency inference to be structured similarly to memo
- * dependency inference.
- * Pass 1: add all potential dependencies regardless of dataflow reactivity
- * Pass 2: (todo) prune non-reactive dependencies
- *
- * Note that instruction reordering should significantly reduce scope pruning
- */
-function NonReactiveDepInEffect() {
- const obj = makeObject_Primitives();
- useEffect(() => print(obj), AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useEffect, AUTODEPS } from "react";
-import { makeObject_Primitives, print } from "shared-runtime";
-
-/**
- * Note that `obj` is currently added to the effect dependency array, even
- * though it's non-reactive due to memoization.
- *
- * This is a TODO in effect dependency inference. Note that we cannot simply
- * filter out non-reactive effect dependencies, as some non-reactive (by data
- * flow) values become reactive due to scope pruning. See the
- * `infer-effect-deps/pruned-nonreactive-obj` fixture for why this matters.
- *
- * Realizing that this `useEffect` should have an empty dependency array
- * requires effect dependency inference to be structured similarly to memo
- * dependency inference.
- * Pass 1: add all potential dependencies regardless of dataflow reactivity
- * Pass 2: (todo) prune non-reactive dependencies
- *
- * Note that instruction reordering should significantly reduce scope pruning
- */
-function NonReactiveDepInEffect() {
- const $ = _c(2);
- let t0;
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
- t0 = makeObject_Primitives();
- $[0] = t0;
- } else {
- t0 = $[0];
- }
- const obj = t0;
- let t1;
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
- t1 = () => print(obj);
- $[1] = t1;
- } else {
- t1 = $[1];
- }
- useEffect(t1, [obj]);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-dep.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-dep.js
deleted file mode 100644
index f6e44034c51f..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-dep.js
+++ /dev/null
@@ -1,25 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {makeObject_Primitives, print} from 'shared-runtime';
-
-/**
- * Note that `obj` is currently added to the effect dependency array, even
- * though it's non-reactive due to memoization.
- *
- * This is a TODO in effect dependency inference. Note that we cannot simply
- * filter out non-reactive effect dependencies, as some non-reactive (by data
- * flow) values become reactive due to scope pruning. See the
- * `infer-effect-deps/pruned-nonreactive-obj` fixture for why this matters.
- *
- * Realizing that this `useEffect` should have an empty dependency array
- * requires effect dependency inference to be structured similarly to memo
- * dependency inference.
- * Pass 1: add all potential dependencies regardless of dataflow reactivity
- * Pass 2: (todo) prune non-reactive dependencies
- *
- * Note that instruction reordering should significantly reduce scope pruning
- */
-function NonReactiveDepInEffect() {
- const obj = makeObject_Primitives();
- useEffect(() => print(obj), AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-effect-event.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-effect-event.expect.md
deleted file mode 100644
index c95f9625bbb3..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-effect-event.expect.md
+++ /dev/null
@@ -1,49 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, useEffectEvent, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-/**
- * We do not include effect events in dep arrays.
- */
-function NonReactiveEffectEvent() {
- const fn = useEffectEvent(() => print('hello world'));
- useEffect(() => fn(), AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useEffect, useEffectEvent, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-/**
- * We do not include effect events in dep arrays.
- */
-function NonReactiveEffectEvent() {
- const $ = _c(2);
- const fn = useEffectEvent(_temp);
- let t0;
- if ($[0] !== fn) {
- t0 = () => fn();
- $[0] = fn;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- useEffect(t0, []);
-}
-function _temp() {
- return print("hello world");
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-effect-event.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-effect-event.js
deleted file mode 100644
index fc78581e6d52..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-effect-event.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, useEffectEvent, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-/**
- * We do not include effect events in dep arrays.
- */
-function NonReactiveEffectEvent() {
- const fn = useEffectEvent(() => print('hello world'));
- useEffect(() => fn(), AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-ref-helper.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-ref-helper.expect.md
deleted file mode 100644
index 05dcab77968a..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-ref-helper.expect.md
+++ /dev/null
@@ -1,89 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-/**
- * We never include a .current access in a dep array because it may be a ref access.
- * This might over-capture objects that are not refs and happen to have fields named
- * current, but that should be a rare case and the result would still be correct
- * (assuming the effect is idempotent). In the worst case, you can always write a manual
- * dep array.
- */
-function RefsInEffects() {
- const ref = useRefHelper();
- const wrapped = useDeeperRefHelper();
- useEffect(() => {
- print(ref.current);
- print(wrapped.foo.current);
- }, AUTODEPS);
-}
-
-function useRefHelper() {
- return useRef(0);
-}
-
-function useDeeperRefHelper() {
- return {foo: useRefHelper()};
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useEffect, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-/**
- * We never include a .current access in a dep array because it may be a ref access.
- * This might over-capture objects that are not refs and happen to have fields named
- * current, but that should be a rare case and the result would still be correct
- * (assuming the effect is idempotent). In the worst case, you can always write a manual
- * dep array.
- */
-function RefsInEffects() {
- const $ = _c(3);
- const ref = useRefHelper();
- const wrapped = useDeeperRefHelper();
- let t0;
- if ($[0] !== ref || $[1] !== wrapped.foo.current) {
- t0 = () => {
- print(ref.current);
- print(wrapped.foo.current);
- };
- $[0] = ref;
- $[1] = wrapped.foo.current;
- $[2] = t0;
- } else {
- t0 = $[2];
- }
- useEffect(t0, [ref, wrapped.foo]);
-}
-
-function useRefHelper() {
- return useRef(0);
-}
-
-function useDeeperRefHelper() {
- const $ = _c(2);
- const t0 = useRefHelper();
- let t1;
- if ($[0] !== t0) {
- t1 = { foo: t0 };
- $[0] = t0;
- $[1] = t1;
- } else {
- t1 = $[1];
- }
- return t1;
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-ref-helper.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-ref-helper.js
deleted file mode 100644
index 92a905061fe0..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-ref-helper.js
+++ /dev/null
@@ -1,27 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-/**
- * We never include a .current access in a dep array because it may be a ref access.
- * This might over-capture objects that are not refs and happen to have fields named
- * current, but that should be a rare case and the result would still be correct
- * (assuming the effect is idempotent). In the worst case, you can always write a manual
- * dep array.
- */
-function RefsInEffects() {
- const ref = useRefHelper();
- const wrapped = useDeeperRefHelper();
- useEffect(() => {
- print(ref.current);
- print(wrapped.foo.current);
- }, AUTODEPS);
-}
-
-function useRefHelper() {
- return useRef(0);
-}
-
-function useDeeperRefHelper() {
- return {foo: useRefHelper()};
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-ref.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-ref.expect.md
deleted file mode 100644
index 3c5835e75550..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-ref.expect.md
+++ /dev/null
@@ -1,51 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, useRef, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-/**
- * Special case of `infer-effect-deps/nonreactive-dep`.
- *
- * We know that local `useRef` return values are stable, regardless of
- * inferred memoization.
- */
-function NonReactiveRefInEffect() {
- const ref = useRef('initial value');
- useEffect(() => print(ref.current), AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useEffect, useRef, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-/**
- * Special case of `infer-effect-deps/nonreactive-dep`.
- *
- * We know that local `useRef` return values are stable, regardless of
- * inferred memoization.
- */
-function NonReactiveRefInEffect() {
- const $ = _c(1);
- const ref = useRef("initial value");
- let t0;
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
- t0 = () => print(ref.current);
- $[0] = t0;
- } else {
- t0 = $[0];
- }
- useEffect(t0, []);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-ref.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-ref.js
deleted file mode 100644
index 38b83b9b8f81..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-ref.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, useRef, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-/**
- * Special case of `infer-effect-deps/nonreactive-dep`.
- *
- * We know that local `useRef` return values are stable, regardless of
- * inferred memoization.
- */
-function NonReactiveRefInEffect() {
- const ref = useRef('initial value');
- useEffect(() => print(ref.current), AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-setState.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-setState.expect.md
deleted file mode 100644
index e0a1a95b339f..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-setState.expect.md
+++ /dev/null
@@ -1,51 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, useState, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-/**
- * Special case of `infer-effect-deps/nonreactive-dep`.
- *
- * We know that local `useRef` return values are stable, regardless of
- * inferred memoization.
- */
-function NonReactiveSetStateInEffect() {
- const [_, setState] = useState('initial value');
- useEffect(() => print(setState), AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useEffect, useState, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-/**
- * Special case of `infer-effect-deps/nonreactive-dep`.
- *
- * We know that local `useRef` return values are stable, regardless of
- * inferred memoization.
- */
-function NonReactiveSetStateInEffect() {
- const $ = _c(1);
- const [, setState] = useState("initial value");
- let t0;
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
- t0 = () => print(setState);
- $[0] = t0;
- } else {
- t0 = $[0];
- }
- useEffect(t0, []);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-setState.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-setState.js
deleted file mode 100644
index 0f8abceca0ec..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/nonreactive-setState.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, useState, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-/**
- * Special case of `infer-effect-deps/nonreactive-dep`.
- *
- * We know that local `useRef` return values are stable, regardless of
- * inferred memoization.
- */
-function NonReactiveSetStateInEffect() {
- const [_, setState] = useState('initial value');
- useEffect(() => print(setState), AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/outlined-function.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/outlined-function.expect.md
deleted file mode 100644
index a0b0594afa1b..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/outlined-function.expect.md
+++ /dev/null
@@ -1,46 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-/**
- * This compiled output is technically incorrect but this is currently the same
- * case as a bailout (an effect that overfires).
- *
- * To ensure an empty deps array is passed, we need special case
- * `InferEffectDependencies` for outlined functions (likely easier) or run it
- * before OutlineFunctions
- */
-function OutlinedFunctionInEffect() {
- useEffect(() => print('hello world!'), AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-// @inferEffectDependencies
-import { useEffect, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-/**
- * This compiled output is technically incorrect but this is currently the same
- * case as a bailout (an effect that overfires).
- *
- * To ensure an empty deps array is passed, we need special case
- * `InferEffectDependencies` for outlined functions (likely easier) or run it
- * before OutlineFunctions
- */
-function OutlinedFunctionInEffect() {
- useEffect(_temp, []);
-}
-function _temp() {
- return print("hello world!");
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/outlined-function.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/outlined-function.js
deleted file mode 100644
index 5ec2f7d8f9ed..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/outlined-function.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-/**
- * This compiled output is technically incorrect but this is currently the same
- * case as a bailout (an effect that overfires).
- *
- * To ensure an empty deps array is passed, we need special case
- * `InferEffectDependencies` for outlined functions (likely easier) or run it
- * before OutlineFunctions
- */
-function OutlinedFunctionInEffect() {
- useEffect(() => print('hello world!'), AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/pruned-nonreactive-obj.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/pruned-nonreactive-obj.expect.md
deleted file mode 100644
index c6c0087a774f..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/pruned-nonreactive-obj.expect.md
+++ /dev/null
@@ -1,119 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useIdentity, mutate, makeObject} from 'shared-runtime';
-import {useEffect, AUTODEPS} from 'react';
-
-/**
- * When a semantically non-reactive value has a pruned scope (i.e. the object
- * identity becomes reactive, but the underlying value it represents should be
- * constant), the compiler can choose to either
- * - add it as a dependency (and rerun the effect)
- * - not add it as a dependency
- *
- * We keep semantically non-reactive values in both memo block and effect
- * dependency arrays to avoid versioning invariants e.g. `x !== y.aliasedX`.
- * ```js
- * function Component() {
- * // obj is semantically non-reactive, but its memo scope is pruned due to
- * // the interleaving hook call
- * const obj = {};
- * useHook();
- * write(obj);
- *
- * const ref = useRef();
- *
- * // this effect needs to be rerun when obj's referential identity changes,
- * // because it might alias obj to a useRef / mutable store.
- * useEffect(() => ref.current = obj, ???);
- *
- * // in a custom hook (or child component), the user might expect versioning
- * // invariants to hold
- * useHook(ref, obj);
- * }
- *
- * // defined elsewhere
- * function useHook(someRef, obj) {
- * useEffect(
- * () => assert(someRef.current === obj),
- * [someRef, obj]
- * );
- * }
- * ```
- */
-function PrunedNonReactive() {
- const obj = makeObject();
- useIdentity(null);
- mutate(obj);
-
- useEffect(() => print(obj.value), AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useIdentity, mutate, makeObject } from "shared-runtime";
-import { useEffect, AUTODEPS } from "react";
-
-/**
- * When a semantically non-reactive value has a pruned scope (i.e. the object
- * identity becomes reactive, but the underlying value it represents should be
- * constant), the compiler can choose to either
- * - add it as a dependency (and rerun the effect)
- * - not add it as a dependency
- *
- * We keep semantically non-reactive values in both memo block and effect
- * dependency arrays to avoid versioning invariants e.g. `x !== y.aliasedX`.
- * ```js
- * function Component() {
- * // obj is semantically non-reactive, but its memo scope is pruned due to
- * // the interleaving hook call
- * const obj = {};
- * useHook();
- * write(obj);
- *
- * const ref = useRef();
- *
- * // this effect needs to be rerun when obj's referential identity changes,
- * // because it might alias obj to a useRef / mutable store.
- * useEffect(() => ref.current = obj, ???);
- *
- * // in a custom hook (or child component), the user might expect versioning
- * // invariants to hold
- * useHook(ref, obj);
- * }
- *
- * // defined elsewhere
- * function useHook(someRef, obj) {
- * useEffect(
- * () => assert(someRef.current === obj),
- * [someRef, obj]
- * );
- * }
- * ```
- */
-function PrunedNonReactive() {
- const $ = _c(2);
- const obj = makeObject();
- useIdentity(null);
- mutate(obj);
- let t0;
- if ($[0] !== obj.value) {
- t0 = () => print(obj.value);
- $[0] = obj.value;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- useEffect(t0, [obj.value]);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/pruned-nonreactive-obj.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/pruned-nonreactive-obj.js
deleted file mode 100644
index f210f2779a18..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/pruned-nonreactive-obj.js
+++ /dev/null
@@ -1,48 +0,0 @@
-// @inferEffectDependencies
-import {useIdentity, mutate, makeObject} from 'shared-runtime';
-import {useEffect, AUTODEPS} from 'react';
-
-/**
- * When a semantically non-reactive value has a pruned scope (i.e. the object
- * identity becomes reactive, but the underlying value it represents should be
- * constant), the compiler can choose to either
- * - add it as a dependency (and rerun the effect)
- * - not add it as a dependency
- *
- * We keep semantically non-reactive values in both memo block and effect
- * dependency arrays to avoid versioning invariants e.g. `x !== y.aliasedX`.
- * ```js
- * function Component() {
- * // obj is semantically non-reactive, but its memo scope is pruned due to
- * // the interleaving hook call
- * const obj = {};
- * useHook();
- * write(obj);
- *
- * const ref = useRef();
- *
- * // this effect needs to be rerun when obj's referential identity changes,
- * // because it might alias obj to a useRef / mutable store.
- * useEffect(() => ref.current = obj, ???);
- *
- * // in a custom hook (or child component), the user might expect versioning
- * // invariants to hold
- * useHook(ref, obj);
- * }
- *
- * // defined elsewhere
- * function useHook(someRef, obj) {
- * useEffect(
- * () => assert(someRef.current === obj),
- * [someRef, obj]
- * );
- * }
- * ```
- */
-function PrunedNonReactive() {
- const obj = makeObject();
- useIdentity(null);
- mutate(obj);
-
- useEffect(() => print(obj.value), AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-memberexpr-merge.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-memberexpr-merge.expect.md
deleted file mode 100644
index 983c474bdeae..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-memberexpr-merge.expect.md
+++ /dev/null
@@ -1,49 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function ReactiveMemberExprMerge({propVal}) {
- const obj = {a: {b: propVal}};
- useEffect(() => print(obj.a, obj.a.b), AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useEffect, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-function ReactiveMemberExprMerge(t0) {
- const $ = _c(4);
- const { propVal } = t0;
- let t1;
- if ($[0] !== propVal) {
- t1 = { a: { b: propVal } };
- $[0] = propVal;
- $[1] = t1;
- } else {
- t1 = $[1];
- }
- const obj = t1;
- let t2;
- if ($[2] !== obj.a) {
- t2 = () => print(obj.a, obj.a.b);
- $[2] = obj.a;
- $[3] = t2;
- } else {
- t2 = $[3];
- }
- useEffect(t2, [obj.a]);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-memberexpr-merge.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-memberexpr-merge.js
deleted file mode 100644
index 41c18d937a2e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-memberexpr-merge.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function ReactiveMemberExprMerge({propVal}) {
- const obj = {a: {b: propVal}};
- useEffect(() => print(obj.a, obj.a.b), AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-memberexpr.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-memberexpr.expect.md
deleted file mode 100644
index 50bceb09aef1..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-memberexpr.expect.md
+++ /dev/null
@@ -1,49 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function ReactiveMemberExpr({propVal}) {
- const obj = {a: {b: propVal}};
- useEffect(() => print(obj.a.b), AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useEffect, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-function ReactiveMemberExpr(t0) {
- const $ = _c(4);
- const { propVal } = t0;
- let t1;
- if ($[0] !== propVal) {
- t1 = { a: { b: propVal } };
- $[0] = propVal;
- $[1] = t1;
- } else {
- t1 = $[1];
- }
- const obj = t1;
- let t2;
- if ($[2] !== obj.a.b) {
- t2 = () => print(obj.a.b);
- $[2] = obj.a.b;
- $[3] = t2;
- } else {
- t2 = $[3];
- }
- useEffect(t2, [obj.a.b]);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-memberexpr.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-memberexpr.js
deleted file mode 100644
index ca6e7d4f0f01..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-memberexpr.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function ReactiveMemberExpr({propVal}) {
- const obj = {a: {b: propVal}};
- useEffect(() => print(obj.a.b), AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-optional-chain-complex.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-optional-chain-complex.expect.md
deleted file mode 100644
index a886842c8eb0..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-optional-chain-complex.expect.md
+++ /dev/null
@@ -1,100 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print, shallowCopy} from 'shared-runtime';
-
-function ReactiveMemberExpr({cond, propVal}) {
- const obj = {a: cond ? {b: propVal} : null, c: null};
- const other = shallowCopy({a: {b: {c: {d: {e: {f: propVal + 1}}}}}});
- const primitive = shallowCopy(propVal);
- useEffect(
- () => print(obj.a?.b, other?.a?.b?.c?.d?.e.f, primitive.a?.b.c?.d?.e.f),
- AUTODEPS
- );
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: ReactiveMemberExpr,
- params: [{cond: true, propVal: 1}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useEffect, AUTODEPS } from "react";
-import { print, shallowCopy } from "shared-runtime";
-
-function ReactiveMemberExpr(t0) {
- const $ = _c(13);
- const { cond, propVal } = t0;
- let t1;
- if ($[0] !== cond || $[1] !== propVal) {
- t1 = cond ? { b: propVal } : null;
- $[0] = cond;
- $[1] = propVal;
- $[2] = t1;
- } else {
- t1 = $[2];
- }
- let t2;
- if ($[3] !== t1) {
- t2 = { a: t1, c: null };
- $[3] = t1;
- $[4] = t2;
- } else {
- t2 = $[4];
- }
- const obj = t2;
- const t3 = propVal + 1;
- let t4;
- if ($[5] !== t3) {
- t4 = shallowCopy({ a: { b: { c: { d: { e: { f: t3 } } } } } });
- $[5] = t3;
- $[6] = t4;
- } else {
- t4 = $[6];
- }
- const other = t4;
- let t5;
- if ($[7] !== propVal) {
- t5 = shallowCopy(propVal);
- $[7] = propVal;
- $[8] = t5;
- } else {
- t5 = $[8];
- }
- const primitive = t5;
- let t6;
- if (
- $[9] !== obj.a?.b ||
- $[10] !== other?.a?.b?.c?.d?.e.f ||
- $[11] !== primitive.a?.b.c?.d?.e.f
- ) {
- t6 = () =>
- print(obj.a?.b, other?.a?.b?.c?.d?.e.f, primitive.a?.b.c?.d?.e.f);
- $[9] = obj.a?.b;
- $[10] = other?.a?.b?.c?.d?.e.f;
- $[11] = primitive.a?.b.c?.d?.e.f;
- $[12] = t6;
- } else {
- t6 = $[12];
- }
- useEffect(t6, [obj.a?.b, other?.a?.b?.c?.d?.e.f, primitive.a?.b.c?.d?.e.f]);
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: ReactiveMemberExpr,
- params: [{ cond: true, propVal: 1 }],
-};
-
-```
-
-### Eval output
-(kind: ok)
-logs: [1,2,undefined]
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-optional-chain-complex.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-optional-chain-complex.js
deleted file mode 100644
index 42dc585cbe9a..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-optional-chain-complex.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print, shallowCopy} from 'shared-runtime';
-
-function ReactiveMemberExpr({cond, propVal}) {
- const obj = {a: cond ? {b: propVal} : null, c: null};
- const other = shallowCopy({a: {b: {c: {d: {e: {f: propVal + 1}}}}}});
- const primitive = shallowCopy(propVal);
- useEffect(
- () => print(obj.a?.b, other?.a?.b?.c?.d?.e.f, primitive.a?.b.c?.d?.e.f),
- AUTODEPS
- );
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: ReactiveMemberExpr,
- params: [{cond: true, propVal: 1}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-optional-chain.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-optional-chain.expect.md
deleted file mode 100644
index 7dfad84f7959..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-optional-chain.expect.md
+++ /dev/null
@@ -1,79 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function ReactiveMemberExpr({cond, propVal}) {
- const obj = {a: cond ? {b: propVal} : null, c: null};
- useEffect(() => print(obj.a?.b), AUTODEPS);
- useEffect(() => print(obj.c?.d), AUTODEPS);
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: ReactiveMemberExpr,
- params: [{cond: true, propVal: 1}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useEffect, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-function ReactiveMemberExpr(t0) {
- const $ = _c(9);
- const { cond, propVal } = t0;
- let t1;
- if ($[0] !== cond || $[1] !== propVal) {
- t1 = cond ? { b: propVal } : null;
- $[0] = cond;
- $[1] = propVal;
- $[2] = t1;
- } else {
- t1 = $[2];
- }
- let t2;
- if ($[3] !== t1) {
- t2 = { a: t1, c: null };
- $[3] = t1;
- $[4] = t2;
- } else {
- t2 = $[4];
- }
- const obj = t2;
- let t3;
- if ($[5] !== obj.a?.b) {
- t3 = () => print(obj.a?.b);
- $[5] = obj.a?.b;
- $[6] = t3;
- } else {
- t3 = $[6];
- }
- useEffect(t3, [obj.a?.b]);
- let t4;
- if ($[7] !== obj.c?.d) {
- t4 = () => print(obj.c?.d);
- $[7] = obj.c?.d;
- $[8] = t4;
- } else {
- t4 = $[8];
- }
- useEffect(t4, [obj.c?.d]);
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: ReactiveMemberExpr,
- params: [{ cond: true, propVal: 1 }],
-};
-
-```
-
-### Eval output
-(kind: ok)
-logs: [1,undefined]
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-optional-chain.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-optional-chain.js
deleted file mode 100644
index 882f9026613c..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-optional-chain.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function ReactiveMemberExpr({cond, propVal}) {
- const obj = {a: cond ? {b: propVal} : null, c: null};
- useEffect(() => print(obj.a?.b), AUTODEPS);
- useEffect(() => print(obj.c?.d), AUTODEPS);
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: ReactiveMemberExpr,
- params: [{cond: true, propVal: 1}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-ref-ternary.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-ref-ternary.expect.md
deleted file mode 100644
index 97fab06c1f37..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-ref-ternary.expect.md
+++ /dev/null
@@ -1,69 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useRef, useEffect, AUTODEPS} from 'react';
-import {print, mutate} from 'shared-runtime';
-
-function Component({cond}) {
- const arr = useRef([]);
- const other = useRef([]);
- // Although arr and other are both stable, derived is not
- const derived = cond ? arr : other;
- useEffect(() => {
- mutate(derived.current);
- print(derived.current);
- }, AUTODEPS);
- return arr;
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useRef, useEffect, AUTODEPS } from "react";
-import { print, mutate } from "shared-runtime";
-
-function Component(t0) {
- const $ = _c(4);
- const { cond } = t0;
- let t1;
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
- t1 = [];
- $[0] = t1;
- } else {
- t1 = $[0];
- }
- const arr = useRef(t1);
- let t2;
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
- t2 = [];
- $[1] = t2;
- } else {
- t2 = $[1];
- }
- const other = useRef(t2);
-
- const derived = cond ? arr : other;
- let t3;
- if ($[2] !== derived) {
- t3 = () => {
- mutate(derived.current);
- print(derived.current);
- };
- $[2] = derived;
- $[3] = t3;
- } else {
- t3 = $[3];
- }
- useEffect(t3, [derived]);
- return arr;
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-ref-ternary.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-ref-ternary.js
deleted file mode 100644
index 32a9037a9f7e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-ref-ternary.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// @inferEffectDependencies
-import {useRef, useEffect, AUTODEPS} from 'react';
-import {print, mutate} from 'shared-runtime';
-
-function Component({cond}) {
- const arr = useRef([]);
- const other = useRef([]);
- // Although arr and other are both stable, derived is not
- const derived = cond ? arr : other;
- useEffect(() => {
- mutate(derived.current);
- print(derived.current);
- }, AUTODEPS);
- return arr;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-ref.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-ref.expect.md
deleted file mode 100644
index 7e5371dba355..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-ref.expect.md
+++ /dev/null
@@ -1,66 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, useRef, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-/*
- * Ref types are not enough to determine to omit from deps. Must also take reactivity into account.
- */
-function ReactiveRefInEffect(props) {
- const ref1 = useRef('initial value');
- const ref2 = useRef('initial value');
- let ref;
- if (props.foo) {
- ref = ref1;
- } else {
- ref = ref2;
- }
- useEffect(() => print(ref), AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useEffect, useRef, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-/*
- * Ref types are not enough to determine to omit from deps. Must also take reactivity into account.
- */
-function ReactiveRefInEffect(props) {
- const $ = _c(4);
- const ref1 = useRef("initial value");
- const ref2 = useRef("initial value");
- let ref;
- if ($[0] !== props.foo) {
- if (props.foo) {
- ref = ref1;
- } else {
- ref = ref2;
- }
- $[0] = props.foo;
- $[1] = ref;
- } else {
- ref = $[1];
- }
- let t0;
- if ($[2] !== ref) {
- t0 = () => print(ref);
- $[2] = ref;
- $[3] = t0;
- } else {
- t0 = $[3];
- }
- useEffect(t0, [ref]);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-ref.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-ref.js
deleted file mode 100644
index ee98a93c70bf..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-ref.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, useRef, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-/*
- * Ref types are not enough to determine to omit from deps. Must also take reactivity into account.
- */
-function ReactiveRefInEffect(props) {
- const ref1 = useRef('initial value');
- const ref2 = useRef('initial value');
- let ref;
- if (props.foo) {
- ref = ref1;
- } else {
- ref = ref2;
- }
- useEffect(() => print(ref), AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-setState.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-setState.expect.md
deleted file mode 100644
index db79dda30103..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-setState.expect.md
+++ /dev/null
@@ -1,66 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, useState, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-/*
- * setState types are not enough to determine to omit from deps. Must also take reactivity into account.
- */
-function ReactiveRefInEffect(props) {
- const [_state1, setState1] = useRef('initial value');
- const [_state2, setState2] = useRef('initial value');
- let setState;
- if (props.foo) {
- setState = setState1;
- } else {
- setState = setState2;
- }
- useEffect(() => print(setState), AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useEffect, useState, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-/*
- * setState types are not enough to determine to omit from deps. Must also take reactivity into account.
- */
-function ReactiveRefInEffect(props) {
- const $ = _c(4);
- const [, setState1] = useRef("initial value");
- const [, setState2] = useRef("initial value");
- let setState;
- if ($[0] !== props.foo) {
- if (props.foo) {
- setState = setState1;
- } else {
- setState = setState2;
- }
- $[0] = props.foo;
- $[1] = setState;
- } else {
- setState = $[1];
- }
- let t0;
- if ($[2] !== setState) {
- t0 = () => print(setState);
- $[2] = setState;
- $[3] = t0;
- } else {
- t0 = $[3];
- }
- useEffect(t0, [setState]);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-setState.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-setState.js
deleted file mode 100644
index f69efd650cd0..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-setState.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, useState, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-/*
- * setState types are not enough to determine to omit from deps. Must also take reactivity into account.
- */
-function ReactiveRefInEffect(props) {
- const [_state1, setState1] = useRef('initial value');
- const [_state2, setState2] = useRef('initial value');
- let setState;
- if (props.foo) {
- setState = setState1;
- } else {
- setState = setState2;
- }
- useEffect(() => print(setState), AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-variable.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-variable.expect.md
deleted file mode 100644
index 8646a926aa72..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-variable.expect.md
+++ /dev/null
@@ -1,49 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function ReactiveVariable({propVal}) {
- const arr = [propVal];
- useEffect(() => print(arr), AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies
-import { useEffect, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-function ReactiveVariable(t0) {
- const $ = _c(4);
- const { propVal } = t0;
- let t1;
- if ($[0] !== propVal) {
- t1 = [propVal];
- $[0] = propVal;
- $[1] = t1;
- } else {
- t1 = $[1];
- }
- const arr = t1;
- let t2;
- if ($[2] !== arr) {
- t2 = () => print(arr);
- $[2] = arr;
- $[3] = t2;
- } else {
- t2 = $[3];
- }
- useEffect(t2, [arr]);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-variable.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-variable.js
deleted file mode 100644
index 510ff6e1242c..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/reactive-variable.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// @inferEffectDependencies
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function ReactiveVariable({propVal}) {
- const arr = [propVal];
- useEffect(() => print(arr), AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/error.infer-effect-deps-with-rule-violation--lint.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/error.infer-effect-deps-with-rule-violation--lint.expect.md
deleted file mode 100644
index b8d213b63740..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/error.infer-effect-deps-with-rule-violation--lint.expect.md
+++ /dev/null
@@ -1,48 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @outputMode:"lint" @panicThreshold:"none"
-import {print} from 'shared-runtime';
-import useEffectWrapper from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-function Foo({propVal}) {
- const arr = [propVal];
- useEffectWrapper(() => print(arr), AUTODEPS);
-
- const arr2 = [];
- useEffectWrapper(() => arr2.push(propVal), AUTODEPS);
- arr2.push(2);
- return {arr, arr2};
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Foo,
- params: [{propVal: 1}],
- sequentialRenders: [{propVal: 1}, {propVal: 2}],
-};
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot infer dependencies of this effect. This will break your build!
-
-To resolve, either pass a dependency array or fix reported compiler bailout diagnostics.
-
-error.infer-effect-deps-with-rule-violation--lint.ts:8:2
- 6 | function Foo({propVal}) {
- 7 | const arr = [propVal];
-> 8 | useEffectWrapper(() => print(arr), AUTODEPS);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cannot infer dependencies
- 9 |
- 10 | const arr2 = [];
- 11 | useEffectWrapper(() => arr2.push(propVal), AUTODEPS);
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/error.infer-effect-deps-with-rule-violation--lint.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/error.infer-effect-deps-with-rule-violation--lint.js
deleted file mode 100644
index 7df86cdfd254..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/error.infer-effect-deps-with-rule-violation--lint.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// @inferEffectDependencies @outputMode:"lint" @panicThreshold:"none"
-import {print} from 'shared-runtime';
-import useEffectWrapper from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-function Foo({propVal}) {
- const arr = [propVal];
- useEffectWrapper(() => print(arr), AUTODEPS);
-
- const arr2 = [];
- useEffectWrapper(() => arr2.push(propVal), AUTODEPS);
- arr2.push(2);
- return {arr, arr2};
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Foo,
- params: [{propVal: 1}],
- sequentialRenders: [{propVal: 1}, {propVal: 2}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/error.infer-effect-deps-with-rule-violation-use-memo-opt-in--lint.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/error.infer-effect-deps-with-rule-violation-use-memo-opt-in--lint.expect.md
deleted file mode 100644
index 80d8af00e610..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/error.infer-effect-deps-with-rule-violation-use-memo-opt-in--lint.expect.md
+++ /dev/null
@@ -1,49 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @outputMode:"lint" @panicThreshold:"none"
-import {print} from 'shared-runtime';
-import useEffectWrapper from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-function Foo({propVal}) {
- 'use memo';
- const arr = [propVal];
- useEffectWrapper(() => print(arr), AUTODEPS);
-
- const arr2 = [];
- useEffectWrapper(() => arr2.push(propVal), AUTODEPS);
- arr2.push(2);
- return {arr, arr2};
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Foo,
- params: [{propVal: 1}],
- sequentialRenders: [{propVal: 1}, {propVal: 2}],
-};
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot infer dependencies of this effect. This will break your build!
-
-To resolve, either pass a dependency array or fix reported compiler bailout diagnostics.
-
-error.infer-effect-deps-with-rule-violation-use-memo-opt-in--lint.ts:9:2
- 7 | 'use memo';
- 8 | const arr = [propVal];
-> 9 | useEffectWrapper(() => print(arr), AUTODEPS);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cannot infer dependencies
- 10 |
- 11 | const arr2 = [];
- 12 | useEffectWrapper(() => arr2.push(propVal), AUTODEPS);
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/error.infer-effect-deps-with-rule-violation-use-memo-opt-in--lint.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/error.infer-effect-deps-with-rule-violation-use-memo-opt-in--lint.js
deleted file mode 100644
index 42bbf4c994bf..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/error.infer-effect-deps-with-rule-violation-use-memo-opt-in--lint.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// @inferEffectDependencies @outputMode:"lint" @panicThreshold:"none"
-import {print} from 'shared-runtime';
-import useEffectWrapper from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-function Foo({propVal}) {
- 'use memo';
- const arr = [propVal];
- useEffectWrapper(() => print(arr), AUTODEPS);
-
- const arr2 = [];
- useEffectWrapper(() => arr2.push(propVal), AUTODEPS);
- arr2.push(2);
- return {arr, arr2};
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Foo,
- params: [{propVal: 1}],
- sequentialRenders: [{propVal: 1}, {propVal: 2}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/infer-effect-deps-with-rule-violation--compile.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/infer-effect-deps-with-rule-violation--compile.expect.md
deleted file mode 100644
index 47de4a1d1932..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/infer-effect-deps-with-rule-violation--compile.expect.md
+++ /dev/null
@@ -1,58 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none"
-import {print} from 'shared-runtime';
-import useEffectWrapper from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-function Foo({propVal}) {
- const arr = [propVal];
- useEffectWrapper(() => print(arr), AUTODEPS);
-
- const arr2 = [];
- useEffectWrapper(() => arr2.push(propVal), AUTODEPS);
- arr2.push(2);
- return {arr, arr2};
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Foo,
- params: [{propVal: 1}],
- sequentialRenders: [{propVal: 1}, {propVal: 2}],
-};
-
-```
-
-## Code
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none"
-import { print } from "shared-runtime";
-import useEffectWrapper from "useEffectWrapper";
-import { AUTODEPS } from "react";
-
-function Foo(t0) {
- const { propVal } = t0;
- const arr = [propVal];
- useEffectWrapper(() => print(arr), [arr]);
-
- const arr2 = [];
- useEffectWrapper(() => arr2.push(propVal), [arr2, propVal]);
- arr2.push(2);
- return { arr, arr2 };
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Foo,
- params: [{ propVal: 1 }],
- sequentialRenders: [{ propVal: 1 }, { propVal: 2 }],
-};
-
-```
-
-### Eval output
-(kind: ok) {"arr":[1],"arr2":[2]}
-{"arr":[2],"arr2":[2]}
-logs: [[ 1 ],[ 2 ]]
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/infer-effect-deps-with-rule-violation--compile.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/infer-effect-deps-with-rule-violation--compile.js
deleted file mode 100644
index 6cca9a833d81..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/infer-effect-deps-with-rule-violation--compile.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// @inferEffectDependencies @panicThreshold:"none"
-import {print} from 'shared-runtime';
-import useEffectWrapper from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-function Foo({propVal}) {
- const arr = [propVal];
- useEffectWrapper(() => print(arr), AUTODEPS);
-
- const arr2 = [];
- useEffectWrapper(() => arr2.push(propVal), AUTODEPS);
- arr2.push(2);
- return {arr, arr2};
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Foo,
- params: [{propVal: 1}],
- sequentialRenders: [{propVal: 1}, {propVal: 2}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/infer-effect-deps-with-rule-violation-use-memo-opt-in--compile.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/infer-effect-deps-with-rule-violation-use-memo-opt-in--compile.expect.md
deleted file mode 100644
index 610ad3489025..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/infer-effect-deps-with-rule-violation-use-memo-opt-in--compile.expect.md
+++ /dev/null
@@ -1,61 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none"
-import {print} from 'shared-runtime';
-import useEffectWrapper from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-function Foo({propVal}) {
- 'use memo';
- const arr = [propVal];
- useEffectWrapper(() => print(arr), AUTODEPS);
-
- const arr2 = [];
- useEffectWrapper(() => arr2.push(propVal), AUTODEPS);
- arr2.push(2);
- return {arr, arr2};
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Foo,
- params: [{propVal: 1}],
- sequentialRenders: [{propVal: 1}, {propVal: 2}],
-};
-
-```
-
-## Code
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none"
-import { print } from "shared-runtime";
-import useEffectWrapper from "useEffectWrapper";
-import { AUTODEPS } from "react";
-
-function Foo(t0) {
- "use memo";
- const { propVal } = t0;
-
- const arr = [propVal];
- useEffectWrapper(() => print(arr), [arr]);
-
- const arr2 = [];
- useEffectWrapper(() => arr2.push(propVal), [arr2, propVal]);
- arr2.push(2);
- return { arr, arr2 };
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Foo,
- params: [{ propVal: 1 }],
- sequentialRenders: [{ propVal: 1 }, { propVal: 2 }],
-};
-
-```
-
-### Eval output
-(kind: ok) {"arr":[1],"arr2":[2]}
-{"arr":[2],"arr2":[2]}
-logs: [[ 1 ],[ 2 ]]
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/infer-effect-deps-with-rule-violation-use-memo-opt-in--compile.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/infer-effect-deps-with-rule-violation-use-memo-opt-in--compile.js
deleted file mode 100644
index efa5db194060..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/infer-effect-deps-with-rule-violation-use-memo-opt-in--compile.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// @inferEffectDependencies @panicThreshold:"none"
-import {print} from 'shared-runtime';
-import useEffectWrapper from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-function Foo({propVal}) {
- 'use memo';
- const arr = [propVal];
- useEffectWrapper(() => print(arr), AUTODEPS);
-
- const arr2 = [];
- useEffectWrapper(() => arr2.push(propVal), AUTODEPS);
- arr2.push(2);
- return {arr, arr2};
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Foo,
- params: [{propVal: 1}],
- sequentialRenders: [{propVal: 1}, {propVal: 2}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/lint-repro.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/lint-repro.expect.md
deleted file mode 100644
index 1d767ce3db71..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/lint-repro.expect.md
+++ /dev/null
@@ -1,33 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @outputMode:"lint"
-import {print} from 'shared-runtime';
-import useEffectWrapper from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-function ReactiveVariable({propVal}) {
- const arr = [propVal];
- useEffectWrapper(() => print(arr), AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-// @inferEffectDependencies @outputMode:"lint"
-import { print } from "shared-runtime";
-import useEffectWrapper from "useEffectWrapper";
-import { AUTODEPS } from "react";
-
-function ReactiveVariable({ propVal }) {
- const arr = [propVal];
- useEffectWrapper(() => print(arr), AUTODEPS);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/lint-repro.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/lint-repro.js
deleted file mode 100644
index 011cc535c215..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/infer-effect-dependencies/retry-lint-comparison/lint-repro.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// @inferEffectDependencies @outputMode:"lint"
-import {print} from 'shared-runtime';
-import useEffectWrapper from 'useEffectWrapper';
-import {AUTODEPS} from 'react';
-
-function ReactiveVariable({propVal}) {
- const arr = [propVal];
- useEffectWrapper(() => print(arr), AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/inline-jsx-transform.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/inline-jsx-transform.expect.md
deleted file mode 100644
index ae93de0b1e7e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/inline-jsx-transform.expect.md
+++ /dev/null
@@ -1,478 +0,0 @@
-
-## Input
-
-```javascript
-// @inlineJsxTransform
-
-function Parent({children, a: _a, b: _b, c: _c, ref}) {
- return {children}
;
-}
-
-function Child({children}) {
- return <>{children}>;
-}
-
-function GrandChild({className}) {
- return (
-
- Hello world
-
- );
-}
-
-function ParentAndRefAndKey(props) {
- const testRef = useRef();
- return ;
-}
-
-function ParentAndChildren(props) {
- const render = () => {
- return {props.foo}
;
- };
- return (
-
-
-
-
- {render()}
-
-
- );
-}
-
-const propsToSpread = {a: 'a', b: 'b', c: 'c'};
-function PropsSpread() {
- return (
- <>
-
-
- >
- );
-}
-
-function ConditionalJsx({shouldWrap}) {
- let content = Hello
;
-
- if (shouldWrap) {
- content = {content};
- }
-
- return content;
-}
-
-function ComponentWithSpreadPropsAndRef({ref, ...other}) {
- return ;
-}
-
-// TODO: Support value blocks
-function TernaryJsx({cond}) {
- return cond ? : null;
-}
-
-global.DEV = true;
-export const FIXTURE_ENTRYPOINT = {
- fn: ParentAndChildren,
- params: [{foo: 'abc'}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c2 } from "react/compiler-runtime"; // @inlineJsxTransform
-
-function Parent(t0) {
- const $ = _c2(3);
- const { children, ref } = t0;
- let t1;
- if ($[0] !== children || $[1] !== ref) {
- if (DEV) {
- t1 = {children}
;
- } else {
- t1 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: "div",
- ref: ref,
- key: null,
- props: { ref: ref, children: children },
- };
- }
- $[0] = children;
- $[1] = ref;
- $[2] = t1;
- } else {
- t1 = $[2];
- }
- return t1;
-}
-
-function Child(t0) {
- const $ = _c2(2);
- const { children } = t0;
- let t1;
- if ($[0] !== children) {
- if (DEV) {
- t1 = <>{children}>;
- } else {
- t1 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: Symbol.for("react.fragment"),
- ref: null,
- key: null,
- props: { children: children },
- };
- }
- $[0] = children;
- $[1] = t1;
- } else {
- t1 = $[1];
- }
- return t1;
-}
-
-function GrandChild(t0) {
- const $ = _c2(3);
- const { className } = t0;
- let t1;
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
- if (DEV) {
- t1 = Hello world;
- } else {
- t1 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: React.Fragment,
- ref: null,
- key: "fragmentKey",
- props: { children: "Hello world" },
- };
- }
- $[0] = t1;
- } else {
- t1 = $[0];
- }
- let t2;
- if ($[1] !== className) {
- if (DEV) {
- t2 = {t1};
- } else {
- t2 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: "span",
- ref: null,
- key: null,
- props: { className: className, children: t1 },
- };
- }
- $[1] = className;
- $[2] = t2;
- } else {
- t2 = $[2];
- }
- return t2;
-}
-
-function ParentAndRefAndKey(props) {
- const $ = _c2(1);
- const testRef = useRef();
- let t0;
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
- if (DEV) {
- t0 = ;
- } else {
- t0 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: Parent,
- ref: testRef,
- key: "testKey",
- props: { a: "a", b: { b: "b" }, c: C, ref: testRef },
- };
- }
- $[0] = t0;
- } else {
- t0 = $[0];
- }
- return t0;
-}
-
-function ParentAndChildren(props) {
- const $ = _c2(14);
- let t0;
- if ($[0] !== props.foo) {
- t0 = () => {
- let t1;
- if (DEV) {
- t1 = {props.foo}
;
- } else {
- t1 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: "div",
- ref: null,
- key: "d",
- props: { children: props.foo },
- };
- }
- return t1;
- };
- $[0] = props.foo;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- const render = t0;
- let t1;
- if ($[2] !== props) {
- if (DEV) {
- t1 = ;
- } else {
- t1 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: Child,
- ref: null,
- key: "a",
- props: props,
- };
- }
- $[2] = props;
- $[3] = t1;
- } else {
- t1 = $[3];
- }
-
- const t2 = props.foo;
- let t3;
- if ($[4] !== props) {
- if (DEV) {
- t3 = ;
- } else {
- t3 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: GrandChild,
- ref: null,
- key: "c",
- props: { className: t2, ...props },
- };
- }
- $[4] = props;
- $[5] = t3;
- } else {
- t3 = $[5];
- }
- let t4;
- if ($[6] !== render) {
- t4 = render();
- $[6] = render;
- $[7] = t4;
- } else {
- t4 = $[7];
- }
- let t5;
- if ($[8] !== t3 || $[9] !== t4) {
- if (DEV) {
- t5 = (
-
- {t3}
- {t4}
-
- );
- } else {
- t5 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: Child,
- ref: null,
- key: "b",
- props: { children: [t3, t4] },
- };
- }
- $[8] = t3;
- $[9] = t4;
- $[10] = t5;
- } else {
- t5 = $[10];
- }
- let t6;
- if ($[11] !== t1 || $[12] !== t5) {
- if (DEV) {
- t6 = (
-
- {t1}
- {t5}
-
- );
- } else {
- t6 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: Parent,
- ref: null,
- key: null,
- props: { children: [t1, t5] },
- };
- }
- $[11] = t1;
- $[12] = t5;
- $[13] = t6;
- } else {
- t6 = $[13];
- }
- return t6;
-}
-
-const propsToSpread = { a: "a", b: "b", c: "c" };
-function PropsSpread() {
- const $ = _c2(1);
- let t0;
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
- let t1;
- if (DEV) {
- t1 = ;
- } else {
- t1 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: Test,
- ref: null,
- key: "a",
- props: propsToSpread,
- };
- }
- let t2;
- if (DEV) {
- t2 = ;
- } else {
- t2 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: Test,
- ref: null,
- key: "b",
- props: { ...propsToSpread, a: "z" },
- };
- }
- if (DEV) {
- t0 = (
- <>
- {t1}
- {t2}
- >
- );
- } else {
- t0 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: Symbol.for("react.fragment"),
- ref: null,
- key: null,
- props: { children: [t1, t2] },
- };
- }
- $[0] = t0;
- } else {
- t0 = $[0];
- }
- return t0;
-}
-
-function ConditionalJsx(t0) {
- const $ = _c2(2);
- const { shouldWrap } = t0;
- let t1;
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
- if (DEV) {
- t1 = Hello
;
- } else {
- t1 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: "div",
- ref: null,
- key: null,
- props: { children: "Hello" },
- };
- }
- $[0] = t1;
- } else {
- t1 = $[0];
- }
- let content = t1;
-
- if (shouldWrap) {
- const t2 = content;
- let t3;
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
- if (DEV) {
- t3 = {t2};
- } else {
- t3 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: Parent,
- ref: null,
- key: null,
- props: { children: t2 },
- };
- }
- $[1] = t3;
- } else {
- t3 = $[1];
- }
- content = t3;
- }
-
- return content;
-}
-
-function ComponentWithSpreadPropsAndRef(t0) {
- const $ = _c2(6);
- let other;
- let ref;
- if ($[0] !== t0) {
- ({ ref, ...other } = t0);
- $[0] = t0;
- $[1] = other;
- $[2] = ref;
- } else {
- other = $[1];
- ref = $[2];
- }
- let t1;
- if ($[3] !== other || $[4] !== ref) {
- if (DEV) {
- t1 = ;
- } else {
- t1 = {
- $$typeof: Symbol.for("react.transitional.element"),
- type: Foo,
- ref: ref,
- key: null,
- props: { ref: ref, ...other },
- };
- }
- $[3] = other;
- $[4] = ref;
- $[5] = t1;
- } else {
- t1 = $[5];
- }
- return t1;
-}
-
-// TODO: Support value blocks
-function TernaryJsx(t0) {
- const $ = _c2(2);
- const { cond } = t0;
- let t1;
- if ($[0] !== cond) {
- t1 = cond ? : null;
- $[0] = cond;
- $[1] = t1;
- } else {
- t1 = $[1];
- }
- return t1;
-}
-
-global.DEV = true;
-export const FIXTURE_ENTRYPOINT = {
- fn: ParentAndChildren,
- params: [{ foo: "abc" }],
-};
-
-```
-
-### Eval output
-(kind: ok)
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/inline-jsx-transform.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/inline-jsx-transform.js
deleted file mode 100644
index 2ab1efef794b..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/inline-jsx-transform.js
+++ /dev/null
@@ -1,72 +0,0 @@
-// @inlineJsxTransform
-
-function Parent({children, a: _a, b: _b, c: _c, ref}) {
- return {children}
;
-}
-
-function Child({children}) {
- return <>{children}>;
-}
-
-function GrandChild({className}) {
- return (
-
- Hello world
-
- );
-}
-
-function ParentAndRefAndKey(props) {
- const testRef = useRef();
- return ;
-}
-
-function ParentAndChildren(props) {
- const render = () => {
- return {props.foo}
;
- };
- return (
-
-
-
-
- {render()}
-
-
- );
-}
-
-const propsToSpread = {a: 'a', b: 'b', c: 'c'};
-function PropsSpread() {
- return (
- <>
-
-
- >
- );
-}
-
-function ConditionalJsx({shouldWrap}) {
- let content = Hello
;
-
- if (shouldWrap) {
- content = {content};
- }
-
- return content;
-}
-
-function ComponentWithSpreadPropsAndRef({ref, ...other}) {
- return ;
-}
-
-// TODO: Support value blocks
-function TernaryJsx({cond}) {
- return cond ? : null;
-}
-
-global.DEV = true;
-export const FIXTURE_ENTRYPOINT = {
- fn: ParentAndChildren,
- params: [{foo: 'abc'}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-access-hook-guard.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-access-hook-guard.expect.md
deleted file mode 100644
index c6e179a6e7fe..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-access-hook-guard.expect.md
+++ /dev/null
@@ -1,66 +0,0 @@
-
-## Input
-
-```javascript
-// @lowerContextAccess @enableEmitHookGuards
-function App() {
- const {foo} = useContext(MyContext);
- const {bar} = useContext(MyContext);
- return ;
-}
-
-```
-
-## Code
-
-```javascript
-import {
- $dispatcherGuard,
- useContext_withSelector,
-} from "react-compiler-runtime";
-import { c as _c } from "react/compiler-runtime"; // @lowerContextAccess @enableEmitHookGuards
-function App() {
- const $ = _c(3);
- try {
- $dispatcherGuard(0);
- const { foo } = (function () {
- try {
- $dispatcherGuard(2);
- return useContext_withSelector(MyContext, _temp);
- } finally {
- $dispatcherGuard(3);
- }
- })();
- const { bar } = (function () {
- try {
- $dispatcherGuard(2);
- return useContext_withSelector(MyContext, _temp2);
- } finally {
- $dispatcherGuard(3);
- }
- })();
- let t0;
- if ($[0] !== bar || $[1] !== foo) {
- t0 = ;
- $[0] = bar;
- $[1] = foo;
- $[2] = t0;
- } else {
- t0 = $[2];
- }
- return t0;
- } finally {
- $dispatcherGuard(1);
- }
-}
-function _temp2(t0) {
- return [t0.bar];
-}
-function _temp(t0) {
- return [t0.foo];
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-access-hook-guard.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-access-hook-guard.js
deleted file mode 100644
index da881ea124a4..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-access-hook-guard.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// @lowerContextAccess @enableEmitHookGuards
-function App() {
- const {foo} = useContext(MyContext);
- const {bar} = useContext(MyContext);
- return ;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-acess-multiple.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-acess-multiple.expect.md
deleted file mode 100644
index af9b1df36ad0..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-acess-multiple.expect.md
+++ /dev/null
@@ -1,42 +0,0 @@
-
-## Input
-
-```javascript
-// @lowerContextAccess
-function App() {
- const {foo} = useContext(MyContext);
- const {bar} = useContext(MyContext);
- return ;
-}
-
-```
-
-## Code
-
-```javascript
-import { useContext_withSelector } from "react-compiler-runtime";
-import { c as _c } from "react/compiler-runtime"; // @lowerContextAccess
-function App() {
- const $ = _c(3);
- const { foo } = useContext_withSelector(MyContext, _temp);
- const { bar } = useContext_withSelector(MyContext, _temp2);
- let t0;
- if ($[0] !== bar || $[1] !== foo) {
- t0 = ;
- $[0] = bar;
- $[1] = foo;
- $[2] = t0;
- } else {
- t0 = $[2];
- }
- return t0;
-}
-function _temp2(t0) {
- return [t0.bar];
-}
-function _temp(t0) {
- return [t0.foo];
-}
-
-```
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-acess-multiple.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-acess-multiple.js
deleted file mode 100644
index 314ff41c280e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-acess-multiple.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// @lowerContextAccess
-function App() {
- const {foo} = useContext(MyContext);
- const {bar} = useContext(MyContext);
- return ;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-selector-simple.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-selector-simple.expect.md
deleted file mode 100644
index d13682467b3e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-selector-simple.expect.md
+++ /dev/null
@@ -1,37 +0,0 @@
-
-## Input
-
-```javascript
-// @lowerContextAccess
-function App() {
- const {foo, bar} = useContext(MyContext);
- return ;
-}
-
-```
-
-## Code
-
-```javascript
-import { useContext_withSelector } from "react-compiler-runtime";
-import { c as _c } from "react/compiler-runtime"; // @lowerContextAccess
-function App() {
- const $ = _c(3);
- const { foo, bar } = useContext_withSelector(MyContext, _temp);
- let t0;
- if ($[0] !== bar || $[1] !== foo) {
- t0 = ;
- $[0] = bar;
- $[1] = foo;
- $[2] = t0;
- } else {
- t0 = $[2];
- }
- return t0;
-}
-function _temp(t0) {
- return [t0.foo, t0.bar];
-}
-
-```
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-selector-simple.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-selector-simple.js
deleted file mode 100644
index 0d53548e67c5..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/lower-context-selector-simple.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// @lowerContextAccess
-function App() {
- const {foo, bar} = useContext(MyContext);
- return ;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/memoization-comments.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/memoization-comments.expect.md
deleted file mode 100644
index eae0b280f02e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/memoization-comments.expect.md
+++ /dev/null
@@ -1,78 +0,0 @@
-
-## Input
-
-```javascript
-// @enableMemoizationComments
-import {addOne, getNumber, identity} from 'shared-runtime';
-
-function Component(props) {
- const x = identity(props.a);
- const y = addOne(x);
- const z = identity(props.b);
- return [x, y, z];
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{a: 1, b: 10}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @enableMemoizationComments
-import { addOne, getNumber, identity } from "shared-runtime";
-
-function Component(props) {
- const $ = _c(9);
- let t0;
- let x; // "useMemo" for t0 and x:
- // check if props.a changed
- if ($[0] !== props.a) {
- // Inputs changed, recompute
- x = identity(props.a);
- t0 = addOne(x);
- $[0] = props.a;
- $[1] = t0;
- $[2] = x;
- } else {
- // Inputs did not change, use cached value
- t0 = $[1];
- x = $[2];
- }
- const y = t0;
- let t1; // "useMemo" for t1:
- // check if props.b changed
- if ($[3] !== props.b) {
- // Inputs changed, recompute
- t1 = identity(props.b);
- $[3] = props.b;
- $[4] = t1;
- } else {
- // Inputs did not change, use cached value
- t1 = $[4];
- }
- const z = t1;
- let t2; // "useMemo" for t2:
- // check if x, y, or z changed
- if ($[5] !== x || $[6] !== y || $[7] !== z) {
- // Inputs changed, recompute
- t2 = [x, y, z];
- $[5] = x;
- $[6] = y;
- $[7] = z;
- $[8] = t2;
- } else {
- // Inputs did not change, use cached value
- t2 = $[8];
- }
- return t2;
-}
-export const FIXTURE_ENTRYPOINT = { fn: Component, params: [{ a: 1, b: 10 }] };
-
-```
-
-### Eval output
-(kind: ok) [1,2,10]
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/memoization-comments.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/memoization-comments.js
deleted file mode 100644
index d35993ad053e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/memoization-comments.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// @enableMemoizationComments
-import {addOne, getNumber, identity} from 'shared-runtime';
-
-function Component(props) {
- const x = identity(props.a);
- const y = addOne(x);
- const z = identity(props.b);
- return [x, y, z];
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{a: 1, b: 10}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-consecutive-scopes-reordering.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-consecutive-scopes-reordering.expect.md
deleted file mode 100644
index e5a9081137a2..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-consecutive-scopes-reordering.expect.md
+++ /dev/null
@@ -1,88 +0,0 @@
-
-## Input
-
-```javascript
-// @enableInstructionReordering
-import {useState} from 'react';
-import {Stringify} from 'shared-runtime';
-
-function Component() {
- let [state, setState] = useState(0);
- return (
-
-
- {state}
-
-
- );
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{value: 42}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @enableInstructionReordering
-import { useState } from "react";
-import { Stringify } from "shared-runtime";
-
-function Component() {
- const $ = _c(7);
- const [state, setState] = useState(0);
- let t0;
- let t1;
- if ($[0] !== state) {
- t0 = (
-
- );
- t1 = {state};
- $[0] = state;
- $[1] = t0;
- $[2] = t1;
- } else {
- t0 = $[1];
- t1 = $[2];
- }
- let t2;
- if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
- t2 = ;
- $[3] = t2;
- } else {
- t2 = $[3];
- }
- let t3;
- if ($[4] !== t0 || $[5] !== t1) {
- t3 = (
-
- {t2}
- {t1}
- {t0}
-
- );
- $[4] = t0;
- $[5] = t1;
- $[6] = t3;
- } else {
- t3 = $[6];
- }
- return t3;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ value: 42 }],
-};
-
-```
-
-### Eval output
-(kind: ok) {"text":"Counter"}
0
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-consecutive-scopes-reordering.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-consecutive-scopes-reordering.js
deleted file mode 100644
index 137c161b2478..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-consecutive-scopes-reordering.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// @enableInstructionReordering
-import {useState} from 'react';
-import {Stringify} from 'shared-runtime';
-
-function Component() {
- let [state, setState] = useState(0);
- return (
-
-
- {state}
-
-
- );
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{value: 42}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-scopes-callback.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-scopes-callback.expect.md
deleted file mode 100644
index 0ff9773f76e0..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-scopes-callback.expect.md
+++ /dev/null
@@ -1,71 +0,0 @@
-
-## Input
-
-```javascript
-// @enableInstructionReordering
-import {useState} from 'react';
-
-function Component() {
- const [state, setState] = useState(0);
- const onClick = () => {
- setState(s => s + 1);
- };
- return (
- <>
- Count: {state}
-
- >
- );
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @enableInstructionReordering
-import { useState } from "react";
-
-function Component() {
- const $ = _c(4);
- const [state, setState] = useState(0);
- let t0;
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
- t0 = () => {
- setState(_temp);
- };
- $[0] = t0;
- } else {
- t0 = $[0];
- }
- const onClick = t0;
- let t1;
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
- t1 = ;
- $[1] = t1;
- } else {
- t1 = $[1];
- }
- let t2;
- if ($[2] !== state) {
- t2 = (
- <>
- Count: {state}
- {t1}
- >
- );
- $[2] = state;
- $[3] = t2;
- } else {
- t2 = $[3];
- }
- return t2;
-}
-function _temp(s) {
- return s + 1;
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-scopes-callback.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-scopes-callback.js
deleted file mode 100644
index 33dfe347119e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-scopes-callback.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// @enableInstructionReordering
-import {useState} from 'react';
-
-function Component() {
- const [state, setState] = useState(0);
- const onClick = () => {
- setState(s => s + 1);
- };
- return (
- <>
- Count: {state}
-
- >
- );
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merged-scopes-are-valid-effect-deps.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merged-scopes-are-valid-effect-deps.expect.md
deleted file mode 100644
index bcf1aa0165d8..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merged-scopes-are-valid-effect-deps.expect.md
+++ /dev/null
@@ -1,74 +0,0 @@
-
-## Input
-
-```javascript
-// @validateMemoizedEffectDependencies
-
-import {useEffect} from 'react';
-
-function Component(props) {
- const y = [[props.value]]; // merged w scope for inner array
-
- useEffect(() => {
- console.log(y);
- }, [y]); // should still be a valid dependency here
-
- return y;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{value: 42}],
- isComponent: false,
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @validateMemoizedEffectDependencies
-
-import { useEffect } from "react";
-
-function Component(props) {
- const $ = _c(5);
- let t0;
- if ($[0] !== props.value) {
- t0 = [[props.value]];
- $[0] = props.value;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- const y = t0;
- let t1;
- let t2;
- if ($[2] !== y) {
- t1 = () => {
- console.log(y);
- };
- t2 = [y];
- $[2] = y;
- $[3] = t1;
- $[4] = t2;
- } else {
- t1 = $[3];
- t2 = $[4];
- }
- useEffect(t1, t2);
-
- return y;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ value: 42 }],
- isComponent: false,
-};
-
-```
-
-### Eval output
-(kind: ok) [[42]]
-logs: [[ [ 42 ] ]]
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merged-scopes-are-valid-effect-deps.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merged-scopes-are-valid-effect-deps.js
deleted file mode 100644
index 1ede9dd4ccca..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merged-scopes-are-valid-effect-deps.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// @validateMemoizedEffectDependencies
-
-import {useEffect} from 'react';
-
-function Component(props) {
- const y = [[props.value]]; // merged w scope for inner array
-
- useEffect(() => {
- console.log(y);
- }, [y]); // should still be a valid dependency here
-
- return y;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{value: 42}],
- isComponent: false,
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect-optional-chain.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect-optional-chain.expect.md
deleted file mode 100644
index edc266b9f334..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect-optional-chain.expect.md
+++ /dev/null
@@ -1,58 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly @enableNewMutationAliasingModel
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function Component({foo}) {
- const arr = [];
- // Taking either arr[0].value or arr as a dependency is reasonable
- // as long as developers know what to expect.
- useEffect(() => print(arr[0]?.value), AUTODEPS);
- arr.push({value: foo});
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{foo: 1}],
-};
-
-```
-
-## Code
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly @enableNewMutationAliasingModel
-import { useEffect, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-function Component(t0) {
- const { foo } = t0;
- const arr = [];
-
- useEffect(() => print(arr[0]?.value), [arr[0]?.value]);
- arr.push({ value: foo });
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ foo: 1 }],
-};
-
-```
-
-## Logs
-
-```
-{"kind":"CompileError","fnLoc":{"start":{"line":5,"column":0,"index":181},"end":{"line":12,"column":1,"index":436},"filename":"mutate-after-useeffect-optional-chain.ts"},"detail":{"options":{"category":"Immutability","reason":"This value cannot be modified","description":"Modifying a value used previously in an effect function or as an effect dependency is not allowed. Consider moving the modification before calling useEffect()","details":[{"kind":"error","loc":{"start":{"line":10,"column":2,"index":397},"end":{"line":10,"column":5,"index":400},"filename":"mutate-after-useeffect-optional-chain.ts","identifierName":"arr"},"message":"value cannot be modified"}]}}}
-{"kind":"AutoDepsDecorations","fnLoc":{"start":{"line":9,"column":2,"index":346},"end":{"line":9,"column":49,"index":393},"filename":"mutate-after-useeffect-optional-chain.ts"},"decorations":[{"start":{"line":9,"column":24,"index":368},"end":{"line":9,"column":27,"index":371},"filename":"mutate-after-useeffect-optional-chain.ts","identifierName":"arr"}]}
-{"kind":"CompileSuccess","fnLoc":{"start":{"line":5,"column":0,"index":181},"end":{"line":12,"column":1,"index":436},"filename":"mutate-after-useeffect-optional-chain.ts"},"fnName":"Component","memoSlots":0,"memoBlocks":0,"memoValues":0,"prunedMemoBlocks":0,"prunedMemoValues":0}
-```
-
-### Eval output
-(kind: ok) [{"value":1}]
-logs: [1]
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect-optional-chain.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect-optional-chain.js
deleted file mode 100644
index ee59d8fe4ea9..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect-optional-chain.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly @enableNewMutationAliasingModel
-import {useEffect, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function Component({foo}) {
- const arr = [];
- // Taking either arr[0].value or arr as a dependency is reasonable
- // as long as developers know what to expect.
- useEffect(() => print(arr[0]?.value), AUTODEPS);
- arr.push({value: foo});
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{foo: 1}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect-ref-access.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect-ref-access.expect.md
deleted file mode 100644
index acf9c28cabdf..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect-ref-access.expect.md
+++ /dev/null
@@ -1,57 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly @enableNewMutationAliasingModel
-
-import {useEffect, useRef, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function Component({arrRef}) {
- // Avoid taking arr.current as a dependency
- useEffect(() => print(arrRef.current), AUTODEPS);
- arrRef.current.val = 2;
- return arrRef;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{arrRef: {current: {val: 'initial ref value'}}}],
-};
-
-```
-
-## Code
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly @enableNewMutationAliasingModel
-
-import { useEffect, useRef, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-function Component(t0) {
- const { arrRef } = t0;
-
- useEffect(() => print(arrRef.current), [arrRef]);
- arrRef.current.val = 2;
- return arrRef;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ arrRef: { current: { val: "initial ref value" } } }],
-};
-
-```
-
-## Logs
-
-```
-{"kind":"CompileError","fnLoc":{"start":{"line":6,"column":0,"index":190},"end":{"line":11,"column":1,"index":363},"filename":"mutate-after-useeffect-ref-access.ts"},"detail":{"options":{"category":"Refs","reason":"Cannot access refs during render","description":"React refs are values that are not needed for rendering. Refs should only be accessed outside of render, such as in event handlers or effects. Accessing a ref value (the `current` property) during render can cause your component not to update as expected (https://react.dev/reference/react/useRef)","details":[{"kind":"error","loc":{"start":{"line":9,"column":2,"index":321},"end":{"line":9,"column":16,"index":335},"filename":"mutate-after-useeffect-ref-access.ts"},"message":"Cannot update ref during render"}]}}}
-{"kind":"AutoDepsDecorations","fnLoc":{"start":{"line":8,"column":2,"index":269},"end":{"line":8,"column":50,"index":317},"filename":"mutate-after-useeffect-ref-access.ts"},"decorations":[{"start":{"line":8,"column":24,"index":291},"end":{"line":8,"column":30,"index":297},"filename":"mutate-after-useeffect-ref-access.ts","identifierName":"arrRef"}]}
-{"kind":"CompileSuccess","fnLoc":{"start":{"line":6,"column":0,"index":190},"end":{"line":11,"column":1,"index":363},"filename":"mutate-after-useeffect-ref-access.ts"},"fnName":"Component","memoSlots":0,"memoBlocks":0,"memoValues":0,"prunedMemoBlocks":0,"prunedMemoValues":0}
-```
-
-### Eval output
-(kind: ok) {"current":{"val":2}}
-logs: [{ val: 2 }]
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect-ref-access.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect-ref-access.js
deleted file mode 100644
index 9d0f7e194d0e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect-ref-access.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly @enableNewMutationAliasingModel
-
-import {useEffect, useRef, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-function Component({arrRef}) {
- // Avoid taking arr.current as a dependency
- useEffect(() => print(arrRef.current), AUTODEPS);
- arrRef.current.val = 2;
- return arrRef;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{arrRef: {current: {val: 'initial ref value'}}}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect.expect.md
deleted file mode 100644
index 93e7f1e06096..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect.expect.md
+++ /dev/null
@@ -1,56 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly @enableNewMutationAliasingModel
-import {useEffect, AUTODEPS} from 'react';
-
-function Component({foo}) {
- const arr = [];
- useEffect(() => {
- arr.push(foo);
- }, AUTODEPS);
- arr.push(2);
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{foo: 1}],
-};
-
-```
-
-## Code
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly @enableNewMutationAliasingModel
-import { useEffect, AUTODEPS } from "react";
-
-function Component(t0) {
- const { foo } = t0;
- const arr = [];
- useEffect(() => {
- arr.push(foo);
- }, [arr, foo]);
- arr.push(2);
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ foo: 1 }],
-};
-
-```
-
-## Logs
-
-```
-{"kind":"CompileError","fnLoc":{"start":{"line":4,"column":0,"index":143},"end":{"line":11,"column":1,"index":274},"filename":"mutate-after-useeffect.ts"},"detail":{"options":{"category":"Immutability","reason":"This value cannot be modified","description":"Modifying a value used previously in an effect function or as an effect dependency is not allowed. Consider moving the modification before calling useEffect()","details":[{"kind":"error","loc":{"start":{"line":9,"column":2,"index":246},"end":{"line":9,"column":5,"index":249},"filename":"mutate-after-useeffect.ts","identifierName":"arr"},"message":"value cannot be modified"}]}}}
-{"kind":"AutoDepsDecorations","fnLoc":{"start":{"line":6,"column":2,"index":191},"end":{"line":8,"column":14,"index":242},"filename":"mutate-after-useeffect.ts"},"decorations":[{"start":{"line":7,"column":4,"index":213},"end":{"line":7,"column":7,"index":216},"filename":"mutate-after-useeffect.ts","identifierName":"arr"},{"start":{"line":7,"column":4,"index":213},"end":{"line":7,"column":7,"index":216},"filename":"mutate-after-useeffect.ts","identifierName":"arr"},{"start":{"line":7,"column":13,"index":222},"end":{"line":7,"column":16,"index":225},"filename":"mutate-after-useeffect.ts","identifierName":"foo"}]}
-{"kind":"CompileSuccess","fnLoc":{"start":{"line":4,"column":0,"index":143},"end":{"line":11,"column":1,"index":274},"filename":"mutate-after-useeffect.ts"},"fnName":"Component","memoSlots":0,"memoBlocks":0,"memoValues":0,"prunedMemoBlocks":0,"prunedMemoValues":0}
-```
-
-### Eval output
-(kind: ok) [2]
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect.js
deleted file mode 100644
index 21298604043a..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/mutate-after-useeffect.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// @inferEffectDependencies @panicThreshold:"none" @loggerTestOnly @enableNewMutationAliasingModel
-import {useEffect, AUTODEPS} from 'react';
-
-function Component({foo}) {
- const arr = [];
- useEffect(() => {
- arr.push(foo);
- }, AUTODEPS);
- arr.push(2);
- return arr;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{foo: 1}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/reactive-setState.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/reactive-setState.expect.md
deleted file mode 100644
index 9f9786e4be83..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/reactive-setState.expect.md
+++ /dev/null
@@ -1,66 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @enableNewMutationAliasingModel
-import {useEffect, useState, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-/*
- * setState types are not enough to determine to omit from deps. Must also take reactivity into account.
- */
-function ReactiveRefInEffect(props) {
- const [_state1, setState1] = useRef('initial value');
- const [_state2, setState2] = useRef('initial value');
- let setState;
- if (props.foo) {
- setState = setState1;
- } else {
- setState = setState2;
- }
- useEffect(() => print(setState), AUTODEPS);
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @inferEffectDependencies @enableNewMutationAliasingModel
-import { useEffect, useState, AUTODEPS } from "react";
-import { print } from "shared-runtime";
-
-/*
- * setState types are not enough to determine to omit from deps. Must also take reactivity into account.
- */
-function ReactiveRefInEffect(props) {
- const $ = _c(4);
- const [, setState1] = useRef("initial value");
- const [, setState2] = useRef("initial value");
- let setState;
- if ($[0] !== props.foo) {
- if (props.foo) {
- setState = setState1;
- } else {
- setState = setState2;
- }
- $[0] = props.foo;
- $[1] = setState;
- } else {
- setState = $[1];
- }
- let t0;
- if ($[2] !== setState) {
- t0 = () => print(setState);
- $[2] = setState;
- $[3] = t0;
- } else {
- t0 = $[3];
- }
- useEffect(t0, [setState]);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/reactive-setState.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/reactive-setState.js
deleted file mode 100644
index d35199803243..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/reactive-setState.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// @inferEffectDependencies @enableNewMutationAliasingModel
-import {useEffect, useState, AUTODEPS} from 'react';
-import {print} from 'shared-runtime';
-
-/*
- * setState types are not enough to determine to omit from deps. Must also take reactivity into account.
- */
-function ReactiveRefInEffect(props) {
- const [_state1, setState1] = useRef('initial value');
- const [_state2, setState2] = useRef('initial value');
- let setState;
- if (props.foo) {
- setState = setState1;
- } else {
- setState = setState2;
- }
- useEffect(() => print(setState), AUTODEPS);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/shared-hook-calls.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/shared-hook-calls.expect.md
deleted file mode 100644
index 05405df219f9..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/shared-hook-calls.expect.md
+++ /dev/null
@@ -1,81 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire @enableNewMutationAliasingModel
-import {fire} from 'react';
-
-function Component({bar, baz}) {
- const foo = () => {
- console.log(bar);
- };
- useEffect(() => {
- fire(foo(bar));
- fire(baz(bar));
- });
-
- useEffect(() => {
- fire(foo(bar));
- });
-
- return null;
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c, useFire } from "react/compiler-runtime"; // @enableFire @enableNewMutationAliasingModel
-import { fire } from "react";
-
-function Component(t0) {
- const $ = _c(9);
- const { bar, baz } = t0;
- let t1;
- if ($[0] !== bar) {
- t1 = () => {
- console.log(bar);
- };
- $[0] = bar;
- $[1] = t1;
- } else {
- t1 = $[1];
- }
- const foo = t1;
- const t2 = useFire(foo);
- const t3 = useFire(baz);
- let t4;
- if ($[2] !== bar || $[3] !== t2 || $[4] !== t3) {
- t4 = () => {
- t2(bar);
- t3(bar);
- };
- $[2] = bar;
- $[3] = t2;
- $[4] = t3;
- $[5] = t4;
- } else {
- t4 = $[5];
- }
- useEffect(t4);
- let t5;
- if ($[6] !== bar || $[7] !== t2) {
- t5 = () => {
- t2(bar);
- };
- $[6] = bar;
- $[7] = t2;
- $[8] = t5;
- } else {
- t5 = $[8];
- }
- useEffect(t5);
-
- return null;
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/shared-hook-calls.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/shared-hook-calls.js
deleted file mode 100644
index 54d4cf83fe31..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/new-mutability/shared-hook-calls.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// @enableFire @enableNewMutationAliasingModel
-import {fire} from 'react';
-
-function Component({bar, baz}) {
- const foo = () => {
- console.log(bar);
- };
- useEffect(() => {
- fire(foo(bar));
- fire(baz(bar));
- });
-
- useEffect(() => {
- fire(foo(bar));
- });
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/option-enable-change-variable-codegen.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/option-enable-change-variable-codegen.expect.md
deleted file mode 100644
index 82f71f4a0501..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/option-enable-change-variable-codegen.expect.md
+++ /dev/null
@@ -1,47 +0,0 @@
-
-## Input
-
-```javascript
-// @enableChangeVariableCodegen
-function Component(props) {
- const c_0 = [props.a, props.b.c];
- return c_0;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{a: 3.14, b: {c: true}}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @enableChangeVariableCodegen
-function Component(props) {
- const $ = _c(3);
- const c_00 = $[0] !== props.a;
- const c_1 = $[1] !== props.b.c;
- let t0;
- if (c_00 || c_1) {
- t0 = [props.a, props.b.c];
- $[0] = props.a;
- $[1] = props.b.c;
- $[2] = t0;
- } else {
- t0 = $[2];
- }
- const c_0 = t0;
- return c_0;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ a: 3.14, b: { c: true } }],
-};
-
-```
-
-### Eval output
-(kind: ok) [3.14,true]
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/option-enable-change-variable-codegen.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/option-enable-change-variable-codegen.js
deleted file mode 100644
index 4b89fddcf3c6..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/option-enable-change-variable-codegen.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// @enableChangeVariableCodegen
-function Component(props) {
- const c_0 = [props.a, props.b.c];
- return c_0;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{a: 3.14, b: {c: true}}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain-less-precise-deps.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain-less-precise-deps.expect.md
index 84c611dec355..d676bb8dad2e 100644
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain-less-precise-deps.expect.md
+++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain-less-precise-deps.expect.md
@@ -2,7 +2,7 @@
## Input
```javascript
-// @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enableTreatFunctionDepsAsConditional:false
+// @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
import {useMemo} from 'react';
import {identity, ValidateMemoization} from 'shared-runtime';
@@ -43,7 +43,7 @@ export const FIXTURE_ENTRYPOINT = {
## Code
```javascript
-import { c as _c } from "react/compiler-runtime"; // @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enableTreatFunctionDepsAsConditional:false
+import { c as _c } from "react/compiler-runtime"; // @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
import { useMemo } from "react";
import { identity, ValidateMemoization } from "shared-runtime";
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain-less-precise-deps.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain-less-precise-deps.js
index 373fdc53fa27..445a908c39ac 100644
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain-less-precise-deps.js
+++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain-less-precise-deps.js
@@ -1,4 +1,4 @@
-// @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enableTreatFunctionDepsAsConditional:false
+// @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
import {useMemo} from 'react';
import {identity, ValidateMemoization} from 'shared-runtime';
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain.expect.md
index 82c11f7783d4..9f16154c7011 100644
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain.expect.md
+++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain.expect.md
@@ -2,7 +2,7 @@
## Input
```javascript
-// @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enableTreatFunctionDepsAsConditional:false
+// @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
import {useMemo} from 'react';
import {identity, ValidateMemoization} from 'shared-runtime';
@@ -39,7 +39,7 @@ export const FIXTURE_ENTRYPOINT = {
## Code
```javascript
-import { c as _c } from "react/compiler-runtime"; // @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enableTreatFunctionDepsAsConditional:false
+import { c as _c } from "react/compiler-runtime"; // @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
import { useMemo } from "react";
import { identity, ValidateMemoization } from "shared-runtime";
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain.js
index 6b55e68bb018..a601957052dd 100644
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain.js
+++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-conditional-property-chain.js
@@ -1,4 +1,4 @@
-// @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enableTreatFunctionDepsAsConditional:false
+// @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
import {useMemo} from 'react';
import {identity, ValidateMemoization} from 'shared-runtime';
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-optional-property-chain.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-optional-property-chain.expect.md
index ab4940bcc3ce..13fdd5c15002 100644
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-optional-property-chain.expect.md
+++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-optional-property-chain.expect.md
@@ -2,7 +2,7 @@
## Input
```javascript
-// @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enableTreatFunctionDepsAsConditional:false
+// @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
import {useMemo} from 'react';
import {identity, ValidateMemoization} from 'shared-runtime';
@@ -44,7 +44,7 @@ export const FIXTURE_ENTRYPOINT = {
## Code
```javascript
-import { c as _c } from "react/compiler-runtime"; // @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enableTreatFunctionDepsAsConditional:false
+import { c as _c } from "react/compiler-runtime"; // @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
import { useMemo } from "react";
import { identity, ValidateMemoization } from "shared-runtime";
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-optional-property-chain.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-optional-property-chain.js
index 820cef20cb2a..85122e62be9e 100644
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-optional-property-chain.js
+++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-deps-optional-property-chain.js
@@ -1,4 +1,4 @@
-// @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies @enableTreatFunctionDepsAsConditional:false
+// @enablePreserveExistingMemoizationGuarantees @validatePreserveExistingMemoizationGuarantees @enableOptionalDependencies
import {useMemo} from 'react';
import {identity, ValidateMemoization} from 'shared-runtime';
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables-nested-function.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables-nested-function.expect.md
deleted file mode 100644
index e8d1d04b0618..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables-nested-function.expect.md
+++ /dev/null
@@ -1,78 +0,0 @@
-
-## Input
-
-```javascript
-// @enableChangeVariableCodegen
-import {identity} from 'shared-runtime';
-
-const $ = 'module_$';
-const t0 = 'module_t0';
-const c_0 = 'module_c_0';
-function useFoo(props: {value: number}): number {
- const a = () => {
- const b = () => {
- const c = () => {
- console.log($);
- console.log(t0);
- console.log(c_0);
- return identity(props.value);
- };
- return c;
- };
- return b;
- };
- return a()()();
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: useFoo,
- params: [{value: 42}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @enableChangeVariableCodegen
-import { identity } from "shared-runtime";
-
-const $ = "module_$";
-const t0 = "module_t0";
-const c_0 = "module_c_0";
-function useFoo(props) {
- const $0 = _c(2);
- const c_00 = $0[0] !== props.value;
- let t1;
- if (c_00) {
- const a = () => {
- const b = () => {
- const c = () => {
- console.log($);
- console.log(t0);
- console.log(c_0);
- return identity(props.value);
- };
- return c;
- };
- return b;
- };
- t1 = a()()();
- $0[0] = props.value;
- $0[1] = t1;
- } else {
- t1 = $0[1];
- }
- return t1;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: useFoo,
- params: [{ value: 42 }],
-};
-
-```
-
-### Eval output
-(kind: ok) 42
-logs: ['module_$','module_t0','module_c_0']
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables-nested-function.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables-nested-function.js
deleted file mode 100644
index 5a3d6a3ef3ac..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables-nested-function.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// @enableChangeVariableCodegen
-import {identity} from 'shared-runtime';
-
-const $ = 'module_$';
-const t0 = 'module_t0';
-const c_0 = 'module_c_0';
-function useFoo(props: {value: number}): number {
- const a = () => {
- const b = () => {
- const c = () => {
- console.log($);
- console.log(t0);
- console.log(c_0);
- return identity(props.value);
- };
- return c;
- };
- return b;
- };
- return a()()();
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: useFoo,
- params: [{value: 42}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables-nested-object-method.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables-nested-object-method.expect.md
deleted file mode 100644
index 01130cc3a376..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables-nested-object-method.expect.md
+++ /dev/null
@@ -1,80 +0,0 @@
-
-## Input
-
-```javascript
-// @enableChangeVariableCodegen
-import {identity} from 'shared-runtime';
-
-const $ = 'module_$';
-const t0 = 'module_t0';
-const c_0 = 'module_c_0';
-function useFoo(props: {value: number}): number {
- const a = {
- foo() {
- const b = {
- bar() {
- console.log($);
- console.log(t0);
- console.log(c_0);
- return identity(props.value);
- },
- };
- return b;
- },
- };
- return a.foo().bar();
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: useFoo,
- params: [{value: 42}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @enableChangeVariableCodegen
-import { identity } from "shared-runtime";
-
-const $ = "module_$";
-const t0 = "module_t0";
-const c_0 = "module_c_0";
-function useFoo(props) {
- const $0 = _c(2);
- const c_00 = $0[0] !== props;
- let t1;
- if (c_00) {
- const a = {
- foo() {
- const b = {
- bar() {
- console.log($);
- console.log(t0);
- console.log(c_0);
- return identity(props.value);
- },
- };
- return b;
- },
- };
- t1 = a.foo().bar();
- $0[0] = props;
- $0[1] = t1;
- } else {
- t1 = $0[1];
- }
- return t1;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: useFoo,
- params: [{ value: 42 }],
-};
-
-```
-
-### Eval output
-(kind: ok) 42
-logs: ['module_$','module_t0','module_c_0']
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables-nested-object-method.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables-nested-object-method.js
deleted file mode 100644
index c1432148a970..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables-nested-object-method.js
+++ /dev/null
@@ -1,27 +0,0 @@
-// @enableChangeVariableCodegen
-import {identity} from 'shared-runtime';
-
-const $ = 'module_$';
-const t0 = 'module_t0';
-const c_0 = 'module_c_0';
-function useFoo(props: {value: number}): number {
- const a = {
- foo() {
- const b = {
- bar() {
- console.log($);
- console.log(t0);
- console.log(c_0);
- return identity(props.value);
- },
- };
- return b;
- },
- };
- return a.foo().bar();
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: useFoo,
- params: [{value: 42}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables.expect.md
deleted file mode 100644
index 71e9680c4e77..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables.expect.md
+++ /dev/null
@@ -1,62 +0,0 @@
-
-## Input
-
-```javascript
-// @enableChangeVariableCodegen
-import {identity} from 'shared-runtime';
-
-const $ = 'module_$';
-const t0 = 'module_t0';
-const c_0 = 'module_c_0';
-function useFoo(props: {value: number}): number {
- const results = identity(props.value);
- console.log($);
- console.log(t0);
- console.log(c_0);
- return results;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: useFoo,
- params: [{value: 0}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @enableChangeVariableCodegen
-import { identity } from "shared-runtime";
-
-const $ = "module_$";
-const t0 = "module_t0";
-const c_0 = "module_c_0";
-function useFoo(props) {
- const $0 = _c(2);
- const c_00 = $0[0] !== props.value;
- let t1;
- if (c_00) {
- t1 = identity(props.value);
- $0[0] = props.value;
- $0[1] = t1;
- } else {
- t1 = $0[1];
- }
- const results = t1;
- console.log($);
- console.log(t0);
- console.log(c_0);
- return results;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: useFoo,
- params: [{ value: 0 }],
-};
-
-```
-
-### Eval output
-(kind: ok) 0
-logs: ['module_$','module_t0','module_c_0']
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables.ts b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables.ts
deleted file mode 100644
index 38e75a821906..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/rename-source-variables.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-// @enableChangeVariableCodegen
-import {identity} from 'shared-runtime';
-
-const $ = 'module_$';
-const t0 = 'module_t0';
-const c_0 = 'module_c_0';
-function useFoo(props: {value: number}): number {
- const results = identity(props.value);
- console.log($);
- console.log(t0);
- console.log(c_0);
- return results;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: useFoo,
- params: [{value: 0}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/repro-dont-add-hook-guards-on-retry.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/repro-dont-add-hook-guards-on-retry.expect.md
deleted file mode 100644
index b19a06519f75..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/repro-dont-add-hook-guards-on-retry.expect.md
+++ /dev/null
@@ -1,27 +0,0 @@
-
-## Input
-
-```javascript
-// @flow @enableEmitHookGuards @panicThreshold:"none" @enableFire
-
-component Foo(useDynamicHook) {
- useDynamicHook();
- return hello world
;
-}
-
-```
-
-## Code
-
-```javascript
-function Foo({
- useDynamicHook,
-}: $ReadOnly<{ useDynamicHook: any }>): React.Node {
- useDynamicHook();
- return hello world
;
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/repro-dont-add-hook-guards-on-retry.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/repro-dont-add-hook-guards-on-retry.js
deleted file mode 100644
index 54b18182133d..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/repro-dont-add-hook-guards-on-retry.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// @flow @enableEmitHookGuards @panicThreshold:"none" @enableFire
-
-component Foo(useDynamicHook) {
- useDynamicHook();
- return hello world
;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/repro-missing-memoization-lack-of-phi-types-explicit-types.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/repro-missing-memoization-lack-of-phi-types-explicit-types.expect.md
deleted file mode 100644
index 15bc857ac76f..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/repro-missing-memoization-lack-of-phi-types-explicit-types.expect.md
+++ /dev/null
@@ -1,90 +0,0 @@
-
-## Input
-
-```javascript
-// @flow @validatePreserveExistingMemoizationGuarantees @enableUseTypeAnnotations
-import {useMemo} from 'react';
-import {useFragment} from 'shared-runtime';
-
-// This is a version of error.todo-repro-missing-memoization-lack-of-phi-types
-// with explicit type annotations and using enableUseTypeAnnotations to demonstrate
-// that type information is sufficient to preserve memoization in this example
-function Component() {
- const data = useFragment();
- const nodes: Array = data.nodes ?? [];
- const flatMap: Array = nodes.flatMap(node => node.items);
- const filtered: Array = flatMap.filter(item => item != null);
- const map: Array = useMemo(() => filtered.map(), [filtered]);
- const index: Array = filtered.findIndex(x => x === null);
-
- return (
-
- {map}
- {index}
-
- );
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime";
-import { useMemo } from "react";
-import { useFragment } from "shared-runtime";
-
-function Component() {
- const $ = _c(7);
- const data = useFragment();
- let t0;
- if ($[0] !== data.nodes) {
- const nodes = data.nodes ?? [];
- const flatMap = nodes.flatMap(_temp);
- t0 = flatMap.filter(_temp2);
- $[0] = data.nodes;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- const filtered = t0;
- let t1;
- if ($[2] !== filtered) {
- t1 = filtered.map();
- $[2] = filtered;
- $[3] = t1;
- } else {
- t1 = $[3];
- }
- const map = t1;
- const index = filtered.findIndex(_temp3);
- let t2;
- if ($[4] !== index || $[5] !== map) {
- t2 = (
-
- {map}
- {index}
-
- );
- $[4] = index;
- $[5] = map;
- $[6] = t2;
- } else {
- t2 = $[6];
- }
- return t2;
-}
-function _temp3(x) {
- return x === null;
-}
-function _temp2(item) {
- return item != null;
-}
-function _temp(node) {
- return node.items;
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/repro-missing-memoization-lack-of-phi-types-explicit-types.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/repro-missing-memoization-lack-of-phi-types-explicit-types.js
deleted file mode 100644
index 914ef6199d36..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/repro-missing-memoization-lack-of-phi-types-explicit-types.js
+++ /dev/null
@@ -1,22 +0,0 @@
-// @flow @validatePreserveExistingMemoizationGuarantees @enableUseTypeAnnotations
-import {useMemo} from 'react';
-import {useFragment} from 'shared-runtime';
-
-// This is a version of error.todo-repro-missing-memoization-lack-of-phi-types
-// with explicit type annotations and using enableUseTypeAnnotations to demonstrate
-// that type information is sufficient to preserve memoization in this example
-function Component() {
- const data = useFragment();
- const nodes: Array = data.nodes ?? [];
- const flatMap: Array = nodes.flatMap(node => node.items);
- const filtered: Array = flatMap.filter(item => item != null);
- const map: Array = useMemo(() => filtered.map(), [filtered]);
- const index: Array = filtered.findIndex(x => x === null);
-
- return (
-
- {map}
- {index}
-
- );
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-array-destructuring.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-array-destructuring.expect.md
deleted file mode 100644
index 7ac6486b4703..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-array-destructuring.expect.md
+++ /dev/null
@@ -1,33 +0,0 @@
-
-## Input
-
-```javascript
-// @lowerContextAccess
-function App() {
- const [foo, bar] = useContext(MyContext);
- return ;
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @lowerContextAccess
-function App() {
- const $ = _c(3);
- const [foo, bar] = useContext(MyContext);
- let t0;
- if ($[0] !== bar || $[1] !== foo) {
- t0 = ;
- $[0] = bar;
- $[1] = foo;
- $[2] = t0;
- } else {
- t0 = $[2];
- }
- return t0;
-}
-
-```
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-array-destructuring.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-array-destructuring.js
deleted file mode 100644
index 387c30cdc1e7..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-array-destructuring.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// @lowerContextAccess
-function App() {
- const [foo, bar] = useContext(MyContext);
- return ;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-destructure-multiple.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-destructure-multiple.expect.md
deleted file mode 100644
index 3eac66304be6..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-destructure-multiple.expect.md
+++ /dev/null
@@ -1,37 +0,0 @@
-
-## Input
-
-```javascript
-// @lowerContextAccess
-function App() {
- const context = useContext(MyContext);
- const {foo} = context;
- const {bar} = context;
- return ;
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @lowerContextAccess
-function App() {
- const $ = _c(3);
- const context = useContext(MyContext);
- const { foo } = context;
- const { bar } = context;
- let t0;
- if ($[0] !== bar || $[1] !== foo) {
- t0 = ;
- $[0] = bar;
- $[1] = foo;
- $[2] = t0;
- } else {
- t0 = $[2];
- }
- return t0;
-}
-
-```
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-destructure-multiple.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-destructure-multiple.js
deleted file mode 100644
index e7b106e9db86..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-destructure-multiple.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// @lowerContextAccess
-function App() {
- const context = useContext(MyContext);
- const {foo} = context;
- const {bar} = context;
- return ;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-mixed-array-obj.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-mixed-array-obj.expect.md
deleted file mode 100644
index 4cca8b19d95c..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-mixed-array-obj.expect.md
+++ /dev/null
@@ -1,37 +0,0 @@
-
-## Input
-
-```javascript
-// @lowerContextAccess
-function App() {
- const context = useContext(MyContext);
- const [foo] = context;
- const {bar} = context;
- return ;
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @lowerContextAccess
-function App() {
- const $ = _c(3);
- const context = useContext(MyContext);
- const [foo] = context;
- const { bar } = context;
- let t0;
- if ($[0] !== bar || $[1] !== foo) {
- t0 = ;
- $[0] = bar;
- $[1] = foo;
- $[2] = t0;
- } else {
- t0 = $[2];
- }
- return t0;
-}
-
-```
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-mixed-array-obj.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-mixed-array-obj.js
deleted file mode 100644
index fa511732e3fb..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-mixed-array-obj.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// @lowerContextAccess
-function App() {
- const context = useContext(MyContext);
- const [foo] = context;
- const {bar} = context;
- return ;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-nested-destructuring.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-nested-destructuring.expect.md
deleted file mode 100644
index f5a391662691..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-nested-destructuring.expect.md
+++ /dev/null
@@ -1,37 +0,0 @@
-
-## Input
-
-```javascript
-// @lowerContextAccess
-function App() {
- const {
- joe: {foo},
- bar,
- } = useContext(MyContext);
- return ;
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @lowerContextAccess
-function App() {
- const $ = _c(3);
- const { joe: t0, bar } = useContext(MyContext);
- const { foo } = t0;
- let t1;
- if ($[0] !== bar || $[1] !== foo) {
- t1 = ;
- $[0] = bar;
- $[1] = foo;
- $[2] = t1;
- } else {
- t1 = $[2];
- }
- return t1;
-}
-
-```
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-nested-destructuring.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-nested-destructuring.js
deleted file mode 100644
index 89a7ccd7db47..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-nested-destructuring.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// @lowerContextAccess
-function App() {
- const {
- joe: {foo},
- bar,
- } = useContext(MyContext);
- return ;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-property-load.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-property-load.expect.md
deleted file mode 100644
index 0888d67b2aa9..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-property-load.expect.md
+++ /dev/null
@@ -1,37 +0,0 @@
-
-## Input
-
-```javascript
-// @lowerContextAccess
-function App() {
- const context = useContext(MyContext);
- const foo = context.foo;
- const bar = context.bar;
- return ;
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @lowerContextAccess
-function App() {
- const $ = _c(3);
- const context = useContext(MyContext);
- const foo = context.foo;
- const bar = context.bar;
- let t0;
- if ($[0] !== bar || $[1] !== foo) {
- t0 = ;
- $[0] = bar;
- $[1] = foo;
- $[2] = t0;
- } else {
- t0 = $[2];
- }
- return t0;
-}
-
-```
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-property-load.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-property-load.js
deleted file mode 100644
index a055114c1ec7..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/todo.lower-context-access-property-load.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// @lowerContextAccess
-function App() {
- const context = useContext(MyContext);
- const foo = context.foo;
- const bar = context.bar;
- return ;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-capitalized-fn-call.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-capitalized-fn-call.expect.md
deleted file mode 100644
index d1fd19c00573..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-capitalized-fn-call.expect.md
+++ /dev/null
@@ -1,51 +0,0 @@
-
-## Input
-
-```javascript
-// @validateNoCapitalizedCalls @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-const CapitalizedCall = require('shared-runtime').sum;
-
-function Component({prop1, bar}) {
- const foo = () => {
- console.log(prop1);
- };
- useEffect(() => {
- fire(foo(prop1));
- fire(foo());
- fire(bar());
- });
-
- return CapitalizedCall();
-}
-
-```
-
-## Code
-
-```javascript
-import { useFire } from "react/compiler-runtime"; // @validateNoCapitalizedCalls @enableFire @panicThreshold:"none"
-import { fire } from "react";
-const CapitalizedCall = require("shared-runtime").sum;
-
-function Component(t0) {
- const { prop1, bar } = t0;
- const foo = () => {
- console.log(prop1);
- };
- const t1 = useFire(foo);
- const t2 = useFire(bar);
-
- useEffect(() => {
- t1(prop1);
- t1();
- t2();
- });
-
- return CapitalizedCall();
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-capitalized-fn-call.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-capitalized-fn-call.js
deleted file mode 100644
index bd9715e91a2d..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-capitalized-fn-call.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// @validateNoCapitalizedCalls @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-const CapitalizedCall = require('shared-runtime').sum;
-
-function Component({prop1, bar}) {
- const foo = () => {
- console.log(prop1);
- };
- useEffect(() => {
- fire(foo(prop1));
- fire(foo());
- fire(bar());
- });
-
- return CapitalizedCall();
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-eslint-suppressions.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-eslint-suppressions.expect.md
deleted file mode 100644
index 99774bdd3e60..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-eslint-suppressions.expect.md
+++ /dev/null
@@ -1,55 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire @panicThreshold:"none"
-import {useRef} from 'react';
-
-function Component({props, bar}) {
- const foo = () => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- fire(foo());
- fire(bar());
- });
-
- const ref = useRef(null);
- // eslint-disable-next-line react-hooks/rules-of-hooks
- ref.current = 'bad';
- return ;
-}
-
-```
-
-## Code
-
-```javascript
-import { useFire } from "react/compiler-runtime"; // @enableFire @panicThreshold:"none"
-import { useRef } from "react";
-
-function Component(t0) {
- const { props, bar } = t0;
- const foo = () => {
- console.log(props);
- };
- const t1 = useFire(foo);
- const t2 = useFire(bar);
-
- useEffect(() => {
- t1(props);
- t1();
- t2();
- });
-
- const ref = useRef(null);
-
- ref.current = "bad";
- return ;
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-eslint-suppressions.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-eslint-suppressions.js
deleted file mode 100644
index be89a6d3b920..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-eslint-suppressions.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// @enableFire @panicThreshold:"none"
-import {useRef} from 'react';
-
-function Component({props, bar}) {
- const foo = () => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- fire(foo());
- fire(bar());
- });
-
- const ref = useRef(null);
- // eslint-disable-next-line react-hooks/rules-of-hooks
- ref.current = 'bad';
- return ;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-preserve-memo.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-preserve-memo.expect.md
deleted file mode 100644
index 0a39f9b32abe..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-preserve-memo.expect.md
+++ /dev/null
@@ -1,51 +0,0 @@
-
-## Input
-
-```javascript
-// @validatePreserveExistingMemoizationGuarantees @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-import {sum} from 'shared-runtime';
-
-function Component({prop1, bar}) {
- const foo = () => {
- console.log(prop1);
- };
- useEffect(() => {
- fire(foo(prop1));
- fire(foo());
- fire(bar());
- });
-
- return useMemo(() => sum(bar), []);
-}
-
-```
-
-## Code
-
-```javascript
-import { useFire } from "react/compiler-runtime"; // @validatePreserveExistingMemoizationGuarantees @enableFire @panicThreshold:"none"
-import { fire } from "react";
-import { sum } from "shared-runtime";
-
-function Component(t0) {
- const { prop1, bar } = t0;
- const foo = () => {
- console.log(prop1);
- };
- const t1 = useFire(foo);
- const t2 = useFire(bar);
-
- useEffect(() => {
- t1(prop1);
- t1();
- t2();
- });
-
- return useMemo(() => sum(bar), []);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-preserve-memo.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-preserve-memo.js
deleted file mode 100644
index 4ba2de0eb158..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-preserve-memo.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// @validatePreserveExistingMemoizationGuarantees @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-import {sum} from 'shared-runtime';
-
-function Component({prop1, bar}) {
- const foo = () => {
- console.log(prop1);
- };
- useEffect(() => {
- fire(foo(prop1));
- fire(foo());
- fire(bar());
- });
-
- return useMemo(() => sum(bar), []);
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-prop-write.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-prop-write.expect.md
deleted file mode 100644
index 0f1d745537d2..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-prop-write.expect.md
+++ /dev/null
@@ -1,42 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-
-function Component({prop1}) {
- const foo = () => {
- console.log(prop1);
- };
- useEffect(() => {
- fire(foo(prop1));
- });
- prop1.value += 1;
-}
-
-```
-
-## Code
-
-```javascript
-import { useFire } from "react/compiler-runtime"; // @enableFire @panicThreshold:"none"
-import { fire } from "react";
-
-function Component(t0) {
- const { prop1 } = t0;
- const foo = () => {
- console.log(prop1);
- };
- const t1 = useFire(foo);
-
- useEffect(() => {
- t1(prop1);
- });
- prop1.value = prop1.value + 1;
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-prop-write.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-prop-write.js
deleted file mode 100644
index 6b250a16924e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-prop-write.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-
-function Component({prop1}) {
- const foo = () => {
- console.log(prop1);
- };
- useEffect(() => {
- fire(foo(prop1));
- });
- prop1.value += 1;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-ref-current-access.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-ref-current-access.expect.md
deleted file mode 100644
index b55526e9211c..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-ref-current-access.expect.md
+++ /dev/null
@@ -1,51 +0,0 @@
-
-## Input
-
-```javascript
-// @flow @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-import {print} from 'shared-runtime';
-
-component Component(prop1, ref) {
- const foo = () => {
- console.log(prop1);
- };
- useEffect(() => {
- fire(foo(prop1));
- bar();
- fire(foo());
- });
-
- print(ref.current);
- return null;
-}
-
-```
-
-## Code
-
-```javascript
-import { useFire } from "react/compiler-runtime";
-import { fire } from "react";
-import { print } from "shared-runtime";
-
-const Component = React.forwardRef(Component_withRef);
-function Component_withRef(t0, ref) {
- const { prop1 } = t0;
- const foo = () => {
- console.log(prop1);
- };
- const t1 = useFire(foo);
- useEffect(() => {
- t1(prop1);
- bar();
- t1();
- });
- print(ref.current);
- return null;
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-ref-current-access.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-ref-current-access.js
deleted file mode 100644
index 1dcb5b5c47d0..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/bailout-validate-ref-current-access.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// @flow @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-import {print} from 'shared-runtime';
-
-component Component(prop1, ref) {
- const foo = () => {
- console.log(prop1);
- };
- useEffect(() => {
- fire(foo(prop1));
- bar();
- fire(foo());
- });
-
- print(ref.current);
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.todo-syntax.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.todo-syntax.expect.md
deleted file mode 100644
index e823939d3ff9..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.todo-syntax.expect.md
+++ /dev/null
@@ -1,48 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-
-/**
- * Note that a react compiler-based transform still has limitations on JS syntax.
- * In practice, we expect to surface these as actionable errors to the user, in
- * the same way that invalid `fire` calls error.
- */
-function Component({prop1}) {
- const foo = () => {
- try {
- console.log(prop1);
- } finally {
- console.log('jbrown215');
- }
- };
- useEffect(() => {
- fire(foo());
- });
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: [Fire] Untransformed reference to compiler-required feature.
-
-Either remove this `fire` call or ensure it is successfully transformed by the compiler Todo: (BuildHIR::lowerStatement) Handle TryStatement without a catch clause (11:4).
-
-error.todo-syntax.ts:18:4
- 16 | };
- 17 | useEffect(() => {
-> 18 | fire(foo());
- | ^^^^ Untransformed `fire` call
- 19 | });
- 20 | }
- 21 |
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.todo-syntax.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.todo-syntax.js
deleted file mode 100644
index 52c224e3219c..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.todo-syntax.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-
-/**
- * Note that a react compiler-based transform still has limitations on JS syntax.
- * In practice, we expect to surface these as actionable errors to the user, in
- * the same way that invalid `fire` calls error.
- */
-function Component({prop1}) {
- const foo = () => {
- try {
- console.log(prop1);
- } finally {
- console.log('jbrown215');
- }
- };
- useEffect(() => {
- fire(foo());
- });
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.untransformed-fire-reference.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.untransformed-fire-reference.expect.md
deleted file mode 100644
index 751c9ec21c95..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.untransformed-fire-reference.expect.md
+++ /dev/null
@@ -1,30 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-
-console.log(fire == null);
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: [Fire] Untransformed reference to compiler-required feature.
-
-Either remove this `fire` call or ensure it is successfully transformed by the compiler.
-
-error.untransformed-fire-reference.ts:4:12
- 2 | import {fire} from 'react';
- 3 |
-> 4 | console.log(fire == null);
- | ^^^^ Untransformed `fire` call
- 5 |
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.untransformed-fire-reference.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.untransformed-fire-reference.js
deleted file mode 100644
index afeead081206..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.untransformed-fire-reference.js
+++ /dev/null
@@ -1,4 +0,0 @@
-// @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-
-console.log(fire == null);
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.use-no-memo.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.use-no-memo.expect.md
deleted file mode 100644
index 38a27d847805..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.use-no-memo.expect.md
+++ /dev/null
@@ -1,49 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-
-/**
- * TODO: we should eventually distinguish between `use no memo` and `use no
- * compiler` directives. The former should be used to *only* disable memoization
- * features.
- */
-function Component({props, bar}) {
- 'use no memo';
- const foo = () => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- fire(foo());
- fire(bar());
- });
-
- return null;
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: [Fire] Untransformed reference to compiler-required feature.
-
-Either remove this `fire` call or ensure it is successfully transformed by the compiler.
-
-error.use-no-memo.ts:15:4
- 13 | };
- 14 | useEffect(() => {
-> 15 | fire(foo(props));
- | ^^^^ Untransformed `fire` call
- 16 | fire(foo());
- 17 | fire(bar());
- 18 | });
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.use-no-memo.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.use-no-memo.js
deleted file mode 100644
index 685309a25026..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/error.use-no-memo.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-
-/**
- * TODO: we should eventually distinguish between `use no memo` and `use no
- * compiler` directives. The former should be used to *only* disable memoization
- * features.
- */
-function Component({props, bar}) {
- 'use no memo';
- const foo = () => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- fire(foo());
- fire(bar());
- });
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/infer-deps-on-retry.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/infer-deps-on-retry.expect.md
deleted file mode 100644
index 3caeef386f6e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/infer-deps-on-retry.expect.md
+++ /dev/null
@@ -1,59 +0,0 @@
-
-## Input
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none"
-import {useRef, AUTODEPS} from 'react';
-import {useSpecialEffect} from 'shared-runtime';
-
-/**
- * The retry pipeline disables memoization features, which means we need to
- * provide an alternate implementation of effect dependencies which does not
- * rely on memoization.
- */
-function useFoo({cond}) {
- const ref = useRef();
- const derived = cond ? ref.current : makeObject();
- useSpecialEffect(
- () => {
- log(derived);
- },
- [derived],
- AUTODEPS
- );
- return ref;
-}
-
-```
-
-## Code
-
-```javascript
-// @inferEffectDependencies @panicThreshold:"none"
-import { useRef, AUTODEPS } from "react";
-import { useSpecialEffect } from "shared-runtime";
-
-/**
- * The retry pipeline disables memoization features, which means we need to
- * provide an alternate implementation of effect dependencies which does not
- * rely on memoization.
- */
-function useFoo(t0) {
- const { cond } = t0;
- const ref = useRef();
- const derived = cond ? ref.current : makeObject();
- useSpecialEffect(
- () => {
- log(derived);
- },
-
- [derived],
- [derived],
- );
- return ref;
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/infer-deps-on-retry.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/infer-deps-on-retry.js
deleted file mode 100644
index 75d818650180..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/infer-deps-on-retry.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// @inferEffectDependencies @panicThreshold:"none"
-import {useRef, AUTODEPS} from 'react';
-import {useSpecialEffect} from 'shared-runtime';
-
-/**
- * The retry pipeline disables memoization features, which means we need to
- * provide an alternate implementation of effect dependencies which does not
- * rely on memoization.
- */
-function useFoo({cond}) {
- const ref = useRef();
- const derived = cond ? ref.current : makeObject();
- useSpecialEffect(
- () => {
- log(derived);
- },
- [derived],
- AUTODEPS
- );
- return ref;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/no-fire-todo-syntax-shouldnt-throw.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/no-fire-todo-syntax-shouldnt-throw.expect.md
deleted file mode 100644
index 459e0becd1a6..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/no-fire-todo-syntax-shouldnt-throw.expect.md
+++ /dev/null
@@ -1,95 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-
-/**
- * Compilation of this file should succeed.
- */
-function NonFireComponent({prop1}) {
- /**
- * This component bails out but does not use fire
- */
- const foo = () => {
- try {
- console.log(prop1);
- } finally {
- console.log('jbrown215');
- }
- };
- useEffect(() => {
- foo();
- });
-}
-
-function FireComponent(props) {
- /**
- * This component uses fire and compiles successfully
- */
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- });
-
- return null;
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c, useFire } from "react/compiler-runtime"; // @enableFire @panicThreshold:"none"
-import { fire } from "react";
-
-/**
- * Compilation of this file should succeed.
- */
-function NonFireComponent({ prop1 }) {
- /**
- * This component bails out but does not use fire
- */
- const foo = () => {
- try {
- console.log(prop1);
- } finally {
- console.log("jbrown215");
- }
- };
- useEffect(() => {
- foo();
- });
-}
-
-function FireComponent(props) {
- const $ = _c(3);
-
- const foo = _temp;
- const t0 = useFire(foo);
- let t1;
- if ($[0] !== props || $[1] !== t0) {
- t1 = () => {
- t0(props);
- };
- $[0] = props;
- $[1] = t0;
- $[2] = t1;
- } else {
- t1 = $[2];
- }
- useEffect(t1);
-
- return null;
-}
-function _temp(props_0) {
- console.log(props_0);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/no-fire-todo-syntax-shouldnt-throw.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/no-fire-todo-syntax-shouldnt-throw.js
deleted file mode 100644
index e11ab6b6de8a..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-retry/no-fire-todo-syntax-shouldnt-throw.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// @enableFire @panicThreshold:"none"
-import {fire} from 'react';
-
-/**
- * Compilation of this file should succeed.
- */
-function NonFireComponent({prop1}) {
- /**
- * This component bails out but does not use fire
- */
- const foo = () => {
- try {
- console.log(prop1);
- } finally {
- console.log('jbrown215');
- }
- };
- useEffect(() => {
- foo();
- });
-}
-
-function FireComponent(props) {
- /**
- * This component uses fire and compiles successfully
- */
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- });
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-validate-conditional-hook.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-validate-conditional-hook.expect.md
deleted file mode 100644
index 0099c65c9283..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-validate-conditional-hook.expect.md
+++ /dev/null
@@ -1,59 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire @panicThreshold:"none"
-import {fire, useEffect} from 'react';
-import {Stringify} from 'shared-runtime';
-
-/**
- * When @enableFire is specified, retry compilation with validation passes (e.g.
- * hook usage) disabled
- */
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
-
- if (props.cond) {
- useEffect(() => {
- fire(foo(props));
- });
- }
-
- return ;
-}
-
-```
-
-## Code
-
-```javascript
-import { useFire } from "react/compiler-runtime"; // @enableFire @panicThreshold:"none"
-import { fire, useEffect } from "react";
-import { Stringify } from "shared-runtime";
-
-/**
- * When @enableFire is specified, retry compilation with validation passes (e.g.
- * hook usage) disabled
- */
-function Component(props) {
- const foo = _temp;
-
- if (props.cond) {
- const t0 = useFire(foo);
- useEffect(() => {
- t0(props);
- });
- }
-
- return ;
-}
-function _temp(props_0) {
- console.log(props_0);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-validate-conditional-hook.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-validate-conditional-hook.js
deleted file mode 100644
index 602f121ad7a5..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/bailout-validate-conditional-hook.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// @enableFire @panicThreshold:"none"
-import {fire, useEffect} from 'react';
-import {Stringify} from 'shared-runtime';
-
-/**
- * When @enableFire is specified, retry compilation with validation passes (e.g.
- * hook usage) disabled
- */
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
-
- if (props.cond) {
- useEffect(() => {
- fire(foo(props));
- });
- }
-
- return ;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/basic.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/basic.expect.md
deleted file mode 100644
index 4487a0a71e2e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/basic.expect.md
+++ /dev/null
@@ -1,53 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- });
-
- return null;
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c, useFire } from "react/compiler-runtime"; // @enableFire
-import { fire } from "react";
-
-function Component(props) {
- const $ = _c(3);
- const foo = _temp;
- const t0 = useFire(foo);
- let t1;
- if ($[0] !== props || $[1] !== t0) {
- t1 = () => {
- t0(props);
- };
- $[0] = props;
- $[1] = t0;
- $[2] = t1;
- } else {
- t1 = $[2];
- }
- useEffect(t1);
-
- return null;
-}
-function _temp(props_0) {
- console.log(props_0);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/basic.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/basic.js
deleted file mode 100644
index 2f7a72e4eed5..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/basic.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- });
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/deep-scope.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/deep-scope.expect.md
deleted file mode 100644
index cff646956ac9..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/deep-scope.expect.md
+++ /dev/null
@@ -1,74 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- function nested() {
- function nestedAgain() {
- function nestedThrice() {
- fire(foo(props));
- }
- nestedThrice();
- }
- nestedAgain();
- }
- nested();
- });
-
- return null;
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c, useFire } from "react/compiler-runtime"; // @enableFire
-import { fire } from "react";
-
-function Component(props) {
- const $ = _c(3);
- const foo = _temp;
- const t0 = useFire(foo);
- let t1;
- if ($[0] !== props || $[1] !== t0) {
- t1 = () => {
- const nested = function nested() {
- const nestedAgain = function nestedAgain() {
- const nestedThrice = function nestedThrice() {
- t0(props);
- };
-
- nestedThrice();
- };
-
- nestedAgain();
- };
-
- nested();
- };
- $[0] = props;
- $[1] = t0;
- $[2] = t1;
- } else {
- t1 = $[2];
- }
- useEffect(t1);
-
- return null;
-}
-function _temp(props_0) {
- console.log(props_0);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/deep-scope.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/deep-scope.js
deleted file mode 100644
index b056c3f53a85..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/deep-scope.js
+++ /dev/null
@@ -1,22 +0,0 @@
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- function nested() {
- function nestedAgain() {
- function nestedThrice() {
- fire(foo(props));
- }
- nestedThrice();
- }
- nestedAgain();
- }
- nested();
- });
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-mix-fire-and-no-fire.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-mix-fire-and-no-fire.expect.md
deleted file mode 100644
index 1eb6bf66e964..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-mix-fire-and-no-fire.expect.md
+++ /dev/null
@@ -1,46 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- function nested() {
- fire(foo(props));
- foo(props);
- }
-
- nested();
- });
-
- return null;
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot compile `fire`
-
-All uses of foo must be either used with a fire() call in this effect or not used with a fire() call at all. foo was used with fire() on line 10:10 in this effect.
-
-error.invalid-mix-fire-and-no-fire.ts:11:6
- 9 | function nested() {
- 10 | fire(foo(props));
-> 11 | foo(props);
- | ^^^ Cannot compile `fire`
- 12 | }
- 13 |
- 14 | nested();
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-mix-fire-and-no-fire.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-mix-fire-and-no-fire.js
deleted file mode 100644
index ee2f915a34ed..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-mix-fire-and-no-fire.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- function nested() {
- fire(foo(props));
- foo(props);
- }
-
- nested();
- });
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-multiple-args.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-multiple-args.expect.md
deleted file mode 100644
index c519d43fb41c..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-multiple-args.expect.md
+++ /dev/null
@@ -1,41 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire
-import {fire} from 'react';
-
-function Component({bar, baz}) {
- const foo = () => {
- console.log(bar, baz);
- };
- useEffect(() => {
- fire(foo(bar), baz);
- });
-
- return null;
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot compile `fire`
-
-fire() can only take in a single call expression as an argument but received multiple arguments.
-
-error.invalid-multiple-args.ts:9:4
- 7 | };
- 8 | useEffect(() => {
-> 9 | fire(foo(bar), baz);
- | ^^^^^^^^^^^^^^^^^^^ Cannot compile `fire`
- 10 | });
- 11 |
- 12 | return null;
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-multiple-args.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-multiple-args.js
deleted file mode 100644
index 980b0dfcb5e7..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-multiple-args.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// @enableFire
-import {fire} from 'react';
-
-function Component({bar, baz}) {
- const foo = () => {
- console.log(bar, baz);
- };
- useEffect(() => {
- fire(foo(bar), baz);
- });
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-nested-use-effect.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-nested-use-effect.expect.md
deleted file mode 100644
index 2e767c3c71e6..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-nested-use-effect.expect.md
+++ /dev/null
@@ -1,47 +0,0 @@
-
-## Input
-
-```javascript
-// @enable
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- useEffect(() => {
- function nested() {
- fire(foo(props));
- }
-
- nested();
- });
- });
-
- return null;
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Hooks must be called at the top level in the body of a function component or custom hook, and may not be called within function expressions. See the Rules of Hooks (https://react.dev/warnings/invalid-hook-call-warning)
-
-Cannot call useEffect within a function expression.
-
-error.invalid-nested-use-effect.ts:9:4
- 7 | };
- 8 | useEffect(() => {
-> 9 | useEffect(() => {
- | ^^^^^^^^^ Hooks must be called at the top level in the body of a function component or custom hook, and may not be called within function expressions. See the Rules of Hooks (https://react.dev/warnings/invalid-hook-call-warning)
- 10 | function nested() {
- 11 | fire(foo(props));
- 12 | }
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-nested-use-effect.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-nested-use-effect.js
deleted file mode 100644
index 16f242572445..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-nested-use-effect.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// @enable
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- useEffect(() => {
- function nested() {
- fire(foo(props));
- }
-
- nested();
- });
- });
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-not-call.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-not-call.expect.md
deleted file mode 100644
index 40c4bc5394dc..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-not-call.expect.md
+++ /dev/null
@@ -1,41 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = () => {
- console.log(props);
- };
- useEffect(() => {
- fire(props);
- });
-
- return null;
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot compile `fire`
-
-`fire()` can only receive a function call such as `fire(fn(a,b)). Method calls and other expressions are not allowed.
-
-error.invalid-not-call.ts:9:4
- 7 | };
- 8 | useEffect(() => {
-> 9 | fire(props);
- | ^^^^^^^^^^^ Cannot compile `fire`
- 10 | });
- 11 |
- 12 | return null;
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-not-call.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-not-call.js
deleted file mode 100644
index 3d1ae3658fd2..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-not-call.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = () => {
- console.log(props);
- };
- useEffect(() => {
- fire(props);
- });
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-outside-effect.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-outside-effect.expect.md
deleted file mode 100644
index cdb0726f2e15..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-outside-effect.expect.md
+++ /dev/null
@@ -1,56 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire
-import {fire, useCallback} from 'react';
-
-function Component({props, bar}) {
- const foo = () => {
- console.log(props);
- };
- fire(foo(props));
-
- useCallback(() => {
- fire(foo(props));
- }, [foo, props]);
-
- return null;
-}
-
-```
-
-
-## Error
-
-```
-Found 2 errors:
-
-Error: Cannot compile `fire`
-
-Cannot use `fire` outside of a useEffect function.
-
-error.invalid-outside-effect.ts:8:2
- 6 | console.log(props);
- 7 | };
-> 8 | fire(foo(props));
- | ^^^^ Cannot compile `fire`
- 9 |
- 10 | useCallback(() => {
- 11 | fire(foo(props));
-
-Error: Cannot compile `fire`
-
-Cannot use `fire` outside of a useEffect function.
-
-error.invalid-outside-effect.ts:11:4
- 9 |
- 10 | useCallback(() => {
-> 11 | fire(foo(props));
- | ^^^^ Cannot compile `fire`
- 12 | }, [foo, props]);
- 13 |
- 14 | return null;
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-outside-effect.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-outside-effect.js
deleted file mode 100644
index 8ac9be6d7648..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-outside-effect.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// @enableFire
-import {fire, useCallback} from 'react';
-
-function Component({props, bar}) {
- const foo = () => {
- console.log(props);
- };
- fire(foo(props));
-
- useCallback(() => {
- fire(foo(props));
- }, [foo, props]);
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-rewrite-deps-no-array-literal.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-rewrite-deps-no-array-literal.expect.md
deleted file mode 100644
index d82f1ee1b22c..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-rewrite-deps-no-array-literal.expect.md
+++ /dev/null
@@ -1,44 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
-
- const deps = [foo, props];
-
- useEffect(() => {
- fire(foo(props));
- }, deps);
-
- return null;
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot compile `fire`
-
-You must use an array literal for an effect dependency array when that effect uses `fire()`.
-
-error.invalid-rewrite-deps-no-array-literal.ts:13:5
- 11 | useEffect(() => {
- 12 | fire(foo(props));
-> 13 | }, deps);
- | ^^^^ Cannot compile `fire`
- 14 |
- 15 | return null;
- 16 | }
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-rewrite-deps-no-array-literal.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-rewrite-deps-no-array-literal.js
deleted file mode 100644
index b82f735425ef..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-rewrite-deps-no-array-literal.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
-
- const deps = [foo, props];
-
- useEffect(() => {
- fire(foo(props));
- }, deps);
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-rewrite-deps-spread.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-rewrite-deps-spread.expect.md
deleted file mode 100644
index a84181363021..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-rewrite-deps-spread.expect.md
+++ /dev/null
@@ -1,47 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
-
- const deps = [foo, props];
-
- useEffect(
- () => {
- fire(foo(props));
- },
- ...deps
- );
-
- return null;
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot compile `fire`
-
-You must use an array literal for an effect dependency array when that effect uses `fire()`.
-
-error.invalid-rewrite-deps-spread.ts:15:7
- 13 | fire(foo(props));
- 14 | },
-> 15 | ...deps
- | ^^^^ Cannot compile `fire`
- 16 | );
- 17 |
- 18 | return null;
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-rewrite-deps-spread.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-rewrite-deps-spread.js
deleted file mode 100644
index 27d1de4f463d..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-rewrite-deps-spread.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
-
- const deps = [foo, props];
-
- useEffect(
- () => {
- fire(foo(props));
- },
- ...deps
- );
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-spread.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-spread.expect.md
deleted file mode 100644
index dcd302bbe104..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-spread.expect.md
+++ /dev/null
@@ -1,41 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = () => {
- console.log(props);
- };
- useEffect(() => {
- fire(...foo);
- });
-
- return null;
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot compile `fire`
-
-fire() can only take in a single call expression as an argument but received a spread argument.
-
-error.invalid-spread.ts:9:4
- 7 | };
- 8 | useEffect(() => {
-> 9 | fire(...foo);
- | ^^^^^^^^^^^^ Cannot compile `fire`
- 10 | });
- 11 |
- 12 | return null;
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-spread.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-spread.js
deleted file mode 100644
index 68e317588bd5..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.invalid-spread.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = () => {
- console.log(props);
- };
- useEffect(() => {
- fire(...foo);
- });
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.todo-method.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.todo-method.expect.md
deleted file mode 100644
index 67410297f303..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.todo-method.expect.md
+++ /dev/null
@@ -1,41 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = () => {
- console.log(props);
- };
- useEffect(() => {
- fire(props.foo());
- });
-
- return null;
-}
-
-```
-
-
-## Error
-
-```
-Found 1 error:
-
-Error: Cannot compile `fire`
-
-`fire()` can only receive a function call such as `fire(fn(a,b)). Method calls and other expressions are not allowed.
-
-error.todo-method.ts:9:4
- 7 | };
- 8 | useEffect(() => {
-> 9 | fire(props.foo());
- | ^^^^^^^^^^^^^^^^^ Cannot compile `fire`
- 10 | });
- 11 |
- 12 | return null;
-```
-
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.todo-method.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.todo-method.js
deleted file mode 100644
index c75622ca5e7a..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/error.todo-method.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = () => {
- console.log(props);
- };
- useEffect(() => {
- fire(props.foo());
- });
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/hook-guard.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/hook-guard.expect.md
deleted file mode 100644
index a5f1d4ead983..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/hook-guard.expect.md
+++ /dev/null
@@ -1,73 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire @enableEmitHookGuards
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- });
-
- return null;
-}
-
-```
-
-## Code
-
-```javascript
-import { $dispatcherGuard } from "react-compiler-runtime";
-import { c as _c, useFire } from "react/compiler-runtime"; // @enableFire @enableEmitHookGuards
-import { fire } from "react";
-
-function Component(props) {
- const $ = _c(3);
- try {
- $dispatcherGuard(0);
- const foo = _temp;
- const t0 = (function () {
- try {
- $dispatcherGuard(2);
- return useFire(foo);
- } finally {
- $dispatcherGuard(3);
- }
- })();
- let t1;
- if ($[0] !== props || $[1] !== t0) {
- t1 = () => {
- t0(props);
- };
- $[0] = props;
- $[1] = t0;
- $[2] = t1;
- } else {
- t1 = $[2];
- }
- (function () {
- try {
- $dispatcherGuard(2);
- return useEffect(t1);
- } finally {
- $dispatcherGuard(3);
- }
- })();
-
- return null;
- } finally {
- $dispatcherGuard(1);
- }
-}
-function _temp(props_0) {
- console.log(props_0);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/hook-guard.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/hook-guard.js
deleted file mode 100644
index bc0b1a2d7cea..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/hook-guard.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// @enableFire @enableEmitHookGuards
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- });
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/multiple-scope.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/multiple-scope.expect.md
deleted file mode 100644
index 6a1d7c03716c..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/multiple-scope.expect.md
+++ /dev/null
@@ -1,66 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- function nested() {
- fire(foo(props));
- function innerNested() {
- fire(foo(props));
- }
- }
-
- nested();
- });
-
- return null;
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c, useFire } from "react/compiler-runtime"; // @enableFire
-import { fire } from "react";
-
-function Component(props) {
- const $ = _c(3);
- const foo = _temp;
- const t0 = useFire(foo);
- let t1;
- if ($[0] !== props || $[1] !== t0) {
- t1 = () => {
- t0(props);
- const nested = function nested() {
- t0(props);
- };
-
- nested();
- };
- $[0] = props;
- $[1] = t0;
- $[2] = t1;
- } else {
- t1 = $[2];
- }
- useEffect(t1);
-
- return null;
-}
-function _temp(props_0) {
- console.log(props_0);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/multiple-scope.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/multiple-scope.js
deleted file mode 100644
index 54410680e63c..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/multiple-scope.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- function nested() {
- fire(foo(props));
- function innerNested() {
- fire(foo(props));
- }
- }
-
- nested();
- });
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/repeated-calls.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/repeated-calls.expect.md
deleted file mode 100644
index f0d6aa8e691c..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/repeated-calls.expect.md
+++ /dev/null
@@ -1,62 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = () => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- fire(foo(props));
- });
-
- return null;
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c, useFire } from "react/compiler-runtime"; // @enableFire
-import { fire } from "react";
-
-function Component(props) {
- const $ = _c(5);
- let t0;
- if ($[0] !== props) {
- t0 = () => {
- console.log(props);
- };
- $[0] = props;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- const foo = t0;
- const t1 = useFire(foo);
- let t2;
- if ($[2] !== props || $[3] !== t1) {
- t2 = () => {
- t1(props);
- t1(props);
- };
- $[2] = props;
- $[3] = t1;
- $[4] = t2;
- } else {
- t2 = $[4];
- }
- useEffect(t2);
-
- return null;
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/repeated-calls.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/repeated-calls.js
deleted file mode 100644
index 14e1cb06b1bb..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/repeated-calls.js
+++ /dev/null
@@ -1,14 +0,0 @@
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = () => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- fire(foo(props));
- });
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/repro-dont-add-hook-guards-on-retry.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/repro-dont-add-hook-guards-on-retry.expect.md
deleted file mode 100644
index 2ad6dea68835..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/repro-dont-add-hook-guards-on-retry.expect.md
+++ /dev/null
@@ -1,49 +0,0 @@
-
-## Input
-
-```javascript
-// @flow @enableEmitHookGuards @panicThreshold:"none" @enableFire
-import {useEffect, fire} from 'react';
-
-function Component(props, useDynamicHook) {
- 'use memo';
- useDynamicHook();
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- });
-
- return hello world
;
-}
-
-```
-
-## Code
-
-```javascript
-import { useFire } from "react/compiler-runtime";
-import { useEffect, fire } from "react";
-
-function Component(props, useDynamicHook) {
- "use memo";
-
- useDynamicHook();
- const foo = _temp;
- const t0 = useFire(foo);
-
- useEffect(() => {
- t0(props);
- });
-
- return hello world
;
-}
-function _temp(props_0) {
- console.log(props_0);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/repro-dont-add-hook-guards-on-retry.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/repro-dont-add-hook-guards-on-retry.js
deleted file mode 100644
index 5fc11c9a8234..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/repro-dont-add-hook-guards-on-retry.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// @flow @enableEmitHookGuards @panicThreshold:"none" @enableFire
-import {useEffect, fire} from 'react';
-
-function Component(props, useDynamicHook) {
- 'use memo';
- useDynamicHook();
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- });
-
- return hello world
;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/rewrite-deps.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/rewrite-deps.expect.md
deleted file mode 100644
index fb4189791f9f..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/rewrite-deps.expect.md
+++ /dev/null
@@ -1,57 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- }, [foo, props]);
-
- return null;
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c, useFire } from "react/compiler-runtime"; // @enableFire
-import { fire } from "react";
-
-function Component(props) {
- const $ = _c(4);
- const foo = _temp;
- const t0 = useFire(foo);
- let t1;
- let t2;
- if ($[0] !== props || $[1] !== t0) {
- t1 = () => {
- t0(props);
- };
- t2 = [t0, props];
- $[0] = props;
- $[1] = t0;
- $[2] = t1;
- $[3] = t2;
- } else {
- t1 = $[2];
- t2 = $[3];
- }
- useEffect(t1, t2);
-
- return null;
-}
-function _temp(props_0) {
- console.log(props_0);
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/rewrite-deps.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/rewrite-deps.js
deleted file mode 100644
index ad1af704c1bc..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/rewrite-deps.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- const foo = props => {
- console.log(props);
- };
- useEffect(() => {
- fire(foo(props));
- }, [foo, props]);
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/shared-hook-calls.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/shared-hook-calls.expect.md
deleted file mode 100644
index 2ab2cfc253ee..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/shared-hook-calls.expect.md
+++ /dev/null
@@ -1,81 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire
-import {fire} from 'react';
-
-function Component({bar, baz}) {
- const foo = () => {
- console.log(bar);
- };
- useEffect(() => {
- fire(foo(bar));
- fire(baz(bar));
- });
-
- useEffect(() => {
- fire(foo(bar));
- });
-
- return null;
-}
-
-```
-
-## Code
-
-```javascript
-import { c as _c, useFire } from "react/compiler-runtime"; // @enableFire
-import { fire } from "react";
-
-function Component(t0) {
- const $ = _c(9);
- const { bar, baz } = t0;
- let t1;
- if ($[0] !== bar) {
- t1 = () => {
- console.log(bar);
- };
- $[0] = bar;
- $[1] = t1;
- } else {
- t1 = $[1];
- }
- const foo = t1;
- const t2 = useFire(foo);
- const t3 = useFire(baz);
- let t4;
- if ($[2] !== bar || $[3] !== t2 || $[4] !== t3) {
- t4 = () => {
- t2(bar);
- t3(bar);
- };
- $[2] = bar;
- $[3] = t2;
- $[4] = t3;
- $[5] = t4;
- } else {
- t4 = $[5];
- }
- useEffect(t4);
- let t5;
- if ($[6] !== bar || $[7] !== t2) {
- t5 = () => {
- t2(bar);
- };
- $[6] = bar;
- $[7] = t2;
- $[8] = t5;
- } else {
- t5 = $[8];
- }
- useEffect(t5);
-
- return null;
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/shared-hook-calls.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/shared-hook-calls.js
deleted file mode 100644
index 5cb51e9bd3c7..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/shared-hook-calls.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// @enableFire
-import {fire} from 'react';
-
-function Component({bar, baz}) {
- const foo = () => {
- console.log(bar);
- };
- useEffect(() => {
- fire(foo(bar));
- fire(baz(bar));
- });
-
- useEffect(() => {
- fire(foo(bar));
- });
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/use-effect-no-args-no-op.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/use-effect-no-args-no-op.expect.md
deleted file mode 100644
index bd9ec28d4982..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/use-effect-no-args-no-op.expect.md
+++ /dev/null
@@ -1,31 +0,0 @@
-
-## Input
-
-```javascript
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- useEffect();
-
- return null;
-}
-
-```
-
-## Code
-
-```javascript
-// @enableFire
-import { fire } from "react";
-
-function Component(props) {
- useEffect();
-
- return null;
-}
-
-```
-
-### Eval output
-(kind: exception) Fixture not implemented
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/use-effect-no-args-no-op.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/use-effect-no-args-no-op.js
deleted file mode 100644
index 731c45df677e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/transform-fire/use-effect-no-args-no-op.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// @enableFire
-import {fire} from 'react';
-
-function Component(props) {
- useEffect();
-
- return null;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/todo_type-annotations-props.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/todo_type-annotations-props.expect.md
deleted file mode 100644
index 49fe4439ae63..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/todo_type-annotations-props.expect.md
+++ /dev/null
@@ -1,48 +0,0 @@
-
-## Input
-
-```javascript
-// @enableUseTypeAnnotations
-function useArray(items: Array) {
- // With type information we know that the callback cannot escape
- // and does not need to be memoized, only the result needs to be
- // memoized:
- return items.filter(x => x !== 0);
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: useArray,
- params: [[1, 0, 2, 0, 3, 0, 42]],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @enableUseTypeAnnotations
-function useArray(items) {
- const $ = _c(2);
- let t0;
- if ($[0] !== items) {
- t0 = items.filter(_temp);
- $[0] = items;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- return t0;
-}
-function _temp(x) {
- return x !== 0;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: useArray,
- params: [[1, 0, 2, 0, 3, 0, 42]],
-};
-
-```
-
-### Eval output
-(kind: ok) [1,2,3,42]
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/todo_type-annotations-props.ts b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/todo_type-annotations-props.ts
deleted file mode 100644
index 369358572bf1..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/todo_type-annotations-props.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-// @enableUseTypeAnnotations
-function useArray(items: Array) {
- // With type information we know that the callback cannot escape
- // and does not need to be memoized, only the result needs to be
- // memoized:
- return items.filter(x => x !== 0);
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: useArray,
- params: [[1, 0, 2, 0, 3, 0, 42]],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-array.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-array.expect.md
deleted file mode 100644
index 92979ecd95be..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-array.expect.md
+++ /dev/null
@@ -1,71 +0,0 @@
-
-## Input
-
-```javascript
-// @enableUseTypeAnnotations
-function Component(props: {id: number}) {
- const x = makeArray(props.id) as number[];
- const y = x.at(0);
- return y;
-}
-
-function makeArray(x: T): Array {
- return [x];
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @enableUseTypeAnnotations
-function Component(props) {
- const $ = _c(4);
- let t0;
- if ($[0] !== props.id) {
- t0 = makeArray(props.id);
- $[0] = props.id;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- const x = t0 as number[];
- let t1;
- if ($[2] !== x) {
- t1 = x.at(0);
- $[2] = x;
- $[3] = t1;
- } else {
- t1 = $[3];
- }
- const y = t1;
- return y;
-}
-
-function makeArray(x) {
- const $ = _c(2);
- let t0;
- if ($[0] !== x) {
- t0 = [x];
- $[0] = x;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- return t0;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ id: 42 }],
-};
-
-```
-
-### Eval output
-(kind: ok) 42
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-array.ts b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-array.ts
deleted file mode 100644
index 9c31e2c11849..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-array.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-// @enableUseTypeAnnotations
-function Component(props: {id: number}) {
- const x = makeArray(props.id) as number[];
- const y = x.at(0);
- return y;
-}
-
-function makeArray(x: T): Array {
- return [x];
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-array_.flow.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-array_.flow.expect.md
deleted file mode 100644
index 3229d69907c3..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-array_.flow.expect.md
+++ /dev/null
@@ -1,58 +0,0 @@
-
-## Input
-
-```javascript
-// @flow @enableUseTypeAnnotations
-import {identity, makeArray} from 'shared-runtime';
-
-function Component(props: {id: number}) {
- const x = (makeArray(props.id): Array);
- const y = x.at(0);
- return y;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime";
-import { identity, makeArray } from "shared-runtime";
-
-function Component(props) {
- const $ = _c(4);
- let t0;
- if ($[0] !== props.id) {
- t0 = makeArray(props.id);
- $[0] = props.id;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- const x = (t0: Array);
- let t1;
- if ($[2] !== x) {
- t1 = x.at(0);
- $[2] = x;
- $[3] = t1;
- } else {
- t1 = $[3];
- }
- const y = t1;
- return y;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ id: 42 }],
-};
-
-```
-
-### Eval output
-(kind: ok) 42
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-array_.flow.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-array_.flow.js
deleted file mode 100644
index b8e304374790..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-array_.flow.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// @flow @enableUseTypeAnnotations
-import {identity, makeArray} from 'shared-runtime';
-
-function Component(props: {id: number}) {
- const x = (makeArray(props.id): Array);
- const y = x.at(0);
- return y;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-number.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-number.expect.md
deleted file mode 100644
index f4b2e45d965f..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-number.expect.md
+++ /dev/null
@@ -1,41 +0,0 @@
-
-## Input
-
-```javascript
-// @enableUseTypeAnnotations
-import {identity} from 'shared-runtime';
-
-function Component(props: {id: number}) {
- const x = identity(props.id);
- const y = x as number;
- return y;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
-
-```
-
-## Code
-
-```javascript
-// @enableUseTypeAnnotations
-import { identity } from "shared-runtime";
-
-function Component(props) {
- const x = identity(props.id);
- const y = x as number;
- return y;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ id: 42 }],
-};
-
-```
-
-### Eval output
-(kind: ok) 42
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-number.ts b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-number.ts
deleted file mode 100644
index 32698294d4a6..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-number.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-// @enableUseTypeAnnotations
-import {identity} from 'shared-runtime';
-
-function Component(props: {id: number}) {
- const x = identity(props.id);
- const y = x as number;
- return y;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-number_.flow.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-number_.flow.expect.md
deleted file mode 100644
index 5c4adf87341d..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-number_.flow.expect.md
+++ /dev/null
@@ -1,40 +0,0 @@
-
-## Input
-
-```javascript
-// @flow @enableUseTypeAnnotations
-import {identity} from 'shared-runtime';
-
-function Component(props: {id: number}) {
- const x = identity(props.id);
- const y = (x: number);
- return y;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
-
-```
-
-## Code
-
-```javascript
-import { identity } from "shared-runtime";
-
-function Component(props) {
- const x = identity(props.id);
- const y = (x: number);
- return y;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ id: 42 }],
-};
-
-```
-
-### Eval output
-(kind: ok) 42
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-number_.flow.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-number_.flow.js
deleted file mode 100644
index 0d2ded28255f..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-as-number_.flow.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// @flow @enableUseTypeAnnotations
-import {identity} from 'shared-runtime';
-
-function Component(props: {id: number}) {
- const x = identity(props.id);
- const y = (x: number);
- return y;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-satisfies-array.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-satisfies-array.expect.md
deleted file mode 100644
index d0083f3c3ecd..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-satisfies-array.expect.md
+++ /dev/null
@@ -1,71 +0,0 @@
-
-## Input
-
-```javascript
-// @enableUseTypeAnnotations
-function Component(props: {id: number}) {
- const x = makeArray(props.id) satisfies number[];
- const y = x.at(0);
- return y;
-}
-
-function makeArray(x: T): Array {
- return [x];
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @enableUseTypeAnnotations
-function Component(props) {
- const $ = _c(4);
- let t0;
- if ($[0] !== props.id) {
- t0 = makeArray(props.id);
- $[0] = props.id;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- const x = t0 satisfies number[];
- let t1;
- if ($[2] !== x) {
- t1 = x.at(0);
- $[2] = x;
- $[3] = t1;
- } else {
- t1 = $[3];
- }
- const y = t1;
- return y;
-}
-
-function makeArray(x) {
- const $ = _c(2);
- let t0;
- if ($[0] !== x) {
- t0 = [x];
- $[0] = x;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- return t0;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ id: 42 }],
-};
-
-```
-
-### Eval output
-(kind: ok) 42
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-satisfies-array.ts b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-satisfies-array.ts
deleted file mode 100644
index 5024055c1095..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-satisfies-array.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-// @enableUseTypeAnnotations
-function Component(props: {id: number}) {
- const x = makeArray(props.id) satisfies number[];
- const y = x.at(0);
- return y;
-}
-
-function makeArray(x: T): Array {
- return [x];
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-satisfies-number.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-satisfies-number.expect.md
deleted file mode 100644
index 0819456dc1bf..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-satisfies-number.expect.md
+++ /dev/null
@@ -1,41 +0,0 @@
-
-## Input
-
-```javascript
-// @enableUseTypeAnnotations
-import {identity} from 'shared-runtime';
-
-function Component(props: {id: number}) {
- const x = identity(props.id);
- const y = x satisfies number;
- return y;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
-
-```
-
-## Code
-
-```javascript
-// @enableUseTypeAnnotations
-import { identity } from "shared-runtime";
-
-function Component(props) {
- const x = identity(props.id);
- const y = x satisfies number;
- return y;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ id: 42 }],
-};
-
-```
-
-### Eval output
-(kind: ok) 42
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-satisfies-number.ts b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-satisfies-number.ts
deleted file mode 100644
index 2f4ea6222e02..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-satisfies-number.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-// @enableUseTypeAnnotations
-import {identity} from 'shared-runtime';
-
-function Component(props: {id: number}) {
- const x = identity(props.id);
- const y = x satisfies number;
- return y;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-var-array.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-var-array.expect.md
deleted file mode 100644
index fc829218f5a1..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-var-array.expect.md
+++ /dev/null
@@ -1,63 +0,0 @@
-
-## Input
-
-```javascript
-// @enableUseTypeAnnotations
-function Component(props: {id: number}) {
- const x: number[] = makeArray(props.id);
- const y = x.at(0);
- return y;
-}
-
-function makeArray(x: T): Array {
- return [x];
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @enableUseTypeAnnotations
-function Component(props) {
- const $ = _c(2);
- let t0;
- if ($[0] !== props.id) {
- const x = makeArray(props.id);
- t0 = x.at(0);
- $[0] = props.id;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- const y = t0;
- return y;
-}
-
-function makeArray(x) {
- const $ = _c(2);
- let t0;
- if ($[0] !== x) {
- t0 = [x];
- $[0] = x;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- return t0;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ id: 42 }],
-};
-
-```
-
-### Eval output
-(kind: ok) 42
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-var-array.ts b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-var-array.ts
deleted file mode 100644
index da1b8f6d446b..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-var-array.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-// @enableUseTypeAnnotations
-function Component(props: {id: number}) {
- const x: number[] = makeArray(props.id);
- const y = x.at(0);
- return y;
-}
-
-function makeArray(x: T): Array {
- return [x];
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-var-array_.flow.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-var-array_.flow.expect.md
deleted file mode 100644
index 5058015fd323..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-var-array_.flow.expect.md
+++ /dev/null
@@ -1,67 +0,0 @@
-
-## Input
-
-```javascript
-// @flow @enableUseTypeAnnotations
-import {identity} from 'shared-runtime';
-
-function Component(props: {id: number}) {
- const x: Array = makeArray(props.id);
- const y = x.at(0);
- return y;
-}
-
-function makeArray(x: T): Array {
- return [x];
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime";
-import { identity } from "shared-runtime";
-
-function Component(props) {
- const $ = _c(2);
- let t0;
- if ($[0] !== props.id) {
- const x = makeArray(props.id);
- t0 = x.at(0);
- $[0] = props.id;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- const y = t0;
- return y;
-}
-
-function makeArray(x) {
- const $ = _c(2);
- let t0;
- if ($[0] !== x) {
- t0 = [x];
- $[0] = x;
- $[1] = t0;
- } else {
- t0 = $[1];
- }
- return t0;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ id: 42 }],
-};
-
-```
-
-### Eval output
-(kind: ok) 42
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-var-array_.flow.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-var-array_.flow.js
deleted file mode 100644
index fbeacfa6a9d6..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/type-annotations/type-annotation-var-array_.flow.js
+++ /dev/null
@@ -1,17 +0,0 @@
-// @flow @enableUseTypeAnnotations
-import {identity} from 'shared-runtime';
-
-function Component(props: {id: number}) {
- const x: Array = makeArray(props.id);
- const y = x.at(0);
- return y;
-}
-
-function makeArray(x: T): Array {
- return [x];
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{id: 42}],
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useMemo-simple-preserved-nomemo.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useMemo-simple-preserved-nomemo.expect.md
deleted file mode 100644
index d67a7aafa437..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useMemo-simple-preserved-nomemo.expect.md
+++ /dev/null
@@ -1,66 +0,0 @@
-
-## Input
-
-```javascript
-// @disableMemoizationForDebugging
-import {useMemo} from 'react';
-
-function Component({a}) {
- let x = useMemo(() => [a], []);
- return {x}
;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{a: 42}],
- isComponent: true,
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @disableMemoizationForDebugging
-import { useMemo } from "react";
-
-function Component(t0) {
- const $ = _c(5);
- const { a } = t0;
- let t1;
- if ($[0] !== a || true) {
- t1 = () => [a];
- $[0] = a;
- $[1] = t1;
- } else {
- t1 = $[1];
- }
- let t2;
- if ($[2] === Symbol.for("react.memo_cache_sentinel") || true) {
- t2 = [];
- $[2] = t2;
- } else {
- t2 = $[2];
- }
- const x = useMemo(t1, t2);
- let t3;
- if ($[3] !== x || true) {
- t3 = {x}
;
- $[3] = x;
- $[4] = t3;
- } else {
- t3 = $[4];
- }
- return t3;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ a: 42 }],
- isComponent: true,
-};
-
-```
-
-### Eval output
-(kind: ok) 42
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useMemo-simple-preserved-nomemo.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useMemo-simple-preserved-nomemo.js
deleted file mode 100644
index e05d1cc8606e..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useMemo-simple-preserved-nomemo.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// @disableMemoizationForDebugging
-import {useMemo} from 'react';
-
-function Component({a}) {
- let x = useMemo(() => [a], []);
- return {x}
;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{a: 42}],
- isComponent: true,
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useMemo-simple-preserved.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useMemo-simple-preserved.expect.md
deleted file mode 100644
index c1ea3343a03a..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useMemo-simple-preserved.expect.md
+++ /dev/null
@@ -1,66 +0,0 @@
-
-## Input
-
-```javascript
-// @enablePreserveExistingManualUseMemo
-import {useMemo} from 'react';
-
-function Component({a}) {
- let x = useMemo(() => [a], []);
- return {x}
;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{a: 42}],
- isComponent: true,
-};
-
-```
-
-## Code
-
-```javascript
-import { c as _c } from "react/compiler-runtime"; // @enablePreserveExistingManualUseMemo
-import { useMemo } from "react";
-
-function Component(t0) {
- const $ = _c(5);
- const { a } = t0;
- let t1;
- if ($[0] !== a) {
- t1 = () => [a];
- $[0] = a;
- $[1] = t1;
- } else {
- t1 = $[1];
- }
- let t2;
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
- t2 = [];
- $[2] = t2;
- } else {
- t2 = $[2];
- }
- const x = useMemo(t1, t2);
- let t3;
- if ($[3] !== x) {
- t3 = {x}
;
- $[3] = x;
- $[4] = t3;
- } else {
- t3 = $[4];
- }
- return t3;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ a: 42 }],
- isComponent: true,
-};
-
-```
-
-### Eval output
-(kind: ok) 42
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useMemo-simple-preserved.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useMemo-simple-preserved.js
deleted file mode 100644
index 304635d63922..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useMemo-simple-preserved.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// @enablePreserveExistingManualUseMemo
-import {useMemo} from 'react';
-
-function Component({a}) {
- let x = useMemo(() => [a], []);
- return {x}
;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{a: 42}],
- isComponent: true,
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-and-other-hook-unpruned-dependency.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-and-other-hook-unpruned-dependency.expect.md
deleted file mode 100644
index 27dcf877e0e3..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-and-other-hook-unpruned-dependency.expect.md
+++ /dev/null
@@ -1,92 +0,0 @@
-
-## Input
-
-```javascript
-import {useState} from 'react'; // @enableChangeDetectionForDebugging
-
-function useOther(x) {
- return x;
-}
-
-function Component(props) {
- const w = f(props.x);
- const z = useOther(w);
- const [x, _] = useState(z);
- return {x}
;
-}
-
-function f(x) {
- return x;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{x: 42}],
- isComponent: true,
-};
-
-```
-
-## Code
-
-```javascript
-import { $structuralCheck } from "react-compiler-runtime";
-import { c as _c } from "react/compiler-runtime";
-import { useState } from "react"; // @enableChangeDetectionForDebugging
-
-function useOther(x) {
- return x;
-}
-
-function Component(props) {
- const $ = _c(4);
- let t0;
- {
- t0 = f(props.x);
- let condition = $[0] !== props.x;
- if (!condition) {
- let old$t0 = $[1];
- $structuralCheck(old$t0, t0, "t0", "Component", "cached", "(8:8)");
- }
- $[0] = props.x;
- $[1] = t0;
- if (condition) {
- t0 = f(props.x);
- $structuralCheck($[1], t0, "t0", "Component", "recomputed", "(8:8)");
- t0 = $[1];
- }
- }
- const w = t0;
- const z = useOther(w);
- const [x] = useState(z);
- let t1;
- {
- t1 = {x}
;
- let condition = $[2] !== x;
- if (!condition) {
- let old$t1 = $[3];
- $structuralCheck(old$t1, t1, "t1", "Component", "cached", "(11:11)");
- }
- $[2] = x;
- $[3] = t1;
- if (condition) {
- t1 = {x}
;
- $structuralCheck($[3], t1, "t1", "Component", "recomputed", "(11:11)");
- t1 = $[3];
- }
- }
- return t1;
-}
-
-function f(x) {
- return x;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ x: 42 }],
- isComponent: true,
-};
-
-```
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-and-other-hook-unpruned-dependency.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-and-other-hook-unpruned-dependency.js
deleted file mode 100644
index 8c0d31bc5997..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-and-other-hook-unpruned-dependency.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import {useState} from 'react'; // @enableChangeDetectionForDebugging
-
-function useOther(x) {
- return x;
-}
-
-function Component(props) {
- const w = f(props.x);
- const z = useOther(w);
- const [x, _] = useState(z);
- return {x}
;
-}
-
-function f(x) {
- return x;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{x: 42}],
- isComponent: true,
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-pruned-dependency-change-detect.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-pruned-dependency-change-detect.expect.md
deleted file mode 100644
index 99abce512235..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-pruned-dependency-change-detect.expect.md
+++ /dev/null
@@ -1,52 +0,0 @@
-
-## Input
-
-```javascript
-// @enableChangeDetectionForDebugging
-import {useState} from 'react';
-
-function Component(props) {
- const [x, _] = useState(f(props.x));
- return {x}
;
-}
-
-```
-
-## Code
-
-```javascript
-import { $structuralCheck } from "react-compiler-runtime";
-import { c as _c } from "react/compiler-runtime"; // @enableChangeDetectionForDebugging
-import { useState } from "react";
-
-function Component(props) {
- const $ = _c(3);
- let t0;
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
- t0 = f(props.x);
- $[0] = t0;
- } else {
- t0 = $[0];
- }
- const [x] = useState(t0);
- let t1;
- {
- t1 = {x}
;
- let condition = $[1] !== x;
- if (!condition) {
- let old$t1 = $[2];
- $structuralCheck(old$t1, t1, "t1", "Component", "cached", "(6:6)");
- }
- $[1] = x;
- $[2] = t1;
- if (condition) {
- t1 = {x}
;
- $structuralCheck($[2], t1, "t1", "Component", "recomputed", "(6:6)");
- t1 = $[2];
- }
- }
- return t1;
-}
-
-```
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-pruned-dependency-change-detect.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-pruned-dependency-change-detect.js
deleted file mode 100644
index 26b046963158..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-pruned-dependency-change-detect.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// @enableChangeDetectionForDebugging
-import {useState} from 'react';
-
-function Component(props) {
- const [x, _] = useState(f(props.x));
- return {x}
;
-}
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-unpruned-dependency.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-unpruned-dependency.expect.md
deleted file mode 100644
index 28d3e333594a..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-unpruned-dependency.expect.md
+++ /dev/null
@@ -1,98 +0,0 @@
-
-## Input
-
-```javascript
-import {useState} from 'react'; // @enableChangeDetectionForDebugging
-
-function Component(props) {
- const w = f(props.x);
- const [x, _] = useState(w);
- return (
-
- {x}
- {w}
-
- );
-}
-
-function f(x) {
- return x;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{x: 42}],
- isComponent: true,
-};
-
-```
-
-## Code
-
-```javascript
-import { $structuralCheck } from "react-compiler-runtime";
-import { c as _c } from "react/compiler-runtime";
-import { useState } from "react"; // @enableChangeDetectionForDebugging
-
-function Component(props) {
- const $ = _c(5);
- let t0;
- {
- t0 = f(props.x);
- let condition = $[0] !== props.x;
- if (!condition) {
- let old$t0 = $[1];
- $structuralCheck(old$t0, t0, "t0", "Component", "cached", "(4:4)");
- }
- $[0] = props.x;
- $[1] = t0;
- if (condition) {
- t0 = f(props.x);
- $structuralCheck($[1], t0, "t0", "Component", "recomputed", "(4:4)");
- t0 = $[1];
- }
- }
- const w = t0;
- const [x] = useState(w);
- let t1;
- {
- t1 = (
-
- {x}
- {w}
-
- );
- let condition = $[2] !== w || $[3] !== x;
- if (!condition) {
- let old$t1 = $[4];
- $structuralCheck(old$t1, t1, "t1", "Component", "cached", "(7:10)");
- }
- $[2] = w;
- $[3] = x;
- $[4] = t1;
- if (condition) {
- t1 = (
-
- {x}
- {w}
-
- );
- $structuralCheck($[4], t1, "t1", "Component", "recomputed", "(7:10)");
- t1 = $[4];
- }
- }
- return t1;
-}
-
-function f(x) {
- return x;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{ x: 42 }],
- isComponent: true,
-};
-
-```
-
\ No newline at end of file
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-unpruned-dependency.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-unpruned-dependency.js
deleted file mode 100644
index 2643aab3ab56..000000000000
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useState-unpruned-dependency.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import {useState} from 'react'; // @enableChangeDetectionForDebugging
-
-function Component(props) {
- const w = f(props.x);
- const [x, _] = useState(w);
- return (
-
- {x}
- {w}
-
- );
-}
-
-function f(x) {
- return x;
-}
-
-export const FIXTURE_ENTRYPOINT = {
- fn: Component,
- params: [{x: 42}],
- isComponent: true,
-};
diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/parseConfigPragma-test.ts b/compiler/packages/babel-plugin-react-compiler/src/__tests__/parseConfigPragma-test.ts
index 0ee50a0e761f..1a7c20c3d01c 100644
--- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/parseConfigPragma-test.ts
+++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/parseConfigPragma-test.ts
@@ -14,12 +14,12 @@ describe('parseConfigPragmaForTests()', () => {
// Validate defaults first to make sure that the parser is getting the value from the pragma,
// and not just missing it and getting the default value
- expect(defaultConfig.enableUseTypeAnnotations).toBe(false);
+ expect(defaultConfig.enableForest).toBe(false);
expect(defaultConfig.validateNoSetStateInEffects).toBe(false);
expect(defaultConfig.validateNoSetStateInRender).toBe(true);
const config = parseConfigPragmaForTests(
- '@enableUseTypeAnnotations @validateNoSetStateInEffects:true @validateNoSetStateInRender:false',
+ '@enableForest @validateNoSetStateInEffects:true @validateNoSetStateInRender:false',
{compilationMode: defaultOptions.compilationMode},
);
expect(config).toEqual({
@@ -27,7 +27,7 @@ describe('parseConfigPragmaForTests()', () => {
panicThreshold: 'all_errors',
environment: {
...defaultOptions.environment,
- enableUseTypeAnnotations: true,
+ enableForest: true,
validateNoSetStateInEffects: true,
validateNoSetStateInRender: false,
enableResetCacheOnSourceFileChanges: false,
diff --git a/compiler/packages/babel-plugin-react-compiler/src/index.ts b/compiler/packages/babel-plugin-react-compiler/src/index.ts
index ca5b65343014..31757c04298c 100644
--- a/compiler/packages/babel-plugin-react-compiler/src/index.ts
+++ b/compiler/packages/babel-plugin-react-compiler/src/index.ts
@@ -34,7 +34,6 @@ export {
type Logger,
type LoggerEvent,
type PluginOptions,
- type AutoDepsDecorationsEvent,
type CompileSuccessEvent,
} from './Entrypoint';
export {
diff --git a/compiler/packages/eslint-plugin-react-compiler/__tests__/PluginTest-test.ts b/compiler/packages/eslint-plugin-react-compiler/__tests__/PluginTest-test.ts
index e0063bc0a2c9..e9fe8e001b2e 100644
--- a/compiler/packages/eslint-plugin-react-compiler/__tests__/PluginTest-test.ts
+++ b/compiler/packages/eslint-plugin-react-compiler/__tests__/PluginTest-test.ts
@@ -130,37 +130,5 @@ testRule('plugin-recommended', TestRecommendedRules, {
),
],
},
- {
- name: 'Pipeline errors are reported',
- code: normalizeIndent`
- import useMyEffect from 'useMyEffect';
- import {AUTODEPS} from 'react';
- function Component({a}) {
- 'use no memo';
- useMyEffect(() => console.log(a.b), AUTODEPS);
- return Hello world
;
- }
- `,
- options: [
- {
- environment: {
- inferEffectDependencies: [
- {
- function: {
- source: 'useMyEffect',
- importSpecifierName: 'default',
- },
- autodepsIndex: 1,
- },
- ],
- },
- },
- ],
- errors: [
- {
- message: /Cannot infer dependencies of this effect/,
- },
- ],
- },
],
});
diff --git a/compiler/packages/react-forgive/client/src/autodeps.ts b/compiler/packages/react-forgive/client/src/autodeps.ts
deleted file mode 100644
index ed41b34dcb7d..000000000000
--- a/compiler/packages/react-forgive/client/src/autodeps.ts
+++ /dev/null
@@ -1,106 +0,0 @@
-/**
- * Copyright (c) Meta Platforms, Inc. and affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import * as vscode from 'vscode';
-import {
- LanguageClient,
- RequestType,
- type Position,
-} from 'vscode-languageclient/node';
-import {positionLiteralToVSCodePosition, positionsToRange} from './mapping';
-
-export type AutoDepsDecorationsLSPEvent = {
- useEffectCallExpr: [Position, Position];
- decorations: Array<[Position, Position]>;
-};
-
-export interface AutoDepsDecorationsParams {
- position: Position;
-}
-
-export namespace AutoDepsDecorationsRequest {
- export const type = new RequestType<
- AutoDepsDecorationsParams,
- AutoDepsDecorationsLSPEvent | null,
- void
- >('react/autodeps_decorations');
-}
-
-const inferredEffectDepDecoration =
- vscode.window.createTextEditorDecorationType({
- // TODO: make configurable?
- borderColor: new vscode.ThemeColor('diffEditor.move.border'),
- borderStyle: 'solid',
- borderWidth: '0 0 4px 0',
- });
-
-let currentlyDecoratedAutoDepFnLoc: vscode.Range | null = null;
-export function getCurrentlyDecoratedAutoDepFnLoc(): vscode.Range | null {
- return currentlyDecoratedAutoDepFnLoc;
-}
-export function setCurrentlyDecoratedAutoDepFnLoc(range: vscode.Range): void {
- currentlyDecoratedAutoDepFnLoc = range;
-}
-export function clearCurrentlyDecoratedAutoDepFnLoc(): void {
- currentlyDecoratedAutoDepFnLoc = null;
-}
-
-let decorationRequestId = 0;
-export type AutoDepsDecorationsOptions = {
- shouldUpdateCurrent: boolean;
-};
-export function requestAutoDepsDecorations(
- client: LanguageClient,
- position: vscode.Position,
- options: AutoDepsDecorationsOptions,
-) {
- const id = ++decorationRequestId;
- client
- .sendRequest(AutoDepsDecorationsRequest.type, {position})
- .then(response => {
- if (response !== null) {
- const {
- decorations,
- useEffectCallExpr: [start, end],
- } = response;
- // Maintain ordering
- if (decorationRequestId === id) {
- if (options.shouldUpdateCurrent) {
- setCurrentlyDecoratedAutoDepFnLoc(positionsToRange(start, end));
- }
- drawInferredEffectDepDecorations(decorations);
- }
- } else {
- clearCurrentlyDecoratedAutoDepFnLoc();
- clearDecorations(inferredEffectDepDecoration);
- }
- });
-}
-
-export function drawInferredEffectDepDecorations(
- decorations: Array<[Position, Position]>,
-): void {
- const decorationOptions = decorations.map(([start, end]) => {
- return {
- range: new vscode.Range(
- positionLiteralToVSCodePosition(start),
- positionLiteralToVSCodePosition(end),
- ),
- hoverMessage: 'Inferred as an effect dependency',
- };
- });
- vscode.window.activeTextEditor?.setDecorations(
- inferredEffectDepDecoration,
- decorationOptions,
- );
-}
-
-export function clearDecorations(
- decorationType: vscode.TextEditorDecorationType,
-) {
- vscode.window.activeTextEditor?.setDecorations(decorationType, []);
-}
diff --git a/compiler/packages/react-forgive/client/src/extension.ts b/compiler/packages/react-forgive/client/src/extension.ts
index e9938c388a03..e58f8dce7699 100644
--- a/compiler/packages/react-forgive/client/src/extension.ts
+++ b/compiler/packages/react-forgive/client/src/extension.ts
@@ -11,15 +11,9 @@ import * as vscode from 'vscode';
import {
LanguageClient,
LanguageClientOptions,
- type Position,
ServerOptions,
TransportKind,
} from 'vscode-languageclient/node';
-import {positionLiteralToVSCodePosition} from './mapping';
-import {
- getCurrentlyDecoratedAutoDepFnLoc,
- requestAutoDepsDecorations,
-} from './autodeps';
let client: LanguageClient;
@@ -63,33 +57,6 @@ export function activate(context: vscode.ExtensionContext) {
return;
}
- vscode.languages.registerHoverProvider(documentSelector, {
- provideHover(_document, position, _token) {
- requestAutoDepsDecorations(client, position, {shouldUpdateCurrent: true});
- return null;
- },
- });
-
- vscode.workspace.onDidChangeTextDocument(async _e => {
- const currentlyDecoratedAutoDepFnLoc = getCurrentlyDecoratedAutoDepFnLoc();
- if (currentlyDecoratedAutoDepFnLoc !== null) {
- requestAutoDepsDecorations(client, currentlyDecoratedAutoDepFnLoc.start, {
- shouldUpdateCurrent: false,
- });
- }
- });
-
- vscode.commands.registerCommand(
- 'react.requestAutoDepsDecorations',
- (position: Position) => {
- requestAutoDepsDecorations(
- client,
- positionLiteralToVSCodePosition(position),
- {shouldUpdateCurrent: true},
- );
- },
- );
-
client.registerProposedFeatures();
client.start();
}
diff --git a/compiler/packages/react-forgive/server/src/index.ts b/compiler/packages/react-forgive/server/src/index.ts
index 7552337cbc7a..f43a6c20fabf 100644
--- a/compiler/packages/react-forgive/server/src/index.ts
+++ b/compiler/packages/react-forgive/server/src/index.ts
@@ -7,14 +7,10 @@
import {TextDocument} from 'vscode-languageserver-textdocument';
import {
- CodeAction,
- CodeActionKind,
CodeLens,
- Command,
createConnection,
type InitializeParams,
type InitializeResult,
- Position,
ProposedFeatures,
TextDocuments,
TextDocumentSyncKind,
@@ -27,17 +23,6 @@ import {
defaultOptions,
} from 'babel-plugin-react-compiler';
import {babelLocationToRange, getRangeFirstCharacter} from './compiler/compat';
-import {
- type AutoDepsDecorationsLSPEvent,
- AutoDepsDecorationsRequest,
- mapCompilerEventToLSPEvent,
-} from './requests/autodepsdecorations';
-import {
- isPositionWithinRange,
- isRangeWithinRange,
- Range,
- sourceLocationToRange,
-} from './utils/range';
const SUPPORTED_LANGUAGE_IDS = new Set([
'javascript',
@@ -51,47 +36,11 @@ const documents = new TextDocuments(TextDocument);
let compilerOptions: PluginOptions | null = null;
let compiledFns: Set = new Set();
-let autoDepsDecorations: Array = [];
-let codeActionEvents: Array = [];
-
-type CodeActionLSPEvent = {
- title: string;
- kind: CodeActionKind;
- newText: string;
- anchorRange: Range;
- editRange: {start: Position; end: Position};
-};
connection.onInitialize((_params: InitializeParams) => {
compilerOptions = defaultOptions;
compilerOptions = {
...compilerOptions,
- environment: {
- ...compilerOptions.environment,
- inferEffectDependencies: [
- {
- function: {
- importSpecifierName: 'useEffect',
- source: 'react',
- },
- autodepsIndex: 1,
- },
- {
- function: {
- importSpecifierName: 'useSpecialEffect',
- source: 'shared-runtime',
- },
- autodepsIndex: 2,
- },
- {
- function: {
- importSpecifierName: 'default',
- source: 'useEffectWrapper',
- },
- autodepsIndex: 1,
- },
- ],
- },
logger: {
logEvent(_filename: string | null, event: LoggerEvent) {
connection.console.info(`Received event: ${event.kind}`);
@@ -99,19 +48,6 @@ connection.onInitialize((_params: InitializeParams) => {
if (event.kind === 'CompileSuccess') {
compiledFns.add(event);
}
- if (event.kind === 'AutoDepsDecorations') {
- autoDepsDecorations.push(mapCompilerEventToLSPEvent(event));
- }
- if (event.kind === 'AutoDepsEligible') {
- const depArrayLoc = sourceLocationToRange(event.depArrayLoc);
- codeActionEvents.push({
- title: 'Use React Compiler inferred dependency array',
- kind: CodeActionKind.QuickFix,
- newText: '',
- anchorRange: sourceLocationToRange(event.fnLoc),
- editRange: {start: depArrayLoc[0], end: depArrayLoc[1]},
- });
- }
},
},
};
@@ -119,7 +55,6 @@ connection.onInitialize((_params: InitializeParams) => {
capabilities: {
textDocumentSync: TextDocumentSyncKind.Full,
codeLensProvider: {resolveProvider: true},
- codeActionProvider: {resolveProvider: true},
},
};
return result;
@@ -192,60 +127,9 @@ connection.onCodeLensResolve(lens => {
return lens;
});
-connection.onCodeAction(params => {
- const codeActions: Array = [];
- for (const codeActionEvent of codeActionEvents) {
- if (
- isRangeWithinRange(
- [params.range.start, params.range.end],
- codeActionEvent.anchorRange,
- )
- ) {
- const codeAction = CodeAction.create(
- codeActionEvent.title,
- {
- changes: {
- [params.textDocument.uri]: [
- {
- newText: codeActionEvent.newText,
- range: codeActionEvent.editRange,
- },
- ],
- },
- },
- codeActionEvent.kind,
- );
- // After executing a codeaction, we want to draw autodep decorations again
- codeAction.command = Command.create(
- 'Request autodeps decorations',
- 'react.requestAutoDepsDecorations',
- codeActionEvent.anchorRange[0],
- );
- codeActions.push(codeAction);
- }
- }
- return codeActions;
-});
-
-/**
- * The client can request the server to compute autodeps decorations based on a currently selected
- * position if the selected position is within an autodep eligible function call.
- */
-connection.onRequest(AutoDepsDecorationsRequest.type, async params => {
- const position = params.position;
- for (const decoration of autoDepsDecorations) {
- if (isPositionWithinRange(position, decoration.useEffectCallExpr)) {
- return decoration;
- }
- }
- return null;
-});
-
function resetState() {
connection.console.debug('Clearing state');
compiledFns.clear();
- autoDepsDecorations = [];
- codeActionEvents = [];
}
documents.listen(connection);
diff --git a/compiler/packages/react-forgive/server/src/requests/autodepsdecorations.ts b/compiler/packages/react-forgive/server/src/requests/autodepsdecorations.ts
deleted file mode 100644
index c9c9e8ca0133..000000000000
--- a/compiler/packages/react-forgive/server/src/requests/autodepsdecorations.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Copyright (c) Meta Platforms, Inc. and affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import {type AutoDepsDecorationsEvent} from 'babel-plugin-react-compiler';
-import {type Position} from 'vscode-languageserver-textdocument';
-import {RequestType} from 'vscode-languageserver/node';
-import {type Range, sourceLocationToRange} from '../utils/range';
-
-export type AutoDepsDecorationsLSPEvent = {
- useEffectCallExpr: Range;
- decorations: Array;
-};
-export interface AutoDepsDecorationsParams {
- position: Position;
-}
-export namespace AutoDepsDecorationsRequest {
- export const type = new RequestType<
- AutoDepsDecorationsParams,
- AutoDepsDecorationsLSPEvent,
- void
- >('react/autodeps_decorations');
-}
-
-export function mapCompilerEventToLSPEvent(
- event: AutoDepsDecorationsEvent,
-): AutoDepsDecorationsLSPEvent {
- return {
- useEffectCallExpr: sourceLocationToRange(event.fnLoc),
- decorations: event.decorations.map(sourceLocationToRange),
- };
-}